式中:δ为一个较小的阈值,模板图像M(x,y)中的为1的点表示车辆图像区域,为0的点表示背景图像区域。单纯地利用灰度值差异来求取的车辆信息并不完整:若阈值选取过大,会使得车辆某些部分被认为是背景,使得车辆图像残缺,获得车辆的信息不准确,甚至是阴影部分的信息还没有消除,而车辆部分的信息却已经大部分消除(见图3);若阈值选取过小,由于光照的原因形成的阴影会和车辆连接在一起,变成车辆的一部分(见图4),但是这种方法可以很好地保留车辆的完整信息,只要可以把阴影部分的干扰消除,就可以达到很好的效果。因此,精确地去掉阴影在车辆信息的提取过程中起着关键的作用。
2 阴影检测及消除
运动车辆和路面物体在光照作用下不可避免地产生阴影。静止物的阴影可通过背景差分去除,但由于镜头的抖动、静止物体的再活动等,阴影部分不可能完全去除而产生噪声(以下简称为外阴影);目标车辆自身阴影及目标之间的投影(以下简称为内阴影)。本文采用基于粗糙集阴影边缘点分类的方法,较好地实现了阴影边缘的检测。
2.1 阴影边缘点的分类
假设阴影区域和非阴影区域存在着一个过渡带,即认为边缘是有宽度的。
(1)外阴影与内阴影的灰度相差较大通过大量图像发现:外阴影的平均灰度要比内阴影的平均灰度低,在同一浅色背景下表现为对比度大些。此时对求得的集合A1,A2(A1表示剔除噪声后,所有像素中梯度大的像素组成的集合;A2表示剔除噪声后,所有像素的最大邻域差值大的像素组成的集合。A1,A2即为需要的像素集合)。分别求K(x,y),H(x,y),K(x,y)为像素点的梯度,H(x,y)为邻域函数。在A1中,A<K(x,y)<B的值对应的像素点集为集合N。K(x,y)≥B的值对应的像素点集为M集合;在A2中,合理选取参数得C<H(x,y)<D对应的点集合为R,H(x,y)≥D对应的点集合为S,使得M与R,N与S尽可能相等。由此,可以初步得出N(=S)为外阴影边缘点,M(=R)为内阴影边缘点。
(2)外阴影与内阴影的灰度相差不大这样求得的K(x,y)或H(x,y)不能分为两个较明显的区间,此时仅求H(x,y)即可。
2.2 部分假边缘点的处理
如果外阴影和内阴影分布不均匀,即外阴影内部某些点的K(x,y),H(x,y)恰好属于内阴影边缘点的,会产生误判。此时应在内阴影的M(R)中去掉这些点,方法如下:对内阴影边缘点集M(R)逐一进行统计,使该点向四周移动,若都能碰到属于外阴影边缘高梯度点(梯度大于或等于B的点)或高最大邻域灰度差的点(最大邻域灰度差大于或等于D的点),则该点是外阴影的内部点,将其从内阴影边缘点集M(R)中去掉。这样,剩下的点均为真正的边缘点了。
2.3 边缘细化和连续
因假设边缘是有宽度的,为更精确地检测边缘,需对边缘进行细化。具体方法是如果两个边缘点的梯度方向相同,且相互位于法线上,保留最大邻域差。这样可得到较高定位精度的细化边缘离散点。
为将离散点连成线,需建立三叉树,依次检查M和N中每个像素点,根据不同方向,判断前趋点和后继点。对每一个边缘点确定了前趋点和后继点之后,即可从边线的起点出发,依次得到直线上的每个像素点,从而获得连续的阴影边缘,进而消除阴影。
3 结 语
近年来,随着计算机、图像处理、人工智能、模式识别、视频传输等技术的不断发展,基于视频的车辆检测技术得到了越来越广泛的应用。
本文在最常见的背景差分法的基础上,通过选取小阈值,获得含阴影部分的前景目标,利用基于粗糙集分类方法求得阴影边缘点,从而消除阴影。在此过程中,使用了一种云除假边缘点的方法,利用最大邻域灰度差及边缘梯度,既得到了真正的边缘点又去除了噪声,然后对边缘点进行了细化和连续,得到了单宽度的阴影边缘。该算法简单,易操作,精确度高,可用于实际应用中。