Liting94 wrote: ↑
Tue Jan 22, 2019 2:07 am
Hi, i'm doing a project for visually impaired. I need to do a bus number recognition using Raspberry Pi, Picamera, Speaker Phat and Python. Can somebody help me as i'm not good at it.
How do you want it to work? What will the user do and what does the device have to work out?
Thinking about how a sighted person does it they look down the road at oncoming traffic, spot a buss, read the number on the bus and if it's their bus they can prepare to hail the bus and get on.
If you want to provide all that for a visually impaired person your device would need to recognise busses in mixed traffic, find the bus number, decode it. It might then announce "Bus No. 52 is approaching" for every bus or, if the number is pre-set, "Your bus No.52 is approaching".
Is the person able to aim a camera device down the road well enough to cover the bus or does the device also have to identify the traffic flow and point itself? It may also be necessary to automatically detect if the view is obstructed since if the device can't see the bus it won't be able to detect it.
I think this is possible with a RPi but it is a complex task that would suit an undergraduate degree student level. I think this is far to difficult for a first project, but if you have worked with cameras, video, audio, python and adding hardware devices to your RPI you might get somewhere.
Take it piece by piece. Do some easy things like getting text to speech working, Run some simple filters on live video (OpenCV) or try out OpenCV examples for face detection and optical flow.
There are some examples online
For detecting vehicles you could take a look at tensorflow (python).
For detecting that traffic is in view you might consider "optical flow" techniques
OpenCV vision library is probably a good base to use. There are python wrappers
Once you can find a bus in a scene look at ANPR (automatic number plate reader) info. You don't need to read number plates but reading route numbers will be similar.
In some places you may be able to get internet data on bus schedules, maybe with live GPS info or estimated time of arrival at stops. That would be much easier to do.
Since this project will need a mobile battery powered device with camera and/ or internet connection you might consider creating a smartphone app. instead of using a RPi. That would give you an easier better, possibly cheaper solution for mobile power, weight, portability, runtime etc.