The Flock Vision Toolkit is a set of computer vision algorithms and utilities for Cycling '74's Max / MSP / Jitter multimedia development environment. These objects were developed by Mark Godfrey, an MS candidate in Music Technology at Georgia Tech and one of the principal collaborators on Flock.
ParticleFilter.java (mxj external) implements a (slightly simplified) version of the popular particle filtering tracking algorithm. Basically, particles of a given target sample the image. Those with high probability mass (i.e. over a target's pixel) are more likely to be sampled in the next frame. In this way, a target's particles tend to stick with it. We found this useful for tracking the saxophonists in Flock, since the tracker often had to deal with interference from other objects in the camera's image.
Skewcorrection.pat uses a least-squared error transformation to correct for skew in an image, typically caused by the camera's perspective. This is based on correcting a warped calibration rectangle in the image to a true rectangle.
Stitcher.pat finds a least-squared error transformation to warp one image into the space of another. This transform, in addition to a blending algorithm, can stitch images together, and it works well for panoramic images and multi-camera setups.
Lens_correction.pat corrects for "barrel/pin" distortion, commonly resulting from fisheye lenses.
We have tested these objects on Max versions 4.6 and 5.0 on both Mac and Windows.
If you have questions about the objects, please feel free to contact us!