Monday, June 27, 2011

Geometric Pattern Recogntion

For the course in "Pattern Recognition" me and a classmate worked on the task of identifying the rigid motion between two sets of points. In other words we aimed to calculate the scaling, rotation and transposition factors that mapped a point set A to a point set B. The methods that should be used were:
  1. Exact point matching
  2. Approximate matching (alignment algorithm)
  3. Voronoi diagrams (by Shane O'Sullivan)
The user interface in Matlab
We implemented only the two first though. We employed O'Sullivan's code for computing the Voronoi diagram but its structure was inadequate for further usage. Additionally we implemented Hausdorff distance calculation. We used Matlab for the interface and C++ for the matching/distance algorithms.
    Anyway I think the program can be used as a basic tool for geometric pattern recognition (between poin sets), since the user is able to define the point sets himself (in real time) and apply the transformations he desires. More information regarding the functionality are included in this pdf:

Geometric Pattern Recognition.pdf.

The code can be downloaded here (via sendspace). However if the link is down, please email me. Just to clarify the "assignment.exe" corresponds to the "source1.cpp".

1 comments:

Diogo said...

Can you reup the code please? Thanks!