FairMOT论文阅读笔记

2023-11-02

Abstract

近些年目标检测和Re-ID有很大的发展,但是没有人在单个网络中联合这两个任务。由于re-ID任务没有公平的学习,这导致了大量id的转换。不公平之处在于两个方面:(1)他们将重新身份识别视为次要任务,其准确性在很大程度上取决于主要检测任务。所以训练很大程度上偏向于检测任务,而忽略了重识别任务;(2)它们使用感兴趣区域对齐来提取直接从对象检测中借用的重标识特征。然而,这在表征对象时引入了许多模糊性,因为许多采样点可能属于干扰实例或背景。为了解决这些问题,我们提出了一种简单的方法FairMOT,它由两个同质分支组成,用于预测像素级的对象分数和重新识别特征。

Introduction

这部分主要讲解了在摘要里指出的以往的方法中学习的不公平性的体现。

1.由于anchor 导致的不公平学习

当前的单步法跟踪器都是基于anchor锚的,因为它们是从对象检测器修改而来的。但是,有两个原因造成了锚点不适合学习Re-ID功能。首先,对应于不同图像块的多个锚点可能负责估计同一个目标的 id,这导致严重的歧义(参见图 1)。此外,需要将特征图的大小缩小 1/8,以平衡准确率和速度。对于检测任务而言这是可以接受的,但对于 Re-ID 来说就有些粗糙了,因为目标中心可能无法与在粗糙锚点位置提取的特征一致。
文章中提出解决该问题的方法,是通过将MOT问题看作为在高分辨率特征图上的像素级关键点(目标中心)估计和 id 分类问题。

2.由于特征导致的不公平性

对于一次性跟踪器,大多数功能在对象检测和重新标识任务之间共享。但是众所周知,它们实际上需要来自不同层的特征来实现最佳结果。特别是,对象检测需要深度和抽象的特征来估计对象类别和位置,但重新标识更侧重于低级的外观特征,以区分同一类别的不同实例。

3.由于特征尺度导致的不公平性

在以往的re-ID任务中,往往是学习高纬度的特征,然而我们发现,学习低纬度的特征比one-shot MOT更好,原因有三::(1)虽然学习高维re-ID特征可能会略微提高其分辨能力,但由于两个任务的竞争,它会显著损害对象检测的准确性,这反过来也会对最终的跟踪精度产生负面影响(2)当训练数据较少时,学习低维重ID特征降低了过拟合的风险。MOT中的数据集通常比重标识区域中的数据集小得多。因此有利于降低特征尺寸;(3)学习低维重标识特征提高了推理速度

FariMOT

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

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

然后,添加并行分支来估计像素级 Re-ID 特征,这类特征用于预测目标的 id。具体而言,学习既能减少计算时间又能提升特征匹配稳健性的低维 Re-ID 特征。在这一步中,本文用深层聚合算子(Deep Layer Aggregation,DLA)来改进主干网络 ResNet-34 ,从而融合来自多个层的特征,处理不同尺度的目标。

1.Backbone

采用ResNet-34 作为主干网络,以便在准确性和速度之间取得良好的平衡。为了适应不同规模的对象,如图2所示,将深层聚合(DLA)的一种变体应用于主干网络。

与原始DLA 不同,它在低层聚合和低层聚合之间具有更多的跳跃连接,类似于特征金字塔网络(FPN)。此外,上采样模块中的所有卷积层都由可变形的卷积层代替,以便它们可以根据对象的尺寸和姿势动态调整感受野。 这些修改也有助于减轻对齐问题。

2.检测分支

本方法中将目标检测视为高分辨率特征图上基于中心的包围盒回归任务。特别是,将三个并行回归头(regression heads)附加到主干网络以分别估计热图,对象中心偏移和边界框大小。 通过对主干网络的输出特征图应用3×3卷积(具有256个通道)来实现每个回归头(head),然后通过1×1卷积层生成最终目标。

Heatmap Head

这个head负责估计对象中心的位置。这里采用基于热图的表示法,热图的尺寸为1×H×W。 随着热图中位置和对象中心之间的距离,响应呈指数衰减。对于每个GT框 b i = ( x 1 i , y 1 i , x 2 i , y 2 i ) b^i =(x_1^i, y_1^i,x_2^i,y_2^i) bi=(x1i,y1i,x2i,y2i) 来说,它的中心是 ( c x i , c y i ) (c_x^i, c_y^i) (cxi,cyi) 其中 c x i = x 1 i + x 2 i 2 c_x^i = \frac {x_1^i+x_2^i}{2} cxi=2x1i+x2i, y 1 i + y 2 i 2 \frac{y_1^i+y_2^i}{2} 2y1i+y2i 由于步长为4,所以它在特征图上的位置是 ( c ~ x i , c ~ y i ) = ( ⌊ c x i 4 ⌋ , ⌊ c y i 4 ⌋ ) (\tilde c_x^i,\tilde c_y^i) = ( \lfloor \frac{c_x^i}{4}\rfloor ,\lfloor \frac{c_y^i}{4}\rfloor) (c~xi,c~yi)=(4cxi,4cyi).其中热力图响应为
在这里插入图片描述
loss 函数为
在这里插入图片描述

Center Offset Head

该head负责更精确地定位对象。ReID功能与对象中心的对齐精准度对于性能至关重要。

Box Size Head
该部分负责估计每个锚点位置的目标边界框的高度和宽度,与Re-ID功能没有直接关系,但是定位精度将影响对象检测性能的评估。

对于size 和offset的输出为 S ^ ∈ R W × H × 2 \hat S\in R^{W \times H\times2} S^RW×H×2 S ^ ∈ O W × H × 2 \hat S\in O^{W \times H\times2} S^OW×H×2对于每个GT框 b i = ( x 1 i , y 1 i , x 2 i , y 2 i ) b^i =(x_1^i, y_1^i,x_2^i,y_2^i) bi=(x1i,y1i,x2i,y2i),我们可以算出size为 s i = ( x 2 i − x 1 i , y 2 i − y 1 i ) s^i=(x_2^i-x_1^i,y_2^i-y_1^i) si=(x2ix1i,y2iy1i),offset 为 o i = ( c x i 4 , c y i 4 ) − ( ⌊ c x i 4 ⌋ , ⌊ c y i 4 ⌋ ) o^i= ( \frac{c_x^i}{4} , \frac{c_y^i}{4})-( \lfloor \frac{c_x^i}{4}\rfloor ,\lfloor \frac{c_y^i}{4}\rfloor) oi=(4cxi,4cyi)(4cxi,4cyi) 最终我们对两个head使用L1 loss,这部分的loss为
在这里插入图片描述

3.Re-ID分支

Re-ID分支旨在生成能够区分对象的特征。我们要使不同对象之间的相似性应该小于相同对象之间的相似性。为了实现这个目标,我们在主干特征上应用了一个包含128个核的卷积层来提取每个位置的Re-ID特征.最后的到特征图 E ∈ R 128 × W × H E\in R^{128\times W\times H} ER128×W×H,对于每个以 ( x , y ) (x,y) (x,y)为中心的对象Re-ID特征为 E x , y ∈ R 128 E_{x,y}\in R^{128} Ex,yR128

Re-ID的loss为
在这里插入图片描述

4.训练FairMOT

最终,我们使用的loss为
在这里插入图片描述
其中 ω 1 \omega_1 ω1 ω 2 \omega_2 ω2是学习来的参数,用来平衡两个任务

5.推理

网络以大小为1088×608的图像作为输入,与之前的工作JDE相同。在预测的heatmap之上,根据heatmap得分执行非最大抑制(NMS)来提取最大的关键点。我们保留heatmap得分大于阈值的关键点的位置。然后,我们根据预测的偏移量和框的大小计算相应的边框。我们还在预测的目标中心提取Re-ID特征向量。

Online Box Linking

使用标准的在线跟踪算法来实现框的链接。根据第一帧中的估计框初始化了一些轨迹,在接下来的帧中,根据Re-ID特征和IoU所测量的轨迹距离,将方框与现有轨迹链接起来。也使用卡尔曼滤波来预测在当前帧中的轨迹位置。如果距离连接检测太远,将相应的代价设为无穷大,可以有效地阻止大运动的链接检测。我们在每个时间步中更新跟踪器的外观特征,以处理外观变化。

结果

1.基于锚点(anchor-based)和无锚点(anchor-free)比较在这里插入图片描述## 2. 多层特征聚合在这里插入图片描述##3.Re-ID 特征维度在这里插入图片描述## 4.与当前最佳模型的比较在这里插入图片描述

5.在两个数据集上与当前最佳 one-shot 跟踪器的对比结果。在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FairMOT论文阅读笔记 的相关文章

随机推荐

  • throw new exception后程序不停止_Java_异常Exception

    异常 指的是程序在执行过程中出现非正常的情况 会导致JVM非正常停止 在Java等编程语言中 异常的本身是一个类 Java处理异常的方式是中断处理 异常不是语法上的错误 异常的根类 Throwable 存在于lang包下 Throwable
  • springMVC 定时器配置

  • 如何让ElementUI的Dialog弹窗可以拖拽移动

    实现原理 利用vue创造一个自定义指令 绑定到需要拖拽移动的el dialog组件上 在自定义指令中处理弹窗拖拽 步骤1 创建自定义指令 v dialogDrag 弹窗拖拽 import Vue from vue let draging f
  • 安全测试-范围&内容

    一 常规安全测试范围 测试范围 测试内容 测试方法 工具 主机漏洞扫描 根据Nessus漏洞数据库对主机的端口 程序和配置进行扫描 商业版Nessus 逻辑漏洞测试 包含横向越权 纵向越权 交叉越权 随机数安全 加密算法误用 敏感信息泄露
  • 最简单、实用的cudnn安装教程!!!(nvidia官方渠道下载)

    进入cudnn下载页面 需注册并登录 选择cuDNN Library for Linux x86 64 一定要选这个哦 这个安装最简单 无需在乎系统版本 只需关注cuda版本 然后复制下载链接 下载到服务器 wget c 链接 或者下载到w
  • C#中对sqlserver进行增删改查

    1 添加引用 using System Data using System Data SqlData 建立于数据库的连接 string sqlconnection data source 注解1 database 注解2 uid 注解3 p
  • 2021美赛 MCM\ICM D题

    自古以来 音乐就已成为人类社会的一部分 已成为文化遗产的重要组成部分 为了理解音乐在人类集体经验中所扮演的角色 我们被要求开发一种量化音乐发展的方法 在创作新音乐时 有许多因素会影响艺术家 包括其天赋的创造力 当前的社会或政治事件 使用新乐
  • UE4/UE5 虚幻引擎,DDC(DerivedDataCache)派生数据缓存

    1 编辑器偏好设置 gt 全局 gt 共享派生数据缓存 作用 同一个项目编译结束之后 会把缓存数据存储到共享文件夹中 后续其他团队成员打开项目的时候 就不需要再次编译了
  • 原生wx小程序用vant组件自定义底部导航

    1 在根目录中创建custom tab bar 新建page index 2 在app json或index json中引入vant组件 usingComponents van tabbar vant weapp tabbar index
  • Mybatis配置找不到resources错误的解决

    问题 导入Mybatis框架和进行基础的查询操作 在网上找了教程配置后运行总会有找不到resources错误 找不到mybatis下的 解决方案 反复查询配置文件 发现是地址标红 不能导入 在setting DTDS中添加 http myb
  • Fiddler抓取https如何设置

    来源 http t istester com 3000 istester 21Day src master Fiddler V1 0 21Day Fiddler 05 md
  • matlibplot之条形图

    文本以及后续的系列文章中均会使用到numpy这个库 numpy是Python的一种开源的数值计算扩展 主要用来生产一些随机数作为绘图的原始数据 具体和安装matplotlib类似 可以参考安装Matplotlib这篇文章 文章目录 条形图
  • 【threejs加载器】加载gltf模型及压缩模型

    加载obj过程请参考如下两篇 threejs基础 使用OBJLoader 加载obj模型 threejs基础 使用MTLLoader 加载材质OBj模型 1 加载gltf模型 效果如下 第一步 引入GLTFLoader import GLT
  • Pandas日期数据处理函数 to_datetime()

    to datetime函数可以用来批量处理日期数据转换 可以将日期数据转换成你需要的各种格式 如 13 oct 18 10 13 18 2018 10 13 2018 10 13 20181013 转换成 2018 10 13 to dat
  • MySQL事务基础知识

    前言 学习 导流 小林coding 事务篇 学习意义 理解MySQL如何去处理并发问题 借鉴其思想 存储作为应用的关键能力 而事务作为关系型数据库的关键概念 掌握很必要 也为分布式事务学习做奠基 相关说明 该篇博文是个人阅读的重要梳理 仅做
  • git 回滚某个文件

    git checkout 可以丢弃工作区的修改 但是不能丢弃暂存区的修改 注意要加 否则就变成 切换分支 命令 git reset HEAD 可以丢弃暂存区的修改 unstage 但是不会自动同步撤销工作区的修改 如果希望彻底丢弃暂存区以及
  • 【C++】哈希算法

    目录 1 哈希映射 1 1哈希的概念 1 2哈希冲突 1 3哈希函数 1 31直接定值法 1 32除留余数法 2 解决哈希冲突 2 1闭散列法 2 11线性探测 2 12二次探测 3代码实现 3 1状态 3 2创建哈希节点类 3 21哈希表
  • 旅游攻略APP外包开发功能

    旅游攻略APP是帮助旅行者计划和享受旅行的工具 下面列出了一些常见的旅游攻略APP功能 以及在上线这类应用时需要注意的问题 希望对大家有所帮助 北京木奇移动技术有限公司 专业的软件外包开发公司 欢迎交流合作 常见功能 目的地信息 提供有关各
  • 表维护视图的F4增强

    利用SE11创建表维护视图后 我们可以通过SE51修改自动生成的屏幕来编写自定义F4以及其它事件 首先需要找到相应的FUNCTION GROUP SE80进入FUNCTION GROUP的编辑页面 修改屏幕的PBO PAI事件 出了MDL开
  • FairMOT论文阅读笔记

    Abstract 近些年目标检测和Re ID有很大的发展 但是没有人在单个网络中联合这两个任务 由于re ID任务没有公平的学习 这导致了大量id的转换 不公平之处在于两个方面 1 他们将重新身份识别视为次要任务 其准确性在很大程度上取决于