【论文|复现】YOLOFuse:面向多模态目标检测的双流融合框架

目录

■技术特性

■LLVIP基准测试结果

■数据输入规范

■快速部署指南

①环境初始化

②模型训练

③推理验证

④代码

■数据集结构

■扩展

▲常见模态组合与应用场景

▲融合方式



YOLOFuse 是基于 Ultralytics YOLO 框架构建的增强型目标检测系统,专为多模态 感知任务设计。本框架创新性地引入双流处理架构,支持RGB与红外(IR)图像 的协同分析与特征融合,显著提升复杂环境(低照度、烟雾遮挡、极端天气等)下的检测鲁棒性。适用于安防监控、灾害救援、工业巡检等关键场景。

github代码: https://github.com/WangQvQ/YOLOFuse

技术特性

异构数据融合:实现RGB与IR图像(可扩展至RGB-D等模态)的端到端联合处理

兼容YOLOv8 API:保留原生接口规范,确保用户迁移成本最小化

可扩展融合模块:提供多层次融合策略,支持:

✅ 数据级融合(Data-level Fusion)

✅ 决策级融合(Decision-level Fusion)

✅ 早期特征融合(Early-level Feature Fusion)

✅ 中期特征融合(Mid-level Feature Fusion)

✅ 极简融合(Easy-level Feature Fusion)

✅ DEYOLO(arxiv

LLVIP基准测试结果

|----------------------------|------------|----------------|-----------------|----------------|-------------------|-------------------|----------------------|
| 模型架构 | 模态 | 精度 (P) | 召回率 (R) | mAP@50 | mAP@50:95 | 模型大小 (MB) | 计算量 (GFLOPs) |
| YOLOv8n (baseline) | RGB | 0.888 | 0.829 | 0.891 | 0.500 | 6.20 | 8.1 |
| YOLO-Fuse-中期特征融合 | RGB+IR | 0.951 | 0.881 | 0.947 | 0.601 | 2.61 | 3.2 |
| YOLO-Fuse-早期特征融合 | RGB+IR | 0.950 | 0.896 | 0.955 | 0.623 | 5.20 | 6.7 |
| YOLO-Fuse-决策级融合 | RGB+IR | 0.956 | 0.905 | 0.955 | 0.612 | 8.80 | 10.7 |
| YOLO-Fuse-极简融合 | RGB+IR | 0.899 | 0.865 | 0.939 | 0.620 | 7.83 | 8.5 |
| DEYOLO | RGB+IR | 0.943 | 0.895 | 0.952 | 0.615 | 11.85 | 16.6 |

数据输入规范

系统通过文件名自动关联异构数据源,需**++++确保文件命名一致性++++**.

数据集目录/

├── images/ # RGB图像

│ └── 120270.jpg

└── imagesIR/ # 红外图像(同级目录)

└── 120270.jpg # 同名IR文件

标注文件仅需基于RGB图像生成,系统自动复用至IR模态.

快速部署指南

环境初始化

bash 复制代码
git clone https://github.com/WangQvQ/YOLOFuse.git

cd YOLOFuse

pip install -e .  # 可编辑模式安装

模型训练

融合配置文件:ultralytics/cfg/models/fuse/

bash 复制代码
python train_dual.py  # 启动双流训练

推理验证

bash 复制代码
python infer_dual.py  # 执行融合推理

预训练权重下载

链接:https://pan.quark.cn/s/ec13c6e17b8d 提取码:HETx

④代码

  • infer_dual.py
python 复制代码
from ultralytics import YOLO

if __name__ == "__main__":
    model = YOLO("runs/train/RGB-IR/weights/best.pt")

    model.predict(
        source="ultralytics/assets/LLVIP/images",
        save=True,  # 保存预测结果
        imgsz=640,  # 输入图像的大小,可以是整数或w,h
        conf=0.25,  # 用于检测的目标置信度阈值(默认为0.25,用于预测,0.001用于验证)
        iou=0.45,  # 非极大值抑制 (NMS) 的交并比 (IoU) 阈值
        show=False,  # 如果可能的话,显示结果
        project="runs/predict",  # 项目名称(可选)
        name="exp",  # 实验名称,结果保存在'project/name'目录下(可选)
        save_txt=False,  # 保存结果为 .txt 文件
        save_conf=True,  # 保存结果和置信度分数
        save_crop=False,  # 保存裁剪后的图像和结果
        show_labels=True,  # 在图中显示目标标签
        show_conf=True,  # 在图中显示目标置信度分数
        vid_stride=1,  # 视频帧率步长
        line_width=3,  # 边界框线条粗细(像素)
        visualize=False,  # 可视化模型特征
        augment=False,  # 对预测源应用图像增强
        agnostic_nms=False,  # 类别无关的NMS
        retina_masks=False,  # 使用高分辨率的分割掩码
    )
  • train_dual.py
python 复制代码
from ultralytics import YOLO

if __name__ == "__main__":
    model = YOLO("ultralytics/cfg/models/fuse/easy-fuse.yaml")
    model.train(
        data="ultralytics/cfg/datasets/LLVIP.yaml",
        ch=6, # 多模态时设置为 6 ,单模态时设置为 3
        imgsz=640,
        epochs=100,
        batch=64,
        close_mosaic=0,
        workers=16,
        device="0",
        optimizer="SGD",
        patience=0,
        amp=False,
        cache=True, # disk 硬盘,速度稍快精度可复现;ram/True 内存,速度快但精度不可复现
        project="runs/train",
        name="easy-fuse",
        resume=False,
        fraction=1, # 只用全部数据的 ?% 进行训练 (0.1-1)
    )
  • val_dual.py
python 复制代码
from ultralytics import YOLO

model = YOLO("runs/train/easy-fuse/weights/best.pt")
model.val(
    data="ultralytics/cfg/datasets/LLVIP.yaml",
    ch=6,  # 多模态时设置为 6 ,单模态时设置为 3
)

数据集结构

采用标准YOLO格式,目录结构示例如下:

python 复制代码
datasets/
├── images/
│   ├── train/    # RGB训练集
│   └── val/      # RGB验证集
├── imagesIR/     # IR图像集(与images目录同级)
│   ├── train/
│   └── val/
└── labels/       # 统一标注文件
    ├── train/
    └── val/

■扩展

▲常见模态组合与应用场景

  • 可见光图像:擅长捕捉颜色和细节,但在夜间、低光或复杂天气(如雾霾)环境下性能显著下降。
  • 红外热成像:不受光照影响,能感知温度差异,适用于夜间监控、安防等场景,但缺乏颜色信息。
  • 激光雷达(LiDAR):提供精准的三维位置和深度信息,解决遮挡和距离感知问题,广泛应用于自动驾驶和机器人领域。
  • 毫米波雷达:在恶劣天气(如暴雨、大雾)中穿透性强,可与相机融合提升检测可靠性。

常见模态组合:

  • RGB+红外热成像(IR):适用于夜间监控、安防等场景。例如,监控系统白天用RGB摄像头捕捉彩色图像,夜间通过红外热像仪检测人体热辐射,融合后检测精度较单模态有很大提升。
  • RGB+深度(LiDAR):在自动驾驶和机器人领域应用广泛。摄像头识别物体类别,激光雷达提供三维位置和深度信息,解决遮挡和距离感知问题。
  • 其他组合:如毫米波雷达+相机(恶劣天气检测)。

▲融合方式

  • 数据级融合:直接拼接原始数据(如像素级叠加),保留全部细节,需严格空间对齐,适用于硬件配准良好的场景,为下图中的(a)前期融合。
  • 特征级融合:提取各模态特征后整合(如级联、注意力机制),计算效率与精度平衡,是主流方法。早期融合(b)、中-后期融合(c)、后期融合(d)均属于此范畴。
  • 决策级融合:独立检测后合并结果(如加权平均、投票),实时性强且容错性高,适合快速集成现有模型。

至此,本文的内容就结束了。

相关推荐
Ronin-Lotus1 小时前
深度学习篇---剪裁&缩放
图像处理·人工智能·缩放·剪裁
毛飞龙2 小时前
Python类(class)参数self的理解
python··self
魔尔助理顾问2 小时前
系统整理Python的循环语句和常用方法
开发语言·后端·python
cpsvps2 小时前
3D芯片香港集成:技术突破与产业机遇全景分析
人工智能·3d
AI棒棒牛2 小时前
YOLO算法演进综述:从YOLOv1到YOLOv13的技术突破与应用实践,一文掌握YOLO家族全部算法!
yolo·目标检测·sci·北大核心·yolov11·硕士毕业·yolov13
国科安芯2 小时前
抗辐照芯片在低轨卫星星座CAN总线通讯及供电系统的应用探讨
运维·网络·人工智能·单片机·自动化
AKAMAI3 小时前
利用DataStream和TrafficPeak实现大数据可观察性
人工智能·云原生·云计算
Ai墨芯1113 小时前
深度学习水论文:特征提取
人工智能·深度学习
无名工程师3 小时前
神经网络知识讨论
人工智能·神经网络
nbsaas-boot3 小时前
AI时代,我们更需要自己的开发方式与平台
人工智能