基于视差空间V-截距的障碍物检测

2015-03-19 01:57项志宇刘济林
浙江大学学报(工学版) 2015年3期
关键词:视差坡度障碍物

曹 腾,项志宇,刘济林

(浙江大学 信息与电子工程学系 浙江省综合信息网重点实验室,浙江 杭州310027)

驾驶环境分析是智能交通领域最活跃的研究方向之一.它通过提取路面信息,检测周围环境中的障碍物,给驾驶者提供有效的驾驶辅助和保护,如:自动巡航系统(adaptive cruise control,ACC)和碰撞安全技术.近年来,基于传统有源传感器的系统(如:激光雷达和毫米波雷达)已经广泛用于高端汽车.然而这些雷达类传感器均存在一些致命的弱点.一般来说,这些传感器垂直视场角较窄,纵向精度较低.因此,雷达系统在近处有较大的盲区,对于远处的目标,由于扫描点非常稀少,检测的准确性会下降.而且,雷达系统主要应用于结构化的场景,在非结构化环境下的使用也受到较大限制.

立体视觉传感器很好地弥补了雷达系统的缺点,已有不少学者提出基于立体视觉的障碍物分析方法[1-5].相对于雷达系统,立体视觉传感器具有较大的垂直视场角,更优的纵向精度和相对较低的成本.此外,它可以提供场景的深度和颜色信息(2.5D).然而,类似其他的光学传感器,视觉传感器对恶劣的天气和照明条件较为敏感,存在三维场景的重建与分析较慢等问题.

多数障碍物检测方法是在三维世界坐标系下进行的.基于道路完全平坦的假设,Franke等[1]根据视差图中每个点对应的三维世界中的绝对高度来区分像素为道路或障碍物,然后在视差图中保留标记为障碍物的像素并聚类分析;Bertozzi等[2]将左右图像通过逆投影变换(inverse perspective mapping,IPM)转换为垂直路面视角,并根据障碍物在变换域中不重叠部分投影形成的三角形的特性进行分析.

视差空间的噪声满足高斯分布[6],因此相比三维世界坐标空间,在视差空间中进行计算和检测具有优越性,它的噪声分布更加均匀.从视差空间角度分析,Labayrade等[3-4]提出了旨在简化从路面分离障碍的“V-Disparity”概念,其中“V”对应图像坐标系(u,v)中的垂直坐标.在“V-Disparity”域,路面平面的纵剖面可以被描述为一个分段线性曲线,垂直地面上的障碍将被投影为一条垂直的直线.Hu等[5]进一步扩展了 Labayrade等[3-4]的工作,提出了“U-V-Disparity”概念,用于分类三维场景中垂直于地面的多方向平面.针对视差图中存在的噪声对障碍物检测的影响,Pfeiffer等[7-9]提出了 “Stixel”,即采用棒状像素表达障碍物,提高了障碍物检测的稳定性.这些方法都假设道路平整,都只能检测垂直于地面的障碍物,对城市乡村环境下的起伏路面和各种坡度障碍的检测效果不佳.

为了增强障碍物检测的环境适应能力,本研究将梯度作为衡量障碍物的主要指标之一.与传统在三维世界坐标下的梯度计算不同,提出直接在视差图中计算场景梯度的方法.将场景的坡度转换为视差图V轴上的截距计算,并以截距的范围来确定障碍物,提高计算速度和障碍检测的稳定性.提出的V-截距方法不受道路必须为平面的约束,可以检测各种坡度障碍,具有很强的适应能力.

1 基于V-截距的障碍物检测

1.1 立体视觉的几何模型

图1给出了基于双目视觉的室外机器人的通常配置:在车辆上安装的立体相机由2个内参相同的共面相机构成,它们的水平同轴线与地面平行,相对于地面的俯仰角为θ.世界坐标系的原点落在2个立体相机坐标系原点的中心.

图1 双目系统的通常配置Fig.1 A general setup of stereo system

如 Hu等[5]提出的“U-V-Disparity”研究中所推导,图像平面上的一个点(u,v)和视差Δ可以通过下式从世界坐标系转换到相机坐标系:

式中:(u0,v0)为光心的投影在图像平面上的坐标,(Xw,Yw,Zw)为三维点的世界坐标,(ul,v)和 (ur,v)分别表示该三维点在左图和右图中的像素坐标,f和b分别为相机的焦距和极线.对于图1左图,可以推导出三维点的世界坐标和视差空间坐标的关系为

1.2 V-截距方法

在三维世界中,坡度代表三维点的切平面方向,是一种用于衡量障碍物代价的鲁棒特性.坡度高的区域是障碍物的可能性大,坡度低的区域是障碍物的可能性小.若仅考虑沿着车体行进的Z轴方向的坡度变化,对于一个三维点,可以用一个平行于X轴的切平面在Y-Z坐标平面的斜率来衡量坡度.假设平面方程为

式中:a1、a2和a3为该平面的3个系数.定义坡度s=a2/a1(当a1=0时为无穷大).不失一般性,为简化推导,首先假设a1≠0且θ=0.结合式(2),可以推导出如下的视差空间中的线性方程:

式(4)表示用于衡量坡度的切平面将在以Δ为横轴,以V为纵轴的坐标系下投影为直线,而且这条直线在V轴上的截距bl=-f·s与三维世界中的坡度成线性关系,因此截距bl可用于坡度的衡量.障碍物的坡度区间在截距上存在1个对应区间,因此利用截距信息同样可以检测出障碍物.

通常情况下,虽然θ较小,但是不一定为0,因此去掉假设θ=0,并推出坡度s在截距bl上的准确表达.结合式(2)和(3),可以推导出

因此,bl和s的关系为

式(6)可以简化为

当sinθ=0时,bl关于s单调递减;当sinθ≠0时,如图2所示,bl和s成双曲线关系(左下的实线和右上的实线),两条虚线为渐近线,垂直s轴的渐近线为s=cotθ,当s∈(-∞,cotθ)时 ,bl同样关于s单调递减.实际情况下,θ一般都比较小,则垂直渐进线s=cotθ会往右边移动.当θ=0时,垂直渐进线在s轴的无穷远处,bl和s的关系为过原点的直线.

图2 坡度和截距的关系Fig.2 Relationship between slope and intercept

若用于衡量障碍物代价的坡度阈值设为εs(通常εs<1),表示坡度较小(对应图2中的双曲线左支上两条虚线之间的区域)的非障碍区域;的区域认为是障碍区域.由式(6)可得障碍区域应满足的截距约束:

式中:

尤其当θ较小时,障碍区域的截距约束可以简化为

综合以上推导,障碍分析可以简化为统计出视差图的每一列在“V-Δ”域上的曲线,并求出这条曲线上每一个像素的切线在V轴上的截距.

接下来讨论如何从所获得的视差图上求出每一个像素的切线在V轴上的截距.对于视差空间中任一点p(up,vp,Δp),易得到视差Δ沿着V轴的变化关系.相反地,在“V-Δ”域上的直线可以表示为

式中:kl是点p处V坐标相对于Δ的变化率,可以由视差Δ沿着V轴上的差分算子计算后,求倒数得到.因而在V轴上的截距为

实际计算时,将整幅图上的所有像素作为一个矩阵来处理,将式(12)写成矩阵的形式:

式中:B为bl的矩阵形式,称为障碍代价图.可以直接根据式(8)来判断B中的每个点是否为障碍,P是位置矩阵 {P|P(u,v)=v-v0},可以预先求得,是视差图D在v方向上的一阶导,由于式(12)中kl要求是V对Δ求导(也等于v对Δ求导),因此这里取倒数,“/”代表矩阵元素对应相除.

假如“V-Δ”域中的直线和V轴没有交点,或相交于无穷远,即世界坐标系下的a1=0或视差空间中的D′=0,这时D′会被置为一个很小的常数使截距可以计算,而且数值足够大.

1.3 后处理

由于以上代价图的计算是基于像素级,视差图不可避免地存在噪声,这会对障碍物检测结果造成不良影响.设计一个特殊的滤波器用于解决该问题.首先定义一种视差空间中障碍物的表现方式:障碍物段 (u,w,v1,v2),其中u是该段在图像中的u坐标,w是该段的宽度,取为1,v1和v2分别是该段在图像中的起始和终止v坐标,并且v1≥v2.障碍物段可以理解为三维世界中带有一定高度和宽度的障碍物区域.

对于1.2节中得到的代价图,开始从左往右、从上往下进行逐列扫描,将连续的障碍物点合并为障碍物段,左右相邻的障碍物段合并为1个障碍物块.并根据式(14)近似算出每一个障碍物块的高度,记为h(s).将高度h(s)<εh的障碍物块作为噪声滤除:

式中:h2、h1为障碍物块中最大v坐标v2和最小v坐标v1对应的点的高度,高度的数值通过式(2)获得,其中查找表lut(v)=b(fsinθ+Vcosθ).

1.4 计算复杂度分析

算法的计算过程主要分成2个步骤:对应式(13)的求解矩阵B和式(8)的二值化.实际计算时,

由式(9)可以预先算好截距bl需满足的约束范围;求解矩阵B时,D′用D在v方向上的差分来近似,通过在D上施加一个梯度算子得到.

表1给出对于每个像素所需要的计算量.常规从三维坐标计算梯度代价矩阵的方法即使采用查找表的方法进行加速,最少需要5次除法、2次减法.本文方法求代价矩阵B的计算只需1次除法和1次减法,在速度上是常规方法的3倍以上.而且由于每个像素的计算都是独立进行的,该方法的算法结构很容易通过并行化实现加速.

表1 算法的计算复杂度分析Tab.1 Time complexity of algorithm

2 实验结果

实验分别对仿真数据、典型的城市场景和其他场景(含非结构化场景)下的数据进行测试.测试的数据主要来源于仿真生成的模拟数据、公开的KITTI数据集[10]和在Pioneer3-AT 机器人上用Bumblebee XB3型双目相机采集的数据.实际场景的数据输入为校正后的左右图像对,通过Semi-Global算法[11]计算得到初始的视差图,使用V-截距方法进行障碍分析.测试用电脑配置为Intel Core i5 CPU,主频为2.8 GHz.表2给出各组测试数据的详细配置、算法运行时间和阈值参数,其中运行时间栏括号中的值为包含1.3节中描述的后处理的总运行时间.

表2 测试数据的详细配置和运行时间Tab.2 Detail configuration of test data

2.1 仿真数据

如图3(a)~(c)所示分别为仿真数据的左图、右图和视差图.图4给出了V-截距方法在仿真数据上的测试结果,仿真数据的v0=128、f=244.5.图4(a)中的竖直线段为选定的用于分析的列,图4(b)中的实线为统计该列得到的“V-Δ”域中的曲线,点线对应地面,长虚线对应天花板,加粗的坐标轴为以视差为横轴,以V为纵轴的坐标系(即真正用于求截距的坐标系,V=v-128).

图3 仿真图像的原始数据Fig.3 Synthetic test stereo images

之前采用这条直线上的点与预设的地面直线的偏差来分析障碍物.而第1部分中推导的理论认为这条直线上的点的切线在V轴上的截距可以很好地用于表征三维世界中的坡度,因此作为衡量障碍的代价.从图4(b)中可以看到地面和天花板在V轴上的截距约为-10,因此坡度s=bl/(-f)≈0.04,非常接近于0,与理论值相符.

图4(c)中的实线为该列上每个点bl的值,从下到上用箭头指示的3个障碍物分别对应场景中的球,台阶和墙.地面和障碍物的对比度非常高,可以使用阈值简单地进行分割.图4(d)为整幅图像的最终代价图.代价被截断到最大值相当于梯度s=0.5的截距,归一化到[0,255]显示.可以看到,地面上的3个物体和墙面拥有很高的代价,被精准地划分为障碍物,而地面和天花板的代价很低.

2.2 城市场景

图5给出V-截距方法在典型的城市场景上的测试结果,选取路口和街道的2组数据.图5(a)为场景的原始灰度图,图5(b)为原始灰度图像叠加视差图显示.图5(c)为得到的最终障碍代价图,其中灰色像素表示视差不可用的区域(主要由遮挡、匹配错误、部分图像区域过亮或过暗、弱纹理区域以及最大视差等因素造成).可以看出,该方法可以将城市场景中常见的物体如车辆、建筑、柱子和树木等障碍物都较好地检测出来,可以将路面和人行道等较平坦的区域较好地与障碍区分开来.

2.3 其他场景

图4 V-截距方法在仿真数据上的测试结果Fig.4 V-intercept method tested on synthetic test stereo images

图5 V-截距方法在典型城市场景上的测试结果Fig.5 V-intercept method tested on typical city environment

图6 V-截距方法在其他城市场景上的测试结果Fig.6 V-intercept method tested on other city environments

图7 V-截距方法在不规则环境上的测试结果Fig.7 V-intercept method tested on unstructured environment

图6给出V-截距方法在其他城市场景中的测试结果,分别选取居民区的交叉路口,坡度较大的道路以及高速公路3组场景.可以看出,郊区及高速公路上广泛分布的树木、土坡等与地面并非完全垂直的障碍物也得到了很好的检测.能够较好地将平坦的路面、隔着马路牙子的人行横道、坡度较大的路面与障碍区域区分开来.对于高速公路场景,由于立体匹配算法在天空区域得到的结果不尽如人意,进行天空检测并将天空区域作为视差数据不可用区域来处理.可以看出,高速公路的路面由于纹理过弱导致视差图缺失较严重、质量较差,“U-V-Disparity”等基于全局平面假设的方法在这种情况下会受到很大的影响,而这种基于局部的方法基本不受影响,仍然能够准确地区分地面与障碍物,得到较为鲁棒的检测结果.

图7给出V-截距方法在俯仰角θ较大的不规则环境上的测试结果,地面坑洼不平,地上零星摆放着砖头、箱子等障碍物.在这种情况下,该方法仍然能够将地面和障碍物较好地区分开来.左边较平坦的石板由于高度过低,未被错误检测成障碍物,得到较为鲁棒的检测结果.

2.4 计算效率

测试了本文方法与从三维坐标计算梯度方法在同一组测试数据(包含100个测试用例)的总运行时间,本文方法的运行时间为45.5 ms,从三维坐标计算梯度是175.5 ms,后者是前者的3.9倍.

3 结 语

本文提出一种在视差空间中分析障碍物的“V-截距”新方法.与传统在世界坐标下的障碍检测方法不同,本方法直接在视差空间中进行,通过将障碍坡度信息转换为视差空间中V轴的截距来实现检测.推导了视差空间中的坡度-截距转换关系,划定了合理的阈值区间.整个检测算法具有快速高效的特点,而且从原理上不受平面道路的假设约束,具有很强的实际应用价值.多种环境下的实验结果证明:该方法的障碍物检测效果可靠、稳定,实时性好.

):

[1]FRANKE U,GAVRILA D,GORZIG S,et al.Autonomous driving goes downtown [J].Intelligent Systems and Their Applications,IEEE,1998,13(6):40- 48.

[2]BERTOZZI M,BROGGI A.GOLD:a parallel real-time stereo vision system for generic obstacle and lane detection[J].IEEE Transactions on Image Processing,1998,7(1):62- 81.

[3]LABAYRADE R,AUBERT D,TAREL J P.Real time obstacle detection in stereovision on non flat road geometry through“V-disparity”representation[C]∥Intelligent Vehicle Symposium.Versailles:IEEE,2002,2:646- 651.

[4]LABAYRADE R,AUBERT D.A single framework for vehicle roll,pitch,yaw estimation and obstacles detection by stereovision[C]∥Intelligent Vehicles Symposium.Columbus:IEEE,2003:31- 36.

[5]HU Z,UCHIMURA K.U-V-disparity:an efficient algorithm for stereovision based scene analysis[C]∥Intelligent Vehicles Symposium.Nevada:IEEE,2005:48- 54.

[6]DEMIRDJIAN D,DARRELL T.Motion estimation from disparity images[C]∥ 8th IEEE International Conference on Computer Vision.Vancouver:IEEE,2001,1:213- 218.

[7]PFEIFFER D,FRANKE U.Modeling dynamic 3D environments by means of the stixel world[J].Intelligent Transportation Systems Magazine.2011,3(3):24- 36.

[8]PFEIFFER D,FRANKE U,DAIMLER A G.Towards a global optimal multi-layer stixel representation of dense 3D data[C]∥ Proceedings of the British Machine Vision Conference.Dundee:BMVA Press,2011:1- 12.

[9]PFEIFFER D,ERBS F,FRANKE U.Pixels,stixels,and objects[C]∥12th European Conference on Computer Vision Workshops and Demonstrations.Berlin Heidelberg:Springer,2012:1- 10.

[10]GEIGER A,LENZ P,STILLER C,et al.Vision meets robotics:the KITTI dataset[J].International Journal of Robotics Research,2013,32(11):1231- 1237.

[11]HIRSCHMULLER H.Stereo processing by semiglobal matching and mutual information[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2008,30(2):328- 341.

猜你喜欢
视差坡度障碍物
基于视差优化的立体匹配网络
基于自适应窗的立体相机视差图优化方法研究
Aqueducts
放缓坡度 因势利导 激发潜能——第二学段自主习作教学的有效尝试
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
赶飞机
大坡度滑索牵引索失效分析及解决措施研究
基于梯度域引导滤波的视差精炼迭代算法
基于分割树的视差图修复算法研究