一、基于mtcnn和facenet的实时人脸检测与识别系统开发(A++)
https://zhuanlan.zhihu.com/p/25025596
该系统基于python/ opencv2/ tensorflow/ Linux环境,实现了从摄像头读取视频,实时检测人脸,识别人脸的功能。(检测、识别)
人脸检测:本文中采用mtcnn是基于python和tensorflow的实现(代码来自于davidsandberg,caffe实现代码参见:kpzhang93)
facenet embedding(映射):Facenet是谷歌研发的人脸识别系统,该系统是基于百万级人脸数据训练的深度卷积神经网络,可以将人脸图像embedding(映射)成128维度的特征向量。本文采用的是davidsandberg基于FaceScrub and CASIA-WebFace数据集预训练的Facenet模型,LFW测试集准确率为0.98。
人脸识别:对人脸进行embedding后,得到128维度的特征向量 。以该特征向量为基础,可以采用任何机器学习的方法进行分类和识别。本文中,选取了knn(k-NearestNeighbor)方法(你可以换其它任何分类方法,比如svm或者神经网络方法等)。本文中,采用了sklearn库实现knn模型的训练和预测。
怎么运行test文件夹:A description of how to run the test can be found on the page Validate on LFW.
mtcnn论文:https://kpzhang93.github.io/MTCNN_face_detection_alignment/index.html
代码就是Matlab/Caffe
facenet论文:https://arxiv.org/abs/1503.03832
部分摘要: To train, we use triplets of roughly aligned matching / non-matching face patches generated using a novel online triplet mining method. The benefit of our approach is much greater representational efficiency: we achieve state-of-the-art face recognition performance using only 128-bytes per face. On the widely used Labeled Faces in the Wild (LFW) dataset, our system achieves a new record accuracy of 99.63%. On YouTube Faces DB it achieves 95.12%. Our system cuts the error rate in comparison to the best published result by 30% on both datasets.
知乎中文facenet解析:https://zhuanlan.zhihu.com/p/24837264
LFW: 0.9963 0.98
model: mtcnn
Python/Tensorflow https://github.com/davidsandberg/facenet/tree/master/src/align
Matlab/Caffe
https://github.com/kpzhang93/MTCNN_face_detection_alignment
facenet(Inception-ResNet-v1 model)
https://github.com/davidsandberg/facenet/blob/master/src/models/inception_resnet_v1.py
二进制文件: 无
每张图片识别时间:only 128-bytes per face
二、MTCNN_face_detection_alignment
https://github.com/kpzhang93/MTCNN_face_detection_alignment
Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Neural Networks。(检测、对齐)