← 返回 2026-01-13

FlyPose:面向航拍视角的鲁棒人体姿态估计 FlyPose: Towards Robust Human Pose Estimation From Aerial Views

Hassaan Farooq, Marvin Brenner, Peter St\ütz 📅 2026-01-09 👍 2 2026-07-13 08:35
人体姿态估计 实时推理 无人机视觉 目标检测 边缘部署

轻量级航拍人体姿态估计流水线,端到端延迟仅20ms

前置知识

Top-down人体姿态估计

Top-down(自顶向下)是一种两阶段的人体姿态估计范式。第一阶段使用目标检测器(如YOLO、DETR)在整张图像中定位所有人体,输出每个person的bounding box;第二阶段将每个bounding box裁剪出来,送入姿态估计网络(如ViTPose、HRNet)预测该人体的17个COCO关键点(鼻子、眼睛、耳朵、肩膀、肘部、手腕、髋部、膝盖、脚踝)。与bottom-up(先检测所有关键点再分组)相比,top-down方法在裁剪区域上运行姿态模型,减少了背景干扰,通常精度更高,但推理时间随人数增加而线性增长。

FlyPose采用top-down架构,理解这个两阶段流水线是理解整个系统设计的基础,包括为什么检测精度直接影响最终姿态质量。

RT-DETR

RT-DETR(Real-Time Detection Transformer)是一种实时目标检测架构,结合了DETR的端到端检测范式与实时推理优化。它使用ResNet或类似的CNN backbone提取特征,然后通过transformer decoder进行集合预测,避免了NMS后处理。RT-DETRv2是其改进版本,引入了bag-of-freebies策略进一步提升性能。相比YOLO系列,RT-DETR在保持实时性的同时提供了更优雅的检测框架,在VisDrone等数据集上表现竞争力。

FlyPose选择RT-DETRv2-S作为人检测器,在VisDrone等航拍数据集上进行微调,理解其架构特点有助于理解论文的模型选择决策。

ViTPose

ViTPose是基于Vision Transformer的姿态估计模型,将ViT作为backbone进行关键点热图预测。它有Small(S)、Base(B)、Large(L)和Huge(H)四个规模变体,参数量和计算量递增。ViTPose在COCO test-dev上达到了最先进的精度,其特点是通过大规模预训练获得强大的特征表示能力,能够处理遮挡、模糊等困难情况。推理时,模型输出17个关键点的2D置信度热图,通过NMS提取峰值位置作为关键点坐标。

FlyPose使用ViTPose-S作为姿态估计模块,论文对比了S/B/L/H四个变体在航拍场景的精度-延迟权衡,理解ViT架构有助于解读这些实验结果。

mAP(mean Average Precision)

mAP是目标检测和姿态估计中最常用的评估指标。对于目标检测,COCO mAP在IoU阈值0.5到0.95之间(步长0.05)计算AP的平均值,IoU衡量预测框与真值框的重叠程度。对于姿态估计,mAP使用OKS(Object Keypoint Similarity)代替IoU,OKS根据人体尺度(bounding box面积)和每个关键点的容差计算预测关键点与真值的相似度。mAP值越高表示模型精度越好,一般认为50以上为较好性能。

论文所有实验结果均以mAP为主要指标,包括person detection mAP和keypoint mAP,理解这个指标才能正确解读论文的性能提升。

NWD Loss(Normalized Wasserstein Distance Loss)

NWD Loss是专门为小目标检测设计的损失函数,基于Wasserstein距离度量两个边界框分布之间的差异。传统IoU损失在小目标上存在问题:当两个框不重叠时IoU为0,无法提供梯度信号。NWD通过将边界框建模为2D高斯分布,计算归一化的Wasserstein距离,即使框不重叠也能给出有意义的损失值。这在航拍场景中特别重要,因为远处的人体在图像中只有几十个像素,传统IoU损失难以有效训练。

论文尝试用NWD Loss替换传统GIoU Loss来改善小目标检测,虽然整体提升不大但在FlyPose-104测试集上有明显改进。

研究动机

无人机(UAV)在快递投递、交通监控、灾后搜救和基础设施巡检等应用中越来越多地在人类附近运行,这要求无人机能够从航拍视角准确感知人体姿态和动作。然而,航拍视角给人体姿态估计带来了严峻挑战:首先是视角问题,无人机的传感器俯角可达90度,产生俯视图像,导致肢体被压缩、频繁自遮挡,尤其是面部和腿部关键点;其次是分辨率问题,无人机需要升到足够高度以避开障碍物,导致地面采样距离增大,人体在图像中只占很少的像素,严重限制了感知距离;第三是计算约束,无人机受载荷重量、尺寸和功耗严格限制,无法运行大型模型。现有方法在这些条件下表现不佳:在VisDrone测试集上,最先进的ViT-YOLO仅有41 mAP;UAV-Human数据集上,此前最好的AlphaPose仅有56.9 mAP。这些数据表明,从航拍视角进行人体姿态估计仍然是一个未被充分解决的问题。

本文的目标是本文的目标是开发一个名为FlyPose的轻量级、端到端航拍人体姿态估计系统,能够在边缘设备上实时运行,为无人机应用提供可靠的人体感知能力。具体目标包括三个方面:第一,设计一个针对航拍视角优化的top-down姿态估计流水线,通过多数据集训练提升在俯视和小尺度人体上的检测和姿态估计精度;第二,将系统部署到Jetson Orin AGX边缘计算设备上,实现端到端推理延迟在25fps实时性能范围内(约40ms以内);第三,通过真实飞行实验验证系统的可行性,为无人机上的人机交互、手势识别等下游任务提供基础。

与已有工作不同的是,本文的独特切入角度在于系统性地解决航拍人体姿态估计的完整流水线问题,而非孤立地优化检测或姿态估计某一环节。与以往工作相比,FlyPose有三个关键区别:第一,不同于仅评估现成模型在航拍数据集上的表现(如Kalampokas等人2023年的工作),FlyPose通过多数据集训练策略主动适应航拍视角,融合了9个航拍检测数据集(包含RGB和热红外图像)和UAV-Human姿态数据集;第二,不同于仅关注算法精度的研究,FlyPose强调边缘部署和实时性能,在Jetson Orin AGX上实现了20ms的端到端延迟,并在真实飞行中验证;第三,作者发布了FlyPose-104数据集,这是一个专门针对航拍视角挑战的小型但高难度测试集,包含104张手动标注的图像,涵盖90度俯视、严重遮挡、多尺度人体等极端情况,填补了航拍姿态估计评估基准的空白。

核心方法

FlyPose的整体思路是构建一个轻量级的两阶段top-down姿态估计流水线,专门针对无人机航拍场景进行优化。直觉上,该方法将复杂的人体姿态估计问题分解为两个相对独立的子问题:先在整张航拍图像中快速定位所有人体(可能很小),然后对每个检测到的人体进行精确的关键点预测。技术路线上,第一阶段使用RT-DETRv2-S作为人检测器,这是一个基于DETR的实时检测器,使用ResNet-18 backbone以平衡精度和速度;第二阶段使用ViTPose-S作为姿态估计器,这是一个基于Vision Transformer的轻量级模型。两个模型分别在不同的航拍数据集上训练:检测器在9个航拍目标检测数据集(共约67000张图像)上训练,姿态估计器在UAV-Human数据集上微调。整个流水线被导出为TensorRT FP32引擎,部署在Jetson Orin AGX Developer Kit上,通过多光谱云台相机获取全高清视频流进行实时推理。

FlyPose的核心创新在于多数据集训练策略和针对航拍场景的专门设计,这与简单使用现成模型有本质区别。首先,作者发现单一航拍数据集(如VisDrone仅包含天津城区的图像)会导致模型泛化能力有限,因此提出将9个不同的航拍检测数据集(包括海难搜救的SeasDronesSea、山区地形的Heridal、热红外的HIT-UAV、密集小目标的TinyPerson等)合并训练,使模型能够处理多样化的背景、视角和成像模态。其次,针对航拍图像中人体分辨率低的问题,训练时引入降采样增强(缩小5-20%),模拟更远距离或运动模糊导致的小目标情况。第三,作者系统评估了不同backbone和损失函数的选择,发现对于边缘设备上的通用检测任务,ResNet-18仍然是比transformer-based backbone(如RegNetX-400MF、Hiera-Tiny)更高效的选择,而NWD Loss在小目标上能略微提升定位精度。第四,姿态估计器通过俯视视角的专门微调,学会了处理自遮挡和非典型视角下的关键点预测。

方法步骤详情

FlyPose的完整推理流程分为以下几个步骤。第一步是图像输入,无人机搭载的多光谱云台相机以RTSP流的形式提供全高清(1920×1080)视频帧,通过CUDA加速的jetson-utils库进行填充和缩放预处理,耗时约0.5ms。第二步是人检测,预处理后的图像送入RT-DETRv2-S检测器,该模型以1280像素输入分辨率运行,输出一组bounding box $b_i = (x_i, y_i, w_i, h_i)$,表示检测到的每个人的左上角坐标和宽高,在Jetson Orin上耗时约13ms。第三步是裁剪和对齐,将每个检测到的人体区域从原图中裁剪出来,保持宽高比缩放到256×192的固定尺寸(较大维度缩放到256px或192px),确保人体居中且无变形。第四步是姿态估计,裁剪后的patch送入ViTPose-S模型,该模型预测17个COCO关键点的2D置信度热图,每个热图表示关键点在每个像素位置出现的概率,通过非极大值抑制(NMS)提取峰值位置作为关键点坐标,置信度阈值设为0.4,在Jetson Orin上耗时约6.54ms。第五步是结果整合,将关键点坐标从裁剪patch坐标系映射回原图坐标系,叠加在原始视频帧上用于可视化或传递给下游任务。整个流水线总延迟约19.54ms(不含预处理),远低于25fps所需的40ms预算。

技术新颖性

FlyPose的技术新颖性体现在以下几个方面。第一,这是首个系统性地在边缘设备上实现航拍人体姿态估计的完整流水线,此前的工作要么仅关注算法精度而忽略部署约束,要么仅评估现成模型而未专门优化。第二,多数据集训练策略虽然不是全新概念,但作者精心设计了数据集组合,涵盖了搜救、交通监控、货物吊运等不同应用场景,以及RGB和热红外两种成像模态,这种多样性训练显著提升了泛化能力。第三,作者发现并验证了一个重要实践洞察:对于边缘设备上的通用检测任务,传统的ResNet-18 backbone在精度-效率权衡上仍然优于新兴的transformer-based backbone(如Hiera-Tiny在VisDrone上仅28.6 mAP),这为资源受限场景下的模型选择提供了重要参考。第四,降采样增强策略专门针对航拍场景设计,通过模拟更远距离的人体来增强模型对小目标的鲁棒性,这是一个简单但有效的领域特定增强。第五,FlyPose-104数据集填补了航拍姿态估计评估基准的空白,其104张图像虽然规模不大,但精心覆盖了俯视、遮挡、多尺度等极端挑战,为后续研究提供了高质量的评估平台。

FlyPose系统概述
Figure 3: FlyPose系统概述

实验结果

FlyPose在多个航拍数据集上展示了显著的性能提升。在人检测任务中,RT-DETRv2-S经过多数据集训练后,在5个测试集上的加权平均mAP从基线的14.33提升到28.21(提升13.88 mAP),加上COCO-Person数据后进一步提升到28.07 mAP(加权平均mAP 39.21)。最显著的提升来自HIT-UAV热红外数据集,从基线的3.16 mAP提升到52.54 mAP,这主要归功于引入了热红外训练数据。NWD Loss的引入在FlyPose-104测试集上将mAP从25.05提升到27.41,证明了其在小目标上的有效性。在姿态估计任务中,ViTPose-H在UAV-Human测试集上达到73.18 mAP,比此前最好的AlphaPose(56.9 mAP)提升了16.3 mAP。然而,考虑到边缘部署需求,作者选择了ViTPose-S,它在UAV-Human上达到65.76 mAP(比预训练的61.09提升4.67 mAP),同时在Jetson Orin上仅需6.54ms推理时间。完整的FlyPose流水线(RT-DETRv2-S + ViTPose-S)在Jetson Orin AGX上的端到端延迟为19.54ms,其中检测13ms、姿态估计6.54ms,加上0.5ms预处理,总计约20ms,完全满足25fps实时要求,还留出约20ms用于下游任务。真实飞行实验验证了系统在实际无人机操作中的可行性,能够在不同高度和视角下进行实时人体检测和姿态估计。

RT-DETRv2-S人检测性能
Table 1: RT-DETRv2-S人检测性能
ViTPose在UAV-Human上的姿态估计性能
Table 2: ViTPose在UAV-Human上的姿态估计性能
预训练姿态估计模型在UAV-Human上的性能-延迟对比
Figure 4: 预训练姿态估计模型在UAV-Human上的性能-延迟对比
检测结果定性示例
Figure 5: 检测结果定性示例
FlyPose在UAV-Human测试集上的定性结果
Figure 6: FlyPose在UAV-Human测试集上的定性结果
真实飞行实验
Figure 7: 真实飞行实验
FlyPose在各航拍数据集上的定性结果
Figure 8: FlyPose在各航拍数据集上的定性结果
VisDrone数据集上的检测和姿态估计定性结果
Figure 9: VisDrone数据集上的检测和姿态估计定性结果
查看结构化数据
任务指标本文基线提升
航拍人检测 加权平均mAP 39.21(多数据集+COCO-Person) 14.33(仅COCO预训练) +24.88 mAP
航拍人检测(HIT-UAV热红外) mAP 52.54 3.16(仅COCO预训练) +49.38 mAP
航拍人检测(FlyPose-104) mAP 27.41(+NWD Loss) 10.26(仅COCO预训练) +17.15 mAP
航拍姿态估计(UAV-Human) mAP(ViTPose-H) 73.18 56.9(AlphaPose) +16.3 mAP
航拍姿态估计(UAV-Human) mAP(ViTPose-S) 65.76 61.09(预训练) +4.67 mAP
边缘推理延迟 端到端延迟(Jetson Orin) 19.54ms 25fps要求40ms 满足实时要求

局限与改进

作者在讨论部分坦诚地分析了FlyPose的多个局限性。首先,在人检测阶段,轻量级检测器RT-DETRv2-S在面对极小目标时仍然力不从心,即使在TinyPerson数据集上训练后,对密集背景中的微小人体检测精度仍然有限。作者观察到,区分小目标与背景噪声有时需要时序运动特征,这是单帧检测无法提供的。其次,混合俯视航拍图像与正面视角的COCO图像训练时,模型偶尔会出现误判:在俯视时遗漏伸出的手臂,或在正面视角时将背景中类似手臂的物体误检。第三,在姿态估计方面,面部关键点(鼻子、眼睛、耳朵)的OKS得分明显低于身体关键点(肩膀、肘部、膝盖等),这表明从航拍视角定位面部特征仍然极具挑战。第四,热红外图像的姿态估计不如RGB图像可靠,由于缺乏颜色信息且分辨率较低,左右关键点身份混淆(如左肩与右肩)更频繁发生。第五,当前系统仅在单人场景下进行了详细评估,多人场景下的检测和姿态估计性能有待进一步验证,特别是当多人紧密相邻时,检测框可能包含多个人体,影响姿态估计质量。

独立分析的弱点

基于论文内容和独立分析,FlyPose存在以下弱点及改进方向。第一,多数据集训练虽然提升了泛化能力,但不同数据集的标注质量和定义可能存在差异(如person类别的定义、bounding box的标注风格),这种不一致性可能引入噪声。改进方向是设计更精细的数据集融合策略,如基于置信度的加权采样或主动学习选择高质量样本。第二,降采样增强(5-20%)是手动设定的固定范围,可能无法覆盖实际航拍中人体尺度变化的完整分布。改进方向是根据实际飞行高度和相机参数自动计算合适的降采样范围,或使用自适应增强策略。第三,ViTPose-S的输入尺寸固定为256×192,对于特别小的人体可能丢失细节,对于特别大的人体可能浪费计算。改进方向是引入多尺度姿态估计或动态分辨率调整。第四,置信度阈值0.4是固定的,对于不同距离和遮挡程度的人体,最优阈值可能不同。改进方向是学习自适应阈值或使用不确定性估计。第五,系统缺乏时序信息利用,每帧独立处理,无法利用帧间一致性提升稳定性。改进方向是引入轻量级的时序融合模块或关键点跟踪。

未来方向

作者提出了几个重要的未来研究方向。首先,利用变换后的3D HPE数据集来精炼预测的姿态是一个有前景的方向,因为3D数据可以提供更丰富的人体结构信息,帮助解决2D关键点中的歧义。其次,将飞行高度和相机元数据作为先验信息集成到模型中,这些信息可以为模型提供关于人体预期尺寸和分辨率的线索,从而更好地处理不同距离的人体。第三,作者指出需要进一步研究多人场景下的性能,特别是当图像中包含大量人体时,如何平衡检测精度和推理速度。第四,基于FlyPose提供的可靠人体感知能力,可以开发下游任务如手势识别、动作预测和行为理解,这些对于无人机的人机交互应用至关重要。第五,作者提出的FlyPose-104数据集虽然具有挑战性,但规模较小(104张图像),未来可以扩展为更大规模的航拍姿态估计基准,包含更多样的场景和标注。第六,探索更高效的模型架构(如知识蒸馏、模型剪枝)进一步降低延迟,为更复杂的下游任务留出更多计算预算。

复现评估

FlyPose的复现条件相当友好。作者在GitHub上开源了代码和FlyPose-104数据集(https://github.com/farooqhassaan/FlyPose),这大大降低了复现门槛。训练数据方面,论文使用的9个航拍检测数据集(VisDrone、SeasDronesSea、Heridal、VTSAR、DroneRGBT、VTUAV-det、HIT-UAV、Manipal-UAV、TinyPerson)和UAV-Human姿态数据集均为公开数据集,可以直接下载。算力要求方面,论文使用NVIDIA A6000 GPU进行训练,Jetson Orin AGX Developer Kit进行边缘推理测试,这些都是常见的硬件配置。推理延迟测试使用了TensorRT FP32引擎,需要NVIDIA GPU支持。复现难度中等:主要挑战在于多数据集的预处理和格式统一,以及检测器和姿态估计器的分别训练。论文详细报告了训练超参数(如60-210 epochs、1280像素输入分辨率等),为复现提供了充分信息。总体而言,该研究具有良好的可复现性,代码开源、数据公开、硬件要求合理。