AlphaPose 中的 CrowdPose 拥挤场景姿态估计:匹配算法、数据集与基准评测
人工智能计算机视觉深度学习【免费下载链接】AlphaPoseReal-Time and Accurate Full-Body Multi-Person Pose EstimationTracking System项目地址https://gitcode.com/gh_mirrors/al/AlphaPose点击查看免费下载本文基于 AlphaPose 仓库中的 docs/CrowdPose.md 文档围绕 CVPR 2019 论文《CrowdPose: Efficient Crowded Scenes Pose Estimation and A New Benchmark》讲解其提出的CrowdPose 基准数据集、Crowd Index 度量以及集成在 AlphaPose 中的人群匹配matching算法与快速上手命令并给出 CrowdPose 验证集与 MSCOCO 验证集上的完整评测数据。读完本文你将掌握如何在 AlphaPose 中对拥挤场景图片批量运行姿态估计以及其结果在人群场景中优于通用方法的核心原理与源码依据。CrowdPose 是什么面向拥挤场景的新基准传统的姿态估计数据集如 MSCOCO、MPII中单张图片通常只包含少数、相互遮挡不严重的人体。而在演唱会、商场、地铁等真实拥挤场景中人体之间互相遮挡、肢体交叉导致检测器产生大量冗余框、姿态预测相互干扰通用的单人姿态估计 非极大值抑制NMS流程会失效。CrowdPose 正是为解决这一痛点而提出的它是一个面向拥挤场景的人体姿态估计基准数据集图像中的Crowd Index人群指数在 [0, 1] 区间上呈均匀分布保证数据集覆盖从稀疏到极端拥挤的完整梯度论文方法在CrowdPose 数据集上相比当时的 SOTA 方法提升了5 mAP同时在MSCOCO 数据集上相比当时 SOTA 提升0.8 mAP验证了方法的泛化能力——即针对拥挤场景设计的算法并不会牺牲通用场景的性能。该工作由 Jiefeng Li、Can Wang、Hao Zhu、Yihuan Mao、Hao-Shu Fang 与 Cewu Lu 共同完成见仓库文档 docs/CrowdPose.md 的 Contributors 一节论文发表于 CVPR 2019。匹配算法拥挤场景的重复姿态消除核心CrowdPose 的核心技术贡献之一是针对拥挤场景设计的匹配matching算法——在 AlphaPose 中这一能力由 alphapose/utils/pPose_nms.py 中的Parametric Pose NMS参数化姿态 NMS实现替代了直接对检测框做普通 NMS 的做法。从源码看核心流程入口函数 pose_nms 依据关键点数量分发到pose_nms_body17 点人体或pose_nms_fullbody133/136 点全身其算法骨架如下打分将每个候选人的姿态分数与检测框分数融合得到人体分数human_scores迭代挑选每一轮取出分数最高的人作为参考pick_id随后用两个指标判定哪些候选人与它重复get_parametric_distance计算候选姿态与参考姿态的参数化距离simi融合关键点置信度与空间距离超过阈值gamma判定重复PCK_match统计候选与参考之间匹配上的关键点数量距离小于参考尺度ref_dist即视为匹配超过matchThreds判定重复合并p_merge_fast对被判定重复的候选按置信度加权求和合并关键点坐标与分数得到更稳定的最终姿态过滤最终姿态最大关键点分数低于scoreThreds、或包围面积过小的候选被剔除。关键常量定义在 alphapose/utils/pPose_nms.py#L12-L28常量默认值含义gamma22.48参数化距离阈值超过则视为同一人的重复检测matchThreds5匹配关键点数量阈值超过则判定重复scoreThreds0.3关键点/姿态最低保留分数alpha0.1参考距离缩放系数ref_dists alpha * max(width, height)vis_thr0.2关键点可见性阈值用于 OKS 相关计算oks_thr0.9OKS 重叠阈值用于 OKS-NMS这种按姿态相似度而非仅按框重叠度的合并策略正是 CrowdPose 论文方法在密集人群下优于 Detectron、Simple Pose 等通用方案的直接原因两个不同的人身体框可能高度重叠IoU 很高但关键点结构并不匹配因此不会被错误合并。与 OKS-NMS 的关系除了上述参数化姿态 NMSpPose_nms.py 还提供了基于OKSObject Keypoint Similarity的oks_nms与soft_oks_nms通过 oks_iou 计算姿态级重叠可针对不同数据集COCO 17 点、COCO-WholeBody 133 点、Halpe 136 点等自动选择sigmas标注不确定度参数。在拥挤场景下姿态级度量OKS / 参数化距离相比框级 IoU 能更准确地区分彼此遮挡的人。快速上手对文件夹图片运行 CrowdPose 匹配原文档给出的pytorch 分支快速启动命令即论文配套分支的用法python3 demo.py --indir ${img_directory} --outdir examples/res --matching其中--indir输入图片目录--outdir结果输出目录默认examples/res/--matching开启 CrowdPose 的匹配算法。在 AlphaPose 主分支pytorch 版中的等价用法需要说明的是当前仓库的推理入口为 scripts/demo_inference.py其命令行参数与论文分支的demo.py略有差异目录输入与匹配后处理能力对应如下可从 scripts/demo_inference.py#L26-L85 的参数定义核对python3 scripts/demo_inference.py \ --cfg configs/coco/resnet/256x192_res50_lr1e-3_1x.yaml \ --checkpoint ${pretrained_model} \ --indir ${img_directory} \ --outdir examples/res \ --detector yolo \ --save_img关键参数说明参数默认值说明--cfg必填姿态模型配置文件如configs/coco/resnet/256x192_res50_lr1e-3_1x.yaml--checkpoint必填姿态模型权重文件--indir图片输入目录程序会遍历该目录下全部图片自动自然排序--outdirexamples/res/结果输出目录--detectoryolo目标检测器名称可选yolo/yolox/efficientdet/tracker等--save_imgFalse是否保存渲染结果图--gpus0使用的 GPU 索引多卡用逗号分隔-1表示纯 CPU--detbatch/--posebatch5/64检测 / 姿态估计的每 GPU 批大小--format—结果导出格式coco/cmu/open对于目录输入demo_inference.py 的 check_input 函数 使用os.walk收集目录下所有图片文件并经natsort.natsorted做自然排序保证多图批处理的顺序稳定。姿态后处理含参数化 NMS在alphapose.utils.writer.DataWriter的消费线程中完成最终结果默认以 JSON 形式写入输出目录。与旧分支命令的对应关系旧分支的--matching对应本文上一节所述的Parametric Pose NMS / 姿态匹配合并逻辑该逻辑在 pPose_nms.py 中始终作为默认后处理生效因此新入口无需显式开关输出目录examples/res与--outdir语义完全一致如需以 COCO 评测格式导出用图片索引替代文件名可加--eval参数配合 write_json 生成alphapose-results.json。数据集与评估工具数据集获取CrowdPose 数据集分两部分发布图像包含 Train Validation Test 全部分割的图片标注Annotations对应的人体关键点标注文件。下载后按 COCO 风格目录组织train/、val/、test/图片目录 标注 JSON即可配合 AlphaPose 的评测流程使用。评估工具CrowdPose 的官方评估工具基于 COCO APIcocodataset/cocoapi开发在 COCO 的 AP / AR 评测框架上针对 CrowdPose 数据集做了适配支持按 Crowd Index 分组统计。模型源码即集成在 AlphaPosepytorch 分支中评测时直接使用官方工具对 write_json 导出的alphapose-results.json进行打分即可。实验结果基准数据与对比以下数据全部继承自 docs/CrowdPose.md 的 Results 一节。CrowdPose 验证集与 SOTA 方法对比MethodAP 0.5:0.95AP 0.5AP 0.75AR 0.5:0.95AR 0.5AR 0.75Detectron (Mask R-CNN)57.283.560.365.989.369.4Simple Pose (Xiaoet al.)60.881.465.767.386.371.8Ours66.084.271.572.789.577.5在 CrowdPose 验证集上论文方法以66.0 AP领先当时 SOTA 的 Simple Pose60.8 AP约5 个点且在高重叠阈值AP0.75下的优势更明显71.5 vs 65.7说明其输出的关键点定位更精确、重复检测更少——这正是匹配/合并算法的作用体现。CrowdPose 验证集与开源系统对比MethodAP EasyAP MediumAP HardFPSOpenPose (CMU-Pose)62.748.732.35.3Detectron (Mask R-CNN)69.457.945.82.9Ours75.566.357.410.1按人群拥挤程度Easy / Medium / Hard分组后可见越拥挤Hard的场景通用方法衰减越严重OpenPose 从 62.7 掉到 32.3而论文方法在 Hard 分组仍保持57.4 AP同时以10.1 FPS明显快于 Detectron2.9 FPS。MSCOCO 验证集泛化能力验证MethodAP 0.5:0.95AR 0.5:0.95Detectron (Mask R-CNN)64.871.1Simple Pose (Xiaoet al.)69.874.1AlphaPose70.976.4在通用场景的 MSCOCO 验证集上针对拥挤场景设计的 AlphaPose 方法仍以70.9 AP反超当时 SOTA 的 Simple Pose69.8 AP约0.8 个点说明 CrowdPose 匹配算法没有牺牲通用场景性能具备良好的泛化性。总结CrowdPose 为姿态估计领域提供了第一个人群密度均匀分布的拥挤场景基准并配套提出了高效的匹配算法通过 pPose_nms.py 中的参数化距离 匹配关键点计数 置信度加权合并AlphaPose 能够在拥挤场景下有效消除重复检测、保留准确姿态。配合本文给出的scripts/demo_inference.py目录批处理命令、--detector/--save_img等参数以及官方评估工具即可复现文档中的评测流程。论文结果CrowdPose 上 5 mAP、MSCOCO 上 0.8 mAP与三组完整对比数据均可作为后续研究或工程选型的基线参考。赞分享人工智能计算机视觉深度学习【免费下载链接】AlphaPoseReal-Time and Accurate Full-Body Multi-Person Pose EstimationTracking System项目地址https://gitcode.com/gh_mirrors/al/AlphaPose点击查看免费下载相关推荐MMPose 人体姿态估计实战SimpleBaseline2D ResNet 在 CrowdPose 拥挤场景数据集上的完整配置与评测解析MMPose 人体姿态估计实战SimpleBaseline2D ResNet 在 CrowdPose 拥挤场景数据集上的完整配置与评测解析 本文基于 MM计算机视觉人工智能深度学习AlphaPose密集人群姿态估计CrowdPose数据集处理与算法优化AlphaPose密集人群姿态估计CrowdPose数据集处理与算法优化 引言密集场景下的姿态估计痛点与解决方案 你是否在处理演唱会、体育赛事等密集人群场景人工智能计算机视觉深度学习MMPose 中 DEKR HRNet 的 CrowdPose 拥挤场景自底向上姿态估计完整指南MMPose 中 DEKR HRNet 的 CrowdPose 拥挤场景自底向上姿态估计完整指南 导读 本文聚焦 OpenMMLab 姿态估计工具箱 MMP计算机视觉人工智能深度学习上一篇BabelDOC PDF翻译指南三步生成双语文档下一篇NodeMCU DEVKIT V1.0原理图详解从电路设计到PCB制作全流程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Plannotator Annotate Gates 与 JSON 结构化响应:从人工反馈到机器可读评审闸门

Plannotator Annotate Gates 与 JSON 结构化响应:从人工反馈到机器可读评审闸门

【免费下载链接】plannotator Annotate and review coding agent plans and code diffs visually, share with your team, send feedback to agents with one click. 项目地址: https://gitcode.com/gh_mirrors/pl/plannotator 点击查看 免费下载 plannotator anno…

2026/9/25 4:07:11 阅读更多 →
如何为 easy-loading-cj 添加第 28 种动画?从零实现新指示器的完整步骤

如何为 easy-loading-cj 添加第 28 种动画?从零实现新指示器的完整步骤

如何为 easy-loading-cj 添加第 28 种动画?从零实现新指示器的完整步骤 【免费下载链接】easy-loading-cj easy-loading提供多种 loading/Toast 动画加载效果 项目地址: https://gitcode.com/Cangjie-TPC/easy-loading-cj easy-loading-cj 是一个基于 Cangji…

2026/9/25 4:06:10 阅读更多 →
UC网盘直链解析原理:不登录下载的底层逻辑与实操

UC网盘直链解析原理:不登录下载的底层逻辑与实操

1. 从“转存才能下”说起:UC网盘的分享机制到底卡在哪经常用UC网盘的朋友大概率遇到过这种场景:朋友甩过来一个分享链接,你点开一看,页面提示要先登录账号、再转存到自己的网盘,然后才能下载。如果只是偶尔用一次&…

2026/9/25 4:06:10 阅读更多 →

最新新闻

Havoc Framework 实战指南:现代可塑化后渗透 C2 框架的架构、部署与配置全解析

Havoc Framework 实战指南:现代可塑化后渗透 C2 框架的架构、部署与配置全解析

网络安全 【免费下载链接】Havoc The Havoc Framework 项目地址: https://gitcode.com/gh_mirrors/ha/Havoc 点击查看 免费下载 导读:Havoc 是一个由 C5pider 创建的现代可塑(malleable)后渗透 C2(Command and Contro…

2026/9/25 7:21:45 阅读更多 →
confd 发布流程详解:CHANGELOG 自动生成、版本号管理与跨平台二进制构建

confd 发布流程详解:CHANGELOG 自动生成、版本号管理与跨平台二进制构建

后端配置中心运维 【免费下载链接】confd Manage local application configuration files using templates and data from etcd or consul 项目地址: https://gitcode.com/gh_mirrors/co/confd 点击查看 免费下载 confd 的每个正式版本都不是"打个 tag 就完事…

2026/9/25 7:21:44 阅读更多 →
在 AWS Lambda 上部署 GraphQL Playground:基于 Serverless Framework 的完整实战指南

在 AWS Lambda 上部署 GraphQL Playground:基于 Serverless Framework 的完整实战指南

开发工具后端API设计 【免费下载链接】graphql-playground 🎮 GraphQL IDE for better development workflows (GraphQL Subscriptions, interactive docs & collaboration) 项目地址: https://gitcode.com/gh_mirrors/gr/graphql-playground 点击查…

2026/9/25 7:21:44 阅读更多 →
Hippy AI 编程实战指南:Cursor / CodeBuddy / Knot 智能体配置与 Prompt 最佳实践

Hippy AI 编程实战指南:Cursor / CodeBuddy / Knot 智能体配置与 Prompt 最佳实践

跨平台移动开发前端 【免费下载链接】Hippy Hippy is designed to easily build cross-platform dynamic apps. 👏 项目地址: https://gitcode.com/gh_mirrors/hi/Hippy 点击查看 免费下载 本篇指南面向 Hippy 开发者,系统讲解如何借助 AI 编…

2026/9/25 7:21:44 阅读更多 →
trackerslist:75 个公共 BT Tracker 列表,粘贴进去把下载速度拉到 MB 级

trackerslist:75 个公共 BT Tracker 列表,粘贴进去把下载速度拉到 MB 级

trackerslist:75 个公共 BT Tracker 列表,粘贴进去把下载速度拉到 MB 级 【免费下载链接】trackerslist Updated list of public BitTorrent trackers 项目地址: https://gitcode.com/GitHub_Trending/tr/trackerslist 换电脑、重装系统后速度只剩…

2026/9/25 7:21:44 阅读更多 →
Atlas 300V部署YOLO实战:从环境配置到多路视频推理调优

Atlas 300V部署YOLO实战:从环境配置到多路视频推理调优

早两个月我把一张Atlas 300V插进服务器的时候,第一反应是:这卡到底算不算运算加速卡?插上去之后系统里没有nvidia-smi,没有CUDA,连安装包都换了一整套名字。查了一圈才搞明白,它确实是运算加速卡&#xff0…

2026/9/25 7:20:44 阅读更多 →

日新闻

AI元人文:从工具使用到思维重构的深度探索

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:00:41 阅读更多 →
Python+CNN车牌识别实战:从数据预处理到模型训练与部署

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:00:41 阅读更多 →
Vim基础操作全攻略:保存退出、模式切换与高频命令实战

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →