TLabel Convert 可将 GelSight、PaXini、Daimon、ToucHD 等九类触觉传感器数据批量转换为 LeRobot 或 FTP-1 所需格式。它减少了机器人学习项目中反复编写解析、特征整理与格式适配脚本的工作。
别再为每一种新型触觉传感器编写自定义数据解析脚本了。下面介绍一款 CLI 工具,它支持 9 种传感器,并能输出可直接用于训练的 LeRobot 数据集。
如果你正在研究结合触觉感知的机器人操作,那么一定遇到过这道坎:
每种触觉传感器输出的数据格式都不一样。GelSight 输出 .pkl 文件,PaXini 使用 .h5,Daimon 使用 .parquet,ToucHD 则直接导出原始 .npy 数组。而你的机器人学习框架——无论是 LeRobot、FTP-1,还是其他框架——通常只接受一种特定格式。
于是,你不得不为每种传感器分别编写自定义解析器。每当系统中增加一种新传感器,你都要花上一两天处理数据格式转换,而不是投入真正的研究工作。
我也遇到过同样的问题。因此,我开发了 TLabel Convert。
TLabel Convert 是一款 CLI 工具,可以将 9 种不同触觉传感器的原始数据转换为标准化的训练格式:
# Convert a single file
tlabel convert --from gelsight --to lerobot --input data.pkl --output output_dir/
# Convert an entire directory
tlabel batch-convert --from univtac --to ftp1 --input-dir ./raw/ --output-dir ./converted/
就这么简单。两条命令,无须编写任何自定义解析代码。
以下是目前支持转换的输入数据:
GelSight Mini / DIGIT——基于视觉的触觉传感器,输入 .pkl → 接触、力、光流,共 23 个维度
GelSight Mini / DIGIT——基于视觉的触觉传感器,输入 .pkl → 接触、力、光流,共 23 个维度
PaXini PXCap——高分辨率触觉阵列,输入 .h5 → 力、形变、时序特征,共 20 个维度
PaXini PXCap——高分辨率触觉阵列,输入 .h5 → 力、形变、时序特征,共 20 个维度
Daimon DM-TacClaw——多指传感器,输入 .parquet → 兼容 LeRobot,包含力与接触数据
Daimon DM-TacClaw——多指传感器,输入 .parquet → 兼容 LeRobot,包含力与接触数据
ToucHD / AnyTouch 2——多模态传感器,输入 .npy + 目录 → 力、触觉及时序特征,共 22 个维度
ToucHD / AnyTouch 2——多模态传感器,输入 .npy + 目录 → 力、触觉及时序特征,共 22 个维度
UniVTAC——跨数据集格式,输入 .hdf5 → 通用跨数据集格式
UniVTAC——跨数据集格式,输入 .hdf5 → 通用跨数据集格式
VTouch——基于视觉的传感器,输入 .h5 → 视觉触觉特征
VTouch——基于视觉的传感器,输入 .h5 → 视觉触觉特征
YCB-Slide(CMU DIGIT)——滑动操作数据,输入 .npy + 目录 → 滑动操作专用特征
YCB-Slide(CMU DIGIT)——滑动操作数据,输入 .npy + 目录 → 滑动操作专用特征
TacQuad(AnyTouch)——多传感器阵列,输入 .csv + 目录 → 多阵列数据
TacQuad(AnyTouch)——多传感器阵列,输入 .csv + 目录 → 多阵列数据
TLabel Format——通用格式,输入 .json → 任何已经符合 TLabel schema 的数据
TLabel Format——通用格式,输入 .json → 任何已经符合 TLabel schema 的数据
目前支持两种可直接用于训练的格式。
tlabel convert --from gelsight --to lerobot --input data.pkl --output lerobot_dataset/
lerobot_dataset/
├── data/
│ └── chunk-0000.parquet # Standard LeRobot parquet
└── meta/
└── info.json # With observation.tactile schema
输出结果可以直接与 LeRobotDataset 兼容:
from lerobot.common.datasets.lerobot_dataset import LeRobotDataset
dataset = LeRobotDataset("lerobot_dataset")
print(f"Episodes: {dataset.num_episodes}")
print(f"Tactile dims: {dataset.features['observation.tactile']}") # 14-dim Schema V2
tlabel convert --from paxini --to ftp1 --input data.h5 --output ftp1_dataset/
该格式用于触觉 foundation model 的预训练。
下面通过一个完整示例说明如何使用。假设你拥有 GelSight Mini 数据,并希望将其用于 LeRobot:
# Step 1: Install
pip install tlabel>=0.19.0
# Step 2: Convert
tlabel convert \
--from gelsight \
--to lerobot \
--input gelsight_recording.pkl \
--output my_lerobot_dataset/
# Step 3: Verify
tlabel adapter-info gelsight
转换器会自动完成:
.pkl 格式中提取 frameobservation.tactile 字段的 info.json)如果你的传感器不在列表中,可以通过以下命令查看当前可用的 adapter:
# List all supported adapters
tlabel list-adapters
# Get detailed info about a specific adapter
tlabel adapter-info paxini
adapter 架构支持扩展。如果你是传感器制造商或研究人员,可以继承 DataAdapterBase,实现新的 DataAdapter。具体细节请查看贡献指南。
TLabel Convert 是 TLabel 项目的一部分。该项目定义了一套统一的触觉数据标注标准。
这套 schema 涵盖 14 个语义维度:
每个维度都有一个合规等级(L1–L4),用于表示可获得的信息量。这意味着,即使不同传感器测量的内容并不完全相同,你仍然可以在它们之间获得一致的标注。
# Install
pip install tlabel>=0.19.0
# Convert single file
tlabel convert --from <adapter> --to <format> --input <path> --output <path>
# Batch convert directory
tlabel batch-convert --from <adapter> --to <format> --input-dir <dir> --output-dir <dir>
# List supported adapters
tlabel list-adapters
# Adapter details
tlabel adapter-info <name>
adapter(--from):gelsight、paxini、daimon、tlabel、touchd、univtac、vtouch、ycb_slide、tacquad
格式(--to):lerobot、ftp1
GitHub:https://github.com/liesliy/tlabel
PyPI:https://pypi.org/project/tlabel/
HuggingFace Dataset:https://huggingface.co/datasets/375720783jin/tlabel-convert
如果你正在处理触觉数据,并且一直为格式转换所困扰,不妨试试这款工具。欢迎提交 Issue 和 PR。
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。