APP下载

基于图像处理技术的前方车辆识别系统

2019-10-09

自动化与仪表 2019年9期
关键词:算子矩形灰度

张 伟

(临沂大学 自动化与电气工程学院,临沂276005)

无人驾驶汽车利用车载传感器感知车辆周围环境,并根据感知所获得的道路、车辆位置和障碍物信息,控制车辆的转向和速度,从而使车辆能够安全、可靠地在道路上行驶。 利用一些相关的传感器来获取汽车周围环境的信息,利用智能算法把周围环境中有用的信息保留下来, 然后经过计算,判断周围环境中是否有车辆, 确定该车与本车的距离。 由于车辆的种类有很多,每种都有不同的车型,另外车辆所处的位置和周围环境也会影响它的外观,这使得现有的光学传感器不能很好地应用到车辆检测的活动中。

目前,在车辆识别的研究中图像处理和模式识别技术得到了广泛的使用。 由于现在的车辆行驶得都特别快,周围环境瞬息万变,因此要求车辆检测的速度特别快,准确率足够高。 提高算法的运行速度与准确率成为人们的研究难点。 故在此提出了基于图像处理技术的前方车辆识别系统设计与实现。

1 图像预处理

1.1 图像滤波

图像滤波可分为线性和非线性两种。 均值滤波和高斯滤波是最常用的线性滤波,它们的主要问题是可能使图像边缘模糊。 而中值滤波作为常用的非线性滤波,可以较好地过滤脉冲噪声,其问题在于相应地使图像中的线条细节变得模糊不清。 在此选用了边缘保持滤波器。 这是以均值滤波器和中值滤波器作为基础进行创新和改造地新一代滤波器,不仅可以滤除噪声[1],还能使图像边缘比较清晰地呈现出来。

边缘保持滤波器的算法流程如下:以灰度图像的每个像素为基点,选取一个比较合适的邻域(如3×3),再计算邻域的灰度分布均匀度,该邻域是每个像素点的4 个角上的邻域;选取4 个子邻域中灰度分布均匀度最低的邻域的灰度平均值,作为这个像素点的灰度数值。 灰度均匀度为

1.2 边缘增强

边缘增强的作用是将检测目标的边缘信息凸显出来,使其更明显,便于更好地识别目标。 此外道路上阳光照射不均带来的结果,可以通过边缘增强的方式来削弱。 常使用的边缘增强算子有3 种:Robert 算子,Sobel 算子[2],Prewitt 算子。 在此采用Sobel 算子。

离散Sobel 算子定义为

梯度值大小为

灰度值变化最大的方向即所谓的梯度方向,计算公式为

就路面而言,一般它们的物理性质差不多,并且光照比较均匀, 相邻的几个像素点的灰度值也差不多相同,通过Sobel 算子的运算可以把它们之间的接近程度用数值表示出来,一般情况下该值是一个相对接近零的数值。 车辆的灰度值与道路的灰度值会有一定的不同,Sobel 算子的作用就是突出车辆与道路的交界处的像素差异, 相比较路面与路面之间的灰度差异而言,路面与车辆的灰度差异会更大,并且还能获得边界的梯度方向数据。Sobel 算子在水平和垂直方向的边缘增强作用[3]如图1 所示。

图1 Sobel 边缘增强的效果Fig.1 Effect of Sobel edge enhancement

2 前方车辆初步检测

前方车辆的前进方向与获得的图像平面几乎垂直,图像获取频率非常高,前方车辆在环境中的形状等特性十分突出,因此选用基于特征模型驱动的前方车辆检测方法。

目标在灰度图像中呈现的特征主要有形状特征、边界特征、对称特征、灰度特征、动态变化特征。所提出的模型驱动的前方车辆检测算法,就是根据上述内容选择有用的特征, 再根据许多先验知识,检测前方是否存在车辆。 检测过程可以分为3 个阶段:①目标的初步探测,建立目标感兴趣区AOI(area of interest);②在感兴趣区域中找出需要的车体;③在不间断的图像序列中,一直寻找车辆目标。前方车辆目标检测流程如图2 所示。

图2 前方车辆检测流程Fig.2 Flow chart of forward vehicle detection

一般车辆的后部有许多水平结构。 本车与前方车体有很大距离时能够很好地从图像中找到平直的边沿,从而找到前方车辆。 由于图像中汽车具有特征明显的平直边沿, 因此采用Sobel 算子对图片进行水平计算,使图片中的平直边沿更加地突出和明显。 在感兴趣区AOI 内,把每一行的像素灰度值相加再取其平均值[4],将图片中从下向上每一行都进行计算。 其计算公式为

式中:bL(r),bR(r)分别为感兴趣区内第r 行左侧、右侧的像素坐标;g(r,c)为像素(r,c)的灰度值;G(r)为AOI 中第r 行的灰度平均值。

一般情况下,灰度均值G(r)开始发生阶跃变化时所对应的地方是前方车体的底部,它多是由车体投下的影子形成的,即认为已探测到可能的目标车辆(如图3 所示)。

假如整帧图片都没有灰度值的阶跃变化,那么就假设本车所在的车道前方没有车体。

图3 前方车辆的初步探测Fig.3 Preliminary detection of forward vehicle

由图可见,以灰度均值突变行为界限,把车道分为上下两部分,下面部分为道路,而上面部分区域存在车体的可能性极大。 如果图像中数据比较繁杂,则该图像就拥有大量的数据。 越繁杂的图片,越有可能表明本车所在车道线的前方存在车辆。 信息量的大小在信息论中可以用熵来表达,即概率空间中每个事件xk的存在概率不同时的均匀度为

首先,以灰度均值发生阶跃变化的一行的下方第k 行作为矩形AOI 的下部边缘,计算该边缘与两侧车道线的交点。 然后以所得交点向上做垂直于下部边缘的引线,这样就可以得到一个矩形AOI[5]。 矩形的高度应根据先验知识来确定,要把车辆整体包裹到矩形AOI 中。

3 前方车辆目标的识别确认

3.1 对称性测度与对称轴求取

建立以对称轴xs为原点的、新的对称坐标系u,(-w/2)≤u≤(w/2),则u 与x 的坐标变换关系为

对于一定的xs和w,函数g(x)=g(xs+u)的偶函数、奇函数为

计算偶函数重要还是奇函数重要,需要用到能量函数的公式为

因此二者的能量函数为

经过计算,奇函数与偶函数的均值可得前一个均值为0,后一个均值为正数,这样就无法比较奇函数与偶函数谁更重要了。 在此,采用归一化处理的计算方法,将偶函数的均值化为0[6]:

相应地有

经过能量函数处理,可得的对称性测度公式为

定义测度s 的数值区间范围为(-1,1)。 当s=1时图像为彻底对称,当s=-1 时图像为彻底不对称,参数xs与参数w 的数值和测度s 的数值为对应关系。

在矩形AOI 内一行一行地计算对称性测度,并相加取其平均值,如图4 所示。 图中,下方曲线的最高峰值与上方图片车辆的对称轴在同一条垂直线上。

图4 寻找前方车辆的对称轴Fig.4 Finding the symmetrical axis of the vehicle ahead

3.2 车辆矩形轮廓

由图4 可见已经找到前方车辆的底部边缘和车辆的对称轴。 将把图像用垂直Sobel 算子变换,使图像的竖直边沿得到加强; 用垂直Hough 算子变换,计算垂直直线;对照着对称轴就可以获得前方车辆的垂直边缘。 根据先验知识设定一个车辆高宽比例,把图像用水平Hough 算子变换,就找到了前方车辆的上部边缘。 据此就能将车辆准确地用矩形框框出来,如图5 所示。

图5 前方车辆的矩形轮廓Fig.5 Rectangular contour of the vehicle ahead

4 结语

围绕基于图像处理技术,对前方车辆识别系统展开了论述。 通过图像预处理——图像滤波、边缘增强,使所需内容更清晰地呈现出来,并削弱不需要的信息;通过对前方车辆的检测,建立感兴趣区域,初步探测此区域,识别并确认目标车辆,找到所需要的目标车辆并准确地标记出来。 该系统经试验验证可行,可有效地识别出前方车辆;对车辆识别系统后续研究有一定的参考价值。

猜你喜欢

算子矩形灰度
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
采用改进导重法的拓扑结构灰度单元过滤技术
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
矩形面积的特殊求法
Domestication or Foreignization:A Cultural Choice
Arduino小车巡线程序的灰度阈值优化方案
化归矩形证直角
QK空间上的叠加算子
从矩形内一点说起
基于热区增强的分段线性变换提高室间隔缺损超声图像可懂度研究