<< Chapter < Page Chapter >> Page >

Conclusion

Scale-invariant feature transform

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.

Hough transform

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.

Moment of inertia

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.

Future works

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:

New design model

A dog sitting on a bed
A better system design. Use Matlab edge detection, preprocess with Moment of Inertia, and then pass through Hough Transform

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.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Elec 301 projects fall 2014. OpenStax CNX. Jan 09, 2015 Download for free at http://legacy.cnx.org/content/col11734/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Elec 301 projects fall 2014' conversation and receive update notifications?

Ask