基于V-视差的障碍物检测算法的研究

2017-06-29 09:02营口理工学院电气工程系王玉红
电子世界 2017年11期
关键词:极坐标视差障碍物

营口理工学院电气工程系 李 印 王玉红

基于V-视差的障碍物检测算法的研究

营口理工学院电气工程系 李 印 王玉红

本文构建了一种改进的V-视差检测障碍物的方法。通过在视差图中采用Hough变换方法,从视差图中提取直线信息。从而将障碍物从背景中分离出来。实验结果显示,改进的V-视差法能够检测具有面特征的障碍物,此算法不会受小面积的局部干扰,也不会误识别背景的阴影部分。

V-视差;障碍物检测;Hough变换算法

当障碍物所在的背景发生变化时,基于双目立体视觉的V-视差的障碍物检测法仍可将障碍物较好的检测出来。该算法的检测对象是具有面特征的一切物体,这一特征就保证了该算法可以检测行人、车辆、墙壁等障碍物。因此当道路环境比较复杂时,基于双目立体视觉的障碍物检测法将对车辆的检测起到积极作用。

1 V-视差形成的原理

1.1 V-视差图的三个特征面

通过上面的公式,可以看出V-视差的可识别的特征面有水平面、垂直面、倾斜面。在V-视差图中,每一种特征面都投影成一条相应的直线,越靠近垂直面的障碍物,V-视差会更好的将物体投影成一条垂直线。三种特征面示意图如下:

图1 V-视差可识别的特征面

图2 双目摄像机原理图

1.2 双目摄像机模型示意图

在本论文中,我们取用的双目摄像机满足如图2所示的位置关系。使用的两个摄像机的像平面必须满足同平面、同高度、两个平面是平行的三个条件。这样采用的像平面可以减少立体匹配的搜索范围。

图2中的部分参数说明如下:

θ:摄像机光轴与水平轴的夹角;

h:摄像机到地面的距离;

b:两个摄像机之间的距离(基线)[1]。

1.3 V-视差图的构造

外国研究人员Labayrade R,Aubert D,Tarel J P在发表的论文中提出V-视差图含有的信息是三维的[2],对视差图像每一行上有相同水平视差的像素个数countp加以累加,得到新的像素坐标,最后以countp作为像素的灰度值,如此形成了V-视差。如下图所示:

图3 合成立体图像对

图4 V-视差图

2 V-视差图障碍物检测

检测障碍物的原理是,把背景中的路面和路面上的障碍物通过算法投影成一条斜线或一条直线段,三维障碍物将会投影成二维平面,然后通过V-视差算法的计算再将二维平面投影成一条直线。这样就可以通过线检测算法获取V-视差图像中的直线段,从而确定路面和路面上障碍物的位置。障碍物通过高度和宽度表示,垂直的直线段表示障碍物的高度,可以通过两种方法得到障碍物的宽度:一种是对视差图通过U方向的视差计算得到U视差图,从而得到一条水平线表示障碍物的宽度;二是以每一个障碍物垂线为中心在水平方向延伸,最终锁定所有障碍物区域,最终完成障碍物检测的任务。

而直线检测算法主要有两种:第一种对障碍物边缘进行链码跟踪的基于链码的直线检测算法[3-5]。第二种是基于Hough变换的检测算法[6-7],Hough算法的优点是可以在复杂环境下检测出直线。由于Hough变换算法检测效果较好,在本文中采用Hough变换直线检测算法。

2.1 Hough变换算法检测直线

2.1.1 Hough变换原理

Hough变换的基本思想是过某一点(x0, y0)的所有直线的参数都会满足方程。也就是说直线上任一点,对应于参数空间中的直线都将通过该空间的点(k0, b0)。图5所示反映的是x — y坐标和k — b坐标的图像:

图5 x — y坐标和k — b坐标

从图5中我们可以看出x — y坐标中的点P1,P2对应于k — b坐标中的L1,L2,而k — b坐标中的点P0对应于x — y坐标中的线L0。

我们知道,直线的斜率无限增大的特点,为了检测任意方向和位置上的直线,我们会采用极坐标(ρ , θ)表示位置坐标,直角坐标转化为极坐标的公式为:。

对于(x , y)空间中的任一点(x0, y0)采用极坐标(ρ , θ )作为参数空间,其变换方程为:

由转化公式(1)可以看出,图像空间中的任意一点(x0, y0)可以转化为极坐标空间(ρ , θ )中的一条正弦曲线。

2.1.2 Hough变换检测直线的算法原理

(1)式称为直线检测的Hough变换,显然x — y平面中的任意一条直线经Hough变换得到参数空间中的一个点。而图像边缘上的每一点映射到Hough空间中成为一组累加器,在计算对应的累加器。当所检测的图像中含有直线时,对应的累加器将会出现局部最大值,通过检测局部最大值,从而确定与该条直线对应的一对极坐标(ρ , θ ),从而最终检测出该条直线。

Hough变换的检测算法过程如下[1]:

1)首先对要检测的图像进行二值化,采用0表示背景,1表示物体特征点;

2)在参数空间ρ,θ,里建立一个累加数组A(ρ , θ ),并置数组A中每个元素的初值都为零;对二值图像中每个以1表示的点(x , y),让θ取遍θ轴上所有可能的值,并根据式(4.7)计算对应的ρ;再根据ρ和θ的值对数组进行累加;

3)对数组A(ρ , θ )进行局部最大值检测,得出被检测直线的参数ρ和θ。

图6 U-视差图

图7

2.2 障碍物检测的识别过程

障碍物的识别有两种方法,第一种称为视差值的水平搜索方法。本文着重介绍第二种方法,称为U-视差法,原理是对U方向上的视差图像每一列上具有相同视差的像素个数countp加以累加,以为新的像素坐标,以countp作为该像素的灰度值。本文采用U视差法和V视差相结合的检测算法识别图像中的障碍物。识别方法如下图所示:以提取图中的圆球为例,通过U-视差图获取圆球的水平的位置(如图6),通过V-视差图得到圆球的纵向位置,通过U视差图和V视差图就可以确定目标图像提取的圆球准确的空间位置(如图7)。

3 算法流程图和实验结果

3.1 算法流程图

图8 算法流程图

3.2 实验结果

实验过程如下:第一步生成V-视差图,第二步用Hough变换算法检测生成的V-视差图中的直线,从而得到障碍物的高度,第三步对视差图做U-视差识别,得到障碍物的宽度,经过三步以后我们可以得到障碍物的准确区域。具体操作过程需要计算机编程。现将实验结果用图9所示呈现:

图9 检测结果图

检测结果图显示,改进的算法不以路面水平为条件,检测对象不受光照、天气等外界因素的影响,小面积的局部干扰不影响实验效果。图片中车辆的阴影面积和灰度存在较大差异,车辆所处的面与路面平行,改进的V-视差识别并不会将车辆从路面中分离出来,因此该算法不会干扰整个识别过程。

当然,改进的方法也存在一定的不足,本文中的算法,对使用的摄像机要求比较严苛,选取的视差图要求具有比较高的清晰度。在后续的研究中,继续对算法进行改进,提高算法的计算速度。

[1]董琴琴.基于双目立体视觉的障碍物检测算法的研究与实现[J].东北大学硕士论文,2009.

[2]Labayrade R,Aubert D,Tarel J P.Real time obstacle detection in stereovision on non flat rode geometry through“V-disparity”representation[J].Intelligent Vehicle Symposium,IEEE,2002,2(1):646-651.

[3]Freeman H.Boundary encoding and processing[M].Picture Processing and Psycho pictorics Academic,New York,1970:241-266.

[4]顾创,翁富良,吴立德.直线链码的线性提取算法[J].模式识别与人工智能,1990,3(2):34-38.

[5]Yuan J X.An optimal algorithm for identifying line segments from a sequence of chain codes[J].Pattern Recognition,1995,28(5):635-646.

[6]Hansen K,Damgaard J.Understanding the hough transform:hough cell support and its utilisation[J].Image and Vision Computing,1997,15(3):205-218.

[7]Immerkr J.Some Remarks on the straight line hough transform[J].Pattern Recognition Letters,1998,19(12):1133-1135.

李印(1985—),女,辽宁抚顺人,硕士研究生,讲师,研究方向:行人检测与跟踪,教学改革,偏微分方程数值解。

王玉红(1983—),女,辽宁锦州人,在职博士,讲师,研究方向:行人检测与跟踪,教学改革,微分几何。

猜你喜欢
极坐标视差障碍物
基于自适应窗的立体相机视差图优化方法研究
巧用极坐标解决圆锥曲线的一类定值问题
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
基于梯度域引导滤波的视差精炼迭代算法
极坐标视角下的圆锥曲线
基于分割树的视差图修复算法研究
立体视差对瞳孔直径影响的研究
土钉墙在近障碍物的地下车行通道工程中的应用