前言
人脸识别是机器视觉最成熟、最热门的领域,近几年,人脸识别已经逐步超过指纹识别成为生物识别的主导技术。
人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。【人脸识别:来源百度百科】
人脸识别难点
人脸图像在现实世界中的呈现具有高度的可变性,人脸图像可变的地方包括头部姿势、年龄、遮挡、光照条件和人脸表情。如下图:
(a)头部姿势
(b)年龄
(c)光照
(d)面部表情
(e)遮挡
传统方法与深度学习方法
传统方法依赖于人工设计的特征(比如边和纹理描述量)与机器学习技术(比如主成分分析、线性判别分析或支持向量机)的组合。人工设计在无约束环境中对不同变化情况稳健的特征是很困难的,这使得过去的研究者侧重研究针对每种变化类型的专用方法,比如能应对不同年龄的方法、能应对不同姿势的方法、能应对不同光照条件的方法等。
深度学习方法的主要优势是它们可用非常大型的数据集进行训练,从而学习到表征这些数据的最佳特征。网络上可用的大量自然人脸图像已让研究者可收集到大规模的人脸数据集,这些图像包含了真实世界中的各种变化情况。使用这些数据集训练的基于 CNN 的人脸识别方法已经实现了非常高的准确度,因为它们能够学到人脸图像中稳健的特征,从而能够应对在训练过程中使用的人脸图像所呈现出的真实世界变化情况。
人脸识别系统构成
人脸识别系统通常通常包括以下部分:
如下面这个例子:
(a)人脸检测结果
(b)和(c)对齐后的人脸和参考点
人脸数据集
公开的大规模人脸数据集:
深度学习人脸识别模型
- 1、基于深度学习的人脸识别方法发展历程:
- 2、各个模型的对比:
实用开源工程
face_recognition:https://github.com/ageitgey/face_recognition
openface:https://github.com/cmusatyalab/openface
facenet:https://github.com/davidsandberg/facenet
awesome-Face_Recognition:https://github.com/ChanChiChoi/awesome-Face_Recognition
/face.evoLVe.PyTorch:https://github.com/ZhaoJ9014/face.evoLVe.PyTorch
DeepFace:https://github.com/RiweiChen/DeepFace
facenet-pytorch:https://github.com/timesler/facenet-pytorch
openbr:https://github.com/biometrics/openbr
arcface-pytorch:https://github.com/ronghuaiyang/arcface-pytorch
参考
Face Recognition: From Traditional to Deep Learning Methods
FaceNet: A Unified Embedding for Face Recognition and Clustering
Deep Face Recognition: A Survey
深度人脸识别综述