发明内容
本发明解决的问题是如何准确的检测狗脸。
为解决上述问题,本发明提供一种狗脸特征检测器的形成方法,包括如下步骤:
提取第一预定数量的狗脸特征图像;
提取第二预定数量的不包含所述狗脸特征的图像;所述第二预定数量大于所述第一预定数量;
以所述狗脸特征图像作为Adaboost方法的正样本,所述不包含所述狗脸特征的图像作为Adaboost方法的负样本获得所述狗脸特征检测器。
可选的,提取狗脸特征图像包括:
从训练图像中提取包含狗脸特征的图像;
对所述包含狗脸特征的图像进行归一化,获得狗脸特征图像。
可选的,所述从训练图像中提取包含狗脸特征的图像包括:
标定所述训练图像中狗脸特征的左上角和右下角位置/右上角和左下角位置;
基于所述狗脸特征的左上角和右下角位置/右上角和左下角位置获取所述训练图像中狗脸特征的中心位置;
以所述狗脸特征的中心位置为对称中心,移动所述狗脸特征的左上角和右下角位置/右上角和左下角位置直至所述狗脸特征的左上角和右下角/右上角和左下角在水平方向的距离与所述狗脸特征的宽相同,在竖直方向的距离与所述狗脸特征的高相同。
可选的,所述从训练图像中提取包含狗脸特征的图像包括:
建立包含所述狗脸特征的矩形窗;
调整所述矩形窗的尺寸和位置,直至调整后的矩形窗与所述狗脸特征的边缘外切。
可选的,所述对所述包含狗脸特征的图像进行归一化包括:
基于预定的归一化尺寸和所述包含狗脸特征的图像的尺寸获取缩放倍数;
基于所述缩放倍数,对所述包含狗脸特征的图像进行插值。
可选的,在所述包含狗脸特征的图像为彩色图像时,对所述包含狗脸特征的图像的灰度图像进行归一化。
可选的,所述狗脸特征检测器的形成方法,还包括:对归一化后的包含狗脸特征的图像进行左右翻转。
可选的,所述对归一化后的包含狗脸特征的图像进行左右翻转通过如下方式获得:
其中,P(i,nc-j+1)是归一化后的包含狗脸特征的图像中第i行nc-j+1列的像素值,P1(i,j)是左右翻转后的图像中第i行j列的像素值,nr×nc是归一化后的包含狗脸特征的图像的尺寸。
可选的,所述以所述狗脸特征图像作为Adaboost方法的正样本,所述不包含所述狗脸特征的图像作为Adaboost方法的负样本获得所述狗脸特征检测器包括:
设置所述Adaboost方法中的训练参数,所述训练参数包括:正样本数、负样本数、正/负样本归一化尺寸、级数、每一级最小正样本通过率及每一级最大虚警率;
基于所述训练参数、所述正样本、负样本获得所述狗脸特征检测器。
可选的,所述狗脸特征为狗鼻孔,所述狗脸特征检测器为狗鼻孔检测器,所述Adaboost方法中的训练参数为:
所述正样本数大于或等于500;
所述负样本数为所述正样本数的1.5~5倍;
所述正/负样本归一化后尺寸为20×20~28×28像素;
所述级数为15~25级;
所述每一级最小正样本通过率为0.995~0.998;
所述每一级最大虚警率为0.46~0.50。
可选的,所述狗脸特征为一只狗眼睛,所述狗脸特征检测器为狗眼睛检测器,所述Adaboost方法中的训练参数为:
所述正样本数大于或等于400;
所述负样本数为所述正样本数的2~4倍;
所述正/负样本归一化尺寸为10×15~20×30像素;
所述级数为15~25级;
所述每一级最小正样本通过率为0.995~0.998;
所述每一级最大虚警率为0.46~0.50。
为解决上述问题,本发明还提供一种狗脸检测方法,包括:
对待检测图像进行预处理;
采用上述获得的狗脸特征检测器对预处理后的待检测图像中的狗脸特征进行检测;
通过所述狗脸特征检测器的检测结果对所述狗脸进行标定。
可选的,所述对待检测图像进行预处理包括:
基于分段缩放系数对所述待检测图像进行缩放,所述分段缩放系数关联于狗脸特征检测器的尺寸;
对缩放后的待检测图像旋转预定角度。
可选的,所述对待检测图像进行预处理还包括:
在对所述待检测图像进行缩放后,对缩放后的待检测图像旋转预定角度前,对所述缩放后的待检测图像进行左右翻转。
可选的,所述采用上述获得的狗脸特征检测器对预处理后的待检测图像中的狗脸特征进行检测包括:
根据当前搜索窗口的尺寸对预处理后的待检测图像进行分割获得至少一个搜索子窗口;
通过所述狗脸特征检测器检测所述搜索子窗口,直至检测到存在所述狗脸特征的搜索子窗口;
若不存在,则以预设倍数更新当前搜索窗口的尺寸,重复上述过程,直至当前搜索窗口的尺寸大于预处理后的待检测图像的尺寸;
输出存在所述狗脸特征的搜索子窗口的位置。
可选的,所述狗脸特征为狗鼻孔,所述狗脸特征检测器为狗鼻孔检测器,所述通过所述狗脸特征检测器的检测结果对所述狗脸进行标定包括通过如下公式标定所述狗脸:
其中,(xc1,yc1)和(xc2,yc2)分别为检测到的狗鼻孔左上角和右下角的位置,(xf1,yf1)和(xf2,yf2)分别为标定的狗脸左上角和右下角的位置。
可选的,所述狗脸特征为一只狗眼睛,所述狗脸特征检测器为狗眼睛检测器,所述通过所述狗脸特征检测器的检测结果对所述狗脸进行标定包括通过如下公式标定所述狗脸:
其中,(xa1,ya1)和(xa2,ya2)分别为检测到的狗的左眼睛左上角和右下角的位置,(xb1,yb1)和(xb2,yb2)分别为检测到的狗的右眼睛左上角和右下角的位置,(xf1,yf1)和(xf2,yf2)分别为标定的狗脸左上角和右下角的位置。
为解决上述问题,本发明还提供一种狗脸检测装置,包括:
上述获得的狗脸特征检测器;
预处理单元,适于对待检测图像进行预处理;
检测单元,适于采用所述狗脸特征检测器对预处理后的待检测图像中的狗脸特征进行检测;
标定单元,适于基于所述检测单元的检测结果对所述狗脸进行标定。
为解决上述问题,本发明还提供一种狗脸检测方法,包括:
对待检测图像进行预处理;
采用上述获得的狗鼻孔检测器对预处理后的待检测图像中的狗鼻孔进行检测;
采用上述获得的狗眼睛检测器对待检测图像中的狗眼睛进行检测;
通过所述狗鼻孔检测器和所述狗眼睛检测器的检测结果对所述狗脸进行标定。
可选的,所述对待检测图像进行预处理包括:
基于分段缩放系数对所述待检测图像进行缩放,所述分段缩放系数关联于狗鼻孔检测器的尺寸;
对缩放后的待检测图像旋转预定角度。
可选的,所述对待检测图像进行预处理还包括:
在对所述待检测图像进行缩放后,对缩放后的待检测图像旋转预定角度前,对缩放后的待检测图像进行左右翻转。
可选的,所述采用上述获得的狗鼻孔检测器对预处理后的待检测图像中的狗鼻孔进行检测包括:
根据当前搜索窗口的尺寸对预处理后的待检测图像进行分割获得至少一个搜索子窗口;
通过所述狗鼻孔检测器检测所述搜索子窗口,直至检测到存在所述狗鼻孔的搜索子窗口;
若不存在,则以预设倍数更新当前搜索窗口的尺寸,重复上述过程,直至当前搜索窗口的尺寸大于预处理后的待检测图像的尺寸;
输出存在所述狗鼻孔的搜索子窗口的位置。
可选的,所述采用上述获得的狗眼睛检测器对待检测图像中的狗眼睛进行检测包括:
根据当前搜索窗口的尺寸对待检测图像进行分割获得至少一个搜索子窗口;
通过所述狗眼睛检测器检测所述搜索子窗口,直至检测到存在所述狗眼睛的搜索子窗口;
若不存在,则以预设倍数更新当前搜索窗口的尺寸,重复上述过程,直至当前搜索窗口的尺寸大于待检测图像的尺寸;
输出存在所述狗眼睛的搜索子窗口的位置。
可选的,所述通过所述狗鼻孔检测器和所述狗眼睛检测器的检测结果对所述狗脸进行标定包括:
当检测到狗鼻孔和两只狗眼睛,且狗鼻孔与两只狗眼睛未重合,则通过如下公式对所述狗脸进行标定:
其中,(xa,ya)为标定后的狗的左眼睛的中心位置,(xb,yb)为标定后的狗的右眼睛的中心位置,(xc,yc)为标定后的狗鼻孔的中心位置,(xa1,ya1)和(xa2,ya2)分别为检测到的狗的左眼睛左上角和右下角的位置,(xb1,yb1)和(xb2,yb2)分别为检测到的狗的右眼睛左上角和右下角的位置,(xc1,yc1)和(xc2,yc2)分别为检测到的狗鼻孔左上角和右下角的位置,(xf1,yf1)和(xf2,yf2)分别为标定的狗脸左上角和右下角的位置。
可选的,所述通过所述狗鼻孔检测器和所述狗眼睛检测器的检测结果对所述狗脸进行标定包括:
当检测到狗鼻孔和一只狗眼睛且所述狗鼻孔与一只狗眼睛未重合;或者只检测到狗鼻孔,则通过如下公式对所述狗脸进行标定:
其中,(xc1,yc1)和(xc2,yc2)分别为检测到的狗鼻孔左上角和右下角的位置,(xf1,yf1)和(xf2,yf2)分别为标定的狗脸左上角和右下角的位置。
可选的,所述通过所述狗鼻孔检测器和所述狗眼睛检测器的检测结果对所述狗脸进行标定包括:
当检测到狗鼻孔和两只狗眼睛,且所述狗鼻孔与一只狗眼睛重合,则通过如下公式对所述狗脸进行标定:
其中,(xa1,ya1)和(xa2,ya2)分别为检测到的狗的左眼睛左上角和右下角的位置,(xb1,yb1)和(xb2,yb2)分别为检测到的狗的右眼睛左上角和右下角的位置,(xf1,yf1)和(xf2,yf2)分别为标定的狗脸左上角和右下角的位置。
为解决上述问题,本发明还提供一种狗脸检测装置,包括:
上述获得的狗鼻孔检测器;
上述获得的狗眼睛检测器;
预处理单元,适于对待检测图像进行预处理;
狗鼻孔检测单元,适于采用所述狗鼻孔检测器对预处理后的待检测图像中的狗鼻孔进行检测;
狗眼睛检测单元,适于采用所述狗眼睛检测器对待检测图像中的狗眼睛进行检测;
标定单元,适于基于所述狗鼻孔检测单元和所述狗眼睛检测单元的检测结果对所述狗脸进行标定。
与现有技术相比,本发明的技术方案具有以下优点:
通过将狗脸特征图像作为Adaboost方法的正样本、不包含所述狗脸特征的图像作为Adaboost方法的负样本,进而通过Adaboost方法进行训练获得的狗脸特征检测器的性能好,能够准确、快速地检测出狗脸的特征。
通过采用上述的狗脸特征检测器对预处理后的待检测图像中的狗脸进行检测,可以准确地检测出狗脸所在的位置,且对所述狗脸进行检测时的正确率高、实时性好。
进一步地,所述预处理包括对待检测图像进行分段缩放后再旋转预定角度,使得采用所述狗脸特征检测器对狗脸进行检测时,能够对图像质量较差的待检测图像进行检测,且对待检测图像进行上述的预处理后再采用所述狗脸特征检测器对狗脸进行检测时,还可以加快对具有高分辨率的待检测图像的检测速度,进而实现对不同的待检测图像中的狗脸进行快速、准确的检测。
进一步地,通过狗鼻孔检测器对预处理后的待检测图像中的狗鼻孔进行检测,通过狗眼睛检测器对待检测图像中的狗眼睛进行检测,实现了以狗鼻孔检测为主,狗眼睛检测为辅来对狗脸进行检测,由于检测过程中以狗鼻孔为主,狗眼睛为辅,故可以去除可能击中在狗眼睛上的狗鼻孔的检测虚警,进而可以更加准确、快速地实现对狗脸的检测,且以狗鼻孔检测器的检测结果为主、狗眼睛检测器的检测结果为辅对狗脸进行检测,实时性好、检测的正确率高,虚警率很低。
具体实施方式
正如背景技术中描述的,现有技术中对于狗脸检测方面几乎空白,且狗脸检测相对于人脸检测而言比较困难。
发明人通过研究发现,相对于其他宠物如:猫、兔子等而言,狗的鼻孔的区分性比较好,这是因为不论狗的种类如何,大部分的狗都具有圆形的鼻孔,即狗鼻孔在形状结构上比较稳定,而且对于一般的狗而言,狗鼻孔通常比狗眼睛大,且狗鼻孔不易受其脸部毛色的遮挡,受角度变化的影响小,即对角度的鲁棒性好。而对于狗眼睛而言,在没有遮挡的情况下,其在形状结构上也相对稳定。
因此,发明人提出通过离线训练的方式形成狗脸特征检测器,所述狗脸特征可以是狗鼻孔、狗眼睛、狗嘴巴,用于对狗脸的不同特征进行相应的检测,本发明中具体地,形成狗鼻孔检测器对狗鼻孔进行检测,形成狗眼睛检测器对狗眼睛进行检测。
基于在离线训练过程中获得的狗脸特征检测器,进而在在线检测的过程中利用所述狗脸特征检测器对狗脸进行检测,标定狗脸所在的位置。具体地,通过狗鼻孔检测器在线检测待检测图像中的狗鼻孔,进而通过检测到的狗鼻孔的位置对狗脸位置进行标定;或者通过狗眼睛检测器在线检测待检测图像中的狗眼睛,进而通过检测到的狗眼睛的位置对狗脸位置进行标定;或者既通过狗鼻孔检测器检测待检测图像中的狗鼻孔又通过狗眼睛检测器检测待检测图像中的狗眼睛,进而以狗鼻孔检测器检测到的狗鼻孔的位置为主,狗眼睛检测器检测到的狗眼睛的位置为辅,对待检测图像中的狗脸的位置进行标定,以实现对狗脸的准确检测。
请参见图1,图1是本发明实施方式的狗脸特征检测器的形成方法的流程图,如图1所示,所述狗脸特征检测器的形成方法包括:
步骤S1:提取第一预定数量的狗脸特征图像。
步骤S2:提取第二预定数量的不包含所述狗脸特征的图像;所述第二预定数量大于所述第一预定数量。
步骤S3:以所述狗脸特征图像作为Adaboost方法的正样本,所述不包含所述狗脸特征的图像作为Adaboost方法的负样本获得所述狗脸特征检测器。
为了更好地说明本发明实施方式的狗脸特征检测器的形成方法,以下结合狗鼻孔检测器的形成方法和狗眼睛检测器的形成方法对本发明实施方式的狗脸特征检测器的形成方法进行详细的说明。
实施例一
请参见图2,图2是本发明实施例一的狗鼻孔检测器的形成方法的流程图,如图2所示,所述狗鼻孔检测器的形成方法包括:
步骤S1a:提取第一预定数量的狗鼻孔图像。
步骤S2a:提取第二预定数量的不包含所述狗鼻孔的图像,所述第二预定数量大于所述第一预定数量。
步骤S3a:以所述狗鼻孔图像作为Adaboost方法的正样本,所述不包含所述狗鼻孔的图像作为Adaboost方法的负样本获得所述狗鼻孔检测器。
执行步骤S1a,为了提取第一预定数量的狗鼻孔图像,需要先采集一定数量的包含狗的图像(通常将采集的包含狗的图像称为训练用狗图像,提取到的狗鼻孔的图像称为训练用狗鼻孔图像),本实施例中,具体地,可以通过图像采集设备,如照相机、摄像机或者在网上搜索包含有狗的图片来采集训练用狗图像,为了能够提高狗鼻孔检测器的性能,采集的训练用狗图像的数目应尽量的多,采集的训练用狗图像既可以是彩色图像也可以是黑白图像。
本实施例中,采集到的训练用狗图像的数量可以与所述第一预定数量相同,也可以略少于所述第一预定数量(该情况适用于一幅训练用狗图像中包括至少两只狗的图像的训练用狗图像),优选地,采集到的训练用狗图像的数量与所述第一预定数量相同,所述第一预定数量N1大于或等于500幅,而且为了能够提取到清楚且完整的狗鼻孔图像,对于采集到的每一幅训练用狗图像而言,应尽量包含一只狗的狗脸的正面,或者一只狗的狗脸的近似正面,以确保狗的鼻孔可以完全清楚可见。
本实施例中,为了能够检测到大部分狗的鼻孔,采集到的训练用狗图像中狗鼻孔的宽Wn应大于或等于22个像素,狗鼻孔的高Hn应大于或等于22个像素,即狗鼻孔的尺寸应满足:
进一步地,考虑到若训练用狗图像中的狗鼻孔的尺寸太大,很可能导致后续获得的狗鼻孔检测器对待检测图像中小狗的鼻孔检测不到,而若训练用狗图像中的狗鼻孔的尺寸过小,则可能导致后续获得的狗鼻孔检测器对待检测图像中的狗鼻孔进行检测时,分辨不清狗的鼻孔而导致漏检或者误检。因此,本实施例中,采集到的训练用狗图像中狗鼻孔的尺寸优选地为:
利用采集到的训练用狗图像来提取狗鼻孔图像,具体地包括:
从训练用狗图像中提取包含狗鼻孔的图像,对所述包含狗鼻孔的图像进行归一化,获取狗鼻孔图像。
本实施例中,从训练用狗图像中提取包含狗鼻孔的图像可以通过以下两种方式进行,以下进行一一说明。
第一种:
标定所述训练用狗图像中狗鼻孔的左上角和右下角位置/右上角和左下角位置。
基于所述狗鼻孔的左上角和右下角位置/右上角和左下角位置获取所述训练用狗图像中狗鼻孔的中心位置。
以所述狗鼻孔的中心位置为对称中心,移动所述狗鼻孔的左上角和右下角位置/右上角和左下角位置直至所述狗鼻孔的左上角和右下角/右上角和左下角在水平方向的距离与所述狗鼻孔的宽相同,在竖直方向的距离与所述狗鼻孔的高相同。
本实施例中,以标定所述训练用狗图像中狗鼻孔的左上角和右下角位置为例进行说明。请参见图3,图3是本发明实施例一的提取狗鼻孔图像的示意图,如图3所示,标定狗鼻孔的左上角位置为初始位置(xn1,yn1),右下角位置为终止位置(xn2,yn2),为了能够获得完整的狗鼻孔的图像,需要确保以所述初始位置与所述终止位置之间的连线为对角线的矩形应完全包含狗鼻孔。在对狗鼻孔的左上角和右下角位置进行标定后,狗鼻孔的中心位置可以通过如下公式获得:
然后,以所述狗鼻孔的中心位置为对称中心,移动所述狗鼻孔的左上角位置和右下角位置。
具体地,设定初始位置(狗鼻孔的左上角位置)和终止位置(狗鼻孔的右下角位置)之间的宽W1=xn2~xn1,初始位置和终止位置之间的高H1=yn1-yn2,保持终止位置的水平坐标xn2不变,沿竖直方向移动终止位置,保持初始位置的纵坐标yn1不变,沿水平方向移动初始位置,然后以中心位置为对称中心调整初始位置和终止位置的位置,直至W1和狗鼻孔的宽相同,H1和狗鼻孔的高相同,即可以提取出狗鼻孔图像。
上述仅以标定初始位置为狗鼻孔的左上角、终止位置为狗鼻孔的右下角为例进行了说明,在其他实施例中还可以标定初始位置为狗鼻孔的右上角、终止位置为狗鼻孔的左下角来提取狗鼻孔图像,具体提取过程与以初始位置为狗鼻孔的左上角、终止位置为狗鼻孔的右下角提取狗鼻孔图像的过程相类似,此处不再展开详述。
第二种:
建立包含所述狗鼻孔的矩形窗。
调整所述矩形窗的尺寸和位置,直至调整后的矩形窗与所述狗鼻孔的边缘外切。
具体地,在训练用狗图像中建立包含狗鼻孔的矩形窗,优先地所建立的矩形窗的长宽比与所述狗鼻孔的宽高比相同,缩小矩形窗的尺寸直至矩形窗的四条边与狗鼻孔的边缘外切。
通常来讲,狗鼻孔近似为圆形,因此,狗鼻孔的宽与狗鼻孔的高之比近似相等,通常狗鼻孔的宽高比的范围为0.9~1.1,在实际检测中,为了便于采集训练用狗鼻孔图像,通常在对狗鼻孔的图像进行提取时,以狗鼻孔的宽高比为1来提取狗鼻孔的图像。
此外,本实施例中,若采集到的训练用狗图像为彩色图像,则提取的狗鼻孔图像也为彩色图像,此时需要将其转换为灰度图像,具体地,通过如下公式将狗鼻孔的彩色图像转换为狗鼻孔的灰度图像:
P=0.299×R+0.587×G+0.114×B
其中,P是转换后的狗鼻孔的灰度图像中任意像素点的灰度值,R、G、B分别是该像素点在狗鼻孔的彩色图像中对应的红、绿和蓝基色的分量值。
通过上述步骤从训练用狗图像中提取了包含狗鼻孔的图像后,还需要对提取的包含狗鼻孔的图像进行归一化处理,通过提取的包含狗鼻孔图像的尺寸和预定的归一化尺寸获取相应的缩放倍数,基于所述缩放倍数和图像差值方法来对提取的包含狗鼻孔的图像进行插值,进而实现对所述狗鼻孔图像的归一化。
本实施例中,归一化后的狗鼻孔图像的尺寸可以在20×20~28×28像素之间,以下以归一化后的狗鼻孔图像的尺寸为24×24像素,对所述狗鼻孔图像的归一化过程进行简要的说明。
根据提取的包含狗鼻孔图像的实际尺寸和最终需要归一化的尺寸获取狗鼻孔图像的缩放倍数RN1,所述缩放倍数RN1具体通过如下公式获得:
或
其中,Win为提取的狗鼻孔图像的宽,Hin为提取的狗鼻孔图像的高,Wnn为归一化后的狗鼻孔图像的宽,Hnn为归一化后的狗鼻孔图像的高。
基于获得的狗鼻孔图像的缩放倍数RN1和相应的图像插值方法对狗鼻孔的图像进行归一化,所述图像插值方法可以采用双线性插值(bilinearinterpolation)、最近邻插值(nearest neighbor interpolation)、双三次插值(bicubicinterpolation)等,本实施例中,优选地采用双线性插值方法或者最近邻插值方法对提取的狗鼻孔图像进行归一化。采用图像插值方法和图像的缩放倍数对图像进行归一化为本领域的公知技术,故,此处不再展开具体详述。
在对所述狗鼻孔的图像进行归一化后,为了可以获得更多的样本数,以提高后续获得的狗鼻孔检测器的性能,可以对获得的归一化后的狗鼻孔图像进行左右翻转来获得新的训练用狗鼻孔图像,故对于上述的提取第一预定数量N1的狗鼻孔的图像而言,通过左右翻转,可以获得2N1的狗鼻孔图像。
具体地,通过如下公式对狗鼻孔图像进行左右翻转:
其中,P(i,nc-j+1)是归一化后的狗鼻孔图像中第i行nc-j+1列的像素值,P1(i,j)是左右翻转后的狗鼻孔图像中第i行j列的像素值,nr×nc是归一化后的狗鼻孔图像的尺寸。由于本实施例中,以归一化后的狗鼻孔图像的尺寸为24×24像素进行说明,故nr=24,nc=24。
至此,通过上述方法从采集到的训练用狗图像中提取了包含狗鼻孔的图像,获得了后续采用Adaboost训练方法训练获得狗鼻孔检测器的正样本。
执行步骤S2a:提取第二预定数量的不包含所述狗鼻孔的图像,本步骤中,既可以从不包含狗的图像中提取非狗鼻孔的图像,也可以从包含狗的图像中提取非狗鼻孔图像。所述不包含狗的图像或者包含狗的图像可以通过相机、摄像机采集、或者通过上网搜索的方法获得。
为了提高狗鼻孔检测器的性能,尤其是提高狗鼻孔检测器对与所述狗鼻孔相似的目标的区分性能,本实施例中,优选地,从不包含狗的训练用图像中提取非狗鼻孔的图像,且所述不包含狗的训练用图像中应尽可能包含各种常见背景和较多的其他目标,例如:猫、兔子、鹿、老虎、狮子、行人和图标等等。且采集到的不包含狗鼻孔的图像的数量可以与第二预定数量相同,也可以小于所述第二预定数量,对于后一种情况而言,则是通过在每一幅图像中提取多幅不包含狗鼻孔的图像以获得第二预定数量的不包含狗鼻孔的图像。
本实施例中提取的不包含狗鼻孔图像的尺寸与归一化后的狗鼻孔图像的尺寸相同。提取不包含狗鼻孔的图像为本领域的公知常识,故,此处不再展开赘述。
此外,需要说明的是,若提取的训练用不包含狗鼻孔的图像也为彩色图像,则仍需要将其转换成为灰度图像,具体地,可以参见上述将狗鼻孔的彩色图像转换为狗鼻孔的灰度图像时采用的公式,此处不再赘述。
本实施例中,所述第二预定数量N2大于所述第一预定数量N1,优选地,所述第二预定数量N2在1.5 N1~5 N1之间。
至此,通过步骤S2a获得了后续采用Adaboost训练方法训练获得狗鼻孔检测器的负样本。
执行步骤S3a:利用在步骤S1a中获得的训练用狗鼻孔图像作为Adaboost方法中的正样本,在步骤S2a中获得的训练用不包含狗鼻孔的图像作为Adaboost方法中的负样本,进行训练以获得狗鼻孔检测器。采用Adaboost方法训练检测器为本领域的公知常识,此处不再展开赘述。本实施例中,Adaboost方法中的训练参数包括:正样本数、负样本数、正/负样本归一化尺寸、级数、每一级最小正样本通过率及每一级最大虚警率。
所述正样本数,即为上述提取的训练用狗鼻孔图像的数目,由上述可以知道对狗鼻孔图像进行左右翻转后可以使得狗鼻孔图像的数目增加一倍,故此处正样本的数目为2N1,所述负样本数,即为上述的提取的训练用不包含狗鼻孔图像的数目;所述级数即Adaboost检测器所包括的多级的数目,对于每一级而言其都具有相应的检测性能指标。每一级正样本通过率是指对于每一级而言,正确检测到的正样本数占总正样本数的百分比,举例来说,提取的狗鼻孔图像为100幅,本级训练得到的狗鼻孔检测器检测到60幅为狗鼻孔图像,则该级的正样本通过率为60%;每一级虚警率是指对于每一级而言,错误检测到的负样本数占总正样本数的百分比,举例来说,提取了100幅包含狗鼻孔的图像,但是本级训练得到的狗鼻孔检测器检测出有20幅是不包含狗鼻孔的图像,则该级的虚警率为20%。为了获得性能较优的狗鼻孔检测器,在对训练参数进行设置时,每一级的最小正样本的通过率应尽可能的高,每一级的最大虚警率应尽可能的低。
本实施例中,为了能够使得最终获取的狗鼻孔检测器的性能较好,需要对Adaboost方法中的训练参数进行相应的设置,具体地,正样本数大于或等于500,即训练用狗鼻孔图像的数目要大于或等于500幅(实际采集的训练用狗图像可以只大于或等于250幅,在大于或等于250幅的训练用狗图像中提取大于或等于250幅的包含狗鼻孔的图像,再进行左右翻转最终获得训练用狗鼻孔图像的数目大于或等于500幅);负样本数为所述正样本数的1.5~5倍,即训练用不包含狗鼻孔图像的数目为训练用狗鼻孔图像数目的1.5~5倍;正/负样本归一化尺寸为20×20~28×28像素;训练用级数为15~25级;每一级最小正样本通过率为0.995~0.998;每一级最大虚警率为0.46~0.50。本实施例中,优选地,采用Adaboost方法训练狗鼻孔检测器时相关参数的具体设置请参见表1。
表1
正样本数 |
1564 |
级数 |
19 |
负样本数 |
3000 |
每一级最小正样本通过率 |
0.998 |
归一化大小 |
24×24 |
每一级最大虚警率 |
0.48 |
至此,通过上述的步骤S1a、S2a、S3a获得了狗鼻孔检测器。
实施例二
请参见图4,图4是本发明实施例二的狗眼睛检测器的形成方法的流程图,如图4所示,所述狗眼睛检测器的形成方法包括:
步骤S1b:提取第一预定数量的一只狗眼睛图像。
步骤S2b:提取第二预定数量的不包含所述狗眼睛的图像,所述第二预定数量大于所述第一预定数量。
步骤S3b:以所述狗眼睛图像作为Adaboost方法的正样本,所述不包含所述狗眼睛的图像作为Adaboost方法的负样本获得所述狗眼睛检测器。
本实施例中,步骤S1b中,提取第一预定数量的一只狗眼睛图像,与实施例一中提取第一预定数量的狗鼻孔图像的过程相类似,不同的是从训练用狗图像中,提取包含一只狗眼睛的图像,故此处对提取一只狗眼睛的图像不再展开具体详述,只进行简单的说明。
本实施例中,对于一只狗眼睛图像的提取而言,所述第一预定数量N1大于或等于400幅(实际采集的训练用狗图像可以大于或等于100幅,在采集的训练用狗图像中提取狗的左眼和/或狗的右眼图像,将提取到的狗的左眼图像进行左右翻转,将提取到的狗的右眼图像进行左右翻转则可以提取到大于或等于400幅的一只狗眼睛的图像)。
考虑到后续采用狗眼睛检测器对狗眼睛进行检测时,能够尽可能准确的检测到狗眼睛,故采集到的训练用狗图像中,任一只狗眼睛的宽We应满足大于或等于15个像素,任一只狗眼睛的高He应满足大于或等于10个像素,即任一只狗眼睛的尺寸应满足:
进一步地,考虑到若训练用狗图像中的狗眼睛的尺寸太大,很可能导致后续获得的狗眼睛检测器对待检测图像中小狗的眼睛检测不到,而若训练用狗图像中的狗眼睛的尺寸过小,则可能导致后续获得的狗眼睛检测器对待检测图像中的狗眼睛进行检测时,分辨不清狗的眼睛而导致漏检或者误检。因此,本实施例中,采集到的训练用狗图像中任一只狗眼睛的尺寸优选地为:
利用采集到的训练用狗图像来提取一只狗眼睛图像,具体地包括:
从训练用狗图像中提取包含一只狗眼睛的图像,对所述包含一只狗眼睛的图像进行归一化,获取一只狗眼睛图像。本实施例中,从训练用狗图像中提取一只狗眼睛图像与实施例一中从训练用狗图像中提取包含狗鼻孔的图像的过程相类似,也可以采用如实施例一种所述的两种方式进行。
提取时,只要将采集到得训练用狗图像中符合尺寸的一只狗眼睛的左上角/右上角标定为初始位置、右下角/左下角标定为终止位置,然后根据标定后的初始位置和终止位置确定狗眼睛的中心位置,进而以所述中心位置为对称中心移动所述初始位置和终止位置,直至所述初始位置与终止位置在水平方向的距离与所述狗眼睛的宽相同,在竖直方向的距离与所述狗眼睛的高相同。
在采用第二种方式从训练用狗图像中提取狗眼睛时,具体地,在训练用狗图像中建立包含一只狗眼睛的矩形窗,优选地所建立的矩形窗的长宽比与一只狗眼睛的宽高比相同,缩小矩形窗的尺寸直至矩形窗的四条边与狗眼睛的边缘外切。
通常来讲,狗眼睛的宽高比的范围为1.3~1.7,在实际检测中,为了便于采集训练用狗眼睛图像,通常在对一只狗眼睛的图像提取时,以狗眼睛的宽高比为1.5来提取一只狗眼睛的图像。
需要说明的是,本实施例中,若提取到的训练用狗眼睛图像为彩色图像,则也需要将其转换为灰度图像,狗眼睛彩色图像转换为灰度图像可以参见实施例一中的狗鼻孔彩色图像转换为灰度图像的公式进行。
在提取了狗眼睛的图像后,也需要对狗眼睛的图像进行归一化处理,本实施例中,归一化后的狗眼睛的尺寸可以在10×15~20×30像素之间,对所述狗眼睛的图像进行归一化,也是通过提取的包含狗眼睛图像的尺寸和预定的归一化尺寸获取相应的缩放倍数,基于所述缩放倍数和图像插值方法对提取的狗眼睛图像进行插值,进而实现对所述狗眼睛图像的归一化。
在对所述狗眼睛的图像进行归一化后,仍然可以通过对归一化后的狗眼睛图像进行左右翻转来获得更多的训练用狗眼睛图像,进而提高后续获得的狗眼睛检测器的性能。故对于上述的提取第一预定数量N1的狗眼睛的图像而言,通过左右翻转,可以获得2N1的狗眼睛图像。
对归一化后的训练用狗眼睛图像进行左右翻转可以参见实施例一中对狗鼻孔图像进行左右翻转的公式进行,若本实施例中,归一化后的狗眼睛图像的尺寸为10×15,则上述公式中nr=10,nc=15。
本实施例中,步骤S2b中提取第二预定数量的不包含所述狗眼睛的图像与实施例一中提取第二预定数量的不包含所述狗鼻孔的图像相类似,提取的不包含狗眼睛图像的尺寸与归一化后的狗眼睛图像的尺寸相同,且所述第二预定数量N2大于所述第一预定数量N1,优选地,所述第二预定数量N2在2N1~4N1之间。
本实施例中,步骤S3b中以步骤S1b中获得的训练用狗眼睛图像作为Adaboost方法中的正样本,步骤S2b中获得的训练用不包含所述狗眼睛的图像作为Adaboost方法中的负样本,采用Adaboost方法训练狗眼睛检测器与实施例一中采用Adaboost方法训练狗鼻孔检测器相类似,不同的是训练过程中训练参数的设置有所不同,本实施例中,为了能够使得最终获取的狗眼睛检测器的性能较好,采用Adaboost方法对狗眼睛检测器进行训练时相关训练参数的设置如下:正样本数大于或等于400,即训练用狗眼睛图像的数目要大于或等于400幅;负样本数为所述正样本数的2~4倍,即训练用不包含狗眼睛图像的数量为训练用狗眼睛图像数量的2~4倍;正/负样本归一化尺寸为10×15~20×30像素;训练用级数为15~25级;每一级最小正样本通过率为0.995~0.998;每一级最大虚警率为0.46~0.50。本实施例中,优选地,采用Adaboost方法训练狗眼睛检测器时相关参数的具体设置请参见表2。
表2
正样本数 |
600 |
级数 |
20 |
负样本数 |
1500 |
每一级最小正样本通过率 |
0.996 |
归一化大小 |
10×15 |
每一级最大虚警率 |
0.48 |
至此,通过上述的步骤S1b、S2b、S3b获得了狗眼睛检测器。
通过上述方法获得狗鼻孔检测器和狗眼睛检测器后,则可以通过这两种狗脸特征检测器,对待检测图像中的狗鼻孔和狗眼睛所在的位置进行检测,进而通过检测到的狗鼻孔和狗眼睛所在的位置来标定狗脸的位置,即检测狗脸。为了能够详细说明本发明实施例的狗脸检测方法,以下分别以通过狗鼻孔检测器检测狗脸、狗眼睛检测器检测狗脸、以及通过狗鼻孔检测器和狗眼睛检测器联合检测狗脸的方式来对本发明实施例的狗脸检测方法进行相应的说明。
实施例三
本实施例中,是以狗鼻孔检测器检测到的狗鼻孔为主,狗眼睛检测器检测到的狗眼睛为辅来对狗脸进行检测。
请参见图5,图5是本发明实施例三的狗脸检测方法的流程图,如图5所示,所述狗脸检测方法包括:
步骤S4:对待检测图像进行预处理。
步骤S5:采用狗鼻孔检测器对预处理后的待检测图像中的狗鼻孔进行检测。
步骤S6:采用狗眼睛检测器对待检测图像中的狗眼睛进行检测。
步骤S7:通过所述狗鼻孔检测器和所述狗眼睛检测器的检测结果对所述狗脸进行标定。
执行步骤S4,为了能够对不同的待检测图像中的狗脸都能够检测,如对质量较差的待检测图像中较小的狗鼻孔进行检测,同时也为了加快高分辨率的待检测图像的处理速度,首先对待检测图像进行相应的预处理。请参见图6,图6是本发明实施例三中对待检测图像进行预处理的流程图,如图6所示,所述预处理包括:
步骤S4a:基于分段缩放系数对所述待检测图像进行缩放,所述分段缩放系数关联于狗鼻孔检测器的尺寸。
步骤S4b:对缩放后的待检测图像进行左右翻转。
步骤S4c:对缩放后的待检测图像旋转预定角度。
执行步骤S4a,具体地,先构造分段缩放函数,本实施例中,分段缩放函数具体为:
其中,N是总区间数,s
n是第n个区间对应的缩放倍数,1≤n≤N;N的取值和待检测图像的尺寸相关,本实施例中N取值为在3~15之间的正整数;x为待检测图像的尺寸中较大的尺寸,具体地,若待检测图像为横图,则x为横图的宽,若待检测图像为竖图,则x为竖图的高。本实施例中,缩放区间的划分具体地为:a
1取值在50~100之间,a
N-1取值在800~3000之间,而其他a
n取值可以按递增随机选取或者按公式:
2≤n≤N-2进行;缩放倍数的取值具体为:s
1取值在5~15之间,s
N-1取值为1,s
N取值为
其他s
n取值可以按递减随机选取或者按公式:
2≤n≤N-2。
对于待检测图像而言,若W是待检测图像的宽,H是高,设m是选取相应的缩放倍数s时的参数,则通过如下公式获得m:
m=α×W+β×H,其中α≥0,β≥0,且α+β=1
然后以m作为上述构造的分段函数f的自变量,即此时分段函数中的x为m,在m属于不同的区间时来选择对待检测图像应进行缩放的倍数s。
通过上述的分段缩放函数获得了不同区间上的相应的缩放倍数后,基于所述缩放倍数并结合图像插值方法来对待检测图像进行相应的缩放,以使得通过所述狗鼻孔检测器可以准确的检测到待检测图像中的狗鼻孔。所述图像插值方法可以采用如:双线性插值方法、最近邻插值方法、双三次插值方法等,本实施例中优选地采用双线性插值方法或者最近邻插值方法。
本实施例中,构造的分段函数所对应的缩放倍数与训练获得的狗鼻孔检测器的尺寸相关,具体的,所述缩放倍数由训练所得的狗鼻孔检测器的大小和每个缩放区间上统计所得的待检测图像中狗鼻孔尺寸的大小而定。发明人通过对采集到的多幅待检测图像进行实验,最终确定了较优的分段缩放区间及对应于所述分段缩放区间的缩放倍数,本实施例中,所述分段的分段缩放区间为12个区间,具体地,依次为(0,100),[100,150),[150,200),[200,250),[250,300),[300,350),[350,400),[400,450),[450,500),[500,800),[800,1280)和[1280,+∞),对应于相应的区间,采用上述的分段缩放函数,既可以获得各区间上对应的缩放倍数依次是6,5.5,5,4.5,4,3.5,3,2.5,2,1.5,1,
本实施例中,为了进一步地提高对待检测图像中的狗脸进行检测时的正确率,优选地,对经过预处理后的待检测图像进行左右翻转,所述左右翻转与狗鼻孔检测器的形成方法或狗眼睛检测器的形成方法中的左右翻转相类似,故,此处不再展开具体详述。
由于待检测图像中的狗脸不一定是其正面,故狗鼻孔也不一定是正面,为了提高采用狗鼻孔检测器检测狗鼻孔时的正确率,对经过左右翻转后的预处理的待检测图像旋转预设角度。且由于狗鼻孔为圆形,故其对角度变化的鲁棒性好,对于狗鼻孔向右侧或者向左侧的预处理后的待检测图像,可以通过对经过预处理和左右翻转后的待检测图像顺时针或者逆时针旋转预设角度α以使得狗鼻孔更接近正面,具体地,若狗鼻孔向右侧,则顺时针旋转α,若狗鼻孔向左侧,则逆时针旋转α,本实施例中α的取值在5度到10度之间。
对待检测的图像进行了上述的预处理后,即对所述待检测图像进行了缩放、左右翻转、旋转后,均执行步骤S5,采用实施例一中获得的狗鼻孔检测器对预处理后的待检测图像中的狗鼻孔进行检测。具体地,
根据当前搜索窗口的尺寸对预处理后的待检测图像进行分割获得至少一个搜索子窗口。
通过所述狗鼻孔检测器检测所述搜索子窗口,直至检测到存在所述狗鼻孔的搜索子窗口。
若不存在,则以预设倍数更新当前搜索窗口的尺寸,重复上述过程,直至当前搜索窗口的尺寸大于预处理后的待检测图像的尺寸。
输出存在所述狗鼻孔的搜索子窗口的位置。
本实施例中,所述预设倍数与预处理后的待检测图像的尺寸相关,一般来讲,所述预设倍数在1.2~1.5之间,当前搜索窗口的初始尺寸与狗鼻孔检测器的尺寸相同,以上述的狗鼻孔检测器的尺寸为24×24像素,所述预设倍数为1.2为例,则设置当前搜索窗口的初始尺寸为24×24像素,根据当前搜索窗口的初始尺寸对预处理后的待检测图像进行分割,获得多个搜索子窗口,对每个搜索子窗口采用狗鼻孔检测器对其进行检测,如检测到狗鼻孔,则存储该搜索子窗口的位置,并输出存在所述狗鼻孔的搜索子窗口的位置,结束检测。若没有检测到狗鼻孔,则将当前搜索窗口的尺寸更新为29×29像素(按照预设倍数应该是28.8×28.8,为了方便检测,故更新后的当前搜索窗口的尺寸应为对当前搜索窗口的尺寸与预设倍数的乘积取整),基于更新后的当前搜索窗口的尺寸,继续对预处理后的待检测图像进行分割,搜索狗鼻孔,直至最终更新后的当前搜索窗口的尺寸大于预处理后的待检测图像的尺寸。
采用狗鼻孔检测器对预处理后的待检测图像中的狗鼻孔进行检测后,采用狗眼睛检测器对待检测图像中的狗眼睛进行检测。具体地,根据当前搜索窗口的尺寸对待检测图像进行分割获得至少一个搜索子窗口。
通过所述狗眼睛检测器检测所述搜索子窗口,直至检测到存在所述狗眼睛的搜索子窗口。
若不存在,则以预设倍数更新当前搜索窗口的尺寸,重复上述过程,直至当前搜索窗口的尺寸大于待检测图像的尺寸。
输出存在所述狗眼睛的搜索子窗口的位置。
采用狗眼睛检测器检测待检测图像中的狗眼睛时,所述预设倍数与待检测图像的尺寸相关,一般来讲,所述预设倍数在1.2~1.5之间,当前搜索窗口的初始尺寸与狗眼睛检测器的尺寸相同,以狗眼睛检测器的尺寸为10×15像素,预设倍数为1.2为例,则设置当前搜索窗口的初始尺寸为10×15像素,根据当前搜索窗口的初始尺寸对待检测图像进行分割,获得多个搜索子窗口,对每个搜索子窗口采用狗眼睛检测器对其进行检测,如检测到狗眼睛,则存储该搜索子窗口的位置,并输出存在所述狗眼睛的搜索子窗口的位置,结束检测。若没有检测到狗眼睛,则将当前搜索窗口的尺寸更新为12×18像素,基于更新后的当前搜索窗口的尺寸,继续对待检测图像进行分割,搜索狗眼睛,直至最终更新后的当前搜索窗口的尺寸大于待检测图像的尺寸。此外,若在更新过程中,更新后的当前搜索窗口的尺寸不为整数,如对上述的当前搜索窗口12×18像素再进行更新时,则为14.4×21.6,同样地,更新后的当前搜索窗口的尺寸应为对当前搜索窗口的尺寸与预设倍数的乘积取整,故将当前搜索窗口12×18像素更新后的搜索窗口的尺寸应为15×22。
通过上述的狗鼻孔检测器以及狗眼睛检测器即可以对待检测图像中的狗鼻孔和狗眼睛进行检测,进而可以通过狗鼻孔以及狗眼睛的检测结果对狗脸进行标定。
在对狗脸进行标定前,先对狗脸模型中狗鼻孔和狗眼睛的位置关系进行相应的说明。请参见图7,图7是狗脸模型中狗鼻孔和狗眼睛的位置关系图;如图7所示,图中A和B分别代表狗的左眼睛和狗的右眼睛的中心位置,C代表狗鼻孔的中心位置,当狗左/右眼睛的左上角位置和右下角位置确定后,狗左/右眼睛的中心位置则可以确定,狗鼻孔的左上角位置和右下角位置确定后,狗鼻孔的中心位置也就确定了。通过狗左眼睛和右眼睛的中心位置或/和狗鼻孔的中心位置即可以对狗脸进行标定。
本实施中,采用狗鼻孔检测器和狗眼睛检测器进行联合检测后,就可以通过狗鼻孔检测器和狗眼睛检测器的检测结果对狗脸进行标定。具体地,在检测过程中可能出现下述的检测结果:
(1)同时检测到狗鼻孔和两只狗眼睛,且狗鼻孔和两狗眼睛未重合,则狗鼻孔的检测结果和狗眼睛的检测结果均为正确;进而通过如下公式对待检测图像中的狗脸进行标定:
其中,(xa,ya)为标定后的狗的左眼睛的中心位置,(xb,yb)为标定后的狗的右眼睛的中心位置,(xc,yc)为标定后的狗鼻孔的中心位置,(xa1,ya1)和(xa2,ya2)分别为检测到的狗的左眼睛左上角和右下角的位置,(xb1,yb1)和(xb2,yb2)分别为检测到的狗的右眼睛左上角和右下角的位置,(xc1,yc1)和(xc2,yc2)分别为检测到的狗鼻孔左上角和右下角的位置,(xf1,yf1)和(xf2,yf2)分别为标定的狗脸左上角和右下角的位置。
(2)同时检测到狗鼻孔和一只狗眼睛,且所述狗鼻孔和一只狗眼睛未重合,则狗鼻孔的检测结果正确,狗眼睛的检测结果为虚警;或者只检测到狗鼻孔,则通过如下公式对所述狗脸进行标定:
(3)同时检测到狗鼻孔和两只狗眼睛,但狗鼻孔和一只狗眼睛有重合,则狗鼻孔的检测结果为虚警,狗眼睛的检测结果为正确;则通过如下公式对所述狗脸进行标定:
(4)同时检测到狗鼻孔和一只狗眼睛,但狗鼻孔和一只狗眼睛有重合,则狗鼻孔和狗眼睛的检测结果均为虚警,无法对狗脸进行标定。
(5)只检测到一只或两只狗眼睛,则狗眼睛的检测结果均为虚警,无法对狗脸进行标定。
(6)什么也没检测到,则表明待检测图像中无狗。
需要说明的是,对于上述的检测过程,若通过所述狗鼻孔检测器检测到的狗鼻孔的位置与通过所述狗眼睛检测器检测到的狗眼睛的位置对所述狗脸进行标定后,出现
则
则
其中,W,H分别为待检测图像的宽和高。
表3是采用本实施例的狗脸检测方法,对待检测的图像进行检测时获得的测试结果:
表3
平均分辨率(像素) |
652×488 |
狗种类总数(种) |
大于80 |
狗脸总数(个) |
708 |
检测正确率(%) |
86.86% |
检测虚警率(个/图像) |
0.152 |
请参见图8,图8是采用本发明实施例三的狗脸检测方法对待检测图像进行检测后的实际示例图;其中标定在狗鼻孔上的矩形框是狗鼻孔检测器检测的结果,标定在狗眼睛上的矩形框是狗眼睛检测器检测的结果,而最大的矩形框是根据检测到的狗鼻孔与狗眼睛的位置关系标定的狗脸检测结果。在对狗脸进行标定的过程中,狗眼睛检测器的检测结果起到了辅助作用。所示实例中三只狗为不同种类的狗,图像背景为一般生活背景,图中狗脸均被准确检测到,中间实例中的两只猫也能正确区分,总体检测结果没有虚警。对于右边实例中的图像而言,一只狗眼睛没有检测到,但这并不影响以狗鼻孔为主、狗眼睛为辅来对狗脸进行标定。结合表3的测试结果和图8可以获悉,通过本实施例的狗脸检测方法,能够对狗脸进行准确的检测。
对应于上述的狗脸检测方法,本发明实施例还提供一种狗脸检测装置,请参见图9,图9是本发明实施例三的狗脸检测装置的结构示意图,如图9所示,所述狗脸检测装置包括:
狗鼻孔检测器101。
狗眼睛检测器102。
预处理单元103,适于对待检测图像进行预处理。
狗鼻孔检测单元104,与所述狗鼻孔检测器101、预处理单元103相连,适于采用所述狗鼻孔检测器101对预处理后的待检测图像中的狗鼻孔进行检测。
狗眼睛检测单元105,与所述狗眼睛检测器102相连,适于采用所述狗眼睛检测器102对待检测图像中的狗眼睛进行检测。
标定单元106,与所述狗鼻孔检测单元104、狗眼睛检测单元105相连,适于基于所述狗鼻孔检测单元104和所述狗眼睛检测单元105的检测结果对所述狗脸进行标定。
本实施例中,所述预处理单元103包括:
分段缩放单元(图中未示出),适于基于分段缩放系数对所述待检测图像进行缩放,所述分段缩放系数关联于所述狗鼻孔检测器的尺寸。
旋转单元(图中未示出),适于对缩放后的待检测图像旋转预定角度。
左右翻转单元(图中未示出),适于在所述分段缩放单元对所述待检测图像进行缩放后,所述旋转单元对缩放后的待检测图像旋转预定角度前,对所述缩放后的待检测图像进行左右翻转。
所述狗鼻孔检测单元104包括:
第一分割单元(图中未示出),适于根据当前搜索窗口的尺寸对预处理后的待检测图像进行分割获得至少一个搜索子窗口。
第一检测单元(图中未示出),适于通过所述狗鼻孔检测器101检测所述搜索子窗口,直至检测到存在所述狗鼻孔的搜索子窗口。
第一更新单元(图中未示出),适于在所述第一检测单元检测不到存在所述狗鼻孔的搜索子窗口时,以第一预设倍数更新当前搜索窗口的尺寸。
第一控制单元(图中未示出),适于在所述第一更新单元更新后的当前搜索窗口的尺寸小于或等于所述预处理后的待检测图像的尺寸时,控制上述单元工作。
第一输出单元(图中未示出),适于在所述第一检测单元检测到存在所述狗鼻孔的搜索子窗口时,输出存在所述狗鼻孔的搜索子窗口的位置。
所述狗眼睛检测单元105包括:
第二分割单元(图中未示出),适于根据当前搜索窗口的尺寸对待检测图像进行分割获得至少一个搜索子窗口。
第二检测单元(图中未示出),适于通过所述狗眼睛检测器102检测所述搜索子窗口,直至检测到存在所述狗眼睛的搜索子窗口。
第二更新单元(图中未示出),适于在所述第二检测单元检测不到存在所述狗眼睛的搜索子窗口时,以第二预设倍数更新当前搜索窗口的尺寸。
第二控制单元(图中未示出),适于在所述第二更新单元更新后的当前搜索窗口的尺寸小于或等于所述待检测图像的尺寸时,控制上述单元工作。
第二输出单元(图中未示出),适于在所述第二检测单元检测到存在所述狗眼睛的搜索子窗口时,输出存在所述狗眼睛的搜索子窗口的位置。
本实施例中,所述狗脸检测装置对狗脸进行检测的过程可以参见上述的狗脸检测方法进行,此处不再赘述。
实施例四
本实施例中,通过采用所述狗鼻孔检测器检测到狗鼻孔或者采用所述狗眼睛检测器检测到狗眼睛来检测狗脸,即采用狗脸特征检测器检测狗脸特征,进而通过所述狗脸特征来对狗脸进行标定。以下对采用狗脸特征检测器检测狗脸的方法进行相应的说明。
请参见图10,图10是本发明实施例四的狗脸检测方法的流程图;如图10所示,所述狗脸检测方法包括:
步骤S4′:对待检测图像进行预处理。
步骤S5′:采用狗脸特征检测器对预处理后的待检测图像中的狗脸特征进行检测。
步骤S6′:通过所述狗脸特征检测器的检测结果对所述狗脸进行标定。
本实施例中,所述狗脸特征检测器既可以为狗鼻孔检测器也可以为狗眼睛检测器,且本实施例中对待检测图像进行预处理,以及采用狗鼻孔检测器对预处理后的待检测图像中的狗鼻孔进行检测与实施例三中相类似,采用狗眼睛检测器对预处理后的待检测图像中的狗眼睛进行检测与采用狗鼻孔检测器对预处理后的待检测图像中的狗鼻孔进行检测相类似,对待检测图像中狗脸的标定也与实施例三中相类似,故此处不再展开具体详述。
对应于上述的狗脸检测方法,本发明实施例还提供一种狗脸检测装置,请参见图11,图11是本发明实施例四的狗脸检测装置的结构示意图,如图11所示,所述狗脸检测装置包括:
狗脸特征检测器201。
预处理单元202,适于对待检测图像进行预处理。
检测单元203,与所述狗脸特征检测器201、预处理单元202相连,适于采用所述狗脸特征检测器201对预处理后的待检测图像中的狗脸特征进行检测。
标定单元204,与所述检测单元203相连,适于基于所述检测单元203的检测结果对所述狗脸进行标定。
本实施例中,所述预处理单元202包括:
分段缩放单元(图中未示出),适于基于分段缩放系数对所述待检测图像进行缩放,所述分段缩放系数关联于狗脸特征检测器的尺寸。
旋转单元(图中未示出),适于对缩放后的待检测图像旋转预定角度。
左右翻转单元(图中未示出),适于在所述分段缩放单元对所述待检测图像进行缩放后,所述旋转单元对缩放后的待检测图像旋转预定角度前,对所述缩放后的待检测图像进行左右翻转。
所述检测单元203包括:
分割单元(图中未示出),适于根据当前搜索窗口的尺寸对预处理后的待检测图像进行分割获得至少一个搜索子窗口。
特征检测单元(图中未示出),适于通过所述狗脸特征检测器201检测所述搜索子窗口,直至检测到存在所述狗脸特征的搜索子窗口。
更新单元(图中未示出),适于在所述特征检测单元检测不到存在所述狗脸特征的搜索子窗口时,以预设倍数更新当前搜索窗口的尺寸。
控制单元(图中未示出),适于在所述更新单元更新的当前搜索窗口的尺寸小于或等于预处理后的待检测图像的尺寸时,控制上述单元工作。
输出单元(图中未示出),适于在所述特征检测单元检测到存在所述狗脸特征的搜索子窗口时,输出所述狗脸特征的搜索子窗口的位置。
本实施例中,所述狗脸检测装置对狗脸进行检测的过程可以参见上述的狗脸检测方法进行,此处不再赘述。
综上所述,本发明实施例的技术方案,至少具有如下有益效果:
通过将狗脸特征图像作为Adaboost方法的正样本、不包含所述狗脸特征的图像作为Adaboost方法的负样本,进而通过Adaboost方法进行训练获得的狗脸特征检测器的性能好,能够准确、快速地检测出狗脸的特征。
通过采用上述的狗脸特征检测器对预处理后的待检测图像中的狗脸进行检测,可以准确地检测出狗脸所在的位置,且对所述狗脸进行检测时的正确率高、实时性好。
进一步地,所述预处理包括对待检测图像进行分段缩放后再旋转预定角度,使得采用所述狗脸特征检测器对狗脸进行检测时,能够对图像质量较差的待检测图像进行检测,且对待检测图像进行上述的预处理后再采用所述狗脸特征检测器对狗脸进行检测时,还可以加快对具有高分辨率的待检测图像的检测速度,进而实现对不同的待检测图像中的狗脸进行快速、准确的检测。
进一步地,通过狗鼻孔检测器对预处理后的待检测图像中的狗鼻孔进行检测,通过狗眼睛检测器对待检测图像中的狗眼睛进行检测,实现了以狗鼻孔检测为主,狗眼睛检测为辅来对狗脸进行检测,由于检测过程中以狗鼻孔为主,狗眼睛为辅,故可以去除可能击中在眼睛上的狗鼻孔的检测虚警,进而可以更加准确、快速地实现对狗脸的检测,且以狗鼻孔检测器的检测结果为主、狗眼睛检测器的检测结果为辅对狗脸进行检测,实时性好、检测的正确率高,虚警率很低。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。