Every building requires a parking lot, many of which are regulated meaning only a specific amount of people can park there. Some even have designated slots for each car. In order to maintain this order, the building administration needs to check if each car is in its correct parking lot position. This is an extreme waste of time and money.
A robot installed with a camera recording each parking lot and its car, will be able to recognize each car in seconds. And then return any data to administration, for example, a car parking in spot 300 when they are assigned spot 200.
What it does
The robot records a video of the entire row of the parking lot. Using AI, it processes this data to extract key criteria
- License Plate
- Car Color
- Car logo
From manually inputting the starting position, the robot can number each parking lot position and create a list of the cars in that lot. This can then be compared to a true value list to detect any anomalies.
How we built it
As it is hard to build a robot in a limited time frame we hand recorded video of different cars in the parking lot. We then split the code into 3 sections for each criterion. We used the GCP Vision API for the label detection and logo detection and with preliminary tests, we are running with a 96% accuracy for both of them.
These are the following steps we used to build it
- Split the video into different frames to process each frame and then combine the data
- Connect to GCP key
- Detect objects in the frame
- Get image data (size, type)
- Run Logo Detection
- Detect which colors are in the frame
- Detect License plate
- Use OCR to get the license plate number
- Combine all data into an Excel spreadsheet 10.Compare to real sheet
Challenges we ran into
There was a lot of reflection in sunny weather conditions on some of the cars which changed the color of the image. Compression of the image changed different ways to save and use the images Some license plates are temporary which affect the OCR model
Accomplishments that we're proud of
Creating a visual of the Image Array using a highlight on top of the logo on the car Using selenium to get the specific English color name from the HEX value.
What we learned
In order to process long videos of the robots running through long car parking lots, we need to create each frame accurately because processing every frame takes too long and every 2nd frame could increase speed without lowering accuracy.
What's next for Car Detection and Recognition
We believe this can be deployed at high schools where the parking lot is numbered and assigned to a pre-defined student and its car data is already given. This can be deployed very easily and further move on