一种基于高效分解卷积与时间金字塔网络的视频人脸识别方法与流程

文档序号:22547459发布日期:2020-10-17 02:18阅读:123来源:国知局
一种基于高效分解卷积与时间金字塔网络的视频人脸识别方法与流程
本发明属于视频人脸识别
技术领域
,涉及一种基于高效分解卷积与时间金字塔网络的视频人脸识别方法。
背景技术
:当前人脸识别技术的流程主要分为四个步骤:第一步:找出所有的面孔;2000年初的时候,当保罗·比奥拉(paulviola)和迈克尔·琼斯(michaeljones)发明了一种能够快速在廉价相机上运行的人脸检测方法之后,人脸检测成为了主流。然而现在,一种更加可靠的,被称为方向梯度直方图(histogramoforientedgradients)简称hog的方法在2005年问世。第二步:脸部的不同姿势;面部特征点估计(facelandmarkestimation)算法的基本思路是找到68个人脸上普遍存在的特定点(称为特征点,landmarks)——包括下巴的顶部、每只眼睛的外部轮廓、每条眉毛的内部轮廓等。第三步:给脸部编码;解决方案是训练一个深度卷积神经网络让其为脸部生成128个测量值。其中,每次训练要观察三个不同的脸部图像:1.加载一张已知人的面部训练图像;2.加载同一个人的另一张照片;3.加载另外一个人的照片;通过算法查看这三个图片生成的测量值。然后,稍微调整神经网络,以确保第一张和第二张生成的测量值接近,而第二张和第三张生成的测量值略有不同。第四步:从编码中找出人的名字;找到数据库中,与测试图像的测量值最接近的那个人。可以通过训练一个简单的线性svm分类器,从一个新的测试图像中获取测量结果,并找出最匹配的人。技术实现要素:本发明中视频人脸识别的整个流程,以及各项的详细配置如下:视频人脸识别系统可以分为三个部分,即一个视频特征编码器,一个用于优化视频编码器的损失函数,以及一种将视频进行匹配与检索的查找方法。首先将视频切成连续且非重叠的视频片段,每个片段包含有t帧,我们对每个片段进行特征抽取。片段特征抽取器将片段作为输入,并且输出d维度的特征向量fc。视频总体的特征为所有视频片段的平均汇聚。在对视频间特征进行比对时,我们采用余弦相似度,并且设定阈值,当阈值大于一定值时,则认为两段视频中的人为同一人,亦或是视频中的人脸与底库当中的相匹配。对于视频特征向量xi与yi,他们的余弦相似度为。判定是否为同一人的阈值,可根据应用场景进行设定。在评价性能时,往往采用一定fpr(falsepositivesrates)下的tpr(truepositives)进行比较。对于视频片段编码器,我们可以采用2d卷积网络+特征聚合方法或者3d卷积网络直接将视频剪辑编码为特征向量fc。2d卷积网络则首先提取每帧的图像特征t∈[1,n],并且通过特征聚合方法,将其聚合为单个视频特征向量fc。之后,我们将会分别介绍本发明中基于2d卷积神经网络+特征聚合以及3d卷积神经网络进行视频人脸识别的方法,并提出我们的高效分解卷积,以在保持识别精度的同时,降低计算消耗。附图说明图1是本发明的视频人脸识别效果图;图2是本发明中采取的将卷积核为t×d×d的3d卷积分解为1×d×d与t×1×1的卷积示意图;图3是本发明中用于视频人脸识别的时间金字塔网络结构图;表1是本发明中不同方法在youtubeface(ytf)上性能的比较结果;表2是本发明中不同方法在计算消耗的比较结果;具体实施方式以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例中的特征可以相互组合。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。基于帧间特征汇聚方法我们采用标准的resnet-50网络作为特征提取模型,对一个给定的视频帧序列t∈[1,n],我们将每帧进行特征提取,得到了一个维度的特征t×d向量矩阵,其中t是视频帧的数量,而d则为每个视频帧的特征向量维度。池化汇聚我们对视频帧的特性进行池化,以获取视频层特征。池化汇聚主要包括最大池化与平均池化。平均池化可以表示为最大池化可以表示为注意力机制汇聚另外一种汇聚的方式是使用注意力机制。注意力机制旨在自适应的在帧特征之间寻找权重,以给“关键帧”更高的汇聚权重。基于注意力机制的帧间汇聚可以表示为其中为t帧的注意力权重。在卷积神经网络的最后一层,我们得到了[w,h,2048]的特征图,我们采用宽为w长为h,输入通道数为2048,输出通道为d的卷积核对特征图进行卷积。然后使用输入通道数为2048,输出通道数为1的全连接层将特征映射为注意力权重。t∈[1,t],最后我们将所有帧间的注意力权重过softmax层得到最终的注意力分数,即基于时序卷积的方法3d卷积对于视频连续帧,我们直接将其输入3d卷积神经网络,我们采用了一个3dresnet-50网络。其直接将包含有n帧的视频片段c进行卷积生成为fc。相比于正常的2d卷积,3d卷积在时间维度上多了一维度,正常的2d卷积核可以表示为[c,h,w],而3d卷积核则可表示为[c,t,h,w]。因为时间通道的加入,其可以建模时序帧间的特征信息。时序分解卷积采用3d卷积可以建模帧间信息,然而,3d卷积会引入巨大的计算量与显存消耗,这对于部署带来了巨大的挑战。近年来,在视频识别领域,对3d卷积分解进行了一定的探索,并且取到了不错的结果。如图2所示,忽略掉通道维度,一个t×d×d的3d卷积,可以分解为一个1×d×d的卷积再加上一个t×1×1的卷积,从而使得计算量缩小,并且分解后的卷积本质上为2d卷积加1d卷积,可以使用工业界更加成熟的卷积优化算子进行加速。3d分解卷积其本质是先对单帧的空间信息进行建模(2d卷积),后对帧间信息进行卷积汇聚(1d卷积)。我们将resnet-50网络中所有的3d卷积都替换成为此分解卷积,实验证明,其实现了更快的推理速度与有竞争力的准确度。时间金字塔网络对于视频人脸识别,核心关键点即是如何对视频帧间的信息进行建模,如何高效的利用帧间的互补信息。使用3d卷积分离对连续帧进行提取,并没考虑到视频速度的变化,即一个人在视频中是缓慢的摇晃头部,还是快速的摇晃头部,这种速度的变化并没有被显示的建模到网络中。为了对多种速度的脸部运动进行建模,我们以不同的时间帧率对视频进行采样,并将不同帧率的输入以时间金字塔的方式进行汇聚。如图3所示,我们分别对输入视频以1x,2x,3x的速率进行采样,后将其送入不同分支的3d分流卷积中进行特征提取,不同分支的网络会经过一个时间金字塔结构,由时间分辨率低的分支进行连续下采样,与高时间分辨率分支进行融合,后各时间分辨率网络将会进行特征汇聚,最终由最大池化形成视频人脸特征。时间金字塔网络综合了不同时间分辨率信息,从而可以捕捉得到更丰富的帧间信息。本发明的算法效果实验损失函数对于单帧与基于时序卷积的网络的训练,我们采用了三元组损失与softmax交叉熵损失相结合的方式。三元组损失旨在将负样本对的距离拉远,而保持正样本对的距离靠近。softmaxcross-entropy损失则为经典的分类损失函数。在两个loss的监督下,可以使卷积神经网络形成健壮的特征表达。实验数据我们采用umdface【bansala,nanduria,castillocd,etal.umdfaces:anannotatedfacedatasetfortrainingdeepnetworks[c]//2017ieeeinternationaljointconferenceonbiometrics(ijcb).ieee,2017:464-473.】作为我们的训练集,其包含了3107476个带注释的视频帧,这些视频帧来自于包含3107个人物的22075个视频。数据集预先包含了估计的人脸姿势以及二十一个关键点位置以及性别等信息。我们采用retinaface对视频帧的人脸进行预处理,采用仿射变换进行剪裁,所有的人脸都被裁切到224×224。我们在youtubeface数据集【wolfl,hassnert,maozi.facerecognitioninunconstrainedvideoswithmatchedbackgroundsimilarity[c]//cvpr2011.ieee,2011:529-534.】上对提出的方法与基线方法进行了测试。youtubeface数据集包含来自1,595个体的3,424个视频,平均每个人2.15个视频,是现在广泛采用的视频人脸识别测试数据集。视频的长度从48帧到6070帧不等,平均为181.3帧。我们采用了标准的测试流程。实验参数我们采用sgd作为网络训练的优化器,初始学习率被设定为0.01,并且随着损失的饱和而乘以0.1。对于2d卷积网络,网络训练的批大小被设定为32。对于3d卷积网络以及3d分离卷积网络,我们的批大小设定为8。我们在8块nvidia2080tigpus进行了实验。实验结果我们在youtubeface数据集上对分解卷积以及各项基线方法进行了验证,其结果如表1所示。方法ytf准确率(%)2d卷积+最大池化95.22d卷积+平均池化95.02d卷积+注意力机制96.13d卷积94.23d分解卷积95.73d分解卷积+时间金字塔96.5表1可以看到,在性能比较上,直接利用3d卷积实现了最差的性能,而利用改进的分解卷积,可以使得测试准确率提高1.5%。在预先采用2d卷积网络提取帧间特征并使用不同汇聚方法进行汇聚的比较当中,注意力机制取得到了最好的结果,达到96.1%。最大池化相比于平均池化提高了0.2%的性能。对3d卷积进行高效分解后,其实现了与2d卷积网络+帧间汇聚相竞争力的结果。进一步将3d分解卷积与时间金字塔网络进行结合,达到了最佳的性能,为96.5%。如表2所示,我们比较了不同方法计算消耗的大小,我们以包含32帧的视频片段为例,对于2d卷积网络,其单模型输入为224×224,对于3d卷积网络,其单模型输入为32×224×224。如表所示,3d卷积网络方法与3d分离卷积方法显著的减小了推理阶段的计算消耗。时序金字塔网络在提高精确的同时,相比于2d方法,还减少了50%的算力消耗,这有利于工业界的大规模应用。方法madd2d卷积+最大池化263.042d卷积+平均池化263.042d卷积+注意力机制267.873d卷积81.013d分解卷积76.923d分解卷积+时间金字塔137.29表2。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1