Inspiration
No matter where our families go, whether it be the supermarket or the next state over, they always insist on taking the most beautiful route. Driving by breathtaking scenery is one of life's finest pleasures, yet it is near impossible to find the prettiest route to take. Google Maps can get you from point A to point B the fastest, but it falls short when asked to give you a scenic route. This inspired us to build Sceniq—an app that will point you towards the most beautiful route for your journey.
What it does
Sceniq will take in a starting location and a destination, and will return back to you the most scenic route between those two points.
How we built it
Our algorithm identifies all of the key routes between two points and retrieves image data of those routes through Google Maps. This information is fed into a neural network that was trained on over 6,000 images to distinguish between scenic and non-scenic imagery. Using the network's output, a score is assigned to each route indicating how scenic it is. This data is returned to the user.
Challenges we ran into
We ran into several challenges. While working on the neural network, Adith struggled with optimizing the prediction speed. After he got around this, he realized that there was a fundamental flaw in how he was labeling the data, which took a while to fix.
Adam had his own set of problems. He had to reverse engineer the Unsplash API because it wasn't well formed. Additionally, he was getting timeout errors because he was making simultaneous requests, which he got around by implementing a randomized incremental back-off algorithm. Finally, he was very proud of the fact that he created a recursive generator algorithm that was able to divide a geographic polyline into n equal parts.
Accomplishments that we're proud of
We're proud of the project as a whole. Not only did we train, test, and fine-tune a neural network, but we also were able to implement an algorithm that interfaces with Google Maps to get image data for routes.
What we learned
1) How to break down a problem into smaller chunks that are later combined into a cohesive solution. 2) How to use CNNs to differentiate between various types of images. 3) How to interface with Google's various map/direction APIs.
What's next for Sceniq
We need a better front-end interface. Additionally, we could also improve our route visualization. These changes would make our program more user-friendly.
Built With
- geolib
- google-directions
- google-maps
- google-static
- google-streetview
- javascript
- keras
- numpy
- polyline
- python
- scikit
- svelte
- tensorflow

Log in or sign up for Devpost to join the conversation.