热成像目标检测数据集 V2 版本

ccd6e6396a20491abceb60699ac54ad8.png

热成像目标检测数据集V2版本,总计26,442帧(9,233个可见光图像,9,711个热成像图像和7,498个匹配的热成像/可见光视频帧)热成像图像注释,520000个标注目标,标注物包括人,自行车,汽车,摩托车,巴士,火车,卡车,灯,消防栓,交通标志,狗,滑板,婴儿车,电动踏板,其他车辆。

数据集介绍:热成像目标检测数据集 V2 版本

f6ce2343a115412d910e1094313018a3.png

项目背景:

热成像技术在安防监控、夜间巡逻、消防救援等领域具有重要的应用价值。本数据集旨在提供高质量的热成像图像及其对应的可见光图像,支持热成像目标检测的研究与应用。

数据集概述:

  • 名称:热成像目标检测数据集 V2
  • 规模:总计26,442帧
    • 可见光图像:9,233张
    • 热成像图像:9,711张
    • 匹配的热成像/可见光视频帧:7,498帧
  • 标注目标数量:520,000个
  • 目标类别
    • 自行车
    • 汽车
    • 摩托车
    • 巴士
    • 火车
    • 卡车
    • 消防栓
    • 交通标志
    • 滑板
    • 婴儿车
    • 电动踏板车
    • 其他车辆

数据集特点:

  1. 多样化:涵盖多种场景下的目标检测,包括人、交通工具以及其他常见物体。
  2. 高质量标注:每个目标均进行了精细标注,确保数据质量。
  3. 多模态数据:提供热成像图像和可见光图像的匹配数据,适合跨模态学习任务。
  4. 大规模数据量:包含大量标注目标,有助于训练鲁棒性强的检测模型。

数据集内容:

  1. 可见光图像:包含在不同环境下的可见光图像,用于辅助热成像图像的理解。
  2. 热成像图像:包含在不同环境下的热成像图像,用于目标检测。
  3. 匹配的热成像/可见光视频帧:包含匹配的热成像和可见光视频帧,适用于多模态目标检测任务。

数据集用途:

  1. 目标检测:可用于训练和评估目标检测模型,特别是在热成像条件下的目标检测。
  2. 安防监控:帮助识别夜间或低光照条件下的目标,提高安防系统的有效性。
  3. 学术研究:为热成像技术的应用提供丰富的数据支持,促进相关领域的研究进展。
  4. 实际应用:可应用于夜间巡逻、消防救援等多个实际场景,提高系统的鲁棒性和可靠性。

标注详情:

  • :标注了各类人群,包括不同年龄、性别的人。
  • 自行车:标注了不同类型的自行车。
  • 汽车:标注了不同品牌和型号的汽车。
  • 摩托车:标注了不同类型的摩托车。
  • 巴士:标注了不同类型的巴士。
  • 火车:标注了火车及其车厢。
  • 卡车:标注了不同类型的卡车。
  • :标注了各种灯具。
  • 消防栓:标注了消防栓的位置。
  • 交通标志:标注了各种交通标志。
  • :标注了不同品种的狗。
  • 滑板:标注了滑板及其使用者。
  • 婴儿车:标注了婴儿车及其使用者。
  • 电动踏板车:标注了电动踏板车及其使用者。
  • 其他车辆:标注了除上述类别之外的其他车辆。

使用场景:

  1. 安防监控:在夜间或低光照条件下,利用热成像技术进行目标检测。
  2. 消防救援:在火灾现场,利用热成像技术快速定位人员和重要设施。
  3. 夜间巡逻:在夜间巡逻中,利用热成像技术识别潜在威胁。
  4. 交通监控:在交通监控中,利用热成像技术进行车辆和行人的检测。

技术指标:

  • 数据量:总计26,442帧,包含多种图像类型。
  • 标注目标数量:520,000个标注目标,确保数据的丰富性和多样性。
  • 标注格式:支持多种标注格式(如JSON、VOC、YOLO),方便导入不同的检测框架。

注意事项:

  • 数据隐私:在使用过程中,请确保遵守相关法律法规,保护个人隐私。
  • 数据预处理:在使用前,建议进行一定的数据预处理,如图像归一化等。

获取方式:

  • 下载链接:请访问项目主页获取数据集下载链接。
  • 许可证:请仔细阅读数据集的使用许可协议。

关键代码示例:

以下是关键代码的示例,包括数据加载、模型训练、检测和结果展示。

数据加载:

 
1import os
2import cv2
3from ultralytics import YOLO
4import numpy as np
5
6# 数据集路径
7DATASET_PATH = 'path/to/dataset'
8VISIBLE_IMAGES_DIR = os.path.join(DATASET_PATH, 'visible_images')
9THERMAL_IMAGES_DIR = os.path.join(DATASET_PATH, 'thermal_images')
10MATCHED_FRAMES_DIR = os.path.join(DATASET_PATH, 'matched_frames')
11LABELS_DIR = os.path.join(DATASET_PATH, 'labels')
12
13# 加载数据集
14def load_dataset():
15    visible_images = []
16    thermal_images = []
17    matched_frames = []
18    labels = []
19
20    for img_file in os.listdir(VISIBLE_IMAGES_DIR):
21        if img_file.endswith('.jpg'):
22            visible_img_path = os.path.join(VISIBLE_IMAGES_DIR, img_file)
23            thermal_img_path = os.path.join(THERMAL_IMAGES_DIR, img_file)
24            matched_frame_path = os.path.join(MATCHED_FRAMES_DIR, img_file)
25            label_path = os.path.join(LABELS_DIR, img_file.replace('.jpg', '.txt'))
26            
27            visible_image = cv2.imread(visible_img_path)
28            thermal_image = cv2.imread(thermal_img_path)
29            matched_frame = cv2.imread(matched_frame_path)
30            
31            with open(label_path, 'r') as f:
32                label = f.read().strip()
33            
34            visible_images.append(visible_image)
35            thermal_images.append(thermal_image)
36            matched_frames.append(matched_frame)
37            labels.append(label)
38
39    return visible_images, thermal_images, matched_frames, labels
40
41visible_images, thermal_images, matched_frames, labels = load_dataset()

模型训练:

 

python

深色版本

1# 初始化YOLOv8模型
2model = YOLO('yolov8n.pt')
3
4# 定义训练参数
5EPOCHS = 100
6BATCH_SIZE = 16
7
8# 训练模型
9results = model.train(data='thermal_detection.yaml', epochs=EPOCHS, batch=BATCH_SIZE)

模型检测:

1# 加载训练好的模型
2model = YOLO('best.pt')
3
4# 检测图像
5def detect_targets(image):
6    results = model.predict(image)
7    for result in results:
8        boxes = result.boxes
9        for box in boxes:
10            x1, y1, x2, y2 = box.xyxy[0]
11            conf = box.conf
12            class_id = box.cls
13            
14            # 显示结果
15            cv2.rectangle(image, (int(x1), int(y1)), (int(x2), int(y2)), (0, 255, 0), 2)
16            cv2.putText(image, f'Class: {class_id}, Conf: {conf:.2f}', (int(x1), int(y1)-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
17    
18    return image
19
20# 测试图像
21test_image = cv2.imread('path/to/test_image.jpg')
22result_image = detect_targets(test_image)
23cv2.imshow('Detected Targets', result_image)
24cv2.waitKey(0)
25cv2.destroyAllWindows()

配置文件 thermal_detection.yaml

 

yaml

深色版本

1train: path/to/train/images
2val: path/to/val/images
3
4nc: 14  # Number of classes
5names: ['person', 'bicycle', 'car', 'motorcycle', 'bus', 'train', 'truck', 'light', 'fire_hydrant', 'traffic_sign', 'dog', 'skateboard', 'baby_carriage', 'electric_scooter', 'other_vehicle']  # Class names
6
7# Training parameters
8batch_size: 16
9epochs: 100
10img_size: [640, 640]  # Image size

使用指南:

  1. 数据准备:确保数据集路径正确,并且数据集已准备好。
  2. 模型训练:运行训练脚本,等待训练完成。
  3. 模型检测:使用训练好的模型进行检测,并查看检测结果。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值