AI学习者 · 2022年11月24日

TransTrack改进版本来啦,模型减小58.73%,复杂性降低78.72%

image.png

本文提出了一种轻量化、效率高的联合检测和跟踪流水线,用于使用全Transformer架构的多目标跟踪任务。它是TransTrack的改进版,克服了与其设计相关的计算瓶颈,同时达到了最先进的MOTA分数73.20%。模型设计由基于Transformer的主干网驱动,而不是CNN,CNN具有输入分辨率的高度可扩展性。

作者还建议使用蝶形变换操作来执行通道融合和深度卷积,以学习特征图中的空间上下文,否则会在Transformer的注意力图中丢失,从而替换Transformer编码器层的前馈网络。根据作者的改进可以将TransTrack的整体模型尺寸减少了58.73%,复杂性减少了78.72%。因此,作者期望本文的设计在未来与多目标跟踪相关的研究中为架构优化提供新的视角。

1、简介

多目标跟踪(MOT)的主动研究任务被定义为在给定的帧流中自动跟踪所有识别的感兴趣对象的过程。它服务于各种用例,从机器人、姿态估计到基于监视的应用,如入侵检测。其中许多任务要求MOT算法部署在具有轻量级实现的嵌入式系统上。

最近的工作,如TransTrack和TrackFormer,实现了最先进的MOT性能,然而,在解决部署中涉及的计算瓶颈方面却很困难。因此,改进现有的MOT体系结构以构建高效的模型具有很大的潜力,该模型在规模和复杂性方面具有较低的部署成本,同时保持良好的性能跟踪精度。

image.png

MOT计算量很大,因为它涉及多个任务:分类、目标检测和跟踪。由于可以为这些任务中的每一项利用好的模型,所以检测跟踪(TBD)范式是一个预先决定的选择。它使用检测器模型定位所有感兴趣的目标,然后使用基于信息的可重新识别特征将这些对象中的每一个与轨迹相关联。然而,训练TBD系统非常复杂,因为它需要单独训练每个组件,因此很难部署在计算资源有限的系统上。这些挑战可以通过联合检测和跟踪(JDT)来解决,它在单个阶段同时执行检测和跟踪。与TBD不同,JDT在单个端到端流水线中联合训练每个组件。与TBD相比,JDT还实现了更快的模型速度,因此,它是设计轻型MOT架构的合适选择。

CNN已被广泛用于通过本地和贪婪地操作来执行MOT。这种方法通过距离度量在新检测到的对象与现有的已确认轨迹集之间形成成对关联。最近出现了几种利用Transformer和JDT的query-key机制来执行MOT的技术。TransTrack引入了一组学习目标query,用于使用具有CNN主干的Transformer编码器-解码器模块来检测传入目标,并在MOT17挑战中优于最先进的架构。单一的训练管道、快速的后处理、模块化架构和高跟踪性能有利于TransTrack成为JDT架构家族中的良好基线。

模型的轻量级实现取决于两个关键特征:总可训练参数方面的模型大小和复杂性,即单次前向传递所需的乘法-加法-累积运算(MAC)的总数。对于TransTrack的基线,形状输入(800×1333)共需要46.87M个参数和215.23G个MAC,这是一个巨大的计算瓶颈。因此,设计了一种轻量级的TransTrack,它克服了瓶颈,对跟踪的影响最小甚至没有,性能如图1所示。

TransTrack中的一些观察可以帮助设计出具有理想特性的轻型架构。通过根据参数和MAC进行逐层分析,确定了两个关键瓶颈,需要78%的总参数和92%的MAC:主干和编码器。大多数现有的基于Transformer的视觉模型,包括TransTrack,都使用“CNN+Transformer”框架,其中使用CNN提取特征图,并将其作为输入输入到Transformer中。由于存在卷积运算,CNN(TransTrack的ResNet-50)以局部感受野为目标,因此它们缺乏全局上下文建模。这只能通过增加卷积层的深度逐渐扩大感受野来解决。然而,这样做将大大增加模型的大小和复杂性。

对于像MOT这样的密集预测任务,更大的输入分辨率会导致更高的精度,因为它可以生成与小目标相关的特征的丰富表示。视觉Transformer可以通过自注意力生成全局上下文,还可以通过在输入图像中的局部感受野进行空间定位来继承CNN的感应偏置。

image.png

Swin Transformer、LVT和PVT等体系结构是计算机视觉的通用主干,具有在图像尺寸方面的计算复杂性方面更好地扩展的灵活性。LVT在自注意力操作中引入卷积来提取低层特征。PVTv2是PVT的改进版本,它将计算复杂度降低为线性,并通过渐进收缩金字塔实现了基本视觉任务的显著改进。图2验证了当输入分辨率增加时,与ResNet-50相比,PVT v2(b1配置)的可扩展性。因此,作者建议将PVT v2作为TransTrack中现有主干的直接替代品,从而显著降低模型大小和复杂性。

编码器包含自注意力机制,使其能够在特征图之间找到全局相关性,但当特征图被展平为块嵌入时,编码器会丢失特征图中包含的空间信息。受此问题的启发,本文提出了一种基于深度卷积的新Block,类似于MobileNet。

本文的Block将编码器的前馈网络(FFN)替换为3个子块:使用蝴蝶变换(BT)的2个通道融合块和深度卷积块。BT是对数复杂度而非二次复杂度的通道融合操作的替代品。提出的区块解决了两个关键问题。它使编码器能够通过将patch嵌入转换回二维特征图并通过他们通过深度卷积来学习空间上下文。通过将前馈网络替换为编码器中的关键瓶颈,该网络由于维数扩展了8倍,本文的模块将复杂性显著降低了86.76%。总之,本文的贡献如下:

  • 对TransTrack进行了逐层分析,以确定关键瓶颈,并针对这些模块,从而显著降低模型的参数总数和总体复杂性。
  • 通过消融研究表明,CNN主干网在高输入分辨率方面计算效率不高,基于Transformer的主干网在生成密集预测任务的特征图方面表现更好。
  • 通过提出一个块来解决与编码器块相关的计算瓶颈,该块通过BT操作以对数空间/时间复杂度执行通道融合操作,同时学习特征图中的空间上下文。因此,与标准Transformer编码器相比,所提出的块需要的MAC更少74.3%。
  • 通过应用上述修改,与TransTrack相比,本文的架构包含的参数减少了58.73%,所需的MAC减少了78.72%,同时实现了最先进的MOT得分73.20%。总之,本文的模型是TransTrack的极轻版本,部署成本很低。

image.png

2、本文方法

图3描述了所提出的架构,该架构基于TransTrack,并进行了若干改进,以降低计算复杂性和模型大小。在高层上,在每个帧中为每个感兴趣的目标生成一组边界框。这些框是通过在训练过程中学习的目标和轨迹查询来预测的。遵循TransTrack的JDT范式,这两组边界框被称为检测和跟踪边界框。在最后阶段,通过匈牙利算法将它们相互关联,以生成最终的边界框集。

2.1、 Problem Formulation

为了确定TransTrack的改进领域,传递了一个形状的随机张量(3×800×1333),并分析了每层可训练参数的数量和单个正向传递所需的总MAC。图4显示了这些度量在5个关键层上的百分比分布:主干、特征聚合、编码器、解码器和输出。

主干由ResNet-50架构组成,该架构生成当前帧的4个特征图和使用特征聚合层聚合到单个向量的4个先前帧的特征图。这些特征图被传递到编码器,然后是一组解码器,以执行检测和跟踪。最后,通过IoU匹配的输出层生成输出。

得出结论,模型大小主要取决于ResNet-50主干,其中23.23M参数占总大小的65%。就计算复杂性而言,关键瓶颈是编码器,它需要49%的MAC。因此,本文的架构优化了TransTrack的两个关键组件主干和编码器,使其更轻。
image.png

2.2、Architecture Components

本节描述了用于提取空间特征图、执行目标检测、生成跟踪框并最终将它们关联到最终输出框集的每个组件。

(1)Backbone

JDT中的第一步是将当前帧传递到网络的主干,该主干用作特征图提取器。本文模型的PVT v2主干通过在每个阶段均匀地减少空间维度,从而在深入网络时减少了输入嵌入序列的长度,从而降低了与之相关的计算成本。它还可以很容易地插入到几个现有的密集预测管道中,而无需对结构进行任何重大修改。PVT v2使用patch嵌入代替像素级特征,并且需要较少数量的MAC。因此,PVT v2是ResNet-50的合适替代品,用于生成具有低计算成本的特征图。为了优化特征图提取的计算,临时保存当前帧的提取特征图以用于下一帧。

(2)Encoder

作者建议修改TransTrack的Transformer编码器结构。编码器的FFN在计算上非常昂贵,因为它将维度扩展了8倍。此外,编码器的注意力机制缺乏对图像块token之间的空间上下文的理解。因此,将第一个完全连接(FC)层替换为图5所示的结构,其中包含三个子块:两个BT操作和单个3×3深度卷积块。

在从先前的多头自注意力(MHSA)块生成一组token之后,patch token被恢复到空间维度,其形状相对于主干生成的四个特征图。

然后执行深度方向可分离卷积,然而,使用BT块而不是1×1点方向卷积进行通道融合。使用3×3核 kernel进行深度卷积,增强了相邻8个像素之间的相关性,用于空间表示。在融合空间上下文后,将这些token平坦化为形状为B×N×C的原始序列,其中B是批大小,N是序列长度,C是通道总数。

最后,添加了一个线性投影层,而不扩展通道尺寸。该投影层的功能是通过参数化这些模块,为下一个注意力层处理当前层的输出。

image.png

使用BT操作来代替深度方向可分离卷积块中的通道融合,以降低1×1点方向卷积的计算复杂度,这大大高于3×3深度方向卷积的空间融合操作。本文的Block将通道融合视为等式(1)中定义的矩阵向量乘积问题。

image.png

因此,本文的Block通过提取局部信息并保持自注意力部分不变,将CNN和Transformer的优点结合到单个编码器模块中。它还将每个编码器块中可训练参数的数量从TransTrack中的4.54M减少到602.11K。为了执行单次前向传输,TransTrack中的编码器需要100.49G MAC,而本文的Block只需要13.30G MAC,这大大减少了86.76%。

(3)Detection

轨迹查询解码器基于可变形DETR中提出的架构执行目标检测以生成检测边界框。将目标query提供给解码器,这是一个与网络的所有其他参数一起训练的可学习参数。解码器在作为关键的输入图像的聚集特征图和作为query的目标query之间执行查找操作,并查找帧中感兴趣的目标。该阶段的输出是一组检测边界框。

(4)Tracking

此阶段将输入作为前一帧中检测到的目标,并将其作为目标特征传递到下一帧。这些目标特征被称为“轨迹query”,解码器具有与检测阶段相同的结构,但输入不同。因此,解码器获取前一帧中目标的基于空间外观的特征以及基于位置的特征,并查找当前帧中这些目标的坐标以输出跟踪边界框。

(5)Association

最后一级使用IoU映射执行从两个解码器级生成的框的成对映射,并生成输出边界框。没有匹配的框被初始化为新的对象轨迹。

(6)Training Loss

与TransTrack类似使用相同的训练损失将两组解码器训练在一起,因为它们在同一帧中生成边界框。因此,使用集合预测损失来监督检测和跟踪box。这有助于以与TransTrack中实现的相同方式对GT目标和预测目标轨迹进行二分匹配。在等式(2)中定义了二分匹配问题的成本L。
image.png

(7)Inference

推断的第一步是检测帧中的目标,前提是我们有当前和先前帧的特征图。通过将这些目标特征传播到下一帧并执行框关联来计算目标轨迹。对整个视频序列重复此过程。与TransTrack类似,在推断过程中使用轨迹重生来处理闭塞。跟踪跟踪框在总共32个连续帧中有多少帧保持不匹配。通过这种方式,不匹配的跟踪框与检测框匹配,并分配其唯一ID。

2.3、Comparison with TransTrack

图6显示了TransTrackJDT体系结构与各种修改的拟议设计的总体轮廓。很明显,所提出的模型在计算复杂度方面是高效的,与TransTrack相比,所需的MAC减少了78.72%。此外,所提出的模型非常轻,包含的可训练参数减少了58.73%。

image.png

3、实验

3.1、MOT17 Benchmark

image.png

4、Design choice experiments

4.1、Backbone

通过3种设计选择消除了改变架构中主干的影响:ResNet-50、PVT v2和LVT。定量结果如表2所示。LVT主干是主干选择中最轻、最有效的,只有6.07M参数和28.82G MAC,然而,在MOT17半半测试集上实现了64.60%的MOTA。然而,PVT v2的性能稍好一些,消耗了50%以上的参数和MAC。选择ResNet-50最广泛使用的主干是非常低效的,具有80.04G MAC和30.12M参数,这证明了假设,即与CNN主干相比,Transformer主干的分辨率更好。

image.png

4.2、Number of encoders and decoders

使用具有PVT v2主干的拟议架构,分别在表3和表4中研究了编码器和解码器的数量对MOTA、模型大小和效率的影响。使用单个编码器会显著降低性能,总共6个编码器的MOTA仅为49.10%,而不是67.00%。对于解码器也观察到类似的趋势,其中单个解码器实现55.10%的MOTA,总共42.82G MAC。为了最大化MOTA方面的性能,选择6个编码器和6个解码器作为实验的默认值。

image.png

4.3、Input Resolution

模型的计算复杂度在很大程度上取决于输入分辨率。此外,输入分辨率越大,跟踪性能越好。为了验证这一点,消融了7个选项的输入维度,即(400×666)、(480×799)、(520×866)(600×999)、(680×1133)、(760×1266)和(800×1333)。维度(800×1333)是TransTrack提出的推理分辨率。图7显示了所选输入分辨率的跟踪性能和MAC之间的关系。

image.png

与TransTrack相比,两种模型在所有分辨率选择上都非常高效。对于(800×1333)的输入分辨率,PVT v2主干模型需要51.23G MAC,而LVT主干模型则需要49.34G MAC。另一方面,TransTrack在该分辨率下需要大约4倍的资源,即215.23G MAC。就MOTA得分而言,TransTrack在更高分辨率(760×1266)和(800×1333)下表现稍好,但计算量非常大。对于较小的分辨率,当在MOT17半组上测试时,两个模型都优于TransTrack,并且在最高分辨率下获得了非常接近的MOTA分数。因此,与TransTrack相比,本文的架构在所有测试分辨率上都具有高度可扩展性。

5、参考

[1].Efficient Joint Detection and Multiple Object Tracking with Spatially Aware Transformer.

作者: 小书童
文章来源: 集智书童

推荐阅读

更多嵌入式AI干货请关注 嵌入式AI 专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
18838
内容数
1372
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息