全天候目标检测研究: 基于 S-CAFM (Spatial-Coordinate Attention Fusion Module) 和检测驱动的联合训练框架,解决红外与可见光图像融合中的位置模糊问题。
本项目针对道路场景下单一模态感知的局限性(如夜间可见光盲区、红外图像纹理缺失),提出了一种检测驱动的红外与可见光图像融合框架。
核心创新点:
- S-CAFM (Spatial-Coordinate Attention Fusion Module): 利用道路场景的几何先验(水平车道线、垂直行人),通过正交分解捕捉长距离空间依赖,充当检测回归任务的“空间标尺”。
- Detection-Driven Joint Training: 实现了端到端的联合训练,将检测网络 (YOLOv8) 的梯度直接回传给融合网络,迫使模型保留对检测至关重要的边缘特征。
在 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 对定位精度的显著贡献。
.
├── Report/ # 📄 项目报告 (main.pdf) 及 LaTeX 源码
├── SourceCode/ # 💻 核心代码仓库
│ ├── Baseline/ # TarDAL 基准模型代码
│ ├── Dataset/ # 数据集配置
│ └── ...
├── PPT/ # 📢 演示文稿
├── References/ # 📚 参考文献
└── README.md # 📌 项目说明
推荐使用 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 格式。
本项目使用 MSRS (Multi-Spectral Road Scenarios) 数据集。原始 MSRS 数据集仅提供语义分割标签,为了将其适配于本项目的目标检测任务,我们需要进行以下标准化处理(由 SourceCode/Dataset/convert_yolo.py 自动完成):
-
标签转换 (Segmentation to BBox):
- 输入: 原始 RGB 掩膜图像 (
Segmentation_labels/),像素值对应类别 ID。 - 处理: 提取每个类别的连通域轮廓,计算其外接矩形 (Bounding Box),并归一化为 YOLO 格式 (
x_center, y_center, w, h)。 - 类别映射:
- MSRS ID
1(Car) -> YOLO ID0 - MSRS ID
2(Person) -> YOLO ID1 - MSRS ID
3(Bike) -> YOLO ID2
- MSRS ID
- 输出: 对应每一张图像的
.txt检测标签文件。
- 输入: 原始 RGB 掩膜图像 (
-
操作步骤:
- 下载 MSRS 数据集并解压至
SourceCode/Dataset/MSRS/。 - 运行转换脚本:
cd SourceCode/Dataset python convert_yolo.py - 脚本将自动生成符合 YOLOv8 训练要求的目录结构及
msrs_detection.yaml配置文件。
- 下载 MSRS 数据集并解压至
⚠️ 数据集获取提示: 为了减小项目体积,当前最新版本的代码库中已移除了原始图像数据。 如果您希望直接从项目历史中获取包含完整数据集的版本,请检出main分支上提交信息为 “提交PPT” 的该次提交。# 示例命令 (需替换成实际的 commit hash) git checkout <commit-hash-of-提交PPT>
使用提供的脚本生成分析图表:
cd SourceCode/Baseline/TarDAL/scripts
python pr_curve_plot.py # 生成 PR 曲线
python run_all_analyses.py # 运行完整的消融分析本项目在开发过程中引用了优秀的开源工作,特此感谢:
- MSRS (Multi-Spectral Road Scenarios):
- 链接: https://github.com/Curtis007/MSRS
- 作用: 本项目使用了 MSRS 提供的 1444 对高质量红外-可见光图像及其语义分割标签(经转换后用于检测),作为核心训练与评估数据。
- TarDAL (Target-aware Dual Adversarial Learning):
- 链接: https://github.com/LiuZhuang1996/TarDAL (CVPR 2022)
- 作用: 本项目基于 TarDAL 优秀的对抗学习框架进行二次开发,保留了其检测驱动的 loss 设计思路,并在此基础上集成了 S-CAFM 模块以增强空间位置感知。
如果您觉得本项目对您有帮助,请给个 Star ⭐️!
- GitHub: Cybing521
- Email: 25121360@bjtu.edu.cn
- Project Link: https://github.com/Cybing521/computional_perception