精读双模态目标检测论文系列二|CDC-YOLOFusion中CDS跨模态数据交换移植到YOLO系列代码中(附可运行代码 + 二次顶刊创新思路)

张开发
2026/4/10 3:17:35 15 分钟阅读

分享文章

精读双模态目标检测论文系列二|CDC-YOLOFusion中CDS跨模态数据交换移植到YOLO系列代码中(附可运行代码 + 二次顶刊创新思路)
大家好这里是双模态遥感目标检测精读系列第二篇本期精读顶刊论文CDC-YOLOFusion中CDS跨模态数据交换聚焦可见光 - 红外双模态遥感小目标检测从论文创新、模块拆解、可运行代码到顶刊二次创新思路全覆盖适合科研党、算法工程师直接复用论文标题如下CDC-YOLOFusion: Leveraging Cross-scale Dynamic Convolution Fusion for Visible-InfraredObject Detection一、策略定位与核心目的Cross-modal Data SwappingCDS跨模态数据交换是论文提出的可见光 - 红外双模态专属数据增强策略用于替换传统单模态裁剪、马赛克增强解决双模态检测中模态关联挖掘不足的问题。核心目标在可见光与红外图像间做局部区域交换生成混合模态图像强制模型学习局部区域内的跨模态关联吸收互补细节。适用场景可见光 - 红外目标检测的训练阶段数据预处理。二、核心原理不破坏图像整体语义仅在成对对齐的可见光 / 红外图像间交换局部块。生成两张同时包含两种模态信息的混合图像保留高层语义统一。让模型在训练时直接接触模态差异特征提升跨模态特征提取与融合鲁棒性。三、实现方式步骤 1初始化掩码对可见光 Iv​、红外 Iir​ 分别创建全 0 掩码Mv​,Mir​∈RH×W。步骤 2分块与随机选块将图像与掩码划分为 N×N 网格局部区域。随机选择N 个区域作为交换候选将候选区域内掩码值置为1。最优参数论文实验验证 N10、交换概率 0.3 时效果最好。步骤 3执行区域交换按公式逐元素替换掩码 1 的位置保留原模态图像像素掩码 0 的位置替换为另一模态对应位置像素步骤 4输入模型训练将生成的 Ivswap​、Iirswap​ 分别送入双分支骨干网络进行后续特征提取。具体代码如下def load_image(self, i, rect_modeTrue): Loads 1 image from dataset index i, returns (im, resized hw). im, f, fn self.ims[i], self.im_files[i], self.npy_files[i] # # 1. 基础读取与缓存逻辑 (保持你的原逻辑不变) # if im is None: # not cached in RAM if fn.exists(): # load npy try: im np.load(fn) except Exception as e: LOGGER.warning(f{self.prefix}WARNING ⚠️ Removing corrupt *.npy image file {fn} due to: {e}) Path(fn).unlink(missing_okTrue) # 重新读取并合并为 6 通道 im_rgb cv2.imread(f) # BGR im_nir cv2.imread(self.la_files[i]) im cv2.merge((im_nir, im_rgb)) else: # read image im_rgb cv2.imread(f) # BGR im_nir cv2.imread(self.la_files[i]) im cv2.merge((im_nir, im_rgb)) if im is None: raise FileNotFoundError(fImage Not Found {f}) h0, w0 im.shape[:2] # orig hw if rect_mode: # resize long side to imgsz while maintaining aspect ratio r self.imgsz / max(h0, w0) # ratio if r ! 1: # if sizes are not equal w, h (min(math.ceil(w0 * r), self.imgsz), min(math.ceil(h0 * r), self.imgsz)) im cv2.resize(im, (w, h), interpolationcv2.INTER_LINEAR) elif not (h0 w0 self.imgsz): # resize by stretching image to square imgsz im cv2.resize(im, (self.imgsz, self.imgsz), interpolationcv2.INTER_LINEAR) # Add to buffer if training with augmentations if self.augment: # ⚠️ 关键安全锁存入 RAM 缓存时必须存入原始数据的副本 self.ims[i], self.im_hw0[i], self.im_hw[i] im.copy(), (h0, w0), im.shape[:2] self.buffer.append(i) if 1 len(self.buffer) self.max_buffer_length: # prevent empty buffer j self.buffer.pop(0) if self.cache ! ram: self.ims[j], self.im_hw0[j], self.im_hw[j] None, None, None else: # ⚠️ 关键安全锁如果从缓存中读取取副本进行后续增强防止原地修改污染全局 RAM im self.ims[i].copy() h0, w0 self.im_hw0[i] # # 2. 核心植入CDS 跨模态数据交换 (针对 6 通道) # # 仅在训练且开启 augment 时执行 if self.augment: import random swap_prob 0.3 # 论文推荐的触发概率 if random.random() swap_prob: N 10 # 论文推荐的网格划分数 H, W im.shape[:2] h_step, w_step H // N, W // N # 计算需要交换的块数 (默认交换 1/4 的区域) num_swap (N * N) // 4 swap_indices random.sample(range(N * N), num_swap) for idx in swap_indices: row idx // N col idx % N y1, y2 row * h_step, (row 1) * h_step x1, x2 col * w_step, (col 1) * w_step # 提取当前块 # 通道 0:3 是 NIR通道 3:6 是 RGB nir_patch im[y1:y2, x1:x2, 0:3].copy() rgb_patch im[y1:y2, x1:x2, 3:6].copy() # 交叉赋值把 RGB 特征贴到 NIR 通道把 NIR 特征贴到 RGB 通道 im[y1:y2, x1:x2, 0:3] rgb_patch im[y1:y2, x1:x2, 3:6] nir_patch # 统一返回处理后的图像 return im, (h0, w0), im.shape[:2]取代ultralytics/data/base.py里面的BaseDataset类里面的load_image即可。四、方法核心总结CDC-YOLOFusion 是面向可见光 - 红外双模态目标检测的单阶段融合检测网络基于 YOLOv5 双分支架构通过跨模态数据增强、跨尺度动态卷积融合、模态交互损失三大创新解决传统固定卷积对双模态分布适应性差、模态互补信息挖掘不足的问题实现暗光、遮挡、小目标等复杂场景下的高精度检测。该方法整体流程分为四步首先使用跨模态数据交换CDS在成对可见光与红外图像间随机交换局部区域生成混合模态数据强化模型对局部模态关联的学习其次通过双分支 CSPDarknet53 分别提取单模态多尺度特征然后接入跨尺度动态卷积融合模块CDCF利用跨尺度特征增强CSFE与双动态卷积融合DDCF单独为可见光、红外预测动态卷积核并引入差异注意力掩码聚焦模态间差异特征最后通过 ** 跨模态核交互损失KI Loss** 监督动态核学习使其同时捕捉模态共有显著特征与各自独有特征最终输出融合特征完成检测。其核心创新点体现在三方面一是提出 CDS 跨模态增强突破传统单模态增强局限在数据层构建互补信息二是设计 CDCF 模块摒弃拼接后统一生成动态核的思路采用跨尺度增强 单模态独立核 差异注意力最大化保留模态特异性三是构建 KI 损失用 JS 散度平衡模态共性与差异实现有监督的动态核优化。实验表明该方法在 VEDAI、FLIR、LLVIP 三大数据集上达到 SOTAmAP 相对最优方法提升 2%–3%同时在参数量与推理速度间保持良好平衡。五、二次创新方向一数据增强层面创新可在 CDS 基础上拓展自适应跨模态交换。当前 CDS 采用固定分块与随机交换可引入光照、温度、目标显著性图指导交换区域选择对可见光弱光区域、红外高温目标区域优先交换提升关键目标区域的模态互补性同时加入混合模态掩码融合将交换、加权、通道混合三种策略集成根据场景动态切换适配昼夜、雾天、航拍等不同环境。二特征融合模块创新一是优化跨尺度增强结构将 CSFE 的 X/Y 注意力替换为轻量级旋转注意力提升对倾斜、小目标的建模能力同时保持低计算量二是改进动态卷积核生成引入模态对齐补偿分支解决可见光与红外存在轻微空间错位时的核学习偏差三是将 CDCF 轻量化设计分层动态融合策略深层用完整动态卷积浅层用固定卷积加速满足端侧部署需求。三损失函数与监督方式创新扩展 KI 损失为多尺度核交互损失在大、中、小三个检测层分别计算模态核差异强化小目标特征学习引入对比学习监督将同一目标的可见光 - 红外特征视为正样本对不同目标视为负样本对提升模态内聚类与模态间区分度结合蒸馏学习用 CDC-YOLOFusion 作为教师模型训练轻量化学生模型在保持精度的同时大幅降低参数量。后续将进行更新以及进行二次创新发顶刊必备。。。敬请关注笔者整理双模态检测的专属论文资料免费分享给粉丝需要关注后领取。

更多文章