/SysHax

Automating Vehicle fitness test for the IEEE Oracle Gov-TechThon 2020

Primary LanguagePython

VelFitTest-6

Introduction

This is an application aimed at automating Vehicle Fitness Test process in India. As per Motor Vehicle act, all commercial vehicles are mandated to undergo fitness test periodically, depending on vehicle age. The vehicles are to be brought to designated fitness centres (which are normally one centre per district in most states) for inspection and certification. There are normally long queues and the process is hassle some. An innovative solution is required to ease this process for all.

Therefore, fitness test procedure needs to be automated. The testing also needs to be done transparently. Wherever possible, the parameters are to be tested automatically (obtain the image / video for selected test, analyze and rate the test as pass / fail. For the tests where manual intervention is required (checking the brakes, etc.), the authorized personnel will key-in the details (online).

Technology Stack

  • sqlite3 in the back-end
  • Flask for the front-end
  • Keras modelling for the DL models
  • TensorFlow for ML models
  • OpenCV for real-time computer vision capabilities

Working

The application first initiates login for an RTO Officer. Then, they make proceed to test the vehicle for features like external damage, condition of wipers, condition of windshield. All these tasks are automated. Some evaluation need human interaction like evaluating engine, tyres, seatbelts etc. These can be keyed-in by the RTO officer and then they may proceed to generate the final report for the vehcile fitness certificate.

Datasets

It was quite a challenging task to obtain a ready-made dataset for training the models. Other than the dataset for external body damage which can be viewed here, we had to resort to synthesizing our own dataset by scraping the web. All the datasets used for training the models can be found here.

Pre-requisistes

All the dependencies can be found here.

Setup

Clone or download the repository in your preferred directory using:

git clone https://github.com/InvincibleJuggernaut/VelFitTest-6.git

To begin with the setup, first install all the dependencies using:

cd VelFitTest-6
pip3 install -r dependencies.txt

Usage

The application can be run locally by using:

python3 main.py