该文章总结了人脸识别中的难点和提高模型精度的方法,总结的内容具有通用性,故用此文做记录。
-
技术难点
文章中提到,无约束环境中,人脸识别需要应对头部姿势、年龄、遮挡、光照条件和人脸表情等难点问题;
项目的实际应用中都会遇到横向和纵向的难点,横向是周围因素对物体的影响:光照、遮挡;纵向是物体自身的影响:姿势、表情和年龄(人脸特有的属性);
-
提高准确度的方法:训练数据、CNN 架构和损失函数
神经网络是实际应用中的工具,总的目的是希望NN可以提取出能够泛化到训练集中未曾出现过主体的特征。所以一般从训练数据、骨干网、损失函数三方面来提高模型的准确度。
- 数据集需要包含足够的变化,从而可以泛化到未曾见过的样本上。一般而言,为分类任务训练的 CNN 的准确度会随每类的样本数量的增长而提升。这是因为当类内差异(比如光照、姿势、面部表情、年龄等)更多时,CNN 模型能够学习更稳健的特定特征。另外,数据集也存在更宽和更深的概念,更宽指包含的分类主体多,更深指同一分类主体的图片多。如果图像数量相等,更宽的数据集效果更好,因为它包含更多类间差异,因而能更好地泛化到未曾见过的主体上;
- 基于不同骨干网的精度提升。主要是一系列分类的网络,如VGG、GoogleNet, ResNet,