What does the model detect?
This model detects occupancy for car parking in images/videos.
What is the use of this model?
Techniques for car parking occupancy detection are significant for the management of car parking lots. Knowing the real-time availability of free parking spaces and communicating it to the users helps reduce the queues, improve scalability, and minimize the time required to find a place in the parking lot. In many parking lots, ground sensors determine the status of the various spaces. These require expensive installation and maintenance of sensors in every parking space, especially in parking lots with more available spots. So this model can be used to overcome this problem.
Approach to creating a model in Vredefort
Step 1 – Dataset Collection
We collected 1497 dataset images from an open-source. These images were captured from a camera mounted on a building rooftop in front of a car parking lot. Then we split the dataset into train and test. There were two classes – Car and Vacant.
Step 2 – Data Cleaning
After collecting the dataset, we uploaded it on Vredefort. Vredefort automatically cleans the data by removing the corrupt images and resizing them to a suitable resolution.
Step 3 – Data Annotation
The computer learns to detect objects from images through a process of labeling. Thus, we drew boxes around the concerned objects and labeled them as car and vacant accordingly. We annotated 1497 images using the inbuilt Vredefort tool.
Annotation Rules – (Keep them in mind for better detection)
⦁ Skip the object if it is in motion or blur.
⦁ Precisely draw the bounding box on the object.
⦁ Bounding boxes should not be too large.
[Optional] Step 4 – Tuning Parameters
If you register as a developer and developer mode is on, you can modify the number of epochs, batch size per GPU, neural network model, etc. In case of no user inputs, the settings will change to default.
Step 5 – Training
The training process takes place automatically with a single click.
Evaluation of the model
After training, we can evaluate the model.
In evaluation, there are two parts. The first is accuracy and the second is to play inference videos. Vredefort enables us to obtain total model accuracy and class-wise accuracy. In this case, three classes are present. We achieved 40% model accuracy. Individual class accuracy is 64% for car and 16% for vacant.
A new video for inference
We made a video from test dataset images and used it for interference. If the developer mode is on, it will ask to set confidence. You can set it as per your convenience. Here we set 0.1 [10%] confidence.
Model download and transfer learning from unpruned model
Vredefort provides one more feature to get the accuracy of the model. It allows you to download the model and dataset for further applications(like adding logic to your model). If you have downloaded model files, you can use the unpruned model (click here to know more about the unpruned model) for different datasets and save training time. You can generate alerts and write use-cases with that model.
Any challenges faced
The model was not working well as the white parking lines were not visible clearly. The vacant spots were not detected precisely so we annotated more images to reduce
⦁ The model is trained on an outdoor camera and hence will work best on those images or video feed.
⦁ It will struggle to detect parking spots if the white lines are not visible.
For more accuracy, collect the dataset from different angles, including complex environments, and balance the dataset for all the classes by reducing the mismatch in the number of images. You need not worry about class imbalance if images in your dataset are balanced for all classes.
Model Name – Car parking occupancy Detection
Dataset Images – 1497
Number of Labels – 2
Label name and count – Car (7740), Vacant (8745)
Accuracy – 40%
Class Accuracy – Car (64%), Vacant (16%)
Dataset Download – Download here
Model Download Link – Download here
Inference Video Link – Download here