关键点与人体姿态估计

进阶04-深度学习视觉预计 25 分钟关键点姿态估计热图回归OKS

前置知识点

kp-017 目标检测:IoU、mAP 与两阶段流程

一句话定义

关键点估计把检测推广到「可枚举的语义点位」(人脸 68 点、人体 17 关节),主流做法是预测每个点的高斯热图再取峰值,多人体姿态按「自上而下(先检人再估点)」或「自下而上(先估点再组人)」组织。

为什么重要

姿态是动作识别、健身计数、康复评估、虚拟主播驱动与 AR 试穿的输入层;它同时是「检测 → 关联 → 回归」三类子问题的浓缩样本,学会拆解它,就掌握了指标类任务(车道线、表格角点、OCR 检测点)的通用套路。

直观类比

热图像在图像上撒一堆萤火虫:每个真实关节位置最亮,越远越暗;预测就是找每只萤火虫的中心。自上而下像先圈出每个人再逐个数关节(人数少时又准又稳),自下而上像先把全图关节全找出来再连线成骨架(人数多时省算力)。

前置知识

kp-017(检测框架与匹配指标概念)。

核心概念

原理与机制

热图回归把「回归一个点」变成「回归一张平滑分布」:网络输出经 sigmoid 后与以真值为中心、σ≈2 像素的高斯目标做 MSE(或焦点式变体),训练信号稠密且对少量像素误差宽容;推理对热图做 3×3 最大值邻域的二次拟合可得亚像素精度。多人场景的组织方式是速度/精度的根本权衡:自上而下的成本 ≈ 人数 × 单人网络;自下而上(OpenPose 的部件亲和场)用向量场编码「关节间的从属关系」,按场方向做二分图匹配组人。OKS 把 IoU 思想搬到点集:距离越近、目标越大(容差越大)相似度越高,AP@OKS 0.5–0.95 由此定义。

公式与模型

热图目标: H*(x, y) = exp( −[(x−x_gt)² + (y−y_gt)²] / (2σ²) ) OKS = Σ_i exp( −d_i² / (2 s² k_i²) ) · δ(v_i>0) / Σ_i δ(v_i>0) (d_i 预测点与真值距离,s 目标尺度,k_i 每关节归一化常数,v 可见性)

图示

蓝点:关节;橙点:边缘点(遮挡降权) 热图回归:真值处高斯亮斑 峰值 + 二次拟合得亚像素坐标 多人:top-down 逐人 / bottom-up 分组

实例与案例

健身与康复 App:手机单目做 2D 关节计数(深蹲计数看髋膝角度阈值穿越),遮挡帧用上一帧平滑。直播动作捕捉:MediaPipe 级轻量模型 30 FPS 驱动虚拟形象,工程难点是手部高频抖动的低通滤波。体育分析:多机位自下而上姿态 + 跟踪(kp-024)输出运动员轨迹与动作序列。自动驾驶的行人意图预判也用骨架随时间的变化率作为轻量特征。

# SimpleBaseline 形态:检测器给框,单人网络输出 17 张热图
boxes = detector(images)                          # (N, 4)
heatmaps = pose_model(crop(images, boxes))        # (N, 17, H/4, W/4)
joints = soft_argmax(heatmaps)                    # 亚像素峰值

常见误区

与其他知识点的关系

检测框来自 kp-017;骨架序列的时间关联是 kp-024 多目标跟踪在关键点上的延伸;人像分割(kp-019)常与姿态联合用于抠图与试穿。

自测题

  1. 热图回归相比直接坐标回归的优势是什么?

答案要点:监督信号稠密平滑、保留不确定性空间结构、可用亚像素拟合提精度;代价是后处理与内存。

  1. OKS 与 IoU 的对应关系是什么?

答案要点:都是「重合度」度量——IoU 比较面积重叠,OKS 比较归一化后的点距,目标尺度越大容差越大。

  1. 什么场景应选自下而上姿态?

答案要点:同帧人数多(密集人群、球赛全场)时,逐人跑网络的开销不可接受,一次预测全图关节更划算。

延伸阅读

相关知识点

kp-024 多目标跟踪:SORT/DeepSORT 与轨迹管理kp-019 图像分割:语义、实例与全景