G OOGLE S UMMER OF C ODE 2016

OpenCV - 3D tracking API creation and tracking algorithm implementation

Giacomo Dabisias March 21, 2016

1 I NTRODUCTION The objective of video tracking is to associate target objects in consecutive video frames. The association can be especially difficult when the objects are moving fast relative to the frame rate. Another situation that increases the complexity of the problem is when the tracked object changes orientation over time. For these situations video tracking systems usually employ a motion model which describes how the image of the target might change for different possible motions of the object. Examples of simple motion models are: When the target is a rigid 3D object, the motion model defines its aspect depending on its 3D position and orientation. To perform video tracking an algorithm analyzes sequential video frames and outputs the movement of targets between the frames. There are two major components of a visual tracking system: target representation and localization, as well as filtering and data association. Target representation and localization is mostly a bottom-up process. These methods give a variety of tools for identifying the moving object. Locating and tracking the target object successfully is dependent on the algorithm. For example, using blob tracking is useful for identifying human movement because a person’s profile changes dynamically. Typically the computational complexity for these algorithms is low. The following are some common target representation and localization algorithms: Kernel-based tracking : an iterative localization procedure based on the maximization of a similarity measure (Bhattacharyya coefficient). Contour tracking: detection of object boundary (e.g. active contours or Condensation algorithm). Contour tracking methods iteratively evolve an initial contour initialized from the previous frame to its new position in the current frame. This approach to contour tracking directly evolves the contour by minimizing the contour energy using gradient descent. Filtering and data association is mostly a top-down process, which involves incorporating prior information about the scene or object, dealing with object dynamics, and evaluation of different hypotheses. These methods allow the tracking of complex objects along with more complex object interaction like tracking objects moving behind obstructions. Additionally the complexity is increased if the video tracker is not mounted on rigid foundation (on-shore) but on a moving ship (off-shore), where typically an inertial measurement system is used to

1

pre-stabilize the video tracker to reduce the required dynamics and bandwidth of the camera system. The computational complexity for these algorithms is usually much higher. The following are some common filtering algorithms: Kalman filter: an optimal recursive Bayesian filter for linear functions subjected to Gaussian noise.It is an algorithm that uses a series of measurements observed over time, containing noise (random variations) and other inaccuracies, and produces estimates of unknown variables that tend to be more precise than those based on a single measurement alone. Particle filter: useful for sampling the underlying state-space distribution of nonlinear and non-Gaussian processes. Three good candidates to be implemented are: • HOG features + SVN : The algorithm uses the state-of-the-art HOG features sliding window detection with linear SVM ,which incorporate depth information to prevent model drift, and robust optical flow, and propose a very simple model to represent the depth distribution for occlusion handling. There is already a matlab implementation at [1] • Particle filter tracking : Occlusion Aware Particle Filter Tracker to Handle Complex and Persistent Occlusions. The algorithm implements an occlusion aware particle filter framework that employs a probabilistic model with a latent variable representing an occlusion flag. The proposed framework prevents losing the target by prediction of emerging occlusions, updates the target template by shifting relevant information, expands the search area for occluded target, and grants quick recovery of the target after occlusion. Furthermore the algorithm employs multiple features from color and depth domains to achieve robustness against illumination changes and clutter, so that the probabilistic framework accommodates the fusion of those features.There is already a matlab implementation at [2] and the paper at [3]. • A Chameleon in Tracking : The algorithm can be used either for tracking 2D templates in intensity images or for tracking 3D objects in depth images. To overcome problems like partial occlusions, strong illumination changes and motion blur, that notoriously make energy minimization-based tracking methods get trapped in a local minimum, it proposes a learning based method that is robust to all these problems. Random forests ˘ Zs ´ moare used to learn the relation between the parameters that defines the objectâA tion, and the changes they induce on the image intensities or the point cloud of the template. No code implementation found yet. The paper presenting the work can be found at [4]

2 P ROJECT GOALS The OpenCV library already contains 2D tracking APIs, but it is missing 3D tacking support. The objective of this work is to add a robust and expandable API for 3D tracking and to implement a state of the art 3D tracking algorithm to validate the new API. The last step consists in preparing examples and documentation to ease the usage of the new code.

2

3 I MPLEMENTATION The implementation of this project can be divided into the following work packages: • 3D API structure : Creation of a 3D tracking API following the actual 2D tracking API style. • CMAKE : Adaptation of the current cmake structure to host the new 3D tracking code structure. • Tracking algorithm code : Porting/Creation of a Tracking algorithm into C++ code. • CMAKE v2 + testing : Adapt OpenCV cmake code to host the new tracking algorithm and test the new API for errors. • Tracking algorithm import : Import the new tracking algorithm into OpenCV to validate the new structure. The algorithm can be tested using the Princeton RGBD dataset (http://vision.princeton.edu/projects/2013/tracking/dataset.html) • Example : Create a simple working example of the algorithm with adequate comments for users. • Documentation : Create Documentation for the new 3D tracking API.

4 T IMELINE The Whole project should last from May 23, 2016 to August 15, 2016 (12 Weeks). • 3D API structure : 3.5 Weeks • CMAKE : 1 Week • Tracking algorithm code : 3.5 Weeks • CMAKE v2 + testing : 1 Week • Tracking algorithm import : 1 Week • Example : 1 Week • Documentation : 1 Week Total : 12 Weeks

3

5 A BOUT ME I finished my joint master degree in computer science and networking at Sant’Annas school of advanced studies and the university of Pisa in 2014 with a thesis on the static allocation of real-time OpenMP jobs on multicore machines. The master program was focused on parallel and high performance computing including OpenMP, MPI, Cuda and Tbb. I started then working as a scholar on the PELARS project (Practice-based Experiential Learning Analytics Research And Support) at the Laboratory of Perceptual Robotics (PERCRO), which is part of the Institute of Communication, Information and Perception Technologies (TECIP) of the Scuola Superiore Sant’Anna, Pisa. In November 2014 I started my PhD in Perceptual Robotics, researching object recognition algorithms for action recognition; both mobile, embedded and fixed solutions are investigated. To do this I am also active in the research area of RGB-D cameras creating interfaces and testing new sensors. I spent November 2015 as a visiting student at the Computer Vision laboratory of Luc van Gool at ETHZ under the supervision of Andrea Fossati, developing an object recognition and pose estimation algorithm based on Random Forests. I am used to maintain and expand existing state of the art libraries given that I did contribute actively to libraries like PCL and libfreenect2. Code is mainly developed using C++ and Python. https://github.com/giacomodabisias

6 REFERENCES [1] http://vision.princeton.edu/projects/2013/tracking/code.html [2] https://github.com/meshgi/RGBD_Particle_Filter_Tracker [3] http://ishiilab.jp/member/meshgi-k/oapft.html [4] http://campar.in.tum.de/pub/tanda2014cvpr/tanda2014cvpr.pdf

4

OpenCV - 3D tracking API creation and tracking ... -

Mar 21, 2016 - a variety of tools for identifying the moving object. .... of advanced studies and the university of Pisa in 2014 with a thesis on the static allocation of ... ing Analytics Research And Support) at the Laboratory of Perceptual ...

77KB Sizes 26 Downloads 354 Views

Recommend Documents

Towards Real Time 3D Tracking and Reconstruction on ...
the GPU rather than the CPU, is that the GPU has several computing units, that can run ... algorithm and a reference implementation that works in real time on ..... cloud so the displacement of its projections is similar to the optical flow of the ..

LV Motion Tracking from 3D Echocardiography Using ... - Springer Link
3D echocardiography provides an attractive alternative to MRI and CT be- ..... We implement the algorithm in Matlab, and test it on a Pentium4 CPU 3GHz.

Speckle Tracking in 3D Echocardiography with Motion ... - IEEE Xplore
tracking in 3D echocardiography. Instead of tracking each speckle independently, we enforce a motion coherence con- straint, in conjunction with a dynamic ...

CLEAR 2007 Evaluation Plan 3D Person Tracking Task - GitHub
tracking systems, detection systems, etc may still output hypotheses at a much ... Person Tracking systems will be evaluated in terms of localization precision, ...

PHD Filter Multi-target Tracking in 3D Sonar
moment of the multiple target posterior distribution called the. Probability ... iteration by computing the mass of the particle weights. The ... data obtained from the Echoscope forward looking 3D imaging sonar. ... One of the advantages of.

Tracking biological microorganisms in sequence of 3D ...
P. Refregier, Noise Theory and Application to Physics, Springer (2005). 12. F. Sadjadi ... mobile cameras,” IEEE Trans. Pattern Anal. .... respectively, one can write the likelihood function of the voxel located at r0=(x0,y0,z0) as: [. ] [. ] ∏.

PHD Filter Multi-target Tracking in 3D Sonar
iteration by computing the mass of the particle weights. The locations of the ... not kept, this has a significant computational advantage over traditional methods of ...

comparative study of camera calibration models for 3d particle tracking ...
On the other hand, for computer vision applications, different types of nonlinear cal- .... to a small degree of misalignment in the setup of camera optics. Several ...

Non Invasive 3D Tracking for Augmented Video ...
The proposed implementation can make all the tracking and calibration process automatically and has the advantage of not to need any marker in the scene, imposing only a few restrictions in the ... of marker based tracking is the ArToolkit library de

GfK Consume Tracking
GfK Consumer Tracking. Advanced Business Solutions Annoucement MEP Media Efficiency Panel. May 2010. Measuring online media effectiveness is hard…

GfK Consume Tracking - PDFKUL.COM
Single Source Data. → How does the research process looks like for consumers who sign a mobile or DSL contract online or offline? Questionnaire. •Primary research among panelists of. MEP. •Source: ... Vodafone, Google and GfK. –. Exact ... An

GfK Consume Tracking
GfK Consumer Tracking. Research Online, Purchase Offline (ROPO) – Mobile & DSL ... To exclude non-telco sub-domains site title of general websites were ...

GfK Consume Tracking
Advanced Business Solutions Annoucement MEP Media Efficiency Panel ... GRPs of all evaluated Campaigns; Arithmetic Means ... 10. GfK Consumer Tracking. Advanced Business Solutions Annoucement MEP Media Efficiency Panel. May 2010. Gross ROI shows best

Conversion Tracking -
Feb 14, 2013 - Campaign cannot have Advanced Ad Scheduling or Position ... optimizer will determine the best placements/sites and bids to bring you.

Extended Lucas-Kanade Tracking
7. Cootes, T., Edwards, G., Taylor, C.: Active appearance models. TPAMI (2001). 8. DeGroot, M.: Optimal Statistical Decisions. McGraw-Hill, New York (1970). 9. Dempster, A.P., Laird, N.M., Rubin, D.B.: Maximum likelihood from incomplete data via the

Customizable Tracking Solutions
Atypical Tracking Solutions Provide. Detailed, Advanced ... accurate conversion metrics to make informed business decisions. Business Solution: In 2011, ...

Biologically Inspired Bearing-Only Navigation and Tracking
positioning system, without any range measurement sensors but with only the ... navigation and tracking, that requires only bearing infor- mation from at least ...

PSYCHOPHYSICS AND EYE-TRACKING OF ...
... GA 30460, USA. Email: [email protected] ...... Young children reorient by computing layout geometry, not by matching images of the ...

project tracking pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. project tracking ...

Customizable Tracking Solutions - Beacon Technologies
A Web Marketing ... campaigns, not just based on the final visit, which is where Google ... application Conversions), Several visits were often vital to creating.

2009_TRR_Draft_Video-Based Vehicle Detection and Tracking Using ...
2009_TRR_Draft_Video-Based Vehicle Detection and Tracking Using Spatiotemporal Maps.pdf. 2009_TRR_Draft_Video-Based Vehicle Detection and Tracking ...

Injury Tracking Form.pdf
... Adjacent to Playing Field D.) Off Ball Field. ❒ Base Path: ❒ Running or ❒ Sliding ❒ Seating Area ❒ Travel: ❒ Hit by Ball: ❒ Pitched or ❒ Thrown or ❒ Batted ❒ Parking Area ❒ Car or ❒ Bike or. ❒ Collision with: ❒ Player

Google Async Tracking Case Study
an opportunity to update the site's existing traditional Google Analytics snippet to the ... the cutting edge with Google's best practices, this was done to improve site speed ... region helps to determine marketing strategy and financing for various

Rewards Tracking Sheet
Mar 1, 2015 - FREE Stamp Set Name & Item #: ... Place an on-line order or e-mail me ([email protected]) order. •. All orders need to be placed ...