This repository provides codes and data of our papers (and technical report):
[1] Soravit Changpinyo*, Wei-Lun Chao*, Boqing Gong, and Fei Sha, "Classifier and Exemplar Synthesis for Zero-Shot Learning," arXiv:1812.06423, 2018
[2] Soravit Changpinyo, Wei-Lun Chao, and Fei Sha, "Predicting visual exemplars of unseen classes for zero-shot learning," ICCV, 2017
[3] Wei-Lun Chao*, Soravit Changpinyo*, Boqing Gong, and Fei Sha, "An empirical study and analysis of generalized zero-shot learning for object recognition in the wild," ECCV, 2016
[4] Soravit Changpinyo*, Wei-Lun Chao*, Boqing Gong, and Fei Sha, "Synthesized classifiers for zero-shot learning," CVPR, 2016
Note that the codes for [4] are largely based on another repository zero-shot-learning.
- Download the following packages:
-
Unzip and put them in the folder /tool, and compile. For libsvm, liblinear, multicore-liblinear, you only need to compile the /matlab subfolder.
-
Check the paths and change the folder names.
- Now in /tool, you should have 4 folders: /minFunc, /libsvm, /liblinear, /liblr-multicore.
- In /minFunc, you should immediately see 3 subfolders and 4 .m files.
- In /libsvm, /liblinear, /liblr-multicore, you should immediately see the /matlab subfolder.
- For AwA, CUB, and SUN:
- Download the googleNet features. Unzip and put the 3 .mat files in the data folder.
- Download the resnet features and class splits from Yongqin Xian's website: NS (PS) and SS. Unzip and put the xlsa17 and standard_split folders in the data folder. Run data_transfer.m to generate 8 .mat files ended with "resnet.mat".
- You should have 11 .mat files in the data folder. You can delete the xlsa17 and standard_split folders.
- The codes of SynC is in SynC/codes. The codes of EXEM is in EXEM/codes.
- Please take a look at Demo_SynC.m and Demo_EXEM.m for how to run the codes.
We provide GZSL Area Under Seen Unseen accuracy Curve (AUSUC) evaluation in misc/Compute_AUSUC.m