关于 DroneVehicle 数据集
DroneVehicle 是由天津大学收集并标注的大型无人机航拍车辆数据集。该数据集包含 56,878 幅图像,其中一半为 RGB 可见光图像,另一半为红外图像。数据集中对五个类别进行了带有方向性边界框的丰富标注:
- 汽车 (car): RGB 389,779 个标注,红外 428,086 个标注
- 卡车 (truck): RGB 22,123 个标注,红外 25,960 个标注
- 公交车 (bus): RGB 15,333 个标注,红外 16,590 个标注
- 面包车 (van): RGB 11,935 个标注,红外 12,708 个标注
- 货车 (freight car): RGB 13,400 个标注,红外 17,173 个标注
数据集下载与预处理
官方仓库地址:VisDrone/DroneVehicle
在 DroneVehicle 中,为了标注图片边界上的物体,作者在每张图片的上下左右四边设置了宽度为 100 像素的白色边框,导致原始图片尺寸为 840 x 712。在训练检测网络前,建议进行预处理,去除周围的白色边框,并将图像尺寸调整为 640 x 512。

处理前后对比效果如上所示。
去除白边脚本
下面这段 Python 代码用于批量裁剪可见光和红外图像,去除边缘白边:
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)
# 裁剪坐标为 [y0:y1, x0:x1],去除四周 100px 白边
cropped = image[:, :]
cv2.imwrite(output_img_path, cropped)
dataset_dir_vi =
output_dir_vi =
dataset_dir_ir =
output_dir_ir =
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)) x os.listdir(dataset_dir_vi)]
image_filenames_ir = [(os.path.join(dataset_dir_ir, x), os.path.join(output_dir_ir, x)) x os.listdir(dataset_dir_ir)]
()
path tqdm(image_filenames_vi):
update(path[], path[])
()
path tqdm(image_filenames_ir):
update(path[], path[])








