首页 理论教育 用Canny算子法的边缘提取

用Canny算子法的边缘提取

时间:2023-06-19 理论教育 版权反馈
【摘要】:将特征点自动更新后再进行循环,直到协方差小于设定的阈值。采用曲线拟合的方式,将定位的特征点拟合成曲线。通过投影,可以准确定位人脸五官的范围,然后利用主动表观模型的方法,对人脸的五官进行特征点定位和特征提取。经过特征点定位后,得到表征人脸表情信息的特征点并用矩形框标识出来,如图10-10所示。

用Canny算子法的边缘提取

本系统采用Canny算子和主动表观模型相结合的方法进行特征点定位。利用Canny算子对边缘提取精确的优点,克服主动表观模型只对局部纹理匹配导致陷入局部最优解、偏离全局最优解(边界)的缺点,使两者有机地结合。

1.用Canny算子法的边缘提取

Canny于1986年提出了基于最优化算法的边缘检测算子,它相比其他的边缘检测算子有三大好处[4]:①好的信噪比,即非边缘点判为边缘点或将边缘点判为非边缘点的概率低;②好的定位性能,即检测出的边缘点要尽可能在实际边缘的中心;③对单一边缘具有唯一的响应,并且对虚假边缘响应得到最大抑制。从本质上讲,Canny边缘检测算子属于具有平滑功能的一阶微分算子。它具有很好的信噪比和检测精度。

在Canny算子边缘提取时,阈值设定是一个很大的困难。阈值过高会出现边界断断续续,阈值过低又会出现假轮廓,本系统采用双阈值算法来解决阈值设定的问题。双阈值算法对非极大值抑制图像设置两个阈值r1r2,且2r1=r2,从而可以得到两个阈值边缘图像N1[ij]和N2[ij]。由于N2[ij]是使用高阈值得到的,因而含有很少的假边缘,但有间断(不闭合)。双阈值法要在N2[ij]中把边缘连接成轮廓,当到达轮廓的端点时,该算法就在N1[ij]的八邻域位置寻找可以连接到轮廓上的边缘,这样算法不断地在N1[ij]中收集边缘,直到将N2[ij]连接起来为止。用Canny算子法检测边缘的具体过程如下:

1)用二维高斯滤波模板与灰度图像卷积,以减小噪声影响。

2)利用导数算子(如Prewitt算子、Sobel算子)找到图像灰度沿着两个方向的导数GxGy,并求出梯度的大小和方向。

3)非极大值抑制。遍历图像,如果某个像素的灰度值与其梯度方向上前后两个像素的灰度值相比不是最大的,则将该像素值置0,即不是边缘。

4)使用图像累计直方图计算两个阈值。灰度值大于高阈值的像素为边缘,小于低阈值的不是边缘。首先分别将高于高阈值和高于低阈值的点压栈,先将高于高阈值的点出栈,检查与前一个点的连续性,如果非连续,则在低阈值的栈中寻找该点八个邻域位置,将其连接到轮廓的边缘,这样不断搜索,直到将其连接起来。书中给出了利用Canny算子对预处理之后的人脸图像进行边缘提取的结果,如图10-7所示。在对人脸图像进行边缘提取时,采用Canny算子法能比较好地提取出连续的轮廓边缘,同时对于噪声有很好的抑制。更为重要的一点是,Canny算子法是根据具体的灰度图像累计直方图,而且采用了双阈值算法,对于不同场景的人脸图像,可以得到稳定的边缘提取结果,保证了边缘的连通性。

978-7-111-57609-9-Chapter10-20.jpg

图10-7 用Canny算子进行边缘提取

a)原图 b)边缘提取图

2.主动表观模型(AAM)

传统的特征点定位的方法只利用了图像的形状信息,而本系统采用的主动表观模型方法在传统的形状模型的基础上加入了图像的纹理信息,将形状和纹理两个统计模型进一步融合为表观模型。

首先,对给定的学习L={(Iisi)|i=1,…,msi=(xi1yi1,…,xNiyNiT}进行训练,得到模型后用于后续识别。在人脸的图像上手动标定特征点,将所有形状对齐后计算平均形状S,将所有训练图像变形到平均形状,从而得到L′={(Iisigi)|i=1,…,m},对所有的纹理进行主成分分析(PCA),从而得到如下统计模型:

978-7-111-57609-9-Chapter10-21.jpg

式中,978-7-111-57609-9-Chapter10-22.jpg为平均纹理;pg为由PCA计算得到的纹理主成分特征向量形成的变换矩阵bg为控制纹理变化的统计纹理参数。

在该算法中,利用人脸的局部纹理信息,即每个特征点在其邻域的亮度分布信息,来进行特征点定位。采用的邻域定义参考了Coots等人提出的Profile邻域,该邻域为特征点处法线方向上一定长度范围内的像素。然后对每个像素的亮度信息进行求导运算,用高斯分布建模作为局部纹理模型,与训练样本集协方差最小的像素即为候选点。将特征点自动更新后再进行循环,直到协方差小于设定的阈值。

3.Canny—AAM(www.xing528.com)

主动表观模型(Appearance Active Model,AAM)算法相对于只利用形状模型的蛇模型匹配法和弹性图匹配法增加了纹理的信息,从而增加了定位的准确性。但其匹配的过程中,要综合考虑人脸轮廓及其非人脸轮廓部分像素点的纹理信息导致ASM算法的计算量很大,而且如果初始点偏离较大,会使特征点定位到非轮廓部分而导致定位失败,故本系统将主动表观模型和Canny边缘提取相结合,即充分利用了主动表观模型的优点,又克服了其计算复杂、定位不准的缺点。

本系统综合考虑了计算的复杂度精确度的问题,首先在对人脸五官定位之前,先实现对人脸外部轮廓的定位。采用曲线拟合的方式,将定位的特征点拟合成曲线。将曲线外部的轮廓去掉,这样为后续的操作降低了复杂度。根据定位的特征点拟合的曲线为

f=2*j×width2+4height×i2-4height×width×i-height×width2 (10-14)

进行处理后的人脸轮廓更接近于真实的人脸,而且去除了冗余之后使得计算复杂度大大降低,对于下一步的五官特征点定位的干扰也大大减小。

系统采用人脸先验知识和直方图投影的方法来定位人脸的具体五官。首先根据前人研究的三分图和四分图的人脸模型分割方法提出了混合分图人脸模型分割法,将每一个五官都定位在一个区域内,如图10-8c所示。此方法彻底克服了三分图和四分图中人的五官无法限定在一个区域内的缺点,对五官某个器官进行分析时,只需对该器官的所在区域进行分析即可。

978-7-111-57609-9-Chapter10-23.jpg

图10-8 人脸分块模型

a)四分图 b)三分图 c)混合分图

对于整个人脸的轮廓图做水平投影(见图10-9),即可将人脸五官的垂直位置进行大致定位,在定位好的人脸图像中,对指定模块做垂直轮廓投影,即可将人脸的五官精确定位。

通过投影,可以准确定位人脸五官的范围,然后利用主动表观模型的方法,对人脸的五官进行特征点定位和特征提取。经过特征点定位后,得到表征人脸表情信息的特征点并用矩形框标识出来,如图10-10所示。

结合了Canny算法的主动表观模型比传统主动表观模型算法提高了定位的精度,而且定位之前利用Canny算法降低了维度,使得计算复杂度大幅度降低,而且在特征点定位之前,先进行边缘提取,使得边缘突出,减小搜索范围,提高了定位精度

978-7-111-57609-9-Chapter10-24.jpg

图10-9 人脸轮廓投影图

a)脸水平投影 b)嘴竖直投影 c)眼睛竖直投影

978-7-111-57609-9-Chapter10-25.jpg

图10-10 特征点定位

a)经过多次训练得到的平均模板 b)用Canny算子进行边缘提取 c)模板与边缘结合 d)AAM迭代最终结果 e)定位结果原图显示

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈