AutoMM 检测 - 将 VOC 格式数据集转换为 COCO 格式

Open In Colab Open In SageMaker Studio Lab

Pascal VOC 是用于目标检测的数据集集合。VOC 格式指的是 Pascal VOC 数据集使用的特定格式(.xml 文件)。

在本教程中,我们将 VOC2007 数据集从 VOC 格式转换为 COCO 格式。有关如何下载数据集,请参阅 AutoMM 检测 - 准备 Pascal VOC 数据集。我们将使用我们的工具 voc2coco。此 Python 脚本位于我们的代码中:voc2coco.py,您也可以将其作为命令行工具运行:python3 -m autogluon.multimodal.cli.voc2coco

注意:在 Autogluon MultiModalPredictor 中,强烈建议使用 COCO 作为数据格式。 但是,为了快速验证测试,我们也有限度地支持 VOC 格式。

转换现有划分

在 VOC 格式的根路径下,我们有以下文件夹

Annotations  ImageSets  JPEGImages

通常,在 ImageSets/Main/ 下有一些预定义的划分文件

train.txt
val.txt
test.txt
...

只需给定根目录,例如 ./VOCdevkit/VOC2007,就可以简单地将这些划分转换为 COCO 格式,运行

python3 -m autogluon.multimodal.cli.voc2coco --root_dir ./VOCdevkit/VOC2007

命令行输出将显示进度

Start converting !
 17%|█████████████████▍                                                                                  | 841/4952 [00:00<00:00, 15571.88it/s

现在,这些划分已转换为 COCO 格式,位于根目录下的 Annotations 文件夹中

train_cocoformat.json
val_cocoformat.json
test_cocoformat.json
...

转换现有划分

除了使用预定义的划分,您还可以按照所需的训练/验证/测试比例来划分数据。请注意,这不需要任何预先存在的划分文件。要将训练/验证/测试按 0.6/0.2/0.2 的比例划分,请运行

python3 -m autogluon.multimodal.cli.voc2coco --root_dir ./VOCdevkit/VOC2007 --train_ratio 0.6 --val_ratio 0.2

命令行输出将显示进度

Start converting !
 17%|█████████████████▍                                                                                  | 841/4952 [00:00<00:00, 15571.88it/s

这将在根目录下的 Annotations 文件夹中生成用户划分的 COCO 格式文件

usersplit_train_cocoformat.json
usersplit_val_cocoformat.json
usersplit_test_cocoformat.json

其他示例

您可以前往 AutoMM 示例 探索有关 AutoMM 的其他示例。

定制

要了解如何定制 AutoMM,请参阅 自定义 AutoMM