论文笔记——FairMOT:A Simple Baseline for Multi-Object Tracking

介绍FairMOT,一种将检测和再识别相结合的一站式多目标跟踪方法,利用无锚框的heatmap检测关键点,融合多层特征,实现高效准确的跟踪效果。

论文题目:A Simple Baseline for Multi-Object Tracking

论文链接:https://github.com/ifzhang/FairMOT

以往的MOT大多是基于tracking-by-detection的,首先对每一个frame做检测,再用re-Id,各种匹配关联算法进行data association,这两个步骤都是独立的。这篇文章提出了一个网络,可以将上述步骤进行结合,通过一个网络,同时得到检测结果(bbox,score)和re-Id feature,作者称之为one-shot方法。

随着multi-task learning的成熟,这种one-shot的方法开始流行。虽然能够大大减少inference time,但其accuracy仍然远低于two-shot方法。于是作者对此进行了几点讨论:
在这里插入图片描述
(1)Anchor不适用于re-Id

Anchor可能出现不同image patch预测同一个目标的情况,并且8倍的下采样对re-Id feature来说太粗糙。作者采用heatmap来检测物体的关键点,即一种pixel-wise的算法,而且identity classification也是在分辨率较高的特征图上进行的,消除anchor比较coarse的缺点;

(2)多层特征融合

针对不同大小的目标,需要融合不同尺度的feature map,作者采用了一种基于FPN的网络,即DLA34,具体backbone可参照下图中的Encoder-Decoder网络;

(3)ReID dimension

ReID的维度不应设置过大,低维度的特征效果更好,因为在数据较少的情况下,可以避免过拟合并提升tracking鲁棒性。
在这里插入图片描述
Architecture如上:

  1. backbone:DLA34,得到input宽高各四分之一的融合feature map(C∗H∗WC*H*WCHW);
  2. Detection:从特征图接入Detection head,得到三组输出heatmap(1∗H∗W1*H*W1HW),box size(2∗H∗W2*H*W2HW),center offset(2∗H∗W2*H*W2HW);
  3. Re-ID:得到Re-Id feature(128∗H∗W128*H*W128HW)。

Loss

(1)Heatmap是按照pixel-wise计算每个点是key point的可能性,某个点假如离obj越近,其值越大,接近于1,计算公式如下:
在这里插入图片描述
c这里就是每个obj除以缩放尺度4再向下取整后,对应特征图上的obj中心,xy表示feature map上的pixel位置。

为了平衡正负样本,这里采用focal loss:
在这里插入图片描述
(2)offset和size的loss都采用简单的L1 loss:
在这里插入图片描述
(3)id embedding采用的是softmax loss:
在这里插入图片描述

Inference

Inference阶段用在heatmap上做NMS筛掉非peak keypoints,linking的时候同时考虑Re-ID feature和IOU两个因素的distance,并采用了卡尔曼滤波这个motion model进行下一帧的推测。

Experiment

在这里插入图片描述
这种采用了heatmap的anchor free方法,不同类物体之间的特征分的比较开;而anchor-based方法的feature部分杂糅。
在这里插入图片描述
数据上验证anchor-free方法效果好,stride为8的时候比较coarse,stride为2对内存要求极高,因此stride为4是比较好且普适的。
在这里插入图片描述
不同backbone的检测结果,这种基于FPN的架构明显优于传统的单尺度feature输出的网络。
在这里插入图片描述
ReID feature的dimension讨论,低维度的特征相对较好一些。
在这里插入图片描述
与SOTA的one-shot方法的对比,FairMOT效果更好。
在这里插入图片描述
与一些two-shot方法对比,FairMOT不仅仅在速度上领先,在精度方面也不逊色于SOTA的two-shot方法。

由于提供的参考引用中未涉及关于“FADI: A Fast and Discreet Frequency-Aided Baseline for Small Object Detection”的相关内容,以下是基于一般性知识的介绍。 FADI是一种针对小目标检测提出的方法。在计算机视觉领域,小目标检测一直是一个具有挑战性的任务,因为小目标在图像中所占像素较少,包含的特征信息有限,传统的检测方法往往难以准确地识别和定位它们。 FADI利用频率辅助的方式来增强对小目标特征的提取和分析。频率域信息能够提供一些在空间域中不明显的特征,通过结合频率信息,FADI可以更有效地捕捉小目标的独特特征,从而提高检测的准确性和效率。同时,“快速且隐秘”表明该方法在检测过程中能够以高效的计算速度完成任务,并且可能在不引入过多额外计算开销的情况下实现较好的检测效果,减少对系统资源的占用。 ### 代码示例 以下是一个简单的小目标检测示例(并非FADI具体实现),使用OpenCV和Python: ```python import cv2 import numpy as np # 读取图像 image = cv2.imread('small_objects_image.jpg') gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 进行边缘检测 edges = cv2.Canny(gray, 50, 150) # 查找轮廓 contours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # 筛选小目标轮廓 small_object_contours = [] for contour in contours: area = cv2.contourArea(contour) if area < 100: # 假设小目标面积小于100 small_object_contours.append(contour) # 在图像上绘制小目标轮廓 cv2.drawContours(image, small_object_contours, -1, (0, 255, 0), 2) # 显示结果 cv2.imshow('Small Object Detection', image) cv2.waitKey(0) cv2.destroyAllWindows() ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值