无人机航拍RGBT双模态行人检测数据集 | 可见光红外对齐 低空小目标检测 多模态计算机视觉基准数据

无人机航拍RGBT双模态行人检测数据集 | 可见光红外对齐 低空小目标检测 多模态计算机视觉基准数据

标签:#无人机视觉 #RGBT多模态检测 #行人小目标识别 #红外可见光融合 #低空安防 #目标检测数据集 #深度学习 #应急搜救 #智慧城市 #跨模态对齐 #航拍感知

在低空安防、灾后搜救、边境巡检、城市全域监控等场景中,纯可见光相机极易受夜间黑暗、强光逆光、雾霾、树木遮挡等环境干扰,远距离高空下的行人目标像素占比极低,传统单模态视觉算法漏检、误检问题频发,难以满足全天候作业需求。无人机搭载可见光+热红外(RGBT)双光相机成为行业主流方案,但模态图像精准对齐、海量标注样本缺失、适配高空俯拍视角的小目标训练数据不足,始终制约着多模态检测算法的落地迭代。本次分享的无人机航拍多模态行人检测数据集,完成RGB与红外图像逐帧同步对齐,专为高空俯拍小目标行人检测打造,样本体量充足、采集场景贴合真实作业环境,可直接作为多模态目标检测算法的标准基准数据集,助力开发者研发全天候无人机智能感知系统。


一、项目整体概述

1.1 数据集定位

本数据集是面向无人机低空航拍场景的RGBT双模态小目标行人检测基准数据集,聚焦高空俯拍视角下行人小目标检测任务,核心解决单模态图像环境适应性差、跨模态图像错位、微小目标特征难以提取等行业痛点。数据集所有图像均由无人机搭载双光相机同步采集,可见光与热红外图像严格配准,适用于多模态融合算法研发、模型训练、性能对比与工业项目落地测试。

1.2 核心基础信息表

信息维度 详细参数
核心任务 小目标行人检测(Tiny Person Detection)、RGBT跨模态目标检测
采集设备 无人机搭载RGB+热红外一体化双光相机
飞行参数 飞行高度50--80m,俯视角45°--60°,完全模拟常规低空巡检作业姿态
图像规格 单张图像分辨率640×512,统一尺寸降低模型预处理成本
数据总量 共计6125组RGB-红外配对图像,全量完成精细化标注
数据集划分 训练集4900组图像,测试集1225组图像,划分比例贴合深度学习常规分配标准
标注实例 全数据集累计标注行人实例70880个,密集样本与稀疏样本分布均衡
核心特性 双模态图像像素级对齐、俯拍小目标密集分布、覆盖多光照复杂环境

1.3 核心优势与技术挑战

  1. 数据优势
    • 双模态强对齐:采集阶段完成硬件校准,RGB与红外图像视场、像素位置完全匹配,规避跨模态错位带来的融合误差;
    • 视角高度写实:复刻无人机真实巡检高度与角度,行人以小目标形态为主,贴合工程实际;
    • 样本分布合理:训练集、测试集划分规范,海量行人实例可支撑模型充分学习特征,有效缓解小目标特征稀疏问题。
  2. 技术挑战
    • 目标尺度极小:高空拍摄导致行人像素占比低,特征微弱,易被背景噪声覆盖;
    • 模态特征差异:可见光侧重纹理、色彩信息,红外依托热辐射特征,二者语义存在差异,对特征融合策略要求高;
    • 复杂背景干扰:户外场景包含植被、建筑、道路等多元背景,进一步提升检测难度。

二、数据集目录结构与标注规范(GitHub标准格式)

2.1 标准目录结构

数据集兼容YOLO、RT-DETR等主流多模态检测框架,采用分组存储模式,每组包含一一对应的RGB图像、红外图像与标注文件,目录结构如下,解压后可直接导入项目:

复制代码
drone_rgbtd_pedestrian/
├── rgb/                    # 可见光图像总目录
│   ├── train/              # 训练集可见光图像(4900张)
│   └── test/               # 测试集可见光图像(1225张)
├── infrared/               # 热红外图像总目录(与RGB图像文件名一一对应)
│   ├── train/
│   └── test/
├── labels/                 # 目标检测标注文件(统一YOLO格式)
│   ├── train/
│   └── test/
├── rgbt_dataset.yaml       # 多模态数据集配置文件(YOLO系列专用)
└── README.md               # 采集说明、标注规则、使用协议

2.2 标注规则说明

  • 标注格式:采用YOLO通用归一化坐标格式,单行标注规则:类别ID x中心 y中心 框宽 框高
  • 类别定义:仅单类别任务,0 = 行人(Pedestrian)
  • 坐标规范:所有坐标基于640×512原始图像做归一化,取值范围[0,1],适配任意输入尺寸的模型;
  • 配对规则:同组RGB图像、红外图像、标注文件文件名完全一致,确保数据一一映射。

三、深度学习实战代码(多模态RGBT检测全流程)

基于YOLOv8-RGBT多模态框架开发,包含环境配置、数据集校验、跨模态特征融合、模型训练、双模态图像推理、模型评估全流程代码,所有代码结合无人机航拍、红外可见光融合场景添加专属注释,可直接运行。

3.1 环境依赖安装

适配Python3.9+版本,包含多模态处理、图像读取、模型训练全套依赖:

bash 复制代码
# 安装核心依赖,支持双模态图像加载与模型训练
pip install ultralytics torch opencv-python numpy pillow pyyaml tqdm

3.2 数据集配置文件 rgbt_dataset.yaml

适配双模态输入格式,定义数据路径、类别与图像基础参数,多模态训练必备配置:

yaml 复制代码
# 无人机RGBT行人小目标检测数据集配置文件
path: ./drone_rgbtd_pedestrian  # 数据集根目录
# 双模态图像路径,RGB与红外一一对应
train_rgb: rgb/train
train_ir: infrared/train
val_rgb: rgb/test
val_ir: infrared/test
# 检测类别配置
nc: 1  # 仅1类:行人
names:
  0: Pedestrian
# 图像基础参数(与数据集分辨率保持一致)
imgsz: [640, 512]

3.3 双模态数据集完整性校验代码

场景注释:RGBT数据集最易出现图像配对缺失、文件名不一致、标注坐标越界等问题,无人机采集的图像偶尔存在格式异常。本脚本批量校验RGB、红外图像配对关系、标注合法性,提前排查数据问题,避免训练中途中断。

python 复制代码
import os
from pathlib import Path

# 全局路径配置,根据本地存放路径修改
DATA_ROOT = Path("./drone_rgbtd_pedestrian")
RGB_DIR = DATA_ROOT / "rgb"
IR_DIR = DATA_ROOT / "infrared"
LABEL_DIR = DATA_ROOT / "labels"
CLASS_ID_RANGE = [0]  # 仅行人一类

def check_rgbt_dataset():
    """RGBT双模态行人数据集校验:图像配对、标注格式、坐标合法性"""
    total_error = 0
    # 遍历训练集、测试集
    for split in ["train", "test"]:
        rgb_path = RGB_DIR / split
        ir_path = IR_DIR / split
        label_path = LABEL_DIR / split

        # 校验文件夹是否存在
        if not all([rgb_path.exists(), ir_path.exists(), label_path.exists()]):
            print(f"【致命错误】{split} 目录缺失,终止校验")
            total_error += 1
            continue

        # 获取所有可见光图像文件名
        rgb_file_list = [f.stem for f in rgb_path.glob("*.jpg") + rgb_path.glob("*.png")]
        print(f"正在校验 {split} 集,图像总数:{len(rgb_file_list)}")

        for file_name in rgb_file_list:
            # 校验红外图像是否配对
            ir_file = ir_path / f"{file_name}.jpg"
            if not ir_file.exists():
                print(f"【配对异常】可见光图像 {file_name} 无对应红外图像")
                total_error += 1
                continue

            # 校验标注文件
            label_file = label_path / f"{file_name}.txt"
            if not label_file.exists():
                print(f"【标注缺失】图像 {file_name} 无标注文件")
                total_error += 1
                continue

            # 校验标注内容
            with open(label_file, "r", encoding="utf-8") as f:
                lines = f.readlines()
                for idx, line in enumerate(lines):
                    line = line.strip()
                    if not line:
                        continue
                    parts = list(map(float, line.split()))
                    # YOLO标注固定5个字段
                    if len(parts) != 5:
                        print(f"【格式错误】{file_name} 标注第{idx+1}行字段异常")
                        total_error += 1
                        continue
                    cls, x, y, w, h = parts
                    # 校验类别ID与归一化坐标
                    if int(cls) not in CLASS_ID_RANGE:
                        print(f"【类别错误】{file_name} 存在非法类别ID:{cls}")
                        total_error += 1
                    if not (0 <= x <= 1 and 0 <= y <= 1 and 0 <= w <= 1 and 0 <= h <= 1):
                        print(f"【坐标越界】{file_name} 标注坐标超出归一化范围")
                        total_error += 1

    if total_error == 0:
        print("✅ 全量数据集校验通过,双模态图像、标注完全合规,可启动训练")
    else:
        print(f"❌ 校验完成,累计发现 {total_error} 处异常,请修复后再使用")

if __name__ == "__main__":
    check_rgbt_dataset()

3.4 跨模态特征融合模块(核心RIFusion代码)

场景注释:针对无人机RGBT小目标检测设计中间层特征融合模块,利用通道注意力机制融合RGB纹理特征与红外热辐射特征,弥补小目标特征不足的缺陷,缓解跨模态语义鸿沟,是多模态检测的核心组件。

python 复制代码
import torch
import torch.nn as nn

class RIFusion(nn.Module):
    """RGB+红外双模态特征融合模块,适配高空小目标行人检测"""
    def __init__(self, channel, reduction=16):
        super(RIFusion, self).__init__()
        # 自适应全局池化,聚合全局特征
        self.avg_pool = nn.AdaptiveAvgPool2d(1)
        # 通道注意力权重计算
        self.fc = nn.Sequential(
            nn.Linear(channel * 2, channel * 2 // reduction, bias=False),
            nn.ReLU(inplace=True),
            nn.Linear(channel * 2 // reduction, channel * 2, bias=False),
            nn.Sigmoid()
        )

    def forward(self, rgb_feat, ir_feat):
        """
        前向传播:融合可见光特征与红外特征
        :param rgb_feat: 可见光分支特征图
        :param ir_feat: 红外分支特征图
        :return: 融合后特征图
        """
        b, c, h, w = rgb_feat.shape
        # 拼接双模态特征
        concat_feat = torch.cat([rgb_feat, ir_feat], dim=1)
        # 全局池化 + 注意力加权
        pool_feat = self.avg_pool(concat_feat).view(b, -1)
        att_weight = self.fc(pool_feat).view(b, c*2, 1, 1)
        # 注意力加权融合特征
        fused_feat = concat_feat * att_weight
        return fused_feat

3.5 YOLOv8-RGBT模型训练代码

场景注释:针对无人机高空小目标、双模态数据调优超参。调高迭代轮数保证小目标特征收敛,开启强数据增强模拟光照、角度变化,采用AdamW优化器提升多模态特征拟合能力,设置早停策略防止模型过拟合;小目标场景降低置信度阈值,减少漏检情况。

python 复制代码
from ultralytics import YOLO

def train_rgbt_ped_model():
    """训练RGBT双模态行人小目标检测模型"""
    # 加载基础预训练权重,基于YOLOv8s构建双模态网络,兼顾精度与推理速度
    model = YOLO("yolov8s.pt")

    # 启动多模态模型训练
    train_results = model.train(
        data="./drone_rgbtd_pedestrian/rgbt_dataset.yaml",
        epochs=150,          # 迭代轮数:小目标需更多轮次收敛特征
        batch=12,            # 批次大小,8G显存推荐8-12
        imgsz=[640, 512],    # 匹配数据集原始分辨率,避免图像变形
        device=0,            # 使用GPU训练,无GPU改为 device="cpu"
        lr0=0.0008,          # 低学习率,稳定多模态特征融合训练
        optimizer="AdamW",
        augment=True,        # 数据增强:适配户外光照、角度变化
        mosaic=1.0,          # 马赛克增强,强化小目标检测能力
        patience=25,         # 早停策略,连续25轮无提升则停止训练
        conf=0.2,            # 低置信度阈值,捕捉微弱小目标
        project="drone_rgbt",
        name="yolov8_rgbt_ped",
        save_best=True       # 仅保存最优权重
    )
    print(f"🎉 训练结束!最优权重路径:{train_results.save_dir}/weights/best.pt")

if __name__ == "__main__":
    train_rgbt_ped_model()

3.6 双模态图像批量推理代码

场景注释:模拟无人机实时巡检推理流程,同步读取配对的RGB与红外图像,加载训练完成的多模态模型执行检测,输出行人位置、置信度,结果可直接对接无人机地面站、安防后台系统,适配全天候巡检业务。

python 复制代码
import cv2
from pathlib import Path
from ultralytics import YOLO

# 推理全局配置
MODEL_WEIGHT = "./drone_rgbt/yolov8_rgbt_ped/weights/best.pt"
TEST_RGB = Path("./drone_rgbtd_pedestrian/rgb/test")
TEST_IR = Path("./drone_rgbtd_pedestrian/infrared/test")
CONF_THRESH = 0.2
IOU_THRESH = 0.4

def rgbt_detect_infer():
    """RGBT双模态图像批量推理,检测高空行人小目标"""
    model = YOLO(MODEL_WEIGHT)
    # 获取测试集可见光图像
    rgb_file_list = [f for f in TEST_RGB.glob("*.jpg")]

    for rgb_file in rgb_file_list:
        file_stem = rgb_file.stem
        ir_file = TEST_IR / f"{file_stem}.jpg"
        if not ir_file.exists():
            continue

        # 双模态图像输入推理
        results = model(
            source=[str(rgb_file), str(ir_file)],
            conf=CONF_THRESH,
            iou=IOU_THRESH,
            save=True,
            show_labels=True
        )

        # 解析检测结果
        for res in results:
            boxes = res.boxes
            if boxes is None or len(boxes) == 0:
                print(f"【{file_stem}】未检测到行人目标")
                continue
            # 遍历所有检测到的行人
            for box in boxes:
                conf = float(box.conf[0])
                print(f"【{file_stem}】检测到行人,置信度:{conf:.2f}")

if __name__ == "__main__":
    rgbt_detect_infer()

3.7 模型性能评估代码

场景注释 :安防、搜救场景中,行人漏检会造成严重后果,因此重点评估召回率与mAP指标。本代码输出模型在测试集上的综合指标,量化多模态模型在小目标、复杂场景下的检测能力。

python 复制代码
from ultralytics import YOLO

def evaluate_rgbt_model():
    """评估RGBT行人检测模型综合性能"""
    model = YOLO("./drone_rgbt/yolov8_rgbt_ped/weights/best.pt")
    metrics = model.val(
        data="./drone_rgbtd_pedestrian/rgbt_dataset.yaml",
        conf=0.2,
        iou=0.4
    )
    # 打印核心评估指标
    print("===== 无人机RGBT行人小目标检测模型评估结果 =====")
    print(f"mAP@0.5: {metrics.box.map50:.4f}")
    print(f"精确率(Precision): {metrics.box.precision:.4f}")
    print(f"召回率(Recall): {metrics.box.recall:.4f}")

if __name__ == "__main__":
    evaluate_rgbt_model()

四、数据集应用价值与落地场景

4.1 核心应用价值

  1. 算法基准支撑:作为标准RGBT小目标检测Benchmark,可用于不同多模态融合算法、单/双模态模型的性能横向对比,推动跨模态视觉技术迭代;
  2. 全天候作业落地:融合红外与可见光优势,白天依托RGB纹理,夜间/恶劣天气依靠红外热成像,实现无人机7×24小时不间断巡检;
  3. 降低研发成本:全量图像完成对齐与标注,开发者无需额外处理模态配准、标注工作,可快速开展模型训练与项目开发;
  4. 解决行业痛点:专门针对高空俯拍小目标优化,有效缓解远距离行人漏检问题,提升无人机视觉系统的实用性。

4.2 主流落地场景

  • 低空智慧安防:城市园区、厂区、社区无人机常态化巡逻,全天候监测人员活动;
  • 应急灾害搜救:地震、洪水、火灾等灾害现场,无人机快速搜寻被困人员,规避人工搜救风险;
  • 边境/库区巡检:野外边境线、大型水库、林区远距离巡查,不受光照、雾气影响;
  • 科研与教学:多模态计算机视觉、小目标检测方向的课程实验、毕业设计、算法竞赛。

五、使用规范与优化建议(GitHub Tips)

!NOTE

  1. 数据集仅限学术研究、算法开发、项目测试使用,禁止二次售卖、商用倒卖;
  2. 训练建议使用NVIDIA GPU环境,6125组双模态数据完整训练,GPU环境耗时约3--6小时,CPU训练效率极低;
  3. 若需适配RT-DETR、DETR等Transformer类模型,可使用标注转换工具将YOLO格式转为VOC、COCO格式;
  4. 数据集目标以小目标为主,训练时不建议使用过大的下采样倍数,避免特征完全丢失。

!TIP

  1. 边缘端部署(无人机机载设备):基于本数据集训练的模型,可结合TensorRT、ONNX做模型量化与剪枝,压缩模型体积、提升推理速度;
  2. 数据扩充方案:可结合GAN算法生成红外/可见光配对样本,或采用随机裁剪、亮度变换等增强方式,进一步提升模型泛化能力;
  3. 模态融合优化:若模型精度偏低,可尝试调整融合时机(早期融合、中期融合、决策层融合),适配不同场景。

六、深度拓展方向(技术延伸思考)

  1. 多任务拓展:在目标检测基础上增加行人分割、人数统计、行为识别任务,实现"检测+分割+计数"一体化系统;
  2. 视频流推理:结合OpenCV读取无人机实时视频流,实现帧级RGBT融合检测,适配动态航拍场景;
  3. 恶劣场景适配:基于本数据集添加雾天、雨天、强光等模拟数据,训练强鲁棒性模型;
  4. 轻量化改造:结合MobileNet、ShuffleNet等轻量骨干网络,打造适配无人机嵌入式板卡的端侧模型。

文末全量标签

#无人机RGBT检测 #红外可见光融合 #行人小目标检测 #航拍计算机视觉 #深度学习数据集 #低空安防 #应急搜救 #跨模态特征融合 #YOLO多模态实战 #工业视觉开发

相关推荐
古希腊掌管代码的神THU1 小时前
解析 MiniMax M3 多模态大模型的架构/源码?
人工智能·深度学习·自然语言处理·面试
卡卡罗特AI1 小时前
Codex复刻小米MiMoCode官网,丝滑融入项目,只需要3步!保姆级教程!
人工智能·ai编程
sunneo1 小时前
本周 AI 新动态精选(2026.06.08–06.14)
人工智能·aigc·ai编程·ai写作·ai-native
动物园猫1 小时前
用于实验室智能识别的目标检测数据集分享(适用于YOLO系列深度学习分类检测任务)
深度学习·yolo·目标检测
人工智能AI技术1 小时前
Loop Engineering彻底改写AI编程:不用手写提示词,让AI自主循环干活
人工智能
调试优选官1 小时前
2026上海AI搜索GEO优化服务商技术路径深度解析
人工智能·ai·geo·上海
麦cocc1 小时前
大模型的监督微调(Supervised Fine-Tuning, SFT)
人工智能·自然语言处理
坚持是一种态度1 小时前
Spring AI Demo - 多模型智能聊天应用
人工智能·spring boot
yyuuuzz1 小时前
云服务器软件部署的常见问题与经验
linux·运维·服务器·网络·数据库·人工智能·github