图像语义分割模型DeepLab训练Cityscapes数据集过程记录

参考:https://github.com/tensorflow/models/blob/master/research/deeplab/g3doc/cityscapes.md

https://github.com/tensorflow/models/blob/master/research/deeplab/local_test.sh

1、下载数据

cd models/research/deeplab/datasets
mkdir cityscapes

下载原始5000张图片leftImg8bit_trainvaltest.zip(11GB)并解压在leftImg8bit文件夹下;
下载惊标5000张图片gtFine_trainvaltest.zip(241MB)并解压在gtFine文件下下;
特别说明:发现下载一段时间就会出现服务器中断,国内有CSDN博客分享了百度云下载链接。

https://blog.csdn.net/zym19941119/article/details/81198315
链接: https://pan.baidu.com/s/108_NgFheDIpnQRrwz5uhmw 提取码: dhr8

2、转换数据

cd models/research/deeplab/datasets
sh convert_cityscapes.sh

执行后会在cityscapes目录下出现tfrecord文件夹。

3、下载checkpoint

https://github.com/tensorflow/models/blob/master/research/deeplab/g3doc/model_zoo.md
选择xception65_cityscapes_trainfine,下载并解压到cityscapes文件夹下

4、准备工作
加载py包路径,记住目录要用绝对路径:

export PYTHONPATH=$PYTHONPATH:/data/comcode/models/research/:/data/comcode/models/research/slim

创建输出文件夹

cd models/research/deeplab/datasets/cityscapes
mkdir exp
cd exp
mkdir train_on_train_set
cd train_on_train_set
mkdir train  --保存训练输出结果
mkdir val     --保存评价输出结果
mkdir vis      --保存可视化输出结果
mkdir export  --保存模型输出

当前目录结构如下图:

图像语义分割模型DeepLab训练Cityscapes数据集过程记录_第1张图片

5、训练模型

cd models/research
python deeplab/train.py \
    --logtostderr \
    --training_number_of_steps=30000 \
    --fine_tune_batch_norm=False \
    --train_split="train" \
    --model_variant="xception_65" \
    --atrous_rates=6 \
    --atrous_rates=12 \
    --atrous_rates=18 \
    --output_stride=16 \
    --decoder_output_stride=4 \
    --train_crop_size="769,769" \
    --train_batch_size=1 \
    --dataset="cityscapes" \
    --tf_initial_checkpoint=deeplab/datasets/cityscapes/deeplabv3_cityscapes_train/model.ckpt \
    --train_logdir=deeplab/datasets/cityscapes/exp/train_on_trainval_set/train \
    --dataset_dir=deeplab/datasets/cityscapes/tfrecord

5、评价模型

python deeplab/eval.py \
    --logtostderr \
    --eval_split="val" \
    --model_variant="xception_65" \
    --atrous_rates=6 \
    --atrous_rates=12 \
    --atrous_rates=18 \
    --output_stride=16 \
    --decoder_output_stride=4 \
    --eval_crop_size="1025,2049" \
    --dataset="cityscapes" \
    --checkpoint_dir=deeplab/datasets/cityscapes/exp/train_on_trainval_set/train \
    --eval_logdir=deeplab/datasets/cityscapes/exp/train_on_trainval_set/val \
    --dataset_dir=deeplab/datasets/cityscapes/tfrecord \
    --max_number_of_evaluations=1 

6、可视化输出

python deeplab/vis.py \
    --logtostderr \
    --vis_split="val" \
    --model_variant="xception_65" \
    --atrous_rates=6 \
    --atrous_rates=12 \
    --atrous_rates=18 \
    --output_stride=16 \
    --decoder_output_stride=4 \
    --vis_crop_size="1025,2049" \
    --dataset="cityscapes" \
    --colormap_type="cityscapes" \
    --checkpoint_dir=deeplab/datasets/cityscapes/exp/train_on_trainval_set/train \
    --vis_logdir=deeplab/datasets/cityscapes/exp/train_on_trainval_set/vis \
    --dataset_dir=deeplab/datasets/cityscapes/tfrecord

图像语义分割模型DeepLab训练Cityscapes数据集过程记录_第2张图片

 

tensorboard看运行结果:

tensorboard --port=10072 --logdir=/data/comcode/models/research/deeplab/datasets/cityscapes/exp/train_on_trainval_set/val

图像语义分割模型DeepLab训练Cityscapes数据集过程记录_第3张图片

你可能感兴趣的:(python专栏)