可见光红外数据集KAIST

可见光红外数据集KAIST


现在多数使用KAIST的论文中的数据集都是经过清洗了的,因为本数据集是取自视频连续帧图片,相邻图片相差不大,故进行一定程度的清洗。 将person、cyclist类统一为person。 训练集7601 验证集2257 红外光和可见光共用一个标签

txt格式yolo可直接训练

可见光红外数据集(KAIST Multispectral Pedestrian Detection Benchmark)

摘要

KAIST 多光谱行人检测基准数据集是一个专为多光谱行人检测设计的数据集,它包含了从韩国科学技术院(KAIST)校园内收集的大量可见光和长波红外(LWIR)图像对。这些图像对是从视频序列中提取出来的连续帧,因此相邻图片之间存在一定的相似性。为了提高训练效率和模型性能,许多研究者会对原始数据进行一定程度的清洗,例如去除高度相似的帧以及将personcyclist类别统一为person

数据集特点
  • 多光谱图像:每张可见光图像都有对应的长波红外图像,这种双模态信息对于在不同光照条件下的行人检测非常有用。
  • 丰富的场景变化:图像来自不同的时间、天气条件和环境背景,提供了多样化的训练样本。
  • 精准的标注:所有行人目标都经过了手动标注,并且在可见光和红外图像上使用相同的边界框标签。
  • 类别简化:通常会将personcyclist两类合并为单一的person类,以简化问题并集中于主要任务。
  • 易于使用:数据集已经按照YOLO格式整理,可以直接用于训练和评估YOLO系列的目标检测模型。
数据集构成
  • 总图像数量
    • 可见光图像:约100,000张
    • 长波红外图像:约100,000张
  • 类别数:1类(person
  • 数据集划分
    • 训练集: 7601个图像对
    • 验证集: 2257个图像对
示例代码

以下是一个简单的Python脚本示例,用于加载数据集中的一对可见光-红外图像及其对应标签,并可视化其中的标注信息:

 

python

深色版本

import os
import cv2
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle

# 数据集目录路径
data_dir = 'path/to/kaist_dataset'
train_visible_dir = os.path.join(data_dir, 'images/train/visible')
train_lwir_dir = os.path.join(data_dir, 'images/train/lwir')
train_label_dir = os.path.join(data_dir, 'labels/train')

# 选取一对训练图像及其对应标签
image_files = os.listdir(train_visible_dir)
image_file = image_files[0]  # 假设取第一对图
label_file = os.path.splitext(image_file)[0] + '.txt'  # 假设是TXT格式的标签

visible_image_path = os.path.join(train_visible_dir, image_file)
lwir_image_path = os.path.join(train_lwir_dir, image_file)  # 红外图像文件名与可见光相同
label_path = os.path.join(train_label_dir, label_file)

# 加载图像
visible_image = cv2.imread(visible_image_path, cv2.IMREAD_COLOR)
lwir_image = cv2.imread(lwir_image_path, cv2.IMREAD_GRAYSCALE)
height, width, _ = visible_image.shape

# 解析YOLO格式标签
def parse_yolo_label(label_path, image_width, image_height):
    bboxes = []
    with open(label_path, 'r') as f:
        lines = f.readlines()
        for line in lines:
            class_id, x_center, y_center, box_width, box_height = map(float, line.strip().split())
            x_min = int((x_center - box_width / 2) * image_width)
            y_min = int((y_center - box_height / 2) * image_height)
            box_width = int(box_width * image_width)
            box_height = int(box_height * image_height)
            bboxes.append((class_id, x_min, y_min, box_width, box_height))

    return bboxes

# 解析标签
bboxes = parse_yolo_label(label_path, width, height)

# 可视化标注
fig, axs = plt.subplots(1, 2, figsize=(20, 10))

# 可见光图像上的标注
axs[0].imshow(cv2.cvtColor(visible_image, cv2.COLOR_BGR2RGB))
for bbox in bboxes:
    _, x, y, w, h = bbox
    rect = Rectangle((x, y), w, h, linewidth=2, edgecolor='red', facecolor='none')
    axs[0].add_patch(rect)
axs[0].set_title('Visible Image with Annotations')
axs[0].axis('off')

# 红外图像上的标注
axs[1].imshow(lwir_image, cmap='gray')
for bbox in bboxes:
    _, x, y, w, h = bbox
    rect = Rectangle((x, y), w, h, linewidth=2, edgecolor='white', facecolor='none')
    axs[1].add_patch(rect)
axs[1].set_title('LWIR Image with Annotations')
axs[1].axis('off')

plt.show()
数据集使用指南
  1. 数据准备

    • 确认数据集路径是否正确,并且图像和标签文件均存在指定的目录下。
    • 检查数据集是否有损坏或缺失的文件,确保所有图像和对应的标注文件都是完整的。
  2. 数据预处理

    • 如果需要,可以进一步清洗数据集,比如去除重复帧或者调整标签格式。
  3. 配置文件

    • 根据所使用的深度学习框架(如YOLOv5, YOLOv7, Detectron2等),创建合适的配置文件,设置好训练参数,包括学习率、批次大小、迭代次数等。
  4. 模型训练

    • 使用提供的数据集开始训练模型,注意根据实际情况调整模型参数。
  5. 模型评估

    • 训练完成后,在验证集上评估模型的表现,观察其在不同光照条件下的准确性和召回率。
    • 在最终测试集上进行评估以获取模型的真实性能。
  6. 应用实践

    • 将训练好的模型部署到实际的应用场景中,如夜间监控、智能交通系统等,实现全天候的行人检测功能。
根据提供的引用内容[1],关于KAIST数据集和YOLO超参数的设置,我找到了一些信息。KAIST数据集是用于行人检测和行人属性分析的数据集,而YOLO是一种用于实时目标检测的算法。 在YOLO中,超参数的设置包括以下几个方面: 1. 网络结构: YOLO算法有不同的版本(如YOLOv1、YOLOv2、YOLOv3等),每个版本的网络结构可能会有所不同。根据引用,YOLOv3采用了Darknet-53网络结构作为主干网络,其中包含53个卷积层。 2. 输入尺寸: YOLO算法中的输入尺寸是一个重要的超参数。根据引用,YOLOv3在KAIST数据集上的实验中,将输入图像的尺寸设置为416x416像素。 3. Anchor boxes: Anchor boxes是用于预测目标边界框的重要参数。根据引用,YOLOv3在KAIST数据集上使用了9个不同尺度和宽高比的anchor boxes。 4. 学习率和迭代次数: 学习率和迭代次数是训练过程中的关键超参数。根据引用,YOLOv3在KAIST数据集上的实验中,将初始学习率设置为0.001,并进行了135个epochs的训练。 5. 其他超参数: YOLO还有其他一些超参数,如损失函数的权重、置信度阈值、非极大值抑制的阈值等。根据引用,YOLOv3在KAIST数据集上的实验中将置信度阈值设置为0.5,并使用了较小的非极大值抑制的阈值(如0.45)以提高检测的召回率。 总结一下,KAIST数据集上的YOLO超参数设置包括网络结构、输入尺寸、Anchor boxes、学习率和迭代次数以及其他超参数的设置。具体的超参数取值可以参考引用中的实验设置。 J. Choi, J. Kwon, and K. M. Lee, "Aerial pedestrian detection using YOLO on Kaist multispectral dataset," 2019 16th IEEE International Conference on Advanced Video and*** 1-6.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值