Skip to content

Cybing521/computional_perception

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Detection-Driven Infrared-Visible Image Fusion via Spatial-Coordinate Attention

GitHub Python PyTorch

全天候目标检测研究: 基于 S-CAFM (Spatial-Coordinate Attention Fusion Module) 和检测驱动的联合训练框架,解决红外与可见光图像融合中的位置模糊问题。

🚀 项目简介 (Introduction)

本项目针对道路场景下单一模态感知的局限性(如夜间可见光盲区、红外图像纹理缺失),提出了一种检测驱动的红外与可见光图像融合框架

核心创新点:

  1. S-CAFM (Spatial-Coordinate Attention Fusion Module): 利用道路场景的几何先验(水平车道线、垂直行人),通过正交分解捕捉长距离空间依赖,充当检测回归任务的“空间标尺”。
  2. Detection-Driven Joint Training: 实现了端到端的联合训练,将检测网络 (YOLOv8) 的梯度直接回传给融合网络,迫使模型保留对检测至关重要的边缘特征。

📊 核心指标 (Performance)

在 MSRS 数据集上的测试结果表明,本方法在保持高推理速度的同时,显著提升了检测精度。

Method mAP@50 (%) mAP@75 (%) AG (清晰度) Latency (ms)
TarDAL (Baseline) 79.5 46.8 4.12 30.1
SeAFusion 80.5 48.2 6.42 45.3
Ours 81.3 51.2 32.76 28.5

Highlight: mAP@75 提升 +4.4%,证明了 S-CAFM 对定位精度的显著贡献。

📂 目录结构 (Structure)

.
├── Report/                 # 📄 项目报告 (main.pdf) 及 LaTeX 源码
├── SourceCode/             # 💻 核心代码仓库
│   ├── Baseline/           # TarDAL 基准模型代码
│   ├── Dataset/            # 数据集配置
│   └── ...
├── PPT/                    # 📢 演示文稿
├── References/             # 📚 参考文献
└── README.md               # 📌 项目说明

🛠️ 快速上手 (Quick Start)

1. 环境配置

推荐使用 Conda 创建虚拟环境:

conda create -n fusion_perception python=3.9
conda activate fusion_perception
pip install torch torchvision torchaudio  # 根据硬件安装 GPU/MPS 版本
pip install -r SourceCode/Baseline/TarDAL/requirements.txt
  • 运行转换脚本将分割标签转换为 YOLO 格式。

2. 数据集准备 (Data Preparation)

本项目使用 MSRS (Multi-Spectral Road Scenarios) 数据集。原始 MSRS 数据集仅提供语义分割标签,为了将其适配于本项目的目标检测任务,我们需要进行以下标准化处理(由 SourceCode/Dataset/convert_yolo.py 自动完成):

  1. 标签转换 (Segmentation to BBox):

    • 输入: 原始 RGB 掩膜图像 (Segmentation_labels/),像素值对应类别 ID。
    • 处理: 提取每个类别的连通域轮廓,计算其外接矩形 (Bounding Box),并归一化为 YOLO 格式 (x_center, y_center, w, h)。
    • 类别映射:
      • MSRS ID 1 (Car) -> YOLO ID 0
      • MSRS ID 2 (Person) -> YOLO ID 1
      • MSRS ID 3 (Bike) -> YOLO ID 2
    • 输出: 对应每一张图像的 .txt 检测标签文件。
  2. 操作步骤:

    • 下载 MSRS 数据集并解压至 SourceCode/Dataset/MSRS/
    • 运行转换脚本:
      cd SourceCode/Dataset
      python convert_yolo.py
    • 脚本将自动生成符合 YOLOv8 训练要求的目录结构及 msrs_detection.yaml 配置文件。

⚠️ 数据集获取提示: 为了减小项目体积,当前最新版本的代码库中已移除了原始图像数据。 如果您希望直接从项目历史中获取包含完整数据集的版本,请检出 main 分支上提交信息为 “提交PPT” 的该次提交。

# 示例命令 (需替换成实际的 commit hash)
git checkout <commit-hash-of-提交PPT>

3. 运行测试

使用提供的脚本生成分析图表:

cd SourceCode/Baseline/TarDAL/scripts
python pr_curve_plot.py  # 生成 PR 曲线
python run_all_analyses.py  # 运行完整的消融分析

💐 致谢与引用 (Acknowledgements)

本项目在开发过程中引用了优秀的开源工作,特此感谢:

1. 数据集支持

  • MSRS (Multi-Spectral Road Scenarios):
    • 链接: https://github.com/Curtis007/MSRS
    • 作用: 本项目使用了 MSRS 提供的 1444 对高质量红外-可见光图像及其语义分割标签(经转换后用于检测),作为核心训练与评估数据。

2. 代码框架支持

  • TarDAL (Target-aware Dual Adversarial Learning):
    • 链接: https://github.com/LiuZhuang1996/TarDAL (CVPR 2022)
    • 作用: 本项目基于 TarDAL 优秀的对抗学习框架进行二次开发,保留了其检测驱动的 loss 设计思路,并在此基础上集成了 S-CAFM 模块以增强空间位置感知。

📝 引用 (Citation)

如果您觉得本项目对您有帮助,请给个 Star ⭐️!

📧 联系方式

About

计算感知大作业,针对道路场景下单一模态感知的局限性(如夜间可见光盲区、红外图像纹理缺失),提出了一种检测驱动的红外与可见光图像融合框架。

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages