背景:
最近要搞人脸检测(非识别,也非取特征,也不是切割,仅仅是检测,框住)
刚好最近学了些深度学习下的人脸检测
那就当做复习找找各种方案,顺便理解下各个方案
场景:
需要在用户点击按钮时,顺便记录用户头像
上传服务器
现在人脸识别到处都是,api到是很多
但离线的sdk不多,好的开源也不多
要求:
1.离线
2.精确度高
3.多人脸识别
4.速度快
方案:
1. FaceDetect ,Android早期代码。
- http://wiki.jikexueyuan.com/project/android-actual-combat-skills/static-human-face-detection.html
实测:代码简单,识别到一些不是人头的
2. 百度的离线的SDK
实测:有授权时间限制,甲方不一定会出这个钱
- https://ai.baidu.com/tech/face/offline-sdk
3. 虹软的sdk免费,速度快
参考:
- https://zhuanlan.zhihu.com/p
- https://github.com/asdfqwrasdf/ArcFaceDemo
实测:可用,申请key,永久免费,摄像头预览部分已有
4. opencv3 有人脸检测的demo项目
- https://sourceforge.net/projects/opencvlibrary/
- https://www.jianshu.com/p/1fc91f9c9a67
- https://github.com/typer9527/FaceDetector
实测:速度挺快,但是偶尔识别错误,
5. MTCNN 的Android版本
实测:大图慢10s以上,1000x1000还行。2s多
- https://zhuanlan.zhihu.com/p/38576592
原论文
- https://kpzhang93.github.io/
- https://github.com/kpzhang93/MTCNN_face_detection_alignment
论文解析
https://blog.csdn.net/sparkexpert/article/details/73850174
6. dlib方案
Dlib是以编程语言C ++编写的通用跨平台软件库。
- https://blog.csdn.net/u010670689/article/details/54409742
- https://github.com/dengly/FaceDlibOpencv
实测:最后崩溃没有跑起来
7. google mobile vision api 方案
- http://einverne.github.io/post/2016/08/android-face-detect.html
- https://blog.csdn.net/wangguogai/article/details/78479836
实测:还没测试
最后
最后哪个好?同学们自己挑吧。。
YY下如果可以的话,当然是自己拿数据自己训练,然后导出pb
最后在Android上跑,而且还写jni或cv自己加速部分计算
来源:CSDN
作者:宿莽_csdn
链接:https://blog.csdn.net/sumang_87/article/details/103989889