比较经典的2种
1. PASCAL VOC格式
VOCdevkit/
└── VOC2012/
├── Annotations/
│ ├── 2007_000032.xml
│ ├── 2007_000033.xml
│ ├── ...
├── ImageSets/
│ └── Segmentation/
│ ├── train.txt
│ ├── val.txt
│ ├── trainval.txt
│ ├── test.txt
├── JPEGImages/
│ ├── 2007_000032.jpg
│ ├── 2007_000033.jpg
│ ├── ...
├── SegmentationClass/
│ ├── 2007_000032.png
│ ├── 2007_000033.png
│ ├── ...
├── SegmentationObject/
│ ├── 2007_000032.png
│ ├── 2007_000033.png
│ ├── ...
目录说明
VOCdevkit/: VOC数据集的根目录。
VOC2012/: 数据集的版本,通常是VOC2007、VOC2012等。
Annotations/: 包含每个图像对应的 XML格式 的标注文件。每个文件包含图像中 对象的边界框和类别信息。
ImageSets/:
- Segmentation/: 包含训练、验证和测试集的文件名列表。
train.txt
包含训练集的文件名,val.txt
包含验证集的文件名,trainval.txt
包含训练集和验证集的文件名,test.txt
包含测试集的文件名。
- Segmentation/: 包含训练、验证和测试集的文件名列表。
JPEGImages/: 包含所有的原始图像,通常为JPEG格式。
SegmentationClass/: 包含每个图像对应的语义分割掩码图,通常为PNG格式。掩码图中的每个像素值表示该像素所属的类别。
SegmentationObject/: 包含每个对象实例的分割掩码图,但在语义分割任务中不常使用。
2. MS COCO 格式
COCO/
├── annotations/
│ ├── instances_train2017.json
│ ├── instances_val2017.json
│ ├── instances_test2017.json
├── train2017/
│ ├── 000000000001.jpg
│ ├── 000000000002.jpg
│ ├── ...
├── val2017/
│ ├── 000000000001.jpg
│ ├── 000000000002.jpg
│ ├── ...
├── test2017/
│ ├── 000000000001.jpg
│ ├── 000000000002.jpg
│ ├── ...
COCO/: COCO数据集的根目录。
annotations/: 包含所有的标注文件,通常为JSON格式。每个JSON文件包含对应数据集的标注信息,如实例分割、边界框、类别等。
instances_train2017.json
: 训练集的标注文件。instances_val2017.json
: 验证集的标注文件。instances_test2017.json
: 测试集的标注文件。
train2017/: 包含所有训练集的图像文件。
val2017/: 包含所有验证集的图像文件。
test2017/: 包含所有测试集的图像文件。
在COCO格式的语义分割数据集中,原始图像和掩码并不需要分开存放,所有的图像文件(无论是用于训练、验证还是测试)都直接存放在相应的目录中,如 train2017/, val2017/ 和 test2017/。
掩码信息包含在 annotations/ 目录下的JSON文件中,而不是独立的图像文件。