Bus Name Board Classifier ( Indian regional language)
Bhuvana Kundumani
Chennai, Tamil Nadu
- 0 Collaborators
Bus name board classifier - A deep learning project to classify bus board images in regional language(Tamil) /English in Chennai, India. ...learn more
Project status: Under Development
Intel Technologies
Intel CPU
Overview / Usage
India is a diverse country with many different regional languages. During my recent visits to Hyderabad and Bengaluru, I was a bit surprised to see buses with name boards in regional languages. As a tourist, it was very hard to use public transport in these cities. I can imagine how it would be in the rural areas. How do we help tourists read these regional languages?
If we could develop an app that could look at the images of the bus board and classify them according to route numbers, we can fetch more data on those route numbers and provide it to the user.
Methodology / Approach
The issue at hand is getting data. We need route specific images of bus boards. We would be dealing with a smaller dataset definitely. I wanted to use deep learning to build a classifier to solve this problem. I used transfer learning approach with fastai (pytorch based library). I used RESNET34 architecture pre-trained weights for this project.
How i went about this project ?
I picked up KK nagar in Chennai and identified 5 routes — 5E , 11H, 11G, 12 G, 17D. I started collecting images of busboards. It took me almost two weeks to collect the images. I collected images at different times during the day and night. Your Deep learning model is only as good as your dataset. The busboards alone were cut and resized from the images collected. Dataset has five folders labelled 5E , 11H, 11G, 12 G and17D with images of the respective bus board images.
The dataset has less than hundred images for three categories and two categories had hundred and odd images. I used the resnet34 architecture to build the model. Without unfreezing the layers, i was able to get an accuracy of 86% while training for 13 epochs . It took less than a minute for training with fast ai. I used lr_find() to find the learning rate.After unfreezing the layers, i trained for 5 epochs with max_lr=slice(1e-5,1e-3). I was able to achieve an accuracy of 90.35%.
Code is available at - https://github.com/bhuvanakundumani/busboard_blog.git
Technologies Used
Python, Fastai,
Repository
https://github.com/bhuvanakundumani/busboard_blog.git