zoukankan      html  css  js  c++  java
  • 多目标跟踪(MOT)论文随笔-POI: Multiple Object Tracking with High Performance Detection and Appearance Feature

    转载请标明链接:http://www.cnblogs.com/yanwei-li/p/8683933.html

    网上已有很多关于MOT的文章,此系列仅为个人阅读随笔,便于初学者的共同成长。若希望详细了解,建议阅读原文。

    本文是tracking by detection 方法进行多目标跟踪的文章,最大的特点是使用了state-of-the-art的detection和feature来代替以往的方法,使用简单的匹配方法就能达到最好的水平。

    论文地址:https://arxiv.org/pdf/1610.06136.pdf

    Detection 以及  Appearance特征地址(Google Drive 需FQ):https://drive.google.com/open?id=0B5ACiy41McAHMjczS2p0dFg3emM

     

    文章方法:

    1. Detection部分

    文章针对MOT16所使用的MOTA指标中的FPFN,使用Faster R-CNN + Skip pooling + multi-region 的方法来结合多尺度特征,从而降低FPFN

    1. Appearance 特征部分
    • 使用类似于GoogLeNet的网络来提取128维的特征,并使用cosine距离来度量表观特征(与之前SORT文章所使用的方法类似);
    • 结合Softmax和Triplet loss来训练网络。其中Softmax loss用于保证appearance特征有良好的判别性,Triplet loss用来保证同一ID内的cosine距离足够小。(这里与SORT不同的是使用了Triplet loss来减小类内的cosine距离,相当于在training过程中使得特征更加针对于MOT的任务)。

    1. Online Tracker

    使用Kalman滤波来预测track,使用 Kuhn-Munkres 算法来进行结合track和detection (与SORT类似,不同的是SORT使用了Hungarian算法来匹配),具体步骤见下:

    • 构造相似度矩阵

    计算track和detection间的关联度矩阵At−1 = Affinity(Tt−1,Dt)。计算时结合运动(affmot),形状(affshp),和外观(affapp)的关联度作为最后的关联度矩阵,具体计算如下:

    • 匹配track和detection

    使用 Kuhn-Munkres 算法来匹配track和detection。由于KM算法是全局优化算法,在一些detection遗失时会出错。因此我们使用两步匹配的策略,首先根据阈值Tt=0.5track分为高质量的track和低质量的track(大于阈值为高质量,小于为低质量);然后首先匹配高质量的trackdetection,再匹配前一步剩下的和低质量的track。Track的质量计算如下,其中couples(trackleti)包含了过往的所有匹配成功的trackdetection的关联度

    • 具体流程

    具体流程见下表,其中w1=0.5w2=1.5, w3=1.2τt=0.5, τa=0.4, τm=100。

    4. Offline Tracker

    Offline Tracker 是基于H2T的改进版本,主要使用了K-Dense Neighbors搜索算法,具体步骤见下:

    • 使用了和Online Tracker相同的特征构建关联度矩阵。
    • 文章提出两个阈值来解决motion和平滑关联性对于过大target不稳定的问题。
    • 在构建关联度矩阵时放弃了高阶信息,来减少矩阵维度并提高DN搜索的效率。
    • 具体步骤见下,由于主要着眼于Online Track,这里就不再详细展开,感兴趣的读者可以参考原文及其给出的参考文献。

    文章结果

    文章结果见下表,文章结果还是很不错的,在当时也达到了SOTA。不过相比于之前文章分析的SORT(60Hz)以及Deep SORT(40Hz),此方法(10Hz)在实时性方面还是有比较大的差距。个人认为主要是由于检测部分以及用于提取appearance特征的GoogLeNet计算量较大所导致的,这个网络结构换为轻量级的网络即可,在此就不再赘述。

     

  • 相关阅读:
    Jquery 图片预览插件 imgPreview
    对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)
    JavaScript拖拽实现(附注释),最经典!最简单!短小精悍!
    如何使用VC++写一个小程序来检测.NetFrameWork版本
    利用TreeView实现C#工具箱效果
    JavaScript中json对象和string对象之间的转化
    Ubuntu Server上搭建可用于生产环境的ASP.NET服务器
    winexec()函数的参数说明(c++)
    C#对文件夹的判断、创建、移动、删除
    C#程序不用安装.NET环境运行(让C#程序脱离.net框架)
  • 原文地址:https://www.cnblogs.com/yanwei-li/p/8683933.html
Copyright © 2011-2022 走看看