利用梯度相位提取图像中的直线

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用梯度相位提取图像中的直线
韩辉
【摘要】针对基于图像梯度幅值的直线提取算法计算量大、分辨率低的不足,本文利用梯度相位信息进行直线提取。

算法首先计算图像梯度幅值和相位,按梯度相位编组直线支持区域,然后使用改进最小二乘法拟合直线,最后根据一种新的直线判定算子判定所提取出的直线是否对应直线模型。

实验证明,本文方法能够从图像中快速准确地提取出大量直线。

% For the large amount of calculation and low resolution of line detection method based on gradient magnitude, this paper uses the gradient phase information for line detection. The algorithm first calculates the the image gradient magnitude and phase, organizes line support regions by gradient phase and then use improved least squares method fitting lines.Final y determine whether the detected lines corresponding to line model according to a new line operator. The experiments illustrate that the proposed method can detect a large number of lines quickly and accurately from the image.
【期刊名称】《数字技术与应用》
【年(卷),期】2012(000)011
【总页数】3页(P198-199,201)
【关键词】梯度;相位编组;直线提取
【作者】韩辉
【作者单位】国防科技大学机电工程与自动化学院湖南长沙 410073
【正文语种】中文
【中图分类】TP391.4
1、引言
直线是图像中的重要特征,更是机场、建筑物以及道路最基本的组成部分,另外,在场景匹配、立体匹配、红外跟踪以及序列图像分析中,直线是一种非常重要的基元[1]。

因此,从图像中提取直线是图像处理中基本而又重要的任务。

图1 相位编组分组图
图2 改进相位编组算法流程图
Hough变换是提取直线特征的经典算法,是一种基于图像梯度幅值的方法,它的主要优点是抗噪性能较好,且能连接共线短直线,其主要缺点是采用穷尽式搜索模式,计算复杂,运算量大,需要的参数存储空间也比较大,对于图像目标的识别与跟踪等实时性要求比较高的领域其实用性较差。

此外,由于Hough变换提取直线特征是在参数空间所有像素点进行“投票”,所以Hough变换更适合于全局的直线段检测而不是局部直线段检测。

传统的直线提取方法都是基于传统的边缘检测方法,而这些边缘检测方法检测图像边缘都只利用了图像梯度的幅值信息,基本思想是认为边缘存在于灰度发生突变的地方,然而将该方法用于灰度缓慢变化的图像时,边缘提取效果不佳。

所以为了更好的提取边缘和直线,我们还要利用图像梯度的相位信息,边缘不仅仅存在于灰度发生突变的地方,而且在灰度沿着某个方向发生缓慢变化的地方同样存在边缘,Brian Burn J[2]就是基于这个思想提出了相位编组算法。

Brian Burn J最早提出的相位编组法主要分为四步:(1)将梯度方向相似的、相近的像素分组到直线支持区域,该区域不受具体尺寸限制。

(2)通过平面拟合近似灰度平面。

用有关像素的梯
度幅度值对其拟合加权,以使边缘最陡的部分起主导作用。

(3)从直线支持区域和
拟合平面提取属性,这些属性包括:直线的表达及其长度、对比度、宽度、位置和方向等。

(4)根据属性滤出各种不同的图像事件,诸如长直线、高对比度直线(强纹理)、低对比度短直线(弱纹理)以及在特定方向和位置上的直线。

2、改进相位编组法
我们从梯度算子,相位编组,直线拟合,直线判定四个方面对相位编组法进行分析与改进。

2.1 梯度算子
对于数字图像, (x, y)点水平方向和垂直方向的梯度分别为:
则梯度幅值和相位分别为:
实际计算中,梯度的水平分量和垂直分量由两次卷积计算而得,定义式中相当于利用了1×2的模板进行卷积,尺寸过大的模板对图像有平滑作用,可以减小噪声的
影响,但是不利于低对比度直线的提取,所以一般选取较小的模板。

传统的直线提取算法是在基于梯度幅值的边缘检测算法检测出的边缘点中提取直线,基于梯度幅值的边缘检测算法认为边缘存在于灰度发生突变的地方,认为梯度幅值大于一定阈值的点即为边缘点,然而将该方法用于灰度缓慢变化的图像时,边缘提取效果不佳。

而利用梯度相位信息提取直线克服了传统方法只依据图像梯度的幅度信息来提取直线的缺点,且在对直线作局部决策之前,先作支持区域上下文关系的全局组织,因而在提取低对比度直线时有明显优势。

2.2 相位编组
若两像素点的梯度方向之差小于2π n,则可认为在方向准确度为n是两像素的梯
度方向一致,n太大,分组数太多容易造成过度分割,将一条直线分到多个直线支持区域中去;n太小,分组数太少则容易过度融合。

实验中n取8-16比较合适,本文中n取8。

这样分组存在一个问题,即如果某条直线边缘像素点梯度方向恰好在分组边界附近,例如某条直线梯度方向范围在40°到50°,如果按照上述固定分组方法,本属于一条直线边缘的像素点被强制分组到两个不同的直线支持区域,得到两条直线,这显然是错误的。

我们可以进行重叠分组解决上述问题,按图方式进行第二次分组,在两次分组中,通过投票的方式,将两次分组方式中,相同的组号中对应直线最长的像素点划分到同一组,这种方法可以大大减少直线过度分割的问题。

2.3 直线拟合
在确定直线支持区域之后,将面临如何在区域内进行直线提取。

每个直线支持区域都是一条直线的候选区域,其灰度表面可以认为是一个斜面。

由此,可以用最小二乘法对该灰度斜面进行拟合。

一种简单的定位直线的方式是,将该斜面与该直线支持区域的平均灰度水平平面进行相交,即可得直线的具体定位。

在实际应用时,我们可以选择直接进行最小二乘法拟合直线。

直接用上式拟合直线会出现误差,因为,上式使得所有点在y方向上到直线的距离的平方和最小,而更为精确地做法应该
是使得所有点到在y方向上到直线的距离的平方和最小。

要避免这个误差,需要
将直线支持区域旋转,使y轴与区域内像素的平均梯度方向一致,然后用最小二
乘法计算直线方程的系数。

下面求取在这种情况下的直线参数,设整个直线支持区域共有 n个点,则所有点的坐标分别为,所有点的方差为DX,DY,协方差为 C ov(X,Y ),则在此情况下的离差矩阵为:
图3 直线提取图
采用此种方法求取直线参数可以使拟合的直线精度更高。

2.4 直线判定
由于并不是所有的直线支持区域都对应直线模型,对提取出得直线支持区域利用最小二乘法拟合直线,会检测出许多错误的直线。

所以我们要增加一些判定条件滤掉提取出的并不是直线模型的直线。

文献[3]中使用Helmholtz Principle判定直线段,这需要很大计算量,文献[4]中
采用直线支持区域外界矩形的长轴与短轴的比作为判别条件,可以大大简化计算,但是这个方法也存在一个问题,求取直线外接矩形的长轴和短轴时,认为长轴的一半为直线支持区域中所有点到短轴距离的最大值,同样短轴的一半为直线支持区域中所有点到长轴距离的最大值,由于对于真正的直线模型来说,长轴距离(也就是直线长度)一般比较大,这样求取误差不会太大,但是对于相对比较小的短轴来说,这样求取就会造成比较大的误差。

此外,这样求取需要求取直线支持区域中所有点到外接矩形长轴和短轴的距离,而且还要求所有距离的最大值,这都增大了算法的计算量。

本文采用了一种新的直线判定算子:
式中L为直线长度,可以通过直线端点和斜率直接求得,N为直线支持区域包含
点的数目,R为直线支持区域中点与外接矩形面积的比值。

一般R>0.5时我们认
为其为候选直线,由于我们没有求取直线支持区域外接矩形,在此我们把R取为
定值 Rth。

如果判定算子Z大于一定的阈值 Zth,我们认为该直线支持区域对应直线特征,一般情况下阈值 Zth要大于4,我们也可以通过增大阈值来减少图像中提取出直线的数目。

3、改进相位编组算法流程
改进相位编组算法流程如图2所示:
3.1 输入图像
输入图像后可以对图像进行适当的预处理,但是滤波去噪可能会丢失部分梯度信息,不利于相位的正确编组。

3.2 计算图像梯度幅值和相位
通过选择适当的算子计算梯度幅值和相位,还可以利用梯度幅值滤除梯度幅值过小的像素,起到去噪的作用,这里的阈值可以设置的小些,因为我们主要使用梯度相位信息提取直线,梯度幅值信息在此只作为辅助。

3.3 按梯度相位编组直线支持区域
将所有点按照梯度相位重叠编码,在同一编码组内,将非孤立的相邻点(8邻域内存在同组别像素的点)划分至同一直线支持区域。

3.4 使用改进最小二乘法拟合直线
使用改进最小二乘法将直线支持区域拟合成直线,并求取直线参数。

3.5 提取有效的直线
采用新的直线判定算子判定所提取出的直线是否对应直线模型。

3.6 输出直线
输出直线段信息包括直线的端点和中点,以及斜率和截距,以便下一步的操作。

4、实验结果与分析
图3(a)原始图像,(b)(c)(d)分别为直线判定算子取0,4,8时相位编组法直线提
取效果图。

从图中可以看出Z为0,即不使用直线判定条件时,图像中有很多短小的直线段以及一些非直线模型拟合出的直线段,而Z取4时,这些直线段已大大
减少,而Z取8时,提取出的直线段直线特征更为明显。

且本文所述方法所用时
间为2.5s,速度优于传统Hough变换的20s,文献[4]方法的3.6s和文献[3]方法的5.4s。

5、结语
通过实验和理论分析表明,本文算法相较于传统基于图像梯度幅值的直线检测算法,
充分利用梯度相位信息,可以提取出低对比度的直线;通过采用改进的最小二乘拟合算法,提高了直线的提取精度;采用新的直线判定算子,减少计算量,提高了直线提取的速度。

参考文献
【相关文献】
[1]王润生,图像处理[M].第1版.长沙:国防科技大学出版社,1995.69~86.
[2]Brian Burns J,A llen R.Hanson.Extracting straight lines.IEEE Transactions on Pattern Analysis and Machine Intelligen,1986,8(4):425-455.
[3]P.Kahn, L.Kitchen, E.M.Riseman. A fast line finder for visionguided robot navigation. IEEE Trans PAM I,1990,12(11):1098~1102.
[4]覃勋辉,马戎等.一种基于梯度的直线段检测算法[J].光子学报,2012.2,41(2), 205:209.
[5]朱卫纲,李生良.相位编组方法提取直线.指挥技术学院学报,1999,10(4):65~70.
[6]A.Desolneux, djal, L.Moisan, and J.M.Morel. Dequantizing image orientation. IEEE Transactions on Image Processing,11(10):1129-1140,2002.。

相关文档
最新文档