目录
- 前言
- 一、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 os
def convert_mp4_to_image(inpath, outpath, each_x_frame=1):
print("load "+inpath)
vidcap = cv2.VideoCapture(inpath)
success, image = vidcap.read()
count = 0
while success:
if count % each_x_frame == 0:
cv2.imwrite(outpath+str(count).zfill(4)+".jpg", image) # save frame as JPEG file
success, image = vidcap.read()
if success:
count += 1
if 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 + "/" + video
outpath = 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