智慧火灾应急救援航拍检测数据集(无人机视角)

news/2024/9/23 16:46:58/

智慧火灾应急救援。

无人机,直升机等航拍视角下火灾应急救援检测数据集,数据分别标注了火,人,车辆这三个要素内容,29810张高清航拍影像,共31GB,适合森林防火,应急救援等方向的学术研究,落地应用。

智慧火灾应急救援航拍检测数据集

数据集描述

数据集是一个专门用于无人机和直升机等航拍视角下火灾应急救援场景中目标检测的数据集数据集中的图像涵盖了多种复杂环境下的火灾现场,包括森林、城市区域等。数据集中详细标注了火源、人员以及车辆这三个关键要素,旨在帮助研究人员和开发者训练和评估基于深度学习的目标检测模型,适用于森林防火、应急救援等方向的学术研究和实际应用。

数据规模
  • 总样本数量:29810张高清航拍影像
  • 数据量:约31GB
  • 标注目标:所有图像都带有详细的标注信息,用于训练和验证目标检测模型。
目标类别及数量

数据集中包含以下目标类别:

  • 火 (Fire)
  • 人 (Person)
  • 车辆 (Vehicle)

具体每个类别的实例数量未提供,但可以假设每个类别都有足够的实例来支持模型训练和验证。

图像分辨率
  • 高清航拍影像:具体的分辨率可能因拍摄设备和高度而异,但均为高清图像。
拍摄高度
  • 多变的高度:涵盖从低空到高空的各种拍摄高度,以适应不同应用场景的需求。
场景多样性
  • 森林火灾:包括林区火灾现场。
  • 城市火灾:包括建筑物、道路等城市环境中的火灾现场。
  • 其他场景:可能还包括野外草地、农田等环境中的火灾场景。
标注格式

数据集中的标注信息采用了YOLO(You Only Look Once)格式的TXT文件。每个图像都有一个对应的标签文件,记录了每个目标的位置信息(边界框坐标)和类别标签。这种格式可以直接用于YOLO系列模型的训练。

数据集结构

典型的数据集目录结构如下:

1fire_emergency_rescue_dataset/
2├── images/
3│   ├── train/
4│   │   ├── img_00001.jpg
5│   │   ├── img_00002.jpg
6│   │   └── ...
7│   ├── val/
8│   │   ├── img_00001.jpg
9│   │   ├── img_00002.jpg
10│   │   └── ...
11│   └── test/
12│       ├── img_00001.jpg
13│       ├── img_00002.jpg
14│       └── ...
15└── labels/
16    ├── train/
17    │   ├── img_00001.txt
18    │   ├── img_00002.txt
19    │   └── ...
20    ├── val/
21    │   ├── img_00001.txt
22    │   ├── img_00002.txt
23    │   └── ...
24    └── test/
25        ├── img_00001.txt
26        ├── img_00002.txt
27        └── ...
28└── README.md  # 数据集说明文件
应用场景

数据集可以用于以下应用场景:

  • 森林防火:通过无人机或直升机实时监测森林火灾情况,及时发现并定位火源。
  • 城市应急救援:在城市环境中快速识别火灾现场的火源、受困人员和救援车辆。
  • 智能监控系统:辅助智能监控系统,在各种复杂环境中进行火灾检测和人员救援。
  • 科研分析:用于研究目标检测算法和技术的发展趋势,特别是在航拍视角下的应用。

示例代码

以下是一个使用Python和相关库(如OpenCV、PIL等)来加载和展示数据集的简单示例代码:

1import os
2import cv2
3import numpy as np
4from PIL import Image
5
6# 数据集路径
7dataset_path = 'path/to/fire_emergency_rescue_dataset/'
8
9# 加载图像和标签
10def load_image_and_label(image_path, label_path):
11    # 读取图像
12    image = Image.open(image_path).convert('RGB')
13    # 解析标签文件
14    with open(label_path, 'r') as infile:
15        lines = infile.readlines()
16        objects = []
17        for line in lines:
18            data = line.strip().split()
19            class_id = int(data[0])
20            x_center, y_center, w, h = map(float, data[1:])
21            objects.append([x_center, y_center, w, h, class_id])
22    return image, objects
23
24# 展示图像
25def show_image_with_boxes(image, boxes):
26    img = np.array(image)
27    class_names = ['Fire', 'Person', 'Vehicle']
28    for box in boxes:
29        x_center, y_center, w, h, class_id = box
30        w, h = int(w * img.shape[1]), int(h * img.shape[0])
31        x_center, y_center = int(x_center * img.shape[1]), int(y_center * img.shape[0])
32        xmin, xmax = x_center - w // 2, x_center + w // 2
33        ymin, ymax = y_center - h // 2, y_center + h // 2
34        cv2.rectangle(img, (xmin, ymin), (xmax, ymax), (0, 255, 0), 2)
35        cv2.putText(img, class_names[class_id], (xmin, ymin - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
36    cv2.imshow('Image with Boxes', img)
37    cv2.waitKey(0)
38    cv2.destroyAllWindows()
39
40# 主函数
41if __name__ == "__main__":
42    subset = 'train'  # 可以选择 'val' 或 'test'
43    images_dir = os.path.join(dataset_path, 'images', subset)
44    labels_dir = os.path.join(dataset_path, 'labels', subset)
45    
46    # 获取图像列表
47    image_files = [f for f in os.listdir(images_dir) if f.endswith('.jpg')]
48    
49    # 随机选择一张图像
50    selected_image = np.random.choice(image_files)
51    image_path = os.path.join(images_dir, selected_image)
52    label_path = os.path.join(labels_dir, selected_image.replace('.jpg', '.txt'))
53    
54    # 加载图像和标签
55    image, boxes = load_image_and_label(image_path, label_path)
56    
57    # 展示带有标注框的图像
58    show_image_with_boxes(image, boxes)

这段代码展示了如何加载图像和其对应的YOLO TXT标注文件,并在图像上绘制边界框和类别标签。您可以根据实际需求进一步扩展和修改这段代码,以适应您的具体应用场景。

示例代码:使用预训练模型进行推理

以下是使用YOLO预训练模型进行推理的示例代码:

1import torch
2import cv2
3import numpy as np
4from pathlib import Path
5
6# 数据集路径
7dataset_path = 'path/to/fire_emergency_rescue_dataset/'
8subset = 'test'  # 可以选择 'train' 或 'val'
9
10# 加载预训练模型
11weights_path = 'path/to/pretrained/yolov8_weights.pt'  # 替换成实际的预训练模型路径
12model = torch.hub.load('ultralytics/yolov5', 'custom', path=weights_path, force_reload=True)
13
14# 主函数
15if __name__ == "__main__":
16    images_dir = os.path.join(dataset_path, 'images', subset)
17    
18    # 获取图像列表
19    image_files = [f for f in os.listdir(images_dir) if f.endswith('.jpg')]
20    
21    # 随机选择一张图像
22    selected_image = np.random.choice(image_files)
23    image_path = os.path.join(images_dir, selected_image)
24    
25    # 使用预训练模型进行推理
26    results = model(image_path)
27    results.show()  # 显示结果
28    results.save()  # 保存结果图像

这段代码展示了如何使用YOLO预训练模型进行推理,并显示和保存推理结果。您可以根据实际需求进一步扩展和修改这段代码,以适应您的具体应用场景。

 


http://www.ppmy.cn/news/1529409.html

相关文章

FEAD:fNIRS-EEG情感数据库(视频刺激)

摘要 本文提出了一种可用于训练情绪识别模型的fNIRS-EEG情感数据库——FEAD。研究共记录了37名被试的脑电活动和脑血流动力学反应,以及被试对24种情绪视听刺激的分类和维度评分。探讨了神经生理信号与主观评分之间的关系,并在前额叶皮层区域发现了显著的…

2024 vue3入门教程:02 我的第一个vue页面

1.打开src下的App.vue,删除所有的默认代码 2.更换为自己写的代码, 变量msg:可以自定义为其他(建议不要使用vue的关键字) 我的的第一个vue:可以更换为其他自定义文字 3.运行命令两步走 下载依赖 cnpm i…

【PyTorch】深入浅出PyTorch

为什么要学习PyTorch Why learn PyTorch PyTorch日益增长的发展速度与深度学习时代的迫切需求 PyTorch实验模型训练 数据 模型 损失函数 优化器 迭代训练 模型应用 如何学习和掌握PyTorch 勤动手 成体系 构建知识体系 熟悉知识分布 对应查缺补漏 多总结

【数据结构与算法】数组

数组 1) 概述 定义 在计算机科学中,数组是由一组元素(值或变量)组成的数据结构,每个元素有至少一个索引或键来标识 In computer science, an array is a data structure consisting of a collection of elements (values or va…

《Pyramid Vision Transformer》论文笔记

原文笔记 What 为了解决VIT在视觉任务上的局限性并且探究Transformer模型在视觉任务上的应用,这项工作提出了一种纯 Transformer 主干,称为 Pyramid Vision Transformer (PVT),它可以作为 CNN 主干在许多下游任务中的替代方案,包…

css边框修饰

一、设置线条样式 通过 border-style 属性设置,可选择的一些属性如下: dotted:点线 dashed:虚线 solid:实线 double:双实线 效果如下: 二、设置边框线宽度 ① 通过 border-width 整体设置…

在家找不到手机?除了语音助手,还可以用远程控制!

总说手机有定位功能,但手机定位一般只能用于室外较大范围,例如在某个街角交叉位置、某个公园位置,某幢楼的某层位置。如果是在室内,例如自己家,手机定位就显得没那么好用了。 在家里怎么找突然“失踪”的手机&#xff…

【车载以太网】【SOME/IP】Wireshark 解析

目录 ​​​​​​​Wireshark 官方插件 相关代码: 启用协议插件 Lua插件 测试数据包 Wireshark 下载链接:Wireshark Go DeepSOMEIP插件介绍:https://www.wireshark.org/docs/dfref/s/someip.html官方插件 Wireshark从3.2版本开始支持SOME/IP,启用相应的插件即可以…