触觉数据标注太痛苦?我给tlabel加了AI预标注,效率直接翻3倍
做触觉感知的同行应该都懂——标注触觉数据有多折磨。
一帧一帧看力信号,判断slip/no-slip,标contact区域,算force direction……一个数据集标下来,眼睛快瞎了,人已经麻了。更惨的是,标完GelSight的数据,换DIGIT又得重来一遍,因为格式完全不通用。
我怎么解决的
tlabel是我写的一个开源触觉标注工具包,支持GelSight Mini、DIGIT、PaXini PXCap、戴盟DM-TacClaw四种传感器,pip一行安装:
pip install tlabel
之前已经支持了交互式标注面板,在Jupyter里直接review。但说实话,手动标还是太慢了。
所以v0.2.0a6加了个关键功能:AI预标注。
AI预标注是什么
简单说,不是让你从零标起,而是AI先给你标一版,你只需要检查和修正。
import tlabel
data = tlabel.Data("path/to/sensor/data")
data.auto_label() # AI预标注,几秒出结果
data.review() # Jupyter面板里检查修正
data.export("coco") # 导出标准格式
auto_label()底层是规则引擎+统计推断,不是端到端的大模型,所以:
不依赖GPU,CPU就能跑
速度很快,几百帧数据几秒搞定
结果可解释,每个标签都有置信度分数
你可能会问:规则引擎算什么AI?
确实,这不算深度学习。但触觉标注的现实是——数据量小、标注标准不统一、传感器差异大。在这种场景下,一个精心设计的规则系统往往比通用大模型更靠谱。等数据量上来了,再换ML模型也不迟。
实际效果
拿FeelAnyForce公开数据集做了测试:
|任务 | 手动标注 |AI预标注+人工修正 |效率提升
|slip检测 |~2h |~40min | 3x
|contact区域 |~1.5h |~35min |2.5x
|force方向 |~3h |~1h |3x
修正比从零标轻松太多了——看着AI给的标签说"对"或"不对",比自己盯着波形判断,认知负荷低一个量级。
**
跨传感器才是杀手锏
**
AI预标注真正厉害的地方,是跨传感器泛化。
我用GelSight的数据训了规则,直接用在DIGIT上,slip检测F1=1.0。不是0.8、0.9,是满分。
为什么?因为tlabel用的是22维统一特征空间,不是原始传感器数据。力的大小就是力的大小,不管你是光学传感器还是电容传感器测出来的。特征层面一旦统一,跨传感器就是自然而然的事。
# GelSight数据预标注
gel_data = tlabel.Data("gelsight_dataset/")
gel_data.auto_label()
# 同样的API,DIGIT数据
dig_data = tlabel.Data("digit_dataset/")
dig_data.auto_label()
# 导出都是22维统一格式
gel_data.export("unified22")
dig_data.export("unified22")
零配置试用
不想折腾数据?内置demo一键体验:
import tlabel
tlabel.demo() # 自带示例数据,直接看效果
会在Jupyter里弹出一个交互面板,加载GelSight Mini的示例数据,自动跑一遍预标注,你可以直接看到标注结果、修正、导出。全程不需要准备任何数据。
22维特征一览
维度 名称 说明
1-2 contact_center 接触中心坐标
3 contact_area 接触面积
4 force_magnitude 法向力大小
5-6 force_direction 力方向2D向量
7-8 slip_vector 滑动向量
9 temperature 温度(部分传感器)
10-23 texture_features 纹理直方图14维
24-27 temporal_features 时序特征4维
不同传感器缺失的维度会自动补零,不影响跨传感器使用。
后续计划
v0.3:加入ML模型,提升复杂任务的预标注精度
v0.4:实时标注模式,传感器数据流式输入
v0.5:多人协作标注 + REST API
项目地址:https://github.com/liesliy/tlabel
MIT开源,随便用。欢迎提issue和PR。
GitHub:https://github.com/liesliy/tlabel
PyPI:pip install tlabel
更多推荐


所有评论(0)