赞
踩
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
最近一直在做sar舰船图像检测的工作,其中涉及到了一些sar舰船常用的数据集,但大多都是VOC格式的数据集,因为我需要COCO格式,因此需要进行转换。我希望记录下来,能给后来的人提供一些微不足道的帮助。本文介绍了4种常用舰船数据集的转换,在AIR-SARShip 1.0、AIR-SARShip 2.0 、HRSID、SSDD数据集。可直接使用,无需修改!
先简单介绍一下数据集:
AIR-SARShip-1.0 数据集均来自高分三号卫星,场景包含港口、岛礁、不同等级海况的海面,目标覆盖运输船、油船、渔船等十余类近千艘舰船。。为了增强数据集,我们对 AIR-SARShip-1.0 数据集进行切片后获得 200 张大小为 640*640 的 JPEG 图像,并将其划分为包含 178 张与 22 张 SAR 舰船图像的训练集与测试集。
AIR-SARShip 2.0在1.0版本的基础上加入了更多的高分三号数据,构建了一套基于高分三号卫星数据的数据集AIR-SARShip-2.0。该数据集包含300幅SAR图像,场景类型包含港口、岛礁、不同级别海况的海面等,标注信息主要为舰船目标的位置,并经过专业判读人员的确认。
HRSID数据集是电子科技大学在2020年1月发布数据集,HRSID是高分辨率sar图像中用于船舶检测、语义分割和实例分割任务的数据集。该数据集共包含5604张高分辨率SAR图像和16951个ship实例。ISSID数据集借鉴了Microsoft Common Objects in Context (COCO)数据集的构建过程,包括不同分辨率的SAR图像、极化、海况、海域和沿海港口。该数据集是研究人员评估其方法的基准。对于HRSID, SAR图像的分辨率分别为:0.5m, 1 m, 3 m。
SSDD数据集是国内外第一个专门用于基于SAR图像的舰船目标检测公开数据集,数据集包含各种情况下的船舶图像,如不同图像分辨率、船舶尺寸、海况、传感器类型等,可以作为研究人员评估其算法的基准。对于SSDD数据集中的每一艘船,都标注有带置信分数的边界框。
原始数据为.xml
格式,如下图所示:
其中每一个文本都是一副图像的标注,如下图所示:
目的是将其变为.json
格式,将所有图像的标注放在同一个文件里,因为每种数据集的标注格式不同,我们想把它们转换为统一的coco格式的json文件。
代码如下:
# coding=utf-8 import xml.etree.ElementTree as ET import os import json voc_clses = ['ship'] categories = [] for iind, cat in enumerate(voc_clses): cate = { } cate['supercategory'] = cat cate['name'] = cat cate['id'] = iind categories.append(cate) def getimages(xmlname, id): sig_xml_box = [] tree = ET.parse(xmlname) root = tree.getroot() images = { } for i in root: # 遍历一级节点 if i.tag == 'filename': file_name = 'SARShip' + i.text[:-4] + '.jpg' # 0001.jpg # print('image name: ', file_name) images['file_name'] = file_name if i.tag ==
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。