This project is done as part of abstarct submission of a 36-hours offline hackathon under the aLluring arch of GEC.
Bus Map: How to help riders know bus route information
Even though public transport is a much more environmentally friendly transportation option when compared to individual cars, many traditional and historic public transport systems are still using old technology. One of the problem that we thought of was the difficulty in finding the route of a particular bus i,e whether the bus will stop at our desired destination or not. This problem is faced by most of the passengers especially at the chaos moment when the bus arrives. So why not we build an application for such passengers wherin they can control everything just at their finger tips.
A pamphlet that gives better demonstration of bus route information
Customers of today are accustomed to instant gratification and having the world at their fingertips. With technology so integrated in their lives, today’s customers expect more convenience, more comfort, and more personalisation. So our project would help improve the customer journey by allowing them to check-in in real time route using geolocation. The methodology we adopted to solve the problem was, once the bus approaches, the number plate would be scanned and route map will be shown, this would be a great help for passengers
♦numpy ♦tensorflow ♦opencv ♦Tesseract OCR ♦imutils ♦skimage ♦pytesseract ♦argparse
First step of the process is simply taking the subimage region within the bounds of the box. Since this image is super small majority of the time we use cv2.resize() to blow the image up to 3x its original size. Then we convert the image to grayscale and applied a small Gaussian blur to smooth it out. Following this, the image is thresholded to white text with black background and has Otsu's method also applied. This white text on black background helps to find contours of image.
The image is then dilated using opencv in order to make contours more visible and be picked up in future step.
Next we use opencv to find all the rectangular shaped contours on the image and sort them left to right.
In order to filter out the unwanted regions we apply a couple parameters to be met in order to accept a contour. These parameters are just height and width ratios (i.e. the height of region must be at least 1/6th of the total height of the image). A couple other parameters on area of region etc are also placed. Check out code to see exact details.
The individual characters of the license plate number are now the only regions of interest left. We segment each subimage and apply a bitwise mask to flip the image to black text on white background which Tesseract is more accurate with. The final step is applying a small median blur on the image and then it is passed to Tesseract to get the letter or number from it. Example of how letters look like when going to tesseract.
Since we are done with object detection, scanning of number plate and character recognition our next aim lies in showing the bus route. Here we followed the measure of integrating google map api via google cloud and exported a html file to direct to the webpage showing the complete route
♦ gmaps








