0 引 言
基于视频的车辆检测技术是在传统电视监视系统基础上发展起来的,以车辆检测技术、摄像机和计算机图像处理技术为基础,来大范围地对车辆施行检测和识别的新兴技术。与传统检测技术相比,它具有处理速度快、安装维护便捷且费用低、监视范围广、可获得各种交通参数等诸多优点。随着图像处理技术和微电子技术的发展,视频检测技术在交通运输系统中的发展潜力巨大。
在典型的交通自动监控系统中,用一个静态的摄像机实时监控固定区域,通过对车辆目标的提取、分类和跟踪等操作,进一步提取交通参数。所以,从视频流中实时分割车辆目标是交通自动监控系统的一个基本环节。提取车辆目标的流程主要包含运用算法将前景车辆从拍摄的图像中提取出来,并对其进行阴影检测,去除阴影。该文依照此流程选取合适的前景提取算法——背景差分法,实时进行背景更新,对前景中产生的阴影进行分析,并提出合理有效的阴影去除方法。
l 基于视频的车辆检测
背景差分法是车辆运动检测系统中的一种常用算法。该算法通过实时维护一个背景模型,将当前帧消除背景影响即可获得前景图像。而路面、树木、建筑物等一直处于静止状态,因此被当作背景通过差分被去除。经过处理后的图像理论上只包括运动目标,直接进行二值化,提取目标即可,但实际上这时由于摄像机的抖动以及路面光线变化、风吹草动、车辆目标本身的阴影和其他因素对检测结果的影响是很大的,往往造成很大的误差,甚至错误。在提取前景后针对不同的阴影,去除之以获得真实的车辆目标。
1.1 背景建模
将开始的n帧图像用于背景建模(采用n=200)。对相邻一定间隔的两帧图像作差值,获得差值图像A。即有:
式中:N为A相应位置的差值,得到二值化的帧差掩模图像N;“1”为对应变化的像素;“O”为对应没有变化的像素。
在帧差掩模序列中,对于长时间没有变化的像素点,即帧差掩模图像序列在一段时间内该像素点都保持为“O”,则认为此像素点对应于背景像素,将原始图像中该点像素值拷贝到理想背景图像中,同时设置此理想背景像素点的状态为“背景像素”。此过程完成后,可能有的理想背景像素点的状态还未转换成“背景像素”,即未被重建,则在后续过程中继续执行上述步骤,对已重建
的背景像素点,转而进行背景更新。
1.2 背景更新
在获得背景图像后,随着时间的推移,场景内会有很多变化,其中比较明显的是光照亮度的变化和背景物体的移动,这就需要对背景图像不断地进行更新。文中采用一种当前图像和背景图像加权的方式进行更新。更新方法为:记当前图像中像素值为I(x,y),背景图像中像素值为I*(x,y),对应的帧差掩模图像N(x,y)=0,则I(x,y)为背景像素,I(x,y)与I*(x,y)按照式(2)进行加权:
式中:α为更新系数,关系着更新速度,而更新速度要求背景能够捕捉亮度的变化,同时又不能让瞬间的变化长时间存在。假设取α=O.1,当图像亮度大面积变化时,整个背景像素的均值将发生较大幅度的改变,所以当均值改变大于一定范围时,为了能够更快地更新背景,取α=0.2。
若|I(x,y)一I*(x,y)|大于阈值或N(x,y)=1,则I(x,y)为前景像素;如果I(x,y)连续长时间作为前景像素,则需要重建此像素点的背景,重新按照背景重建步骤恢复背景。
1.3 运动目标提取在获得重建的背景之后,可以根据当前图像和背景图像的差值求得运动目标。为了减少计算量和干扰,可以预先设定感兴趣区域,以后的处理只是在感兴趣区域进行。设视频序列图像为I(x,y),当前的背景图像为I*(x,y),背景差图像D(x,y)=||I(x,y)一I*(x,y)||。利用阈值来计算车辆图像像素模板图像:
式中:δ为一个较小的阈值,模板图像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 结 语
近年来,随着计算机、图像处理、人工智能、模式识别、视频传输等技术的不断发展,基于视频的车辆检测技术得到了越来越广泛的应用。
本文在最常见的背景差分法的基础上,通过选取小阈值,获得含阴影部分的前景目标,利用基于粗糙集分类方法求得阴影边缘点,从而消除阴影。在此过程中,使用了一种云除假边缘点的方法,利用最大邻域灰度差及边缘梯度,既得到了真正的边缘点又去除了噪声,然后对边缘点进行了细化和连续,得到了单宽度的阴影边缘。该算法简单,易操作,精确度高,可用于实际应用中。