Inhaltsverzeichnis:

PiTextReader - ein einfach zu bedienender Dokumentenleser für Sehbehinderte - Gunook
PiTextReader - ein einfach zu bedienender Dokumentenleser für Sehbehinderte - Gunook

Video: PiTextReader - ein einfach zu bedienender Dokumentenleser für Sehbehinderte - Gunook

Video: PiTextReader - ein einfach zu bedienender Dokumentenleser für Sehbehinderte - Gunook
Video: Raspberry Pi based Text Reader for Blind Person | #project #youtubeshorts 2024, Juli
Anonim
PiTextReader - ein benutzerfreundlicher Dokumentenleser für Sehbehinderte
PiTextReader - ein benutzerfreundlicher Dokumentenleser für Sehbehinderte

Überblick

Update: Kurze Videodemo:

PiTextReader ermöglicht es Menschen mit Sehbehinderung, Text von Umschlägen, Briefen und anderen Gegenständen zu „lesen“. Es nimmt ein Bild des Elements auf, wandelt es mithilfe von OCR (Optical Character Recognition) in Klartext um und spricht dann den Text mithilfe von Text-to-Speech.

Der Reader ist so konzipiert, dass er möglichst einfach zu bedienen ist. Kein Internet erforderlich, keine grafische Benutzeroberfläche, nur eine Taste. Legen Sie einfach das zu lesende Objekt auf den Ständer und drücken Sie einen Knopf. Nach wenigen Augenblicken wird ihnen der Text vorgelesen.

Ich habe dies für einen älteren Elternteil mit Sehproblemen wie Makuladegeneration entworfen, kann aber allgemeiner für alle verwendet werden, die gedruckten Text in Audiosprache übersetzen möchten.

Es gibt viele verfügbare Lesegeräte, die meisten kosten jedoch Tausende von Dollar oder sind für jemanden gedacht, der technisch versiert ist und eine Internetverbindung und die Verwendung eines Smartphones benötigt. Dieser Leser ist so konzipiert, dass er komplett eigenständig ohne Internet und keine andere Schnittstelle als eine große Drucktaste ist.

Vorteile

  • Eine Taste zum Steuern
  • Keine Internetverbindung erforderlich
  • Keine grafische Benutzeroberfläche zum Navigieren
  • Gesamtkosten unter 100 $
  • Immer bereit zu gehen

Nachteile

  • OCR kann aufgrund von Schriftarten, Farben, Textgröße usw. eingeschränkt sein.
  • Sprache klingt wie Stephen Hawking
  • Funktioniert am besten für kleine Abschnitte mit schwarzem Text auf weißem Papier.

Schritt 1: Hardware

Hardware
Hardware
  • Raspberry Pi 3 (braucht die PS!)
  • 8 GB + Micro-SD-Karte
  • 5V 2A DC Netzteil für Raspberry
  • Raspberry Pi Kamera (regulär oder NoIR)https://www.adafruit.com/product/3099
  • 24" Raspberry Pi Kamerakabelhttps://www.adafruit.com/product/1731
  • Kamerahalterung oder Taschehttps://www.adafruit.com/product/3253 oderhttps://www.adafruit.com/product/1434
  • Objektiv-Einstellwerkzeug (zum Fokussieren der Kamera)https://www.adafruit.com/product/3518
  • Mono-Lautsprecher mit USB-Stromversorgung (kleine Größe bevorzugt!)https://www.adafruit.com/product/1363
  • Großer Druckknopf – Momentary mit LEDhttps://www.adafruit.com/product/1440
  • 330 Ohm Widerstand für obige Taste LED
  • Holzkiste 8"x8"x2" von Michaels oder anderen großen Kunstfachgeschäften.
  • Altholz für den Bau von Kameraständern:
  • 8”Lx1”Bx1/2”T Flachband
  • 5”Lx1”Bx1/4”T Flachband
  • 6"Lx1/2"x1/2" quadratischer Dübel für eine Platzierungshilfe
  • Schrauben, Kleber, Draht, Lötzinn etc.

Schritt 2: Hardware-Konstruktion

Hardware-Konstruktion
Hardware-Konstruktion
Hardware-Konstruktion
Hardware-Konstruktion
Hardware-Konstruktion
Hardware-Konstruktion

Verwenden der 8"x8"-Box:

1. Bohren Sie hinten ein Loch für das Netzkabel.

2. Bohren Sie in der vorderen rechten Ecke ein Loch für die momentane Taste3. Bohren Sie Löcher für den Lautsprecher. (siehe Audio-Schritt 12 unten)

4. Ich habe ein Stück 2"x1/4"x13" Aluminiumstreifen für die Kamerahalterung verwendet, aber Holzstreifen funktionieren auch.

A. Montieren Sie den 8-Zoll-Flachholzstreifen auf der Rückseite des Deckels der Box. (Achten Sie darauf, dass es am Deckel befestigt ist und nicht am Boden der Box, sonst können Sie es nicht öffnen!)

B. Montieren Sie den 5 "flachen Holzstreifen oben auf der 8"-Vertikalen mit Schrauben und Leim. Beachten Sie, dass die Höhe der Kamera die Größe des Dokuments und den erforderlichen Fokus bestimmt. Sie können für Dokumente mit größerem Bereich höher gehen.

5. Schneiden Sie einen Schlitz von 1" x 1/16" in die Oberseite der Box in der Nähe der 8"-Vertikalen, damit das Kamerakabel hindurchgehen kann.

HINWEIS: Für die Elektronik empfehle ich, die Komponenten noch NICHT dauerhaft zu montieren, damit Sie leicht Anpassungen vornehmen können.

6. Schließen Sie das 24-Zoll-Kamerakabel an die Kamera an. VERBINDEN SIE NOCH NICHT MIT RASPBERRY.

Schritt 3: Hardware-Fort…

Hardware-Weiter…
Hardware-Weiter…
Hardware-Fort…
Hardware-Fort…
Hardware-Weiter…
Hardware-Weiter…
Hardware-Fort…
Hardware-Fort…

7. Montieren Sie die Kamera vom Ende des 5-Zoll-Holzstreifens nach unten. Ich schlage vor, zu warten, bevor Sie die Kamera in ihre Tasche legen, damit Sie das Objektiv nach dem Laufen leichter fokussieren können!

Verwenden Sie für die anfängliche Fokussierung das Einstellwerkzeug und drehen Sie das Objektiv um 1/4 gegen den Uhrzeigersinn! Dreh dich.

8. Führen Sie das Kamerakabel nach unten durch den Steckplatz und befestigen Sie es dann am Pi. (Achten Sie darauf, dass Pi ausgeschaltet ist!)

9. Installieren Sie den Momentanknopf und verbinden Sie die Drähte zwischen ihm und den Pi GPIO-Pins 24 und GND. Und verbinden Sie die LED der Taste über einen 220-Ohm-Widerstand mit den Pi GPIO-Pins 18 und GND.

10. Führen Sie das Netzteil in die Box und stecken Sie es in den Pi. Sie müssen eine Zugentlastung wie Heißkleber oder ähnliches verwenden, um das Loch in der Box zu verschließen, damit das Kabel nicht herausgezogen werden kann.

Schritt 4: Audio-Hardware installieren…

Audio-Hardware installieren…
Audio-Hardware installieren…
Audio-Hardware installieren…
Audio-Hardware installieren…
Audio-Hardware installieren…
Audio-Hardware installieren…
Audio-Hardware installieren…
Audio-Hardware installieren…

11. Für das Audio habe ich einen Mono-Lautsprecher verwendet, der USB-Strom und Miniklinken-Audio verwendet. Ich habe die Elektronik und den Lautsprecher aus dem ursprünglichen Plastikgehäuse entfernt und den Audiostecker in die Pi-Audiobuchse und das USB-Kabel in Pi USB gesteckt. Ich habe auch den ursprünglichen winzigen Lautsprecher durch einen größeren 3 -Lautsprecher ersetzt, um eine viel bessere Klangqualität zu erzielen.

Da ich den Lautsprecher unter dem Deckel der Box montiert habe, habe ich mehrere kleine Löcher in Form eines Lautsprechergitters gebohrt.

12. Überprüfen Sie abschließend die Verbindungen, insbesondere das Kamerakabel und die GPIO-Verbindungen.

SCHALTEN SIE DEN PI NOCH NICHT EIN. Fahren Sie zuerst mit der Softwareeinrichtung fort…

Es gibt keinen Ein/Aus-Schalter, da davon ausgegangen wird, dass der Pi die ganze Zeit laufen sollte, damit er sofort bereit ist, etwas zu lesen. Es verbraucht nur wenige Watt und kann rund um die Uhr ohne Probleme laufen.

Es ist möglich, dass die SD-Karte beschädigt wird, wenn der Stecker gezogen wird oder der Strom ausfällt, dies ist jedoch selten. Ich hatte noch nie eine nicht bootfähige SD-Karte. Aber nicht an eine Steckdosenleiste anschließen, die regelmäßig aus-/eingeschaltet wird.

Schritt 5: Einrichtung und Konfiguration des Betriebssystems

Formatieren Sie eine 8 GB oder größere microSD-Karte mit Raspbian Jessie (oder Stretch) Lite (keine GUI für dieses Projekt).

www.raspberrypi.org/downloads/raspbian/

Sie müssen per SSH remote auf den Raspberry zugreifen. Unter Windows können Sie das Terminalprogramm PUTTY SSH verwenden. Rufen Sie auf einem Mac einfach ein Befehlsterminalfenster auf. Alternativ können Sie vorübergehend eine Tastatur und einen HDMI-Monitor anschließen, um sie aufzubauen, aber SSH erleichtert die spätere Arbeit.

Wussten Sie schon? Wenn Sie Raspbian Jessie auf einer SD-Karte mit einem Windows-PC installieren, können Sie zwei Dateien auf der Karte erstellen, um den WLAN- und SSH-Zugriff zu konfigurieren, bevor Sie sie auf einem Raspberry booten?

Nehmen Sie dazu an, dass Ihre SD-Karte derzeit als K: auf Ihrem PC gemountet ist:

1) Installieren Sie das neueste Raspbian Jessie-Image auf der SD. Für dieses Projekt sollte Jessie Lite funktionieren.

2) Erstellen Sie mit Notepad eine Datei mit dem Namen „ssh“und verwenden Sie Save As „All files“in K:\ssh Die Datei kann alles enthalten. Wichtig ist der Dateiname. Darf NICHT „ssh.txt“sein!!!

3) Erstellen Sie mit Notepad eine Datei namens „wpa_supplicant.conf“mit folgendem:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1

Netzwerk={

ssid="mySSID" psk="mypassword" key_mgmt=WPA-PSK }

Verwenden Sie Speichern unter „Alle Dateien“in K:\wpa_supplicant.conf. Lassen Sie es nicht zu, dass Notepad es in „wpa_supplicant.conf.txt“ändert!!

Wenn Sie den Raspberry zum ersten Mal booten, sucht Jessie nach diesen und verbindet sich mit Ihrem Wifi. Sie müssen jedoch auf Ihrem Router nach der IP-Adresse suchen, da er automatisch über DHCP zugewiesen wird.

Jetzt bereit für die Installation auf Ihrem Pi:

1. Stecken Sie die microSD-Karte in den Pi und stecken Sie jetzt die Stromversorgung ein.

2. Um sich remote bei Ihrem Raspberry Pi anzumelden, müssen Sie dessen IP-Adresse finden. Du kannst es versuchen:

$ ssh [email protected]

Oder geben Sie von Putty aus den Hostnamen ein: [email protected]

Andernfalls müssen Sie prüfen, ob Ihr Router die IP-Adressen Ihrer lokalen Geräte anzeigt.

Einmal als pi-Benutzer angemeldet:

3. Aktualisieren Sie Ihr Raspbian-Betriebssystem:

$ sudo apt-Update

$ sudo apt-Upgrade

4. Konfigurieren Sie den Raspberry und aktivieren Sie die Kamera:

$ sudo raspi-config

A. Benutzerpasswort ändern

B. Schnittstellenoptionen -> Kamera -> Aktivieren

C. Beenden

D. Neustart

Schritt 6: Installation der Anwendungssoftware

Melden Sie sich nun wieder bei Ihrem Pi an und Sie können die PiTextReader-Anwendung installieren.

1. Erst erforderliche Software installieren: $ sudo apt install git –y

2. Laden Sie die Software herunter:

$ cd /home/pi

$ git clone

$ cd PiTextReader

$ sh install.sh

Sie können die Datei install.sh bei Bedarf problemlos mehrmals ausführen.

3. Legen Sie ein einfaches zu lesendes Dokument ein und führen Sie das Testprogramm aus, das die Lautstärke einstellt, Text-zu-Sprache-Audio abspielt und ein Bild aufnimmt.

$ sh test.sh

Wenn Sie Fehlermeldungen erhalten, überprüfen Sie unten die Fehlerbehebung. Bearbeiten Sie das Programm test.sh, um die Lautstärke bei Bedarf anzupassen.

4. Das Testprogramm speichert ein Foto in „test.jpg“. Sie müssen dieses Bild auf einen PC kopieren, damit Sie den Fokus und das Sichtfeld sehen können. Eine schnelle und schmutzige Möglichkeit, dies zu tun, besteht darin, einen winzigen Webserver auf Ihrem Pi zu starten und einen Browser zu verwenden:

$ python -m SimpleHTTPServer 8080 &

Navigieren Sie dann zu

Klicken Sie auf die test.jpg

Verwenden Sie das Objektivanpassungswerkzeug, um die Kamera zu fokussieren.

Führen Sie das Programm test.sh so oft wie nötig erneut aus.

HINWEIS: Wenn Sie die Raspistill-Kameraeinstellungen anpassen müssen, müssen Sie auch das Programm pitextreader.py mit den neuen Einstellungen bearbeiten.

KAMERA = "raspistill -cfx 128:128 --awb auto -rot 90 -t 500 -o /tmp/image.jpg"

5. $ sudo reboot

Der Pi sollte automatisch hochfahren und betriebsbereit sein.

Schritt 7: Betrieb

Wenn Sie den Pi booten, hören Sie ein "OK Ready" und sehen die LED der Taste aufleuchten.

Jedes Mal, wenn die LED leuchtet, ist das Gerät betriebsbereit.

Legen Sie etwas gedruckten Text unter die Kamera, vorzugsweise nur ein paar Zeilen schwarzen Text auf weißem Papier.

Beachten Sie, dass die Kamera nicht viel Licht benötigt, insbesondere das NoIR. Das Umgebungslicht im Raum war für mich in Ordnung. Zu viel Licht verursacht eine ungleichmäßige Beleuchtung und verzerrt die OCR.

Drücken Sie den Knopf.

Die LED sollte leuchten und ein Kameraklick sowie die Sprache „OK working“sollten ertönen.

Nach einigen Sekunden sollte der Text gelesen werden. Ist der Text verzerrt, Schrift zu dunkel oder zu hell, seitwärts oder verkehrt herum, dann ist das Ergebnis eine schwammige Sprache!

Es kann zwischen 5-30 Sekunden dauern, um zu konvertieren und mit dem Lesen zu beginnen, also seien Sie geduldig. Je mehr Text, desto länger dauert es.

Wenn Sie das Lesen stoppen müssen, können Sie die Taste drücken, während das Audio noch abgespielt wird (die LED ist aus).

Sobald die Rede beendet ist, leuchtet die LED nach einigen Sekunden wieder auf und Sie hören erneut „OK Ready“. Es ist bereit für einen weiteren Scan.

Beachten Sie, dass der Abstand der Kamera für die Raspi-Kamera und nur für einen Teil eines 8x10-Dokuments eingestellt ist. Ich habe festgestellt, dass es am besten ist, Teile eines Dokuments gleichzeitig zu lesen, da ganze Seiten schwer zu hören sein können. Viele der Dinge, die gelesen werden müssen, sind kleiner Text. Wenn die Kamera also zu weit entfernt ist, kann sie nicht aufgelöst werden.

Lesen Sie zur Fehlerbehebung weiter unten, insbesondere im Abschnitt SCANNEN UND OCR

Wenn alles in Ordnung ist, montieren Sie alle Komponenten dauerhaft, um die Konstruktion abzuschließen.

Schritt 8: Fehlerbehebung

1. KAMERA

Überprüfen Sie, ob die Kamera aktiviert ist über

$ sudo raspi-config

Schnittstellenoptionen -> Kamera

Setzen Sie das Flachbandkabel wieder ein, da dieses empfindlich ist und genau ausgerichtet werden muss. Wenn nötig, googeln Sie nach ähnlichen Problemen. Googeln Sie auch die Fehlermeldung, die Sie beim Ausführen des Programms test.sh erhalten.

2. AUDIO

Hast du Lautstärke?

$ sudo amixer -q sset PCM, 0 100%

Audiotest durchführen

$ aplay /usr/share/sounds/alsa/Front_Center.wav

Immer noch kein Ton? Audio aus der Buchse erzwingen:

$ sudo raspi-config Erweiterte Optionen -> Audio -> Kopfhöreranschluss erzwingen

3. SPRACHE

Wenn das obige Audio gut klingt, versuchen Sie es mit:

$ flite -t TEST

Google-Fehlermeldungen, falls vorhanden.

Führen Sie die install.sh erneut aus

Ja, die Rede klingt ein bisschen nach Stephen Hawking.

4. SCANNEN UND OCR

Dies ist der größte Tuningbereich, der benötigt wird. Damit die OCR richtig funktioniert, muss das Kamerabild von guter Qualität sein; das Dokument muss gleichmäßig ausgeleuchtet sein, jedoch nicht unbedingt hell.

Der Text muss flach und klar sein. Nicht alle Schriftarten sind lesbar.

Um die Qualität zu überprüfen, überprüfen Sie die beiden Dateien:

/tmp/text.txt und /tmp/image.jpg

Sie können den winzigen Webserver starten und einen Browser verwenden:

$ cd /tmp $ python -m SimpleHTTPServer 8080 &

Der Text im Bild sollte einfach und lesbar sein. Das Bild sollte mit der richtigen Seite nach oben, guter Kontrast und scharf sein. Möglicherweise müssen Sie das Dokument umdrehen, wenn es auf dem Kopf steht. (Erinnern Sie den Benutzer daran, dass er das Dokument umdrehen sollte, wenn er ein Schmatzer hört.) Wenn das Bild einen schlechten Kontrast hat, müssen Sie die Beleuchtung verbessern, zu viel oder zu wenig kann Probleme verursachen. Ungleichmäßige Beleuchtung führt auch dazu, dass Teile des Textes fehlschlagen. Sie können weitere Hilfe finden, indem Sie „tesseract-ocr help“googeln.

5. HDMI-MONITOR/TASTATUR

Ja, Sie können eine Tastatur und einen Monitor an den Pi anschließen, insbesondere. wenn Sie die IP-Adresse nicht finden oder nicht über SSH zugreifen können. Es gibt keine GUI-Schnittstelle und dies kann den Ton ausschalten, es sei denn, Ihr Monitor hat einen Lautsprecher.

6. INTERNET/WIFI

Wenn das WIFI nicht funktioniert, können Sie einfach vorübergehend ein Ethernet-Kabel anschließen und dieses verwenden.

Dieses Projekt benötigt kein Internet oder WLAN, sobald Sie die Installation und Einrichtung abgeschlossen haben.

Empfohlen: