DroneVenicle数据集是由天津大学收集、标注的大型无人机航拍车辆数据集。
DroneVenicle训练集下载地址:https://pan.baidu.com/s/1ptZCJ1mKYqFnMnsgqEyoGg(密码:ngar)
DroneVenicle验证集下载地址:https://pan.baidu.com/s/1e6e9mESZecpME4IEdU8t3Q(密码:jnj6)
DroneVenicle测试集下载地址:https://pan.baidu.com/s/1JlXO4jEUQgkR1Vco1hfKhg(密码:tqwc)
一、数据集介绍
DroneVehicle数据集由无人机采集的56,878张图像组成,其中一半是RGB图像,其余为红外图像。
作者为这五个类别制作了带有定向边界框的丰富注释。其中,汽车(car)有389,779个RGB图像注释,428,086个红外图像注释,卡车(truck)有22,123个RGB图像注释,25,960个红外图像注释,公共汽车(bus)有15,333个RGB图像注释,红外图像有16,590个注释,面包车(van)有11,935个RGB图像注释,红外图像有12,708个注释,货车(freight car)有13,400个RGB图像注释,和17,173个红外图像注释。
在DroneVehicle中,为了在图像边界处标注对象,作者在每张图像的顶部、底部、左侧和右侧设置了一个宽度为100像素的白色边框,因此下载的图像比例为840 x 712,去除周围的白色边框并将图像比例更改为640 x 512。
二、数据集处理目标
数据集处理的目标有两个:
- 由于DroneVehicle数据集中的每张图像的顶部、底部、左侧和右侧设置了一个宽度为100像素的白色边框,因此需要生成去除周围白色边框的图像。
- 由于DroneVehicle数据集的标注采用XML格式进行保存,实验需要TXT格式的标注,因此需要对相关数据进行合理转化。
三、去除周围白色边框部分
import numpy as np
import cv2
import os
from tqdm import tqdm
def create_file(output_dir_vi, output_dir_ir):
if not os.path.exists(output_dir_vi):
os.makedirs(output_dir_vi)
if not os.path.exists(output_dir_ir):
os.makedirs(output_dir_ir)
print(f'Created folder:({
output_dir_vi}); ({
output_dir_ir})')
def update(input_img_path, output_img_path):
image = cv2.imread(input_img_path)
cropped = image[100:612, 100:740] # 裁剪坐标为[y0:y1, x0:x1]
cv2.imwrite(output_img_path, cropped)
dataset_dir_vi = './data/val/valimg'
output_dir_vi = './data/dataset/valimg_cropped'
dataset_dir_ir = './data/val/valimgr'
output_dir_ir = './data/dataset/valimgr_cropped'
# 检查文件夹是否存在,如果不存在则创建
create_file(output_dir_vi, output_dir_ir)
# 获得需要转化的图片路径并生成目标路径
image_filenames_vi = [(os.path.join(dataset_dir_vi, x), os.path.join(output_dir_vi, x))
for x in os.listdir(dataset_dir_vi)]
image_filenames_ir = [(os.path.join(dataset_dir_ir, x), os.path.join(output_dir_ir, x))
for x in os.listdir(dataset_dir_ir)]
# 转化所有图片
print('Start transforming vision images...')
for path in tqdm(image_filenames_vi):
update(path[0], path[1])
print('Start transforming infrared images...')
for path in tqdm(image_filenames_ir):
update(path[0], path[1])
- dataset_dir_vi:用于存放可见光未处理的图像
- output_dir_vi:用于存放可见光处理后的图像
- dataset_dir_ir:用于存放红外未处理的图像
- output_dir_ir:用于存放红外处理后的图像
处理前的图像(带白色边框)
***处理后的图像(不带白色边框)***
四、XML数据转TXT数据
import os
import xml.etree.ElementTree as ET