基于边缘检测和形态学的人脸定位方法的研究
2016-04-14师路欢
师路欢
(许昌学院 机电工程学院,河南 许昌 461000)
基于边缘检测和形态学的人脸定位方法的研究
师路欢
(许昌学院 机电工程学院,河南 许昌 461000)
人脸的检测定位分两步进行,使用改进的Kirsch边缘检测算法初步定位出人脸在图像中的位置,然后利用形态学算法精确定位出人脸所在区域并将其提取出来作为输出.试验证实,此改进算法不易受噪声的干扰且能检测到真正的弱边缘.
边缘检测;形态学;人脸定位
人脸的特征有鼻梁、下巴、嘴唇和人脸的边缘等,而在这些特征中人脸边缘部分是其中一个重要的特征.为了准确的确定是人脸,减少信息的处理并且还能保留原图的信息,需要把人脸边缘信息作为提取目标.但是图像的边缘部分是亮度变化最明显的部分,并且它是一个阶跃函数,也就是说,要从一个非常小的灰度值缓冲区到灰度值大的灰度值[1].所以,作为人脸检测的重要环节之一的边缘检测的研究具有重要的意义.
1 边缘检测的人脸精确定位算法
Canny算法在检测步骤的边缘检测之中非常有效,而且可以去掉图像中的粗糙颗粒.但是检测时最低值是固定的,当检测到具有模糊边缘的图像时,其边缘信息可能被滤掉.Kirsch算法根据其值的取值情况及图像本身特点会自动的调整最低值从而获得了图像中的边缘点.然而前景色和背景色没有明显对比时就不能完整提取出图像的边缘信息.所以这种 Canny算法能改进Kirsch算法的检测边缘能力若的问题.
1.1 Canny算法的原理
当图像信号和滤波器都符合一定标准时,可以利用数值计算法来得到最优滤波并且对各种滤波的特性进行对比.边缘信息的提取是为了处理增强边缘与抗噪能力之间的问题,但是高频分量在图像边缘和噪声中都有体现,也就是说基本的微分运算中也会因为传感器噪声、图片在传输过程中的通道传输误差等因素会使图片上出现一些随机的、离散的、孤立的像素点,所以常微分运算应采取滤波来滤除这些像素点.Canny对这些像素点进行分析和研究,得出最优边缘检测的数学表达式.
Canny用数学的形式来表示其三个判据,而最佳边缘检测模板则利用最优化数值方法来得到.对于一个二维的图像,图像由多个模板进行处理,并通过卷积处理来处理图像.而对于阶跃型的边缘信号利用其二维高斯函数f(x,y)的特点,计算出f(x,y)在任意方向上的导数与图像的卷积.设二维高斯函数为
(1)
在某一方向n上的一阶方向导数为
(2)
这样,根据Gn的值是不是最大从而来确定这个点是不是图像的边缘点.
(3)
(4)
(5)
最优阶跃边缘算子的边缘强度由式(5)决定,其边缘方向为了提高速度,把▽G分解为两个一维的行列滤波器,然后与f(x,y)卷积,得到输出.中心边缘点为Gn*f(x,y)在的最大值,然后根据梯度方向来判断该点强度是否为其相邻区域的最大值来确定此点是不是边缘点.基于Canny的边缘检测法是一种较为实用的算法,可以检测到真正的对比度不强的点.然而,因为检测最低值的固定性,当图像检测到对比度不强的模糊边缘时,也很可能会导致边缘信息的边缘信息的平滑部分时.
1.2 Kirsch算法
Kirsch算法也是一种边缘检测方法,其梯度的方向和梯度是通过8个特定的覆盖图像的物体来确定的.然而图像中的每一个点都是利用这8个覆盖物体进行卷积,而每一个覆盖物体都对特定的方向做出最大的响应,在这所用的值中,最大的那个即为该点的输出值.当提取边缘时,该模板和一个区域的图像相乘,并选取具有最大输出值的模板.把这一最大值作为中央像素点上的边缘强度,把具有最大值的模板的方向作为其边缘方向[2,3].Kirsch算法对于阶跃性边缘,可以自动调整阈值,从而得到图像的最可能边缘点.当图像中前景色和背景色对比明显和相对集中时,Kirsch算法的优点表现十分突出.但是当前后景对比不强烈时时,则需要对其进行改进.
1.3 改进后的Kirsch算法
首用Canny算法得出原始图像的梯度,然后把梯度图像用Kirsch进行计算[1],具体的计算步骤为
第1步:用带的高斯滤波器来对原始图像平滑,在每一点处计算和.
第2步:对所计算出的梯度图像进行Kirsch计算.
第3步:边缘提取.
2 基于形态学的人脸精确定位算法
首先,对图像中呈现黑白效果的图像进行了边缘检测,其优点是:它可以消除孤立的像素点,并能打破窄间隙,消除细小亮点.然后,把结构闭操作运用到二值图像中可以使轮廓线更加光滑.当然,选定的结构元素的大小不能超过图像中检测到的人脸的最小尺寸.
根据人脸的知识,能够通过人脸的坚固性、紧凑性、长宽比来判断待定区域是否为人脸.这些简单但有效的准则依靠连通区域的面积A、周长P、外围矩形的宽度Dx和长度Dy.
紧凑性C、坚固性S、长宽比O分别为
(6)
因为人脸的特殊结构,所以在上式(6)中紧凑性的取值在区域中的参数超过某值时,才可以判断其他特性.
3 人脸精确定位实验过程与分析
下面图1中的四幅图像是驾驶室内实际采集的原始图像,图2中的图像是经改进的Kirsch边缘检测算法计算所得图像,图3为形态学操作即结构开操作和结构闭操作后的图像.
图1 原始图像
图2 边缘检测后的图像
图3 形态学操作后的图像
其中形态学操作采用如下所示的边长为3的square结构元素.图3四幅图像中的每幅图像中都有两块连通区域,区域A1和A2为待定的人脸候选区域,即其中的一块为人脸区域,需要进一步通过形态学算法来确定那一块为真正的人脸区域.取图3中的图像(a)说明如何由初始定位的两块区域的紧凑性、坚固性、长宽比的计算来确定人脸区域.下图4(a)就是图3中的(a)图加上坐标轴后的图像,4(b)图为待定区域A1,4(c)图为待定区域A2.
图4 形态学操作后的图像及待定人脸区域
连通区域A1(如图b所示)的A=28 577,P=1 623,Dx=163,Dy=209.
可以得到连通区域A1的C1≈0.010 848 7,S1≈0.838 847 7,O1≈1.282 209.
连通区域A2(如图c所示)的A=4 007,P=854,Dx=112,Dy=51.
可以得到连通区域A1的C2≈0.005 494,S2≈0.701 506,O2≈0.455 357.
显然有C1>C2、S1>S2、O1>O2,根据初始定位的两块区域中紧凑性、坚固性、长宽比都比较大的那一块为人脸区域,可知区域A1为人脸区域.
图3中另外三幅图像的待选区域A1和A2如图5所示,其中图5(a)和图5(b)为图3(b)的待选区域,图5(c)和图5(d)为图3(c)的待选区域,图5 (e)和图5 (f)为图3(c)的待选区域.
图5 另外三幅图像的待选区域A1和A2
图3中各幅人脸图像中的连通区域A1和A2的紧凑性、坚固性、长宽比的值在表1中.
表1 人脸图像中连通区域A1和A2的参数
由表1可以得出在图3的四幅图像中连通区域A1对应的区域能正确判定为人脸区域,但是这里存在一个显著的问题,如表1的最后一行加粗字体所示直接利用连通区域的长宽比O=Dx/Dy来判定待选区域是否为人脸区域并不合适,图4的(b)、(c) 、(d)图像中的连通区域A2的长宽比都比相应图像中连通区域A1的长宽比的值大,一旦连通区域A2中的其他的两个参数C和S在有一个比连通区域A1中的值大,就不能正确判定人脸区域了.并且实际中并不是长宽比越大多对应区域为人脸的可能性越大,所以必须对这个参数进行改进.
人脸及人脸器官之间的一些固有比例关系是人脸结构中的一个重要特征.一般来说人脸的长宽比范围为[0.9,1.2]但是考虑到进行边缘检测和形态学操作后可能会将脖子或头发(图4中的图像)检测在区域内,所以把人脸的长宽比的范围定位为[0.9,1.5][4,5],将这个先验条件用来筛选掉图3中的待选连通区域,(b)和(c)中的区域A2就被排除了.如是从初始定位的待选区域中判定人脸的条件改进为:初始定位的两块区域中紧凑性C和坚固性S都比较大同时长宽比O在人脸长宽比范围[0.9,1.5]内的初始定位区域定位为人脸区域.
图3中(a) 、(b) 、(c) 、(d)四幅图像中人脸区域A1的左上角坐标以及其外接矩形的宽度和高度分别是:
图像(a),左上角坐标为(106,50),外接矩形的宽度Dx=163,高度Dy=209;
图像(b),左上角坐标为(137,8),外接矩形的宽度Dx=179,高度Dy=224;
图像(c),左上角坐标为(168,60),外接矩形的宽度Dx=164,高度Dy=218;
图像(a),左上角坐标为(147,8),外接矩形的宽度Dx=154,高度Dy=209.
人脸精确定位的最终输出为下面图6中的四幅人脸图像:
4 结语
本文将边缘检测图像中的最大的两块连通区域作为待定人脸区域实现了人脸的初步定位,分别计算初始定位的两块区域的紧凑性、坚固性、长宽比的值通过比较值的大小实现了人脸的精确定位,并且将人脸提取出来.通过对标准人脸库图像的试验结果可以看出,这种改进算法不容易受噪声的干扰且能检测到真正的弱边缘.能够很好的用于驾驶室内实际采集的图像中的人脸检测.
图6 人脸精确定位最终输出的人脸图像
[1] 于微波,陈晓娟,韩 禹,等.基于Canny算法的改进Kirsch人脸边缘检测方法 [J].微计算机信息,2009,25(14):250-251.
[2] 潘夏英.图像边缘检测技术的研究[D].西安:西安科技大学,2011.
[3] 曹莉华.图像边缘提取中的一种动态阈值获取法[J].小型微型计算机系统, 1997,18(7):53-56.
[4] 罗军辉,冯 平.MATLAB7.0在图像处理中的应用[M].北京:机械工业出版社, 2005.
[5] 罗倩倩,韩 斌,左 欣.视频图像中的快速人脸定位方法[J].微计算机信息, 2007,23(2):276-277.
责任编辑:赵秋宇
Research of Human Face Detection Based on Edge Detection and Morphology
SHI Lu-huan
(SchoolofElectricalEngineering,XuchangUniversity,Xuchang461000,China)
Human face detection has two steps.First,the position of the human face in the image is initially located by the improved Kirsch edge detection algorithm.Second,we use morphology algorithm to locate face area.Then,we extract face area for the output.The test results prove that the improved algorithm is anti-noise and can detect the real weak contour.
edge detection,morphology,human face detection
2015-11-02
河南省高等学校重点科研项目(15A470019)
师路欢(1984—),女,河南洛阳人,讲师,硕士,研究方向:图像处理.
1671-9824(2016)02-0053-05
TP751
A