# Demo-10-UVCDemo人脸注册及识别,串口控制 **Repository Path**: my10moons/Demo-10-UVCDemo ## Basic Information - **Project Name**: Demo-10-UVCDemo人脸注册及识别,串口控制 - **Description**: demo展示了人脸特征值提取,人脸注册,人脸识别,通过串口操作控制外设等功能 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2020-04-16 - **Last Updated**: 2022-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Demo-10-UVCDemo #### 介绍 demo展示了人脸特征值提取,人脸注册,人脸识别,通过串口操作控制外设等功能 #### 人脸注册 使用了数据库,人脸(1:N)识别demo. ### 注册的思路主要有2条 1. 一个是从图像帧取一帧图片,然后送给摄像头识别,返回的人脸数据中,再根据人脸坐标去抠出人脸,保存属性值,头像到本地。 * 优点:编程,思路简单易懂。 * 缺点:有延时,特别是摄像头前人数较多时。 2. 另一种是从onFaceData接口中获取到人脸特征值,通过frame ID去onFrameData接口中取图像帧,两者需要相同,不然抠出人脸会不准确,不完整。 * 优点:相对及时,从获得特征值开始就可以识别和注册人脸。 * 缺点:内存使用增加,因为需要对图像帧就行缓存。(没有人脸注册需要,则不用) #### 附加说明: 本demo会使用两种方式演示,第二种相对复杂一点,我们是先获取人脸数据,再回去取图像数据, 因为摄像头计算人脸属性、特征值是需要时间的,所以"当前"的画面的人脸是没有属性,特征值的,因而需要对"最后"的数十帧图像需要缓存,以便后面使用,如抠出人脸。 #### 主要功能演示 ![注册过程演示](https://s2.ax1x.com/2020/01/07/l6qIl8.gif) #### 使用教程 1. 编译软件,或者直接安装最新版本apk。 2. 运行软件 3. 如果正常出现人脸框,请保持人脸完整出现在画面中,点击左上角按钮【抓拍注册】,正常弹出对话框,输出【姓名】后,点击保存,即注册成功。 4. 如果此人脸已注册,则底部显示已注册。 5. 如果画面中没有人脸,则不会有反馈信息。 #### 附加说明 1. demo中使用的接口只显示性别,年龄属性,其他属性请自行从FaceAttribute类获取。 2. 已注册用户数据可以单独删除,或者全部清空。 ![单独删除某用户](https://images.gitee.com/uploads/images/2020/0110/180735_023f8b82_1514650.png "demo_face_recogniton_delete_one_user.png") ![清空数据库](https://images.gitee.com/uploads/images/2020/0110/180756_500b47ae_1514650.png "demo_face_recognition_delete_all_user.png") #### 编译环境 1. Android Studio 3.6.2 Build #AI-192.7142.36.36.6308749, built on March 19, 2020 Runtime version: 1.8.0_212-release-1586-b4-5784211 x86_64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o macOS 10.15.3 GC: ParNew, ConcurrentMarkSweep Memory: 1237M Cores: 6 Registry: ide.new.welcome.screen.force=true Non-Bundled Plugins: CheckStyle-IDEA, FindBugs-IDEA, GsonFormat, com.alibaba.p3c.smartfox, com.remoterapp.adbremote.jsonviewer.id, com.developerphil.adbidea, de.mprengemann.intellij.plugin.androidicons, pl.charmas.parcelablegenerator 2. gradle 5.4.1