Parking control system
A parking management system with plate number recognition software, payments, SMS integration, financial reports and comprehensive back end management panel for parking operators.
Team: 5 engineers
Sep, 2014 - Present
The idea was to build a software for parking business processes automation. With hundreds of parking attendants and thousands of cars using parking zones every day it is very hard to manage such traffic, track and manage payments and fines, calculate costs and income. The goal was to make life easier for everybody involved in the process. Help drivers (car owners) to pay easily with SMS and be informed when the paid time slot is about to be over, help attendants to check and validate car plate numbers, monitor car stats and information and accept cash payments, help parking operators (admins) to monitor all processes happened on the parking and be able to act adequately, finally help CFO to get immediate and correct financial information for better business control.
The database model was designed from scratch and improved during four sprints. Since this software is an enterprise level SaaS we had to make it multi-company. Every company is a client who has its internal and local specific settings. The company will have hundreds of users which are either operators or attendants.
Company operator configures parking zones and assigns attendants to one or more zones. A car is parked and validated in the certain zone so we always know all information sliced by either zone, car or attendant.
We designed a storage for tons of incoming validation requests, payments (SMS, cash) and transactions which are attached to tickets - the main parking document.
Each company could configure its own set of fine rates and rise fines according to them. Fine and transaction statuses allow us to organise the needed workflow.
Without revealing all technical secrets and getting into weeds, we use openCV and Tesseract libraries... and lots of complex maths.
Locating a plate
Using a combination of filters, histogram and contour analysis we find a vertical position of a plate. License plate is not the only text we can find ;-)
Fine crop and noise removal
We fine crop plate numbers very accurately to remove all unneeded objects and make the final result cleaner. Using various filters we remove other noise around characters preparing it for recognition.
We support the rotation up to 30 degrees in both directions. Skew is detected and plate is deskewed for a more accurate histogram analysis.
To make it recognize accurately we had to gather a big database of different plates, built vocabulary of all possible characters and digits written in all fonts used in countries of our clients.
Choosing a parking zone
A mobile application was developed for parking attendants to simplify and speed up plate validation and car control. After logging in an attendant chooses a zone he is currently in from the list of assigned ones and is redirected to the video camera screen.
Video stream, plate capturing and recognition
Video camera is used to capture a plate number. Our software locates and recognizes license number on the video frame which can be corrected then if needed. After validating the car attendant receives all car related information from the server such as balance, paid time left, notes, etc. and can either accept a cash payment or go to the next car.
Fines and payments
If paid time is over and car owner didn't pay attendant can rise a fine for this car which is printed on the mobile Bluetooth printer and immediately visible in the parking administrative panel.
Using Bao, our own back-end development package based on Symfony 2, AngularJS, Bootstrap and jQuery frameworks, we have built a Google-style administrative back-end for parking operators as well as system administrator who can control all companies.
Fast and informative data grids show all information needed for operators to monitor everything happened in parking zones. Bulk operations such as deletions, status changes save a lot of time. Filters and sorts are all fast and work without page reload making all management to be a pleasure.
We are in progress with adding reports and charts...