摘要:视频流的爆炸性增长给以高准确度和低计算成本进行视频理解带来了挑战。 传统的2D CNN在计算上便宜,但无法捕获时间关系。 基于3D CNN的方法可以实现良好的性能,但计算量大,因此部署成本高。 在本文中,我们提出了一种既高效又高性能的通用有效的时间移位模块(TSM)。 具体来说,它可以实现3D CNN的性能,但可以保持2D CNN的复杂性。TSM在时间维度上移动了部分通道; 因此便于在相邻帧之间交换信息。可以将其插入2D CNN中,以零计算和零参数成本实现时间建模。我们还将TSM扩展到了在线设置,从而可以实现实时低延迟的在线视频识别和视频对象检测。TSM准确高效:在发布时,它在Something-Something排行榜中排名第一; 在Jetson Nano和Galaxy Note8上,它可实现13ms和35ms的低延迟,以实现在线视频识别。 该代码位于:
https://github.com/mit-han-lab/temporal-shift-module。
1介绍
视频理解是在云和实体上进行部署的重要一步。例如,每天有超过10^5个小时的视频上传到YouTube,以进行推荐和广告排名;需要在设备上本地处理数百万字节的医院敏感视频,以保护隐私。所有这些行业应用都需要准确而有效的视频理解。
多年来,深度学习已成为视频技术的标准[45、48、4、49、61、53、58]。 视频识别和图像识别之间的一个关键区别是对时间建模的需求。例如,要区分打开和关闭盒子之间的关系,颠倒顺序将得到相反的结果,因此时间建模至关重要。现有的有效视频理解方法直接使用2D CNN [24,39,48,58]。但是,单个帧上的2D CNN无法很好地对时间信息进行建模。3D CNN [45,4]可以共同学习空间和时间特征,但是计算成本很高,这使得在设备上的部署变得困难。它不能应用于实时在线视频识别。有一些工作需要在时间建模和计算之间进行权衡,例如融合[13、9、58、7]和中级时间融合[61、53、46]。这些方法牺牲了低级时间建模以提高效率,但是在时间融合发生之前,在特征提取期间会丢失很多有用的信息。
在本文中,我们通过提出一种新颖的时间移位模块(TSM)为视频理解中的有效时间建模提出了一个新的观点。 具体而言,视频模型中的激活可以表示为A∈RN×C×T×H×W,其中N是批处理大小,C是通道数,T是时间维,H和W是 空间分辨率。传统的2D CNN在尺寸T上独立运行;因此,没有时间建模会产生影响(图1a)。相反,我们的时间移位模块(TSM)沿时间维度向前和向后移动通道。如图1b所示,来自相邻帧的信息在移位后与当前帧混合在一起。 我们的直觉是:这些卷积操作又移位和相乘组成。我们将时间维度偏移±1,并将乘积从时间维度折叠到通道维度。 为了实时了解在线视频,将来的框架不能转移到现在,因此我们使用单向TSM(图1c)进行在线视频理解。
尽管移位运算具有零运算的性质,但根据经验,我们发现仅采用图像分类中使用的空间移位策略[51]会为视频理解带来两个主要问题:(1)效率不高:移位运算在概念上是 FLOP为零,但会导致数据移动。 数据移动的额外成本不可忽略,并且会导致延迟增加。 由于视频网络通常会占用大量内存(5D激活),因此这种现象在视频网络中更加严重。(2)不准确:在网络中移动太多通道会严重损害空间建模能力,并导致性能下降。 为了解决问题,我们做出了两项技术贡献。(1)我们使用时间局部移位策略:为了有效地进行时间融合,我们只移位了一小部分通道,而不是移位所有通道。这种策略大大降低了数据移动成本(图2a)(2)我们将TSM插入残差分支内而不是外部,以便保留当前帧的激活,这不会损害2D CNN的空间特征学习能力。
我们的论文的贡献概括如下:
•我们为通过时间平移进行有效的视频模型设计提供了新的视角,该方法无需计算,但具有强大的时空建模能力。
•我们观察到,单纯的平移无法实现高效率或高性能。 然后,我们提出了两种技术改进:部分偏移和残余偏移,以实现高效的模型设计。
•我们建议为离线视频提供双向TSM,以实现最先进的性能。刚提出时,它在Something-Something排行榜上排名第一。
•我们建议在设备上使用单向TSM在强大的时间建模能力下实现低延迟在线实时视频识别。
2相关工作
2.1深度视频学习
2D CNN。使用2D CNN是进行视频识别的直接方法[24、39、48、11、8、9、2]。 例如,Simonyan等。 [39]设计了一种分别用于RGB输入(空间流)和光流[55]输入(时间流)的双流CNN。时间分段网络(TSN)[48]从跨采样帧中提取平均特征。与3D卷积方法相比,此类方法效率更高,但无法推断时间顺序或更复杂的时间关系。
3D CNN。3D卷积神经网络可以共同学习时空特征。Tran等[45]提出了一种基于VGG模型的3D CNN,名为C3D,以从帧序列中学习时空特征。Carreira和Zisserman [4]提出将Inception V1模型[43]中的所有2D卷积滤波器膨胀为3D卷积。但是,3D CNN的计算量很大,因此部署困难。 与2D对应参数相比,它们还具有更多参数,因此更容易过度拟合。 另一方面,我们的TSM具有与3D CNN相同的时空建模能力,同时享有与2D CNN相同的计算和参数。
权衡。 已经尝试权衡表达和计算成本。Lee等[27]提出了一种运动滤波器来从2D CNN生成时空特征。 Tran等[46]和Xie等[53]建议研究混合2D和3D网络,首先使用3D,然后使用2D(底部重),或者首先使用2D,然后使用3D(顶部重)架构。ECO[61]还使用类似的顶级架构来实现非常有效的框架。另一种节省计算的方法是将3D卷积分解为2D空间卷积和1D时间卷积[46,33,42]。对于混合的2D-3D CNN,他们仍然需要删除低级时间建模或高阶时间模型。 与分解卷积相比,我们的方法完全消除了时间建模的计算成本,具有更好的硬件效率。
2.2时间建模
用于时间建模的直接方法是使用如上所述的基于3D CNN的方法。Wang等[49]提出了一个时空非局部模块来捕获远距离依赖性。Wang等[50]提出将视频表示为时空区域图。建模时间关系的另一种方法是使用2D CNN+融合[13,9,58,7]。一些文章使用LSTM[19]来汇总2D CNN特征[54、7、41、10、12]。注意机制也被证明对时间建模有效[37,28,32]。Zhou等[58]提出了时间关系网,以学习和推理有关时间依赖性。 前者的计算量很大,而后者无法捕获在特征提取期间丢失的有用的低层信息。与基于3D-CNN的方法一样,我们的方法以2D CNN的代价提供了一种有效的解决方案,同时支持了低级和高级时间建模。
2.3高效的神经网络
2DCNN的效率已得到广泛研究。一些工作着重于设计高效的模型[21,20,36,56]。 最近,已经引入了神经体系结构搜索[62、63、31],以自动找到有效的体系结构[44、3]。另一种方法是修剪,量化和压缩现有模型以进行有效部署[16、15、29、59、18、47]。地址移位是一种硬件友好的原理,也已经用于图像识别任务的密集2D CNN设计[51,57]。然而,我们发现由于视频数据的复杂性,直接在视频识别任务中采用移位运算既不能保持效率也不能保持准确性。
3时间移位模块(TSM)
我们首先解释TSM背后的直觉:数据移动和计算可以卷积分离。但是,我们观察到这种简单的移动操作既不能达到高效率,也不能达到高性能。为了解决该问题,我们提出了两种技术来最小化数据移动并增加模型容量,从而获得高效的TSM模块。
3.1直觉
让我们首先考虑一个正常的卷积运算。 为简洁起见,我们以内核大小为3的一维卷积为例。 假设卷积的权重为W =(w1,w2,w3),并且输入X是具有无限长度的一维矢量。 卷积运算符Y = Conv(W,X)可以写成:Yi = w1Xi-1 + w2Xi + w3Xi+1。 我们可以将卷积运算解耦为两个步骤:移位和乘累加:我们将输入X分别移位-1、0、+1并分别乘以w1,w2,w3,这些总和为Y。 正式而言,移位操作为:
乘加运算为:
第一步移位可以不加任何乘积地进行。尽管第二步的计算费用更高,但我们的“时间移位”模块将乘法累加合并到以下2D卷积中,因此与基于2D CNN的模型相比,它不会产生额外的成本。
提出的时间移位模块在图1中进行了描述。在图1a中,我们描述了具有C通道和T帧的张量。每行中不同时间戳处的特征表示为不同的颜色。沿时间维度,我们将通道的一部分移动-1,将另一部分移动+1,其余通道保持不变(图1b)。 对于在线视频识别设置,我们还提供了TSM的在线版本(图1c)。在在线版本中,我们接触不到未来帧,因此,我们只选择将过去的帧进行移位。
3.2简单移动并没有效果
尽管所提出的模块背后的原理很简单,但我们发现将空间移位策略[51]直接应用于时间维度并不能提供高性能或效率。 具体而言,如果我们转移所有或大部分通道,则会带来两个问题:(1)由于大量数据移动而导致效率降低。 移位操作不进行任何计算,但是涉及数据移动。 数据移动会增加硬件的内存占用量和推理延迟。 更糟糕的是,由于激活大小大(5D张量),这种效果在视频理解网络中更加严重。当使用简单移动策略移动每个特征图时,我们观察到CPU延迟增加了13.7%,GPU延迟增加了12.4%,这使得总体推断变慢了。(2)由于空间建模能力较差而导致性能下降。 通过将部分通道移动到相邻帧,通道中包含的信息对于当前帧将不再可用,这可能会损害2D CNN主干的空间建模能力。 与2D CNN基线(TSN)相比,使用朴素移位实现时,我们观察到准确性下降了2.6%。
3.3模型设计
为了解决简单的转变实施带来的两个问题,我们讨论了两个技术贡献。
减少数据移动。为了研究数据移动的影响,我们首先测量了TSM模型和2D基准在不同硬件设备上的推理延迟。 我们转移了不同比例的通道并测量了延迟。 我们使用ResNet-50和8帧输入(无偏移(2D基线),部分偏移(1 / 8、1 / 4、1 / 2)和全部偏移(所有通道都偏移))测量了模型。 计时是根据服务器GPU(NVIDIA Tesla P100),移动GPU(NVIDIA Jetson TX2)和CPU(Intel Xeon E52690)进行的。我们汇报了1000次运行的平均结果。我们将移位操作的开销显示为2a中原始2D CNN推理时间的百分比。 对于不同的设备,我们观察到相同的开销趋势。如果我们转移所有通道,则等待时间开销将占用CPU推理时间的13.7%,这在推理期间绝对不可忽略。 另一方面,如果我们仅移动一小部分信道,例如1/8,则可以将等待时间开销限制为仅3%。 因此,我们在TSM实现中使用部分移位策略来显着降低内存移动成本。
保持空间特征学习能力。 我们需要平衡模型用于空间特征学习和时间特征学习的能力。直接应用TSM的方法是将其插入每个卷积层或残差块之前,如图3a所示。 我们称这种为直接移动。这损害了模型的空间特征学习能力,尤其是当我们移动大量通道时,因为存储在已移动通道中的信息对于当前帧而言会丢失。
为了解决这一问题,我们提出了一种移位模块的变体。 与其将它插入到原位,我们将TSM放在残差块中的残差分支内。 我们将这种形式的位移表示为残差移动,如图3b所示。 残余移位可以解决退化的空间特征学习问题,因为在通过映射进行时间移位之后,仍可以访问原始激活中的所有信息。
为了验证我们的假设,我们在Kinetics [25]数据集上比较了原位移位和残余移位的性能。我们研究了不同移动比例设置下的实验。 结果显示在2b中。我们可以看到,对于所有移位比例,残余移位都比直接移位获得更好的性能。即使我们将所有通道移动到相邻帧,由于快捷连接,残留移动仍然比2D基线获得更好的性能。另一个发现是,性能与移动通道的比例有关:如果比例太小,时间推理能力可能不足以处理复杂的时间关系。 如果太大,可能会损害空间特征学习能力。 对于残余位移,我们发现当通道的1/4(每个方向为1/8)位移时,性能达到峰值。 因此,本文其余部分将使用此设置。
4:TSM视频网络结构
4.1具有双向TSM的离线模型
我们插入双向TSM以构建离线视频识别模型。给定视频V,我们首先从视频中采样T帧Fi,F1,...,FT。帧采样后,二维CNN基线分别处理每个帧,并对输出logit取平均值以给出最终预测。我们提出的TSM模型具有与2D模型完全相同的参数和计算成本。在卷积层推断期间,帧仍像2D CNN一样独立运行。不同之处在于,为每个残差块插入了TSM,从而无需任何计算就可以实现时间信息融合。对于每个插入的时间移位模块,时间感受野将扩大2,就像沿着时间维度运行内核大小为3的卷积一样。 因此,我们的TSM模型具有很大的时间接受域,可以进行高度复杂的时间建模。 在本文中,除非另有说明,否则我们使用ResNet-50 [17]作为主干。
TSM的独特优势在于,它可以轻松地将任何现有的2D CNN模型转换为可以处理空间和时间信息的伪3D模型,而无需添加其他计算。 因此,我们的框架的部署是硬件友好的:我们只需要支持2D CNN的操作,就已经在框架级别(CuDNN [6],MKL-DNN,TVM [5])和硬件级别(CPU / GPU / TPU / FPGA)进行过优化
4.2具有单向TSM的在线模型
在线视频流中的视频理解在现实生活中非常重要。 许多实时应用需要具有低延迟的在线视频识别,例如AR / VR和自动驾驶。 在本节中,我们展示了在多级时间融合的情况下,我们可以使TSM适应在线视频识别。
如图1所示,离线TSM双向移动部分通道,这要求将来帧中的特征替换当前帧中的特征。如果仅将特征从先前的帧转移到当前的帧,则可以使用单向TSM实现在线识别。
用于在线视频识别的单向TSM的推理图如图4所示。在推理期间,对于每一帧,我们保存每个残差块的前1/8个特征图并将其缓存在内存中。对于下一帧,我们将当前特征图的前1/8替换为缓存的特征图。 我们使用7/8当前要素图和1/8旧要素图的组合来生成下一层并重复。 使用单向TSM进行在线视频识别具有几个独特的优势:
低延迟推断。对于每一帧,我们只需要替换和缓存1/8的特征,而无需进行任何额外的计算。 因此,进行逐帧预测的等待时间几乎与2D CNN基线相同。像[61]这样的方法使用多个帧来给出一个预测,这可能会导致较大的延迟。
低内存消耗。 由于我们仅将一小部分功能缓存在内存中,因此内存消耗较低。 对于ResNet-50,我们仅需要0.9MB的内存缓存来存储中间功能。
多级时间融合。 大多数在线方法仅在特征提取后才启用后期时态融合,如[58]或中级时态融合[61],而我们的TSM则可以实现所有级别的时态融合。 通过实验(表2),我们发现多级时间融合对于复杂的时间建模非常重要。
5实验
我们首先表明,TSM可以显着提高2D CNN在视频识别上的性能,同时具有相同计算能力要求和硬件效率。 它进一步证明了与时间相关的数据集的最新性能,从而获得了更好的精度计算pareto曲线。与[50]中的常规I3D模型相比,TSM模型在测试的GPU吞吐量上实现了一个数量级的加速。 最后,我们利用单向TSM对视频识别和目标检测进行低延迟和实时在线预测。
5.1设置
训练和测试:我们对视频动作识别任务进行了实验。Kinetics数据集的训练参数为:100个训练周期,初始学习率0.01(在40和80下降0.1),重量衰减1e-4,批次大小64和随机失活0.5。对于其他数据集,我们将训练周期减少一半。对于大多数数据集,该模型是根据ImageNet预先训练的权重进行微调的; 虽然HMDB-51[26]和UCF-101[40]太小且容易过拟合[48],但我们遵循常规做法[48,49]从Kinetics [25]预训练重量中进行了微调。并冻结批处理规范化[22]层。 为了进行测试,当追求高精度时,我们按照[49,50]中的通用设置对每个视频采样多个剪辑(Kinetics为10,其他为2),并使用短边为256的全分辨率图像,这样我们就可以直接比较;当我们考虑效率时(例如,如表2所示),我们每个视频仅使用1个剪辑,而中心224×224裁剪用于评估。在同一表中比较的方法,我们保持相同的处理过程。
模型。为了与最新方法进行比较,我们在数据集(Something-SomethingV1 [14])上使用了相同的ResNet-50。这个数据集侧重于时间建模。不同之处在于[50]使用3D ResNet-50,而我们使用2D ResNet-50作为展示效率。
数据集。 Kinetics数据集[25]是具有400个类别的大规模动作识别数据集。正如[58,53]中指出的那样,类似Something-Something(V1&V2)[14],Charades [38]和Jester [1]的数据集更着重于对时间关系建模,而UCF101 [40],HMDB51 [26] 和Kinetics[25]对时间关系不太敏感。由于TSM专注于时间建模,因此我们主要关注具有更强时间关系的数据集,例如Something-Something。 尽管如此,我们在其他数据集上也观察到了不错的结果并进行了报告。
5.2提高2D卷积网络的基线
我们可以将TSM无缝地注入到普通的2D CNN中,并提高其在视频识别方面的性能。在本部分中,我们演示了2D CNN基线可以从TSM中受益,其准确性得以改善。我们选择TSN [48]作为2D CNN基线。我们对TSN和我们的TSM使用了相同的训练和测试协议。唯一的区别是带有或不带有TSM。
比较不同的数据集。 我们在表1中的几个动作识别数据集上比较结果。该图表分为两部分。 上部包含数据集Kinetics[25],UCF101 [40],HMDB51 [26],其中时间关系不太重要,而我们的TSM仍然在不进行额外计算的情况下,始终优于2D TSN基线。 在下面的部分中,我们介绍了Something-Something V1和V2 [14]和Jester [1]的结果,这些结果在很大程度上取决于时间关系。2D CNN基线无法达到良好的精度,但是一旦配备了TSM,性能就会提高两位数。
扩展。TSM可以很好地扩展到不同大小的骨干网。 我们在表3中显示了MobileNet-V2 [36],ResNet-50 [17],ResNext-101 [52]和ResNet-50 +非局部模块[49]的Kinetics的Top-1精度。TSM持续改进了即使在已经具有时间建模功能的NLR-50上,也可以在不同骨干上实现更高的准确性。
5.3与世界先进水平比较
TSM不仅显着改善了2D基线,而且也胜过了严重依赖3D卷积的最新方法。由于Something-Something V1&V2这两个数据集都集中在时间建模上,因此我们在这两个上将TSM模型的性能与最新方法进行了比较。
Something-Something-V1。 Something-Something-V1是一个具有挑战性的数据集,因为不能仅从单个帧来推断活动(例如,从右向左推动某项)。我们在表2中将TSM与当前的最新方法进行了比较。除非另有说明,否则我们仅在测试过程中应用中心裁剪以确保效率。TSM发布后在排行榜上排名第一。
我们首先显示基于二维方法TSN [48]和TRN [58]的结果。由于缺少时间建模,具有不同主干的TSN无法获得良好的性能(<20%Top-1)。对于TRN,尽管在特征提取之后添加了后时态融合,但其性能仍远低于最新技术,这表明跨所有级别的时态融合的重要性。
第二部分显示了最新的高效视频理解框架ECO [61]。ECO使用早期2D+晚期3D架构,可实现中等水平的时间融合。与ECO相比,我们的方法在较小的FLOP上可获得更好的性能。例如,当使用8帧作为输入时,我们的TSM通过33G FLOP达到了45.6%的top-1精度,这比ECO高4.2%的精度,而运算量却减少了1.9倍。ECO的集成版本确实取得了竞争性的结果,但是计算和参数对于部署来说太大了。尽管我们的模型效率更高:我们仅使用{8,16}帧模型进行整体(TSMEn),并且该模型使用少2.7倍的计算量和3.1倍的参数来获得更好的性能。
第三部分包含以前的最新方法:非局部I3D + GCN [50],可实现所有级别的时间融合。GCN需要在对象检测数据集[30]上训练的区域提取网络[34]来生成边界框,由于引入了外部数据(MSCOCO)和额外的训练成本,因此无法比较。因此,我们将TSM与CNN部分进行了比较:非局部I3D。 与非局部I3D网络相比,我们的TSM(8f)在验证集上的FLOP减少了10倍,从而使精度提高了1.2%。 请注意,非局部模块[49]之类的技术与我们的工作相关,也可以将其添加到我们的框架中以进一步提高性能。
推广到其他****形式。我们还表明,我们提出的方法可以推广到其他形式,如光流。为了提取帧之间的光流信息,我们遵循[48]使用在OpenCV和CUDA中实现的TVL1光流算法[55]。我们在SomethingSomething V1和V2数据集上进行了两个数据流实验,它不断改进RGB性能:引入光流分支对V1和V2的top-1改善了5.4%和2.6%。
Something-Something-V2。 我们还将在Something-Something-V2数据集上显示结果,该数据集是其先前版本的更新版本。与其他最新方法相比的结果显示在表4中。在SomethingSomething-V2数据集上,我们仅使用RGB输入即可达到最新性能。
成本与准确性。 我们的TSM模型在实现低计算成本的同时,可以实现极具竞争力的性能,从而可以进行快速推理。我们在表2中显示了每种模型的FLOP。尽管GCN本身很轻,但是该方法使用了基于ResNet-50的区域推荐网络[34]提取边界框,其计算成本也在图表中考虑。请注意,光流提取的计算成本通常大于视频识别模型本身。 因此,我们不会报告基于双流方法的FLOP。
我们在图5中显示了精度,FLOP和参数数量。在Something-Something-V1数据集的验证集上测试了精度,并且参数的数量由圆圈区域表示。我们可以看到,基于TSM的方法比以前的最新高效模型(基于ECO的模型)和高性能模型(基于非局部I3D的模型)具有更好的帕累托曲线。TSM模型既高效又准确。它可以高效地达到最先进的精度:与ECO系列相比,它在获得更好性能的同时,所消耗的计算量也减少了3倍。 考虑到ECO已经是一种以效率为导向的设计,因此我们的方法在硬件效率方面具有很高的竞争力。
5.4延迟和加速
测得的推理延迟和吞吐量对于大规模视频理解很重要。TSM具有低延迟和高吞吐量。我们在单个NVIDIA Tesla P100 GPU上进行了测量。 我们使用批次大小1进行延迟测量; 批量大小为16的吞吐量测量。 我们做了两个比较:
(1)与[50]中的I3D模型相比,我们的方法提高了1.8%的精度(表5)。我们还将我们的方法与最新的高效模型ECO [61]进行了比较:我们的TSM模型的延迟降低了1.75倍(17.4毫秒对30.6毫秒),吞吐量提高了1.7倍,并且精度提高了2%。ECO具有双分支(2D + 3D)架构,而TSM仅需要廉价的2D模块。
(2)然后,我们将TSM与高效的3D模型设计进行了比较。一种方法是仅对每个块中的第一个1×1卷积进行膨胀,如[49]中所示,在表中表示为“ I3D”。 尽管由于池化,FLOP与之相似,但与TSM相比,它的等待时间高出1.5倍,吞吐率仅为55%,而准确性却更差。我们推测原因是TSM模型仅使用针对硬件高度优化的2D卷积。排除在设计中因素,我们将每个TSM替换为3×1×1卷积,并将此模型表示为I3Dreplace。 它仍然比TSM慢得多,并且性能更差。
5.5使用TSM进行在线识别
在线****与****离线:在线TSM模型可以单向移动特征图,以便可以实时给出预测。 我们比较了离线和在线TSM模型的性能,以表明在线TSM仍然可以达到优秀的性能。按照[61],我们使用所有帧的平均预测值与离线模型进行比较,即在观察整个视频后比较性能。表6中提供了性能数据。我们可以看到,对于时间相关性较小的数据集(如Kinetics,UCF101和HMDB51),在线模型与离线模型相比具有相同甚至更好的性能。对于更多与时间相关的数据集,Something-Something的在线模型比离线模型的性能差1.0%。 尽管如此,在线模型的性能仍然明显优于2D基线。
我们还比较了纯2D网(TSN)和在线TSM模型的每帧预测延迟。我们在GPU上使用TVM [5]编译两个模型。我们的在线TSM模型仅增加每帧小于0.1ms的延迟开销,同时将精度提高25%。它证明了在线TSM对于要求严格等待时间的实时应用程序具有较高的效率。
早期识别:早期识别旨在对视频进行分类,同时仅观察一小部分帧。 它可以快速响应输入视频流。 在这里,我们比较了UCF101数据集上的早期视频识别性能(图6)。 与ECO相比,TSM的准确性更高,尤其是在仅观察一小部分帧时。 例如,当仅观察视频帧的前10%时,TSM模型可以达到90%的精度,比最佳ECO模型高6.6%。
在线目标检测:实时在线视频目标检测是自动驾驶汽车,机器人等领域的重要应用。通过将我们的在线TSM注入到主干中,我们可以轻松地考虑时间线索,而开销却可以忽略不计,因此该模型可以处理不良的物体外观,例如运动模糊,遮挡,散焦等。我们在R-FCN [23]检测器上进行了实验,该检测器具有ImageNet-VID [35]数据集上的ResNet101。我们将单向TSM插入主干,同时保持其他设置不变。 结果示于表7。与2D基线R-FCN [23]相比,我们的在线TSM模型显着提高了性能,尤其是在快速移动物体上,TSM使mAP提高4.6%。我们还比较了使用光流聚合21帧(过去10帧和未来10帧)中的时间信息进行离线视频检测的强大基线FGFA [60]。 与FGFA相比,TSM可以实现相似或更高的性能,同时以更少的延迟实现在线识别。 我们将补充材料中的一些视频片段可视化,以表明在线TSM可以利用时间一致性来纠正错误的预测。
部署:TSM是移动设备友好的。 我们使用MobileNet-V2建立了在线TSM模型,该模型在Kinetics上达到了69.5%的准确性。 表8显示了NVIDIA Jetson Nano和TX2,Raspberry Pi 4B,三星Galaxy Note8,Google Pixel-1的延迟和能耗。这些模型是使用TVM编译的[5]。 用功率计测量功率,减去静态功率。TSM在边缘设备上实现了低延迟和低功耗。
6结论
我们提出了时间移位模块,以实现高效的硬件视频识别。 可以将其插入2D CNN主干中,以进行联合时空建模,而无需额外计算。该模块沿时间维度移动部分通道,以与相邻帧交换信息。我们的框架既高效又准确,可在设备上实现低延迟的视频识别。