1、引言
随着社会的发展和人口的增长,汽车越来越多的进入我们的日常生活,交通也日益拥挤。驾驶汽车是一项复杂的活动,长时间的驾驶很容易使人感到疲劳,从而容易导致交通事故。此外一些工程车辆在作业时环境恶劣、劳动强度大,这些车辆的驾驶自动化是非常有必要的。为了使汽车驾驶操作简单、安全、舒适,把人从繁重枯燥的汽车驾驶中解脱出来,当今世界各国都在积极研究开发自动驾驶技术。
德国、美国和日本等国在汽车自动驾驶领域开展了积极的研究并取得了很大的成绩。我国国防科技大学机电工程学院一直在进行汽车自动驾驶技术的研究,其与第一汽车集团公司联合研制的无人驾驶型“红旗”CA7460于2003年6月在湖南长沙试车成功,稳定行驶时速达130KM/h(美国最高水平 100KM/h、德国120 KM/h),最高时速达170 KM/h,具备安全超车能力。但他们的系统主要是依靠车载雷达、红外测距仪和图像传感器来识别测量路面环境状况,所得到的路面环境信息不丰富,不能满足汽车智能驾驶的要求,所以这些系统都还只能在路况良好的高速公路上应用,无法适应道路环境恶劣的低级公路和城市公路。
视觉是人类观察世界、认识世界的重要功能手段,人类从外界获得的信息约有75%来自视觉系统,特别是驾驶员驾驶需要的信息90%来自视觉。在目前汽车辅助驾驶所采用的环境感知手段中,视觉传感器比超声、激光雷达等可获得更高、更精确、更丰富的道路结构环境信息。随着计算机技术的发展和图像处理/识别技术的成熟,机器视觉技术获得长足的发展,目前广泛的应用在三维测量、三维重建、虚拟现实、运动目标检测和目标识别等方面。在汽车的自动驾驶发面,一个前提性的问题就是路况识别和车辆、障碍物的距离、速度检测,解决了这个问题才可能去控制汽车的驾驶。而机器视觉技术融合三维测量和图像识别技术于一身。
目前,机器视觉在智能机器人领域的研究热火朝天:Klaus Fleischer等人提出的基于机器视觉的城外公路基础设施固定对象的检测与跟踪;D. Brzakovie等人提出道路边缘检测在移动机器人导航中应用 ; O.Djekoune等人提出基于神经网络的视觉引导机器人导航。这些研究成果对机器视觉在智能驾驶中应用有着重要的启迪。
本文把机器视觉技术为主要的路况感知手段应用到车辆自动驾驶中去,为实现车辆智能化驾驶提供一个不同的思考角度。
2、机器视觉技术
自从MARR视觉计算理论提出以来,机器视觉技术迅速发展,是目前智能驾驶领域发展最快的技术之一,也是智能驾驶领域研究的主要方向之一。
2.1机器视觉基本原理
获取场景中各点相对于摄像机的距离是立体视觉系统的重要任务之一,场景中各点相对于摄像机的距离可以用深度图(depth map)来表示。机器视觉系统主要是依靠双(多)目CCD在不同的空间位置上上获取两(多)幅图像,通过这两(多)幅图像的深度信息和成像几何来生成深度图(图1所示)。
本文以比较简单常用的双目CCD视觉系统为例,它的几何关系如图所示。它由两个完全相同的CCD摄像机(摄像头)构成,两个图像平面位于同一个平面上,两个摄像机(摄像头)的坐标轴相互平行,且x轴重合,摄像机之间在下x方向上的间距为极限距离B。
图1 双目立体视觉几何模型
在图中,场景点P在左右图像平面中的投影点分别为P左和P右,假设坐标系原点与左透镜中心重合,比较相似三角形PMCl和PlLCl得到:
(1)
同理,从相似三角形PNCr和PlRCr,得到:
(2)
合并上面两式:
(3)
其中F是焦距。
由上面推导可知各种场景中的深度信息可以通过计算视差来实现。在机器视觉系中统要能准确的计算视差,一个重要的前提就是能够找到左右图像对中投影点的共轭对(场景中同一点在不同的图像中的投影点称作共轭对),即立体匹配。匹配的方法主要有边缘特征匹配、区域特征匹配和相位匹配三类。立体配对是机器视觉里面研究的一个重要方向,在这方面有很多有用的研究成果,O.Djekoune等人在文中提出了应用神经网络的方法提高立体像对的匹配速度和准确度的新算法。
2.2 机器视觉技术在智能驾驶中应用
在智能驾驶中应用机器视觉技术,机器视觉技术必须具备实时性、鲁棒性、实用性这三个特点。实时性要求机器视觉系统的数据处理必须与车辆的高速行驶同步进行;鲁棒性是要求智能车辆对不同的道路环境如高速公路、市内公路、普通公路等,复杂的路面环境如路面的宽度、颜色、纹理、弯道、坡度、坑洼、障碍与车流等,各种天气晴、阴、雨、雪、雾等均具有良好的适应性;实用性指智能车辆能够为普通用户所接受。
目前,机器视觉主要用于路径的识别与跟踪。与其它传感器相比,机器视觉具有检测信息量丰富、无接触测量和能实现道路环境三维建模等优点,但数据处理量极大,存在系统实时性和稳定性问题,要靠开发高性能的计算机硬件,研究新算法来解决。随着计算机技术和图像处理技术的飞速发展,三维重建道路环境为车辆高速智能驾驶提供强大的信息,在不远的将来具有现实可行性。
机器视觉的道路识别基本原理为,公路路面的环境(白色路标、边缘、路面颜色、坑洼、障碍物等)的CCD图像灰度值和图像纹理、光流有差异。根据这种差异,经图像处理后可以获得需要的路径图像信息,如方位偏差、侧向偏差、车辆在道路中的位置等信息。将这些信息与车辆的动力学方程相结合,可构成车辆控制系统数学模型。
3、智能驾驶系统的结构设计
(1) 机器视觉系统
机器视觉系统的硬件构成:主要由参数、型号、性能一样的两个CCD摄像头、两片同样的视频采集卡和计算机上的视频处理软件构成。我们利用左右两路CCD摄像头摄取的照片对进行图像处理而得到相关的深度信息,必须保证左右两路CCD摄像头信号是同步的,否则摄取的图片不对应,就无法正确的提取相关深度信息。因此我们左右两路CCD摄像头是经过同步处理的摄像头,就是从左路摄像头的帧同步电路里引出帧同步信号到右路CCD摄像头的帧同步电路里,从而保证左右两路的图像总是同步的。
机器视觉处理软件系统主要是担负着障碍物检测识别、交通信号检测识别、交通图案识别检测、公路边缘识别检测、弯道弧度识别检测和前方车辆距离速度检测和路面坑洼坡度识别检测这些主要信息的提取,在这些信息数据的基础上进行道路环境的三维重建。机器视觉处理软件系统处理得到的道路环境信息和辅助系统的多传感器的信息进行融合,结合车辆动力学模型(已经有很多科学家在研究模糊控制技术和神经网络技术在车辆动力学模型上的应用)和车辆行驶状态参数,由车辆行为决策调度系统做出合理的决策调度,然后由路径规划系统生成合理的路径规划和车辆控制命令,对汽车进行控制。
公路边缘识别检测关系着汽车能否正确识别公路,尤其是缺乏交通图案的低等级公路。我们机器视觉检测公路的边缘信息和公路的宽度信息。公路的边缘检测,对CCD摄取的图像进行二值化处理,就可以提取出公路边缘;公路宽度信息检测,利用左右两路CCD摄取的公路图像进行立体匹配,提取里面的深度信息,依据机器视觉理论计算出公路的宽度。依据其他传感器的数据确定汽车在公路中的位置和汽车的行驶状态参数,做出合理的路径规划,优化控制汽车在公路中的位置,做好路径跟踪,不至于行驶中偏离公路路面。
交通图案、道路标识、交通信号的识别检测。交通图案包括常见的斑马线、车道线、箭头等。这些交通图案都是有固定的颜色(比如斑马线都是白色的)和固定的形状,因此对他们的识别只要使用简单的图像处理,然后对照我们预先建立的交通图案模型就可以快速的识别。交通标识识别就要相对麻烦一些。有些交通标识上面有文字,我们不仅需要利用图像处理技术提取这些文字信息,而且需要分析这些文字蕴含的交通信息。交通信号包括交通信号灯和交警旗语,他们都有固定的运行模式,可以预先建模,然后根据图像处理结合其他传感器的信息,进行检测识别。
前方汽车、障碍物的距离、速度的检测和识别。能否安全准确的识别检测出前方汽车、障碍物对汽车智能驾驶是十分关键的。不仅要识别出前方汽车、障碍物,而且要检测出它们的运动速度、运动方向和离本车的距离,要能依据连续几次测定的它们离本车的距离和运动速度、运动方向预测出它们的可能运动轨迹,为本车超车、减速、规避障碍物、降低危险风险提供可靠的数据。利用机器视觉技术,可以使用基于成像模型的对应点估计三维运动检测方法和基于光流的估计的三维运动检测方法。模型法、光流法有很多成熟的算法可以选择,有利于系统程序的实现。
机器视觉系统中摄像机标定:摄像机标定的目的是确定摄像机的内外部属性参数并建立空间成像模型,以便确定空间坐标系中物体点与它在图像平上像点之间的相应关系。摄像机的标定分为摄像机内部参数标定和外部参数标定。内部参数确定了摄像机内部的几何和光学特征,不随摄像机的移动而改变;外部参数是确定摄像机像平面相对于客观世界坐标系统的三维位置和朝向,摄像机移动后,需重新校正。本文中摄像机随车运动,但我们所需要的参数都是内部参数,只需预先标定摄像机的内部参数就可以。
图2 智能驾驶系统结构框图
(2) 主控制系统
整个智能驾驶系统的核心是主控制系统,它负责各种传感器的信息采集、识别,然后进行处理,最后依据处理后的信息进行车辆行为决策调度,规划路径并生成汽车控制命令。本文整个智能驾驶系统的设计思想也是基于模拟人工驾驶来进行的,主控制系统是汽车的大脑,机器视觉系统好比人的双眼。主控制系统一旦出现系统死机或者控制软件运行不稳定,则会带来车毁人亡的重大交通事故。而主控制系统计算机工作环境恶劣,汽车在高速行驶的时候震动很大,靠近汽车引擎的部位温度较高,为了保证主控制系统的安全稳定的运行,主控制系统计算机应该选用高性能高稳定的工控机。
(3) 辅助测距定位系统
主要包括车载GPS定位系统、测距雷达、电子地图等。随着交通信息化的发展,基于GIS的电子地图已经开始应用在日常汽车驾驶中。基于GIS的电子地图它包括了大范围层次的地理位置信息,可以利用它来设定大的方向上的汽车驾驶的宏观路径。然后通过车载GPS全球定位系统来确定汽车当时位置点的地理位置信息,把它跟电子地图上该点的地理位置信息比较,就可以知道汽车现在处于我们设定的宏观路径中的什么位置,可以防止汽车在自动驾驶的时候走错路口,走错方向,偏离预先设定的宏观路径。基于GIS的电子地图和车载GPS全球定位系统的综合运用,保证了汽车能在宏观上按照我们预先设定的宏观路径进行自动驾驶而不偏离我们预先设定的路径。
车载测距雷达主要是辅助机器视觉系统在一些特殊的环境下测定前方车辆的速度和距离,以及路面障碍物的距离。因为跟人一样,由双CCD构成的立体视觉系统在天阴、大雾、暴雨等能见度不好的条件下,对前方车辆障碍物的识别效果会有很大的降低,测定车辆(障碍物)速度和距离更存在精度上的误差,不能测定能见度外的前方车辆和障碍物。而车载测距雷达可以在天气晴好的时候辅助立体视觉系统提高测量车辆(障碍物)的距离精度和测量车辆(障碍物)速度的精度,在恶劣天气可以弥补立体视觉测量效果不好的缺点,提高系统的可靠性。
(4) 车辆行驶参数检测系统
车辆行驶参数检测系统的主要作用是检测汽车的前轮转角、后轮速度、油门大小等车辆行驶状态的关键参数,为主控制系统进行车辆决策调度和路径规划提供参数。这个系统相对简单,车辆行驶状态参数都被车辆仪表检测出,只要想把这些参数读取到主控制系统就可以。
(5) 执行机构
整个车辆的自动驾驶执行机构主要是电液压伺服系统,由多个伺服油缸来完成各种驾驶汽车的动作,它模仿人类驾驶汽车的动作,推拉各操纵杆,完成汽车换档、加速、减速、转向、停车、熄火等一系列工作。控制电液压伺服系统的核心部件是离合器ECU(electronic control unit),档位ECU,转向ECU,油门ECU,刹车ECU这五个各司其职的电子控制器(ECU)来接收并执行主控制计算机经过决策调度计算后发出的控制命令,命令的执行主要是靠ECU把命令信号放大然后送达电液压伺服系统进行机械执行。
4、结语
智能驾驶中的机器视觉技术是一项很复杂的技术,它需要进行更多更细致的研究。目前的难点和重点主要集中在快速有效的立体配对、道路环境的快速三维重建和机器视觉处理的实时性上,有很多科学家已经在这方面进行了深入的研究,新的研究成果无疑讲推动机器视觉技术在智能驾驶中引用。