Papers: ICCV 2017 Paper and IJCV 2019 Paper
- Run VideoPCA on the training videos. Please follow the instructions provided here
- Selection - compute the mean of non-zero pixels for each mask obtained at 1. Keep only the top 10-20% masks based on the mean of the non-zero pixels.
- Create tfrecords with the following structure. The
frame0
represents the RGB frame while thesoftseg
represents the mask given by VideoPCA. To create tfrecords please follow the instructions provided here.
python [model-name.py] (e.g. python lowRes-net.py)
Please make sure to update the tfrecords path in [model-name.py] beforehands. Note: the training code needs some updates, but as for now it is provided as a guideline and works with tensorflow 1.10.1.
-
Extract the output off all the models trained in the First iteration. For each frame you will obtain several masks depending on the number of used models.
-
Run the confidence net on the masks extracted at point 1.
2.1. Download the EvalSeg-Net weights from here
2.2. Run the pre-trained EvalSeg-Net net
python evalSeg-Net-inference.py [weights-path]
-
Selection - Keep only the top 10-20% masks based on the score given by the confidence net (usually keeping all the frames over 80 confidence score is a good practice - as it is set in the code).
-
Create tfrecords with the same structure as for the First iteration.
-
Re-train all/some of the models from scratch on the new data obtained at point 4. We have observed that DilateU-Net usually performs the best, so this would be a good candidate.
You can also use our pre-trained ICCV model. In order to use it, download the model weights: weights then
python get_segmentation.py --in_file path_to_file --model path_to_weights
For more details and qualitative results please visit our project page.
Please consider citing the following papers if you use these models:
@InProceedings{Croitoru_2017_ICCV,
author = {Croitoru, Ioana and Bogolin, Simion-Vlad and Leordeanu, Marius},
title = {Unsupervised Learning From Video to Detect Foreground Objects in Single Images},
booktitle = {The IEEE International Conference on Computer Vision (ICCV)},
month = {Oct},
year = {2017}
}
and
@article{croitoru2019unsupervised,
title={Unsupervised learning of foreground object segmentation},
author={Croitoru, Ioana and Bogolin, Simion-Vlad and Leordeanu, Marius},
journal={International Journal of Computer Vision},
volume={127},
number={9},
pages={1279--1302},
year={2019},
publisher={Springer}
}