Wholebody 3D keypoint估计:从H3WB开始


目录

  • 前言
  • 一、H3WB
    • 1.下载
    • 2.标注格式
    • 3.任务分析
    • 验证
    • 评估
  • 总结


前言

这份工作是首次尝试去检测3D全人体姿态的工作.我们使用的数据集是基于Human3.6M的3D全人体关键点数据集.


一、H3WB

H3WB: Human3.6M 3D WholeBody Dataset and Benchmark
它是一个大规模的3D全人体姿态估计数据集.他是Human3.6M的一个扩展,包含133个关键点,其骨架展开与COCO whole body一样.
在这里插入图片描述

1.下载

原始的图片可以从Human3.6M官网下载:
Link:Human3.6M

注意:进入官网,需要申请一个帐号登录,才能下载里面的内容.这里,我们进入:Download->Training Data->By subject,将所有列举的Videos下载.
每个Subject的视频都比较长,6-11G的大小,慢慢下载.

参看H3WB的官网,提供来脚本,来处理Human3.6m视频,建立图片到对应标注的连接.

script代码如下(示例):

import cv2
import osdef convert_mp4_to_image(inpath, outpath, each_x_frame=1):print("load "+inpath)vidcap = cv2.VideoCapture(inpath)success, image = vidcap.read()count = 0while success:if count % each_x_frame == 0:cv2.imwrite(outpath+str(count).zfill(4)+".jpg", image)  # save frame as JPEG filesuccess, image = vidcap.read()if success:count += 1if count % 100 == 0:print('Finish frame: ', count)# time.sleep(1)print("Finish all ", count, " images")def convert_h36m_mp4_to_image(base_path, each_x_frame=1):subjects = ['S1', 'S5', 'S6', 'S7', 'S8']# subjects = ['S1', 'S5', 'S6', 'S7', 'S8', 'S9', 'S11']for subject in subjects:inpath_base = base_path+subject+"/Videos"outpath_base = base_path+subject+"/Images"if not os.path.exists(outpath_base):os.makedirs(outpath_base)videos = os.listdir(inpath_base)for video in videos:inpath = inpath_base + "/" + videooutpath = outpath_base + "/" + video[:-4]if not os.path.exists(outpath):os.makedirs(outpath)outpath = outpath + "/frame_"convert_mp4_to_image(inpath, outpath, each_x_frame)if __name__ == "__main__":path = "./"convert_h36m_mp4_to_image(path+'Human36m/')

对应的标注下载链接如下:
H3WB annotations
并且默认放在datasets/json/文件夹下

2.标注格式

每个json文件参考以下的格式,但不是每个json都包含这所有值.
Json结构(示例):

XXX.json --- sample id --- 'image_path'|-- 'bbox' --- 'x_min'|          |- 'y_min'|          |- 'x_max'|          |- 'y_max'||- 'keypont_2d' --- joint id --- 'x'|                             |- 'y'||- 'keypont_3d' --- joint id --- 'x'|- 'y'|- 'z'

作者同样提供处理Json文件的脚本,详情:json_loader

3.任务分析

我们要做的端到端的3D全人体姿态估计,即给定一张GRB图片,就能给出图片中的人体3D全姿态。官网也给了分析流程:
1、使用RGBto3D_train.json用于训练和验证。它包含了80K图片路径,边界框和2D关键点。
2、它包含有与2Dto3D_train.json相同的样本,因此也可以访问2D关键点,如果有必要的话。
3、使用RGBto3D_test_img.json用于在排行榜上进行测试。它包含20K图片路径和边界框。此测试集的图片id打乱了。

验证

作者没有提供验证集,但建议采用5-fold的交叉验证去得到均值和标准差。

评估

可以将预测的3D全人体结果保存为“XXto3D_pred.json”,并提供一个可下载的链接到此邮箱:wholebody3d@gmail.com
with subject Test set evaluation request。样式文件可以参考以下链接:
json_test_samples


总结

这就是H3WB的调查现状,更多细节可以参考:benchmark.md

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/19857.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML元素中有中文、英文、符号、数字。第一行没排满就自动换行的解决办法:word-break:break-all的使用

word-break: break-all 是一个CSS属性,用于控制文本在容器中的换行方式。它的作用是强制在任意字符之间进行换行,即使这样可能会导致单词被分割。 具体来说,word-break 属性有以下几个取值: normal(默认值&#xff09…

Ubuntu 包管理的 20 个“apt-get”命令

动动发财的小手,点个赞吧! 在引入 apt 命令之前,apt-get 命令是基于 Debian 的 Linux 发行版中使用的主要包管理命令。 使用 apt-get 命令,您可以在系统上安装、删除、升级、搜索和管理软件包。然而,从 Ubuntu 16.04 和…

请求响应-简单参数的接受

请求响应 请求(HttpServletRequest):获取请求数据响应(HttpServletResponse):设置响应数据BS架构:Browser/Server,浏览器/服务器架构。客户端只需要浏览器,应用程序的逻…

前端 - 接口请求抓包 Status Canceled 分析

问题描述 上图是来自于百度的抓包请求分析状态,一般常见的有 status 200,500,404,504,403,302……但这次遇到一个 status canceled(第一次遇见还真一脸懵~) 原因分析 那响应statu…

【聚类算法】密度峰值聚类算法DPC(Density Peak Clustering Algorithm)

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 密度峰值聚类算法(Density Peak Clustering Algorithm),能够自动发现数据中的密度峰值点,并根据峰值点将数…

MongoDB快速入门

虽说现在关系型数据库还是主流,但是面对某些需求的时候,需要非关系型数据库来补充它,学习一个主流的NoSQL数据库还是很有必要的。MongoDB是一个功能丰富的NoSQL数据库,本文整理了它最常用的部分形成了这篇入门教程,希望…

Java-通过IP获取真实地址

文章目录 前言功能实现测试 前言 最近写了一个日志系统,需要通过访问的 IP 地址来获取真实的地址,并且存到数据库中,我也是在网上看了一些文章,遂即整理了一下供大家参考。 功能实现 这个是获取正确 IP 地址的方法,可…

C++之装饰器适配器模式

目录 一、装饰器模式 模式思想 模式简介 模式优点 模式缺点 代码实现 情景模拟 代码实现 运行结果 二、适配器模式 模式简介 介绍 优点 缺点 代码实现 情景模拟 一、装饰器模式 模式思想 模式简介 装饰器模式(Decorator Pattern)允许向…

Sentinel服务器容错简介

spring gateway 详解 服务容错高并发带来的问题服务雪崩效应常见容错方案常见的容错思路1、隔离2、超时3、限流4、熔断5、降级 常见的容错组件 SentinelSentinel 具有以下特征:Sentinel概念和功能相关概念1、资源2、规则 重要功能 服务容错 高并发带来的问题 在微服务架构中&…

深入理解Linux内核 PHY 驱动框架

目录 一、背景 二、硬件拓扑 三、概述 四、PHY控制器驱动 五、PHY驱动解析 1、相关结构体 2、网口和mdio总线设备树配置 3、MAC驱动和mdio控制器注册 4、PHY设备驱动 5、PHY 设备驱动注册和加载 6、以太网卡 PHY 和 MAC 的协作 7、网络操作命令解析 8、设备驱动与…

postman测试接口出现404

postman测试接口出现404 1.用postman调试接口的过程中,出现404的情况,但是接口明明已调到了,而且数据也已经存入数据库了,这让我感到很疑惑。看网上的解决办法检查了我的路径,提交方式、参数类型等都是正确的&#xf…

【实战】 六、用户体验优化 - 加载中和错误状态处理(下) —— React17+React Hook+TS4 最佳实践,仿 Jira 企业级项目(十)

文章目录 一、项目起航:项目初始化与配置二、React 与 Hook 应用:实现项目列表三、TS 应用:JS神助攻 - 强类型四、JWT、用户认证与异步请求五、CSS 其实很简单 - 用 CSS-in-JS 添加样式六、用户体验优化 - 加载中和错误状态处理1~234.用useAs…