人脸识别流程包括人脸检测、人脸对齐、人脸识别等子任务,这里优先总结功能相对齐全的开源项目,再总结完成单个子任务的开源项目。本文主要关注方法较流行且提供源码的开源项目,忽略了仅提供SDK的。
全任务
- SeetaFaceEngine与SeetaFaceEngine2,是中科院山世光组开源的项目,含Detection、Alignment、Identification,前者代码齐全,很适合学习,只是没有开源模型训练方法,后者只提供了SDK。
- OpenCV以及opencv_contrib,传统方法和深度学习方法都有,4.0版本已发布,见ChangeLog。
- dlib基于C++的机器学习库,其中也含有 frontal face detection 和 face recognition等。face_recognition基于dlib的人脸识别(python)。
- openface官网以及cmusatyalab/openface github是基于google FaceNet(CVPR 2015)用Python和Torch实现的人脸识别系统。
- facenet,基于Tensorflow实现的FaceNet,参考了上面的openface
- TadasBaltrusaitis/OpenFace(与上面的openface不是同一个),汇总了多篇论文的实现,含facial landmark detection、head pose estimation、facial action unit recognition 以及 eye-gaze estimation,侧重于facial behavior analysis and understanding。
人脸检测
- MTCNN,Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Neural Networks。以及MTCNN-light,无框架实现版本。
- 百度冠军方法PyramidBox的两个非官方实现,EricZgw/PyramidBox以及Goingqs/PyramidBox,前者TensorFlow后者pytorch。
人脸识别
以下,copy自大学生写人脸识别算法现实吗? – 卡本特的回答 – 知乎
- caffeFace:https://github.com/ydwen/caffe-face
- normFace:https://github.com/happynear/NormFace
- mobile ID:liuziwei7/mobile-id
- sphereFace:wy1iu/sphereface
- insightface:deepinsight/insightface
2018年初Insightface曾拿Megaface第一,参见InsightFace – 使用篇, 如何一键刷分LFW 99.80%, MegaFace 98%。
以上,待更新。
参考
转自:https://www.cnblogs.com/shine-lee/p/10045672.html