摘要
本文设计了一个统一的框架来追踪无人机,包括局部追踪器、相机运动估计模块、边界框回归模块、重检测模块和更新模块。
相机运动估计模块对局部追踪器运动做补偿,然后边界框回归模块来找到一个精准的边框。如果目标丢失了,我们用重检测模块来重新找到目标。我们还利用更新模块来滤掉不靠谱的采样。
多个测试实验证明了我们的框架的有效性和普适性。
问题描述
目标追踪是计算机视觉中的重要任务之一。给定一个视频序列和随意一个目标的初始状态,目标追踪的目的是预测每一帧中物体的位置和尺寸。
最近目标追踪取得了很大的进展,学者们提出了很多出色的追踪器:
- SuperDiMP结合了PrDiMP的边界框回归和DiMP的标准化分类器,达到了较好的鲁棒性和尺寸估计能力。
- LTMU则提出了一个元更新器,来控制在线短期跟踪器的更新。它避免了长视频中目标频繁消失导致有用外观信息被污染的问题。
- JMMAC同时建模了动作和外观,解决了视频中突然抖动(sudden shaking)的问题。
上述方法都在不断解决视频序列中的各种挑战。
然而,还有一些问题尚未解决,尤其是无人机的追踪中有很多问题没解决。比如相机的运动、物体不在视野里、剧烈的尺度变化等等。
本文提出的方法
为了解决尚未解决的问题,本文提出了一个通用框架,如Figure-2所示。
首先,本文设计了一个相机动作估计模块,其可以重置局部追踪器的搜索区域,来解决相机突然运动的问题。其次,我们采用了边界框细化模块, 来细化局部追踪器的输出,从而更有效地估计目标尺寸。然后,我们提出了重检测模块,来解决目标消失的问题。最后,我们采用更新模块,来控制追踪器的线上更新。
相机动作估计模块-CME
本模块的目的是基于图像配准来重置局部跟踪器的区域,其中参考帧的搜索区域映射到当前帧。由于三维太复杂,我们简化为二维。
首先,我们提取参考帧和当前帧的尺度不变特征变换(SIFT)。从之前10帧中选择合适的图片,作为参考帧。多提一句,由于重检测模块输出不连续的目标轨迹,我们删除了那些用到全局追踪器结果作为最终结果的帧。
其次,我们匹配关键点,然后用一个变换矩阵O来建模相机的动作。
最后,参考帧的搜索区域被O映射到当前帧,Figure 3提供了基于CME搜索区域的映射示意图。当前帧的搜索区域Rt公式如下:
R
t
=
T
(
R
t
r
;
O
)
R_t=T(R_{t_r};O)
Rt=T(Rtr;O)
如此,CME保障了局部追踪器中的稳定搜索区域。
边界框细化模块-BBR
我们用SuperDiMP作为局部跟踪器,然后用DiMP的分类器和PrDiMP的边界框回归。然而,边界框并不能精确地圈出物体,所以我们提出了两阶段跟踪策略:粗糙定位+边界框细化。因为Alpha-Refine是一个不错的细化模型,因此本文的BBR模块使用Alpha-Refine Module。
如Figure 4所示,BBR可以被分为4步:
- 将局部追踪器的粗糙结果扩展为同心搜索区域
- 用一个骨干参数共享的网络从获得的搜索框搜索区域和第一帧的模板区域里提取特征
- 用特征融合层将获得的特征融合(获得的+模板的)
- 用边界框回归器将边界框和融合特征图回归
重检测模块-RD
当目标跑出画面或背景杂乱无章时,局部追踪器难以再检测到目标。此时就需要RD来重新定位目标。然而,当且仅当物体跑出画面的时候重定位才是合理的,如何避免不需重定位时瞎重定位呢?我们采用MDNet作为验证器。验证器在每帧都会评价当前局部追踪器给出结果的准确性并给出评分,如果评分连续5帧都低于某一阈值,就启动RD。
当RD启动,我们用Global Track方法来给出可能的候选框。Global Track是一个全局物体搜索方法,不带有任何的局部偏好。具体而言,一个网络会提取模板帧的特征&&全局的特征,然后用卷积算子来生成和模板匹配的候选对象。然后一个带有目标目的的RCNN网络对获得的候选框分类回归,获得TOP-K候选框。(K=5 in this experiment)
我们通过一些先验信息来淘汰掉一些候选框,然后每个候选框被验证器打一个置信度分数。置信度最高的框最终输出。一旦RD给出了一个结果,我们就重置局部追踪器的搜索区域。
更新模块-MU
在我们的框架中,局部追踪器和验证器需要时不时地更新。我们采用Meta-Updater作为MU,在每帧都会告知追踪器是否需要更新。MU考虑了当前的可判别性、几何和外观线索。
Meta-Updater
将级联LSTM模块的重要线索编码为向量非常重要。
对于几何线索,MU利用边界框的时间变化来代表目标的动作信息,第t帧的边界框标为bt。对于可判别性线索,MU用局部追踪器第t帧的response map(Mt)来表示差别信息。
s
t
C
=
m
a
x
(
M
t
)
v
t
R
=
f
R
(
M
t
;
W
R
)
s_t^C=max(M_t)\\ v_t^R=f^R(M_t;W^R)
stC=max(Mt)vtR=fR(Mt;WR)
其中s、v分别代表置信度分数&response vector。而外观得分是由模板目标I0和第t帧目标It的差距得到的:
s
t
A
=
∣
∣
f
A
(
I
t
,
W
A
)
−
f
A
(
I
0
,
W
A
)
∣
∣
F
s_t^A=||f^A(I_t,W_A)-f^A(I_0,W_A)||_F
stA=∣∣fA(It,WA)−fA(I0,WA)∣∣F
其中f(.;W)是基于ResNet50的CNN模型,有参数W。
如图5所示,在每帧里,四个参数被转换为向量,标记为xt。然后得到的一系列向量被送入三阶段级联LSTM网络,其输出将会被两个全连接层再加工,获得一个二值输出。
(为什么有两个fc层呢?)
局部追踪器的更新细节
DiMP的更新策略是,先用第一帧的数据增强结果来初始化分类器。再追踪的过程中,收集下来置信度比较高的样本,然后分类器每20帧更新一次。但是我们让MU来决定是不是该更新了,在追踪过程中,只要MU给出了一个高于阈值的更新分数,训练样本就会被采集,然后分类器更新。btw,训练数据集的大小限制为50。
验证器的更新细节
我们用MDNet作为验证器,其有两个更新策略:当置信度分低于阈值时施行短期更新;当置信度分高于阈值时施行长期更新(定期更新)。通过使用MU,我们会在置信度分高于阈值时收集正样本和负样本,于是验证器会用收集的样本定期更新。
实验
对比实验
在ICCV 2021 Anti-UAV Challenge test-dev subset上评估的Acc达0.67,超过了其它传统算法。
LSOTB-TIR是一个包含1400个视频和47类物体的数据集。而评价数据集包含12个挑战,例如快速移动,尺寸变化和移出视野等。Figure 6展示了我们的追踪器和其它算法的成功/精准曲线:
此外,在NFS、OTB2015、UAV123、GOT-10k、TrackingNet、LaSOT、VOT2019LT等短期、长期数据集上测试的结果也都是本文名列前茅。
消融实验
Table 6展示了各个模块的消融实验,发现每个模块都非常有用,不能摒弃:
实验中有一个很重要的超参数,就是RD模块的TOP-K候选框中的K。Table 7展示了K取不同值时的检测效果,发现K=5时最好,印证了本论文的参数设置的正确性。