什么是本体?
在数据标注的上下文中,本体(或标签分类体系)是标注员用于标注数据的类别、属性和关系的完整模式。它定义了:- 标注什么对象(对象类别)
- 如何描述它们(属性和特性)
- 类别之间如何相互关联(层次结构和分组)
对象类别
对象类别是分类体系的核心构建模块。每个类别代表标注员将在数据中识别和标注的一类对象。定义类别
在 Avala 中创建项目时,您将标签配置定义为类别列表:类别命名最佳实践
| 实践 | 示例 | 原因 |
|---|---|---|
| 使用小写、具体的名称 | sedan、pickup_truck | 减少歧义 |
| 避免重叠定义 | 不要在同一层级同时有 car 和 vehicle | 防止标注员困惑 |
| 分隔符保持一致 | traffic_light 而非 traffic-light 或 trafficLight | 训练管道中一致的解析 |
| 仅在需要时包含否定/背景类别 | unknown、ignore_region | 某些模型需要显式的背景标签 |
属性
属性为每个标注添加超越对象类别的结构化元数据。它们让标注员描述可见性、姿态或状态等特性。属性类型
Avala 支持多种属性类型,可以附加到任何对象类别:| 类型 | 描述 | 使用场景 | 示例 |
|---|---|---|---|
| 下拉菜单 | 从预定义列表中单选 | 互斥选项 | 遮挡:none、partial、heavy |
| 复选框 | 布尔开关 | 简单的是/否标记 | is_parked: true/false |
| 文本 | 自由格式字符串输入 | 唯一标识符或描述 | 车牌号 |
| 数字 | 数值 | 测量或计数 | 估计距离(米) |
| 多选 | 从列表中多选 | 并发的非互斥状态 | 可见:headlights、taillights、turn_signal |
配置属性
属性在项目的分类配置中与标签配置一起定义:条件属性
使用applies_to 字段仅为相关类别显示属性。这保持标注员界面的整洁——pedestrian 不需要 is_parked 属性,traffic_light 不需要 truncation。
层次分类体系
对于复杂领域,扁平的类别列表会变得难以管理。层次分类体系将相关类别分组到父类别下。示例:车辆分类体系
何时使用层次结构
| 场景 | 建议 |
|---|---|
| 少于 15 个类别 | 扁平列表更简单快速 |
| 15-50 个类别 | 分成 3-5 个顶级类别 |
| 50+ 个类别 | 使用多级层次结构并支持搜索 |
| 类别共享属性 | 分组到父类别下以便属性继承 |
设计层次结构
- 先粗后细。 从顶级类别(
vehicle、pedestrian、infrastructure)开始,仅在模型需要时添加更具体的分类。 - 每个叶子类别应该是明确的。 如果标注员无法可靠地区分两个子类别,请合并它们。
- 平衡深度和广度。 深层层次结构(4 级以上)会降低标注员速度。优先使用 2-3 级的较宽树。
单标签与多标签分类
Avala 根据您的项目需求支持两种分类模式。单标签
每个对象或场景只接收一个类别标签。这是大多数标注类型的默认模式。- 目标检测:每个边界框获得一个类别
- 场景分类:每个图像获得一个类别
多标签
一个对象或场景可以同时接收多个标签。当类别不互斥时使用此模式。- 图像可以同时是
rainy和nighttime - 车辆可以同时是
damaged和parked
本体设计清单
在开始标注项目之前,请根据此清单验证您的本体:| 检查项 | 问题 |
|---|---|
| 完整性 | 您的模型需要检测的每个对象都有对应的类别吗? |
| 互斥性 | 标注员是否总能明确地分配一个类别而没有歧义? |
| 属性覆盖 | 训练所需的所有属性都作为属性被捕获了吗? |
| 一致粒度 | 同一层级的类别是否同样具体? |
| 标注员清晰度 | 新标注员能否仅从名称理解每个类别? |
| 模型对齐 | 分类体系与您的模型架构期望是否匹配? |
| 可扩展性 | 以后能否在不重构的情况下添加新类别? |
常见陷阱
过度细分类别
创建太多细粒度类别会导致标注者间一致性低,每个类别的训练数据稀少。 问题: 50 个车辆子类别,其中大多数只有不到 100 个样本。 解决方案: 从 5-10 个粗类别开始。仅在有足够数据且模型受益于区分时才添加子类别。模糊边界
当两个类别在概念上重叠时,标注员会在使用哪个上产生分歧。 问题: 同时存在van 和 minivan,但标注员无法可靠区分。
解决方案: 将它们合并为一个类别,或提供带有参考图像的明确视觉指南来展示边界。
缺失边缘案例
真实世界数据包含不完全符合分类体系的对象。 问题: 标注员遇到高尔夫球车,但分类体系只有car、truck 和 motorcycle。
解决方案: 包含一个兜底类别如 other_vehicle,并定期审核标注为此类别的项目以识别需要添加的类别。
下一步
核心概念
回顾 Avala 平台的基本构建模块。
质量控制
设置审核工作流以验证标注质量。
标注类型
查看边界框、多边形、长方体等的 JSON 格式。
第一个数据集
上传数据并创建您的第一个标注项目。