Samples
Overview
该数据集用于检测卫星图像中的游泳池和汽车。训练图像有3748张jpg图像,每张图像对应一个xml文件,记录图像中swimming pool 和car的bounding box
Data Explore
数据集主要分为train/test,train目录下含有3748张图片,其宽高为224*224,每张图片在labels目录下有对应的xml文件标签;test目录下含有2703张图片,不含标签
数据预处理
童鞋们只要修改对应的root_path,即可获取训练图像标签字典imgs_lable_dict,其键、值分别为图像id,图像中对象的检测框。其中键值为列表格式,其列表元素亦为列表,每个元素代表一个对象信息,其格式为[xmin,ymin,xmax,ymax,category]
from xml.dom.minidom import parse
import xml.dom.minidom
import os
imgs_name = os.listdir(os.path.join(root_path, "training_data\\training_data\\images"))
# acquire bounding box
imgs_lable_dict = {}
for img_name in imgs_name:
DOMTree = xml.dom.minidom.parse(
os.path.join(os.path.join(root_path, "training_data\\training_data\\labels"),
img_name.split(".")[0] + ".xml"))
collection = DOMTree.documentElement
boundingbox = collection.getElementsByTagName("object")
imgs_lable_dict[img_name] = []
for i in boundingbox:
category = i.getElementsByTagName("name")[0].childNodes[0].data
tmp=[]
tmp.append(float(
[j.childNodes[0].data for j in i.getElementsByTagName("bndbox")[0].getElementsByTagName("xmin")][
0]))
tmp.append(float(
[j.childNodes[0].data for j in i.getElementsByTagName("bndbox")[0].getElementsByTagName("ymin")][
0]))
tmp.append(float(
[j.childNodes[0].data for j in i.getElementsByTagName("bndbox")[0].getElementsByTagName("xmax")][
0]))
tmp.append(float(
[j.childNodes[0].data for j in i.getElementsByTagName("bndbox")[0].getElementsByTagName("ymax")][
0]))
tmp.append(category)
imgs_lable_dict[img_name].append(tmp)
License
GNU General Public License, version 2
扫码关注后,后台回复 pool 即可获得