《基于机器视觉的车距测量》.docx
《《基于机器视觉的车距测量》.docx》由会员分享,可在线阅读,更多相关《《基于机器视觉的车距测量》.docx(38页珍藏版)》请在冰点文库上搜索。
《基于机器视觉的车距测量》
1绪论
目前,交通阻塞及交通事故已经成为人们普遍关注的问题。
世界各国都在开展智能交通系统、智能车路系统的研究,以期望提高运输效率、减少交通事故和减轻驾驶者的劳动负荷。
汽车智能辅助驾驶系统对于道路交通安全问题的解决有重要意义,准确测量前方车辆距离则是实现自动或者辅助驾驶的前提。
本章从选题的背景和意义角度出发,通过国内外车辆测距的发展和研究现状,实现了基于机器视觉的车辆测距系统。
1.1课题研究的背景和意义
随着交通系统的迅速发展,城市化进展的加快以及汽车普及率的提高,城市交通拥挤日益加剧,交通事故频频发生,交通环境逐渐恶化。
当汽车行驶在长途或者高速公路上时,驾驶者往往由于疲劳或所见目标单调而产生注意力不集中、甚至打磕睡的现象,以至于驾驶者在驾驶过程中遇到危险行驶情况时未能及时准确的做出反应,从而导致汽车偏离路线、甚至发生交通事故。
当驾驶汽车时,“驾驶员”获取的交通信息几乎全部是视觉信息。
将这些视觉信息转换成光电图像信息,用计算机视觉的方法进行处理,在快速复杂的环境中提取有用信息,进而产生合理的行为规划与决策。
作为环境感知的重要手段,视觉系统不需对现有的道路及基础设施进行改造,能充分利用现有的交通资源,因此具有更大的灵活性和实用性等优点。
两车间距的测量为公路上车辆间通信以及实现自动驾驶提供信息。
从国内外的智能车辆研究现状可以看出,视觉测距技术仍在不断的研究之中,并没有形成国际统一的标准模式,各种数字图像处理技术和算法之间孰优孰劣仍在不断的探讨和比较中。
积极开展该领域的研究,可以减轻驾驶员的压力和疲劳程度,提高行驶的安全性,减少交通事故的发生,提高交通效率。
1.2基于机器视觉的车辆测距技术
1.2.1机器视觉的定义和发展
机器视觉也叫计算机视觉,是智能车辆环境感知系统中最重要的组成部分,机器视觉能够提供几乎全部驾驶员所需要的驾驶信息,对智能车辆具有十分重要的意义。
尽管在目前硬件和软件技术条件下,机器视觉功能还处于初级水平,但其潜在的应用价值引起了世界各国的高度重视,发达国家如美国、日本、德国、法国等都投入了大量的人力物力进行研究。
近年来己经在机器视觉的某些方面获得了突破性的进展,机器视觉在实际车辆上的应用也初现端倪,在车辆安全技术、自动化技术等应用中也越来越显示出重要价值。
在国内外智能车辆技术的研究中,他们在传感器的选择时都会不约而同选用TV摄像机或者CCD摄像头以代替驾驶员的眼睛,然后对摄像头获取的图像信息的分析以对车辆周边环境进行感知。
特别是近10年来,随着计算机硬件设备的处理速度、存储容量的大大提高及价格相对便宜,基于图像处理的智能车辆技术成为了一种主流趋势。
现在应用在汽车上的测距方法主要有激光测距、微波雷达长距离测距、超声波短距离测距、夜间应用的红外线测距、摄像系统测距等几种方法。
而本文采用的是视觉测距技术,通过单目测距算法的实现来测量前方车辆的距离。
视觉测距就是采用根据摄像机拍摄的图像来进行距离测量的一种技术,一般采用CCD摄像机。
CCD摄像机是一种用来模拟人眼的光电探测器。
它具有尺寸小、质量轻、功耗小、噪声低、动态范围大、光计量准确、其线扫描输出的光电信号有利于后续信号处理等优良特性,在汽车行业也得到了广泛的应用。
1.2.2视觉测距国内外研究现状
机器视觉是一个相当新且发展十分迅速的研究领域,己成为计算机科学的重要研究领域之一。
由于采用机器视觉技术检测的信息量大,几乎能够提供驾驶者所需要的全部驾驶信息,其潜在的应用价值己经引起世界各国的高度重视。
发达国家如美国、德国、法国和日本都投入了大量的人力、物力进行相关技术的研究,并取得了突破性进展。
我国在智能车辆技术的研究方面起步较晚,目前主要有重庆大学、清华大学、浙江大学、国防科技大学、南京理工大学和吉林大学等在进行智能车辆和相关技术研究工作。
清华大学研制的智能车辆在车顶部设置摄像机,车辆行驶时检测前方道路状况。
另外装配激光测距雷达能够探测前方障碍物。
摄像头和激光雷达将得到信息传递到车载电脑,共同完成对外界环境的检测。
1.3本文主要内容
本文主要针对基于机器视觉的车辆测距技术展开工作,通过查看大量的文献资料和实际操作,掌握了整个车辆测距系统设计,通过机器视觉获取环境信息,然后采用图像处理技术进行道路检测、目标车辆识别与定位,最后实现车辆距离测量,为智能预警决策系统提供有用的信息。
文章简要介绍了机器视觉测距系统的结构设计和硬件平台,并通过软件设计实现了基于机器视觉的车距测量技术。
最后,对本次工作做了总结并对后继工作做出了展望。
2基于机器视觉的车辆测距系统的总体设计
人类从外界获得的信息约有75%来自视觉系统,如道路标识、交通图案、交通信号等均可以看作是环境对驾驶员的视觉通讯语言。
本章针对城市间的等级公路,构建了基于单目视觉的车辆测距系统的结构设计。
该视觉测距系统使用一台CCD摄像机作为唯一的传感器,安装在车辆正前方一定高度处。
通过获取行驶中的汽车前方路面上的一系列图像,同时对这些图像进行实时处理分析。
车辆测距是视觉导航系统中的一个重要功能模块。
2.1系统的方案论证与选择
2.1.1方案一:
时差法
现在应用在汽车上的测距方法主要有激光测距、微波雷达长距离测距、超声波短距离测距、夜间应用的红外线测距、摄像系统测距等几种方法均采用时差法测距,其中微波雷达测距利用目标对电磁波的反射来发现目标并测定其位置。
微波雷达常采用调频连续波雷达体制,用以下公式确定被测物距离:
(1)
其中R为目标到雷达的距离;V为速度;T为雷达往返过程所用时间。
微波雷达探测的性能比较稳定,不易受检测物表面形状和颜色的影响,受温度和环境的影响比较大,不可以在恶劣的天气状况下获得距离信息,且雷达系统的空间覆盖面有限,彼此之间可能产生电磁干扰,无法得到更为准确的路面信息。
2.1.2方案二:
视觉测距法
本文采用视觉测距技术,视觉测距就是采用根据摄像机拍摄的图像来进行距离测量的一种技术,一般采用CCD摄像机。
CCD摄像机是一种用来模拟人眼的光电探测器。
它具有尺寸小、质量轻、功耗小、噪声低、动态范围大、光计量准确、其线扫描输出的光电信号有利于后续信号处理等优良特性,在汽车行业也得到了广泛的应用。
机器视觉与其他测距方式相比,具有如下特点:
a、图像的信息含量极为丰富。
如果在图像识别算法上取得突破,就可以减少整个系统的运算时间,同时可以提高道路检测的正确率。
b、无需破坏路面和现有道路设施进行大的变动(早期的自动导航方案采用在道路中间铺设磁块的方式进行导航,造价比较昂贵)。
c、可进行多车道检测,信息获取面积大,可实现道路检测和障碍物识别。
d、维护费用比较低,还可以提供实时录像,供专家事后分析。
视频信号也可以通过多种方式传输,如无线射频或者微波,为监控中心提供车辆当前状况。
因此,我选择了视觉测距法来测量车距。
2.2系统的任务分析
按视觉测距系统功能要求,车辆的视觉测距系统一般分为以下五个部分:
(1)数据采集层:
这一层主要是通过传感器采集能够反映道路状况的数据,以用于后继处理。
本文使用的是被动式视觉传感器—CCD摄像机。
CCD摄像机有一般主动式传感器所不具有的优点。
(2)特征提取层:
所提取的特征主要包括能反映道路边界或车道线及道路上的障碍物等的特征。
主要是对数据采集层采集到的图像进行聚类分析,再根据道路边界或交通标志等道路自身的特性采取一定的方法去除噪声干扰,最终得到道路识别所需要的特征。
(3)解释层:
主要包括道路边界的识别、车辆及其它障碍物的探测。
在进行图像的特征提取后,需要利用相关的道路边界及车辆和障碍物的识别算法对图像进行处理和分析。
对道路边界而言,需要有效的识别出道路边界并规划出车辆的行驶路线;对前方车辆及障碍物而言,需要有效的识别出前方车辆和其它障碍物并获得相关的运动状态,主要是相对距离信息。
(4)环境理解层:
通过解释层可得到道路及障碍物的位置、速度、车距等重要参数。
但是要控制车辆的行驶,还必须得到行驶车辆本身和道路及障碍物的相对关系,如汽车偏移车道线的距离,汽车的行驶方向与车道线的夹角以及汽车与障碍物的相对距离、相对速度等。
(5)决策层:
根据环境理解层得出的智能车与环境的相对关系,依据事先规定的一些规则做出决策,如调整汽车相对于车道线的位置以防偏离行驶方向、调整速度、改换车道等,并将这些决策用于控制汽车的行驶。
图1基于机器视觉测距系统的系统结构
2.3系统的结构框图
视觉测距系统中硬件部分组成主要有CCD摄像头、视频采集卡、工业控制机、监视器等部件。
视觉测距系统的一般工作原理为:
安装在车辆上的CCD摄像头实时采集前方路面的图像信息,将当前道路的反射光强信号转化为相应的模拟电信号输送到视频采集卡;视频采集卡中的模数转换器通过对模拟信号采样和量化,将模拟信号进一步转化为计算机可以接受和理解的数字信号,并且将数字信号传送给工业控制计算机;工业控制计算机接收到数字图像后,运用对应的算法处理道路图像,识别出道路中的车辆信息,然后将此识别信息上传给车辆的控制系统,通过单目测距算法,实现对前方车辆的测距。
利用视频采集卡和摄像头进行实际道路图像的采集和识别过程,如图2所示:
图2系统的结构框图
3系统的硬件设计
3.1系统硬件原理框图
系统通过CCD传感器采集公路上的车辆及路况图像,由FPGA芯片控制A/D转换芯片,得到数字图像数据,再把得到的数据存储到双口RAM中。
DSP读取双口RAM中的图像数据,根据图像处理算法对图像数据进行处理,主要包括图像的预处理、道路的识别、目标车辆识别、单目测距算法的实现等处理,完成图像识别功能。
系统扩展了一片SRAM和一片FLASH存储器,SRAM用作存储从双口RAM传输过来的图像数据,FLASH用于存放系统脱机运行程序及车辆特征值数据库数据。
系统的逻辑控制由FPGA来完成,这样有利于系统面积的减小,而且对低功耗设计及系统的可扩展性也有很大的帮助。
图3系统硬件原理框图
3.2基于单目视觉的图像采集
图像采集系统是通过CCD提取车辆图像信号,再经过信号预处理和A/D转换后输出给数字信号处理器(DSP)。
由于FPGA的时序性较好,因此利用FPGA来同步控制CCD图像传感器、预处理单元中的A/D转换器和数据缓冲器。
3.2.1CCD图像传感器
CCD图像传感器既具有光电转换功能,又具有信号电荷的存储、转移和读出功能,只需加上一组时序脉冲进行驱动控制,就能实现对被测目标的扫描和信号读出。
为了保证采集装置工作稳定可靠,必须设计出符合CCD正常工作时要求的定时脉冲和驱动控制电路,只有驱动控制脉冲与CCD良好配合,才能充分发挥CCD的功能。
驱动时序产生电路提供了CCD正常工作时所需的一组时序脉冲,它们均为rrL电平,经驱动器进行电平转换后,将时序脉冲转变成CCD所要求的、具有特定波形和电压幅度的逻辑驱动信号。
具体的时序由于具体型号CCD的时序要求的不同而不同。
几种常用的CCD驱动时序产生方法包括直接数字电路驱动方法、EPROM驱动方法、专用IC驱动方法、单片机驱动方法等等。
设计中利用FPGA出色的时序性特点,直接通过软件编程的方式来实现。
所使用的是专用驱动芯片LR36685,它具有转换电压和电阻的功能。
本系统选择的CCD是夏普公司生产的LZ23BP2芯片,在近红外波长内,它的灵敏度大约能达到2-4%。
根据光学原理,用一个近红外滤光片滤掉可见光部分,能够提取到近红外图像。
LZ23BP2是面阵图像传感器其有效像素659(H)
494(V),大约为350K。
它能够提供一种稳定的高精度彩色图像。
LZ23BP2的水平移动寄存器时钟脉冲定为12.27MHZ,垂直移动寄存器时钟脉冲为15.73KHz。
晶体管输出的漏电压典型值为15V,输出电压为150mV。
CCD驱动电路图如图4所示:
图4CCD驱动电路图
对LZ23BP2主要管脚说明如表1:
表1LZ23BP2管脚图
序号
管脚名称
管脚功能
9
8
14
1~4
15、16
12
13
7
6、10
OD
OS
ØRS
ØV1,ØV2,ØV3,ØV4
ØH1,ØH2
OFD
PW
GND
NC1,NC2
输出晶体管的漏极
输出信号
时钟复位晶体管
垂直移位时钟寄存器
水平移位时钟寄存器
溢水
P-井
地面
无连接
对LR36685主要管脚说明如表2:
表2LR36685管脚图
序号
管脚名称
管脚功能
17
VDD
供应+3.3V力量.
16
GND
接地引脚
15
VH3X
垂直驱动脉冲输出
22
OFDX
OFD驱动脉冲输出
20
V1X
垂直驱动脉冲输出
21
V2X
垂直驱动脉冲输出
3.2.2A/D转换
由于系统的实际对象往往都是一些模拟量(如温度。
压力。
位移。
图像等),要使计算机或数字仪表能识别、处理这些信号,必须首先将这些模拟信号转换成数字信号。
而经计算机分析、处理后输出的数字量也往往需要将其转换为相应模拟信号才能为执行机构所接受。
这样,就需要一种能在模拟信号与数字信号之间起桥梁作用的电路:
模数和数模转换器。
CCD在驱动模块的作用下输出的信号是模拟信号,必须用A/D转换器件进行模数转换,在转换成数字信号之后这样才能进行后续的传输、处理和存储。
A/D转化电路,亦称“模拟数字转换器”,简称“模数转换器”。
将模拟量或连续变化的量进行量化(离散化),转换为相应的数字量的电路。
A/D变换包含三个部分:
抽样、量化和编码。
一般情况下,量化和编码是同时完成的。
抽样是将模拟信号在时间上离散化的过程;量化是将模拟信号在幅度上离散化的过程;编码是指将每个量化后的样值用一定的二进制代码来表示。
设计中采用专用于CCD的模数转换器TDA9965,其转换频率最大能达到30MHz。
特点如下:
(1)可调带宽的钳位和采样保持电路,可编程增益放大,12位的模数转换器;
(2)完全可变成的三线串口界面;
(3)像素频率最大可达到30MHz;
(4)可编程增益放大的增益从0dB到36dB(以0.05dB为一步);
(5)采样/保持的可编程带宽从35MHz到284MHz;
(6)备用模式(典型的20mw);
(7)典型的425mw电源供电;
(8)兼容TTL电平输入,兼容TTL和COMS电平输出。
CCD信号从2脚输入,经过采样保持器之后,通过放大器输出到10脚,再通过11脚的ADCIN输入端口输入到12位A/D转换器,最后通过输出缓冲器输出,其中采样保持器可通过串口界面输出的4位DAC来控制,并可通过钳位来控制其稳定输出;对于增益放大器也是通过串口界面发出的10位DAC来控制。
A/D转换电路如图5所示:
图5A/D转换电路图
其中,对TDA0065A主要管脚说明如表3所示:
表3TDA9965A管脚图
序号
管脚名称
管脚说明
11
1
3
4
23
31
4
10
45
46
44
43
42
39
ADCres
AGND
GCTH
PGAdyn
D0~D11
OGND
STGE
PGAOUT
SHP
SHD
CLPOB
CLPADC
CLKADC
STDBY
ADC分解
模拟地
CTH增益输出
PGA动态范围
ADC数字输出
数字输出地
钳存储电容器引脚
PGAamplifier信号输出
预设采样和保持脉冲输入
数据采样和保持脉冲输入
钳位输入控制脉冲光黑
钳位模拟输入信号控制脉冲输入
ADC时钟输入
待机控制输入(高)
3.3系统控制单元
3.3.1DSP+FPGA架构的信号处理模式
系统设计中,采用了DSP+FPGA架构的信号处理模式。
DSP+FPGA架构处理模式的最大特点是结构灵活,有很强的通用性,适用于模块化设计,且易于系统的维护与扩展。
FPGA主要辅助核心处理器DSP完成对外设的控制,主要包括对数据采集模块的控制、外设的初始化及逻辑控制等。
DSP与外部数据的交换,需要片选、数据线、地址线等时序信号按照规定的逻辑关系工作,即系统要在逻辑控制关系的协调下,形成工作时序,正常工作。
VC5416的数据空间、程序空间、I/O空间的寻址是由/DS、/PS、/IS、/MSTRB、/IOSTRB等控制信号完成的,将这些控制信号接至FPGA的输入端,通过FPGA完成译码功能,分别选通相应的外围器件。
系统利用可编程逻辑器件来完成电路的逻辑控制,有利于系统面积的减小,而且对低功耗设计及系统的可扩展性也有很大的帮助。
器件之间的接口,不论简单或复杂,都可以在一片器件内完成,这不但减少了电路规模,而且简化了调试、提高了硬件的可靠性。
3.3.2DSP与FPGA的连接关系及工作原理
DSP+FPGA系统的核心由DSP芯片和可重构器件FPGA组成。
另外还包括一些外围的辅助电路,如存储器、先进先出(FIF0)器件及FLASH、ROM等。
FPGA电路与DSP相连,利用DSP处理器强大的I/O功能实现系统内部的通信。
从DSP角度看,FPGA相当于它的宏功能协处理器。
外围电路辅助核心电路进行工作。
DSP和FPGA各自带有RAM,用于存放处理过程所需要的数据及中问结果FLASHROM中存储了DSP执行程序和FPGA的配置数据。
先进先出(FIFO)器件则用于实现信号处理中常用到的一些操作,如延迟线、顺序存储等。
DSP的外围电路主要是FLASH、ROM和SRAM,需要连接地址线、数据线和控制线。
它需要连接的连线主要包括DSP模式选择、时钟模式选择、选择外部时钟或本机晶振产生的时钟、JTAG接口和电源等。
FPGA外围电路主要是用于配置的PROM、FLASHROM、模数转换和先进先出(FIF0)器件等。
它需要连接的连线主要包括FPGA模式选择、全局时钟、选择外部时钟或本机晶振产生的时钟、
JTAG接口、输出/输入接口、测试口和电源等。
DSP与FPGA的连接包括
(1)数据线:
DSPD0~DSPDl5;
(2)地址线:
DSPA0~DSPAl5;(3)控制线:
B10、HCS、DSPPS、DSPDS、DSPIS、DSPMSTRB、DSPIOSTRB、DSPREADY、DSPRW;(4)中断线:
DSPINT0、DSPINT1、DSPINT2、
DSPINT3;(5)串口线:
BFSx0、BDX0、BCLKX0、BFSR0、BDR0、BCLKR0、BFSXl、BDXl、BCLKXl、BFSRl、BDRl、BCLKRl。
连接框
3.3.3DSP与FPGA的连接图
图6DSP与FPGA的连接图
表4TDA9965A管脚图
序号
管脚名称
管脚说明
2
A20-A22
并行地址总线
21
DS
存储器控制信号
20
PS
存储器控制信号
22
IS
存储器控制信号
24
MSTRB
存储器选通信号
25
IOSTRB
I/O选信号
23
R/W
读/写信号
27
XF
外部标志输出
3.4DSP外围电路设计
系统以TMS320VC5416为核心扩展了包括SRAM、FLASH、电源电路、复位电路、时钟电路和串口通信电路。
3.4.1DSP外部存储器的扩展
按存储器能否直接与DSP交换信息来区分,可分为外部存储器和内部存储器。
许多DSP都提供了具备片内ROM型的产品,片内ROM可以将定型的程序代码固化到DSP片内,从而减少了系统的体积、功耗、电磁辐射干扰,速度也有所提高,当大批量生产时可以降低成本。
但这种ROM几乎都是一次性写入的,而且需要出产厂家专门制作,因此对普通用户来说,这些ROM是无用的,所以DSP处理系统中除了DSP芯片以外,另外不可缺少的器件就是存储器。
一个独立系统必须有EPROM或Flash等非易性存储器来存放程序、初始化数据等。
当片内存储器不够时,有必要采用高速可读写的片外存储器静态RAM(SRAM),SRAM与DSP连接简单,能被DSP全速访问。
DSP提供了三个基本的地址空间选择的控制信号/PS、/DS、/IS,分别是程序区选通、数据区选通和I/0区选通。
这三个信号为低电平有效,都是在访问外部对应地址空间时驱动的。
在任何一个时刻,三个信号中只能有一个为低,此时为低的那个选通信号指定了要访问或正在访问的地址空间,从而保证了地址线和数据线的公用但不冲突。
DSP还提供了两个扩展的选通信号/MSTRB出和/IOSTRB,分别是存储器选通信号和I/O区选通信号。
/MSTRB信号在访问外部程序区和数据区时有效,而/IOSTRB只在访问外部I/O区时才有效。
这两个信号也是低有效,但与/PS等信号不同的是,它们为脉冲驱动信号,就是说在每次访问中都会产生一次驱动脉冲,而/PS等信号在连续的操作时将始终保持低电平状态。
这样,这两个扩展的选通信号,就为一些只能靠脉冲驱动选通的设备提供了直接方便的选通控制信号,扩展了DSP的应用范围。
(1)FLASH的扩展
脱机运行是本系统设计的最主要的特点,所以必须考虑到存放脱机程序这一问题。
在本系统中,外扩了一片AMD公司推出的Flash芯片AM29LV400B。
该芯片的容量是256K
l6bit,电压可调节(3.0V~3.6V),供电方式直接与3.3V的DSP接口相连,简化了系统的电源要求;CMOS工艺,具有100000次写入/擦写寿命;灵活的块结构支持整片擦除、块擦除。
最快的存取速度高达55ns。
AM29LIV400B芯片的数据线(DO-D15)、地址线(A0-A16)直接和DSP的数据线和低17位地址线相连。
复位信号来自整个系统复位电路的输出/RS,AM29LV400B的A17接FPGA的/FLASH_PAGE信号,用来控制对Flash的分页访问。
Flash的其它的控制信号/FLASH_CE、/FLASH_OE、/FLASH_WE由FPGA产生,READY信号来自DSP。
AM29LV400B的硬件连接示意图如图7示:
图7FLASH的硬件连接示意图
对AM29LV400B主要管脚说明如表5所示:
表5AM29LV400B管脚图
序号
管脚名称
管脚说明
1
2
3
4
5
6
7
8
9
10
11
A0–A17
DQ0–DQ14
BYTE
CE
OE
WE
RESET
RY/BY
VCC
VSS
NC
18根地址线
15根数据输入/输出线
选择8-bit或16-bit模式
芯片启动
输出使能
写使能
硬件复位引脚,低电平有效
就绪/忙输出
3.0电压只有单电源供电
地面设备
引脚内部未连接
(2)SRAM的扩展
因为接收到的图像数据大小约为400K
8bit,而VC5416内部数据空间只有64K字,远远不能满足,因此系统采用外扩SRAM存储接收到的图像数据,以及图像处理过程中的计算结果。
本系统选用1片lM
8bit的SRAM,型号IS61LVl0248,IS61LVl0248芯片是高速CMOS静态存储器,存取速度为12ns。
IS61LVl0248芯片的数据线(I/O0-I/O7)和地址线(A0-18)分别接DSP的数据线低8位和地址线低19位。
IS61LVl0248的控制信号/SRAM_CE、/SRAM_OE、/SRAM_WE和/SRAM_PAGE均由FPGA产生。
IS61LVl0248的硬件连接示意图如图8示:
图8SRAM连接示意图
对IS61LVl0248主要管脚说明如表6所示:
表6IS61LVl0248管脚图
序号
管脚名称
管脚说明
1
2
3
4
5
6
7
8
9
10
A0-A18