人脸识别,是美颜SDK大部分功能实现的先决条件,比如贴纸、化妆,这些都需要用到人脸关键点识别技术,其次人脸关键点识别、面部表情识别,可以帮助美颜工具实现更多细分的趣味拍摄功能。下文,小编将为大家讲解一下美颜SDK的面部表情识别技术。
一、面部识别
美颜SDK人脸检测基本上是所有与人脸相关的任务中都包含的一个预处理模块,它把人脸从复杂的图像中提取出来,后续只需要将注意力集中在提取人脸的相关特征上,从而有效提升相关任务的效果。美颜SDK最常用的人脸提取方法是Viola和 Jones在2001年提出的Viola-Jones (以下简称V& J)目标检测器,它基于类 Haar特征和 Adaboost分类器实现了一个实时目标检测的框架。同时,因为 Haar特征更适合人脸识别,所以它被广泛应用于人脸检测中。在OpenCV中,哈尔分类器是对维奥拉-琼斯方法的一种改进。
当然,美颜SDK也有基于深度学习的多任务级联卷积神经网络(MTCNN)等算法,也有基于目标检测相关算法(Faster-CNN,SSD等)的人脸检测算法。因此,针对人脸检测问题,这里采用了一种全新的算法:V& J算法是目前常用的人脸检测算法,其中,MTCNN算法在美颜SDK中实战效果要优于前者,所以目前被开发者们广泛应用。
二、归一化
在非可控条件下,人脸数据易受姿态变化、光线变化、遮挡等因素的影响,导致美颜SDK人脸情感表达的核心脑区(眼、口)信息缺失,严重影响模型训练和测试的效果。为此,有学者提出了将人脸转化为正规化人脸再训练表情识别模型的方法。
至于归一化,主要分为几个步骤:光照归一化、姿态归一化、去除遮挡,因为文章篇幅的关系,在此不做过多的介绍。
三、数据增强
最后,在美颜SDK深度学习中,最常用的预处理模式是:数据增强。深度学习需要大量的训练数据,才能确保算法模型的精度和泛化能力。在表情识别领域,即使是研究得最早的基于图片的人脸表情识别,现在最大的数据集AffectNet有40多万张图,比起 ImageNet、VGGFace2等数据集来说,都是小巫见大巫,至于其他更小众的表情识别(如微表情识别)则更是少之又少。
上文,小编为大家讲解了美颜SDK的人脸表情识别技术,感谢阅读!