Awesome
DSU Source Code
Source repository for our paper entilted "Promoting Saliency From Depth: Deep Unsupervised RGB-D Saliency Detection" accepted by ICLR 2022 conference.
Pre-Implementation
vim ./DenseCRF/README.md
- DenseCRF Installation: Refer to DenseCRF Readme.md, and run demo successfully.
- Pytorch Environment: Run
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
. - Run
pip install tqdm
. - Run
pip install pandas
. - Run
pip install tensorboardX
. - Run
pip install fairseq
. Possible Question "SyntaxError: invalid syntax", please see FAQ-Q1 below. - Run
pip install scipy
. - Run
pip install matplotlib
.
Dataset & Evaluation
- The dataset used in this paper you can download directly (Baidu Cloud (Passworde: bn1t) or Google Drive), including training set with initial pseudo-labels, and test set.
- We use this toolbox for evaluating all SOD models.
Our DSU Implementation
- Modify the path of dataset in
python DSU_test.py
andpython DSU_train.py
. - Inference stage (Test your own dataset):
python DSU_test.py
; Using Pre-trained Model in./ckpt
(Baidu Cloud (Passworde: w5bg) or Google Drive). - Training stage:
CUDA_VISIBLE_DEVICES=0 python DSU_train.py
- Check the log file:
cat ./result.txt
Saliency Results
Our deep unsupervised saliency results can be approached in Baidu Cloud (Passworde: ws1k) or Google Drive.
If you want to use our DSU to test on your own dataset, you can load our pretrained ckpt and run python DSU_test.py
directly.
Bibtex
@inproceedings{
ji2022promoting,
title={Promoting Saliency From Depth: Deep Unsupervised {RGB}-D Saliency Detection},
author={Wei Ji and Jingjing Li and Qi Bi and Chuan Guo and Jie Liu and Li Cheng},
booktitle={International Conference on Learning Representations},
year={2022}
}
Contact Us
If you have any questions, please contact us ( wji3@ualberta.ca ).
-
FAQ
Question1: When installing fairseq
, post an 'SyntaxError: invalid syntax'
Answer1: You can directly update python version, e.g., conda install python=3.7
. More details can be found in this channel.
Question2: You should replace the inplace operation by an out-of-place one.
Answer2: This is because *=
is not compatible with Python 3.9. q *= self.scaling
-> q = q * self.scaling