一种非均匀行采集的智能车路径识别算法
引言
利用机器视觉,通过识别路面条带状引导线实现自主导航是现阶段智能车常用的导航方法[1]。该方法不仅具有视觉导航信息量丰富,智能化程度高的优点,而且引导线的加入大大降低了图像处理的数据量和技术成本,提高了智能车控制的实时性和现实应用的可行性。当前研究的热点问题是路径识别的准确性和实时性。
本文基于黑白摄像头和Freescale16位单片机设计了智能车路径识别系统,系统框图如图1所示。
智能车通过识别白色地板上的黑色引导线实现路径的跟踪。根据摄像头按行采集的特性,首先对单行数据进行横向滤波、检测边缘、提取路径,整场图像采集完后再对提取的路径信息进行纵向滤波,对特殊路况进行处理,最终实现了对路径的精确识别。实验结果表明,文中所提出的路径识别算法抗干扰性强、原理简单、计算量小,能满足路径识别的准确性和智能车控制的实时性要求。
非均匀行图像采集
摄像头在拍摄图像的时候,最理想的位置是垂直于拍摄平面,这样才能保证图像按原来的几何比例重现。然而受到智能车车体结构的限制和车体控制需摄像头有一定预瞄距离的要求[2],摄像头一般与地平面成一定角度安装。安装角度的存在会造成一定的成像畸变,图像的畸变会产生一系列问题:垂直线被拍摄成斜线导致斜率计算错误,远处的弯道被压缩导致曲率计算错误等等。在这种情况下,直接利用目标引导线在图像中的相对位置制定控制策略,会造成较大的误差,甚至使小车严重偏离引导线。针对此问题,本文在分析摄像头成像模型的基础上,提出了一种非均匀行采集的图像畸变矫正算法。图2为摄像头成像示意图[3]。
图中,梯形区域ABCD为摄像头视野范围,Y轴方向为智能车前进方向。由图可得图像坐标系与世界坐标系的坐标转换关系为:
式中,N为采集图像的总行数;α为摄像头张角,θ为摄像头俯仰角,f为摄像头的焦距,h为摄像头安装高度。
由式(2)得到图像行数v与世界坐标y的关系曲线如图3所示。图像行数与其所反映的实际距离之间是非线性关系,距离越远,图像中两行间的实际距离越大,即摄像头对远处的路平面进行了纵向的压缩,而且距离越远,压缩越严重。
为了消除这种畸变,令单片机非均匀地采集摄像头输出图像中的行,在距离较远处采集的行数较密,近处采集的行数较少。这种规则通过采集行数的非线性弥补了图像行数与实际距离的非线性,实现了等空间间距的均匀采样,从而保证了智能车控制器采集得到的图像在纵向上与实际路平面间相对无畸变或畸变较小。
经非均匀行采集进行纵向畸变矫正后,图像坐标系与世界坐标系之间的坐标变换公式为:
其中d为世界坐标系中两采样行的间隔。
由于所用单片机的A/D转换能力有限,且本系统的目的只在于提取出黑线中心,最终方案采集40×60分辨率的图像。根据摄像头的参数和公式(3)计算得到本系统非均匀行采集的行数分布如表1所示。
图像处理
图像处理流程
该摄像头的场扫描频率为50Hz,为了提高智能车控制的实时性,本系统选择控制周期为20ms,即在一个图像场周期内必须完成图像采集、图像处理、路径识别和车体控制等一系列工作。这就需要合理规划处理流程,同时要求各种算法简练有效。本系统的程序流程如图4所示,采集完一行图像后,利用到下一采集行的空余时间处理该行数据,提取路径。待整场图像采集完毕,利用场消隐的时间对整场路径进行纵向滤波,判断路况,并对舵机和电机进行控制。
单行数据处理
横向滤波
由于受到道路环境和硬件环境,如:光电转换过程中光敏元件灵敏度的不均匀性、数字化过程的量化噪声等的影响,单片机采集的图像信息中会存在干扰,在路径识别过程中,有些干扰可能会被误认为是引导线。因此,在单行数据处理之前,首先对图像信息进行横向滤波。
中值滤波是一种典型的非线性滤波方式,其主要功能是让与周围像素灰度值的差比较大的像素改取与周围像素值接近的值,中值滤波对孤立的噪声点(特别是椒盐噪声)的消除能力较强,同时能够有效保护图像的边缘[4]。
本文选用1×3的窗口对单行数据进行中值滤波,将某个像素点和相邻两个像素点的像素值按大小顺序排列,取出中间值作为该点的像素值。这种方法能够有效地抑制随机噪声,并且计算量相比去噪常用的3×3模板要小得多,能够有效地提高路径识别的实时性[5]。
阈值分割
阈值分割的基本思想是确定一个阈值,然后把每个像素点的像素值和阈值相比较,根据比较结果把该像素划分为目标或背景,图像分割效果的好坏直接取决于阈值的选龋由于光线和噪声的干扰,若用一个固定阈值进行分割,会产生一定的误差。
- 基于16位单片机MC9S12DG128的智能车控制系统设计与实现(11-11)
- 基于9S12DG128的智能车控制系统设计与实现(08-27)
- 数字CMOS摄像头在智能车中的应用(08-29)
- 基于电磁场检测的寻线智能车设计(09-22)
- 基于载流导线循迹智能车的数学模型(10-12)
- 飞思卡尔智能车舵机和测速的控制设计与实现(01-15)