设为首页|收藏本站|
开启左侧

[问答] MIT韩松老师组TinyML CVPR2022新作LitePose

[复制链接]
75123 0
徐州小胖烧烤 发表于 2022-5-9 03:04:20 | 只看该作者 打印 上一主题 下一主题
 
本号持续分享边缘计算和轻量化神经网络的知识,有想问的问题欢迎在评论区评论。原创不易,希望大家点赞加关注。

MIT韩松老师组深耕边缘计算和移动端研究,主要涉及NAS、剪枝、量化以及端到端轻量化工作,大家感兴趣可以关注MIT HAN Lab。
论文标题:Lite Pose: Efficient Architecture Design for 2D Human Pose Estimation
代码链接:https://github.com/mit-han-lab/litepose(暂未放出,可持续关注)
作者及团队:Yihan Wang 1* (1 Tsinghua University ),Muyang Li 2 (2 Carnegie Mellon University ) ,Han CAI 3,Weiming Chen 3,Song Han 3 (3 Massachusetts Institute of Technology)

一句话结论:
本文研究了边缘端多人姿态估计的高效结构设计,设计了一个渐变收缩实验来连接多分支和单分支结构。我们的研究表明,对于低计算区域的模型,高分辨率分支是冗余的。受此启发,我们提出了一种高效的姿态估计结构,它继承了单分支和多分支结构的优点。大量实验证明了LitePose的有效性和鲁棒性,为边缘应用的实时人体姿态估计铺平了道路。
以下为文章完整讲解:
摘要:
姿态估计在以人为中心的视觉应用中起着关键作用。然而,由于计算成本高(每帧超过150 GMACs),很难在资源受限的边缘设备上部署SOTA的基于HRNet的姿态估计模型。本文研究了边缘端实时的多人姿态估计模型的高效架构设计。通过渐进收缩(gradual shrinking)实验,本文发现HRNet的高分辨率分支对于低计算区域的模型是多余的,删除它们可以提高效率和性能。受这一发现的启发,本文设计了LitePose,一种用于姿势估计的高效单分支结构,同时引入了两种简单的方法来增强LitePose的能力,包括fusion deconv head和large kernel conv。在移动平台上,LitePose在不牺牲性能的情况下将延迟降低了5倍,与现有的SOTA高效姿态估计模型相比,推动多人实时姿态估计模型在边缘端取得了突破性进展。本文的代码和预训练模型发布于https://github.com/mit-han-lab/litepose.

1. 介绍:
人体姿势估计的目的是从图像中预测每个人的关键点位置,对于许多需要了解人体行为的视觉应用来说,是一项关键技术。典型的人体姿势估计模型可分为两种方式:自上而下和自下而上。自上而下的方式首先通过额外的检测器检测人体,然后对每个检测到的人执行单人姿态估计;相比之下,自下而上的方式首先预测无身份关键点,然后将他们分组到每个人。由于自下而上的方式不需要额外的人体检测器,也不需要对图像中每个人重复运行姿态估计模型,所以更适合边缘端多人实时姿态估计。

然而,现有的自下而上姿态估计模型主要集中在高计算区域。例如,HigherHRNet在CrowdPose数据集上实现了最佳性能,但计算量超过150GMACs,这对于边缘设备来说是不可行的。因此,在保持良好性能的同时,设计计算成本低的模型具有重要意义。

在本文中,我们研究了自下而上的人体姿态估计的高效架构设计方法。然而,以前的对于高计算区域的研究表明,高分辨率表示对提升自下而上姿态估计模型的良好性能起着关键作用,然而目前尚不清楚这是否适用于低计算区域的模型设计。为了回答这个问题,我们通过渐进收缩方法,在具有代表性的多分支结构(如HigherHRNet)和单分支结构之间搭建了一座“桥梁”,如图2所示。我们惊讶地发现,当我们缩小低计算区域对应模型的高分辨率分支的深度时,性能会提升,如图3所示。受这一发现的启发,我们设计了一个单分支架构LitePose,用于高效的自下而上的姿态估计模型设计。我们使用改进的MobileNetV2作为主干网络,对单分支设计中的尺度变化问题进行了两项重要改进:fusion deconv head和large kernel conv。Fusion deconv head消除了高分辨率分支中的冗余细化,因此可以以单分支方式进行尺度感知的多分辨率融合,如图6所示;与图像分类不同,我们发现large kernel convs对于自下而上的姿态估计模型性能有明显改善,如图7所示。最后,我们应用神经结构搜索(NAS)来优化模型结构,并选择合适的输入分辨率。

MIT韩松老师组TinyML CVPR2022新作LitePose 第1张图片

MIT韩松老师组TinyML CVPR2022新作LitePose 第2张图片

MIT韩松老师组TinyML CVPR2022新作LitePose 第3张图片

MIT韩松老师组TinyML CVPR2022新作LitePose 第4张图片

在CrowdPose 和COCO数据集上的大量实验证明了LitePose的有效性。在CrowdPose数据集上,Litepose将MACs值降低了2.8倍,最多降低5倍延迟,同时性能更好。在COCO数据集上,相比EfficientHRNet,LitePose降低了2.9倍延迟,同时性能更好。

我们的贡献总结如下:

  • 我们设计了渐进收缩实验,表明高分辨率分支对于低计算区域模型是冗余的。
  • 我们提出了LitePose,一种高效的自下而上的姿态估计架构;我们还引入了两种提升LitePose能力的技术,为fusion deconv head和large kernel conv。
  • 在两个基准数据集COCO和CrowdPose上的大量实验证明了该方法的有效性:与基于HRNet的SOTA模型相比,LitePose将MACs值降低了2.8倍,最多5倍延迟。

2. 相关工作:
2D人体姿态估计。2D人体姿态估计旨在定位人体关键点(如肘部、手腕)或人体部位,主要有两种方法:自上而下和自下而上。自上而下的方法首先通过从图像中检测每个人体来做单人姿态估计;相反,自下而上的方法以端到端的方式直接预测关键点。典型的自下而上方法包括两个步骤:预测关键点热图;然后将检测到的关键点分组到每个人。在这些方法中,基于HRNet的多分支结构取得了SOTA结果。他们设计了一个多分支结构,允许多分辨率融合,这在解决自下而上姿态估计的尺度变化问题方面被证明是有效的。然而,所有这些方法计算复杂度高(大多数>150GMACs),导致无法部署在边缘设备上。在文本工作中,我们关注自下而上方法的高效框架设计,Follow HRNet方法,使用关联嵌入进行分组。

模型加速。除了设计高效的模型,另一种模型加速方法是压缩大模型。一些方法旨在修剪卷积连接和卷积滤波器的冗余;其他一些方法侧重于量化网络。此外人们还提出了几种AutoML方法来自动化进行模型压缩和加速。最近,Yu等人设计了自上而下姿态估计模型LiteHRNet,而我们关注的是自下而上的方式。Neff等人提出了高效的自下而上姿态估计模型EfficientHRNet,他们将EfficientNet中的复合缩放思想应用于HigherHRNet并实现了1.5倍的MACs值降低。然而,当计算约束变得更严格时,他们的方法仍然面临着严重的性能下降。在本文工作中,相比EfficientHRNet,我们将MACs值降低5.1倍,并且在移动平台上实现了最高5倍的延迟降低。

神经结构搜索。神经结构搜索(NAS)在大规模图像分类任务上取得了巨大成功,且自动设计的模型明显优于手工制作的模型。为了提高搜索过程的效率,研究人员提出了一次性NAS方法,其中不同的子代网络共享相同的权重。为了进一步探索我们提出的结构的潜力,我们采用“一劳永逸”方法,自动修剪通道冗余,并选择适当的输入大小。与手工设计的模型相比,从零开始训练,我们搜索的模型达到了3.6AP提升。

3. 重新思考高效的设计空间
多分支网络在自下而上的姿态估计任务中取得了巨大的成功。他们的代表HigherHRNet使用多分支结构来进行多分辨率融合,显著缓解尺度变化问题。得益于此,多分支结构的性能优于单分支结构,并取得了SOTA结果。但这些方法中的大多数仍然存在一个问题,即它们以超过150GMACs值实现了最佳性能,不同方法之间的比较也大多是在计算量如此之大的情况下进行的。对于现实世界的边缘端应用,研究低计算量的高效人体姿态估计具有重要意义。在本节中,我们首先介绍基于HRNet的多分支结构,以及它们如何处理尺度变化问题。然后,我们指出在计算受限的情况下,能够逐渐缩小高分辨率分支中的冗余。基于这一观察,我们提出了fusion deconv head,该头在高分辨率分支中去除冗余细化从而有效地处理了尺度变化问题。另一方面,我们通过经验发现,与图像分类任务相比,大的kernel对姿态估计任务有显著的性能提升。大量消融实验证明了我们方法的有效性,同时表明适当设计的单分支架构可以实现更好的性能和更低的延迟。

3.1. 尺度感知的多分支结构
尺度感知。多分支设计旨在解决自下而上姿态估计中的尺度变化问题。由于我们需要预测图像中所有人的关键点坐标,通常单分支结构很难识别图像中占比较小的人,并将关键点与低分辨率特征区分开来,如图5(b)所示。多分支结构引入的高分辨率特征可以保留更多的细节信息,因此有助于网络更好地捕捉图像中占比较小的人,并区分关键点。

MIT韩松老师组TinyML CVPR2022新作LitePose 第5张图片

多分支机制。如图2所示,基于HRNet的多分支结构主要包括4个阶段。在第n个阶段(我们将stem视为第1阶段),有n个分支分别处理n个不同分辨率的输入特征图。在处理输入特征时,每个分支首先分别细化自己的输入特征,然后在不同分支之间交换信息以获得多尺度信息。

3.2. 高分辨率分支中的冗余
当关注低计算量模型的性能时,我们发现多分支结构可能不是最有效的选择。在本节中,我们提出了一种称为渐进收缩的方法,来表明多分支结构中的高分辨率分支存在冗余。如图2和图3所示,通过渐进收缩高分辨率分支的深度,多分支网络越来越靠近单分支网络。然而,性能并没有降低,甚至会提高。

渐进收缩。我们通过渐进收缩实验来揭示基于HRNet的多分支结构存在冗余。令 MIT韩松老师组TinyML CVPR2022新作LitePose 第6张图片 表示融合前阶段n中用于细化每个分支特征的blocks数( MIT韩松老师组TinyML CVPR2022新作LitePose 第7张图片 代表分支i中的blocks数)。这里分支i比分支i+1处理更高分辨率的特征图。然后我们可以将整个多分支结构定义为 MIT韩松老师组TinyML CVPR2022新作LitePose 第8张图片 ,则满足 MIT韩松老师组TinyML CVPR2022新作LitePose 第9张图片 时,令 MIT韩松老师组TinyML CVPR2022新作LitePose 第10张图片 是从 MIT韩松老师组TinyML CVPR2022新作LitePose 第11张图片 收缩而来的。为了方便起见,我们将其表示为 MIT韩松老师组TinyML CVPR2022新作LitePose 第12张图片 。结构 MIT韩松老师组TinyML CVPR2022新作LitePose 第13张图片 被称为从 MIT韩松老师组TinyML CVPR2022新作LitePose 第14张图片 (即 MIT韩松老师组TinyML CVPR2022新作LitePose 第15张图片 ) 收缩得到,其中 MIT韩松老师组TinyML CVPR2022新作LitePose 第16张图片 。使用上述符号,通过渐进收缩意味着我们构造了一系列的结构 MIT韩松老师组TinyML CVPR2022新作LitePose 第17张图片 。如图2和图3所示,我们逐渐收缩高分辨率分支的深度,并意外地发现这种收缩操作甚至有助于提升性能。同时,渐进收缩的过程使整个网络越来越接近单分支网络,这有力地证明了单分支结构更适合自下而上姿态估计任务的高效结构设计。为了使渐进的过程更加清晰,这里列出了我们使用的四种方式:

MIT韩松老师组TinyML CVPR2022新作LitePose 第18张图片

MIT韩松老师组TinyML CVPR2022新作LitePose 第19张图片

MIT韩松老师组TinyML CVPR2022新作LitePose 第20张图片

MIT韩松老师组TinyML CVPR2022新作LitePose 第21张图片

3.3. Fusion Deconv Head:去除冗余
虽然前面我们已经展示了多分支结构中的冗余,但其处理尺度变化问题的能力强大。我们能够将这些特征融入到我们的设计中,并保持单分支结构的优点(如高效率)吗?为了实现这一目标,我们提出融合反卷积层作为最终的预测头。具体而言,如图4和图6(b)所示,我们直接(即不进行任何细化)利用前一阶段生成的低层高分辨率特征用于反卷积和最终预测层。一方面,我们的LitePose使用单分支结构作为backbone,这得益于其低延迟特性;另一方面,直接使用低层高分辨率特征避免了多分支HR融合模块中的冗余细化。因此,LitePose以一种高效的方式融合了单分支设计和多分支设计的优点。在图6(a)和图5中,我们展示了融合反卷积头的优势。在计算成本几乎不增加的情况下,我们获得显著的性能提升(+7.6AP)。

MIT韩松老师组TinyML CVPR2022新作LitePose 第22张图片

3.4. 大核卷积的移动骨干网络
一些论文研究了在严格的计算约束条件下对图像分类任务的高效结构。如图4所示,我们使用经过修改的MobileNetV2结构作为LitePose的backbone。我们通过移除最后的下采样阶段,对原始MobileNetV2 backbone进行了很小的修改。下采样层过多会导致信息丢失,这对姿态估计任务的高分辨率输出是有害的。

为了进一步解决尺度变化问题,我们在高效的结构设计中引入了大的核。与传统的图像分类任务不同,这种修改对基于MobileNetV2的backbone起着更重要的作用。在图7中,我们展示了在图像分类和姿态估计任务中,对核尺寸为3、5、7(仅用于姿态估计的核尺寸为9)的模型进行了性能比较。在计算成本增加(约为+25%)的情况下,姿态估计任务(+13.0AP)的性能增益远大于图像分类任务(+1.5%Acc)。图5中的可视化结果也验证了我们的说法,并不是“核尺寸越大越好”。过大的核将引入许多无用参数和不可忽略的噪声,这使得训练更加困难,并导致性能下降,如图7中k=9的情况所示。我们进一步发现,将核大小合并到搜索空间将严重降低第4节中将要提到的NAS的性能,这可能是由于核大小变化造成的,因此在我们的架构中,将核大小固定为7 x 7。

3.5. 单分支,高效率
除了性能,我们的单分支LitePose的另一个重要优点是它的硬件友好特性。如ShuffleNetV2所述,多分支设计等网络碎片问题降低了某些硬件上的并行度。因此,对于实际应用,单分支结构是一个更好的选择。我们在图8(文章中写的是图3,这里应该是图8)中展示了HigherHRNet-W16和LitePose-L之间的定量比较结果。和HigherHRNet-W16相比,LitePose-L不仅实现了更好的性能(+11.6AP),而且在高通Snapdragon 855上,即使MACs值更大,也能获得类似的延迟。所有这些结果都证明了我们的单分支LitePose的高效性。

MIT韩松老师组TinyML CVPR2022新作LitePose 第23张图片

4. 神经结构搜索
自下而上姿态估计任务的现有工作通常在模型中的所有层上使用手工制作的(主要是单一形式的)通道宽度和固定的大分辨率(例如512x512)。为了进一步探索我们模型的潜在紧凑性,在本节中,我们应用once-for-all方法,自动删除通道中的冗余,并选择最佳输入分辨率。优化目标和搜索过程如下所述,通过NAS,我们得到了四个不同结构的LitePose模型(XS、S、M和L)。在第5.3节,我们详细展示了NAS的高效性。

优化目标。假设原始LitePose结构在每一层中包含 MIT韩松老师组TinyML CVPR2022新作LitePose 第24张图片 个通道,其中K表示网络的层数。我们的优化目标是找到一个子网络,其输入分辨率为 MIT韩松老师组TinyML CVPR2022新作LitePose 第25张图片 ,通道宽度为 MIT韩松老师组TinyML CVPR2022新作LitePose 第26张图片 。以便在达到最佳平均精度(AP)的同时满足我们的效率约束。

一次性超网络训练。我们首先训练LitePose超网络,它通过权重共享支持不同的通道设置。对于每个训练迭代,我们均匀采样一种通道设置,并用它训练超网络。通过这种方式,每种设置都经过相同的训练,可以独立训练。为了帮助超网络更好地学习分组关联嵌入,我们使用预训练好的权重初始化超网络。有关超网络训练和预训练的更多信息,请参见第5.2节。

搜索和微调。由于超网络经过了充分的训练和权重共享,我们可以直接提取某个子网络的权重并对其进行评估,而无需进一步微调,这近似于子网络的最终性能。我们使用进化算法来寻找给定效率约束(例如MACs值)的最优设置。在找到最佳设置后,我们对某些epochs下的子网络进行微调,并得到最终性能。有关微调的更多详细信息,请参见第5节。

5.实验
5.1. 数据集和评估
Microsoft COCO数据集。Microsoft COCO数据集包含超过200000张图像,250000个人像实例,标记有17个关键点。它被分为train/val/test-dev数据集,分别有57k、5k和20k图像。我们在Microsoft COCO上的所有实验都只在训练集上进行训练,在val和test-dev集上测试。

CrowdPose数据集。CrowdPose数据集由20000张图片组成,包含大约80000个人像,标记了14个关键点。和COCO 相比,CrowdPose包含更加crowded的场景,对姿态估计有更多挑战。跟随HigherHRNet,我们在train+val集上训练我们的模型,并在test集上测试。

评估指标。标准评估指标基于目标关键点相似性(OKS): MIT韩松老师组TinyML CVPR2022新作LitePose 第27张图片 。这里 MIT韩松老师组TinyML CVPR2022新作LitePose 第28张图片 表示检测到的关键点与其对应的GT之间的欧氏距离; MIT韩松老师组TinyML CVPR2022新作LitePose 第29张图片 表示关键点i的可见性标志。s是目标比例, MIT韩松老师组TinyML CVPR2022新作LitePose 第30张图片 是控制衰减的每关键点常量。基于OKS,我们计算标准平均精度(AP), MIT韩松老师组TinyML CVPR2022新作LitePose 第31张图片MIT韩松老师组TinyML CVPR2022新作LitePose 第32张图片 作为实验结果。

5.2. 实验设置
数据增强。数据增强包括随机旋转MIT韩松老师组TinyML CVPR2022新作LitePose 第33张图片 ,随机尺度变换[0.75,1.5],随机平移[-40,40]和随机翻转。

预训练细节。我们发现如果我们从头开始一次性训练超网络,网络将学习到低质量的关联嵌入(AE)。为了解决这个问题,我们采取了预训练的方式。具体来说,我们在COCO train集上训练最大的超网络100个epochs,但没有使用AE loss(即只使用heatmap loss)。然后我们将其作为预训练模型,用于进一步的超网络训练。

超网络训练设置。我们在CrowdPose数据集上进行一次性NAS,用不同的训练超参和搜索空间训练LitePose-L/M/S和LitePose-XS。我们训练LitePose-L/M/S超网络800个epochs,batch size为32;训练LitePose-XS超网络2400个epochs,batch size为128。在每次训练中,我们从搜索空间中均匀采样一个结构,并用它训练超级网(lr=0.001,bs=32;lr=0.004,bs=128)。

微调设置。在CrowdPose数据集上,我们固定模型结构,微调模型200个epochs,batch size为32。初始lr设置为  ,在第50个epoch和第180个epoch时,lr分别下降到  和  。在COCO数据集上,我们将在CrowdPose上预训练的超网络作为初始化模型。对于每个搜索到的结构,我们训练相应的模型500个epochs,batch size为32。初始lr设置为  ,在第350个epoch和第480个epoch时,lr分别下降到  和  。

搜索细节。我们在CrowdPose数据集上进行NAS,在得到搜索到的结构之后,我们直接将它们推广到COCO数据集,并报告它们在这两个数据集上的性能。对于LitePose-L/M/S超网络训练,我们从[512,448]中选择分辨率,从[1.0,0.75,0.5]中选择通道宽度比。对于LitePose-XS超网络训练,我们从[512,448,384,320,256]中选择分辨率,从[1.0,0.75,0.5,0.25]中选择通道宽度比。

测量细节。我们在高通Snapdragon 855 GPU、Raspberry Pi 4B+和NVIDIA Jetson Nano GPU上测量了我们的模型延迟。对于实际的边缘端部署,深度学习模型必须高效地集成一些优化的库和运行时设备作为后端,并生成尽可能快的可执行文件。因此,我们在raspberry Pi 4B+和NVIDIA Jet-son Nano GPU上报告的所有延迟结果都通过TVM AutoScheduler进行了优化,这可以帮助我们更好地模拟现实世界应用程序的延迟。

5.3. 消融实验
大核。如表3和图7所示,7 x 7的核只增加了很小的计算量,但增强了处理尺度变化问题的能力,因此提供了最佳性能。

MIT韩松老师组TinyML CVPR2022新作LitePose 第34张图片

Fusion Deconv Head。处理尺度变化问题的另一种方法是多分辨率融合,因为引入大分辨率特征有助于更好地捕捉占比较小的人。我们定量地展示了性能收益,如表3和图6所示。我们的高效fusion deconv head在CrowdPose数据集上将性能提高了+7.6AP,计算量仅略有增加。

神经结构搜索。神经结构搜索(NAS)受益于两个方面:一次性的超网络训练和对搜索结构进行微调。如表3所示,超网络训练分别在0.5-LitePose和LitePose-XS上取得+1.4AP和+2.7AP收益。结构搜索在0.5-LitePose上取得+2.2AP收益。另外,对于LitePose-XS,我们将LitePose-S作为微调的teacher网络,获得+1.1AP收益。

5.4. 主要结果
CrowdPose上的结果。我们首先报告了CrowdPose数据集上的结果。与COCO相比,它包含了更多crowded场景。由于自上而下方法的强假设,即每个检测框的中心只包含一个人,因此很难满足crowded场景。在COCO数据集上表现良好的几种自上而下的方法在CrowdPose数据集上表现不好。与基于自下而上HRNet的SOTA相比,我们实现了更好的性能和计算权衡。如表1和图9所示,与基于HRNet的方法相比,在移动平台上我们的结构实现了2.8倍MACs降低,最多5倍的延迟降低。

MIT韩松老师组TinyML CVPR2022新作LitePose 第35张图片

MIT韩松老师组TinyML CVPR2022新作LitePose 第36张图片

COCO上的结果。我们也在COCO数据集上展示了结果,我们的方法大大优于基于HRNet的方法。如表2和图1所示,我们的结构实现了2.4X性能提升。此外,与轻量级Openpose相比,我们的方法在移动平台上表现更好(+14.0AP),延迟更低。

MIT韩松老师组TinyML CVPR2022新作LitePose 第37张图片

MIT韩松老师组TinyML CVPR2022新作LitePose 第38张图片

局限性和未来的工作
虽然我们朝着实时人体姿态估计迈出了一大步,但对于资源极其有限的边缘设备(如微控制器),计算开销(1 GMACs)仍然太大。此外,现有框架(例如PyTorch、TensorFlow)无法很好地支持depth-wise卷积。另外,如果没有特定的推理后端(例如TVM AutoScheduler),我们的LitePose无法实现最有性能。


上一篇:BCG法国在疯狂招人!而你还不知道这家公司是做什么的?
下一篇:2020USNEWS榜上从70飙升到64的麻省大学阿默斯特分校 ...
@



1.西兔生活网 CTLIVES 内容全部来自网络;
2.版权归原网站或原作者所有;
3.内容与本站立场无关;
4.若涉及侵权或有疑义,请点击“举报”按钮,其他联系方式或无法及时处理。
 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

排行榜
活跃网友
返回顶部快速回复上一主题下一主题返回列表APP下载手机访问
Copyright © 2016-2028 CTLIVES.COM All Rights Reserved.  西兔生活网  小黑屋| GMT+8, 2024-9-10 03:37