Urban tracker 目标跟踪算法

目标跟踪

代码&数据

Urban Tracker 算法

  • 算法效果
    算法效果
  • 算法流程
    算法流程

粒子团抽取(blob extraction)

  1. 背景抽取(background subtraction):在论文中,作者使用的是ViBe算法,但由于ViBe算法申请了专利,因此,建议参考ChangeDetection上的其它算法进行背景抽取。
  2. 预处理:高斯5x5噪声过滤,并对分割得到的前景Mask进行形态学填充,blob面积小于 Tm 则被当成噪声过滤。
  3. 前景检测算法:由于在红绿灯处车辆等会突然停止或者启动,因此作者修改了ViBe算法从而处理这种间歇性运动。即对相邻的两帧,统计blob内部灰度变化大于4的点,设其数目为 NPc ,如果 NPc/area(blob)<0.1 ,则将blob视为背景并进行更新,从而消除’Ghost blob’(http://blog.csdn.net/stellar0/article/details/8777283)。
  4. 连通块分析:对得到前景进行连通块分析,得到多个blob的大小和位置
  5. 特征点:作者使用FREAK描述子计算特征点(http://blog.csdn.net/yang_xian521/article/details/7732835)
    这里写图片描述
  6. blob模型(blob model):它由blob大小,位置和特征点组成,而跟踪模型(track model)由一系列blob模型组成。

    粒子团跟踪 (blob tracking)

  7. 粒子团跟踪事件:粒子团进入场景,粒子团离开场景,粒子团跟踪丢失,多个粒子团混合,粒子团由一个分成多个小粒子团。

  8. 粒子团匹配:计算相邻两帧中两个粒子团 Bt1,Bt 之间的特征点的海明距离,再进行比例测试和对称性测试。
  9. 比例测试:得到特征点最优匹配距离和次优匹配距离,检测其比例,如果比例接近1,则放弃这个匹配。(考虑区分性,匹配独一无二才好)。
  10. 对称性测试:如果特征点的匹配是对称的,即A的匹配为B,B的匹配也为A。则认为A与B是好匹配,否则放弃这个匹配。
  11. 特征点数目要求:当两个粒子团中有多个特征点(多于4)时,则认为粒子团匹配成功。
  12. 重叠检测:当粒子团重叠时,可以得到重叠的关系。
  13. 粒子团关系:
    1. 1->1 粒子团唯一地匹配。(当前帧中的粒子团与上一帧中的粒子团唯一地匹配)
    2. 1->N 粒子团匹配多个粒子团
    3. N->1 多个粒子团重叠
    4. 0->1 没有得到匹配的粒子团(当前帧中的粒子团,没有得到匹配)
    5. 1->0 丢失的粒子团(上一帧的粒子团,在当前帧中没有出现)

目标跟踪 (object tracking)

  1. 跟踪状态:
    跟踪状态
  2. 跟踪模型更新:
    1. 1->1 保持正常状态。
    2. 1->0 当粒子团丢失状态持续 Nr 次时,状态将被删除。
    3. 0->1 如果blob模型与丢失的状态相似(有4个特征点匹配),那么丢失状态将更新的正常状态。否则,新建一个假设状态,如果在接下来3帧中没有检测到该目标,则直接删除. 反之,如果连接3帧检测到该目标,则置为正常状态。
    4. N->1 如果多个粒子团相互交叉,则新建一个状态群,并对状态群中的每一个目标状态单独进行更新。
    5. 1-N 解散状态群。
    6. 边界问题:如果一个跟踪到达场景的边界,则更新为离开状态。如果下一帧没有跟踪到,则删除。如果一个退出的跟踪改变方向进入场景,需要3个特征匹配从而确认这是相同的跟踪。如果相同,则更新为正常状态,否则,删除并新建。
      边界同一目标检测
      这里写图片描述
      过分割与状态群创建
      这里写图片描述
      欠分割与状态群解散
      这里写图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值