【第五期论文复现赛-语义分割】FastFCN
第五期论文复现赛FastFCN,FastFCN适用于语义分割任务,本次复现的目标是ADE20K验证集miou 42.5%,复现的为miou 43.74%,该算法适用于语义分割任务。
【论文复现赛】FastFCN: Rethinking Dilated Convolution in the Backbone for Semantic Segmentation
本文提出了一个新的联合上采样模块JPU(Joint Pyramid Upsampling),将提取高分辨率特征图的任务映射成一个联合上采样问题。JPU模块可应用于各种语义分割模型中,并且提升模型的性能。本次复现的目标是ENCNet+JPU在ADE20K验证集上的miou达到42.5%,本次复现的miou为43.73%。本次复现基于PaddleSeg框架。
代码参考:https://github.com/wuhuikai/FastFCN
本项目git:https://github.com/justld/FastFCN_paddle
一、模型结构
上图为模型结构,在语义分割模型中(如PSPNet/ENCNet/FCN等)插入JPU模块,来提升语义分割的效果。
二、JPU(Joint Pyramid Upsampling)
上图为JPU模块,将backbone输出的不同大小的特征图(conv5、conv4、conv3)上采样至同样大小,concat后得到yc,接着使用dilation不同(分别为1/2/4/8)的卷积核进行卷积,从而输出特征图的感受野大小。
三、模型对比
上图为ENCNet和ENCNet+JPU的预测结果(图片分别来自Pascal Context验证集和ADE20K验证集),上图可以明显看出JPU增加感受野的好处,山脉能够被正确识别。
四、实验结果
作者在多个数据集上测试了JPU的效果,上图为ADE20K验证集上的模型分割效果,可以看出JPU模块明显提高了模型的分割效果。
五、核心代码
JPU模块的核心代码如下所示,代码较为简单。
class JPU(nn.Layer):
"""
Joint Pyramid Upsampling of FCN.
The original paper refers to
Wu, Huikai, et al. "Fastfcn: Rethinking dilated convolution in the backbone for semantic segmentation." arXiv preprint arXiv:1903.11816 (2019).
"""
def __init__(self, in_channels, width=512):
super().__init__()
self.conv5 = ConvBNReLU(
in_channels[-1], width, 3, padding=1, bias_attr=False)
self.conv4 = ConvBNReLU(
in_channels[-2], width, 3, padding=1, bias_attr=False)
self.conv3 = ConvBNReLU(
in_channels[-3], width, 3, padding=1, bias_attr=False)
self.dilation1 = SeparableConvBNReLU(
3 * width,
width,
3,
padding=1,
pointwise_bias=False,
dilation=1,
bias_attr=False,
stride=1,
)
self.dilation2 = SeparableConvBNReLU(
3 * width,
width,
3,
padding=2,
pointwise_bias=False,
dilation=2,
bias_attr=False,
stride=1)
self.dilation3 = SeparableConvBNReLU(
3 * width,
width,
3,
padding=4,
pointwise_bias=False,
dilation=4,
bias_attr=False,
stride=1)
self.dilation4 = SeparableConvBNReLU(
3 * width,
width,
3,
padding=8,
pointwise_bias=False,
dilation=8,
bias_attr=False,
stride=1)
def forward(self, *inputs):
feats = [
self.conv5(inputs[-1]),
self.conv4(inputs[-2]),
self.conv3(inputs[-3])
]
size = paddle.shape(feats[-1])[2:]
feats[-2] = F.interpolate(
feats[-2], size, mode='bilinear', align_corners=True)
feats[-3] = F.interpolate(
feats[-3], size, mode='bilinear', align_corners=True)
feat = paddle.concat(feats, axis=1)
feat = paddle.concat([
self.dilation1(feat),
self.dilation2(feat),
self.dilation3(feat),
self.dilation4(feat)
],
axis=1)
return inputs[0], inputs[1], inputs[2], feat
六、快速体验
运行一下代码,快速体验FastFCN在数据集ADE20K上的训练和验证。
step 1: 解压ADE20K数据集
step 2: FastFCN训练,复现使用Tesla V100 * 4,想要完整的复现结果请移步脚本任务
step 3: 使用训练好的权重在ADE20K验证集验证效果
step 4: 使用训练好的权重在ADE20K验证集翻转验证
step 5: 使用训练好的权重在ADE20K验证集多尺度翻转验证
# step 1: unzip data
%cd ~/data/data26423/
!unzip -oq ade20k.zip
%cd ~/
# step 2: training
%cd ~/FastFCN/
!python train.py --config configs/fastfcn/fastfcn_resnet50_os8_ade20k_480x480_120k.yml --num_workers 4 --do_eval --use_vdl --log_iter 100 --save_interval 10000
# step 3: val
%cd ~/FastFCN/
!python val.py --config configs/fastfcn/fastfcn_resnet50_os8_ade20k_480x480_120k.yml --model_path output/best_model/model.pdparams
/home/aistudio/PaddleSeg
2022-01-06 16:37:10 [INFO]
---------------Config Information---------------
batch_size: 1
iters: 120000
loss:
coef:
- 1
- 0.4
- 0.2
types:
- type: CrossEntropyLoss
- type: CrossEntropyLoss
- type: SECrossEntropyLoss
lr_scheduler:
end_lr: 0
learning_rate: 0.01
power: 0.9
type: PolynomialDecay
model:
add_lateral: true
aux_loss: true
backbone:
output_stride: 8
pretrained: https://bj.bcebos.com/paddleseg/dygraph/resnet50_vd_ssld_v2.tar.gz
type: ResNet50_vd
mid_channels: 512
num_codes: 32
type: FastFCN
use_jpu: true
use_se_loss: true
optimizer:
momentum: 0.9
type: sgd
weight_decay: 4.0e-05
train_dataset:
dataset_root: /home/aistudio/data/data26423/ADEChallengeData2016/
mode: train
transforms:
- max_scale_factor: 2.0
min_scale_factor: 0.5
scale_step_size: 0.25
type: ResizeStepScaling
- crop_size:
- 480
- 480
im_padding_value:
- 0
- 0
- 0
type: RandomPaddingCrop
- type: RandomHorizontalFlip
- brightness_range: 0.4
contrast_range: 0.4
saturation_range: 0.4
type: RandomDistort
- type: Normalize
type: ADE20K
val_dataset:
dataset_root: /home/aistudio/data/data26423/ADEChallengeData2016/
mode: val
transforms:
- type: Normalize
type: ADE20K
------------------------------------------------
W0106 16:37:10.112859 783 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1
W0106 16:37:10.112905 783 device_context.cc:465] device: 0, cuDNN Version: 7.6.
2022-01-06 16:37:14 [INFO] Loading pretrained model from https://bj.bcebos.com/paddleseg/dygraph/resnet50_vd_ssld_v2.tar.gz
Connecting to https://bj.bcebos.com/paddleseg/dygraph/resnet50_vd_ssld_v2.tar.gz
Downloading resnet50_vd_ssld_v2.tar.gz
[==================================================] 100.00%
Uncompress resnet50_vd_ssld_v2.tar.gz
[==================================================] 100.00%
2022-01-06 16:37:23 [INFO] There are 275/275 variables loaded into ResNet_vd.
2022-01-06 16:37:23 [INFO] Loading pretrained model from output/best_model/model.pdparams
2022-01-06 16:37:24 [INFO] There are 376/376 variables loaded into FastFCN.
2022-01-06 16:37:24 [INFO] Loaded trained params of model successfully
2022-01-06 16:37:24 [INFO] Start evaluating (total_samples: 2000, total_iters: 2000)...
2000/2000 [==============================] - 234s 117ms/step - batch_cost: 0.1170 - reader cost: 1.5749e-04s - batch_cost: 0.1170 - reader
2022-01-06 16:41:19 [INFO] [EVAL] #Images: 2000 mIoU: 0.4374 Acc: 0.8076 Kappa: 0.7930 Dice: 0.5773
2022-01-06 16:41:19 [INFO] [EVAL] Class IoU:
[0.745 0.8066 0.9372 0.7754 0.7208 0.8131 0.8158 0.8549 0.5986 0.6531
0.5689 0.6424 0.773 0.332 0.4218 0.5501 0.5841 0.4884 0.6756 0.5474
0.81 0.4592 0.6969 0.6264 0.3978 0.4191 0.446 0.5463 0.4915 0.2819
0.369 0.5631 0.3458 0.4537 0.3894 0.4501 0.5957 0.7278 0.3049 0.54
0.2025 0.2212 0.4444 0.3241 0.3992 0.2743 0.3133 0.6713 0.498 0.6731
0.638 0.407 0.1696 0.3026 0.6184 0.4454 0.8996 0.5376 0.4292 0.2433
0.1028 0.5304 0.4001 0.3601 0.5894 0.8081 0.3833 0.4164 0.1231 0.3982
0.5558 0.7378 0.5191 0.3173 0.571 0.4166 0.3316 0.1894 0.1841 0.4204
0.8377 0.5606 0.4784 0.3519 0.2219 0.6394 0.1883 0.2174 0.4548 0.6687
0.5063 0.0732 0.3426 0.1998 0.0073 0.1039 0.1758 0.4409 0.3437 0.3237
0.1685 0.0916 0.4238 0.1739 0.0514 0.6394 0.1297 0.6244 0.1974 0.5358
0.407 0.4615 0.2469 0.6013 0.9031 0.1345 0.6048 0.7609 0.3492 0.4285
0.3955 0.1561 0.3452 0.2539 0.4341 0.3856 0.524 0.5134 0.5083 0.6746
0.636 0.1091 0.4155 0.549 0.2858 0.3555 0.2771 0.0651 0.4047 0.5298
0.3904 0.0322 0.4277 0.0778 0.3629 0.006 0.4618 0.1152 0.2477 0.3207]
2022-01-06 16:41:19 [INFO] [EVAL] Class Acc:
[0.8345 0.861 0.9665 0.843 0.8215 0.8902 0.9051 0.9036 0.7432 0.779
0.7483 0.7721 0.8486 0.5302 0.6345 0.6971 0.7393 0.6762 0.8098 0.7274
0.9002 0.6595 0.8051 0.734 0.5452 0.663 0.554 0.791 0.7802 0.4209
0.5678 0.6722 0.5855 0.6445 0.5493 0.646 0.7836 0.8657 0.5192 0.7617
0.4397 0.4533 0.6501 0.5246 0.5394 0.5499 0.4866 0.8419 0.7299 0.799
0.78 0.5202 0.3198 0.5879 0.7143 0.5973 0.9641 0.7673 0.6897 0.4176
0.1653 0.8454 0.5436 0.6991 0.7019 0.8948 0.5658 0.5516 0.2746 0.6946
0.7083 0.8819 0.6251 0.412 0.8152 0.5758 0.528 0.6424 0.7616 0.6516
0.907 0.7407 0.783 0.6011 0.4543 0.776 0.4833 0.5236 0.8167 0.8593
0.7141 0.0957 0.4982 0.3761 0.0198 0.2625 0.5537 0.6707 0.529 0.7032
0.3318 0.2019 0.6512 0.3609 0.4271 0.8514 0.3312 0.9085 0.4599 0.8183
0.6643 0.7014 0.4142 0.7466 0.9363 0.3573 0.7655 0.8431 0.4491 0.805
0.8297 0.2843 0.9189 0.6598 0.8819 0.7389 0.8312 0.6611 0.889 0.8578
0.8084 0.3986 0.5557 0.8412 0.698 0.5577 0.4893 0.139 0.6569 0.7073
0.462 0.0444 0.6447 0.3508 0.6634 0.0079 0.8371 0.4788 0.6483 0.8037]
# step 4: val flip
%cd ~/FastFCN/
!python val.py --config configs/fastfcn/fastfcn_resnet50_os8_ade20k_480x480_120k.yml --model_path output/best_model/model.pdparams --aug_eval --flip_horizontal
/home/aistudio/PaddleSeg
2022-01-06 16:41:22 [INFO]
---------------Config Information---------------
batch_size: 1
iters: 120000
loss:
coef:
- 1
- 0.4
- 0.2
types:
- type: CrossEntropyLoss
- type: CrossEntropyLoss
- type: SECrossEntropyLoss
lr_scheduler:
end_lr: 0
learning_rate: 0.01
power: 0.9
type: PolynomialDecay
model:
add_lateral: true
aux_loss: true
backbone:
output_stride: 8
pretrained: https://bj.bcebos.com/paddleseg/dygraph/resnet50_vd_ssld_v2.tar.gz
type: ResNet50_vd
mid_channels: 512
num_codes: 32
type: FastFCN
use_jpu: true
use_se_loss: true
optimizer:
momentum: 0.9
type: sgd
weight_decay: 4.0e-05
train_dataset:
dataset_root: /home/aistudio/data/data26423/ADEChallengeData2016/
mode: train
transforms:
- max_scale_factor: 2.0
min_scale_factor: 0.5
scale_step_size: 0.25
type: ResizeStepScaling
- crop_size:
- 480
- 480
im_padding_value:
- 0
- 0
- 0
type: RandomPaddingCrop
- type: RandomHorizontalFlip
- brightness_range: 0.4
contrast_range: 0.4
saturation_range: 0.4
type: RandomDistort
- type: Normalize
type: ADE20K
val_dataset:
dataset_root: /home/aistudio/data/data26423/ADEChallengeData2016/
mode: val
transforms:
- type: Normalize
type: ADE20K
------------------------------------------------
W0106 16:41:22.066421 1150 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1
W0106 16:41:22.066468 1150 device_context.cc:465] device: 0, cuDNN Version: 7.6.
2022-01-06 16:41:26 [INFO] Loading pretrained model from https://bj.bcebos.com/paddleseg/dygraph/resnet50_vd_ssld_v2.tar.gz
2022-01-06 16:41:26 [INFO] There are 275/275 variables loaded into ResNet_vd.
2022-01-06 16:41:26 [INFO] Loading pretrained model from output/best_model/model.pdparams
2022-01-06 16:41:27 [INFO] There are 376/376 variables loaded into FastFCN.
2022-01-06 16:41:27 [INFO] Loaded trained params of model successfully
2022-01-06 16:41:27 [INFO] Start evaluating (total_samples: 2000, total_iters: 2000)...
2000/2000 [==============================] - 331s 165ms/step - batch_cost: 0.1650 - reader cost: 1.5685e-04s - batch_cost:
2022-01-06 16:46:58 [INFO] [EVAL] #Images: 2000 mIoU: 0.4411 Acc: 0.8106 Kappa: 0.7962 Dice: 0.5805
2022-01-06 16:46:58 [INFO] [EVAL] Class IoU:
[0.7485 0.8082 0.9397 0.7797 0.7276 0.8167 0.8194 0.8608 0.6061 0.6539
0.575 0.6508 0.7814 0.3318 0.4293 0.5546 0.5788 0.4963 0.6775 0.5539
0.8112 0.4674 0.7033 0.64 0.4091 0.4006 0.4496 0.5617 0.4939 0.2884
0.369 0.5615 0.3544 0.462 0.3813 0.4575 0.6046 0.7351 0.3083 0.5525
0.1979 0.2168 0.4514 0.3299 0.4035 0.2726 0.3221 0.6859 0.4887 0.69
0.6295 0.4135 0.163 0.3039 0.6246 0.4452 0.9012 0.5523 0.4486 0.2416
0.1053 0.5453 0.3964 0.3623 0.6056 0.8196 0.3914 0.4211 0.1107 0.4011
0.5576 0.7432 0.5304 0.3416 0.5791 0.4099 0.3293 0.1902 0.186 0.4304
0.8417 0.5676 0.4869 0.3592 0.1908 0.6434 0.2008 0.2228 0.4541 0.6769
0.5152 0.0764 0.3632 0.2057 0.0087 0.1101 0.1824 0.4414 0.3445 0.3392
0.1739 0.1069 0.3913 0.1655 0.0588 0.5915 0.1462 0.6378 0.1991 0.5235
0.4152 0.4741 0.2515 0.5948 0.9242 0.1265 0.6146 0.7569 0.3427 0.4336
0.3989 0.1391 0.3363 0.2547 0.4348 0.3821 0.5239 0.5278 0.5348 0.679
0.6389 0.1006 0.4356 0.5638 0.2887 0.3482 0.2811 0.0715 0.4031 0.5407
0.3952 0.0315 0.4428 0.0825 0.3711 0.007 0.4821 0.1175 0.2258 0.3276]
2022-01-06 16:46:58 [INFO] [EVAL] Class Acc:
[0.835 0.8615 0.9677 0.8447 0.8257 0.893 0.9058 0.9062 0.7469 0.7775
0.7546 0.7806 0.852 0.5345 0.6515 0.6994 0.7294 0.6822 0.8135 0.734
0.9 0.6672 0.8114 0.7432 0.5556 0.656 0.5598 0.8042 0.7891 0.4262
0.5641 0.6692 0.5956 0.646 0.5441 0.657 0.7924 0.8766 0.5225 0.7744
0.4419 0.4507 0.6601 0.5436 0.547 0.5575 0.4986 0.8539 0.7244 0.8064
0.7681 0.527 0.3156 0.5946 0.7201 0.5952 0.9638 0.7761 0.6731 0.4125
0.168 0.8637 0.539 0.7083 0.7159 0.9024 0.5777 0.5583 0.2625 0.7152
0.7038 0.8853 0.6358 0.4357 0.8207 0.5736 0.5339 0.6579 0.7888 0.6681
0.9102 0.7573 0.7961 0.6077 0.4095 0.7797 0.5179 0.5686 0.8037 0.8585
0.7307 0.1005 0.518 0.4255 0.0249 0.2956 0.5853 0.6801 0.5487 0.74
0.3508 0.2357 0.6296 0.3536 0.4493 0.8534 0.3589 0.9221 0.4796 0.7991
0.678 0.7347 0.4228 0.7442 0.9488 0.3472 0.7703 0.8367 0.4397 0.7811
0.8335 0.2587 0.8991 0.6834 0.8929 0.747 0.8301 0.6672 0.8696 0.8612
0.8156 0.3995 0.6059 0.8509 0.7342 0.5771 0.502 0.1504 0.6381 0.7112
0.4642 0.0435 0.6579 0.3839 0.6907 0.0094 0.8574 0.5058 0.6338 0.8341]
# step 5: val ms + flip
%cd ~/FastFCN/
!python val.py --config configs/fastfcn/fastfcn_resnet50_os8_ade20k_480x480_120k.yml --model_path output/best_model/model.pdparams --aug_eval --flip_horizontal --scales 0.75 1.0 1.25
/home/aistudio/PaddleSeg
2022-01-06 16:47:01 [INFO]
---------------Config Information---------------
batch_size: 1
iters: 120000
loss:
coef:
- 1
- 0.4
- 0.2
types:
- type: CrossEntropyLoss
- type: CrossEntropyLoss
- type: SECrossEntropyLoss
lr_scheduler:
end_lr: 0
learning_rate: 0.01
power: 0.9
type: PolynomialDecay
model:
add_lateral: true
aux_loss: true
backbone:
output_stride: 8
pretrained: https://bj.bcebos.com/paddleseg/dygraph/resnet50_vd_ssld_v2.tar.gz
type: ResNet50_vd
mid_channels: 512
num_codes: 32
type: FastFCN
use_jpu: true
use_se_loss: true
optimizer:
momentum: 0.9
type: sgd
weight_decay: 4.0e-05
train_dataset:
dataset_root: /home/aistudio/data/data26423/ADEChallengeData2016/
mode: train
transforms:
- max_scale_factor: 2.0
min_scale_factor: 0.5
scale_step_size: 0.25
type: ResizeStepScaling
- crop_size:
- 480
- 480
im_padding_value:
- 0
- 0
- 0
type: RandomPaddingCrop
- type: RandomHorizontalFlip
- brightness_range: 0.4
contrast_range: 0.4
saturation_range: 0.4
type: RandomDistort
- type: Normalize
type: ADE20K
val_dataset:
dataset_root: /home/aistudio/data/data26423/ADEChallengeData2016/
mode: val
transforms:
- type: Normalize
type: ADE20K
------------------------------------------------
W0106 16:47:01.055764 1635 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1
W0106 16:47:01.055821 1635 device_context.cc:465] device: 0, cuDNN Version: 7.6.
2022-01-06 16:47:05 [INFO] Loading pretrained model from https://bj.bcebos.com/paddleseg/dygraph/resnet50_vd_ssld_v2.tar.gz
2022-01-06 16:47:05 [INFO] There are 275/275 variables loaded into ResNet_vd.
2022-01-06 16:47:05 [INFO] Loading pretrained model from output/best_model/model.pdparams
2022-01-06 16:47:06 [INFO] There are 376/376 variables loaded into FastFCN.
2022-01-06 16:47:06 [INFO] Loaded trained params of model successfully
2022-01-06 16:47:06 [INFO] Start evaluating (total_samples: 2000, total_iters: 2000)...
2000/2000 [==============================] - 729s 365ms/step - batch_cost: 0.3644 - reader cost: 1.5749e-040s - batch_cost: 0.3644 - rea - ETA: 4s - batch_cost: 0.3645 - reader cost:
2022-01-06 16:59:15 [INFO] [EVAL] #Images: 2000 mIoU: 0.4448 Acc: 0.8133 Kappa: 0.7992 Dice: 0.5837
2022-01-06 16:59:15 [INFO] [EVAL] Class IoU:
[0.7527 0.8097 0.9414 0.7868 0.7355 0.8209 0.8207 0.8674 0.6082 0.6539
0.5804 0.6463 0.782 0.3205 0.4471 0.5602 0.5773 0.4966 0.6849 0.5552
0.8131 0.4735 0.7035 0.647 0.4171 0.4013 0.461 0.5935 0.5196 0.2773
0.382 0.5613 0.3688 0.4587 0.4039 0.452 0.6097 0.7376 0.3171 0.5652
0.193 0.2286 0.4516 0.3269 0.4144 0.2382 0.3343 0.6679 0.4826 0.6883
0.6771 0.3886 0.1929 0.3088 0.6416 0.4324 0.9083 0.5537 0.4859 0.294
0.1119 0.5132 0.4066 0.3783 0.6134 0.8137 0.405 0.4168 0.1201 0.4214
0.5591 0.7689 0.5229 0.3522 0.5708 0.4044 0.3517 0.1814 0.1813 0.472
0.8464 0.559 0.4973 0.3436 0.1746 0.6528 0.2126 0.2439 0.4113 0.6552
0.4985 0.074 0.3616 0.19 0.0064 0.0866 0.1979 0.4782 0.3609 0.3806
0.1928 0.0763 0.3997 0.1436 0.1276 0.667 0.1506 0.6296 0.2117 0.4921
0.4215 0.5216 0.2695 0.5803 0.9271 0.0963 0.6495 0.7728 0.2964 0.4383
0.4349 0.1254 0.3443 0.2417 0.4412 0.411 0.5473 0.5382 0.3474 0.6603
0.6535 0.0792 0.4112 0.5583 0.3094 0.378 0.2878 0.055 0.4065 0.5593
0.4134 0.0351 0.4426 0.0837 0.3867 0.0111 0.5123 0.1057 0.2472 0.3119]
2022-01-06 16:59:15 [INFO] [EVAL] Class Acc:
[0.8406 0.8562 0.9692 0.8574 0.8349 0.8969 0.9062 0.9108 0.7461 0.78
0.757 0.7788 0.8546 0.5352 0.6675 0.6984 0.7263 0.6742 0.8119 0.7258
0.8952 0.6926 0.8036 0.742 0.5557 0.657 0.5732 0.8021 0.7732 0.3996
0.5757 0.6712 0.5944 0.6364 0.5521 0.6445 0.7951 0.8849 0.519 0.7761
0.4558 0.4609 0.6801 0.5578 0.5687 0.5608 0.5386 0.8239 0.7431 0.7885
0.8198 0.4817 0.3599 0.6377 0.7336 0.5772 0.9572 0.7745 0.7216 0.5409
0.1907 0.8687 0.5495 0.8249 0.7128 0.8986 0.5714 0.5834 0.2556 0.7027
0.6977 0.9005 0.6483 0.4329 0.7966 0.5609 0.5704 0.6234 0.744 0.6689
0.8925 0.7297 0.8129 0.5958 0.3428 0.794 0.5332 0.5379 0.6899 0.8107
0.7019 0.0961 0.5237 0.4292 0.0178 0.2641 0.7026 0.7275 0.5714 0.7702
0.4491 0.1522 0.6946 0.3302 0.5698 0.8987 0.3497 0.9316 0.4482 0.7366
0.7171 0.8771 0.5069 0.6875 0.9443 0.3283 0.7624 0.815 0.3729 0.7056
0.7882 0.2594 0.9448 0.692 0.8829 0.7768 0.8536 0.7001 0.4462 0.8976
0.8202 0.3823 0.6143 0.8352 0.6909 0.6335 0.4725 0.1329 0.6227 0.7321
0.4951 0.0504 0.6919 0.3802 0.6987 0.0163 0.8663 0.5677 0.6427 0.8729]
七、复现结果
本次论文复现赛要求是ADE20K 验证集mIOU达到42.5%,本次复现的结果为mIOU 43.74%。
环境:
paddlepaddle==2.2.0
Tesla v100 * 4
Model | Backbone | Resolution | Training Iters | mIoU | mIoU (flip) | mIoU (ms+flip) | Links |
---|---|---|---|---|---|---|---|
FastFCN | ResNet50_vd | 480x480 | 120000 | 43.76% | 44.11% | 44.48% | model |log|vdl |
八、复现经验
1、如果复现的精度未达到要求,且差距不大,可以尝试增加训练次数;
2、为了tipc方便,最好先验证模型能否正常动转静导出再训练(有些代码在动转静导出时会出错,最好先调试导出功能再训练,节省复现时间);
3、优先使用PaddleSeg框架复现论文,可以节省大量的时间,同时能够在PR时提高效率。
九、致谢
非常感谢AiStudio平台提供的算力和奖金支持,感谢RD小姐姐的耐心答疑。
个人介绍
姓名:郎督
学校:东北大学
年级:研二
GitHub: https://github.com/justld
更多推荐
所有评论(0)