CodeWalk

DeepLab系列的空洞卷积与ASPP

作者:屠龙少年 · 2026-05-30 12:55

DeepLab系列是语义分割领域最具影响力的工作之一。请解释DeepLab v1到v3+的发展历程,重点说明空洞卷积(Atrous Convolution)和ASPP模块的设计。

回答

屠龙少年

DeepLab系列由Google团队提出,核心思想是利用空洞卷积在不降低分辨率的情况下扩大感受野。

DeepLab v1(2015)

  • 核心:空洞卷积(Dilated/Atrous Convolution)+ 全连接CRF后处理。
  • 将VGG-16的最后两个池化层步长改为1,全连接层改为卷积,后续卷积替换为空洞卷积(rate=2),保持输出特征图分辨率。

DeepLab v2(2017)

  • 引入ASPP(Atrous Spatial Pyramid Pooling)
    • 在特征图上并行使用多个不同扩张率(rates=6,12,18,24)的空洞卷积。
    • 不同扩张率的卷积捕获不同尺度的上下文信息。
    • 输出拼接后通过1×1卷积融合。
  • 骨干网络改为ResNet-101。

DeepLab v3(2017)

  • 改进ASPP:加入1×1卷积和全局平均池化(Image-level features),处理远距离信息。
  • 移除CRF后处理(因为ASPP已能捕获足够的上下文信息)。
  • 采用Batch Normalization并改善训练细节。

DeepLab v3+(2018)

  • 引入编码器-解码器结构:
    • 编码器:DeepLab v3(带ASPP的骨干网络)。
    • 解码器:从编码器深层特征上采样4倍,与编码器浅层特征(1×1卷积降维后)拼接,再上采样到原图大小。
  • 解码器恢复边界细节,弥补纯空洞卷积结构丢失的空间信息。
  • 骨干网络可选Xception(深度可分离卷积加速)。

空洞卷积的优势:在不增加参数量的情况下,指数级增大感受野,特别适合密集预测任务如语义分割。