行人检测与重识别!SOTA算法

A Simple Baseline for Multi-Object Tracking,

Yifu Zhang, Chunyu Wang, Xinggang Wang, Wenjun Zeng, Wenyu Liu,

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

GitHub 地址:https://github.com/ifzhang/FairMOT

Installation

克隆这个repo,调用克隆的目录${FAIRMOT_ROOT} 。

安装依赖项。

使用python3.7和pytorch >= 1.2.0。

在骨干网中使用DCNv2,更多细节可以在repo中找到。

运行演示代码,还需要安装ffmpeg。

conda create -n
FairMOT

conda activate
FairMOT

conda install
pytorch1.2.0 torchvision0.4.0 cudatoolkit=10.0 -c pytorch

cd ${FAIRMOT_ROOT}

pip install -r
requirements.txt

cd src/lib/models/networks/DCNv2_new sh make.sh

Data
preparation

使用类似JDE的训练数据。请参阅DATA ZOO,下载并准备所有的训练资料,包括加Caltech
Pedestrian, CityPersons, CUHK-SYSU, PRW, ETHZ, MOT17 and MOT16.数据。可从MOT challenge官方网页下载。下载后,应按以下结构准备数据:

MOT15

|——————images

|
└——————train

|
└——————test

└——————labels_with_ids

        └——————train(empty)

MOT20

|——————images

|
└——————train

|
└——————test

└——————labels_with_ids

└——————train(empty)

Then,
you can change the seq_root and label_root in src/gen_labels_15.py and
src/gen_labels_20.py and run:

cd src

python
gen_labels_15.py

python gen_labels_20.py

to
generate the labels of 2DMOT15 and MOT20. The seqinfo.ini files of 2DMOT15 can
be downloaded here [Google],
[Baidu],code:8o0w.

如何将目标检测和重识别融合进一个框架,帮助解决多目标跟踪任务?作者找出了这一方向的痛点所在,同时提出了一个简单而有效的新方法。该方法以 30 fps 运行时在公开数据集上的性能超越了之前的 SOTA 结果。

近年来,目标检测和重识别均取得长足进步,而它们正是多目标跟踪的核心组件。但是,没有太多研究人员试图用一个框架完成这两项任务,进而提升推断速度。然而最初朝着这个方向努力的研究者得到的结果却是性能下降,因为重识别任务无法得到恰当地学习。该方法以 30 fps 运行时在公开数据集上的性能超越了之前的 SOTA 结果。

FairMOT 在 MOT 挑战赛测试集上的效果。

此外,该研究还公开了代码和预训练模型。

多目标跟踪的难点

多目标跟踪 (MOT) 是计算机视觉领域中的重要任务,当前最优的方法通常使用两个单独的模型:首先用检测模型定位图像中目标的边界框位置,然后用关联模型对每个边界框提取重识别 (Re-identification, Re-ID) 特征,并根据这些特征定义的特定度量将边界框与现有的一个跟踪结果联结起来。

近年来,目标检测和 Re-ID 均取得巨大进步,并提升了目标跟踪的性能。但是,现有方法无法以视频帧速率执行推断,因为两个网络无法共享特征。

随着多任务学习的成熟,结合目标检测和 Re-ID 的
one-shot 方法逐渐吸引越来越多的注意力。由于这两个模型共享大部分特征,因此它们有可能显著缩短推断时间。

但是,one-shot 方法的准确率相比两阶段方法有显著下降,尤其是 ID 转换(identity switch)量大增的情况下。也就是说,把这两个任务合二为一并不简单,需要谨慎看待。

哪些因素对目标跟踪结果影响最大?

华中科技大和微软亚研的这项研究没有借助训练 trick 提升跟踪准确率,而是试图分析「二合一」失败的原因,并提出了一种简单而有效的基线方法。

根据研究,以下三个因素对跟踪结果的影响最大:

锚点与 Re-ID 不匹配

现有的 one-shot 跟踪器 [35,33] 均以锚点为基础,因为它们由目标检测器发展而来。但是,锚点却不适合学习 Re-ID 特征。原因如下:首先,对应于不同图像块的多个锚点可能负责估计同一个目标的
id,这导致严重的歧义(参见图 1)。此外,需要将特征图的大小缩小 1/8,以平衡准确率和速度。对于检测任务而言这是可以接受的,但对于 Re-ID 来说就有些粗糙了,因为目标中心可能无法与在粗糙锚点位置提取的特征一致。

该研究对此提出的解决方案是:将 MOT 问题看作在高分辨率特征图上的像素级关键点(目标中心)估计和 id 分类问题。

图 1:(a) 尽管黄色和红色锚点的图像块不同,但它们估计的是同一个 ID(穿蓝色上衣的人)。此外,基于锚点的方法通常在粗糙网格上运行,因此在此类锚点(红色或黄色五角星)处提取的特征大概率无法与目标中心一致。(b) anchor-free 方法的歧义要少一些。

多层特征聚合

这对于 MOT 问题尤其重要,因为 Re-ID 特征需要利用低级和高级特征来适应小型和大型目标。研究者通过实验发现,这对降低 one-shot 方法的 id 转换数量有所帮助,因为它提升了处理尺度变换的能力。

Re-ID 特征的维度

之前的 Re-ID 方法通常学习高维特征,在其基准上达到了不错的结果。但是,该研究发现较低维度的特征对于 MOT 任务效果更好,因为该任务的训练图像比 Re-ID 少(由于 Re-ID 数据集仅提供剪裁后的人像,因此 MOT 任务不使用此类数据集)。

学习低维特征有助于降低过拟合的风险,并提升目标跟踪的稳健性。

方法

下图 2 展示了该研究提出的方法。

首先,采用 anchor-free 目标检测方法,估计高分辨率特征图上的目标中心。去掉锚点这一操作可以缓解歧义问题,使用高分辨率特征图可以帮助 Re-ID 特征与目标中心更好地对齐。

然后,添加并行分支来估计像素级 Re-ID 特征,这类特征用于预测目标的 id。具体而言,学习既能减少计算时间又能提升特征匹配稳健性的低维 Re-ID 特征。

在这一步中,研究者用深层聚合算子(Deep Layer Aggregation,DLA)[41] 来武装主干网络
ResNet-34 [13],从而融合来自多个层的特征,处理不同尺度的目标。

图 2:该研究提出的 one-shot MOT 跟踪器图示。首先将输入图像馈入编码器-解码器网络,以提取高分辨率特征图(步幅=4);然后添加两个简单的并行 head,分别预测边界框和 Re-ID 特征;最后提取预测目标中心处的特征进行边界框时序联结。

实验

研究者在 MOT 挑战赛基准上借助评估服务器评估了本文提出的方法。与其他在线跟踪器相比,本文提出的方法在 2DMOT15、MOT16、MOT17
及 MOT20 数据集上均名列第一。此外,在 2DMOT15、MOT16 和 MOT17 数据集上,该方法的性能还优于离线跟踪器(MOT20 是个新数据集,之前研究没有相关结果)。虽然结果比较惊艳,但该方法非常简单,且运行速率为 30 FPS。

控制变量研究

  1. 基于锚点(anchor-based)和无锚点(anchor-free)

表 1:在 MOT15 数据集上,基于锚点和无锚点方法在验证视频上的评估结果。

  1. 多层特征聚合

表 2:不同主干网络在 2DMOT15 数据集上的评估结果。

表 3:主干网络对不同尺度目标的影响。

Re-ID 特征维度

表 4:不同 Re-ID 特征维度在2DMOT15 数据集上的评估结果

与当前最佳模型的比较

研究者将本文提出的方法与当前最佳方法进行了对比,包括 one-shot 方法和 two-step 方法。

表 5:在两个数据集上与当前最佳 one-shot 跟踪器的对比结果。

表 6:与「private detector」设定下的 SOTA 结果进行对比。

行人检测与重识别!SOTA算法相关推荐

  1. CVPR 2020 论文大盘点-行人检测与重识别篇

    本文盘点CVPR 2020 所有行人检测(Pedestrian Detection)与人员重识别(Person Re-Identification,ReID)相关论文,在视频监控领域该方向技术应用广泛 ...

  2. 行人检测与重识别!华中科技大、微软深入挖掘,新方法实现新SOTA

    点击上方↑↑↑"视学算法"关注我 来源:公众号 机器之心 授权 如何将目标检测和重识别融合进一个框架,帮助解决多目标跟踪任务?华中科技大学和微软亚洲研究院的研究者找出了这一方向的痛 ...

  3. ICCV 2019 | 北邮提出高阶注意力模型,大幅改进行人重识别SOTA精度

    点击我爱计算机视觉标星,更快获取CVML新技术 今天跟大家分享一份ICCV 2019 上新出的关于注意力模型的工作Mixed High-Order Attention Network for Pers ...

  4. 信号检测与估计理论 pdf_CVPR2020|行人检测与重识算法推荐论文源码大盘点

    本文收集了CVPR 2020 一些行人检测与人员重识别优秀论文,我们知道在视频监控相关领域这些技术方向可以得到很好得广泛应用. 行人检测及人群计数从内容来看主要解决行人与行人.行人与物体间的遮挡透视, ...

  5. 多目标跟踪 | FairMOT:统一检测、重识别的多目标跟踪框架,全新Baseline

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:AI算法与图像处理 论文地址:https://arxiv ...

  6. 实验代做 行人识别_《行人跨模态重识别 | 双向限制的排序损失》

    本文采用的网络框架是预训练好的 Alexnet,为了紧跟时代的步伐,作者在他的 GitHub 主页根据此论文的方法,用 PyTorch 框架实现了一个新的 Baseline(基于预训练好的 Resne ...

  7. NVIDIA-TLT训练行人检测模型(一)----算法模型的训练(finetuning)

    前言 在博客阅读前需要说明,本博文为系列文章,通过阅读文章,您将会学习到如下内容: 使用NVIDIA Transfer Learning Toolkit 工具训练(finetuning)出一个行人检测 ...

  8. 【CV】高被引行人重识别(Person Re-ID)综述论文

    论文名称:Deep Learning for Person Re-IDentification: A Survey and Outlook 论文下载:https://arxiv.org/abs/200 ...

  9. 旷视研究院张弛:行人重识别及其应用

    点击我爱计算机视觉标星,更快获取CVML新技术 何为行人重识别? 众所周知,人脸识别技术在今天已得到广泛应用,而行人重识别(ReID)是对其的扩展,它的基本任务流程如下图: 如上图,系统首先对视频画面 ...

最新文章

  1. 干货丨从基础知识到实际应用,一文了解「机器学习非凸优化技术」
  2. Linux 线程与进程,以及通信
  3. 2022年全球及中国面粉混合物行业发展态势与消费需求前景调查报告
  4. hadoop目录命令
  5. android 练习之路 (一)
  6. Spring Boot学习总结(11)——SpringBoot的Starter依赖包及作用
  7. 嵌入式linux clion,跨平台IDE集成开发环境Clion教程:嵌入式开发
  8. Qt 实现多语言 国际化 翻译
  9. vs2008 sp1补丁安装到最后一点点的时候,就无法安装下去了 解决方法[转]
  10. fgo升级经验计算机,命运冠位指定FGO升级所需经验值介绍
  11. if else语句 整除求余运算
  12. linux中的cd命令是什么意思,linux中cd命令的详细解释
  13. 天马杯-NLP赛道(科技新闻分类与摘要)赛后总结
  14. V-if 的常见用法
  15. 利用Django框架简单设计一个登陆页面
  16. mysql数据库备份与导入
  17. 六点汽车保养小常识 保护爱车必修课
  18. 6.824 Spring 2021 -- Lab 2A
  19. idea2019本地导入lombok不兼容问题
  20. 你会的还只有初级安卓工程师的技术吗?论程序员成长的正确姿势

热门文章

  1. 用BRAT进行中文情感分析语料标注
  2. 请注意更新TensorFlow 2.0的旧代码
  3. Android数据持久化:文件存储
  4. LeetCode简单题之找出数组的最大公约数
  5. MinkowskiEngine基准测试
  6. Single Shot Multibox Detection (SSD)实战(上)
  7. linux 6.4 图形界面,为CentOS 6.4安装图形界面并用VNC远程连接
  8. Lint found fatal errors while assembling a release target.
  9. Speed4Web 绿色纯净版
  10. loj2058 「TJOI / HEOI2016」求和 NTT