本发明涉及图像检测技术领域,特别是涉及一种基于采样卷积的人脸关键点检测方法。
背景技术:
深度学习近年发展迅猛,以神经网络为代表,解决了诸多领域以前难以解决的问题。人脸关键点检测是人脸对齐前最重要的一步,在基于人脸识别(facerecognizaton)技术的应用领域中,关键点检测在人脸识别上起到重要作用;同样,关键点的质量直接关系到检测器识别目标的效率。
人脸关键点检测方法大致分为三种,分别是基asm(activeshapemodel)和aam(activeappearncemodel)的传统方法,基于级联形状回归的方法,以及基于深度学习的方法。
当前,人脸关键点的检测算法中以深度学习效果最好,其中大部分算法用到了卷积神经网络,而卷积运算通常比较耗时,一部分研究者开始在小图上使用卷积网络进行检测,以便提高计算速度,但是牺牲的是精度。因此,目前还没有一种算法能较好的兼顾计算速度和精度。
技术实现要素:
为了解决上述问题,本发明提供一种基于采样卷积的人脸关键点检测方法,通过在关键点附近进行点卷积,不断迭代更新结果,在保证精度的同时,进一步提高了计算速度。为此,本发明采用的技术方案是:
提供一种基于采样卷积的人脸关键点检测方法,该方法包括以下步骤:
s1、获取包含人脸的灰度图像,并利用人脸检测算法获取所述灰度图像中的人脸框;
s2、准备训练集,将训练集图像中所有人脸进行普鲁克分析,得到平均人脸关键点sstd;
s3、将sstd按步骤s1获取的人脸框尺寸放大后,得到初始人脸关键点s0;
s4、利用训练生成的网络模型更新人脸关键点si,得到最终的人脸关键点;其中i∈[1,it],i表示第i次迭代,it为迭代次数,取值范围为1-10,sit即为最终的人脸关键点;
所述更新的具体步骤如下:
s41、利用采样卷积算法对si-1处的图像进行特征提取,得到特征向量
s42、计算人脸关键点偏差δsi;
s43、利用所述人脸关键点偏差更新人脸关键点si,即si=si-1+δsi。
步骤s1中的人脸检测算法为本领域常用的人脸检测算法以及现有的人脸检测器均可,例如基于直方图粗分割和奇异值特征的人脸检测算法和基于adaboost算法的人脸检测等。
进一步的是,步骤s4中,所述网络模型的训练过程包括:
以所述步骤s2中的训练集为训练样本,所述训练集中的训练数据为灰度图像以及对应的人脸关键点s,以sn表示第n个人脸的关键点信息;所述训练过程按照迭代次数分别训练,每次迭代的训练完成后,在此结果基础上进行下一次迭代的训练,每次训练的过程如下:
s51、在所述训练集上用sstd生成初始人脸关键点数据sinit;
s52、以端到端的方式依次训练第i次迭代的参数kerneli,j,k,o、wi、bi,即使用梯度下降法求
进一步的是,所述步骤s41中采样卷积算法的步骤为:
s411、计算采样卷积的最大扩张率di=ei-1scalei,其中,ei-1表示si-1中两眼的距离,scalei表示缩放尺度,取值为0.1i~0.9i;
s412、在si-1中的每个人脸关键点位置用m个卷积核进行扩张卷积运算,并将运算结果拼接成一维特征向量
进一步的是,步骤s42中,利用全连接模块的人脸关键点偏差δsi的计算公式为:
δsi=wiφi+bi,
其中,wi为网络模型训练得到的权重,bi为网络模型训练得到的偏置项。
进一步的是,步骤s51的具体步骤为:
s511、利用人脸检测算法获取训练集图像中的人脸框;
s512、将训练集图像中所有人脸进行普鲁克分析,得到平均人脸关键点sstd;
s513、将sstd按步骤s1获取的人脸框尺寸放大后,得到初始人脸关键点sinit。
本发明方法的发明原理如下:
一般的人脸关键点的检测方法是通过手工设计特征,如hog、sift等,然后用特征进行机器学习。但手工设计的特征存在的问题是:而为了获得速度上的优势,手工特征往往会设计的比较简单,往往无法很好地刻画人脸的特征;而本发明采用深度学习的方式,且在特征提取阶段采用了运算量比较小的采样卷积的方式,通过在关键点附近进行点卷积,并且采样卷积的参数通过端到端的方式学习得到,用简单的运算获得了能够很好刻画人脸的特征,达到了运算速度和人脸关键点检测精度上的平衡。
采用本技术方案的有益效果:
1、本发明中,采样卷积运算仅在某点进行一系列扩张卷积,能提取出更加直接、有效的信息,并且计算量远远小于传统的卷积神经网络。
2、传统的基于深度学习的算法往往使用缩放后比较小的人脸图像进行检测,丢失掉了原图的分辨率信息,而本发明的检测算法在原图上进行,有效地保留了最原始的信息。
3、本发明的检测算法按照当前迭代时的两眼距离动态设定扩张卷积的扩张率,使得检测算法效果不随人脸大小的变化而变化。
4、本发明对人脸关键点的更新过程配合扩张卷积的最大扩张率的设定,使得整个检测过程是由粗到精的过程,检测精度逐步提高,可以任意定制迭代次数,达到精度与速度的平衡。
附图说明
图1是本发明方法的流程图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明作进一步阐述。
在本实施例中,如图1所示,一种基于采样卷积的人脸关键点检测方法,该方法包括以下步骤:
s1、获取包含人脸的灰度图像,并利用人脸检测算法获取所述灰度图像中的人脸框;
人脸框为矩形,矩形区域表示为(x,y,w,h),其中x、y代表矩形区域左上角坐标,w、h代表矩形区域宽高。
s2、准备训练集,将训练集图像中所有人脸进行普鲁克分析,得到平均人脸关键点sstd;
s3、将sstd按步骤s1获取的人脸框尺寸放大后,得到初始人脸关键点s0;
平均人脸关键点sstd,包含人脸关键点的坐标向量,其中包含眼睛、鼻子、嘴巴等点的坐标,如有n个人脸关键点,则sstd为2n长度的向量,sstd每个点的坐标按照训练集的人脸框归一化为[0,1]之间,则s0=sstd×(w,h),s0即sstd按当前人脸框放大后的坐标向量。
s4、利用训练生成的网络模型更新人脸关键点si,得到最终的人脸关键点;其中i=1,2,3,4,5,s5即为最终的人脸关键点;
所述更新的具体步骤如下:
s41、利用采样卷积算法对s0处的图像进行特征提取,得到特征向量
所述步骤s41中采样卷积算法的步骤为:
s411、计算采样卷积的最大扩张率di=ei-1scalei,其中,ei-1表示si-1中两眼的距离,scalei表示缩放尺度,取值为0.5i;
s412、在si-1中的每个人脸关键点位置用m个卷积核进行扩张卷积运算,并将运算结果拼接成一维特征向量
s42、利用全连接模块的人脸关键点偏差δsi的计算公式为:
δsi=wiφi+bi,
其中,wi为网络模型训练得到的权重,bi为网络模型训练得到的偏置项;
s43、利用所述人脸关键点偏差更新人脸关键点si,即si=si-1+δsi。
本实施例中,i=1,2,3,4,5,即进行五次更新后,得到最终的人脸关键点s5。
步骤s1中的人脸检测算法为基于直方图粗分割和奇异值特征的人脸检测算法。
所述网络模型的训练过程包括:
以所述步骤s2中的训练集为训练样本,所述训练集中的训练数据为灰度图像以及对应的人脸关键点s,以sn表示第n个人脸的关键点信息;所述训练过程按照迭代次数分别训练,每次迭代的训练完成后,在此结果基础上进行下一次迭代的训练,每次训练的过程如下:
s51、在所述训练集上用sstd生成初始人脸关键点数据sinit;
步骤s51的具体步骤为:
s511、利用人脸检测算法获取训练集图像中的人脸框;
s512、将训练集图像中所有人脸进行普鲁克分析,得到平均人脸关键点sstd;
s513、将sstd按步骤s1获取的人脸框尺寸放大后,得到初始人脸关键点sinit。
s52、以端到端的方式依次训练第i次迭代的参数kerneli,j,k,o、wi、bi,即使用梯度下降法求
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。