• ByteTrack阅读思考笔记


    ByteTrack论文

    参考链接

    最近将对MOT开始上手做项目,对deepsort有颇深的研究,对其代码也有研读,在跟踪领域deepsort也算是应用非常广泛的一个跟踪算法。

    写点自己对ByteTrack的理解,作为笔记

    一、deepsort算法主要点:

    1、对比sort多引入了级联匹配机制,但是仍然保留iou匹配,iou匹配(注意在计算矩阵的过程中使用的是1-iou)的结果由匈牙利算法提供,卡尔曼滤波用来预测下一帧状态,属于概率预测滤波的一种吧,在目标遮挡的同时可能产生概率弥散的现象,简称预测框飘走。

    2、deepsort加入了外观特征信息,借用reid领域的特征信息做余弦相似度度量,作为级联匹配的第一步。

    3、引入马氏距离、余弦相似度等概念

    4、对生成预测框机制使用三种状态unconfirmed、confirmed、delete。

    二、ByteTrack 算法的更新点:

    1、使用yolox作为基础检测器,检测精度更高,训练使用多种数据增强手段,使用的是yolox-x;

    2、匹配阶段,检测器将高低得分都输出,但是通过一个中间阈值切分成高得分检测框和低得分检测框然后做匹配;

    3、而对于生成预测框是通过高得分检测框生成,低得分检测框只做匹配,未匹配上的之间删除检测框,对于预测框则保留30帧,原因是因为在目标被遮挡或者运动模糊的情况下之前高得分检测框再次检出时也会降低置信值;

    4、匹配第一阶段:使用高得分检测框与所有的预测框进行匹配,匹配过程中使用外观特征reid级联匹配和iou匹配,而未匹配的预测框则进入下一阶段匹配;

    5、匹配第二阶段:将第一阶段匹配后遗留的预测框与得分低的检测框进行匹配,此时只进行iou匹配,原因是因为得分低的检测框的外观特征是不可信的,如果使用reid匹配可能会让原始轨迹与其他检测轨迹相连,造成IDSwitch现象。
    其实上一阶段也是作者的重点,说的是低得分检测框并不是一定在初始检测器输出时就删除不送入跟踪,而是当目标轨迹与检测框很完美的时候,突然出现遮挡或者检测框变大与变小模糊等状态时检测的阈值可能就会很低,会与原先轨迹连接不上,而导致轨迹碎片的产生,以至于跟踪产生不可逆的结果。

    三、ByteTrack与deepsort的区别点:
    楼主认为:最主要的是最新颖的检测框得分不管高低都进行合理匹配,而论文中提到了一点,目前MOT还是很依赖基础检测器的,对于基础检测器好的算法来说,跟踪在未加入reid外观特征的情况下都比检测器不好而加入reid特征的要好很多。

    作者在最后测试给出的结论说明,ByteTrack使用单独sort做匹配,由于yolox的检测性能很好,而且只训练的是单类人形,给整个跟踪带来了很大的收益。

    完!

  • 相关阅读:
    数字藏品和NFT有什么区别?
    Linux脚本练习之script083-nginx日志分析之查询某个IP的详细访问情况
    10.3 校招 实习 内推 面经
    记录窗体关闭位置(从窗体上次关闭的位置启动窗体)
    Floyd 算法
    【iOS】MVC模式
    LAMP分布式安全方案搭建网页 (LinuxCentOS7+Apache+Mariadb+PHP)包括服务端口及防火墙规则配置
    Linux 学习笔记(1-3)
    PTrade和QMT对比那个更好用?
    GIS开发入门,TopoJSON格式是什么?TopoJSON格式与GeoJSON格式有什么不同?
  • 原文地址:https://blog.csdn.net/ganbelieve/article/details/125564291