01
![4860c896d8f0d574840bcf891dd737e2.gif](https://i-blog.csdnimg.cn/blog_migrate/144c60032ea71528edc06934a36fc560.gif)
研究背景
近年来,随着人工智能、模式识别和计算机视觉等技术的蓬勃发展,对于人脸信息的研究也逐渐成为一个热门方向。人脸信息研究,主要是对视频或者图像中的人脸姿态、肤色、表情等信息进行研究。其中,人脸姿态分类是对输入到计算机的人脸图片或视频进行分析、分类,确定图片中人脸的偏转角度,主要是为了能够更加有效地使用人脸的面部信息,例如在人脸替换方面的使用,可以使替换后的结果更加真实,同时在疲劳驾驶监控、消费者购物行为分析等方面也有实际的应用。
随着深度学习的快速发展,人脸信息的识别率也有了显著提高。基于卷积神经网络的人脸信息研究模型被广泛应用于不同领域并取得了相当好的效果。其中人脸姿态分类是最为常见的研究方向,而卷积神经网络是最为常见的人脸姿态分类模型之一。卷积神经网络算法的特点是能够通过卷积核对图像进行多重非线性变换以提取更高层次的抽象特征,而不需要针对不同的场景进行人工特征设计。此外,在人脸姿态分类过程中,卷积神经网络通过局部连接、权值共享等技巧增强了特征提取的鲁棒性。
本文以结构精简性能高效的VGGNet(Visual Geometry Group Net)为基础,针对经典VGGNet的不足和详细的网络逻辑结构的分析,提出了一种改进的卷积神经网络对人脸信息进行研究,运用迁移学习的方法将已经训练好的网络模型用于训练两个方向的人脸姿态模型中,通过与其他网络模型进行对比分析实验,验证本文方法可得到更好的分类效果。
02
![4860c896d8f0d574840bcf891dd737e2.gif](https://i-blog.csdnimg.cn/blog_migrate/144c60032ea71528edc06934a36fc560.gif)
人脸姿态分类相关研究
由于遮挡、数据集采集困难、光照条件等因素,人脸姿态分类一直都是许多公司和学者研究的热点。目前人脸姿态分类的方法有:
① 基于几何模型的姿态分类法通常是通过人脸的特征点或者人脸的几何关系来进行分类,该方法简单容易实现,但若样本角度变化过大会造成分类偏差较大。
② 基于三维模型的姿态分类方法需要建立人脸三维模型库,将模型库中的人脸经旋转、投影后,与目标人脸图像进行匹配,从而完成人脸姿态分类。或使用人脸形变模型来重建三维人脸,通过分片原则将三维人脸划分为多个部分,将每个部分的纹理和几何特征作为识别特征。但是构建三维人脸数据集的设备昂贵,成本太高,所占用的存储空间大,并且对采集环境也有很高的要求,难以在现实中使用。
③ 基于人脸特征点检测的方法首先利用人脸特征点检测算法找出人脸中的特征点,选择较为稳定的特征点,不会因为外界因素发生改变而改变,使用这些特征点进行三维特征匹配,确定人脸空间姿态。提出SRC(Sparse Representation Based Classification)方法,可以有效应对表情变化、光照变化、局部遮挡等问题,具有较好的鲁棒性。
近年来,包括神经网络在内的众多机器学习算法有了巨大进展,卷积神经网络(Convolutional Neural Networks,CNN)已经被广泛应用于图像处理领域。CNN能够利用图像的纹理、边缘、角点等高层特征,针对特定任务寻找到其特征,通过逐层特征学习来模拟人脑处理信息机制。所以,本文采用深度学习的方法来解决人脸姿态分类问题。考虑到深度学习的训练过程中需要大量有标签的样本,然而在现实条件下根本无法获得大量已标注的数据,故使用迁移学习的方法来解决上述问题。
使用迁移学习的方式对人脸姿态进行较为精确的分类,在CAS-PEAL数据集上进行了实验。数据集在pitch方向上有3个角度(上、中、下),在yaw方向上有11个方向(0°,±15°,±22°,±30°,±45°,±67°)。最终实验结果表明,相较于之前只用CNN训练的方法,在利用迁移学习方法后,准确率有了较大的提升,训练时间有了明显缩短。
03
![4860c896d8f0d574840bcf891dd737e2.gif](https://i-blog.csdnimg.cn/blog_migrate/144c60032ea71528edc06934a36fc560.gif)
基于迁移学习的CNN网络
3.1 预处理
所用到的数据集包含大量的背景,考虑到这些背景在训练时会对训练结果产生影响,比较了一些人脸检测算法后,采用了SeetaFace Detection来进行人脸检测。SeetaFace Detection是一种结合了经典级联结构和多层神经网络的人脸检测方法。从上往下,构成一个漏斗形状,每层的分类器和所采用的特征从上到下逐渐复杂,这样可以在保留人脸窗口的同时,排除非人脸候选框。将图片中的人脸区域提取出来,同时对图片进行尺度上的归一化,预处理之后的样本如图1所示。归一化图片尺寸为224像素×224像素,以适应网络模型的输入要求。然后根据计算能力设定batch的大小。
![48a2b46984078a8fb42b8fa4dbdd8691.png](https://i-blog.csdnimg.cn/blog_migrate/ee4ae37bb3aab2c70199965f6a49d0cc.jpeg)
图1 预处理之后的样本
3.2 卷积神经网络的网络结构
VGGNet主要研究的是神经网络深度与提取特征能力的关系,其网络结构精炼,且有强大的特征提取能力。但是VGGNet网络结构无法使准确率达到一个理想值,因此笔者构造了新的网络结构进行试验。并借鉴了VGGNet,在每段结束后,添加了一层1×1的卷积层。使用1×1的卷积核来增加网络深度,可以在不改变图片尺寸的情况下,增加或者降低维度信息,维度是指通道数(这里并没有发生降维)。而且可以在输入输出维度不变的条件下提供更多的线性变换。最终构成22层的网络结构。最后采用Softmax分类器——Logistic模型针对多分类问题的发展。
3.3 迁移学习模型的使用
本文人脸姿态分类涉及2个方向(yaw和pitch),相较于一般3个方向而言,没有涉及roll方向,因为卷积神经网络具有旋转不变性,对于网络训练所需的训练集来说是没有变化的,所以舍弃。两个方向的训练可以分为:
① 单独训练,即每个方向在训练开始时权重全部初始化。
② 迁移训练,通过事先选定一个方向数据集的一部分作为训练样本,训练至最优,保存权重。
然后再对两个方向的全部数据进行训练,得到最优解。对于人脸姿态分类来说,角度特征是本文所需最重要的特征,但训练特征中包含无关特征,使用迁移训练,可以简化这些无关特征的学习。
3.4 网络训练
卷积神经网络训练过程的本质是通过迭代来更新权重和偏差,以得到最好的效果。训练的复杂程度与参数的数量有关。神经网络的训练流程图如图2所示。
① 图片预处理。去除样本内大量的背景,然后将训练样本和测试样本归一化为224像素×224像素的大小。
② 将训练样本放入输入层,前向传播,然后计算神经网络的输出层与训练样本标签之间的误差。
③ 判断是否满足迭代次数要求。如果满足要求,结束训练;否则,更新每层的权重和偏差,然后转到步骤②。
![31b6ee28f98defc525ae00e0d0f08a99.png](https://i-blog.csdnimg.cn/blog_migrate/f68c6b0894484db3640c53e98ecc3767.jpeg)
图2 训练流程图
04
![4860c896d8f0d574840bcf891dd737e2.gif](https://i-blog.csdnimg.cn/blog_migrate/144c60032ea71528edc06934a36fc560.gif)
实验与结果分析
4.1 实验数据库
所采用的数据集是常用来做人脸姿态分类的CAS-PEAL数据集。该数据集共采集了1040名中国人共99450幅头肩部图像。全部图像在特定的环境中完成采集,包括了姿态、表情、装饰和光照4种主要变化条件。CAS-PEAL数据集在pitch方向样本数如表1所示,CAS-PEAL数据集在yaw方向样本数如表2所示。接着使用SeetaFace Detection方法,进行人脸检测,定位人脸区域,截取人脸图片并将其归一化为224×224的大小。
表1 CAS-PEAL数据集pitch方向样本数
![3f7d91c3934175f6dc1d79e396005dc6.png](https://i-blog.csdnimg.cn/blog_migrate/0a368f19f0c3d54202b11356757f820d.jpeg)
表2 CAS-PEAL数据集在yaw方向样本数量
![0b0bb6c26da3b17b059e01c7c13d42a0.png](https://i-blog.csdnimg.cn/blog_migrate/8d51e1de6543db2571562869db9cec61.jpeg)
4.2 实验过程
分别使用16层VGGNet网络结构和改进后的VGGNet网络结构训练同一个数据集(yaw方向),两次训练参数相同,训练次数相同。然后进行迁移学习,此次训练pitch、yaw两个角度(33个角度)的网络。将得到的训练结果与没有使用迁移学习的方法进行比较。
由于数据集中的样本数量有很大的差距,yaw方向上±67°、±22°只有181个样本,其余样本均有1600个以上,导致了数量少的样本不能很好地提取特征,需要在训练时为每类样本设定不同的权重。权值的大小与样本总数、该类样本数和总类数有关,所以,使用给出的每类样本权值ki:
![63c4745063441f576631811c207291b6.png](https://i-blog.csdnimg.cn/blog_migrate/a798e78c3eb641f47b231514940a712c.jpeg)
式中,ki为第i类样本的权值;a为总类数;ni为第i类样本的数量;N为总数量。
4.3 实验结果分析
将本文使用的网络模型和传统的VGGNet进行对照实验,在训练时设置每类的权值,VGGNet不设置权值。在实验中使用的样本为yaw方向上11个角度的样本。在相同的参数、训练环境的条件下,本文的网络模型最终的准确率为95%,而VGGNet经过400次迭代后的准确率为83%,且准确率并不稳定,还有上下波动的情况出现,对比实验结果如图3所示。
![c14e8270252a81a355b5679f9f7ca29a.png](https://i-blog.csdnimg.cn/blog_migrate/d728660eef80bce72cf3e4f4b09a79cd.jpeg)
图3 VGGNet与本文的网络模型的对比实验结果
实验中将样本分为33类,使用本文的网络模型开始训练,进行两次实验:① 使用迁移学习的方法,导入提前训练好的pitch方向上的参数,然后训练两个方向上的网络;② 不使用迁移学习的方法,直接训练神经网络。对比实验结果如图4所示,在相同迭代次数下,两次实验的测试集准确率相差10%。
![02b02b8e8a3f91898628817d4b4d7716.png](https://i-blog.csdnimg.cn/blog_migrate/c0222c4e68ee1c5914e5cd66d73d1f72.jpeg)
图4 未使用迁移学习与使用迁移学习的对比实验结果
在训练好两个方向的人脸姿态后,本文的网络模型分别与AlexNet、VGGNet和ResNet等网络模型进行对比实验,实验均是在相同的硬件条件、数据集和深度学习框架下完成的。对比实验结果如图5所示,结果表明AlexNet和VGGNet均与本文所使用的方法有较大的差距,虽然ResNet训练集的准确率也达到了98%,但是测试集的准确率只有90%。
![22ca4cfca89bcaa400a9dd6620aba6e0.png](https://i-blog.csdnimg.cn/blog_migrate/b670786cca97f3bbd8d93f3b0870add9.jpeg)
图5 本文网络模型与其他网络模型的对比实验结果
05
![4860c896d8f0d574840bcf891dd737e2.gif](https://i-blog.csdnimg.cn/blog_migrate/144c60032ea71528edc06934a36fc560.gif)
结束语
在VGGNet网络结构的基础上,对网络结构进行了一定的调整和改进,提出了一种新的网络模型。对于样本数量不均匀的数据集,通过赋予每类不同的权值,使得每类模型都能得到较高的准确率。利用迁移学习加速训练,并且改善深度学习模型的表现,减轻数据量带来的压力,有效防止了网络过拟合。在训练一个相对比较复杂的样本时,可以把样本分成简单的任务,然后再使用通过训练而得到的较简单任务的模型,加快复杂任务的学习过程。
![933c757c37955c96f5c55d469f7b81b6.gif](https://i-blog.csdnimg.cn/blog_migrate/74ef7d317fe252f2ec3765af1c6f1d65.gif)
作者简介
魏玮
男,博士,河北工业大学教授,CCF会员,主要研究方向为机器视觉、模式识别。
原文发表在《测控技术》2020年第39卷第2期,欢迎阅读!
引文格式
魏玮,赵露,刘依.基于迁移学习的人脸姿态分类方法[J]. 测控技术, 2020, 39(2): 115-120.
WEI W, ZHAO L, LIU Y. Face Pose Classification Method Based on Transfer Learning[J]. Measurement & Control Technology, 2020, 39(2): 115-120.
![933c757c37955c96f5c55d469f7b81b6.gif](https://i-blog.csdnimg.cn/blog_migrate/74ef7d317fe252f2ec3765af1c6f1d65.gif)
往期文章
关于《测控技术》“人工智能与测试保障”专栏征文的通知
关于第十七届中国航空测控技术年会征文的通知
开放阅读下载 |《测控技术》2020年第3期目录及全文
文章推荐 | 宋爱国:机器人触觉传感器发展概述
大家论坛 | 软件测试面临的挑战与发展趋势
![933c757c37955c96f5c55d469f7b81b6.gif](https://i-blog.csdnimg.cn/blog_migrate/74ef7d317fe252f2ec3765af1c6f1d65.gif)
![145cbeab3e903b2412d5ce11a928381a.png](https://i-blog.csdnimg.cn/blog_migrate/07122644d457ea071b347b6c0d757a7d.jpeg)
![85ff1d42f1f65afa79c405c2c40bc06a.gif](https://i-blog.csdnimg.cn/blog_migrate/5f07381440e825113f5756e6f332f307.gif)
点“阅读原文”查看原文