Skip to content

Commit

Permalink
Create README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Justinhzy authored Dec 7, 2020
1 parent 56789b9 commit d95a16a
Showing 1 changed file with 86 additions and 0 deletions.
86 changes: 86 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Comprehensive Attention Self-Distillation for Weakly-Supervised Object Detection
This is the official implementation of:

Zeyi Huang*, Yang Zou*, Vijayakumar Bhagavatula, and Dong Huang, Comprehensive Attention Self-Distillation for Weakly-Supervised Object Detection, NeurIPS 2020, [arxiv version](https://arxiv.org/pdf/2010.12023.pdf).

### Citation:

```bash
@article{huang2020comprehensive,
title={Comprehensive Attention Self-Distillation for Weakly-Supervised Object Detection},
author={Huang, Zeyi and Zou, Yang and Kumar, BVK and Huang, Dong},
journal={Advances in Neural Information Processing Systems},
volume={33},
year={2020}
}
```

## Installation

### Requirements

- Python == 3.7
- Pytorch == 1.1.0
- Torchvision == 0.3.0
- Cuda == 10.0
- cython
- scipy
- sklearn
- opencv
- GPU: TITAN RTX (24G of memory)

Note: To train with GPU of small memory, CASD_IW is partially parallelized. Fully parallelized version is coming soon. Thanks for your patience.

### Preparation

1. Clone the repository
```bash
git clone https://github.com/DeLightCMU/CASD.git
```

2. Compile the CUDA code
```bash
cd CASD/lib
bash make_cuda.sh
```

3. Download the training, validation, test data and the VOCdevkit
```bash
mkdir data
cd data/
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCdevkit_18-May-2011.tar
```

4. Extract all of these tars into one directory named VOCdevkit
```bash
tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tar
```

5. Create symlinks for PASCAL VOC dataset
```bash
cd CASD/data
ln -s VOCdevkit VOCdevkit2007
```

6. Download pretrained ImageNet weights from [here](https://www.dropbox.com/s/s3brpk0bdq60nyb/vgg16_caffe.pth?dl=0), and put it in the data/imagenet_weights/

7. Download selective search proposals from [here](https://drive.google.com/drive/folders/1dAH1oPZHKGWowOFVewblSQDJzKobTR5A), and put it in the data/selective_search_data/

### Training and Testing

Train a vgg16 Network on VOC 2007 trainval
```bash
bash experiments/scripts/train_faster_rcnn.sh 0 pascal_voc vgg16
```

Test a vgg16 Network on VOC 2007 test
```bash
bash experiments/scripts/test_faster_rcnn.sh 0 pascal_voc vgg16
```

## Acknowledgement
We borrowed code from [MLEM](https://github.com/vasgaowei/pytorch_MELM), [PCL](https://github.com/ppengtang/pcl.pytorch), and [Faster-RCNN](https://github.com/jwyang/faster-rcnn.pytorch).

0 comments on commit d95a16a

Please sign in to comment.