MobileSeg models adopt encoder-decoder architecture and use lightweight models as encoder.
These semantic segmentation models are designed for mobile and edge devices.
git clone -b release/2.7 https://github.com/PaddlePaddle/PaddleSeg.git
cd PaddleSeg
pip3 install -r requirements.txt
pip3 install protobuf==3.20.3
pip3 install urllib3==1.26.6
yum install mesa-libGL
Go to visit Cityscapes official website, then choose 'Download' to download the Cityscapes dataset.
Specify /path/to/cityscapes
to your Cityscapes path in later training process, the unzipped dataset path structure sholud look like:
cityscapes/
├── gtFine
│ ├── test
│ ├── train
│ │ ├── aachen
│ │ └── bochum
│ └── val
│ ├── frankfurt
│ ├── lindau
│ └── munster
└── leftImg8bit
├── train
│ ├── aachen
│ └── bochum
└── val
├── frankfurt
├── lindau
└── munster
# Datasets preprocessing
pip3 install cityscapesscripts
python3 tools/data/convert_cityscapes.py --cityscapes_path /path/to/cityscapes --num_workers 8
python3 tools/data/create_dataset_list.py /path/to/cityscapes --type cityscapes --separator ","
# CityScapes PATH as follow:
ls -al /path/to/cityscapes
total 11567948
drwxr-xr-x 4 root root 227 Jul 18 03:32 .
drwxr-xr-x 6 root root 179 Jul 18 06:48 ..
-rw-r--r-- 1 root root 298 Feb 20 2016 README
drwxr-xr-x 5 root root 58 Jul 18 03:30 gtFine
-rw-r--r-- 1 root root 252567705 Jul 18 03:22 gtFine_trainvaltest.zip
drwxr-xr-x 5 root root 58 Jul 18 03:30 leftImg8bit
-rw-r--r-- 1 root root 11592327197 Jul 18 03:27 leftImg8bit_trainvaltest.zip
-rw-r--r-- 1 root root 1646 Feb 17 2016 license.txt
-rw-r--r-- 1 root root 193690 Jul 18 03:32 test.txt
-rw-r--r-- 1 root root 398780 Jul 18 03:32 train.txt
-rw-r--r-- 1 root root 65900 Jul 18 03:32 val.txt
# Change '/path/to/cityscapes' as your local Cityscapes dataset path
data_dir=/path/to/cityscapes
sed -i "s#: data/cityscapes#: ${data_dir}#g" configs/_base_/cityscapes.yml
export FLAGS_cudnn_exhaustive_search=True
export FLAGS_cudnn_batchnorm_spatial_persistent=True
# One GPU
CUDA_VISIBLE_DEVICES=0 python3 train.py --config configs/mobileseg/mobileseg_mobilenetv3_cityscapes_1024x512_80k.yml --do_eval --use_vdl
# Eight GPUs
python3 -u -m paddle.distributed.launch --gpus 0,1,2,3,4,5,6,7 train.py \
--config configs/mobileseg/mobileseg_mobilenetv3_cityscapes_1024x512_80k.yml \
--do_eval \
--use_vdl
Method | Crop Size | Lr schd | FPS (BI x 8) | mIOU |
---|---|---|---|---|
MobileSeg | 512x1024 | 80000 | 28.68 | 0.726 |
Dear OpenI User
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.
For more agreement content, please refer to the《Openl Qizhi Community AI Collaboration Platform Usage Agreement》