• Stars
    star
    265
  • Rank 149,519 (Top 4 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 6 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Deep GrabCut in PyTorch

Deep GrabCut (DeepGC)

DEXTR

This is a PyTorch implementation of Deep GrabCut, for object segmentation. We use DeepLab-v2 instead of DeconvNet in this repository.

Installation

The code was tested with Python 3.5. To use this code, please do:

  1. Clone the repo:

    git clone https://github.com/jfzhang95/DeepGrabCut-PyTorch
    cd DeepGrabCut-PyTorch
  2. Install dependencies:

    pip install -r requirements.txt
  3. Download pretained automatically. Or manually from GoogleDrive, and then put the model into models.

    gdown --output ./models/deepgc_pascal_epoch-99.pth --id 1N8bICHnFit6lLGvGwVu6bnDttyTk6wGH
  4. To try the demo of Deep GrabCut, please run:

    python demo.py
    # 1-When window appears, press "s"
    # 2-Draw circle
    # 3-Press spacebar and wait for 2 - 3 seconds

If installed correctly, the result should look like this:

Note that the provided model was trained only on VOC 2012 dataset. You will get better results if you train model on both VOC and SBD dataset.

To train Deep GrabCut on VOC (or VOC + SBD), please follow these additional steps:

  1. 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 ..
  2. Set the paths in mypath.py, so that they point to the location of VOC/SBD dataset.

  3. Run python train.py to train Deep Grabcut.

  4. If you want to train model on COCO dataset, you should first config COCO dataset path in mypath.py, and then run python train_coco.py to train model.