一种基于多尺度池化的卷积神经网络人脸识别方法
【专利摘要】本发明公开了一种基于多尺度池化的卷积神经网络人脸识别方法。该方法利用多尺度池化的卷积神经网络来提取人脸图像的特征以实现人脸识别。在构建卷积神经网络的过程中,采用卷积和最大值采样交替的方法对特征进行深度提取,另外对每层卷积层采用了多尺度池化的策略和步骤,一并输入到全连接层,使其具有多尺度的、固定大小的特征列向量。本发明不需要对输入的人脸图像做截取或调整尺寸,不同尺寸的图像都能使用同一个网络进行训练和识别。基于多尺度池化的卷积神经网络不但解决了输入图像尺寸可以不固定的问题,使得网络能够提取多尺度的人脸特征,而且对网络性能带来极大的提升,将会促进多尺度池化的卷积神经网络在人脸识别中的广泛应用。
【专利说明】
一种基于多尺度池化的卷积神经网络人脸识别方法
技术领域
[0001] 本发明属于深度学习、人脸识别领域,涉及一种基于多尺度池化的卷积神经网络 人脸识别方法。
【背景技术】
[0002] 人脸识别是一门融合生物学、心理学和认知科学等多学科的生物识别技术,运用 多类技术如模式识别、图像处理和计算机视觉等,在金融、安防监控、身份识别、社交娱乐与 沟通等领域具有得到广泛的市场应用前景。目前,国内外对人脸识别的技术研究主要围绕 特征提取和分类算法这两个方向展开。基于深度卷积神经网络的人脸识别技术已经非常成 熟,但传统的卷积神经网络的输入人脸图像的尺寸都是固定的(例如:256*256),这是因为 利用BP反向传播算法更新权重和偏置时需要全连接层有固定输入维度,但对卷积层和池化 层的输入的尺寸可以是任意。因此面对输入人脸图像尺寸不同时,往往需要对输入图像做 截取和固定尺寸的操作,这种人工改变输入人脸图像的尺寸破坏原图像的尺度和长宽比 例,会导致部分重要信息的丢失。
【发明内容】
[0003] 本发明目的在于针对现有人脸识别技术的不足,提供一种基于多尺度池化的卷积 神经网络人脸识别方法。整个网络分为3大部分,输入层,特征提取层和输出层,其中特征提 取层细分为交替连接的3个卷积层与3个池化层和一个全连接层。最后一个池化层采用了多 尺度池化的策略和步骤,使得输入到全连接层的是固定大小的特征列向量,最终使得网络 可以利用BP反向传播算法进行有监督的训练。本发明不需要提前对输入的人脸图像做截取 或固定大小,采用卷积和最大值池化交替的方法对特征进行深度提取,直到最后一层池化 采用多尺度的方法使得全连接层前的输入具有固定的大小,全连接层后输入softmax分类 器输出类别标签信息以实现人脸识别。多尺度池化结构使得不同尺寸、大小和长宽比的输 入图像都能使用同一个网络进行训练和识别分类。通过自动调整池化的采样尺寸和步长获 得固定输出大小的特征矩阵。对比传统的滑动池化采样窗口采用单一的采样尺寸,多尺度 的池化能够获得多尺度的人脸特征,使得网络对目标形变具有较好的鲁棒性,不但解决了 输入图像尺寸不固定的问题还带来网络性能的极大提升。
[0004] 本发明的目的是通过以下技术方案来实现的:一种基于多尺度池化的卷积神经网 络人脸识别方法,包括以下步骤:
[0005] (1)采集t个人的标准人脸灰度图,其中每个人采集d张,得到d X t张标准人脸灰度 图作为训练图像;每张训练图像对应一个tXl维的二值人脸类别标记向量ylable=[ yi y2 y3 …yt]T,其中第η个人脸图像的类别标签向量ylable3中元素 71应满足以下条件:
[0006]
[0007] (2)卷积神经网络参数初始化:所述卷积神经网络包含输入层II、卷积层C2、池化 层S3、卷积层C4、池化层S5、卷积层C6、多尺度池化层S7、多尺度池化层S8、多尺度池化层S9、 全连接层L10、输出层011;按照0为均值,0.01为标准方差的高斯分布来随机初始化卷积层 C2的k个aXa像素的小块作为卷积核模板,定义为权重_,i = l,j = l,2, . . .,k;此外对应 If 位置的偏置&f,j = l,2,. . .,k初始化为0;类似的,随机初始化卷积层C4的p个bXb大小的 卷积核模板,定义为权重^^4,i = l,2, . . .,k, j = l,2, . . .,p和对应位置的偏置= l, 2,. . .,p ;随机初始化卷积层C6的q个c X c大小的卷积核模板,定义为权重%:i = 1, 2,. . .,p,j = 1,2,. . .,q和对应位置的偏置j = 1,2,. . .,q。所有的权重Kij和偏置bj都是 J 可训练的网络参数;
[0008] (3)输入层11:对输入大小为w X h的图像X (w,h不固定)的所有像素X i进行减均值 和归一化的预处理,将预处理后的图像Χιη作为输入层。
[0009] (4)卷积层C2:由k个不同的特征图谱Xf,.j = l,2, . . .,k组成,每个特征图谱由输 入图像Χιη分别与k个卷积核模板Ku进行卷积运算,卷积结果加上偏置匕,再经过一个激活函 数ReLU( ·)得到;每个特征图谱;Tf2具体计算公式为:
[0010]
[0011 ] 其中?代表步长为1的卷积运算,激活函数ReLU (X) = max (0,X); 的大小均为 (h-a+1)X(w-a+1);
[0012] (5)池化层S3:采用最大值采样对卷积层C2得到的结果进行统计计算。采样尺寸为 m,采样方法为取采样区域的最大值,采样区域不重叠;池化层S3的每个特征图谱if 3,i = 1,2,. . .,k由卷积层C2的每个特征图谱Z^,j = l,2,. . .,k下采样得到。采样后的水平和垂 直空间分辨率变为原来的1/m,大小为(h-a+l/m) X (w-b+1/m);
[0013] (6)卷积层C4:特征图谱尤;$3,1 = 1,2,...氺通过卷积操作,由1^个扩展至?个;特征 图谱之间采用完全连接的机制,即卷积层C4的每个特征图谱;Tf4, j = l,2, . . .,p都与前一 层的k个特征图谱连接,相连接的区域进行卷积操作,卷积结果加和并且加入偏置,再经过 激活函数ReLU( ·)得到;每个特征图谱If4具体计算公式为:
[0014]
[0015] 其中?代表步长为1的卷积运算,激活函数ReLU(x) =max(0,x);
[0016] (7)池化层S5:采用最大值采样,采样尺寸为n,采样方法为取采样区域的最大值, 采样区域不重叠,采样后得到的P个特征图谱Af的水平和垂直空间分辨率变为原来的1/n;
[0017] (8)卷积层C6:特征图谱通过卷积操作,由p个扩展至q个;特征图谱之间采用 完全连接的机制,每个特征图谱Xf具体计算公式为:
[0018]
[0019] 其中?代表步长为1的卷积运算,激活函数ReLU(x) =max(0,x);
[0020] (9)多尺度池化层S7:对卷积层C6的q个特征图谱进行三种不同尺度size和步 长8杜1(^的采样,使得输出空间块大小固定为1\1\9,2\2\9,3\3\9,具体计算公式如
下:
[0021]
[0022]
[0023] 其中,PU·」分别表示向上取整和向下取整,rXs为输入图像经过卷积层C6后得到 的每个特征图谱Xf6的大小;
[0024] 按照列的顺序展开得到1乂(1,4\(1,9\(1的特征矩阵,最后依次级联,成为固定尺 寸的(14Xq) X 1特征列向量。
[0025] (10)多尺度池化层S8:类似步骤(9)对卷积层C2的k个特征图谱Xf进行三种不同 尺度和步长的采样,使得成为固定尺寸的(14Xk) X 1特征列向量。
[0026] (11)多尺度池化层S9:类似步骤(9)对卷积层C4的p个特征图谱进行三种不同 尺度和步长的采样,使得成为固定尺寸的(14Xp) X 1特征列向量。
[0027] (12)全连接层L10:3个多尺度池化层得到的特征列向量均通过全连接方式得到输 出表达列向量Xf c,大小为f X 1,f〈( 14 X k);
[0028] (13)输出层011:全连接层L10得到的输出表达列向量Xf c,输入至t维的sof t-max分 类器,得到分类结果标签向量,最大值元素所在标号表示该图像属于该类别标签的人 脸;
[0029] (14)对于步骤(1)采集的dXt张人脸训练图重复步骤(3)~步骤(13),分别得到各 自的tXl维的分类结果标签向量 yciutput,与步骤(1)中的ylable3构成均方差误差代价函数,利 用BP反向传播算法进行有监督训练,当均方差误差代价达到要求后完成训练,得到完整的 多尺度池化卷积神经网络;
[0030] (15)采集步骤(1)中t个人中任一个人的人脸图像作为测试人脸图像,通过步骤 (3)~步骤(13)得到tXl维分类结果标签向量 yciutput,其最大值元素所在标号即为该测试人 脸图像的类别标签,从而实现人脸识别。其中,1:、(1、'\¥、11、1^4、9、3、13、〇、111、11、1'、8和€均为自然 数。
[0031] 本发明的有益效果是,本发明采用卷积层和池化层级联的卷积神经网络来提取人 脸图像特征,并对每层卷积层额外采用多尺度采样,获得多尺度的特征表达列向量,丰富特 征表达。将3层多尺度池化层的特征列向量一并输入到全连接层,使其产生多尺度的、固定 大小的特征列向量,解决了传统卷积神经网络训练过程中,利用BP反向传播更新权重和偏 置时必须固定输入图像大小的弊端,同时可以利用多种尺寸的输入图像对同一个网络进行 训练和测试。连接多个层次的特征图谱对于学习合适的特征表达具有关键意义,这样的网 络结构相比单层的级联的卷积与池化交替的网络结构得到了较大的性能提升。本发明提出 新的基于多尺度池化的卷积神经网络人脸识别方法不但解决了输入图像尺寸可以不固定 的问题,使得网络能够提取多尺度的人脸特征,对目标的变形具有较好的鲁棒性,而且对网 络性能带来极大的提升,将会促进多尺度池化卷积神经网络在人脸识别中的广泛应用。
【附图说明】
[0032]图1为卷积操作示意图;
[0033] 图2为池化层最大值采样操作示意图;
[0034] 图3为多尺度池化层采用操作示意图;
[0035] 图4为多尺度池化的卷积神经网络示意图;
[0036] 图5为多尺度池化的卷积神经网络的结构框图。
【具体实施方式】
[0037] 以下结合附图和实施实例对本发明作进一步说明。
[0038] 本发明一种基于多尺度池化的卷积神经网络人脸识别方法,包括以下步骤:
[0039] (1)采集100个人的标准人脸灰度图,其中每个人采集50张,得到5000张标准人脸 灰度图作为训练图像;每张训练图像对应一个100 XI维的二值人脸类别标记向量yiabie = [yi y2 y3…yt]T,其中第η个人脸图像的类别标签向量yiabie中元素 yi应满足以下条件:
[0040]
[0041] 例如第1个人的类别标签向量yiabie=[l 0 0…0]τ,第一个元素为1,其余为0。其 他人脸图像的类别标签向量类似;
[0042] (2)卷积神经网络参数初始化:所述卷积神经网络的结构框图如图5所示,包含输 入层II、卷积层C2、池化层S3、卷积层C4、池化层S5、卷积层C6、多尺度池化层S7、多尺度池化 层S8、多尺度池化层S9、全连接层L10、输出层011;按照0为均值,0.01为标准方差的高斯分 布来随机初始化卷积层C2的20个5 X 5像素的小块作为卷积核模板,定义为权重i = 1, ij j = 1,2,. . .,20;此外对应位置的偏置Μ' j = 1,2,. . .,20初始化为0;类似的,随机初始化 卷积层C4的40个3 X 3大小的卷积核模板,定义为权重' i = 1,2,. . .,20,j = 1,2,. . .,40 ff 和对应位置的偏置j = 1,2,. . .,40;随机初始化卷积层C6的60个3 X 3大小的卷积核模 J 板,定义为权重f e6,i = l,2, . . .,40, j = l,2, . . .,60和对应位置的偏置6e6,j = l,2,..., ij f 60。所有的权重K i j和偏置b j都是可训练的网络参数;
[0043] (3)输入层II:经过预处理后的图像Χιη作为输入层。预处理操作具体如下:对输入 大小为64X64的图像的所有像素^进行减均值和归一化的预处理,得到图像&"定义如下:
[0044]
[0045] 其中均值^6和标准差〇如下:
[0046]
[0047]
[0048] (4)卷积层C2:由20个不同的特征图谱尤;^]_ = 1,2,...,20组成,每个特征图谱由 输入图像Χιη分别与20个卷积核模板进行卷积运算,卷积过程如图1所示,卷积结果加上 偏置匕,再经过一个激活函数ReLU( ·)得到;每个特征图谱具体计算公式为:
[0049]
[0050] 其中發代表步长为1的卷积运算,激活函数ReLU (X )= max (0,X); Xf2的大小均为 60X60;
[0051] (5)池化层S3:采用最大值采样对卷积层C2得到的结果进行统计计算。采样尺寸为 2,采样方法为取采样区域的最大值,采样区域不重叠;池化层S3的每个特征图谱Zf 3,i = 1,2,. . .,20由卷积层C2的每个特征图谱Xf2, j = l,2,. . .,20下采样得到。
[0052] 采样操作如图2所示,例如卷积层C2的第1个特征图谱If2的第一个采样区域为
,采样结果得到池化层S3的第1个特征图谱Xf3的第一个输入 yi,其中采样方法为 取4者中的最大值,8卩71=11^1(1142 43 44);其他输出也类似,得到池化层33的20个特征图 谱X_f,i = l,2,...,20;采样后的水平和垂直空间分辨率变为原来的1/2,大小为30X30;
[0053] (6)卷积层C4:特征图谱If,i = l,2, ...,k通过卷积操作,由20个扩展至40个;特 征图谱之间采用完全连接的机制,即卷积层C4的每个特征图谱Zf4,j = l,2, . . .,40都与前 一层的20个特征图谱连接,相连接的区域进行卷积操作,卷积结果加和并且加入偏置,再经 过激活函数ReLU( ·)得到;每个特征图谱具体计算公式为:
[0054] ij,
./
[0055] 其中#代表步长为1的卷积运算,激活函数ReLU (x) = max (0,x);得到40个特征图 谱大小为28X28;
[0056] (7)池化层S5:采用最大值采样,采样尺寸为2,采样方法为取采样区域的最大值, 采样区域不重叠,采样后的得到40个特征图谱Zf的水平和垂直空间分辨率变为原来的1/ 2,大小为14X14;
[0057] (8)卷积层C6:特征图谱通过卷积操作,由40个扩展至60个;特征图谱之间采用完 全连接的机制,每个特征图谱具体计算公式为:
[0058]
[0059] 其中€)代表步长为1的卷积运算,激活函数ReLU(X) =max(0,X);得到40个特征图 谱大小为12X12;
[0060] (9)多尺度池化层S7:如图3所示,对60个特征图谱.V;6进行三种不同尺度size和步 长stride的采样,使得最后输出空间块大小固定为1 X 1 X 60,2 X 2 X 60,3 X 3 X 60。例如输 入大小为64X64的图像经过卷积层C6后得到60个特征图谱的大小为12X12,通过3种采 样尺寸和步长进行最大值采样,具体计算公式如下:
[0061 ] size = 12X12,6X6,4X4
[0062] stride = 12X12,6X6,4X4
[0063]其中,size和stride分别表示采样尺寸和步长。如此操作得到输出空间块大小为1 X1X60,2X2X60,3X3X 60,并且按照列的顺序展开得到1 X 60,4 X 60,9 X 60的特征矩 阵,最后依次级联,成为固定尺寸的840X1特征列向量。
[0064] 多尺度池化层是实现输入图像尺寸不固定的关键技术,使得可以用不同大小的图 片进行训练和测试,使得网络对目标的变形变得鲁棒;例如另外一幅图像的大小为80X64, 到卷积层C6的60个特征图谱大小为16 X 12,为了能得到固定尺寸1 X 60,4 X 60,9 X 60的特 征向量矩阵,网络将按照采样尺寸和步长的公式自动调整,进行最大值采样,此时的采样尺 寸和步长分别为:
[0065] size = 16 X 12,8 X 6,6 X 4; stride = 16X12,8X6,5X4;
[0066] (10)多尺度池化层S8:类似步骤(9)对卷积层C2的20个特征图谱If2进行三种不同 尺度size和步长stride的采样,尺寸分别为size = 60 X 60,30 X 30,20 X 20,步长分别为 stride = 60 X 60,30 X 30,20 X 20,使得成为固定尺寸的280 X 1特征列向量。
[0067] (11)多尺度池化层S9:类似步骤(9)对卷积层C4的40个特征图谱Xf*进行三种不同 尺度size和步长stride的采样,尺寸分别为size = 28 X 28,14X14,10X 10,步长分别为 stride = 28 X 28,14 X 14,9 X 9,使得成为固定尺寸的560 X 1特征列向量。
[0068] (12)全连接层L10:3个多尺度池化层得到特征列向量均通过全连接方式得到输出 表达列向量X fc,大小为200 X 1;
[0069] (13)输出层011:全连接层L8得到的输出表达列向量Xfc,输入至100维的soft-max 分类器,得到分类结果标签向量youtput,最大值元素所在标号表示该图像属于该类别标签的 人脸;
[0070] (14)对于步骤(1)采集的5000张人脸训练图重复步骤(3)~步骤(13),分别得到各 自的100 X 1维的分类结果标签向量youtput,与步骤(1)中的ylable3构成均方差误差代价函数, 利用BP反向传播算法进行有监督训练,当均方差误差代价达到要求后完成训练,得到完整 的多尺度池化卷积神经网络,以输入图像大小为64X64的网络示意图如图4所示,每一层的 特征图谱数量及大小,卷积核大小和采样尺寸等均在图4中所示;整体的网络结构框图如图 5所示;
[0071] (15)采集步骤(1)中100个人中任一个人的人脸图像作为测试人脸图像,重复步骤 (3)~步骤(13)计算得到分类结果标签100\1维的向量 7。11_*,其最大值元素所在标号即为 该测试人脸图像的类别标签,从而实现人脸识别。
[0072] 以上所述仅为本发明的优选实施方式,但本发明保护范围并不局限于此。任何本 领域的技术人员在本发明公开的技术范围内,均可对其进行适当的改变或变化,而这种改 变或变化都应涵盖在本发明的保护范围之内。
【主权项】
1. 一种基于多尺度池化的卷积神经网络人脸识别方法,其特征在于,该方法包括W下 步骤: (1) 采集t个人的标准人脸灰度图,其中每个人采集d张,得到d X t张标准人脸灰度图作 为训练图像;每张训练图像对应一个tXl维的二值人脸类别标记向量yiabie=[yi y2 y3… yt]T,其中第η个人脸图像的类别标签向量yiabie中元素 yi应满足W下条件:(2) 卷积神经网络参数初始化:所述卷积神经网络包含输入层II、卷积层C2、池化层S3、 卷积层C4、池化层S5、卷积层C6、多尺度池化层S7、多尺度池化层S8、多尺度池化层S9、全连 接层L10、输出层011;按照0为均值,0.01为标准方差的高斯分布来随机初始化卷积层C2的k 个aXa像素的小块作为卷积核模板,定义为权重A';'2,/' = 1,/ = U,...,A:;此外对应位置的 偏置二1,2,...,A初始化为0;类似的,随机初始化卷积层C4的P个bXb大小的卷积核模 板,定义为权重=1,2:,...,套J二I,2,...,/巧日对应位置的偏置= I、2,...,/,;随机初 始化卷积层C6的q个C Xc大小的卷积核模板,定义为权重/(' <',/ = 1,2,..,八/ = 1,2,...,每和 y 对应位置的偏置J二1,2,…,f/。所有的权重Kij和偏置bj都是可训练的网络参数。 (3) 输入层II:对输入大小为wXh的图像X(w,h不固定)的所有像素 XI进行减均值和归一 化的预处理,将预处理后的图像Xin作为输入层。 (4) 卷积层C2:由k个不同的特征图谱Xf J = l,2,...,表组成,每个特征图谱由输入图像 Xin分别与k个卷积核模板Κυ进行卷积运算,卷积结果加上偏置bj,再经过一个激活函数ReLU (·)得到;每个特征图谱Xf具体计算公式为:其中:?代表步长为1的卷积运算,激活函数ReLU(X) = max (0,X);.2的大小均为化-a+ 1) X(w-a+1)ο (5) 池化层S3:采用最大值采样对卷积层C2得到的结果进行统计计算。采样尺寸为m,采 样方法为取采样区域的最大值,采样区域不重叠;池化层S3的每个特征图谱 Xf3,/二1,2,.,.,表由卷积层C2的每个特征图谱Zf',/二1,2,...,A'下采样得到。采样后的水 平和垂直空间分辨率变为原来的1/m,大小为化-a+1/m) X (w-b+1/m)。 (6) 卷积层C4:特征图谱义f,i =1,2,.、.,克通过卷积操作,由k个扩展至P个;特征图谱之 间采用完全连接的机制,即卷积层C4的每个特征图谱义^,7' = 1,2,...,/?都与前一层的1^个 特征图谱连接,相连接的区域进行卷积操作,卷积结果加和并且加入偏置,再经过激活函数 ReLU(.)得到;每个特征图谱具体计算公式为:其中@代表步长为1的卷积运算,激活函数ReLU (X) = max (0,X)。 (7) 池化层S5:采用最大值采样,采样尺寸为n,采样方法为取采样区域的最大值,采样 区域不重叠,采样后得到的P个特征图谱Jf的水平和垂直空间分辨率变为原来的1/n。 (8) 卷积层C6:特征图谱通过卷积操作,由P个扩展至q个;特征图谱之间采用完全连 接的机制,每个特征图谱方f具体计算公式为:其中@代表步长为1的卷积运算,激活函数ReLU(x)=max(0,x)。 (9) 多尺度池化层S7:对卷积层C6的q个特征图谱义f进行Ξ种不同尺度size和步长 stride的采样,使得输出空间块大小固定为lXlXq,2X2Xq,3X3Xq,具体计算公式如 下:其中,「.?,?_.」分别表示向上取整和向下取整,rXs为输入图像经过卷积层C6后得到的每 个特征图谱的大小. 按照列的顺序展开得到1 X q,4 X q,9 X q的特征矩阵,最后依次级联,成为固定尺寸的 (14Xq) X 1特征列向量。 (10) 多尺度池化层S8:类似步骤(9)对卷积层C2的k个特征图谱;进行Ξ种不同尺度 和步长的采样,使得成为固定尺寸的(14Xk) XI特征列向量。 (11) 多尺度池化层S9:类似步骤(9)对卷积层C4的P个特征图谱-Yf进行S种不同尺度 和步长的采样,使得成为固定尺寸的(14Xp) X 1特征列向量。 (12) 全连接层L10:3个多尺度池化层得到的特征列向量均通过全连接方式得到输出表 达列向量沿C,大小为fXl,f<(14Xk)。 (13) 输出层011:全连接层L10得到的输出表达列向量Xfc,输入至t维的soft-max分类 器,得到分类结果标签向量youtput,最大值元素所在标号表示该图像属于该类别标签的人 脸。 (14) 对于步骤(1)采集的dXt张人脸训练图重复步骤(3)~步骤(13),分别得到各自的 tXl维的分类结果标签向量youtput,与步骤(1)中的yiable构成均方差误差代价函数,利用BP 反向传播算法进行有监督训练,当均方差误差代价达到要求后完成训练,得到完整的多尺 度池化卷积神经网络。 (15)采集步骤(1)中t个人中任一个人的人脸图像作为测试人脸图像,通过步骤(3)~ 步骤(13)得到tXl维分类结果标签向量ywtput,其最大值元素所在标号即为该测试人脸图 像的类别标签,从而实现人脸识别。
【文档编号】G06K9/00GK105975931SQ201610288560
【公开日】2016年9月28日
【申请日】2016年5月4日
【发明人】刘云海, 吴斯
【申请人】浙江大学