Globe Detection - Computer Vision Project
One common problem in computer vision is to search and find specific objects or shapes in a picture or video stream. In this particular project we were asked to design and implement a complete procedure that can identify the small political globe(in any orientation) pictured in figure below, either by selecting available tools or by writing our own code.

To mention some of the features of the object in question, it is round from any view angle, it has countries represented with solid colors on a beige like background representing the oceans. Labels for oceans, continents, countries and capitals are shown with various font sizes in dark colors. Latitude and longitude lines are shown as solid purple lines with 15 degrees of separation. Other features include small latitude/longitude labels, river lines and dashed tropic lines. Based on this information, it was decided to formulate the problem of the project as detecting the globe, in a cluttered background, from any view angle about the vertical axes of the globe.
Approach
We use a combination of our own code and already available tools to detect the globe. Using MATLAB® we wrote procedures to perform Hough transforms (for both circles and lines) and several support functions to achieve our goal. For the feature detection we selected a version of the SURF algorithm already available in MATLAB® . The procedure followed is depicted in the figure below.

(A) Problem Image (B) Circle Detection (C) Square Detection (D) Feature Detection (E) Color Palette Detection (F) Most Likely Globe
After a pre-processing step, where we run an edge detector, our first step is to perform a search for round objects in the image, by using Hough transform. Then three methods are used to analyze the details inside these detected circles, to determine if it is the globe. First, for each section of the image where a possible round object was found, we again use Hough transform, but this time to find lines that could represent both latitude and longitude lines in the globe, to. By combining latitude and longitude lines, we search for approximations of a square, usually found around the center of the globe (assuming the globe is in a pose where both hemispheres are shown in a balanced way). The figure below shows the results of our square detection algorithm.

The future work entails intergrating SURF and Color Palette Detection methods with the existing algorithm, as second and third step in globe detection to make the algorithm robust and improve the results obtained if one of the method fails to identify a globe. In the second method, the images inside the detected circles are searched for features, using a SURF feature detection algorithm with a library of reference images. After pruning out non-consistent features the most globe-like circle is selected. In addition the relative features that match different reference images are used to estimate the orientation of the globe. Lastly, a method to detect coordinated groups of colors algorithms is run on each detected circle. By comparing the percentages of specific globe colors found in the circle to the same data from the library of reference images, a final vote for the most globe-like circle is generated. If these methods align, then the best globe is output successfully, but if not, each best globe is output to give a theoretical application the ability to work with each best globe circle until a better result is found.
Project code can be found here.
Project report can be found here.
Results

Team Members
Amaid Zia, Joshua Fulco, Matt Rafferty, Ankit Saini