ITBS20080133A1 - Dispositivo di ausilio nella lettura di un testo stampato - Google Patents

Dispositivo di ausilio nella lettura di un testo stampato

Info

Publication number
ITBS20080133A1
ITBS20080133A1 IT000133A ITBS20080133A ITBS20080133A1 IT BS20080133 A1 ITBS20080133 A1 IT BS20080133A1 IT 000133 A IT000133 A IT 000133A IT BS20080133 A ITBS20080133 A IT BS20080133A IT BS20080133 A1 ITBS20080133 A1 IT BS20080133A1
Authority
IT
Italy
Prior art keywords
word
image
text
characters
algorithm
Prior art date
Application number
IT000133A
Other languages
English (en)
Inventor
Mauro Bianchi
Umberto Minoni
Original Assignee
Uni Degli Studi Brescia
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Uni Degli Studi Brescia filed Critical Uni Degli Studi Brescia
Priority to ITBS2008A000133A priority Critical patent/IT1390595B1/it
Priority to PCT/IB2009/052971 priority patent/WO2010004515A1/en
Priority to US13/002,001 priority patent/US8538087B2/en
Priority to AT09786546T priority patent/ATE544143T1/de
Priority to EP09786546A priority patent/EP2311018B1/en
Publication of ITBS20080133A1 publication Critical patent/ITBS20080133A1/it
Application granted granted Critical
Publication of IT1390595B1 publication Critical patent/IT1390595B1/it

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B21/00Teaching, or communicating with, the blind, deaf or mute
    • G09B21/001Teaching or communicating with blind persons
    • G09B21/006Teaching or communicating with blind persons using audible presentation of the information
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Character Input (AREA)

Description

Titolare: UNIVERSITA' DEGLI STUDI DI BRESCIA
DESCRIZIONE
Forma oggetto della presente invenzione un dispositivo di ausilio alla lettura, in particolare per soggetti dislessici.
La dislessia à ̈ una disabilità nell'apprendimento che si manifesta in una difficoltà ad effettuare una lettura accurata/fluente e da scarse abilità nella scrittura. Si tratta di un problema linguistico non visuale ed à ̈ localizzato nel modulo fonologico del linguaggio, ovvero quella parte del cervello che si occupa di unire i suoni e quindi i fonemi per formare le parole. Il problema di un bambino dislessico deriva dalla difficoltà nel tradurre il testo scritto in codice linguistico e quindi esprimibile a voce. L'attività di lettura si compone di una fase di identificazione delle parole e di una successiva fase di comprensione del testo letto. La dislessia colpisce la prima parte di questo processo e non coinvolge assolutamente le capacità di comprensione e di ragionamento del soggetto, che sono però influenzate dal successo della prima fase di decodifica durante la lettura.
Oltre ai diversi programmi specifici con funzionalità didattiche e riabilitative, esistono degli strumenti software che consentono di aggirare o facilitare le operazioni di lettura. Il software didattico può essere ritenuto una valida alternativa allo studio su supporto cartaceo: consente un apprendimento "esplicito", in cui il contenuto à ̈ mostrato direttamente e non descritto. A ciò si aggiunge la possibilità di rinforzare l'efficacia del messaggio attraverso la sinergia di diversi canali comunicativi, cosa che facilita l'apprendimento in quanto utilizza diversi canali, attraverso i quali à ̈ possibile poi ritrovare la traccia di quanto appreso. Gli ambiti di utilizzo del software possono essere: educativo, riabilitativo e terapeutico. Se il compito di lettura non à ̈ aggirabile, à ̈ possibile utilizzare una sintesi vocale che legga il testo al posto del soggetto, o che lo accompagni nella lettura. Attraverso uno scanner anche i testi su supporto cartaceo possono essere acquisiti e trasformati in testo attraverso i programmi OCR, oggi ormai comunemente in dotazione con l'acquisto di uno scanner.
Per esempio, il sistema di riconoscimento ottico dei caratteri con sintesi vocale “Audioscan†di Audiologic permette di importare tramite scanner i documenti che contengono testo e farli leggere alla sintesi vocale. In questo modo à ̈ possibile far leggere al computer le parti scritte di giornali, libri di testo, ecc.
Nel caso sia possibile utilizzare documenti in formato digitale (come ad esempio alcuni libri, facilmente reperibili in internet), un programma con sintesi vocale come “DocReader†può rileggerli, eventualmente accompagnando la lettura con la sottolineatura delle parole, sempre per aiutare i soggetti con problemi di dislessia.
Un altro utile ausilio à ̈ il software “Read And Write†prodotto da “TextHelp†che fornisce un supporto per la scrittura e la lettura grazie alla sintesi vocale delle lettere e parole scritte o selezionate dall'utente durante l'interazione con il calcolatore e i programmi classici di videoscrittura e di navigazione Web. Lo strumento aiuta inoltre il soggetto a completare le parole che sta scrivendo grazie ad una predizione delle possibili parole: l'utente può scegliere una fra le alternative proposte e sentirne la relativa riproduzione vocale per verificare di aver effettuato la scelta corretta.
Vista l'efficacia degli strumenti software che forniscono ausilio alla lettura riproducendo con sintesi vocale il testo scritto in forma digitale, si à ̈ deciso di seguire questa via ma con un approccio diverso.
L'intento à ̈ quello di fornire al soggetto dislessico gli stessi vantaggi che può avere un libro elettronico con sintesi vocale o un software simile a “DocReader†, ma interagendo con un qualsiasi testo stampato in forma cartacea.
In particolare, Ã ̈ scopo della presente invenzione quello di proporre un dispositivo di ausilio alla lettura che consenta al soggetto dislessico di leggere sugli stessi libri e giornali dei suoi compagni, avente dimensioni ridotte, facilmente maneggiabile e utilizzabile in modo estremamente pratico e intuitivo.
Tali scopi sono raggiunti mediante un dispositivo comprendente una periferica di acquisizione dotata di una mini telecamera e di un'interfaccia di comunicazione, detta periferica essendo movibile da un utente su un testo stampato per inquadrare una porzione di testo, un'unità di elaborazione, mezzi di comunicazione tra la periferica e l'unità di elaborazione, e un dispositivo di riproduzione vocale.
L'unità di elaborazione à ̈ programmata per acquisire una sequenza di immagini inquadrate dalla mini telecamera, rilevare quando l'utente si à ̈ soffermato sul testo, riconoscere almeno una parola che l'utente intende leggere, e riprodurre il suono di detta almeno una parola mediante sintesi vocale per il tramite del dispositivo di riproduzione vocale.
In accordo con una forma preferita di realizzazione, la periferica di acquisizione à ̈ agganciabile ad un puntatore impugnabile dall'utente per essere appoggiato sotto ad una parola da leggere, detta periferica essendo montata sul puntatore in una posizione tale da inquadrare almeno la parola da leggere senza precluderne la visuale da parte dell'utente e senza ingombrare l'impugnatura del puntatore.
Vantaggiosamente, la periferica di acquisizione à ̈ munita di un braccio agganciabile ad una comune penna o matita.
A differenza dei sistemi esistenti che richiedono la scansione di un intero testo o di un'intera linea nonché un'estrema precisione di posizionamento, il dispositivo proposto permette una facile lettura direttamente comandata dalla volontà dell'utente.
Infatti, il dispositivo secondo l'invenzione si profila come uno strumento portatile che guida l'utente nella fase di lettura, riproducendo localmente e su richiesta le parole da decodificare, eventualmente forzando la ripetizione di quelle più difficili.
Da sottolineare il fatto che, con l'utilizzo del dispositivo proposto, l'utente dislessico scorre normalmente il testo da leggere e viene supportato nella lettura di una parola che non riesce a decodificare solamente fermandosi qualche istante in più con il puntatore sotto tale parola.
Non à ̈ richiesto quindi l'acquisto di software aggiuntivi o di libri elettronici perché il soggetto, con questo dispositivo, può avvicinare qualsiasi testo scritto esistente e leggerlo.
E' importante precisare che il dispositivo secondo l'invenzione si configura come un ausilio alla lettura e un supporto che agevoli il soggetto nel riconoscimento delle parole scritte; può essere integrato in programmi classici di addestramento alla lettura ma non deve sostituirli. Il bambino dislessico può impiegare lo strumento per decifrare quelle parole che non riesce a leggere, non deve essere considerato un modo per evitare lo sforzo di lettura ma un supporto utilizzabile all'occorrenza.
Il dispositivo proposto si pone quindi l'obiettivo di fornire un valido ausilio alla lettura per il bambino dislessico, facilitando il processo di riconoscimento e sintesi della parola. Si tratta di uno strumento portabile dotato di telecamera che permette all'utente di riconoscere porzioni di testo scritto e di riprodurle a voce. Il bambino deve poter maneggiare agevolmente lo strumento, puntare la parola che desidera leggere e ascoltarne la relativa riproduzione vocale. L'approccio à ̈ quindi quello di stimolare l'apprendimento in lettura sfruttando contemporaneamente stimolazioni di tipo visivo ed uditivo.
Ulteriori caratteristiche e vantaggi del dispositivo secondo l'invenzione risulteranno dalla descrizione di seguito riportata di esempi preferiti di realizzazione, dati a titolo indicativo e non limitativo, con riferimento alle annesse figure, in cui: - la figura 1 illustra schematicamente il dispositivo secondo l'invenzione in una forma generale di realizzazione;
- la figura 2 Ã ̈ uno schema per il calcolo dell'ottica della telecamera del dispositivo;
- la figura 3 illustra la periferica di acquisizione di immagini relative ad una porzione di un testo stampato; - la figura 4 Ã ̈ un diagramma di flusso dell'algoritmo di pre-elaborazione di una sequenza di immagini;
- la figura 5 illustra una sequenza di immagini rappresentative del livello di movimento della periferica di acquisizione;
- le figure dalla 6 alla 10 rappresentano altrettante fasi dell'algoritmo di pre-elaborazione immagini, in particolare il metodo di binarizzazione;
- la figura 11 rappresenta un esempio di binarizzazione inversa;
- la figura 12 Ã ̈ un diagramma di flusso dell'algoritmo di elaborazione parole; e
- le figure dalla 13 alla 17 rappresentano altrettante fasi dell'algoritmo di elaborazione parole.
Con riferimento alle suddette figure, con 1 Ã ̈ stato indicato, nel suo complesso, un dispositivo ausilio nella lettura di un testo stampato secondo l'invenzione.
In accordo con una forma generale di realizzazione, il dispositivo 1 comprende una periferica di acquisizione 10 dotata di una mini telecamera 12 e di un'interfaccia di comunicazione. La periferica 10 si configura quindi come un dispositivo portatile, in modo da essere movibile da un utente su un testo stampato 2 per inquadrare una porzione di testo 3.
Il dispositivo 1 comprende inoltre un'unità di elaborazione 14, mezzi di comunicazione 16 tra la periferica 10 e l'unità di elaborazione 14, e un dispositivo di riproduzione vocale 18.
L'unità di elaborazione 14 à ̈ programmata per acquisire una sequenza di immagini inquadrate dalla mini telecamera 12, rilevare quando l'utente si à ̈ soffermato sul testo, riconoscere almeno una parola che l'utente intende leggere, e riprodurre il suono di detta almeno una parola mediante sintesi vocale per il tramite del dispositivo di riproduzione vocale 18.
Secondo una forma preferita di realizzazione, la periferica di acquisizione 10 Ã ̈ agganciabile ad un puntatore 20 impugnabile dall'utente per essere appoggiato sotto ad una parola da leggere. In particolare, la periferica 10 Ã ̈ montata sul puntatore 20 in una posizione tale da inquadrare almeno la parola da leggere senza precluderne la visuale da parte dell'utente e senza ingombrare l'impugnatura del puntatore 20.
Vantaggiosamente, la periferica di acquisizione 10 Ã ̈ munita di un braccio 22 agganciabile ad una comune penna o matita 20 fungente da puntatore.
Sulla base degli obiettivi definiti precedentemente, si deduce che il dispositivo deve avere dimensioni ridotte, deve essere facilmente maneggiabile dall'utente e deve poter essere usato in modo intuitivo e pratico. In particolare lo strumento deve poter essere impugnato in modo simile ad una penna e consentire il puntamento della parola desiderata con una buona tolleranza sull'angolo di puntamento e sulla distanza dal foglio stampato. Non devono essere infatti posti dei vincoli troppo stringenti sul modo e sull'orientazione con cui il dispositivo possa essere impugnato e il sistema deve funzionare correttamente anche con un puntamento approssimativo della parola da leggere.
L'attività che il bambino deve poter compiere à ̈ quella di seguire con questa sorta di “penna elettronica†il testo da scandire, soffermarsi sulla parola desiderata e ascoltarne la sua riproduzione vocale. Per guidare e aiutare il bambino nell'attività di puntamento della parola desiderata si à ̈ pensato di dotare lo strumento di un puntatore 20 da appoggiare sotto al testo da riconoscere. In questo modo l'utente può seguire con la penna il testo e appoggiarla nella vicinanza della parola di interesse per attivare il riconoscimento e la sintesi vocale. Questo approccio risulta utile sia dal punto di vista dell'utente sia dal punto di vista del progettista che ha a disposizione immagini più stabili che semplificano gli algoritmi di riconoscimento del testo. La posizione della punta della penna nell'immagine (d'ora in avanti denominata “marker†24) à ̈ un'informazione utile per gli algoritmi di estrazione e riconoscimento della parola in quanto fornisce un punto di partenza per la ricerca dell'informazione testuale, come verrà meglio spiegato in seguito.
Vantaggiosamente, à ̈ possibile inoltre attivare la riproduzione del testo quando l'utente si à ̈ fermato sulla parola senza l'utilizzo di ulteriori pulsanti ma in modo del tutto automatico.
Come verrà meglio evidenziato in seguito, il dispositivo secondo l'invenzione permette di avere tempi di acquisizione, elaborazione e riproduzione estremamente contenuti: il bambino non deve avere la sensazione di dover aspettare la sintesi della parola, altrimenti il dispositivo sarebbe inefficace o addirittura inutile.
In accordo con una forma di realizzazione, dispositivo 1 dispone di una mini telecamera 12, di un circuito di pre-elaborazione e filtraggio dell'immagine acquisita e di un'interfaccia seriale per potersi collegare ad un calcolatore 14 che esegue un applicativo per il riconoscimento del testo e per la sintesi vocale.
L'alimentazione elettrica del dispositivo può essere via cavo di collegamento o autonoma con batteria.
La scelta di separare l'elaborazione dalla acquisizione delle immagini di testo evita di dover realizzare le funzionalità di riconoscimento e riproduzione vocale direttamente sul dispositivo, riutilizzando invece software già esistenti in questo ambito.
La distanza minima dal foglio alla quale può essere posta la penna 20 affinché la telecamera 12 sia a fuoco e sia in grado di acquisire l'intera parola da scandire determina le caratteristiche dell'ottica di focalizzazione. Queste specifiche potranno essere definite una volta scelto il dispositivo da utilizzare e note le sue caratteristiche tecniche.
Secondo una forma di realizzazione, la periferica 10 ha una forma sostanzialmente cilindrica, con un'altezza di pochi centimetri e un diametro inferiore al centimetro, ed à ̈ collegata al puntatore per il tramite di un sottile braccio o appendice, eventualmente snodato. La telecamera 12 à ̈ ad una distanza dal foglio di circa 2-3 cm.
E' ovviamente importante che la distanza sia tale che l'utente possa impugnare lo strumento e puntarlo mantenendo il polso appoggiato al foglio e allo stesso tempo la punta del dispositivo non copra la parola da scandire. L'utente deve infatti poter vedere chiaramente la parola indicata e sentirne velocemente la sua riproduzione vocale. Dal momento che lo strumento viene impugnato come una penna e quindi con una certa angolazione, à ̈ vantaggioso montare la telecamera 12 non direttamente sulla punta ma sul corpo del puntatore 20, perpendicolarmente al foglio da scandire. In questo modo non ingombra l'estremità del dispositivo e consente di acquisire le immagini in modo semplice limitando al minimo le deformazioni dovute all'inclinazione. Si può anche prevedere la possibilità di orientare o regolare la telecamera 12 in base a come lo strumento venga impugnato e alla relativa inclinazione. In questo modo il soggetto può leggere il testo maneggiando uno strumento che non ingombra la lettura, non copre il testo e supporta in modo efficace la lettura. A parte l'ingombro della telecamera, che può essere posta sulla parte superiore del puntatore, l'impugnatura deve essere studiata in modo da risultare sufficientemente ergonomica.
Verranno ora descritte le specifiche del sistema di acquisizione delle immagini, concentrandosi sulle caratteristiche tecniche richieste alla telecamera 12 e all'obiettivo.
Per le esigenze nell'ambito del riconoscimento del testo, si può innanzitutto dire che à ̈ sufficiente un sensore in scala di grigi.
Per quanto riguarda invece la risoluzione del sensore bisogna tenere conto delle problematiche relative al campionamento dell'immagine, delle dimensioni minime e massime del testo stampato che si desidera leggere e della lunghezza massima delle parole.
Considerando che in un normale testo stampato lo spessore delle linee che definiscono i caratteri à ̈ di circa 0.3-0.4 mm e tenendo in considerazione le esigenze di campionamento si può risalire al numero di punti per pollice (dpi) richiesti. Detto w0 lo spessore minimo di una linea, si può ritenere sufficiente un campionamento con una spaziatura inferiore a w0/3.
Questa à ̈ una specifica stringente ma non sempre necessaria, anche perché il passo di campionamento dipende molto dalle caratteristiche del sistema OCR (riconoscimento ottico dei caratteri) che viene utilizzato. Si à ̈ però deciso di seguire questo vincolo in modo da ottenere un'immagine sufficientemente accurata della parola da analizzare, in modo da non essere troppo vincolati in seguito nella scelta del sistema di riconoscimento dei caratteri. Tenendo conto dello spessore minimo delle linee (0.3 mm) e del passo di campionamento richiesto, si può concludere che à ̈ necessario disporre di circa 250 punti per pollice, ovvero 250 dpi. Per determinare la risoluzione richiesta al sensore bisogna innanzitutto stabilire quali sono le dimensioni minime e massime del testo da scandire. Lo strumento à ̈ pensato per leggere del testo nelle dimensioni classiche dei libri o degli articoli di giornale (titoli di testata esclusi). Imponendo questo vincolo, si può concludere che la lunghezza della parola più lunga del dizionario varia nel range di 4-6 cm. Ne consegue che il sensore deve essere dotato di una matrice con almeno 600 colonne (non ci sono vincoli stringenti sulle righe dato che l'altezza della parola più lunga à ̈ di molto inferiore alla sua lunghezza) e quindi si può ipotizzare una risoluzione di 640 x 480 pixel, o meglio ancora di 800 x 600 pixel.
Un'altra specifica stringente del sistema di acquisizione e in particolare dell'obiettivo à ̈ la necessità di poter mettere a fuoco l'immagine a distanza ravvicinata (25-40 mm). Inoltre la telecamera deve avere una buona sensibilità in modo da poter avere un ridotto tempo di esposizione e una elevata velocità di cattura delle immagini, fondamentale perché il bambino mentre impugna la penna può tremare o effettuare movimenti rapidi. Un parametro legato a questo aspetto à ̈ la larghezza del diaframma (determinata dal numero F indicato sull'ottica della telecamera) che dovrebbe essere sufficientemente elevata per ottenere buone riprese anche in ambienti interni e con scarsa luminosità. A questo proposito à ̈ consigliabile scegliere obiettivi con valori del parametro F bassi (< 2.5), ricordando che F varia in modo inversamente proporzionale alla larghezza del diaframma. Non à ̈ invece richiesta un'elevata profondità di campo dal momento che à ̈ sufficiente che venga messa a fuoco l'immagine in un range limitato (di qualche mm) di distanze dal foglio col testo stampato.
Un altro parametro importante da valutare à ̈ l'angolo di campo e quindi la lunghezza focale e la dimensione del sensore. Per determinare l'angolo di campo richiesto (α) alla telecamera si può ragionare sulla dimensione dell'area da acquisire (D) e sulla distanza dell'obiettivo dal soggetto (h) (figura 2).
Supponendo di acquisire le immagini ad una distanza dal foglio stampato di circa 25-40 mm e considerando che l'area da acquisire abbia una dimensione di circa 60-70 mm, si ricava che l'angolo di campo necessario varia nel range di circa 75°-110°.
Una volta determinato l'angolo di campo desiderato à ̈ possibile quindi valutare le diverse telecamere sul mercato e i relativi parametri quali lunghezza focale (f) e diametro del sensore (d), tenendo conto che l'angolo di campo α à ̈:
α = 2arctan(d/2f)
Un'altra specifica di cui tenere conto per la scelta della telecamera à ̈ la tensione di alimentazione e la corrente assorbita. Il dispositivo infatti può consumare una potenza massima che à ̈ quella prevista dallo standard USB, ovvero una tensione di 5V e una corrente massima di 500mA.
Riassumendo, le specifiche per il sistema di acquisizione delle immagini sono le seguenti:
· Tipo di sensore: CMOS per i bassi consumi e costi · Risoluzione: circa 640 x 480 (300k pixel)
· Angolo di campo: preferibilmente ~ 90°
· Sensibilità: F basso (1.2-1.4 e comunque < 2.5) · Lunghezza focale: bassa, in base alla grandezza del sensore, per fornire un angolo di campo elevato (es. con sensori da 1/3†inferiore a 2.4 mm, con sensori da 1/4†inferiore a 2 mm)
· Dimensioni: contenute (< 20mm per lato)
· Alimentazione: preferibilmente < 5 V
· Assorbimento: < 50 mA (e sicuramente << 500 mA) Come già anticipato in precedenza, il dispositivo 1 si configura come un sistema che aiuta l'utente nella lettura di testo stampato su un qualsiasi tipo di supporto comunque disposto nello spazio. L'utilizzatore, in modo semplice e naturale, indica la parola da leggere ed il sistema la riproduce mediante sintesi vocale. L'utente può passare alla parola successiva o tornare alla precedente con estrema naturalezza decidendo i tempi della lettura. A differenza di sistemi esistenti che richiedono la scansione di un intero testo o di un'intera linea nonché un'estrema precisione di posizionamento il metodo qui proposto permette una facile lettura direttamente comandata dalla volontà di chi legge. Questo approccio à ̈ particolarmente utile per lo studio dove i tempi della lettura devono essere accordati con l'apprendimento.
In accordo con una forma di realizzazione illustrata in figura 1, il dispositivo 1 Ã ̈ costituito dai seguenti elementi:
- una periferica 10 agganciabile ad una comune penna o matita 20 e dotata di una mini telecamera 12 e di un'interfaccia di comunicazione veloce e standard;
- un'unità di elaborazione 14 di uso comune, come un personal computer, un palmare o uno smartphone, ecc;
- un canale di comunicazione 16 fra la periferica 10 ed il computer 14 (cavetto o wireless);
- un dispositivo per la riproduzione della voce 18;
- un software di gestione della periferica, di riconoscimento e sintesi del testo e di interfaccia utente.
L'utilizzatore impugna la penna 20 su cui à ̈ montata la periferica 10 e appoggia la punta 20' della penna vicino alla parola 30 che vuole leggere. La periferica 10 manda, in tempo reale, la sequenza di immagini acquisite all'unità di elaborazione 14. Questa rileva automaticamente quando l'utente si à ̈ soffermato sul testo e quindi riconosce la parola che l'utente intende leggere e ne riproduce il suono mediante sintesi vocale. Per rendere più fluente la lettura, il sistema può essere configurato per riconoscere un insieme di parole consecutive nell'intorno del puntatore. Ad esempio le preposizioni o gli articoli possono essere accorpati alla parola successiva così come parole brevi possono essere accorpate tra loro. Inoltre il sistema può avvisare il lettore dell'avvenuto riconoscimento della parola indicata mediante un segnale acustico o una vibrazione dando la possibilità al lettore di posizionare la penna sulla prossima parola durante la riproduzione vocale di quella corrente.
Facendo riferimento alla Figura 3, la periferica di acquisizione 10 comprende una mini telecamera 12 integrata in un supporto meccanico 22 agganciabile ad una comune penna o matita 20. La punta 20' della penna à ̈ appoggiata nei pressi della parola da leggere 30 stampata su un generico foglio 2. La telecamera 12 à ̈ dotata di un sensore CMOS con risoluzione VGA, di una lente e di un microprocessore che gestisce la comunicazione e il trasferimento delle immagini acquisite verso l'unità di elaborazione 14.
Secondo una forma di realizzazione, l'interfaccia di comunicazione prevista à ̈ l'USB 2.0, in quanto presenta il vantaggio dell'alimentazione del dispositivo e dell'elevata banda di trasferimento dei dati. E' inoltre un'interfaccia standard disponibile su tutti i personal computer e su una buona parte dei calcolatori palmari e smartphone. Un'evoluzione di questa interfaccia potrebbe essere l'utilizzo dell'USB Wireless (o WUSB) che combina l'elevata velocità di trasferimento garantita dallo standard USB 2.0 con la praticità della tecnologia Wireless, con lo svantaggio però di dover prevedere una forma di alimentazione sul dispositivo.
Il supporto agganciabile 22 si configura come un'appendice ergonomica dalle dimensioni ridotte che ha il compito di integrare la telecamera 12 e la circuiteria necessaria. Si monta sulla penna 20 utilizzata dall'utente in modo semplice e non ne ingombra l'impugnatura né preclude la visuale del testo da leggere.
In accordo con una forma di realizzazione, la periferica 10 si collega tramite l'interfaccia scelta ad un calcolatore tradizionale (personal computer o notebook) o a un calcolatore portatile di nuova generazione (palmare o smartphone). In questo modo il software che gestisce l'elaborazione delle immagini, il riconoscimento, la sintesi del testo letto e l'interfaccia utente viene fatto girare sul calcolatore e non deve essere implementato in hardware sul dispositivo, con vantaggi in termini di flessibilità e modificabilità dello stesso.
Il software di acquisizione e riconoscimento ha il compito di gestire la comunicazione del calcolatore 14 con la periferica di acquisizione 10, di elaborare le immagini acquisite, di riconoscere il testo puntato e di riprodurlo con sintesi vocale. Realizza inoltre l'interfaccia utente e consente la configurazione di diversi parametri (es. la lingua del testo da riconoscere, la voce da utilizzare, ecc.) che personalizzano l'uso dello strumento.
L'architettura del sistema insieme con gli algoritmi sviluppati rendono il riconoscimento delle parole robusto rispetto:
· all'orientamento e al posizionamento della penna in prossimità del testo,
· al tipo di carattere del testo,
· alla dimensione del testo (entro limiti ragionevoli dipendenti dall'ottica),
· ai piccoli movimenti o tremori della mano dell'utilizzatore,
· alle condizioni di illuminazione e in genere ai disturbi alla visione quali ombre o aberrazioni ottiche.
In accordo con una forma di realizzazione, il software realizzato si divide in due moduli principali ed indipendenti:
- Modulo di pre-elaborazione 40 della sequenza immagini (o frame): ha il compito di ricevere le immagini dalla telecamera, di analizzare la sequenza di frame per stabilire quando l'utente si à ̈ fermato sulla parola desiderata e di eseguire operazioni di preelaborazione sull'immagine, come la binarizzazione.
- Modulo di elaborazione parole 50: riceve i frame pre-elaborati dal modulo precedente, li analizza e riproduce la o le parole riconosciute utilizzando la sintesi vocale.
All'avvio del programma, il primo modulo 40 acquisisce i frame dalla telecamera, ne analizza la sequenza e quando rileva che l'immagine à ̈ ferma scatena un evento per indicare al secondo modulo 50 che à ̈ pronta una nuova immagine da elaborare. Il secondo modulo intercetta questo evento, elabora il frame relativo, estrae la o le parole di interesse e ne comanda la riproduzione con sintesi vocale.
Vantaggiosamente, i due moduli vengono eseguiti come due thread paralleli e l'elaborazione dei frame selezionati avviene in tempo reale, ovvero “a tempo di frame†, cioà ̈ tra un'acquisizione di un'immagine e quella successiva. Pertanto, l'utente non nota alcun ritardo dovuto all'elaborazione delle immagini acquisite mentre scorre il testo da leggere.
La Figura 4 riporta uno schema del flusso di esecuzione del modulo di pre-elaborazione 40. A partire dall'avvio dell'applicazione il modulo, che comunica con la telecamera connessa al calcolatore tramite interfaccia USB, riceve i frame prodotti dalla telecamera 12. In accordo con una forma preferita di realizzazione che permette di rendere l'algoritmo più efficiente dal punto di vista computazionale, il modulo 40 converte ciascun frame acquisito in scala di grigio. Quindi confronta il frame acquisito con gli n frame precedenti (n ≥ 1) e calcola il livello di movimento, ad esempio attraverso un algoritmo di motion detection. Quando rileva che l'utente si à ̈ fermato con la penna, esegue la binarizzazione sul frame considerato e lo passa al modulo 50 di estrazione della parola. In questa fase rivestono una notevole importanza l'algoritmo di rilevazione del movimento e l'algoritmo di binarizzazione. Il primo à ̈ cruciale dal momento che determina quando l'immagine à ̈ ferma e quindi il tempo per iniziare ad elaborare i frame e riconoscere la parola. E' quindi necessario che la rilevazione del movimento venga eseguita in modo molto accurato ma allo stesso tempo efficiente dal punto di vista computazionale. Il secondo à ̈ altrettanto importante dal momento che una buona binarizzazione dell'immagine determina il successo delle successive fasi di estrazione e riconoscimento della parola. E' inoltre stringente anche in questo caso il tempo computazionale dal momento che la binarizzazione deve essere eseguita “a tempo di frame†(40 ms se si lavora a 25 fps).
Per questo motivo à ̈ stato effettuato uno studio accurato e diversi esperimenti per trovare la soluzione che meglio risolvesse tali problematiche. Durante lo sviluppo di questi algoritmi si à ̈ tenuto conto e si sono sfruttate le conoscenze relative al particolare tipo di immagini da elaborare, ovvero immagini testuali nelle quali la posizione della punta della penna indica la zona in cui si trova la parola o le parole da riconoscere. Sfruttando queste conoscenze si sono potuti realizzare algoritmi più efficaci e allo stesso tempo più leggeri dal punto di vista computazionale dal momento che non eseguono un'analisi cieca e completa di tutta l'immagine.
L'algoritmo di rilevazione del movimento analizza la sequenza di frame acquisiti dalla telecamera per stabilire in modo automatico quando l'utente si à ̈ fermato sulla parola da riconoscere ed attivare quindi l'elaborazione dell'immagine acquisita. Ogni frame acquisito dalla telecamera viene confrontato con il frame precedente producendo un valore che indica il livello di movimento che vi à ̈ stato tra le due immagini. Il valore à ̈ dato dalla percentuale di pixel che hanno subito una variazione significativa (ovvero superiore a una certa soglia) tra i due frame. Quando negli ultimi n frame (con n > 2, sperimentalmente si à ̈ scelto n=3) si à ̈ verificata una diminuzione del livello di movimento e tale livello risulta inferiore ad una soglia prefissata, allora si ritiene l'immagine ferma. A questo punto il frame viene binarizzato e inviato al modulo di elaborazione per la ricerca e l'estrazione della parola di interesse. Allo stesso modo quando la soglia di movimento calcolata à ̈ superiore a una certa soglia, allora si deduce che l'utente si sta muovendo con la penna sul testo. E' infatti chiaro che quando l'utente si sta muovendo sul testo, i frame acquisiti dalla telecamera risulteranno molto diversi fra di loro. Quando invece l'utente si sta fermando sulla parola da riconoscere, i frame consecutivi risulteranno molto simili, fino a risultare quasi identici quando l'utente si sarà fermato del tutto. L'analisi dell'andamento dei livelli di movimento nella sequenza di frame acquisiti risulta quindi un buon indicatore della velocità con cui l'utente si sta muovendo sul testo.
La figura 5 riporta a scopo esemplificativo una sequenza di sei frame consecutivi con la porzione di immagine 3' nell'intorno della punta 20' della penna 20 e il relativo livello di movimento rispetto al frame precedente. Come si può notare, a partire dal frame 2 vi à ̈ una continua diminuzione del livello di movimento fino ad arrivare al frame 5 che rappresenta la situazione in cui l'utente si à ̈ fermato con la penna sulla parola. Il frame 6 mostra invece un alto livello di movimento e rappresenta la situazione in cui l'utente riprende a muoversi con la penna.
Per migliorare le prestazioni di questo algoritmo si sono introdotte alcune ottimizzazioni. Innanzitutto il confronto tra i frame viene effettuato considerando una porzione degli stessi e in particolare quella nei pressi del marker 24, ovvero dell'immagine della punta della penna. In questo modo si migliora l'efficienza computazionale e l'accuratezza nella rilevazione del movimento perché ci si focalizza solo sulla sezione di interesse.
In accordo con una forma vantaggiosa di realizzazione, si sono introdotte inoltre due soglie di movimento: una dinamica e una statica. La prima à ̈ quella che viene usata per stabilire quando l'immagine si à ̈ stabilizzata a partire da una situazione di movimento. La seconda per stabilire se l'utente ha ricominciato a muoversi dopo essersi fermato. Sperimentalmente si à ̈ constatato come la prima debba essere più stringente: si devono evitare “falsi†riconoscimenti di immagini ferme; la seconda à ̈ meno stringente: si deve garantire l'insensibilità ai piccoli movimenti causati per esempio dal tremolio della mano una volta fermi sulla parola da riconoscere.
L'algoritmo di binarizzazione à ̈ la trasformazione di un'immagine di ingresso, ad esempio in scala di grigio, in un'immagine di uscita binaria ed à ̈ il primo importante passo per l'analisi delle immagini testuali e il riconoscimento del testo. L'obiettivo di questa elaborazione à ̈ quello di separare le aree di sfondo dalle aree che contengono caratteri: l'accuratezza di questa distinzione influenza la qualità e i risultati delle successive fasi di elaborazione.
Dato che per il dispositivo qui proposto si à ̈ focalizzata l'attenzione sulla binarizzazione di immagini testuali acquisite da telecamera, gli algoritmi sviluppati sono stati studiati e ottimizzati per gestire questa particolare situazione. L'operazione di segmentazione delle immagini può essere svolta facilmente se i frame acquisiti hanno un buon contrasto, una bassa quantità di rumore e se l'illuminazione dell'ambiente à ̈ uniforme. Nelle situazioni reali però alcuni aspetti intervengono e rendono più complicato questo compito. Rispetto agli scanner le videocamere presentano l'indubbio vantaggio della portabilità e della cattura istantanea dell'immagine, ma allo stesso tempo acquisiscono le immagini sotto condizioni meno stringenti e favorevoli. Questo introduce delle degradazioni che influiscono sulla qualità del frame acquisito, come il rumore, il basso contrasto, le ombre e la luminosità disomogenea dello sfondo.
In sintesi quindi l'algoritmo di binarizzazione deve risolvere queste problematiche e separare i pixel dei caratteri da quelli dello sfondo nel modo più accurato possibile, risultando allo stesso tempo efficiente dal punto di vista computazionale. E' infatti richiesto che l'elaborazione sia fatta “real-time†e più precisamente a tempo di frame per garantire tempi di risposta accettabili per l'utente. La ricerca di un compromesso ottimale tra l'accuratezza della binarizzazione e l'efficienza computazionale ha guidato lo sviluppo dell'algoritmo ed ha ispirato l'introduzione di ottimizzazioni, più avanti descritte nel dettaglio.
Diversi metodi di binarizzazione sono stati proposti negli ultimi anni, ma molti di questi sono pensati per immagini scannerizzate ad alta qualità, altri sono poco efficienti dal punto di vista computazionale, altri ancora sono troppo generici e male si applicano al caso specifico. Le tecniche di binarizzazione si dividono in globali e locali: nel primo caso viene scelta un'unica soglia di binarizzazione per tutta l'immagine, mentre nel secondo caso viene scelta una soglia diversa per ogni pixel (o gruppo di pixel) valutando le caratteristiche locali. Ovviamente gli algoritmi appartenenti alla prima categoria sono efficienti e leggeri dal punto di vista computazionale, ma mostrano evidenti limitazioni nella segmentazione di immagini a luminosità variabile o in cui siano presenti ombre e rumori di vario tipo.
Per lo sviluppo dell'algoritmo di binarizzazione si à ̈ seguito la seconda strada e si sono sfruttate le informazioni specifiche del dominio applicativo. In particolare si à ̈ partiti dalle seguenti ipotesi:
- la binarizzazione à ̈ svolta su immagini testuali, ovvero su immagini in cui vi sono dei caratteri sopra uno sfondo. Possono esserci anche elementi non testuali, ma questi sono rari e non rilevanti ai fini dell'elaborazione.
- Nelle aree che comprendono caratteri la variazione di intensità (ad esempio del livello di grigio) tra i pixel à ̈ nettamente superiore a quella che si riscontra nelle aree di solo sfondo. Lo sfondo può avere un'intensità non uniforme ma il gradiente di luminosità che si riscontra tra pixel vicini à ̈ sicuramente inferiore a quello dei caratteri.
- Il marker, ovvero la punta della penna, si trova ad una posizione nota nell'immagine acquisita e la parola da riconoscere si trova sopra di esso e nelle sue vicinanze. Non ha quindi senso effettuare una binarizzazione su tutta l'immagine ma à ̈ sufficiente concentrarsi su un intorno opportuno del marker. L'area da considerare viene calcolata dinamicamente durante l'algoritmo di binarizzazione perché varia in funzione della posizione della parola e della sua dimensione.
In accordo ad una forma preferita di realizzazione, prima di iniziare il processo di binarizzazione, all'immagine viene applicato un filtro di smoothing per attenuare il rumore sovrapposto all'immagine. Poi l'algoritmo procede nel modo seguente.
Partendo da un intorno della posizione del marker 24 si suddivide l'immagine in fasce 60 di larghezza prefissata (sperimentalmente di poco superiore alla larghezza media dei caratteri). Come si può notare in Figura 6, l'immagine viene idealmente divisa in fasce verticali a partire da quella centrale che contiene il marker 24, ovvero la punta della penna. L'obiettivo à ̈ quello di analizzare ciascuna di queste fasce indipendentemente dalle altre, isolare la porzione che contiene i caratteri intorno al marker e calcolare una soglia di binarizzazione locale per questo blocco di immagine. Le fasce vengono analizzate e scandite partendo da quella centrale che contiene il marker e procedendo poi verso destra e verso sinistra fino ad arrivare al bordo dell'immagine.
Facendo riferimento alla Figura 7, per ogni fascia considerata 60 e partendo dalla linea 61 che coincide con l'altezza del marker 24, viene analizzato il gradiente di intensità (livello di grigio) dei pixel di ogni riga procedendo prima verso l'altro e poi verso il basso.
Si definisce gradiente di intensità di un pixel la massima variazione del livello di un colore, ad esempio il grigio, tra un pixel e i pixel adiacenti nelle quattro direzioni verticali e orizzontali. Si sono trascurate in questa analisi le direzioni oblique per ridurre i calcoli e il tempo computazionale richiesto dall'algoritmo. E' intuitivo pensare che nei pixel sul bordo tra un carattere e lo sfondo il gradiente di intensità sia alto e comunque più elevato del gradiente che si rileva tra pixel dello stesso carattere o tra pixel dello sfondo. Analizzando quindi una riga di pixel all'interno di una fascia, se si riscontrano variazioni significative del gradiente si conclude che la riga attraversa una porzione di immagine in cui si trovano dei caratteri. In caso contrario à ̈ facilmente desumibile che la riga appartiene ad una porzione di immagine che contiene solo sfondo. Si procede in questo modo per ogni riga della fascia, basandosi su questi criteri decisionali:
· Se la riga analizzata contiene testo si procede con la riga successiva.
· Se, dopo aver individuato delle righe di testo, si trovano n righe consecutive che non contengono testo, si conclude che il carattere à ̈ terminato e ci si ferma.
· Se invece non si trova alcuna riga di testo per un certo numero di righe si conclude che la porzione di immagine considerata non contiene testo e si classifica il blocco come sfondo, ovvero si assegna a tutti i pixel del blocco il colore scelto per lo sfondo.
· Da questa analisi vengono esclusi i pixel che appartengono al marker (ovvero alla penna o matita) In questo modo viene individuato per ogni fascia 60 un limite inferiore e superiore che delimita la porzione di immagine 62 che contiene il testo da binarizzare, come si può notare in Figura 8. Se il blocco così definito à ̈ stato classificato come sfondo non viene eseguita alcuna operazione. Se invece il blocco à ̈ stato classificato come contenente del testo, viene binarizzato, ad esempio con un algoritmo che combina il metodo statistico di Otsu con un metodo basato sulla ricerca del picco di intensità nell'istogramma del blocco.
Per migliorare l'accuratezza nella classificazione dei blocchi e gestire i casi in cui il testo à ̈ molto inclinato si sono introdotte ulteriori euristiche che definiscono un'altezza minima h e un'altezza massima H per ogni fascia considerata. In altre parole si procede con la scansione delle righe della fascia almeno per h righe e al massimo per H righe. I valori di h e H sono determinati in funzione dell'altezza del blocco di testo individuato nella fascia precedentemente considerata (sperimentalmente si à ̈ determinato che h à ̈ circa l'85% dell'altezza del blocco precedente e H à ̈ circa il 150% dell'altezza del blocco precedente). In sintesi, se non viene trovata una riga di testo dopo h righe analizzate si conclude che il blocco analizzato à ̈ di sfondo, così come se si trova del testo anche dopo H righe analizzate ci si ferma comunque per evitare di binarizzare tutta l'immagine. Questa seconda euristica basata sull'altezza massima del blocco à ̈ molto utile nel caso di testo contenuto in una griglia perché consente di evitare di dover binarizzare tutta l'immagine.
Come si può osservare in Figura 9, dove si sono evidenziate in grigio le aree non esaminate, l'algoritmo di binarizzazione non agisce su tutta l'immagine ma solo su un intorno del marker che contiene il testo da riconoscere. In questo modo si riducono drasticamente i tempi di elaborazione e si semplificano le successive fasi di estrazione della parola. Facendo riferimento alla Figura 10, in certi casi la binarizzazione si estende per una porzione maggiore di testo, ma l'area esaminata à ̈ comunque sempre di molto inferiore all'intera immagine.
L'algoritmo gestisce in modo efficace anche la binarizzazione di immagini in cui il testo à ̈ chiaro su sfondo scuro: come si può osservare in figura 11, dopo aver eseguito un prima fase di binarizzazione dei blocchi considerati, si analizza una fascia opportuna di pixel nell'introno del marker e se la percentuale di pixel neri à ̈ superiore a quelli bianchi, si inverte l'immagine finale. È infatti riscontrabile sperimentalmente che prendendo un'area di immagine in cui si trovano dei caratteri, la percentuale di pixel dello sfondo à ̈ superiore alla percentuale di pixel dei caratteri.
La figura 12 illustra il diagramma di flusso dell'algoritmo implementato dal modulo di elaborazione parole 50. Questo modulo riceve i frame selezionati dal modulo di pre-elaborazione 40, li analizza ed estrae il testo da riconoscere e riprodurre a voce. Per raggiungere tale obiettivo, a partire dall'immagine binarizzata, esegue un analisi di connettività per identificare e classificare i “blob†70 presenti nell'immagine. Detto S l'insieme dei pixel neri, si definisce “blob†l'insieme dei pixel γ S (appartenenti all'insieme S) connessi tra di loro. Due pixel p,q γ S sono connessi tra di loro se esiste un percorso tra p e q costituito da soli pixel γ S. A partire dall'insieme dei blob individuati, il modulo estrae quelli che corrispondono ai caratteri della riga di testo da riconoscere; isola poi la parola d'interesse, effettua il riconoscimento tramite l'OCR (riconoscimento ottico dei caratteri) e la riproduce con sintesi vocale.
L'algoritmo di estrazione della porzione di immagine che contiene la parola da riconoscere lavora sull'immagine binarizzata ed à ̈ composto dalle seguenti fasi:
- Analisi di connettività: ha lo scopo di estrarre dall'immagine i blob 70. Una volta completata questa analisi vengono esclusi i blob troppo piccoli che vengono classificati come rumore. La figura 13 mostra il risultato di questa fase.
- Estrazione grezza dei blob della linea: a partire dall'insieme dei blob e nota la posizione del maker vengono estratti i blob 70 che corrispondono ai caratteri della linea di testo da riconoscere. La scelta dei blob da estrarre à ̈ basata sul criterio di vicinanza spaziale e su una classificazione degli stessi in base alle dimensioni e alla morfologia. La figura 14 illustra il risultato di questa fase.
- In accordo con una forma vantaggiosa di implementazione dell'algoritmo, viene calcolata l'inclinazione del testo, ad esempio attraverso interpolazione lineare dei punti centrali dei blob dei caratteri della linea di testo. Se l'inclinazione calcolata à ̈ di una certa entità, l'immagine viene ruotata per correggere tale inclinazione e fare in modo che la linea di testo da riconoscere sia orizzontale (figura 15).
- Estrazione fine dei blob della linea: una volta che l'immagine à ̈ allineata, vengono estratti i blob 70 della linea di testo in modo più fine e sofisticato rispetto all'estrazione grezza. In particolare vengono assimilati blob vicini che fanno parte dello stesso carattere (per esempio gli accenti o i puntini sulle “i†). L'obiettivo di questa fase à ̈ quello di estrarre in modo accurato i blob dei caratteri della linea di testo da riconoscere, come si può vedere in figura 16a.
- Estrazione dei blob della parola: facendo riferimento alla figura 16b, dall'insieme dei blob della linea di testo vengono estratti i soli blob della parola centrale 30 puntata dall'utente. Per fare questo viene eseguita un'analisi sulla spaziatura tra i blob dei caratteri ed identificare dove si trova la spaziature tra le parole. In accordo con una forma di realizzazione, l'algoritmo non estrae solo la parola puntata ma anche le n-1 parole presedenti, se presenti nell'immagine.
- Estrazione porzione di immagine della parola: a questo punto, noti i blob della parola, viene estratta la relativa porzione di immagine che li contiene, come si può vedere in figura 17. Tale bitmap sarà poi mandata in ingresso al motore OCR per il riconoscimento.
Una volta estratta la porzione di immagine che contiene la parola puntata dall'utente, viene invocato il software OCR che fornisce in uscita la stringa di testo riconosciuta. Le operazioni di elaborazione e filtraggio delle immagini eseguite ai passi precedenti semplificano molto il lavoro al motore OCR che riceve in ingresso un'immagine binaria pulita e allineata e deve solo occuparsi della classificazione dei caratteri.
La fase finale dell'elaborazione consiste nel riprodurre mediante sintesi vocale la parola riconosciuta. In accordo con una forma di realizzazione del dispositivo, si à ̈ scelta la Microsoft Speech API 5 installata nei sistemi operativi a partire da Windows XP. Questa API fornita da Microsoft fornisce un'interfaccia di programmazione standard per integrare nelle applicazioni i motori di sintesi vocale forniti da aziende esterne senza conoscerne i dettagli. Le applicazioni inviano i comandi di sintesi alla SAPI 5, la quale si occupa di attivare i motori di sintesi vocale in modo del tutto trasparente per il programmatore.
Per migliorare e rendere più flessibile il comportamento del sistema di riconoscimento si sono introdotte alcune ottimizzazioni, come la possibilità di leggere più parole, la gestione automatica dei ritorni a capo e la lettura composta di parole lunghe.
Per velocizzare e rendere più fluente la lettura si à ̈ pensato di ottimizzare l'algoritmo per poter leggere non solo la parola puntata ma anche le n parole precedenti (ad esempio con n=2). In questo modo l'utente può procedere più speditamente con la lettura e non deve soffermarsi su ogni singola parola, bensì su gruppi di 2-3 parole. A questo proposito si à ̈ modificato l'algoritmo di estrazione della parola in modo da estrarre anche le parole precedenti (ovviamente se visibili e complete nel frame acquisito) e l'algoritmo che gestisce la sintesi vocale, introducendo alcuni controlli per evitare sovrapposizioni, omissioni o ripetizioni di parole.
Per quanto riguarda la gestione automatica dei ritorni a capo, l'algoritmo che invia il testo da riprodurre al motore di sintesi vocale à ̈ stato opportunamente modificato per poter gestire i ritorni a capo in modo automatico e trasparente per l'utente.
Quando la parola da riconoscere termina infatti con un “-“ e non vi à ̈ più testo sulla riga corrente, tiene in memoria la porzione della parola riconosciuta e attende a riprodurla fino a che l'utente non torna a capo e legge la parte rimanente. Se ciò avviene in un intervallo di tempo ragionevole concatena le due parti e riproduce la parola nella sua completezza. Questo consente di gestire in modo automatico e fluido i ritorni a capo.
Per quanto riguarda la lettura di parole lunghe, se la parola da leggere à ̈ troppo lunga o à ̈ scritta con un carattere molto grande può capitare che non venga inquadrata nella sua interezza dalla telecamera. Il sistema à ̈ stato modificato per accorgersi di questa condizione e tenere in memoria le porzioni di parole lette fino a che questa non sia stata acquisita completamente. L'utente in questi casi prosegue puntando più volte la stessa parola e il sistema esegue una concatenazione delle diverse parti riconosciute. Per trovare il punto di aggancio tra i due frammenti da parola e stabilire se questi debbano effettivamente essere uniti in una sola, l'algoritmo esegue un confronto tra le immagini degli ultimi n caratteri del primo frammento e le immagini dei primi n caratteri del secondo frammento. L'analisi viene effettuata prima del riconoscimento tramite il motore OCR e il confronto tra i diversi caratteri viene svolto in base ad alcune caratteristiche opportunamente scelte, come per esempio il rapporto altezza/larghezza, la percentuale di riempimento, il baricentro e il momento di inerzia del carattere. Se l'algoritmo trova una corrispondenza tra la sequenza di caratteri del primo frammento di parola e la sequenza di caratteri del secondo frammento, procede con l'unione.
Alle forme di realizzazione del dispositivo sopra descritte, un tecnico del ramo, per soddisfare esigenze contingenti, potrà apportare modifiche, adattamenti e sostituzioni di elementi con altri funzionalmente equivalenti, senza uscire dall'ambito delle seguenti rivendicazioni. Ognuna delle caratteristiche descritte come appartenente ad una possibile forma di realizzazione può essere realizzata indipendentemente dalle altre forme di realizzazione descritte.

Claims (19)

  1. Titolare: UNIVERSITA' DEGLI STUDI DI BRESCIA RIVENDICAZIONI 1. Dispositivo di ausilio nella lettura di un testo stampato, comprendente: - una periferica di acquisizione dotata di una telecamera e di un'interfaccia di comunicazione, detta periferica essendo movibile da un utente su un testo stampato per inquadrare una porzione di testo; - un'unità di elaborazione; - mezzi di comunicazione tra la periferica e l'unità di elaborazione; - un dispositivo di riproduzione vocale; caratterizzato dal fatto che detta unità di elaborazione à ̈ programmata per acquisire una sequenza di immagini inquadrate dalla telecamera, rilevare quando l'utente si à ̈ soffermato sul testo, riconoscere almeno una parola che l'utente intende leggere, e riprodurre il suono di detta almeno una parola mediante sintesi vocale per il tramite del dispositivo di riproduzione vocale.
  2. 2. Dispositivo secondo la rivendicazione precedente, in cui la periferica di acquisizione à ̈ agganciabile ad un puntatore impugnabile dall'utente per essere appoggiato nelle vicinanze di una parola da leggere, detta periferica essendo montata sul puntatore in una posizione tale da inquadrare almeno la parola da leggere senza precluderne la visuale da parte dell'utente e senza ingombrare l'impugnatura del puntatore.
  3. 3. Dispositivo secondo la rivendicazione 2, in cui la periferica di acquisizione à ̈ munita di un braccio agganciabile ad una comune penna o matita fungente da puntatore.
  4. 4. Dispositivo secondo una qualsiasi rivendicazione precedente, in cui la periferica di acquisizione à ̈ dotata di un microprocessore che gestisce la comunicazione ed il trasferimento delle immagini acquisite all'unità di elaborazione.
  5. 5. Dispositivo secondo una qualsiasi rivendicazione precedente, in cui l'unità di elaborazione comprende un modulo di pre-elaborazione di una sequenza di immagini, adatto a ricevere le immagini dalla telecamera, analizzare detta sequenza di immagini per stabilire quando l'utente si à ̈ fermato sulla parola desiderata e ad eseguire operazioni di pre-elaborazione sull'immagine contenente la parola desiderata, ed un modulo di elaborazione parole adatto a ricevere l'immagine pre-elaborata, elaborarla in modo da estrarre almeno la parola desiderata, e a riprodurre almeno la parola desiderata mediante sintesi vocale.
  6. 6. Dispositivo secondo la rivendicazione 5, in cui il modulo di pre-elaborazione immagini à ̈ programmato per implementare un algoritmo di rilevazione del movimento della mini telecamera, comprendente le fasi di: - confrontare l'ultima immagine acquisita almeno con l'immagine precedente, - calcolare la percentuale di pixel che hanno subito una variazione significativa tra le almeno due immagini, - confrontare detta percentuale di pixel con un valore di soglia prestabilito.
  7. 7. Dispositivo secondo la rivendicazione 6, in cui il modulo di pre-elaborazione immagini implementa un algoritmo di binarizzazione adatto a separare, dall'immagine le aree di sfondo dalle aree che contengono caratteri a trasformare l'immagine selezionata dall'algoritmo di rilevazione del movimento in un'immagine di uscita binaria.
  8. 8. Dispositivo secondo la rivendicazione 7, in cui l'algoritmo di binarizzazione comprende le fasi di: - suddividere l'immagine selezionata in fasce verticali di larghezza prefissata almeno pari alla larghezza media dei caratteri di un testo da leggere; - per ogni fascia, analizzare la massima variazione del livello di intensità tra un pixel e i pixel adiacenti nelle quattro direzioni verticali e orizzontali in modo tale da stabilire se ogni riga di pixel della fascia attraversa una porzione di immagine contenente caratteri; - definire, per ogni fascia, un blocco di testo, se la porzione di immagine contiene caratteri, o un blocco di sfondo, se la porzione di immagine non contiene caratteri; - convertire l'immagine di ogni blocco di testo in un'immagine binaria in modo da estrarre i caratteri contenuti in detto blocco.
  9. 9. Dispositivo secondo la rivendicazione 8, in cui l'analisi delle fasce verticali viene effettuata partendo dalla e limitatamente ad un intorno della posizione della punta del puntatore.
  10. 10. Dispositivo secondo una qualsiasi delle rivendicazioni dalla 5 alla 9, in cui il modulo di elaborazione parole implementa un algoritmo di identificazione parola che esegue un'analisi di connettività dell'immagine binarizzata in modo da individuare insiemi di pixels connessi tra loro, estrae gli insiemi di pixels che corrispondono ai caratteri della riga di testo da riconoscere, isola la parola di interesse, effettua il riconoscimento tramite un algoritmo di riconoscimento ottico dei caratteri (OCR), e riproduce la parola mediante sintesi vocale.
  11. 11. Dispositivo secondo la rivendicazione 10, in cui l'algoritmo di identificazione parola estrae, dagli insiemi di pixels connessi, quelli che corrispondono ai caratteri della linea di testo da riconoscere utilizzando un criterio di vicinanza spaziale e in base alla dimensione e alla morfologia di detti insiemi di pixels.
  12. 12. Dispositivo secondo la rivendicazione 11, in cui il modulo di elaborazione parole calcola l'inclinazione della linea di testo da riconoscere e, se l'inclinazione calcolata à ̈ superiore ad un valore prestabilito, ruota l'immagine fino a che la linea di testo à ̈ in posizione orizzontale.
  13. 13. Dispositivo secondo la rivendicazione 11 o 12, in cui l'algoritmo di identificazione parola esegue un'analisi sulla spaziatura degli insiemi di pixels relativi ai caratteri rispetto alla punta del puntatore, in modo da estrarre dalla linea di testo i caratteri almeno della parola puntata.
  14. 14. Dispositivo secondo la rivendicazione 13, in cui l'algoritmo di identificazione parola estrae la porzione di immagine che contiene i caratteri almeno della parola puntata e invia detta porzione di immagine all'algoritmo di riconoscimento ottico dei caratteri (OCR).
  15. 15. Dispositivo secondo una qualsiasi delle rivendicazioni dalla 10 alla 14, in cui l'algoritmo di elaborazione parole estrae dal frame selezionato ed effettua la sintesi vocale non solo della parola puntata ma anche di almeno una parola precedente.
  16. 16. Dispositivo secondo una qualsiasi delle rivendicazioni dalla 10 alla 15, in cui, se la parola puntata termina con un carattere di ritorno a capo, l'algoritmo di elaborazione parole memorizza la porzione della parola riconosciuta, attende che l'utente torni a capo e punti la parte rimanente, concatena le due parti e riproduce la parola nella sua completezza.
  17. 17. Dispositivo secondo una qualsiasi delle rivendicazioni dalla 10 alla 16, in cui, se la parola puntata presenta una lunghezza tale da non essere inquadrabile completamente dalla telecamera, l'algoritmo di elaborazione parole memorizza le porzioni di parole inquadrate in successione e, se le immagini degli ultimi n caratteri di una porzione presentano una corrispondenza con le immagini dei primi n caratteri di una porzione successiva, esegue una concatenazione di dette porzioni.
  18. 18. Dispositivo secondo una qualsiasi delle rivendicazioni precedenti, in cui l'elaborazione dell'immagine selezionata avviene in tempo reale.
  19. 19. Dispositivo secondo una qualsiasi delle rivendicazioni precedenti, in cui mezzi di comunicazione tra la periferica e l'unità di elaborazione comprendono un'interfaccia USB o WUSB.
ITBS2008A000133A 2008-07-10 2008-07-10 Dispositivo di ausilio nella lettura di un testo stampato IT1390595B1 (it)

Priority Applications (5)

Application Number Priority Date Filing Date Title
ITBS2008A000133A IT1390595B1 (it) 2008-07-10 2008-07-10 Dispositivo di ausilio nella lettura di un testo stampato
PCT/IB2009/052971 WO2010004515A1 (en) 2008-07-10 2009-07-08 Aiding device for reading a printed text
US13/002,001 US8538087B2 (en) 2008-07-10 2009-07-08 Aiding device for reading a printed text
AT09786546T ATE544143T1 (de) 2008-07-10 2009-07-08 Hilfsvorrichtung zum lesen von drucktexten
EP09786546A EP2311018B1 (en) 2008-07-10 2009-07-08 Aiding device for reading a printed text

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ITBS2008A000133A IT1390595B1 (it) 2008-07-10 2008-07-10 Dispositivo di ausilio nella lettura di un testo stampato

Publications (2)

Publication Number Publication Date
ITBS20080133A1 true ITBS20080133A1 (it) 2010-01-11
IT1390595B1 IT1390595B1 (it) 2011-09-09

Family

ID=40934129

Family Applications (1)

Application Number Title Priority Date Filing Date
ITBS2008A000133A IT1390595B1 (it) 2008-07-10 2008-07-10 Dispositivo di ausilio nella lettura di un testo stampato

Country Status (5)

Country Link
US (1) US8538087B2 (it)
EP (1) EP2311018B1 (it)
AT (1) ATE544143T1 (it)
IT (1) IT1390595B1 (it)
WO (1) WO2010004515A1 (it)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8229224B2 (en) * 2009-12-18 2012-07-24 David Van Hardware management based on image recognition
TWI649468B (zh) 2010-05-26 2019-02-01 伊唯斯科技公司 具降低摩擦力之雙成份彈性纖維
KR101907414B1 (ko) * 2011-12-13 2018-10-15 삼성전자주식회사 촬영 이미지 기반의 문자 인식 장치 및 방법
GB2503931B (en) * 2012-07-13 2014-09-10 Visionaid Internat Ltd Reading device
US20150139559A1 (en) * 2012-09-14 2015-05-21 Google Inc. System and method for shape clustering using hierarchical character classifiers
KR20140102038A (ko) * 2013-02-13 2014-08-21 삼성전자주식회사 영상 정합 장치 및 영상 정합 방법
US20130275133A1 (en) * 2013-06-13 2013-10-17 Dawei Wang Electronic Pen with Printable Arrangement
US20150112465A1 (en) * 2013-10-22 2015-04-23 Joseph Michael Quinn Method and Apparatus for On-Demand Conversion and Delivery of Selected Electronic Content to a Designated Mobile Device for Audio Consumption
US20160034027A1 (en) * 2014-07-29 2016-02-04 Qualcomm Incorporated Optical tracking of a user-guided object for mobile platform user input
US10380914B2 (en) 2014-12-11 2019-08-13 Toyota Motor Engineering & Manufacturnig North America, Inc. Imaging gloves including wrist cameras and finger cameras
US9870718B2 (en) 2014-12-11 2018-01-16 Toyota Motor Engineering & Manufacturing North America, Inc. Imaging devices including spacing members and imaging devices including tactile feedback devices
US10380993B1 (en) 2016-01-22 2019-08-13 United Services Automobile Association (Usaa) Voice commands for the visually impaired to move a camera relative to a document
EP3567597A1 (en) 2018-05-11 2019-11-13 Anoto Korea Corp. Method and apparatus of diagnostic test
CN112308063B (zh) * 2019-07-29 2022-07-29 京东方科技集团股份有限公司 文字识别装置、翻译笔、图像翻译方法及图像翻译装置
US20210056866A1 (en) * 2019-08-21 2021-02-25 Seungoh Ryu Portable Reading, Multi-sensory Scan and Vehicle-generated Motion Input
US11561964B2 (en) 2019-10-14 2023-01-24 International Business Machines Corporation Intelligent reading support
US11545047B1 (en) * 2021-06-24 2023-01-03 Knowledge Ai Inc. Using biometric data intelligence for education management

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999021122A1 (en) * 1997-10-22 1999-04-29 Ascent Technology, Inc. Voice-output reading system with gesture-based navigation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115482A (en) * 1996-02-13 2000-09-05 Ascent Technology, Inc. Voice-output reading system with gesture-based navigation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999021122A1 (en) * 1997-10-22 1999-04-29 Ascent Technology, Inc. Voice-output reading system with gesture-based navigation

Also Published As

Publication number Publication date
WO2010004515A1 (en) 2010-01-14
US8538087B2 (en) 2013-09-17
IT1390595B1 (it) 2011-09-09
EP2311018A1 (en) 2011-04-20
ATE544143T1 (de) 2012-02-15
EP2311018B1 (en) 2012-02-01
US20110188783A1 (en) 2011-08-04

Similar Documents

Publication Publication Date Title
ITBS20080133A1 (it) Dispositivo di ausilio nella lettura di un testo stampato
Mithe et al. Optical character recognition
CN104966084A (zh) 一种基于ocr和tts的低视力阅读助视系统
Neto et al. Camera reading for blind people
CN110060524A (zh) 一种机器人辅助阅读的方法及阅读机器人
CN105279152B (zh) 一种取词翻译的方法和装置
CN101140617A (zh) 电子设备及其文本录入的方法
EP1450552A3 (en) Data conversion apparatus and data conversion program storage medium
US20180204484A1 (en) Automatic alternative content search apparatus for visually impaired person
CN101840648A (zh) 自动盲文阅卷系统
CN104835361B (zh) 一种电子词典
SRMIST et al. Text-to-speech device for visually impaired people
US20090182548A1 (en) Handheld dictionary and translation apparatus
CN203164540U (zh) 语言翻译眼镜
Saleous et al. Read2Me: A cloud-based reading aid for the visually impaired
CN201251767Y (zh) 智能电子词典
US20150302246A1 (en) Forming scanned composite document with optical character recognition function
AV et al. Penpal-electronic pen aiding visually impaired in reading and visualizing textual contents
JP2014127197A (ja) スマートフォンのカメラで認識した文字を、音声で読み上げるアプリケーション・ソフト
CN113392847A (zh) 一种藏汉英三语ocr手持扫描翻译装置及翻译方法
Rajak et al. An Android Based Detection of Text Extraction from Image
Revathy et al. Android live text recognition and translation application using tesseract
CN203025728U (zh) 基于单片机的语文作文录入装置
CN201004322Y (zh) 纸质文字数码摘录存储笔
Velmurugan et al. A Next-Gen Automated Reading Companion for the Visually Impaired