灰度值 (2.3.1)
根据公式(2.3.1)可以计算出当前像素对应的灰度值,将其作为图像中彩色像素对应的灰度值。在运动车辆的动态图像序列中,假设第帧的灰度图像分别为,计算相邻两帧的图像的绝对值灰度差:
(2.3.2)
(2.3.3)
对绝对值灰度图像、进行逻辑“与”运算,得到灰度图像:
& (2.3.4)
再对当前的灰度图像使用图像分割算法(公式2.3.5)进行二值化,即认为当差分图像中某一像素的差大于设定的阈值时,则认为该像素是前景像素(检测到的目标区域),反之认为是背景像素:
(2.3.5)
其中是二值化设定的阈值。
由上分析可知通过定义连续三帧序列图像前后灰度帧差重合的部分,作为中间帧运动对象的边缘,这样可有效解决运动对象前后帧的遮挡问题。但对检测出的物体在两帧中的位置信息不够准确,容易把当前帧显露出来(前帧中被目标覆盖)的背景区域(即显露背景)也检测出来,造成检测的不准确性,以及当目标部分区域与背景有相同或相似的灰度值时导致运动目标的部分区域无法检测时。故采用三帧差分法仍然不能得到运动目标的完整轮廓。
2.4改进算法
为克服复杂背景条件下帧序列中目标与背景间存在的低对比度以及帧间目标重叠所导致运动体某些部分无法分割的问题,依据上述三帧差法提取运动目标的基本思想,对上述算法作了如下改进,以期获得完整的运动目标区域。图1为改进的基于图像融合的五帧时间差分算法流程。
首先利用多帧图像序列来融合运动信息,如图(1)中帧中取中间帧对分别计算帧间不同位移量的中间帧中的运动对象边缘对得到的结果进行或操作,这样就将5帧中相对于中间帧的运动信息都集中在中间帧,获得了比较完整的运动目标信息。(实验结果表明,采用5帧图像即可获得较好的结果)。但是,由于采用多帧序列融合的方法,噪声也会因此而增加。为了减少噪声的干扰,本文以多帧序列融合后得到的变化区域作为参考区域,取该区域中各行的平均灰度加上一定的容限作为该行的检测门限,再对中间帧图像的相应区域进行第二次扫描检测,将二次扫描后的变化信息与相融合,由此提取出完整的运动目标。
图2是视频序列运动目标检测图示。图(a)是用数码相机拍摄的学校附近的车辆原图。(b)、(c)是根据两帧时间差分法所检测的运动区域。图(d)三帧时间差分法提取的运动轮廓。图(e)是采用本文改进算法获得的结果。由图可见,相对于三帧差法,改进算法可以获得更加完整的运动目标轮廓。
(a)原图 (b)前两帧运动区域检测 (c)前两帧运动区域检测
(d)运动目标提取 (e)改进算法后的提取结果
3运动物体的跟踪
3.1运动物体的跟踪
针对车辆跟踪本身所具有的特点,本文采用区域跟踪的方法实现对车辆的跟踪,并在区域跟踪算法中选用了二个参数实现匹配。该方法能够在物体重叠和遮挡的情况下准确地定位出运动物体在图像中的位置。很好地实现了物体的跟踪,也满足了实时性处理的要求。
图像中标号为的车辆的大小用车辆面积来描述,每一辆车都对应一个外截矩形框用描述。可用一条对角线的两端点的坐标来表示:
, 。 (3.1.1)
相邻两帧中标号为的车辆与标号为的车辆面积大小差为:
其中为图像中车辆的标号。 (3.1.2)
设标号为的车辆的质心为: (3.1.3)
这里是图像中标号为的车辆拥有象素点个数,是象素点的横坐标,是象素点的纵坐标。
相邻两帧中标号为的车辆与标号为的车辆质心间的距离为:
(3.1.4)
3.2 跟踪步骤