图像采集与处理在智能车系统中的应用

分享到:

        系统概述

  智能小车系统主要由路径识别、速度采集、转向控制及车速控制等功能模块组成。路径识别功能采用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所示,CREF代表像素时钟,分频后得到的是AL422B的写时钟WCK,HREF代表行参考信号,分频后得到的信号作为AL422B的写允许信号。

 

  图像去噪与特征提取

  图像二值化

  图像二值化是数字图像处理技术中的一项基本技术,该系统中由于赛道是由黑色和白色两种颜色组成的,并且背景颜色基本也是白色的,系统的任务是识别出黑色的引跑线位置,由于其图像的干扰并不是很强,因此可以采用二值化的技术作为系统的图像预处理。经过二值化处理将原来白色的像素点用0表示,而黑色像素点用1表示。图像二值化技术的关键在于如何选取阈值通常来说,常用的方法包括有全局阈值法,局部阈值法及动态阈值法。由于赛道现场光线是比较均匀,而且赛道周围的底色基本上都是白色的,所以在该系统设计中采用全局阈值法,可达到算法简单,执行效率高的效果。

  二值化阀值选取

  在对赛道环境的分析中,我们可以发现黑线部分的亮度是相对比较固定的,其波动的范围非常小,小于20(亮度值最大为255),而白色底板的亮度值变化相对较大一些,但仍能保证其与黑线的亮度值有较大的梯度。因此,可以采用直方图统计法来对其阀值进行自动设定,具体方法如下。

       首先存储一幅原始图像的所有数据,然后对整幅图像的第一像素点进行统计,最终把第个亮度值所对应的像素点个数统计出来,结果将出现一个双波峰形图,如图5所示。这将能较直接地比较出亮度值集中的区域,以两个波峰的中心位置所在的中点值作为该赛道的二值化阀值。该算法计算的精度较高,能够找到理想的一个阀值点,虽然它执行的时间较长,但是这只是在赛车未起跑前进行的初始化运算,对赛车起跑后的速度完全没有影响,因此该方案是可以采用的。

 

  图像去噪

  在车体运动过程中,图像经过二值化后并不会出现太大的噪声,只是在局部出现了一小部分的椒盐噪声,其典型图像如图6所示。在该系统设计中,图像处理的目的是准确地找到黑线的中心位置。由于图像中噪声的面积非常小,并且一般出现在离黑线较远的地方,处理的方法也比较多,可采用中心坐标递推法。


由于该赛道的黑线细分为每一行的坐标后,相邻两行之间的中心坐标值之差是比较小的,经实验测试得其差一般不会超过5,具有很好的递推性。因此可以利用前一行的中心坐标往下递推来求解,具体步骤如下。

继续阅读
鸿蒙“上车” ,华为汽车将要产品落地?

在华为看来,手机终端上所积累的技术和经验可以提升智能汽车用户体验。从一些车企的反馈来看,这个能力的合作优先级也高于其他能力。

智能汽车想要更好发展,核心技术需要有所突破

近日,2019中国汽车产业发展(泰达)国际论坛在天津举行,有关部委领导围绕未来汽车发展方向、核心技术突围等关键话题发表了相关看法。

第十届“飞思卡尔”杯智能汽车大赛论文+线性CCD方案

文中介绍了本次我们的智能车控制系统软硬件结构和开发流程,整个智能车涉及车模机械调整,传感器选择,信号处理电路设计,控制算法优化等许多方面。

15分钟智能小车机器人一学即会

本课程是创客空间推出的智能小车机器人教程,主要讲解了遥控小车机器人躯干的组装、大脑程序和电源的配置、机器人大脑的零基础编程和灯光传感器的应用。

智能车调试思路

分析做车中遇到的问题及解决方法。