Production Deep Tracking (deprecated) - kristinbranson/APT GitHub Wiki
This wiki is now obsolete. For the newer version of this functionality, see the Track>Track Multiple Videos option in the APT GUI. This option will bring up a GUI for tracking multiple movies. The movies to be tracked can be entered manually, or use the Load button to provide a JSON file specifying these movies. An example of this JSON file can be found in the <APT>/examples directory.
See also Tracking Movies (DL algorithms).
Currently, tracking of an arbitrary (mov,frm,tgt) set (serially, with no UI to monitor progress) is supported for the JRC cluster backend.
Steps:
- Train a tracker for your project.
- Create json files listing movies, trxfiles (optional), cropLocs (optional), and (mov,tgt,frm) 3-tuples to track. You will need one json for each view.
The 'toTrack' field lists (mov,tgt,frm) 3-tuples (1-based) of frames to track. The mov values (first element in 3-tuples) index the 'movieFiles' list in the json. The frame specification may be a list with 2 elements like [1,2501], indicating a (python style, with the second number being one past the end of the interval) range of frames to track. All elements of these 3-tuples are 1-based.
In this example, 2503 frames are tracked: the first 3 frames of mov1.avi (for target 1 in that movie), and the first 2500 frames of mov2.avi (for target 1 in that movie).
{
"movieFiles": [
"/path/to/mov1.avi",
"/path/to/mov2.avi"
],
"trxFiles": [
"/path/to/trx1.mat",
"/path/to/trx2.mat"
],
"toTrack": [
[1,1,1],
[1,1,2],
[1,1,3],
[2,1,[1,2501]]
]
}
- Call APT methods as below.
% Do steps 1 and 2; train a tracker and create your jsons.
% You must be using the JRC Cluster backend!
tObj = lObj.tracker; % gets current tracker
jsons = fullfile(pwd,{'view1.json';'view2.json'}); % assumes we are in the directory containing the jsons
outfiles = fullfile(pwd,{'view1.mat';'view2.mat'}); % specifies the output files for each view
tObj.trackListFile(jsons,outfiles); % spawns one tracking job for each view