没有力传感器,怎么自动标注操作 Primitive?
2026/7/8 3:41:02 网站建设 项目流程

tlabel 是一个开源的触觉数据标注工具,支持 GelSight、DIGIT、PaXini 等多种传感器,输出统一的 22 维标准格式。

v0.14.0 新增了可配置 Primitive 分类系统,核心能力:

1、默认内置 7 种 T-Rex 论文定义的 primitive(reach/grasp/press/squeeze/wrap/wipe/lift)
2、支持自定义注册新的 primitive,带物理规则约束
3、从视触觉图像自动推断 primitive,不需要力传感器
4、每条预测结果带来源和置信度标签

安装
bash

pip install tlabel
  1. 默认预测
    加载数据,一行代码自动推断 primitive:
importtlabel data=tlabel.demo('gelsight')data.predict_primitives()

引擎会从 GelSight 图像中估算力分布,再根据力的模式匹配到对应 primitive。

  1. 注册自定义 Primitive
    如果你的任务有默认分类里没有的动作(比如 poke、twist),一行注册:
tlabel.register_custom_primitive('poke',force_range=(0.1,0.8),# 力的范围(N)deformation_max=0.15,# 最大形变(mm)contact_required=True,# 是否需要接触confidence=0.5# 最低置信度)# 使用自定义 primitive 进行预测data.predict_primitives(min_confidence=0.4)

注册后的 primitive 和内置的一样带来源和置信度标签。

  1. 局部 Taxonomy(不改全局)
    不想污染全局注册表?可以创建独立的 taxonomy 对象:
taxonomy=tlabel.get_default_taxonomy()fromtlabelimportPrimitiveRule taxonomy.register(PrimitiveRule(name='poke',min_force=0.1,max_deformation=0.15,contact_required=True,min_confidence=0.5))# 用这个 taxonomy 做预测data.predict_primitives(taxonomy=taxonomy,min_confidence=0.4)
  1. 手动标注
    也可以手动给时间段打标签:
data.add_primitive('reach',start_frame=0,end_frame=10)data.add_primitive('grasp',start_frame=10,end_frame=25)data.add_primitive('lift',start_frame=25,end_frame=40)# 查看时间轴data.get_primitive_timeline()# [('reach', 0, 10), ('grasp', 10, 25), ('lift', 25, 40)]
  1. 导出
data.export("output.csv")

导出 CSV 包含三列新字段:
primitive_label:primitive 名称
primitive_source:来源(manual / ai_predicted / ai_predicted_estimated)
primitive_confidence:置信度

设计原则是"辅助标注,不做主"——AI 预测只是带元数据的建议,低置信度的段落留空让你手动标。
链接
GitHub:https://github.com/liesliy/tlabel
PyPI:https://pypi.org/project/tlabel/
T-Rex 论文:https://arxiv.org/abs/2503.08695
有问题欢迎评论区交流。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询