Hogyan működik: FineReader. Szövegfelismerő rendszerek és fordítóprogramok

18.09.2020 Tanácsot

Optikai felismerési technológiák (az OCR fogalma és alkalmazási területei, optikai felismerő algoritmusok, OCR jellemzők és programok, intelligens karakterfelismerés koncepciója, kézírásos szövegfelismerő rendszerek)

OCR (optikai karakterfelismerés)- technológia a szöveg grafikus képének számítógépes szöveggé konvertálására grafikus mintafelismerő algoritmus segítségével.

OCR használatos:

1) szövegek szkennelésekor és fényképezésekor.

2) nagy mennyiségű szöveges információ számítógépbe történő beviteléhez (100 vagy több oldal naponta).

3) szöveges információk számítógépbe történő kézírásos beviteléhez.

4) az egyik formátum konvertálása a másikba.

Három fő karakterfelismerő technológia népszerű:

Sablon (a bemeneti képben az egyes karakterek raszterképei kerülnek kiválasztásra, összehasonlítva az adatbázisban elérhető összes sablonnal, a bemeneti képtől a legkevesebb ponttal rendelkező sablon kerül kiválasztásra. A sablonrendszerek könnyebben megvalósíthatók, ellenállnak a képhibáknak, nagy sebességgel dolgozzák fel a bemeneti adatokat, de csak azokat a betűtípusokat ismerik fel megbízhatóan, amelyek mintáját ismerik),

Strukturális (az objektumot gráfként írjuk le, melynek csomópontjai a bemeneti objektum elemei, az ívek pedig a köztük lévő térbeli kapcsolatok. A strukturális rendszerek nagyon érzékenyek az alkotóelemeket sértő grafikai képhibákra. Ezekre a rendszerekre , ellentétben a sablonokkal és szolgáltatásokkal, még mindig nem készültek hatékony automatizált képzési eljárások),

Szökőkút transzformáció (a sablon és a szerkezeti rendszerek előnyeit egyesíti. Bármely észlelt objektumot egy egésznek tekintünk, amely bizonyos kapcsolatok által összekapcsolt részekből áll).

OCR jellemzők:

    hibák száma szövegbevitelkor. Az elfogadható érték oldalanként 10 hiba.

    követelmények a forrásszöveg minőségével szemben.

    a helyesírási hibák javításának képessége a beviteli minőség javítása érdekében.

    különböző nyelvek támogatása.

    a nyomtatott betűtípusok és a kézzel írt szövegek sajátosságaira való tanulás és ráhangolódás képessége.

    felismerési sebesség. Kívánatos, hogy ez összemérhető legyen azzal az idővel, amelybe a dokumentum szkenner általi beírása szükséges.

ocr programok:

A leghíresebb csomagok a FineReader, CuneiForm, OmniPage, TextBridge.

ABBYY FineReader- OCR szövegek, táblázatok, űrlapok, kérdőívek stb. automatikus beviteléhez.

ADRT (Adaptive Document Recognition Technology), adaptív dokumentumfelismerő technológia IDR (Intelligent Document Recognition) szinten.

ABBYY névjegykártya-olvasó - mobil alkalmazás névjegykártya-felismeréshez, amely automatikusan felismeri az információkat a névjegykártya fényképéről, új névjegyet hoz létre, beírja az elérhetőségeket és további információkat a címjegyzék kötelező mezőibe.

    ICR (Intelligens karakterfelismerés) - űrlapok feldolgozására szolgáló rendszerek, amelyek geometriai minták alapján biztosítanak adatbevitelt dokumentumokból

Bármely modern ember, aki időről időre állandóan dokumentumokkal dolgozik, felteszi magának egy égető kérdést: minek gépelni újra szöveget, ha valaki már megtette korábban? Sok felhasználó számára egy ilyen rendszeresen ismétlődő feladat irritációt és neheztelést okoz, amiért értelmetlenül meg kell másolnia valaki más munkáját. A szoftverfejlesztők természetesen nem maradhattak közömbösek ezekkel szemben tipikus helyzet, amelynek felszámolása is jelentős haszonnal kecsegtetett. Így ismerik az Oroszországban ismert rendszereket optikai szövegfelismerő rendszerek, és az angol nyelvű országokban - mint OCR.

Mára az OCR szoftverek alkalmazási köre jelentősen kibővült: eleinte főként a pénzügyi és bankszektorban használták, konkrét automatizálási feladatokat oldottak meg személyes és felmérési adatok beviteléhez, de ma már mindenhol OCR programokat alkalmaznak, hogy bármilyen dokumentummal dolgozzanak. Nehéz túlbecsülni az OCR-rendszerek jelentőségét, amelyek az irodai és az otthoni számítógépek számára egyaránt szükséges szoftverekké váltak.

Nézzük meg röviden mindegyiket fő OCR rendszerek a piaconés kiemeljük ezek főbb és jellemző vonásait.

Mielőtt elkezdenénk az OCR-rendszerek vizsgálatát, a további megfontolás megkönnyítése érdekében adjunk meg legalább egy minimális osztályozást. Tovább Ebben a pillanatban kioszt OCR rendszerek (Optikai karakter felismerés OCR) is ICR rendszerek(Intelligent Character Recognition, ICR). A köztük lévő különbségek lényegét némileg leegyszerűsítve úgy tekinthetjük, hogy az ICR rendszerek a következő generációt jelentik az OCR rendszerek fejlesztésében Az ICR sokkal aktívabban és komolyabban használja ki a mesterséges intelligencia képességeit, különösen az ICR rendszereket használják gyakran felismeri a kézzel írt szövegeket, a dekoratív instabil betűtípusokat, és a legszembetűnőbb példaként ugyanezen rendszerek leküzdését a spamrobotok elleni védelem érdekében - captcha ( captcha). A szövegfelismerés minőségének harmadik, még mindig csak elméleti szintje az IWR(Intelligens szófelismerés, IWR), amelyben nem egyes karakterek/pontok kerülnek beolvasásra és felismerésre, hanem teljes koherens kifejezéseket olvasnak és ismernek fel.

Számos rendszer létezik, amelyek besorolják magukat ICR-be. Ez mindenekelőtt , FineReader, OmniPage Professional, Readiris Corporate, Type Reader Desktop. Hasonlítsuk össze őket, és nézzük meg a lehetséges alternatívákat.

Híres hazai termékek

Külföldi termékek

Három másik jól ismert termék, amelyek a képviselők teljes hiánya és a csekély marketing miatt kevés forgalmazásban részesültek a FÁK-ban ezeken a hatalmas cirill területeken, de nyugaton ismertek, és legalább rövid említésre méltóak, már csak azért is, mert ICR-osztályú termékként is pozícionálják magukat. A nem cirill felismerés résében könnyedén felveszik a versenyt még a piacvezetővel - a FineReaderrel is.

Közülük az első az I.R.I.S. cég csomagja. A Group egy nagyon komoly OCR termék. Elég az hozzá, hogy 2006 szeptembere óta az I.R.I.S. cég technológiája. licenccel és Adobe rendszertermékekben használatos. Az Adobe által végzett belső tesztelés szerint ez a technológia bizonyult a legsikeresebbnek a piacon.

Meg kell jegyezni, hogy ez sikeres harmadik féltől származó megoldás„eltemette” a saját Adobe fejlesztését – egy natív OCR motort –, amelyet hosszú éveken keresztül a megoldás részeként szállítottak, és most az új Adobe OCR különállóként elérhető más népszerű Acrobat termékekben. Legújabb verzió A Readiris v12 támogatja a Windows és a MacOS X összes verzióját, és összesen több mint 120 nyelvet támogat.

Egy amerikai cég következő jelentős fejlesztése a . Ezt a motort a Las Vegas-i Nevadai Egyetemmel szoros együttműködésben fejlesztették ki. Ez a motor egyszerre sokféle formában terjed világszerte, kezdve a nagy nyugati dokumentumkezelő rendszerekbe való integrálódásától (Document Imaging Management, DIM) és az amerikai űrlapok automatikus feldolgozására szolgáló programokban való részvételig (Forms Processing S ervices, FPS).

Például 2008-ban az újság Los Angeles Times A világ vezető OCR-jének saját tesztelése után a TypeReadert választotta belső használatra. Ezt szeretném megjegyezni ez a termék hagyományos asztali verzióban (Windows, MacOS, Linux), vállalati webszolgáltatásként és felhőkölcsönző alkalmazás formájában is elérhető, amely bármilyen kötet felismert szöveget képes nagyon rövid időn belül feldolgozni.

Ingyenes OCR megoldások

A Google is fejleszt egy érdekes saját motort. egy eredetileg zárt kereskedelmi OCR motor, amelyet a Hewlett-Packard hozott létre, és 1985 és 1995 között dolgozott rajta. De miután a projektet lezárták, és a fejlesztés leállt, a HP 2005-ben nyílt forráskódúként kiadta a kódját. A fejlesztést azonnal felkapta a Google, és az ingyenes Apache licenc alatt licencelte termékét. Jelenleg a Tesseract az egyik legpontosabb és legjobb minőségű ingyenes motornak számít.

Világosan meg kell értenünk, hogy a Tesseract egy klasszikus OCR a „nyers” szövegfeldolgozáshoz, pl. ehhez nincs grafikus shell kényelmes vezérlés folyamat, sem sok más további funkciókat. Ez egy szokásos konzol segédprogram (vannak Windows, MacOS, Linux verziók), amelynek bemenete egy kép TIFF formátumban, a Tesseract kimenete pedig „tiszta szöveg”. Itt azonban nem történik szövegelrendezés vagy tervezési stílus elemzése, ez egy felismerési folyamat a legegyszerűbb formájában.

A munka kényelme érdekében grafikus frontendként számos segédprogram használható ezzel a motorral, például a jól ismert ill. De még mindig szeretném megjegyezni, hogy az ingyenes C uneiForm/OpenOCR minősége valamivel felülmúlja a Tesseractét, bár sok tekintetben teljesen hasonló termékekről van szó.

Az ingyenes Tesseract mellett ezt is érdemes megemlíteni. A SimpleOCR egy nagyon méltó megoldás az OCR-hez, és bár 2008 óta nem fejlesztették, legalább semmiben sem marad el a Tesseract-tól. A termék nem kereskedelmi használatra ingyenes, és a Windows összes verziójához elérhető. Az egyik erős hátránya, hogy csak két nyelvet támogat: az angolt és a franciát.

A hagyományos asztali ingyenes megoldások mellett számos alternatíva létezik online szolgáltatások, amelyek ingyenes OCR-felismerési minősége lényegesen alacsonyabb, mint kereskedelmi társaiké. Az üzleti problémák (és más komoly mindennapi feladatok) sikeres megoldásához jobb, ha a kereskedelmi ICR-osztályú rendszerekre összpontosítunk, amelyekről a cikk első felében volt szó.

A módszereket szeretném összehasonlítani, ill előadás, miért egy bizonyosat választottunk, de gyakorlatilag ez nehéz. A különböző képeken bizonyos módszereknek megvannak a maga előnyei és hátrányai, "átlagosan" legjobb megoldás sem, ezért az Imago OCR-ben egy halom szűrőt terveztünk, amelyek mindegyike bizonyos esetekben használható, és az eredmény kiválasztása a minőségi mérőszámtól függ.

A módszer előnyei a következők:

  • Meglehetősen nagy sebesség;
  • Az eredmény paraméterezhető minősége;
  • Nincs elmosódás munka közben, és ennek eredményeként „érzékenység” a részletekre;
  • A fő érdekesség pedig a helyi fényszint normalizálása.
Az utolsó tulajdonságot tökéletesen illusztrálja a cikkből származó kép, és fontos a felismeréshez, mivel a tárgyak megvilágítása lehetséges egyenetlen a felvétel során (egy papírdarab a fényforrás felé fordítva, hogy a fény egyenetlenül esik):

Az algoritmus felületes leírása:

  • Helyi küszöb képszűrés (laplaci küszöb) T küszöbértékkel;
  • Az eredményül kapott kép diszkrét koszinusz transzformációja;
  • Nagyfrekvenciás karakterisztikák szűrése és speciális egyenlet megoldása alacsony és közepes frekvenciákra (Retinex egyenlet);
  • Inverz diszkrét koszinusz transzformáció.
Maga az algoritmus meglehetősen érzékeny a T paraméterre, de ennek egy adaptációját használtuk:
  • Kiszámítjuk a Retinex(T) értéket, ha T=1,2,4,8
  • Képpontonkénti medián szűrés végrehajtása a Retinex eredmények között
Hogyan segíthet az OpenCV: van egy kész függvény a diszkrét koszinusz transzformáció kiszámításához:
void dct(const Mat& src, Mat& dst, int flags=0); // flags = DCT_INVERSE az inverz DCT-hez
És sebességben sem működik rosszabbul, mint a libfftw-ből származó hasonló, bár ezt általános esetben nem állíthatom (Core i5-ön, Core Duo-n tesztelve).

Az eredeti kép esetében a fenti módszer elég szép eredményt ad:

Most nagyjából megértjük, mit kell tennie az előszűrésnek, és már van egy paraméterünk, amely változhat a visszacsatolási mechanizmusban: a használt szűrő indexe.

Itt és tovább: igazából persze sok más paraméter is van (például azok a „varázslatos” T = 1,2,4,8), de hogy ne zavarjunk, ezekről most nem beszélünk. Sok van belőlük, említésük a gépi tanulásról szóló részben fog megjelenni, de a konkrétumokat mellőzöm, hogy ne terheljük túl a prezentációt a paraméterek számával.

Raszterszint: binarizálás

A következő lépés egy fekete-fehér kép készítése, ahol a fekete a „festék” jelenlétének, a fehér pedig a hiányának felel meg. Ez azért van így, mert számos algoritmus, például egy objektum kontúrjának meghatározása, nem működik féltónusokkal. Az egyik legtöbb egyszerű módokon a binarizálás küszöbszűrés (küszöbértéknek a t-t választjuk, minden t-nél nagyobb intenzitású pixel a háttér, kevesebb - „festés”), de alacsony alkalmazkodóképessége miatt gyakrabban használják az otsu küszöböt vagy az adaptív gauss küszöböt .

A fejlettebb módszerek adaptálhatósága ellenére továbbra is tartalmaznak küszöbértékeket, amelyek meghatározzák a kimeneti információ „mennyiségét”. Szigorúbb küszöbök esetén egyes elemek elveszhetnek, a „puha” küszöböknél „zaj” keletkezhet.

Erős küszöb Gyenge küszöbérték

Megpróbálhatja pontosan kitalálni az egyes képek küszöbértékeit, de mi más utat választottunk - a kapott képek közötti korrelációt használtuk különböző adaptív binarizációs küszöbértékekkel:
  • Erős és gyenge binarizációt vesszük figyelembe (adott t1 és t2 küszöbértékekkel);
  • A képeket pixelenként összefüggő régiókra osztottuk ();
  • Eltávolítunk minden olyan „gyenge” szegmenst, amely a megfelelő erős szegmensekkel kisebb, mint a megadott (cratio);
  • Eltávolítjuk az összes alacsony sűrűségű „gyenge” szegmenst (a fekete/fehér képpontok aránya kisebb, mint a megadott bwratio);
  • A fennmaradó „gyenge” szegmensek binarizálás eredménye.
Ennek eredményeként A legtöbb esetben zajmentes és részletveszteség nélküli képet kapunk:

A leírt megoldás furcsának tűnhet annak fényében, hogy egy paramétertől akartunk „megszabadulni”, de egy csomó másikat bevezettünk, de a lényeg az, hogy a binarizálás helyessége ma már biztosított, ha az „igazi” a binarizációs küszöb a választott t1 és t2 közötti intervallumba esik (bár ezt az intervallumot nem tudjuk „végtelenül” növelni, de a t1 és t2 közötti különbségnek is van korlátja).

Az ötlet nagyon életképes, ha különféle küszöbszűrési módszerekkel használjuk, és az OpenCV „segített” a beépített adaptív szűrési funkciókkal:
cv::adaptiveThreshold(kép, erősBinarizált, 255, cv::ADAPTIVE_THRESH_GAUSSIAN_C, CV_THRESH_BINARY, strongBinarizeKernelSize, strongBinarizeTreshold); cv::threshold(image, otsuBinarized, otsuThresholdValue, 255, cv::THRESH_OTSU);
Ha az eredményül kapott kép egyáltalán nem tartalmaz szegmenseket, akkor valószínűleg szűrési hiba van, és érdemes egy másik előszűrőt megfontolni (“ Visszacsatolás"; „azok a kék nyilak a motorszerkezet képén).

Primitív szint: vektorizáció

A felismerési folyamat következő lépése a pixelhalmazok (szegmensek) primitívekké alakítása. A primitívek lehetnek figurák - kör, szegmenskészlet, téglalap (a primitívek konkrét halmaza a megoldandó problémától függ) vagy szimbólumok.

Bár nem tudjuk, hogy melyik osztályhoz rendeljük az objektumokat, megpróbáljuk vektorizálni különböző utak. Ugyanaz a pixelkészlet sikeresen vektorizálható szegmensek halmazaként és karakterként is, például „N”, „I”. Vagy egy kör és egy szimbólum - „O”. Ebben a szakaszban nem kell megbízhatóan tudnunk, hogy az objektum milyen osztályú, de rendelkeznünk kell egy bizonyos metrikával, amely az objektum és a vektorizáció hasonlóságát mutatja egy bizonyos osztályban. Ezt általában felismerési függvények halmazával oldják meg.

Például egy pixelhalmazhoz a következő objektumok halmazát kapjuk (ne gondoljunk konkrét metrikaszámokra, ezek azt jelentik, hogy mit akarunk a felismerési folyamattól, de önmagukban még nincs értelme ):

  • vektorizálás a formában karakter "H" 0,1 metrikus (távolság) értékkel (talán ez a H);
  • vektorizálás a formában "R" karakter 4,93-as metrikus értékkel (nem valószínű, de lehetséges, hogy ez az R);
  • vektorizálás három szegmens formájában"|", "-", "|" 0,12 metrikus értékkel (lehetséges, hogy ez három szegmens);
  • vektorizálás mint téglalap oldalméretekkel x, y 45,4 metrikus értékkel (egyáltalán nem úgy néz ki, mint egy téglalap);
  • vektorizálás mint kör metrikus értékkel +inf (garantáltan nem kör);
A vektorizációk listájának elkészítéséhez minden egyes osztályhoz felismerési primitíveket kell megvalósítani.
Szegmenskészlet felismerése
A raszteres területet általában a következőképpen vektorizálják szegmensek halmazává:

Az OpenCV-ben nincs kész vékonyító szűrő, de egyáltalán nem nehéz megvalósítani. Szegmensekre (decorner) is felosztás, de ez teljesen triviális: kidobunk a területről minden olyan pontot, amelynek kettőnél több szomszédja van. De a pontok közelítése szegmensek halmazaként jelen van az OpenCV-ben, és ezt használtuk:
cv::approxPolyDP(görbe, kb.Görbe, kbEps, zárt); // a görbe közelítése -> kb
Fontos paraméter a közelítési tűrés ( kbEps), növeléskor nagyobb számú szegmenst kapunk, csökkentve pedig durvább közelítést, és ennek következtében nagyobb metrikus értéket. Hogyan Jobbőt választani?

Először is, ez elég erősen függ az átlagos vonalvastagságtól (intuitív módon - minél nagyobb a vonalvastagság, annál kevesebb a részletezés; egy éles ceruzával rajzolt rajz sokkal részletesebb lehet, mint a markerrel rajzolt), ezt használtuk megvalósításunk:
kbEps = átlagos Vonalvastagság * magicLineVectorizationFactor;
Másodszor, figyelembe véve az objektumosztályozás fent leírt megközelítését, meg lehet próbálni különböző kbEps-vel rendelkező szegmenseket vektorizálni (egy bizonyos lépéssel), és már a logikai struktúra elemzésének szakaszában kiválasztani a „megfelelőbbet”.

Kör felismerés
Nagyon egyszerű:
  • Keressük a kör középpontját (a pontok koordinátáinak átlagát) - (x,y);
  • Keressük a sugarat (a pontok átlagos távolsága a középponttól) - r;
  • Kiszámítjuk a hibát: az (x,y) középpontú (x,y) és r sugarú körhöz mért átlagos távolság pontok szerint és vastagság átlagVonalvastagság;
  • Kiszámítjuk a további büntetést a körtörésekért: magicCirclePenalty * (a szünetek %-a).
Kiválasztás után magicCirclePenalty Egyáltalán nem volt probléma ezzel a kóddal, valamint a hasonló téglalap felismeréssel.
Karakter felismerés
A sokkal érdekesebb része az, hogy... Ez kihívást jelent – ​​nincs egyetlen olyan algoritmus sem, amely a „legoptimálisabb” felismerési teljesítményt állítaná be. Abszolút vannak egyszerű módszerek, alapján, vannak bonyolultabbak is, például a használata, de egyik sem garantálja a „jó” felismerési minőséget.

Ezért teljesen természetesnek tűnt, hogy több alrendszert használunk a karakterfelismeréshez és az összesített eredmény kiválasztásához: ha p1 = az a metrikaérték, amelyet az 1. algoritmus A területet s karakterként ismer fel, és p2 = az a metrikaérték, amelyet a 2. algoritmus Az A területet s karakterként ismeri fel, ekkor p = f(p1,p2) végső érték. Két olyan algoritmust választottunk ki, amelyeknek kényelmesen összehasonlítható értékei vannak, Magassebességés kellő stabilitás:

  • felismerés Fourier-leírók alapján;
  • pontok négyzetes eltérésének maszkjai.
Karakterfelismerés Fourier-leírók alapján
Készítmény:
  • Egy tárgy külső kontúrjának meghatározása;
  • Kontúrpontok (x;y) koordinátáinak átalakítása x+iy komplex számokká;
  • E számok halmazának diszkrét Fourier transzformációja;
  • A spektrum nagyfrekvenciás részének elutasítása.
Az inverz Fourier-transzformáció végrehajtásakor egy olyan ponthalmazt kapunk, amely adott közelítési fok mellett írja le az eredeti ábrát (N a hátralévő együtthatók száma):

A „felismerés” művelet a felismert régió Fourier-leíróinak kiszámításából és a támogatott karakterekért felelős előre meghatározott halmazokkal történő összehasonlításából áll. Ahhoz, hogy két leírókészletből metrikus értéket kapjunk, el kell végezni a konvolúciónak nevezett műveletet: d = sum((d1[i]-d2[i])*w[i], i=1,N), ahol d1 és d2 a Fourier leíró halmazai, w pedig az egyes együtthatók súlyvektora (gépi tanulással kaptuk meg). A konvolúció értéke invariáns az összehasonlított szimbólumok skálájához képest. Ezenkívül a funkció ellenáll a nagyfrekvenciás zajnak (véletlenszerű pixelek, amelyek nem változtatják meg az ábra „geometriáját”).

Az OpenCV nagyon hasznos ennek a módszernek a megvalósításában; Van egy kész funkció az objektumok külső kontúrjainak megszerzésére:
cv::findContours(kép, tárhely, CV_RETR_EXTERNAL);
És van egy függvény a diszkrét Fourier-transzformáció kiszámítására:
cv::dft(src, dst);
Már csak a konvolúciós és köztes típusú konverziók végrehajtása van hátra, elmentve egy sor leírót.

A módszer jó a kézzel írt karakterekhez (talán azért, mert mások gyengébb minőségű eredményeket adnak ellene), de gyengén alkalmas kis felbontású karakterekre, mivel a nagyfrekvenciás zajok, vagyis az „extra” képpontok nagyokká válnak. a teljes képre, és elkezdjük befolyásolni azokat az együtthatókat, amelyeket nem vetünk el. Megpróbálhatja csökkenteni az összehasonlítandó együtthatók számát, de ekkor nehezebb lesz választani a hasonló kis szimbólumok közül. Így újabb felismerési módszert vezettek be.

Karakterfelismerés négyzetes eltérési maszkok alapján
Ez egy meglehetősen intuitív megoldás, amely, mint kiderült, kiválóan működik bármilyen felbontású nyomtatott karakter esetén; ha van két azonos felbontású fekete-fehér képünk, akkor megtanulhatjuk pixelenként összehasonlítani őket.

Minden egyes képpont 1. pontja esetén a büntetés kiszámítása: minimális távolság az azonos színű 2. képponthoz. Ennek megfelelően a mérőszám egyszerűen a bírságok összege normalizáló együtthatóval. Ez a módszer sokkal stabilabb lesz az alacsony felbontású, zajos képeken - egy n oldalhosszúságú képnél a legfeljebb k százalékos egyedi pixelek a legrosszabb esetben nem „rontják el” a metrikát k * n-nél nagyobb mértékben, gyakorlati esetekben pedig legfeljebb k -val, mert a legtöbb esetben a kép „helyes” pixeleivel szomszédosak.

A módszer hátránya a bemutatásban, ahogy leírtam, az lesz alacsony sebesség munka. Minden pixelre (O(n 2)) kiszámítjuk a minimális távolságot egy másik kép azonos színű pixeljétől (O(n 2)), ami O(n 4) értéket ad.

De ez nagyon könnyen kezelhető előkalkulációval: építsünk két maszkot büntetőfehér(x,y) és büntetőfekete(x,y), amelyek eltárolják a büntetések előre kiszámított értékeit arra a tényre, hogy a pixel (x, y) fehérnek vagy feketének bizonyul. Ekkor a „felismerés” (vagyis a metrika kiszámítása) folyamata beleillik O(n 2-be):
for (int y = 0; y< img.cols; y++) { for (int x = 0; x < img.rows; x++) { penalty += (image(y,x) == BLACK) ? penalty_black(y,x) : penalty_white(y,x); } }
Már csak egy maszkot kell tárolni (penalty_white, büntető_fekete) minden egyes karakter elírásához, és a felismerési folyamat során válogatni ezek között. Az OpenCV gyakorlatilag nem segít nekünk ennek az algoritmusnak a megvalósításában, de triviális. De ahogy már mondtam, az összehasonlított képeknek azonos felbontásúaknak kell lenniük, így az egyik másikká konvertálásához szükség lehet egy funkcióra:
cv::resize(temp, temp, cv::Size(size_x, size_y), 0,0, 0,0);
Ha visszatérünk a karakterfelismerés általános folyamatához, akkor mindkét módszer futtatása eredményeként a metrikaértékek táblázatát kapjuk:

A felismerési érték nem egy elem, hanem a teljes táblázat, amelyből tudjuk, hogy a legnagyobb valószínűséggel a „C” karakter, de lehet, hogy „0”, vagy „6” (vagy „O”, vagy „ c”, amely nem fért ki a képernyőre). És ha ez egy zárójel, akkor valószínűbb, hogy nyitó, mint záró. De egyelőre még azt sem tudjuk, hogy ez szimbólum-e egyáltalán...

Primitív szint: elkülönülés

Ha a szupererős (kvantum?) számítógépek ideális világában élnénk, akkor valószínűleg erre a lépésre nem lenne szükség: van néhány objektum gyűjteményünk, amelyek mindegyikéhez van egy „valószínűségi” táblázat, amely meghatározza, hogy pontosan miről is van szó. Minden objektumnál végignézzük a táblázat összes elemét, felállítunk egy logikai struktúrát, és az érvényesek közül kiválasztjuk a legvalószínűbbet (az egyes objektumok mérőszámainak összege alapján). Nem nagy ügy, kivéve talán az algoritmus exponenciális összetettségét.

De a gyakorlatban általában meg kell határozni az alapértelmezett objektumtípust. Vagyis válasszon valamilyen kész interpretációt a képen lévő objektumokról, majd esetleg változtassa meg kissé. Miért nem tudtuk kiválasztani az objektumok típusát az előző lépésben (vektorizálás)? Nem rendelkeztünk elegendő statisztikai információval minden objektumról, és ha egy adott pixelkészletet a teljes képtől elkülönítve értelmezünk, akkor a jelentésének megbízható meghatározása problémássá válik.

Ez az egyik legfontosabb kérdés a szerkezeti információk felismerésében. Az embernek ezzel minden sokkal jobb, mint egy gépnek, mert egyszerűen nem tudja, hogyan kell egyenként látni a pixeleket. És az építési csalódás egyik kezdeti szakasza OCR rendszerek kísérlet egy emberinek tűnő megközelítés „lépésről lépésre” algoritmizálására, és így nem kielégítő eredményeket ér el. Úgy tűnik, mostanság egy kicsit javítani kellene a primitív felismerő algoritmusokon, hogy „ne hibázzanak”, és jobb eredményeket érjünk el, de mindig van néhány kép, ami „megtör” minden logikát.

És hát megkérdezzük az embert, hogy mi az...
Persze ez csak egy görbe vonal. De ha szimbólumokként vagy egyenes szakaszok halmazaként kell besorolnia, akkor mi az? Akkor valószínűleg vagy az „l” betű, vagy két szögben elhelyezkedő egyenes (a szöget egyszerűen lekerekítik). De hogyan válasszuk ki a megfelelő értelmezést? A gép az előző lépésben meg tudta volna oldani a hozzávetőleges problémát, és 1/2 valószínűséggel helyesen megoldotta volna. De az 1/2 a szerkezeti információk felismerési rendszerének teljes kudarca, egyszerűen elrontjuk a struktúrát, nem megy át az érvényesítésen, ki kell javítanunk a „hibákat”, amelyek nagy valószínűséggel nem esnek egybe a valódival probléma. Bármit megkaphatunk.

De ha megnézzük a szomszédos objektumokat, sok minden kiderül:

És még ha soha nem is találkozott szerkezeti képletekkel a kémiában, valamiért ebből a képből nyilvánvalóvá válik, hogy ez egy kapcsolat (egy vonal, egy egyenes vagy két egyenes lekerekített sarkú). Látunk egy képet három szimbólumból, látjuk, milyen ügyesek, megbecsüljük hozzávetőleges méretüket, és megértjük, hogy a „kerekített dolog” nem szimbólum.

Van még egy lehetőség:

Láttunk egy abszolút egyenes vonalat, láttunk mellette egy „ideális” szimbólumot, a tárgyunk hasonló méretű, bár kevésbé jól megrajzolt. Itt nehezebb biztosat mondani, de ha tudjuk, hogy a kapcsolatoknak össze kell kötniük az objektumokat, és nincs semmi az objektumunk vége felé, akkor nem valószínű, hogy kapcsolat lenne. És ha emlékszünk arra, hogy a „Cl” (klór) a mi szimbólumaink nagyon valószínű kombinációja tárgykörben, akkor igen, továbbra is az „l” szimbólum.

Itt gyakorlatilag szabad stílusban felvázoltam az elválasztási algoritmus vázlatát. És most formálisabban.

Küszöb rész:

  • Ha egy objektum metrikatáblázatában csak egy érték „jó” (közel nulla), és az összes többi legalább egy konstans C-vel különbözik, akkor azt a megfelelő osztállyal jelöljük.
Ez nagyszerű, de nem mindig történik meg.

A többi objektum esetében statisztikai elemzést végzünk:

  • Az átlagos méret meghatározása lehetséges szimbólumok és az attól való eltérések;
  • Átlagos hossz meghatározása lehetséges vonalak, attól való eltérés;
  • Az átlagos görbület meghatározása lehetséges vonalak;
  • A vonalak és szimbólumok átlagos vastagságának meghatározása;
  • És egyéb statisztikai kritériumok, például hu momentumok (amit az OpenCV egyébként tud számolni).
Még mindig nem tudjuk minden objektumnak, hogy milyen osztálya van, csak megnézzük a mérőszámok táblázatát, és kiválasztjuk azt az objektumot, amely értékében a legközelebb áll hozzá – ezt értem a fogalom alatt. lehetséges".

Ezután építünk egy osztályozási fát, melynek csomópontjai a következő feltételeket tartalmazhatják: (ha egy objektum magassága a karakter átlagos_magassága-1-től az átlagos_karaktermagasságig+2-ig terjed, és a görbülete meghaladja a 3*egy vonal átlagos_görbületét és a hossza kisebb, mint 0,5*a sorok átlagos hossza), akkor szimbólumként jelöltük meg. Az osztályozófák felépítésének módszere jól le van írva, és megengedem magamnak, hogy ne ismételjem meg.

A statisztikai rész teljesítése után egyes objektumok hipotetikus osztályokkal lesznek megjelölve. A legtöbb gyakorlati esetben - szinte minden tárgy. Ha az objektumok legalább felét nem sikerült felcímkéznünk, akkor nagy valószínűséggel valami baj történt velünk (és ez gyakran előfordul a kézzel írott képeknél). De ne essünk kétségbe, egyszerűen válasszuk ki a legkisebb metrikus értékekkel rendelkező objektumok felét, és címkézzük fel őket anélkül, hogy figyelembe vennénk a statisztikai információkat (a példából erre a furcsa kancsalságra - nézzük meg a távolságtáblázatot, és ha közelebb van „l”-hez, akkor az „l” szimbólumot rendeljük hozzá. Már leírtam, hogy ebben az esetben milyen problémák merülhetnek fel, de ez egy kényszermegoldás).

A többi objektum esetében helyi elemzést alkalmazunk:

  • Keressük meg a kiválasztott objektum összes szomszédját;
  • Ha néhány szomszédnál már van a kiválasztott osztály, akkor a helyi konfigurációk valószínűségi táblázatából választjuk ki a valószínűbbet;
  • Továbbá: ha nincs más objektum az objektum végének irányában, akkor az egy szimbólum.
A többi objektumhoz az „alapértelmezett” osztályt választjuk ki - azt, amelyik a metrikus értékben közelebb van.

A sok kínlódás eredményeként a képet tárgyak halmazára bonthatjuk, amelyeknek szimbólumoknak és a szerkezetért felelős résznek kell lenniük.

Szerkezeti szint

Most már csak egy kész szerkezetet kell összeállítani egy elemkészletből. Itt természetesen maguk az algoritmusok kezdenek erősen függni a témakörtől.

Anélkül, hogy belemennénk a kémiai részletekbe, az Imago OCR-ben molekulák képeivel dolgozunk, amelyek lényegében egy kapcsolódási gráfot reprezentálnak, amelynek csúcsaiban címkék (szimbólumkészlet) találhatók, így maga a szerkezet összeállítása meglehetősen triviális. . De nem minden szimbólumkombináció érvényes atomcímke, és nem minden szegmenskészlet használható érvényes gráf összeállítására. A címkék alsó indexeket, felső indexeket, díjjeleket és zárójelsorozatokat használhatnak. A további bemutatáshoz a legérdekesebb és esetleg hasznos pontokat válogatom ki.

Struktúrgráf feldolgozás
Az első fontos lépés ennek a grafikonnak a tényleges megszerzése. A vektorizálás után már csak egy sor különböző szegmensünk van, amelyek mindegyikének van „eleje” és „vége”, amelyeket körökkel jelöltem a szerkezet képén:


Statisztikailag meghatározzuk egy lehetséges ragasztás átlagos sugarát, és a gráf csúcsaiba „összegyűjtjük” azokat a szegmenseket, amelyeknek végei ezen a sugáron belül vannak:


A sugarat így lehet meghatározni: minden csúcsra számítsa ki a minimális távolságot a szomszédaitól, és keresse meg a hisztogram csúcsát. Ha ez a csúcs az átlagos szimbólumméretnél nagyobb sugarat ad, akkor feltételezhetjük, hogy nem minden szegmens kapcsolódik össze.

Ezután eltávolítjuk a túl rövid éleket:


A túl rövid élek a vonalak műtermékekkel (hajlítások, pixelzaj) történő vektorizálásának az eredménye. Átlagos szimbólumméretünk van, feltételezhetjük, hogy a szimbólumméretnél rövidebb kötések nem lehetségesek (számos kivétellel, amelyeket speciális módon - kémiai specifitás - ellenőrzünk).

A fent leírt pontok például táblázatok felismerésekor is hasznosak lesznek. És van még több él keresése, „hidak” (nem metsző élek síkképei), „nyilak” képek keresése. Sokkal kényelmesebb mindezt megtenni a grafikon szerkezetével, és nem a közbenső felismerési eredményekkel - nincs szükség „ideális” vektorizálásra.

Címkék összeszerelése, feldolgozása
A szimbólumoknál csoportokba kell vonni őket, és itt a gráf „összeállításához” hasonló megoldást alkalmazunk. Minden összegyűjtött címkét fel kell ismerni, és mivel lehetnek felső és alsó indexek, a feladat érdekesebbé válik.
Először ki kell számítani a jel „alapvonalát”:
Ez egy egyenes vonal (lényegében csak a baseline_y egy bizonyos értéke), amely felett a címke nagybetűi, alatta pedig az indexek találhatók. A statisztikák segítenek meghatározni a baseline_y értéket:
  • a nagybetűk átlagos méretének meghatározása (a legtöbb karakternek eltérő a kis- és nagybetűs írásmódja);
  • az egyes jelek elemzésekor válassza ki az átlagos koordinátaértéket y minden olyan karakterhez, amelynek mérete az átlagon belül van.
Miért az átlagot vesszük, és nem a maximumot (a vonalnak a címkeszimbólumok alatt kell lennie)? Ez így stabilabb; ha hibázunk, amikor egy szimbólumot tőkeként értelmezünk, akkor az indexet tévesen tőkének minősíthetjük, vonalat húzhatunk alá, és ennek megfelelően „nem lesz többé indexünk”. Az átlag megválasztása egyrészt jó esetben nem változtatja meg jelentősen a baseline_y értékét, másrészt csökken a nagybetűk helytelen megválasztásából adódó hiba költsége.

Aztán egyenként felismerjük a szereplőket. Minden karakterre kiszámítjuk:

  • magasságának %-a az alapvonal alatt van;
  • a nagybetűk átlagos magasságához viszonyítva.
Ezekre a paraméterekre vonatkozó küszöbmegoldás nem lenne szerencsés: ha egy szimbólum legalább 30%-a az alapvonal alatt van, akkor az index. Mi van ha 29? Általánosságban elmondható, hogy a teljes felismerési folyamat a legjobban egy kacsateszt ötletével írható le. Ha valami indexnek tűnik, akkor valószínűleg index. És úgy néz ki, mint egy index, ha még kevésbé hasonlít valami másra.

Mitől valószínűbb, hogy egy szimbólum index? Minél kisebb, és annál alacsonyabb az alapvonalhoz képest. És a számok is inkább indexek. Az egyik jó ötlet a felismerésben az volt, hogy egy metrikák listája változáskészletét használjuk (emlékszel, hogy minden objektumhoz az összes lehetséges objektumot eltároljuk?). Mostantól az alsó indexként történő értelmezések is hozzáadódnak ehhez a mérőszámkészlethez. Ezek a metrikus értékek, amelyeket eredetileg a normál értékekről másoltak, a felismerési folyamat során változnak:

  • Ha egy szimbólum k%-kal az alapvonal alatt van, akkor az alsó indexként való kezelés mérőszáma f(k)-szeresére csökken;
  • Ha egy szimbólum magassága n%-kal kisebb, mint az átlagos magasság, akkor az a..z szimbólumként való értelmezésének metrikája g(n)-szeresére csökken.
Ennek megfelelően a felismerési folyamatban az összes szabály alkalmazása után egyszerűen kiválasztjuk a legalacsonyabb mérőszámú értelmezést - ez a nyerő szimbólum, a leginkább hasonló. De a többi értelmezést továbbra sem fogjuk „feledni”.
Címke érvényesítése
A következő lépés, miután megkaptuk a kész értelmezéseket a címkék teljes egészében, azok érvényesítése. Minden tantárgynak megvan a maga sajátossága: az orosz nyelv esetében ez szótárak használatával végzett ellenőrzés, számos azonosító esetén ez lehetséges. ellenőrző összegeket, és a kémiában - a megengedett elemek halmaza. Ennek a résznek a megvalósításához továbbra is minden objektumhoz megőrizzük az alternatívák teljes készletét.

A címkénk két karakterből álljon: (c1, c2)
Ezenkívül c1 „Y” 0,1 metrikus értékkel és „X” 0,4 metrikus értékkel;
c2 "c" 0,3 metrikus értékkel és "e" 0,8 metrikus értékkel
Csak azt írhatnám, hogy a jelünk Yc. De a jel Yc nem érvényes. Ahhoz, hogy érvényes címkét kapjunk, felsorolhatjuk a lehetséges alternatívákat, és kiválaszthatunk egy érvényeset. Az érvényesek között van az, amelynek a mérőszámainak összértéke minimális.
Ebben az esetben mind a 4 lehetőség közül csak egy érvényes " Xe", ami a végső mutató 1,2.

Úgy tűnik, megoldottuk a problémát, most már a címke értéke érvényes. De mi van akkor, ha a kép szerzője a helyességgel ellentétben az „Yc”-t akarta használni. Ennek megértéséhez kivonjuk az új metrikaértéket (1,2) a régiből (0,4), és értelmezzük a kapott különbséget (0,8). Összehasonlítható egy bizonyos küszöbértékkel, és megtiltható a korrekció, ha azt túllépi. De hogyan válasszuk ki ezt a küszöböt?

Gépi tanulás

Általában hogyan választja ki a felismerési folyamatban használt számos állandót és küszöbkorlátozást? Kezdeti értékek, persze józan ész alapján lehet választani, de vajon optimálisak lesznek?

Az ilyen problémák megoldását részben a gépre lehet bízni - véletlenszerű paraméter-módosítások végrehajtására és azok kiválasztására, amelyek megadják átlagos legjobb eredmény. A véletlenszerű változások a módosítás segítségével rendszerezhetők

Az optikai karakterfelismerő (OCR) rendszereket úgy tervezték, hogy a nyomtatott dokumentumokat automatikusan bevigyék a számítógépbe.

A FineReader egy omnifont optikai szövegfelismerő rendszer. Ez azt jelenti, hogy lehetővé teszi a szinte bármilyen betűtípussal beírt szövegek felismerését előzetes képzés nélkül. A FineReader program különlegessége a nagy felismerési pontosság és a nyomtatási hibákra való alacsony érzékenység, amit a „holisztikus célzott adaptív felismerés” technológia alkalmazásával érnek el.

A dokumentum számítógépbe bevitelének folyamata két szakaszra osztható:

1. Szkennelés. Az első szakaszban a szkenner a számítógép „szemének” szerepét tölti be: „megnézi” a képet, és továbbítja a számítógépnek. Ebben az esetben a kapott kép nem más, mint fekete, fehér vagy színes pontok halmaza, egy olyan kép, amelyet semmilyen szövegszerkesztőben nem lehet szerkeszteni.

2. Elismerés. Képfeldolgozás OCR rendszerrel.

Nézzük meg részletesebben a második lépést.

A FineReader rendszer által végzett képfeldolgozás magában foglalja a szkenner által továbbított grafikus kép elemzését és az egyes karakterek felismerését. Az oldalelrendezés elemzésének (felismerési területek, táblázatok, képek meghatározása, sorok és egyes karakterek kiemelése a szövegben) és a képfelismerés folyamatai szorosan összefüggenek: a blokkkereső algoritmus a felismert szövegre vonatkozó információkat használja fel az oldal pontosabb elemzéséhez. .

Mint már említettük, a képfelismerés a „holisztikus célzott adaptív felismerés” technológia alapján történik.

Sértetlenség- egy tárgyat egészként írunk le, jelentős elemek és a köztük lévő kapcsolatok segítségével.

Fókusz- a felismerés hipotézisek felállításának és célirányos tesztelésének folyamataként épül fel.

Alkalmazkodóképesség- az OCR rendszer önálló tanulási képessége.

Ennek a három alapelvnek megfelelően a rendszer először hipotézist állít fel a felismerési objektumról (szimbólum, szimbólum egy része vagy több összeragasztott szimbólum), majd megerősíti vagy cáfolja azt, és megpróbálja szekvenciálisan detektálni az összes szerkezeti elemet és az összefüggéseket. összekötve őket. Minden szerkezeti elem tartalmaz olyan részeket, amelyek jelentősek az emberi észlelés szempontjából: szegmensek, ívek, gyűrűk és pontok.

Az alkalmazkodóképesség elvét követve a program „beállítja” magát, felhasználva az első magabiztosan felismert szimbólumokból szerzett pozitív tapasztalatokat. A célzott keresés és a kontextus figyelembe vétele lehetővé teszi a szakadt és torz képek felismerését, ellenállóvá téve a rendszert az esetleges írási hibákkal szemben.

Munkája eredményeként a FineReader ablakban megjelenik a felismert szöveg, amelyet szerkeszthet és elmenthet az Ön számára legmegfelelőbb formátumban.

Az abbyy FineReader 7.0 új szolgáltatásai

Felismerési pontosság

A felismerési pontosság 25%-kal javult. Az összetett elrendezésű dokumentumok jobban elemezhetők és felismerhetők, különösen azok, amelyek szövegrészeket színes háttéren vagy kis pontokból álló háttéren tartalmaznak, összetett táblázatokat tartalmazó dokumentumokat, beleértve a fehér elválasztókkal ellátott táblázatokat, valamint a színes cellákkal ellátott táblázatokat.

BAN BEN új verzió Speciális angol és német szótárak hozzáadva, beleértve a leggyakrabban használt jogi és orvosi kifejezéseket. Ezzel minőségileg új szintre léphet a jogi és egészségügyi dokumentumok felismerésében.

Formátum támogatásXMLés az integrációvalMicrosoftHivatal

Megjelent a FineReaderben új formátum mentés - Microsoft Word XML. Mostantól a Microsoft Office 2003 új verziójának felhasználói a FineReader által felismert dokumentumokkal dolgozhatnak, kihasználva az XML formátum minden előnyét!

A FineReader és a Microsoft Word 2003 integrációja lehetővé teszi e két alkalmazás hatékony képességeinek kombinálását a felismert szöveg feldolgozására. Ellenőrizheti és szerkesztheti a felismerési eredményeket ismerős Word-eszközökkel, miközben egyidejűleg ellenőrizheti a Wordbe átvitt szöveget a eredeti kép- a Zoom FineReader ablak közvetlenül a Word ablakban nyílik meg.

Az új funkciók kényelmesebbé teszik a munkáját. Word-dokumentum készítésekor meghívhatja a FineReader-t, felismerheti a szöveget és beillesztheti a dokumentum azon helyére, ahol a kurzor található, vagyis egyszerűen egy dokumentumba gyűjthet információkat különböző papírforrásokból vagy PDF-fájlokból. A felismerési eredmények most a következőn keresztül küldhetők el email mellékletként a támogatott mentési formátumok bármelyikében.

Jobb teljesítményFineReaderVal velPDFdokumentumokat

A PDF fájlfelismerés minősége jelentősen javult. A legtöbb dokumentum az oldalképen kívül szöveget is tartalmaz. A FineReader 7.0 képes kivonatolni ezt a szöveget, és felhasználni az eredmények ellenőrzésére és a felismerés minőségének javítására.

Most már a FineReader szerkesztő ablakában szerkesztheti a felismert PDF dokumentumokat: a végrehajtott változtatások a program által támogatott PDF fájl mentési módok bármelyikében mentésre kerülnek.

A FineReader által készített PDF fájlok formátuma az interneten való közzétételre van optimalizálva – a felhasználó megtekintheti az első oldalak tartalmát, miközben a dokumentum többi részét letölti.

Új mentési lehetőségek

Új formátum a felismerési eredmények mentéséhez - MicrosoftPowerPoint- lehetővé teszi új prezentációk gyors létrehozását vagy a meglévők szerkesztését.

Mentéskor ide MicrosoftSzó Az így létrejövő fájl mérete csökkent, javult a különböző elválasztójelekkel ellátott dokumentumformázás megőrzése, valamint új lehetőségek jelentek meg a képek mentésére.

Az összetett elrendezési elemek továbbfejlesztett megjelenítése mentéskor

V HTML, például nem téglalap alakú képek köré tekert szöveget. Emellett csökkentették a HTML fájl méretét, ami nagyon fontos a dokumentumok internetes közzétételéhez.

Egyszerű használat

Frissítve intuitív felhasználói felület. Kényelmesebbé vált a professzionális beállításokkal való munka. A szerkesztő eszköztárak átkerültek abba az ablakba, ahol a felismerési eredmények megjelennek. Kényelmes eszközök jelentek meg a FineReader ablakok kezelésére: például minden ablakban beállíthatunk egy kényelmes nagyítási szintet.

Frissítve gyakorlati útmutató A felismerés minőségének javítása segít a kezdő felhasználónak gyorsan elkezdeni, és egy tapasztaltabb felhasználó tudja a legjobban konfigurálni a programot, hogy kiváló eredményeket érjen el, amikor bármilyen típusú dokumentummal dolgozik.

Szakmai lehetőségek

Most verzióban FineReaderSzakmaiKiadás azok a funkciók váltak elérhetővé, amelyek korábban csak a verzió felhasználói számára voltak elérhetőek TársaságiKiadás:

Javított felismerés vonalkódok, A PDF-417 kétdimenziós vonalkód-felismerés támogatott.

Képfelosztó eszköz. Ezzel a képeket területekre oszthatja, és minden egyes területet a csomag külön oldalaként menthet. Ez kényelmessé teszi több együtt szkennelt névjegykártya, könyvek vagy PowerPoint prezentációs diák kinyomtatásának felismerését.

Morfológiai keresés. Bármely FineReaderben létrehozott csomag használható kis adatbázisként

teljes szöveges morfológiai keresés lehetőségével. A csomag összes felismert oldala között megtalálhatja azokat az oldalakat, amelyek a megadott szavakat minden nyelvtani formában tartalmazzák (34 nyelven szótár támogatással).

Processzor támogatásInteltechnológia segítségévelHiper- Menetelés. Ennek a technológiának a használata jelentősen növelheti a termelékenységet, ami különösen fontos, ha nagyszámú dokumentum felismerése a feladat.

A FineReader 7.0 további professzionális funkciókat is bevezet:

Kétoldalas szkennelés. Dokumentum szkennelése nyomtatott lappal

mindkét oldalon szöveggel, ezt az opciót támogató szkenner segítségével, mindkét oldal tartalmáról képeket kap a csomag két különálló oldalaként. Ha a dokumentumnak csak az egyik oldalát kell beolvasnia, letilthatja ezt a lehetőséget.

A formátumú grafikus fájlok megnyitása támogatott JPEG 2000 és mentés ebben a formátumban.

HálózatlehetőségeketverziókFineReader Corporate Edition

A FineReader Corporate Edition vállalati hálózaton történő telepítésének és használatának összes funkciója részletesen le van írva a Rendszeradminisztrátori útmutatóban, amelyet az almappában talál. Adminisztrátor" sÚtmutató szervermappák, ahová a FineReader telepítve volt.

Főbb fejlesztések az előző verzióhoz képest:

A szerverről a munkaállomásra történő automatikus telepítés alapvető módszereinek támogatása. A FineReader Corporate Edition támogatja a helyi hálózaton történő automatikus telepítés összes főbb módszerét: az Active Directory, a Microsoft Systems Management Server vagy a parancssor használatával.

Többfunkciós eszközökkel való munkavégzés, beleértve a hálózati eszközöket is. Egyre népszerűbbek a szkenner, nyomtató, fénymásoló és fax funkcióit kombináló többfunkciós eszközök. Most nem szükséges minden alkalmazottat saját szkennerrel telepíteni - elég egy erős készülék, amellyel a szervezet összes felhasználója dolgozik. A FineReader képes együttműködni az ilyen eszközökkel, munkaállomáshoz csatlakoztatva és hálózatba kötötten egyaránt. A speciális programbeállítások lehetővé teszik a felhasználó számára, hogy a beszkennelt képeket a helyi hálózat bármely pontjáról vagy egy FTP-szerverről automatikusan megnyitja és felismerje

Különféle mennyiségi engedélyezési modellek. Az egyidejű felhasználók száma alapján történő engedélyezés mellett más engedélyezési módok is elérhetővé váltak. Kiválaszthatja az igényeinek leginkább megfelelő lehetőséget.

EngedélyMenedzser- egy eszköz a licencek hálózaton történő kezelésére. BAN BEN FineReaderTársaságiKiadás megjelent egy kényelmes licenckezelő segédprogram (License Manager). Segít nyomon követni a FineReader használatát a munkaállomásokon, lefoglalja a licenceket a munkaállomásokhoz, és új licenceket adhat hozzá.

Minden beolvasott információ grafikus fájl (kép). Következésképpen a beszkennelt szöveg nem szerkeszthető speciális szövegformátumra történő fordítás nélkül. Ezt a fordítást a segítségével lehet elvégezni optikai karakterfelismerő (OCR) rendszerek.

Elektronikus (szerkesztésre kész) másolat átvételére nyomtatott dokumentum Az OCR programnak számos műveletet kell végrehajtania, köztük a következőket:

1. Szegmentáció- a szkennertől kapott „kép” szegmensekre oszlik (a szöveget elválasztják a grafikáktól, a táblázatcellákat külön darabokra osztják, stb.).

2. Elismerés- a szöveg grafikus formából normál szöveges formává alakul.

3. Helyesírás-ellenőrzés és szerkesztés - a belső helyesírás-ellenőrző rendszer ellenőrzi és korrigálja a felismerő rendszer működését (a vitás szavakat és szimbólumokat színesen kiemelik, a felhasználót a „bizonytalanul felismert karakterekről” tájékoztatják)

4. Megőrzés- a felismert dokumentum rögzítése fájlba szükséges formátum további szerkesztéshez a megfelelő programban.

A fenti műveletek a legtöbb OCR-rendszerben automatikusan (varázsló program segítségével) és manuálisan (külön-külön) is végrehajthatók.

A modern OCR rendszerek felismerik a beírt szövegeket különböző betűtípusok; helyesen dolgozni több nyelvű szavakat tartalmazó szövegekkel; táblázatok és ábrák felismerése; lehetővé teszi az eredmény mentését szöveges vagy táblázatos formátumú fájlba stb.

Az OCR-rendszerekre példa a CuneiForm a Cognitive-től és a FineReader az ABBYY Software-től.

OCR rendszer FineReader beengedték különböző verziók(Sprint, Home Edition, Professional Edition, Corporate Edition, Office), és mindegyik, a legegyszerűbbtől a legerősebbig, nagyon kényelmes felülettel rendelkezik, és (a módosítástól függően) számos előnnyel rendelkezik, amelyek megkülönböztetik őket hasonló programokat.

Például a FineReader Professional Edition (FineReader Pro) a következő funkciókkal rendelkezik:

csaknem kétszáz nyelvet támogat (még az ősi nyelveket és a népszerű programozási nyelveket is);

felismeri a grafikákat, táblázatokat, űrlapokon lévő dokumentumokat stb.;

teljesen megőrzi az összes dokumentum formázási funkciót és azok grafikai kialakítását;

dekoratív betűtípusokat használó vagy tartalmaz Különleges szimbólumok(például matematikai) a „Felismerés edzéssel” mód biztosított, aminek eredményeként a szövegben található karakterek szabványa jön létre a további felismeréshez való felhasználáshoz;

Munka vége -

Ez a téma a következő részhez tartozik:

Információ: információ tulajdonságai, információ mennyisége, mértékegységei - 13

Tantárgy és alapfogalmak információs technológiák.. informatizáció információs társadalom és információs kultúra.. számítógépes információs technológiák és osztályozásuk..

Ha további anyagra van szüksége ebben a témában, vagy nem találta meg, amit keresett, javasoljuk, hogy használja a munkaadatbázisunkban található keresést:

Mit csinálunk a kapott anyaggal:

Ha ez az anyag hasznos volt az Ön számára, elmentheti az oldalára a közösségi hálózatokon:

Az összes téma ebben a részben:

Az informatizálás szerepe a modern társadalomban
Az információáramlás folyamatosan növekszik, és elkerülhetetlenül információs akadály keletkezik, ha az információáramlás feldolgozási feladatainak összetettsége meghaladja az emberi képességeket. Az ember a fő

A számítástechnika mint tudomány
Mint ismeretes, a XX–XXI. az emberiség uralma számítógép tartozék, amely olyan szorosan bekerült mind a termelési szférába, mind a mindennapi életbe, hogy ma már a munka

Az információ típusai
Az információ a következő formában létezhet: szövegek, rajzok, rajzok, fényképek; fény ill hangjelzések; rádióhullámok; elektromos és idegi impulzusok

Információ átadása
Az információ üzenetek formájában kerül továbbításra valamilyen információforrástól a vevőhöz a köztük lévő kommunikációs csatornán keresztül. Is

Az információ mennyisége
Mennyi információt tartalmaz például a "Háború és béke" című regény szövege, Raphael freskói vagy az emberi genetikai kód? A tudomány nem ad választ ezekre a kérdésekre, és minden valószínűség szerint

Adatfeldolgozás
Az információ: létrehozható; továbbítani; észlelni; használat; emlékezik; elfogad;

Az információs technológia aritmetikai alapjai
A számrendszer olyan technikák és szabályok összessége, amelyek alapján a számokat írjuk és olvassuk. Léteznek pozíciós és nem pozíciós számrendszerek

Egész számok előállítása helyzetszámrendszerekben
Minden számrendszerben a számjegyek jelentésük szerint vannak rendezve: 1 nagyobb 0-nál, 2 nagyobb 1-nél stb. A számjegy előléptetése azt jelenti, hogy lecseréljük a következő legmagasabbra.

Számítógéppel való kommunikációhoz használt számrendszerek
A decimális mellett széles körben használatosak a 2 egész hatványával rendelkező rendszerek, nevezetesen: bináris (0, 1 számjegyeket használnak); nyolc

Az informatizálás jogalapja a Fehérorosz Köztársaságban
Az információs korszakban a Fehérorosz Köztársaság nagy figyelmet fordít a civilizált információs piac. Ezt bizonyítják az alábbi elfogadott dokumentumok: - törvények:

Az információs technológiák technikai támogatása
Technikai támogatás - a művelethez szánt technikai eszközök összessége tájékoztatási rendszer. Kiválasztása a vállalkozásnál megoldott problémák mennyisége és összetettsége alapján történik

A számítástechnika fejlődésének története
A 40-es években kezdődött a digitális számítástechnika (CT) rohamos fejlődése és a felépítési és tervezési elveiről szóló tudomány kialakulása. XX. század, amikor a VT műszaki alapja az elektronika ill

Neumann János a számítógépek felépítésének és működésének elvei
A legtöbb modern számítógép egy magyar származású amerikai tudós, John von Neumann által 1945-ben megfogalmazott elvek alapján működik. 1. A bináris kódolás elve

Alapvető számítógép-összetevők és perifériák
Szerkezetileg a PC egy rendszeregységből, monitorból, billentyűzetből, egérből és külső (periférikus) eszközökből áll. Rendszer egysége(test) egy fémből és műanyagból készült doboz

Processzor és főbb jellemzői
Minden számítógép legfontosabb eleme a processzor (mikroprocesszor) - egy szoftver által vezérelt információfeldolgozó eszköz, amely egy vagy több nagy vagy szuper méretű formában készül.

PC külső memóriaeszközök
Az eszközök a programok és adatok számítógépen való tárolására szolgálnak. külső memória- tárolóeszközök. A számítógéphez képest lehetnek külsőek és beépítettek (belső

3D kép bemeneti/kimeneti eszközök
Az információs technológia fejlesztésének egyik iránya olyan eszközök fejlesztése, amelyek lehetővé teszik a 3 dimenziós képekkel való munkát. 3D szkenner – elemző eszköz

PC konfiguráció
A számítógép funkcionalitását konfigurációja határozza meg - fő eszközeinek összetétele és jellemzői: processzor, véletlen hozzáférésű memória, merevlemez, CD/DVD meghajtók, monitor, videó

A számítógép teljesítményét befolyásoló beállítások
A PC teljesítménye a legfontosabb jellemzője. A számítógép teljesítményét befolyásoló összes tényező és paraméter általában szoftverre és hardverre osztható. Befolyás

A számítástechnika fejlődésének irányai
Szakértők szerint a 21. század első évtizedében. A szoftverek jelentősége megnő, a kompatibilitási és biztonsági problémák pedig növekedni fognak. Között operációs rendszer

A számítógépes vezérlés szoftveres elve
A számítógép egy univerzális eszköz az információ konvertálásának különféle problémáinak megoldására, de sokoldalúságát nem annyira a hardver, hanem a telepítés határozza meg.

OS
Az operációs rendszer (OS) olyan programok összessége, amelyek más felhasználói programok betöltését, indítását és végrehajtását, valamint a számítógépek ütemezését és kezelését hivatottak kezelni.

Windows operációs rendszer
A Microsoft Corporation a múlt század 80-as éveinek vége óta kezdte fejleszteni a Windows operációs rendszercsaládot. Ma a következő operációs rendszereket említhetjük meg ebből a családból: Windows 3.0 / 3.1 / 3.

Windows fájlrendszer
Az operációs rendszer magja egy fájlkezelést biztosító modul – a fájlrendszer. A fő feladat fájlrendszer- a program interakciójának biztosítása

Windows objektumok
A Windows egyik alapfogalma az objektum, annak tulajdonságai és az objektumon végrehajtható és maga az objektum által végrehajtható műveletek. Fő Windows objektumok vannak:

Windows grafikus felület és elemei
Után Windows rendszerindítás A képernyőn megjelenik egy elektronikus asztal, amelyen grafikus objektumok helyezkednek el - mappák és fájlok ikonjai (ikonjai), parancsikonok stb. Dokumentumfájl ikonok

Windows operációs rendszer beállítása
A Windows operációs rendszer beállítása két típusra osztható: 1. A kezelőfelület és a Vezérlőpult elemeinek beállítása - ezeket bármely felhasználó elvégezheti. 2. A változtatások rejtettek

Szolgáltatási programok
Szolgáltatási programok bővítse az operációs rendszer képességeit a rendszer karbantartása és a felhasználói kényelem biztosítása érdekében. Ebbe a kategóriába tartoznak a rendszerek Karbantartás, szoftver

Számítógépes vírusok és víruskereső eszközök
Számítógépes vírus egy olyan program, amelynek célja, hogy egy fájlban létezzen és reprodukáljon annak jogosulatlan módosítása miatt, pl. fertőzés, valamint nem kívánt műveletek végrehajtása

Archiválás
Az archiválás célja az információk kompaktabb elhelyezése a lemezen, valamint a számítógépes hálózatokban a kommunikációs csatornákon történő információtovábbítás idejének és ennek megfelelően költségének csökkentése.

A WinRAR 3.3 archiváló program általános jellemzői és funkciói
A WinRAR a Windows rendszerhez készült RAR archiváló 32 bites verziója, amely hatékony eszköz az archív fájlok létrehozására és kezelésére. A Windows RAR-nak két verziója létezik: 1. Parancs verzió

Műszeres szoftver
Az instrumentálisra szoftver a következőket tartalmazza: programozási rendszerek - új programok fejlesztéséhez, például Pascal, BASIC. Ezek általában a következők: szerkesztés

Vágólap puffer
Már az elsőben Windows verziók A köztes adattárolást szolgáló beépített puffer, a Clipboard valósult meg, amely mindig aktív és minden Windows alkalmazás számára elérhető.

DDE technológia
Az alkalmazások közötti adatcseréhez a DDE technológia (Dynamic Data Exchange – dinamikus adatcsere) használható, melynek lényege, hogy a pufferen keresztül beillesztett adatok

OLE technológia
Az Object Linking and Embedding technológia több funkcióval rendelkezik, és ha az alkalmazás támogatja az OLE-t, akkor maga is adatcserét végez e-mailben.

Az operációs rendszer trendjei
Az operációs rendszerek fejlesztésének fő irányai a következők: 1. Bővíthetőség - további funkciók bevezetésének lehetősége a rendszer integritásának tönkretétele nélkül (emlékezzünk a Linux OS-re).

Számítógépes információfeldolgozás
Az információfeldolgozás technológiai folyamatainak számos lehetősége (szervezeti formája) létezik. Általában technológiai folyamat A számítógép segítségével történő információfeldolgozás magában foglalja

Technológiák és rendszerek táblázatos információk feldolgozására (táblafeldolgozók)
Asztali processzorok- Ezt szoftverrendszerek táblázatok kezeléséhez. Táblázat (ET) - univerzális gyógymód a számítások automatizálásához nagy

A Microsoft Excel 2003 általános jellemzői és funkciói
A következőket lehet megkülönböztetni funkcionalitás szövegszerkesztő Microsoft Excel 2003: táblázatok készítése és számítógépes adathordozóra mentése, sablonokkal való munka; Munka

Technológiák és rendszerek grafikus információk feldolgozására (számítógépes grafika)
A számítógépes grafika az egyik modern technológiák különféle képek létrehozása és feldolgozása hardver és szoftver számítógép. Számítógép

Számítógépes grafikai rendszerek és működésük
Jelenlegi rendszerek számítógépes grafika(csomagok alkalmazási programok, grafikus képekkel dolgozó) szintén többféleképpen osztályozható, például:

Grafikus formátumok
Formátum grafikus fájl(grafikus formátum) egy képre vonatkozó információk gyűjteménye és egy módszer annak fájlba való rögzítésére. A grafikus adatok általában nagy helyet foglalnak el és

A Corel DRAW program általános jellemzői és funkciói
A CorelDRAW egy objektum-orientált szoftvercsomag vektorgrafikával való munkához. Az "objektum-orientált" kifejezést úgy kell érteni, hogy minden művelet

Az Adobe PhotoShop program általános jellemzői és funkciói
A PhotoShop egy program professzionális tervezőknek és mindenkinek, aki részt vesz a feldolgozásban grafikus képek. Lehetővé teszi a számítógépbe bevitt képek feldolgozását és javítását

Technológiák és rendszerek dinamikus prezentációk létrehozásához
A prezentáció (diafilm egy adott témáról, azonos stílusban készült és egyetlen fájlban tárolva) az elektronikus dokumentum komplex multimédiás tartalom képességekkel

Prezentációkészítő rendszerek és működésük
A prezentációk készítésére szolgáló csomagok piaca két irányba fejlődik: 1. Eszközök prezentációk készítéséhez nem professzionális felhasználók számára (például PowerPoint a Microsofttól, Corel Pres

A Microsoft PowerPoint 2003 általános jellemzői és funkciói
Alkotó rendszer PowerPoint prezentációk- egy komponens Microsoft Officeés prezentációs anyagok készítésére szolgál dia formájában és papíron, képernyőn, átlátszó fólián való megjelenítésére

A számítógépes hálózatok fogalma és fejlődéstörténete
A számítógépes (számítógépes) hálózat olyan számítógépek (számítógépek) gyűjteménye, amelyek adatátviteli csatornákon keresztül kapcsolódnak egymáshoz, és a felhasználók számára információcserét és számlálást biztosítanak.

Helyi számítógépes hálózatok
A helyi hálózatok fő megkülönböztető jellemzője az egyetlen nagy sebességű adatátviteli csatorna az összes számítógép számára, és a kommunikációs berendezésekben előforduló hibák alacsony valószínűsége.

A helyi hálózatok alaptechnológiái és felszereltsége
A helyi hálózat megszervezéséhez technikai, szoftveres és információs eszközökre van szükség. A hálózat technikai eszközei a következők: 1. Számítógépek, műszaki jellemzők

Globális Internet
Az Internet (Internet) egy globális számítógépes hálózat, amely heterogén számítógépes hálózatok világméretű egyesülete, amelyek egyetlen információs teret alkotnak a

Számítógépek megszólítása az interneten
Útvonalválasztás között helyi hálózatok a datagram fejlécében található IP-címeknek megfelelően kell végrehajtani. Az IP-címet a hálózati rendszergazda adja ki a számítógép konfigurálása során

Az Internet szerkezeti összetevői és alkalmazási rétegbeli protokolljai
A weboldal egy .html formátumú hiperszöveg dokumentum – a világháló legkisebb egysége. Tartalmazhat szöveget, grafikus illusztrációkat, multimédiát és egyéb objektumokat, és ami a legfontosabb

Az algoritmus fogalma és az algoritmikus folyamatok típusai
Bármilyen probléma számítógépen történő megoldása előtt formalizált előkészítést igényel, beleértve a bemeneti és kimeneti adatok összetételére és tartalmára vonatkozó döntéseket, valamint a bemeneti adatok konvertálására szolgáló eljárásokat.

Programozási eszközök
A programozási eszközök gyűjteménye szoftver termékek technológiát biztosít a készülő új szoftvertermékek fejlesztéséhez, hibakereséséhez és megvalósításához. Osztva vannak

Adatbázis
Jelenleg az adatbázis (DB) és az adatbázis-kezelő rendszer (DBMS) kifejezéseket általában a számítógépes adatbázisokkal kapcsolatban használják. Általános értelemben ez a kifejezés alkalmazható

Számlák Termék
Számlaszám Vevő kód Számlaszám Termék Mennyiség

Hierarchikus modellek
A hierarchikus modellben az adatok fába vannak rendezve. Egy ilyen fa teteje különböző szinteken található. Ebben a struktúrában a rekordcsoportok a következő helyen találhatók: egy bizonyos sorrend, Hogyan

Hálózati modellek
BAN BEN hálózati modell az adatokat bizonyos szabályok szerint egymáshoz kapcsolódó, hálózatot alkotó rekordok formájában jelenítjük meg (2.5. ábra). A hálózati struktúra adatai egyenlőek. Példa

Az adatbázis fő funkciói
Számos program létezik, amelyek az információk strukturálására, táblázatokba helyezésére és a meglévő adatok manipulálására szolgálnak – az ilyen programokat SU-nak hívják.

Relációs adatmodell
Az adatok bemutatásának egyik legtermészetesebb módja a kétdimenziós táblázat. Másrészt az adatok közötti kapcsolatok kétdimenziós táblázatok formájában is bemutathatók. Például,

Az adatbázis-elérés jellemzői
Az Access alkalmazás egy relációs DBMS, amely támogatja az összes benne rejlő adatfeldolgozási eszközt és képességet relációs modellek. Ebben az esetben azokat az információkat, amelyeket el kell tárolni

Relációs adatbázis kifejezések
· Táblázat - az azonos típusú objektumokról (például ügyfelekről, megrendelésekről, alkalmazottakról) vonatkozó információk táblázatos formában jelennek meg. · Attribútum - a táblázat mezőjében (oszlopában) tárolva. Ez

Az adatbázis tervezés szakaszai
· Határozza meg az adatbázis célját. · Határozza meg, hogy az adatbázis milyen forrásadatokat (táblázatokat) tartalmazzon. · Határozza meg a táblázatokban szereplő mezőket, és válassza ki az egyedi mezőket