<< Chapter < Page | Chapter >> Page > |
After performing SIFT on a number of images and finding the location of the key points on those images, we realized that although SIFT recognizes the sharp corners and curvatures very well, it would not recognize key point along straight lines. Looking back at the SIFT algorithm, we found out that this is because straight lines are not scale and rotational invariant as compared to corners. Since SIFT focuses on the robustness of key points and on the features of an image, straight lines do not qualify as features.
Since, our goal is to identify squares in an image mainly comprised of geometric figures we are mostly dealing with straight lines. Hence, SIFT would not be a suitable algorithm for us to locate the edges in the image. We would need to resort to other methods. Due to time constraints we turned to Matlab edge Functions.
The Hough Transform correctly identified the squares in an image but was computationally expensive. Every single pixel in the image had to be looked at. Also if enough noise was added that an edge was lost the Hough transform ceased to work at all. Overall the Hough Transform is a more robust approach because it can be generalized to even more complex situations where the Moment of Inertia method cannot.
The Moment of Inertia method proved to be extremely rudimentary. It worked on simple images where the shapes had very different Moments of Inertia and the shapes did not overlap. But if the shapes overlapped the boundaries were lost and the shapes were not identified correctly. Also, if two shapes had similar Moments of Inertia the system would give a false positive. Obviously Moment of Inertia is not a method that can stand on its own. However, it only gives false positives. It won't accidentally mask out an actual result. Due to that and the fact that it is computationally very cheap, it could be used as a preprocessor for a more computationally expensive algorithm.
Continuing on from here, we want to optimize our implementations. After successfully improving the speed of our code we would want to solve the issue our Moment of Inertia method has with overlapping images. This could be solved by starting from the smallest shape and moving outward. Finally, we would reorganize our system to match the following design:
Implementing this design would save computation time in the Hough transform. The Moment of Inertia would mask out shapes that were clearly not correct which would reduce the number of Hough Peaks and reduce the number of calculations. After implementing this improved system we would want to create our own way of obtaining the edges of our images besides Matlab.
Notification Switch
Would you like to follow the 'A comparison of object recognition using the hough transform and the properties of moment of inertia' conversation and receive update notifications?