YOLOv10-MRA:基于小波域特征分解与重构的多分辨分析目标检测算法
目录
为什么要做多分辨分析?
整体架构设计
完整代码实现
1. 小波变换模块
2. 子带增强模块
3. 完整的MRABlock
4. 修正版MRABlock
5. 集成到YOLOv10
大概两个月前,我接到一个工业检测的项目,需要在低分辨率图像中检测微小的表面缺陷。传统的YOLOv10虽然速度很快,但是在高频细节保留和抗混叠方面总感觉差点意思。后来翻了一些信号处理的论文,突然想到:为什么不试试小波变换呢?把图像分解成不同频率的子带,让网络自己去学怎么融合这些信息。
经过一个多月的反复调试,终于把这个YOLOv10-MRA(Multi-Resolution Analysis)版本给跑通了。说实话,中间踩了不少坑,比如小波基的选择、逆变换的可微性、特征对齐的维度匹配等等。今天就把这些经验整理出来,希望对做目标检测改进的朋友有帮助。
为什么要做多分辨分析?
先说说动机。标准YOLOv10的骨干网络用的是卷积和注意力机制的堆叠,本质上是在空间域做特征提取。这种方法有一个天然的缺陷:它没有显式地对频率信息进行建模。
举个简单的例子,一张图像里既有平滑的背景区域(低频分量),又有尖锐的边缘和纹理(高频分量)。传统CNN通过堆叠卷积层可以逐渐扩大感受野,但这种方式对高频细节的保护并不直接。下采样操作(步长卷积或池化)会丢失高频信息,而上采样又无法真正恢复丢失的细节。
<