5分钟上手 TouchLabel AI:开源触觉数据标注工具包
你做触觉研究,还在手动一个个帧看数据?还在为不同传感器的数据格式头疼?试试 TouchLabel AI,一行命令安装,三行代码跑通,22维特征自动提取+可视化面板+AI预标注,全搞定。
这是什么?
TouchLabel AI(tlabel)是一个传感器无关的触觉数据标注工具包,一句话概括:
不管你用什么触觉传感器,同一套API完成加载、标注、导出。
目前支持 4 种主流传感器:
- GelSight(视觉触觉)
- DIGIT(Meta 视觉触觉)
- 帕西尼 PaXini(高密度阵列)
- 戴盟 Daimon(视频+力觉)
安装
pip install tlabel[all]
⚠️ 如果用清华镜像源遇到旧版本或缺包问题,建议用官方源:
pip install tlabel[all] -i https://pypi.org/simple/
5分钟体验:内置Demo
不想折腾数据?内置了4组合成Demo数据,开箱即用。
打开 Jupyter Notebook,依次运行:
import tlabel
# 查看可用的Demo
tlabel.list_demos()
# ['gelsight', 'digit', 'paxini', 'daimon']
# 加载一个Demo
data = tlabel.demo('gelsight')
# 打开交互面板
data.review()
面板直接嵌在 Notebook 里,支持:
- 🎚️ 时间线拖拽 — 逐帧浏览触觉数据
- 📊 22维雷达图 — 一眼看清特征分布
- ✏️ 手动标注 — 点击修正任何维度
- 🔄 批量修正 — 选帧范围+字段,一次改完
加载你自己的数据
有真实数据?一样简单:
import tlabel
# GelSight / DIGIT
data = tlabel.load("gelsight_force.pkl")
# 帕西尼
data = tlabel.load("paxini_episode.h5")
# 戴盟(目录或单个parquet)
data = tlabel.load("daimon_data/")
# 打开面板
data.review()
tlabel.load() 会自动识别传感器格式,无需手动指定。
AI预标注:让规则先干一版
手动标几百帧还行,几万帧就崩溃了。用AI预标注先过一遍:
from tlabel.predict import PredictEngine
# 创建引擎
engine = PredictEngine()
# 从数据中学习统计特征(可选,提升准确率)
engine.fit(data)
# 预标注
results = engine.predict(data)
# 只应用置信度≥0.7的预测
applied = engine.apply(data, results, min_confidence=0.7)
print(f"预标注了 {applied} 个字段")
# 看看预标注统计
summary = engine.summary(results)
print(summary)
预标注引擎基于规则+统计推断:
- contact检测:力+形变+接触面积多信号融合
- slip检测:剪切力+力变化+滑移熵综合判断
- manipulation_phase推断:自动识别"接触→稳定→滑移"阶段
- 缺失维度补全:有contact但某维度为0?用统计均值补上
置信度低的会自动标记,你只需要检查那些拿不准的帧就行。
导出标注结果
# 导出为TLabel Format JSON
data.export("annotated_output.json")
# 也可以导出为CSV
data.export("annotated_output.csv")
22维特征一览
tlabel统一提取22维触觉特征,分四大类:
| 类别 | 维度 |
|
|
| 接触与力 | contact, deformation_magnitude, force_magnitude, force_peak, force_direction, contact_area, centroid_x | 核心力学特征 | |
| 滑移与纹理 | slip_entropy, slip_event, texture_energy, edge_density | 动态与表面特征 | |
| 力场与变化 |
|
法向/剪切力场 | |
| 时序特征 | optical_flow_magnitude, optical_flow_direction, temporal_deformation_rate, contact_transition | 4维时序变化 |
面板操作技巧
- 帧导航:点击时间线跳转,或用 ◀ ▶ 按钮逐帧浏览
- 批量修正:在"区间批量修正"区域选择帧范围+字段+新值,一键应用
- 雷达图:每帧自动更新,直观对比不同帧的特征差异
- 帧详情:右侧面板显示当前帧所有维度的精确数值

常见问题
Q: pip install 装到旧版本?
清华/阿里等镜像源同步有延迟(1-2天),用官方源安装最新版
pip install tlabel[all] -i https://pypi.org/simple/
Q: Jupyter 里 import tlabel 报 ModuleNotFoundError?
VS Code的Jupyter内核可能和pip装包的Python环境不一致。检查方法
import sys
print(sys.executable) # 看看是不是你装包的那个Python
在VS Code右上角切换内核到正确的Python环境即可。
Q: 面板没显示?
data.review() 只在 Jupyter Notebook / JupyterLab 中生效,命令行里不会弹出面板。
Q: Demo数据是真实的吗?
Demo数据为合成数据(Synthetic),仅用于体验面板功能,不可用于训练或benchmark。真实数据请使用 tlabel.load() 加载。
项目链接
- 📦 PyPI: Client Challenge
- 💻 GitHub: GitHub - liesliy/tlabel: A Unified Annotation Framework for Cross-Sensor Tactile Manipulation Data · GitHub (欢迎 ⭐ Star!)
- 📄 中文文档: README_CN.md
- 📜 开源协议: MIT
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)