Inspiration

After I moved to Texas in US , I noticed that atleast once in a month I get a notification on Amber Alert. The amber alert notification will contain the details on the car that is involved in the incident , like the make of the car and the license plate number. When I get these notifications while driving on road, it is very difficult to identify a vehicle, we cannot be always on the lookout for that vehicle and license plate number, so I thought why not do it with the help of computer vision.

What it does

This app, takes the license plate number as input, after that it starts the camera to receive images, Once the required vehicle is identified, it will mark the vehicle and upload the information to a storage bucket.

How we built it

I built the app using python-kivy, for client and server communication, I used socket programming.

Challenges we ran into

• Setup of kivy was challenging, as I ran into issues multiple times for the setup in my MAC. • Setup of Xcode to build the python kivy app and install it in my iphone. • Unable to compress images (PNG to JPEG format) at the client side using Pillow library, ( This made it very challenging to transfer the image data from client to server on 4G and 5G , as the image transferred was often broken over TCP) • Setup of wavelength instance was challenging as it was new, followed the instructions in the AWS website and was able to set it up finally.

Accomplishments that we're proud of

The app worked fine in the internal network environment, however over 4G/5G I was not able to transfer all the packets through socket programming. I am proud of creating an app that uses the YOLO computer vision model to detect and recognize the license plates.

What we learned

I was able to setup the wavelength instance and was able to create an app.

What's next for amber alert vehicle tracer

I am planning to reduce the latency in sending the packets from the client to the server and also increase the detection and recognition time using a GPU machine. Instead of exporting the image as PNG image and then sending it to the destination , I am planning the use the latest streaming codecs to efficiently stream and transfer the packets, to the wavelength server . There is also a plan to include the GPS module to detect the last known location of the car and upload it to the storage bucket, so that it can be referenced by the law enforcement authorities later.
Reference: http://www.inf.ufrgs.br/~smsilva/alpr-unconstrained/ http://www.inf.ufrgs.br/~smsilva/real-time-brazilian-alpr/ https://github.com/sergiomsilva/alpr-unconstrained

Built With

  • alpr
  • client-server
  • kivy
  • ocr
  • opencv
  • python
  • socket
  • socket-programming
  • yolo
Share this project:

Updates