首页 > 其他分享 >如何训练自己的数据集之火灾应急救援——

如何训练自己的数据集之火灾应急救援——

时间:2024-10-29 17:19:02浏览次数:7  
标签:应急 -- image self train path 集之 火灾 dir

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

 

  • 火灾应急救援检测数据集
  • 规模:共29,810张高清航拍影像,数据量约31GB
  • 检测要素:火源、人员、车辆
  • 应用场景:适合森林防火、应急救援等方向的学术研究及实际应用
  • 拍摄视角:无人机、直升机等航拍视角

数据集特点

a86331ab545e4fb1b5e9025bb523529d.png

  • 高清影像:所有图像均为高清航拍影像,适合用于精确的目标检测。
  • 详细标注:每张图像都标注了火源、人员、车辆的位置,可以用于训练模型来识别这些关键要素。
  • 多样性:涵盖不同时间、天气条件下的真实火灾场景,适用于多种环境下的应用。
  • 广泛适用性:支持多种深度学习框架,适用于目标检测及定位任务。

数据集统计d87ef5d44f0e4aa7a3fc4032e0d95eed.png

目标类别图像张数数据量
火源  
人员  
车辆  
总计29,81031GB

数据集结构

FireEmergencyRescueDataset/
├── images/  # 图像文件
│   ├── image_00001.jpg
│   ├── image_00002.jpg
│   └── ...
├── annotations/  # 目标检测标注
│   ├── image_00001.txt
│   ├── image_00002.txt
│   └── ...
└── dataset_info.txt  # 数据集描述文件

标注格式示例

每张图像对应的文本文件表示一个物体的边界框和类别:

YOLO格

class_id cx cy w h
  • class_id:类别ID(从0开始编号)
    • 0: 火源
    • 1: 人员
    • 2: 车辆
  • cx:目标框中心点x坐标 / 图像宽度。
  • cy:目标框中心点y坐标 / 图像高度。
  • w:目标框宽度 / 图像宽度。
  • h:目标框高度 / 图像高度。
0 0.453646 0.623148 0.234375 0.461111
1 0.321021 0.456789 0.123456 0.345678
2 0.567890 0.789012 0.156789 0.234567

使用该数据集进行模型训练

1. 数据预处理与加载

首先,我们需要加载数据并将其转换为适合YOLOv5等模型使用的格式。假设你已经安装了PyTorch和YOLOv5。

import os
from PIL import Image
import torch
from torch.utils.data import Dataset, DataLoader
from torchvision import transforms

class FireEmergencyRescueDataset(Dataset):
    def __init__(self, image_dir, label_dir, transform=None):
        self.image_dir = image_dir
        self.label_dir = label_dir
        self.transform = transform
        self.image_files = [f for f in os.listdir(image_dir) if f.endswith('.jpg')]

    def __len__(self):
        return len(self.image_files)

    def __getitem__(self, idx):
        img_name = self.image_files[idx]
        img_path = os.path.join(self.image_dir, img_name)
        label_path = os.path.join(self.label_dir, img_name.replace('.jpg', '.txt'))

        # 加载图像
        image = Image.open(img_path).convert('RGB')
        if self.transform:
            image = self.transform(image)

        # 加载标注
        with open(label_path, 'r') as f:
            lines = f.readlines()
        
        boxes = []
        labels = []
        for line in lines:
            class_id, cx, cy, w, h = map(float, line.strip().split())
            boxes.append([cx, cy, w, h])
            labels.append(int(class_id))

        boxes = torch.tensor(boxes, dtype=torch.float32)
        labels = torch.tensor(labels, dtype=torch.int64)

        return image, boxes, labels

# 数据增强
transform = transforms.Compose([
    transforms.Resize((640, 640)),
    transforms.ToTensor(),
])

# 创建数据集
train_dataset = FireEmergencyRescueDataset(image_dir='FireEmergencyRescueDataset/images/', label_dir='FireEmergencyRescueDataset/annotations/', transform=transform)

# 划分训练集和验证集
train_size = int(0.8 * len(train_dataset))
val_size = len(train_dataset) - train_size
train_dataset, val_dataset = torch.utils.data.random_split(train_dataset, [train_size, val_size])

train_loader = DataLoader(train_dataset, batch_size=4, shuffle=True, num_workers=4)
val_loader = DataLoader(val_dataset, batch_size=4, shuffle=False, num_workers=4)

2. 构建模型

我们可以使用YOLOv5模型进行目标检测任务。假设你已经克隆了YOLOv5仓库,并按照其文档进行了环境设置。

git clone https://github.com/ultralytics/yolov5
cd yolov5
pip install -r requirements.txt

创建数据配置文件 data/fire_emergency_rescue.yaml

train: path/to/FireEmergencyRescueDataset/images/
val: path/to/FireEmergencyRescueDataset/images/
test: path/to/FireEmergencyRescueDataset/images/

nc: 3  # 类别数
names: ['火源', '人员', '车辆']

3. 训练模型

使用YOLOv5进行训练。

python train.py --img 640 --batch 16 --epochs 100 --data data/fire_emergency_rescue.yaml --weights yolov5s.pt --cache

4. 评估模型

在验证集上评估模型性能。

python val.py --img 640 --batch 16 --data data/fire_emergency_rescue.yaml --weights runs/train/exp/weights/best.pt --task test

5. 推理

使用训练好的模型进行推理。

python detect.py --source path/to/test/image.jpg --weights runs/train/exp/weights/best.pt --conf 0.5

实验报告

实验报告应包括以下内容:

  1. 项目简介:简要描述项目的背景、目标和意义。
  2. 数据集介绍:详细介绍数据集的来源、规模、标注格式等。
  3. 模型选择与配置:说明选择的模型及其配置参数。
  4. 训练过程:记录训练过程中的损失变化、学习率调整等。
  5. 评估结果:展示模型在验证集上的性能指标(如mAP、准确率)。
  6. 可视化结果:提供一些典型样本的检测结果可视化图。
  7. 结论与讨论:总结实验结果,讨论可能的改进方向。
  8. 附录:包含代码片段、图表等补充材料。

依赖库

确保安装了以下依赖库:

pip install torch torchvision
pip install -r yolov5/requirements.txt

总结

这个智慧火灾应急救援检测数据集提供了丰富的标注数据,非常适合用于训练和评估目标检测模型。通过YOLOv5框架,可以方便地构建和训练高性能的目标检测模型。实验报告可以帮助你更好地理解和分析模型的表现,并为进一步的研究提供参考。

 

标签:应急,--,image,self,train,path,集之,火灾,dir
From: https://blog.csdn.net/2401_88441190/article/details/143235532

相关文章

  • 烟火检测视频分析网关摄像机实时接入分析平台在火灾预防中是如何应用的?
    在现代火灾预防领域,人工智能(AI)的应用正变得日益广泛和关键。烟火检测视频分析网关通过实时监控、智能分析和预警等多种功能,极大地提升了火灾预防的效率和准确性。以下是AI在火灾预防中的具体应用方式,这些技术正在改变我们对火灾防控的认知和实践。人工智能(AI)在火灾预防中的应用是......
  • 17-网络安全应急响应技术原理与应用
    17.1概述1)概念指为应对网络安全事件,相关人员或组织机构对网络安全事件进行监测、预警、分析、响应和恢复等工作。2)发展1988年,美国发生了“小莫里斯网络蠕虫”安全事件,导致上千台计算机受到了影响,促使美国政府成立了世界上第一个计算机安全应急组织CERT。目前,国内已经建立了......
  • 玄机蓝队靶场_应急响应_61:windows实战-emlog
    win+rmstsc连接不能联网,不然直接河马查杀一下把www文件夹压缩下载下来用河马在线网站也是直接得到冰蝎木马文件:/WWW/content/plugins/tips/shell.php在www文件夹直接搜索shell文件(盲猜)找到连接密码flag{rebeyond}直接找apache目录看日志phpstudy_pro/Extensions/Apache......
  • 玄机蓝队靶场_应急响应_25:webshell查杀
    参考:https://blog.csdn.net/administratorlws/article/details/139521078Xterm连接之后看到/var/www有网站,直接下载下来用工具扫扫木马。客户端太拉了,下次直接用河马在线网站扫。找shell.php.提交flag{1}发现不对,河马客户端没给它扫出来。然后乱翻翻到了flag{027ccd04-506......
  • 玄机蓝队靶场_应急响应_71:实战evtx-文件分析
    windows日志排查工具:https://www.cnblogs.com/starrys/p/17129993.htmlwindows日志事件ID,参考文章:https://peterpan.blog.csdn.net/article/details/139887217下载日志分析工具FullEventLogView.exehttps://www.nirsoft.net/utils/fulleventlogview-x64.zip分别打开三个......
  • python+flask计算机毕业设计高校实验室安全应急管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于高校实验室安全应急管理系统的研究,现有研究多侧重于实验室安全管理的常规方面,如设备管理、人员管理等。专门针对高校实验室安全应......
  • 如何利用RFID技术提升应急物资管理效率?
        RFID应急物资管理系统涵盖了物资的进出库登记、库存量预警机制、物资清点统计、应急事件中物资使用的统计分析功能。它还能根据历史数据和实时情况自动搭配所需物资,并借助大数据分析,实时调整季节性、天气等因素对物资储备的影响。    RFID应急物资管理系......
  • RFID应急物资管理升级:智慧系统的强大优势
        伴随着互联网、物联网、数据库管理、地理信息系统(GIS)、人工智能(AI)以及视频分析等技术的飞速进步,依托于网络技术的信息管理系统设计已逐步成为信息构建领域的最新动向。本方案采纳了基于网络技术的B/S(浏览器/服务器)模式,打造了一套高效的应急物资管理系统。采用B/S架......
  • 应急响应处置流程Windows篇
    一、服务流程沟通确认安全事件在与客户第一次沟通时,应及时提醒客户对受害机器及时进行断网隔离操作。已知的安全事件包括但不限于如下:1. 恶意代码威胁,即僵尸网络、恶意木马、蠕虫病毒、勒索病毒等恶意代码导致的安全事件2. 高级持续性威胁(APT)攻击事件,即具有潜伏性、隐......
  • 【应急响应+Linux】常见的rootkit隐藏手段:前言
    原文首发在:奇安信攻防社区https://forum.butian.net/share/3796本文主要针对黑灰产相关的蠕木僵毒等恶意软件在Linux上常用的rootkit手段做一些总结,以及详细分析常见应急响应中遇到的进程、文件隐藏手段的原理以及排查和恢复方法;前言本文主要针对黑灰产、以及蠕木僵毒等恶意软......