Progressi nella tecnologia OCR per il testo nelle scene
Questo articolo parla dei progressi nel riconoscimento ottico dei caratteri per scene naturali.
― 8 leggere min
Indice
Il Riconoscimento Ottico dei Caratteri (OCR) è una tecnologia che permette ai computer di leggere il testo all'interno delle immagini. È in giro da un bel po' e funziona bene per documenti standard come libri e fatture. Tuttavia, riconoscere il testo in scene naturali-come segnali o etichette nelle fotografie-è molto più complicato. Questo perché il testo appare in vari stili, sfondi e spesso in posizioni insolite.
Un modo per misurare quanto bene stia funzionando un sistema OCR è guardare a quanti errori fa confrontando il suo output con il testo reale in un'immagine. Un metodo comune per questa valutazione è usare qualcosa chiamato Tasso di errore delle parole (WER). Il WER conta quante parole sono mancanti, aggiunte in modo errato o cambiate. Suggeriamo di usare il WER per valutare sia la performance generale di un sistema OCR che quella delle sue singole parti.
Per una maggiore precisione nelle nostre misurazioni, introduciamo una forma specifica di WER chiamata DISGO WER. Questa versione guarda a quattro tipi di errori: cancellazione, inserimento, sostituzione e errori di raggruppamento/ordinamento. Catalogando gli errori in questo modo, possiamo identificare quali parti del sistema OCR necessitano miglioramenti.
Nel nostro studio, usiamo un piccolo set di test pubblico per mostrare come funziona il nostro metodo nella pratica. Mentre l'OCR per documenti è ben compreso, l'OCR per testo in scena sta iniziando a ottenere attenzione, soprattutto con l'uso crescente di occhiali smart e realtà aumentata. L'OCR in scene naturali affronta sfide come testi curvi, angolati o bloccati da altri oggetti. Inoltre, se si scatta una foto da lontano, il testo può essere minuscolo e difficile da leggere.
L'OCR può essere usato per vari compiti pratici, come tradurre testo in tempo reale, fare chiamate o impostare promemoria. Per rendere questi compiti più facili, i sistemi OCR devono non solo riconoscere il testo ma anche capire come è organizzato sulla pagina. Ad esempio, tutte le parole in una frase come "NIÑOS JUGANDO" dovrebbero essere raggruppate insieme nell'ordine in cui vengono lette.
I metodi di valutazione per l'OCR di solito includono metriche come precisione, richiamo e punteggi F1. Anche se queste metriche funzionano bene per compiti di semplice rilevamento, non sempre si applicano all'analisi del layout necessaria per l'OCR di testo in scena. Altri sistemi adottano approcci diversi, usando metriche multiple per catturare vari aspetti dell'efficacia di un sistema OCR.
Nel nostro caso, sosteniamo che usare il WER offre un modo coerente per valutare tutte le parti del processo OCR, comprese le singole componenti e la performance complessiva del sistema. Analizzando i modelli di errore, come alti tassi di cancellazione o sostituzione, possiamo scoprire quale parte del sistema sta fallendo e necessita attenzione.
Descriviamo anche il design di un sistema OCR di base per il testo in scena che abbiamo costruito per testare le nostre idee. Questo sistema ha tre parti principali: rilevamento delle parole, riconoscimento delle parole e raggruppamento corretto. Anche se ci sono tecniche avanzate per l'OCR, ci siamo concentrati su un design modulare che funziona direttamente sui dispositivi per garantire la privacy degli utenti e ridurre la latenza.
Rilevamento delle parole
Il primo passo nel nostro processo OCR è rilevare dove si trovano le parole in un'immagine. Per questo usiamo un modello chiamato Faster-RCNN, che lavora rapidamente cercando le bounding box delle parole. Ogni box rilevata è un rettangolo che contiene una parola, definito dal suo centro, larghezza, altezza e angolo di rotazione. Applichiamo tecniche per migliorare le prestazioni, come ridurre la dimensione dell'immagine per velocizzare l'elaborazione.
Riconoscimento delle parole
Una volta che abbiamo le box delle parole, il passo successivo è riconoscere il testo al loro interno. Prima di tutto, regoliamo ogni box per assicurarci che sia allineata orizzontalmente, poi la ridimensioniamo per uniformità. Per questo, utilizziamo una rete specializzata progettata per funzionare in modo efficiente sui dispositivi mobili. Durante la fase di riconoscimento, utilizziamo una tecnica chiamata perdita CTC che tiene conto delle variazioni nella lunghezza delle parole. Il sistema indovina i caratteri all'interno delle box, identificando quello che pensa sia più probabile in base ai dati che ha visto durante l'addestramento.
Raggruppamento e ordinamento
Semplicemente rilevare e riconoscere le parole spesso non basta. Per molte applicazioni, capire il contesto del testo riconosciuto è fondamentale. Per raggiungere questo obiettivo, sviluppiamo un metodo per raggruppare le parole rilevate in blocchi significativi e definire l'ordine in cui dovrebbero essere lette. Questo può essere complicato dato che le parole potrebbero non essere posizionate in linee rette e possono formare più gruppi all'interno di un'immagine.
DISGO WER come metrica
I tassi di errore delle parole sono stati un modo standard di misurare la performance in vari campi. Il nostro obiettivo è mostrare come questo concetto possa essere applicato efficacemente all'OCR di testo in scena. I vantaggi dell'uso del WER includono la sua semplicità e la sua applicabilità a tutti i componenti del sistema. Analizzando i quattro tipi di errori-cancellazione, inserimento, sostituzione e raggruppamento/ordinamento-possiamo regolare e migliorare ogni parte del sistema OCR.
Per visualizzare le performance, creiamo una "mappa di posizione" che colloca tutte le parole di riferimento su un'immagine in base alle loro coordinate. Poi confrontiamo le parole previste e quelle di riferimento per vedere quanto bene ha funzionato il sistema. Per ogni errore, lo classifichiamo come errore di riconoscimento o errore di allineamento.
Gli errori di raggruppamento e ordinamento sono considerati quando si determina se le parole sono posizionate correttamente in relazione tra loro. Una parola è considerata riconosciuta correttamente quando non solo corrisponde al testo ma si adatta anche nella sua posizione corretta all'interno dell'ordine di lettura generale. L'algoritmo che abbiamo sviluppato aiuta a valutare questi errori in modo efficace.
Valutazione separata dei componenti
Poiché diverse parti di un sistema OCR possono essere sviluppate in modo indipendente, è utile misurare le loro performance separatamente. Definiamo metriche WER specifiche per ogni componente:
- Rilevamento: Misura quante parole sono state trovate correttamente rispetto a quante sono state perse o identificate erroneamente.
- Riconoscimento: Guarda quante parole sono state riconosciute correttamente rispetto al numero totale di parole attese, considerando possibili errori di cancellazione.
- Raggruppamento/ordinamento: Valutiamo quanto bene il testo è stato organizzato in blocchi e l'ordine corretto di lettura.
Traduzione automatica
Una delle principali applicazioni dell'OCR è quella di aiutare nella traduzione automatica. Quando si invia testo generato da OCR a un sistema di traduzione, è essenziale connettere ogni blocco di testo riconosciuto con il suo corrispondente tradotto. Utilizziamo algoritmi per raggiungere questo obiettivo e garantire che le traduzioni siano abbinate accuratamente ai blocchi corretti.
Per migliorare la nostra valutazione della traduzione, utilizziamo il punteggio BLEU, che misura quanto da vicino la traduzione automatica corrisponde alle traduzioni umane per vari blocchi di testo. Si presta particolare attenzione a rispettare i confini di questi blocchi, assicurandosi di non mescolare testi di gruppi diversi.
Integrazione della conoscenza linguistica
Una sequenza di parole riconosciuta potrebbe non avere sempre senso a causa di come vengono interpretati i caratteri. Per migliorare la precisione, incorporiamo modelli linguistici che aiutano a prevedere la probabilità delle sequenze di parole. Usando questi modelli, possiamo guidare meglio i sistemi di riconoscimento per evitare output senza senso.
Il processo di integrazione dei modelli linguistici implica spesso l'addestramento su grandi set di dati testuali per capire schemi e errori comuni che si verificano tipicamente nel testo. Esploriamo anche l'uso di architetture avanzate come i trasformatori che possono apprendere il contesto e migliorare notevolmente il riconoscimento delle parole.
Sperimentazione e risultati
Abbiamo addestrato il nostro sistema utilizzando un mix di dataset pubblicamente disponibili e i nostri dati raccolti, concentrandoci su parole inglesi e spagnole. Il nostro set di test di base presenta sfide significative con immagini che hanno testo curvo e una varietà di layout. Dopo aver implementato il nostro sistema, abbiamo esaminato attentamente i tassi di errore.
I risultati iniziali mostrano un numero elevato di errori di cancellazione, specialmente in immagini a bassa risoluzione. Ottimizzando i nostri modelli e regolando i parametri, abbiamo ridotto significativamente questi errori. Abbiamo anche esplorato diverse configurazioni-come l'aggiunta di modelli linguistici e l'uso di reti neurali più avanzate-per valutare il loro impatto sulle performance.
Conclusione
Questo nuovo approccio alla misurazione dell'efficacia dell'OCR di testo in scena fornisce un modo strutturato per valutare sia i singoli componenti che il sistema nel suo complesso. Adottando la metrica DISGO, puntiamo a stabilire uno standard nel campo dell'OCR, facilitando migliori confronti e miglioramenti nella tecnologia.
Anche se questi metodi sono promettenti, rimangono diverse sfide. Dobbiamo validare l'efficacia delle nostre metriche rispetto a valutazioni umane su diversi dataset. Inoltre, il nostro sistema si basa su bounding box per un allineamento accurato delle parole, il che può essere un ostacolo quando non tutti i modelli offrono confini chiari.
Questo lavoro apre strade per futuri miglioramenti, inclusa l'integrazione di approcci di machine learning per un raggruppamento e un ordinamento automatici. Continueremo a sviluppare e perfezionare le nostre metodologie, utilizzando le metriche proposte per monitorare i progressi nella tecnologia OCR per il testo in scena.
Titolo: DISGO: Automatic End-to-End Evaluation for Scene Text OCR
Estratto: This paper discusses the challenges of optical character recognition (OCR) on natural scenes, which is harder than OCR on documents due to the wild content and various image backgrounds. We propose to uniformly use word error rates (WER) as a new measurement for evaluating scene-text OCR, both end-to-end (e2e) performance and individual system component performances. Particularly for the e2e metric, we name it DISGO WER as it considers Deletion, Insertion, Substitution, and Grouping/Ordering errors. Finally we propose to utilize the concept of super blocks to automatically compute BLEU scores for e2e OCR machine translation. The small SCUT public test set is used to demonstrate WER performance by a modularized OCR system.
Autori: Mei-Yuh Hwang, Yangyang Shi, Ankit Ramchandani, Guan Pang, Praveen Krishnan, Lucas Kabela, Frank Seide, Samyak Datta, Jun Liu
Ultimo aggiornamento: 2023-08-25 00:00:00
Lingua: English
URL di origine: https://arxiv.org/abs/2308.13173
Fonte PDF: https://arxiv.org/pdf/2308.13173
Licenza: https://creativecommons.org/licenses/by/4.0/
Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.
Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.