iDP3 数据采集后有一个跟重要的步骤—数据转换,即将采集到的数据转换为训练格式
目录
1 代码详解
# 定义变量以控制保存选项
# save_img: 是否保存图像(1表示保存,0表示不保存)
save_img=1
# save_depth: 是否保存深度信息(1表示保存,0表示不保存)
save_depth=0
# 定义原始演示数据所在的目录路径
demo_path=/home/yejiangchen/Desktop/Codes/Humanoid-Teleoperation-main/dataset/demo/raw_data_example
# 定义处理后的训练数据保存的目录路径
save_path=/home/yejiangchen/Desktop/Codes/Humanoid-Teleoperation-main/dataset/demo/training_data_example
# 切换到包含 Python 脚本的目录
# "scripts" 目录包含 "convert_demos.py" 脚本
cd scripts
# 执行 Python 脚本 "convert_demos.py" 并传入指定参数
# --demo_dir: 指定原始演示数据的目录路径
# --save_dir: 指定保存处理后训练数据的目录路径
# --save_img: 标志是否保存图像(1表示保存,0表示不保存)
# --save_depth: 标志是否保存深度信息(1表示保存,0表示不保存)
python convert_demos.py --demo_dir ${demo_path} \
--save_dir ${save_path} \
--save_img ${save_img} \
--save_depth ${save_depth}
此处可以更改 save_img 和 save_depth 两个参数,根据使用需求更改
2 样例数据测试
原始数据示例 raw_data_example 存储在 Google Drive 中,可下载测试数据转换流程。此外还提供了训练数据示例 training data example 存储在 Google Drive 中
修改 convert_data.sh 中地址:
demo_path=/home/yejiangchen/Desktop/Codes/Humanoid-Teleoperation-main/dataset/demo/raw_data_example
save_path=/home/yejiangchen/Desktop/Codes/Humanoid-Teleoperation-main/dataset/demo/training_data_example
Terminal 运行:
bash convert_data.sh
运行测试结果如下:
可以看出:
2D视觉数据(color):541表示图像序列的帧数,每帧图像为224×224像素,3表示 RGB 图像中的三个颜色通道(红、绿、蓝)
3D 点云数据(cloud):541同样对应每一帧的点云数据,10000表示每帧点云的点数,每个点的6维数据包括 3D 坐标(x, y, z)和颜色信息(RGB)
机器人状态(state): 32表示机器人状态的特征维度,range: [-2.013, 1.082]表明数据已归一化到一定范围
动作指令(action): 25表示动作向量的维度
3 训练数据
全部数据集和 checkpoints (全部三个任务)开源存储在 Google Drive
选择小一点的 raw_wipe 测试一下
如果直接修改地址运行,则会报错:
简单写个脚本看看 h5 文件参数
import h5py
file_path = "/home/yejiangchen/Desktop/Codes/Humanoid-Teleoperation-main/dataset/raw_wipe/raw_wipe/10.h5"
with h5py.File(file_path, "r") as f:
for key in f.keys():
print(f"{key}: shape={f[key].shape}, dtype={f[key].dtype}, range=[{f[key][:].min()}, {f[key][:].max()}]")
结果如下所示:
可以看出,在 raw_wipe 的 h5 文件中的存储名称为 front_color、front_depth、front_cloud,而在 convert_demos.py 采用的是 color、depth、front_cloud ,对应修改一下就可以了
再次运行,结果如下:
标准训练格式如下,数据可视化参考iDP3复现代码数据预处理全流程(一)——vis_dataset.sh