This repository contains the PyTorch implementation for
Semi-Supervised Video Salient Object Detection Using Pseudo-Labels
Pengxiang Yan, Guanbin Li, Yuan Xie, Zhen Li, Chuan Wang, Tianshui Chen, Liang Lin
ICCV 2019 | [Project Page] | [Arxiv] | [CVF-Open-Access]
This code is tested on Ubuntu 16.04, Python=3.6 (via Anaconda3), PyTorch=0.4.1, CUDA=9.0.
# Install PyTorch=0.4.1
$ conda install pytorch==0.4.1 torchvision==0.2.1 cuda90 -c pytorch
# Install other packages
$ pip install pyyaml==3.13 addict==2.2.0 tqdm==4.28.1 scipy==1.1.0
Our proposed RCRNet is evaluated on three public benchmark VSOD datsets including VOS, DAVIS (version: 2016, 480p), and FBMS. Please orginaize the datasets according to config/datasets.yaml
and put them in data/datasets
. Or you can set argument --data
to the path of the dataset folder.
If you want to compare with our method:
Option 1: you can download the saliency maps predicted by our model from Google Drive / Baidu Pan (passwd: u079).
Option 2: Or you can use our trained model for inference. The weights of trained model are available at Google Drive / Baidu Pan (passwd: 6pi3). Then run the following command for inference.
# VOS
$ CUDA_VISIBLE_DEVICES=0 python inference.py --data data/datasets --dataset VOS --split test
# DAVIS
$ CUDA_VISIBLE_DEVICES=0 python inference.py --data data/datasets --dataset DAVIS --split val
# FBMS
$ CUDA_VISIBLE_DEVICES=0 python inference.py --data data/datasets --dataset FBMS --split test
Then, you can evaluate the saliency maps using your own evaluation code.
If you want to train our proposed model from scratch (including using pseudo-labels), please refer to our paper and the training instruction carefully.
If you find this work helpful, please consider citing
@inproceedings{yan2019semi,
title={Semi-Supervised Video Salient Object Detection Using Pseudo-Labels},
author={Yan, Pengxiang and Li, Guanbin and Xie, Yuan and Li, Zhen and Wang, Chuan and Chen, Tianshui and Lin, Liang},
booktitle={Proceedings of the IEEE International Conference on Computer Vision},
pages={7284--7293},
year={2019}
}
Thanks to the third-party libraries:
- deeplab-pytorch by kazuto1011
- flownet2-pytorch by NVIDIA
- pytorch-segmentation-toolbox by speedinghzl
- Non-local_pytorch by AlexHex7