人体姿态检测怎么做?用 YOLO 导出关键点并检查遮挡

用 YOLO 姿态模型导出 17 个 COCO 关键点,保存核对图,区分人物序号、坐标和遮挡边界。

人体姿态检测把人的位置转成关节点,适合研究动作数据或检查拍摄角度。它与识别人脸身份、判断某人是否健康是不同任务。这里用 YOLO11n-pose 输出 17 个 COCO 关键点,并用遮挡照片检查哪些点不应直接使用。

先准备适合检查的照片

选一张获得使用许可、全身较完整的 person.jpg。再准备一张手臂或腿被遮挡的对照图。左、右指人物自身的左右,不是观察者屏幕的左右;对照时不要把两者混为一谈。

人体姿态检测怎么做?用 YOLO 导出关键点并检查遮挡

python -m pip install ultralytics

在独立 Python 3.11 环境运行;示例走 CPU。安装时记录版本,首次加载可能下载权重。本文未运行该姿态模型,没有把下面代码当成姿态精度评测。

导出关键点和核对图

保存为 pose_points.py,与 person.jpg 放在同一目录,运行 python pose_points.py。

import json
from ultralytics import YOLO
model = YOLO("yolo11n-pose.pt")
result = model.predict("person.jpg", device="cpu", verbose=False)[0]
names = ["nose", "left_eye", "right_eye", "left_ear", "right_ear",
         "left_shoulder", "right_shoulder", "left_elbow", "right_elbow",
         "left_wrist", "right_wrist", "left_hip", "right_hip",
         "left_knee", "right_knee", "left_ankle", "right_ankle"]
people = []
if result.keypoints is not None:
    xy = result.keypoints.xy.cpu().tolist()
    conf = result.keypoints.conf
    conf = conf.cpu().tolist() if conf is not None else None
    for person_id, points in enumerate(xy):
        people.append({"person_index": person_id, "points": [
            {"name": names[k], "xy": point,
             "score": conf[person_id][k] if conf is not None else None}
            for k, point in enumerate(points)]})
result.save(filename="pose_check.jpg")
print(json.dumps(people, ensure_ascii=False, indent=2))

person_index 只表示这次图片输出里的序号,不是跨照片身份 ID。xy 是原图像素位置;score 为该关键点的置信信息,缺失时保留 null,不替模型编分数。

完整照片与遮挡照片如何对照

打开 pose_check.jpg,对照肩、肘、腕、髋、膝、踝的位置,再把输入换成遮挡图重跑。记录明显偏离的位置和低置信点,不只检查是否输出 17 个元素。

遮挡、出画面或低置信度关键点不能直接用于角度结论;坐标为零也不应当成真的关节点。先在自有标注样本上设置可用分数门槛,再决定是否计算动作特征。

常见问题

  • 没有人:检查拍摄主体是否足够大、照片是否完整读入、是否用错普通检测权重。
  • 多人点连错:逐个 person_index 对照框和骨架,不把不同人的关节点拼在一起。
  • 想评判动作标准:另建有专业人工标注的评估集;骨架图本身不能证明动作正确。

本例不提供医疗或运动损伤判断。商业分发或系统接入前应阅读 Ultralytics 的授权选项。

资料与适用范围

本文依据 2026 年 10 月 1 日读取的项目资料编写。安装后请记录实际依赖版本;版本升级时先用小样本核对接口和输出。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/30647.html

赞 (0)
AI小管家的头像AI小管家
阿里云上的 Qwen 和 DeepSeek 怎么选?先核对平台模型与调用限制
上一篇 1天前
Qwen 智能体怎么训练?把提示词、工具和评估集分开迭代
下一篇 1天前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部