实现人脸识别APP
Posted 修炼之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现人脸识别APP相关的知识,希望对你有一定的参考价值。
导读
上一篇文章介绍了人脸识别组成模块,这篇文章主要介绍一下如何来实现一个人脸识别应用,代码我也开源了,在文章最后有开源地址
项目结构
这个项目主要实现了人脸检测
和人脸识别
两个模块,人脸检测
是基于retinaface模型,人脸识别
是基于insightface实现的。整个的人脸识别项目的结构和之前的图像分类是一样的,这里就不重复介绍了。
- face_jni.cpp:JNI接口,结合了人脸检测和人脸识别函数,提供给java调用
- recognition.cpp:封装了人脸识别函数
- retinaFace.cpp:封装了人脸检测函数
当检测到多个人脸时我们选择图片中面积最大的人脸来进行比对,函数封装在retinaFace.cpp
的extractMaxFace
中
在比对两张人脸是否相似的时候,我们默认采用的是欧式距离,阈值设置的是1.08
,在MainActivity.java
的48行可以修改,阈值测定是通过CASIA-FaceV5人脸数据集上选取人脸准
以上是关于实现人脸识别APP的主要内容,如果未能解决你的问题,请参考以下文章
Android App实战项目之使用OpenCV人脸识别实现找人功能(附源码和演示 超详细)