Created
October 26, 2018 15:04
-
-
Save ducha-aiki/5115026028f9ba1e6d384e15b391f85c to your computer and use it in GitHub Desktop.
res_article_hardnet.m
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
hb_setup(); | |
%% | |
res = rproc.read('scoresroot', ... | |
fullfile(hb_path, 'matlab', 'scores', 'default')); | |
norm_splits = {}; | |
norms_path = fullfile(hb_path, 'matlab', 'data', 'best_normalizations.csv'); | |
norms = readtable(norms_path, 'delimiter', ','); | |
norms.Properties.RowNames = norms.descriptor; | |
%% | |
outpath = fullfile(hb_path, 'matlab', 'results', 'article'); | |
vl_xmkdir(outpath); | |
addpath(fullfile(hb_path, '../matlab2tikz/src/')); | |
sequences = utls.listdirs(fullfile(hb_path, 'data', 'hpatches-release')); | |
illum_seq = cellfun(@(a) strcmp(a(1:2), 'i_'), sequences); | |
viewp_seq = cellfun(@(a) strcmp(a(1:2), 'v_'), sequences); | |
categories = cellfun(@(a) a(1), res.matching.sequence, 'Uni', false); | |
res.matching.category = categories; | |
% Compute the matching scores averages | |
res.matching_g = varfun(@mean, res.matching, ... | |
'GroupingVariables', {'descriptor', 'geom_noise', 'category'}, ... | |
'InputVariables', 'ap'); | |
%% Separate the normalisation type and split out of descriptor name | |
res.verification_e = rproc.postproc_norm(res.verification); | |
res.matching_ge = rproc.postproc_norm(res.matching_g); | |
res.retrieval_e = rproc.postproc_norm(res.retrieval); | |
%% Compute average over the norm splits | |
res.verification_en = varfun(@mean, res.verification_e, ... | |
'GroupingVariables', {'descriptor', 'split', 'negs', 'geom_noise', 'method', 'norm_type'}, ... | |
'InputVariables', 'pr_ap'); | |
res.matching_gen = varfun(@mean, res.matching_ge, ... | |
'GroupingVariables', {'descriptor', 'geom_noise', 'category', 'norm_type'}, ... | |
'InputVariables', 'mean_ap'); | |
res.retrieval_en = varfun(@mean, res.retrieval_e, ... | |
'GroupingVariables', {'descriptor', 'split', 'geom_noise', 'method', 'norm_type'}, ... | |
'InputVariables', 'map'); | |
%% | |
in_c = @(a, b) max(min(a.*b, 1), 0); | |
normname = 'none'; | |
bnames = {}; cip = 1; ls = {'EdgeColor', [1, 1, 1] * 0.2}; | |
%% ours | |
%bnames{end+1} = struct('name', 'HardNet', 'printname', 'HardNetNIPS', 'texname', 'HardNetNIPS', ... | |
% 'color', in_c(utls.rgb('SkyBlue'), cip), 'barargs', {ls}, ... | |
% 'dim', 128, 'isbin', false, 'psize', 32, 'pps', 2583, 'gpu', false, 'normname', normname); | |
% | |
bnames{end+1} = struct('name', 'HardNet+', 'printname', 'LibertyNIPS', 'texname', 'LibertyNIPS', ... | |
'color', in_c(utls.rgb('SteelBlue'), cip), 'barargs', {ls}, ... | |
'dim', 128, 'isbin', false, 'psize', 32, 'pps', 2583, 'gpu', false, 'normname', normname); | |
% | |
% bnames{end+1} = struct('name', 'HardNetLib', 'printname', 'HardNet', 'texname', 'HardNet', ... | |
% 'color', in_c(utls.rgb('RoyalBlue'), cip), 'barargs', {ls}, ... | |
% 'dim', 128, 'isbin', false, 'psize', 32, 'pps', 2583, 'gpu', false, 'normname', normname); | |
% | |
bnames{end+1} = struct('name', 'HardNetLib+', 'printname', 'Liberty', 'texname', 'Liberty', ... | |
'color', in_c(utls.rgb('SkyBlue'), cip), 'barargs', {ls}, ... | |
'dim', 128, 'isbin', false, 'psize', 32, 'pps', 2583, 'gpu', false, 'normname', normname); | |
bnames{end+1} = struct('name', 'HardNetFullBrown+', 'printname', 'FullBrown6', 'texname', 'FullBrown6', ... | |
'color', in_c(utls.rgb('RoyalBlue'), cip), 'barargs', {ls}, ... | |
'dim', 128, 'isbin', false, 'psize', 32, 'pps', 2583, 'gpu', false, 'normname', normname); | |
bnames{end+1} = struct('name', 'HardNet+PS', 'printname', 'PhotoSync', 'texname', 'PhotoSync', ... | |
'color', in_c(utls.rgb('MidnightBlue'), cip), 'barargs', {ls}, ... | |
'dim', 128, 'isbin', false, 'psize', 32, 'pps', 2583, 'gpu', false, 'normname', normname); | |
%bnames{end+1} = struct('name', 'L2Net', 'printname', 'L2Net', 'texname', 'L2Net', ... | |
% 'color', in_c(utls.rgb('Salmon'), cip), 'barargs', {ls}, ... | |
% 'dim', 128, 'isbin', false, 'psize', 32, 'pps', 72479, 'gpu', false, 'normname', normname); | |
%bnames{end+1} = struct('name', 'L2Net+', 'printname', 'L2Net+', 'texname', 'L2Net+', ... | |
% 'color', in_c(utls.rgb('LightSalmon'), cip), 'barargs', {ls}, ... | |
% 'dim', 128, 'isbin', false, 'psize', 32, 'pps', 72479, 'gpu', false, 'normname', normname); | |
%% | |
%bnames{end+1} = struct('name', 'meanstd', 'printname', '\meanstd', 'texname', 'MStd', ... | |
% 'color', in_c(utls.rgb('Silver'), cip), 'barargs', {ls}, ... | |
% 'dim', 2, 'isbin', false, 'psize', 65, 'pps', 72479, 'gpu', false, 'normname', normname); | |
%bnames{end+1} = struct('name', 'resize', 'printname', '\resize', 'texname', 'Resz', ... | |
% 'color', in_c(utls.rgb('SlateGray'), cip), 'barargs', {ls}, ... | |
% 'dim', 36, 'isbin', false, 'psize', 65, 'pps', 2583, 'gpu', false, 'normname', normname); | |
%bnames{end+1} = struct('name', 'sift', 'printname', '\sift', 'texname', 'SIFT', ... | |
% 'color', in_c(utls.rgb('SeaGreen'), cip), 'barargs', {ls}, ... | |
% 'dim', 128, 'isbin', false, 'psize', 65, 'pps', 2251, 'gpu', false, 'normname', normname); | |
%bnames{end+1} = struct('name', 'rootsift', 'printname', 'rSIFT', 'texname', 'RSIFT', ... | |
% 'color', in_c(utls.rgb('Olive'), cip), 'barargs', {ls}, ... | |
% 'dim', 128, 'isbin', false, 'psize', 65, 'pps', 2157, 'gpu', false, 'normname', normname); | |
%bnames{end+1} = struct('name', 'rootsift_PCA', 'printname', 'rSIFT-PCA', 'texname', 'RSIFT-PCA', ... | |
% 'color', in_c(utls.rgb('OliveDrab'), cip), 'barargs', {ls}, ... | |
% 'dim', 128, 'isbin', false, 'psize', 65, 'pps', 2157, 'gpu', false, 'normname', normname); | |
%bnames{end+1} = struct('name', 'brief', 'printname', '\brief', 'texname', 'BRIEF', ... | |
% 'color', in_c(utls.rgb('DarkCyan'), cip), 'barargs', {ls},... | |
% 'dim', 256, 'isbin', true, 'psize', 32, 'pps', 1./3e-6, 'gpu', false, 'normname', normname); | |
%bnames{end+1} = struct('name', 'binboost', 'printname', '\binboost', 'texname', 'BBoost', ... | |
% 'color', in_c(utls.rgb('SteelBlue'), cip), 'barargs', {ls},... | |
% 'dim', 256, 'isbin', true, 'psize', 32, 'pps', 1./700e-6, 'gpu', false, 'normname', normname); | |
%bnames{end+1} = struct('name', 'orb', 'printname', '\orb', 'texname', 'ORB', ... | |
% 'color', in_c(utls.rgb('SkyBlue'), cip), 'barargs', {ls}, ... | |
% 'dim', 256, 'isbin', true, 'psize', 32, 'pps', 1./3e-6, 'gpu', false, 'normname', normname); | |
%bnames{end+1} = struct('name', 'siam', 'printname', '\dcsiam', 'texname', 'DC-S', ... | |
% 'color', in_c(utls.rgb('Salmon'), cip), 'barargs', {ls}, ... | |
% 'dim', 256, 'isbin', false, 'psize', 64, 'pps', 1./100e-6, 'gpu', true, 'normname', normname); | |
%bnames{end+1} = struct('name', 'siam2stream', 'printname', '\dcsiamts', 'texname', 'DC-S2S', ... | |
% 'color', in_c(utls.rgb('LightSalmon'), cip), 'barargs', {ls},... | |
% 'dim', 512, 'isbin', false, 'psize', 64, 'pps', 1./200e-6, 'gpu', true, 'normname', normname); | |
%bnames{end+1} = struct('name', 'deepdesc', 'printname', '\deepdesc', 'texname', 'DDesc', ... | |
% 'color', in_c(utls.rgb('BurlyWood'), cip), 'barargs', {ls}, ... | |
% 'dim', 128, 'isbin', false, 'psize', 64, 'pps', 1./500e-6, 'gpu', true, 'normname', normname); | |
%bnames{end+1} = struct('name', 'tfeat-margin', 'printname', 'tfeat-margin'); | |
%bnames{end+1} = struct('name', 'tfeat-margin-star', 'printname', 'TFeat-M*', 'texname', 'TF-M', ... | |
% 'color', in_c(utls.rgb('Sienna'), cip), 'barargs', {ls}, ... | |
% 'dim', 128, 'isbin', false, 'psize', 32, 'pps', 1./10e-6, 'gpu', true, 'normname', normname); | |
%bnames{end+1} = struct('name', 'HardTFeat', 'printname', 'HardTFeat', 'texname', 'HardTFeat', ... | |
% 'color', in_c(utls.rgb('AliceBlue'), cip), 'barargs', {ls}, ... | |
% 'dim', 128, 'isbin', false, 'psize', 32, 'pps', 1./10e-6, 'gpu', true, 'normname', normname); | |
%bnames{end+1} = struct('name', 'tfeat-ratio', 'printname', 'tf-ratio'); | |
%bnames{end+1} = struct('name', 'tfeat-ratio-star', 'printname', '\tfratio', 'texname', 'TF-R', ... | |
% 'color', in_c(utls.rgb('Chocolate'), cip), 'barargs', {ls}, ... | |
% 'dim', 128, 'isbin', false, 'psize', 32, 'pps', 1./10e-6, 'gpu', true, 'normname', normname); | |
%% | |
bnames = cell2mat(bnames); | |
baselines = struct('name', {bnames.name}, 'printname', {bnames.printname}, ... | |
'color', {bnames.color}, ... | |
'bararg', {bnames.barargs}, 'normname', {bnames.normname}); | |
%% | |
baselines_chance = struct('name', 'chance', 'printname', '\chance', ... | |
'color', in_c(utls.rgb('White'), cip), 'bararg', {ls}); | |
clear normname; | |
bnames_pca = {}; cip = 1; ls = {'EdgeColor', [1, 1, 1] * 0, 'LineStyle', '--'}; | |
%bnames_pca{end+1} = struct('name', 'meanstd_norm', 'printname', '+meanstd'); | |
%bnames_pca{end+1} = struct('name', 'resize_norm', 'printname', '+resize'); | |
%% | |
%bnames_pca{end+1} = struct('name', 'sift', 'printname', '\psift', 'texname', '+SIFT', ... | |
% 'color', in_c(utls.rgb('SeaGreen'), cip), 'barargs', {ls}, 'normname', norms{'sift', 'normstr'}{1}); | |
%bnames_pca{end+1} = struct('name', 'siam', 'printname', '\pdcsiam', 'texname', '+DC-S', ... | |
% 'color', in_c(utls.rgb('Salmon'), cip), 'barargs',{ls}, ... | |
% 'normname', norms{'siam', 'normstr'}{1}); | |
%bnames_pca{end+1} = struct('name', 'siam2stream', ... | |
% 'printname', '\pdcsiamts', 'texname', '+DC-S2S', ... | |
% 'color', in_c(utls.rgb('LightSalmon'), cip), 'barargs', {ls}, ... | |
% 'normname', norms{'siam2stream', 'normstr'}{1}); | |
%bnames_pca{end+1} = struct('name', 'siam2stream_norm', 'printname', '+dc-siam2stream'); | |
%bnames_pca{end+1} = struct('name', 'deepdesc', ... | |
% 'printname', '\pdeepdesc', 'texname', '+DDesc', ... | |
% 'color', in_c(utls.rgb('BurlyWood'), cip), 'barargs', {ls}, ... | |
% 'normname', norms{'deepdesc', 'normstr'}{1}); | |
%bnames_pca{end+1} = struct('name', 'tfeat-margin_norm', 'printname', '+tf-margin'); | |
bnames_pca{end+1} = struct('name', 'rootsift', 'printname', '\prootsift', 'texname', '+RSIFT', ... | |
'color', in_c(utls.rgb('Olive'), cip), 'barargs', {ls}, ... | |
'normname', norms{'rootsift', 'normstr'}{1}); | |
bnames_pca{end+1} = struct('name', 'tfeat-margin-star', ... | |
'printname', '\ptfmargin', 'texname', '+TF-M', ... | |
'color', in_c(utls.rgb('Sienna'), cip), 'barargs', {ls}, ... | |
'normname', norms{'tfeat-margin-star', 'normstr'}{1}); | |
bnames_pca{end+1} = struct('name', 'L2Net', ... | |
'printname', '\pL2Net', 'texname', '+L2Net', ... | |
'color', in_c(utls.rgb('Salmon'), cip), 'barargs', {ls}, ... | |
'normname', norms{'L2Net', 'normstr'}{1}); | |
bnames_pca{end+1} = struct('name', 'L2Net+', ... | |
'printname', '\pL2Net+', 'texname', '+L2Net+', ... | |
'color', in_c(utls.rgb('LightSalmon'), cip), 'barargs', {ls}, ... | |
'normname', norms{'L2Net+', 'normstr'}{1}); | |
% | |
% | |
% bnames_pca{end+1} = struct('name', 'HardNet', ... | |
% 'printname', '\pHardNet', 'texname', '+HardNet', ... | |
% 'color', in_c(utls.rgb('SkyBlue'), cip), 'barargs', {ls}, ... | |
% 'normname', norms{'HardNet', 'normstr'}{1}); | |
% | |
% bnames_pca{end+1} = struct('name', 'HardNet+', ... | |
% 'printname', '\pHardNet+', 'texname', '+HardNet+', ... | |
% 'color', in_c(utls.rgb('SteelBlue'), cip), 'barargs', {ls}, ... | |
% 'normname', norms{'HardNet+', 'normstr'}{1}); | |
%bnames_pca{end+1} = struct('name', 'tfeat-ratio_norm', 'printname', '+tf-ratio'); | |
%bnames_pca{end+1} = struct('name', 'tfeat-ratio-star', 'printname', '\ptfratio', 'texname', '+TF-R', ... | |
% 'color', in_c(utls.rgb('Chocolate'), cip), 'barargs', {ls}, ... | |
% 'normname', norms{'tfeat-ratio-star', 'normstr'}{1}); | |
%% | |
bnames_pca = cell2mat(bnames_pca); | |
%% | |
baselines_pca = struct('name', {bnames_pca.name}, 'printname', {bnames_pca.printname}, ... | |
'color', {bnames_pca.color}, ... | |
'bararg', {bnames_pca.barargs}, 'normname', {bnames_pca.normname}); | |
det_sets = {}; | |
%% | |
det_sets{1}.dets = baselines; | |
det_sets{1}.detnames = {bnames.printname}; | |
det_sets{1}.name = 'baselines'; | |
%det_sets{end+1}.dets = [baselines, baselines_pca]; | |
%det_sets{end}.detnames = [{bnames.printname}, {bnames_pca.printname}]; | |
%det_sets{end}.name = 'baselines-all'; | |
det_sets = cell2mat(det_sets); | |
task_clrs = [0,136,55; 94,60,153; 202,0,32] ./ 256; | |
%cl_tasks = {'full_diffseq_easy', 'full_diffseq_hard', 'full_diffseq_tough', 'full_sameseq_easy', 'full_sameseq_hard', 'full_sameseq_tough'}; | |
marker_opts = {'LineWidth', 0.5, 'MarkerSize', 3}; | |
mop = 1; mfp = 0.4; | |
cl_tasks = {... | |
struct('filter', struct('split', 'full', 'negs', 'inter', 'geom_noise', 'easy', 'method', 'imbalanced'), 'style', ... | |
{{'Marker', '*', 'Color', in_c(task_clrs(1, :), mop), 'MarkerFaceColor', in_c(task_clrs(1, :), mfp), marker_opts{:}}}), ... % full_diffseq_easy | |
struct('filter', struct('split', 'full', 'negs', 'inter', 'geom_noise', 'hard', 'method', 'imbalanced'), 'style', ... | |
{{'Marker', '*', 'Color', in_c(task_clrs(2, :), mop), 'MarkerFaceColor', in_c(task_clrs(2, :), mfp), marker_opts{:}}}), ... % full_diffseq_hard | |
struct('filter', struct('split', 'full', 'negs', 'inter', 'geom_noise', 'tough', 'method', 'imbalanced'), 'style', ... | |
{{'Marker', '*', 'Color', in_c(task_clrs(3, :), mop), 'MarkerFaceColor', in_c(task_clrs(3, :), mfp), marker_opts{:}}}), ... % full_diffseq_tough | |
struct('filter', struct('split', 'full', 'negs', 'intra', 'geom_noise', 'easy', 'method', 'imbalanced'), 'style', ... | |
{{'Marker', 'd', 'Color', in_c(task_clrs(1, :), mop), 'MarkerFaceColor', in_c(task_clrs(1, :), mfp), marker_opts{:}, 'MarkerSize', 1.5}}), ... % full_sameseq_easy | |
struct('filter', struct('split', 'full', 'negs', 'intra', 'geom_noise', 'hard', 'method', 'imbalanced'), 'style', ... | |
{{'Marker', 'd', 'Color', in_c(task_clrs(2, :), mop), 'MarkerFaceColor', in_c(task_clrs(2, :), mfp), marker_opts{:}, 'MarkerSize', 1.5}}), ... % full_sameseq_hard | |
struct('filter', struct('split', 'full', 'negs', 'intra', 'geom_noise', 'tough', 'method', 'imbalanced'), 'style', ... | |
{{'Marker', 'd', 'Color', in_c(task_clrs(3, :), mop), 'MarkerFaceColor', in_c(task_clrs(3, :), mfp), marker_opts{:}, 'MarkerSize', 1.5}}) ... % full_sameseq_tough | |
}; | |
cl_tasks = cell2mat(cl_tasks); | |
marker_opts = {'LineWidth', 0.5, 'MarkerSize', 4}; | |
%m_tasks = {... | |
% 'full_easy_illum', 'full_easy_viewpoint', 'full_hard_illum', 'full_hard_viewpoint', ... | |
% 'full_tough_illum', 'full_tough_viewpoint'}; | |
m_tasks = {... | |
struct('filter', struct('geom_noise', 'easy', 'category', 'i'), 'style', ... | |
{{'Marker', 'x', 'Color', in_c(task_clrs(1, :), mop), 'MarkerFaceColor', in_c(task_clrs(1, :), mfp), marker_opts{:}}}), ... % full_easy_illum | |
struct('filter', struct('geom_noise', 'easy', 'category', 'v'), 'style', ... | |
{{'Marker', '<', 'Color', in_c(task_clrs(1, :), mop), 'MarkerFaceColor', in_c(task_clrs(1, :), mfp), marker_opts{:}}}), ... % full_easy_viewpoint | |
struct('filter', struct('geom_noise', 'hard', 'category', 'i'), 'style', ... | |
{{'Marker', 'x', 'Color', in_c(task_clrs(2, :), mop), 'MarkerFaceColor', in_c(task_clrs(2, :), mfp), marker_opts{:}}}), ... % full_hard_illum | |
struct('filter', struct('geom_noise', 'hard', 'category', 'v'), 'style', ... | |
{{'Marker', '<', 'Color', in_c(task_clrs(2, :), mop), 'MarkerFaceColor', in_c(task_clrs(2, :), mfp), marker_opts{:}}}), ... % full_hard_viewpoint | |
struct('filter', struct('geom_noise', 'tough', 'category', 'i'), 'style', ... | |
{{'Marker', 'x', 'Color', in_c(task_clrs(3, :), mop), 'MarkerFaceColor', in_c(task_clrs(3, :), mfp), marker_opts{:}}}), ... % full_tough_illum | |
struct('filter', struct('geom_noise', 'tough', 'category', 'v'), 'style', ... | |
{{'Marker', '<', 'Color', in_c(task_clrs(3, :), mop), 'MarkerFaceColor', in_c(task_clrs(3, :), mfp), marker_opts{:}}}) ... % full_tough_viewpoint | |
}; | |
m_tasks = cell2mat(m_tasks); | |
marker_opts = {'LineWidth', 0.5, 'MarkerSize', 3}; | |
%r_tasks = {'full_easy_5s', 'full_easy_40s', ... | |
% 'full_hard_5s', 'full_hard_40s', 'full_tough_5s', 'full_tough_40s'}; | |
method = 'removequery'; | |
%method = 'keepquery'; | |
r_tasks = {... | |
% struct('filter', struct('split', 'small', 'geom_noise', 'easy', 'method', method), 'style', ... | |
% {{'Marker', '.', 'Color', in_c(task_clrs(1, :), mop), 'MarkerFaceColor', in_c(task_clrs(1, :), mfp), marker_opts{:}, 'MarkerSize', 4}}), ... % full_easy_5s | |
struct('filter', struct('split', 'full', 'geom_noise', 'easy', 'method', method), 'style', ... | |
{{'Marker', 'o', 'Color', in_c(task_clrs(1, :), mop), 'MarkerFaceColor', in_c(task_clrs(1, :), mfp), marker_opts{:}, 'MarkerSize', 3}}), ... % full_easy_40s | |
% struct('filter', struct('split', 'small', 'geom_noise', 'hard', 'method', method), 'style', ... | |
% {{'Marker', '.', 'Color', in_c(task_clrs(2, :), mop), 'MarkerFaceColor', in_c(task_clrs(2, :), mfp), marker_opts{:}, 'MarkerSize', 4}}), ... % full_hard_5s | |
struct('filter', struct('split', 'full', 'geom_noise', 'hard', 'method', method), 'style', ... | |
{{'Marker', 'o', 'Color', in_c(task_clrs(2, :), mop), 'MarkerFaceColor', in_c(task_clrs(2, :), mfp), marker_opts{:}, 'MarkerSize', 3}}), ... % full_hard_40s | |
% struct('filter', struct('split', 'small', 'geom_noise', 'tough', 'method', method), 'style', ... | |
% {{'Marker', '.', 'Color', in_c(task_clrs(3, :), mop), 'MarkerFaceColor', in_c(task_clrs(3, :), mfp), marker_opts{:}, 'MarkerSize', 4}}), ... % full_tough_5s | |
struct('filter', struct('split', 'full', 'geom_noise', 'tough', 'method', method), 'style', ... | |
{{'Marker', 'o', 'Color', in_c(task_clrs(3, :), mop), 'MarkerFaceColor', in_c(task_clrs(3, :), mfp), marker_opts{:}, 'MarkerSize', 3}}) ... % full_tough_40s | |
}; | |
r_tasks = cell2mat(r_tasks); | |
%% Export the Figures | |
% Verification | |
ps = 0.8; | |
for dsi = 1:numel(det_sets) | |
figure('units','inches'); clf; | |
detnames = det_sets(dsi).detnames; | |
det_sets(dsi).dets; | |
rproc.bar_plot(res.verification_en, 'mean_pr_ap', ... | |
cl_tasks, det_sets(dsi).dets, 'detnames', detnames, ... | |
'legend', false); | |
xlabel('Patch Verification mAP [%]'); | |
%set(gcf, 'Position', get(0, 'Screensize')); % Maximize figure. | |
pos = get(gcf,'pos'); | |
set(gcf,'pos',[pos(1) pos(2) 4 2]) | |
set(gca,'FontSize',18) | |
drawnow; | |
vl_printsize(ps); | |
out_im_path = fullfile(outpath, sprintf('verif_%s_other.eps', ... | |
det_sets(dsi).name)); | |
print('-depsc', out_im_path, '-r200'); | |
matlab2tikz(fullfile(outpath, sprintf('verif_%s_other.tikz', ... | |
det_sets(dsi).name)), 'showInfo', false, ... | |
'width', '\figW', 'height', '\figH', 'interpretTickLabelsAsTex', false); | |
end | |
%% Matching | |
for dsi = 1:numel(det_sets) | |
figure('units','inches'); clf; | |
clf; | |
detnames = det_sets(dsi).detnames; | |
rproc.bar_plot(res.matching_gen, 'mean_mean_ap', ... | |
m_tasks, det_sets(dsi).dets, 'detnames', detnames, ... | |
'legend', false); | |
xlabel('Image Matching mAP [%]'); | |
pos = get(gcf,'pos'); | |
set(gcf,'pos',[pos(1) pos(2) 4 2]) | |
set(gca,'FontSize',15) | |
drawnow; | |
vl_printsize(ps); | |
out_im_path = fullfile(outpath, sprintf('matching_%s_other.eps', ... | |
det_sets(dsi).name)); | |
print('-depsc', out_im_path, '-r200'); | |
matlab2tikz(fullfile(outpath, sprintf('matching_%s_other.tikz', ... | |
det_sets(dsi).name)), 'showInfo', false, ... | |
'width', '\figW', 'height', '\figH', 'interpretTickLabelsAsTex', false); | |
end | |
%% Retrieval | |
for dsi = 1:numel(det_sets) | |
figure('units','inches'); clf; | |
detnames = det_sets(dsi).detnames; | |
rproc.bar_plot(res.retrieval_en, 'mean_map', ... | |
r_tasks, det_sets(dsi).dets, 'detnames', detnames, ... | |
'legend', false); | |
xlabel('Patch Retrieval mAP [%]'); | |
pos = get(gcf,'pos'); | |
set(gcf,'pos',[pos(1) pos(2) 4 2]) | |
set(gca,'FontSize',18) | |
drawnow; | |
vl_printsize(ps); | |
out_im_path = fullfile(outpath, ... | |
sprintf('retr_patch_%s_other.eps', det_sets(dsi).name)); | |
print('-depsc', out_im_path, '-r200'); | |
matlab2tikz(fullfile(outpath, sprintf('retr_patch_%s_other.tikz', ... | |
det_sets(dsi).name)), 'showInfo', false, ... | |
'width', '\figW', 'height', '\figH', 'interpretTickLabelsAsTex', false); | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment