1、简介许多新兴智能物联网应用对轻量级多人姿势估计的需求越来越大。然而,现有算法往往具有较大的模型尺寸和密集的计算需求,使得它们不适合实时应用和在资源受限的硬件上部署。轻量级和实时的方法非常罕见,更多都是以低的精度为代价。
(相关资料图)
在本文中提出了EfficientHRNet,这是一个轻量级多人人体姿势估计器,能够在资源受限的设备上实时执行。通过将模型缩放的最新进展与高分辨率特征表示相结合,EfficientHRNet可以创建高精确的模型,同时减少计算量以实现实时性能。最大的模型能够达到当前最先进技术的4.4%的精度差距以内,同时具有1/3的模型尺寸和1/6的计算,在Nvidia Jetson Xavier上达到23 FPS。与顶级实时方法相比,EfficientHRNet提高了22%的精度,同时以1/3的功率实现了类似的FPS。在每一个层面上,EfficientHRNet都被证明比其他自下而上的2D人体姿势估计方法更具计算效率,同时达到了极具竞争力的精度。
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 Formulation1、Backbone NetworkEfficientHRNet的第一个阶段是主干,由修改后的EfficientNet组成,其比例低于基线。主干输出四个不同分辨率的特征图,分辨率为输入图像大小的1/4、1/8、1/16和1/32。这些特征图被传递到网络主体中,称为高分辨率网络。
2、High-Resolution Network高分辨率网络的灵感来自HRNet和HigherHRNet。借用这些高分辨率网络的原理带来了两大优势:
通过在整个网络中维护多个高分辨率特征表示,可以生成具有更高空间精度的热力图。重复的多尺度融合允许高分辨率特征表示通知低分辨率表示,反之亦然,从而产生理想的鲁棒多分辨率特征表示用于多人姿势估计。图2显示了EfficientHRNet的详细架构图。它显示了3个子网络:主干网络、高分辨率网络和热图预测网络。它还提供了显示网络如何缩放输入分辨率
高分辨率网络有3个阶段
例如,第2级(
热力图预测网络用于生成人类关键点预测。为了预测更准确的热力图,在高分辨率网络的顶部添加了一个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保持相同。为了满足在受限设备上运行模型的需求,提供了一种新的公式,用于将EfficientNet扩展到基线以下,并使其成为更紧凑的模型。
从基线EfficientNet-B0缩放系数开始:
高分辨率网络有3个阶段和4个分支,具有4种不同的特征图尺寸。每个分支n也有不同的宽度
其中n是一个特定的分支数,
此外,在每个阶段内,每个高分辨率模块都有多个重复多次的块Msn,如表1所示。在基线EfficientHRNet
DeConv块的缩放方式与高分辨率网络的宽度相同(5)。热图预测网络输出标签和热图,其宽度在所有模型中保持不变。
4、Input Image ResolutionEfficientNet将原始输入图像分辨率分层采样降低32倍。因此,EfficientHRNet的输入分辨率必须可除以32,并按线性比例缩小,如下式所示:
4、实验4.1、ImageNet4.2、COCO-Pose4.3、可视化结果5、参考[1].EfficientHRNet:Efficient and Scalable High-Resolution Networks for Real-Time Multi-Person 2D Human Pose Estimation.
6、推荐阅读轻量级网络论文-VoVNet详解
DETR也需要学习 | DETR-Distill模型蒸馏让DETR系类模型持续发光发热!!!
目标检测落地技能 | 拥挤目标检测你是如何解决的呢?改进Copy-Paste解决拥挤问题!
扫描上方二维码可联系小书童加入交流群~
想要了解更多前沿AI视觉感知全栈知识【分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF】、行业技术方案【AI安防、AI医疗、AI自动驾驶以及AI元宇宙】、AI模型部署落地实战【CUDA、TensorRT、NCNN、OpenVINO、MNN、ONNXRuntime以及地平线框架等】,欢迎扫描下方二维码,加入集智书童知识星球,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!