一种非均匀行采集的智能车路径识别算法

时间:2010-11-13来源:电子产品世界

  单行数据处理

  横向滤波

  由于受到道路环境和硬件环境,如:光电转换过程中光敏元件灵敏度的不均匀性、数字化过程的量化噪声等的影响,单片机采集的图像信息中会存在干扰,在路径识别过程中,有些干扰可能会被误认为是引导线。因此,在单行数据处理之前,首先对图像信息进行横向滤波。

  中值滤波是一种典型的非线性滤波方式,其主要功能是让与周围像素灰度值的差比较大的像素改取与周围像素值接近的值,中值滤波对孤立的噪声点(特别是椒盐噪声)的消除能力较强,同时能够有效保护图像的边缘[4]。

  本文选用1×3的窗口对单行数据进行中值滤波,将某个像素点和相邻两个像素点的像素值按大小顺序排列,取出中间值作为该点的像素值。这种方法能够有效地抑制随机噪声,并且计算量相比去噪常用的3×3模板要小得多,能够有效地提高路径识别的实时性[5]。

  阈值分割

  阈值分割的基本思想是确定一个阈值,然后把每个像素点的像素值和阈值相比较,根据比较结果把该像素划分为目标或背景,图像分割效果的好坏直接取决于阈值的选取。由于光线和噪声的干扰,若用一个固定阈值进行分割,会产生一定的误差。为尽可能减小误分割的概率,增强智能车的抗光线变化干扰能力,本文采用动态阈值对每一行图像进行分割,根据上一行的图像数据确定下一行的阈值,阈值T的确定方法为[6]:

 

  式中,bm和tm分别为背景和目标区域平均灰度值。

  这里先取图像灰度范围的中值作为第一行的初始值,然后迭代求得各行的值。具体迭代步骤如下:

  (1) 求出第一行图像中的最大灰度值maxZ和最小灰度值minZ;

  (2) 求出第一行的初始阈值T0=(maxZ+minZ)/2,给定迭代时新旧阈值的允许接近程度ε=5;

  (3) 求出第一行图像中灰度值Z≥T1的所有像素点的数量bn、累加和bS以及灰度值Z< T1的所有像素点的数量tn、累积和tS;

  (4) 计算确定第一行阈值

  (5) 转至步骤(3),求出第i行阈值Ti,如果则Ti为最终阈值,否则,Ti =Ti-1。

  边缘检测

  边缘是目标与背景相邻区域之间灰度值不连续的结果,边缘检测是所有基于边界的图像分割的第一步。本系统的引导线与地板的色差较大,反映在数据中就是灰度值差别较大,引导线与地板间的边沿较明显,如图5所示,因此对边缘进行检测较容易且可靠性高。

  边缘检测的思路是:确定一阈值,对采集的单行图像数据逐点进行扫描,若灰度值小于阈值,则判断该点为黑点,即检测到引导线左边缘,继续扫描,若灰度值大于给定阈值,则该点为白点,将该点作为引导线右边缘。右边缘和左边缘的横坐标之差为引导线的宽度,其平均值即为引导线的中心横坐标值。

  由于图像数据中可能存在着未被滤出的噪声点,通过以上算法不可避免地会将一些噪声点识别为引导线。从而可能在一行数据中存在多段黑线,根据路径的连续性特性对路径进行提取可提高引导线识别的可靠性。提取路径的过程如下。

 

  (1)如果该行中没有检测到黑线,则该行为纯白或纯黑行,将路径坐标置为零,同时将无效行标志置位。若该行为一场的第一行,则将无效场标志置位。

  (2)如果检测到一段黑线,若黑线宽度大于设定的先验值,则将该黑线段的中心坐标作为该行的路径中心坐标,否则将该行设为无效行。

  (3)如果检测到两段黑线,若该行为一场的第一行,则该行的路径坐标不变,即保持上一场该行的路径坐标;否则,分别判断两段黑线与上一行路径坐标的距离,取距上行较近的黑线中心为该行路径坐标。

  (4)如果检测到更多黑线,则该行无效,将路径坐标置为零,同时将无效行标志置位。

  整场数据处理

  道路图像经过单行路径提取以后,横向的单点噪声已经消除,但是对于部分宽度较大的干扰却无法滤除,这样提取出来的路径在某些行就发生了跳变。为了得到准确的引导线参数,为后续的控制模块提供精确的导航参数,需要在整场图像采集完毕之后,对提取的路径进行纵向的平滑。

1 2 3

关键词: 视觉导航 图像处理 路径识别 201011

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版