CVPR Oral技术解读:MAXIM的多轴MLP,为何在图像修复上比ViT和CNN更香?
MAXIM多轴MLP图像修复任务中的架构革新与性能突破计算机视觉领域正经历着一场从卷积神经网络到新型架构的范式转移。在底层视觉任务中传统CNN的局部感受野限制与Transformer的二次方复杂度问题促使研究者不断探索更高效的架构设计。MAXIMMulti-Axis MLP作为CVPR 2022 Oral论文提出的创新方案通过多轴门控MLP和交叉门控块的组合在图像去噪、去模糊等任务中实现了SOTA性能同时保持线性计算复杂度。本文将深入解析这一架构的设计哲学与技术实现揭示其为何能在图像修复领域超越ViT和CNN。1. 底层视觉任务的架构困境与突破路径图像修复任务如去噪、去模糊、超分辨率要求模型同时具备局部细节修复和全局结构重建能力。传统CNN通过堆叠卷积层扩大感受野但这种方式存在根本性限制——随着网络深度增加远距离像素间的直接交互仍然不足。Vision Transformer通过自注意力机制理论上可以实现全局交互但当处理高分辨率图像时其计算复杂度呈二次方增长导致实际应用中不得不采用分块策略进而引发块间伪影问题。MAXIM的突破性在于同时解决了两个关键挑战局部-全局信息融合通过并行处理局部块和全局网格分支实现多尺度特征捕获线性复杂度采用MLP-based设计计算量随图像尺寸线性增长支持原生全卷积操作下表对比了三种架构在图像修复任务中的特性特性CNNVision TransformerMAXIM感受野范围有限层叠扩大全局局部全局并行计算复杂度O(N)O(N²)O(N)位置信息处理隐式通过卷积显式位置编码隐式空间MLP高分辨率适应性优秀较差需分块优秀跨区域交互效率低效逐层传播高效但成本高高效且成本可控2. 多轴门控MLP的核心设计解析MAXIM的核心创新在于其多轴门控MLPMulti-Axis Gated MLP简称MAB模块。该模块通过巧妙的张量重组操作在保持MLP简洁性的同时实现了二维图像的高效处理。2.1 双分支并行架构MAB采用通道分离策略将输入特征分为两部分分别送入局部分支和全局分支# 伪代码展示MAB的双分支处理 def multi_axis_block(x): # 通道分离 x_local, x_global torch.chunk(x, 2, dim1) # 局部分支处理 x_local rearrange(x_local, c (h b1) (w b2) - (h w) (b1 b2) c, b1block_size, b2block_size) x_local MLP(x_local) # 在块内应用MLP x_local rearrange(x_local, (h w) (b1 b2) c - c (h b1) (w b2), b1block_size, b2block_size) # 全局分支处理 x_global rearrange(x_global, c (h d1) (w d2) - (d1 d2) (h w) c, d1grid_size, d2grid_size) x_global MLP(x_global) # 在网格内应用MLP x_global rearrange(x_global, (d1 d2) (h w) c - c (h d1) (w d2), d1grid_size, d2grid_size) # 合并结果 return torch.cat([x_local, x_global], dim1)提示block_size和grid_size是超参数分别控制局部处理的块大小和全局处理的网格密度。典型设置如block_size8grid_size4。2.2 线性复杂度的实现奥秘MAB的智能之处在于其张量重组策略局部分支将图像划分为不重叠的b×b块在每个块内部应用MLP全局分支将图像划分为d×d网格收集分散在各处的像素形成虚拟块这种设计带来两个关键优势形状无关性无论输入图像尺寸如何变化MLP始终在固定大小的块/网格上操作复杂度可控计算量仅与图像像素数成正比避免自注意力的二次方瓶颈实验表明当处理512×512图像时MAXIM的FLOPs仅为同级Transformer模型的1/3同时PSNR指标平均提升0.5dB以上。3. 交叉门控块轻量级特征融合方案MAXIM的另一个创新点是交叉门控块Cross-Gating BlockCGB它替代了传统UNet中简单的跳跃连接实现了更智能的特征融合。3.1 CGB的工作原理CGB的运作流程可分为三个关键阶段特征预处理对两个输入特征分别进行线性变换和归一化交叉门控使用特征A计算特征B的门控权重使用特征B计算特征A的门控权重残差连接将门控后的特征与原始输入相加class CrossGatingBlock(nn.Module): def __init__(self, channels): super().__init__() self.norm nn.LayerNorm(channels) self.proj nn.Linear(channels, channels) self.mab MultiAxisBlock(channels//2) # 使用半通道数的MAB def forward(self, x, y): # 特征预处理 x self.proj(self.norm(x)) y self.proj(self.norm(y)) # 交叉门控 gate_x self.mab(torch.cat([y, x], dim1)) gate_y self.mab(torch.cat([x, y], dim1)) # 应用门控 out_x x * gate_x x out_y y * gate_y y return out_x, out_y3.2 与传统方案的对比CGB相比传统方案有三点改进替代交叉注意力避免了昂贵的QKV矩阵运算保持空间对应门控操作在像素级别进行不破坏空间一致性双向信息流两个特征相互调节而非单向控制在去模糊任务上的消融实验显示引入CGB可使PSNR提升约0.3dB特别是在运动模糊严重区域纹理恢复更加准确。4. 多阶段框架与训练策略MAXIM采用多阶段、多尺度的UNet-like架构每个阶段都是一个完整的编解码器结构。这种设计带来了三个层面的优势4.1 渐进式修复机制阶段间特征传播前一阶段的解码器特征通过CGB融入当前阶段深监督策略每个阶段输出都参与损失计算缓解梯度消失分辨率保持全程保持原始分辨率避免分块边界效应4.2 多尺度训练技巧MAXIM采用了创新的多尺度训练策略对输入图像进行下采样生成不同尺度的版本每个尺度对应一个输出头所有输出头使用对应尺度的GT进行监督这种策略使网络能够同时学习从局部到全局的修复模式在测试时即使遇到训练未见过的分辨率也能保持稳定性能。4.3 损失函数设计复合损失函数包含三个关键组件Charbonnier损失鲁棒的L1变体对异常值不敏感频率重建损失在傅里叶空间约束低频和高频成分感知损失使用预训练VGG网络保持语义一致性在去雾任务上的实验表明这种组合损失比单纯使用L2损失PSNR提升达1.2dB。5. 实战表现与架构启示MAXIM在五个主流图像修复任务去噪、去模糊、去雨、去雾、低光增强上全面超越前SOTA方法。以GoPro数据集上的去模糊任务为例其PSNR达到32.45dB比NAFNet高0.7dB参数量却减少18%。从MAXIM的成功可以总结出未来视觉骨干网络的设计趋势MLP的复兴适当结构化后的MLP可以媲美甚至超越注意力机制维度重组艺术通过巧妙的张量操作实现二维关系建模轻量级交互用门控等简单机制替代昂贵全局注意力多轴并行同时捕捉不同粒度视觉模式实际部署中发现MAXIM在RTX 3090上处理4K图像仅需45ms内存占用控制在6GB以内这种效率使其在工业级应用中极具吸引力。一个有趣的观察是全局分支的MLP层自发学会了类似扩张卷积的模式证明网络确实掌握了多尺度建模能力。