ViPNAS: Efficient Video Pose Estimation via Neural Architecture Search论文解读

ViPNAS: Efficient Video Pose Estimation via Neural Architecture Search 论文解读

写在前面: 最近在做姿态估计相关课题,目前已经实现了Open-pose、 Hrnet、Alphapose等主流模型,这些模型通过训练已经可以达到我所需要的准确率要求,然而,在推理速度上却远远不能满足我的需求,目前,上述网络在2080ti上fps基本上可以在15左右,然而,我最终的想法是部署在边缘式设备上,边缘式由于算力以及内存的限制,若现在简单粗暴将上述模型部署在上面,势必不能满足要求,因此,最近准备复现轻量级的网络,上周复现了lite-Hrnet,lite-Hrnet论文上提出的参数量,还是flops都远远小于Hrnet,但是最后在浮现过程中,却发现其推理速度却慢于Hrnet,这是什么原因?故在此抛砖引玉,还请有相关方向的大佬能够指点一二。

摘要

  目前,人体姿态估计网络已经得到了显著性的发展,然而,最近的网络模往往将注意力放在了模型的准确率上而忽视了实时性。为了在准确率和实时性上达到平衡,我们提出了一种新颖的网络结构搜索的方法,在时间和空间层面上进行搜索,并最终用于视频中的快速人体姿态估计,称为VIP-NAS。在空间层面上,我们在网络深度、宽度、卷积核大小、组数、注意力机制上建立搜索空间。在时间层面上,我们探索在一系列的时间维度上上进行特征融合以达到优化整体准确率和多帧之间的加速要求。本文亮点如下:第一个提出在视频中探索时间特征的融合以及自动计算分配。实验事实已经证明,我们的方法在COCO2017数据集上以及PoseTrack2018数据集上不仅可以达到实时性的要求,而且,相对于之前的sota模型,在准确率上没有什么损失。

简介

  伴随着神经网络的发展,人体姿态检测已经取得了显著的进步,但是目前大多数的sota模型只是将注意力放在提高模型的准确率上,却忽视了模型的计算复杂度以及实际应用上的表现,然而在实际应用中,准确率以及推理速度是同样关键的。在这片文章中,我们致力于建立一个新的轻量级模型,该模型不仅能达到sota效果并且在计算量上会有显著的降低。
  对于视频中的姿态检测,通常会认为时间的冗余性将会导致计算量的冗余,例如,视频中相邻两帧将会共享相似的全局信息。时间维度上的语义信息将会用于提高姿态估计的效果。因此,为了利用时间维度上的语义信息进而平衡准确率以及实时性,将之前帧的特征与当前帧进行融合是至关重要的。然而,仍然存在一些问题。
  1. 低维度上的局部特征对于准确的定位是比较重要的, 而高维度的全局特征对于遮挡以及大范围的动作变化是比较鲁棒的。那么我们应该在哪个阶段进行融合呢?
  2. 对于时间维度上的特征融合,不同的融合操作(相加, 相乘,连接) 是通过试错法进行的,我们将如何会进行优化策略的选择呢?
&emsfangfap; 3. 我们的目标是在低算力消耗的限制中优化整体的准确率。先前的工作是直接使用不同的框架来处理不同的模型,这样往往取得的效果是次优的,怎样合理的在不同的视频帧之间分配计算资源同样值得考虑。
  通过手动调节,不断的试错来解决上述的问题是乏味的,我们通过NAS(网络结构搜索)给出了一个统一的解决方案。提出时空NAS网络结构用以视频中的姿态检测,命名为VIPNAS。对于空间维度上的搜索,我们在五个维度上(深度、宽度、组个数、卷积核大小、注意力机制)对神经网络进行优化,在时间维度上, 我们在三个方面进行共同研究设计:1)特征融合的阶段,2)特征融合操作,3)视频帧之间的计算分配。空间维度和时间维度上的搜索是通过一个框架进行共同优化的。给定多帧的总计算量作为限制条件,我们可以在不同的视频帧之间分配计算资源以达到优化的效果。实验证明,VIPNAS能在不同的BACKBONE上达到很好的效果。
  我们的主要贡献主要分为以下及格部分:
  !提出了提出了VIPNAS用来高效率的解决视频总的姿态估计。
  !VIPNAS在整体计算的限制下学习多帧之间的计算资源的分配。
  !VIPNAS自动搜索时间上的联系,例如融合模块以及位置。在视频中姿态估计任务中,我们在CPU上的推理速度达到>25FPS的成绩。

2.相关工作

2.1 人体姿态估计

  最近的人体姿态估计工作主要是通过增加模型的容量提高模型的准确率。为了更好的捕获语义信息,注意力机制已经被用于其中。
  对于实时性姿态检测,大多数将视频切分为帧,以图片的形式进行姿态估计。然而这些方法没有考虑到时间一致性,容易受到动作模糊以及遮挡的影响,其他工作利用时间线索保证帧之间的几何一致性,这种方法包括沿信道轴直接处理级联的连续帧,应用三维卷积神经网络,利用密集的光流产生平滑的运动,这些方法是显然是不能够达到实时性要求的。

2.2 NAS

   NAS在图片水平上的应用。网络结构搜索主要是自动进行网络结构的设计。早期的NAS方法,主要是从具有大量网络结构的模型中进行采样,从头开始训练,这是非常耗时的。近期的NAS方法主要是通过权重共享训练超级网络,我们的方法同样遵循这个范式:只训练这个超级网络一次,然后评估不同的子网络。
   NAS在视频水平上的应用。NAS已经应用到视频任务中,例如视频识别。EVANET通过进化算法寻找网络的连续性以及平行参数。AssembledNET寻找多流(RGB以及其他光流)网络的联系。Tiny VideoNet寻找基于有效图像分类的是视频识别模型。
   NAS在单张图片上姿态估计的应用。POSENAS介绍了人体的先验结构,并搜索了多个个性化模块,用于基于部分的表示。
   我们的工作与之前的方法不同,首先,我们提出的将NAS应用在视频姿态估计中是第一次尝试。第二,图像级和视频级任务的现有工作并没有同时搜索不同的体系结构,但是我们的工作搜索框架为进一步利用NAS在视频姿态估计中的应用提供了专门的模型。第三,我们提供了一种新型的时空搜索空间。为了更加完整的挖掘时间信息,探索了将上一帧图像与当前帧信息进行特征融合的方法,这在之前在是没有的。我们的方法也继承了once-for-all的优点,例如,只训练一次获得许多子网络,这大大降低了搜索的时间消耗。

3.方法

3.1 综述

   视频姿态估计致力于定位每一帧中人体部分(骨骼关节点或者关键点)。
   在这篇文章中,基于实时姿态扩展范式,我们提出了一种新的NAS框架,主要结构见figure2 .对于T+1帧,第1帧被选作为关键帧,对于关键帧,高精度的空间视频监测网络(S-VIPNet)用于定位人体姿态。我们照常使用heatmap去编码关节点位置。对于非关键帧,一个轻量级的时间视频姿态估计网络(T-VIPNet)用于姿态传播。在T-VIPNet,一些卷积层用于提取当前帧的特征,然后一些时间特征融合单元将当前帧的特征与上一帧的heatmap进行融合。被融合的特征被T-VIPNEt之后的卷积层进行处理,获得当前帧的heatmap。预测的heatmap每个关节点的逐像素似然度进行编码,并且作为指导信息去引导接下来关节点的位置。这种传播一直到下一关键帧的出现再结束。
figure 2
   VIPNAS包含两个水平的搜索空间,时间维度上的以及空间维度上的。关键帧(S-VIPNET)的网络架构在空间维度上搜索,非关键帧(T-VIPNET)包含时间维度上的特征融合以及卷积层。在空间以及时间维度上同时搜索。 不同的非关键帧在特征融合单元(融合操作和特征融合阶段)以及卷积层上都有着不同的网络架构。如figure2所示。

3.2空间维度上的搜索空间

  我们设计了一个超级网络用以寻找模型架构的搜索,主要搜索block的数目以及block 的结构。我们的架构搜索空间扩展到了更为广泛的组(深度、宽度、卷积核大小、组、注意力机制)。寻找这些因素的最佳参数。设计的超级网络按照顺序分为十几个阶段,每一个阶段包含十几个block,这些block输出的特征具有相同空间分辨率。按照以下方式进行五个维度的搜索:

  弹性深度D:每个阶段block的数目。我们激活前D个block当当前阶段的弹性深度是D。弹性宽度W:每个block的输出通道的数目。弹性卷积核大小KxK:常规卷积的时候在{3,5,7}选择,反卷积的时候在{2,4}中选择。弹性组个数N:每个block中卷积层的数目,范围是从1到N(1代表是标准卷积,N代表是深度可分离卷积)。弹性注意力模块:是否在每个block后使用注意力机制。之前的实验已经证明,注意力机制可以提高姿态估计模型的性能,因此,我们将注意力机制放在搜索空间。调查研究是否使用注意力模块(GC & SE)在block之后。如果没有被选用则跳过注意力模块,做一个恒等映射。

3.3时间维度上的搜索空间

  单一的轻量级姿态模型很难获取到全局信息和分辨出相似外貌下的关节点。然而,考虑到相邻帧时间的姿态是具有时间关联的,轻量级的网络可以通过之前帧的指导估计出当前帧关节点的位置。
  时间维度上的特征融合对于视频姿态估计是至关重要的。先前的时间维度上的特征融合主要分为以下两个方面:融合操作以及特征融合的阶段。主流的特征融合操作主要包括以下几个方面:相加、相乘、连接等,由于不同的姿态网络偏向不同的融合操作,因此融合操作的选择是精心设计的。除此之外,不同阶段的输入特征的融合使用不同的方法。总的来说,低维特征可能包含更详细的位置信息,高维特征包含更多的全局信息,之前的工作,使用的特征级别是通过不断试错总结出来的。在VIPNAS中,我们通过在一次搜索中,让网络自动学习最佳的融合操作以及融合的最佳阶段。
  如figure2所示,我们设计的时间维度上的特征融合输入主要包括前一帧的heatmap以及当前帧的特征图。时间特征融合单元首先选择输入特征F(2, t+1)的位置。之前的姿态的heatmp首先经过1X1卷板处理,然后通过双线性插值调整其通道数和分辨率去匹配当前帧的输入特征F(2, t+1)。上一帧的heatmap和当前帧的输入特征通过可选择的融合操作进行特征融合,之后经过1X1卷积处理,使得融合后的特征F(2, t+1,hat)与当前帧的输入特征具有相同的形状。
  对于非关键帧的搜索空间包含N0种特征融合操作。包括相加、相乘、连接, 有Ns中输入特征阶段的选择。因此,搜索空间的大小是(N0*Ns),因此不可能通过试错法进行优化。

3.4训练VIPNAS

3.4.1 训练S-VIPNet

基于3.2节时间维度上搜索空间的定义,我们使用【1】的方法训练我们的超级网络。Sandwish原则以及in-place蒸馏【1,2】操作被应用于其中。然后我们在限制条件下采样了自网络并且在验证集上进行评估,并最终选定性能最优的S-VIPNet,用来处理关键帧。

3.4.2 训练T-VIPNet

在这个部分,介绍了我们T-VIPNet的多帧传播训练计划。目标是在处理视频中人体姿态时,能够同时优化模型的整体准确率以及时间。整体的目标函数如下表示:
公式
S是关键帧模型S-VIPNet,θs表示权重,它是经过预训练的且是固定的,用来搜索T-VIPNet,T代表T-VIPNet的超级网络,被参数化为θt。在训练过程中,我们从T中抽取由架构arch组成的架构并且复制T中对应的网络参数θt。对于每一帧t,It是输入图像,Ht是预测的heatmap。我们使用MSE损失函数L去评测非关键帧的预测值与目标值的不同。
  对于T-VIPNet多帧姿态传播的训练由figure3所示,关键帧的heatmap迭代地传到T(T>=2)非关键帧。对于非关键帧,我们采用单一的T超级网络,所有的T-VIPMNet共享权重,这样会在训练过程中节省内存。除此之外,由于只训练一次超级网络,我们可以搜索具有不同传播帧数的T-VIPNet的组合,见table4。我们使超级网络T与发现的S-ViPNet共享相同的CNN架构。首先,因为基于图像的与基于视频的姿态检测任务是相关的,一个在基于图像上的姿态检测模型可以很好的用于基于视频姿态监测任务。第二,S-VIPNet的预训练权重文件可以用于超级网络的初始化,第三,通过共享网络结构,关键帧的输出特征与非关键帧的输出特征能够更加对齐。
  我们在时间维度上以及空间维度上联合对T-VIPNet进行训练,以达到全局最优,在每个batch使用Sandwish rule去采样最小的网络,最大的网络以及两个随机的网络。同时训练和搜索卷积的架构以及时间融合单元(融合操作以及融合阶段)。对于最大或最小子网络,所有帧的T-VIPNet使用最大或最小的卷积架构,然而时间维度上的搜索是随机的。对于N个随机的采样子网络,每一个T-VIPNet在时间和空间搜索空间中都有着独特的体系机构。inplace 只是蒸馏【1,2】接受最大子网络的输出作为软标签去加强其他子网络的监督作用。最大子网络的输出是与ground truth进行比较,使用MSE进行误差计算,其他的则有软标签以及ground truth共同监督。
网络结构

3.4.2 自动计算分配

  如上所述,不同帧的子网络(T-VIPNet)不是一定共享一个网络架构的。在VIPNAS中,不同的复杂性的模型被自动分配到不同的帧。
   通常来说,我们致力于寻找一组子网络({arch}t=1:T)实现在计算消耗(flops)的限制下获得整体的平均准确率(AP)。
公式
  在搜索过程中,我们简单遵循【1】的方法去计算限制的条件下随机采样子网络并在验证集上计算准确率。在限制条件下,选取在验证集上获得最高准确率子网络用于T-VIPNets的构建。

4. 实验

4.1 数据集

  数据集用的是COCO2017数据集以及PoseTrack2018数据集。

4.2 实验细节

  我们在COCO数据集上训练并且评估单帧姿态估计器,称为S-VIPNAS。在训练过程中,将人体的图片大小裁剪为256*192, 使用随机旋转[-40, 40]以及随机翻转作为数据增强的手段。使用 inplace 知识蒸馏的方法训练我们的超级网络250代。权重被初始化为正态分布,σ=0.001,原始学习率是0.0001,在200代以及230代学习率衰减为原来的十分之一。在计算限制下采样500个模型,用以寻找在验证集上AP最高的S-VIPNAS。使用S-VIPNAS作为关键帧的姿态估计器。同时作为非关键帧的时间传播模型(T_VIPNAS)的超级网络。在多帧超级网络的训练过程中,T到T+3(默认是3)帧的数据增强方法是一样的。我们使用Sandwish rule 去训练超级网络,初始化学习率为0.0001,余弦学习率衰减。

4.3 实验结果

结果对比

结果对比

结果对比

4.5 消融实验

  时间维度上搜索的作用。为了验证时间维度上搜索的效用,我们搜索了在相同计算限制下的S-VIPNAS和T-VIPNAS。将基于图像的S-VIPNAS应用到每一帧中。发现基于多帧的T-VIPNAS的效果会优于S-VPIPNAS,具体比较见Table-3。
   时间特征融合的作用。具体比较见figure-6.
figure6
  自动算力分配的作用见figure6-b

5.结论

  在这篇文章中,我们提出了VIPNAS模型用于实时性视频姿态估计以平衡准确率与推理时间。VIPNAS自动给不同的帧分配计算资源(比如 flops)以达到整体的优化效果,通过设计新型的时间维度搜索空间,我们可以同时搜索CNN的网络架构以及帧之间的时间联系比如说帧之间的融合操作的方式以及融合的节点位置。事实证明,我们的模型能够达到sota的效果且推理时间较短。
  以上便是文章的整体内容,接下来的几天我将会对改论文进行整体解读,等我呦~

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Begin,again

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值