优化帧间差分法
两帧差分法虽然能够准确定位道路行驶车辆,但是描框范围容易受阴影,物体干扰等因素,使定位范围不精确。
三帧差分法
三帧差分法时在两帧差分法上的优化改进,是利用视频流序列连续三帧,让相邻连续两帧之间做差分运算,并将两个差分结果做二值化处理,最后再将两个二值化结果做逻辑与运算,来得到最终的目标区域。相邻两帧差分结果如下公式:
如公式所示,f_i (x,y),f_(i-1) (x,y),f_(i+1) (x,y)表示相邻三帧,D_((i-1,i)) (x,y),D_((i,i+1)) (x,y)表示相邻帧之间的差分结果。
设定阈值T,将差分结果做二值化处理如下公式:
如公式所示,B_((i-1,i)) (x,y)是第i-1帧和第i帧的二值化结果,B_((i,i+1)) (x,y)是第i+1帧和第i帧的二值化结果。
最后通过形态学与逻辑处理得到最终目标区域,公式如下:
三帧差分法原理框图如下:
针对两帧差分法不能提取运动目标完整的轮廓,且在实验室提供的黑烟车数据集中,疑似烟区一般集中在车尾部并跟随车辆一起运动,容易导致车辆整体目标区域过大,且当两帧之差不能显示也容易造成检测目标产生“空洞”。传统的两帧差分法在复杂场景下检测到的运动目标边缘信息不完整,同时内部存在许多检测不到的空洞点,针对目标信息不完整的基础上采用三帧差分法代替两帧差分法,结合当前帧的前后两帧来进行检测运动目标B_i (x,y),有效的避免了两帧差分法的缺点。并用Canny边缘检测的方法检测出当前二值化后的目标轮廓C_i (x,y),最后做或运算就可以得到运动车辆的完整轮廓,准确检测出行驶中的车辆。
如公式得到改进后的三帧差分图像。
改进的三帧差分法
原理框图,如图所示:
改进三帧差分算法具体步骤如下:
(1)获取视频序列得的连续三帧图像f_i (x,y),f_(i-1) (x,y),f_((i+1)) (x,y),并作相应的预处理。
(2)分别把f_i (x,y)和f_(i-1) (x,y);f_i (x,y)和f_((i+1)) (x,y)做差分处理,并作二值化处理。
(3)把上一步两个差分结果进行形态学与运算,得到一个运动目标的差分图。
(4)把f_i (x,y)和f_((i+1)) (x,y)这两帧图像进行Canny边缘检测,得到运动目标的边缘检测图。
(5)将(3)、(4)步骤得到目标图像再进行形态学或运算,即可得到最终目标图像B(x,y)。
实验结果
原图输入:
三帧差分法:
Canny检测:
与运算:
形态学处理:
描框: