Inspiration

The inspiration behind this project was that the Navy determined their location using primitive methods such as radar and GPS. So we decided to create something using more relevant and newly developed technologies such as AI via the Google Vision API. We are creating this in order to modernize the Navy and improve their location capabilities to help them better protect us.

What it does

Our project uses a database of famous landmarks and their surroundings, it uses a collection of 12 non-overlapping user-inputted to determine where the user has taken the photo from, given that there is a landmark in the collection of photos. It uses an algorithm rooted in algebra and trigonometry in order to determine the relative position of the camera in relation to the landmark, ultimately outputting the coordinates of where the location of the camera into a website, along with a link to Google Maps of the location.

How we built it

First, we brainstormed how we could use computer science in order to solve the problem of poor Naval navigation. Then, after creating a loose plan, we began writing code. Adhav wrote the algorithm and most of the backend including the implementation of Google Vision API and the triangulation techniques, Meghaj worked on HTML code for the main landing page, and Vihaan did CSS aesthetics and implementing the Google Maps link to the webpage. .

Challenges we ran into

The main technical challenge that our group faced was in regards to the triangulation algorithm in relation to the other landmarks in order to determine the specific distance 50 ft when estimating over land. It mainly related trigonometry and visualizing on how the specific angle from the camera is related to the landmark which is seen in the picture. It was the main challenge that we were tackling, as it was highly geometric and any mistake would drastically change the result. The main mistake we had was changing the sign of some constants which changed the hemisphere of the location. One non-technical challenge that our group faced was finding the way that we would move forward from a specific point. We all had different ideas on ow to move forward, and the main challenge was to see which approach which the most efficient.

Accomplishments that we're proud of

One accomplishment we are proud of is our successful implementation of our vision API into our code. We had to consult many online resources as well as Google's documentation for their API. After hours of debugging we were able to implement the API. The main purpose of this API was to determine the landmark which was in the collection of photos inputted by the user.

What we learned

The biggest thing that my group learned from this hackathon experience is that no idea is too big or too ambitious to take on. The multitude of online resources which are at our disposal helped us tremendously towards our Google Vision API implementation as well as interacting and processing photos. We had taken on a very ambitious project, of deriving location from a panorama of pictures, and we had very little prior knowledge of image processing, but we learned of several resources such as StackOverflow and past GitHub repositories. We had used these as launching points and implemented parts of their code to fit our needs, learning of the online resources which we had access to.

What's next for Geospatial Positioning using AI Landmark Recognition

Some next steps would be to use our own machine learning landmark recognition model. This would improve the accuracy of our results and allow us to use other, non-urban locations. It would also allow us to use panoramas, which would make it easier to find test locations. Adding a live video of a 360-degree views as a boat travels down a water body, such as river. This would allow us to make a live location tracker, and even give directions based on current and wind directions.

Built With

Share this project:

Updates