什么是本体?
在数据标注的上下文中,本体(或标签分类体系)是标注员用于标注数据的类别、属性和关系的完整模式。它定义了:- 标注什么对象(对象类别)
- 如何描述它们(属性和特性)
- 类别之间如何相互关联(层次结构和分组)
对象类别
对象类别是分类体系的核心构建模块。每个类别代表标注员将在数据中识别和标注的一类对象。定义类别
在 Avala 中创建项目时,您将标签配置定义为类别列表:类别命名最佳实践
属性
属性为每个标注添加超越对象类别的结构化元数据。它们让标注员描述可见性、姿态或状态等特性。属性类型
Avala 支持多种属性类型,可以附加到任何对象类别:配置属性
属性在项目的分类配置中与标签配置一起定义:条件属性
使用applies_to 字段仅为相关类别显示属性。这保持标注员界面的整洁——pedestrian 不需要 is_parked 属性,traffic_light 不需要 truncation。
层次分类体系
对于复杂领域,扁平的类别列表会变得难以管理。层次分类体系将相关类别分组到父类别下。示例:车辆分类体系
何时使用层次结构
设计层次结构
- 先粗后细。 从顶级类别(
vehicle、pedestrian、infrastructure)开始,仅在模型需要时添加更具体的分类。 - 每个叶子类别应该是明确的。 如果标注员无法可靠地区分两个子类别,请合并它们。
- 平衡深度和广度。 深层层次结构(4 级以上)会降低标注员速度。优先使用 2-3 级的较宽树。
单标签与多标签分类
Avala 根据您的项目需求支持两种分类模式。单标签
每个对象或场景只接收一个类别标签。这是大多数标注类型的默认模式。- 目标检测:每个边界框获得一个类别
- 场景分类:每个图像获得一个类别
多标签
一个对象或场景可以同时接收多个标签。当类别不互斥时使用此模式。- 图像可以同时是
rainy和nighttime - 车辆可以同时是
damaged和parked
本体设计清单
在开始标注项目之前,请根据此清单验证您的本体:常见陷阱
过度细分类别
创建太多细粒度类别会导致标注者间一致性低,每个类别的训练数据稀少。 问题: 50 个车辆子类别,其中大多数只有不到 100 个样本。 解决方案: 从 5-10 个粗类别开始。仅在有足够数据且模型受益于区分时才添加子类别。模糊边界
当两个类别在概念上重叠时,标注员会在使用哪个上产生分歧。 问题: 同时存在van 和 minivan,但标注员无法可靠区分。
解决方案: 将它们合并为一个类别,或提供带有参考图像的明确视觉指南来展示边界。
缺失边缘案例
真实世界数据包含不完全符合分类体系的对象。 问题: 标注员遇到高尔夫球车,但分类体系只有car、truck 和 motorcycle。
解决方案: 包含一个兜底类别如 other_vehicle,并定期审核标注为此类别的项目以识别需要添加的类别。
下一步
核心概念
回顾 Avala 平台的基本构建模块。
质量控制
设置审核工作流以验证标注质量。
标注类型
查看边界框、多边形、长方体等的 JSON 格式。
第一个数据集
上传数据并创建您的第一个标注项目。