Still working in progress! Trying to include more models and datasets in a similar and simple way.
To train and validate the network, this repo use the augmented PASCAL VOC 2012 dataset which contains 10582 images for training and 1449 images for validation.
Make sure to look at the config.py and change it as you like, then run main.py Finally you will get the ckpt and log in checkpoints/
Run
tensorboard --logdir log
to see the training log.
- Unet, PSPNet, DeepLabV3+
- Resnet backbones
- VOC2012 dataset
- More models including Unet-like Resnet based AutoEncoder ...
- More backbones including SE-ResneXt101, Xception and Mobile net
- Deformable CNN
- More datasets, eg, COCO
Now I had done the experiments on deeplabv3+ and pspnet (one can get the training log under ckpt): Performance with 4 1080ti: Deeplabv3+ on VOC2012 validation with 16 batchsize and 30K iterations. The pretrained model can be got from deeplabv3+
Backbone | train/val OS | mIoU paper | mIoU repo |
---|---|---|---|
Resnet101 | 16 | 78.85% | 78.21% |
For MobileNet_V2 with Deeplabv3+:
Backbone | Dataset | train/val OS | mIoU paper | mIoU repo | Speed |
---|---|---|---|---|---|
MobileNet_V2 | VOC2012 | 16 | -- | 69.39% | 10ms(512x512) |
MobileNet_V2 | CitySpcases | 16 | -- | 65.27% | 15ms(512x1024) |
PSPNet on VOC2012 validation with 16 batchsize and 30K iterations in 10 hours. The pretrained model can be got from pspnet
Backbone | mIoU paper | mIoU repo |
---|---|---|
Resnet101 | -- | 77.61% |
Resnet101 based Unet (imgsize 256) on VOC2012 validation with 16 batchsize and 30K iterations in 10 hours. The pretrained model can be got from unet_ae
Backbone | mIoU repo |
---|---|
Resnet101 | 74.77% |
Python(3.6) and Pytorch(1.0.0) is necessary before running the scripts. To install the required python packages(expect PyTorch), run
pip install -r requirements.txt