注释
注释服务是 TAO 数据服务的一部分,为用户提供工具以轻松操作 groundtruth 标签。tao dataset annotations 支持以下任务
转换
切片
合并
这些任务可以使用 TAO Launcher 通过以下命令行约定来调用
tao dataset annotations <sub_task> <args_per_subtask>
其中 args_per_subtask
是给定子任务所需的命令行参数。每个子任务将在以下章节中解释。
以下是将 COCO 数据集转换为 KITTI 格式的示例 spec 文件。它有三个关键组件——data
、kitti
和 coco
——以及一个全局参数,所有这些都在下面描述。
data:
input_format: "COCO"
output_format: "KITTI"
output_dir: "/workspace/output"
kitti:
image_dir: "/workspace/kitti/images"
label_dir: "/workspace/kitti/labels"
mapping: "/workspace/kitti_mapping.json"
coco:
ann_file: "/workspace/coco.json"
results_dir: "/path/to/results"
字段 | 描述 | 数据类型和约束 | 推荐/典型值 |
results_dir | 用于保存注释转换日志的目录 | 字符串 | – |
data | 数据集配置 | 字典 | – |
kitti | KITTI 配置 | 字典 | – |
coco | COCO 配置 | 字典 | – |
odvg | ODVG 配置 | 字典 | – |
数据配置
数据配置 (data
) 指定标签转换的源格式和目标格式,以及输出路径。有关包括 KITTI、COCO 和 ODVG 在内的数据格式的更多信息,请参阅 数据注释格式 页面。
注意 1:不支持直接从 KITTI 转换为 ODVG 或从 ODVG 转换为 KITTI,但您可以使用 COCO 作为中间格式来桥接 KITTI 和 ODVG。
注意 2:当
input_format`
和output_format`
均为 COCO 时,将保存一个新的 COCO 注释文件,其中类别 ID 重新映射为连续 ID。
字段 | 描述 | 数据类型和约束 | 推荐/典型值 |
input_format | 输入数据格式(“KITTI”、“ODVG”或“COCO”) | 字符串 | |
output_format | 输出数据格式(“KITTI”、“ODVG”或“COCO”) | 字符串 | |
output_dir | 用于保存转换后的注释的路径 | 字符串 |
KITTI 配置
KITTI 配置 (kitti
) 指定 KITTI 数据集信息。
字段 | 描述 | 数据类型和约束 | 推荐/典型值 |
image_dir | 图像目录 | 字符串 | |
label_dir | 标签目录 | 字符串 | |
project | 项目名称,在转换为 COCO 格式时用作 scene_id 。默认值是 image_dir 的父目录名称。 |
字符串 | |
mapping | 指定类别映射的 YAML 文件。如果未指定此值,则使用 label_dir 中的所有类别)。 |
字符串 | |
no_skip | 如果为 True,则不跳过任何没有有效注释的图像。 | 布尔值 | |
preserve_hierarchy | 如果为 True,则保留 KITTI 文件夹结构。 | 布尔值 |
以下是类别映射文件的示例
- person:
- person
- Person
- person_group
- rider
- bag:
- hand_bag
- backpack
- personal_bag
- face:
- face
COCO 配置
COCO 配置 (coco
) 指定 COCO 注释文件位置。
字段 | 描述 | 数据类型和约束 | 推荐/典型值 |
ann_file | 注释文件 | 字符串 | |
refine_box | 在转换为 KITTI 时是否使用分割来优化框 | 布尔值 | |
use_all_categories | 是否使用所有类别 | 布尔值 | |
add_background | 是否添加背景类别 | 布尔值 |
ODVG 配置
ODVG 配置 (odvg
) 指定 ODVG 注释文件位置。
字段 | 描述 | 数据类型和约束 | 推荐/典型值 |
ann_file | 注释文件 | 字符串 | |
labelmap_file | 标签映射文件 | 字符串 |
以下是用于切片 COCO 注释文件的示例 spec 文件。它有两个关键组件——data
和 filter
——以及一个全局参数 (results_dir
),所有这些都在下面描述。
data:
annotation_file: /datasets/coco/annotations/instances_val2017.json
filter:
mode: "category" # random, number
num_samples: 10
split: 5
excluded_categories:
- person
results_dir: /output/dir/
字段 | 描述 | 数据类型和约束 | 推荐/典型值 |
results_dir | 用于保存输出注释文件和日志的目录 | 字符串 | – |
data | 数据集配置 | 字典 | – |
filter | 过滤器配置 | 字典 | – |
数据配置
数据集配置 (data
) 指定输入格式和注释文件。
字段 | 描述 | 数据类型和约束 | 推荐/典型值 |
format | 配置格式。目前,仅支持 “COCO”。 | 字符串 | “COCO” |
annotation_file | 输入 COCO 注释文件 | 字符串 |
过滤器配置
过滤器配置 (filter
) 指定如何切片注释数据,可以通过以下四种模式之一完成
random
:将注释文件随机拆分为 N 个分区,或按一定百分比对注释文件进行采样category
:按所需的类别过滤注释标签number
:从注释中按顺序选取 N 个样本filename
:按文件名过滤注释
字段 | 描述 | 数据类型和约束 | 推荐/典型值 |
mode | 过滤器模式(“random”、“category”、“number”、“filename”) | 字符串 | “COCO” |
dump_remainder | 一个标志,用于指定是否转储剩余的注释。此参数仅在 mode 参数设置为 “random” 且 split 参数为浮点值时适用。 |
布尔值 | |
split | 分割的整数数量或浮点采样百分比(在 “random” 模式下) | 浮点数或整数 | |
num_samples | 要保留的注释数量(在 “number” 模式下) | 整数 | |
included_categories | 要保留的类别(在 “category” 模式下) | 列表 | |
excluded_categories | 要排除的类别(在 “category” 模式下) | 列表 | |
re_patterns | 要匹配的文件名模式列表(在 “filename” 模式下) | 列表 |
以下是用于合并 COCO 注释文件的示例 spec 文件。它有两个关键组件——data
和 filter
——以及一个全局参数 (results_dir
),所有这些都在下面描述。
data:
format: "COCO"
annotations:
- /datasets/part_0.json
- /datasets/part_1.json
- /datasets/part_2.json
- /datasets/part_3.json
- /datasets/part_4.json
results_dir: /output/dir/
字段 | 描述 | 数据类型和约束 | 推荐/典型值 |
results_dir | 用于保存输出注释文件和日志的目录 | 字符串 | – |
data | 数据集配置 | 字典 | – |
数据配置
数据配置 (data
) 指定输入格式和注释文件。
字段 | 描述 | 数据类型和约束 | 推荐/典型值 |
format | 配置格式。目前,仅支持 “COCO”。 | 字符串 | “COCO” |
annotations | COCO 注释文件列表 | 字符串 |
所有 COCO 注释文件必须共享相同的 categories
。