人脸活体识别3:C/C++实现人脸眨眼 张嘴 点头 摇头识别(可实时检测)

目录

人脸活体识别3:C/C++实现人脸眨眼 张嘴 点头 摇头识别(可实时检测)

1. 前言

2.人脸活体识别方法

(1)基于人脸动作的检测​​

(2)​​基于红外的活体识别​​

(3)基于深度的活体识别​​

 3.人脸检测模型

4. 活体识别模型

(1) 将Pytorch模型转换ONNX模型

(2) 将Pytorch模型转换为NCNN模型

5. 活体识别C++端上部署

(1) 项目结构

(2) 配置开发环境(OpenCV+vulkan+base-utils+NCNN)

(3) 部署NCNN模型

(4)CMake配置

(5)main源码

(6)源码编译和运行

6.活体识别效果(C/C++版本)

7.活体识别效果(Android版本)

8. 项目源码下载


1. 前言

人脸活体识别技术是确保人脸识别系统安全性的关键,主要用于区分真实人脸与伪造攻击(如照片、视频、3D面具等)。本项目基于深度学习技术,构建了一套高鲁棒性的面部活体检测系统,可精准识别眨眼(闭眼)、张嘴、点头(低头)、摇头(侧脸)等生物特征动作,可有效防范照片、视频、3D面具等伪造攻击等多种场景,​​可应用于金融支付、远程身份核验(如银行开户)等场景。

整套项目分为人脸活体识别数据集说明,模型开发和训练,模型边缘侧部署C++/Android等多个章节,本篇是项目《​​​​人脸活体识别》系列文章之《C/C++实现人脸眨眼 张嘴 点头 摇头识别》;为了方便后续模型工程化和Android平台部署,项目对活体识别模型进行轻量化,并提供Python/C++/Android多个版本;

        

整套活体识别系统,在普通Android手机上可以达到实时的检测效果,CPU(4线程)约40ms左右,GPU约30ms左右 ,基本满足业务的性能需求。准确率还挺高的,采用轻量级mobilenet_v2模型的人脸活体识别准确率也可以高达99.9661%左右,满足业务性能需求。

模型input sizeTest准确率
Mobilenet112×11299.9661
Resnet18112×11299.9322
MobileVit112×11299.9322

【尊重原创,转载请注明出处】https://blog.csdn.net/guyuealian/article/details/148774226


 更多人脸识别和活体识别文章,请参考:

  1. 人脸活体识别1:眨眼 张嘴 点头 摇头人脸数据集
  2. 人脸活体识别2:Pytorch实现人脸眨眼 张嘴 点头 摇头识别(含训练代码和数据集)
  3. 人脸活体识别3:C/C++实现人脸眨眼 张嘴 点头 摇头识别(可实时检测)
  4. 人脸活体识别4:Android实现人脸眨眼 张嘴 点头 摇头识别(可实时检测)
  5. 人脸识别2:InsightFace实现人脸识别Face Recognition(含源码下载)
  6. 人脸识别3:C/C++ InsightFace实现人脸识别Face Recognition(含源码)
  7. 人脸识别4:Android InsightFace实现人脸识别Face Recognition(含源码)

2.人脸活体识别方法

人脸活体识别的方法有很多,如基于人脸动作的活体识别​,基于红外的活体识别,基于深度的活体识别等等方法。

(1)基于人脸动作的检测​​

    要求用户配合完成随机指令动作(如眨眼、点头、张嘴、摇头等),通过计算机视觉算法(如光流法、关键点跟踪)分析动作的自然性和时序连贯性。

优点​​:实现简单,能有效抵御照片和静态视频攻击。​​

缺点​​:依赖用户配合,体验较差;可能被高仿动态视频(如Deepfake)欺骗。

(2)​​基于红外的活体识别​​

​​     利用红外摄像头捕捉人脸的红外反射特性或热辐射分布,如采用红外光谱分析​​,活体皮肤对特定波长红外光的吸收/反射模式与非活体不同。​​

优点​​:无需用户配合,可抵御照片、视频及部分3D面具攻击。

缺点​​:设备成本较高;受环境温度影响(如低温可能降低检测精度)。

(3)基于深度的活体识别​​

    通过3D深度摄像头(如结构光、ToF)获取人脸的三维几何信息(如鼻梁高度、曲面曲率),非活体(照片、屏幕)缺乏真实的深度结构。​​

优点​​:防御能力最强,可识别高级3D头套攻击。

​​缺点​​:硬件成本高,需专用3D传感器。

本项目实现方案是采用基于人脸动作的活体识别方法,即先采用通用的人脸检测模型,进行人脸检测定位人脸区域,然后按照一定规则裁剪人脸检测区域,再训练一个人脸活体识别分类器,完成人脸活体识别的任务。人脸动作主要包含:眨眼(闭眼)、张嘴、点头(低头)、摇头(侧脸)。


 3.人脸检测模型

本项目人脸检测训练代码请参考:https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB 

这是一个基于SSD改进且轻量化后人脸检测模型,很slim,整个模型仅仅1.7M左右,在普通Android手机都可以实时检测。人脸检测方法在网上有一大堆现成的方法可以使用,完全可以不局限我这个方法。

当然可以基于YOLOv5训练一个人脸检测模型:人脸检测和行人检测2:YOLOv5实现人脸检测和行人检测(含数据集和训练代码)


4. 活体识别模型

关于人脸活体识别模型训练,请参考《人脸活体识别2:Pytorch实现人脸眨眼 张嘴 点头 摇头识别(含训练代码和数据集)》

整套活体识别系统,在NCNN加速下,可以达到实时的检测效果,基本满足业务的性能需求。下表格给出MobilenetResnet18MobileVit模型识别的准确率:

模型input sizeTest准确率
Mobilenet112×11299.9661
Resnet18112×11299.9322
MobileVit112×11299.9322

模型训练完成后,需要将Pytorch模型转换为NCNN格式,转换方法请参考如下

考虑到端上硬件处理性能比较弱鸡,项目C++和Android部署仅使用Mobilenet模型。

(1) 将Pytorch模型转换ONNX模型

项目Python源码提供了转换工具,可实现将Pytorch的模型转换为ONNX模型文件,且文件会默认保存在Pytorch的模型文件同一目录下。

python libs/convertor/convert2onnx.py

(2) 将Pytorch模型转换为NCNN模型

你也可以一步到位,使用PNNX工具,直接将Pytorch模型直接转换为NCNN文件

python libs/convertor/convert2ncnn.py

NCNN转换工具说明,请参考:

  • https://github.com/Tencent/ncnn/wiki/use-ncnn-with-pytorch-or-onnx
  •  将ONNX模型转换为NCNN模型,请参考NCNN官方说明:GitHub - Tencent/ncnn: ncnn is a high-performance neural network inference framework optimized for the mobile platform

5. 活体识别C++端上部署

(1) 项目结构

1774bb2a826844b18e3bb58c80249893.png

(2) 配置开发环境(OpenCV+vulkan+base-utils+NCNN)

项目仅在Ubuntu18.04进行测试,Windows系统下请自行配置和编译

  • 安装OpenCV:图像处理

图像处理(如读取图片,图像裁剪等)都需要使用OpenCV库进行处理

安装教程:Ubuntu18.04安装opencv和opencv_contrib

OpenCV库使用opencv-4.3.0版本,opencv_contrib库暂时未使用,可不安装

  • 安装vulkan:模型加速

 安装教程:Ubuntu18.04安装Vulkan SDK教程方法

vulkan用于模型GPU加速,若不使用vulkan进行模型推理加速,纯C++推理模型,速度可能会比较慢

  • base-utils:C++库

GitHub:https://github.com/PanJinquan/base-utils (无需安装,项目已经配置了)

base_utils是个人开发常用的C++库,集成了C/C++ OpenCV等常用的算法

  • NCNN:模型推理

GitHub:https://github.com/Tencent/ncnn (无需安装,项目已经配置了)

ncnn 是一个为手机端极致优化的高性能神经网络前向计算框架。 ncnn 从设计之初深刻考虑手机端的部署和使用。 无第三方依赖,跨平台,手机端 cpu 的速度快于目前所有已知的开源框架。 基于 ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行, 开发出人工智能 APP,将 AI 带到你的指尖。 ncnn 目前已在腾讯多款应用中使用,如:QQ,Qzone,微信,天天 P 图等。

(3) 部署NCNN模型

项目实现了C/C++版本的活体识别,模型推理采用NCNN部署框架(支持多线程CPU和GPU加速推理);图像处理采用OpenCV库,模型加速采用vulkan,在普通设备即可达到实时处理。

如果你想在这个 Demo部署你自己训练的活体识别模型,你可将训练好的Pytorch模型转换为NCNN模型,然后把原始的模型替换成你自己的NCNN模型即可。

(4)CMake配置

这是CMakeLists.txt,其中主要配置OpenCV+vulkan+base-utils+NCNN这四个库,Windows系统下请自行配置和编译

cmake_minimum_required(VERSION 3.14.0)
project(Detector)#set(CMAKE_BUILD_TYPE Debug)
add_compile_options(-fPIC) # fix Bug: can not be used when making a shared object
set(CMAKE_CXX_FLAGS "-Wall -std=c++11 -pthread")
#set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG")
#set(CMAKE_CXX_FLAGS_DEBUG "-g")if (NOT CMAKE_BUILD_TYPE)# -DCMAKE_BUILD_TYPE=Debug# -DCMAKE_BUILD_TYPE=Releasemessage(STATUS "No build type selected, default to Release")set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type (default Debug)" FORCE)
endif ()# NCNN set
set(NCNN_OPENMP ON CACHE BOOL "" FORCE)
set(NCNN_VULKAN ON CACHE BOOL "" FORCE)
set(NCNN_BUILD_TOOLS OFF CACHE BOOL "" FORCE)
set(NCNN_COMPILER_SUPPORT_X86_AVX OFF CACHE BOOL "" FORCE)
set(NCNN_COMPILER_SUPPORT_X86_AVX2 OFF CACHE BOOL "" FORCE)
set(NCNN_AVX OFF CACHE BOOL "" FORCE)
set(NCNN_AVXVNNI OFF CACHE BOOL "" FORCE)
#set(NCNN_SHARED_LIB ON CACHE BOOL "" FORCE)
set(NCNN_THREADS ON CACHE BOOL "" FORCE)
set(NCNN_BF16 ON CACHE BOOL "" FORCE)
set(NCNN_DISABLE_RTTI OFF CACHE BOOL "" FORCE)if (CMAKE_SYSTEM_NAME MATCHES "Android")add_definitions(-DDEBUG_ANDROID_ON)            # for Android Logadd_definitions(-DPLATFORM_ANDROID)
elseif (CMAKE_SYSTEM_NAME MATCHES "Linux")add_definitions(-DDEBUG_ON)                    # for WIN/Linux Logadd_definitions(-DDEBUG_LOG_ON)                # for WIN/Linux Logadd_definitions(-DDEBUG_IMSHOW_OFF)            # for OpenCV showadd_definitions(-DPLATFORM_LINUX)
elseif (CMAKE_SYSTEM_NAME MATCHES "Windows")add_definitions(-DDEBUG_ON)                    # for WIN/Linux Logadd_definitions(-DDEBUG_LOG_ON)                # for WIN/Linux Logadd_definitions(-DDEBUG_IMSHOW_OFF)            # for OpenCV showadd_definitions(-DPLATFORM_WINDOWS)
endif ()
add_subdirectory(3rdparty/ncnn ncnn_build)
include_directories(3rdparty/ncnn/src)# VULKAN set
set(VULKAN_SDK "3rdparty/vulkansdk/1.3.280.1/x86_64")# opencv set
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS} ./src/)
#MESSAGE(STATUS "OpenCV_INCLUDE_DIRS = ${OpenCV_INCLUDE_DIRS}")# base_utils
set(BASE_ROOT 3rdparty/base-utils) # 设置base-utils所在的根目录
add_subdirectory(${BASE_ROOT}/base_utils/ base_build) # 添加子目录到build中
include_directories(${BASE_ROOT}/base_utils/include)
include_directories(${BASE_ROOT}/base_utils/src)
MESSAGE(STATUS "BASE_ROOT = ${BASE_ROOT}")# Detector
include_directories(src)
set(SRC_LISTsrc/Interpreter.cppsrc/object_detection.cppsrc/classifier.cpp)
add_library(dlcv SHARED ${SRC_LIST})
target_link_libraries(dlcv ncnn ${OpenCV_LIBS} base_utils)
MESSAGE(STATUS "DIR_SRCS = ${SRC_LIST}")add_executable(Detector src/main_classifier.cpp)
target_link_libraries(Detector dlcv -lpthread)

(5)main源码

主程序中实现了人脸活体识别,其中test_image_file()实现测试图片,test_video_file()实现测试视频文件,test_camera()实现测试摄像头

//
// Created by Pan on 2018/6/24.
//
#include <opencv2/opencv.hpp>
#include <opencv2/core.hpp>
#include <vector>
#include <string>
#include "classifier.h"
#include "object_detection.h"
#include "Types.h"
#include "file_utils.h"
#include "image_utils.h"using namespace dl;
using namespace vision;
using namespace std;int numThread = 8;
DeviceType device = GPU; // 使用GPU运行,需要配置好vulkan
//DeviceType device = CPU; // 使用CPU运行string det_bin_file = "../data/model/face/rfb_face_416.bin";
string det_pam_file = "../data/model/face/rfb_face_416.param";
// 测试图片数据
string image_dir = "../data/test_image/person";
// 初始化人脸和关键点检测
DetParam model_param = FACE_MODEL;
ObjectDetection *detector = new ObjectDetection(det_bin_file,det_pam_file,model_param,numThread,device);string rec_bin_file = "../data/model/class/face_gesture_112_112.bin";
string rec_pam_file = "../data/model/class/face_gesture_112_112.param";
// 设置检测阈值
RecParam param = REC_MODEL;
Classifier *classifier = new Classifier(rec_bin_file,rec_pam_file,param,numThread,device);/**** 测试图片文件* @return*/
int test_image_file() {// 测试图片string image_dir = "../data/test_image";vector<string> image_list = get_files_list(image_dir);for (string image_path: image_list) {cv::Mat frame = cv::imread(image_path);if (frame.empty()) continue;FrameInfo resultInfo;// 开始检测detector->detect(frame, &resultInfo);//classifier->detect(frame, &resultInfo);// 可视化代码classifier->visualizeResult(frame, &resultInfo, 0);}printf("FINISHED.\n");return 0;
}/**** 测试视频文件* @return*/
int test_video_file() {string video_file = "../data/video/test-video.mp4"; //视频文件cv::VideoCapture cap;bool ret = get_video_capture(video_file, cap);cv::Mat frame;while (ret) {cap >> frame;if (frame.empty()) break;FrameInfo resultInfo;// 开始检测detector->detect(frame, &resultInfo);//classifier->detect(frame, &resultInfo);// 可视化代码classifier->visualizeResult(frame, &resultInfo, 10);}cap.release();delete detector;detector = nullptr;printf("FINISHED.\n");return 0;
}/**** 测试摄像头* @return*/
int test_camera() {int camera = 0; //摄像头ID号(请修改成自己摄像头ID号)cv::VideoCapture cap;bool ret = get_video_capture(camera, cap);cv::Mat frame;while (ret) {cap >> frame;if (frame.empty()) break;FrameInfo resultInfo;// 开始检测detector->detect(frame, &resultInfo);//classifier->detect(frame, &resultInfo);// 可视化代码classifier->visualizeResult(frame, &resultInfo, 10);}cap.release();delete detector;detector = nullptr;printf("FINISHED.\n");return 0;}int main() {
//    test_image_file();test_video_file();//test_camera();return 0;
}

(6)源码编译和运行

编译脚本,或者直接:bash build.sh

#!/usr/bin/env bash
if [ ! -d "build/" ];thenmkdir "build"
elseecho "exist build"
fi
cd build
cmake ..
make -j4
sleep 1
./demo
  • 如果你要测试GPU运行的性能,请修改src/main_classifier.cpp

DeviceType device = CPU;

  • 如果你要测试GPU运行的性能,请修改src/main_crnn.cpp (需配置好vulkan) 

DeviceType device = GPU;

下面截图给出开启vulkan加速的性能对比截图,纯C++推理模式需要耗时几百毫秒的时间,而开启vulkan加速后,GPU模式耗时仅需十几毫秒,性能极大的提高。


6.活体识别效果(C/C++版本)

 C++版本的opencv不支持中文显示,暂时未解决这个BUG,不过LOG会打印检测信息,凑合的用吧。

下图GIF这是Python版本的活体识别效果,C++版本与Python版本的结果几乎是一致

            


7.活体识别效果(Android版本)

项目已经完成Android版本人脸活体识别算法开发,APP在普通Android手机上可以达到实时的检测和识别效果,CPU(4线程)约40ms左右,GPU约30ms左右 ,基本满足业务的性能需求。详细说明请查看:人脸活体识别4:Android实现人脸眨眼 张嘴 点头 摇头识别(可实时检测)

 Android Demo体验:https://download.csdn.net/download/guyuealian/91133467

   


8. 项目源码下载

如需下载项目源码,请WX关注【AI吃大瓜】,回复【活体识别】即可下载

项目资源内容包含:

  1. 提供轻量化人脸检测模型
  2. 提供轻量化人脸活体识别模型(Mobilenet),支持眨眼(闭眼)、张嘴、点头(低头)、摇头(侧脸)动作识别,识别准确率可以高达99.9661%左右。
  3. 提供整套人脸活体识别C++项目源码
  4. C++ Demo源码支持二次开发
  5. C++ Demo支持图片,视频和摄像头测试
  6. C++ Demo支持CPU和GPU,GPU模型加速需要配置好vulkan,否则速度较慢;CPU模式推理需要耗时40ms左右,而开启vulkan加速后,GPU模式耗时仅需30ms左右

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/912822.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/912822.shtml
英文地址,请注明出处:http://en.pswp.cn/news/912822.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ABAP】 从无到有 新建一个Webdynpro程序

、新建WDA 可从SE80在web dynpro 组件下 创建 并按例以下操作 2、插入窗口 3、相关功能 3-1、展示消息 DATA:lo_api_controller TYPE REF TO if_wd_controller,lo_message_handler TYPE REF TO if_wd_message_manager.lo_api_controller ? wd_this->wd_get_api( ).lo_mess…

ALV常用设置(更新中一)

之前设置了checkbox&#xff0c;但是触发不了单击事件&#xff0c;且alv自带的复选&#xff0c;鼠标移动单击别处就会自动取消。 **增加多选框到fieldcat&#xff0c;**这一点很重要&#xff0c;然后设置 IF gs_fcat-fieldname sel.gs_fcat-checkbox X. gs_fcat-edit X. …

NumPy 或 PyTorch/TensorFlow 中的张量理解

(2, 2, 3) 形状的 3D 数组&#xff08;或张量&#xff09;的结构。 个人理解&#xff1a; 2个2维数组&#xff08;张量&#xff09;&#xff0c;2维数组&#xff08;张量&#xff09;里面有2个1维向量&#xff08;张量&#xff09;&#xff0c;1维向量&#xff08;张量&#x…

Linux环境下使用 C++ 与 OpenCV 实现 ONNX 分类模型推理

实验环境&#xff1a;Ubuntu 20.0 推理模型&#xff1a;ONNX分类模型 1. 安装依赖项 首先是需要安装依赖库&#xff0c;如g&#xff0c;cmake等&#xff0c;如果已经安装的话可以忽略 sudo apt install -y g sudo apt install -y cmake sudo apt install -y make sudo apt i…

AJAX 安装使用教程

一、AJAX 简介 AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;是一种在无需重新加载整个网页的情况下&#xff0c;能够与服务器交换数据并更新部分网页内容的技术。它不是一种新语言&#xff0c;而是使用现有的标准组合&#xff1a;JavaScript XMLHttpRequest…

【牛客算法】牛客网编程题解:小红拼图

一、题目介绍 1.1. 题目链接 &#xff1a;小红拼图 https://www.nowcoder.com/questionTerminal/08b54686f0d14bd784d9d148c68a268a 1.2 题目介绍 小红正在玩一个拼图游戏&#xff0c;她有一些完全相同的拼图组件&#xff1a; 小红准备用这些组件来拼成一些图案。这些组件可…

买卖股票的最佳时机--js 算法

一、买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。…

C#基础(WndProc)

WndProc 是操作系统与你的程序“对话”的通道​​。当用户点击鼠标、按下键盘&#xff0c;或系统事件&#xff08;如窗口移动&#xff09;发生时&#xff0c;Windows 会将这些事件打包成“消息”&#xff0c;发送给你的窗口&#xff0c;而 WndProc 就是接收和处理这些消息的函数…

记录一个 Linux中脚本无法执行的问题

问题描述&#xff1a; 在本地的window系统传的云服务器上一个.sh结尾的安装Java环境的脚本 上传到云服务器后&#xff0c;使用命令赋予执行权限 chmod x 文件名然后看一下这个脚本变绿了就可以了 然后开始尝试执行 ./脚本名 然后就报错了 然后开始排查问题 1.检查并修复 She…

Iceberg在图灵落地应用

导读 百度MEG上一代大数据产品存在平台分散、易用性差等问题&#xff0c;导致开发效率低下、学习成本高&#xff0c;业务需求响应迟缓。为了解决这些问题&#xff0c;百度MEG内部开发了图灵3.0生态系统&#xff0c;包括Turing Data Engine(TDE)计算&存储引擎、Turing Data…

FPGA设计的用户约束

FPGA设计的用户约束 文章目录 FPGA设计的用户约束FPGA设计的用户约束综合约束管脚约束位置约束时序约束小总结 FPGA设计的用户约束 至此&#xff0c;HDL到门级网表的转化已经完成&#xff0c;对于编译器来说&#xff0c;下一步的任务就是要将门级网表转换并映射到具体的FPGA硬…

Spring 生态创新应用:微服务架构设计与前沿技术融合实践

在数字化转型的深水区&#xff0c;企业级应用正面临从 “单体架构” 向 “分布式智能架构” 的根本性跃迁。Spring 生态以其二十年技术沉淀形成的生态壁垒&#xff0c;已成为支撑这场变革的核心基础设施。从 2002 年 Rod Johnson 发布《Expert One-on-One J2EE Design and Deve…

车牌识别与标注:基于百度OCR与OpenCV的实现(一)

车牌识别与标注&#xff1a;基于百度OCR与OpenCV的实现 在计算机视觉领域&#xff0c;车牌识别是一项极具实用价值的技术&#xff0c;广泛应用于交通监控、智能停车场管理等领域。本文将介绍如何在macOS系统下&#xff0c;利用百度OCR API进行车牌识别&#xff0c;并结合OpenC…

【系统分析师】2021年真题:论文及解题思路

文章目录 试题一&#xff1a;论面向对象的信息系统分析方法试题二&#xff1a;论静态测试方法及其应用试题三&#xff1a;论富互联网应用的客户端开发技术试题四&#xff1a;论DevSecOps技术及其应用 试题一&#xff1a;论面向对象的信息系统分析方法 信息系统分析是信息系统生…

OFA-PT:统一多模态预训练模型的Prompt微调

摘要 Prompt微调已成为模型微调的新范式&#xff0c;并在自然语言预训练甚至视觉预训练中取得了成功。参数高效的Prompt微调方法通过优化soft embedding并保持预训练模型冻结&#xff0c;在计算成本低和几乎无性能损失方面展现出优势。在本研究中&#xff0c;我们探索了Prompt…

【硬核数学】2.5 “价值标尺”-损失函数:信息论如何设计深度学习的损失函数《从零构建机器学习、深度学习到LLM的数学认知》

欢迎来到本系列硬核数学之旅的第十篇&#xff0c;也是我们对经典数学领域进行深度学习“升级”的最后一站。我们已经拥有了强大的模型架构&#xff08;基于张量&#xff09;、高效的学习引擎&#xff08;反向传播&#xff09;和智能的优化策略&#xff08;Adam等&#xff09;。…

雷卯针对灵眸科技EASY EAI nano RV1126 开发板防雷防静电方案

一、应用场景 1. 人脸检测 2. 人脸识别 3. 安全帽检测 4. 人员检测 5. OCR文字识别 6. 人头检测 7. 表情神态识别 8. 人体骨骼点识别 9. 火焰检测 10. 人脸姿态估计 11. 人手检测 12. 车辆检测 13. 二维码识别 二、 功能概述 1 CPU 四核ARM Cortex-A71.5GHz 2 …

【记录】Ubuntu|Ubuntu服务器挂载新的硬盘的流程(开机自动挂载)

简而言之&#xff0c;看这张图片就好&#xff08;可以存一下&#xff0c;注意挂载点/data可以自定义&#xff0c;挂载硬盘的位置/dev/sdb要改成步骤1中检查的时候查到的那个位置&#xff0c;不过这个图的自动挂载漏了UUID&#xff0c;可以通过blkid指令查找&#xff09;&#x…

六、软件操作手册

建议在飞书平台阅读此文。 我将沿着初来乍到的用户的浏览路径介绍“诤略参谋”应用。 目录 一、用户信息1.1 注册、登录、自动登录、忘记密码、修改用户名、修改密码、退出登录与个性化设置1.2 认识主界面与任务系统1.3 语义审查、Knowledge Cutoff 审查1.4 重要内容未保存提醒…

电脑键盘不能打字了怎么解决 查看恢复方法

电脑键盘打不了字&#xff0c;这是我们电脑使用过程中&#xff0c;偶尔会遇到的电脑故障问题。一般来说&#xff0c;电脑键盘打不出字&#xff0c;可能是硬件故障、驱动问题或系统设置错误等多种原因引起。本文将详细介绍一些常见的原因和解决方法&#xff0c;帮助用户恢复正常…