kernelTracker

PURPOSE ^

Kernel Tracker from Comaniciu, Ramesh and Meer PAMI 2003.

SYNOPSIS ^

function [allRct, allSim, allIc] = kernelTracker( I, prm )

DESCRIPTION ^

 Kernel Tracker from Comaniciu, Ramesh and Meer PAMI 2003.

 Implements the algorithm described in "Kernel-Based Object Tracking" by
 Dorin Comaniciu, Visvanathan Ramesh and Peter Meer, PAMI 25, 564-577,
 2003.  This is a fast tracking algorithm that utilizes a histogram
 representation of an object (in this implementation we use color
 histograms, as in the original work).  The idea is given a histogram q in
 frame t, find histogram p in frame t+1 that is most similar to q. It
 turns out that this can be formulated as a mean shift problem. Here, the
 kernel is fixed to the Epanechnikov kernel.

 This implementation uses mex files to optimize speed, it is significantly
 faster than  real time for a single object on a 2GHz standard laptop (as
 of 2007).

 If I==[], toy data is created.  If rctS==0, the user is queried to
 specify the first rectangle.  rctE, denoting the object location in the
 last frame, can optionally be specified.  If rctE is given, the model
 histogram at fraction r of the video is (1-r)*histS+r*histE where histS
 and histE are the model histograms from the first and last frame.  If
 rctE==0 rectangle in final frame is queried, if rectE==-1 it is not used.

 Let T denote the length of the video. Returned values are of length t,
 where t==T if the object was tracked through the whole sequence (ie sim
 does not fall below simThr), otherwise t<=T is equal to the last frame in
 which obj was found.  You can test if the object was tracked using:
   success = (size(allRct,1)==size(I,4));

 USAGE
  [allRct, allIc, allSim] = kernelTracker( [I], [prm] )

 INPUTS
  I            - MxNx3xT input video
  [prm]
   .rctS       - [0] rectangle denoting initial object location
   .rctE       - [-1] rectangle denoting final object location
   .dispFlag   - [1] show interactive display
   .scaleSrch  - [1] if true search over scale
   .nBit       - [4] n=2^nBit, color histograms are [n x n x n]
   .simThr     - [.7] sim thr for when obj is considered lost
   .scaleDel   - [.9] multiplicative diff between consecutive scales

 OUTPUTS
  allRct       - [t x 4] array of t locations [x,y,wd,ht]
  allSim       - [1 x t] array of similarity measures during tracking
  allIc        - [1 x t] cell array of cropped windows containing obj

 EXAMPLE
  disp('Select a rectangular region for tracking');
  [allRct,allSim,allIc] = kernelTracker();
  figure(2); clf; plot(allRct);
  figure(3); clf; montage2(allIc,struct('hasChn',true));

 See also

 Piotr's Computer Vision Matlab Toolbox      Version 3.22
 Copyright 2014 Piotr Dollar.  [pdollar-at-gmail.com]
 Licensed under the Simplified BSD License [see external/bsd.txt]

Generated by m2html © 2003