65 lines
No EOL
1.9 KiB
Matlab
65 lines
No EOL
1.9 KiB
Matlab
function [fps, resDir] = run_bu_experiment(bu_dir, verbose, version, varargin)
|
|
|
|
executable = '"../../x64/Release/FeatureExtraction.exe"';
|
|
|
|
output = 'Tracker_';
|
|
|
|
% listing the output based on the current revision
|
|
output = [output 'r' num2str(version)];
|
|
|
|
output = cat(2, output, '/');
|
|
|
|
if(~exist([bu_dir output], 'dir'))
|
|
mkdir([bu_dir output]);
|
|
end
|
|
|
|
buFiles = dir([bu_dir '*.avi']);
|
|
|
|
numTogether = 25;
|
|
|
|
tic;
|
|
for i=1:numTogether:numel(buFiles)
|
|
|
|
command = executable;
|
|
command = cat(2, command, [' -root ' '"' bu_dir '/"']);
|
|
|
|
% BU dataset orientation is in terms of camera plane, instruct the
|
|
% tracker to output it in that format
|
|
command = cat(2, command, [' -cp ']);
|
|
|
|
% deal with edge cases
|
|
if(numTogether + i > numel(buFiles))
|
|
numTogether = numel(buFiles) - i + 1;
|
|
end
|
|
|
|
for n=0:numTogether-1
|
|
inputFile = [buFiles(n+i).name];
|
|
[~, name, ~] = fileparts(inputFile);
|
|
|
|
% where to output results
|
|
outputFile = [output name '.txt'];
|
|
|
|
command = cat(2, command, [' -f "' inputFile '" -of "' outputFile '"']);
|
|
|
|
if(verbose)
|
|
outputVideo = ['"' output name '.avi' '"'];
|
|
command = cat(2, command, [' -ov ' outputVideo]);
|
|
end
|
|
end
|
|
|
|
command = cat(2, command, ' -fx 500 -fy 500 -cx 160 -cy 120 -no2Dfp -no3Dfp -noMparams -noAUs -noGaze ');
|
|
|
|
if(any(strcmp('model', varargin)))
|
|
command = cat(2, command, [' -mloc "', varargin{find(strcmp('model', varargin))+1}, '"']);
|
|
end
|
|
|
|
dos(command);
|
|
end
|
|
|
|
timeTaken = toc;
|
|
fps = 9000 / timeTaken;
|
|
|
|
% tell the caller where the output was written
|
|
resDir = [bu_dir output];
|
|
|
|
end |