Skip to content
Code for the paper CVPR‘17 “Zero Shot Learning from Noisy Text Description at Part Precision”
MATLAB C M
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dataset
minFunc_2012
train_models
LICENSE
README.md
ZSL_ObjFunc_Wx.m
ZSL_ObjFunc_Wz.m
ZSL_Test.m
ZSL_Train.m
get_datapath.m

README.md

ZSL_PP

Mohamed Elhoseiny*, Yizhe Zhu*, Han Zhang, Ahmed Elgammal, Link the head to the "peak'': Zero Shot Learning from Noisy Text descriptions at Part Precision, CVPR, 2017

This code is implemented by Yizhe Zhu and Mohamed Elhoseiny.

Processed feature Data:

You can download the dataset CUB2011 and NABird.

Raw wikipedia article data:

Raw wikipedia article data of CUBird and NABird, as well as detailed merging information of NABird, can be obtained here.

Trianed Models:

Trained models reproduce the results in the paper.  

Testing, reproducing the results in the paper


ZSL_Test(Dataset = 'CUBird' or 'NABird', splitmode = 'Easy' or 'Hard', ImgFtSource = 'DET' or 'ATN')

splitmode = Easy or Hard splits defined in Section 4.1 in the paper

CUNBirds Easy split in Table1


ZSL_Test('CUBird', 'Easy', 'ATN') ### ATN means using groundtruth part annotation
Dataset: CUB2011 Easy ATN
Model: trained_models/CUBird_Easy_ATN.mat
Load Testing set
test_acc = 43.5049%


ZSL_Test('CUBird', 'Easy', 'DET') ### DET means using the detected parts instead of GT parts.
Dataset: CUB2011 Easy DET
Model: trained_models/CUBird_Easy_DET.mat
Load Testing set
test_acc = 37.5725%

NABirds Easy/Hard split in Table3


ZSL_Test('NABird', 'Easy') ### Easy means category-share splitting
Dataset: NABird Easy DET
Model: trained_models/NABird_Easy_DET.mat
Load Testing set
test_acc = 30.5937%


ZSL_Test('NABird', 'Hard') ### Hard means category-share splitting
Dataset: NABird Hard DET
Model: trained_models/NABird_Hard_DET.mat
Load Testing set
test_acc = 8.1349%

Training

ZSL_Train(Dateset, Splitmode, ImgFtSource, lambda1, lambda2, GPU_mode)
is the command to train the model using a particular setting.
% For example ZSL_Train('CUBird', 'Easy', 'DET', 100000, 10000, true), trains on the CUBirds dataset on the Easy split and using the detected part boxes. , lambda1=100000, and lambda2=10000, and GPU_mode=true (using GPU mode for training). If false, the training is done on CPU.

You can’t perform that action at this time.