-
-
Mock database of live amber alerts and reports
-
UI made with Dash to allow user to upload images of cars
-
The license plates are located and extracted out
-
When a flagged car is found, a distress message is displayed
-
Mock flagged plates
-
Flag plate table is updated regularly and save in cache so the car can still do comparisons offline.
-
Distress messages end into the database with location and time
-
Text Message for relaying information to authority
Inspiration
Let's all be honest with ourselves. How much effort have you ever put into searching for the cars that pop up in the Amber Alerts. Amber Alerts are great in concept but fail because people cannot devote so much of their time and memory to look out for one car and one license plate. As harsh as it sounds, it is the truth. The Guadian Angel project is meant to do what we as a society have failed to do.
What it does
Every year, new cars are becoming more and more powerful with sensors and computers. Guardian Angel wants to leverage these resources to keep eyes out on the streets at all times. A car would use its cameras and computational power to scan and identify license plates of other cars in its area. If a car that is flagged by the Amber Alert system appears to any of these cars, a ping is sent to a server with information about the car and where it is. This vital information could be the difference of life and death.
How we built it
We utilized opencv, a widely used image processing library, to alter images and crop pictures to just the license plate. Then a library called EasyOCR is used to read the plate and extracts is information. We then check that number against an onboard local cache (which we update regularly) to determine if that car is flagged in an Amber Alert. If it is a flagged car, we would want to gather the location and time data and send it to a server which authorities can then take over.
Challenges we ran into
The biggest issue we have is hardware limitations. We do not have a camera or a GPU to run intensive models. Our original plan was to use the Nvidia pre-trained car detected, license place detection, and license plate recognition models to complete this project. These models are more robust, and more accurate than EasyOCR. However, they require a GPU to run and we do not have a GPU on the machine we are working on.
Accomplishments that we're proud of
We are proud of the fact that we were able to create a working solution as fast as I did. Starting this project was a daunting task as I have no experience in data bases, computer vision, and very little in front end. Although it is not the cleanest, it proves that the idea can work and can be used in the real world.
What we learned
We have learned a variety of new tools such as EasyOCR and a fundamental of computer vision. Additionally, this project had me integrate multiple areas of knowledge to achieve one goal which is interesting as I usually just use one language for an entire project. It was nice to get out of my comfort level and learn new things and ultimately make a working solution.
What's next for Guardian Angel
Obviously, there are many improvements we can make to the app. I hope to actually implement some version of this in my own car. I would definitely want to do it with a NVidia Jetson processor so I can have a good GPU. The obvious next step would be to integrate video with this and life update. However, I will have to drop the front end of the device because it is ultimately extra computations that doesn't need to be done.
Log in or sign up for Devpost to join the conversation.