Pytorch implementation of: "Group-Wise Deep Object Co-Segmentation With Co-Attention Recurrent Neural Network" - Li et al. of ICCV 2019
This code is just a POC and overfits a single group of images. Please adjust it to fit your needs.
Here's a colab for you.
The best way to run in three steps is with Docker.
git clone https://github.com/francesco-p/group-wise-iccv19.git && cd group-wise-iccv19
sudo docker run --rm --gpus all -it -v $(pwd):/current ufoym/deepo bash
cd /current && python main.py
You don't have Docker? There I produced a requiremets.txt
but I didn't test it.
.
├1─ data
│ └── 042_reproducible
│ ├── ground_truth
│ │ ├── 369293688_87888a7a6c.png
│ │ └── ...
│ └── images
│ ├── 369294302_18dca2ab5b.jpg
│ └── ...
├── LICENSE
├2─ main.py
├── README.md
└3─ src
├4─ dataloader.py
├── __init__.py
├5─ models.py
└6─ utils.py
data/
: the data folder, here you have the tiny group of images overfittedmain.py
: the main script, implements the training loop and lossessrc/
: source folder with classesdataloader.py
: class which implements iCoseg datasetmodels.py
: it contains SIR, CARU and MFF implementationsutils.py
: it contains utilities for debug and tensorboard stuff
I found the method very difficult to train, in fact i couldn't get good results on iCoseg dataset.