-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.m
73 lines (52 loc) · 2.26 KB
/
main.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
clear;
close all;
trackparam;
setup;
configFile = 'camera_configs/camera3.config';
dataset = loadSetting(configFile, dataset);
VISUALIZE = false;
%% the total number of frames for each camera
NUM_OF_FRAMES = [359580, 360720, 355380, 374850, 366390, 344400, 337680, 353220];
if dataset.startingFrame + syncTimeAcrossCameras(dataset.camera) < 1
error('ERROR');
end
dataset = changeFPS(dataset);
%% Generate Target Tracklets
Dets = parseDet(dataset);
features = [];
tracklets = struct([]);
for startFrame = dataset.startingFrame : dataset.tracklets.frameInterval : dataset.endingFrame
fprintf('%d/%d\n', startFrame, dataset.endingFrame);
endFrame = startFrame + dataset.tracklets.frameInterval - 1;
segmentRange = startFrame : endFrame;
% extract appearance features
[features, thisDets] = parseFeatures(dataset, Dets, features, segmentRange);
[filteredDetections, filteredFeatures] = nms(dataset, thisDets, features);
tracklets = buildTracklets(dataset, filteredDetections, filteredFeatures, startFrame, endFrame, tracklets, VISUALIZE);
end
%% Generate Trajectories
lastEndLoaded = 0;
% initialize range
startTime = dataset.startingFrame - dataset.trajectories.windowWidth + 1;
endTime = dataset.startingFrame + dataset.trajectories.windowWidth - 1;
trajectories = trackletStitching(tracklets,1:length(tracklets));
while startTime <= dataset.endingFrame
close all;
fprintf('Window %d...%d\n', startTime, endTime);
trajectories = buildTrajectories( dataset, trajectories, startTime, endTime, VISUALIZE);
% update loop range
startTime = endTime - dataset.trajectories.overlap;
endTime = startTime + dataset.trajectories.windowWidth;
end
% save trajectories
trackerOutput = saveTrajectories(trajectories);
%% Change into the real video fps%
dataset = revertFPS(dataset);
myOutput = changeOutput(dataset, trackerOutput);
if exist('results','dir') == 0
mkdir('results');
end
fname = sprintf('results/cam%d_%07d_%07d.txt',[dataset.camera, dataset.startingFrame, dataset.endingFrame]);
dlmwrite(fname, myOutput, 'delimiter', ' ', 'precision', 6);
rmpath(genpath('Optimization'));
rmpath(genpath('tools'));