Liting94
Posts: 1
Joined: Tue Jan 22, 2019 2:00 am

Project for visually impaired

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.

User avatar
davidcoton
Posts: 3795
Joined: Mon Sep 01, 2014 2:37 pm
Location: Cambridge, UK

Re: Project for visually impaired

Tue Jan 22, 2019 10:42 am

Is this an academic project, or for a particular user you know, or both?

Break the project down into parts, then into smaller parts.
Work out how the hardware fits together and how you drive each part.
Identify the libraries for number recognition and speech generation.
Get the software working separately for each part.
Then glue it all together.
Don't forget to breathe, eat, and sleep.
Signature retired

PiGraham
Posts: 3553
Joined: Fri Jun 07, 2013 12:37 pm
Location: Waterlooville

Re: Project for visually impaired

Tue Jan 22, 2019 11:46 am

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.

hippy
Posts: 5368
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: Project for visually impaired

Tue Jan 22, 2019 2:23 pm

I could have done with something like this when I decided to catch a bus from a different stop than I normally do which is on a three-lane dual carriage way. Unfortunately, in the poor light, by the time I could spot a bus I wanted and flag it down it was sailing past in the outside lane. To be honest, despite being buses, due to the light, it was hard to even see them at all let alone read their route number until too late.

I suspect it may be a more difficult problem to solve than a back of a napkin spec might suggest.

But as others have suggested; break the project down to component parts; vision, bus detection, number decoding, speech and what not.

Return to “Assistive technology and accessibility”