Home

Awesome

Lightweight Model for Real-Time Semantic Segmentation

python-image pytorch-image lic-image

This project aims at providing the popular lightweight model implementations for real-time semantic segmentation.

Usage


Train

python train.py --model mobilenet --dataset citys --lr 0.01 --epochs 240
# for example, train mobilenet with 4 GPUs:
export NGPUS=4
python -m torch.distributed.launch --nproc_per_node=$NGPUS train.py --model mobilenet --dataset citys --lr 0.01 --epochs 240

Evaluation

python eval.py --model mobilenet_small --dataset citys
# for example, evaluate mobilenet with 4 GPUs:
export NGPUS=4
python -m torch.distributed.launch --nproc_per_node=$NGPUS eval.py --model mobilenet --dataset citys

Result

Where: crop_size=768, lr=0.01, epochs=80.

BackboneOHEMParams(M)FLOPs(G)CPU(fps)GPU(fps)mIoU/pixACCModel
mobilenet5.314.480.8177.110.463/0.901GoogleDrive,BaiduCloud(ybsg)
mobilenet5.314.480.8175.350.526/0.909GoogleDrive,BaiduCloud(u2y2)
mobilenetv24.884.040.4949.400.613/0.930GoogleDrive,BaiduCloud(q2g5)
mobilenetv3_small1.021.642.59104.560.529/0.908GoogleDrive,BaiduCloud(e7no)
mobilenetv3_large2.684.591.3979.430.584/0.916GoogleDrive,BaiduCloud(i60c)
shufflenet6.895.680.5743.790.493/0.901GoogleDrive,BaiduCloud(6fjh)
shufflenetv25.244.330.7257.710.528/0.914GoogleDrive,BaiduCloud(7pi5)
igcv34.864.040.3429.700.573/0.923GoogleDrive,BaiduCloud(qe4f)
efficientnet-b06.632.600.3330.150.492/0.903GoogleDrive,BaiduCloud(phuy)
Modelbatch_sizeepochscrop_sizeinit_weightoptimizermIoU/pixACC
mobilenetv3_small480768kaiming_uniformSGD0.529/0.908
mobilenetv3_small4160768kaiming_uniformSGD0.587/0.918
mobilenetv3_small8160768kaiming_uniformSGD0.553/0/913
mobilenetv3_small4801024kaiming_uniformSGD0.557/0.914
mobilenetv3_small480768xavier_uniformSGD0.550/0.911
mobilenetv3_small480768kaiming_uniformAdam0.549/0.911
mobilenetv3_small81601024xavier_uniformSGD0.612/0.920

Support

To Do

References

<!-- [![python-image]][python-url] [![pytorch-image]][pytorch-url] [![lic-image]][lic-url] -->