Skip to content

Commit 20c44c9

Browse files
committed
update readme
1 parent b045049 commit 20c44c9

1 file changed

Lines changed: 25 additions & 11 deletions

File tree

README.md

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ Created by Kevin Lin, Huei-Fang Yang, and Chu-Song Chen at Academia Sinica, Taip
77

88
## Introduction
99

10-
<img src="https://www.csie.ntu.edu.tw/~r01944012/ssdh_intro.png" width="800">
11-
1210
We present a simple yet effective supervised deep hash approach that constructs binary hash codes from labeled data for large-scale image search. SSDH constructs hash functions as a latent layer in a deep network and the binary codes are learned by minimizing an objective function defined over classification error and other desirable hash codes properties. Compared to state-of-the-art results, SSDH achieves 26.30% (89.68% vs. 63.38%), 17.11% (89.00% vs. 71.89%) and 19.56% (31.28% vs. 11.72%) higher precisions averaged over a different number of top returned images for the CIFAR-10, NUS-WIDE, and SUN397 datasets, respectively.
1311

1412
The details can be found in the following [arXiv preprint.](http://arxiv.org/abs/1507.00101)
15-
Presentation slide [PDF](http://www.csie.ntu.edu.tw/~r01944012/deepworkshop-slide.pdf)
1613

14+
Deep Learning workshop presentation slide [PDF](http://www.csie.ntu.edu.tw/~r01944012/deepworkshop-slide.pdf)
15+
16+
<img src="https://www.csie.ntu.edu.tw/~r01944012/ssdh_intro.png" width="800">
1717

1818
### Citing the deep hashing work
1919

@@ -23,13 +23,18 @@ If you find our work useful in your research, please consider citing:
2323
Huei-Fang Yang, Kevin Lin, Chu-Song Chen
2424
arXiv preprint arXiv:1507.00101
2525

26+
Deep Learning of Binary Hash Codes for Fast Image Retrieval
27+
K. Lin, H.-F. Yang, J.-H. Hsiao, C.-S. Chen
28+
CVPR Workshop (CVPRW) on Deep Learning in Computer Vision, DeepVision 2015, June 2015.
29+
30+
2631
## Prerequisites
2732

2833
0. MATLAB (tested with 2012b on 64-bit Linux)
2934
0. Caffe's [prerequisites](http://caffe.berkeleyvision.org/installation.html#prequequisites)
3035

3136

32-
## Install Caffe-cvprw15
37+
## Install Caffe-DeepBinaryCode
3338

3439
Adjust Makefile.config and simply run the following commands:
3540

@@ -42,13 +47,11 @@ For a faster build, compile in parallel by doing `make all -j8` where 8 is the n
4247

4348
## Demo
4449

45-
Launch matlab and run `demo.m`
50+
Launch matlab and run `demo.m`. This demo will generate 48-bits binary codes for each image using the proposed SSDH.
4651

4752
>> demo
4853

49-
This demo will generate 48-bits binary codes for each image using the proposed SSDH.
50-
51-
<img src="https://www.csie.ntu.edu.tw/~r01944012/ssdh_demo.png" width="200">
54+
<img src="https://www.csie.ntu.edu.tw/~r01944012/ssdh_demo.png" width="600">
5255

5356

5457
## Retrieval evaluation on CIFAR10
@@ -70,16 +73,27 @@ Moreover, simply run the following commands to generate the `precision at k` cur
7073
You will reproduce the precision curves with respect to different number of top retrieved samples when the 48-bit hash codes are
7174
used in the evaluation.
7275

73-
## Train your own model on CIFAR10
76+
## Train your SSDH on CIFAR10
7477

7578
Simply run the following command to train SSDH:
7679

7780

7881
$ ./examples/SSDH/train.sh
7982

8083

81-
The training process takes roughly 2~3 hours on a desktop with Titian X GPU.
82-
You will finally get your model named `SSDH48_iter_xxxxxx.caffemodel` under folder `/examples/SSDH/`
84+
After 50,000 iterations, the top-1 error is 9.7% on the test set of CIFAR10 dataset:
85+
```
86+
I0107 19:24:32.258903 23945 solver.cpp:326] Iteration 50000, loss = 0.0274982
87+
I0107 19:24:32.259012 23945 solver.cpp:346] Iteration 50000, Testing net (#0)
88+
I0107 19:24:36.696506 23945 solver.cpp:414] Test net output #0: accuracy = 0.903125
89+
I0107 19:24:36.696543 23945 solver.cpp:414] Test net output #1: loss: 50%-fire-rate = 1.47562e-06 (* 1 = 1.47562e-06 loss)
90+
I0107 19:24:36.696552 23945 solver.cpp:414] Test net output #2: loss: classfication-error = 0.332657 (* 1 = 0.332657 loss)
91+
I0107 19:24:36.696559 23945 solver.cpp:414] Test net output #3: loss: forcing-binary = -0.00317774 (* 1 = -0.00317774 loss)
92+
I0107 19:24:36.696565 23945 solver.cpp:331] Optimization Done.
93+
I0107 19:24:36.696570 23945 caffe.cpp:214] Optimization Done.
94+
```
95+
96+
The training process takes roughly 2~3 hours on a desktop with Titian X GPU. You will finally get your model named `SSDH48_iter_xxxxxx.caffemodel` under folder `/examples/SSDH/`
8397

8498
To use the model, modify the `model_file` in `demo.m` to link to your model:
8599

0 commit comments

Comments
 (0)