目录
1. 人脸检测与人脸识别概述
2. 常用人脸检测算法
3. 常用人脸识别算法
4. 常用人脸检测与识别数据集
5. 人脸识别论文综述
1)Face Detection
2)Face Preprocessing
3)Face Representation
人脸识别和人脸检测是计算机视觉领域中两个相关但不同的任务。
人脸检测(Face Detection)是指在图像或视频中检测出人脸所在的位置和边界框。该任务的目标是确定图像中是否存在人脸,并标识出其大致位置。人脸检测通常是作为一个预处理步骤,用于在更高级别的任务(如人脸识别、表情识别等)中定位人脸。
人脸识别(Face Recognition)是指识别和验证人脸的身份。该任务的目标是将输入的人脸图像与预先存储的人脸模板进行比较,并判断是否匹配。人脸识别可以用于识别一个人是否在数据库中,或者将输入的人脸与数据库中的多个人脸进行比对,从而确定最相似的身份。
人脸识别数据库是一种存储人脸图像和相关信息的系统或集合。这些数据库通常用于人脸识别技术,该技术使用算法来识别和验证人脸图像中的身份。人脸识别数据库通常包含以下组成部分:
- 人脸图像:数据库中存储了大量的人脸图像,这些图像可以是照片、视频截图或其他来源的图像。每张人脸图像都与一个唯一的身份相关联。
- 身份信息:每个人脸图像都与一个身份信息相关联,例如姓名、身份证号码、员工编号等。这些信息用于标识和验证人脸图像的身份。
- 特征向量:人脸识别算法通常会将人脸图像转换为数值表示,称为特征向量或人脸特征。这些特征向量是人脸识别算法用于比对和匹配的关键数据。
- 元数据:数据库中可能包含其他与人脸图像相关的信息,例如拍摄时间、地点、摄像头信息等。
总结起来,人脸检测是找出图像中的人脸位置,而人脸识别是在已检测到的人脸中识别出具体的身份。人脸检测是一个二分类问题(有人脸或无人脸),而人脸识别则是一个多分类或一对一匹配问题(识别具体的人脸身份)。
从大方向来说,人脸检测可以分为三种方向:
- 基于特征的人脸检测技术:通过采用颜色、轮廓、纹理、结构或者直方图特征等进行人脸检测
- 基于模板匹配人脸检测技术:从数据库当中提取人脸模板,接着采取一定模板匹配策略,使抓取人脸图像与从模板库提取图片相匹配,由相关性的高低和所匹配的模板大小确定人脸大小以及位置信息
- 基于统计的人脸检测技术:通过对于“人脸”和“非人脸”的图像大量搜集构成的人脸正、负样本库,采用统计方法强化训练该系统,从而实现对人脸和非人脸的模式进行检测和分类
常用人脸检测算法:
- Viola-Jones算法:一种经典的人脸检测算法,使用Haar特征和级联分类器进行检测
- MTCNN:多任务卷积神经网络,可同时进行人脸检测、关键点定位和人脸对齐
- RetinaFace:一种基于深度学习的快速人脸检测算法,具有较高的准确性和检测速度
- CenterNet:一种基于中心点检测的算法,可以用于人脸检测和其他目标检测任务
- DeepFace:由Facebook开发的深度学习模型,用于人脸识别任务
- FaceNet:由Google开发的基于深度学习的人脸识别系统,采用了三元组损失函数来学习具有相似性的人脸表示
- VGGFace:基于VGGNet模型的人脸识别算法,采用了深度卷积神经网络进行特征提取和匹配
- VGGFace2:包含了约9,131个身份的3.31百万个人脸图像,是一个用于人脸识别的大规模数据集。VGGFace2合集是VGGFace数据集的继任者,更具挑战性和多样性
- ArcFace:一种用于人脸识别的度量学习算法,通过将同一身份的人脸样本相互拉近,不同身份的人脸样本相互推开
人脸检测数据集:
- AFLW(Annotated Facial Landmarks in the Wild):一个包含21,080张图像和24,386个人脸实例的数据集,用于人脸关键点检测和人脸对齐任务
- WIDER Face:一个大规模的人脸检测数据集,包含32,203张图像和393,703个人脸实例。该数据集涵盖了多种场景和姿势,具有挑战性
- FDDB(Face Detection Data Set and Benchmark):包含2,845张图像和5,171个人脸实例的数据集,用于评估人脸检测算法的性能
- FDDB-Folds:FDDB数据集的一个变体,提供了10个预定义的数据集划分,每个划分都用于训练和测试不同的人脸检测算法
- AFW(Annotated Faces in the Wild):一个用于人脸检测和人脸关键点检测的数据集,包含205张自然图像。每张图像都标注了人脸的边界框和关键点
- AFW-Subset:AFW数据集的一个子集,包含了205个图像和473个人脸实例。用于在较小的规模上进行人脸检测算法的测试
- BioID:一个包含1,521张图像和1,521个人脸实例的数据集,用于人脸检测和人脸识别任务。每个图像都提供了人脸边界框的标注
人脸识别数据集:
- LFW(Labeled Faces in the Wild):一个常用的用于人脸识别的数据集,包含13,000多张名人的人脸图像
- CelebA:包含超过20万个名人图像的数据集,用于人脸属性识别和人脸识别任务
- CASIA-WebFace:由中国科学院自动化研究所创建的人脸识别数据集,包含10,575个身份的494,414张人脸图像
- MegaFace:包含来自互联网的百万级人脸图像,用于评估大规模人脸识别系统的性能
- MS-Celeb-1M:由微软研究亚洲实验室发布的一个大规模人脸识别数据集。它包含了来自互联网的约100万个名人身份的人脸图像
- MegaFace Challenge:一个用于评估大规模人脸识别系统性能的挑战赛,提供了大量的人脸图像数据。MegaFace合集包含了来自互联网的数百万个人脸图像,用于进行更真实的评估
- UMDFaces:由美国马里兰大学发布的一个包含来自互联网的超过3,700个身份的3.7百万个人脸图像的数据集。它包含了不同年龄、种族和姿势的人脸图像
- CASIA-WebFace:中国科学院自动化研究所发布的人脸识别数据集,包含了来自互联网的10,575个身份的494,414张人脸图像
综述:https://arxiv.org/pdf/2009.13290.pdf
人脸识别整个系统一般由三个关键要素构成:人脸检测(face detection)、人脸预处理(face preprocess),人脸表征(face representation)
人脸检测定位图像或视频帧中的人脸。
人脸预处理是进行人脸标定到一个规范的视角并将他们裁剪到一个标准化像素大小。
人脸表征阶段,从预处理后的图像中提取具有鉴别性的特征用于识别。
这三个要素都是由深度卷积神经网络实现的。
The standard pipeline of end-to-end deep face recognition system:
1)Face Detection
给定一幅输入图像,人脸检测的目标是找到图像中所有的人脸,并给出所有人脸的包围框的坐标和置信度得分。人脸检测的主要挑战包括变化的分辨率、比例、姿态、光照、遮挡等。传统的方法侧重于设计手工制作的特征来区分人脸和背景区域。
2)Face Preprocessing
在第二阶段,人脸预处理的目标是将检测到的人脸标定为一个规范的视图(即人脸对齐或正面化),这是提高人脸识别端到端性能的必要步骤。
通常,人脸对齐利用空间变换技术将人脸校准为标准化视图。在现有的人脸对齐方法中,人脸landmark是必不可少的,因为它们是进行相似变换或仿射变换的参考。因此,人脸关键点定位是人脸对齐的先决条件。
基于深度学习的人脸landmark定位方法可以分为三种:coordinate regression based approaches, heatmap regression based approaches and 3D model fitting based approaches
Visualization of facial landmarks of different versions:
3)Face Representation
人脸表征致力于学习深度人脸模型,利用深度人脸模型从预处理的人脸中提取特征进行识别。这些特征用于计算匹配人脸的相似度。
在监督训练方面,主要包括分类、特征嵌入、混合和半监督等方案。具体地说,分类方案将人脸表征学习视为一个分类问题(即一个ID被认为是一个类),它通常使用softmax loss及其变体作为监督训练。特征嵌入方案通过不同样本之间的优化距离来学习人脸表征。混合方案是指综合使用训练深度人脸模型的分类和特征嵌入。这三个方案侧重于监督训练。最近,深度半监督人脸表征学习中增加注意力,因为它们可以通过使用大量未标记人脸,来提高人脸表征的学习。此外,我们还展示了几个具体的人脸识别场景,包括跨域、少样本学习和基于视频的场景。
人脸检测数据集: