::  Intro  ::  k-d Trees  ::  Similarity k-d Trees  ::  Building a 2d Tree  ::  Point Set Matching  ::  Applet  ::  jGL  ::


In marker-based motion capture applications, one desirable property that a space-partitioning data structure (such as a k-d tree) should possess is invariance to certain transformations of the point set. We will say more about this in the section on point set matching, but basically this is because ideally we would like two k-d trees generated on two different but similarly distributed point sets to be as similar as possible.

Most variants of k-d trees are robust to affine transformations (such as rotation or translation) of rigid objects, but in MoCap this is not quite enough. Consider human legs, and take as model set the set of markers on these legs in fully extended position. Now bend the knees a little, and take this new point set as the match set.

The model set: extended legs The match set: slightly bent legs

This transformation is not affine, and furthermore legs are not a perfectly rigid object (such as a box for example). If we hope to match these two point sets correctly, we need a variant of k-d trees that is robust to such point set distribution errors and to such non rigidity.

One flavor of k-d trees that proves useful in such MoCap applications is the Similarity k-d Tree. Contrary to the k-d tree seen in the previous section, where at least one data point lay on each chosen hyperplane, this tree partitions the space in such a way that data points lie far from the chosen hyperplanes. Next we show how to build a similarity 2d tree.







 

Intro
k-d Trees
Similarity k-d Trees
Building a 2d Tree
Point Set Matching
Applet
jGL

 

 

 


Website created by Philippe Kuenzle (email) and Michel Langlois (email)
COMP 644: Pattern Recognition
Instructor: Godfried Toussaint, Teaching Assistant: Greg Aloupis
School of Computer Science, McGill University, Montreal, Winter 2004