Vicon CaraPost Reference
        
 
 

3D initialization algorithm

The aim of the initialize 3D algorithm is to initialize 3D points (and corresponding 2D image blob matches) for as many facial markers as possible. The algorithm uses as input a frame in the take containing all of the following:

       A solved calibration brim; and

       Blob detections; and

       A small number of (around 5–10) matched facial marker points that you have specified, which are used as seed points to search for additional facial marker points.

The algorithm is summarized below:

1.    Exclude all brim points, and all unused detections in the image regions corresponding to the brim.

2.    For each pair of camera caddies, starting with the seed-points you specified, look iteratively for new matched 2D points across the two camera views, until no more matches are found. At each iteration, use the epipolar constraint (i.e. for pair of cameras of known relative position/orientation, a point in one camera image will lie upon a corresponding line in the other camera image) to find any unambiguous candidate matches which generate lie within a specified distance of the current 3D points.

3.    Take the results from the two pairs of camera caddies, and merge any points which are within a specified 3D distance tolerance.

4.    Perform bundle adjustment to optimize the final 3D point and camera positions.