一种基于3D卷积神经网络的人脸动态识别方法及系统与流程

文档序号:14555387阅读:216来源:国知局
一种基于3D卷积神经网络的人脸动态识别方法及系统与流程

本发明涉及一种人脸识别方法及系统,特别是涉及一种基于3d卷积神经网络的人脸动态识别方法及系统。



背景技术:

目前,视频监控设备已经被广泛使用,遍布于城市的公共场所。通过识别监控视频中的人员身份来寻找、跟踪目标也成为一种有效提高工作效率的方式。由于监控设备可能分布在各种场景中,受光线、角度、设备分辨率等因素的影响,难以采集到高质量的人脸图像来进行身份验证。

由于目标人脸往往在视频的多帧图像中出现,因此充分利用视频中同一人的多张人脸图像来提高识别精度成为一条可行的途径。现有的人脸识别技术主要包括以下两种:

一、利用传统的人工定义的特征,如sift、hog、gabor特征等。

然而,上述方法存在明显的缺点。首先,人工特征的设计往往是针对具体的分类任务,在一些任务中有效的人工特征在其它任务中不一定有效;其次,即使针对具体的任务,也难以设计出合适的特征来描述事物,尤其是在外界因素变化的影响下。

二、采用深度学习的方法,从大量的训练数据中学习特征,如采用卷积神经网络。采用卷积神经网络学习特征的方式,解决了特征难以设计的问题。但是,通过深度学习的方法进行动态人脸识别时,主要是通过对视频数据逐帧提取人脸,挑选优质人脸图像,将筛选出来的人脸照片进行矫正与对齐,然后跟目标库的照片进行逐张比对。这种方法实际上是将静态人脸识别技术应用于动态的场景,人脸逐张比对丢失了人脸序列内部各人脸图像之间的相关信息。在实际应用中,由于监控目标不需要进行姿态、表情的配合,而且通常是在运行中,采集到的人脸往往有偏角、运动模糊等;另外,由于监控设备可能安装在各种环境下,光线条件往往不是很好。在这些情况下,从人脸序列中选择合适的人脸照片进行比对本来就比较困难,将从各个比对结果合并得到最终的结果也比较困难。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于3d卷积神经网络的人脸动态识别方法及系统,从视频中提取人脸序列输入3d卷积神经网络,来学习视频中的人脸特征,从而提高了视频人脸识别的精度。

为实现上述目的及其他相关目的,本发明提供一种基于3d卷积神经网络的人脸动态识别方法,包括以下步骤:从视频流中提取图像帧,跟踪人脸目标,获取人脸目标对应的人脸序列;对人脸序列进行预处理,以获取满足预定标准的人脸序列;将预处理后的人脸序列输入3d卷积神经网络进行训练,更新3d卷积神经网络各层的权值,以得到训练好的3d卷积神经网络;将预处理后的人脸序列输入训练好的3d卷积神经网络,提取人脸序列的人脸特征;将人脸特征与目标库的特征模板进行比对,返回目标库中与当前人脸特征相匹配的人脸识别信息。

于本发明一实施例中,从视频流中提取的图像帧为视频流的关键帧。

于本发明一实施例中,所述预处理包括人脸序列的筛选、图像的均衡化、图像的归一化、人脸矫正、图像缩放中的一种或组合;所述预定标准包括尺寸、人脸角度、图片亮度、清晰度中的一种或组合。

于本发明一实施例中,将预处理后的人脸序列输入3d卷积神经网络进行训练,更新3d卷积神经网络各层的权值,以得到训练好的3d卷积神经网络包括以下步骤:

按照帧序获取若干张预处理后的人脸序列图像;

以m张图像为一组,当m≤n时,按帧序分别选择图像fk~fk+m-1作为一组,共n-m+1组,其中,k=0,1,2,...,n-m;当m>n时,选择所有的n张照片作为一组;

读取各组图像中每个图像的像素,为每组图像依帧序堆叠构建大小为w×h×m的三维像素矩阵;其中,w为图像的宽像素,h为图像的高像素;当m>n时,依次重复堆叠n张图像直到填满m维的矩阵;

计算所获取的所有w×h×m三维像素矩阵在各个坐标位置上的像素均值;

将w×h×m三维像素矩阵各个坐标位置上的像素减去像素均值后输入3d卷积神经网络,更新3d卷积神经网络各层的权值,以得到训练好的3d卷积神经网络。

于本发明一实施例中,更新3d卷积神经网络各层的权值,以得到训练好的3d卷积神经网络包括以下步骤:

a)随机选取一个减去像素均值后的w×h×m三维像素矩阵,提取m个灰度图、x和y方向的梯度图和x和y方向时间间隔为1的光流图,生成w×h×c0的数据块d0,其中c0=m×3+(m-1)×2;

b)采用n1个k1×k1×m1的卷积核,在数据块d0的m1个相邻通道上进行3d卷积,生成n1组w1×h1×c1的数据块d11,d12,...,d1n1,其中w1、h1分别表示卷积后的特征图的宽和高,c1=(m-m1+1)×3+(m-m1)×2,n1、k1、m1为自定义参数;

c)采用k2×k2的核分别对d11,d12,...,d1n1进行2d池化,对每一个通道进行下采样,生成n1组w2×h2×c1的数据块d21,d22,...,d2n1,其中w2、h2分别为池化后的特征图的宽和高,k2为自定义参数;

d)采用n3个k3×k3×m3的卷积核,分别在d21,d22,...,d2n1的m3个相邻通道上进行3d卷积,生成n1×n3组w3×h3×c3的数据块d31,d32,...,d3(n1xn3),其中w3、h3分别表示卷积后的特征图的宽和高,c3=(m-m1-m3+2)×3+(m-m1-m3+1)×2,n3、k3、m3为自定义参数;

e)采用k4×k4的核分别对d31,d32,...,d3(n1xn3)进行2d池化,对每一个通道进行下采样,生成n1×n3组w4×h4×c3的数据块d41,d42,...,d4(n1xn3),其中w4、h4分别为池化后的特征图的宽和高;

f)采用w4×h4的卷积核分别在d41,d42,...,d4(n1xn3)的各个通道上进行卷积,生成一个长度为n1×n3×c3的向量v6;

g)将向量v6输入一个包含n7个隐层单元的全连接层,输出一个长度为n7的向量v7,n7为自定义参数;

h)将全连接层的输出结果采用softmax损失函数计算当前3d卷积神经网络的损失,并将损失进行梯度的反向传播;

i)更新a)-g)各层的权值;

j)重复迭代步骤a)-i)直至3d卷积神经网络收敛,以得到训练好的3d卷积神经网络。

同时,本发明还提供一种基于3d卷积神经网络的人脸动态识别系统,包括人脸跟踪模块、人脸序列预处理模块、3d卷积神经网络训练模块、人脸特征提取模块和人脸比对模块;

所述人脸跟踪模块用于从视频流中提取图像帧,跟踪人脸目标,获取人脸目标对应的人脸序列;

所述人脸序列预处理模块用于对人脸序列进行预处理,以获取满足预定标准的人脸序列;

所述3d卷积神经网络训练模块用于将预处理后的人脸序列输入3d卷积神经网络进行训练,更新3d卷积神经网络各层的权值,以得到训练好的3d卷积神经网络;

所述人脸特征提取模块用于将预处理后的人脸序列输入训练好的3d卷积神经网络,提取人脸序列的人脸特征;

所述人脸比对模块用于将人脸特征与目标库的特征模板进行比对,返回目标库中与当前人脸特征相匹配的人脸识别信息。

于本发明一实施例中,所述人脸跟踪模块中,从视频流中提取的图像帧为视频流的关键帧。

于本发明一实施例中,所述人脸序列预处理模块中,所述预处理包括人脸序列的筛选、图像的均衡化、图像的归一化、人脸矫正、图像缩放中的一种或组合;所述预定标准包括尺寸、人脸角度、图片亮度、清晰度中的一种或组合。

于本发明一实施例中,所述3d卷积神经网络训练模块执行以下操作:

将预处理后的人脸序列输入3d卷积神经网络进行训练,更新3d卷积神经网络各层的权值,以得到训练好的3d卷积神经网络包括以下步骤:

按照帧序获取若干张预处理后的人脸序列图像;

以m张图像为一组,当m≤n时,按帧序分别选择图像fk~fk+m-1作为一组,共n-m+1组,其中,k=0,1,2,...,n-m;当m>n时,选择所有的n张照片作为一组;

读取各组图像中每个图像的像素,为每组图像依帧序堆叠构建大小为w×h×m的三维像素矩阵;其中,w为图像的宽像素,h为图像的高像素;当m>n时,依次重复堆叠n张图像直到填满m维的矩阵;

计算所获取的所有w×h×m三维像素矩阵在各个坐标位置上的像素均值;

将w×h×m三维像素矩阵各个坐标位置上的像素减去像素均值后输入3d卷积神经网络,更新3d卷积神经网络各层的权值,以得到训练好的3d卷积神经网络。

于本发明一实施例中,更新3d卷积神经网络各层的权值,以得到训练好的3d卷积神经网络包括以下步骤:

a)随机选取一个减去像素均值后的w×h×m三维像素矩阵,提取m个灰度图、x和y方向的梯度图和x和y方向时间间隔为1的光流图,生成w×h×c0的数据块d0,其中c0=m×3+(m-1)×2;

b)采用n1个k1×k1×m1的卷积核,在数据块d0的m1个相邻通道上进行3d卷积,生成n1组w1×h1×c1的数据块d11,d12,...,d1n1,其中w1、h1分别表示卷积后的特征图的宽和高,c1=(m-m1+1)×3+(m-m1)×2,n1、k1、m1为自定义参数;

c)采用k2×k2的核分别对d11,d12,...,d1n1进行2d池化,对每一个通道进行下采样,生成n1组w2×h2×c1的数据块d21,d22,...,d2n1,其中w2、h2分别为池化后的特征图的宽和高,k2为自定义参数;

d)采用n3个k3×k3×m3的卷积核,分别在d21,d22,...,d2n1的m3个相邻通道上进行3d卷积,生成n1×n3组w3×h3×c3的数据块d31,d32,...,d3(n1xn3),其中w3、h3分别表示卷积后的特征图的宽和高,c3=(m-m1-m3+2)×3+(m-m1-m3+1)×2,n3、k3、m3为自定义参数;

e)采用k4×k4的核分别对d31,d32,...,d3(n1xn3)进行2d池化,对每一个通道进行下采样,生成n1×n3组w4×h4×c3的数据块d41,d42,...,d4(n1xn3),其中w4、h4分别为池化后的特征图的宽和高;

f)采用w4×h4的卷积核分别在d41,d42,...,d4(n1xn3)的各个通道上进行卷积,生成一个长度为n1×n3×c3的向量v6;

g)将向量v6输入一个包含n7个隐层单元的全连接层,输出一个长度为n7的向量v7,n7为自定义参数;

h)将全连接层的输出结果采用softmax损失函数计算当前3d卷积神经网络的损失,并将损失进行梯度的反向传播;

i)更新a)-g)各层的权值;

j)重复迭代步骤a)-i)直至3d卷积神经网络收敛,以得到训练好的3d卷积神经网络。

如上所述,本发明的基于3d卷积神经网络的人脸动态识别方法及系统,具有以下有益效果:

(1)基于对人脸时空序列的学习,提高了视频人脸的识别精度;

(2)能够适应运动、姿态、光线、角度变化,提高了动态人脸识别的鲁棒性;

(3)简化了动态人脸比对的结果合并流程,只产生一个比对结果。

附图说明

图1显示为本发明的基于3d卷积神经网络的人脸动态识别方法的流程图;

图2显示为本发明的3d卷积神经网络在时间上的展开示意图;

图3显示为本发明的基于3d卷积神经网络的人脸动态识别系统的结构示意图。

元件标号说明

1人脸跟踪模块

2人脸序列预处理模块

33d卷积神经网络训练模块

4人脸特征提取模块

5人脸比对模块

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。

需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

1958年,hubel和wisel通过对猫视觉皮层细胞的研究,发现了一种被称为“方向选择性细胞(orientationselectivecell)”的神经元细胞。当瞳孔发现了眼前的物体的边缘,而且这个边缘指向某个方向时,这种神经元细胞就会活跃,继而提出了感受野(receptivefield)的概念。这个发现激发了人们对于神经系统的进一步思考。科学家们对人类视觉系统的更深入的研究发现,人的视觉系统的信息处理是分级的,从低级的v1区提取边缘特征,再到v2区的形状或者目标的部分等,再到更高层,整个目标、目标的行为等。

1984年,日本学者fukushima基于感受野概念提出了神经认知机(neocognitron)的人工神经网络,神经认知机将一个视觉模式分解成许多子模式,然后进入分层递阶式相连的特征平面进行处理,从而试图将视觉系统模型化,使其能够在即使物体有位移或轻微变形的时候也能完成识别。

在神经认知机的基础上,进一步研究发展出了卷积神经网络(convolutionalneuralnetworks,cnns)。卷积神经网络是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元。卷积神经网络由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层。这一结构使得卷积神经网络能够利用输入数据的二维结构。卷积神经网络在输入矩阵的不同位置上使用共享权值进行计算。类似,由于采用了分层提取特征的方式,在用大规模的数据进行训练后,卷积神经网络在图像识别、自然语言识别等领域取得了突出的成绩。

3d卷积神经网络(3d-cnns)是卷积核为3d的卷积神经网络。在对二维图像进行卷积操作时,卷积核也是个二维矩阵。3d卷积神经网络的不同在于,输入的是一个堆叠在一起的二维图像序列,即三维的数据,而不是单张二维图像,同时,卷积核也是三维的。在计算卷积时,两个三维矩阵的对应元素分别相乘再求和。

因此,本发明的基于3d卷积神经网络的人脸动态识别方法及系统中,由于模型的输入是一个视频人脸序列,同时采用三维的卷积核,在模型的训练中,网络能够学习到在同一场景中不同光线、角度和姿态下同一人脸的相关信息,从而有效提高了人脸识别的精确度。

参照图1,本发明的基于3d卷积神经网络的人脸动态识别方法包括以下步骤:

步骤s1、从视频流中提取图像帧,跟踪人脸目标,获取人脸目标对应的人脸序列。

优选地,图像帧选取视频流的关键帧。该关键帧可以选取mpeg格式的视频中的i帧。由于i帧不使用运动补偿,故保存了完整的场景图像信息。对于gop(groupofpictures,画面组)比较大的视频,可以使用i帧和p帧。

其中,所跟踪的人脸目标可以是一个或多个人脸。所获取的人脸序列在时间上是连续的,由图像帧中的各个人脸图像组成。

步骤s2、对人脸序列进行预处理,以获取满足预定标准的人脸序列。

具体地,预处理包括人脸序列图像的筛选、图像的均衡化、图像的归一化、人脸矫正、图像缩放等中的一种或组合。其中,进行人脸序列图像的筛选时,根据人脸图像的质量如光线、角度等,筛除图像质量较差、不能满足要求的人脸图像。

预定标准包括尺寸、人脸角度、图片亮度、清晰度中的一种或组合。

步骤s3、将预处理后的人脸序列输入3d卷积神经网络进行训练,更新3d卷积神经网络各层的权值,以得到训练好的3d卷积神经网络。

具体地,步骤s3包括以下步骤:

31)按照帧序获取若干张预处理后的人脸序列图像。

具体地,将预处理后的n张人脸序列中的图像按帧序排列,分别标记为fi,i=0,1,2,...,n-1;并为同一个人的人脸序列图像分配一个相同的标签。

32)以m张图像为一组,当m≤n时,按帧序分别选择图像fk~fk+m-1作为一组,共n-m+1组,其中,k=0,1,2,...,n-m;当m>n时,选择所有的n张照片作为一组。

33)读取各组图像中每个图像的像素,为每组图像依帧序堆叠构建大小为w×h×m的三维像素矩阵;其中,w为图像的宽像素,h为图像的高像素;当m>n时,依次重复堆叠n张图像直到填满m维的矩阵。

34)计算所获取的所有w×h×m三维像素矩阵在各个坐标位置上的像素均值。

35)将w×h×m三维像素矩阵各个坐标位置上的像素减去像素均值后输入3d卷积神经网络,更新3d卷积神经网络各层的权值,以得到训练好的3d卷积神经网络。

需要说明的是,对于减去像素均值后得到的n-m+1组三维像素矩阵,在训练3d卷积神经网络时,每次随机选取一批三维像素矩阵进行训练。

如图2所示,训练3d卷积神经网络包括以下步骤:

a)随机选取一个减去像素均值后的w×h×m三维像素矩阵,提取m个灰度图、x和y方向的梯度图和x和y方向时间间隔为1的光流图,生成w×h×c0的数据块d0,其中c0=m×3+(m-1)×2。

b)采用n1个k1×k1×m1的卷积核,在数据块d0的m1个相邻通道上进行3d卷积,生成n1组w1×h1×c1的数据块d11,d12,...,d1n1,其中w1、h1分别表示卷积后的特征图的宽和高,c1=(m-m1+1)×3+(m-m1)×2,n1、k1、m1为自定义参数。

c)采用k2×k2的核分别对d11,d12,...,d1n1进行2d池化,对每一个通道进行下采样,生成n1组w2×h2×c1的数据块d21,d22,...,d2n1,其中w2、h2分别为池化后的特征图的宽和高,k2为自定义参数。

d)采用n3个k3×k3×m3的卷积核,分别在d21,d22,...,d2n1的m3个相邻通道上进行3d卷积,生成n1×n3组w3×h3×c3的数据块d31,d32,...,d3(n1xn3),其中w3、h3分别表示卷积后的特征图的宽和高,c3=(m-m1-m3+2)×3+(m-m1-m3+1)×2,n3、k3、m3为自定义参数。

e)采用k4×k4的核分别对d31,d32,...,d3(n1xn3)进行2d池化,对每一个通道进行下采样,生成n1×n3组w4×h4×c3的数据块d41,d42,...,d4(n1xn3),其中w4、h4分别为池化后的特征图的宽和高。

f)采用w4×h4的卷积核分别在d41,d42,...,d4(n1xn3)的各个通道上进行卷积,生成一个长度为n1×n3×c3的向量v6。

g)将向量v6输入一个包含n7个隐层单元的全连接层,输出一个长度为n7的向量v7,n7为自定义参数。

h)将全连接层的输出结果采用softmax损失函数计算当前3d卷积神经网络的损失,并将损失进行梯度的反向传播。

i)更新a)-g)各层的权值;

j)重复迭代步骤a)-i)直至3d卷积神经网络收敛,以得到训练好的3d卷积神经网络。

需要说明的是,训练3d卷积神经网络需要多次进行权值更新,直至模型收敛。

假设w=60,h=40,m=7,则训练3d卷积网络的流程如下:

将60×40×7的三维数据块输入网络,提取7个灰度图、x和y方向的梯度图和x和y方向时间间隔为1的光流图,生成60×40×33的数据块;

采用2个7×7×3的卷积核在3相邻的三个通道上进行卷积计算,生成2组54×34×23的数据块;

采用2×2的窗口对每个通道进行下采样,得到2组27×17×23的数据块;

采用3个7×7×3的卷积核在3相邻的三个通道上进行卷积计算,生成6组21×12×13的数据块;

采用3×3的窗口对每个通道进行下采样,得到6组7×4×13的数据块;

采用7×4的2d卷积核对每个通道进行卷积操作,得到长度为78的向量;

将长度为78的向量输入包含128个隐层单元的全连接层,输出一个长度为128的向量;

将全连接层的输出结果采用softmax损失函数计算60×40×7的三维像素矩阵的损失,并将损失进行梯度的反向传播;

更新上述各层的权值。

步骤s4、将预处理后的人脸序列输入训练好的3d卷积神经网络,提取人脸序列的人脸特征。

步骤s5、将人脸特征与目标库的特征模板进行比对,返回目标库中与当前人脸特征相匹配的人脸识别信息。

具体地,在目标库中查找与人脸特征相匹配的特征模板,进而返回与该特征模板相对应的人脸信息,即人脸识别结果。

参照图3,本发明的基于3d卷积神经网络的人脸动态识别系统包括依次相连的人脸跟踪模块1、人脸序列预处理模块2、3d卷积神经网络训练模块3、人脸特征提取模块4和人脸比对模块5。

人脸跟踪模块1用于从视频流中提取图像帧,跟踪人脸目标,获取人脸目标对应的人脸序列。

优选地,图像帧选取视频流的关键帧。该关键帧可以选取mpeg格式的视频中的i帧。由于i帧不使用运动补偿,故保存了完整的场景图像信息。对于gop(groupofpictures,画面组)比较大的视频,可以使用i帧和p帧。

其中,所跟踪的人脸目标可以是一个或多个人脸。所获取的人脸序列在时间上是连续的,由图像帧中的各个人脸图像组成。

人脸序列预处理模块2用于对人脸序列进行预处理,以获取满足预定标准的人脸序列。

具体地,预处理包括人脸序列图像的筛选、图像的均衡化、图像的归一化、人脸矫正、图像缩放等中的一种或组合。其中,进行人脸序列图像的筛选时,根据人脸图像的质量如光线、角度等,筛除图像质量较差、不能满足要求的人脸图像。

预定标准包括尺寸、人脸角度、图片亮度、清晰度中的一种或组合。

3d卷积神经网络训练模块3用于将预处理后的人脸序列输入3d卷积神经网络进行训练,更新3d卷积神经网络各层的权值,以得到训练好的3d卷积神经网络。

具体地,3d卷积神经网络训练模块3执行以下操作:

31)按照帧序获取若干张预处理后的人脸序列图像。

具体地,将预处理后的n张人脸序列中的图像按帧序排列,分别标记为fi,i=0,1,2,...,n-1;并为同一个人的人脸序列图像分配一个相同的标签。

32)以m张图像为一组,当m≤n时,按帧序分别选择图像fk~fk+m-1作为一组,共n-m+1组,其中,k=0,1,2,...,n-m;当m>n时,选择所有的n张照片作为一组。

33)读取各组图像中每个图像的像素,为每组图像依帧序堆叠构建大小为w×h×m的三维像素矩阵;其中,w为图像的宽像素,h为图像的高像素;当m>n时,依次重复堆叠n张图像直到填满m维的矩阵。

34)计算所获取的所有w×h×m三维像素矩阵在各个坐标位置上的像素均值。

35)将w×h×m三维像素矩阵各个坐标位置上的像素减去像素均值后输入3d卷积神经网络,更新3d卷积神经网络各层的权值,以得到训练好的3d卷积神经网络。

需要说明的是,对于减去像素均值后得到的n-m+1组三维像素矩阵,在训练3d卷积神经网络时,每次随机选取一批三维像素矩阵进行训练。

如图2所示,训练3d卷积神经网络包括以下步骤:

a)随机选取一个减去像素均值后的w×h×m三维像素矩阵,提取m个灰度图、x和y方向的梯度图和x和y方向时间间隔为1的光流图,生成w×h×c0的数据块d0,其中c0=m×3+(m-1)×2。

b)采用n1个k1×k1×m1的卷积核,在数据块d0的m1个相邻通道上进行3d卷积,生成n1组w1×h1×c1的数据块d11,d12,...,d1n1,其中w1、h1分别表示卷积后的特征图的宽和高,c1=(m-m1+1)×3+(m-m1)×2,n1、k1、m1为自定义参数。

c)采用k2×k2的核分别对d11,d12,...,d1n1进行2d池化,对每一个通道进行下采样,生成n1组w2×h2×c1的数据块d21,d22,...,d2n1,其中w2、h2分别为池化后的特征图的宽和高,k2为自定义参数。

d)采用n3个k3×k3×m3的卷积核,分别在d21,d22,...,d2n1的m3个相邻通道上进行3d卷积,生成n1×n3组w3×h3×c3的数据块d31,d32,...,d3(n1xn3),其中w3、h3分别表示卷积后的特征图的宽和高,c3=(m-m1-m3+2)×3+(m-m1-m3+1)×2,n3、k3、m3为自定义参数。

e)采用k4×k4的核分别对d31,d32,...,d3(n1xn3)进行2d池化,对每一个通道进行下采样,生成n1×n3组w4×h4×c3的数据块d41,d42,...,d4(n1xn3),其中w4、h4分别为池化后的特征图的宽和高。

f)采用w4×h4的卷积核分别在d41,d42,...,d4(n1xn3)的各个通道上进行卷积,生成一个长度为n1×n3×c3的向量v6。

g)将向量v6输入一个包含n7个隐层单元的全连接层,输出一个长度为n7的向量v7,n7为自定义参数。

h)将全连接层的输出结果采用softmax损失函数计算当前3d卷积神经网络的损失,并将损失进行梯度的反向传播。

i)更新a)-g)各层的权值;

j)重复迭代步骤a)-i)直至3d卷积神经网络收敛,以得到训练好的3d卷积神经网络。

需要说明的是,训练3d卷积神经网络需要多次进行权值更新,直至模型收敛。

假设w=60,h=40,m=7,则训练3d卷积网络的流程如下:

将60×40×7的三维数据块输入网络,提取7个灰度图、x和y方向的梯度图和x和y方向时间间隔为1的光流图,生成60×40×33的数据块;

采用2个7×7×3的卷积核在3相邻的三个通道上进行卷积计算,生成2组54×34×23的数据块;

采用2×2的窗口对每个通道进行下采样,得到2组27×17×23的数据块;

采用3个7×7×3的卷积核在3相邻的三个通道上进行卷积计算,生成6组21×12×13的数据块;

采用3×3的窗口对每个通道进行下采样,得到6组7×4×13的数据块;

采用7×4的2d卷积核对每个通道进行卷积操作,得到长度为78的向量;

将长度为78的向量输入包含128个隐层单元的全连接层,输出一个长度为128的向量;

将全连接层的输出结果采用softmax损失函数计算60×40×7的三维像素矩阵的损失,并将损失进行梯度的反向传播;

更新上述各层的权值。

人脸特征提取模块4用于将预处理后的人脸序列输入训练好的3d卷积神经网络,提取人脸序列的人脸特征。

人脸比对模块5用于将人脸特征与目标库的特征模板进行比对,返回目标库中与当前人脸特征相匹配的人脸识别信息。

具体地,在目标库中查找与人脸特征相匹配的特征模板,进而返回与该特征模板相对应的人脸信息,即人脸识别结果。

综上所述,本发明的基于3d卷积神经网络的人脸动态识别方法及系统基于对人脸时空序列的学习,提高了视频人脸的识别精度;能够适应运动、姿态、光线、角度变化,提高了动态人脸识别的鲁棒性;简化了动态人脸比对的结果合并流程,只产生一个比对结果。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1