Image Recognition: Centroidal Profile
About the algorithm
The centroidal profile algorithm is described in the paper Recognising Objects by their Silhouette. A short summary follows.
Profile generation
A centroidal profile is generated as follows.
- You calculate the center, orientation, and circumference of the region.
- You go around the circumference of the region, starting at the point closest to the main axis. If there is more than one point (can happen for concave regions), you take the one farthest from the center. You take n equidistant points from the circumference.
- For each of those points you calculate the distance to the center.
- The centroidal profile consists of the normalized distances.
Profile comparison
- You can only compare profiles with the same number n of points.
- Sum up the squares of the differences of the sample points. This yields a number 0
New: Centroidal profile framework
- On request, I have made a framework out of my centroidal profile library. You can get it here.
- This framework needs the OpenCV framework.
- The applications have been updated to use these new frameworks:
ImageTest
Here is an application for testing the centroidal profile algorithm.
Get the following files:
- The OpenCV library
- OpenCV patch for the iBook
- The centroidal profile library (This is newer one than the one I attached to my post on the discussion board, by the way.)
- The ImageTest application (And this is an updated version that works with the new libcentroidal_profile.)
- Test images for ImageTest
and install the application on your iBook as described in this text file:
For a short introduction, read this:
PostureRecognizerTest
This is an extended version of ImageTest. It has a simple segmentor built in that can deal with some test images I have made. These test images are real photos of me taken with the iSight. I tried to be really white in front of a green background, so that segmentation would be easy.
The installation procedure is analogous to that of ImageTest.
Get the following files:
- The library
- OpenCV patch for the iBook
- The centroidal profile library
- The PostureRecognizerTest application
- Test images for PostureRecognizerTest
and basically do the same as for ImageTest:
The UI looks almost the same, with the following differences:
- You can use the open dialog to load a set of models. You can still drag them onto the model display. For test images, this is the only way to get them into the program.
- You can now choose whether to display the original image or the result of the segmentation, which is actually used to do the comparison.
I really hope this is useable.