APP下载

一种通用的全景视觉水平边线快速检测方法

2012-10-23毛臣健

制造技术与机床 2012年3期
关键词:边线中心线畸变

毛臣健 周 忆

(①重庆工业职业技术学院,重庆 401120;②重庆大学机械工程学院,重庆 400044)

基于反射镜的全景视觉由于具有同一时刻获取360°的视觉信息的优势,在导航、监控、机器人等领域得到越来越多的应用。针对不同的目标特征,人们开发了各种用途的全景视觉,例如基于水平场景无畸变的全景视觉[1]、等角度全景视觉[2]和单视点锥形全景视觉[3]等。但是全景视觉成像复杂,往往难以兼顾多个目标的检测与识别,现有的全景视觉大多针对某类目标进行检测与识别,降低其他目标的识别要求。

具有直线性质的边线是导航定位的重要标志物。除了水平无畸变的全景视觉可以保留边线的直线特征外,普通的全景视觉图像中,边线成像后往往出现扭曲,形成不规则曲线,难以用函数形式表示。并且由于实时性要求,使在普通全景视觉中进行边线检测变得困难,所以一般采用单目视觉[4]或者水平无畸变的全景视觉进行边线识别。单目视觉视场较小,并且增加额外的硬件成本,水平无畸变的全景视觉则会造成其他目标有较大形变,增加其他目标的识别难度。

本文提出一种用于普通全景视觉的水平边线检测方法,利用图像坐标与水平场景坐标的关系,将通常在图像坐标中实现的边线检测变换到水平场景坐标中进行求取,回避全景图像中边线扭曲的问题,采用部分点集代替全部候选点集的方式,不仅能够实现普通全景视觉图像上的边线检测,而且能够根据实时性要求进行调整,扩展其应用范围。

1 主要实现原理

虽然由于全景视觉成像的复杂性,不能兼顾不同目标的识别要求。但是对于全景视觉成像,往往是采用全景图像坐标与水平场景坐标的关系来表示,如图1所示,而且通常是唯一对应的。这样,可以将全景图像经过径向扩展还原为按比例缩放的无畸变水平场景,然后利用一般的检测方法即可对边线进行检测与识别。

直线检测大多采用Hough变换,由标准算法到各种改进算法,直线Hough变换在实时性上已经有了较大的改善,但是对某种具体的算法来说,参与运算的候选点数量仍是影响算法实时性的重要因素,如果点数过多,则会影响其在实时系统中的应用。

每条边线都具有两条平行的边缘直线,如果采用边线中心线代替边线本身,忽略干扰点,那么则会使用于检测的边缘点减少一半,并且采用中心线也比边缘线具有更强的抗干扰能力。对于利用Hough变换进行直线检测,由于其抗干扰能力强,并不需要对所有直线上的点进行运算,基于Hough变换这个优势,可以采用部分点集代替全部点集进行直线检测。利用部分点集进行直线检测的关键是所选取的点集应该较为均匀地取自于所有点集,即应该分布在整个有效区域,而不是集中在某个范围内,以免出现漏检或误检。本文提出两种不同的点集提取方式,以供不同的全景视觉使用。

2 候选点集的提取

本文方法是利用边线中心线求取边线的直线信息,故提取的点集应该是中心线的点集。如图2所示,可以根据直线左右(或上下)边缘点进行中心线上点的提取。易知,由于边缘线KA、KB与中心线KC的斜率相同,如果A、B为左右边缘线上的任意点,其连线的中点C必定位于中心线KC上。以下两种提取方式都采用这样的中心线点集获取方法。

(1)基于水平无畸变图像的提取方式

根据全景图像与场景径向关系可以将一般的全景图像转换为水平无畸变的全景图像,然后利用等间距的横向与纵向提取线分别寻找边线的上下、左右边缘点,如图3所示,计算中点,即为带检测点。这样的提取方式能够对有效区域内的边缘点进行均匀提取。但是由于一般的全景视觉往往注重观察附近的目标,使较远处的区域在图像中所占比例较小,将其转换为水平无畸变的全景图像后,会引起边缘点的误差增大。所以对全景视觉的硬件要求较高,并辅以较好的插值算法使图像在转换后保持一定的清晰度。

(2)基于柱形图的提取方式

全景图像除了以圆形区域表示外,还经常以柱形图表示。某点在柱形图上的宽表示其角度信息,高表示其径向长度。如果柱形图的高与圆形全景图像的径向长度一致,那么柱形图上一点A与其在圆形全景图像上对应点A'具有图4所示关系。

对柱形图也可采用横向与纵向提取线的方式进行点集的提取。与第一种提取方式不同的是,在柱形图中,其纵向提取线对应于圆形全景图像的径向线,其横向提取线则对应于一个以圆形全景图像中心为圆心的圆,如图5所示。

为了不使提取的点集过于集中于某一区域,柱形图的横向提取线的间距应该以实际场景为准,通过图像径向坐标与实际场景径向坐标的关系转换至柱形图,如图6所示。

基于柱形图的提取方式对于其周围的边线来说,重视程度越远越小。适合于价格较低的全景视觉,这是因为低价摄像机在全景成像中往往只能确保某一部分成像清晰,而其余部分较为模糊。

3 边线检测的主要流程

候选点集提取后,可以根据常用的直线Hough变换进行直线检测,在此不再赘述。本文方法处理流程如下:

(1)利用模型或者拟合的方式得到图像坐标与场地坐标之间的函数关系;

(2)选择适合的边缘点判断方法;

(3)利用本文的边缘点提取方式提取候选边缘点集;

(4)利用直线 Hough 变换[5-6]检测边线中心线,并保存其所属的候选点;

(5)利用最小二乘法对其所属的点集进行拟合[7],得到更为精确的直线参数。

4 实验

由于安装与加工精度的原因,对实验所有的全景视觉其图像坐标与场地坐标之间的函数关系采用逐点拟合的方式得到,在全景视觉附近放置两条浅色边线,如图7所示。采用HSI颜色空间与阈值作为边缘点的判断方式,利用基于柱形图的提取方式进行候选点集的提取,纵向提取线数量为100,横向提取线为30,提取结果如图8所示。提取点集的场景坐标如图9所示。利用直线Hough变换以及最小二乘拟合的直线如图10所示。图11是将所得直线反映到原始全景图像中的示意图。

虽然由于安装、加工以及拟合的问题,使提取点集的位置有所偏差,但是从图11中还是可以看出,得到的直线基本与边线吻合,说明了本文方法可以实现普通全景视觉的边线提取,主流配置下,整个运算所消耗时间为15 ms。可以直接应用于实时系统中。

5 结语

全景视觉图像可以实现无遮挡成像,但是由于成像复杂,使各种目标特征难以兼顾。而边线作为机器人导航定位的重要标志,为了兼顾全景视觉识别边线与其他目标,本文提出了一种全景视觉通用的边线检测方法,使全景视觉的设计不用考虑边线因素。实验表明该方法能够实现一般全景图像上的白线检测,满足实时系统的要求。

[1]曾吉勇,苏显渝.水平场景无畸变的折反射全景成像系统[J].光学学报,2003,23(5):636 -640.

[2]汤一平,严海东,陈龙艳.无死角的全方位视觉传感器的设计[J].仪器仪表学报,2009,30(5):916 -920.

[3]LIN Shih-Schon,Ruzena Bajcsy.Single-View -Point Omni-directional catadioptric cone mirror imager[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2006,28(5):840 -845.

[4]Aggarwal Nitin,Karl William Clem.Line detection in images through regularized hough transform[J].IEEE Transactions on Image Processing,2006,15(3):582 -591.

[5]CAO Yang,WANG Shuhua,LI Heng.Skew detection and correction in document images based on straight- line fitting[J].Pattern Recognition Letters,2003,24(12):1871 -1879.

[6]Mochizuki Yoshihiko,Torii Akihiko,Imiya Atsushi.N - Point Hough transform for line detection[J].Journal of Visual Communication and Image Representation,2009,20(4):242 -253.

[7]Fernandes,Leandro A F,Oliveira,et al.Real- time line detection through an improved Hough transform voting scheme[J].Pattern Recognition,2008,41(1):299 -314.

猜你喜欢

边线中心线畸变
曲线间中心线的自动创建方法
海岸水边线提取方法在GF-2卫星影像中的适应性研究
立式水轮发电机组“三条线”浅析
几何特性对薄壁箱梁畸变效应的影响
在Lightroom中校正镜头与透视畸变
认识足球(六)
突破矩形上边线买入法(1)
波纹钢腹板连续刚构桥扭转与畸变的试验研究
基于Meanshift和Hough变换的秧苗行中心线提取
由X线中心线的特征来定标X线机中心线指示的方法