Have you ever considered how much time do we spend looking for a parking slot? On average it is around 5 minutes each time we look for a free slot. And drivers do it at least twice per day. In total it can amount to more than 60 hours per year.
Overcrowded car parks, park areas, housing units yards create multiple vehicles stack-piles, which bring a lot of inconvenience to normal traffic functioning.
Like everybody else, Pavel Konon also faced this challenge and when he was almost on the verge of giving up his car and using a taxi instead, he came out with the idea of how to solve that.
Failure to find a parking slot often results in forcing drivers to use the services of paid parking places. The price of them significantly affects drivers' budgets.
On the average 2 hours parking might cost you $20!
Depending on a country and city price varies a lot. With the highest of $32.97 in New York, $28.45 in Sydney, $16.26 in London, $15.16 in Tokyo, just to name a few from the top.
The idea behind it was to put a camera on the balcony and try to apply deep neural networks for recognition of taken and free parking slots. So that's how it all started.
The first step was to train the neural network to correctly analyze the state of parking based on a large number of day and night photographs of the same yard, taken in different weather conditions. The challenge here is drivers parking for the two seats and lack of clear layout of parking spaces in the courtyard. Thus you have to mark the yard, identifying areas where you can park.
Why would we do that? Because, as a matter of fact, it was much easier for the neural network to determine the presence of a car, rather than its absence. Additionally, potential free parking spaces can be not only at the parking lots but also next to the playgrounds, pedestrian walkways or right next to the entrance. And we wanted to take these areas into account as well.
Ready-made datasets with images and parking layouts for training, as well as ready-made solutions for image analysis, were freely available on the Web. The challenge here was to decide on the framework for the system training.
After starting training based on the downloaded dataset, the accuracy of determination turned out to be at the level of 30%; even augmentation did not help. The reason was the quality of the pictures. Ones in the set were shot from the height of an eye, while surveillance cameras usually hang much higher.
To fix this, we decided to add our own collection of 2500 images. For markup, we used the Amazon Mechanical Turk service, a crowdsourcing project created just for such purposes. 20% of the images needed to be left for testing, and they must be new to the network.
The lowest accuracy of recognition was with the Faster R-CNN object detector. We also concluded that the architecture of Faster R-CNN has the speed that is not sufficient enough for real-time data processing.
InceptionV3 performed with slightly higher recognition accuracy (67%), which was not enough and in addition, this model required a lot of extra settings.
Repeated training with the new dataset took 180 hours and passed 62 thousand iterations. It turned out that the maximum efficiency - approximately 95% - accounted for 4 thousand iterations. In the case of more than 4 thousand - the accuracy of new images recognition was gradually decreasing. With the best rate achieved, this result was taken as the final one.
SSD. This model works fast enough, but not as efficient. And although it can detect machines located in different ways, it will require much more training data in comparison to other frameworks. The accuracy of recognition was better than with the previous frameworks, 76%, but still, there was a place for improvement.
The experiments showed that the YOLOv3 Darknet framework creates the least problems in implementation. It quickly processes images, recognizes objects with 95% accuracy and automatically applies augmentation when there are not enough images. Thus, based on YOLOv3 D Darknet, Geek-Solutions trained the system.
GeekSolutions introduced the neural networks based system that recognizes free parking places and notifies. At the moment there are already around 150 parking slots in different European cities that embrace dozens of thousands of cars.
And right now the project is implemented at parking slots in New York.
From the very beginning, the system was able to recognize only images from above, but during the course of development, GeekSolutions managed to boost the technology to also cope with photographs taken at the ground level, from either level of cars or human height.
1) allowing notifications to car owners that collection and provision of statistics stop as their car leaves the surveillance zone;
2) reporting notification to the dispatcher about parking violations.
As a result of the work GeekSolutions also launched a free SpotVision mobile application for Android and iOS. In the application user can see:
- parking status in the form of zones of different colors superimposed on Google maps
- a number of occupied and free spaces in the zone of interest.
For the reliability of the information, the data is updated every 30 seconds. The coverage of the system is also gradually increasing upon new cameras connectivity.
There is not the only ML challenge we faced and solved. So, if your company has any complex issues that cannot be solved using the traditional IT approach, we’ll be glad to consider this. Let’s get in touch, just fill in the form below!