Reconeixement òptic de caràcters

De la Viquipèdia, l'enciclopèdia lliure

El Reconeixement Òptic de Caràcters (OCR) és una aplicació de la intel·ligència artificial que consisteix a identificar automàticament símbols o caràcters, que pertanyen a un determinat alfabet, a partir d'una imatge per emmagatzemar-ho en forma de dades amb les quals podrem interaccionar amb un programa d'edició de text o similars.[1]

Hi ha dos tipus d'OCR: l'OCR-A, dirigit a textos, i l'OCR-B, dirigit a codis de barres.[1]

En els últims anys la digitalització de la informació (textos, imatges, so, etc.) s'ha convertit en un punt d'interès per la societat.

En el cas concret dels textos, existeixen i es generen contínuament grans quantitats d'informació escrita, tipogràfica o manuscrita en tota mena de suport. Amb aquest context, poder automatitzar la introducció de caràcters evitant l'entrada per teclat, implica un important estalvi de recursos humans i un augment de la productivitat al mateix temps que es manté o fins i tot es millora la qualitat de molts serveis.

El Reconeixement Òptic de Caràcters (OCR), així com el reconeixement de text, en general són aplicacions dirigides a la digitalització de textos.

Problemes en el Reconeixement Òptic de Caràcters[modifica]

El procés bàsic que es du a terme en el Reconeixement Òptic de Caràcters és convertir el text que apareix en una imatge en dades que podran ser editades i utilitzades com a tal per qualsevol programa o aplicació que les necessiti.

Partint d'una imatge perfecta, és a dir, una imatge de dos nivells de gris, el reconeixement d'aquests caràcters es realitzara bàsicament comparant-los amb uns patrons o plantilles que contenen tots els possibles caràcters.

Ara bé, les imatges reals no són perfectes, per tant el Reconeixement Òptic Caràcters es troba amb diversos problemes:

  • El dispositiu que obté la imatge pot introduir nivells de grisos al fons que no pertanyen a la imatge original.
  • La resolució d'aquest dispositius pot introduir soroll a la imatge, afectant als píxels que han de ser processats.
  • La separació dels caràcters. Al no existir un espai fix entre ells, pot produir errors a l'hora del reconeixement.
  • La connexió de dos o més caràcters per píxels comuns també pot produir errors.

Esquema bàsic d'un algorisme de Reconeixement Òptic de Caràcters[modifica]

Tots els algorismes de Reconeixement Òptic de Caràcters tenen la finalitat de poder reconèixer un text d'una imatge qualsevol per poder-lo tractar posteriorment. Per tal de fer-ho es basen en 4 passos: Binarització, Fragmentació o segmentació de la imatge, Simplificació de les components i Comparació amb patrons.

Binarització[modifica]

La major part d'algorismes d'OCR parteixen de la base d'una imatge binaria (dos colors) per tant és convenient convertir una imatge amb escala de grisos, o color, en una en blanc i negre, de tal manera que es preservin les propietats essencials de la imatge. Una forma de fer-ho és mitjançant l'histograma de la imatge on es mostra el nombre de píxels per cada nivell de gris que apareix a la imatge. Per binaritzar-la haurem de triar un llindar adequat, a partir del qual tots els píxels que no el superin es convertiran en negre i la resta en blanc.

Mitjançant aquest procés obtenim una imatge en blanc i negre on queden clarament marcats els contorns dels caràcters i símbols que conte la imatge. A partir d'aquí podem aïllar les parts de la imatge que contenen text (més transicions entre blanc i negre).

Fragmentació o segmentació de la imatge[modifica]

Aquest és el procés més costós i necessari per al posterior reconeixement de caràcters. La segmentació d'una imatge implica la detecció mitjançant procediments d'etiquetat determinista o estocàstic, dels contorns o regions de la imatge, basant-se amb la informació d'intensitat o informació espacial. Permet la descomposició d'un text en diferents entitats lògiques, que han de ser prou invariables, per ser independents de l'escriptor, i prou significatives pel seu reconeixement.

No existeix un mètode genèric per du a terme aquesta segmentació de la imatge que sigui prou eficaç per l'anàlisi d'un text. Tot i això les tècniques més utilitzades són variacions dels mètodes basat en projeccions lineals.

Una de les tècniques més clàssiques i simples per imatges de nivell de gris consisteix en la determinació dels modes o agrupaments (“clusters”) a partir de l'histograma, de tal manera que permet una classificació o llindarització dels píxels en regions homogènies.

Existeixen altres mètodes com per exemple: el detector de contorns de Sobel, l'operador de Kirsch, el detector de contorn de Marr-Hilderth, el detector de contorns de Canny.

Simplificació dels components[modifica]

Un cop aïllats els components connexes de la imatge s'haurà d'aplicar un procés de simplificació per a cada un. Aquest procediment consisteix a anar esborrant successivament els punts dels contorns de cada component, de manera que es preservi la seva tipologia. L'eliminació dels punts ha de seguir un esquema d'escombratges successius per tal que la imatge continuï de tenir les mateixes proporcions que l'original i aconseguir que no quedi deformada. S'ha de fer un escombratge en paral·lel, és a dir, senyalar els píxels esborrables per eliminar-los tots a la vegada. Aquest procés es du a terme per fer possible la classificació i reconeixement en simplifcar la forma dels components.

Comparació amb patrons[modifica]

En aquesta etapa es comparen els caràcters obtinguts anteriorment amb uns caràcters teòrics (patrons) emmagatzemats en una base de dades. El bon funcionament del OCR es basa en gran manera en una bona definició d'aquesta etapa. Per dur a terme la comparació amb els diferents patrons existeixen diferents mètodes, un d'ells és el Mètode de projecció, en el qual s'obtenen les projeccions verticals i horitzontals del caràcter a reconèixer i es comparen amb l'alfabet de caràcters possibles fins a trobar la màxima correspondència.

Existeixen altres mètodes com per exemple: Mètodes geomètrics o estadístics, Mètodes estructurals, Mètodes Neuro-mimètics, Mètodes Markovians o Mètodes de Zadeh.

Aplicacions[modifica]

Des de l'aparició dels algorismes de reconeixement òptic de caràcters han sigut molts els àmbits que han introduït aquests processos per augmentar el rendiment dels seus i serveis i d'altres que es basen completament en aquestes tecnologies. A continuació es mostren tres de les moltes aplicacions més destacades que utilitzen el OCR.

Reconeixement de text manuscrits[modifica]

Tot i les dificultats que podem trobar a l'hora de reconèixer un text tipografiat no es poden comparar amb les que apareixen a l'hora de reconèixer un text manuscrit.

El reconeixement d'un text manuscrit continua sent un desafiament. Tot i que el text es compon bàsicament de caràcters individuals, la majoria d'algorismes OCR no aconsegueixen bons resultats, ja que la segmentació de text continu és un procediment complex.

Tot i això es pot arribar a comprendre una frase quan l'hem acabat de llegir. Això implica una operació dels nivells morfològic lèxic i sintàctic que s'aconsegueix mitjançant el reconeixement de la parla continua. Per aconseguir aquesta metodologia s'utilitzen algorismes robustos que no utilitzen segmentació prèvia, ja que s'obté automàticament amb la descodificació.

Reconeixement de matrícules[modifica]

Una de les aplicacions més clares en les que es pot trobar el OCR és el reconeixement de matrícules utilitzat en els radars. Aquests han de ser capaços de localitzar la matrícula d'un vehicle amb condicions d'il·luminació, perspectiva i entorn variables.

En l'etapa de segmentació es busquen textures similars a la d'una matrícula i s'aïlla l'àrea rectangular que la forma.

Finalment, s'aplica un procés de classificació múltiple sobre el conjunt de píxels pertanyents a la matrícula proporcionant una cadena de caràcters que s'ha d'ajustar a un model conegut, el format de les matrícules. S'hi apareix algun error és corregit.

Indexació en bases de dades[modifica]

Amb el gran augment d'informació publicada que ha tingut lloc en els últims anys cada vegada són més els mètodes que s'utilitzen per organitzar tot aquest material emmagatzemat en bases de dades.

Un d'aquests continguts són les imatges. Una de les formes més corrents de buscar imatges és a partir de les metadades introduïdes manualment pels usuaris. Actualment han aparegut cercadors que proporcionen la possibilitat de buscar imatges mitjançant el text que pareix en elles, com el cercador DIRS (Document Image Retrieval System), mitjançant un algorisme de Reconeixement Òptic de Caràcters extreu el text que apareix en les imatges i l'utilitza com a metadada que podrà ser utilitzada en les cerques. Aquesta tecnologia proporciona una nova possibilitat en les cerques d'imatges i demostra que l'OCR encara pot donar molt de si.

Programari d'OCR[modifica]

Programari comercial[modifica]

Tots ofereixen almenys una versió sobre Windows, degut a l'àmplia implementació de Windows en el mercat.

Programari de codi obert[modifica]

  • CuneiForm/OpenOCR, (MacOS, Linux i Windows) 23 idiomes
  • GOCR (Linux), Anglès;
  • hOCR (Mac OS X, Linux), Hebreu
  • Ocrad (MacOS, Linux, Windows), alfabet llatí
  • Ocre (Mac OS X, Linux), alfabet llatí
  • OCRopus (Mac OS X, Linux);
  • Puma.NET (Windows), 28 idiomes,
  • Tesseract (MacOS, Linux, Windows), 35 idiomes

OCR al núvol[modifica]

  • Alguns productes comercials ofereixen la possibilitat d'OCR a través de la web (ABBYY FineReader, ExperVision).
  • Google, desenvolupant el motor de Tesseract, ofereix la possibilitat de reconeixement de caràcters a partir del seu Google Docs, de franc.[cal citació]

Referències[modifica]

  1. 1,0 1,1 Klein (1989), p. 68

Bibliografia[modifica]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Reconeixement òptic de caràcters