基于视觉的车道线识别技术在智能车导航中的应用研究

密级:公开

 

摘  要

摘  要

室外移动机器人的研究是机器人研究领域的重要分支,同时也是备受关注的热点领域。面向高速公路等结构化道路的室外移动机器人研究已成为现阶段民用交通运输领域移动机器人研究的主流。结构化道路上的车道线识别是室外移动机器人研究的重要组成部分,可以帮助智能汽车理解道路环境, 终实现路径规划和车体控制。

本文以石家庄铁道学院电气与电子工程分院自行设计研究的智能移动车 TYIRV-I 为研究对象,介绍了可用于图像处理与计算机视觉编程的强大类库 OpenCV,对其应用于室外移动机器人视觉中摄像机定标问题的主要数据结构进行了说明,重点分析了在 VC++环境下调用 OpenCV 相关库函数的实现摄像机定标的设计问题,并充分考虑了透镜的径向畸变和切向畸变影响及求解方法,给出了基于 OpenCV 的摄像机定标算法。经多次实验证明,该算法充分发挥了

OpenCV 强大的函数库功能,提高了摄像机定标精度和计算效率。

提出了一种基于 ATN 技术的车道线识别算法。算法中使用自定义的定向边缘抽取算子和包含自适应阈值的动态双阈值二值化方法并结合中值滤波技术对道路图像进行预处理,引入改进的自然语言处理中的 ATN (Augment Transition Network)算法来提取车道线,使用了分段线性模型来表示道路的外在形式和理解道路的结构信息。通过此三者的结合,实现了实时、准确、充分的道路识别与环境信息的理解,经过智能移动车长时间、长距离的视觉导航实验证明,本报告提出的道路识别算法完全能够满足智能汽车视觉导航的要求。

在此基础上,又进一步研究了某些复杂道路状况下的车道线识别,即应用增强的 ATN 算法来解决车道线变线/交叉/分支的情况。

 

关键词:摄像机定标,OpenCV,车道线识别,ATN,变线/交叉/分支

 

 

Abstract

Abstract

The research on outdoor mobile robots is an important branch of mobile robot research and a hot field. The research on outdoor mobile robots under highway and other structured roads has become the mainstream of the contemporary research on mobile robots in the field of civilian transportation. Lane recognition on structured roads is an important part of the research on outdoor mobile robots, which can be used to help the intelligent vehicles to understand the road environments, and finally to do route planning and control itself.

It introduced open source computer vision library-OpenCV which is used in image processing and computer vision of outdoor mobile robots based on self-researched Intelligent Vehicle TYIRV-I in Electrical and Electronic Engineering Branch of Shijiazhuang Railway Institute. It discussed the important data structure of OpenCV used in camera calibration, then analyzed the method of camera calibration design using function given by OpenCV under the environment of VC++, especially taking full account of the influences and solving methods of lens radial distortion and tangential distortion. It was given camera calibration algorithm based on the OpenCV which makes use of the functions of the library effectively, improves precision and efficiency of computation by numerous experiments.

In the dissertation, we presented a lane recognition algorithm upon ATN (Augment Transition Network), which used custom directional edge detection operators and bi-threshold binarization which include an adaptive threshold in its two thresholds combing media filter technology to preprocess the road image. It introduced an improved ATN which came from the area of natural language process and been further augmented to extract the lane edge, employed a segmented linear model to describe the appearance of the lane and percept the structural information of the vehicle-road environment. The fast, realtime and precise lane perception is realized on the basis of the cooperation of the above three techniques. The long-time and long-distance vision-based navigation experiments on Intelligent Vehicle have

Abstract

prove that the lane recognition approach proposed here can fully fulfill the requirement of the Intelligent Vehicle navigation. 

In this dissertation, we also took further research on lane recognition under some complex road conditions. Namely it applied enhanced ATN algorithm to solve the situation of lane-changing, lane-crossing, lane-branching.

 

Key words: OpenCV, camera calibration, lane recognition, ATN, lane-changing/ crossing /branching

 

 

目  录

第一章    ...........................................................................................................1

1.1  引言 ..................................................................................................................1

1.2  智能车辆视觉技术的研究现状 ......................................................................3

1.3  论文的主要内容及各章安排 ..........................................................................7

1.3.1  论文主要研究工作 ...................................................................................7

1.3.2  论文各章内容安排 ...................................................................................7

第二章  基于OpenCV的视觉处理方法的研究........................................................9

2.1  摄像机定标过程及方法 ..................................................................................9

2.1.1  摄像机的成像原理 .................................................................................10 2.1.2  摄像机的定标过程 .................................................................................10

2.1.3  摄像机的定标方法 .................................................................................14

2.2  基于OpenCV的摄像机定标方法..................................................................15

2.2.1  智能移动车的摄像机模型 .....................................................................17

2.2.2  OpenCV的定标简介...............................................................................18

2.2.3  基于OpenCV的摄像机定标...................................................................19

2.2.4  定标结果 .................................................................................................21

2.3  本章小结 ........................................................................................................22

第三章  结构化车道线识别技术的研究 .................................................................23

3.1  结构化车道线识别技术的研究现状 ............................................................24

3.2  道路图像预处理技术 ....................................................................................24

3.2.1  图像采样压缩技术 .................................................................................25

3.2.2  频域滤波技术 .........................................................................................25

3.2.3  边缘抽取与二值化技术 .........................................................................25

3.3  车道线像素提取技术 ....................................................................................26

3.3.1  模板匹配 .................................................................................................26 3.3.2  边缘跟踪 .................................................................................................27

3.3.3  Hough变换 ..............................................................................................27

3.3.4  扫描技术 .................................................................................................27

3.4  车道模型建立 ................................................................................................27

3.4.1  二次曲线模型 .........................................................................................28

3.4.2  同心圆曲线模型 .....................................................................................28

3.4.3  近似的回旋曲线模型 .............................................................................29

3.4.4  分段曲率模型 .........................................................................................29

3.4.5  隐性车道模型 .........................................................................................30

3.5  本章小结 ........................................................................................................31

第四章  一种基于ATN技术的车道线识别算法.....................................................32

4.1  道路图像预处理 ............................................................................................32

4.1.1  图像的灰度化处理的基本原理 .............................................................32

4.1.2  滤波处理 .................................................................................................36 4.1.3  边缘提取 .................................................................................................40

4.1.4  自适应动态双阈值二值化 .....................................................................44

4.2  基于ATN技术的车道线像素提取 ................................................................45

4.2.1  结构化道路车道线像素的基本特征 .....................................................46

4.2.2  ATN的理论基础 .....................................................................................46

4.2.3  ATN在车道线中的应用 .........................................................................47

4.3  建立车道模型 ................................................................................................50

4.3.1  应用分段直线模型理解道路环境 .........................................................50

4.3.2  应用 小二乘法进行拟合运算 .............................................................53

4.4  实验检测结果 ................................................................................................54

4.5  本章小结 ........................................................................................................55

第五章  增强的ATN算法在解决车道线变线/交叉/分支情况下的应用...............56

5.1  增强型ATN算法解决车道线变线状况 ........................................................56

5.1.1  感知车道线变线的发生 .........................................................................57

5.1.2  得到当前帧所有的车道线 .....................................................................57 5.1.3  得知当前车道线运动趋势 .....................................................................58

5.1.4  动态的改变垂直中心的位置 .................................................................59

5.1.5  算法的局限性 .........................................................................................59

5.2  增强型ATN算法解决交叉和分支状况 ........................................................60

5.2.1  利用跟踪来躲避路面标志的问题 .........................................................60

5.2.2  同时利用Strip算法和跟踪算法的局限性..............................................61

5.3  增强ATN算法的流程图 ................................................................................62

5.4  本章小结 ........................................................................................................63

第六章  结论与展望 .................................................................................................64

6.1  结论 ................................................................................................................64

6.2  展望 ................................................................................................................65 参考文献 .....................................................................................................................66 致谢 .............................................................................................................................71

个人简历、在学期间的研究成果及发表的学术论文.............................................72

 

 

 

第一章  绪  论

1.1  引言

随着城市化进程的不断推进和汽车的不断普及,交通拥挤日益加剧,人为造成的交通事故频繁发生,交通问题已成为人类社会亟待解决的重大问题。目前计算机和电子技术在缓解交通问题中的成功应用引起了该领域研究人员的高度重视。实践证明,将计算机技术应用于交通领域,能有效缓解交通压力,减轻驾驶员的操作负荷,减少交通事故。智能运输系统ITS(Intelligent Transportation System)[1]这一新兴学科始于 20 世纪 80 年代,自诞生以来,其主要研究范围就是应用计算机技术来解决交通运输中的问题,其中,智能车辆的研究是近年来科研者研究的重点。

智能车辆,也称轮式移动机器人,是一类能够通过传感器感知环境和自身状态,实现在有障碍物环境中面向目标的自主运动,从而完成一定作业功能的机器人系统[2]。它是集人工智能、智能控制、信息处理、图像处理、检测与转换等专业技术为一体,跨计算机、自动控制、机械、电子等多学科的研究课题。在不同的研究与应用领域,智能车相应地被称为AGV(Automated Guided Vehicle)、UGV(Unmanned Ground Vehicle)、ALV(Autonomous Land Vehicle)、 Intelligent Vehicle。字面意思,就是具有智能的车辆,即车载设备(包括传感器系统、计算机软硬件系统和执行器系统等)能够在出发点和目标点之间自主驾驶移动,全部或者部分地完成诸如环境感知、规划决策以及动作控制等依赖于人类智能、通常只能由驾驶员来完成的任务。智能车辆可以广泛应用于工业、农业、军事和公路公共交通领域。特别是智能车辆在军事领域应用的巨大潜力,吸引了各国军界的高度关注[3]。

智能车依靠自身和外部环境相结合能自主地进行驾驶,完成特定的任务,因此,在智能车的系统构成中,对外部环境的感知部分是系统核心[4]。如何能够使智能车稳定快速地对外部环境信息进行感知、采集并处理是智能车成功与否的关键,也是智能车研究中的重点。对道路环境进行感知可以采用多种方法,诸如,定位与数字地图匹配技术、测距技术、视觉导航技术。由于视觉导航具有探测范围广、目标信息完整的优点,因此采用视觉导航技术进行道路信息感知是目前进行道路环境感知的主流方法,并且具有很大的发展潜力。导航是指移动机器人通过传感器感知环境和自身状态,实现在有障碍物的环境中面向目标的自主运动[5,6]。导航技术主要解决以下三方面问题:

(1)通过一定的检测手段获取移动机器人在空间中的位置、方向以及所处环境的信息;

(2)用一定的算法对所获信息进行处理并建立环境模型;

(3)寻找一条 优或近似 优的无碰路径,实现移动机器人安全移动的路径规划。

基于视觉的智能车导航可追溯到 19 世纪 70 年代初期的移动机器人研究[5],但由于当时的硬件水平比较低,因而图像处理的计算量非常大,研究者的精力也就过多地耗费在硬件平台的设计、实现和测试上。但随着计算机硬件水平的飞速发展和图像处理技术的进步,该问题得到了很好地解决[7~9]。

基于视觉的智能车辆导航技术相对于采用雷达、超声波、激光、红外线等的数字图匹配和测距技术具有以下特点:

(1)图像的信息含量极为丰富;

(2)无需破坏路面或对现有道路进行大规模的改造;

(3)可进行多车道检测,信息获取面积大,可同时实现道路检测和障碍物识别;

(4)系统成本低,能提供实时录像,供以后使用;

(5)缺点在于受天气、光照等影响较大,图像处理的数据量过大。

如果在图像算法上面取得突破,就可以大大缩短系统的运行时间,同时可以提高道路信息检测的正确率。因此,利用图像来处理道路信息将是一个很有价值的研究方向。计算机视觉技术引入智能车系统,完成对外界环境进行感知和处理的任务,这些任务包括对道路路面、交通标志、交通信号灯等的感知。对于应用于结构化道路环境的智能车来说,对道路的感知主要是对车道线信息的感知。结构化道路良好的路面信息对智能车的自动驾驶起到了巨大的帮助作用,智能车可以对道路上明显的特征进行感知和处理,这大大提高了自动驾驶的可能性。通过对车道线的检测,可以获得车道信息,智能车可以使用这些信息决定保持车道或者更换车道,这提供了自动驾驶的基本条件。同时,对应用于智能车辆的视觉系统也有一定的要求即实时性、实用性、鲁棒性[10]。其中,实时性是指视觉系统的数据处理必须与车辆的高速行驶同步进行;实用性是指智能车在体积与成本等方面能够为普通汽车用户所接受;鲁棒性是指智能车对不同的道路环境(如高速公路、市区标准公路、普通公路等)、车道线状况(如路面及车道线的宽度、颜色、纹理、动态随机障碍与车流等),天气情况(如日照及景物阴影、黄昏与夜晚、阴天与雨雪等)均具有一定的处理能力。

从理论上分析,在道路检测中,要获得道路环境的三维信息,需要采用双目或多目立体视觉系统[11~14]。但是,双目或多目立体视觉系统在实际应用中计算量很大,而且双目或多目立体视觉系统很难解决视觉匹配问题,而智能车辆在较高速度下的图像处理速度高于一般情况,目前的微处理器技术在计算能力方面还不能完全满足其实时性的要求,所以双目或多目立体视觉系统在较高速度下智能车辆视觉导航中的应用还不成熟。当前,智能车辆视觉系统主要是获取道路平面的二维路径信息,而道路中的其他车辆和障碍物信息可以通过视觉系统、激光雷达测距仪及避障传感器系统进行信息融合得到,这就极大地提高了信息获取的可靠性,所以单目视觉系统仍然能够满足较高速度情况下视觉导航的要求。实际上,世界范围内大多数智能车辆视觉导航系统都采用单目视觉来获取道路环境信息。在单目或多目视觉导航系统中 为关键的技术就是计算机视觉。计算机视觉的主要任务是完成道路的识别和跟踪,其对于信息采集处理的实时性、行驶过程控制的鲁棒性以及自主运行决策的可行性都有很高的要求。这些要求就使所设计的系统必须在理论算法上给予强大的支持,针对计算机视觉部分要求有实时高效的图像处理算法。

对基于视觉的车道线识别研究意义在于能实现智能车辆乃至机器人的自主导航,提高驾驶的安全性,改善交通环境和驾驶的舒适性。识别技术用于车辆的路径偏离预警系统,可以避免大部分由于车辆偏离车道所造成的事故,也能有效防止因驾驶员疲劳驾驶而引发的交通事故;其次,识别技术能提高智能巡航控制中跟踪引导车辆的精度; 后,识别技术可广泛应用于物流领域,具体体现在公路、码头、仓库等的自动运输系统中,实现车辆运输的自动化。

1.2  智能车辆视觉技术的研究现状

智能汽车视觉导航技术的研究 早始于 20 世纪 80 年代早期的美国和德国。进入 90 年代后,随着道路交通拥挤持续增加、堵塞等情况所引发的交通安全性、效率的下降以及交通成本和环境污染加大等问题的日益严重,各国纷纷成立了专门解决这些问题的相关组织并启动了相应的项目计划,导致了 ITS 这一研究领域的兴起。目前,在智能车辆视觉导航技术研究中,欧洲各国、美国、日本等地走在了世界的前列。美国的卡内基·梅隆大学(简称CMU)以人工智能为中心研究多种在现有条件下可实现的视觉算法的NavLab[15,16]智能车系列;德国联邦大学开发的VaMoRs和VAMP智能车针对生物视觉的理解为出发点,以控制工程理论为中心,开发出了性能尽可能接近于人类视觉的智能汽车视觉导航系统;意大利帕尔马大学开发了ARGO[1]智能汽车实验平台以及配套的GOLD视觉导航系统,其特点是完全依靠双目立体视觉系统实现智能汽车的道路识别、障碍物检测等工作,而不用其他的测距技术。

在欧洲,视觉导航技术的研究始于 1986 年的PROMETHEUS (Program for a

European Traffic With Highest Efficiency and Unprecedented Safety),这个项目包含了欧洲许多国家的 19 个汽车生产商、政府的研究机构、大学,这个项目主要关注于研究ITS中的一些方法的构想、实施方案。1987 年奔驰公司和德国国防军大学联合研制VaMoRs-P系列自动驾驶汽车就己创下了道路标志线跟踪的 高 97km/h的 佳成绩。在随后几年不断刷新时速记录并且具备了超车换道功能和对多种气象条件的适应能力,其核心是运行于BMW上的视觉导航系统 VaMoRs-P。该系统在高速公路和普通标准公路上进行了大量实验,实验内容包括跟踪车道线、躲避障碍、自动超车等。利用自适应控制进行纵向及横向自主方式行为实验,该系统 1995 年公布的 高时速可达 130km/h。法国帕斯卡大学自动化与电子材料科学实验室与法国D.R.A.S雪铁龙技术中心合作研制Peugeot 系统,其视觉系统使用单摄像机实时检测并跟踪道路白线,采用高斯滤波和平均值计算确定灰度标准方差,利用梯度计算确定车道线的左右边缘,同时选择多项式函数建立轨迹模型,利用时空光滑方法降低噪声和提高鲁棒性,当车体前方或驾驶参数出现非正常状况时,系统以语音信号的方式向驾驶员发出警告性提示,以避免或降低因驾驶员疏忽所引发的行车事故,提高车辆在道路行驶中的安全性,可见该系统完成的是相对简单的安全警告与辅助导航功能。意大利帕尔马大学研制的ARGO样车,车体采用Lancia Thema 2000 客车改制,计算机采用基于 MMX Pentium 200MHz的标准PC[1],操作系统采用Linux,传感器系统仅采用霍尔效应速度计与视觉传感器。视觉传感器包括两部焦距为 6mm的黑白CCD摄像机,组成了一套双目立体视觉系统[17~23] ,视觉信息的处理由 GLOD(Generic Lane and Obstacle Detection System)来完成[24,25]。其核心是GODL 视觉导航系统,它基于道路平坦假设,采用单摄像机重投影完成平行的道路标志线检测,双摄像机重投影完成车辆和障碍物检测,根据GODL视觉系统,ARGO 实验车能够自动控制方向,实现道路跟踪,此外还能够实现人触发的换道操作。

目前ARGO具有 3 种驾驶模式:

(1)人工驾驶,由计算机系统监视驾驶员的行为,当出现危险情况时,系统以声音和光的形式进行报警;

(2)监督驾驶,当人工驾驶发生危险情况时,系统接管车体控制权以保证安全;

(3)自主驾驶,完全由计算机系统驾驶车体。

美国的CMU视觉导航系统经历了SCARF[26,27] 和UNSCARF、ALVINN、 YARF、RALPH几个研究阶段。 早期的SCARF (Supervised Clustering Applied to Road Following) 和 UNSCARF(UNSupervised Clustering Applied to Road Following) 是 CMU早期开发的专门应用于非结构化道路识别与跟踪的视觉导航系统。前者采用了监督式的像素聚类图像分割算法,后者采用了非监督式的像素聚类图像分割算法。ALVINN (Autonomous Land Vehicle In a Neural Network) 是 CMU 开发的基于人工神经网络的视觉导航系统。ALVINN是 1 个三层神经网络输入层包含 30×32 个输入单元,对应压缩滤波后的 30×32 大小的道路图像。输入节点以完全连接的方式连到 5 个隐单元,而 5 个隐单元又以同样的方式连接到 30 个输出单元。30 个输出单元则代表为了使车体保持在道路中央而应该采用的从左转到右转所需的驾驶角。ALVINN采用了标准的BP 算法学,经过不断改进,ALVINN在不断完善,在随后的版本中还增加了置信度估计和道路的鲁棒性检测等功能。

YARF(Yet Another Road Following ) [28,29]是由 CMU的 K. Kluge开发的。不同于 SCARF、UNSCARF和 ALVINN系统,YARF采用了基于边缘特征抽取的方法来识别结构化道路中喷涂在路面上的车道线和其他道路的边缘。其核心内容是道路模型。模型中既包含定义了道路结构的路面特征之间的相对位置信息,也包含了这些路面特征的外在表现信息,如颜色(黄色、白色)、线型(单线、双线、实线和虚线等)。YARF 的主要特点是采用了同心圆曲线表示道路的几何模型,组合了不同的特征提取和模式识别方法来处理相应的路面特征, 后应用小中值二乘估计算法来估算道路模型参数。与CMU的其他视觉系统中采用隐性表示道路几何信息和车体与道路之间相对信息的方法不同,YARF能够明确的给出这些信息,而且能够给出每一视觉处理周期中所得计算结果的可信度因子,以供后续的路径规划模块进行决策。

RALPH(Rapidly Adapting Lateral Position Handler) [30]是CMU开发的 新的视觉导航系统,也是 1995 年后 CMU 为其智能汽车 NavLab-5 到 NavLab-10 装备的唯一的视觉系统。其优点是:

(1)能够灵活地提取路面上用来确定车体位置和方向并且与道路方向平行的特征;

(2)当这些特征改变时,能够及时适应这种变化;

(3)这种适应动作无需人工监督[3]。

RALPH 将车辆的方向控制问题分解为 3 个步骤:①道路图像采样;②确定道路曲率;③确定车体相对于道路中心的侧位移。后两步输出的结果可以组合成车体的方向控制命令,该命令既可以用来驾驶汽车,也可以用来与驾驶员的实际驾驶动作进行比较,为车道偏离报警系统服务。

国内从“八·五”期间开始了这方面的研究,有多所高校联合研制的军用室外移动机器人。其中,清华大学计算机系自主开发了 THMR 系列机器人,国防科技大学自动化研究所开发研制的 CITAVT 系列,在智能车辆视觉导航技术的研究中都取得了不菲的研究成果。

清华大学的 THMR-V 系统是 THMR 课题组于“九·五”期间自主研制开发的新一代多功能室外智能汽车实验平台。不仅具有面向高速公路和一般道路的功能,还包括临场感遥控驾驶功能。车体采用道奇七座厢式车改装,装备有彩色摄像机、磁罗盘光码盘定位系统、GPS、激光测距仪 LMS220 等。计算机系统采用普通的计算机两台,其中一台进行视觉信息处理,另一台完成信息融合、路径规划、行为控制、决策控制等功能。四台 IPC 工控机分别完成激光测距信息处理、定位信息处理、通信管理、驾驶控制等功能,视觉导航速度 高达到 156km/h。

国防科技大学自动化研究所研制的新一代智能车 CITAVT-IV。车体采用 BJ2020SG 吉普车改装,采用 Motorola 的 Delta 机为计算机系统的主控机和 PSOS+嵌入式操作系统。配备了里程仪、 激光陀螺、 磁敏感转速仪来感知车体自身状态,视觉传感器采用了远近距双目摄像机系统。2000 年 4 月国防科技大学在学校所在地长沙市的绕城公路进行了 CITAVT-IV 的自主驾驶实验, 高车速达到了 75.6km/h。

1.3  论文的主要内容及各章安排

1.3.1  论文主要研究工作

论文以石家庄铁道学院电气与电子工程分院自行设计研究的智能移动车为研究对象,针对智能汽车在结构化道路上的车道线识别进行了研究与实验。主要完成了如下工作:

(1)介绍了可用于图像处理与计算机视觉编程的强大类库 OpenCV,对其应用于室外移动机器人视觉中摄像机定标问题的主要数据结构进行了说明,重点分析了在 VC++环境下调用 OpenCV 相关库函数的实现摄像机定标的设计问题,并充分考虑了透镜的径向畸变和切向畸变影响及求解方法,给出了基于 OpenCV 的摄像机定标算法。经多次实验证明,该算法充分发挥了 OpenCV 强大的函数库功能,提高了摄像机定标精度和计算效率。

(2)本文提出了一种基于 ATN 技术的车道线识别算法。算法中使用自定义的定向边缘抽取算子和包含自适应阈值的双阈值二值化方法结合中值滤波技术对道路图像进行预处理,引入改进的自然语言处理中的 ATN (Augment Transition Network)算法来提取车道线,使用了分段线性模型来表示道路的外在形式和理解道路的结构信息。通过此三者的结合,实现了实时、准确、充分的道路识别与环境信息的理解,经过智能移动车长时间、长距离的视觉导航实验证明,本报告提出的道路识别算法完全能够满足智能汽车视觉导航的要求。

(3)在此基础上,又进一步研究了某些复杂道路状况下的车道线识别,即应用增强的 ATN 算法来解决车道线变线/交叉/分支的情况。

1.3.2  论文各章内容安排

论文的第一章是绪论;第二章讨论了摄像机定标的方法及过程,并重点分析及研究了基于 OpenCV 的摄像机定标技术;第三章重点分析了国内外车道线的识别的基本算法及各中算法在不同道路应用环境下的优缺点;第四章基于之前各章的分析研究成果,给出了智能车车道线识别的处理过程,提出了一种基于 ATN 技术的车道线识别算法,详细叙述了该算法原理并用实验验证了其优越性;第五章进一步提出了增强的 ATN 车道线识别算法,使其在车道线变线、交叉、分支等复杂情况下也有很好的实用性;第六章总结了全文的讨论及研究内容并对后续研究内容做了展望。

 

第二章  基于 OpenCV 的视觉处理方法的研究

人类获取环境信息80%是通过视觉,生物视觉系统从外界获取图像,就是在眼睛视网膜上获得周围世界的光学成像,然后由视觉接收器(杆状体和锥状体) 将光图像信息转化为视网膜神经活动的电信息, 后通过视神经纤维,把这些图像信息传达送入大脑,由大脑获得图像感知[31]。通过这样的人眼和大脑的协作过程,人们可以获取、处理及理解这些视觉信息。

计算机视觉即是模拟这一理论而形成。立体视觉系统的设计目标是从摄像机获取的图像信息出发,计算三维空间物体的位置、形状等信息,并由此识别环境中的物体。随着计算机科学技术的发展和CMOS工艺技术的发展,计算机视觉系统和图像处理系统的应用领域日益广泛,尤其在智能汽车应用领域,视觉系统已经成为必不可少的重要组成部分之一。

2.1  摄像机定标过程及方法

摄像机定标是计算机视觉中的基础问题。计算机视觉的基本任务之一是从摄像机获取的图像信息出发计算三维空间中物体的几何信息,并由此重建和识别物体,而空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系是由摄像机成像的几何模型决定的,这些几何模型参数就是摄像机参数。这些参数必须通过实验与计算才能得到,这个过程被称为摄像机定标(或称为标定)[32]。定标过程就是确定摄像机的几何和光学参数,摄像机相对于世界坐标系的方位。定标精度的大小,直接影响着计算机视觉的精度。

摄像机定标是计算机视觉应用中的关键技术,在增强现实系统中也必须采用摄像机定标技术实现图像的注册。摄像机定标技术在立体视觉研究中占有非常重要的地位。一个完整的立体视觉系统通常可分为图像获取、摄像机定标、特征提取、立体匹配、深度确定及内插六大部分。精确定标摄像机内外参数不仅可以直接提高测量精度,而且为后继的立体图像匹配与三维重建奠定良好的基础。

摄像机定标作为计算机视觉中的一个关键技术在机器人视觉导航、虚拟现实、三维重建等领域中有着广泛的应用。摄像机定标的目的是建立三维图像坐标系与二维图像坐标之间的对应关系。定标就是要从图像点中求出物体的待识别参数,即摄像机内外参数或者投影矩阵。然而,不同应用领域对摄像机定标的精度要求也不同,因此,确定摄像机的参数的定标方法也不同。例如,在物体识别应用系统中和视觉精密测量中,物体特征的相对位置必须要精确计算,而对其绝对位置的定标就不要求特别严格;而在自主车辆视觉导航中,为了实现安全导航,机器人的空间位置的绝对坐标就要高精度测量,并且工作空间中障碍物的位置也要高度测量。只有当摄像机被正确的定标以后,才能根据图像平面中的二维坐标推导出对应物体在三维空间中的实际位置。

2.1.1  摄像机的成像原理 

在计算机视觉中,利用所拍摄的图像计算出三维空间中被测物体几何参数。图像是空间物体通过成像系统在像平面上的反映[36,37],即空间物体在像平面上的投影。图像上每一个像素点的灰度反映了空间物体表面某点的反射光的强度,而该点在图像上的位置则与空间物体表对应点的几何位置有关。这些位置的相互关系,由摄像机成像系统的几何投影模型所决定。在计算机视觉研究中,三维空间中的物体到像平面的投影关系即为成像模型,理想的投影成像模型是光学中的中心投影,也称为针孔模型。针孔模型假设物体表面的反射光都经过一个针孔而投影到像平面上,满足光的直线传播条件。针孔模型主要由光心(投影中心)、成像面和光轴组成。小孔成像由于透光量太小,因此需要很长的曝光时间,并且很难得到清晰的图像。实际摄像系统通常都由透镜或者透镜组组成。两种模型具有相同的成像关系,即像点是物点和光心的连线与图像平面的交点。因此,可以用针孔模型作为摄像机成像模型。由于透镜设计的复杂性和工艺水平等因素的影响,摄像机光学系统不是精确地按理想化的小孔成像原理工作,存在有透镜畸变,物体点在摄像机成像面上实际所成的像与理想成像之间存在有光学畸变误差。主要的畸变误差分为径向畸变、偏心畸变和薄棱镜畸变三类。

2.1.2  摄像机的定标过程

定标过程用到图像坐标系、摄像机坐标系、世界坐标系三个坐标系[33~37]。图像坐标系是存储在计算机中的数字图像的坐标系,分为图像物理坐标系和图像像素坐标系两种。图像物理坐标系:其原点为透镜光轴与成像平面的交点,如图 2-3 中的点,X与Y轴分别平行于摄像机坐标系的XC与YC轴,是平面直角坐标系,单位为mm。

                                                                       

图像像素坐标系(计算机图像(帧存)坐标系):固定在图像上的以像素为单位的平面直角坐标系,其原点位于图像左下角,如图中的O点,u v, 平行于图像物理坐标系的 X 与 Y 轴。设物理坐标系的原点位于(u vo, o) 的像素点上,像素点的大小为dx ×dy ,单位为 mm。则物理坐标系和数字坐标系的转换关系如式(2-1) 所示。

                                                                                 ⎧u u− =0    x dx

                                                                                ⎨⎩v v− =0           y dy                       (2-1)

其齐次坐标表示为:

⎜ ⎟ ⎜

⎜ ⎟ ⎜1         0

⎝ ⎠ ⎝

1 ⎟⎠

1

1

x

d

d

                                                                               ⎛ ⎞ ⎛ u0               u0 ⎞

⎜ ⎟ ⎜⎟

                                                                    ⎜ ⎟ ⎜v =   0            y                v0 ⎟                    (2-2)

摄像机坐标系(XC,YC,ZC) 是以摄像头的光心为原点,XC轴和YC轴与图像坐标系的x轴和 y 轴平行,并且ZC轴垂直于图像平面的直角三维坐标系。图像坐标系和摄像机坐标系之间的关系如式(2-3)所示。

⎧⎪XC = fx ZC

                                                                   ⎨                                                    (2-3)

⎪⎩YC = fy / ZC

其齐次坐标表示为:

XC

                                                        ⎛ ⎞x                f

                                                         ⎜ ⎟        1 ⎜

⎜ ⎟y = ⎜ 0 ⎜ ⎟ ZC ⎜ ⎜ ⎟1 ⎜⎜ 0

⎝ ⎠

式中, f ——摄像机坐标系的焦距;

f cotθ f sinθ

0

0 0

1

0⎞⎜        ⎟

⎟⎜YC

0⎟⎜          ⎟             (2-4)

⎟⎜ZC

⎟⎜          ⎟

0⎟⎠⎜1 ⎟⎠

θ——摄像机坐标系的偏斜度(即两坐标轴不完全垂直)。

通常,θ很接近 90º,所以在要求不是很严格的时候直接将θ设为 90º,因此得到(2-3)式。但是,当对一副照片进行拍摄的时候,由于蛇形变换使得照片的图像坐标系在重新成像后不是 90º,此时,若忽略这个参数,将产生很大的定标误差。综合(2-2)式和(2-4) 式得到:

⎛ ⎞u              ⎛1 dx

⎜ ⎟         1 ⎜

⎜ ⎟v = ⎜ 0 ⎜ ⎟ ZC

⎜ ⎟1  ⎜⎝ 0 ⎝ ⎠

  1. u0 ⎞⎛ f

⎟⎜

  1. dy     v0 ⎟⎜ 0

⎟⎜

0              1 ⎟⎜⎠⎜ 0

f cotθ 0 f sinθ 0

        0              1

XC

XC

0⎞⎜          ⎟

⎟⎜YC

0⎟⎜          ⎟

⎟⎜ZC

⎟⎜            ⎟

0⎟⎠⎜⎝1 ⎟⎠

f f dx cotθ 0 0⎞⎜ ⎟ 1 ⎜⎟⎜⎜YC ⎟⎟ = 1 ΑPC           (2-5)

                                  =       ⎜ 0           f dy sinθ 0        0⎟

ZC ⎜⎟⎜ZC ZC

⎜  ⎟⎜     ⎟ ⎜ 0 0     1     0⎟⎠⎜⎝1 ⎟⎠

由于矩阵Α包含了摄像机全部的 6 个内参数(d dx , y , f , ,θ u v0, 0 ),所以Α构成

了摄像机的内参数矩阵。

摄像机坐标系和世界坐标系的关系为:

                                                         ⎛ XC ⎞                          ⎛ Xw

                                                         ⎜       ⎟                         ⎜       ⎟

                                                              ⎜YC ⎟ ⎛R T3 3×      3 3× ⎞⎜Yw

                                                         ⎜       ⎟=⎜                  ⎟⎜          ⎟                      (2-6)

                                                          ⎜⎜ZC ⎟⎟ ⎜⎝ 0T                   1 ⎟⎠⎜⎜Zw ⎟⎟

                                                          ⎜⎝1 ⎟⎠                          ⎜⎝1 ⎟⎠

其中,T3 1× =⎡⎣tx ty      tz⎤⎦ T 是世界坐标系原点在摄像机坐标系中的坐标,R3 3× 为摄像机坐标系相对于世界坐标系的正交旋转矩阵,其矩阵元素满足:

r112 +r122 +r132 =1                            (2-7)

⎪⎨r 2 +r222 +r232 =1

21

⎪⎩ 2 r322 +r332 =1 r31 +

正交旋转矩阵实际上只含有 3 个独立变量,再加上tx, 和 ,总共有ty tz 6 个参数决定了摄像机光轴在世界坐标系中空间位置,因此这 6 个参数为摄像机外部参数。综上所述,可以得到世界坐标系到图像坐标系的一个线性变换 km =(R t)M。其中,m = (u v 1)T 为图像点的齐次坐标,M = (X Y Z 1)T 为三维空间点的齐次坐标,k为比例系数,由此,得出了空间点和图像点的映射关系。

以上介绍的定标过程属于线性计算过程,即没有考虑摄像机镜头畸变[32],直接在Pin-hole模型的基础上利用直接线性变换(DLT变换)方法计算出摄像头的内部参数和外部参数初值。使用该算法求解线性方程,求解速度快,但由于没有考虑透镜畸变的影响,得到的参数值并不准确。因为实际定标的过程中由于摄像机光学系统并不是精确地按理想化的小孔成像原理工作,或多或少会产生一些透镜畸变,物体点在摄像机成像面上实际所成的像与理想成像之间存在有光学畸变误差。

主要的畸变误差分为 3 类:径向畸变、偏心畸变和薄棱镜畸变。第一类只产生径向位置的偏差,后两类则既产生径向偏差,又产生切向偏差,式(2-8)为无畸变理想图像点位置与有畸变实际图像点位置之间的关系。

径向畸变,光学镜头径向曲率的变化是引起径向变形的主要原因。这种变形会引起图像点沿径向移动,离中心点越远,其变形量越大。正的径向变形量会引起点向远离图像中心的方向移动,其比例系数增大;负的径向变形量会引起点向靠近图像中心的方向移动,其比例系数减小。径向畸变数学模型如式(2-8) 所示。

                                                        ⎧δX r =k X X1                                    d (       d2 +Yd2 )+ο[(X Yd , d ) ]5

                                                      ⎨                                                                           (2-8)

                                                      ⎪⎩δY kY Xr = 2                                 d (  d2 +Yd2 )+ο[(X Yd , d )5 ]

偏心变形:由于装配误差,组成光学系统的多个光学镜头的光轴不可能完全共线,从而引起偏心变形,这种变形是由径向变形分量和切向变形分量共同构成,其数学模型如式(2-9)所示。

                                                 ⎧⎪δX d = p X1 d (3Xd2 +Yd2 )+ 2p X Y2                        d             d +ο[(X Yd , d ) ]4

                                                  ⎨                                                                                       (2-9)

                                                  ⎪⎩δYd = 2pX Y1                  d d + p X X2                   d (      d2 +3Yd2 )+ο[(X Yd , d ) ]4

薄棱镜变形:薄棱镜变形是指由光学镜头制造误差和成像敏感阵列制造误差引起的图像变形,这种变形是由径向变形分量和切向变形分量共同构成,其数学模型如式(2-10)所示。

                                                           ⎧⎪δX p = s X1( d2 +Yd2 )+ο[(Xd ,Yd ) ]4

                                                            ⎨                                                                      (2-10)

                                                           ⎪⎩δYp = s X2 ( d2 +Yd2 )+ο[(Xd ,Yd )4 ]

图像平面理想图像点坐标(Xu ,Yu ) 等于实际图像点坐标(Xd ,Yd )与畸变误差之和,如下式(2-11)所示。

⎧⎪Xu = X d +δ δ δX r + Xd + X p

                                                             ⎨                                                                   (2-11)

⎪⎩Y Yu = d +δ δ δYr + Yd + Yp

2.1.3  摄像机的定标方法

迄今为止,对于摄像机定标问题已提出了很多方法,摄像机定标的理论问题已得到较好的解决,对摄像机定标的研究来说,当前的研究工作应该集中在如何针对具体的实际应用问题,采用特定的简便、实用、快速、准确的定标方法。摄像机定标的主要方法如下:

(1)传统的定标方法;传统的摄像机定标方法是在一定的摄像机模型下,基于特定的实验条件,如形状、尺寸已知的定标物,经过对其进行图像处理,利用一系列数学变换和计算方法,求取摄像机模型的内部参数和外部参数(分为优化算法的定标方法、利用摄像机透视变换矩阵的定标方法、进一步考虑畸变补偿的两步法和采用更为合理的摄像机模型的双平面定标法);不依赖于定标参照物的摄像机定标方法,仅利用摄像机在运动过程中周围环境的图像与图像之间的对应关系对摄像机进行的定标称为摄像机自定标方法,它又分为 4 类,即利用 优化算法的定标方法,利用摄像机变换矩阵的定标方法,进一步考虑畸变补偿的两步法和双平面定标方法。如: 张正友等利用平面模板对摄像机进行定标[32,33]。

(2)基于主动视觉的相机定标方法;对于这种方法需要检测出相机的运动矩阵RT,因而在机器人手眼中的摄像头很适用。例如:吴福朝和胡占义[34,35]等提出的基于平面单应性矩阵的相机定标,该种方法是先让相机做两组刚体运动,然后分别解出这两组运动下的极点, 进而解出无穷远平面上的单应性矩阵,后再根据相机内参数和外参数与单应性矩阵的关系求解出相机的内参数。

(3)摄像机的隐式定标法;隐式定标法是以一个转换矩阵表示空间物点与二维像点的对应关系,并以转换矩阵元素作为定标参数,由于这些参数没有具体的物理意义,所以称为隐参数定标。在精度要求不高的情况下,因为只需要求解线性方程,就可以获得较高的效率。比较典型的是直接线性定标(DLT)。DLT 定标是以 基本的针孔成像模型为研究对象,忽略具体的中间成像过程,用一个 3×4 阶矩阵表示空间物点与二维像点的直接对应关系。为了提高定标精度,就需要通过精确分析摄像机成像的中间过程,构造精密的几何模型,设置具有物理意义的参数(一般包括镜头畸变参数、图像中心偏差、帧存扫描水平比例因子和有效焦距偏差),然后确定这些未知参数,实现摄像机的显参数定标。

(4)基于物体信息结构的相机自定标方法;自定标方法非常地灵活,但它并不是很成熟。因为未知参数太多,很难得到稳定的结果。一般来说,当应用场合所要求的精度很高且摄像机的参数不经常变化时,传统定标方法为首选。而自定标方法主要应用于精度要求不高的场合,如通信、虚拟现实等。

2.2  基于OpenCV的摄像机定标方法

智能移动车是石家庄铁道学院电气与电子工程分院自主研发的,其车体由北京现代 TSCSON 车改装而成,实体图如图2-2所示。

 

 

  

                                  图2-2  智能汽车

石家庄铁道学院研究的智能移动车系统是新一代智能移动机器人,兼有面向高速公路和一般道路的自动跟踪和避障等功能。在综合考虑了自动档、车辆的基本功能、性价比、车体大小、实用性、安全性、外观、发电机容量、后备箱空间、低油耗等因素后,车体采用现代 Tucson 座厢式车改装。装备有 CCD 摄像机、全球卫星定位系统(GPS)、磁罗盘-光码盘定位系统等。监控系统和视觉系统分别采用嵌入式计算机,各带 1 台液晶显示器,2 台嵌入式计算机各带有 2 个 PCIBUS 插槽,以便分别与电机控制卡和激光雷达、CCD 摄像机连接。通过 CCD 摄像机视觉和计算机软件进行视觉信息处理。其系统框图如图 2-3 所示。

此智能移动车具有如下的功能:

(1)具有自动驾驶的功能;

(2)具有检测和判断车辆所在位置的功能;

(3)具有检测和识别周围环境的功能;

(4)具有车辆监控、显示和进行人机交互的功能;

(5)具有路径规划、控制决策,实现道路跟踪、避障和停障的功能;

(6)具有遥控驾驶的功能。

2.2.1  智能移动车的摄像机模型

如图 2-2 所示,TYIRV-I 智能车的 CCD 摄像机安装在车辆顶部,光轴约向

下 15º指向地面,CCD 焦距为 6mm,视场角约为 60º,CCD 距地面高度 2.4m,所摄取的道路图像范围从车头开始约至车辆前方 150m。

图像采集卡采用 V400(SuperQuard) 图像卡,V400 是基于 PCI 总线的四路高画质实时专业图像采集卡,支持四路视频输入并实时采集显示。单卡支持四路 768×288×24Bit×25 场/秒实时采集、显示,不占用 CPU 资源。V400 还支持一机多卡,是一款性价比高、兼容性、稳定性好的多路实时采集卡。其性能特点为:支持四路标准视频输入、实时采集、显示,可以同时多路(多卡)实时预览亮度、对比度、色调、饱和度;支持软件字符图形叠加功能;支持四路 768×288×24Bit×25 场/秒同时采集、硬件完成输入图像比例缩放;具有硬件上下镜像反转图像的功能。

采集 大分辨率为 768×576(PAL)或 640×480(NTSC),具有配合闪光灯控制,在短时间曝光情况下抓拍图像等功能。支持 RGB32、RGB24、RGB16、RGB15、

RGB8、YUV422、I420、黑白图像 GRAY8 等图像格式。水平清晰线数为 450 线;垂直清晰线数为 350 线; 大功耗为 5.1W。可广泛应用于道路监控、车牌抓拍、收费站管理、停车场管理等领域。支持 Dos、Win9x、Win2000、WinXP、

Win2003、Linux 等软件环境下函数库。

2.2.2  OpenCV的定标简介

OpenCV(Open Source Cmputer Vision Library)是Intel公司开发的开源计算机视觉库,由一系列C函数和少量C++类构成,实现了图像处理和计算机视觉方面的很多通用算法。其中的计算机视觉函数库,包含图像处理、结构分析、运动分析与对象跟踪模式识别照相机定标和三维重建等算法。OpenCV定标算法中的摄像机模型以针孔模型(Pin-holemodel) 为基础,引入透镜的径向畸变和切向畸变,该模型相比于只引入一阶径向畸变的Tasi 模型和针孔模型更加真实地反映了透镜实际的畸变情况。

基于OpenCV的摄像机定标采用平面棋盘格定标模板[34],为了提高角点提取的成功率,在定标方块的外围,还要求保留一个方块宽的白色空白区域,如图 2-4 所示。摄像机只需在不同的角度抓取几张平面定标模板的图片,就可以实现对摄像机的定标。

使用OpenCV做摄像机定标的一个突出优势是, 一般情况下,OpenCV能成功地自动寻找角点函数并提取角点,但是若遇到光线不足,或者被遮挡等情况,就会出现定标模板上的定标块在图像上不清晰或提取的角点数目与设定的数目不相符,从而导致角点提取失败,因此OpenCV并不保证能够提取图像上所有的角点。所以在设计定标算法时必须要考虑角点不能被提取的情况:一方面,如果角点提取成功的图过少,则定标出来的结果就不一定能满足精度的要求,需要重新采图;另一方面,由于摄像机外部参数的个数与定标图像的个数相关联,所以加入判定环节,在 后计算定标结果时,应将提取角点失败的图像舍弃,再根据剩下图像的数目,动态地分配参数在内存中的储存空间,这样才能更精确地实现角点检测。否则,如果盲目地分配参数的储存空间,则在提取角点失败的图像上,不能找到与角点在世界坐标系中的坐标值相对应的像素坐标系上的坐标值,在这种情况下强行计算,将得不到定标结果。当提取到了所需要的角点后,有必要对角点进一步细化,以便能更精确角点的位置。

 

                                                 图2-4  平面棋盘格定标模板 

2.2.3  基于OpenCV的摄像机定标

下面按照定标的模块逐个分析所用的OpenCV结构和函数,流程模块如图2-5 所示。

(1)读取定标图像

用cvLoadImage()函数[38,39] 读取一组定标用的图像数据,其支持多种数据格式。

(2)角点检测

使用cvFindChessboardCorners() 函数提取棋盘格定标板上的角点。输入参数有:包含完整定标板的图像view.cvimage,定标板上每行、列的角点数board_size 以及使用到的操作标志;输出的结果为用链表形式存储的提取到的所有角点坐标image_points_buf(链表中的每个元素为一个二维点坐标CvPoint2D32f),输出的角点将自动按行列排序)以及提取到的角点数量count。如果返回值非0,表示在该幅图像上提取的角点数目和设定的相同,提取角点成功。反之,若为0,表示提取失败。

在角点提取过程中对其进行图像处理,用到函数CV_CALIB_CB_ADPATIV

E_THRESH() 该值置1表明使用自适应阈值(通过平均图像亮度计算得到将图像转换为黑白图。

                                                                 图2-5  摄像机定标模块             

 

(3)判定数目

如果可用的定标图的数目满足设定的 少定标用图的数目,则进行结构转换,否则重新进行数据读取。

(4)角点细化

角点细化用到的函数是cvFindCornerSubPix()。该函数的输入参数有:包含完整定标板图像灰度图view_gray.cvimage,提取到的粗角点image_points_buf(输出精确点将覆盖原来的粗角点),提取到的角点数量count,搜索窗口的一半尺寸 cvSize(11,11),死区的一半cvSize(-1,-1),校正角点的迭代过程的终止条件 cvTermCriteria(CV_TERMCRTI_EPS+CV_TERMCRIT_ITER,30,0.1)。

(5)结构转换这一步的目的就是要将得到的角点坐标CvPoint2D32f转化为CvMat。

(6)计算内参数,外参数

初始化所有的输入参数后,将角点在世界坐标系中坐标值以及在图像坐标系中的坐标值代入函数cv-CalibrateCamera2(), 后得到摄像机的内参数矩阵、畸变系数向量、每幅图像的旋转向量、每幅图像的平移向量。函数 cv-CalibrateCamera2()是从每个视图中估计相机的内参数和外参数。三维物体上的点和它们对应的在每个视图的二维投影必须被指定。

根据得到的内参数矩阵和畸变系数向量用函数 cvFindExtrinsic-

CameraParams2()分别计算各幅图的外参数(转移向量和平移向量)。

(7)定标结果误差分析

采用重新投影的方法来计算定标误差,即根据计算得到的摄像机各内外参数,计算已知的角点三维坐标在图像上的投影坐标,将其与通过角点提取得到的投影坐标进行比较,从而得到一个误差值,误差分析过程中用到函数 cvProjectPoints2()和函数cvNorm()。

(8)结果输出

用函数cvrnGet()将检测出的角点坐标,计算出的投影坐标,摄像机的内外参数矩阵输出到文本中。

(9)释放内存

后用cvReleaseMat() 函数释放cvCreatMat()分配的内存空间,防止内存泄露。

根据上述定标原理,在WindowsXP平台下,利用VC++编程,实现摄像机的定标过程。经过测试,其运行稳定,寻找角点成功。

2.2.4  定标结果

根据上述定标原理和开发步骤,在WindowsXP平台下利用Visual Studio 2005 开发一个基于OpenCV的摄像机定标程序。经过测试,其运行稳定,寻找角点成功,定标7幅3072×2304像素的图像,用时23.7563s,可以达到智能移动车中对视觉精度的要求。

下述为所测得的实验结果。即摄像机的内参数矩阵,畸变系数向量、每幅图像的旋转向量、每幅图像的平移向量。以及由内参数矩阵和畸变系数向量得出的外参数矩阵。

摄像机内参数矩阵Α为式(2-12)所示。

⎡265.8172 0.000000 206.7201⎤ ⎢      ⎥

                                                        Α=⎢0.000000     267.5773       153.5923⎥            (2-12)

                                                                ⎢                                                     ⎥

⎢⎣0.000000     0.000000      1.0000 ⎥⎦ 摄像机外参数矩阵R为式(2-13)所示。

⎡0.8961 −0.3987 −0.3986 −26.9842⎤ ⎢      ⎥

                                                   R=⎢0.1581     0.4174      −0.9786        42.9082 ⎥        (2-13)

                                                           ⎢                                                                 ⎥

                                                          ⎢⎣0.4172   0.0640      0.9063      168.484 ⎥⎦

摄像机的重要参数如表2-1所示:

表2-1  摄像机定标主要参数

有效焦距

基准点

畸变系数向量

平移向量

旋转向量

误差值

fx = 265.8172

u0 = 206.7201

k1 =−0.187609

r1 = 2.03795

t1 =−82.6422

0.0019697

fy = 267.5773

v0 =153.5923

k2 =−0.511346

r2 = 2.2676

t2 =−88.5488

——

——

——

k3 =−0.0154543

r3 =−0.089248

t3 = 315.496

——

——

——

k4 = 0.00196979

——

——

——

2.3  本章小结

本章详细介绍了计算机视觉中摄像机定标方法及过程,并以智能移动车的摄像机模型为研究背景,在此基础上给出了基于 OpenCV 的摄像机定标过程。用此过程进行定标,定标结果精确,运算效率高,使得图像处理和计算机视觉得到很好的结合,为后续章节的智能移动车进行车道线识别奠定了基础。

第三章  结构化车道线识别技术的研究

利用视觉传感器得到的图像进行道路信息的处理主要分为非结构化的道路处理和结构化的道路处理两大类。所谓非结构化的道路是指没有明确的车道线及其他道路标志的道路,例如一些等级比较低的路面;而结构化的道路指像高速公路等路面信息很完善的道路。在对非结构化的道路图像的处理上,主要用于对路面区域或道路边界的识别,基于区域生长及利用颜色信息是两种主要的研究方法。在对结构化路面图像的处理上,车道线的识别检测是 重要的内容,车道线的检测包括道路的位置、车辆和道路之间的相对位置、车辆的头部方向等信息的获取[40]。对于其他的处理,车道线信息检测是基础。一般车道检测分为计算车辆和车道的相关位置以及产生正确的方向控制信息控制车辆两个步骤。

车道线识别和车道线跟踪是已经出现的道路检测方法。车道线识别方法可以简单地分为基于区域分割的方法和基于特征提取的方法[40]。基于区域分割的方法如 CMU 的 SCARF和 UNSCARF等只是简单地将道路图像分为道路区域和非道路区域,从而分析确定车体的可行驶区域,控制车体的行驶。这类方法没有计算道路的几何形状和结构等参数,因此只适用于在非结构化环境或者半结构化环境中慢速行驶的智能汽车。基于特征提取的车道线识别方法以路平面假设和车道线平行假设为基础,并进一步划分为车道线检测和车道线跟踪两个阶段。车道线检测指在没有任何有关车道线位置、方向等先验知识的情况下,在静态图像中查找出车道线;而车道线跟踪则是指在连续的图像序列中,根据前一帧图像中车道线的位置和方向,确定本帧图像中车道线可能出现的位置与方向,从而缩小图像处理区域,降低车道线识别需要处理的数据量,以提高速度,保证实时性。有些系统始终都用车道线检测来实现车道线识别,而没有用车道线跟踪技术来提高系统效率。无论车道线检测还是车道线跟踪,一般都由

道路图像预处理、车道线像素提取以及车道模型建立三个步骤完成。

 

3.1  结构化车道线识别技术的研究现状

车道识别中蕴含的关键技术是道路图像预处理、车道线像素提取、建立车道模型。这三者以车道线像素的提取为核心,相互影响,相互作用。

车道模型的研究也就是如何用车道线表示道路环境的研究。不同的车道模型决定了智能汽车视觉导航系统如何理解道路环境。理想的车道模型应该既包含车道的几何形状信息,又包含车道的结构信息。视觉系统根据这些信息确定车体与道路之间的相互位置和方向信息,从而规划车体的驾驶动作。

3.2  道路图像预处理技术

智能车辆视觉系统完成图像采集后,需要对获取的图像进行各种处理与识别。图像预处理(Image Preprocessing)是在处于图像 低抽象层次上的操作,按特定的需要突出一幅图像的某些信息,同时,削弱或去除某些不需要的信息的处理方法,使处理后的图像对于某种特定的应用,比原始图像更便于人和机器对图像的理解和分析[42]。图像预处理主要有两方面原因:

(1)视觉系统在图像的生成、采样、量化、传输、变换过程中,由于 CCD 传感器的噪声、随机大气湍流、光学系统的失真等原因会造成 CCD 了摄像机成像质量的降低。另外,由于车辆行驶时视觉系统与道路环境之间存在相对运动,输出图像的质量也会降低,常产生运动模糊等现象。所以,为了改善视觉系统图像的质量,有必要对原始图像进行图像的预处理操作。

(2)由于原始道路图像中只有较少的部分区域为车道线,而其他区域中则包含大量无关信息,如果直接在原始道路图像中提取车道线像素,不仅需要处理的数据量大,而且算法复杂。因而车道线识别首先需要对原始图像作预处理,以建立包含车道线像素的前景像素集。

因此,需要突出道路图像中的有用信息并尽可能消除其他环境信息的干扰,有必要对原始图像进行图像的预处理操作。

通常,图像预处理的对象都是用图像亮度值矩阵表示的亮度图像。图像预处理不会增加图像中的信息量,但可能改变图像中信息的表示方式。从信息论的角度来看, 好的预处理是没有预处理,避免预处理的 好方法是得到高质量的原始图像。然而,预处理在图像理解过程中是必要的,因为它可以抛弃或抑制与处理任务无关的信息,突出有用信息。在结构化道路图像的处理过程中,实时性是影响控制性能的重要方面。通过实际测算发现,如果对整幅图像数据进行预处理,通常预处理耗费的时间要占整个处理时间的 90%左右。所以,做好预处理是提高时实性的关键。

一般预处理方法按照在计算新像素亮度值时所使用到的像素领域大小分为像素亮度变换、几何变换、局部预处理、图像恢复四类[43]。在道路图像的处理中,由于噪声对原始图像的影响,以及系统实时性的要求,必须先对摄像机得到的原始图像进行预处理。在研究过程中,更多的考虑是系统实时性的要求。对于噪声方面的考虑,可以从得到高质量的道路图像来弥补。通常,研究人员采用道路图像采样与压缩、频域滤波、边缘抽取与二值化几种方法进行图像预处理。

3.2.1  图像采样压缩技术

图像采样与压缩技术的原理是先将原始道路图像划分为网格,网格的维数等于压缩后图像的维数。再根据每一个网格包含的像素来计算该网格所对应的压缩后图像中像素的值。 常用的方法有中值法、平均值法、 大值法。CMU 的SCARF、UNSCARF和ALVINN以及清华大学计算机系的THMR-III都采用了图像采样压缩技术[45]。

3.2.2  频域滤波技术

频率滤波技术也是图像预处理采用的方法,其过程是首先对原始道路图像作从空域到频域的变换,得出道路的频域图像;然后应用低通滤波器模糊化图像中的噪声点,应用高通滤波增强图像中的边缘; 后,将滤波后的频域图像进行反变换,还原为空域图像,得到包含车道线的前景像素集。LANA系统就采用了这种技术[44]。

3.2.3  边缘抽取与二值化技术

边缘抽取与二值化技术是 常见的图像预处理方法。其原理是首先用边缘算子对原始图像进行卷积运算,得到边缘图像,然后再对边缘图像中的像素分为两类,一类为不包括车道线像素的像素集合,也称背景像素集,像素值为0;另一类为包含车道线像素的像素集合,也称前景像素集,像素值为255,从而获得二值化图像。前景像素集中车道线像素的数目与原始道路图像中车道线像素数目的比值以及前景像素集车道线像素的数目与前景像素集像素总数目的比值成为二值化的效率。边缘抽取中所用的边缘算子有梯度算子、Roberts算子、 Prewitt算子和Sobel算子以及过零点算子Laplace算子和Canny算子等,有些系统中采用自己设计的定向算子[38]。

二值化方法一般采用阈值法,即取一阈值,将边缘图像中像素值大于此阈值的像素归入前景像素集,反之归入背景像素集。由于原始的道路图像中可能会包含大量路面裂纹、道路两边建筑物和其他车体在路面上的阴影等噪声区域,而且由于在车体行驶过程中,不同路段的光照条件也有所不同,使得边缘图像中路面上的噪声区域产生边缘会干扰车道线产生的边缘。因此如何生成高效的二值化图像是道路图像预处理研究中的一个关键问题。Parma的GOLD[26]系统和清华大学汽车系的THASV-I系统都采用了边缘抽取和二值化技术,而且,为了去除投影映射效应,在抽边和二值化前,还进行了逆投影变换,即将原始道路图变成俯视图。

3.3  车道线像素提取技术

车道线像素提取指从前景像素集中将属于每一条车道线的像素提取出来。像素提取是整个车道线识别算法中 为关键的一步。迄今为止,车道线像素提取技术的研究包括模板匹配、边缘跟踪、霍夫变换以及扫描技术等。

3.3.1  模板匹配

模板匹配技术首先根据车道线各种可能的位置和方向建立许多模板,然后将预处理后的道路图像与原先定义好的车道模板一一匹配。CMU的RALPH系统就采用了模板匹配的方法检测车道的曲率测度[46~49]。

由于不同的模板代表不同的车道类型,匹配效果 佳的模板所蕴含的数据就表示了图像中道路的车道信息,因此模板匹配技术存在着一些缺陷:

(1)计算量大,不利于保证视觉系统的实时性;

(2)检测和匹配复杂道路很困难;

(3)需要大量精力应用和维护模板。

3.3.2  边缘跟踪

边缘跟踪技术的主要步骤:首先在二值化图中采用边缘跟踪技术提取出一些轮廓线,建立车道线像素的候选集合,然后根据车道线的几何参数约束如长宽比、大小、方向等选出车道线像素, 后将提取出的车道线像素的坐标值建立圆曲线模型。这种算法计算量较大,而且对道路图像中车道线的形状、大小、灰度等属性的变化比较敏感。文献[50]中提取车道线像素提取采用了边缘跟踪技术。

3.3.3  Hough变换

Hough 变换是一种基于参数匹配的方法。该方法首先对二值化道路图像进行霍夫变换,提取出图像中的所有的线条,这些线条是直线,还是曲线取决于具体的 Hough 变换算法。然后根据车道线的形状、方向、侧位移等参量建立一定的准则,根据这些准则对 Hough 变换提取出的线条进行投票,得票 高的线条即为车道线。清华大学汽车系的 THASV-I 采用了基于密度的 Hough 变换技术。

3.3.4  扫描技术

扫描是普遍采用的一种车道线像素提取技术,即在二值化图像中沿水平方向扫描,当扫描到前景像素时,按照预先确定的某种规则进行判断,以确定该像素是否是真正的车道线像素。UBM的VaMoRs系统[51]、Parma的Gold系统[26]、 CMU的YARF[12,13]系统ARCADE[52]系统等都采用了扫描技术,但具体的扫描方法又有所不同。

3.4  车道模型建立

车道模型的研究也就是如何用车道线表示道路环境的研究。不同的车道模型决定了智能汽车视觉导航系统如何理解道路环境。理想的车道模型应该既包含车道的几何形状信息,又包含车道的结构信息。视觉系统根据这些信息确定车体与道路之间的相互位置和方向等信息,从而规划车体的驾驶动作。车道模型可以粗略地划分为显性模型和隐性模型两大类。显性模型要明确地给出车道的几何形状、结构等参数,然后根据这些参数计算车体与道路之间的相互位姿关系,进而生成车体的控制命令。隐性模型直接给出车体与道路之间的相互位姿参数,然后生成车体的控制命令。

迄今为止,显性道路模型的研究历经了二次曲线模型、同心圆曲线模型、回旋曲线模型、分段曲率模型等,而隐性模型则包含曲率、侧位移、偏航角多种组合。

3.4.1  二次曲线模型

为了弥补圆曲线只能描述圆弧路段和直线路段的不足,不少研究者采用了二次曲线模型来描述车道形状。如ARCADE(Automated Road Curvature and

Direction Estimation)系统[52]和LOIS(Likelihood of Image Shape)系统[53,54]采用了二次抛物线模型这种特殊的二次曲线模型,其方程如式(3-1)所示。

                                                              x = 0.5× × + ×k        y2                                                                                                         m y + +by Bv                 (3-1)

式中, ——车道线在k  y = 0处的曲率;   m——车道线在 y = 0处的方向;   b——车道线在 y = 0处的截距。

3.4.2  同心圆曲线模型

CMU的YARF系统[55,56]以及清华大学汽车系的THASV-I系统采用了同心圆曲线模型。如图 3-1 所示。

R

1

R

2

R

3

O

同心圆曲线的

圆心

                               图3-1  同心圆曲线环境模型示意图

同心圆曲线模型假定路面上车道线的形状为圆弧曲线,而且其圆心在同一点。直线路段被认为是半径无穷大的圆弧路段。但是同心圆曲线模型只能用来表示圆曲线路段和直线路段,然而现实道路并不只是包含直线路段和圆曲线路段,至少在直线路段和圆曲线路段之间应有过渡路段,否则就不能保证车道曲率的连续性,而通常的汽车行驶轨迹的曲率应该是连续的。

3.4.3  近似的回旋曲线模型

由于在高速公路等高等级道路的设计中,直线路段和圆曲线路段之间的过渡路段的曲率一般随路段长度的变化而发生线性变化。因此有的学者提出了用近似的回旋曲线模型表示车道的几何形状,其方程如式(3-2)所示。

                                                                 B                            X 2                   X 3

                                         Y X(   ) =± +C0 +C X1 +C2                  +C3                                   (3-2)

                                                                 2                             2            6

式中,B ——车道宽度;

C0 ——车体坐标系原点相对于车道中心线的侧位移;

C1 ——车体航向角的正切;

C2 ——车道曲率;

C3 ——车道曲率的变换率。

理论上近似的回旋曲线模型可以表示任何形状的道路,但是在实际应用中却难以将不同的路段统一到一个方程式中。

3.4.4  分段曲率模型

UBM的E.D.Dickmanns等认为,高速公路是由圆曲线路段、直线路段和回旋曲线路段连接而成的。因此设计了分段曲率模型,路段或者为直线,或者为圆曲线,或者为曲率变化率恒定的回旋曲线,这些路段的几何形状用统一的方程式表示[57,58],方程如式(3-3)所示。

                      c l( ) =C0 +k l×                         (3-3)

式中,c——路段的曲率;

C0 ——路段起始点的曲率; k ——路段的曲率变换率; l——路段的长度系数。

当 和C0 k 的值都为零时,表示直线路段;当k 为零而 不为零时,表示圆C0 曲线;当 不为零时,表示回旋曲线。 k

UBM 的分段回旋曲线模型非常适合于智能汽车的侧向控制,如果初始时刻机器人位于车道的中心线位置而且车体航向与车道平行,那么智能汽车的驾驶角只要跟踪车道曲率的变化即可实现车体的自主方向控制。尽管如此,分段曲率模型对车道的几何形状要求过分严格,在德国以外的大多数国家的公路环境中并不适应,此外,分段回旋曲线模型不提供有关车体侧位移的信息。

通过对以上车道模型分析,得出如下结论:

(1)不应用单一曲线方程来拟合道路图像中的车道线[59~61]。首先,无论圆曲线、二次曲线还是近似的回旋曲线等单一曲线方程都难以准确地描述道路的几何形状,即使用更高次的方程描述,也总有误差。因而,由单一曲线方程描述的车道模型不如分段曲率模型准确;其次,单一曲线模型不利于车体控制命令的生成。因为控制车体的依据是车体相对于车道的侧位移、偏航角,由单一曲线方程表示的道路模型生成控制命令时,还需先从曲线中取出若干目标点,再根据这些目标点连成的目标直线判断车体的偏航角和侧位移。从这一点来说,单一曲线模型不如基于模板的“曲率+侧位移”模型。

(2)UBM 的分段曲率模型虽然能够用一种统一的模式灵活地表示不同的车道,而且也有利于车体控制命令的生成,但是 UBM 的分段曲率模型在对道路分段时,依赖当时道路的曲率特性,因此必须准确地估算出道路的曲率。其次,应用这种模型实现车体控制时,对道路的几何参数,特别是曲率参数要求非常严格,不太适用于一般的道路。

(3)CMU 的 RALPH 系统所用的基于模板的“曲率+侧位移”模型虽然避免了单一曲线模型和分段曲率模型的不足,但是一方面由于这种模型太简单,除了提供曲率和侧位移的度量信息外,没有再提供其他信息;另一方面,由于基于模板的模型必须事先定义大量的模板,如何快速地匹配模板以及如何表示、存储这些模板,都是简单的计算机系统难以解决的问题。

3.4.5  隐性车道模型

在一些典型的智能汽车系统中,车道识别是为车体控制命令的生成服务的。根据人类的驾驶经验,驾驶员驾驶汽车时一般只需要车体相对于道路的偏航方向、车体相对于道路中心线的侧位移知识,并不一定需要道路特别详细的信息。因此,比较典型的智能汽车系统一般都直接采用车体相对于车道的偏航角、侧位移信息来建立隐性的道路模型,从而直接生成控制命令。

CMU的RALPH系统采用了偏航角、侧位移组合的车道模型[46~49]。Parma的 GOLD系统虽然也提取出了车道线像素,但并没有建立道路模型,而是与检测到的障碍物相结合,直接生成车体控制命令[1]。

3.5  本章小结

本章探讨了结构化道路上车道线识别技术的研究现状,以 UBM 的 VaMoRs、

CMU 的 RALPH 等系统为研究背景,按顺序从道路图像预处理技术、车道线像素提取技术、车道模型建立三方面详细阐述了目前车道线识别过程中所用到的方法,以及不同方法的适用环境和优缺点。

第四章  一种基于 ATN 技术的车道线识别算法

为了建立既确保道路信息理解的充分性与准确性,又能够实现实时性、鲁棒性,本报告研究开发了基于扩充状态转移网络(ATN)车道识别系统。该系统采用了灰度化,滤波处理,边缘抽取,二值化的过程来预处理道路图像,在车道线像素提取阶段采用了从自然语言处理中引入并改进的 ATN 技术来逐行扫描车道线像素,并采用分段直线来建立车道模型。

4.1  道路图像预处理

道路图像预处理包括了图像灰度化,中值滤波,边缘抽取,二值化几个过程。

4.1.1  图像的灰度化处理的基本原理

将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有 255 种值可取,这样一个像素点可以有 1600 多万(255 255 255× × )的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为 255 种,即灰度图只含亮度信息,不含彩色信息的图像[43]。所以在数字图像处理中一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。图像的灰度化处理可用两种方法来实现。

第一种方法是求出每个像素点的 R、G、B 三个分量的算术平均值、 大值、小值,然后将这个平均值赋予给这个像素的三个分量。

第二种方法是根据 YUV 的颜色空间中,Y 的分量的物理意义是点的亮度,由该值反映亮度等级,根据 RGB 和 YUV 颜色空间的变化关系可建立亮度 Y 与 R、G、B 三个颜色分量的对应:Y=0.3R+0.59G+0.11B,以这个亮度值表达图像的灰度值。

4.1.1.1  图像灰度变换

道路图像灰度化后,灰度值通常只是集中在某个范围,为使图像的动态范围加大,图像对比度扩展,清晰度提高,特征明显,进行图像灰度变换是必要的。灰度变换可以是线性变换,也可以是非线性变换。

(1)图像灰度线性变换

首先,介绍线性变换。使用一个线性单值函数,对图像中的每个像素点做线性扩展,将有效的改善图像的视觉效果,增强对比度,而且计算复杂度低,易于实现。基本原理如式(4-1),令原始图像 f i j( , )的灰度范围为[a b, ],线性变换后的图像 f ' (i j, )的灰度范围为[a b' , ' ], f i j( , )和 f ' (i j, )之间存在下列关系:

' (i j, ) = +a'         b' −a' ( (f i j, )−a)                    (4-1)  f

ba

另外一种情况,图像中大部分像素的灰度值在[a b, ]范围内,少部分像素在小于 和大于a b的区间。此时,可以做如式(4-2)所示的变换:

                                                    ⎧                a' ,

⎪⎪ ' b' −a' ( (f i j, )−a), f ' (i j, ) =⎨a +

                    ⎪        ba

                    ⎪                   '

f (i j, ) < a

a f i j( , ) ≤ b           (4-2) f (i j, ) > b

                                                   ⎪⎩                b ,

这种两端“截取式”的变换使小于灰度级a和大于灰度级b的像素强行压缩为 和 ,显然这样将会造成一部分信息的丢失。不过,有时为了某种特殊的应a'    b' 用,这种“牺牲”是值得的。道路图像的大部分信息是路面,可以预见灰度值集中在某个区间,进行该变换具有实际意义。但是在道路图像处理中,没有很好解决压缩区间范围的不确定性,因此该方法是今后进一步研究的重点。

(2)图像灰度非线性变换

图像灰度非线性变换:原始图像 f i j( , )的灰度范围是[a b, ],可以通过自然数变换到区间[a b' , ' ]上,从而求得图像 f ' (i j, ):

' (i j, ) = +a'     b' −a'            (ln f i j( , )−ln )a                 (4-3) f

lnb−lna

这一变换扩展了输入图像的中低灰度区域的对比度,而压缩了高灰度值。由于道路图像大部分信息是路面,其灰度值主要集中在相对较高的范围内,所以采用此种方法,在处理道路图像时可以预见效果是比较差的。灰度变换法图像对比度增强的结果如图 4-1 所示。

 

                 (a) 原始图像                       (b) 灰度线性变换·图像

灰度值/级

灰度值/级

                                     序列/个                                   序列/个

             (c) 灰度直方图                    (d) 线性变换·图像灰度直方图     图4-1  灰度线性变换

通过此例可以看出虽然灰度线性变换可以增强图像的对比度,但是对于一些道路图像增强效果是不明显的。根据图 4-1 道路图像灰度直方图的特点可以看出灰度值是集中分布但范围广,从 0-255 灰度级范围内均有对应的像素存在。因此若对直方图均衡化,可以预见图像对比度能够得到较大程度的增强。

4.1.1.2  基于直方图的灰度变换

直方图是表达一幅图像灰度级分布情况的统计图,表示出具有某一灰度的像素数,并不表示像素在图像的具体位置。直方图的横坐标是灰度,一般用r表示,对于数字图像信号,直方图的纵坐标是某一灰度值 的像素个数ri        ni。对于数

字图像有如式(4-4)所示关系。

ni pi =( )ri = n

式中,ri——图像的第i级灰度;

k−1

p ri ( ) 1i =                 (4-4)   

i=0

  ni——图像中第i级灰度的像素个数;

  k——图像对应的总灰度级数。

直方图均衡化技术是通过变换将原图像的直方图调整为平坦的直方图,然后用此均衡的直方图校正原图像,增加图像灰度值的动态范围,从而达到增强图像整体对比度的效果。直方图均衡化技术增强了靠近直方图极大值附近的亮度的对比度,减少了极小值附近的对比度。变换函数如式(4-5)所示。

                                                                           j nj                j

Si =T r( )i =∑ ∑= n = i 0= p ri ( )i , j = 0,1,",k −1            (4-5) i 0

其中S =T r( ),T 是变换函数。由于变换函数需要满足 2 个条件:

         (1)T r( ) 0在 ≤ ≤ −r k 1范围内是个单调函数; 

            (2)对0≤ ≤ −r k 1 0有 ≤T r( )≤ k-1。 

可以证明 r 的累积分布函数满足上述两个条件,能将 r 的分布转换为 s 的均匀分布。

 

(a) 彩色通道提取法·灰度图               (b) 直方图均衡化后的图

灰度值/级

灰度值/级

 

                                                                         序列/个                               序列/个

 

(c) 彩色通道提取法·灰度值            (d) 直方图均衡化灰度值·灰度值

 

图4-2  直方图均衡化

 

通过此例可以发现,变换后的图像的灰度值概率得到了归一化均匀分布(在直方图中有明显的体现),故图像的对比度得到了增强。在主观评价上,可以看出经过变换后突出了原图像的细节,使其具有了更好的边缘检测效果。因此采用直方图均衡化技术增强图像的对比度。

4.1.2  滤波处理

实际获得的图像在形成、传输、接收和处理的过程中,不可避免地存在着内外部干扰,如:光电转换过程中敏感元件灵敏度的不均匀性、数字化过程的量化噪声、传输过程中的误差以及人为因素等。需采用图像滤波或平滑消除图像噪声。滤波的目的主要为改善图像质量和抽取对象特征[39,62]。道路图像滤波[63] 主要有两大类方法:一类是在图像空间域对图像进行各种滤波处理,即空域处理法;另一类是把空间域图像 f x y( , ) 经过正交变换,如经过傅立叶变换,得到频率域的变换图像F u v( , ) ,在频率域进行各种滤波处理后得到频率域处理图像 G x y( , )。然后再变换到图像的空间域,形成处理后的图像,即频域处理法。显然,频域处理法附加了图像正交变换的正变换和反变换,对于数据量较大的二维道路图像需要较大的内存,且运算时间也较长,不能满足视觉系统实时处理的要求。因此,本设计采用空间域图像滤波处理方法。下面就常用的几种空域滤波算法进行介绍。

4.1.2.1  线性平滑滤波

图像平滑滤波处理分为线性滤波与非线性滤波,线性滤波方法提出较早且具有较完备的理论基础。针对线性滤波处理,主要尝试了均值、均值滤波对图像进行局部均值运算,每一个像素值用其局部邻域内所有值的均值置换如式(4-6) 所示。

1

g x y( , ) = M (x y∑, )∈s f x y( , )                       (4-6)

式中,S——滤波窗口;

 M——邻域 S 中的像素点数。

窗口在水平和垂直两个方向上都必须为奇数,否则图像会产生偏移。均值

滤波器可以通过卷积模板的等权值卷积运算来实现,采用了3 3× 、5 5× 、7 7× 、

9 9× 模板进行滤波比较。该算法在去除麻点噪声方面比较有效,但它不能区分有效信号和噪声信号,噪声和图像细节同时被削弱。为了改善邻域平均法中图像细节模糊问题,提出了一些改进方法,如选择平均法和加权平均法,选择平均法只对灰度值相同或接近的像素进行平均,加权平均法则按照灰度值的特殊程度来确定对应像素的权值,模板中的权值并不相同,其数学表达式如式(4-7) 所示。

                                                               M              N

g m n( , ) = ∑ ∑ w x y f m( , ) ( − x n, − y)                (4-7) x M y=− =−N

式中,w x y( , ) 表示对应像素需要加权的值。可以根据需要进行修正,为了使处理后的图像的平均灰度值不变,模板中的各个系数之和为 1。虽然这种改进方法可以在一定程度上改善细节模糊问题,但是对于模板中的权值的确定,由于道路图像的多样性,复杂性而没有固定的算法,因此具有很大的局限性。

4.1.2.2  非线性平滑滤波 

理论和实验证明,虽然线性滤波具有良好的抑制噪声能力,但是对图像平滑会造成图像中的细节信息损失,从而使处理后的图像产生模糊。所以本报告尝试了采用非线性平滑滤波处理的方法[39,43],中值滤波是一种非线性的图像滤波方法,与其对应的中值滤波器当然也就是一种非线性滤波器。中值滤波器在 1971 年由J.W.Jukey首先提出并应用在一维信号处理技术(时间序列分析)中,后来被二维图像信号处理技术所应用。

它是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。与均值滤波器以及其他线性滤波器相比,中值滤波器对滤除脉冲噪声(Impulsive Noise)和椒盐噪声(Salt and Pepper Noise)非常有效,用来保护边缘信息,是经典的平滑噪声的方法。

中值滤波的实现方法有两种:

(1)通过从图像中的某个采样窗口取出奇数个数据进行排序;

(2)用排序后的中值取代要处理的数据即可。

数学表示为式(4-8)所示。

f x y( , ) = median {S f x y( , )}                    (4-8) 式中, S f (x y, ) ——当前点的邻域。

对加入椒盐噪声的图像应用平滑滤波法去噪,实验结果如图 4-3 所示;

对加入椒盐噪声的图像应用中值滤波法去噪,实验结果如图 4-4 所示。

 (a) 原始图像            (b) 添加椒盐噪声图像       (c) 3×3 模板平滑滤波

 

(d) 5×5 模板平滑滤波       (e)  7×7 模板平滑滤波       (f) 9×9 模板平滑滤波

 

                                                        图4-3  平滑滤波

              (a) 原始图像            (b) 添加椒盐噪声图像       (c) 3×3 模板中值滤波

(d) 5×5 模板中值滤波       (e) 7×7 模板中值滤波       (f) 9×9 模板中值滤波  

图4-4  中值滤波

对不同的滤波方法,如平滑滤波法、选择平均平滑滤波法、中值滤波法,

对采集到的原始图像处理效果,其实验结果分别如图 4-5(a)、4-5(b)、4-5(c)、4-5(d) 所示。

                     (a) 原始图像                          (b) 3×3 平滑滤波

 

(c) 选择平均法平滑滤波                 (d) 3×3 模板中值滤波

 

图4-5  不同情况下滤波比较

 

通过图 4-5 不同状况下滤波对比可以看出,平滑滤波的道路图像细节变得模糊,使用改进的选择平均法平滑滤波,使滤波图像得到了改善,但是针对不同道路图像灰度值相同或接近的概念不能明确化,具有一定的模糊性,需要进一步研究。而中值滤波,可以看出对图像边缘有保护作用,且去噪声的同时可以较好地保留边缘的锐度和图像的细节。显然,这一方法是比较适合本课题要求的,因为在后续的处理中将要提取物体的边缘特征,所以在去噪的同时较好地保留边缘的锐度和图像细节是难能可贵的。但在实际应用中,窗口大小选择要适宜,因为从图 4-4 中可以看出,随着窗口的扩大,也可能破坏图像的某些细节。本课题选用窗口大小是3 3× ,把二维窗口中的数据一维化并排序,求出其中值

M,然后用中值 M代替窗口中心D22 原来的灰度,如图 4-6 所示。

 

 

D11

D12

D13

 

 

 

D11

D12

D13

D21

D22

D23

D21

M

D23

D31

D32

D33

D31

D32

D33

 

图4-6  中值滤波窗口

4.1.3  边缘提取

图像的边缘是图像的 基本特征。所谓边缘是指其周围像素灰度有阶跃变化或屋顶变化的那些像素的集合[64]。边缘广泛存在于物体与背景之间、物体与物体之间、基元与基元之间。因此,它是图像提取的重要特征。

图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。有许多方法用于边缘检测,它们的绝大部分可以划分为两类:基于查找一类和基于零穿越的一类。基于查找的方法通过寻找图像一阶导数中的 大和 小值来检测边界,通常是将边界定位在梯度 大的方向。基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是

Laplacian 过零点或者非线性差分表示的过零点。

近年来,边缘抽取技术在计算机视觉的研究中,已经成为不可或缺的一个步骤。人们相继提出了不同的边缘检测算法[39,43], 例如,Roberts 算子、Sobel 算子、Prewitt算子、Log算子、Canny 算子等。

4.1.3.1  Roberts 检测算子

Roberts 边缘检测算子是一种利用局部差分算子寻找边缘的算子。它由式(4-9) 给出。

g( , )x y ={[      f x y( , )− f x( + +1, y 1)]2 +[   f x y( , )− f x( + +1, y 1)] }2 12    (4-9)

式中 f (x y, ) 是具有整数像素坐标的输入图像,平方根运算使该处理类似于在人类视觉系统中发生的过程。

大量实验证明,Robert 算子图像处理后结果边缘不是很平滑。经分析,由于 Robert 算子通常会在图像边缘附近的区域内产生较宽的响应,故采用上述算子检测的边缘图像常需做细化处理,增强边缘定位的精度。

4.1.3.2  Sobel 边缘检测算子

Sobel 边缘增强算子是一阶微分算子,它是一种将方向差分运算与局部平均相结合的方法。该算子在以 f (x y, ) 为中心的3 3× 邻域上计算xy 方向的偏导数。

                           ⎧D f x yX ( , ) ={ (f x+1, y− +1) 2 (f x+1, y)+ f x( +1, y+1)}

                        ⎪⎪                −{ (f x−1, y− +1) 2 (f x−1, y)+ f x( −1, y+1)}

                         ⎨                                                                                                      (4-10)

                           ⎪D f x yY ( , ) ={ (f x−1, y+ +1) 2 (f x y, + +1) f x( +1, y+1)}

                        ⎪⎩                −{ (f x−1, y− +1) 2 (f x y, − +1) f x( +1, y−1)}

图 4-7 所示的两个卷积核形成了 Sobel 边缘检测算子,图像中的每个点都用

这两个核做卷积,一个核对垂直边缘响应 大,而另一个对水平边缘响应 大。两个卷积的 大值作为该点的输出位。运算结果是一副边缘幅度图像。

-1

-2

-1

-1

0

1

0

0

0

-2

0

2

1

2

1

-1

0

1

                        图4-7 Sobel边缘检测算子

4.1.3.3  Prewitt 边缘检测算子

图 4-8 的两个卷积核形成了 Prewitt 边缘算子。和使用 Sobel 算子的方法一

样,图像中的每个点都用这两个核进行卷积,取 大值作为输出。

-1

-1

-1

-1

0

1

0

0

0

-1

0

1

1

1

1

-1

0

1

 

图4-8   Prewitt边缘检测算子

4.1.3.4  Log 边缘检测算子

Log 边缘检测算子是二阶导数算子,它是一个无方向的标量,因而只需一个模板就行了。在进行二阶导数微分计算时,常用的两个模板如图 4-9 所示。

1

-1

1

0

1

0

1

-8

1

1

-4

1

1

1

1

0

1

0

 

                                                  图4-9   Log 边缘检测算子

4.1.3.5  Canny 边缘检测算子

Canny 考察了以往的边缘检测算子,发现在不同的应用领域,对这些算子都有一些共同的要求,归纳为三条准则:好的检测结果,好的边缘定位精度,对

同一个边缘有低的响应次数。根据这三条准则,Canny 给出了三条准则的表达式。

集合上述边缘检测算子函数,由实验得到边缘检测图像如图 4-10 所示。

    

 

(a) 原始图像            (b) Robert 算子处理图像      (c) Sobel 算子处理图像

 

 

 (d) Prewitt 算子处理图像      (e) Log 算子处理图像       (f) Canny 算子处理图像     图4-10  传统差分检测算子

室外移动机器人是在运动中实时对图像进行处理,过于复杂的图像处理方法,如Canny 算法和一些基于计算智能的算法,往往由于处理时间较长,难以满足系统实时性的要求,因而多被用于图像的后期处理[5]。综合考虑边缘抽取效果和耗时,清华大学的THMR2-V 系统选用Sobel算法。Sobel算法的优点是方法简单,处理速度快,并且由于得到的边缘连续、光滑,因而有利于下一步的道路连接。但是,Sobel并没有利用道路图像中车道线所固有的位置信息和方向信息。为了建立具有高准确性、能够充分理解道路信息同时又保证实时性的车道线识别系统,本报告使用自定义定向边缘抽取算子对原始道路图像进行边缘抽取。

 

                              图4-11  典型道路图像

图 4-11 中白色水平线为地平线(消逝线),在白色竖直线左侧区域中使用 ,σL 右侧区域中使用σR 。通过观察可知,当智能汽车在车道中央正常行驶时,投影变换会使得原本平行的左、右车道线相交于地平线(消逝线)上。左车道线位于道路图像的左下部分且与 X 方向(向右的水平方向)成约 45º;而右车道线则位于道路图像的右下部分且与 X 方向成约 135º。由于存在这样的位置信息和方向信息,所以可以分别对左右车道线所在的图像部分使用定向边缘抽取算子σL σR ,如式(4-11)所示。 

                                                  ⎡ 0      3     2⎤                          ⎡ 0      3     2⎤

                                       σL =⎢⎢−3     0     3⎥⎥        σR =⎢⎢−3     0       3⎥⎥           (4-11)   

                                                  ⎢⎣−2 −3    0⎥⎦                          ⎢⎣−2 −3    0⎥⎦

4.1.4  自适应动态双阈值二值化

边缘检测后,图像处理有所变化,但是图像中还包含建筑、树木等背景及噪声。为了将目标物体从图像背景中提取出来,需采用二值化处理[42]。二值化处理的关键是找到合适的区别目标物体和背景的阈值。阈值设置过小易产生噪声,会将太多的非车道线像素划归到车道线像素集中,从而将增加车道线识别的难度; 阈值设置过大会降低分辨率,使非噪声信号被视为噪声而滤掉,将本来是车道线边缘的像素归到非车道线像素,也将影响车道线识别的精度。目前常用的阈值选取方法有双峰法、迭代法和 大类间方差法。由于高速公路的车道线一般为白色或其他与路面颜色对比强烈的色彩,在灰度图像中,车道线像素的灰度一般要高于路面像素的灰度。因此,车道线边缘像素必然具有如下两个特征:

(1)在原始道路图像中具有相对较高的灰度值;

(2)在边缘图像中具有相对更高的灰度值。

为了细化对边缘的分类,将车道线形成的边缘同路面上的纹理、杂物、阴影等形成的边缘区分开,可以考虑利用灰度图像中的信息。由于真正的车道线像素在灰度图像中灰度值亦较高,而大部分路面干扰像素在灰度图像中灰度值却较低,从而可以有效区分车道线像素和路面干扰像素。即二值化不仅考虑边缘点所处边缘两侧像素灰度值之差(一个相对值),还同时考虑该点在灰度图像中的灰度值(一个绝对值)。设灰度图像阈值为Tg1 、边缘图像阈值为Tg 2 ,则二值图像某位置像素的灰度值b 可由灰度图像和边缘图像相应位置像素的灰度值g1 和 g 2 按下式(4-12)确定:

                                                                 ⎧255,若g 1≥Tg1且g2 ≥Tg2

                                                           b =⎨                                                              (4-12)

⎩0,其他

为了适应道路上的明暗变化,可以对灰度图像上的阈值Tg1 做动态自适应变化。选取的目标是:使得该阈值介于路面像素的灰度值和车道线像素的灰度值之间,这样可以比较准确地遴选出车道线像素,较小地受路面其他像素干扰。为达到此目的,可以对灰度图像求得路面像素灰度的平均值 G,从而根据 G 得到适合该图像的Tg1 。观察道路图像可知,其底部的大部分像素属于路面,因而可使用位于图像底部的一个条带区域内像素灰度的平均值近似 G。当求得 G 后,可使用(4-13)式得到针对该图像的阈值Tg1 。

Tg1 = min(G(1+ f ),Tmax )                      (4-13)

式中, f ——灰度图阈值自适应因子;

Tmax ——灰度图阈值 大值。

图 4-12 为由实验结果得出的单阈值与双阈值二值化后图像比较,可以明显看出双阈值二值化较之单阈值二值化图像效果更清晰,对比度更明显。

           

(a) 原始道路图像                           (b) 边缘图像

                       

 (c) 单阈值二值化图像                    (d) 双阈值二值化图像图4-12  单阈值二值化与双阈值二值化图像的比较图  

4.2  基于ATN技术的车道线像素提取

从预处理好的边缘图像中提取车道线边缘像素并建立车道线模型,是车道识别中至关重要的一步。提取出的像素包含原车道线像素的比重,直接影响车道线模型的精度,进而影响道路环境的理解和后续的路径规划与车体控制。在比较霍夫变换和模板匹配等技术之后,本报告决定使用 为简单的扫描技术[65]。由于像素扫描技术的简单实用性,使得目前存在的很多系统都采用这种方法来进行车道线识别,如UBM的VaAMoRs系统[1]采用了图像分段和高度为l7 的定向边缘算子;CMU的YARF系统和密歇根大学的ARCADE系统[66,67]则采取了将图像垂直分段后再对像素按列相加的方法;Parma的Gold系统 则在原始图像的俯视二值化图中逐行扫描其中宽度固定且两边被黑色像素包围的白色区域[2]。

这些方法各自有其优点,但是都忽略了视觉的生理模型,当驾驶员驾驶汽车时,首先假定正常情况下车体前方是路面,然后观察车体前方路面两旁的车道线,车道线作为车体行驶的内边缘,有其自身的基本特征。

4.2.1  结构化道路车道线像素的基本特征

(1)车道线的颜色一般为白色或黄色,在灰度道路图像中的灰度值高,而经过二值化后其灰度值为255;

(2)二值化图像中,在图像底部从中心线向左查找,在每一行查找到的第一个灰度为255的像素可能属于左车道线内侧边缘,从中心线向右查找,在每一行查找到的第一个灰度为255的像素可能属于右车道线内侧边缘;

(3)车道线像素应是具有一定长度的近似连续直线:即同一车道线相邻像素间距不应过大,并且同一车道线上的各像素应具有近似相同的梯度方向,一定长度要求车道线上具有足够多的适应研究的像素点。

4.2.2  ATN 的理论基础

W.A.Woods于1970年提出了一种用于自然语言句法分析和语言理解的技术,并成功的应用于LUNAR系统中[68]。自从W.A.Woods提出ATN思想后,ATN就广泛应用于自然语言的处理中,而且还应用于人机交互环境的构建以及人机交互接口的设计中。为了适应视觉系统检测环境信息实时性的要求,清华大学在做智能车时对ATN(Augment Transition Network)作了进一步的扩充与改进。

原始ATN算法特点如下:

  1. ATN由若干状态、转移弧、转移条件、测试、附加动作和寄存器组成。
  2. ATN 中的全部状态可以分为两种类型:主动状态和被动状态。其中包括一个起始状态和一个结束状态。如果被分析语言串的头部从起始状态开始,且经过一系列的状态转移到达结束状态,那么该句子就被转移网络规定的语法接受。

(3)与状态相对应,ATN 中的转移弧也分为主动转移弧和被动转移弧。每条转移弧的上方除了标注通过这条弧应满足的条件外,还可附加任意的测试(包括计数器测试和计时器测试),条件和测试可以进行逻辑组合。只有满足转移条件而且通过测试,才可以沿着这条弧转移。

(4)ATN的动作集中包含两种类型的动作,一种动作附加在转移弧下方,称为“转移动作”;另一种附加于被动状态之中,称为“状态动作”。当ATN通过某条转移弧时,附加在这条转移弧下方的转移动作将被依次执行;当某一个被动状态在等待环境输入信息时,将持续执行附加于状态内的状态动作。所有的这些动作主要用来设置和修改寄存器(存贮分析过程中得到的中间结果)的内容。

4.2.3  ATN 在车道线中的应用

ATN在车道线识别中的应用经过扩充和改进后不仅仍然能够应用在自然语言的句法分析和语义理解中,而且可以用做分析一切传递信息的“广义语言” 的句法结构并理解其语义。智能移动车对环境信息的检测和理解实际上就是检测、分析由环境特征构成的特殊环境语言的过程,因此可以应用ATN来检测和理解环境语言,其步骤如下:

(1)分析感兴趣的环境特征,定义环境语言及其基本语素、语句和句法。本文中定义二值化图像中灰度值为255的像素为基本语素,左右两条车道线的内侧边缘构成两种类型的语句,而二值化图像中的车道线像素连接成两条车道线所遵循的规则,就是高速公路环境语言的句法;

(2)根据环境语言的句法来决定应该采取的ATN的结构;

(3)规划分析某一种环境语言的句法下可能出现的所有状态,并确定每种状态发生转移时的转移条件和转移测试;

(4)确定每种状态的状态动作和状态转移时的转移动作;

(5)优化ATN的结构。以检测左侧车道线LL(1eft lane)为例,本文所构建的ATN 网络如图4-13所示。整个ATN包括4个状态、8个寄存器和l5条转移弧。在扫描二值化图像的时候,需要一条“垂直中心线”,从这条中心线开始向左和向右得到左边和右边的第一条车道线像素。其中状态Ⅰ为ATN的开始状态,任务是从二值化图像的底线中心点处开始,逐行向左查找LL的第一个像素。只有在查找到 LL的第一个备选像素后,ATN才会沿着特定的转移弧转移到状态Ⅱ,否则LL将停留在状态Ⅰ或查找失败后转移到状态Ⅳ。状态Ⅱ的任务是查找同一行中的其他满足条件的备选像素并进行记录。状态Ⅲ的任务则是查找每一个备选车道线像素集中的其他像素并筛选掉错误的备选车道线像素。状态Ⅳ是结束状态,用于完成一帧图像的ATN分析,并将分析结果存于寄存器中。

1

3

2

12

15

6

7

9

14

10

4

13

11

5

8

  图4-13  ATN网络结构示意图

本文所示的ATN共设置了8个寄存器,分别用来存储同一行中候选像素的个数m、候选像素的坐标集(p q, ) 、符合条件的车道线的像素个数n、符合条件的车道线像素的坐标集(x, y)以及待检测像素的坐标(i j, ) 。

下面给出几个典型转移弧的功能,以说明ATN的实际应用方法。

(1)转移弧1是一条虚线弧,其目的是用来设置LL的第一个像素在二值化图像中的起始检测位置和初始化寄存器的内容。在ATN状态转移之前,应将寄存器中的像素数目mn设为零,并将起始检测位置设置为二值化图像底线中心点处(如图4-14),状态Ⅰ左边附加的转移弧1上方没有标注条件和测试,下方附加了动作

m = 0,n = 0 ”、“ 等于起始检测行”和“i j 等于起始检测列”。

状态Ⅰ

m=0     n=0 i=起始检测行 j=起始检测列

图4-14  ATN转移弧

 

(2)转移弧2进入状态Ⅰ后,转移弧2的任务是从二值化道路图像的底线中心点处开始,逐行向左扫描LL的第1个像素。如图4-15所示,转移弧2的转移条件为“G i j( , )!= 255”,其中G表示像素的灰度,转移测试为“i j, 在定义的区域内”,转移弧附加的动作为“ j = −j 1”。转移弧3、6、7、9、10、14与转移弧2类似,均表示在同一状态内继续查找下一个像素。

图4-15  ATN转移弧2

 (3)转移弧5如果状态Ⅰ中在定义的区域内检测到满足条件G i j( , )!= 255 的像素,则说明已经查找到了车道线LL的第1个候选像素,然后ATN将沿着转移弧 5转移到状态2,继续查找本行中其他满足条件的候选像素,同时将当前像素的坐标存入寄存器 (x, y) 。如图4-16所示,转移弧5上面标注的转移条件为 “G i j( , )!= 255 ”,转移测试为“i j, 在定义的区域内”, 转移弧5下面附加了3 组转移动作,其中第1组动作“ p m[ ] = j ”、“q m[ ] = i”和“m = m+1”和第2组动作“ x[ ]n = j”、“ y n[ ] = i ”和“n = n+1”的目的是将当前检测到的像素存入寄存器,第3组动作“ j = −j 1 ”的目的是为了设置下一步车道线像素的检测位置。转移弧4、8、1 1、12、13、15与转移弧5类似,均表示某一状态查找完毕根据查找结果进入相应的下一状态。

状态Ⅰ

状态Ⅱ

G

(

i, j

)!=255

 &

i, j

在定义域内

p[m]=j  q[m]=i  m=m+1

x[n]=j  y[n]=i  n=n+1  j=j-1

        图4-16  ATN转移弧5

检测右侧车道线的ATN结构图与左侧类似,总的说来,由于每个ATN都是预先设计好的结构分析图,因此只要仔细分析可能遇到的各种状态并构建合理的状态转移网络就能够成功检测出所需要的像素。

采用本报告设计的 ATN 检测 LL1 的一个 大优点是在扫描过程中可以抵抗各种复杂因素的干扰。如图 4-17 所示。

 

S

1

 

 (a)  正常情况            (b)  相邻车道线干扰           (c)  噪声干扰

图4-17  ATN 检测 LL 的抗干扰示意图

4-17 中,(a)图为正常情况;(b)图中粉红色S1区域表示受到相邻的车道线的干扰,经过转移弧 12 的转移重新开始查找;(c)表示受到噪声像素块的干扰,经过转移弧 15 的转移而重新开始查找。查找到LL1 的全部像素后,应用分段直线法建立车道模型。

4.3  建立车道模型

道路模型实际上就是一种数据结构,这种数据结构中蕴含了智能汽车用于理解道路环境、规划路径、控制车体的相关信息。这些信息既包括道路的几何形状信息,又包括道路的结构信息[69]。通过第三章对现有车到模型的优缺点,可实施性分析,决定采用分段直线法建立车道线模型。

4.3.1  应用分段直线模型理解道路环境

根据驾驶员的视觉生理特点和驾车时的实际视觉情况,路面前方的车道如图 4-18 所示。图中所示为典型的车道图像,其中车道是虚线,由近及远,从左到右,分段标称了 L1、L2、R1、R2 等,以下定义智能车体所在车道为本车道,与本车道平行的其他车道为外侧车道。

图 4-19 为从车道图像中抽象出来的理想车到模型。本文论述算法的识别目标是分别给出构成 LL1、RL1、LL2 以及 RL2 的车道线像素集合,并通过这些像素集合 终建立车道线方程。

 

 

RL

RL2

 

LL1

LL2

                                                          图4-18  车道图像

 

LL1

LL2

RL1

RL2

                                                       图4-19  车道模型

在任一时刻,从智能汽车视觉系统采集到的道路图像中,至少应该能够检测到左右各两条车道线段(如果是实线车道线,则可以人工分割)。而这四条车道线段在车体坐标系中的方程式就可以用来理解道路的信息和车体与道路之间的相对信息。因此,可以直接用这四条车道线段来生成分段直线段模型,则它们在车体坐标系下的直线方程如式(4-14)所示。

x = K yv + Bv                             (4-14)

其中, 车道线在车体坐标系中的斜率, 为车道线在车体坐标系中的截Kv       Bv 距。当智能汽车在结构化道路上行驶时,摄像机在近距离时摄取的路段示意图如图4-20所示。

α

X

v

RL2

RL1

Ov

LL1

LL2

CL1

β

γ

                                        图4-20  近距摄像机摄取的路段示意图

由视觉系统导航智能汽车在结构化道路上行驶时,首先选取车体前方的一段车道为将要跟踪的目标车道,视觉系统主要根据车体相对于目标车道的侧位移和偏航角来生成控制命令。当智能汽车高速行驶时,还需要知道车体前方车道的曲率甚至曲率的变化率,如图 4-19 所示,利用分段曲线模型需要计算车体相对于目标车道的偏航角α,车体相对于目标车道的侧位移 d,目标车道的曲率

C,以及车道的宽度 W 几个参数。根据示意图中关系,计算各参数的步骤为:

(1)计算车体相对于目标车道的偏航角α

车体相对于目标车道的偏航角即为车体坐标系的 Y 轴与车道线 LL1 和 RL1 的夹角。理论上 LL1 与 RL1 是绝对平行的,但实际上无论是路面上的车道线的真实位置与方向,还是图像处理系统的结果,都不可避免的会有误差。因此偏航角α用 Y 轴与 LL1 和 RL1 的中心线 CL1 的夹角α来表示。

CL1 的直线方程为式(4-15)。

x K y B= v × + =v KLL1 +KRL1 × +y BLL1 +BRL1          (4-15)

2    2 偏航角α的值如式(4-16)所示。

α= arctan(Kv ) = arctan( KLL1 +KRL1 )              (4-16)

2

(2)车体相对于目标车道的测位移 S

计算车体相对于目标车道的侧位移 S 可用车体坐标系原点与 LL1 和 RL1 的中心线 CL1 之间的距离来表示:

S B= v ×cos( )α = BLL1 +BRL1 cos( )α               (4-17)

2

由实际情况可知,智能汽车在高速公路上行驶时,偏航角α一般不会大于

15º,此时,α的余弦值约等于 1,可以用式(4-18)表示为: 

                                                                  S B≈ =v           BLL1 +BRL1                       (4-18)

2

(3)估算车道曲率 C

车道曲率就是车体倾斜或转弯时,相邻两条车道线的倾斜程度,可以用相邻两条车道线与坐标轴之间的夹角来表示:

γ β α= − = arctan(KLL2 +KRL2 )−arctan(KLL1 +KRL1 )          (4-19)

                                                                                 2                                 2

γ的大小表征了路段曲率的大小,而γ的正负值则代表了路段转弯的方向。

γ为正表示路段右转弯,γ为负表示路段左转弯。

(4)估算目标车道的曲率变化率

计算目标车道的曲率变化率有多种方法。其中比较常用的两种方法是:采用远近距双目视觉系统法和应用图像序列的连续性法来计算车道曲率的变化率,前者用远近距图像中估算出的路段曲率之差定性的表示车道曲率的变化率;后者用相邻两帧道路图像中估算出的道路曲率之差定性地表示道路曲率地变化率。

(5)计算车道的宽度W

虽然理论上结构化道路车道的宽度是个固定值,但是为了精确定位车道线,以便准确控制车体运动,有必要在车道检测过程中随时计算车道宽度。根据 LL1 和 RL1 的斜率与截距可以很方便的计算出车道的宽度W 如式(4-20)所示。

W = BLL1×cosα+ BRL1×cosα= ( BLL1 + BRL1 )×cosα        (4-20)

将 4-19 式代入式(4-20),并化简,得:

1

W = (

1

1

2

1

1

)

1

2

LL

RL

LL

RL

B

K

K

+

×

+

+

B                   (4-21)

4.3.2  应用最小二乘法进行拟合运算

小二乘法是一种经典的直线拟合方法。使用 小二乘法进行直线拟合时,由于拟合所得直线的稳定性较高(在连续的帧列中可以看到,拟合直线的晃动较小)的特点,所以选用 小二乘法拟合直线。当检测完一条车道线上所需要的所有像素后,就可以用式(4-22)用 小二乘法对车道线模型 y = kx+b的参数 和k b 进行拟合计算,其步骤是首先对点集{(xi , yi )|1≤ i n}求得其中心点(x(_), y(_));之后求得拟合后直线的斜率k和截距b后进行回归检验,若平均误差小于给定的阈值 emax ,则直线拟合成功,否则算法失败。

                                                    ⎧           n                          n              n

                                                    ⎪          n∑ ∑ ∑x yi  i xi      yi

                                               ⎪k = i=1 n    i=1n     i=1

                                                   ⎪⎪         n∑ ∑xi2 −( xi )2

                                                    ⎨            i=1                    i=1                                                  (4-22)

                                                    ⎪        n                         n

⎪⎪b =∑ ∑i=1 yi k i=1 xi

                                                    ⎪     

                                                    ⎩                n

4.4  实验检测结果

本文所述的基于ATN的车道线识别算法在多段实际采集的道路视频上进行了充分测试。测试数据包括晴天、阴天天气状况;白天、黄昏时间段;直道、弯道、上下坡道路状况;表4-1所示给出了在不同天气条件,不同时间,不同路况下每段道路视频所属的情况、总帧数、车道线识别算法在该段视频中识别错误的帧数以及 终的准确识别率。

表4-1  车道线识别算法的准确率

天气状况

道 路 情 况

总帧数

错误帧数

准确率

晴天、白天

实线、虚线、直道

2069

6

99.71%

晴天、白天

实线、虚线、弯道

1763

71

95.93%

晴天、白天

实线、虚线、弯道

1852

63

96.58%

晴天、白天

实线、虚线、直道、弯道

1668

42

97.48%

晴天、白天

实线、虚线、直道、弯道

1576

44

97.23%

晴天、白天

实线、虚线、直道、弯道

1769

73

95.89%

晴天、白天

实线、虚线、上下坡

899

50

94.33%

晴天、白天

实线、虚线、上下坡

978

41

95.78%

阴天、白天

虚线、直道、弯道

1789

69

96.14%

阴天、白天

虚线、直道、弯道

1988

60

96.97%

阴天、白天

虚线、直道、弯道

1745

58

96.67%

阴天、白天

虚线、直道、弯道

674

14

97.89%

阴天、白天

虚线、直道、弯道

1106

50

95.39%

阴天、白天

虚线、直道、弯道

679

21

96.98%

续表4-1  

天气状况

道 路 情 况

总帧数

错误帧数

准确率

阴天、白天

虚线、直道、弯道

567

26

95.47%

阴天、白天

虚线、直道、弯道

567

24

95.79%

阴天、白天

虚线、直道、弯道

1645

82

94.99%

阴天、白天

虚线、直道、弯道

389

2

99.49%

阴天、白天

虚线、实线、上下坡

545

30

94.49%

阴天、白天

虚线、实线、直道

1645

39

97.63%

阴天、白天

虚线、实线、直道

678

29

95.72%

阴天、白天

实线、直道

1029

4

99.61%

阴天、白天

虚线、弯道

887

60

93.24%

黄昏、晴天

虚线、弯道

982

37

96.23%

黄昏、晴天

虚线、弯道

1067

45

95.78%

黄昏、晴天

实线、直道

1789

69

96.14%

黄昏、晴天

实线、虚线、上下坡

973

34

96.51%

黄昏、晴天

实线、虚线、弯道

635

21

96.69%

黄昏、晴天

弯道、上下坡

427

12

97.23%

黄昏、晴天

实线、虚线、直道

635

21

96.69%

实验结果显示,算法在路面情况较好的结构化道路上的识别率平均可以达到95%以上,其鲁棒性很好。且由于算法中没有非常耗时的运算,从而达到实时检测的标准,可用于智能车载车道线识别系统。

4.5  本章小结

本章从自然语言句法分析的研究理论中引入了扩充状态转移网络(ATN),并根据需要对其做了进一步的改进以用于室外移动机器人的车道线识别,构建出了一种快速有效的车道线识别算法。在计算机上,该算法识别单帧图像的时间小于5ms,具有很强的实时性。而且由于在图像预处理阶段使用了自定义动态双阈值二值化的方法,极大提高了系统的抗干扰性能,加上ATN本身结构的灵活性,使得该算法同时具有了很强的鲁棒性。实时性和鲁棒性的特点使该算法可以很好地满足室外移动机器人在复杂变化的道路场景下高速行驶的需要。

第五章  增强的ATN算法在解决车道线变线/交叉/分支情况下的应用

ATN是扩充转移网络的捷径算法,是一种在自然语言处理中用来解析自然语言的语法和理解其语义的技术。通过开发一种“车道线语言”,可以利用ATN来解决车道线识别问题。第四章已经讨论了结构化道路上车道线识别分为道路图像预处理、提取车道线像素点和建立车道线模型三个过程。首先,道路图像预处理的目的是从原始路面图像中提取含有车道线像素的 显著像素;然后,从道路图像预处理完成后的二值化图像中提取真正的车道线像素点,这正是ATN 核心; 后,根据得到的车道线像素点通过直线模式,利用 小二乘法建立车道模型, 终可以理解路面环境。第四章论文中已经详细阐述了ATN算法在车道线像素提取中的应用。但是,应用只局限于理想的结构化车道线模型下,在现实世界中,尤其遇到某些复杂情况,如车道线变线,交叉,分支等情况时[70,71],第四章描述的ATN车道线识别算法并不完全适合,即算法还有待于进一步改进。本章在第四章的基础上,进一步研究在车道线变线、交叉、分支等某些复杂情况下,如何应用ATN算法。

5.1  增强型ATN算法解决车道线变线状况

第四章中提到,应用ATN算法,在扫描二值化图像的时候,需要一条垂直中心线,从这条中心线开始向左和向右检测得到左边和右边的第一条车道线像素。在前一章ATN处理车道线中,在读入一段视频后,这条中心线在处理任何帧之前就已经确定了,而且在整个视频的处理时一直都保持不变。一般情况下,这样处理没有问题[72,73]。但是当车道线发生变线的时候,就有可能出错,这时需要一条动态的垂直中心线来反映车道线位置的变化。

图 5-1 是车道线变线的一幅典型图像。中间的垂直的蓝线是图像的中线,但是从这条线开始向左检测车道线像素将得到错误的结果,所以必须动态的改变垂直中心线让它接近左侧的红线从而得到准确的结果。

用改进的 ATN 算法解决提出了一种灰度图水平带跟踪法来解决车道线变线的情况,主要分为以下 4 个过程,(1)要感知车道线变线的发生;(2)利用水平带跟踪得到当前帧的所有车道线;(3)得知车道线的运动趋势;(4)动态改变垂直中

心线的位置来解决车道线变线的发生。

 

LL1

LL2

 

LL3

                                                 图5-1  车道线变线的典型图

5.1.1  感知车道线变线的发生

当确定车道线变线的时候,可以改变垂直中心线的位置,用中心线的动态变化来反映车道线位置的变化。

5.1.2  得到当前帧所有的车道线

为了得到当前帧的所有车道线,如图 5-2 所示,假设在灰度图适当的位置找一条水平带,那每一条车道线有可能在这条水平带中出现一部分。把这条水平带中每一列的灰度值加起来,从而得到一组灰度值总和的序列,利用这条水平带(介于两条水平线之间)来跟踪车道线的运动。

在图 5-2 中,假如某一列是车道线的一部分,则这一列的灰度值总和将比其他列的和高出很多。假如把这个序列画出来,就会得到图 5-3 所示的结果,可以看到共有 3 个波峰分别分布在左边,中间和右边。

对比看图 5-2,可以看到这些波峰正好对应灰度图的车道线。所以,通过寻找和序列中的波峰,可以找到当前图像中所有车道线的位置。

 

 

图5-2  水平带跟踪车道线的运动示意图

 

 

灰度值/级

序列/个

 

图5-3  根据列画出的灰度值总和图

5.1.3  得知当前车道线运动趋势

得到车道线的运动,首先应该知道车道线的运动趋势,如要转向左边还是右边的邻近车道,检测当前帧图像,从而保存当前帧的峰值,通过比较当前帧和前一帧的峰值,可以确定车辆当前的运动。

但是值得注意的是,在检测时,前一帧的车道线形成的波峰在当前帧并不一定能形成波峰,这是因为有的时候车道线正好在此帧断掉。同一条车道线在连续两帧图像形成的波峰值也不尽相同。因此执行这个算法的时候,不仅要区分是“新的车道线形成的波峰”还是“旧的车道线形成的波峰”,同时还要联合当前帧和前一帧的波峰值。

5.1.4  动态的改变垂直中心的位置

得到波峰值以后,就可以通过如图 5-3 所示的波峰值决定垂直中心的位置。

通常有以下 4 种情况:

(1)没有峰值点。图像中间就是垂直中心的位置;

  1. 1 个峰值点。假如这个值位于图像的左半部分,中心点的位置为峰值点和图像宽度的平均值,反之亦然;
  2. 2 个峰值点。中心点为 2 个点的平均值;
  3. 3 个峰值点。这种情况相对复杂。假如中间的点位于左半部分,可以推断车辆在车道的右边,于是把垂直中心线设为中间峰值点和右边峰值点的中间。

当中间峰值点位于图像右边的时候同理处理。

5.1.5  算法的局限性

按上述过程,就可以用改进的 ATN 算法解决车道线的变线情况,但是经试验验证这种算在以下 3 种情况下有一定的不足:

(1)水平带选择不合适。因为在处理当中,水平带的位置固定不变,当水平带选择不合适时,通过峰值相加技术,有些峰值点可能会失去如图 5-4 所示;

 (2)当路面有其他的标志如箭头标志也会形成峰值点时,很难区分车道线峰值点和路面这些点;

(3)有的时候垂直中心线会从图像的左边快速地跳到右边。造成这种情况主要的原因是中间的峰值点可能在图像中心的位置。

如果不发生以上这 3 种情况,利用水平带方法能很好地解决车道线变线问题。

 

 

 

 

                

 

图5-4 水平带处于左边和中间的车道线丢失情况图

5.2  增强型ATN算法解决交叉和分支状况

车道线交叉和分支包括车道线变线、路面标志问题(箭头、字母)以及两者同时存在的情况。这种情况比其他情况更为严重,车道线变线的问题可以通过上面描述的水平带的方法解决,路面标志的问题可以通过车道线跟踪的办法解决。

5.2.1  利用跟踪来躲避路面标志的问题

跟踪是指当这一帧的车道线已经检测出来,并且描述车道线提取的方程式已经建立,根据这些方程式计算值预判下一帧即将出现的车道线。假如前一帧的车道线已成功检测,则可以利用跟踪来检测当前帧。例如检测图 5-1 所示的 LL1(左边第一条车道线),假定前一帧的 LL1 方程式为:x = ky +b,可以根据方程 x = + +ky b 10 检测到 x = + −ky b 10 ,从而减小扫描的范围,缩短扫描时间,提高系统实时性。如图 5-5 所示,方程 x = ky + +b 10 和 x = ky + −b 10 所得出的两条线相互平行(图 5-5 中 L1 和 L2),形成一个狭窄的平行四边形。检测 RL1 的情况和检测 LL1 一样。

车道线跟踪能缩小检测的范围,这样,就能有效的躲避掉路面的标志。在

车道的中间,利用跟踪的办法,它们很难进入到方程 x = + +ky b 10 和 x = + −ky b 10 (图 5-5 中 L1 和 L2)所得出两条线组成的平行四边形的区域内。

 

L1

 

L2

 

图5-5  车道线跟踪

5.2.2  同时利用Strip算法和跟踪算法的局限性

利用 Strip 算法和跟踪的方法可以迅速直接的解决交叉和分支的情况,但有时也有局限性,如图 5-6 所示,当分支和车道线变线的时候,路面上存在标志,通常,不能直接利用 Strip 算法和跟踪的方法解决。

当车道线变线发生,可能检测到两条不同的车道线。以图 5-1 所示为例,假定从右边车道到左边车道经历了一次车道线变线,当检测到右边车道的车道线时,可能找到 LL2 的右边边缘车道线像素和 LL3 的左边边缘车道线像素;但是当检测左车道的车道线时,可能找到 LL1 的右边缘车道线像素和 LL2 的左边缘车道线像素。这样的结果可能会导致 LL2 的左边边缘和右边边缘不同,可能会被车道检测系统认为是两条不同的车道线。因此当车道线变线发生的时候,必须把当前帧看成一个新帧的标志,且没有先验的信息可以利用,这时,就不能用跟踪技术。

图5-6  车道线分支典型图

5.3  增强ATN算法的流程图

通过对上述车道线变线、交叉、分支情况的讨论,结合各种可能发生的情况,本文在研究过程中提出了改进的增强型 ATN 算法来解决车道线变线、交叉、分支的情况,其流程图如图 5-6 所示。

 

5.4  本章小结

本章在基于上一章提出的 ATN 算法的基础上,又提出了增强的 ATN 算法来解决车道线变线、分支、交叉情况,进一步增强此算法的抗干扰能力,从而提高了车道识别算法的性能和准确率。对于车道线变线情况采用动态改变垂直中心线法来解决,车道线交叉和分支的情况通过跟踪方法来解决,但如前文所

述这两种方法都有各自的弊端和局限性,应区分选用。

                        

第六章  结论与展望

第六章  结论与展望

6.1  结论

智能汽车视觉导航技术的研究是当前跨智能移动机器人研究领域和智能交通系统研究领域的热门研究课题。对智能汽车视觉导航技术进行系统、深入的研究不仅具有深远的理论意义,而且还具有广阔的实用前景。本报告以石家庄铁道学院电气与电子工程分院自行研究的智能移动车 TYIRV- I 为研究背景,以基于 OpenCV 的摄像机定标和车道线识别为主要任务,主要完成了以下工作:

(1)系统地总结、探讨了 30 多年来智能汽车视觉导航技术研究的发展历程、现状以及已经取得的成果,阐述了智能汽车视觉导航技术研究的起因、意义、应用范围以及其中的关键技术。着重分析介绍了代表目前视觉导航技术研究中高水平的 UBM 的 VaMoRs 系列智能车及其 EMS-Vision 系统、CMU 的 NavLab 系列智能车及其 RALPH 系统、Parma 的 ARGO 智能车及其 GOLD 系统和清华大学的 THMR 系列智能车,对于今后继续开展智能汽车视觉导航技术的研究具有重要的参考价值和意义。

(2)本文在充分考虑了摄像机透镜的径向畸变和切向畸变的情况下,给出了基于 OpenCV 的摄像机定标算法。经多次智能移动车实验证明,该定标算法充分发挥了 OpenCV 强大的函数库功能,提高了摄像机定标精度和计算效率。提出了基于扫描技术和 ATN 技术的车道线识别算法。算法中使用自定义的定向边缘抽取算子和包含自适应阈值的双阈值二值化方法结合中值滤波技术对道路图像进行预处理,使用 ATN 技术提取车道线像素,并使用分段直线段道路模型建立车道线方程。提出的算法经过石家庄铁道学院的智能移动车长时间、长距离的视觉导航实验证明,具有良好的实时性、准确性、并能充分理解道路识别与环境信息。

(3)进一步研究了如车道线变线、交叉、分支等复杂情况下的车道线识别算

法,提出了增强的 ATN 技术来解决此种情况。

 

第六章  结论与展望

6.2  展望

智能汽车视觉导航技术的研究有两个目标, 终目标是实现视觉导航的全自主驾驶,近期目标则是实现视觉辅助驾驶系统。就本报告完成的研究工作来说,在以下两方面还有待于进一步的努力:

(1)尽管高速公路是一种高度结构化的道路,本报告研究的车道识别算法仅解决了中等以上路况中自动识别车道理解道路环境的问题,智能汽车的外界行驶环境是由多种因素决定的,如其他车辆、路面上的其他交通标志等。如何将车辆识别、交通信号识别等其他视觉技术结合到本报告研究的道路识别系统,大可能地实现全自主驾驶,将是作者在今后科研工作中的重点研究课题。

(2)本报告对 ATN 的增强型改进算法虽然已经成功地应用在了智能移动车道线变线、交叉、分支等情况的识别中,但是受时间限制和自身知识水平的不足,算法某些情况还存在弊端和局限性,有待于进一步研究解决,这也是今后长期的研究任务。

参  考  文  献

  1. MASSIMO BERTOZZI,ALBERTO BORGGI.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.

  1. 蔡自兴.中国的智能机器人研究[J].莆田学院学报,2002,9(3):36~39.
  2. TSAI-HONG HONG,CHRISTOPHER RASMUSSEN,TOMMY CHANG,et al.Road Detec- tion and Tracking for Autonomous Mobile Robots[C].Pro. of the SPIE 16th annual Intern- ational Symposium on Aerospace/Defense Sensing,Simulation,and Controls,Orlando, 2002,1~5. 
  3. 欧青立,何克忠.室外智能移动机器人的发展及其关键技术研究[J].机器人,2002,

22(6):519~526.

  1. 李磊,叶涛,谭民等.移动机器人技术研究现状与未来[J].机器人,2002,24(5):475~480.
  2. 王志文,郭戈.移动机器人导航技术现状与展望[J].机器人,2000,5(5):470~474.
  3. 陶西平.室外智能移动机器人视觉导航技术的研究[D].北京:清华大学计算机科学与技  术系,1997.
  4. 王宏,何克忠,张钹.智能车辆的自主驾驶与辅助导航[J].机器,1997,19(2):155~160.
  5. 杨欣欣.智能移动机器人导航与控制技术的研究[D].北京:清华大学计算机科学与技术系,1999.
  6. J.PALEN.The Need for Surveillance in Intelligent Transportation Systems[J]. Intellimo- tion,1997,6(1):1~10.
  7. 张朋飞,艾海舟,何克忠.高速公路车道线的快速检测跟踪算法[J].机器人,1999,21(7):

579~587.

  1. 艾海舟,张朋飞,何克忠等.室外移动机器人的视觉临场感系统[J].机器人,2000,

22(1):28-32.

  1. 邢延超,谈正.基于计算机视觉的车道标线与障碍物自动检测[J].计算机工程与应用,1999,21(7):223~225.
  2. 屠大维,林财兴.智能机器人视觉体系结构研究[J].机器人,2001,23(3):206~210.
  3. POMERLEAU D.RALPH:Rapidly Adapting Lateral Position Handler[C].Proc. of the IEEE Symposium on Intelligent Vehicles,1995,506~511.
  4. S.A.AHAFER.Vision and navigation for the Carnegie-Mellon Navlab[J].IEEE Trans.

Pattern Anal. Machine Intell,1988,10(3):362~373.

  1. M.BERTOZZI,A.BROGGI,A.FASCIOLI.Real-Time Obstacle Detection using Stereo Vision[C],Proc.of EUSIPCO-96-VIII European Signal Processing Conference,Trieste,Italy, 1996,10~13.  
  2. MASSIMO BERTOZZI,ALBERTO BROGGI,ALESSANDRA FASCIOLI.A Stereo Vision System for Real-Time Automotive Obstacle Detection[C].Proc. of the 3rd ICIP IEEE International Conference,Lausanne,CH,1996,16~19.
  3. MASSIMO BERTOZZI,ALBERTO BROGGI,ALESSANDRA FASCIOLI.Stereo Inverse 

Perspective Mapping[J].Theory and Applications,Image and Vision Computing,1998,16(8): 585~590.

  1. ALBERTO BROGGI,STEFANO NICHELE,MASSIMO BERTOZZI.Stereo Vision-based Vehicle Detection[C].Proc.of IEEE IV-2000,Intelligent Vehicles Symposium,Detroit, USA,2000,39~44.
  2. MASSIMO BERTOZZI,ALBERTO BROGGI,ALESSANDRA FASCIOLI.Self-Calibration of a Stereo Vision System for Automotive Applications[C].Proc. of IEEE Intl. Conf. on Robotics and Automation,Korea,2001 3698~3703.
  3. MASSIMO BERTOZZI,ALBERTO BROGGI, GIANNI CONTE,et al.Stereo Vision System Performance Analysis[C].Enabling Technologies for the PRASSI Autonomous Robot,Italy, January,2002,68~73.
  4. ABDELAZIZ BENSRHAIR,MASSIMO BERTOZZI,ALBERTO BROGGI,et al.Stereo

Vision-based Feature Extraction[C].Procs.Procs.of IEEE Intelligent Vehicles Symposium, France,2002,465~470.

  1. MASSIMO BERTOZZI,ALBERTO BROGGI.Real-Time Lane and Obstacle Detection on the GOLD System[C].Proc. of IEEE Intelligent Vehicles,Tokyo,Japan,1996,213~218. 
  2. MASSIMO BERTOZZI,ALBERTO BROGGI.GOLD:a Parallel Real-Time Stereo Vision System for Generic Obstacle and Lane Detection[C].IEEE Transactions on Image Proce- ssing,1998,7(1):62~81.
  3. J.CRISMAN,C.Thorpe SCARF:A Color Vision System that Tracks Roads and Intersec- tions.in IEEE Trans[J]. Robotics and Automation,1993,9(1):49~58.
  4. J.CRISMAN,C.THORPE.UNSCARF,A Color Vision System for the Detection of Unstruc- tured Roads[C].Proc.of IEEE International Conference on Robotics and Automation, 1991,2496~2501.
  5. K.KLUGE,C.THORPE.Representation and Recovery of Road Geometry in YARF[C].IEEE Symposium on Intelligent Vehicles,1992,114~119.
  6. K.KLUGE,C.THORPE.The YARF System for Vision-Based Road Following[J].Mathema- tical and Computer Modelling,1995,22(4):213~233.
  7. D.LANGER,T.JOCHEM.Fusing Radar and Vision for Detecting,Classifying and Avoid- ing Roadway Obstacles[C].IEEE Symposium on Intelligent Vehicles,1996,2493~2499.
  8. 求是科技.Visual C++数字图像处理典型算法及实现[M].北京:人民邮电出版社,2007.
  9. 马颂德,张正友.计算机视觉-计算理论与算法基础[M].北京:科学出版社,2003.
  10. ZHANG Z. A flexible New Technique for Camera Calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(1):1330~1334.
  11. 陈胜勇,刘盛.基于 OopenCV 的计算机视觉技术实现[M].北京:科学技术出版社,2009. [35] 刘瑞祯,于仕琪.OpenCV 教程[M].北京:北京航空航天大学出版社,2007.
  1. 孙凤梅,胡占义.平面单应矩阵对摄像机内参数约束的一些性质[J].计算机辅助设计与图形学学报 2007,19(5):274~278.
  2. 于洪川,吴福朝.基于主动视觉的摄像机自标定方法[J].机器人,1999,21(1): 429~434.
  3. 孙鑫,于安萍.VC++深入详解[M].北京:电子工业出版社,2007.
  4. 杨淑莹.VC++图像处理程序设计[M].北京:清华大学出版社,2003.
  5. 石纯一,黄昌宁,王家欽.人工智能原理[M].北京:清华大学出版社,1993.
  6. 张朋飞,何克忠.扩充状态转移网络在计算机数据通讯中的应用[J].计算机工程与应用,

2002,38(8):186~190.

  1. 胡斌,张朋飞,何克忠.一种用于室外移动机器人的快速有效的车道线识别方法[J].机器人,2006,28(4):394~399.
  2. 景晓军.图像处理技术及应用[M].北京:国防工业出版社,2005.
  3. 李若皓,丁冬花.一种基于扫描线的车道线识别算法[J].微计算机信息,2008,

24(6):244~246.

  1. 李兵,张朋飞,何克忠.基于增强转移网络(ATN) 的室外移动机器人道路图像理解[J]. 中国图象图形学报,2004,9(3):380~384.
  2. D. POMERLEAU.RALPH:Rapidly Adapting Lateral Position Handler[C].IEEE Symposium on Intelligent Vehicles,1995,506~511.
  3. POMERLEAU,T. JOCHEM.Rapidly Adapting Machine Vision for Automated Vehicle Steering[J].IEEE Expert:Special Issue on Intelligent System and their Applications, 1996,11(2),19~27.
  4. LANGER,T. JOCHEM.Fusing Radar and Vision for Detecting,Classifying and Avoiding Roadway Obstacles[C]. IEEE Symposium on Intelligent Vehicles,1996,1207~1213.
  5. D. POMERLEAU. Visibility Estimation from a Moving Vehicle Using the RALPH Vision System[C]. IEEE Conference on Intelligent Transportation Systems, 1997, 906~911.
  6. T.M. JOCHEM,D.A.POMERLEAU,C.E. THORPE.Vision-Based Neural Network Road and Intersection Detection and Traversal[C].Proc. of IEEE Conf. Intelligent Robots and Systems,1995,344~349.
  7. R.BEHRINGER.Road Recognition from Multifocal Vision[C].Proc. Int. Symposium on Intelligent Vehicles,1994.1271~1279.
  8. K.C.KLUGE.Extracting Road Curvature and Orientation From Image Edge Points Without Perceptual Grouping Into Features[C].Proc. of the Intelligent Vehicles 1994, 109~114.
  9. KREUCHER,S. LAKSHMANAN,K. C. KLUGE.A Driver Warning System Based on the LOIS Lane Detection Algorithm[C].1998,321~330.
  10. K.C.KLUGEA,C.M.KREUCHERB,S.LAKSHMANANB.Tracking Lane and Pavement Edges Using Deformable Templates[C].IEEE Symposium on Intelligent Vehicles,1992. 271~278.
  11. K.KLUGE,C.THORPE.Representation and Recovery of Road Geometry in YARF[C].IEEE Symposium on Intelligent Vehicles,1992,114~119.
  12. K.KLUGE,C.THORPE.The YARF System for Vision-Based Road Following[J].Mathema- tical and Computer Modelling,1995,22(7):213~233.
  13. E.D.DICKMANNS,B.W.MYSLIWETZ.Recursive 3-D Road and Relative Ego-State Recog- nition[J].IEEE-Transactions PAMI, 1992,14(2):199~213.
  14. E.D.DICKMANNS,S.BATEN.3-D surface recognition by recursive estimation methods[C]. Digital Photogrammetry and Remote Sensing,St. Petersburg, Russia,1995,225~232.
  15. 胡斌,张朋飞,何克忠.一种用于室外移动机器人的快速有效的车道线识别方法[J]. 机器人,2006,28(4):394~399.
  16. 李若皓,丁冬花. 室外移动机器人结构化道路上的车道线识别系统[D].北京:清华大学计算机科学与技术系,2007. 
  17. 李兵,张朋飞,何克忠.基于增强转移网络(ATN) 的室外移动机器人道路图像理解[J]. 中国图象图形学报,2004,9(3):380~384.
  18. 郭磊,李克强,王建强.应用方向可调滤波器的车道线识别方法[J].机械工程学报,2008,44(8):214~218.
  19. Railbert M H.Legged Robots that Balance[M].Cambridge MA:The MIT Press,1986.
  20. 贾阳,王荣本,余天洪.基于熵 大化边缘提取的直线型车道标识线识别及跟踪方法[J]. 吉林大学学报,2005,35(4):420~425.
  21. 金辉,吴乐林,陈慧岩.结构化道路车道线识别的一种改进算法[J].北京理工大学学报,2007,27(6):501~505.
  22. HARBIEK K,SUKHATME G.Height Control for A One leged Hopping Robot Using a Two-dimensional Model[R].Los Angeles,USA: University of Southern California, 2001.
  23. AHMADI M,BUEHLER M. Stable Control of a Simulated One Leged Running Robot with Hip and Leg compliance[J].IEEE Transactions on Robotics and Automation,1997,13(1): 96~104.
  24. W.A.Woods.Transition Network Grammars for Natural Language Analysis[J].Comm. ACM. 1970,13(10):591~606.
  25. PANGYU JEONG,SERGIU NEDEVSCHI.Intelligent Road Detection Based on Local Ave- raging Classifier in Real-Time Environments[C].IEEE Computer Science Department, 2003,5(4):211~216.
  26. QING LI,NANNING ZHENG,HONG CHENG.Springrobot: A Prototype Autonomous

Vehicleand Its Algorithms for Lane Detection[J].IEEE Intelligent Transportation Systems, 2004,5(4):300~308.

  1. Yuan Shu,Zheng Tan.Vision Based Lane Detection in Autonomous Vehicle[C].World Congress on Intelligent Control and Automation,2004,5528~5260.
  2. PANGYU JEONG,SERGIU.Efficient and Robust Classification Method Using Combined Feature Vector for Lane Detection[J]. IEEE Transactions On Circuits and Systems For Video Technology, 2005,15(4):528~537. 
  3. Paolo Lombardi,Michele Zanin,Stefano Messelodi.Switching Models for Vision-based On-Board Road Detection[J].IEEE Intelligent Transportation Systems Vienna,2005,9(13): 67~62.

 

 

你可能感兴趣的:(cv,人工智能)