3分钟上手LeRobot数据集可视化:从安装到远程调试全攻略

【免费下载链接】lerobot 🤗 LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch 【免费下载链接】lerobot 项目地址: https://gitcode.com/GitHub_Trending/le/lerobot

你是否还在为机器人数据集难以直观查看而困扰?训练模型时无法确认数据质量?调试时找不到样本异常原因?本文将带你掌握LeRobot本地数据集可视化工具的全部用法,通过3个实用场景案例,让你轻松解决机器人数据调试难题。读完本文你将学会:本地可视化快速启动、远程服务器数据查看、自定义参数优化可视化效果。

为什么需要数据集可视化工具?

机器人学习依赖大量 episodes( episodes(片段))数据,但原始传感器数据(摄像头图像、关节角度、力反馈等)通常以二进制格式存储,直接查看困难。LeRobot提供的lerobot-dataset-viz工具通过 Rerun 可视化引擎,将多模态数据转化为时间序列视图,支持:

  • 同步查看图像流与关节角度变化
  • 对比动作指令与实际执行效果
  • 检测数据采集过程中的异常帧

LeRobot项目logo

安装准备

环境要求

快速安装

# 克隆仓库
git clone https://gitcode.com/GitHub_Trending/le/lerobot.git
cd lerobot

# 安装依赖
pip install -r requirements-ubuntu.txt  # Ubuntu用户
# 或
pip install -r requirements-macos.txt   # macOS用户

# 验证安装
lerobot-dataset-viz --help

核心功能解析

1. 本地数据集可视化(基础场景)

最常用的工作流,直接在本地机器加载数据集并启动可视化界面:

lerobot-dataset-viz \
  --repo-id lerobot/pusht \
  --episode-index 0

参数说明

  • --repo-id: 数据集标识(本地路径或HuggingFace仓库ID)
  • --episode-index: 要查看的片段索引(从0开始)

执行后将自动启动Rerun viewer,展示:

  • 多摄像头图像流(如 media/so100/leader_follower.webp 所示类似视图)
  • 关节角度随时间变化曲线
  • 动作指令与传感器数据同步对比

2. 远程服务器数据查看(进阶场景)

当数据集存储在无图形界面的服务器时,支持两种远程查看模式:

模式A:生成离线文件
# 服务器端生成.rrd文件
lerobot-dataset-viz \
  --repo-id lerobot/pusht \
  --episode-index 0 \
  --save 1 \
  --output-dir ./vis_results

# 本地下载并查看
scp user@server:./vis_results/lerobot_pusht_episode_0.rrd .
rerun lerobot_pusht_episode_0.rrd
模式B:实时流式传输
# 服务器端启动WebSocket服务
lerobot-dataset-viz \
  --repo-id lerobot/pusht \
  --episode-index 0 \
  --mode distant \
  --ws-port 9087

# 本地端口转发(新终端)
ssh -L 9087:localhost:9087 user@server

# 本地查看
rerun ws://localhost:9087

3. 自定义可视化参数(高级场景)

通过调整参数优化可视化体验:

lerobot-dataset-viz \
  --repo-id lerobot/pusht \
  --episode-index 0 \
  --batch-size 64 \  # 增大批量加载速度
  --num-workers 4 \   # 启用多进程加载
  --tolerance-s 0.001 # 时间戳容差调整

关键参数说明: | 参数 | 作用 | 推荐值 | |------|------|--------| | --batch-size | 数据加载批次大小 | 32-128(依GPU内存) | | --num-workers | 数据加载进程数 | CPU核心数的1/2 | | --tolerance-s | 时间戳校验容差 | 0.0001(精确模式)/0.01(快速模式) |

代码原理简析

可视化核心逻辑在 src/lerobot/scripts/lerobot_dataset_viz.py 中实现,主要流程:

  1. 数据加载:通过 LeRobotDataset 类读取指定片段
  2. 数据预处理to_hwc_uint8_numpy 函数将图像转为Rerun兼容格式
  3. 时间序列构建:按帧索引和时间戳组织多模态数据
  4. 可视化渲染:通过Rerun SDK绘制图像流、标量曲线等

核心代码片段:

# 图像格式转换(第94-100行)
def to_hwc_uint8_numpy(chw_float32_torch: torch.Tensor) -> np.ndarray:
    hwc_uint8_numpy = (chw_float32_torch * 255).type(torch.uint8).permute(1, 2, 0).numpy()
    return hwc_uint8_numpy

# 多模态数据日志(第155-177行)
for key in dataset.meta.camera_keys:
    rr.log(key, rr.Image(to_hwc_uint8_numpy(batch[key][i])))
for dim_idx, val in enumerate(batch[ACTION][i]):
    rr.log(f"{ACTION}/{dim_idx}", rr.Scalar(val.item()))

常见问题解决

Q:可视化窗口卡顿怎么办?

A:尝试降低 --batch-size 或设置 --num-workers 0 禁用多进程加载

Q:远程模式连接失败?

A:检查防火墙设置,确保 --ws-port 端口已开放,或使用 --web-port 指定HTTP端口

Q:如何查看自定义数据集?

A:将数据集按 docs/source/lerobot-dataset-v3.mdx 规范组织,使用 --root 参数指定本地路径

总结与后续展望

LeRobot数据集可视化工具通过直观的多模态数据展示,解决了机器人学习中的数据调试痛点。无论是本地开发还是远程服务器场景,都能提供高效的可视化方案。未来版本将支持3D点云可视化和标注工具集成,进一步提升数据处理效率。

点赞+收藏本文,关注项目 CONTRIBUTING.md 获取工具更新通知,下期将带来《数据集质量评估自动化指南》。

【免费下载链接】lerobot 🤗 LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch 【免费下载链接】lerobot 项目地址: https://gitcode.com/GitHub_Trending/le/lerobot

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐