航拍工程车辆识别检测数据集 yolo数据集 共650张

航拍工程车识别检测数据集 yolo数据集 共650张

2

工程车辆识别数据集(Engineering Vehicle Recognition Dataset, EVRD)

摘要

EVRD 是一个专门针对航拍视角下的工程车辆识别而设计的数据集,旨在提供一种标准的训练和评估平台,用于开发和比较各种物体检测算法在工程车辆识别方面的性能。该数据集包含650张航拍图像,这些图像主要来源于建筑工地、道路施工区域和其他类似场景。每个图像都经过精心标注,标记出图像中存在的各种工程车辆的位置和类别。数据集总共覆盖了9个不同的工程车辆类别,包括推土机、混凝土搅拌车、混凝土泵车、自卸卡车、挖掘机、叉车、起重机、打桩机和压路机。数据集的目的是为了促进无人机自动识别和跟踪工程车辆的应用发展,例如在建筑工地的安全监管、设备调度等方面。

数据集特点
  • 多样化的工程车辆类别:数据集包含9种常见工程车辆,包括推土机、混凝土搅拌车、混凝土泵车、自卸卡车、挖掘机、叉车、起重机、打桩机和压路机。
  • 航拍视角:所有的图像都是从空中拍摄,模拟无人机视角,更符合实际应用场景的需求。
  • 详尽的标注:每张图像都进行了精确的边界框标注,同时指明了车辆的具体类别。
  • 合理的数据分布:各个类别的样本数量相对均衡,有利于训练和评估模型的泛化能力。
  • 易于使用:数据集已经按照YOLO格式整理,可以直接用于训练和评估YOLO系列的目标检测模型。
  • 真实场景:图像来自于真实的建筑工地和道路施工现场,具有较高的实用价值。
数据集构成
  • 图像数量:总共有650张航拍图像。
  • 类别数:9类
  • 类别名称及对应数量
    • bulldozer: 推土机 (65张)
    • concrete-mixer: 混凝土搅拌车 (136张)
    • concrete-pump: 混凝土泵车 (12张)
    • dump-truck: 自卸卡车 (291张)
    • excavator: 挖掘机 (690张)
    • forklift: 叉车 (10张)
    • lifting-equipment: 起重机 (32张)
    • piling-machine: 打桩机 (56张)
    • roller: 压路机 (6张)
    • tower-crane: 塔式起重机 (206张)
示例代码

以下是一个简单的Python脚本示例,用于加载数据集中的一对图像-标签对,并可视化其中的标注信息:

复制代码
import os
import cv2
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle

# 数据集目录路径
data_dir = 'path/to/evrd_dataset'
train_image_dir = os.path.join(data_dir, 'images/train')
train_label_dir = os.path.join(data_dir, 'labels/train')

# 选取一张训练图像及其对应标签
image_files = os.listdir(train_image_dir)
image_file = image_files[0]  # 假设取第一张图
label_file = os.path.splitext(image_file)[0] + '.txt'

image_path = os.path.join(train_image_dir, image_file)
label_path = os.path.join(train_label_dir, label_file)

# 加载图像
image = cv2.imread(image_path, cv2.IMREAD_COLOR)
height, width, _ = image.shape

# 解析YOLO格式标签
def parse_yolo_label(label_path, image_width, image_height):
    bboxes = []
    with open(label_path, 'r') as f:
        lines = f.readlines()
        for line in lines:
            class_id, x_center, y_center, box_width, box_height = map(float, line.strip().split())
            x_min = int((x_center - box_width / 2) * image_width)
            y_min = int((y_center - box_height / 2) * image_height)
            box_width = int(box_width * image_width)
            box_height = int(box_height * image_height)
            bboxes.append((class_id, x_min, y_min, box_width, box_height))

    return bboxes

# 解析标签
bboxes = parse_yolo_label(label_path, width, height)

# 可视化标注
fig, ax = plt.subplots(figsize=(10, 10))
ax.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
colors = ['red', 'blue', 'green', 'orange', 'purple', 'yellow', 'pink', 'brown', 'gray']
names = ['bulldozer', 'concrete-mixer', 'concrete-pump', 'dump-truck', 'excavator', 'forklift', 'lifting-equipment', 'piling-machine', 'roller', 'tower-crane']

for bbox, color_name in zip(bboxes, colors):
    class_id, x, y, w, h = bbox
    rect = Rectangle((x, y), w, h, linewidth=2, edgecolor=color_name, facecolor='none')
    ax.add_patch(rect)
    ax.text(x, y - 10, names[int(class_id)], color=color_name, fontsize=8)

plt.title('Engineering Vehicle Recognition Dataset')
plt.axis('off')
plt.show()
数据集使用指南
  1. 数据准备

    • 确认数据集路径是否正确,并且图像和标签文件均存在指定的目录下。
    • 检查数据集是否有损坏或缺失的文件,确保所有图像和对应的标注文件都是完整的。
  2. 数据集划分

    • 数据集已经划分为训练集、验证集和测试集,可以直接使用。
  3. 配置文件

    • 根据所使用的深度学习框架创建相应的配置文件。对于YOLOv5等模型,通常需要一个data.yaml文件来描述数据集路径和类别信息。

    • data.yaml示例内容如下:

      复制代码
      train: path/to/evrd_dataset/images/train
      val: path/to/evrd_dataset/images/validation
      test: path/to/evrd_dataset/images/test
      
      nc: 9
      names: ['bulldozer', 'concrete-mixer', 'concrete-pump', 'dump-truck', 'excavator', 'forklift', 'lifting-equipment', 'piling-machine', 'roller', 'tower-crane']
  4. 模型训练

    • 选择适合任务的深度学习框架(如YOLOv5, YOLOv7, Detectron2等)。
    • 配置训练参数,包括学习率、批次大小、迭代次数等。
    • 使用提供的数据集开始训练模型。
相关推荐
纪伊路上盛名在7 天前
MISATO:基于结构的药物发现的蛋白-配体复合物机器学习数据集
深度学习·机器学习·数据集·分子动力学模拟·蛋白质结构·药物发现·蛋白质-配体互作
深度学习lover9 天前
<数据集>番茄叶片病害识别<目标检测>
人工智能·yolo·目标检测·计算机视觉·数据集·番茄叶片病害识别
深度学习lover10 天前
<数据集>电力劳保穿戴识别<目标检测>
人工智能·yolo·目标检测·计算机视觉·数据集·电力劳保穿戴识别
YOLO数据集集合13 天前
无人机高分辨率多树种单木分割数据集 | 单木分割 无人机林业 树种识别 实例分割 点云 遥感数据集 深度学习 精准林业9047期
人工智能·深度学习·数据集·无人机·遥感数据集·点云数据集·树木分割
EW Frontier15 天前
实测|8 种多载波调制识别数据集如何生成?原理 + 完整 MATLAB 流程拆解【文末附MATLAB代码链接】
数据集·多载波调制·ofdm、fbmc·ufmc、fofdm·wola、gfdm·otfs、afdm
YOLO数据集集合17 天前
排球动作识别数据集 | 排球动作 体育分析 动作识别9041期
深度学习·数据集·动作识别·排球动作识别·运动动作识别·体育分析·排球动作
深瞳智检17 天前
深瞳智检(小程序)正式上线!【免费/快捷/方便】获取YOLO检测数据集
人工智能·yolo·目标检测·小程序·数据集·cv数据收集
@HNUSTer20 天前
基于 GEE 的 Sentinel-2 多光谱数据实现河流浊度指数(NDTI)遥感监测
云计算·数据集·遥感大数据·gee·云平台·河流浊度(ndti)·水质遥感反演
weixin_4402132921 天前
大模型训练、微调、对齐、推理、量化、优化、数据集等
微调·数据集·sft·预训练·模型量化·gptq·kv cache
YOLO数据集集合22 天前
蚊子视觉验证数据集 | 蚊虫识别 疟疾防控 病媒生物 细粒度分类 YOLO格式 深度学习数据集
深度学习·yolo·分类·数据集·蚊子分类·蚊虫分类·蚊虫识别