迟瑞娟,赵木祯,,王建强,张德兆,3
(1.中国农业大学 车辆人机工程与智能控制研究室,北京100083;2.清华大学,汽车节能与安全国家重点实验室,北京100084;3.中国汽车工程研究院汽车噪声振动和安全技术国家重点实验室,重庆400039)
随着车载相机模组技术的发展与成本的降低,车辆监控从传统的倒车后视监控逐渐发展成为车辆全景环视[1].利用多个相机监控车辆周围环境并以图像拼接技术进行视觉增强性的辅助系统,已成为目前轿车等乘用车影像的主流.大客车体积大、左右后视镜的视野较小,在车辆后方、右后侧方以及左右前轮处均存在盲区,而且观看左右后视镜进行判断时驾驶员动作幅度大,容易造成驾驶疲劳,使客车行车危险系数增加[2-3].全景环视系统能全方位和准确地对车辆周围的环境信息进行监控,有效地提升行车安全[1,3,4].目前车辆全景环视等盲点监控系统在轿车上的实现已经较多[1,4],而在大客车上实现的例子鲜见,且方案不成熟.在系统标定方案上,已有全景环视系统的标定需要在车周围很大范围内布满均匀棋盘[5-6],或者采集相机的多张棋盘图片间接参与标定计算[5,7],对标定设备和标定场地要求较高.在系统所用鱼眼相机模型建模上,大多利用径向畸变和切向畸变相机模型进行建模[3],其他模型还有高阶径向模型[3]、球面坐标模型[3]以及椭圆坐标模型[5]等.在标定算法上,主要以Tsai的两级标定法和Zhang的快速标定方法最为常用[8-9].Zhang法的精度高于两级标定法,且不需要高精度的定位仪器[3],实用性较高.由于乘用车体积较小,利用上述方法在乘用车上较易于实现全景环视系统[5];但对于大客车,一般车厂难以提供这么大面积的标定工位和标定设备.
客车全景环视系统,从相机模型出发,根据相机外参数加入特殊平面与地面的映射关系,在客车上采用升高标定棋盘的方式进行系统实现和系统标定,有效避免了直接将乘用车的方案应用到客车带来的标定场地和标定设备复杂、标定时间长等问题.
客车全景环视系统由安装在客车周围能覆盖车辆周边视场的4个鱼眼相机、图像处理控制器ECU、中控台显示屏及相应线束组成.
ECU控制器内集成有4路鱼眼图像的标定、畸变校正、投影变换以及图像拼接算法,由DSP实现.系统组成框图如图1所示,系统部件的实车布置方案如图2所示.
图1 全景环视系统的系统组成Fig.1 Components of the top-view system
图2 客车全景环视系统部件安装位置示意Fig.2 Installation position of the top-view system
如图3所示,经过鱼眼相机拍摄的四幅图像视野较大,但是存在较大变形失真,经过DSP处理后,将各部分的图像进行畸变矫正和俯视变换,配合车辆尺寸等参数进行标定计算拼接得到客车正上方视角的鸟瞰视图送显给驾驶员.
图3 全景环视系统工作原理示意Fig.3 Working diagram of the top-view system
折反射鱼眼相机模型[11-12]如图4所示.
利用该模型计算的标定方法中,需要放置标定模板,采图像后提取图像角点坐标参与标定计算.该模型中从世界坐标到成像面坐标的投影关系为一个包含相机畸变参数的非线性投影函数,其用泰勒级数展开多项式表示为[11]:
图4 折反射鱼眼相机模型及坐标系Fig.4 Catadioptric fisheye camera model and coordinate system
用Rt=[r1r2r3t]表示世界坐标到相机坐标的旋转平移矩阵,也即相机相对棋盘的安装位置外参数矩阵,则有世界坐标系内一物点P(x,y,z)到其成像点的投影关系[11]:
不失一般性,成像点的坐标与图像上的像素坐标存在如下的仿射变换关系[10-11]:
由此就通过一系列参数确定了图像坐标与世界坐标的对应关系.求取这些参数时,利用通过上面的投影关系和从图像中识别到模板的角点坐标数据,首先在感光面中心与图像中心一致的假设条件下,计算得到相机的外参数和对应内参数的初始值,然后对模板中的角点坐标采用Levenbereg-Marquardt算法迭代求解成像投影误差值的最大似然估计,对超定方程组的伪逆求解得到准确的相机内外参数[11].整个标定过程简单快速,易于编程实现.
利用上述的模型和标定方法在实验室进行了标定仿真实验.相机固定后放置标定模板,采集原始鱼眼图像,如图5所示.
如图6所示,经过模板角点识别和棋盘坐标系建立,进行投影模型拟合计算参数初始值,然后根据优化计算拟合得到相应的相机内参数与外参数.结果如表1所示.
图5 实验室内的鱼眼原始图像Fig.5 Fisheye image captured in Lab
图6 角点识别与棋盘坐标系Fig.6 Corners found and the coordinate system
表1 相机内外参数优化拟合结果Table 1 Optimizing results of intrinsic and external parameters
根据参数的标定计算结果,在VC下编程得到相应的校正图像和俯视图像,如图7所示.从实验结果和表1的误差统计结果看出,此方法可以得到较好的俯视投影效果.
图7 实验室内的标定结果Fig.7 Calibration results of fisheye image in Lab
最后,为了验证标定参数的准确性,对于标定结果中具有在世界坐标系下具有实际意义的外参数进行了对比(如表2).
表2 标定外参数与实际外参数对比Table 2 Contrast of calibration parameters and actual parameters
从对比结果可知,标定参数经罗格里斯变换后的数值与真实测量数值很接近,即利用该模型进行计算的结果较为准确,标定得到的外参数值符合实际意义,反折射鱼眼相机模型和对应的标定方法适用于全景环视系统设计.
2.3.1 建立统一坐标系
为了利用上面的标定结果,将4幅画面的俯视图像拼接获得全景环视的效果图像,根据系统设计中相机的安装位置,建立了如图8的坐标系.
图8 图像拼接中统一坐标系的建立Fig.8 The coordinate system inimage jointprogross
其中,W、H、L1、L2、L3、L4为全景环视有效区域尺寸(单位:mm).
前、左、右、后4个相机在地面的投影点在统一坐标系(O-X-Y)内的坐标分别为O1(Cfx,Cfy),O2(Clx,Cly),O2(Crx,Cry),O2(Cbx,Cby).可以用如下的平移向量表示:
为了表示棋盘与相机位置关系,建立相机坐标系与棋盘坐标系的关系模型,如图9所示.
图9 相机坐标系与棋盘坐标系的关系模型建立Fig.9 Relationship model of camera and pattern coordinate system
2.3.2 投影关系分析
对相机i(i=前、后、左、右)来说,其在图像拼接中侧相机原始图像到全景图像投影中各个坐标系的转换过程如下:
首先将i侧相机的相机坐标系(Oc-Xc-Yc-Zc)旋转至Z轴竖直向下,X轴、Y轴方向与图8中(oi-x-y)坐标系内x,y方向一致的坐标系,用Ri表示旋转矩阵,其转换关系可以表示为
而旋转后的相机坐标系(oi-x-y)与统一坐标系(O-X-Y)有如下对应的关系:
式中:ti表示式(4)~(7)表示的平移向量;R0表示两坐标系之间的旋转矩阵,它的表达式[10,12]为
对于前、左、后、右各侧相机,旋转角度g的取值依次为:-90°、0°、180°、90°.
上面内容表示了从多幅图像到最终全景环视图像的正投影关系.由统一坐标系内全景图像区域的一点坐标和全景环视有效区域的尺寸,可以确定此点的原始图像来自哪个相机,然后对此相机通过以上关系的逆投影计算得到俯视图像上坐标值,最后利用俯视图像到原始图像的逆投影变换即可得到对应的原始图像坐标.遍历整个全景区域,逆投影求得的原始鱼眼图像坐标数据进行插值处理后,即可得到全景环视图像[12].
在实验室的模型样车上,依据2.1和2.3的理论内容进行了仿真实验,搭建的实验场景如图10(a)所示.
图10 模型车仿真实验场景与实验图像示例Fig.10 Experimental scene of model for simulation and images
实验设计的标定棋盘方格大小为30 mm,全景环视有效区域如图10(a)中框线所示,其尺寸:W=17 mm,H=27 mm,L1=200 mm,L2=200 mm,L3=80 mm,L4=150 mm.摆放好标定棋盘后,对相机进行标定实验,采集原始图像利用图像进行标定结算,原始图像和根据标定结果计算的俯视图像分别如图10(b)、10(c)所示.
按照2.3节中的图像拼接的算法,遍历全景图像有效区域,最后的插值方法利用双线性插值,得到如图11所示的模型车全景环视效果.
图11 模型车实现的全景环视系统结果Fig.11 Results of top-view system from model car
根据模型车的仿真实验可知,折反射鱼眼相机模型及其标定方法符合全景环视系统的标定要求,在标定外参数准确的前提下,图像拼接计算仅与标定的结果中棋盘与相机的外参数有关.
在实际客车上的实验中,在客车周围地面摆放方格大小为30'30(cm)的5'5标定棋盘并其进行标定实验,结果如图12所示:
图12 实际客车在地面摆放标定棋盘与标定结果示例Fig.12 Calibration results of fisheye image while the pattern placed on the ground around bus
可以看出图12(b)中只有中间摆放棋盘的区域俯视效果较好,边缘区域俯视效果较差,不符合全景环视系统的预想标定结果,要利用地面棋盘进行标定,就需要整个有效区域内的铺满方格大小适宜的棋盘.这对于地面棋盘的要求太高.
为解决这个难题,提出了如下的改进方法:将棋盘平行升高,在2.3节中图像拼接过程的投影关系中加入升高棋盘世界坐标系与相机投影点为原点的地面世界坐标系的映射关系建立模型,如图13所示.
图13 加入棋盘平面与地面关系建立投影模型Fig.13 Relationship model of camera and ground coordinate system
对升高的棋盘模板提出如下要求:
1)棋盘平整,通过水平尺进行调整,使其与地面平行放置,即图13中棋盘坐标轴与车身平行;
2)棋盘大小要保证棋盘显示在图像中的区域尽可能的覆盖全景环视的有效区域.
需要补充的测量数据为抬高的平行棋盘距离地面的尺寸距离 (单位:mm).
基于以上模型,根据相机小孔成像的规律[10],得到棋盘与地面的对应关系:
式中:h表示棋盘在竖直方向上离相机坐标系中心的距离,根据标定结果的外参数,求得的相机外参矩阵为
其中,r1、r2分别为棋盘坐标系中X、Y轴在相机坐标系中的方向向量[10-11].通过方向向量可以求得X、Y轴确定的平面方程,计算相机坐标系原点与X-Y平面的距离即为相机高度h.
经过此计算后,再利用2.3中的方法,遍历全景环视区域实现利用升高的小棋盘进行客车全景环视系统的标定.
根据以上内容,设计了系统的标定工作流程如图14所示:
图14 客车全景环视系统标定流程Fig.14 Flow chart of the calibration for bus top-view system
在实际应用中为提升实时性,系统标定完成后可以生成全景图象与原始图像的查找映射表供车载控制器硬件平台使用,查找表格后利用双线性插值的方法生成图像送显.
实验中安放升高标定棋盘如图15(a)所示,采集用于标定计算的原始图像如图15(b)所示,对相机进行标定计算后利用标定结果得到的俯视图像如图15(c)所示.
遍历全景图像有效区域进行图像拼接,利用双线性插值,得到客车的全景环视图像,如图16所示.
图15 标定棋盘放置和实验图像示意Fig.15 Experimental scene of bus top-view system and images
图16 客车全景环视系统实车效果Fig.16 Experiment result of bus top-view system
利用基于折反射原理的鱼眼摄像机模型及标定方法,针对大客车对全景环视系统的标定步骤做了适当的改进,提出一种适合客车的全景环视系统的标定方法,能快速准确地得到系统效果.试验表明,该标定方法克服了传统标定方法中标定过程繁琐、对场地和设备要求严格、标定时间长等缺点,同时也适用于乘用车等小型车辆,可以简化标定过程和标定设备,具有较大的实际应用意义.
[1]徐子健.全周影像行车辅助系统发展及市场趋势[J].车辆研测资讯,2010(6):18-22.XU Zijian.The development and the market trend of around view driving assist system[J].Information of Vehicle Research and Measurement,2010(6):18-22.
[2]公安部交通管理局.中华人民共和国道路交通事故统计年报(2011年度)[Z].无锡市:公安部交通管理科学研究所,2011.Ministry of Public Security Traffic Management.Statistics annual report on road traffic accident of the People's Republic of China(2011annual)[Z].Wuxi:Ministry of Public Security Traffic Management Science Research Institute,2011.
[3]丁鑫.全景视觉泊车辅助系统研究[D].杭州:浙江大学,2008:77-83.DING Xin.Parking-assistant system using omni directional vision[D].Hangzhous Zhejiang University,2008:77-83.
[4]凃渊耀.嵌入式环车监控系统[D].台北:国立交通大学,2006:5-13,35-40.TU Yuanyao.An embedded system for vehicle surrounding monitoring[D].Taiwan:National Chiao Tung University,2006:5-13,35-40.
[5]上海杰图软件技术有限公司.鱼眼标定方法和装置[P].中国:CN102096923A,2011.6.15.
[6]宓桃,安平.基于多视定位算法的多摄像机标定[J].中国图像图形学报,2008,13(10):1922-1925.MI Tao,AN Ping.Depending on the location algorithm based on the camera calibration[J].Journal of Image and Graphics of China,2008,13(10):1922-1925.
[7]刘育志.鱼眼摄影机校正与多视点影像接合[D].台湾:国立交通大学,2007:15-16,30-33 LIU Yuzhi.Fisheye camera calibration and multiple-viewpoint image stitching[D].Taiwan:National Chiao Tung U-niversity,2007:15-16,30-33.
[8]ZHANG Zhengyou.A flexible new technique for camera calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.
[9]TSAI R Y.An efficient and accurate camera calibration technique for 3D machine vision[C]//Proceedings of IEEE Conference on Computer Vision and Pattem Reeognition.Miami Beach,USA,1986.
[10]章毓进.图像处理技术[M].4版.北京:清华大学出版社,2008:102-113.
[11]SCARAMUZZA D.A toolbox for easily calibrating omnidirectional cameras[C]//Proceedings of the Fourth IEEE InternationalConference on Computer Vision Systems(ICVS).[s.l.],2006.
[12]张浩鹏,王宗义.全景摄像机标定[J].哈尔滨工程大学学报,2011,30(11):1239-1245.ZHANG Haopeng,WANG Zongyi.Panoramic camera calibration[J].Journal of Harbin Engineering University,2011,30(11):1239-1245