你做触觉研究,还在手动一个个帧看数据?还在为不同传感器的数据格式头疼?试试 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 动态与表面特征
力场与变化
normal_field_magnitude, normal_field_variance, shear_field_magnitude, shear_field_direction, delta_force_normal, delta_force_shear, friction_cone_ratio
法向/剪切力场
时序特征 optical_flow_magnitude, optical_flow_direction, temporal_deformation_rate, contact_transition 4维时序变化

面板操作技巧

  1. 帧导航:点击时间线跳转,或用 ◀ ▶ 按钮逐帧浏览
  2. 批量修正:在"区间批量修正"区域选择帧范围+字段+新值,一键应用
  3. 雷达图:每帧自动更新,直观对比不同帧的特征差异
  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() 加载。

项目链接

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐