This work tries to retrieve yalefaces dataset. Yalefaces is a human faces dataset which contains 165 greyscale images. We use PyTorch and the method introduced in HashNet to conduct the experiment.
Method | Bits Number | mean Average Precision |
---|---|---|
HashNet | 32 | 100% |
HashNet | 16 | 96.88% |
Original dataset contains 15 humans' faces and each category has 11 different expressions. We first crop them to 100 x 100 resolution and then randomly select 2 images in each category to make a test dataset and the train dataset is made up for the rest of them. Then we extract the HOG features of these images.
To use the data:
$ cd <Repository Root>/yuhang
$ python pre_process.py
This will generate two npz files. These two npz files also have been stored in traindata and testdata root.
We use LeNet-5 structure with more channels to learn the hash codes. To run the training:
$ cd <Repository Root>/yuhang
$ python main.py
Trainning 16 bits hash codes need to adjust some hyper parameter:
$ cd <Repository Root>/yuhang
$ python main.py --bitnum 16 --alpha 0.9 --lr 1e-4
The trained hash codes also have been provided. To do the evaluation:
$ cd <Repository Root>/yuhang
$ python main.py --evaluate