jfzhang95 / DeepGrabCut-PyTorch

Deep GrabCut in PyTorch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Deep GrabCut in PyTorch

License:MIT License


Languages

Language:Python 99.9%Language:Shell 0.1%