This is a PyTorch implementation of Deep GrabCut, for object segmentation. We use DeepLab-v2 instead of DeconvNet in this repository.
The code was tested with Python 3.5. To use this code, please do:
-
Clone the repo:
git clone https://github.com/jfzhang95/DeepGrabCut-PyTorch cd DeepGrabCut-PyTorch
-
Install dependencies:
pip install pytorch torchvision -c pytorch pip install matplotlib opencv pillow
-
You can download pretrained model from GoogleDrive, and then put the model into models/
-
To try the demo of Deep GrabCut, please run:
python demo.py
If installed correctly, the result should look like this:
To train Deep GrabCut on PASCAL (or PASCAL + SBD), please follow these additional steps:
-
Download the pre-trained PSPNet model for semantic segmentation, taken from this repository.
cd models/ chmod +x download_pretrained_psp_model.sh ./download_pretrained_psp_model.sh cd ..
-
Set the paths in
mypath.py
, so that they point to the location of PASCAL/SBD dataset. -
Run
python train.py
to train Deep Grabcut.