Driving around LA is dangerous! Drunk drivers and distracted drivers are hazard on the road to everybody. Additionally, there are natural hazards such as potholes and things like road blocks that also contribute to poor driving experience. These are several reasons that contributed to thinking of the idea and pursuing it to its fullest potential.
What it does
When the user notices a hazard on the road, the user can push a button to report it. The app will send the user's current position using smartcar api, notifying other drivers in this area to drive cautiously. It can also captures dash cam video and processes and retrieves license plate number to text. We then use this information for sending it to authority for them to handle it properly. If the hazard is a roadblock or potholes, the user can report the lane that is affected by it to allow other drivers on the road to avoid potential danger.
How I built it
We started with using OpenCV trying to get text from images, for the information of license plates. Once we got this down, we moved on to parsing some video clips to go through frames and see if OpenCV will detect and grab the text we need for the license plate. While working on this big task, other members worked on writing a Flask application for a website that would hold and share all our meaningful data and for the interface for our users and data to interact with google maps by using SmartCar API to locate where the users are.
Challenges we ran into
We first attempted to use Google Cloud Platform, but after some time realized it was not exactly what we needed for what we wanted. We then moved over to using OpenCV , and it worked out much better. Although it was still not easy and several hours were spent confining and polishing the script to work for our needs. A major challenge Ethan ran into after working for hours on the video-to licence text,was struggling finding the video file within the script, only to realize the file had two .mp4 extensions on the test video file and of course! Voila like magic his work had started coming to a complete. For Kai setting up flask and virtual environment to work with ngrok had given him some technical difficulties due to the lack of organized documentation on windows. But in the end he was able to set it up properly with trial by error.
Accomplishments that I'm proud of
Ethan is proud that he found a solution to his major bug, even though it was so silly, getting over that barrier felt thrilling.
What we learned
We learned a lot about using python and OpenCV as we had never used it much or at all before. We also learned to double check the files you use are named correctly. Flask was new to some of the team, so those who worked on that learned so much about python and writing a flask server and hosting the server.
What's next for LA-Hacks
Go Home <3 :D