使用不带标签的数据集对模型进行检测
不带标签图像数据集转化
MMDetection 支持在不使用 ground-truth 标注的情况下对模型进行测试,这需要用到 CocoDataset。如果你的数据集格式不是 COCO 格式的,请将其转化成 COCO 格式。如果你的数据集格式是 VOC 或者 Cityscapes,你可以使用 tools/dataset_converters 内的脚本直接将其转化成 COCO 格式。如果是其他格式,可以使用 images2coco 脚本进行转换。
python tools/dataset_converters/images2coco.py \
${
IMG_PATH} \
${
CLASSES} \
${
OUT} \
[--exclude-extensions]
参数
- IMG_PATH是未标注的图像路径
- CLASSES是一个文本文件,里面包含你的类别名,每行存储一个类别名
- OUT:输出的json文件名,默认路径和IMG_PATH是同一路径
- exclude-extensions:待排除文件后缀名
#例如:
python tools/dataset_converters/images2coco.py \
image \
label.txt \
test \
生成图片的json后,json里的图片顺序可能和文件夹中的图片顺序,不一致,使用以下代码排序
import json
# 读取原始JSON文件
with open('data/annotations/sheep.json', 'r') as input_file:
data = json.load(input_file)
# 修改id和file_name的对应关系
for item in data["images"]:
id = item["id"]
item["file_name"] =