图像采集与处理在智能车系统中的应用摘要:在智能车系统的设计中,路径识别的准确性直接影响到智能车能否正确地行驶。以摄像头作为路径识别的传感器能够有效地提高智能车的前瞻性,但原始图像的数据量相对单片机来说是比较庞大的。本文采用了硬件分频的方法对图像数据进行了有效的压缩,并对图像对进行二值化和去除噪声的预处理。大量的实验结果表明,该方案能够实现路径识别的正确性与快速性。关键词:智能车;图像采集;图像二值化;SAA7111系统概述智能小车系统主要由路径识别、速度采集、转向控制及车速控制等功能模块组成。路径识别功能采用CMOS摄像头,将其模拟量的视频信号进行视频解码后,经过二值化处理并转化为18×90pix的图像数据后送入MCU进行处理:转向控制采用基于模糊控制算法进行调节;而车速控制采用的是经典PID算法,通过对赛道不同形状的判断结果,设定不同的给定速度。该系统以50Hz的频率通过不断地采集实时路况信息和速度,实现对整个系统的闭环控制,如图1所示。智能小车的图像采集与存储图像采集模块设计CMOS摄像头正常供电后,便可输出原始图像的信号波形,它是PAL制式的模拟信号,包含行同步、行消隐、场同步、场消隐等信号如图2所示。但该形式的信号并不能被CPU直接使用,需要加入视频解码芯片如SAA7111,它的功能是将摄像头输出的模拟信号转化为数字信号,同时产生各种同步信号,CPU利用此同步信号将图像的数字信号存储在一个外部FIFO芯片AL422中,这便构成了基本的路径检测模块,如图3所示。图像数据存储SAA7111是飞利浦公司一款增强型视频输入处理器芯片,常应用在嵌入式视频应用的高度集成的电路中。工作时,模拟视频图像从SAA7111的4个输入端口中的一个端口输入,经模拟处理后,一路通过缓冲器从模拟输出端输出用于监视,另一路经A/D后产生数字色度信号、亮度信号,分别进行亮度信号处理、色度信号处理。亮度信号处理的结果,一路送到色度信号处理器进行综合处理,产生Y、U、V信号,经格式化后从VPO输出,输出的信号格式有422YUV或CCIR-656(8位)等;另一路进入同步分离器,经数字PLL,产生相应的行、场同步信号HS、VS及像素时钟信号LLc和LLC2等信号、这些信号是实现视频数据采集的依据。SAA7111输出的每帧图像大小可设为720×286,其数据量相对于单片机的处理速度来说是比较大的,较为理想的图像大小是18×45,压缩后的数据量仅为原始图像的0.394%。为了使图像的数据得到有效压缩,可以采用将图像的数字信号存入FIFO中,经过一定的分频处理后便能压缩图像大小,系统所采用的FIFO芯片是AL422B。为了实现图像数字信号的分频处理,可以分为两种实现方式,其一是软件分频,另一种是硬件分频。对于软件分频来说,系统不需要额外的分频电路,而是单片机利用解码芯片SAA7111输出的控制信号,对读时钟进行分频后再执行实际的读操作,这种方式的缺点是分频工作需要占用单片机资源,影响系统的实时隐时现性等性能:对于硬件分频来说,需要加入专门的分频处理电路,在不需要单片机控制的条件下实现图像的压缩,从而在根本上减少了单片机处理的数据量并缩短读取图像的时间。因此该系统采用了硬件分频的方式,具体信号的分频模式如图4所示,CKEF代表像素时钟,分频后得到的是AL422B的写时钟WCK,HREF代表行参考信号,分频后得到的信号作为AL422B的写允许信号。图像去噪与特征提取图像二值化图像二值化是数字图像处理技术中的一项基本技术、该系统中由于赛道是由黑色和白色两种颜色组成的。并且背景颜色基本也是白色的,系统的任务是识别出黑色的引跑线位置、由于其图像的干扰并不是很强,因此可以采用二值化的技术作为系统的图像预处理。经过二值化处理将原来白色的像素点用0表示,而黑色像素点用1表示。图像二值化技术的关键在于如何选取阈值通常来说,常用的方法包括有全局阈值法,局部阈值法及动态阈值法。由于赛道现场光线是比较均匀,而且赛道周围的底色基本上都是白色的,所以在该系统设计中采用全局阈值法,可达到算法简单、执行效率高的效果。二值化阀值选取在对赛道环境的分析中、我们可以发现黑线部分的亮度是相对比较固定的,其波动的范围非常小,小于20(亮度值最大为25s),而白色底板的亮度值变化相对较大一些,但仍能保证其与黑线的亮度值有较大的梯度。因此,可以采用直方图统计法来对其阀值进行自动设定,具体方法如下。首先存储一幅原始图像的所有数据,然后对整幅图像的第一像素点进行统计,最终把第一个亮度值所对应的像素点个数统计出来,结果将出现一个双波峰形图,如图5所示。这将能较直接地比较出亮度值集中的区域,以两个波峰的中心位置所在的中点值作为该赛道的二值化阀值。该算法计算的精度较高,能够找到理想的一个阀值点,虽然它执行的时间较长,但是这只是在赛车未起跑前进行的初始化运算,对赛车起跑后的速度完全没有影响,因此该方案是可以采用的。图像去噪在车体运动过程中,图像经过二值化后并不会出现太大的噪声,只是在局部出现了一小部分的椒盐噪声,其典型图像如图6所示。在该系统设计中,图像处理的目的是准确地找到黑线的中心位置。由于图像中噪声的面积非常小,并且一般出现在离黑线较远的地方,处理的方法也比较多,可采用中心坐标递推法。由于该赛道的黑线细分为每一行的坐标后,相邻两行之间的中心坐标值之差是比较小的,经实验测试得其差一般不会超过5,具有很好的递推性。因此可以利用前一行的中心坐标往下递推来求解,具体步骤如下。(1)由于摄像头近处的黑线拍摄效果较好,不仅黑线的宽度比较大,而且基本不会出现任何噪声,用其作为递推的基准点是非常好的选择。由于这是整幅图像的基准点,因此对其准确性要求比较高,在计算第一行的中心坐标值时采用黑线连续记数法,即只有连续读取到3个或以上“1”时才算有效的黑线,并记录黑线的块数,否则将其清零,最终再查看该行黑线块数是否为1,若不为1则改用第二行图像数据作判断,如此递增直到找到唯一的黑线为止。(2)以第一次找到的中心坐标为基准,向上一行搜索分布在其左右两侧各10个点这个区间内的黑线位置,然后同样利用重心法求出在该区间内的黑点中心坐标值,并把它作为这一行的中心坐标基准点。(3)按照步骤(2)逐步往上一行递推,如果遇到全0的行则停止黑线的搜索。图6所示的图像经过该算法处理后得到的图像如图7所示、可见此方法能够有效地消除图像的噪声。