基于光流法和边缘检测的MOT

简介

Introduction

背景减除法

  • 在城市环境中,使用背景减除法生成的图像有许多问题。
    • 前景blob之间会互相融合,这是由于物体之间遮挡而产生的问题。
    • 背景减除法可能会使一个物体被拆分为多个blob。
    • 行人等阴影也会影响背景减除法的效果。
    • 背景减除法得到的blob往往要比物体的实际尺寸要大。

本文的思路

  • 背景减除法用于定位ROI,即当前帧的前景blob的位置;对于每个blob,计算其光流,根据计算得到的运动向量对不同区域的blob进行融合(位置相近,同时运动向量方向类似);使用canny边缘检测方法检测前景blob和背景图像的边缘,进而获得前景物体中的边,这可以消除在背景中存在的边缘,从而改善结果;最后对结果进行处理,分离那些离得比较近的物体,防止将多个物体识别为一个物体。

Method

Background image

  • 使用移动平均的方法获取背景图像

Merging foreground blobs

  • 对于图像中检测出的blob,如果2个blob同时满足以下3个条件,就可以对他们进行融合
    • $d(B_i , B_j) \le T_M$,其中$d(B_i , B_j)$是两个blob中任意像素的最小距离,$T_M$为距离阈值。满足这一条件的说明2个blob的距离很近。
    • 如果2个blob光流幅值的间隔的交集不是空集(具体公式看论文)。
    • $|ang(B_i) -ang(B_j)| \le A_T$,即2个blob的角度的差值小于一定的阈值,在这里$A_T$取的比较大($\pi/2$),从而可能会导致有些不该在一起的blob被融合到一起,作者提出的方法在之后的步骤中能较好地解决这个问题。
  • 2个blob进行融合,得到1个新的blob,它是同时包含之前2个blob的面积最小的blob。

    Flow separation

  • 对于一个blob中的所有光流向量进行kmeans聚类,设置$k=3$,因为有背景光流向量、前景光流向量以及与前景光流向量方向相反的向量。

Edge processing

  • 在这里使用到了第一步中计算得到的背景图像
  • 对背景图像和blob做边缘检测,使用xor方法,去除当前图像中的背景边缘干扰。这种方法也可以将本应该是2个物体却融合成一个物体的blob进行分离。

New final foreground image

  • 每个blob中的对应点都是前景像素(1),背景为0,对所有点进行xor操作,这会导致对于相交的2个blob,它们的相交部分会被视为背景图像。最后再使用膨胀操作,得到最终的跟踪结果。