Tensorflow DeepLab API 提供了 PASCAL VOC 2012,Cityscapes 和 ADE20K 数据集上的预训练模型.
<h2>1. Tensorflow DeepLab ModelZoo</h2>
三个数据集: PASCAL VOC 2012, Cityscapes, ADE20K
<h3>1.1 DeepLab 模型 - PASCAL VOC 2012</h3>
每个模型 tar.gz 压缩包中包含的文件有:
frozen_inference_graph.pb
, 冻结的推断图. 所有冻结推断图使用的输出步长 output_stride=8, 单个评测尺度 scale=1.0. 未进行左右翻转. 基于 MobileNet-V2 的模型不包含解码模块decoder module.- 断点checkpoint文件 -
model.ckpt.data-0000-of-0001
和model.ckpt.index
.
- 模型细节 VOC2012 train_aug 数据集和 train_aug + trainval 数据集. 对于 VOC2012 train_aug 数据集,当 GPU 内存资源受限时,可以采用小 batchsize 和冻结 BatchNormalization 来训练模型. 对于 train_aug + trainval 数据集,可以直接在VOC2012 测试集上评测断点效果,或采用断点进行 Demo 测试 - Tensorflow - 语义分割 Deeplab API 之 Demo. 注:基于 MobileNet-V2 模型未采用ASPP 和解码模块,以进行快速计算. 其中,OS 表示 Output_Stride,输出步长. 上表中给出了在 PASCAL VOC val 和 test 数据集上的计算复杂度(Multi-Adds 和 CPU Runtime)和分割表现(IoU). (平台:CPU E5-1650 v3 @ 3.50GHz, 32GB memory) 注:虽然 multi-scales 输入和左右翻转能够提高分割精度,但也明显增加了计算量,对于实时应用可能不太适合.</p>
<h3>1.2 DeepLab 模型 - Cityscapes</h3>
- <p>模型细节 在 Cityscapes train_fine 数据集上进行训练的. 注:基于 MobileNet-V2 模型未采用ASPP 和解码模块,已进行快速计算. </p>
<h3>1.3 DeepLab 模型 - ADE20K</h3>
- <p>模型细节 在 ADE20K training 数据集上训练. 模型只在 ImageNet 上预训练, </p>
<h2>2. ImageNet 预训练断点 Checkpoints</h2>
<p>tar.gz
压缩包中包含模型断点文件 - Checkpoints model.ckpt.data-00000-of-00001
和 model.ckpt.index
.
Tensorflow DeepLab 提供了只在 ImageNet 上预训练的模型断点文件,以便于自定义模型的训练:
- mobilenet_v2 - 细节可参考 mobilenet
- xception_{41,65,71} - 采用原始的 Xception 模型来处理语义分割任务,主要进行的修改之处有:(1) 网络层更多;(2) 所有的 max pooling 操作均替换为 strided(atrous) separable convolutions;(3)在每个 3x3 depthwise conv 后添加新的 batch-norm 层. 这里提供了三种不同网络深度的 Xception 模型变种.
- resnet_v1_{50,101}_beta - 对原始 ResNet-101 进行修改,类似于 PSPNet,采用三个 3x3 卷积层来替代其第一个 7x7 卷积层. 具体细节可参见 resnet_v1_beta.py
模型名 | 文件大小 |
---|---|
xception_41 | 288MB |
xception_65 | 447MB |
xception_71 | 474MB |
resnet_v1_50_beta | 274MB |
resnet_v1_101_beta | 477MB |