做网站设计公司价格,宁波网页设计职业,网站问卷调查怎么做,自己 做网站学什么 平面设计智慧火灾应急救援。 无人机#xff0c;直升机等航拍视角下火灾应急救援检测数据集#xff0c;数据分别标注了火#xff0c;人#xff0c;车辆这三个要素内容#xff0c;29810张高清航拍影像#xff0c;共31GB#xff0c;适合森林防火#xff0c;应急救援等方向的学术研…智慧火灾应急救援。 无人机直升机等航拍视角下火灾应急救援检测数据集数据分别标注了火人车辆这三个要素内容29810张高清航拍影像共31GB适合森林防火应急救援等方向的学术研究落地应用。 智慧火灾应急救援航拍检测数据集
数据集描述
该数据集是一个专门用于无人机和直升机等航拍视角下火灾应急救援场景中目标检测的数据集。数据集中的图像涵盖了多种复杂环境下的火灾现场包括森林、城市区域等。数据集中详细标注了火源、人员以及车辆这三个关键要素旨在帮助研究人员和开发者训练和评估基于深度学习的目标检测模型适用于森林防火、应急救援等方向的学术研究和实际应用。
数据规模
总样本数量29810张高清航拍影像数据量约31GB标注目标所有图像都带有详细的标注信息用于训练和验证目标检测模型。
目标类别及数量 数据集中包含以下目标类别
火 (Fire)人 (Person)车辆 (Vehicle)
具体每个类别的实例数量未提供但可以假设每个类别都有足够的实例来支持模型训练和验证。
图像分辨率
高清航拍影像具体的分辨率可能因拍摄设备和高度而异但均为高清图像。
拍摄高度
多变的高度涵盖从低空到高空的各种拍摄高度以适应不同应用场景的需求。
场景多样性
森林火灾包括林区火灾现场。城市火灾包括建筑物、道路等城市环境中的火灾现场。其他场景可能还包括野外草地、农田等环境中的火灾场景。
标注格式 数据集中的标注信息采用了YOLOYou 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, pathweights_path, force_reloadTrue)
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预训练模型进行推理并显示和保存推理结果。您可以根据实际需求进一步扩展和修改这段代码以适应您的具体应用场景。