LightTrack:Finding Lightweight Neural Networks for Object Tracking学习笔记

LightTrack学习笔记

1.背景

  目前,最先进的跟踪器变得越来越沉重和昂贵,这限制了他们在资源有限的应用程序的部署,通常有两种方法可以解决复杂性和效率的问题,第一种是量化和剪枝,第二种是更精简的网络结构设计,而本文提出了一种利用NAS来自动设计轻量级模型的方法,使搜索的跟踪器能够在资源有限的硬件平台上搞笑地进行跟踪。

2.贡献

(1)第一次将NAS用于目标跟踪领域,并开发了一个新的one-shot NAS公式,并使用他来寻找更好的跟踪结构。
LightTrack将所有可能的网络架构编码成一个主干超网和一个头超网,其中主干超网是在ImageNet上进行预训练的,然后用跟踪数据进行微调,而头超网直接用跟踪数据进行训练。超网只需要训练一次,然后每个候选结构直接从超网中继承其权重,以训练的准确性和模型的复杂性作为监督指导,在训练的超网上进行架构搜索。
(2)设计了一个轻量级的搜索空间和一个专用的目标跟踪搜索管道。
为了降低模型的复杂性,设计了一个由轻量级构建块组成的搜索空间,如深度可分离卷积和倒残余结构。

3.One-Shot NAS详解

3.1 基本原理

  传统的NAS方法需要从零开始训练成千上万的候选结构,从而导致无法负担的计算开销,而最近的方法都是采用了one-shot的权重分享策略来摊销搜索成本。其关键的思想是训练一个单一的超参数化超网络模型,然后跨子网共享权重。而权重共享的一个重要假设是,从超级网络继承权重的验证精度在重新训练后接近测试精度,或者至少具有很高的预测性。但是,由于超网的子网络之间的权重耦合,这一点通常很难实现。Single Path One-shot方法给出了一种解决方法,就是分开训练超网,每次只采样一条路径。

3.2 算法实现

下面就将详细介绍如何训练超网:
  作者依然采用了基于权重共享的单路径模型,在每个步骤中,所有候选结构都共享权重,并且对单路径的权重进行优化。同时作者将新颖性搜索引入到NAS中,通过新颖性搜索来训练超网。
  而上面提到的新颖性搜索指的是首先,随机采样一条路径进行训练,直到所能满足的最大储存结构的最大数量,之后随机选择一条前面训练过的路径后,更新这条路径的novelty架构参数,用这个更新之后的novelty架构参数离散出一条路径作为采样的路径进行训练。

具体的算法是:
在这里插入图片描述
下面将介绍什么是novelty参数、目标函数以及novelty参数如何更新:
作者对于一个子结构 α \alpha α的novelty定义是:
在这里插入图片描述
这个公式的意思就是这个子结构的K个最近邻结构到它的欧式距离的平均值为这个结构 α \alpha α的novelty,欧式距离的平均值越大,代表这个子结构的 α \alpha α的novelty越大。

目标函数是K个novelty的期望值。

对novelty架构参数 α θ \alpha_{\theta} αθ求导,公式如下:
在这里插入图片描述
最后一步用Gradient Ascend更新架构参数:
在这里插入图片描述
最优结构 α ∗ \alpha^* α如下公式表示:
在这里插入图片描述

4.LightTrack详解

4.1 存在挑战

(1)目标跟踪器需要对图像分类任务的模型预训练才能进行良好的初始化。而NAS算法需要来自目标任务的监督信号。搜索目标跟踪的架构需要考虑ImageNet上的预训练和跟踪数据上的微调。
(2)目标跟踪器通常包含两个部分:用于特征提取的主干网络和用于目标定位的头网络。在寻找新的架构时,NAS算法需要将这两部分作为一个整体来考虑,这样所发现的结构就适合于目标跟踪任务。
(3)搜索空间对于NAS算法是至关重要的,它定义了NAS方法原则上可以发现哪些神经架构。要找到轻量级架构,搜索空间需要包括紧凑的低延迟构建块。

4.2 Tracking via One-Shot NAS

  将主干架构的搜索空间编码为一个超网 N b N_b Nb,这个主干超网只需要在ImageNet上预进行一次训练,然后它的权重在不同的主干架构上共享,它们是one-shot模型的子网。ImageNet的预训练是通过优化分类损失函数 L p r e t r a i n c l s L_{pre_train}^{cls} Lpretraincls来进行的在这里插入图片描述
  此公式中, N b N_b Nb代表backbone结构的搜索空间, W b W_b Wb表示的是超网backbone N b N_b Nb 的参数,预训练权重 W b p W_b^p Wbp在不同主干架构中共享,并作为后续跟踪架构搜索的初始化。这种权重共享方案允许ImageNet的预训练只在supernet backbone上执行而不是每个子网,从而降低了培训成本的数量级。
  用于目标跟踪的深度神经网络通常包括两个部分:一个用于特征提取的预先训练的主干网络和一个用于目标定位的头部网络。这两个部分共同确定了跟踪体系结构的容量。因此,对于架构搜索,将主干网络和头部网络作为一个整体进行搜索是至关重要的,这样所发现的结构就非常适合跟踪任务。因此我们构造了一个由主干网 N b N_b Nb和头部网 N h N_h Nh组成的超网N,主干超网网络首先由上公式(2)在ImageNet上进行预训练,并产生共享权重 W b p W_b^p Wbp。头部网网络Nh包含了空间中所有可能的定位网络,并在跨架构中共享权重 W b W_b Wb。对跟踪数据进行主干和头架构的联合搜索,并将one-shot NAS重新定义为:
在这里插入图片描述

网络架构的约束: 根据参数和Flops作为网络架构搜索好坏的评价指标
在这里插入图片描述

进化算法在处理不同的预算约束方面是灵活的,因为突变和交叉过程可以被直接控制,以生成适当的候选者来满足约束。

4.3 Search Space

  为了寻找有效的神经结构,我们使用深度可分离卷积和待着SE模块的MBConv来构建了一个新的搜索空间。空间由主干Ab和头部Ah组成,具体网络结构如表1所示。
在这里插入图片描述

MBConv:
在这里插入图片描述

4.4 Search Pipeline

  LightTrack包括三个顺序阶段:预训练backbone supernet,训练跟踪supernet,以及在训练的超网上使用进化算法进行搜索。整个管线图如图2所示。
在这里插入图片描述
Phase 1: Pre-training Backbone Supernet:
  Backbone Supernet N b N_b Nb 编码搜索空间数据库中所有可能的主干网络。 N b N_b Nb的结构由表1表示。由公式(2)定义,预训练backbone supernet N b N_b Nb是在imagenet上进行交叉熵损失来进行优化。为了解耦单个子网的权值,对预训练进行了统一的路径采样。换句话说,在每个批处理中,只有一个随机路径被采样以进行前馈和反向传播,而其他路径则被冻结。

Phase 2: Training Tracking Supernet
  跟踪超网N的结构如图2(middle)所示。在本质上,它是Siamese跟踪器的一个变体。具体地说,它以一对跟踪图像作为输入,包括一个示例图像和一个搜索图像。示例图像表示感兴趣的对象,而搜索图像表示后续视频帧中的搜索区域。这两个输入都由预先训练好的主干网络进行处理,以进行特征提取。生成的两个特征图是交叉相关,以生成相关卷。head网络包含一个分类分支和一个用于目标定位的回归分支。
训练也采用了单路径均匀采样方案,但涉及到跟踪头和指标。在每次迭代中,优化器更新从主干网和头超级网采样的随机路径。等式(3)中的损失函数 L p r e − t r a i n c l s L_{pre-train}^{cls} Lpretraincls,包括常用于前景背景分类的二值交叉熵损失和对象边界盒回归的IoU损失。

Phase 3: Searching with Evolutionary Algorithm.
  最后一个阶段是在训练过的超网上进行进化搜索。在进化控制器的方向下,选择和评估超网中的路径。首先,一个架构种群是随机初始化的。top-k的架构被选为父级来生成子网络。下一代网络是由突变和交叉生成的。对于交叉,两个随机选择的候选者被交叉,以产生一个新的候选者。对于突变,一个随机选择的候选者突变其每个选择块的概率为0.1,从而产生一个新的候选者。重复交叉和突变,以生成足够的新候选对象,以满足等式(4)中给定的架构约束。
  一个必要的细节是关于BN。在搜索过程中,子网会从超级网中进行随机采样。问题是,一个路径上的BN应该独立于其他。因此,在推理之前,我们需要重新计算每个单一路径(子网)的BN。我们从跟踪训练集中采样一个随机子集,以重新计算要计算的单个路径的批处理统计量。它非常快,只需要几秒钟,因为不需要反向传播。

5.实验结果

5.1 LightTrack搜索的网络结构

在这里插入图片描述

5.2 与最新跟踪算法的结果比较

在这里插入图片描述
速度
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值