LightTrack: Finding Lightweight Neural Networks for Object Tracking via One-Shot Architecture Search

Abstract

 提出了一个LightTrack,使用神经架构搜索(NAS,Neural  Architecture Search)去设计轻量级高效对象跟踪器

对比SOTA跟踪器:1、可以找到性能优越的跟踪器。2、使用更少的模型触发器和参数。

Introduction

在跟踪模型越来越繁重,越来越贵,阻碍了在实际应用中的部署,模型尺寸和效率受到了高度限制。例如

如何解决复杂性和效率性:①模型压缩 ②紧凑的模型设计

现有的现成压缩技术(剪枝Pruning)和量化Quantization))可以降低模型的复杂性,但是会由于信息的丢失,不可避免地带来不可忽略的性能下降,且手工制作新模型难度高。

 基于一次性NAS提出的方案

神经架构搜索(NAS)自动化轻量级模型→在资源有效的硬件平台上高效地执行搜索的跟踪器。

一般的目标跟踪器需要ImageNet预训练,NAS算法需要目标跟踪任务的性能反馈作为监控信号 。

LightTrack:对所有可能的架构进行编,分为主干超网(Backbone Supernet)和头部超网(Head Supernet)

主干超网:在ImageNet上预先训练,使用跟踪数据进行微调

头部超网:直接根据跟踪数据进行训练

 超网只训练一次,候选体系结构直接从超网继承权重,体系结构搜索在经过训练的超网上执行,使用跟踪精度和模型复杂性作为监督指导。

在降低模型复杂度方面,有一个由轻量级构建块组成的搜索空间深度可分离卷积(Depthwise Separable Convolutions)反向剩余结构(Inverted Residual Structure),这些搜索空间只允许NAS算法搜索更紧凑的神经结构,平衡跟踪性能和计算成本

Contribution:

开发了一种新的一次性NAS构想,用来寻找有前途的跟踪体系架构

设计了一个轻量级搜索空间和用于目标跟踪的专用搜索管道,用于搜索的跟踪器可以部署在资源有限的各种平台上。

Related Work

 目标跟踪:

连体跟踪器(Siamese)

开创性工作在SiamFC[Fully-convolutional siamese networks for object tracking]和SINT[Siamese instance search for tracking],将原始特征对应于连体框架相结合。

①精确地盒子估计 ②强大的主干  ③在线更新:

利用锚定或无锚定机制进行边界框估计,提高定位精度,利用ResNet代替AlexNet,增强特征表达能力,在线更新和连体结构结合,增强性能。

神经架构搜索(NAS)

目标:神经网络结构设计自动化

使用一次性权重共享策略来分摊搜索成本(训练单个参数化超网络模型,子网之间共享权重)

均衡采样的单路径是以此激发模式中的一种代表性方法。在每次迭代中,只对一条随机路径进行采样,使用一批数据对路径进行训练。

在完成训练后,子网可以按照共享权重进行排序,可微方法是将搜索空间放松为连续的,在梯度下降时可以优化搜索。

一次性NAS预选

一次性NAS将所有候选体系结构视为超网的不同子网,在有公共组件的体系结构之间共享权重。

架构搜索空间A编码在超网中,表示为N(A,W)W是超网的权重,在候选体系结构中共享

子网α∈A N

最优结构α的搜索*表示为嵌套优化问题。 

余数函数是通过最小化训练数据集上的损失函数Ltrain来优化超网N的权重W,而目标函数是通过基于学习到的超网权重W对验证数据集上的子网精确度Accval来进行排序搜索架构。只需要训练单个超网N的权重,然后通过从一次性超网继承训练过的权重,在不进行任何单独训练的情况下,评估子网。增强了体系结构的性能评估。

One-shot从超网N中抽取子网进行优化

通过单路径均匀抽样策略(每一批仅从超网中抽样一条随机路径进行训练。)将超网训练和架构优化解耦。通过进化算法从一次性超网中找到最有希望的子网。

LightTrack

Challenges:

 ①目标跟踪器对图像分类任务进行模拟训练,初始化,NAS算法来自目标任务的监控信号。搜索对象跟踪的体系结构需要考虑ImageNet上的预训练和跟踪数据微调

②目标跟踪器:用于特征提取的主干网络,用于目标定位的头部网络。在寻找体系结构时,NAS算法需要考虑两部分作为一个整体,使得发现的结构适合目标跟踪任务

③搜索空间对于NAS算法至关重要,NAS方法原则上可能发现的神经架构,为了找到轻量级架构,搜索空间需要包含紧凑且低延迟的构建块

总结就是有一个深度可分离卷积反向残差结构组成轻量级搜索空间,其中可以构建有效的跟踪体系结构

Tracking Via One-shot NAS

权重共享策略,可以不用从头开始对每一个候选网络进行预训练。将主干架构的搜索空间编码为超网,而主干网络只在ImageNet中预训练一次,然后就在不同的主干架构(一次性模型的子网)之间共享其权重。下面的公式就是ImageNet的预训练,通过优化分类损失函数

 

表示主干架构的搜索空间,表示主干超网的参数

预训练权重在不同的主干架构之间分享,作为后续跟踪架构搜索的初始化

这种权重分享方案将训练成本降低了几个数量级,无需每个子网都进行ImageNet预训练

目标跟踪的深度神经网络:

①用于特征提取的预训练主干网络

②目标定位的头部网络

两部分共同确定跟踪体系结构的容量。

体系结构搜索:关键是如何将主干网和头部网络作为一个整体进行搜索,以便发现的结构能够适合跟踪任务。

跟踪超网由主干和头部组成,形式为

  通过上式(2)在ImageNet上进行预训练,生成

 头部超网包括空间中所有可能本地化网络,可以在架构之间共享权重

 主干网络和头部架构的联合搜索是在跟踪数据上进行的,一次性NAS重新定义

 其中约束函数是训练跟踪超网并同时优化权重目标函数是寻找最优主干和头部,通过在跟踪数据的验证集上对候选体系结构的准确性进行排序。

只需要推测,架构权重继承自(无需进行额外训练)

 在开始训练超网之前,使用预训练权重初始化参数可以提高跟踪性能并加快收敛速度

 在搜索过程中,无法在搜索空间中对所有架构的准确性进行排名,使用进化算法来寻找最优希望的一种。

 架构约束(Architecture Constraint)

对象跟踪器需要满足额外的约束:内存占用,模型触发器,能耗。

考虑模型大小和触发器,评估跟踪器是否可以部署在特定资源受限设备上的两个关键指标。设定网络参数和失败的预算,根据需要施加约束。

 进化算法在处理不同的预算约束方面是灵活的,因为变异和交叉过程可以直接控制,以生成合适的候选对象来满足约束。使用不同的约束条件,在同一个超网上重复多次,这些属性自然使一次成功的范例对于搜索专门用于不同部署场景的跟踪体系结构来说是实用,有效的。

搜索空间(Search Space)

寻找有效的神经结构,实用深度可分离卷积(Depth-wise Separable Convolutions,DSConv)和移动反向瓶颈(Mobile Inverted Bottleneck,MBConv)以及挤压激励模块(Squeeze-excitation mudule)来构建一个新的搜索空间。由主干和头部组成

 Backbone Space  :

由六个基本块,包括内核大小{3,5,7},扩展速率{4,6}的MBConv。主干候选是由堆叠基本块来构建。在空间中的候选人由4个阶段16步:每个阶段,第一个块的步长为2,用于特征下采样,除了前两个阶段,每个阶段最多包含4个搜索块。主干空间中有14层。此空间中有6的14次方个用于搜索的主干架构。

 

 搜索空间和超网结构:表示当前快的选择数,分别表示每个块的通道数和组中重复块的最大数量。指示每个重复组中第一个块的卷积步长。分类和回归头运行使用不同数量的通道表示为。输入是一个大小为256*256*3的搜索图像。

 Head Space:头部架构候选包含分类与回归,最多可以有8个可搜索层。第一层是DSConv,内核大小为{3,5},通道号为{129,192,256}。随后7层遵循与第一层相同的通道设置,并且具有{3,5}的内核选择。

额外的跳跃连接用于实现头部结构的弹性深度。头部连接不包括7的内核选择,因为特征分辨率相对较低,头部空间包含个用于搜索的架构。

对于哪一层的特征更适合与目标跟踪问题,没有明确

在搜索空间添加一个维度,运行一次性方法自动确定输出特征层。超网训练时,从主干超网的最后8个块中随机抽取一个端点层,并使用拾取层的输出作为提取的特征。这有可以对不同的可能块进行采样,并允许进化搜索算法评估哪一层更好。

定义搜索空间包含从20M到1.4G浮点数的架构,参数大小从0.4-5.4M。这样的空间比现有的手工网络轻得多。低复杂性空间使得所提出的一次性NAS算法更容易找到有前途的轻量级跟踪体系结构。

 

搜索管道(Search Pipeline)

 预训练主干网络→训练跟踪超网→在训练的超网上用进化算法搜索

 ①预训练主干网络(Pre-training Backbone Supernet)

主干超网对搜索空间中所有可能的主干网络进行编码

如式2所表示,主干超网的的预训练旨在优化ImageNet上的交叉熵损失。为了解耦各个子网的全职,对于预训练进行均匀路径采样。在每个批次中,只对一条随机路径进行前馈和反向传播采样,其他路径则被冻结。

 ②训练跟踪超网Training Tracking Supernet

跟踪超网本质上是连体跟踪器的变体,一堆跟踪图像作为输入,包含示例图像和搜索图像。示例图像表示感兴趣的对象,搜索图像表示后续视频帧中的搜索区域。两个输入都是经过预训练的主干网络进行处理,进行特征提取。生成的两个特征图相互关联以生成相关体积。头部网络包含一个分类分支和一个用于对象定位的回归分支。

训练也采用单路径均匀抽样方案,在每次迭代中,优化器更新从主干和头部超网中采样的一条随机路径。等式(3)的损失函数包括用于前景北京分类的常用二进制交叉熵损失和用于对象边界框回归的IoU损失。

③进化算法搜索(Searching with Evolutionary Algorithm)

在经过训练的超网上执行进化搜索。超网中的路径在进化控制器的指导下被拾取和评级。

初始化一组体系结构,top-k体系结构被选为父级,以生成子网络。下一代网络是通过变异和交叉生成的。对于交叉,将两个随机选择的候选者交叉以生成一个新的候选者。对于变异,随机选择的候选以0.1的概率对其每个选择块进行突变以产生新的候选。重复交叉和变异以产生足够多的新候选,满足(4)中给定的架构约束。

 批处理规范化(Batch Normalization):在搜索过程中,子网会从超网中随机取样。

Note:一条路径上的批统计信息应该独立于其他路径

在推理之前,重新计算每个单个路径(子网)的批量统计信息。从跟踪训练集中抽样一个随机子集,评估的单个路径重新计算批量统计信息。

Experiment

Implementation Details

搜索(Search)

再训练(Retrain)

测试(Test)

 看了,没记。

Results and Comparisons

 VOT-19上的比较。G和M表示用GoogleNet和MobileNet作为骨干。DiMP表示DiMP的实时版本,Ocean(off)表示Ocean的离线版本,

 GOT-10k上的比较。R,G分别表示ResNet-50和GoogleNet

 TrackingNet 测试比较。 A,R分别表示AlexNet和ResNet-50

LaSOT测试数据集上的比较

 

资源有限平台上的运行时速度

 

消融和分析(Ablation and Analysis)

 Component-wise Analysis

LightTrack中不同组件对于VOT-19的影响,基线是一个手工制作的移动跟踪器,以MobileNet-large作为骨干(切除最后阶段),从最后一层以16步的步伐输出特征,头部网络在分类和回归分支中堆叠了8层深度可分离卷积。DSConv,内核大小3*3,通道数量256。

对于消融,将基线中的组件添加到搜索中,并使用自动搜索的组件更改手工制作的架构,

 

 Impact of ImageNet Pre-training

进行0,200,500个epoch的预训练,评估它们对于最终跟踪性能的影响,如表6所示。

 Analysis of Searched Architecture

 LightTrack(Mobile)搜索架构。可搜索的灰色,固定/预定义的部分用灰色,Stem由一个普通的二维卷积层(内核3*3,步长2),一个BatchNorm层和一个Switch激活层组成。DSConv表示深度可分离卷积,MBConv表示挤压激励的移动倒置瓶颈。

上图表示本文的一次性NAS方法搜索的LightTrack-Mobile架构

(1)大约有50%的主干块使用MBConv,内核大小为7×7(大的接收域可以提高定位精度)

(2)被搜索的体系结构选择倒数第二块作为特征输出层(跟踪网络不喜欢高级功能)

(3)分类分支比回归分支包含更少的层,可能归因于,相对于精确地边界盒回归,粗目标定位相对容易。

 

Conclusion

 利用神经结构搜索技术设计轻量级的目标跟踪器。LightTrack重新定义目标跟踪专用的一次性NAS,引入了搜索空间。LightTrack实现了最先进的性能,同时使用了更少的浮点数和参数。此外还可以在各种资源受限的平台上实时运行。

 

论文链接:[2104.14545] LightTrack: Finding Lightweight Neural Networks for Object Tracking via One-Shot Architecture Search (arxiv.org)icon-default.png?t=LA92https://arxiv.org/abs/2104.14545

 代码链接:GitHub - researchmm/LightTrack: [CVPR21] LightTrack: Finding Lightweight Neural Network for Object Tracking via One-Shot Architecture Searchicon-default.png?t=LA92https://github.com/researchmm/LightTrack

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值