DeepLab 是 Google Research 提出的 语义分割(Semantic Segmentation) 系列模型,从 2015 年的 DeepLabv1 到 2018 年的 DeepLabv3+,逐步优化了分割精度、计算效率和边界细节。以下是其核心版本的演进及关键技术:
1. DeepLabv1 (2015)
核心创新:空洞卷积(Atrous Convolution)
-
问题:传统 CNN 通过池化(Pooling)降低分辨率,导致空间信息丢失。
-
解决方案:使用 空洞卷积(Dilated Convolution) 在不减少分辨率的情况下扩大感受野。
-
架构:基于 VGG16,后接 CRF(条件随机场)优化边界。
-
局限:CRF 计算成本高,且仅依赖单一尺度的特征。
贡献:首次将空洞卷积引入语义分割,减少信息损失。
2. DeepLabv2 (2016)
核心创新:ASPP(空洞空间金字塔池化)
-
问题:物体尺寸变化大,单一感受野难以适应不同尺度。
-
解决方案:提出 ASPP(Atrous Spatial Pyramid Pooling),并行使用不同膨胀率的空洞卷积 捕捉多尺度特征。
-
架构:改用 ResNet 作为主干,提升特征提取能力。
-
局限:仍依赖 CRF 后处理,计算复杂。
贡献:多尺度特征融合显著提升分割精度(PASCAL VOC 2012: 79.7% mIOU)。
3. DeepLabv3 (2017)
核心创新:改进 ASPP + 取消 CRF
-
问题:CRF 后处理计算量大,影响推理速度。
-
解决方案:
-
增强 ASPP:加入全局平均池化(Global Average Pooling)捕捉图像级特征。
-
移除 CRF:仅通过深度网络实现端到端训练。
-
-
架构:基于 ResNet-101,引入批量归一化(BatchNorm)稳定训练。
-
性能:PASCAL VOC 2012 达到 85.7% mIOU(无需 CRF)。
贡献:证明了纯 CNN 结构可实现高精度分割,简化了流程。
4. DeepLabv3+ (2018)
核心创新:编码器-解码器结构 + 深度可分离卷积
-
问题:DeepLabv3 输出分辨率低(通常为输入尺寸的 1/8),边界模糊。
-
解决方案:
-
引入解码器(Decoder):融合深层语义特征和浅层细节特征,提升边界精度。
-
深度可分离卷积(Depthwise Separable Conv):减少计算量(Xception 主干)。
-
-
架构:
-
Encoder:DeepLabv3(ASPP + ResNet/Xception)。
-
Decoder:上采样 + 低层特征融合。
-
-
性能:PASCAL VOC 2012 89.0% mIOU,兼顾速度和精度。
贡献:成为语义分割的标杆模型,支持轻量化(MobileNetV2)和实时应用。
5. 后续发展(2019 至今)
虽然 DeepLabv3+ 仍是主流,但后续研究也提出了改进方向:
-
NAS(神经架构搜索):自动搜索更优的 DeepLab 结构(如 Auto-DeepLab)。
-
Transformer 结合:如 MaskFormer、SETR,探索注意力机制与 CNN 的混合架构。
-
轻量化:更多移动端适配(如 DeepLabv3+ Lite)。
总结:DeepLab 系列演进
版本 | 核心创新 | 主干网络 | 关键改进 | mIOU (PASCAL VOC) |
---|---|---|---|---|
DeepLabv1 | 空洞卷积 + CRF | VGG16 | 避免下采样信息丢失 | 71.6% |
DeepLabv2 | ASPP(多尺度特征) | ResNet | 多尺度上下文建模 | 79.7% |
DeepLabv3 | 增强 ASPP + 移除 CRF | ResNet-101 | 端到端训练,全局特征 | 85.7% |
DeepLabv3+ | 编码器-解码器 + 深度可分离卷积 | Xception | 边界细化,轻量化 | 89.0% |
DeepLab 的核心贡献
-
空洞卷积:解决下采样与感受野的矛盾。
-
ASPP:多尺度特征融合适应不同物体大小。
-
Encoder-Decoder:兼顾高层语义和低层细节。
-
轻量化设计:推动分割模型在移动端的落地。
DeepLab 系列至今仍是语义分割领域的基石,后续许多工作(如 OCRNet、Mask2Former)均受其启发。