电子说
一、背景
驾车时我们通常会参考位于车身两侧的后视镜和车内的后视镜,观察车辆两侧和后方的状况,虽然在驾驶时可以保证较高的安全性,但在泊车时仅仅依靠这三个后视镜所提供的信息却远远不够。倒车雷达虽然可以提供前后障碍物的声音提醒,但对于车辆两侧出现的障碍物却无法进行检测。倒车影像系统虽然可以将车辆倒车时的影像信息显示在中控台的显示屏上,但车辆前后及两侧仍存在着很大的盲区,并且在驻车时多数发生的刮蹭状况并不是在车身前后而是在两侧。
如果地上只有车位线,没有其它参照物,估计很少有人能够端端正正地把车停到车位中间,不是偏一边就是跨位停车。如果两车夹一空位,现在的车位都不是标准停车位,往往偏窄,估计也要前前后后倒好几把才能勉强进去,而且很可能停得连自己的车门也开不了。
加上近年汽车的快速增加使得城市道路、小区停车日渐拥堵,令驾驶员在泊车时受到视野和车位狭小等客观条件的限制,而极易发生擦碰事故,带来不必要的损失。大多数的车辆刮蹭都是在出入车位和让车时造成的,虽然车速不会很快,但不小心刮蹭到爱车的漆面仍是件非常恼人的事情。因此有了车身周围全景环视行车辅助的需求。
这个全景环视概念最早是由K.Kate,M.Suzuki,Y.Fujita,Y.Hirama等四人于2006年首先提出。这一概念提出后,马上引起了国内外众多汽车生产厂商和相关科研单位的注意。虽然过去了六年,但到目前为止,基于这一观点研发出成熟产品的厂家却屈指可数。2007年,日产公司发布了首款全景行车安全系统“环景监视系统AVM”,2008年本田推出了multi-view camera system,2009年阿尔派推出TOPVIEW系统,2010年Fujitsu公司开发了Multi-Angle Vision系统,宝马公司自主研发的只有左、右、后三个方位视图的泊车辅助系统首先应用在X6上,宝马74系列上的全景系统还是其供应商提供的。
二、简介
360度全景影像系统,又叫卫星全景行车安全系统(也有叫全景辅助泊车系统、全景环视系统、全景式监控影像系统、360度全景泊车辅助系统、汽车360环视系统),系统同时采集车辆四周的影像,经过图像处理单元一系列的智能算法处理,最终形成一幅车辆四周的全景俯视图显示在屏幕上,直观地呈现出车辆所处的位置和周边情况。系统大大地拓展了驾驶员对周围和环境的感知能力,使驾驶员在处理车辆起步、行车转弯、泊车入位、窄道会车、规避障碍等情况时从容不迫、轻松自如,可以有效减少刮蹭、甚至碰撞碾压等事故的发生。
三、工作原理
360度全景影像系统主要由以下六部分组成:图像获取、摄像机定标、图像变换、图像美化、图像无缝拼接融合、图像显示。图像的获取往往利用安装在车身前后左右4个超广角摄像头SWVC(Super-Wide-View-Camera)捕捉车辆周围状况。但由于采用SWVC后影像会产生“鱼眼失真”的现象,所以必须通过数学算法进行画面合成和画面修正,合成一幅车身周围的全景鸟瞰图,从而将车辆四周真实画面展示在车载显示屏上,避免行车过程中的碰撞危险。因此,摄像机定标、图像美化、图像无缝拼接融合的核心算法将主导整个系统。
在摄像机内参标定部分,考虑制作标定工具取代手工作业,配合相应的算法进行摄像机标定。在摄像机外参标定部分,将打破传统的标定方法,引入进化计算的思想优化算法,在不影响标定精度的前提下简化标定流程、缩短标定时间。在图像拼接部分,因为不同摄像机成像系统的差异导致相同时间坐标点的成像也会有所偏差,所以舍弃利用相关点配准再融合的方法,并直接根据人眼视觉模型,采用视觉过渡的方法对图像进行拼接融合。具体的实施步骤:
(1) 图像的获取:利用170度以上超广角摄像机获取模拟信号,并将信号解析为图像数据;
(2) 摄像机标定模型的建立:建立世界坐标与摄像机坐标的关系,建立摄像机坐标与图像坐标的关系,从而确定世界坐标与图像坐标的关系;
(3) 摄像机内参的标定:对摄像头内参进行标定;
(4) 摄像机外参的标定:对摄像头外参进行标定;
(5) 图像光照一致性研究:研究同一场景下成像灰度值的关系,分析不同角度的光源对摄像机成像造成的影响,从而提出消减这种影响的算法;
(6) 图像拼接融合:根据人眼的视觉模型,研究图像缝隙视觉过渡的方法,从而消除图像拼接引起的缝隙,达到图像融合的目的。
(7) 图像的显示:优化系统算法,将所得图像对接显示屏显示。
(8) 形成产品:形成一套成熟的产品,该产品满足360度全景影像系统功能。
在对图像的处理上,不同的车型,因为四个摄像头安装的高度、宽度、仰角都不一样,所以,真正的全景环视产品,针对每个车型都要有一套与之配套的差数软件,才能真正实现无缝合成全景显示。如果软件做得好,可以把这些参数做到一起,通过后期的调试实现自适应。
四、关于算法
360度全景影像系统关键就在算法上,有很多人认为搞几个软件人员就可以将产品搞起来,实际上不是这么简单的,每一种技术的积累是有过程的,除了对硬件本身有要求外,对算法的逻辑关系有非常重要的要求。
比如我们想计算达到1万这个结果就有很多种算法:有100X100,慢一点是10X10X100,再慢一点是10X10X10X10,最慢的1+1+1+……1+1同样达到1万的结果,不同的计算方式,反映出来的效率是完全不一样的。而一个全景要同时处理四组摄像头采集的数据,摄像头的采集是按帧来计算画面的,一般不小于16帧,16乘于4,也就是说最简单的要求同步处理64幅画面的效果,同时还要进行补光平衡、裁剪、矫正、拼接等复杂的计算处理。不同的逻辑算法,带来的效果是完全不一样的,如果算法复杂,处理的数据多了,时间长了,就会造成反应迟缓、停顿、死机等现象出现,甚至造成硬件的瘫痪和损坏,这和电脑处理高清图片、视频是一样的道理。
我们的理解,复杂的算法是需要天才来搞的,就象陈景润和华罗庚一样能有几个?很多前装的车辆为什么要用分割线掩盖技术的缺陷,因为他们即使有很多软件人才,但不一定有数学天才,这种人才是可遇不可求的。算法部分是通过ARM系统完成的,就像导航系统一样,而一般软件工程师以完成MCU部分为主,解决一些人员操控或者与其它系统之间的衔接匹配问题。如:为便于驾驶人员确认主要画面(前进和倒车画面),需要有专门和车辆通讯配套的控制端口,以便在车辆前进时自动切换为前进主画面,倒车时切换为倒车主画面;通过音响系统提供警报音,并在主画面提示危险物体,以便提醒驾驶人员进行危险避让。
全部0条评论
快来发表一下你的评论吧 !