Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- test_idx = labels>200;
- % prepare train images
- images_test = mpfaces(:,:,:,test_idx);
- [h,w,c,num_test] = size(images_test);
- % prepare test views
- views_test = views(:,test_idx);
- theta_test = atand(views_test(1,:)./views_test(2,:)); theta_test = theta_test(:);
- ids_theta = unique(theta_test);
- dim3 = length(ids_theta);
- vclasses_test = zeros(dim3,num_test);
- for cc = 1:length(ids_theta),
- vclasses_test(cc,theta_test==ids_theta(cc)) = 1;
- end
- % prepare test class index
- labels_test = labels(test_idx);
- sessions_test = mpslabel(test_idx);
- % prepare class index
- ind_gallery = zeros(size(labels_test));
- for cc = unique(labels_test)',
- session_cc = unique(sessions_test(labels_test==cc));
- ss = min(session_cc);
- ind = (labels_test==cc)&(sessions_test==ss)&(theta_test==0);
- ind_gallery = ind_gallery + ind;
- end;
- ind_gallery = ind_gallery > 0;
- ind_probe = (~ind_gallery);
- sum(ind_gallery)
- feats_test = zeros(512,num_test,'single');
- for m = 1:num_test
- images = images_test(:,:,:,m);
- images = reshape(single(images),[h,w,c,1]);
- images = permute(images,[2,1,3,4]);
- preds = caffe('forward', { images });
- feats_test(:,m) = squeeze(preds{1});
- if mod(m,100)==0, fprintf(sprintf('extract %d features\n', m)); end
- end
- feats_gallery = feats_test(:,ind_gallery);
- feats_probe = feats_test(:,ind_probe);
- labels_gallery = labels_test(ind_gallery);
- labels_probe = labels_test(ind_probe);
- theta_gallery = theta_test(ind_gallery);
- theta_probe = theta_test(ind_probe);
- dist = EuDist2(feats_gallery', feats_probe', 1);
- [~,matches] = min(dist,[],1);
- labels_pred = labels_gallery(matches);
- %%
- acc = [];
- for t = [0,-15,15,-30,30,-45,45],
- labels_pred_sub = labels_pred(theta_probe==t);
- labels_probe_sub = labels_probe(theta_probe==t);
- acc = [acc; sum(labels_pred_sub==labels_probe_sub)/length(labels_probe_sub)];
- end
- acc
- acc =
- 0.5521
- 0.5700
- 0.5967
- 0.1767
- 0.3533
- 0.0900
- 0.0567
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement