在自定义计算机视觉模型中使用Supervisely平台的数据前,需要了解如何将Supervisely的标注数据转换为适合模型的格式。本文将指导如何将Supervisely的JSON格式转换为YOLO Darknet格式,以及其他可能需要的格式。
如果手头有未标注的图像,可以使用Supervisely的标注工具来对它们进行标注。也可以考虑使用开源的标注工具,如CVAT、LabelImg、VoTT或LabelMe。提供了关于这些标注平台的优秀指南,包括:
在完成图像标注后,可以在Supervisely的“数据集”标签页中找到已标注的数据集。可以通过点击图像下方的三个点,选择“下载为”->“.json + 图像”来导出数据集,以便在Supervisely平台之外的自定义计算机视觉任务中使用。这将下载一个包含所有图像以及Supervisely自定义JSON格式标注文件的.tar文件到计算机。每个图像都会有一个对应的标注文件,文件顶部包含有关图像的元数据,然后是一个标注对象的列表。
{
"description": "",
"tags": [],
"size": {
"height": 1536,
"width": 1536
},
"objects": [
{
"id": 466098957,
"classId": 1549541,
"description": "",
"geometryType": "rectangle",
"labelerLogin": "jacobsolawetz",
"createdAt": "2020-06-17T16:56:07.802Z",
"updatedAt": "2020-06-17T16:59:10.242Z",
"tags": [],
"classTitle": "House",
"points": {
"exterior": [
[
294,
283
],
[
398,
376
]
],
"interior": []
}
},
// 更多对象...
]
}
YOLO Darknet格式是用于训练YOLOv3、YOLOv4或YOLOv4 tiny的标注格式。这里有一个关于YOLOv4模型的详细讨论。YOLO TXT格式是一个简单的标注格式,每个图像都有一个.txt标注文件,以及一个.labels文件用于类别标签。在_darknet.labels文件中,将整数类别输出映射到类别名称,根据它们在列表中的位置。
可以编写一个脚本来解析Supervisely的标注,并将每个框标准化并打印在标注行上。还需要创建一个类别映射并将其存储为.labels文件。但是,这可能需要一些时间。幸运的是,可以使用Roboflow在两分钟内快速完成转换。首先,通过创建一个免费的Roboflow账户将数据集加载到Roboflow中。然后创建一个新的数据集,上传Supervisely文件夹(解压缩后)。在数据集页面上,选择想要的预处理和数据增强步骤,然后点击“生成”。生成后,可以点击“导出”来输出数据集,并选择YOLO Darknet格式。可以通过.zip文件或curl链接接收导出,以便将数据导入训练环境。
在本指南中,介绍了Supervisely格式和YOLO Darknet格式,并展示了如何将Supervisely标注转换为YOLO Darknet,只需几分钟。本指南应该提供了将Supervisely转换为其他标注格式的必要工具,例如: