Efficient-HRNet | EfficientNet思想+HRNet技术会不会更强更快呢?
许多新兴智能物联网应用对轻量级多人姿势估计的需求越来越大。然而,现有算法往往具有较大的模型尺寸和密集的计算需求,使得它们不适合实时应用和在资源受限的硬件上部署。轻量级和实时的方法非常罕见,更多都是以低的精度为代价。
在本文中提出了
EfficientHRNet
,这是一个轻量级多人人体姿势估计器,能够在资源受限的设备上实时执行。通过将模型缩放的最新进展与高分辨率特征表示相结合,EfficientHRNet
可以创建高精确的模型,同时减少计算量以实现实时性能。最大的模型能够达到当前最先进技术的4.4%的精度差距以内,同时具有1/3的模型尺寸和1/6的计算,在Nvidia Jetson Xavier
上达到23 FPS。与顶级实时方法相比,EfficientHRNet
提高了22%的精度,同时以1/3的功率实现了类似的FPS。在每一个层面上,EfficientHRNet
都被证明比其他自下而上的2D人体姿势估计方法更具计算效率,同时达到了极具竞争力的精度。
1、简介
2D人体姿态估计是许多流行的智能应用程序中常用的任务,近年来取得了长足进展。2D人体姿态估计有两种主要方法。第一种是自上而下的方法,其中提供了人类的裁剪图像,网络使用这些裁剪图像生成人类关键点。自顶向下方法依赖于目标检测器来提供初始人类作物,因此它们通常具有相对较高的计算成本,并且不是真正的端到端方法。第二种是自下而上的方法,网络从原始图像开始工作,并为图像中的所有人生成人类关键点。虽然这些方法往往达不到最先进的自顶向下方法所能达到的精度,但它们的模型大小和计算开销相对较低。即使如此,最先进的自下而上方法仍然相当大,计算成本也很高。目前的最先进技术有6380万个参数,需要1543亿浮点运算。
许多新兴的物联网(IoT)应用程序需要在摄像机旁边的边缘进行轻量级实时多人姿势估计。这在广泛的智能互联应用程序中更为明显,这些应用程序需要持续的人类活动分析和行为监控。视频监控、患者监控和公共安全等例子很少。所有这些应用程序都需要能够在物联网边缘设备上靠近摄像头运行的灵活但高度准确的人体姿势估计。尽管如此,对于开发能够在有限的计算资源下实时执行的轻量级自下而上方法,却缺乏关注。为了解决这一差距,需要一系列轻量级实时人体姿势估计模型,这些模型的精度与最先进的方法相当。
在本文中提出了EfficientHRNet
,这是一个轻量级可扩展网络家族,用于高分辨率和高效的实时自下而上的多人姿势估计。EfficientHRNet
统一了最先进的EfficientNet
和HRNet
的原理,并提出了一种新的公式,可以实现接近最先进的人体姿势估计,同时比所有其他自下而上的方法更具计算效率。
与HRNet
类似,EfficientHRNet
使用多种功能分辨率来生成关键点,但效率更高。同时,它使用EfficientNet
作为主干,并调整其缩放方法,以更好地适合人类姿势估计。为了实现轻量级实时执行,EfficientHRNet
进一步扩展了EfficientNet
公式,不仅可以缩小基线,还可以联合缩小输入分辨率、高分辨率网络和热图预测网络。通过这一点能够创建一系列网络,这些网络能够解决实时2D人体姿势估计的整个领域,同时能够灵活满足应用程序的精度和计算要求。
作者评估了COCO
数据集的准确性和英伟达NX Xavier
的实时性能。图1展示了本文的模型如何在较低的计算成本下提供与直接模型相同或更高的精度。
与最先进的模型相比,基线EfficientNet
在精度方面具有竞争力,但需要的计算量要少得多,因此推断速度更快。与HRNet
相比,EfficientHRNet
的精度提高了0.4%,同时计算需求减少了34%。与HigherHRNet
和PersonLab
相比,EfficientHRNet
的准确度下降了1.7%至5.1%,计算需求下降了83%至93%,令人印象深刻。这导致FPS比HigherHRNet
增加3.4倍。
即使与专门为轻量级执行而设计的模型(如lightweight OpenPose
)相比,缩小的EfficientHRNet
也能够实现10.1%的精度超越,同时进一步减少15%的计算量,保持相似的FPS。
此外,已在ImageNet上对缩小的主干模型进行了单独评估。结果表明,在取得比同行更高的效率的同时,具有竞争力的准确性。
总之,本文有以下贡献:
将 EfficientHRNet
作为第一种方法为自下而上的实时多人2D人体姿势估计提供轻量级、可缩放的模型,从而达到与最先进技术相当的精度。提出了一种新的公式,将 EfficientNet
的可扩展性整合到整个高分辨率网络中,以降低计算复杂性并允许实时执行。是第一个提供向下缩放公式创建一系列紧凑的 EfficientNet
模型,这些模型可扩展到计算能力受限的嵌入式和边缘物联网设备的基线以下。对具有挑战性的 COCO
数据集进行了全面分析,以显示模型在准确性、模型大小、计算复杂性、效率和实时执行方面与最先进和实时方法的对比情况。对最先进的嵌入式物联网 GPU
(Nvidia Jetson NX)进行了广泛的性能分析,以证明EfficientHRNet
相对于现有算法的执行优势。
2、相关工作
2.1、Top-down Methods
自顶向下的方法依赖于首先使用对象检测器识别图像中的所有人,然后在定义的边界框内检测单个人的关键点。这些单人和多人姿势估计方法通常使用对象检测器生成人物边界框。例如,RMPE
在单人姿势估计器叠加沙漏网络的基础上添加对称空间变换网络,以从不精确的边界框中获得高质量的区域,然后使用参数非最大值抑制检测姿势。
2.2、Bottom-up Methods
自底向上方法检测图像中的无身份关键点,并使用各种关键点分组技术将其分组为人。方法类似于并通过整数线性程序和非最大值抑制执行分组。与具有几乎相似精度的自顶向下方法相比,这允许更快的推理时间。其他方法通过使用贪婪分组技术以及其他优化进一步改进预测时间。例如,OpenPose
是一个多阶段网络,其中一个分支以热图的形式检测关键点,而另一个分支生成用于将关键点彼此关联的Part Affinity Fields
。
分组是通过计算所有关键点之间的线积分并对积分最高的一对进行分组来完成的。轻量级OpenPose
用MobileNet
取代更大的主干网,以更少的参数和FLOP
实现实时性能,同时降低准确性。PifPaf
使用“零件强度场”检测身体部位,使用“零件关联场”将零件相互关联以形成人体姿势。堆叠沙漏网络用于预测热图和分组关键点。
分组是通过为每个关键点分配一个嵌入(称为标记),然后根据标记向量之间的L2距离关联这些关键点来完成的。
2.3、Multi-scale High-Resolution Networks
特征金字塔网络增强了多尺度表示,广泛应用于复杂和必要的计算机视觉应用,如分割和姿势估计。使用上采样、扩展卷积和反卷积等技术恢复高分辨率特征图在目标检测、语义分割和姿势估计方面也非常流行。此外,有几项工作侧重于直接生成高分辨率特征图。
HRNet
建议在整个网络中维护高分辨率特征图。HRNet
由跨多个阶段具有不同分辨率的多个分支组成。通过多尺度融合,HRNet能够生成高分辨率的特征地图,并将其应用于目标检测、语义分割和姿势估计,从而获得显著的精度。
最近,提出了用于多人姿势估计的HigherHRNet
,它使用HRNet
作为基础网络来生成高分辨率特征图,并进一步添加了反卷积模块来预测准确、高质量的热力图。HigherHRNet
在COCO
数据集上实现了一流的精度,超过了所有现有的自底向上方法。本文采用HigherHRNet
原理,通过多尺度融合生成高分辨率特征图预测高质量的热力图。
2.4、Model Scaling
以前关于自底向上姿势估计的工作通常依赖于大型主干网络,如ResNet
或VGGNet
,或大输入分辨率和多尺度训练,以达到最先进的精度。最近的一些工作表明,增加其他相同模型的通道尺寸可以进一步提高精度。EfficientNet
和RegNet
表明,通过联合缩放网络宽度、深度和输入分辨率,与以前使用更大模型的先进网络相比,可以实现更好的图像分类效率。最近,EfficientNet
的精简模型删除了一些元素,例如squeeze and excite
层和swish
层,使网络更加硬件友好。
受EfficientNet
启发,EfficientDet
提出了一种用于目标检测的复合缩放方法以及高效的多尺度特征融合。对于多人姿势估计,尤其是嵌入式设备,缺乏有效的缩放方法。对于注重实时性能的计算机视觉应用,需要具有可扩展性和相对精确性的轻量级姿态估计模型。作者提出的复合缩放也受到了EfficientNet
的启发,是一种联合缩放EfficientHRNet
的宽度、深度和输入分辨率以及高分辨率模块内的重复的方法。此外,这种复合缩放允许EfficinentNet
主干扩展到B0以下,从而创建更轻的模型。
2.5、Real-Time Pose Estimation
虽然该领域的大多数工作都侧重于孤立的准确性,但最近的一些工作已经发展起来,将重点更多地转移到实时推断上。专注于实时执行,使用密集连接的残差模块和高分辨率特征图,实现精确和轻量级的单人姿势估计,能够在Nvidia 1080TI
上实现39 FPS。Lightweight OpenPose
将OpenPose
修改为使用MobileNet
主干和更少的细化阶段,并使用Intel OpenVINO Toolkit
在Intel NUC 6i7KYB
上获得28 FPS。Nvidia还专注于实时推理,发布了trt位姿,这是一种使用TensorRT
和DeepStream
优化的单人位姿估计模型,在英伟达Jetson Xavier
上实现了高达251帧/秒的速度。
3、本文方法
3.1、Network Architecture and Formulation
1、Backbone Network
EfficientHRNet
的第一个阶段是主干,由修改后的EfficientNet
组成,其比例低于基线。主干输出四个不同分辨率的特征图,分辨率为输入图像大小的1/4、1/8、1/16和1/32。这些特征图被传递到网络主体中,称为高分辨率网络。
2、High-Resolution Network
高分辨率网络的灵感来自HRNet
和HigherHRNet
。借用这些高分辨率网络的原理带来了两大优势:
通过在整个网络中维护多个高分辨率特征表示,可以生成具有更高空间精度的热力图。 重复的多尺度融合允许高分辨率特征表示通知低分辨率表示,反之亦然,从而产生理想的鲁棒多分辨率特征表示用于多人姿势估计。
图2显示了EfficientHRNet
的详细架构图。它显示了3个子网络:主干网络、高分辨率网络和热图预测网络。它还提供了显示网络如何缩放输入分辨率和特征图宽度的方程。
高分辨率网络有3个阶段、和,包含4个不同分辨率的并行分支、、和。第一阶段从两个分支和开始,每个连续阶段添加一个额外的分支,直到所有4个分支都出现在中。这4个分支分别由宽度为的高分辨率模块组成。每个分支都包含反映主干网络输出分辨率的降低分辨率的特征表示,如图2和以下等式所示:
例如,第2级()有3个分支,分辨率为原始输入图像分辨率的1/4、1/8和1/16,宽度为。此外,每个高分辨率模块由多个块组成,每个块包含2个残差块,每个残差块通过残差连接执行3次卷积操作。
3、Heatmap Prediction Network
热力图预测网络用于生成人类关键点预测。为了预测更准确的热力图,在高分辨率网络的顶部添加了一个DeConv
块。转置卷积用于生成高质量的特征图,其分辨率为原始输入分辨率的1/2。DeConv
块的输入是特征图和来自高分辨率网络的预测热图的串联,如下式所示:
反卷积后添加两个残差块,以细化上采样特征图。在DeConv
块之后,使用1×1卷积预测热力图和标记图,每个热力图的特征图大小如下所示:
分组过程通过将标签具有最小L2距离的关键点分组,将关键点分组为多个人。高分辨率网络具有尺度感知能力,在训练期间对热图使用多分辨率监控,使网络能够更精确地学习,即使是对小尺度人也是如此。根据GT生成不同分辨率的热力图,以匹配不同尺度的预测关键点。
因此,最终热力图损失是所有分辨率的均方误差之和。然而,由于高分辨率标记映射不能很好地收敛,标记映射的分辨率是原始输入分辨率的1/4。
3.2、Compound Scaling Method
本节详细介绍了复合缩放方法,该方法可联合缩放EfficientHRNet
的所有部分,如图2和表1所示。EfficientHRNet
的目标是提供一系列针对精度和效率进行优化的模型,这些模型可以缩放以满足不同的内存和计算约束集。
以前关于自下而上的人体姿势估计和语义分割的工作主要通过使用更大的主干网络(如ResNet
和VGGNet
)、使用较大的输入图像大小或使用多尺度训练来实现高精度来缩放基础网络。然而,这些方法仅依赖于单个维度的缩放,其效果有限。
最近的研究表明,通过联合缩放宽度、深度和输入图像分辨率,图像分类具有显著的性能。受EfficientNet
启发,EfficientDet
提出了一种类似的目标检测复合缩放方法,它联合缩放主干网络、多尺度特征网络和目标检测器网络。
本文使用EfficientHRNet
为计算机视觉应用提出了一种基于启发式的复合缩放方法,特别是自底向上的人体姿势估计和语义分割。EfficientHRNet
的方法使用缩放系数来联合缩放主干网络、高分辨率网络和任务头。更准确地说,EfficientNet
主干网的规模缩小到基线以下,而EfficicentHRNet
的其余部分则缩小到基线之下,以便在创建轻量级灵活网络的同时保持接近最先进的准确性。
1、Backbone Network
宽度和深度缩放系数与EfficientNet
保持相同。为了满足在受限设备上运行模型的需求,提供了一种新的公式,用于将EfficientNet
扩展到基线以下,并使其成为更紧凑的模型。
从基线EfficientNet-B0
缩放系数开始:
(=-1,-2,-3,-4)被倒置,以计算紧凑型EfficientNet
模型的缩放倍数,其符号为,,和。例如,为了获得基线分辨率224,并针对,从(4)中取r,=−1可以得到分辨率缩放系数为,即0.87,那么缩放分辨率大小ceil(224∗0.87)=195。此模式对到重复,可以在表2中看到训练这些紧凑的EfficientNet
模型(到) 并使用EfficientHRNet
中主干网络的结果模型。
2、High-Resolution Network
高分辨率网络有3个阶段和4个分支,具有4种不同的特征图尺寸。每个分支n也有不同的宽度,基线模型每个分支的宽度分别为32、64、128和256。有选择地选取1.25的宽度比例因子,并使用以下公式缩小宽度:
其中n是一个特定的分支数,是复合标度系数。
此外,在每个阶段内,每个高分辨率模块都有多个重复多次的块Msn,如表1所示。在基线EfficientHRNet
模型中,每个阶段内的块分别重复1、4和3次。作者发现第三阶段的重复次数对准确度的影响最大。因此,随着模型的缩小,高分辨率模块内的重复次数呈线性减少,从第2阶段开始,直到达到单个重复,然后再转到第3阶段,如表1所示。
3、Heatmap Prediction Network
DeConv
块的缩放方式与高分辨率网络的宽度相同(5)。热图预测网络输出标签和热图,其宽度在所有模型中保持不变。
4、Input Image Resolution
EfficientNet
将原始输入图像分辨率分层采样降低32倍。因此,EfficientHRNet
的输入分辨率必须可除以32,并按线性比例缩小,如下式所示:
4、实验
4.1、ImageNet
4.2、COCO-Pose
4.3、可视化结果
5、参考
[1].EfficientHRNet:Efficient and Scalable High-Resolution Networks for Real-Time Multi-Person 2D Human Pose Estimation.
6、推荐阅读
DETR也需要学习 | DETR-Distill模型蒸馏让DETR系类模型持续发光发热!!!
目标检测落地技能 | 拥挤目标检测你是如何解决的呢?改进Copy-Paste解决拥挤问题!
扫描上方二维码可联系小书童加入交流群~
想要了解更多前沿AI视觉感知全栈知识【分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF】、行业技术方案【AI安防、AI医疗、AI自动驾驶以及AI元宇宙】、AI模型部署落地实战【CUDA、TensorRT、NCNN、OpenVINO、MNN、ONNXRuntime以及地平线框架等】,欢迎扫描下方二维码,加入集智书童知识星球,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!