Press "Enter" to skip to content

FairMOT详细介绍

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

FairMOT是一个新型的One-Stage模型,并且使用Re-ID让物件追蹤更加準确,在MOT挑战赛有绝佳表现,接着我们就来看看他是怎幺办到的

 

CVPR 2020

 

引言

 

近年来的多目标检测大多是以Tracking by Detect的方式进行,分成两个步骤,先用目标检测的模型找出所有物件,然后再对找出来的物件撷取特徵,以利后面追蹤他。接着就有人使用面具R-cnn添加Re-ID分支,模型执行到投资回报时进入Re-ID,这幺做跟两阶段模型比起来大幅减少执行时间,却也丧失精準度,因为投资回报不是物件的一个明确範围

 

锚定造成的不公平

 

现存的Track R-cnn和JDE模型使用基于锚的侦测物件,但基于锚的架构不适合使用Re-ID

 

在Track R-cnn中,由于是採用先找到包围盒而后去在Box中取出Re-ID,这会让模型专注于找出精準的bbox忽略了Re-ID萃取的质量,这种先检测后Re-ID的架构使Re-ID无法公平的学习

 

基于大多数锚点的的方式是,找出物件附近的区域,然后萃取特徵,但当很多物件距离很近时,就有可能不小心萃取到其它物件的特徵,或是範围过大而萃取到被景特徵

 

此时论文只萃取中心点的特徵效果会更好

 

紫色的点和红测的点特徵都可以取出,但如果使用锚的方式,会不小心拿到别人的特徵

 

邻近的锚定训练时,有可能抓到同一个物件,这会给训练带来一些不确定性。加上物件侦测的萃取细緻程度不够,那些不够细緻的要素地图拿来当Re-ID辨认用的要素地图,準确度不足

 

特征造成的不公平

 

通常目标检测和Re-ID共享了大部分的特徵,但我们知道目标检测需要的深层特徵,才能辨别这到底是甚幺物件,Re-ID需要的仅是浅层特徵,在同一种物件不同实例间辨别

 

我们可以将多层特徵融合再一起,然后分成两的分支,一个为检测分支,另一个为重新ID分支,两个分支像多层融合特徵中各取所需,融合具有不同感受野的层的特徵的多层融合也提高了处理对象尺度变化的能力

 

由特征尺寸引起的不公平

 

以往的Re-ID都会萃取到很高维度的特徵,这虽然对辨识精準度有帮助,但其实低维度特徵对Re-ID会更适合,理由如下

 

FairMOT概述

 

我们提出的模型FairMOT来解决三个公平问题,他不同于以往模型的先检测后重新ID的方式,同时重视这两项工作

面对以前单级所遇到的问题,这些问题以往常被忽视
使用无锚点的公平框架,且效能优于之前的方法
针对超大资料集提出自监督学习

除了在MOT 15、16、17、20都达到最好的表现,单个GPU腾讯通2080 Ti上的速度更可高达30 FPS

 

相关工作

 

简介一下使用Deep Learning和Deep Learning的方法,以及跟我们的方法比较

 

非深度学习MOT方法

 

最知名的Sort和欠条追踪器,Sort的方法是使用卡尔曼过滤预测这个物件在下一帧上的位子,利用匈牙利演算法把这两帧的物件匹配,如果这两个物件的Cost最小,就把这两个物件匹配在一起,赋予相同ID

 

欠条跟踪器超直观,先用像是YOLO检测器把所有物件的框框的找出来,两帧的物件匹配方式,哪两个框框距离最近,有最大欠条就匹配起来,但这两中方法在物件大量重叠时,结果会大爆烂

 

深度学习MOT方法

 

像上面讲过的跟踪的检测就是属于两阶段的方法,好处是可以选择检测最好的模型和匹配最好的模型,坏处是因为两个步骤所以速度慢方法

 

而One-Stage网路虽然比较快,但模型匹配精準度往往输给两阶段,原因是在One-Stage中的Re-ID没有受到公平对待,此篇论文提出的FairMOT模型在两个任务之间取得平衡,速度与精準度都明显提高

 

FAIRMOT

 

架构图

 

主干网络

 

使用Resnet-34作为骨架,在精準度与速度之间取得平衡,深层聚合这项技术也有融合在其中,加强深层网路间的融合,如上图所示,他具有更多从低级功能到高级功能的跳过连接,结构相似于功能金字塔网络。其中所有的上採样层都可以换成可变形卷积,根据物件的大小动态调整视野域 Deep Layer Aggregation deformable convolution

经由上述改动生成的模块命名为DLA-34,输入图片大小H x W,输出维度C x(H/4)x(W/4)

 

检测科

 

检测分支是基于CenterNet进行改造,也可使用其它无锚的方法、检测的三个平行的Head分别计算热图、盒偏移量和中心偏移量、分别对dla-34的输出套用3 x 3卷积(带256个通道) CenterNet

这个Head负责估计物件中心点的位子,维度为1 x高x宽,地面实况的计算如下

由此可知中心点座标为x相加除以2和y相加除以2,但要考虑Backbone的Strike是4,所以做标还要除以4,变成以下这样

接着我们希望中心的点的值在训练的时后呈现1、中心点旁边的值以指数方式递减,由下列的式子表达.Mxy是地貌地图应该要长得样子

接着就可以算损失函数、使用的是焦点损失

M Head是估计出来的值,α和β是焦损的可调参数

 

Size Head用来估计物件的宽和高,长方体偏移用来估计物件实际的中心点位子偏移,因为Stride 4的关係,利用长方体偏移找出真正的中心点座标

 

以下为Size Head的地面真相,很直观,相减找出宽高

长方体偏移算法如下,一个有无条件捨去,一个没有,两个相减

最后可以得出这两个分支机构的丢失

o Head和的Head是估计结过,使用L1丢失

 

重新标识分支机构

 

这个分支的目标,是要让模型能够区分不同对像,理想上,同目标运算出来的值要越相近越好,不同目标经过运算出来的值要差越多越好

维度为128x高x宽,意思是每个像素都有128通道

 

重新标识丢失

 

总共有k的类和N个物件,预测出来每个类的特徵如下

损失计算方式为

L(K)是Ground Truth类的One-Hot的结果

 

培训FairMOT

 

将上述所有的Loss加起来

ω1和ω2是平衡这两个任务的可学习参数

 

训练时具体来说,就是给模型很多个物件和他们的ID,Box的位子这些资讯供模型训练,还有做一些增强,并且先行用CrowdHuman训练,最后用MOT的资料Finetune

 

在线推理

 

说明模型推理阶段以及如何进行检测和重新ID特徵的关联

 

网路输入图片大小为1088×608,就跟JDE模型相同。我们使用网管找寻高于阀值的那些关键点,接着估计框框大小和偏移量

 

首先,将第一帧的物件外观结果记起来,到了第二帧,把第二帧检测出来的物件外观与第一帧被记起来的那些外观进行匹配,使用Cosine Distance比对外观差距,使用Bartite比对检测框位子,使那些匹配的物件赋予同一个ID,也有使用卡尔曼过滤来预测当前帧的轨迹,这能防止过远的物件匹配在一起,这些重新ID都会随着时间更新,以应对角度的改变

 

实验

 

这个结果是把萃取重新ID的结构替换,看哪一种方式比较好

他们也有把Backbone替换,结论是DLA-34在追蹤任务上比ResNet-34还要优秀,而且ResNet-50竟然只有比ResNet-34还一点点而已,可见得重点不是在模型深度,凸显特徵融合的重要性

底下的RENET-34-DET是只有列车检测没有列车Re-ID,这对真阳性率根本是一场灾难,但是没有训练Re-ID的模型在检测任务上分数反而比较高,这实验说明检测和Re-ID两个存在冲突关係

接下来他们做Re-ID维度的实验,512维的辨识能力最佳,证明高维度可以带来高辨识能力,但随着维度递减,MOTA竟然升高,这主要是检测冲突导致,维度下降时,检测的得分AP会上升,最后他们取用64维

他们还有把物件连结的方法做比较,当物件被遮挡时,Re-ID变不可靠,就得依赖Box IOU和卡尔曼过滤做一些位子上的预测来补足

自我监督学习、不清楚他怎幺做的,要去看看他给的参考、论文的原文是这样说的 reference

 

我们将数据集中的每个对象实例视为单独的类,将同一对象的不同转换视为同一类中的实例。

最后显示在每个移动电话挑战赛上的结果

 

下面这张热影像能让我们知道无锚点的优势,和这篇论文的重新ID策略确实有显着的效果

 

底下是一些MOT视觉化的结果

 

结论

 

这篇论文主打把以往的两步骤追蹤变成单一个一步骤,先是提出了Detect会影响Re-ID的质量,所以把他们变成平行的Branch,但我有个问题,如果不先找出物件,Re-ID要怎幺知道去哪里抓取Feature?详细可能还要去看看程式码

 

现在行人侦测都把FairMOT当成基准,因为他实在太强了,不但精準还能在腾讯通2080Ti(4万台币)这种普通显示卡做到实时(30FPS),现在说精準度比FairMOT还要高的模型,使用V100(40万台币)来执行,FPS也才10几,希望他这幺厉害的模型能够对我的硕士论文有帮助

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注