基于边缘检测与Hough变换的车道线检测毕业论文.docx_第1页
基于边缘检测与Hough变换的车道线检测毕业论文.docx_第2页
基于边缘检测与Hough变换的车道线检测毕业论文.docx_第3页
基于边缘检测与Hough变换的车道线检测毕业论文.docx_第4页
基于边缘检测与Hough变换的车道线检测毕业论文.docx_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本 科 毕 业 论 文基于边缘检测与Hough变换的车道线检测 Lane Line Detection based on edge detection And Hough transform 38基于边缘检测与Hough变换的车道线检测摘要 随着道路交通的快速发展和汽车保有量的日益剧增,交通安全引起了社会的普遍关注。统计表明,许多的交通事故是由司机疏忽或疲劳驾驶引起的。而汽车辅助驾驶系统正是被设计用来在车辆将要驶离车道或者发生碰撞时警告司机,从而帮助司机安全驾驶,避免交通事故的发生。车道线的检测识别正是实现这一功能的关键技术。本文对车道线检测识别进行了深入的研究。首先,介绍了基于边缘检测和Hough变换的车道线检测这一课题的研究背景和意义,综述了该课题的国内外研究现状,并进行了简要分析。第二,介绍了本课题编程所需要的工具MATLAB,并简要的介绍了MATLAB的两大特点。第三,介绍图像预处理。该模块包括图像灰度化,图像滤波,边缘检测等相关技术,且对每一种技术所包含的常用方法都做了实验进行对比,并选择出了合适的方法(图像滤波选用中值滤波,边缘检测选用自定义差分算子)。第四,简绍了Hough变换的原理,使用Hough提取并标记车道线。最后,对本文进行了总结,并提出不足之处,总的来说,本文算法能够有效提取车道线,具有较好的鲁棒性。关键词 车道线检测 MATLAB 图像灰度化 边缘检测 Hough变换 Lane Line Detection based on edge detection And Hough transformAbstract With the rapid development of road traffic and the increasingly explosion in auto inventory, traffic safety has aroused widespread concern. Statistics show that most of traffic accidents caused by drivers drowsiness, inattentiveness. Driver assistance systems is the design used to be warning the driver when the vehicle leaving the lane or a collision, so it can help to avoid traffic accidents. The real-time lane detection and navigation system is also an essential module of the driver assistance and warning system. This paper is focus on lane detection and departure based on machine vision.Firstly, the thesis introduces the background and significance about the lane detection based on Edge detection and Hough Transform, and then the research status of the thesis topic is reviewed. Finally, it makes a brief analysis.Secondly, this paper describes the tools required for programming- -MATLAB, and makes a brief introduction to the two features of MATLABThirdly, the thesis describe the technology related to image pre-processing module such as image gray, image filtering, edge Detection. And the common methods for each technology included have done experiments to compare and select a suitable method (Selecting median filtering to filter image; Selecting custom difference operator filtering to make edge detection).Fourthly, making a brief introduction of principle of Hough transform and using Hough to extract the lane marker.Finally, conclusions are given with recommendation for future work. Overall, the proposed algorithm can effectively extract the lane, with better robustness.Keywords: Lane detection Edge detection image grey Hough transform MATLAB目 录第一章 绪论11.1 研究意义及背景11.2 国内外技术发展状况21.2.1国外车道偏离报警系统21.2.2 国内车道偏离预警系统31.3 本文主要研究内容4第二章 MATLAB简介52.1 MATLAB的语言特点52.2 MATLAB的技术特点:6第三章 道路图像预处理93.1 道路图像灰度化93.2 道路图像滤波113.3 图像边缘检测123.3.1 Robert算子133.3.2 Prewitt算子143.3.3 Sobel算子143.3.4 Canny算子163.3.5自定义差分算子173.4 本章小结18第四章 车道线检测的算法设计194.1 道路图像检测的常用方法194.2 基于Hough变换的车道线检测214.2.1 Hough变换原理214.2.2 Hough变换提取车道线234.3 本章小结25结 论261. 论文的主要研究工作262. 论文需要改进的地方及对后续工作的展望26参考文献:28致谢30附录31第一章 绪论1.1 研究意义及背景高速公路的通行里程是一个国家发展水平的重要标志之一。高速公路具有车辆通行能力大、交通事故少、经济效益高的特点,它的不断发展引起了经济社会的重大变革,不仅有力地改变了人们的时空观念和地域观念,更促进了公路沿线地区社会和经济的发展,便利了沿线地区人们的出行,人们的生活质量和办事效率也得到了极大提高。汽车是高速公路的重要载体,凭借其灵活的机动性为人类生活的改善和现代社会的发展做出了巨大的贡献。随着汽车的普及,交通安全问题越来越受到人们的普遍关注和极大重视1。20世纪40年代时,人们开始研究人-车-道的相互影响问题,由于道路建设缓慢,世界各地的交通事故、环境污染、能源浪费、道路堵塞现象变得越来越严重【2】,尤其是在我国,交通问题日益突出,目前,我国已成世界上交通事故死亡人数最高的国家之一。据报道,我国2014年交通事故死亡人数为34292,34人,比起2013年31604,3人、2012年30222,5人、2011年29618人,死亡人数呈逐年小幅度的上升趋势。因此,从上世纪70年代开始,全世界各国的工程师开始利用迅猛发展的电子,信息,计算机等高新科技技术来缓解目前拥堵的交通状况,并陆续在世界各地建立新型交通系统,并由此产生了智能交通(ITS)【3】【4】【5】的概念。智能交通系统(Intelligent Traffic Systems, ITS)的前身是智能车辆道路系统(Intelligent Vehicle Highway System, IVHS)。智能交通系统将先进的信息技术、数据通信技术、传感器技术、电子控制技术以及计算机技术等有效地综合运用于整个交通运输管理体系,从而建立起一种大范围内、全方位发挥作用的,实时、准确、高效的综合运输和管理系统。该系统的一个主要子系统:车道偏离警告系统。因此,研发一种保障行车安全的综合系统十分必要。当驾驶员疲劳以及精神分散或者车辆出现车道偏离以及车辆安全车距过小存在追尾可能时能给予主动报警,必能极大地降低交通事故发生的可能性,对于减少公路交通事故及人员伤亡有着特别重要的意义。而该系统一个至关重要的工作就是快速地,准确地利用车载传感器获取前方道路的车道线或道路边缘。1.2 国内外技术发展状况1.2.1国外车道偏离报警系统车道线是道路交通中最重要的交通标志,可以对车辆的行驶起到约束保障的作用。无论是在车辆安全驾驶系统中还是在基于机器视觉的智能车辆导航中,车道线的检测与识别都是一个基本的、必须的功能模块,通过它不仅可以降低交通事故的发生,而且可以为以后智能交通深入研究提供帮助。因此早在人们对智能车以及智能交通研究开始阶段,就十分重视对车道线检测与识别的研究。许多国家都投入大量资金以及人才对其进行深入研究并取得了丰硕的研究成果,在这些国家中尤以德国、美国、意大利、日本对这一技术研究的比较深入。1.AURORA系统该系统由美国卡内基梅隆大学机器人学院于1997年开发成功。该系统由带广角镜头的彩色摄像机、数字转换器和一个便携SunSparc工作站等组成。该系统通过安装在车辆一侧的视野大约为1.5m-1.6m区域的俯视彩色摄像机检测车辆旁边的车道标识,通过数字转换器采集摄像机的视频输出并在一个便携Sunspace工作站上进行处理,处理速度为60Hz。2.AutoVue系统该系统由前DaimlerChrysler公司和美国的Iteris公司联合开发。该系统主要由一个安装在汽车内风窗玻璃后部的摄像机、两个立体音箱、一个小显示设备和控制单元等组成。该系统工作原理是通过实时监测本车在当前车道中的位置,计算本车到车道标识线距离,然后与设定的报警距离相比较,判断是否进行预警。当检测到将要发生车道偏离时,它将发出一种类似于车辆在隆声带上行驶时发出的隆隆作响的声音来提醒驾驶员修正车辆位置。目前,AutoVue系统已经在欧洲的多种货车上作为一个选件进行了装备。3.Mobileye_AWS系统该系统由总部设在荷兰的Mobileye公司研制。该系统利用安装在前风窗玻璃上的单个摄像机监测车道标识线,测量和监控本车与道路边界的距离。该系统的车道偏离警告模块通过检测道路边界,计算车辆相对于车道的位置和车辆的侧向运动,预测车辆将横越车道标识的时间,当该时间低于设定值时,系统触发视觉警告和声音警告,以使驾驶员对不同的危险状态做出适当的反应而减少意外事故的发生。该系统在有意识的车道偏离、制动和没有道路标识等情况下能对警告的产生进行了抑制。4.DSS系统(Driver Support System)该系统由日本三菱汽车公司于1998年提出,并于1999年秋季应用于模型车上。该系统由一个安装在汽车后视镜内的小型CCD摄像机、一些检测车辆状态和驾驶员操作行为的传感器以及视觉和听觉警告装置组成。该系统利用由CCD摄像机获得的车辆前方的车道标识线、其他传感器获得的车辆状态数据和驾驶员的操作行为等信息,判断车辆是否已经开始偏离其车道。如有必要,系统将利用视觉警告信息、听觉警告信息以及振动转向盘来提醒驾驶员小心驾驶车辆。1.2.2 国内车道偏离预警系统1.JLUVA-1系统该系统由吉林大学智能车辆课题组开发。该系统是基于单目视觉的前视系统,主要由车载电源、嵌入式微机、显示设备、黑白CCD摄像机、数据线、音箱以及图像采集卡等组成。系统利用安装在汽车后视镜位置处的CCD摄像机采集汽车前方的道路图像,通过图像处理获得汽车在当前车道中位置参数,当一旦检测到汽车距离自身车道白线过近有可能偏入邻近车道而且司机并没有打转向灯时,该系统就会发出警告信息提醒司机注意纠正这种无意识的车道偏离,从而尽可能地减少车道偏离事故的发生。2.基于DSP技术的嵌入式车道偏离报警系统该系统由东南大学开发,是基于单目视觉的前视系统,由模/数转化及解码电路模块、缓冲电路模块、媒体处理器DSP电路模块、编码及数/模转换电路模块等模块组成。该系统通过车载摄像头采集被跟踪车道线的模拟视频信号,经解码生成数字信号码流缓冲后送到高速媒体处理器DSP的视频接口,然后再由视频处理模块对数字视频信号进行车道特征值的提取,最后将处理后的视频信号送编码及数/模转换电路输出显示。1.3 本文主要研究内容本文研究的主要内容是车道线检测识别与软件设计。车辆的自动或辅助驾驶、驾驶员预警系统是智能交通系统(Intelligent Transportation System)的重要研究内容,而道路边界的识别和跟踪是实现这一技术的首要问题。本文在借鉴国内外研究成果的基础上,致力于提高我国快速车道线识别技术。本文分为以下几个模块:图像的采集、图像预处理(图像灰度化、边缘检测等)、基于Hough变换的直线检测算法、提取车道线。本文共分五章:第一章主要介绍了课题研究的背景、意义和研究的国内外现状,结尾介绍了本文主要研究内容和章节安排。第二章介绍编程工具MATLAB图像处理模块的使用。第三章主要介绍了道路图像预处理当中的一些技术,首先是图像灰度化,然后介绍几种图像增强的方法,如邻域平均法、中值滤波法等,并对各算法进行对比分析;接着对几种常用的边缘检测算子如canny算子,prewitt算子,log算子的进行对比,并结合实践提出了一种新算法。第四章介绍了进行车道线检测的主要算法,在这一章的开始简要介绍了本文需要使用的一些基本概念,然后详细介绍本文所使用的算法,给出了具体实现。第五章对文章进行了简要的总结,指出本文的主要贡献和不足之处,对今后的车道线检测研究作了展望。第二章 MATLAB简介 MATLAB语言是当今国际科学界最具影响力,最具活力的软件。它起源于矩阵运算,并已发展成一种高度集成的计算机语言。MATLAB语言具有很多优点,它提供了强大的科学运算,灵活的程序设计流程,并为加快程序运行速度和产生独立应用程序提供了编译器。基于以上原因,本课题采用MATLAB语言进行程序设计。2.1 MATLAB的语言特点MATLAB 是种以矩阵为基本变量单元的可视化程序设计语言,语法结构简单,数据类型单一,命令表达方式接近于常用的数学公式。这使 MATLAB 用户在 短时间内就能快速掌握其主要内容和基本操作。MATLAB 不仅能免去大量的经常重复的基本数学运算,而且其编译和执行速度都远远超过了采用 C 和 Fortran 语言设 计的程序。可以说,MATLAB 在科学计算与工程应用方面的编程效率远远高于其他 高级语言。 MATLAB 语言有不同于其他高级语言的特点,被称为第四代计算机语言。正如 第三代计算机语言如 FORTRAN 与 C 等使人们摆脱了对计算机硬件的操作一样, MATLAB 语言使人们从繁琐的程序代码中解放出来。它的丰富的函数是开发者无需 重复编程,只要简单地调用和使用即可。MATLAB 语言最大的特点是简单和直接。 MATLAB 语言的主要特点有: 1.编程效率高 MATLAB 语言是一种面向科学与工程计算的高级语言,允许用数学形式的语言 编写程序,且比BASIC、FORTRAN 和C 等语言更加接近我们书写计算公式的思维方式,用 MATLAB 编写程序犹如在演算纸上排列公式与求解问题。因此,也可通 俗地称 MATLAB 语言为演算纸式科学算法语言。由于它编程简单,所以编程效率 高,易学易懂。 2.高效方便的矩阵和数组运算 MATLAB 语言像BASIC、FORTRAN 和C 语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变的照搬到数组建的运算中。有些如算术运算符只要增加“.”就可以用于数组建间的运算。另外,它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解数字图像处理问题时显得大为简洁、高效、方便,这是其他高级语言所不能相比的。 3.用户使用方便 MATLAB 语言是一种解释执行的语言(在没有被专门的工具编译之前),它灵活、 方便,起跳时程序手段丰富,调试速度快,需要学习时间少。人们用任何一种语言 编程和调试一般都要经过四个步骤:编辑、编译、连接,以及执行和调试。各个步骤之间是顺序关系,编程的过程就是在他们之间作瀑布型的循环。MATLAB 语言与其它语言相比,较好的解决了上述问题,把编辑、编译、连接和执行融为一体。它能在同一画面上进行灵活操作,快速排除输入程序的书写错误、语法错误甚至语义错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中 它是一种比VB 还要简单的语言,更不用谈C 和C+。 4扩充性强,交互性好 MATLAB语言有丰富的库函数,在进行复杂的数学运算时可以直接调用,且这些库函数同用户文件在形式上一样,所以用户文件也可以作为 MATLAB 的库函数来调用。用户可以根据自己的需要方便的建立和扩充新的库函数,提高 MATLAB 使用效率和扩充它的功能。另外,为了充分利用 FORTRAN、C 等语言的资源,包括用户自己编好的FORTRAN、C语言程序,通过建立M文件的形式,混合编程, 方便地调用有关的FORTRAN、C语言子程序,还可以在C 语言和FORTRAN 语言中方便的使用MATLAB 的数值计算功能。良好的交互性增加了代码的重用性。 综上所述,MATLAB 最适用的范围是科学计算,对于本文需要实现图像处理算 法来说,MATLAB 再合适不过了。2.2 MATLAB的技术特点:1.运算符、库函数丰富MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序,每一个工具箱都是为某一类学科专业和应用而定制的。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能;而学科性工具箱是专业性比较强的,如control,toolbox,signalprocessing toolbox等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序就可直接进行高、精、尖的研究。2.强大的数值(矩阵)运算功能MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C+。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵、特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。3.界面友好、编程效率高MATLAB程序书写形式自由,被称为“草稿式”语言,这是因为其函数名和表达更接近我们书写计算公式的思维表达方式,编写MATLAB程序犹如在草稿纸上排列公式与求解问题,因此可以快速地验证工程技术人员的算法。此外MATLAB还是一种解释性语言,不需要专门的编译器。具体地说,MATLAB运行时,可直接在命令行输入MATLAB语句,系统立即进行处理,完成编译、链接和运行的全过程。利用丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作4.图形功能强大MATLAB具有非常强大的以图形化显示矩阵和数组的能力,同时它能给这些图形增加注释并且可以对图形进行标注和打印。MATLAB的图形技术包括二维和三维的可视化、图象处理、动画等高层次的专业图形的高级绘图函数(例如图形的光照处理、色度处理以及四维数据的表现等),又包括一些可以让用户灵活控制图形特点的低级绘图命令,可以利用MATLAB的句柄图形技术创建图形用户界面。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。第三章 道路图像预处理要实现车道线检测与识别,首先必须要提取图像的特征点。但是在现实道路环境中存在很多的干扰因素,如:阳光,阴影,车道线不清楚,车辆和障碍物等,这些都给提取车道线带来了很多的干扰。所以,本文使用了一些图像预处理的方法对拍摄的道路图像进行处理。3.1 道路图像灰度化车道线检测系统中,如何提高实时性是一个非常关键的技术要点。从车辆摄像头采集的图像一般为彩色图像,但是图像的边缘检测、平滑处理等问题,基本是在灰度图像上完成,而且彩色图像所含信息量较大,对其的处理也就需要很大的计算量和较长的时间,并且对硬件要求比较高,从而在各方面影响了系统的实时性。因此在车道线检测系统中一般需要对摄像头采集的彩色图像进行灰度化处理,使之成为灰度图,以达到提高实时性的目的6。图像的灰度化是指把彩色图像变换成灰度图像的过程。红色(Red)、绿色(Green)、蓝色(Blue)三种色彩按不同比例构成了彩色图像中的各个像素点。各自分量的亮度由灰度值表示,由于亮度信息由暗到明是连续变化的,所以要描述图像的灰度图,就需要把亮度值进行量化。通常划分成 0 255 ,共256个级别,0 表示全黑,255 表示全白。1254 则表示介于全黑和全白之间的不同亮度。一般有以下四种灰度化的方法:分量法:将彩色图像中的三个分量R,G,B的值作为灰度图像的灰度值,根据不同的情况选择其中一种灰度图像。公式: =,=, =; (1)最大值法:选择彩色图像R,G,B中亮度的最大值最为灰度图的灰度值。公式: =; (2)平均值法:将彩色图像中的三个分量R,G,B的值求和再求其平均值,并将此平均值设为新的灰度值。公式: = (3)加权平均法:根据R,G,B三个分量的重要性,将三个分量赋以不同的权值再进行平均。鉴于人眼对绿色敏感度最高而对蓝色敏感度最低这一视觉特性,按照下式进行加权得到的灰度图像较为合理,所以本文选择加权平均法将彩色图像灰度化。公式: =; (4)原图灰度图3.2 道路图像滤波图像滤波处理用来消除图像中的噪声,滤波既可以在空域中进行也可以在变换域中实施,基本方法就是选取像素灰度的平均值或者中值。尽可能的保留图像所需的特征条件而抑制图像中的噪声,减少后续处理的干扰并保证图像处理的可靠性。二值化前后均可进行滤波处理。二值化前的滤波处理是基于灰度图像进行,滤波后势必导致灰度图像有部分信息丢失但同时也抑制了噪声的干扰。而在二值化以后,图像仍然会出现一些散点,这是为了有利于后续的处理仍需进行一次滤波处理。本文采取的是对灰度图像直接滤波。目前,图像滤波的方法有很多,例如:中值滤波法、高通滤波、低通滤波、高斯滤波、均值滤波等。在此本文不一一介绍,只对几种常用典型的滤波方法作简要的介绍。平均邻域法:假设相邻的像素点之间具有相关性,这个像素点的值可以用相邻像素点值的平均值来代替,以实现图像滤波。数学表达式如下: (5)中值滤波法:中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,其基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。同时,中值滤波法是一种非线性平滑技术,对脉冲噪声有良好的滤除作用,特别是在滤除噪声的同时,能够保护信号的边缘,使之不被模糊。这些优良特性是线性滤波方法所不具有的。此外,中值滤波的算法比较简单,也易于用硬件实现。所以,中值滤波方法一经提出后,便得到重要的应用。滤波效果图3-1数学表达式如下: (6)高斯滤波:高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。在图像处理中,高斯滤波一般有两种实现方式,一是用离散化窗口滑窗卷积,另一种通过傅里叶变换。最常见的就是第一种滑窗实现,只有当离散化的窗口非常大,用滑窗计算量非常大(即使用可分离滤波器的实现)的情况下,可能会考虑基于傅里叶变化的实现方法。车道线边缘提取中有一个边缘检测的过程,这要求在图像增强过程中要选择一种在去除噪声的同时能够较好的保持图像的边缘和细节的图像滤波方法,基于此要求,本课题进行大量的实验对比,分析各种方法的优缺点,最终选择了中值滤波作为本课题图像增强方法,因为在实验过程中,发现中值滤波能在滤除图像噪声的同时可以较好的保存车道的边缘特征。 图3-1 中值滤波后的图像3.3 图像边缘检测在图像处理及应用中,图像边缘作为图像的一个最基本特征起着举足轻重的作用,它蕴含了图像丰富的内在信息,广泛应用于图像分割、图像分类、图像配准和模式识别中。所谓边缘是指图像特征不连续的分割点组成的线,这里说的图像特征的不连续包含有图像灰度级的突变、纹理结构的突变、颜色的突变等。边缘其实是图像一个区域的开始,另一个区域的结束,利用该特性可以对图像进行分割处理【7】。目前,常用的边缘检测的方法有Robert算子,Prewitt算子,Sobel算子,Canny算子等,但是本文结合实验结果和实际应用采用自定义差分算子。以下将对各种算子进行简要介绍。3.3.1 Robert算子Roberts边缘检测算子是一种利用局部差分算子寻找边缘的算子,Robert算子图像处理后结果边缘不是很平滑。经分析,由于Robert算子通常会在图像边缘附近的区域内 产生较宽的响应,故采用上述算子检测的边缘图像常需做细化处理,边缘定位的精度不是很高。该算子的计算公式如下: (7)其中,表示图像点处的原灰度值,表示输出的灰度值。以下是该算子的卷积核:、Robert边缘检测3.3.2 Prewitt算子Prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用 。其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,这两个方向模板一个检测水平边缘,一个检测垂直边缘。经典Prewitt算子认为:凡灰度新值大于或等于阈值的像素点都是边缘点。即选择适当的阈值T,若,则为边缘点,为边缘图像。这种判定是欠合理的,会造成边缘点的误判,因为许多噪声点的灰度值也很大,而且对于幅值较小的边缘点,其边缘反而丢失了。下图为Prewitt算子的边缘检测图。Prewitt算子边缘检测图3.3.3 Sobel算子在边缘检测中,常用的一种模板是Sobel 算子。Sobel 算子有两个,一个是检测水平边缘的 ;另一个是检测垂直边缘的 。与Prewitt算子相比,Sobel算子对于象素的位置的影响做了加权,可以降低边缘模糊程度,因此效果更好。Sobel算子另一种形式是各向同性Sobel(Isotropic Sobel)算子,也有两个,一个是检测水平边缘的 ,另一个是检测垂直边缘的 。各向同性Sobel算子和普通Sobel算子相比,它的位置加权系数更为准确,在检测不同方向的边沿时梯度的幅度一致。由于Sobel算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数, 简单有效,因此应用广泛。美中不足的是,Sobel算子并没有将图像的主体与背景严格地区分开来,换言之就是Sobel算子没有基于图像灰度进行处理,由于Sobel算子没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。该算法的模板如下:水平边缘Sobel算子 垂直边缘Sobel算子 Sobel边缘检测算子定义为: (8)其中和的计算公式如下: = (9)= (10)使用Sobel算子的边缘检测图像如下:Sobel算子边缘检测图3.3.4 Canny算子Canny 边缘检测算子是 John F. Canny 在1986 年研究出来的一种多级检测边缘算子。Canny 算子8是一种比较理想的边缘分割算子,从以下的三个标准意义来说,Canny 边缘检测算子对受到白噪声影响的阶跃型9边缘是最优的。Canny边缘检测算子的三个准则10:(1)检测标准。不丢失重要的边缘,不应有虚假的边缘。(2)定位标准。实际边缘与检测到的边缘位置之间的偏差最小。(3)单响应标准。将多个响应降低为单个边缘响应。Canny 算子对一幅图像进行边缘检测,一般可分为三个步骤:滤波、增强和检测。Canny 算法在进行处理前,为去除噪声,首先利用高斯平滑滤波器来平滑图像。由于图像中的噪声在图像傅里叶变换中对应高频部分,所以要在频域中通过滤波削弱噪声的影响,设法滤除或减弱这部分的频率分量。在实际工程应用中,人们往往采用低通滤波器来实现。但是大多数滤波器虽然能降低噪声,但也导致了边缘强度的损失,高频部分对应着边缘,所以要在边缘与噪声之间作一个中间处理。增强边缘就是将邻域或者局部强度值有显著变化的点突出出来,通过计算梯度幅值来完成。Canny 分割算法是采用一阶偏导的有限差分来计算梯度的方向和幅值。一个边缘的一阶导数在边界处存在向上的阶跃。一般的边缘检测是利用求导数来实现的,这是因为导数的计算对噪声很敏感。在处理的过程中,Canny 算法将经过一个非极大值抑制的过程,最后连接边缘是通过 Canny 算法采用两个阈值来实现的11,下图为Canny边缘检测图。Canny边缘检测图3.3.5自定义差分算子本文考虑到车道线的在图像中的方向特征,即左右车道线倾斜角度一般分别是 45和 135方向,所以自定义了两个差分算子。对平滑处理后的图像用这两个差分算子对道路图像做微分计算,就得到了道路图像的边缘。本文提出的自定义差分算子在提高了车道线的边缘像素点与周围区域像素点的对比度的同时,又保证了车道线结构完整。左右卷积核分别如下图所示:左卷积核和右卷积核自定义差分算子边缘检测图如下:自定义差分算子边缘检测图3.4 本章小结在这一章节中,本文主要介绍了车道线检测系统中所使用的图像预处理技术。详细的介绍了图像灰度化的原理和目的,经典的边缘检测算法,并且对比了各种方法的优缺点。最后选择了快速、方便、实用的边缘检测算子自定义差分算子,并在实际应用中取得了较好的效果,为后面的图像处理做好了准备并且节省了时间。第四章 车道线检测的算法设计在车道偏离预警系统中,其核心是如何快速有效地对车道线进行检测和识别,它主要包括车道线提取和车道类型判断两个部分。车道检测与识别是车道偏离预警系统研究的核心问题之一,其研究水平也是智能驾驶系统发展的重要标志。道路类型的判断对于车道偏离预警和智能驾驶同样起着至关重要的作用。车道线检测主要包括车道定位,车道线相对于周围环境特征提取以及对感兴趣车道的提取等。道路类型主要是判断道路直道、弯道的问题,本章针对车道线检测进行了探讨。本章没有从三维视觉的角度来实现车道线检测和道路环境分析,因为从算法的可行性来看,算法复杂,相应特征点查找困难,另外就是存在遮挡的问题。目前,基于视觉研究的大多数学者都尽量简化了这些复杂因素的影响,而去专心于系统核心问题基于图像视觉的车道检测和识别。但从研究问题的实际看来,任何一个影响最终结果的因素都应该加以考虑,因为这些因素都可能带来最终结果的巨大偏差,尤其是在环境因素复杂多变的高速路上。这就导致了从三维视觉角度来研究车道偏离,只适合外界环境简单、变化小的情景。这对于外界环境多变的高速公路显然是不合适的,因此,本文采用基于单目视觉的方法对车道图像进行分析研究。在模型和算法设计时,尽量简化道路模型,采用结构化道路模型设计和车道动态预测算法,这种模型简化和设计可以实现对车道图像信息的快速提取,算法复杂度大大降低,有利于提高系统的整体性能。4.1 道路图像检测的常用方法目前常用的道路图像检测和识别算法有以下几种12:(1)模拟神经网络方法:神经网络在图像识别中的应用按处理数据类型大致可以分为两类:类是基于像素数据的神经网络算法;另一类是基于特征数据的神经网络算法即特征空间的聚类识别算法。基于图像像素数据的神经网络识别技术,是用高维的原始图像数据作为神经网络的训练样本。目前很多神经网络算法是基于像素进行图像识别的。在车辆辅助驾驶系统中,经常采用人工神经网络的方法,它主要通过神经网络来模拟现实中的车辆驾驶,但是这种方法在对车道进行检测和判断时预先不能确定车道线的具体位置,所以该方法不适合结构化道路的检测和判断,尤其是用于高速公路判断时,实时性较差,它主要应用在非结构化道路的判断。(2)基于彩色图像分割的方法:彩色图像分割是数字图像处理领域一类非常重要的图像分析技术,在对图像的研究和应用中,根据不同领域的不同需要,在某一领域往往仅对原始图像中的某些部分感兴趣。这些目标区域一般来说都具备其自身特定的一些诸如颜色、纹理等性质,彩色图像分割主要根据图像在各个区域的不同特性,而对其进行边界或区域上的分割,并从中提取出所关心的目标。图像分割注重对图像中的目标进行检测和测量,通过对图像的分割、目标特征的提取,可将经初步图像处理的图像特征向量提取出来,在车道检测中,该方法在基于 RGB 彩色空间原理基础上,依据车道图像在 R,G,B 三个基本分量与车道周围环境分量的不同,对车道图像进行道路路面和非路面的划分,该方法非常适合没有车道标识线的道路。(3)基于灰度图像的车道识别方法:目前在车道线检测和识别领域最常用的方法就是基于灰度图像的车道检测和识别的方法,灰度图像不仅图像信息量大大减少,而且我们可以充分利用车道线路面与非路面的灰度差值对图像噪声进行去除,同时利用白色车道线灰度值的特征可以对车道标识线进行检测和识别,这种方法常用于高速公路车道线的识别。当然这种方法也有一些亟待解决的问题,就是当车道线被树阴、道路两旁的建筑物、桥梁、隧道或其他车辆遮挡时,这些情况都会对道路图像的灰度值产生影响,进而可能对检测和识别结果产生影响,这些问题都是今后考虑的重要方面。在认真分析近几年来有关车道检测和识别技术的基础上,得出当前人们在这个问题上研究的主要方向为:一个侧重于根据车道线信息与路面信息的不同,对车道线进行检测和识别,另一个侧重于研究车道线边缘信息与车道附近点信息的不同来检测和识别。根据分析,可以得知当前基于灰度图像的车道线检测与识别算法主要采用 Hough 变换的方法。Hough 变换提取直线算法是一种利用图像全局特性把边缘像素连接起来组成区域封闭边界的一种方法。它的主要优点是受噪声和曲线间断的影响较小。所以本文采用基于 Hough 变换的方法来进行车道线的检测。4.2 基于Hough变换的车道线检测4.2.1 Hough变换原理在车道线直线提取算法中,Hough 变换是最常用的方法之一,且快速车道基本上是直线,弯道较少,适合采用Hough变换检测车道线。其优点在于抗噪性能好,算法稳定。Hough 变换13于 1962 年由 Paul Hough 提出,并在美国作为专利被发表。它所实现的是一种从图像空间到参数空间的映射关系如图 4.1(c)所示。由于具有一些明显优点和可贵性质,它引起了许多国内外学者和工程技术人员的普遍关注。例如,由于其根据局部度量来计算全面描述参数,因而对于区域边界被噪声干扰或被其他目标遮盖而引起边界发生某些间断的情况,它具有很好的容错性和鲁棒性。Hough 变换的实质是将图像空间内具有一定关系的像元进行聚类,寻找能把这些像元用某一解析形式联系起来的参数空间累积对应点。在参数空间不超过二维的情况下,这种变换有着理想的效果。Hough 直线变换其原理是利用点线的对偶性来实现的,如下图所示: (a)图像空间 (b)参数空间 (c)坐标系变换的对应关系图4.1Hough变换原理在直角坐标系中如图(a)所示,直线的方程可以用来表示,其中和是图像空间中的参数,分别是直线的斜率和截距。直线上任一点用表示。那么方程在参数平面上是一条直线,由此可见,图像空间中的像素点可以通过参数空间中的直线来表示,即平面上的一个像素点就对应到平面上的一条直线。在实际应用过程中,形式的直线方程是不能表示形式直线的(这时候,直线的斜率为无穷大)。所以实际应用中,经常采用参数方程: (11)这样就可以克服这些局限性了,如图4.2所示,其中代表直线到原点的法线距离,为该法线对应 x轴的角度。这样,道路图像平面上的一个点就对应到参数 面上的一条曲线。由此可见,道路图像中共线的点其对应到参数空间里相交的直线如图4.1(c)所示。反之,在参数空间中有公共点的所有直线在图像空间里都有共线的点与其对应,这就是点-线的对偶性。依据点-线的对偶规则,当给定道路图像中的一些边缘点,就可以通过 Hough 变换确定连接这些边缘点的直线。Hough 变换实际上就是把在图像空间中的直线检测问题变换为参数空间里对点的检测问题,通过在参数空间中进行简单的统计累加完成检测任14图4.2直角坐标系到极坐标系的变换运用 Hough 变换进行直线检测时,对噪声没有太强的敏感性,在已经知道目标物体的形状后,检测的效果是非常理想的。4.2.2 Hough变换提取车道线 由于车载摄像机拍摄的道路图像中含有大量的景物细节,比如行人、阴影、绿化带、树木、车辆、其它遮挡物等。本文车道图像在经预处理后得到的图像如图 2-1所示,由图中可以看到,所有这些车道图像的区域边界围成了形状各异的、或稠或密、大小不一的区域集合,而且这些区域大小不同、像素值多少不同,小到几个像素点,大则可能连成一片独立的区域。但是图像中的车道边界则由一些连续或断续的近似直线的边界区域组成的集合。基于这种区域特征,可以假想建立一种基于边界形状特征的道路模型,其能够将车道区域与其它区域区别开来。因此,本文从车道边界的形状特征入手来建立模型,国内外很多研究人员都基于这种思想而建立模型,其中有使用多项式曲线作为道路的形状模型、回旋曲线作为道路的形状模型以及直线作为道路的形状模型等。其中的直线模型是最简单的模型假设15。为了减小算法的复杂度,提高系统的运行速度,本文采用直线道路模型。由于高速公路的弯道曲率一般比较小16,在车辆高速行驶时,系统只需采集车辆前方不太远处的道路图像,因而采用直线道路模型,就可以满足要求。合理采用道路模型假设可以有效提高道路识别算法的快速性和鲁棒性。本文对道路特征做了如下假设: (1)路面是水平的,或者其高度变化服从一定的数学模型。(2)道路是结构化道路,即具有良好视觉效果的白线导航,周围无障碍物,道路宽度基本一致、有明显的车道标示线或边界、路面平坦的道路环境,可以依据边缘、颜色等信息来检测。 对信息融合后的图像进行 Hough 变换,为了避免背景上的建筑等其他物体也可能存在直线而造成误判断的情况。本文设置一个阈值 L,当检测出一条直线时,将其长度与阈值 L 作比较,当直线长度大于 L 时,则认为是一条车道线,并保存直线的斜率、截距、起点和终点四个元素,并作标记;小于阈值 L 时,则舍弃。这样就很好的排除短小噪声直线的干扰。基于Hough变换的车道线检测算法处理过程如图4-2所示:原始图像 图像预处理 边缘检测 标识车道线 车道线提取 Hough变换 图4-2车道线检测流程在这里,我们把边缘检测出来的图像进行Hough变换得到车道线在极坐标系下的参数,然后再把这些参数绘制成下图4-3:图4-3从图中我们可以统计出这些曲线的重叠情况,然后根据统计值进行判断直线所在位置,并在原图中对直线进行标识。如下图4-4:图4-4通过Hough变换标识车道线4.3 本章小结 本章首先简要介绍了几种道路图像的检测方法,如:模拟神经网络方法,基于彩色图像分割的方法,基于灰度图像的车道识别方法。鉴于本课题研究的是快速车道所以选择了基于灰度图像的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论