Optikai karakterfelismerés

A Wikipédiából, a szabad enciklopédiából

Az optikai karakterfelismerés vagy optikai karakterolvasás, amelyet (angol megfelelője után) gyakran rövidítenek OCR-ként, a gépelt, kézzel írt vagy nyomtatott szövegek gépi kódolású, mechanikus vagy elektronikus átalakítása. Ez alapulhat akár beolvasott dokumentumon vagy dokumentumfotón, akár más képen (például tájképen lévő jelzés, hirdetőtáblán szereplő szöveg vagy tévéműsor feliratos szövege esetén). Széles körben használják a nyomtatott papíradatbázisok információs bejegyzését - legyen az útlevél, számlák, bankszámlakivonatok, számítógépes bevételek, névjegykártyák, levelek, statikus adatok kinyomtatása vagy bármilyen megfelelő dokumentáció - ez a digitalizálás megszokott módja. Ezzel lehet szövegeket olyan formába hozni, hogy azok elektronikusan szerkeszthetők, kereshetők, kompaktabban tárolhatók, online megjeleníthetők legyenek, és olyan gépi folyamatokban fel lehessen használni ezeket, mint a kognitív számítástechnika, a gépi fordítás és a szövegbányászat. Az OCR a mintafelismerés, a mesterséges intelligencia és a számítógépes látás kutatási területe. A korai verziókat az egyes karakterek képével kellett betanítani, és egyszerre csak egy betűtípussal lehetett dolgozni. Jelenleg gyakoriak a fejlett rendszerek, amelyek nagyfokú felismerési pontosságot képesek előállítani a legtöbb betűtípus esetében, és számos digitális képfájlformátumot támogatnak bemenetként. Egyes rendszerek képesek formázott kimenet reprodukálására, amely szorosan megközelíti az eredeti oldal elrendezését, beleértve a képeket, oszlopokat és más nem szöveges összetevőket is.

Története[szerkesztés]

A korai optikai karakterfelismerés nyomon követhető a telegráfot magában foglaló technológiákkal és az olvasóeszközök létrehozásával a vakok számára. 1914-ben Emanuel Goldberg kifejlesztett egy olyan gépet, amely karaktereket olvasott, és szabványos távírókóddá alakította át.

Az 1920-as évek végén és az 1930-as években Emanuel Goldberg kifejlesztette azt, amit "statisztikai gépnek" nevezett a mikrofilm archívumok keresésére optikai kódfelismerő rendszer használatával. 1931-ben kapta meg az 1 838 389 számú amerikai egyesült államokbeli szabadalmat. A szabadalmat az IBM szerezte meg.

Az intelligens telefonok és az intelligens üvegek megjelenésével az OCR használható olyan internetkapcsolt mobileszköz-alkalmazásokban, amelyek az eszköz kamerájával rögzített szöveget szedik. Ezek az eszközök, amelyek nem rendelkeznek az operációs rendszerbe épített OCR funkciókkal, általában OCR API-t használnak az eszköz által rögzített és biztosított képfájl kibontásához. Az OCR API visszaadja a kivont szöveget, valamint a helyszínre vonatkozó információkat. az eredeti képben észlelt szöveget vissza a készülék alkalmazásához további feldolgozáshoz (például szöveges beszédhez) vagy megjelenítéshez.

Vakok és gyengénlátók[szerkesztés]

1974-ben Ray Kurzweil megkezdte a Kurzweil Computer Products, Inc. céget és folytatta az omni-font OCR fejlesztését, amely felismerte a szinte bármilyen betűtípussal kinyomtatott szöveget (a Kurzweil-t gyakran az omni-font OCR feltalálásával jóváhagyták, de a vállalatok, köztük a CompuScan, az 1960-as és 1970-es évek végén). Kurzweil úgy döntött, hogy ennek a technológiának a legjobb alkalmazása az lenne, hogy a vakoknak olvasógépet hozzon létre, amely lehetővé tenné, hogy a vakok hangosan olvashassanak számukra a számítógépet. Ez az eszköz két engedélyező technológia - a CCD síkágyas szkenner és a szöveg-beszéd szintetizátor - megalkotásához volt szükséges. 1976. január 13-án a sikeres készterméket a Kurzweil és a Vakok Országos Szövetségének vezetői által vezetett, széles körben jelentett sajtótájékoztatón jelentették be [szükséges] 1978-ban a Kurzweil Computer Products elkezdte az optikai karakterfelismerő számítógépes program. A LexisNexis az elsők között volt, és megvásárolta a programot, hogy jogi dokumentumokat és hírdokumentumokat töltsön be a feltörekvő online adatbázisaiba. Két évvel később Kurzweil eladta cégét a Xeroxnak, amely érdeklődést mutatott a papír-számítógépes szöveg konverzió további kereskedelmi forgalmazása iránt. A Xerox végül Scansoft-ként fojtotta le, amely összeolvadt a Nuance Communications-ba. [Idézet] Az AG Ramakrishnan által az Indiai Tudományos Intézet Orvosi intelligencia és nyelvtudományi laboratóriuma által vezetett kutatócsoport fejlesztette ki a PrintToBraille eszközt, egy nyílt forráskódú GUI frontendet, amely bármely OCR felhasználhatja a nyomtatott könyvek szkennelt képeinek Braille-könyvekre való konvertálására.

A 2000-es években az OCR szolgáltatást (WebOCR), felhőalapú számítógépes környezetben és mobil alkalmazásokban, mint például az idegen nyelvű jelek valós idejű fordítását okostelefonon tették elérhetővé.

Különböző kereskedelmi és nyílt forráskódú OCR rendszerek állnak rendelkezésre a leggyakoribb író rendszerek számára, beleértve a latin, cirill, arab, héber, indikátor, bengáli (Bangla), devanagari, tamil, kínai, japán és koreai karaktereket.

Alkalmazások[szerkesztés]

Az OCR-motorokat sokféle tartományspecifikus OCR-alkalmazásra fejlesztették ki, például számlákhoz, csekkekhez, bizonylatokhoz és jogi alkalmazásokhoz.

Ezek felhasználhatók:

  • Adatbevitel üzleti dokumentumokhoz, pl. csekk, útlevél, számla, bankszámlakivonat és átvétel
  • Automatikus számlapok felismerése
  • A repülőtereken az útlevél-elismerés és az információszedés
  • Az automatikus biztosítási dokumentumok kulcsfontosságú információk kivonása
  • Névjegykártya-információk kinyerése a névjegyzékbe
  • Gyorsabban készíthet nyomtatott dokumentumok szöveges változatait, pl. könyvolvasás a Project Gutenberg számára
  • A nyomtatott dokumentumok elektronikus képeit kereshetjük, pl. Google Könyvek
  • A kézírás valós idejű konvertálása számítógép vezérléséhez (tollszámítás)
  • A CAPTCHA anti-bot rendszerek legyőzése, bár ezek kifejezetten az OCR megakadályozására szolgálnak.
  • Segítő technológia vakok és gyengénlátók számára

Típusai[szerkesztés]

  • Optikai karakterfelismerés (OCR) - egyszerre írja be a gépelt szöveget, egy karakterjelet vagy karaktert.
  • Az optikai szófelismerés - a géppel írott szöveget, egy szóval egyidejűleg célozza (olyan nyelvek esetében, amelyek szóközként szóközt használnak). (Általában csak "OCR" -nek

hívják.)

  • Az intelligens karakterfelismerés (ICR) - a kézírásos nyomtatványok vagy a kurzív szövegek egy-egy karakterjelet vagy karaktert is egyidejűleg céloz, általában gépi tanulással.
  • Az intelligens szófelismerés (IWR) - a kézírásos nyomtatványra vagy a kurzív szövegre, egy szóval egyidejűleg is céloz. Ez különösen hasznos olyan nyelvek esetében, ahol a

karakterjelek nincsenek elkülönítve kurzív szkriptben. Az OCR általában "offline" folyamat, amely statikus dokumentumot elemez. A kézírás-mozgáselemzés használható a kézírás-felismerés beviteléhez. Ahelyett, hogy pusztán a karakterjelek és szavak alakjait használná, ez a technika képes rögzíteni mozgásokat, mint például a szegmensek rajzolásának sorrendjét, az irányt és a toll elhelyezésének és felemelésének mintáját. Ez a további információ pontosabbá teheti a végpontok közötti folyamatot. Ezt a technológiát „on-line karakterfelismerés”, „dinamikus karakterfelismerés”, „valós idejű karakterfelismerés” és „intelligens karakterfelismerés” néven is ismert.

Technikák[szerkesztés]

Előfeldolgozás[szerkesztés]

Az OCR szoftver gyakran "előfeldolgozza" a képeket, hogy javítsa a sikeres felismerés esélyeit. Technikák:

  • De-skew - Ha a dokumentumot szkennelés közben nem igazították, akkor lehet, hogy néhány fokot óramutató járásával megegyező irányban vagy az óramutató járásával ellentétes irányba kell billenteni annak érdekében, hogy a szövegsorok vízszintes vagy függőlegesek legyenek.
  • Despeckle - a pozitív és negatív foltok, simítóélek eltávolítása
  • Binarizáció - Egy kép színből vagy szürkeárnyalatosból fekete-fehérre konvertálható (úgynevezett "bináris kép", mert két szín van). A binarizáció feladata a szöveg (vagy bármely más kívánt képkomponens) háttérről való elválasztásának egyszerű módja. A binarizáció feladata maga is szükséges, mivel a legtöbb kereskedelmi felismerési algoritmus csak bináris képeken működik, mivel ez egyszerűbbnek bizonyul. Ezen túlmenően a binarizációs lépés hatékonysága jelentős mértékben befolyásolja a karakterfelismerő szakasz minőségét, és az adott bemeneti képtípushoz alkalmazott binárisítás kiválasztásakor gondos döntéseket hoznak; mivel a bináris eredmény eléréséhez használt binarizációs módszer minősége a bemeneti kép típusától függ (szkennelt dokumentum, jelenet szöveges kép, történelmi romlott dokumentum stb.).
  • Vonal eltávolítása - Tisztítja meg a nem glifikus dobozokat és vonalakat
  • Elrendezési elemzés vagy "zónázás" - Az oszlopokat, bekezdéseket, feliratokat stb. Különösen fontos a többoszlopos elrendezéseknél és táblázatoknál.
  • Vonal és szó észlelése - A szó- és karakterformák alapvonalát határozza meg, szükség esetén elválasztja a szavakat.
  • Írásfelismerés - A többnyelvű dokumentumokban az írás változhat a szavak szintjén, és ezért annak azonosítása szükséges, mielőtt a megfelelő OCR-t meg lehetne hívni az adott írásrendszer kezelésére.
  • Karakterizolálás vagy „szegmentálás” - A karakterenkénti OCR-nél a képelemek miatt több karaktert kell elkülöníteni; A tárgyak miatt több darabra bontott karaktereket kell csatlakoztatni.
  • A képarány és a méretarány normalizálása
  • A rögzített hangmagasságú betűtípusok szegmentálása viszonylag egyszerűen megvalósítható úgy, hogy a képet egy egységes rácshoz igazítja, amely alapján a függőleges rácsvonalak a legkevésbé gyakran keresztezik a fekete területeket. Az arányos betűtípusokhoz kifinomultabb technikákra van szükség, mivel a betűk közötti hely néha nagyobb lehet, mint a szavak között, és a függőleges vonalak több karaktert metszhetnek.

Karakterfelismerés[szerkesztés]

A központi OCR algoritmusnak két alapvető típusa létezik, amelyek rangsorolt listát hozhatnak létre a jelölt karakterekből.

A mátrix illesztése magában foglalja a kép és a tárolt karakterjel összehasonlítását pixel-pixel alapon; azt is nevezik "mintaillesztésnek", "mintázatfelismerésnek" vagy "kép korrelációnak". Ez a bemeneti glifin a kép többi részéből való helyes izolálásán alapul, és a tárolt glifin hasonló betűtípussal és ugyanazon a skálán található. Ez a technika a legjobban a géppel írott szöveggel működik, és nem működik jól, ha új betűtípusokat talál. Ez az a technika, amelyet a korai fizikai fotocella alapú OCR megvalósít, közvetlenül.

A jellemzők kivonása a karakterjeleket "vonásoknak, zárt hurkoknak, vonaliránynak és vonalak metszéspontjainak" "funkciókra" bontja. A kivonási jellemzők csökkentik az ábrázolást, és a felismerési folyamatot számszerűsítővé teszi. Ezeket a tulajdonságokat egy absztrakt vektorszerű ábrázolással hasonlítják össze, amely egy vagy több glifil prototípusra csökkenthető. A számítógépes látás jellemzői felismerésének általános technikái alkalmazhatók az ilyen típusú OCR-re, amelyet általában az "intelligens" kézírás-felismerés és valójában a legmodernebb OCR-szoftverek látnak. A legközelebbi szomszédos osztályozók, mint például a k-legközelebbi szomszédok algoritmusa, a tárolt karakterjel-jellemzőkkel rendelkező képtulajdonságok összehasonlítására és a legközelebbi mérkőzés kiválasztására szolgál.

Olyan szoftver, mint a Cuneiform és a Tesseract két karakteres megközelítést alkalmaz a karakterfelismerésre. A második áthaladást „adaptív felismerésnek” nevezzük, és az első lépésben nagy bizalommal felismert betűformákat használjuk, hogy jobban felismerjék a második betű többi betűjét. Ez előnyös a szokatlan betűtípusok vagy az alacsony minőségű szkennelés esetén, ahol a betűtípus torz (pl. Homályos vagy elhalványult).

Az OCR-eredmény a szabványos ALTO-formátumban, az Egyesült Államok Kongresszusi Könyvtárának fenntartott, dedikált XML-sémájában tárolható.

Az optikai karakterfelismerő szoftverek listáját lásd: Az optikai karakterfelismerő szoftver összehasonlítása.

Utómunka[szerkesztés]

Az OCR pontossága növelhető, ha a kimenetet egy lexikon korlátozza - egy olyan szavak listája, amelyek a dokumentumban megengedettek lehetnek. Ez lehet például az angol nyelvű szavak, vagy egy konkrétabb szókincs. mező. Ez a technika problémás lehet, ha a dokumentum nem a lexikonban lévő szavakat tartalmaz, mint a főnevek. A Tesseract a szótár pontosabbá tételéhez használja a szótárszegmentálási lépést.

A kimeneti adatfolyam lehet egy egyszerű szöveges adatfolyam vagy karakterfájl, de a kifinomultabb OCR-rendszerek megőrzik az oldal eredeti elrendezését, és például olyan megjegyzést tartalmazó PDF-t készítenek, amely tartalmazza az oldal eredeti képét és egy kereshető szöveges megjelenítést .

A "közel-szomszédos elemzés" használhatja az előfordulási gyakoriságokat a hibák kijavítására, megjegyezve, hogy bizonyos szavakat gyakran együtt látnak. Például: "Washington, D.C." általában sokkal gyakrabban fordul elő angolul, mint a "Washington DOC".

A szkennelt nyelv nyelvtanának ismerete is segíthet annak meghatározásában, hogy egy szó valószínűleg egy ige vagy főnév, ami nagyobb pontosságot tesz lehetővé.

Az OCR utófeldolgozás során a Levenshtein Distance algoritmust is használták az OCR API eredményeinek további optimalizálására.

Alkalmazás-specifikus optimalizációk[szerkesztés]

Az elmúlt években [amikor?] A fő OCR-technológiai szolgáltatók elkezdték az OCR-rendszerek csípését, hogy hatékonyabban kezelhessék az adott típusú inputokat. Az alkalmazásspecifikus lexikonon kívül a jobb teljesítményt az üzleti szabályok, a standard kifejezések, a [szükséges tisztítás] vagy a színes képekben található gazdag információk figyelembevételével lehet elérni. Ezt a stratégiát "Alkalmazásorientált OCR" vagy "Testreszabott OCR" -nek nevezik, és a rendszámtáblák, számlák, képernyőképek, személyi igazolványok, vezetői engedélyek és gépjárműgyártás OCR-jére alkalmazzák.

A New York Times az OCR technológiát szabadalmaztatott eszközhöz igazította, amely lehetővé teszi, hogy interaktív hírcsapatuk felgyorsítsa az átvizsgálandó dokumentumok feldolgozását. Megjegyzik, hogy lehetővé teszi számukra, hogy feldolgozzák az 5,400 oldal / óra mennyiséget, amikor a riportereknek előkészítik a tartalmat.

Lehetséges megoldások[szerkesztés]

A karakterfelismerés problémájának megoldására több módszer is van, mint a jobb OCR algoritmusok.

A jobb bemenet kényszerítése[szerkesztés]

Az olyan speciális betűkészletek, mint az OCR-A, OCR-B vagy MICR betűtípusok, pontosan meghatározott méretezéssel, távolságokkal és megkülönböztető karakterformákkal, nagyobb pontosságot biztosítanak a banki csekk feldolgozása során a transzkripció során. Ironikus azonban, hogy számos kiemelkedő OCR-motort úgy terveztek meg, hogy népszerű betűkészletekben, például Arialban vagy Times New Romanben rögzítsék a szöveget, és nem képesek olyan szövegeket rögzíteni ezekben a betűtípusokban, amelyek speciálisak és sok más, mint a népszerűen használt betűtípusok. Mivel a Google Tesseract képezheti az új betűtípusok felismerését, felismeri az OCR-A, OCR-B és MICR betűkészleteket.

A "Comb mezők" előre kinyomtatott dobozok, amelyek arra ösztönzik az embereket, hogy jobban olvashatóan írjanak - egy gif / doboz. Ezeket gyakran egy „lemorzsolódó színben” nyomtatják, amelyet az OCR rendszer könnyen eltávolíthat.

A Palm OS egy speciális karakterkészletet használt, amelyet "Graffiti" néven ismertek, amelyek hasonlóak a nyomtatott angol karakterekhez, de egyszerűsítették vagy módosították, hogy könnyebben felismerhessék a platform számszerűen korlátozott hardverén. A felhasználóknak meg kell tanulniuk, hogyan írják ezeket a speciális karaktereket.

A zónaalapú OCR korlátozza a képet a dokumentum egy bizonyos részére. Ezt gyakran "sablon OCR" -nek nevezik.

Az embereknek a karakterfelismerés elvégzéséhez történő tömörítése gyorsan feldolgozhat olyan képeket, mint a számítógéppel vezérelt OCR, de nagyobb pontossággal képes felismerni a képeket, mint a számítógépek. A gyakorlati rendszerek közé tartozik az Amazon Mechanikus Turk és a reCAPTCHA. A Finn Nemzeti Könyvtár online felhasználói felületet fejlesztett ki a szabványosított ALTO-formátumú OCR-szövegek kijavítására. A szkennelés nem arra is alkalmas, hogy a karakterfelismerést közvetlenül végezze el, hanem a szoftverfejlesztőknek képfeldolgozási algoritmusok kifejlesztésére hívják fel, például a rangsorú versenyek.