Paper Reading:LightTrack: Finding Lightweight Neural Networks for Object Tracking via One-Shot Archi

CVPR2021
github:https://github.com/researchmm/LightTrack在这里插入图片描述
Abstract
在过去几年中,目标跟踪取得了重大进展。然而,最先进的跟踪器变得越来越笨重和昂贵,这限制了它们在资源受限的应用程序中的部署。在这项工作中,我们提出了LightTrack,它使用神经结构搜索(NAS)设计更轻量级和高效的目标跟踪器。综合实验表明,我们的LightTrack是有效的。它可以找到性能优于手工SOTA跟踪器,如siamrpn++[30]和Ocean[56],同时使用更少的模型Flops和参数。此外,当部署在资源受限的移动芯片上时,发现的追踪器运行速度要快得多。例如,在Snapdragon 845 Adreno GPU上,LightTrack运行速度比Ocean快12倍,但使用的参数少13倍,Flops少38倍。这些改进可能会缩小目标跟踪任务中学术模型和工业部署之间的差距。LightTrack在这里发布。
1. Introduction
目标跟踪是计算机视觉中最基本而又最具挑战性的任务之一。近年来,由于深度神经网络的兴起,目标跟踪取得了显著的进展。但与此同时,追踪模型正变得越来越笨重和昂贵。例如,最新SiamRPN + +[30]和海洋[56]追踪器分别利用7.1G和20.3 G模型Flops以及11.2M和25.9M的参数来实现先进性能,比早期的SiamFC[5]的方法更复杂(使用2.7G Flops和2.3M的参数),图1的可视化。如此大的模型尺寸和昂贵的计算成本阻碍了跟踪模型在真实世界的应用,如摄像机无人机、工业机器人和驾驶助手系统,模型的尺寸和效率都受到高度限制。
在这里插入图片描述
图1:与最先进的跟踪器在EAO性能、模型Flops和VOT-19基准参数方面的比较。圆的直径与模型参数的大小成正比。提出的LightTrack优于SiamFC,SiamRPN,SiamRPN++,SiamFC++[52]和Ocean,同时使用更少的Flops和参数。彩色浏览效果最好。
有两种直接的方法可以解决复杂性和效率问题。一种是模型压缩,另一种是紧凑模型设计。现有的现成压缩技术,如剪枝和量化,可以降低模型的复杂性,但由于信息丢失,它们不可避免地带来不可忽视的性能下降[213,38]。另一方面,手工制作新的紧凑和高效的模型在工程上是昂贵的,并且严重依赖于人类的专业知识和经验。本文提出了一种新的解决方案——利用神经结构搜索(NAS)实现轻量级模型的自动化设计,使搜索跟踪器能够在资源有限的硬件平台上高效地执行。这一点很重要,因为目标跟踪器通常需要ImageNet的预训练,而NAS算法需要目标跟踪任务的性能反馈作为监督信号。基于最近的onearXiv:2104.14545v1 。我们提出了一种新的用于目标跟踪任务的搜索算法,称为LightTrack。它将所有可能的架构编码为骨干超级网和头部超级网。骨干超网先在ImageNet上进行预训练,然后用跟踪数据进行微调,而头部超网则直接在跟踪数据上进行训练。超级网只训练一次,然后每个候选体系结构直接从超级网继承其权值。以跟踪精度和模型复杂度作为监督指导,在训练的超网上进行体系结构搜索。另一方面,为了降低模型复杂度,我们设计了一个由轻量级构建块组成的搜索空间,如深度可分卷积和反向残差结构。这样的搜索空间允许一次性NAS算法搜索更紧凑的神经结构,在跟踪性能和计算成本之间取得平衡。
综合实验验证了LightTrack的有效性。它能够搜索出高效、轻量级的目标跟踪器。例如,LightTrack找到了一个5.3亿Flops跟踪器,它在VOT19基准上的EAO达到了0.33,超过了SOTA SiamRPN++,同时将其模型复杂性(48.9G Flops)降低了98.9%。更重要的是,当部署在资源有限的芯片组上时,如边缘GPU和DSP,发现的跟踪器性能非常有竞争力,运行速度比现有方法快得多。在Snapdragon 845 Adreno 630GPU,我们LightTrack运行12×速度比Ocean(38.4 vs 3.2帧/秒),在使用13×较少的参数(1.97 vs 25.9米)和38×fewer Flops(530 vs 20300M)。这种改进使深度跟踪模型很容易部署和资源受限的硬件平台上运行的实时速度。这项工作有以下贡献。
1、我们首次致力于实现目标跟踪神经体系结构的自动化设计。我们开发了一种新的一次性NAS配方,并使用它来寻找有前景的跟踪体系结构。
2、我们为目标跟踪设计了一个轻量级搜索空间和专用搜索管道。实验验证了该方法的有效性。此外,搜索的跟踪器达到了最先进的性能,可以部署在各种资源有限的平台上。
2. Related Work
对象跟踪。近年来,连体跟踪器在目标跟踪中越来越受欢迎。开创性的工作是SiamFC和SINT,他们提出将朴素的特征对应与siamese框架相结合。大量的后续工作被提出,并取得了显著的改进[10,18,32,34,49]。它们主要分为三个阵营:更精确的框估计、更强大的主干和在线更新。具体来说,与SiamFC中的多尺度估计相比,之后的SiamRPN和SiamFC++等算法利用基于锚点或无锚点的机制进行包围盒估计,大大提高了定位精度。同时,siamrpn++和Ocean采用功能强大的resnet - 50替代AlexNet作为骨干,增强特征表示能力。另一方面,TOM、DiMP和ROAM将在线更新[40]与暹罗结构结合在一起,实现了最先进的性能。尽管这些方法取得了显著的改进,但它们带来了大量额外的计算工作量和内存占用,从而限制了它们在实际应用程序中的使用。例如,移动设备上的深度学习通常要求模型Flops小于6亿Flops,即移动设置。但是,使用ResNet-50骨干的siamrpn++[30]出现48.9G的Flops,比移动设备高出约80倍。即使使用浅层AlexNet的SiamFC部署在嵌入式设备上,仍然不能满足有限的计算工作量。综上所述,在目标跟踪中,如何在模型精度和复杂性之间找到一个好的平衡点,目前还缺乏相关研究。神经结构搜索。NAS旨在实现神经网络架构设计的自动化。早期的方法使用强化学习或进化算法搜索网络。这些方法需要从零开始训练成千上万的架构候选人,导致难以承受的计算开销。最近的研究大多采用一次性权重分摊策略来摊销搜索成本。关键思想是训练一个单一的超参数化超网络模型,然后跨子网共享权值。具有均匀采样的单路径方法是一种具有代表性的一次性采样方法。在每次迭代中,它只对一条随机路径进行采样,并使用一批数据对该路径进行训练。一旦训练过程完成,子网就可以根据共享权值进行排序。另一方面,可微方法将搜索空间放宽为连续,而不是在一组离散的候选体系结构中进行搜索,从而可以通过有效的梯度下降来优化搜索。最近关于NAS的调查可以在中找到。NAS最初被提出用于图像分类,最近扩展到其他视觉任务,如图像分割和目标检测。我们的工作受到了最近的DetNAS的启发,但有三个基本的区别。首先,研究的任务是不同的。DetNAS是为目标检测而设计的,而我们的工作是目标跟踪。其次,DetNAS只通过预先定义的手工结构固定头网络来搜索骨干网。这可能导致搜索的骨干是次优的,因为它偏向于拟合固定头,而不是目标任务。相比之下,我们的方法同时搜索主干结构和头部结构,旨在找到最有希望的目标跟踪任务组合。最后,搜索空间是不同的。我们设计了一个新的目标跟踪搜索空间,专门用于轻量级架构的搜索。
3. Preliminaries on One-Shot NAS
在介绍提出的方法之前,我们简要回顾一下作为本工作中讨论的基本搜索算法的一次性NAS方法。一次性NAS将所有候选体系结构视为一个超级网络的不同子网,并在具有公共组件的体系结构之间共享权重。具体来说,架构搜索空间A被编码在一个超网中,记为N(A, W),其中W为超网的权重。权重W在所有候选架构中共享,即子网α∈A在n中。对最优架构α∗的搜索被表述为嵌套优化问题: 在这里插入图片描述
其中约束函数是通过最小化损失函数Ltrainon训练数据集来优化超网N的权值W,而目标函数是通过基于学习到的超网权值W对验证数据集上的子网的精度Accvalof进行排名来搜索架构。只需要训练单个超级网N的权值,然后通过继承一次性超级网的训练权值,不需要单独训练就可以评估子网。这大大加快了架构的性能估计,因为不需要子网训练,导致该方法只花费了几个GPU。为了减少内存占用,一次性方法通常从超级网络N中取样子网进行优化。为简单起见,本工作采用单路径均匀采样策略,即每批只从超级网络中抽取一条随机路径进行训练[33,20]。这种单路径一次性方法将超网训练和架构优化解耦。由于无法枚举所有α∈A架构进行性能评估,我们采用进化算法[42,20]从一次性超级网络中找到最有希望的子网。
4. LightTrack
搜索轻量级架构以获取对象跟踪是一项非常重要的任务。目前存在三个关键挑战。
1、首先,一般情况下,目标跟踪器需要对图像分类任务进行模型预训练,以获得良好的初始化,而NAS算法则需要来自目标任务的监督信号。目标跟踪搜索体系结构需要同时考虑ImageNet上的预训练和跟踪数据的微调。
2、其次,目标跟踪器通常包含两个部分:用于特征提取的骨干网络和用于目标定位的头部网络。在搜索新架构时,NAS算法需要将这两个部分作为一个整体来考虑,使发现的结构适合目标跟踪任务。
3、最后但并非最不重要的是,搜索空间对NAS算法至关重要,它定义了NAS方法在原则上可能发现的神经体系结构。要找到轻量级架构,搜索空间需要包含紧凑和低延迟的构建块。
在本节中,我们将解决上述挑战,并建议使用one- shotnas。我们首先介绍了一种新的用于目标跟踪任务的一次性NAS算法。然后,我们设计了一个由深度可分离卷积[11]和反向残差结构组成的轻量级搜索空间[45,23],允许构建高效的跟踪架构。最后,我们提出了LightTrack的管道,该管道能够针对不同的部署场景搜索不同的模型。
4.1. Tracking via One-Shot NAS
目前流行的目标跟踪器(如[31,14,6])都需要ImageNet对其主干网络进行预训练,从而使得跟踪器能够获得良好的图像表示。然而,对于架构搜索,不可能在ImageNet上对所有主干候选进行单独的预训练,因为计算成本非常大(仅对单个网络,ImageNet预训练通常需要在8 V100 gpu上花费几天时间)。受一次性NAS的启发,我们引入了权重共享策略,避免了对每个候选人从头开始进行预训练。具体地说,我们将主干结构的搜索空间编码为一个超级网络Nb。这个主干网只需要在ImageNet上预先训练一次,然后它的权重在不同的主干网架构上共享,这些主干网架构是一次性模型的子网。ImageNet预训练通过优化分类损失函数:
在这里插入图片描述
其中为Ab主干结构搜索空间,wb为主干超网Nb的参数。预先训练的权重Wpb在不同的主干架构之间共享,作为后续跟踪架构搜索的初始化。这种权重共享方案允许ImageNet预训练只在骨干超网上进行,而不是在每个子网上进行,从而将训练成本降低了数量级。用于目标跟踪的深度神经网络通常包括两部分:用于特征提取的预训练主干网络和用于目标定位的头部网络。这两个部分共同决定跟踪体系结构的能力。因此,在结构搜索中,对主干网络和头网络进行整体搜索至关重要,这样发现的结构才能很好地适应跟踪任务。为此,我们构建了一个跟踪超网N,由主干部分Nb和头部部分Nh组成,公式为N = {Nb,Nh}。骨干超网Nbis首先通过Eq.(2)在ImageNet上进行预训练,生成权值Wpb。头部超网nh包含Ah空间中所有可能的定位网络,共享权值Wbacross架构。对跟踪数据进行中枢和头部结构的联合搜索,将一次性NAS重新制定为:
在这里插入图片描述
其中,约束函数是训练跟踪超网络并同时优化加权带宽,而目标函数是通过对跟踪数据验证集上的候选结构的Acctrk valof的精度进行排序,找到头部的最优主α *波段。Acctrk值的评估只需要推断,因为架构α带α兔的权重继承自W∗b(αb)和W∗h(αh)(不需要额外训练)。需要注意的是,在开始超网训练之前,我们使用预先训练的权值Wp b来初始化参数Wb,即Wb←Wp b,在提高跟踪性能的同时加快了收敛速度。在搜索过程中,我们无法对搜索空间中所有架构的精度进行排序,与之前的工作[20,9]一样,我们采用进化算法[42,20]来寻找最有希望的架构。体系结构约束。在实际部署中,对象跟踪器通常需要满足额外的约束,如内存占用、模型Flops、能源消耗等。在我们的方法中,我们主要考虑模型大小和Flops,这是评估跟踪器是否可以部署在特定资源受限设备上的两个关键指标。我们对网络的参数和Flops预先设定预算,并施加约束:
在这里插入图片描述
进化算法在处理不同预算约束时具有灵活性,因为可以直接控制变异和交叉过程,生成合适的候选项以满足约束。搜索也可以是使用不同的约束条件(例如,Flopsmax= 600M或其他),在同一超网络上重复多次训练。这些属性自然使一次性范例对于搜索专门用于不同部署场景的跟踪体系结构变得实用和有效。
表1:搜索空间和超网结构。" Nchoices "表示当前块的选择数量。“Chn”和“Rpt”分别表示每个块的通道数目和一组中重复块的最大数目。“Stride”表示每个重复组中第一个块的卷积步幅。分类和回归头允许使用不同数量的通道,记为C1, C2∈{128,192,256}。输入的是一个搜索图像,大小为256×256×3。
在这里插入图片描述
4.2. Search Space

为了寻找高效的神经架构,我们使用深度可分离卷积(DSConv)[11]和带有挤压-激励模块的移动反向瓶颈(MBConv)构建新的搜索空间。空间由主干部分Aband头部部分Ah组成,如表1所示。
Backbone Space:
Ab.在主干空间中有六个基本的构建块,包括核大小为{3,5,7}的MBConv和扩展速率为{4,6}的MBConv。通过叠加基本块构建主干候选。空间中的所有候选人都有4个阶段,总步幅为16步。在每个阶段,第一个块的步长为2,用于特征降采样。除前两个阶段外,每个阶段最多包含4个搜索块。骨干网空间共有14层,如表1所示(即选择数为6的层),该空间约包含614possible用于搜索的骨干网架构.
Head Space:
一个主要的候选架构包含两个分支:一个用于分类,另一个用于回归。它们都包含最多8个可搜索层(见表1)。第一层是DSConv,内核大小为{3,5},通道号为{128,192,256}。随后的7层采用与第一层相同的通道设置,内核选项为{3,5}。连接用于使头部结构的弹性深度为[58]。与主干空间不同的是,由于特征分辨率相对较低,头部不包含核选择7。顶部空间包含约(3 × 3^8)可供搜索.另外,对于哪一层的特征更适合进行目标跟踪,目前也没有明确的答案。因此,我们在搜索空间中增加了一个新的维度,允许一次性方法自动确定输出特征层。具体来说,在超级网训练过程中,我们从主干超级网的最后8个块中随机提取一个端层,并将提取层的输出作为提取的特征。该策略能够对不同的可能块进行抽样,并允许进化搜索算法评估哪一层更好。值得注意的是,定义的搜索空间包含从208M到1.4G Flops的架构,参数大小从0.2M到5.4M。这样的空间比现有的手工网络要轻得多。例如,人类设计的具有ResNet-50骨干的siamrpn++有48.9G FLOPs和54M Params[22],比设计的搜索空间中的架构复杂数量级。这种低复杂度的空间使得提出的一次性NAS算法更容易找到有希望的轻量级跟踪架构。
在这里插入图片描述
图2:LightTrack的搜索管道。主要分为三个阶段:训练前主干网阶段、训练跟踪超级网阶段和跟踪超级网上的进化算法搜索阶段。放大后的色彩效果更好。
4.3. Search Pipeline
我们的LightTrack包括三个连续的阶段:训练前主干网、训练跟踪超网和在训练超网上使用进化算法进行搜索。整个管道如图2所示。
第一阶段:预训练骨干超级网。主干网超网Nbencodes所有可能的主干网搜索空间Ab。Nbis的结构如表1所示。如公式(2)所定义的,对骨干超网Nbis进行预训练,以优化ImageNet上的交叉熵损失。为了解耦各个子网的权值,我们对预训练进行了均匀路径采样。换句话说,在每个批处理中,只有一条随机路径被采样进行前馈和向后传播,而其他路径则被冻结。
第二阶段:训练跟踪超级网。跟踪超网N的结构如图2(中)所示。本质上,它是Siamese跟踪器的一个变体[30,56]。具体来说,它以apairoftrackingimagesas作为输入,包括一个示例图像和一个搜索图像。示例图像表示感兴趣的对象,而搜索图像表示后续视频帧中的搜索区域。这两个输入都经过预先训练的骨干网络处理,以提取特征。生成的两个特征图相互关联,生成相关卷。头部网络包含一个分类分支和一个目标定位回归分支。头部超网结构如表1所示。训练也采用单路均匀采样方案,但涉及到跟踪头和度量。在每次迭代中,优化器更新从主干网和头超网中采样的一条随机路径。损失函数Ltrk trainin Eq.(3)包括常用的用于前景背景分类的二值交叉熵损失和用于目标定界盒回归的IoU损失[54]。
阶段3:进化算法搜索。最后一个阶段是在训练过的超级网络上执行进化搜索。在进化控制器的指导下,对超网络中的路径进行选择和评价。首先,对体系结构的种群进行随机初始化。top-k架构被选为生成子网络的父网络。下一代网络是通过变异和交叉产生的。交叉时,两个随机选择的候选对象进行交叉,产生一个新的候选对象。对于突变,一个随机选择的候选对象以0.1的概率对其每个选择块进行突变,以产生一个新的候选对象。重复交叉和变异以产生足够的新候选,满足Eq.(4)中给定的体系结构约束。一个必要的细节是关于批处理规范化[26]。在搜索过程中,从超级网络中随机抽取子网。问题是,一条路径上的批统计信息应该独立于其他路径[20,9]。因此,在推断之前,我们需要重新计算每个单个路径(子网)的批处理统计信息。我们从跟踪训练集中抽取一个随机子集来重新计算要评估的单路径的批统计信息。它非常快,只需要几秒钟,因为不涉及反向传播。

表2:VOT-19[28]比较。(G)和(M)分别表示以GoogleNet和MobileNet-V2为骨干。DiMPr表示DiMP的实时版本,在[28]中报道。Ocean(off)表示Ocean[56]的脱机版本。由于跟踪器不是开放资源的,或者在线更新模块不支持精确的Flops估计,一些值会丢失。
在这里插入图片描述
5. Experiments
5.1. Implementation Details

Search:按照搜索流程,我们首先在ImageNet上预训练骨干超级网120个epochs,使用以下设置:SGD优化器,动量0.9,权重衰减4e-5,初始学习率0.5,线性退火。然后,我们联合训练头部和骨干网对数据进行跟踪。与之前的工作[56]相同,跟踪数据由Y outube-BB[43]、ImageNet VID[44]、ImageNet DET[44]、COCO[35]和GOT-10K[25]的训练分割组成。训练需要30个纪元,每个纪元uses6×105image对。整个网络使用SGD优化器进行优化,动量0.9,权重衰减1e-4。每个GPU承载32个图像,因此每次迭代的迷你批处理大小为256个图像。在前5个周期内,全局学习率从1e-2线性增长到3e-2,其余周期从3e-2到1e-4对数下降。我们冻结了前10个时代的骨干参数,并将其学习率设置为比其余时代的全局学习率小10倍。最后,为了评估超网中路径的性能,我们选择GOT-10K[25]的验证集作为评估数据,因为它与训练数据和最终测试数据都没有任何重叠.
**Retrain:**在进化搜索之后,我们首先使用类似于EfficientNet[46]的设置在Imagenet上对发现的骨干网进行500个纪元的重新训练:采用MSProp优化器,动量0.9,衰减0.9,权值衰减1e-5, dropout ratio 0.2,初始学习率0.064,前3个时代进行预热,余弦退火,AutoAugment[12]策略和指数移动平均进行训练。接下来,我们在跟踪数据上对发现的主干和头部网络进行微调。此步骤中的微调设置类似于supernet的微调设置。主要的区别包括两个方面。1)搜索架构的训练时间为50个epoch,比跟踪超网微调的时间长。(2)全局学习率在前5个周期从2e-2增加到1e-1,其余周期从1e-1减少到2e-4。
**Test:**该推理遵循与[5,31]相同的协议。在第一帧计算一次目标对象的特征,然后与后续搜索图像连续匹配。测试中的超参数是通过跟踪工具包[56]选择的,该工具包包含一个自动参数调优算法。我们的跟踪器是使用Python 3.7和PyTorch 1.1.0实现的。实验在一台8 Tesla V100 gpu和Xeon E5-2690 2.60GHz CPU的服务器上进行
5.2. Results and Comparisons
我们将LightTrack与现有的手工设计的对象跟踪器在模型性能、复杂性和运行时速度方面进行了比较。性能评估采用四个基准,包括VOT-19 [28], GOT-10K [25], TrackingNet[39]和LaSOT[16],而速度测试在资源有限的硬件平台,包括苹果iPhone7 PLUS,华为Nova 7 5G和小米小米8。此外,我们提供了三种不同资源约束下的LightTrack版本,即LightTrack Mobile(≤600M Flops,≤2M Params)、LargeA(≤800M Flops,≤3M Params)和LargeB(≤800M Flops,≤4M Params)。
**VOT-19.**该基准包含60个具有挑战性的序列,并通过期望平均重叠(EAO)同时度量跟踪精度和鲁棒性。如表2所示,LightTrack-Mobile的性能优于现有的SOTA离线跟踪器,如siamrpn++[30]和siamfc++[52],同时使用>模型Flops和Params的数量减少了10倍。此外,对比A TOM[14]和dimr[6]等在线更新的跟踪器,LightTrack-LargeB也具有竞争力,分别比它们高出5.6%和3.6%。这证明了提出的一次性搜索算法和发现的体系结构的有效性。
GOT-10K. GOT-10K[25]是一个新的基准测试,涵盖了对象跟踪中广泛的常见挑战,如变形和遮挡。表3显示了LightTrack获得了最先进的性能,与当前流行的跟踪器相比。LightTrackMobile的AO评分分别比SiamFC++(G)[52]和Ocean(off)[56]高1.6%和1.9%。此外,如果我们放松计算约束,LightTrack的性能将得到进一步的提高。例如,LightTrack-LargeB的性能比dimp - 50[6]高出1.2%,而使用的Params更少8倍(3.1 vs . 26.1 M)。
TrackingNet. TrackingNet[39]是一个大规模的短期跟踪基准,测试集中包含511个视频序列。从表4可以看出,LightTrack-Mobile的精度更高(69.5%),比dimmp50[6]高0.8%。此外,LightTrack-Mobile的pnorm和AUC与siamrpn++和DiMP-50相当,而使用的模型Params分别少96%和92%。
LaSOT. LaSOT[16]是迄今为止最大的单对象跟踪基准,具有高质量的帧级注释。如图3所示,LightTrack-LargeB的成功得分为0.555,比SiamFC++(G)[52]和Ocean-offline[56]分别高出1.2%和2.9%。与在线DiMP-18[6]相比,LightTrack-LargeB提高了2.1%的成功率评分,同时使用了更少的12× Params (3.1 vs . 39.3 M)。
Speed. 图4总结了LightTrack在资源有限的移动平台上的运行速度,包括苹果iPhone 7 Plus、华为Nova 7和小米Mi 8。我们观察到siamrpn++[30]和Ocean[56]不能在这些边缘设备上以实时速度(即< 25 fps)运行,如Snapdragon 845 Adreno 630 GPU和Hexagon 685 DSP。相比之下,我们的LightTrack运行效率更高,在Snapdragon 845 GPU和DSP[3]、Apple A10 Fusion PowerVR GPU[1]和麒林985 malig - g77 GPU[2]上,比SiamRPN++ (MobileNetV2骨干)快3 ~ 6倍,比Ocean(离线)快5 ~ 17倍。实时速度允许LightTrack部署和应用于资源有限的应用,如通常使用边缘芯片组的无人机摄像头。速度的提高也证明了LightTrack是有效的,可以找到更紧凑和高效的目标跟踪器。
在这里插入图片描述
5.3. Ablation and Analysis
特定组件的分析。我们评估LightTrack中不同组件对VOT-19[28]的影响,并在表5中报告结果。我们的基线是一个手工制作的移动跟踪器,它以MobileNetV3-large[23]为骨干(截断了最后一个阶段),并以16为步幅输出最后一层的特性。头部网络堆叠了8层可深度分离的螺旋卷积(DSConv)[11]在分类和回归分支。对于每个DSConv,内核大小设置为3×3,通道数为256。基线的EAO性能为0.268。对于消融,我们将基线中的组件添加到搜索中,并使用自动搜索的组件更改手工架构。如表5 #2所示,当自动搜索主干结构时,EAO性能提高了2.4%。这表明,手动设计的mobilenetv3大骨干在目标跟踪方面不是最优的,因为它主要是为图像分类而设计的,在这个分类中,目标的精确定位不是最重要的。如果我们在搜索中加入输出特征层,性能进一步提高到0.307。这表明我们的方法可以找到更好的特征提取层。#4和#1的比较表明,可搜索头部结构优于手工头部结构,EAO增益为2.9%。如图5所示,当同时搜索这三个组件时,完整的LightTrack比只搜索部分跟踪网络获得了更好的性能。ImageNet预训练的影响。我们在ImageNet上对搜索架构进行了0、200和500个时代的预训练,并评估了它们对最终跟踪性能的影响。如表6所示,未进行预训练对跟踪精度有显著的负向影响。更好的预训练可以让跟踪器达到更高的性能。分析搜索的架构。图5显示了采用本文提出的一次性NAS方法搜索的LightTrack-Mobile架构。我们观察到几个有趣的现象。1)大约有50%的骨干块使用MBConv,内核大小为7x7。潜在的原因可能是大的接收域可以提高定位精度。2)搜索的体系结构选择倒数第二块作为特征输出层。这可能揭示了跟踪网络可能不喜欢高级功能。3)分类分支比回归分支包含的层数少。这可能归因于事实上,粗目标定位相对容易比精确的边界盒回归。这些发现可能会启发未来设计新的跟踪网络的工作。
图5:LightTrack (Mobile)搜索的架构。可搜索的层是用颜色绘制的,而固定/预定义的部分是灰色绘制的。该“Stem”由一个普通的二维卷积层(kernel size 3×3, stride为2)、BatchNorm层和Swish激活层组成。“DSConv”表示深度可分离卷积[11],“MBConv”表示可移动反向瓶颈[45],挤压激励[24]
在这里插入图片描述
在这里插入图片描述
6. Conclusion
本文首次尝试利用神经结构搜索来设计轻量级目标跟踪器。该方法即LightTrack,重新构建了用于目标跟踪的一次性NAS,并引入了有效的搜索空间。在多个基准上的广泛实验表明,LightTrack实现了最先进的性能,同时使用了更少的Flops和参数。此外,LightTrack可以在各种资源受限的平台上实时运行。我们希望这项工作能够缩小目标跟踪领域的学术方法与工业应用之间的差距。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当你遇到"RuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory"错误时,通常是由于读取PyTorch模型文件时出现问题所致。这个错误通常发生在模型文件被损坏或不完整的情况下。 为了解决这个问题,你可以尝试以下方法: 1. 检查模型文件:首先,请确保你的模型文件没有被损坏或删除。你可以检查模型文件是否存在以确保它可用。 2. 检查文件路径:确保你提供给PyTorch的模型文件路径是正确的,并且可以被正确访问。你可以使用绝对路径或相对路径,但需要确保路径是正确的。 3. 重新下载模型文件:如果你确定模型文件存在且路径正确,但仍然遇到这个错误,可能是因为模型文件已经损坏。在这种情况下,你可以尝试重新下载模型文件,并确保下载完成后再次尝试加载它。 4. 更新PyTorch版本:如果以上方法都无法解决问题,可能是因为你使用的PyTorch版本过旧或存在某些bug。尝试更新PyTorch到最新版本,以确保你使用的是最新的修复bug和改进的版本。 通过检查模型文件、文件路径和尝试重新下载模型文件以及更新PyTorch版本,你应该能够解决这个错误。如果问题仍然存在,请仔细阅读错误信息,查找其他可能的原因,并根据具体情况采取相应的解决方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值