基于轻量级深度网络的动态人脸跟踪方法

2021-11-01 13:38马原东罗子江杨秀璋
计算机工程与设计 2021年10期
关键词:人脸卷积观测

马原东,罗子江,徐 斌,崔 潇,杨 鑫,杨秀璋

(1.贵州财经大学 信息学院,贵州 贵阳 550025; 2.北京盛开互动科技有限公司 技术部,北京 100089)

0 引 言

近年来,随着人工智能技术的不断完善和发展,人脸跟踪作为智能公共管理的重要方法,已经引起了各界学者的广泛关注。人脸跟踪具有广泛的应用场景,如:视频监控、人机交互[1-3]、运动分析[4]、无人驾驶[5]等。目前已有的人脸跟踪算法主要分为两种:①基于特征属性的算法:如颜色直方图[6]、协方差特征[7]、3D面部特征[8]等,此类方法提取特征明显,跟踪精度较高,但逐帧跟踪导致内存消耗极大;②基于深度学习算法:卷积神经网络(convolutional neural network,CNN)[9-12]已在计算机视觉、目标跟踪领域取得了巨大成功,如:Jia Su等[13]提出一种快速的人脸检测跟踪(FFTD)算法,能够高效完成跟踪、人脸检测和人脸识别等任务;Zihan Ren等[14]采用从粗到细的CNN实现较高精度人脸跟踪。

现有的深度学习跟踪算法仍然存在以下问题:①训练集不够丰富,难以满足神经网络需要的训练集要求;②多采用与相关滤波器结合或多层卷积网络模型的方法,导致占用CPU/GPU空间增大,运行效率低,移植性差;③对快速大范围移动目标跟踪效率低,跟踪实时性、流畅性不足。针对以上问题,本文提出一种基于轻量级深度网络的动态人脸跟踪方法,首先,构建用于学习的大规模跟踪数据集,并对人脸图像进行数据增强和人脸区域标注,之后结合HetConv(heterogeneous convolutions)[15]卷积提出分散注意力机制的异构网络(split-attention heterogeneous kernel-based residual networks,SHResNet),最后引入观测框动量跟踪算法,有效捕捉大范围快速移动的人脸,并结合多元回归函数提升跟踪稳定性。实验结果表明,该方法在跟踪中更流畅、高效,整体效率优于已有的算法,且对于人脸快速移动、遮挡、光照变化、复杂背景变换等都具有较强的鲁棒性和实时性,实际跟踪速度可达52 fps。

1 跟踪描述

1.1 网络模型设计

随着网络结构的不断加深模型的准确率随之提高,同时也给网络带来更大的参数量和复杂度,设计高效便捷的轻量级网络,对加快运行速度、增强模型移植性具有重要作用。本文主要研究基于轻量级深度网络的人脸跟踪算法,通过调整网络结构使模型在速度和精度上获取平衡。现有的轻量级网络设计原理主要涉及:①使用小卷积核代替原有的大卷积核;②限制中间特征通道数量;③分解卷积运算。其中具有代表性的有SqueezeNet[16]网络,采用设计的Fire Module模块在ImageNet上实现了AlexNet等级的准确率,同时网络参数减少98%;MobileNet系列[17,18]采用深度可分离卷积等模块设计轻量级网络;ShuffleNet[19]提出混洗(Shuffle)操作和分组逐点卷积(group convolution),进一步降低浮点运算数(FLOPs)。而在实际训练中仍存在以下问题:①分组卷积中部分权重优化操作易造成重要特征丢失,并且过多分组卷积会导致访问成本增加;②网络的碎片化程度加大会影响模型并行化,降低网络整体效率。针对以上问题,本文将结合ResNeSt[20]提出的Split-attention Blocks块,改进HetConv卷积方式,并提出更适合跟踪的轻量级SHResNet网络结构。

1.1.1 SHConv

ResNeSt[20]是由亚马逊李沐团队提出的Resnet改进版,该网络的核心是split-attention Block残差块的设计,首先借鉴ResNeXt[21]网络的思想对特征分组,之后添加split-attention Block注意力机制为各通道赋予不同的权重以建模通道的重要程度。实验验证,与现有的网络相比利用ResNeSt主干模型能够在图像分类、对象检测、实例分割以及语义分割等领域达到最先进的性能。split-attention Block先对特征分组并降维,之后分别接3×3卷积核提取特征,但3×3卷积仍有较多的参数量具有优化空间,同时在卷积外部添加参数量较大的Split Attention通道注意力机制,给网络增加了运算负担。HetConv是由Singh等提出的异构卷积方式,将卷积核分为若干组,每组包含不同大小的卷积核,并且每组卷积核只对一个通道进行特征提取。在每组卷积核中,用1×1核替代部分原始的3×3卷积核,能够在训练中极大降低FLOPs。采用逐通道卷积方式参数量很少,但随着卷积深入,通道数量随之不断增加反而会增加网络计算负担,并行化程度降低,并且过多采用1×1的卷积核易导致重要特征丢失。

本文提出基于分散注意力机制的异构卷积方式(split-attention heterogeneous convolutions,SHConv)通过在卷积内部添加降参后的Split Attention注意力机制改进异构卷积HetConv,增强卷积对重要特征的提取能力,同时提出通道分类原则,对超过阈值的多通道输入采用分组卷积的方式,减少卷积次数,加快运行速度。

图1 SHConv Block结构

图2 Split Attention结构

通道注意机制将所有特征叠加,接全局池化层,输出对应通道权重特征,之后接r-Sofemax为每一个通道赋予不同权重。在注意力机制中,采用全局池化替代原来的全连接层,能够大幅降低Split Attention带来的参数量,PReLU激活函数替代原来的ReLU, 公式如下

(1)

(2)

当PReLU获取的特征小于等于0时,引入一元线性函数,用较低的代价,避免重要特征丢失;最后用1×1卷积核升维特征,与上一模块进行跨通道整合,使浅层信息保留到深层网络,提升模型决策能力。可以看到,SHConv Block结构采用分组卷积的方式杜绝随着卷积深入,运行效率下降的问题,并在卷积内添加注意力机制,提高含重要信息特征的权重占比。

理想状态下伴随着网络深度的提高学习到的知识更丰富,识别率也会随之提高,但模型传播过程中,随着网络加深多次计算偏导数很容易出现梯度弥散或爆炸,导致网络学不到任何信息。何凯明团队提出Resnet[22]残差网络让浅层信息直接跨过多层并通过恒等变换的方式直接输出,本文残差结构如图1所示,卷积处理过程可分为两部分,左边卷积输出结果F(X), 右边引入池化输出结果f(X), 最后融合两条特征,左边F(X) 负责特征学习,右边负责特征梳理,把整个残差结构看作H(X,w) 函数,负责学习部分可表示为

F(X)=H(X,w)-f(X)

(3)

即输出结果与输入的差值,多个残差结构通过一步步逼近避免反传梯度问题,提高检测准确率。

1.1.2 SHResNet网络结构

SHResNet网络结构如图3所示,其由3个外部卷积、2个池化层、3个连续的SHConv Block块组成,之后分别接两个对应的损失函数。首先采用3×3的卷积核粗提取特征信息,卷积核步长为2,输出特征宽高为原始特征图的1/2,之后接平均池化层步长为2,继续精炼特征图;再接SHConv Block块学习特征(文中所有残差块结构相同),低层卷积学习完局部特征后将特征图分别送入两个分支,各分支接一个SHConv Block块学习深层特征,SHConv Block块内部分别循环提取3次,接Dropout层防止过拟合,最后通过全局卷积分别送入对应的损失,实现目标判定和位置回归。

图3 SHResNet结构

已有的轻量级网络,最后的特征输出多采用全局平均池化(global average pooling,GAP)代替参数量较大的全连接层,如:SqueezeNet、MobileNet系列。而在实际检测中,单张图像边缘信息重要程度明显低于中间信息,采用全局平均池化后,各位置权重占比相同,容易导致最终检测精度降低。本文输入图片大小为64×64的RGB图片,通过网络学习最后输出3×3的特征图,采用3×3全局深度卷积替换GAP层,对最底层输出的特征生成不同权重比,使神经网络重点学习重要特征。

1.2 跟踪算法

1.2.1 动量跟踪

实际跟踪中在保证检测准确性的同时,还需提升整体跟踪的实时性和流畅性,保证人脸在大范围快速移动时都能流畅、高效跟踪。本文采用动态调整观测框的方法改善跟踪性能,根据跟踪实际要求提出3点设计目标:

(1)观测框范围足够小:较小的检测范围不仅能加快单帧检测速度,还能有效提高检测准确率;

(2)观测框位置足够准确:跟踪时需确保当前帧人脸信息在前一帧观测框范围内移动,保证网络能获取足够量特征信息;

(3)观测框实时性较强:实际跟踪中实时、高效的生成观测框,能够让跟踪更流畅,不易出现卡顿和掉帧。

基于以上设计目标,如何设计既能够保证检测范围足够小,又不至于出现人脸溢出的观测框成为人脸跟踪的核心。受带动量的随机梯度下降算法(stochastic gradient descent,SGD)[23]的启发,本文提出一种观测框动量跟踪算法,采用动态设定观测框大小和动量标定观测框位置的方式,实时、高效生成观测框。实际跟踪过程如图4所示,首先采用SHResNet轻量级网络检测人脸区域,根据对人脸移动视频的分析,发现相邻帧人脸区域动态移动距离在水平范围内更广泛。以此,将轻量级深度网络获取的人脸检测区域(图中小矩形框所示)按中心点向外扩展为正方形观测框(图中大矩形框所示),SHResNet轻量级网络快速、高效的识别性能,增强了观测框的动态实时性。通过对比实验,设计观测框尺寸为检测的人脸区域高的1.75倍,轻量级检测网络SHResNet可实现52 fps检测速度,观测框生成速度同样接近52 fps,按照当前时间步t时刻人脸检测区域大小动态调整观测框面积。

图4 观测框位置判定

(4)

(5)

(6)

(7)

其中,xt为t时刻对应人脸框左上角X轴坐标,给定超参数0≤β<1,β获取方式与γ相同(文中取β=0.375), 同理可求得t时刻Y轴坐标yt, 共同预估t时刻人脸框位置(默认相邻两帧之间时间步t=1) 从而生成对应观测框。根据移动过程获取连续帧的动量信息,预估下一帧观测框位置,观测框由多帧人脸信息共同决定,充分保证预估位置的准确性。人脸框的位置回归公式如下

Xt=Xt-1+(CROP_SIZE*Δ1)/s

(8)

Yt=Yt-1+(CROP_SIZE*Δ2)/s

(9)

Wt=(CROP_SIZE*Δ3)/s

(10)

Ht=(CROP_SIZE*Δ4)/s

(11)

其中,Xt、Yt、Xt-1、Yt-1分别为当前时间步t时刻和上一时间步t-1时刻观测框的左上点位置坐标(X轴、Y轴),s为输入网络图片大小,CROP_SIZE为t-1时刻观测框大小, Δ1~Δ4值表示轻量级网络训练输出值。

文中提出一种观测框动量跟踪算法,采用SHResNet网络动态设定观测框大小,并且创新性地引入动量公式实现观测框位置精确定位,避免人脸骤移、骤停等大范围快速移动导致错跟现象。将动量跟踪与轻量级深度网络结合,在实现单帧图片快速高精度检测的同时,提升跟踪实时性和流畅性,使跟踪更加轻便、高效。并且本文实际训练时,引入大量部分丢失的人脸数据集(2.3节介绍),即使观测框中仅出现部分人脸信息,也能实现高效捕捉,增强跟踪鲁棒性。实际测试过程中将正常环境下获取的原始人脸视频加速1~2倍,仍然能实现高效率、高精度跟踪,且不影响跟踪的实时性和流畅性。

1.2.2 精确跟踪算法

在多人物视野下,传统的人脸跟踪算法无法及时判定相互靠近的人脸,并且当正在跟踪的人脸突然移出摄像范围时,跟踪框会跟丢或移动到附近其它人脸区域,随之跟踪框大范围抖动,稳定性不足;针对这一问题,文中结合多元回归函数提出精确跟踪算法,在不影响跟踪实时性的同时,能够更准确判定相互靠近的人脸,并且当人脸目标更换时,跟踪框颜色会随之发生变化。如图5所示,以正脸图像为基准,首先将首帧检测的人脸框左上角坐标记为 (x1,y1), 将右下角坐标记为 (x2,y2), 并标定下一帧人脸对应位置为 (x′1,y′1)、 (x′2,y′2)。 为避免相邻时间步t-1时刻与t时刻检测的人脸区域面积差别较大,导致观测框抖动,文中采用82点检测,精确定位每一帧人脸信息,增强检测稳定性,如图5中人脸区域内散点所示(实际检测中不显示)。

图5 提取人脸框

实际跟踪中相邻两帧图像间,人脸位置存在空间上的移动,因此满足如下公式

Sx=(x1+(x2-x1)/2)-(x′1+(x′2-x′1)/2)

(12)

Sy=(y1+(y2-y1)/2)-(y′1+(y′2-y′1)/2)

(13)

其中,Sx、Sy分别代表相邻两帧图像的检测框中心位置在X轴方向上和Y轴方向上的移动距离;根据式(14)可求得相邻帧人脸在水平和垂直方向运动距离w、h

w=(x2-x1)-(x′2-x′1)

(14)

V=A*(Sx-Sy)/(x′2-x′1)+B*(w-h)/(x′2-x′1)+c

(15)

其中,V为标定的目标判定值,结合多元回归(multiple regression analysis)分析,在多元回归中因变量为V, 影响V的自变量分别为 (Sx-Sy)/(x′2-x′1)、 (w-h)/(x′2-x′1), 如式(15)假设每一个自变量对V值的影响都是线性的,其中A、B为线性回归参数,c为误差项。训练时当连续帧人脸为同一人脸时判定值为1,标定此时跟踪的人脸为同一人,当检测人脸发生变化时,V值随之变更为0,并标定跟踪人脸已发生变化。统计多帧图像、多个人脸框的参数值,获取最终回归参数和误差项值(文中求得A=-0.20563;B=-1.28684;c=1.099205), 在测试时获取的回归公式可对V值做出预测。

跟踪过程中实时获取对应V值,并与阈值比较高效判定跟踪目标是否变更,当人脸目标更换时对应改变人脸识别框颜色。阈值具体设计思路如下:①首先根据训练结果统计V值,获取最小值Vj和众数Vk确定阈值区间 (Vj,Vk]; ②在阈值区间内以0.01为间隔取不同的V值 (V1,V2,…,Vn)∈(Vj,Vk]; ③对集合中的所有阈值分别计算错误率,选取错误率最低时对应的阈值作为最终阈值(文中获取V值为0.35)。

该方法能够更准确获取人脸框的实时位置移动和实时变更情况,有效降低人脸相互靠近或移出图像采集区域时出现的误判、误跟现象,提高动态跟踪的稳定性。

2 实 验

2.1 实验环境

实验测试PC机环境:CPU选取Intel(R)Core(TM)i7-5930,显卡NVIDIA GTX 1080 Ti,采用Visual Studio 2013,OpenCV2.4.8和caffe框架实现深度学习动态人脸跟踪算法。

2.2 训练数据集

本文采用香港中文大学提供的WIDER FACE数据集、CelebA数据集和自制样本集,其中WIDER FACE数据集包含32 203张面部基准数据集图像,并标记了393 703张在比例、姿势和遮挡方面的高度可变性面部;CelebA数据集包含10 177个名人身份的202 599张图片,并且都做好了特征标记,涵盖较大的姿势变化和背景杂波;自制样本集包含单人、多人、侧脸数据集,并且扩充部分佩戴首饰、帽子、口罩数据集,人脸遮挡数据和自然光线变化数据集,共82 351张可变性面部。

2.3 训练设置

2.3.1 数据增强

选取整体数据集中的单个人脸面部信息制作样本,为提高人脸跟踪方法的鲁棒性,采用图像增强的方法对数据集进行扩充,包括模拟光照变化、改变图像明暗等;在通用制作样本的基础上,文中加入部分丢失样本、部分边缘补黑样本、运动模糊样本,并按照测试结果,调整对应类别的数量,设定部分丢失程度参数、边缘黑化程度参数。如图6所示。

图6 训练样本制作

图6(a)为部分丢失人脸样本,该类样本可以解决人脸部分在观测框外的情况,图6(b)为加黑边样本,该类样本可以解决人脸部分在摄像头外的情况。在生成样本时采用多线程加速,正、负训练样本数量各生成500万。为保证正样本标签的准确性,采用MTCNN接口和腾讯人脸识别接口共同对图像内同一人脸进行识别,当两个接口都检测到人脸时,计算两个检测框的IOU,并将求得的值与标定阈值对比,当结果大于阈值时,标记为正样本,当结果小于阈值时,标记为忽略样本;生成标签后,结合交并比的情况,在待测图像上画框;之后人工检测,过滤掉不准确的标签和图片。该方式同样能降低跟踪过程中的人脸框抖动现象,确保同一人脸在连续帧内,检测框面积差异较小。

负样本主要分为两大类:第一类为生成图片内部无人脸图像数据;第二类为生成图片内部包含人脸图像数据,其中第二类具体分为3个尺寸:

(1)生成图像尺寸小于可采集人脸区域最小值(此尺寸的负样本,要求生成样本与每个人脸交并比(intersection over union,IOU)<0.23);

(2)生成图像尺寸大于可采集人脸区域最大值;

(3)生成图像尺寸在可采集人脸区域最大值与最小值之间,但可识别区特征域占比过低。

采用这种样本生成方式,能够保证正、负样本具有丰富的代表性,尽量涵盖跟踪过程中出现的所有情况。丰富的训练数据使模型训练结果更高效,获取的模型鲁棒性更强。

2.3.2 训练样本设置

相较于WIDER FACE数据集和CelebA数据集,本文提出的自制样本集数量明显较少,由于实际应用场景通常与标准数据集应用场景不同,所以需要提高自制样本在训练集中的占比;通常样本选取方式完全随机,自制样本集对整体权重贡献极少,通过修改源程序使得每一个批次(批次为1024)中都含有100个来自多姿态自制样本集的随机样本。采用这种方法能够大大提升实际应用中的数据集对整个网络的权重贡献,有效增强训练结果的鲁棒性。网络具体训练步骤可分为3步:

(1)初步训练时,网络专注于分类任务,将分类和回归损失比调整为200∶1;

(2)待分类准确率不再上升后专注回归准确率,分类和回归损失比调整为1∶10 000;

(3)待loss下降到0.0045左右,继续调整分类和回归损失比为1∶50提升准确率。

在训练过程中,采用warmup机制先使用较小的学习率,在训练过程变得稳定时换回初始学习率。采用有效的训练方式,不仅能节省训练时间,还能提升模型整体检测效果;训练时初始学习率设置为0.1,全局衰减系数为4e-4;采用随机梯度下降策略(stochastic gradient descent,SGD)优化模型,动量设置为0.9。

2.4 网络模型对比

2.4.1 SHResNet网络对比

为了验证本文所提出的基于轻量级深度卷积网络的实时检测性能,使用神经网络框架Caffe实现算法,在网络训练中,从准确率、运行速度、参数量几方面进行对比实验。网络主要采用Resnet原始残差块、MobileNet V1、MobileNet V2、ShuffleNet、SENet[25]、SqueezeNet与本文采用SHConv Block残差块SHResNet轻量级网络对比。在实验中保证软硬件环境的一致性,以及训练集、测试集的统一。

实验将训练样本按95%与5%分为训练集和测试集,采用softmax损失和Euclidean损失进行人脸判定和位置回归,随机梯度下降算法更新参数,具体实验对比结果见表1,测试集本文选择自制测试集和AgeDB公共测试集。

表1 神经网络模型效果对比

从表1中可以看出,本文使用的SHResNet模型大小远远小于采用原始Resnet残差块的网络和采用全连接层注意力机制的SENet,在相同的迭代时间内,本文所述方法准确率略低于这两个网络,但较小的参数量让SHResNet网络在运行速度上明显高于Resnet网络和SENet网络。同时能够看到与MobileNet V1、MobileNet V2、ShuffleNet、SqueezeNet等轻量级网络比较,本文的SHResNet模型因为采用的SHConv Block残差块和全局深度卷积模块在保持参数量较少的情况下有更好的准确率,在性能提高的同时保证模型参数不增加,更高效学习提取的特征。HResNet表示残差块中没有采用Split Attention通道注意机制的网络,可以看到没有使用该机制的网络相比使用了Split Attention的网络参数量略微有下降,但模型准确率损失较明显,因此表明SHConv Block模块通过赋予各通道不同的权值,以建模通道的重要程度,能够提高模型准确率,并且能够基本达到Resnet50和SENet的相同高度。该模型与轻量级网络对比同样有优势,在参数量较少的情况下达到了更好的识别效果,最终识别速度达52 fps,对后期在移动设备上移植、捕捉人脸,实行高效人脸跟踪打下坚实基础。

2.4.2 全局深度卷积对比

为了验证全局深度卷积层GDC、全局池化层GAP、全连接层FC的效果,在损失计算前分别连接3个层,以对比模型的准确率。实验保证外部硬件环境和训练集测试集的统一,结果见表2。能够看到采用全局深度卷积的模型,准确率达到最优的0.978,实验验证了全局深度卷积GDC给输出特征不同的权值,能够提升模型准确率。

表2 算法准确率对比

2.5 跟踪结果对比

文中挑选国际视频监控会议AVSS2007单人脸数据集和OTB-100数据集结合实际场景中录制的视频进行测试,主要涵盖人脸快速移动、姿态变化、光照变化、遮挡和短暂进出视野5种影响因素。为有效评估算法,本文采用中心定位误差(center location error,CLE)、重叠精度(overlap precision,OP)两个角度对算法进行评价。公式如下

(16)

2.5.1 定性分析

实际测试阶段以测试图像序列首帧为初始化帧,并采用真实拍摄下的视频集与公共视频集ImageNet Video共同评估模型,实际跟踪效果如图7~图9所示。

图7 正面人脸快速移动

图8 非正面人脸跟踪

图9 部分干扰及人脸移出

图7分别表示测试视频第382帧、第394帧、第406帧、第419帧的检测结果,从图中可以看出本文所提方法对人脸区域动态模糊以及快速大范围移动具有较好的适应性,这是由于该方法采用观测框动量跟踪算法,一方面动态设定观测框大小,另一方面引入动量跟踪公式精确定位观测框,避免人脸骤移、骤停等大范围快速移动带来的跟踪错误;结合SHResNet轻量级深度网络,快速、高效捕捉人脸信息,提高跟踪实时性,并且丰富的训练集为原始视频帧构建了很好的样本表达,所以无论人脸如何快速移动,算法都能实现实时、流畅的跟踪。

图8分别表示测试视频在戴口罩和不戴口罩情况下的跟踪情况,能够发现在图8(c)第415帧出现侧脸,图8(d) 第422帧出现人脸仰角,头部摇摆角度偏转等视频帧出现剧烈变化的情况下,传统的KCF等算法已不能较好的锁定目标位置,本文不受此类情况干扰准确锁定人脸;戴口罩的情况下,在图8(f)第183帧出现运动模糊,图8(g) 第193帧出现人脸部分移出摄像头,传统算法早已跟丢或错跟,而本文算法对非正脸、正脸、不同姿态、不同表情变化、不同遮挡都有理想的跟踪效果。这是由于训练中SHResNet网络采用大量数据增强后的训练样本,为原始视频帧构建了很好的样本表达,增强模型的鲁棒性,结合动量跟踪算法,动态标定观测框,有效降低了观测框抖动,提升跟踪的稳定性。

图9分别给出测试视频在第399帧、第411帧、第423帧、第430帧的检测情况,该视频集为排成队列的一组志愿者,在靠近图像采集区域时外侧人脸突然离开,其中人脸距离摄像头距离不等,人脸遮挡和佩戴眼镜情况不一。该类情况更贴近实际生活,通常出现人脸遮挡和重叠、人脸突然移出待测区域的情况。当前一帧人脸区域离开时,下一帧人脸出现在此时观测框附近,现有的基于深度学习的算法Siam FC和HCV明显错跟,误认为当前人脸没有离开;在第430帧时,出现戴眼镜人脸,并且人脸遮挡超过1/3,传统KCF无法重新定位目标,本文方法仍能成功跟踪,这是由于SHResNet轻量级深度网络和动量跟踪算法保证跟踪的实时性和流畅性,并且网络采用82点检测精确提取人脸信息,结合丰富的训练样本,让跟踪具有更强的鲁棒性;而精确跟踪算法,根据获取的人脸区域实时判定跟踪目标是否变化,并通过检测框颜色变化的方式提醒用户,增强检测稳定性。有效解决人脸快速移动、遮挡,以及多人物视野下无法及时判定相互靠近的人脸导致的错跟现象。

检测结果显示本算法在复杂背景、遮挡、光照、人脸区域大范围快速移动的情况下都能达到理想的跟踪效果,并且参数量极少跟踪轻便、流畅。

2.5.2 定量分析

为了验证本研究提出的轻量级动态人脸跟踪算法的有效性,将本算法Ours与6种跟踪算法进行比较,其中包括4种非基于深度学习的跟踪方法,分别是采用HOG特征的核函数KCF[26]、基于关键点稀疏表示的IVT(key sparse representation tracking)[27]、基于跟踪分布场的DFT(distribution fields for tracking)[28]、连续最小化跟踪L1[29]和两种基于深度学习的方法HCF[30]、SiamFC[31]。6种算法涉及当前目标跟踪的大部分主流方法,具有较高的比较价值。其中距离精度值(distance precision,DP)为小于阈值20像素的百分比;成功率精度值即跟踪重叠率大于阈值0.45的百分比。

表3显示不同属性下各种算法的距离精度值。包含光照变化(IV)、视野超出(OV)、遮挡(OCC)、快速移动(FM)、背景干扰(BC)、尺度变化(SV)、姿态变化(PC)、运动模糊(MB)、低分辨率(LR)9个属性。表3中加粗为最优结果,能够看出采用深度学习算法整体跟踪效率明显高于传统方法,其中,虽然IV、LR、BC的情况下略低于类似方法的HCV算法,但在OV、FM、OCC、PC和MB的情况明显效率更高,对视野超出(OV)的情况更是达到0.964,反观传统KCF算法仅为0.718,相比跟踪鲁棒性显著增强。SHResNet网络与动量跟踪结合的方法与以前的算法相比距离精度值有较明显的提高。表4显示不同算法在不同环境下的成功率精度值,从表中结果能够看出,在OV、OCC、FM、MB和SV情况下本算法优于其它算法,成功率更高,在LR环境下,略高于HCV算法,并且传统算法各环境下普遍低于深度学习算法。通过表3、表4结果发现,传统算法受较大面积遮挡、视野超出、快速移动等检测环境苛刻和外部环境突变时,不能较好锁定目标位置,采用深度学习的方法在此之上略有提升,而本文提出的方法更上一个台阶,在各项指标中都有理想的精度值,大部分环境下甚至达到最优。实验结果验证了深度学习在目标跟踪中的出色效率,并且相较于其它包括以往采用深度学习的算法,本文提出的基于SHResNet网络的动量跟踪算法适用环境更丰富,整体检测性能更突出。

表3 不同算法在不同环境下的距离精度值/%

表4 不同算法在不同环境下的成功率精度值/%

表5显示各算法在相同测试环境下的效率比较结果,其中包括跟踪速度比较(单位:fps)和模型大小比较(以低、较低、中等、较高、高5个等级划分)。除去IVT算法外,本算法跟踪速度可达52 fps,高于其它跟踪算法,但本文跟踪性能明显强于IVT;相同硬件条件下,与采用YOLOv3[32]目标检测算法实现的跟踪相比,检测速度高出18 fps,而当人脸大范围快速移动时,YOLOv3算法易出现卡顿和掉帧,跟踪实时性流畅性不及本文。训练结果显示,本算法模型参数量更低、可移植性更强,同时具有理想的跟踪速度,让跟踪更轻便、高效。

表5 效率比较

3 结束语

本文在兼具运行速度、表达性和思维模块的深度学习框架Caffe下,提出一种基于轻量级深度网络的动态人脸跟踪方法。首先,对人脸数据集进行数据增强和人脸区域标注,提升检测的鲁棒性,采用轻量级SHResNet网络快速提取人脸信息,之后,引入观测框动量跟踪算法,有效捕捉大范围快速移动的人脸,增强跟踪的实时性和流畅度,再提出精确跟踪算法,判定人脸是否变更并减少抖动,提升稳定性。将本算法与目前主流算法进行对比测试,实验结果验证了本算法性能的高效性,实际检测中对人脸快速移动、遮挡、光照变化、复杂背景变换等影响因素都具有较强的鲁棒性和实时性,实际跟踪速度可达到52 fps,并且具有更强的移植性。

猜你喜欢
人脸卷积观测
基于3D-Winograd的快速卷积算法设计及FPGA实现
有特点的人脸
一起学画人脸
从滤波器理解卷积
三国漫——人脸解锁
基于傅里叶域卷积表示的目标跟踪算法
2018年18个值得观测的营销趋势
天测与测地VLBI 测地站周围地形观测遮掩的讨论
可观测宇宙
高分辨率对地观测系统