首页 > 其他分享 >热成像目标检测数据集

热成像目标检测数据集

时间:2024-09-16 20:24:47浏览次数:13  
标签:检测 image 目标 thermal images path 成像 标注

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

在这里插入图片描述

项目背景

热成像技术因其在安防监控、夜间巡逻、消防救援等领域的独特优势而受到重视。本数据集旨在提供高质量的热成像图像及其对应的可见光图像,支持热成像目标检测的研究与应用。

数据集概述
  • 名称:热成像目标检测数据集 V2
  • 规模:总计26,442帧
    • 可见光图像:9,233张
    • 热成像图像:9,711张
    • 匹配的热成像/可见光视频帧:7,498帧
  • 标注目标数量:520,000个
  • 目标类别:包括人、自行车、汽车、摩托车、巴士、火车、卡车、灯、消防栓、交通标志、狗、滑板、婴儿车、电动踏板车及其他车辆
    在这里插入图片描述
数据集特点
  • 多样化:涵盖多种场景下的目标检测,包括人、交通工具以及其他常见物体。
  • 高质量标注:每个目标均进行了精细标注,确保数据质量。
  • 多模态数据:提供热成像图像和可见光图像的匹配数据,适合跨模态学习任务。
  • 大规模数据量:包含大量标注目标,有助于训练鲁棒性强的检测模型。
数据集内容
  • 可见光图像:包含在不同环境下的可见光图像,用于辅助热成像图像的理解。
  • 热成像图像:包含在不同环境下的热成像图像,用于目标检测。
  • 匹配的热成像/可见光视频帧:包含匹配的热成像和可见光视频帧,适用于多模态目标检测任务。
数据集用途
  • 目标检测:可用于训练和评估目标检测模型,特别是在热成像条件下的目标检测。
  • 安防监控:帮助识别夜间或低光照条件下的目标,提高安防系统的有效性。
  • 学术研究:为热成像技术的应用提供丰富的数据支持,促进相关领域的研究进展。
  • 实际应用:可应用于夜间巡逻、消防救援等多个实际场景,提高系统的鲁棒性和可靠性。
标注详情
  • :标注了各类人群,包括不同年龄、性别的人。
  • 自行车:标注了不同类型的自行车。
  • 汽车:标注了不同品牌和型号的汽车。
  • 摩托车:标注了不同类型的摩托车。
  • 巴士:标注了不同类型的巴士。
  • 火车:标注了火车及其车厢。
  • 卡车:标注了不同类型的卡车。
  • :标注了各种灯具。
  • 消防栓:标注了消防栓的位置。
  • 交通标志:标注了各种交通标志。
  • :标注了不同品种的狗。
  • 滑板:标注了滑板及其使用者。
  • 婴儿车:标注了婴儿车及其使用者。
  • 电动踏板车:标注了电动踏板车及其使用者。
  • 其他车辆:标注了除上述类别之外的其他车辆。
使用场景
  • 安防监控:在夜间或低光照条件下,利用热成像技术进行目标检测。
  • 消防救援:在火灾现场,利用热成像技术快速定位人员和重要设施。
  • 夜间巡逻:在夜间巡逻中,利用热成像技术识别潜在威胁。
  • 交通监控:在交通监控中,利用热成像技术进行车辆和行人的检测。
技术指标
  • 数据量:总计26,442帧,包含多种图像类型。
  • 标注目标数量:520,000个标注目标,确保数据的丰富性和多样性。
  • 标注格式:支持多种标注格式(如JSON、VOC、YOLO),方便导入不同的检测框架。
注意事项
  • 数据隐私:在使用过程中,请确保遵守相关法律法规,保护个人隐私。
  • 数据预处理:在使用前,建议进行一定的数据预处理,如图像归一化等。
获取方式
  • 下载链接:请访问项目主页获取数据集下载链接。
  • 许可证:请仔细阅读数据集的使用许可协议。
关键代码示例

数据加载

import os
import cv2
from ultralytics import YOLO
import numpy as np

# 数据集路径
DATASET_PATH = 'path/to/dataset'
VISIBLE_IMAGES_DIR = os.path.join(DATASET_PATH, 'visible_images')
THERMAL_IMAGES_DIR = os.path.join(DATASET_PATH, 'thermal_images')
MATCHED_FRAMES_DIR = os.path.join(DATASET_PATH, 'matched_frames')
LABELS_DIR = os.path.join(DATASET_PATH, 'labels')

# 加载数据集
def load_dataset():
    visible_images = []
    thermal_images = []
    matched_frames = []
    labels = []

    for img_file in os.listdir(VISIBLE_IMAGES_DIR):
        if img_file.endswith('.jpg'):
            visible_img_path = os.path.join(VISIBLE_IMAGES_DIR, img_file)
            thermal_img_path = os.path.join(THERMAL_IMAGES_DIR, img_file)
            matched_frame_path = os.path.join(MATCHED_FRAMES_DIR, img_file)
            label_path = os.path.join(LABELS_DIR, img_file.replace('.jpg', '.txt'))

            visible_image = cv2.imread(visible_img_path)
            thermal_image = cv2.imread(thermal_img_path)
            matched_frame = cv2.imread(matched_frame_path)

            with open(label_path, 'r') as f:
                label = f.read().strip()

            visible_images.append(visible_image)
            thermal_images.append(thermal_image)
            matched_frames.append(matched_frame)
            labels.append(label)

    return visible_images, thermal_images, matched_frames, labels

visible_images, thermal_images, matched_frames, labels = load_dataset()

模型训练

# 初始化YOLOv8模型
model = YOLO('yolov8n.pt')

# 定义训练参数
EPOCHS = 100
BATCH_SIZE = 16

# 训练模型
results = model.train(data='thermal_detection.yaml', epochs=EPOCHS, batch=BATCH_SIZE)

模型检测

# 加载训练好的模型
model = YOLO('best.pt')

# 检测图像
def detect_targets(image):
    results = model.predict(image)
    for result in results:
        boxes = result.boxes
        for box in boxes:
            x1, y1, x2, y2 = box.xyxy[0]
            conf = box.conf
            class_id = box.cls
            
            # 显示结果
            cv2.rectangle(image, (int(x1), int(y1)), (int(x2), int(y2)), (0, 255, 0), 2)
            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)
    
    return image

# 测试图像
test_image = cv2.imread('path/to/test_image.jpg')
result_image = detect_targets(test_image)
cv2.imshow('Detected Targets', result_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

配置文件 thermal_detection.yaml

train: path/to/train/images
val: path/to/val/images

nc: 14  # Number of classes
names: ['person', 'bicycle', 'car', 'motorcycle', 'bus', 'train', 'truck', 'light', 'fire_hydrant', 'traffic_sign', 'dog', 'skateboard', 'baby_carriage', 'electric_scooter', 'other_vehicle']

# Training parameters
batch_size: 16
epochs: 100
img_size: [640, 640]  # Image size
使用指南
  • 数据准备:确保数据集路径正确,并且数据集已准备好。
  • 模型训练:运行训练脚本,等待训练完成。
  • 模型检测:使用训练好的模型进行检测,并查看检测结果。

标签:检测,image,目标,thermal,images,path,成像,标注
From: https://blog.csdn.net/ALiLiLiYa/article/details/142306464

相关文章

  • 成立LDAR检测公司的条件和投资额度(扩项)-泄漏检测与修复CMA认证
    ​一、成立检验检测机构  1)独立法人:营业执照(经营范围包括检验检测机构服务的相关内容,不得有影响其检验检测活动公正性的经营项目,如:生产,销售等)2)内设机构:取得所在机构法人机构的授权,明确责任义务。法定代表人不担任最高管理者,法定代表人对最高管理者授权。二、场所  必......
  • 碰撞检测:详解矩形AABB与OBB碰撞检测算法(附ROS C++可视化)
    碰撞检测:详解矩形AABB与OBB碰撞检测算法(附ROSC++可视化)引言在机器人、游戏开发、计算机图形学等领域,碰撞检测是一个至关重要的任务。碰撞检测的目的是确定两个或多个物体是否发生了碰撞,以便采取相应的措施,如避免碰撞、触发事件等。在二维空间中,矩形是最常见的几何形状之一,而AABB(Ax......
  • 代理ip批量检测工具,采用多线程并发编程,支持http,https,socks4,socks5协议!
     工具使用c++编程语言,采用多线程并发检测技术:支持ipv4及ipv6代理ip批量检测。支持httphttpssocks4及socks5代理服务器的批量检测。支持所有windows版本运行!导入方式支持手工选择文件及拖放文件。导入格式支持三种格式:第一种:用|号分割2409:8a50:8019:e470:a8d7:bdf0:fbfe:8b5......
  • 区间检测题解
    记录\(pre_i\)为\(a_i\)上一次出现的位置。每一次求\([L,R]\)范围内是否有相同的数即\(pre_L\)到\(pre_R\)中的最大值是否小于\(L\)。注意到\(pre_1\)到\(pre_{L-1}\)中最大数一定小于\(L\),所以求\([L,R]\)范围内是否有相同的数即\(pre_1\)到\(pre_R\)中的......
  • 安全帽佩戴检测摄像头
    安全帽佩戴检测摄像头借助现场已有的监控摄像头或者专门安装内置算法的监控摄像头,对现场人员安全帽佩戴进行实时识别检测。安全帽佩戴检测摄像头通过RTSP协议访问摄像机视频流,实时获取分析。立即识别视频监控区域未戴安全帽的工人,并实时分析抓拍警报。施工工地是一个存有安全隐......
  • 小麦病害检测数据集
    小麦病害检测数据集】nc=3标签names:['BacteriaLeafBlight','BrownSpot','Leafsmut']名称:【'细菌叶斑病','褐斑病','叶瘤病'】共6715张,8:1:1比例划分,(train;5372张,val:671张,test:672张标注文件为YOLO适用的txt格式。可以直接用于模型训练。小麦病害检测数据集】nc=3标......
  • 小麦病害检测数据集【‘细菌叶斑病‘, ‘褐斑病‘, ‘叶瘤病‘】
    小麦病害检测数据集】nc=3标签names:['BacteriaLeafBlight','BrownSpot','Leafsmut']名称:【'细菌叶斑病','褐斑病','叶瘤病'】共6715张,8:1:1比例划分,(train;5372张,val:671张,test:672张标注文件为YOLO适用的txt格式。可以直接用于模型训练。小麦病害检测数据集介绍项目......
  • 建筑裂缝检测图像ai模型训练数据集
    共52w例图像的建筑裂缝检测图像ai模型训练数据集20地上设施(公路桥梁、铁路桥梁、水坝(墙)、挡土墙)和地下SOC设施(公路/铁路隧道、地铁、水隧道);韩国40个市、县、区SOC设施的数据,并考虑多样性分布;10种裂纹/缺陷(裂纹、网状裂纹、分层、剥落、泛白、漏水、钢筋外露、材料分离......
  • 【目标检测数据集】卡车数据集1073张VOC+YOLO格式
    数据集格式:PascalVOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):1073标注数量(xml文件个数):1073标注数量(txt文件个数):1073标注类别数:1标注类别名称:["truck"]每个类别标注的框数:truck框......
  • 【目标检测数据集】锯子数据集1107张VOC+YOLO格式
    数据集格式:PascalVOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):1107标注数量(xml文件个数):1107标注数量(txt文件个数):1107标注类别数:1标注类别名称:["juzi"]每个类别标注的框数:juzi框数......