曹 毓,冯 莹,杨云涛,赵立双,向仁强,许 伟
(1.国防科学技术大学光电科学与工程学院,长沙 410073;2.第20军炮兵旅,河南 确山 463200)
基于多传感器信息融合的路面三维重建技术广泛应用于高速公路及机场跑道等路面损毁状况的自动检测领域。在道路快速维修能力建设中,毁伤程度评估是基础中的基础。传统的道路毁伤评估主要依赖人工目视测量的方式来完成,精度低、速度慢。为此我们采用了一种自动测量方法:将单线式激光扫描仪安装于车辆上,在车辆行驶过程中对路面进行不间断扫描,从而获得道路三维形貌。
根据车辆运动过程中对应的三个欧拉角(航向角、俯仰角和横滚角)性质的不同,现有的角度测量传感器可分为航向角传感器(电子罗盘)和倾角传感器,前者应用于航向角的测量,后者可以用来测量相对于水平面的倾角变化量。理论计算和实验证明:在实际应用中由于车辆转弯避障的需要,三个欧拉角中的航向角变化幅度较大,对路面三维重建效果影响也最大。目前广泛应用的航向角传感器原理大都是基于地磁场方向来判断角度变化量,因此它的精度不高,对使用环境的磁场稳定性要求也较为苛刻。为此,我们结合使用相机和激光扫描仪,通过对一系列前视时序图片中道路灭点坐标的获取来获得车辆实时的航向角和俯仰角,以此为基础来校正扫描仪得到的三维地形数据,进而准确实现路面的三维形貌重建。实验结果表明,通过定位图像中灭点位置的方法获得的实时姿态角精度高,校正后的路面三维形貌与真实的路面情况实现了较为准确的吻合。
空间一组平行直线在图像平面上所成的像仅有一个交点,即灭点(又称消失点),它蕴含了直线的方向信息,对灭点进行分析可以得到相机的角度姿态信息。因此,灭点估计在视觉导航[1-7]、三维重建[8]、相机定标等方面都有广泛的应用,是计算机视觉和光学传感领域内一个重要的研究课题。
图1给出了图像坐标系与世界坐标系之间的关系示意图[3]。
图1 图像坐标系与世界坐标系的关系示意图
假设角度定位相机在世界坐标系中的位置坐标为(l,d,h),相机分辨率为m×n像素,视场角为 2α×2β 弧度,具体参数如图2 所示[3]。
图2 相机架设各参数示意图
根据图1和图2的参数标示,可以解算出世界坐标系下的路面坐标(x,y,0)与图像坐标系下的图像坐标(u,v)之间的关系,由式(1)给出[3-4],其中 γ为航向角,θ为俯仰角:
可以解出用路面坐标(x,y,0)表示的图像坐标(u,v):
为得到世界坐标系中前方无穷远点(即灭点)在图像坐标系下的坐标,可令x→∞,则有:
从式(3)中可以发现,在相机分辨率和视场角等内参数一定的情况下,灭点的纵坐标和横坐标分别与航向角γ和俯仰角θ线性相关。因此,通过实时查找灭点在图像中的位置,可以很方便的计算出相机所对应时刻的航向角和俯仰角。
式(3)可改写为:
由式(4)可知,相机的视场角越小、分辨率越高,图像中灭点的像素坐标随姿态角的变化越敏感,即小视场和高分辨率的相机可以对平台的姿态角进行高精度测量。但是视场角越小,拍摄区域也越小,在较大角度的姿态变化(如车辆大角度转弯)时可能拍丢道路边缘信息。因此若要保证大范围高精度的平台姿态角测量,则需使用大视场镜头或者组合多个相机同时采集前方图像。
为检验理论分析结果,进行了标定相机姿态角与灭点位置关系的实验。实验过程如下:在道路远处中心与相机等高位置(即灭点处)设置一合作目标。相机固定架设于经纬仪上,以小角度分别沿水平和垂直方向转动,每转动一个角度拍摄一张照片,对这些照片利用模板匹配的方法查找到合作目标中心在图像中的坐标,这样就建立了相机姿态角变化与灭点坐标之间一一对应的关系。实验中通过经纬仪对相机的姿态角进行精确调节,所用经纬仪测角精度为1″。
实验中所用相机为加拿大Point Grey公司的Flea2-14S3型黑白数字相机,最大分辨率1 280×960像素。镜头参数为16 mm/F1.6,其视场角为16°×22.5°。对镜头标定结果表明:当相机的角度沿横向或纵向每变化1'时,对应图像中灭点的坐标沿横向或纵向移动约1个像素。图3给出了相机沿图片中心横向或纵向移动时,相机转过角度和灭点坐标改变值之间的关系。从图中可以看出,标定结果与理论计算结果吻合的很好,只是在镜头边缘处出现了一定的偏差,这主要是由于镜头的稍许畸变造成的。
图3 相机转动角度和灭点坐标偏离值对应关系
为检验标定结果并测试利用查找图像灭点法检测姿态角的精度,随机调节经纬仪横向与纵向角度拍摄了6张图片,通过Hough变换查找道路边缘线,进一步求解出灭点像素坐标并结合标定结果内插得出了平台的姿态角,将该值与从经纬仪读出的角度值进行对比,得到了测角精度。详细的实验数据如表1所示。
表1 角度计算值和实际值的对比分析结果
根据表1的实验结果,可知利用查找图像灭点法测角误差一般不超过4',因此可以认为通过对图像作Hough变换找直线并求解灭点坐标,然后根据该坐标反解平台角度的精度是比较高的。产生误差的原因主要有三点:一是通过Hough变换解算出的灭点坐标和实际灭点坐标有偏差;二是相机初始化安装时可能并未将光轴对准正前方的灭点位置;三是镜头的微小畸变导致图像灭点坐标与平台角度之间并非完全的线性关系,由此产生了测角误差。
我们以实验用手推车为运载平台,组合相机和激光扫描仪搭建了道路三维重建的原理验证系统。系统工作前,先调整相机水平向前架设,将相机光轴对准前方道路灭点,并牢牢固定以保证相机的稳定。扫描仪以向下扫描的方式架设于相机下方,为避免扫描线被车辆自身遮挡,向前有一定的仰角。图4给出了扫描仪和相机的详细架设位置关系。系统中使用的相机和镜头参数与前述一致;扫描仪为德国SICK公司的单线式激光扫描仪LMS-291,它的最大角度分辨率为0.25°,最大测量距离80m,最大测量角度范围180°。系统在工作过程中需解决相机与扫描仪同步数据采集控制的问题。
图4 传感器联合架设位置关系
为验证本文提出算法的有效性,选择了一条平整的长直道路进行实验,如图5所示。右图即左图进行逆透视投影变换[3,15]变为俯视图的结果。
图5 实验选择的道路场景图及俯视效果图
从图5中可清晰的看出该路段边缘直线特征明显。为检验系统的路面三维重建效果,详细测量了道路的三维参数:路面宽4.5 m,平整度良好,路面与一侧人行道落差为0.118 m,道路边缘线直线度良好。由于现有一般的航向角传感器本身精度的限制,不足以直接验证本文姿态角检测算法的精度,因此我们利用了实际道路边缘线为直线且路面与人行道有一定高差的道路三维特征,考察系统重建出的道路三维形貌对该特征的恢复程度,以此来评价本文算法的角度检测精度和系统三维重建效果。
相机与扫描仪的数据采集和同步控制是在VC++6.0环境下编程实现的,扫描仪使用的是RS422串口,以500k波特率的速度传输数据。图6给出了实验过程中相机在不同时刻采集到的前视道路图片,依次分别为图片序列的第0帧、100帧、200帧和300帧图像。
图6 相机不同时刻采集到的道路前视图片
得到多传感器同步采集的数据以后,编程实现了数据的处理和三维重建。为得到图片中灭点坐标,首先需要找到道路的两条边缘线。程序采用形态学算法结合Hough变换检测出道路边线[16],进而计算出灭点坐标并最终得到姿态角。为剔除图片中的噪声和杂散边缘、强化道路边缘线特征,将经过滤波和边缘检测等步骤预处理的图片分别使用不同的结构元素进行开运算。初始的结构元素1和结构元素2分别被设定为斜率1和-1的直线结构元素,用以检测道路左边线和右边线。由于车辆转弯等原因,道路两条边缘线在图片中的斜率是时刻变化的,所以不能使用一成不变的结构元素对图片进行开运算。考虑到相机帧频为每秒15帧,相邻两幅图片中道路边缘线斜率变化不大,因此可以根据Hough变换得到的道路边缘线的斜率,实时更新对应斜率的直线结构元素,为下一张图片的边缘线准确查找打下基础。程序流程如图7所示。
图7 计算姿态角程序流程图
根据以上算法,程序得到了整个实验过程中航向角和俯仰角随时间的变化关系,如图8所示,从图中可以看出,相对于航向角而言,俯仰角在整个过程中的变化幅度小,但变化频率较高,这是由于车辆在推动过程中的震动造成的。
图8 姿态角随时间的变化关系
实验中我们测量了小车的平均推行速度,在假定小车一直以匀速率运动的前提下,我们由实时的航向角变化计算出了小车的运行轨迹,如图9所示。图中看到,小车在前行过程中向道路右侧横向偏离了约1 m的距离。
图9 车辆行驶轨迹
图10为扫描仪点云数据按车辆运动轨迹配准原理图,为躲避障碍物(如道路上的损毁部分),车辆选择了曲线行驶绕过障碍物,为准确获取真实场景的三维重构结果,扫描仪的每条扫描线必须依据车辆的实时位置、航向角在世界坐标系下进行修正,即依据车辆运动轨迹对扫描仪数据进行配准,以保证较为精确的获得真实场景的三维重构结果。
图10 扫描仪点云数据按车辆运动轨迹配准原理图
图11给出了在没有对扫描仪数据进行角度姿态校正的时候重建出的道路三维形貌的俯视伪彩色图,图中的深色区域为路面,浅色区域为人行道。对比图5可以看出,原本直线度良好的道路经三维重建以后出现了明显的扭曲失真,道路边缘沿道路横向的最大移位约为1 m,与车辆行驶时的最大横向偏离距离相当。
图11 未进行姿态校正前道路的三维重建结果俯视图
图12给出了经角度姿态校正后的道路三维重建结果俯视图,从图中可以看出,失真现象得到了纠正,道路的直线特征被较好的还原出来,由重建结果的数据可得到道路边缘线的移位小于5 cm,且道路各三维参数与实地测量值吻合的很好。因此可以认为,由本文算法得到实时姿态角是准确可靠的。
图12 进行姿态校正后道路的三维重建结果俯视图
本文分析了一种应用于道路三维重建的姿态角测量方法。实验结果表明,在车辆出现一定的航向角和俯仰角变化的情况下,重建后的三维形貌准确恢复出了实际的道路特征。在特定领域的应用中,该方法是除了惯导系统和角度传感器之外的另一种低成本高精度的姿态角测量方法。
需要说明的是,该方法的应用领域存在一定的限制。例如当道路弯曲严重以致不能保证路面较为平直的假设时,会导致灭点查找失败的情况出现;为保证车辆在以大的角度转弯过程中不丢失图像中的灭点信息,需要增加镜头视场角或者使用多台相机多角度拍摄图像。此外,受限于算法复杂度的影响,在CPU为Core2 Duo 2.8GHz的计算机平台上,本方法目前的实时角度测量频率仅达3 Hz~5 Hz。下一步的工作需要进一步研究算法的优化,从而提高实时测量频率。
[1]毛可骏,周平,赵匀,等,基于机器视觉的自主插秧机导航信息的提取研究[J].农机化研究,2009,5(5):63-66.
[2]Li Xu,Zhang Weigong,Bian Xiaodong.Research on Detection of Lane Based on Machine Vision[J].Journal of Southeast University(English Edition),2004,20(2):176-179.
[3]Massimo Bertozzi,Alberto Broggi.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.
[4]Massimo Bertozzi,Alberto Broggi,Alessandra Fascioli.Stereo Inverse Perspective Mapping:Theory and Applications[J].Image and Vision Computing,1998,16:585-590.
[5]李红,柴洪林,彭嘉雄.基于灭点查找的无人机姿态角估计[J].华中科技大学学报,2007,35(6):4-7.
[6]刘士清,胡春华,朱纪洪.一种基于灭影线的无人直升机位姿估计方法[J].计算机工程与应用,2004,(9):50-54.
[7]蒋刚毅,郁梅.基于灭点查找的车道状态估计[J].电路与系统学报,2001,6(3):6-10.
[8]舒远,谈正,丁礼儒.利用空间正交约束的相机自标定和三维重建[J].西安交通大学学报,2005,39(2):138-141.
[9]荣瑞霞,欧龙,张丽娜,等.基于灭点理论的普通数码相机标定方法[J].工程地球物理学报,2007,4(2):152-156.
[10]张剑清,张勇,方芳.铅垂线辅助城区航空影像的绝对定向[J].武汉大学学报·信息科学版,2007,32(3):197-200.
[11]马琳,郑南宁,李青,等.自主车辆视觉系统的摄像机动态自标定算法[J].西安交通大学学报,2005,39(10):1072-1076.
[12]胡钊政,谈正.一种基于二灭点的摄像机自标定新算法[J].空间电子技术,2005,(1):42-46.
[13]李青,郑南宁,张雪涛.用三线法标定车载摄像机的外部参数[J].光电工程,2004,31(8):23-26.
[14]谢文寒,张祖勋,张剑清.一种新的基于灭点的相机标定方法[J].哈尔滨工业大学学报,2003,35(11):1384-1387.
[15]邓剑文,安向京,贺汉根.基于道路结构特征的自主车视觉导航[J].吉林大学学报,2004,22(4):415-419.
[16]朱彤,阎莹,袁志业.一种基于形态学变换的车道检测方法[J].山东交通学院学报,2006,14(1):13-16.