资讯动态

Being-H数据加工实战:LeRobot格式、delta动作转换与静态帧裁剪完整指南

发布时间:2026/10/13 14:49:01 来源:尧图企业网站定制
【免费下载链接】Being-HBeing-H is BeingBeyonds family of human-centric embodied foundation models.项目地址https://gitcode.com/gh_mirrors/be/Being-H点击查看免费下载Being-H 是 BeingBeyond 推出的以人为中心的具身基础模型家族其中 Being-H0.5 是其旗舰 VLA 模型。想让模型学会自己的机械臂任务必须先做好 Being-H 数据加工把数据整理成 LeRobot 格式、把关节动作转换成 delta、再裁剪掉首尾的静态帧。本文基于官方教程工作区 Being-H-EDU以 SO101 的pick_cube_plate把方块放进盘子任务为例带你完整走一遍数据加工流程。一、为什么 Being-H 后训练要折腾数据Being-H 内部使用200 维统一动作/状态空间不同机械臂的数据都通过映射填入这个空间。以 SO101 为例定义见 configs/data_config.py模态来源列统一空间位置含义state.joint_positionsobservation.state[0:6]6:126 维绝对关节/夹爪位置action.joint_positionsaction[0:5]6:115 维 delta 关节动作action.gripperaction[5:6]11:121 维绝对夹爪动作注意关键约定前 5 个关节动作维度必须是 delta相对当前状态的增量夹爪维度保持绝对值。而公开数据集里存的往往是绝对动作所以 delta 转换是必经步骤。更多细节可参考 docs/unified_action_space.md。二、LeRobot 格式数据集速览LeRobot 是机器人数据集的标准格式目录结构如下$DATASET/ meta/ info.json # 版本、fps、特征定义 tasks.jsonl # 任务指令 episodes.jsonl # 每个 episode 的元信息 episodes_stats.jsonl # 逐 episode 统计 stats.json # 全局统计 data/ chunk-000/episode_000000.parquet # 动作/状态帧数据 videos/ chunk-000/ observation.images.external/episode_000000.mp4 # 外部相机 observation.images.wrist/episode_000000.mp4 # 腕部相机官方 SO101 数据集提供了 4 个变体日常后训练推荐直接用pick_cube_plate_trimmed目录LeRobot 版本Episodes帧数用途pick_cube_platev2.121051,987原始合并数据用于审计pick_cube_plate_filteredv2.118945,001已剔除过短/不完整 episodepick_cube_plate_trimmedv2.118935,006✅ 推荐训练集已裁剪静态帧pick_cube_plate_v3.0v3.021051,987v3.0 布局适配新版 LeRobot 工具链下载后可用三条命令验证数据集是否合法存在meta/info.json、data/、videos/目录即可test -f $SO101_DATASET/meta/info.json test -d $SO101_DATASET/data test -d $SO101_DATASET/videos三、delta 动作转换一条命令搞定假设你从绝对动作的 LeRobot 数据集出发只需运行一次转换脚本源码examples/so101/convert_so101_actions_to_delta.pypython examples/so101/convert_so101_actions_to_delta.py $SO101_DATASET脚本做了什么核心逻辑只有一行见 convert_so101_actions_to_delta.pyaction[:, :5] action[:, :5] - state[:, :5]此外它还会原地更新所有data/**/*.parquet文件重算meta/stats.json与meta/episodes_stats.jsonl并把旧统计备份为stats.before_action_delta.json写入转换标记meta/action_delta_conversion.json防止重复转换再次运行会直接拒绝除非加--force从新的绝对动作副本重做内置预检若动作前 5 维已经长得像 delta均值绝对值过小也会拒绝执行。四、静态帧裁剪先分析再下手自己采集的数据往往开头和结尾都有一段机械臂静止的空镜浪费训练算力。官方在 tools/so101_processing/ 提供了三步工具链1️⃣ 合并多个采集会话多批数据先合并成一个数据集episode 会重新连续编号、统计量自动重算python tools/so101_processing/merge_datasets.py \ --srcs /path/to/session_001 /path/to/session_002 /path/to/session_003 \ --dst /path/to/so101_merged对应源码merge_datasets.py。2️⃣ 分析静止帧只读不改数据python tools/so101_processing/analyze_stillness.py \ --root /path/to/so101_merged \ --threshold 0.5它会输出每个 episode 开头/末尾的静止帧均值、中位数、分布直方图以及静止最严重的 Top 10帮你判断阈值是否合理。源码analyze_stillness.py。3️⃣ 裁剪静态帧python tools/so101_processing/trim_static.py \ --src /path/to/so101_merged \ --dst /path/to/so101_trimmed \ --threshold 0.5 \ --buffer 3参数含义--threshold按相邻帧 action 变化量判断静止建议从0.5起步裁剪后抽查视频再调--buffer在动作起止点前后各保留的缓冲帧避免把有效动作切过头。trim_static.py 会同步裁剪 parquet 数据、用 ffmpeg 按帧范围切视频、重置timestamp/frame_index并重算episodes.jsonl、episodes_stats.jsonl和全局stats.json保证输出仍是合法数据集。 参考官方数据量级pick_cube_plate原始 51,987 帧 → 过滤后 45,001 帧 → 裁剪后 35,006 帧静态帧裁剪大约又省了 20% 的无用帧。五、接入训练配置与启动数据加工完成后从示例配置 so101_example.yaml 复制一份本地 YAML把占位路径替换为你的数据集路径即可so101_posttrain: dataset_names: - so101.pick_cube_plate dataset_path_overrides: so101.pick_cube_plate: /local/path/to/Being-H-EDU_SO101/pick_cube_plate_trimmed data_config_names: - so101 embodiment_tags: - so101数据集键so101.pick_cube_plate要与 configs/dataset_info.py 中的注册保持一致。然后启动训练PRETRAIN_MODEL/path/to/InternVL3_5-2B \ EXPERT_MODEL/path/to/Qwen3-0.6B \ RESUME_PATH/path/to/being-h05-checkpoint \ bash examples/so101/train_so101_beingh.sh \ --dataset-config configs/posttrain/so101/so101_local.yaml \ --gpus 4 \ --steps 20000六、训练启动前校验清单 meta/info.json的codebase_version为v2.1fps为 30meta/tasks.jsonl包含预期指令如Pick the cube into the plate.delta 转换标记meta/action_delta_conversion.json存在data/chunk-000/*.parquet含action、observation.state、timestamp、frame_index、episode_index、index、task_index列videos/chunk-000/下 external 与 wrist 两路视频与 episode 一一对应。完整流程回顾原始/已转换 LeRobot 会话 - 合并会话merge_datasets.py - 分析并裁剪静态帧analyze_stillness.py trim_static.py - delta 动作转换convert_so101_actions_to_delta.py - 配置 YAML 并启动后训练掌握这条LeRobot 格式 delta 转换 静态帧裁剪的数据加工链路后你就能把自己采集的 SO101乃至其他映射到统一动作空间的机械臂数据喂给 Being-H 了。更多环境安装与训练参数说明见 docs/so101_data_processing.md 和 docs/training.md。赞分享【免费下载链接】Being-HBeing-H is BeingBeyonds family of human-centric embodied foundation models.项目地址https://gitcode.com/gh_mirrors/be/Being-H点击查看免费下载相关推荐LeRobot项目数据集创建与格式转换完全指南LeRobot项目数据集创建与格式转换完全指南 数据集架构概述 LeRobot项目采用标准化的数据集格式旨在为机器人学习提供统一的数据管理方案。该架构包含三个人工智能机器学习深度学习机器人具身智能强化学习GDAL gdal_translate 完全指南栅格格式转换、裁剪、重采样与像素缩放实战GDAL gdal_translate 完全指南栅格格式转换、裁剪、重采样与像素缩放实战 gdal_translate 是 GDAL 提供的最基础、最常用的栅GIS遥感数据工程tldraw图片工具图像裁剪与格式转换处理tldraw图片工具图像裁剪与格式转换处理 引言为什么需要专业的白板图像处理 在现代协作白板应用中图像处理是不可或缺的核心功能。无论是产品设计会议中的界前端UI组件创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑