【数据集处理】DroneVehicle数据集处理方法

本文介绍了DroneVehicle数据集的详细信息,包括图像数量和类别注释,并阐述了数据集处理的两个目标:去除图像周围100像素的白色边框以及将XML标注转换为TXT格式。提供了处理前后图像和标注的对比,并展示了TXT数据可视化的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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。

二、数据集处理目标

数据集处理的目标有两个:

  1. 由于DroneVehicle数据集中的每张图像的顶部、底部、左侧和右侧设置了一个宽度为100像素的白色边框,因此需要生成去除周围白色边框的图像。
  2. 由于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
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bxc.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值