| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 目标跟踪 ATOM(ATOM: Accurate Tracking by Overlap Maximization) -> 正文阅读 |
|
[人工智能]目标跟踪 ATOM(ATOM: Accurate Tracking by Overlap Maximization) |
文章标题:《ATOM: Accurate Tracking by Overlap Maximization》 CVPR 2019 的一篇文章。 Abstract虽然近年来,视觉跟踪任务的鲁棒性(robustness)有了惊人的提升,但是准确度(accuracy)仍然进步不大。人们把专注于开发强大的分类器,但是严重忽略了准确的目标状态估计(target state estimation)(也就是包围框的回归问题)。实际中,许多分类器采用简单的多尺度搜索方法(例如 SiamFC)来估计目标的包围框。我们认为这种方法本质上是局限的,因为目标估计是一个很复杂的事情,需要有该目标的高层次信息(high-level knowledge)。 我们提出了一个新颖的跟踪架构来解决这个问题,该架构由专门的目标估计(target estimation)和分类(classification)组件构成。通过广泛的离线学习,把高层次信息融入到目标估计中。我们训练目标估计组件,用于预测目标和估计出来的包围框之间的 overlap。通过精心地整合 target-specific information ,我们的方法达到了前所未有的包围框准确度。我们进一步介绍了一个分类组件,是在线训练的,用于保证受到干扰时能有强大的分辨能力。 本算法在 5 5 5 个具有挑战性的基准上都刷到了 state-of-the-art,在大型数据集 TrackingNet 上,我们的跟踪器 ATOM 比先前的 No.1 提高了接近 15 % 15\% 15%,运行速度在 30 FPS 30 \text{FPS} 30FPS 以上。 1 Introduction在线跟踪是个很难的问题,算法必须在最小的 supervision(监督)下在线学习目标的外观模型(appearance model ),通常是在视频的第一帧做这件事。 模型要对没有见过的方面具有泛化能力,包括不同的姿态,视角,光照等。跟踪任务可以分解为一个分类(classification)任务和一个估计(estimation )任务。对于前者,要通过把图像区域划分为前景和背景,从而鲁棒地提供目标的粗略定位。后者是估计目标状态,通常用一个边界框表示。 当前的问题: 本文做法: (2)在线训练分类器 (用共轭梯度在线训练) 效果: 2 Related work在视觉跟踪领域,通常把目标分类(target classification)和目标估计(target estimation)分成两个既独立,又关联的子任务。目标分类是判定 “目标在某一图像位置是否存在” 。然而能给到该任务的信息很少,例如只有图像坐标。目标估计要找到它的完整状态,通常是用包围框来表示。在最简单的情况下,目标是刚性的,只在画面中做平移。这时目标估计可以简化为寻找它在二维图像中的定位,于是不需要与目标分类任务分开考虑。 然而实际情况要复杂得多,物体的视角和姿态会发生根本性变化,导致包围框的估计变得复杂。 过去几年,通过在线训练强大的分类器,目标分类问题得到很好的解决,特别是基于相关滤波(correlation-based)的跟踪器得到广泛应用。但是一直以来都无法精确地估计目标(包围框)。即使要找到一个单参数的尺度因子,也是一个巨大的挑战。大多数方法都采用蛮力多尺度检测的策略,计算负担很大。因此,默认的方法是用一个单独的分类器来做状态估计。但目标分类器不是对目标状态的所有方面都敏感,例如宽度和高度。实际上,目标状态在某些方面具有不变性,可以考虑利用这个特性来提高模型的鲁棒性。我们不依赖于分类器,而是学习一个专门的目标估计组件。 对于目标包围框的精确估计,是一个复杂的任务,需要有高级的先验知识。边界框依赖于目标的姿态和视角,这不能被建模为一个简单的图像变换(例如统一的图像缩放)。因此,从零开始在线学习准确的目标估计是非常具有挑战性的。最近有一些方法,通过大量的离线训练来整合先验知识。例如 SiamRPN,还有它的延伸算法,都展现了包围框回归的能力。然而这些暹罗(siamese)跟踪方法通常在目标分类问题上挣扎。 不像那些基于相关(correlation-based)的方法,暹罗跟踪由于没有做在线更新,没有明确地考虑干扰因素。虽然有的使用简单的模板更新技术,改善了一点点,但它还没有达到强大的在线学习模型的水平。与暹罗跟踪方法相比,我们在线学习分类模型,同时利用了大量的离线训练来进行目标估计任务。 3 Proposed Method本文提出的跟踪方法由两部分组成:(1)离线训练的目标估计模块。(2)在线训练的目标分类模块。 图 2 2 2:我们在 预训练 的 ResNet-18 骨干网络上添加了两个模块。目标估计 模块是在大规模数据集上离线训练的,用来预测目标的 IoU overlap。IoU Modulation 模块使用参考图像(reference image)和初始目标框,计算出带有特定目标外观信息(target-specific appearance information)的调制向量(modulation vectors)。IoU Predictor 模块从测试图片拿到深度特征和建议的包围框,以及上面来的调制向量,估计每一个包围框的 IoU。目标分类 模块是在线训练的,用全卷积的方式输出目标置信度。 目标分类和目标估计 任务共用同一个骨干网络,这个骨干是在 ImageNet 上预训练的 ResNet-18,然后在这里微调。 目标估计 模块用的是 IoU-perdictor 网络,这个网络是用大规模视频跟踪数据集和目标检测数据集离线训练的,在跟踪的时候冻结权重。 目标分类 用了另外一个头,它是完全在线学习的。它经过专门的训练,使用当前帧的骨干网络特征,预测目标的置信度分数,从而把跟踪目标从场景里和其它东西区分出来。训练和预测都用全卷积的方式,以保证效率和覆盖范围,在线训练这样一个网络不太容易,像随机梯度下降这类传统的方法是很不理想的。于是我们提出了一种优化策略,它基于 共轭梯度 和 高斯-牛顿 法,可以在线快速训练。我们还用 PyTorch 实现了前向传播和反向传播,很容易使用。 3.1 Target Estimation by Overlap Maximization这一节详细介绍目标估计模块。目标估计模块的目的是,确定目标包围框,给定粗略的初始估计。我们用到了 IoU-Net,与传统的方法相比,IoU-Net 用于预测 “目标真实框” 和 ”输入的候选框” 之间的 IoU,然后通过最大化 IoU 的预测来实现包围框的估计。 为了更好地描述目标估计模块,这里先简单复习一下 IoU-Net。给定: 这里
B
B
B 的参数化表示为
B
=
(
c
x
w
,
c
y
h
,
log
?
w
,
log
?
h
)
B =\left(\dfrac{c_x}{w}, \dfrac{c_y}{h}, \log{w}, \log{h}\right)
B=(wcx??,hcy??,logw,logh),其中
(
c
x
,
c
y
)
(c_x, c_y)
(cx?,cy?) 是包围框中心点的坐标。 Network Architecture: 要跟踪的对象是事先未知的,因此难点是有效地利用参考图像来构建 IoU 预测架构。我们最开始的实验表明,把 “参考图像的特征” 和 “当前图像的特征” 简单地融合起来性能很差。同时也发现用 Siamese 的架构得到次优的结果。于是我们提出了一种基于调制(modulation-based)的网络结果,仅根据一张参考图片,可以预测任意目标的 IoU。该架构如图(3)所示。 图 3 3 3:目标估计网络的完整结构。测试图片进入 ResNet-18,然后从 Block3 和 Block4 出来深度特征。出来的特征先各自经过两个卷积层 Conv(蓝色那两块)。然后用 PrPool 层把建议的区域池化到固定的尺寸。Reference Branch 出来的调制向量(Modulation Vector)其实是个 1 × 1 1\times1 1×1 的系数向量,用它对前面讲的池化后的特征进行通道上的相乘。再把这个特征输入到全连接层来预测 IoU。所有的 Conv 层和 FC 层都加了 BatchNorm 和 ReLU。 我们的网络有两个支路,两个支路都是用 ResNet-18 的 Block3 和 Block4 的输出作为输入。 test 支路要对当前图片估计出目标的包围框。它首先用 backbone 提取特征 x x x, 然后把它传进两个卷积层,然后根据估计的包围框 B B B ,用 PrPool 提取深度特征。由于 test 支路要为 IoU 的预测提取一般特征,这是一个更复杂的任务,与 reference 支路相比,它使用了更多的层和更高分辨率的 pooling。得到的特征表示 z ( x , B ) \color{#D94600}z(x,B) z(x,B) 的尺寸是 K × K × D z K \times K \times D_z K×K×Dz?, K K K 是 PrPool 层输出的空间尺寸。然后对从测试图片计算出来的特征表示进行调制(modulate),做法是用系数向量 c c c 对它做通道上的(channel-wise)乘法。这就为 IoU 的预测提供了目标特定(target-specific)的表示。调制后的向量传进 IoU 预测模块 g g g,该模块是由 3 3 3 个全连接层组成的。对包围框 B B B 的 IoU 预测公式如下: IoU ( B ) = g ( c ( x 0 , B 0 ) ? ? ? z ( x , B ) ) (1) \text{IoU}(B) = g\left( \textcolor{#007500}{c(x_0,B_0)} \, \cdot \, \textcolor{#D94600}{z(x,B)}\right) \tag{1} IoU(B)=g(c(x0?,B0?)?z(x,B))(1) 根据标注的数据,通过最小化公式(1)的预测误差来训练网络。跟踪的时候,根据 B B B 来最大化公式(1),以估计目标状态。 Training: 网络头的权重采用 MSRA 初始化,backbone 的权重在训练时一直冻住。损失函数是平均平方误差(MSE),训练 40 40 40 个 epochs,每个 epoch 64 64 64 个图像对。优化器用的 ADAM,初始学习率 1 0 ? 3 10^{-3} 10?3,每 15 15 15 个 epoch 乘以系数 0.2 0.2 0.2。 3.2 Target Classification by Fast Online Learning虽然目标估计模块提供了准确的边界框输出,但是缺乏能力鲁棒地把目标从干扰背景中区分出来。我们用第二个网络头作为目标估计的补充,它只有一个目的,就是做区分。与估计组件不同,目标分类模块是专门在线学习的,用来预测目标的置信度得分。由于目标分类模块的任务是粗略地提供目标的 2 D 2\text{D} 2D 位置,我们希望它与尺寸和比例无关(invariant)。相反,它应该通过最小化误检来强调鲁棒性。 Model: 受 DCF 的启发,我们基于 L 2 L_2 L2? 分类误差制定了类似的学习目标: L ( w ) = ∑ j = 1 m γ j ∥ f ( x j ; w ) ? y j ∥ 2 + ∑ k λ k ∥ w k ∥ 2 (3) L(w) = \sum^{m}_{j=1} \gamma_j \| f(x_j;w) - y_j \|^2 + \sum_k \lambda _k \| w_k \| ^2 \tag{3} L(w)=j=1∑m?γj?∥f(xj?;w)?yj?∥2+k∑?λk?∥wk?∥2(3)每个训练样本(特征图 x j x_j xj?) 都用分类置信度 y i ∈ R W × H y_i \in \mathbb{R}^{W \times H} yi?∈RW×H 来标注,它是一个以目标为中心的高斯分布采样(sampled Gaussian function)。在损失函数中,每个训练样本的影响用权重 γ j \gamma_j γj? 来控制,参数 w k w_k wk? 的正则化力度设为 λ k \lambda_k λk?。 Online Learning: 于是公式(3)的损失函数等价于残差向量的
L
2
L^2
L2 范数:
L
(
w
)
=
∥
r
(
w
)
∥
2
L(w) = \| r(w) \|^2
L(w)=∥r(w)∥2。 我们利用二次高斯-牛顿(Gauss-Newton)近似:
L
~
w
(
Δ
w
)
≈
L
(
w
+
Δ
w
)
\tilde{L}_{w} (\Delta w) \approx L(w+ \Delta w)
L~w?(Δw)≈L(w+Δw)。 这里我们已经有定义 r w = r ( w ) r_w = r(w) rw?=r(w),以及 J w = ? r ? w J_w = \dfrac{\partial r}{ \partial w} Jw?=?w?r? 是 r r r 在 w w w 处的雅克比(Jacobian)。新的变量 Δ w \Delta w Δw 表示参数 w w w 的增量。 这个高斯-牛顿子问题(式子(4)) 形成了一个正定二次方程,使得我们可以用一些特殊的机制,例如共轭梯度(Conjugate Gradient,CG)。关于 CG 的完整描述不在本文范围内,直观来说,它就是要在每一次迭代中找到一个最优的搜索方向 p p p 和步长 α \alpha α。由于 CG 算法是由一些简单的向量操作组成的,可以用几行 python 代码搞定。唯一的挑战就是要为搜索方向 p p p 计算式子 J w T J w p J_w^T J_w p JwT?Jw?p。 我们知道 CG 已经在一些 DCF 的跟踪器上成功地应用了,然而,这些方案依赖于对所有操作手撸代码来实现 J w T J w p J_w^T J_w p JwT?Jw?p,即使对于简单的模型(如 式子(2))也需要花许多时间求导,乏味地工作。而且也缺乏灵活性,要是 式子(2) 有细微的修改,例如加了一层、改变了非线性,那么你又要重新求导、手撸代码实现。 本文证明了如何为 式子(4) 实现共轭梯度,通过采用深度学习框架(例如 PyTorch)中的反向传播函数。我们的实现仅需要使用者提供 r ( w ) r(w) r(w) 以计算残差,这很容易实现。因此,我们的算法适用于任何形式的像 式子(3) 这样的浅层学习问题。 为了找到一种策略以计算
J
w
T
J
w
p
J_w^T J_w p
JwT?Jw?p,我们首先考虑一个向量
u
u
u,它的尺寸与
r
(
w
)
r(w)
r(w) 相同。通过计算它们内积后的残差,我们得到:
?
?
w
(
r
(
w
)
T
u
)
=
?
r
?
w
T
u
=
J
w
T
u
\dfrac{\partial}{\partial w} \left( r(w)^T u \right) = \dfrac{\partial r}{ \partial w}^T u = J_w^T u
?w??(r(w)Tu)=?w?r?Tu=JwT?u 基于以上结果,我们给出了完整的优化过程: 它使用
N
G
N
N_{GN}
NGN? 次高斯-牛顿迭代,每个迭代里包含
N
C
G
N_{CG}
NCG? 次共轭梯度迭代(用于最小化子问题 式子(4))。 算法(1) 中每次 BackProp \text{BackProp} BackProp 的调用,都把内积中的其中一个向量当做常数,即,反向传播梯度的时候不会经过它。为了清晰起见,这在 算法(1) 中用了注释来突出显示。 值得注意的是,该优化算法实际上是无参数的,不需要调参,只需要设置迭代次数。与梯度下降相比,基于共轭梯度的方法在每次迭代中自适应地计算学习率 α \alpha α 和动量 β \beta β。注意观察到, g g g 是 式子(4) 的梯度的负数。 3.3 Online Tracking Approach我们的 ATOM 跟踪器使用 PyTorch 实现的,在 Nvidia GTX-1080 单卡上运行速度超过 30 FPS 30 \text{FPS} 30FPS。 Feature extraction: Classification Model: 用 α = 0.05 \alpha = 0.05 α=0.05 可以使我们忽略损失(式子(3))中的易分类负样本(easy negative examples)。我们发现 ? 2 \phi_2 ?2? 的连续可微性有利于优化。 在第
1
1
1 帧中,我们通过应用不同程度的平移(translation)、旋转(rotation)、模糊(blur)和丢弃(dropout)来作为数据增强,从而得到
30
30
30 个初始训练样本
x
j
x_j
xj?。 Target Estimation: Hard Negative Mining: 如果在分类得分里检测到了干扰物峰值,我们就把这个训练样本的学习率 double,然后立即使用标准设置( N G N = 1 N_{GN}=1 NGN?=1, N C G = 5 N_{CG}=5 NCG?=5)跑一轮优化。 如果目标得分低于 0.25 0.25 0.25,我们就判定为目标跟丢了。 虽然这个策略不是我们这个框架的基本结构之一,但是能够提供一些额外的鲁棒性。 4 Experiments我们在
5
5
5 个基准上评估 ATOM:Need for Speed(NFS),UAV123,TrackingNet,LaSOT,VOT2018。 实验自己看原文… |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 9:41:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |