Kako radi: FineReader. Sustavi za prepoznavanje teksta i programi za prevođenje

18.09.2020 Savjet

Tehnologije optičkog prepoznavanja (koncept i područja primjene OCR-a, algoritmi optičkog prepoznavanja, OCR karakteristike i programi, koncept Inteligentnog prepoznavanja znakova, sustavi za prepoznavanje rukopisnog teksta)

OCR (optičko prepoznavanje znakova)- tehnologija pretvaranja grafičke slike teksta u računalni tekst pomoću algoritma za prepoznavanje grafičkog uzorka.

OCR se koristi:

1) kod skeniranja i fotografiranja tekstova.

2) za unos velike količine tekstualnih informacija u računalo (100 ili više stranica dnevno).

3) za rukopisni unos tekstualnih informacija u računalo.

4) za pretvaranje jednog formata u drugi.

Popularne su tri glavne tehnologije prepoznavanja znakova:

Predložak (u ulaznoj slici odabiru se rasterske slike pojedinačnih znakova, uspoređuje se sa svim predlošcima dostupnim u bazi podataka odabire se predložak s najmanje točaka koje se razlikuju od ulazne slike. Sustavi predložaka su lakši za implementaciju, otporni na nedostatke slike, imaju veliku brzinu obrade ulaznih podataka, ali pouzdano prepoznaju samo one fontove čije uzorke poznaju),

Strukturni (objekt je opisan kao graf, čiji su čvorovi elementi ulaznog objekta, a lukovi su prostorni odnosi između njih. Strukturalni sustavi su vrlo osjetljivi na grafičke nedostatke slike koji narušavaju sastavne elemente. Za ove sustave , za razliku od predložaka i značajki, još uvijek nema učinkovitih automatiziranih postupaka obuke),

Transformacija fontane (kombinira prednosti predloška i strukturnih sustava. Svaki percipirani objekt promatra se kao cjelina koja se sastoji od dijelova međusobno povezanih određenim odnosima).

OCR karakteristike:

    broj grešaka prilikom unosa teksta. Prihvatljiva vrijednost je 10 pogrešaka po stranici.

    zahtjevi za kvalitetom izvornog teksta.

    sposobnost ispravljanja pravopisnih pogrešaka radi poboljšanja kvalitete unosa.

    podrška za razne jezike.

    sposobnost učenja i prilagođavanja značajkama tiskanih fontova i rukom pisanih tekstova.

    brzina prepoznavanja. Poželjno je da ono bude usporedivo s vremenom koje je potrebno da dokument uđe u skener.

ocr programi:

Najpoznatiji paketi su FineReader, CuneiForm, OmniPage, TextBridge.

ABBYY FineReader- OCR za automatski unos tekstova, tablica, obrazaca, upitnika itd.

ADRT (Adaptive Document Recognition Technology), adaptivna tehnologija prepoznavanja dokumenata na razini IDR (Intelligent Document Recognition).

ABBYY čitač posjetnica - mobilna aplikacija za prepoznavanje posjetnica, koji automatski prepoznaje podatke s fotografije posjetnice, kreira novi kontakt, upisuje podatke o kontaktu i dodatne podatke u potrebna polja adresara.

    ICR (Inteligentno prepoznavanje znakova) - sustavi za obradu obrazaca koji omogućuju unos podataka iz dokumenata na temelju geometrijskih uzoraka

Svaka moderna osoba koja neprestano radi s dokumentima s vremena na vrijeme postavlja sebi goruće pitanje: zašto ponovno upisivati ​​tekst ako je to netko već učinio prije? Za mnoge korisnike takav zadatak koji se redovito ponavlja izaziva iritaciju s prizvukom ogorčenosti zbog besmislenog dupliciranja tuđeg rada. Naravno, programeri softvera nisu mogli ostati ravnodušni na takve tipična situacija, čija je likvidacija također obećavala pozamašnu dobit. Ovako su sustavi poznati u Rusiji kao sustavi za optičko prepoznavanje teksta, au zemljama engleskog govornog područja - poput OCR.

Danas se opseg primjene OCR softvera značajno proširio: isprva se koristio uglavnom u financijskom i bankarskom sektoru, rješavajući specifične zadatke automatizacije za unos osobnih i anketnih podataka, ali danas se OCR programi koriste posvuda za rad s bilo kojim dokumentima. Teško je precijeniti važnost OCR sustava, koji su postali toliko potreban softver za uredska i kućna računala.

Prođimo ih ukratko kroz sve glavni OCR sustavi na tržištu te istaknuti njihova glavna i karakteristična obilježja.

Prije nego počnemo razmatrati OCR sustave, dajmo barem njihovu minimalnu klasifikaciju radi lakšeg daljnjeg razmatranja. Na ovaj trenutak dodijeliti OCR sustavi (Optičko prepoznavanje znakova OCR) također ICR sustavi(Inteligentno prepoznavanje znakova, ICR). Da bismo donekle pojednostavili bit razlika među njima, možemo smatrati da su ICR sustavi sljedeća generacija u razvoju OCR sustava. ICR mnogo aktivnije i ozbiljnije koristi mogućnosti umjetne inteligencije, posebice se ICR sustavi često koriste za prepoznavanje rukom pisanih tekstova, ukrasnih nestabilnih fontova, a također, kao najupečatljiviji primjer, nadvladavanje istih sustava za zaštitu od neželjenih robota - captcha ( captcha). Treća, još uvijek samo teorijska razina kvalitete prepoznavanja teksta je IWR(Intelligent word recognition, IWR), u kojem se ne čitaju i prepoznaju pojedinačni znakovi/točke, već se čitaju i prepoznaju cijele koherentne fraze.

Postoji nekoliko sustava koji se klasificiraju kao ICR. Ovo je, prije svega, , FineReader, OmniPage Professional, Readiris Corporate, Type Reader Desktop. Usporedimo ih sve i pogledajmo moguće alternative.

Poznati domaći proizvodi

Strani proizvodi

Tri druga dobro poznata proizvoda, koji su dobili malu distribuciju u ZND-u zbog potpunog odsustva predstavnika i malog marketinga na tim golemim ćiriličnim teritorijima, ali su poznati na Zapadu i vrijedni su barem kratkog spomena, makar samo zato što također se pozicioniraju kao proizvodi ICR klase. U niši prepoznavanja nećirilice lako se mogu natjecati čak i s tržišnim liderom - FineReaderom.

Prvi od njih je paket tvrtke I.R.I.S. Grupa je vrlo ozbiljan OCR proizvod. Dovoljno je reći da je od rujna 2006. tehnologija tvrtke I.R.I.S. je licenciran i korišten u proizvodima Adobe sustava. Prema internom testiranju samog Adobea, ova se tehnologija pokazala najuspješnijom od svih razmatranih na tržištu.

Treba napomenuti da je to uspješno rješenje treće strane“pokopao” vlastiti Adobeov razvoj - izvorni OCR motor - koji se godinama isporučivao kao dio rješenja, a sada je novi Adobe OCR dostupan kao zaseban u drugim popularnim Acrobat proizvodima. Najnovija verzija Readiris v12 podržava sve verzije sustava Windows i MacOS X, a ukupno podržava više od 120 jezika.

Sljedeći veliki razvoj jedne američke tvrtke je . Ovaj je motor razvijen u bliskoj suradnji sa Sveučilištem Nevada u Las Vegasu. Ovaj se motor širi svijetom u više oblika odjednom, počevši od integracije u velike zapadne sustave za upravljanje dokumentima (Document Imaging Management, DIM), pa sve do sudjelovanja u mnogim američkim programima za automatsku obradu obrazaca (Forms Processing S ervices, FPS).

Primjerice, 2008. novine Los Angeles Times Nakon vlastitog testiranja vodećeg svjetskog OCR-a, odabrao je TypeReader za svoju internu upotrebu. Htio bih to primijetiti ovaj proizvod dostupan u tradicionalnoj verziji za stolna računala (Windows, MacOS, Linux), kao korporativna web usluga i u obliku aplikacije za iznajmljivanje u oblaku koja može obraditi bilo koju količinu prepoznatog teksta u vrlo kratkom vremenu.

Besplatna OCR rješenja

Google također razvija zanimljiv vlastiti motor. je izvorno zatvoreni komercijalni OCR mehanizam koji je stvorio Hewlett-Packard, radeći na njemu između 1985. i 1995. godine. No nakon što je projekt zatvoren i njegov razvoj zaustavljen, HP je 2005. objavio svoj kod kao otvoreni kod. Razvoj je odmah preuzeo Google, licencirajući svoj proizvod pod besplatnom licencom Apache. Trenutačno se Tesseract smatra jednim od najpreciznijih i najkvalitetnijih besplatnih motora.

Potrebno je jasno razumjeti da je Tesseract klasičan OCR za "sirovu" obradu teksta, tj. nema grafičku ljusku za prikladna kontrola proces, kao ni mnogi drugi dodatne funkcije. Ovo je obični uslužni program konzole (postoje verzije za Windows, MacOS, Linux), čiji je ulaz slika u TIFF formatu, a izlaz Tesseracta je "čisti tekst". Međutim, ovdje se ne provodi analiza izgleda teksta ili stilova dizajna; ovo je proces prepoznavanja u svom najjednostavnijem obliku.

Za veću praktičnost rada, kao grafičko sučelje, možete koristiti mnoge uslužne programe s ovim motorom, na primjer dobro poznati ili . Ali ipak bih želio primijetiti da je kvaliteta besplatnog C uneiForm/OpenOCR-a malo bolja od Tesseracta, iako su u mnogim aspektima ovo potpuno slični proizvodi.

Uz besplatni Tesseract vrijedi spomenuti i to. SimpleOCR je vrlo vrijedno rješenje za OCR, i iako nije razvijen od 2008., barem ni u čemu nije inferioran Tesseractu. Proizvod je besplatan za bilo kakvu nekomercijalnu upotrebu i dostupan je za sve verzije sustava Windows. Jedan od jakih nedostataka je to što podržava samo dva jezika: engleski i francuski.

Uz tradicionalna besplatna stolna rješenja, postoje mnoga alternativna rješenja online usluge, nudeći besplatno OCR prepoznavanje, kvaliteta je znatno niža od njihovih komercijalnih kolega. Za uspješno rješavanje poslovnih problema (i drugih ozbiljnih svakodnevnih zadataka) bolje je fokusirati se na komercijalne ICR sustave klase, o kojima je bilo riječi u prvoj polovici ovog članka.

Želio bih usporediti metode i pokazati, zašto smo odabrali određeni, ali praktično je teško. U različitim slikama, određene metode imaju svoje prednosti i mane, "u prosjeku" najbolje rješenje niti, stoga smo u Imago OCR-u dizajnirali skup filtara, od kojih se svaki može koristiti u određenim slučajevima, a izbor rezultata ovisit će o metrici kvalitete.

Prednosti metode uključuju:

  • Prilično velika brzina;
  • Parametrabilna kvaliteta rezultata;
  • Nema zamućenja tijekom rada, i kao rezultat, "osjetljivost" na detalje;
  • A glavna zanimljiva značajka je normalizacija lokalnih razina svjetlosti.
Posljednje svojstvo odlično ilustrira slika iz članka, a važno je za prepoznavanje zbog moguće nejednolikosti osvjetljenja objekata prilikom snimanja (papir okrenut prema izvoru svjetla tako da svjetlo pada neravnomjerno):

Površni opis algoritma:

  • Filtriranje slike lokalnog praga (Laplacian prag) s pragom T;
  • Diskretna kosinusna transformacija rezultirajuće slike;
  • Filtriranje visokofrekventnih karakteristika i rješavanje posebne jednadžbe za niske i srednje frekvencije (Retinex jednadžba);
  • Inverzna diskretna kosinusna transformacija.
Sam algoritam je prilično osjetljiv na T parametar, ali koristili smo njegovu prilagodbu:
  • Izračunavamo Retinex(T) za T=1,2,4,8
  • Izvođenje srednjeg filtriranja piksel po piksel između Retinex rezultata
Kako OpenCV može pomoći: postoji gotova funkcija za izračun diskretne kosinusne transformacije:
void dct(const Mat& src, Mat& dst, int flags=0); // zastavice = DCT_INVERSE za inverzni DCT
I ne radi ništa lošije u brzini od sličnog iz libfftw-a, iako to ne mogu tvrditi u općem slučaju (testirano na Core i5, Core Duo).

Za izvornu sliku, gornja metoda daje prilično lijep rezultat:

Sada otprilike razumijemo što bi predfiltriranje trebalo učiniti i već imamo jedan parametar koji se može promijeniti u mehanizmu povratne informacije: indeks korištenog filtra.

Ovdje i dalje: zapravo, naravno, postoje mnogi drugi parametri (na primjer, oni "magični" T = 1,2,4,8), ali da nas ne bi zamarali, nećemo sada o njima. Ima ih mnogo, spominjat će se o njima u odjeljku o strojnom učenju, ali ću izostaviti pojedinosti kako ne bih opteretio prezentaciju brojem parametara.

Rasterska razina: binarizacija

Sljedeći korak je dobivanje crno-bijele slike, gdje će crna odgovarati prisutnosti "boje", a bijela njenoj odsutnosti. To je učinjeno jer brojni algoritmi, na primjer dobivanje konture objekta, ne rade s polutonovima. Jedan od naj jednostavnih načina binarizacija je filtriranje praga (odabiremo t kao vrijednost praga, svi pikseli s intenzitetom većim od t su pozadina, manje - "boja"), ali zbog niske prilagodljivosti češće se koristi otsu prag ili adaptivni gaussov prag .

Unatoč prilagodljivosti naprednijih metoda, one još uvijek sadrže granične vrijednosti koje određuju "količinu" izlaznih informacija. U slučaju strožih pragova, neki elementi se mogu izgubiti; u slučaju "mekih" pragova može se pojaviti "šum".

Snažan prag Slab prag

Možete pokušati točno pogoditi pragove za svaku sliku, ali mi smo krenuli drugim putem - koristili smo korelaciju između dobivenih slika s različitim pragovima adaptivne binarizacije:
  • Razmatramo jaku i slabu binarizaciju (sa zadanim pragovima t1 i t2);
  • Slike dijelimo u skup povezanih regija piksel po piksel ();
  • Uklanjamo sve “slabe” segmente koji imaju korelaciju s odgovarajućim jakima manju od navedene (cratio);
  • Uklanjamo sve "slabe" segmente niske gustoće (proporcije crno/bijelih piksela su manje od navedenog omjera bw);
  • Preostali "slabi" segmenti su rezultat binarizacije.
Kao rezultat U većini slučajeva dobivamo sliku bez šuma i bez gubitka detalja:

Opisano rješenje može izgledati čudno, u svjetlu činjenice da smo se htjeli “riješiti” jednog parametra, ali smo uveli hrpu drugih, ali glavna ideja je da je ispravnost binarizacije sada osigurana ako je “pravi” prag binarizacije pada unutar intervala , zaključeno između naših odabranih t1 i t2 (iako ne možemo "beskonačno" povećavati ovaj interval, također postoji ograničenje razlike između t1 i t2).

Ideja je prilično održiva kada se koristi s različitim metodama filtriranja pragova, a OpenCV je "pomogao" prisutnošću ugrađenih funkcija adaptivnog filtriranja:
cv::adaptiveThreshold(image, strongBinarized, 255, cv::ADAPTIVE_THRESH_GAUSSIAN_C, CV_THRESH_BINARY, strongBinarizeKernelSize, strongBinarizeTreshold); cv::threshold(slika, otsuBinarized, otsuThresholdValue, 255, cv::THRESH_OTSU);
Ako rezultirajuća slika uopće ne sadrži segmente, vjerojatno postoji pogreška filtriranja i vrijedi razmisliti o drugom predfilteru (“ Povratne informacije"; “one” plave strelice na slici strukture motora).

Primitivna razina: vektorizacija

Sljedeći korak u procesu prepoznavanja je pretvaranje skupova piksela (segmenata) u primitive. Primitive mogu biti figure - krug, skup segmenata, pravokutnik (konkretan skup primitiva ovisi o problemu koji se rješava) ili simboli.

Iako ne znamo kojoj klasi dodijeliti svaki objekt, pokušavamo ga vektorizirati različiti putevi. Isti skup piksela može se uspješno vektorizirati i kao skup segmenata i kao znak, na primjer "N", "I". Ili krug i simbol - "O". U ovoj fazi ne moramo pouzdano znati koju klasu objekt ima, ali moramo imati određenu metriku sličnosti objekta s njegovom vektorizacijom u određenoj klasi. To se obično rješava skupom funkcija prepoznavanja.

Na primjer, za skup piksela, dobit ćemo skup sljedećih objekata (nemojte razmišljati o određenim metričkim brojevima, oni su dani da predstavljaju ono što želimo od procesa prepoznavanja, ali sami po sebi još nemaju smisla ):

  • vektorizacija u obliku znak "H" s metričkom vrijednošću (udaljenosti) od 0,1 (možda je ovo H);
  • vektorizacija u obliku znak "R" s metričkom vrijednošću od 4,93 (malo vjerojatno, ali moguće je da je ovo R);
  • vektorizacija u obliku tri segmenta"|", "-", "|" s metričkom vrijednošću od 0,12 (sasvim je moguće da se radi o tri segmenta);
  • vektorizacija kao pravokutnik s bočnim dimenzijama x, y s metričkom vrijednošću od 45,4 (uopće ne izgleda kao pravokutnik);
  • vektorizacija kao krug s metričkom vrijednošću +inf (garantirano nije krug);
Da bi se dobila lista vektorizacija, potrebno je implementirati primitive za prepoznavanje za svaku pojedinu klasu.
Prepoznavanje skupa segmenata
Obično se rasterska površina vektorizira u skup segmenata kako slijedi:

U OpenCV-u ne postoji gotov filter za stanjivanje, ali ga nije nimalo teško implementirati. Dijeljenja na segmente (decorner) također, ali to je potpuno trivijalno: iz područja izbacujemo sve točke koje imaju više od dva susjeda. Ali aproksimacija točaka kao skupa segmenata prisutna je u OpenCV-u i mi smo je koristili:
cv::approxPolyDP(krivulja, approxCurve, approxEps, zatvoreno); // aproksimacija krivulje -> approxCurve
Važan parametar je tolerancija aproksimacije ( približno Eps), povećanjem kao rezultat dobivamo veći broj segmenata, a smanjenjem dobivamo grublju aproksimaciju, a posljedično i veću metričku vrijednost. Kako Pravo odabrati njega?

Prvo, prilično jako ovisi o prosječnoj debljini linije (intuitivno - što je veća debljina linije, to je manje detalja; crtež nacrtan oštrom olovkom može biti puno detaljniji od onog nacrtanog markerom), što smo mi koristili u naša implementacija:
approxEps = prosječna debljina crte * magični faktor vektorizacije crte;
Drugo, uzimajući u obzir gore opisani pristup klasifikaciji objekata, moguće je pokušati vektorizirati segmente s različitim approxEps (s određenim korakom) i već u fazi analize logičke strukture odabrati "prikladniji".

Kružno prepoznavanje
Prilično jednostavno:
  • Tražimo središte kružnice (prosjek koordinata točaka) - (x,y);
  • Tražimo radijus (prosječnu udaljenost točaka od centra) - r;
  • Računamo pogrešku: prosječnu udaljenost po točkama do kruga sa središtem (x,y) i radijusom r i debljinom prosječne LineThickness;
  • Izračunavamo dodatnu kaznu za prekidanje krugova: magicCirclePenalty * (% prekida).
Nakon selekcije magicCirclePenalty S ovim kodom nije bilo apsolutno nikakvih problema, kao ni sa sličnim prepoznavanjem pravokutnika.
Prepoznavanje likova
Mnogo je zanimljiviji dio jer... Ovo je izazovan problem - ne postoji niti jedan algoritam koji tvrdi da ima "najoptimalnije" performanse prepoznavanja. Apsolutno postoje jednostavne metode, na temelju , postoje složeniji, na primjer korištenje , ali nijedan ne jamči "dobru" kvalitetu prepoznavanja.

Stoga se činilo sasvim prirodnim odlučiti koristiti nekoliko podsustava za prepoznavanje znakova i odabir zbirnog rezultata: ako je p1 = metrička vrijednost koju algoritam 1 prepoznaje područje A kao znak s, a p2 = metrička vrijednost koju algoritam 2 područje A se prepoznaje kao znak s, tada konačna vrijednost p = f(p1,p2). Odabrali smo dva algoritma koji imaju prikladno usporedive vrijednosti, velika brzina i dovoljna stabilnost:

  • prepoznavanje na temelju Fourierovih deskriptora;
  • maske kvadratnog odstupanja točaka.
Prepoznavanje znakova na temelju Fourierovih deskriptora
priprema:
  • Dobivanje vanjske konture objekta;
  • Pretvaranje koordinata konturnih točaka (x;y) u kompleksne brojeve x+iy;
  • Diskretna Fourierova transformacija skupa ovih brojeva;
  • Odbijanje visokofrekventnog dijela spektra.
Prilikom izvođenja inverzne Fourierove transformacije dobivamo skup točaka koji opisuje izvornu figuru s danim stupnjem aproksimacije (N je broj preostalih koeficijenata):

Operacija "prepoznavanja" sastoji se od izračunavanja Fourierovih deskriptora za prepoznato područje i njihove usporedbe s unaprijed definiranim skupovima odgovornim za podržane znakove. Da bi se dobila metrička vrijednost iz dva skupa deskriptora, potrebno je izvršiti operaciju koja se zove konvolucija: d = sum((d1[i]-d2[i])*w[i], i=1,N), gdje d1 i d2 su skupovi Fourierovih deskriptora, a w je vektor težina za svaki koeficijent (dobili smo ga strojnim učenjem). Vrijednost konvolucije nepromjenjiva je u odnosu na skalu uspoređivanih simbola. Osim toga, funkcija je otporna na visokofrekventni šum (nasumične piksele koji ne mijenjaju "geometriju" figure).

OpenCV je od velike pomoći u implementaciji ove metode; Postoji gotova funkcija za dobivanje vanjskih kontura objekata:
cv::findContours(slika, pohrana, CV_RETR_EXTERNAL);
Postoji i funkcija za izračunavanje diskretne Fourierove transformacije:
cv::dft(src, dst);
Sve što preostaje je implementirati konvoluciju i međupretvorbe tipa, spremajući skup deskriptora.

Metoda je dobra za rukom pisane znakove (možda zato što drugi daju rezultate slabije kvalitete u odnosu na nju), ali je slabo prikladna za znakove niske razlučivosti zbog činjenice da visokofrekventni šum, to jest "dodatni" pikseli postaju veliki u odnosu na cijelu sliku i počinju utjecati na one koeficijente koje ne odbacujemo. Možete pokušati smanjiti broj koeficijenata koji se uspoređuju, ali tada postaje teže birati između sličnih malih simbola. I tako je uvedena druga metoda prepoznavanja.

Prepoznavanje znakova na temelju maski kvadratnog odstupanja
Ovo je prilično intuitivno rješenje, koje, kako se pokazalo, radi izvrsno za ispisane znakove bilo koje rezolucije; ako imamo dvije crno-bijele slike iste rezolucije, tada ih možemo naučiti uspoređivati ​​piksel po piksel.

Za svaku točku slike 1 obračunava se kazna: minimalna udaljenost na sliku točke 2 iste boje. Sukladno tome, metrika je jednostavno zbroj kazni s normalizirajućim koeficijentom. Ova će metoda biti mnogo stabilnija na slikama niske razlučivosti sa šumom - za sliku sa stranicom duljine n, broj pojedinačnih piksela do k posto neće "pokvariti" metriku za više od k * n u najgorem slučaju, au praktičnim slučajevima - ne više od k, jer su u većini slučajeva susjedni "ispravnim" pikselima slike.

Nedostatak metode, u prezentaciji kako sam opisao, bit će mala brzina raditi. Za svaki piksel (O(n 2)) izračunavamo minimalnu udaljenost do piksela iste boje druge slike (O(n 2)), što daje O(n 4).

Ali ovo se može prilično lako riješiti predračunom: napravimo dvije maske penalty_white(x,y) i penalty_black(x,y) koje će pohraniti unaprijed izračunate vrijednosti kazni za činjenicu da je piksel (x, y) ispada da je bijelo, odnosno crno. Tada se proces "prepoznavanja" (to jest, izračunavanje metrike) uklapa u O(n 2):
za (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); } }
Sve što preostaje je pohraniti maske (penalty_white, penalty_black) za svako pisanje svakog znaka i razvrstati ih tijekom procesa prepoznavanja. OpenCV nam praktički neće pomoći u implementaciji ovog algoritma, ali je trivijalan. Ali, kao što sam već rekao, slike koje se uspoređuju moraju biti iste razlučivosti, pa vam za pretvaranje jedne u drugu možda treba funkcija:
cv::promjena veličine(temp, temp, cv::Veličina(veličina_x, veličina_y), 0.0, 0.0);
Ako se vratimo na opći proces prepoznavanja znakova, tada kao rezultat pokretanja obje metode dobivamo tablicu metričkih vrijednosti:

Vrijednost prepoznavanja nije jedan element, već cijela tablica, iz koje znamo da je s najvećom vjerojatnošću znak “C”, ali možda je “0”, ili “6” (ili “O”, ili “ c”, koji nije stao na ekran). A ako je zagrada, vjerojatnije je da će biti početna nego završna. Ali zasad ne znamo je li to uopće simbol...

Primitivna razina: odvajanje

Da živimo u idealnom svijetu super-moćnih (kvantnih?) računala, onda najvjerojatnije ovaj korak ne bi bio potreban: ​​imamo kolekciju nekih objekata, za svaki od kojih postoji tablica "vjerojatnosti" koja određuje o čemu se točno radi. Prolazimo kroz sve elemente u tablici za svaki objekt, gradimo logičku strukturu i odabiremo najvjerojatnije (na temelju zbroja metrika pojedinačnih objekata) od valjanih. Ništa strašno, osim možda eksponencijalne složenosti algoritma.

Ali u praksi obično morate odrediti zadani tip objekta. To jest, odaberite neku gotovu interpretaciju objekata na slici, a zatim je možda malo promijenite. Zašto nismo mogli odabrati vrstu objekata u prethodnom koraku (vektorizacija)? Nismo imali dovoljno statističkih podataka o svim objektima, a ako interpretiramo određeni skup piksela odvojeno od cijele slike, pouzdano određivanje njegovog značenja postaje problematično.

Ovo je jedno od najvažnijih pitanja u prepoznavanju strukturnih informacija. Za osobu je sve puno bolje s ovim nego za stroj, jer on jednostavno ne zna vidjeti piksele pojedinačno. I jedna od početnih faza razočaranja u izgradnji OCR sustavi je pokušaj algoritmiziranja naizgled ljudskog pristupa “korak po korak” i time dobivanje nezadovoljavajućih rezultata. Čini se da bi baš sada trebalo malo poboljšati primitivne algoritme za prepoznavanje da “ne griješe” i dobit ćemo bolje rezultate, ali uvijek postoji nekoliko slika koje “pokvare” svaku logiku.

I tako, pitamo osobu što je to -
Naravno, to je samo zakrivljena linija. Ali ako ga trebate klasificirati ili kao simbole ili kao skup ravnih segmenata, što je to onda? Tada je najvjerojatnije ili slovo "l" ili dvije ravne crte pod kutom (kut je jednostavno nacrtan zaobljen). Ali kako odabrati pravo tumačenje? Stroj je mogao riješiti približan problem u prethodnom koraku i točno ga je riješio s vjerojatnošću 1/2. Ali 1/2 je potpuni promašaj za sustav prepoznavanja strukturnih informacija, jednostavno ćemo pokvariti strukturu, neće proći validaciju, morat ćemo ispravljati "greške", koje se u sretnoj vjerojatnosti možda neće poklapati s pravim problem. Možemo dobiti bilo što.

Ali ako pogledamo susjedne objekte, puno toga može postati jasno:

Čak i ako se nikada niste susreli sa strukturnim formulama u kemiji, iz nekog razloga iz ove slike postaje očito da je to veza (crta, ravna linija ili dvije ravne crte sa zaobljenim kutom). Vidimo sliku tri simbola, vidimo koliko su uredni, procjenjujemo njihovu približnu veličinu i razumijemo da "zaobljena stvar" nije simbol.

Postoji još jedna opcija:

Vidjeli smo liniju koja je potpuno ravna, vidjeli smo "idealan" simbol koji stoji pored nje, naš objekt je slične veličine, iako je lošije nacrtan. Ovdje je teže reći sa sigurnošću, ali ako znamo da spojevi trebaju povezivati ​​objekte, a nema ničega u smjeru krajeva našeg objekta, onda je malo vjerojatno da će to biti spoj. A ako se sjetimo da je "Cl" (klor) vrlo vjerojatna kombinacija simbola u našem predmetno područje, onda da, to je još uvijek simbol "l".

Ovdje sam praktički skicirao nacrt algoritma za razdvajanje slobodnim stilom. A sada još formalnije.

Dio praga:

  • Ako je u tablici metrike za neki objekt samo jedna vrijednost “dobra” (blizu nule), a sve ostale se razlikuju barem za konstantu C, tada je označavamo odgovarajućom klasom.
Ovo je sjajno, ali ne događa se uvijek.

Za ostale objekte pribjegavamo statističkoj analizi:

  • Definicija prosječne veličine potencijal simboli i odstupanja od njih;
  • Određivanje prosječne duljine potencijal linije, odstupanje od njega;
  • Određivanje srednje zakrivljenosti potencijal linije;
  • Određivanje prosječne debljine linija i simbola;
  • I drugi statistički kriteriji, na primjer hu momenti (koje OpenCV usput može brojati).
Još uvijek ne znamo za svaki objekt koju klasu ima, samo gledamo tablicu metrike i odabiremo objekt koji mu je najbliži po vrijednosti - to je ono što mislim pod pojmom " potencijal".

Zatim gradimo klasifikacijsko stablo, čiji čvorovi mogu sadržavati sljedeće uvjete: (ako je visina objekta u rasponu od prosječne_visine_znaka-1 do prosječne_visine_znaka+2, i ima zakrivljenost veću od 3*prosječne_zakrivljenosti_linije i njegove duljine je manja od 0,5*prosječne duljine linija), onda je označena kao simbol. Metoda za konstruiranje klasifikacijskih stabala je dobro opisana, pa ću si dopustiti da je ne ponavljam.

Nakon prolaska statističkog dijela neki će objekti biti označeni hipotetskim klasama. U većini praktičnih slučajeva - gotovo svi objekti. Ako nismo uspjeli označiti barem polovicu predmeta, onda je najvjerojatnije nešto pošlo po zlu s nama (a to se često događa za rukom pisane slike). Ali nemojmo "očajavati" i jednostavno odaberimo polovicu objekata s najmanjim metričkim vrijednostima i označimo ih bez uzimanja u obzir statističkih podataka (za ovu čudnu vijugu iz primjera - samo pogledajte tablicu udaljenosti i je li bliže na "l", tada ćemo mu dodijeliti simbol "l". Već sam opisao koji problemi mogu nastati u ovom slučaju, ali ovo je prisilno rješenje).

Za ostale objekte primjenjujemo lokalnu analizu:

  • Pronađimo sve susjede za odabrani objekt;
  • Ako neki od susjeda već imaju odabranu klasu, tada ćemo odabrati vjerojatniju iz tablice vjerojatnosti lokalnih konfiguracija;
  • Dodatno: ako nema drugih predmeta u smjeru krajeva predmeta, onda je to simbol.
Za preostale objekte odabrat ćemo "zadanu" klasu - onu koja je bliža metričkom vrijednošću.

Kao rezultat svih muka, sliku možemo podijeliti na skup objekata koji bi trebali biti simboli i dio koji je odgovoran za strukturu.

Strukturna razina

Sada ostaje samo sastaviti gotovu strukturu iz skupa elemenata. Ovdje, naravno, sami algoritmi počinju uvelike ovisiti o predmetnom području.

Ne ulazeći u kemijske detalje, u Imago OCR-u radimo sa slikama molekula, koje u biti predstavljaju graf veza, na čijim vrhovima se nalaze oznake (skup simbola), pa je zadatak sastavljanja same strukture prilično trivijalan . Ali nije svaka kombinacija simbola valjana oznaka atoma i ne može se svaki skup segmenata koristiti za konstruiranje valjanog grafa. Oznake mogu koristiti indekse, superskripte, znakove punjenja i nizove zagrada. Za daljnje predstavljanje odabrat ću najzanimljivije i moguće potencijalno korisne točke.

Obrada grafa strukture
Prvi važan korak je zapravo dobiti ovaj grafikon. Nakon vektorizacije, sve što imamo je skup različitih segmenata, od kojih svaki ima "početak" i "kraj", koje sam označio kružićima na slici strukture:


Statistički odredimo prosječni radijus mogućeg lijepljenja, a segmente čiji krajevi leže unutar tog radijusa “sakupimo” u vrhove grafa:


Radijus se može odrediti na ovaj način: za svaki vrh izračunajte minimalnu udaljenost do njegovih susjeda i pronađite vrh histograma. Ako ovaj vrh daje radijus veći od prosječne veličine simbola, tada možemo pretpostaviti da svi segmenti nisu povezani.

Zatim uklanjamo rubove koji su prekratki:


Rubovi koji su prekratki rezultat su vektorizacije linija s artefaktima (zavoji, šum piksela). Imamo prosječnu veličinu simbola, možemo pretpostaviti da su duljine veze kraće od veličine simbola nemoguće (uz niz iznimaka koje se provjeravaju na poseban način - kemijska specifičnost).

Gore opisane točke također će biti korisne prilikom prepoznavanja tablica, na primjer. Također imamo traženje više rubova, pronalaženje "mostova" (planarne slike rubova koji se ne sijeku), pronalaženje slika "strelica". Mnogo je prikladnije sve to učiniti kada radite sa strukturom grafikona, a ne s srednjim rezultatima prepoznavanja - nema potrebe za postizanjem "idealne" vektorizacije.

Montaža i obrada oznaka
Za simbole ih je potrebno objediniti u skupine, a ovdje se koristi rješenje slično “sastavljanju” grafa. Svaku skupljenu oznaku potrebno je prepoznati, a budući da mogu postojati nadredni i donji indeksi, zadatak postaje zanimljiviji.
Prvo se izračunava "osnovna linija" oznake:
Ovo je ravna crta (u suštini samo određena vrijednost baseline_y), iznad koje se nalaze velika slova oznake, a ispod koje leže indeksi. Statistika će nam pomoći da odredimo baseline_y:
  • određivanje prosječne veličine velikog slova (većina znakova ima različito pisanje velikih i malih slova);
  • pri analizi svake specifične oznake odaberite prosječnu vrijednost koordinate g za sve znakove čija je veličina unutar prosjeka.
Zašto uzimamo prosjek, a ne maksimum (crta treba ići ispod simbola oznake)? Ovako je stabilnije; ako pogriješimo u tumačenju simbola kao kapitala, možemo pogrešno klasificirati indeks kao kapital, podvući crtu ispod njega i prema tome “više nećemo imati indekse”. Odabir prosjeka, s jedne strane, ne mijenja značajno vrijednost baseline_y u dobrim slučajevima, a s druge strane, cijena pogreške netočnog odabira velikih znakova pada.

Zatim prepoznajemo likove, jednog po jednog. Za svaki znak izračunavamo:

  • % njegove visine leži ispod osnovne crte;
  • odnos prema prosječnoj visini kapitalnih znakova.
Rješenje praga u vezi s ovim parametrima bilo bi prilično nesretno: ako je najmanje 30% simbola ispod osnovne linije, tada je to indeks. Što ako 29? Općenito, cijeli proces prepoznavanja najbolje se može opisati idejom pačjeg testa. Ako nešto izgleda kao indeks, onda je najvjerojatnije indeks. I izgleda kao indeks, ako još manje liči na nešto drugo.

Što čini simbol vjerojatnijim da bude indeks? Što je manji i što je niži u odnosu na osnovnu liniju. Vjerojatnije je da će brojevi biti i indeks. Jedna od dobrih ideja u prepoznavanju bila je upotreba skupa promjena popisa metrika (sjećate li se da za svaki objekt pohranjujemo sve moguće objekte slične njemu?). Sada su ovom skupu metrika dodane i interpretacije kao indeksi. Ove metričke vrijednosti, prvotno kopirane iz normalnih vrijednosti, mijenjaju se tijekom procesa prepoznavanja:

  • Ako simbol leži k% ispod osnovne linije, tada se metrika za njegovo tretiranje kao indeks smanjuje za f(k) puta;
  • Ako je simbol n% manji u visini od prosječne visine, tada se metrika za njegovu interpretaciju kao simbola a..z smanjuje za g(n) puta.
Sukladno tome, u procesu prepoznavanja, nakon primjene svih pravila, jednostavno odabiremo interpretaciju s najnižom metričkom vrijednošću - to je pobjednički simbol, najsličniji. Ali ipak nećemo “zaboraviti” druga tumačenja.
Validacija oznake
Sljedeći korak nakon primanja gotovih interpretacija oznaka u cijelosti je njihova validacija. Svako predmetno područje ima svoje: za ruski jezik ovo je provjera pomoću rječnika, za niz identifikatora to može biti kontrolni zbrojevi, au kemiji - skup dopuštenih elemenata. Da bismo implementirali ovaj određeni dio, još uvijek čuvamo pun skup alternativa za svaki objekt.

Neka se naša oznaka sastoji od dva znaka: (c1, c2)
Štoviše, c1 je "Y" s metričkom vrijednošću 0,1 i "X" s metričkom vrijednošću 0,4;
c2 je "c" s metričkom vrijednošću 0,3 i "e" s metričkom vrijednošću 0,8
Mogao bih samo napisati da je naš znak Yc. Ali oznaka Yc Ne vrijedi. Da bismo dobili valjanu oznaku, možemo nabrojati moguće alternative i odabrati valjanu. Među važećima je onaj čija je ukupna vrijednost metrike minimalna.
U ovom slučaju, od sve 4 opcije, samo je jedna važeća " Xe", dajući konačnu metriku od 1,2.

Čini se da smo riješili problem, sada je vrijednost oznake važeća. Ali što ako je autor slike htio upotrijebiti "Yc", protivno ispravnosti. Kako bismo ovo razumjeli, oduzimamo novu metričku vrijednost (1,2) od stare (0,4) i tumačimo dobivenu razliku (0,8). Može se usporediti s određenim pragom, a ispravak se može zabraniti ako ga premaši. Ali kako odabrati ovaj prag?

Strojno učenje

Kako općenito birate brojne konstante i granična ograničenja koja se koriste u procesu prepoznavanja? Početne vrijednosti, naravno, možete odabrati na temelju zdravog razuma, ali hoće li oni biti optimalni?

Rješenje takvih problema može se djelomično povjeriti stroju - da izvodi nasumične promjene parametara i odabire one koji daju prosjek najbolji rezultat. Slučajne promjene mogu se sistematizirati pomoću modifikacije

Sustavi za optičko prepoznavanje znakova (OCR) dizajnirani su za automatski unos ispisanih dokumenata u računalo.

FineReader je omnifont sustav za optičko prepoznavanje teksta. To znači da vam omogućuje prepoznavanje tekstova upisanih gotovo svim fontovima bez prethodne obuke. Posebna značajka programa FineReader je njegova visoka točnost prepoznavanja i niska osjetljivost na ispisne greške, što se postiže korištenjem tehnologije “holističkog ciljanog adaptivnog prepoznavanja”.

Proces unosa dokumenta u računalo može se podijeliti u dvije faze:

1. Skeniranje. U prvoj fazi skener igra ulogu "oka" vašeg računala: on "gleda" sliku i prenosi je na računalo. U ovom slučaju, rezultirajuća slika nije ništa više od skupa crnih, bijelih ili obojenih točaka, slika koja se ne može uređivati ​​niti u jednom uređivaču teksta.

2. Priznanje. Obrada slike OCR sustavom.

Pogledajmo drugi korak detaljnije.

Obrada slike sustavom FineReader uključuje analizu grafičke slike koju prenosi skener i prepoznavanje svakog znaka. Procesi analize izgleda stranice (određivanje područja prepoznavanja, tablica, slika, isticanje redaka i pojedinačnih znakova u tekstu) i prepoznavanja slike usko su povezani: algoritam pretraživanja bloka koristi informacije o prepoznatom tekstu za točniju analizu stranice. .

Kao što je već spomenuto, prepoznavanje slike provodi se na temelju tehnologije "holističkog ciljanog adaptivnog prepoznavanja".

Integritet- predmet se opisuje kao cjelina pomoću značajnih elemenata i odnosa među njima.

Usredotočenost- prepoznavanje se gradi kao proces postavljanja i svrhovitog testiranja hipoteza.

Prilagodljivost- sposobnost OCR sustava za samoučenje.

U skladu s ova tri principa, sustav prvo postavlja hipotezu o objektu prepoznavanja (simbolu, dijelu simbola ili više zalijepljenih simbola), a zatim je potvrđuje ili opovrgava, pokušavajući sekvencijalno detektirati sve strukturne elemente i odnose povezujući ih. Svaki strukturni element sadrži dijelove koji su značajni za ljudsku percepciju: segmente, lukove, prstenove i točke.

Slijedeći princip prilagodljivosti, program se sam “prilagođava” koristeći pozitivna iskustva stečena prvim pouzdano prepoznatim simbolima. Ciljano pretraživanje i uzimanje u obzir konteksta omogućuje prepoznavanje iskidanih i iskrivljenih slika, čineći sustav otpornim na moguće nedostatke u pisanju.

Kao rezultat vašeg rada, prepoznati tekst pojavit će se u prozoru FineReadera, koji možete urediti i spremiti u formatu koji vam najviše odgovara.

Nove značajke abbyy FineReader 7.0

Točnost prepoznavanja

Točnost prepoznavanja je poboljšana za 25%. Dokumenti sa složenim rasporedom bolje se analiziraju i prepoznaju, posebno oni koji sadrže dijelove teksta na pozadini u boji ili pozadini koja se sastoji od malih točkica, dokumenti sa složenim tablicama, uključujući tablice s bijelim razdjelnicima, tablice s ćelijama u boji

U nova verzija Dodani specijalizirani rječnici za engleski i njemački, uključujući najčešće korištene pravne i medicinske pojmove. To vam omogućuje postizanje kvalitativno nove razine u prepoznavanju pravnih i medicinskih dokumenata.

Podrška za formatXMLi integracija saMicrosoftUred

Pojavio se u FineReaderu novi format spremanje - Microsoft Word XML. Sada će korisnici nove verzije Microsoft Office 2003 moći raditi s dokumentima koje prepoznaje FineReader, koristeći sve prednosti XML formata!

Integracija FineReadera s Microsoft Wordom 2003 omogućuje vam kombiniranje moćnih mogućnosti ove dvije aplikacije za obradu prepoznatog teksta. Moći ćete provjeriti i urediti rezultate prepoznavanja pomoću poznatih Word alata, dok istovremeno provjeravate tekst prenesen u Word s originalna slika- prozor Zoom FineReader otvara se izravno u prozoru programa Word.

Nove značajke učinit će vaš rad praktičnijim. Prilikom izrade Word dokumenta možete pozvati FineReader, prepoznati tekst i umetnuti ga na mjesto dokumenta gdje se nalazi pokazivač, odnosno jednostavno možete prikupiti informacije iz različitih papirnatih izvora ili PDF datoteka u jedan dokument. Rezultati prepoznavanja sada se mogu poslati putem e-pošta kao privitak u bilo kojem od podržanih formata spremanja.

Poboljšane performanseFineReaderSPDFdokumenata

Kvaliteta prepoznavanja PDF datoteka značajno je poboljšana. Većina dokumenata osim slike stranice sadrži i tekst. FineReader 7.0 može izdvojiti ovaj tekst i koristiti ga za provjeru rezultata i poboljšanje kvalitete prepoznavanja.

Sada možete uređivati ​​prepoznate PDF dokumente u prozoru uređivača FineReader: napravljene promjene bit će spremljene u bilo kojem od načina spremanja PDF datoteka podržanih u programu.

Format PDF datoteka koje stvara FineReader optimiziran je za objavljivanje na Internetu - korisnik će moći vidjeti sadržaj prvih stranica dok se ostatak dokumenta preuzima.

Nove mogućnosti uštede

Novi format za spremanje rezultata prepoznavanja - MicrosoftPowerPoint- omogućuje brzo stvaranje novih prezentacija ili uređivanje postojećih.

Prilikom spremanja u MicrosoftRiječ Smanjena je veličina rezultirajuće datoteke, poboljšano je očuvanje oblikovanja dokumenta s različitim graničnicima, a pojavile su se i nove opcije za spremanje slika.

Poboljšan prikaz složenih elemenata izgleda prilikom spremanja

V HTML, na primjer, omatanje teksta oko nepravokutnih slika. Osim toga, smanjena je veličina HTML datoteke, što je vrlo važno za objavljivanje dokumenata na Internetu.

Jednostavnost korištenja

Ažurirano intuitivno korisničko sučelje. Postalo je praktičnije raditi s profesionalnim postavkama. Alatne trake za uređivanje premještene su u prozor u kojem se prikazuju rezultati prepoznavanja. Pojavili su se zgodni alati za upravljanje prozorima FineReadera: na primjer, možete postaviti prikladnu razinu povećanja u svakom prozoru.

Ažurirano praktični vodič za poboljšanje kvalitete prepoznavanja pomoći će korisniku početniku da brzo započne, a iskusniji korisnik će moći najbolje konfigurirati program za postizanje izvrsnih rezultata pri radu s bilo kojom vrstom dokumenata.

Profesionalne mogućnosti

Sada u verziji FineReaderProfesionalniIzdanje one značajke koje su prije bile dostupne samo korisnicima verzije postale su dostupne KorporativnoIzdanje:

Poboljšano prepoznavanje bar kodovi, PDF-417 dvodimenzionalno prepoznavanje crtičnog koda je podržano.

Alat za dijeljenje slike. Pomoću njega možete podijeliti slike u područja i spremiti svako područje kao zasebnu stranicu paketa. To olakšava prepoznavanje više posjetnica skeniranih zajedno, knjiga ili ispisa PowerPoint slajdova prezentacija.

Morfološka pretraga. Svaki paket kreiran u FineReaderu može se koristiti kao mala baza podataka

s mogućnošću morfološkog pretraživanja cijelog teksta. Među svim prepoznatim stranicama paketa možete pronaći one stranice koje sadrže navedene riječi u svim njihovim gramatičkim oblicima (za 34 jezika s podrškom za rječnik).

Podrška za procesorIntelkoristeći tehnologijuHiper- Urezivanje niti. Korištenje ove tehnologije može značajno povećati produktivnost, što je osobito važno ako je zadatak prepoznavanje velikog broja dokumenata.

FineReader 7.0 također predstavlja druge profesionalne značajke:

Dvostrano skeniranje. Skeniranje dokumenta s ispisanim

s tekstom na obje strane pomoću skenera koji podržava ovu opciju dobit ćete slike sadržaja svake strane u obliku dvije odvojene stranice paketa. Ako trebate skenirati samo jednu stranu dokumenta, možete onemogućiti ovu opciju.

Podržano je otvaranje grafičkih datoteka formata JPEG 2000 i spremanje u ovom formatu.

MrežamogućnostiverzijeFineReader Corporate Edition

Sve značajke instaliranja i korištenja FineReader Corporate Edition na korporativnoj mreži detaljno su opisane u Vodiču za administratore sustava koji možete pronaći u podmapi Administrator" sVodič mape poslužitelja u kojima je instaliran FineReader.

Glavna poboljšanja u odnosu na prethodnu verziju:

Podrška za osnovne metode automatske instalacije s poslužitelja na radne stanice. FineReader Corporate Edition podržava sve glavne metode automatske instalacije na lokalnoj mreži: koristeći Active Directory, Microsoft Systems Management Server ili korištenje naredbenog retka.

Rad s višenamjenskim uređajima, uključujući mrežne. Višenamjenski uređaji koji objedinjuju funkcije skenera, pisača, kopirnog stroja i faksa postaju sve popularniji. Sada nije potrebno svakom zaposleniku instalirati vlastiti skener – dovoljan je jedan moćan uređaj, s kojim rade svi korisnici organizacije. FineReader može raditi s takvim uređajima, spojenim na radnu stanicu i umreženim. Posebne programske postavke omogućuju korisniku automatsko otvaranje skeniranih slika s bilo kojeg mjesta na lokalnoj mreži ili s FTP poslužitelja i njihovo prepoznavanje

Razni modeli količinskog licenciranja. Osim licenciranja na temelju broja istodobnih korisnika, dostupni su i drugi načini licenciranja. Možete odabrati opciju koja najbolje odgovara vašim potrebama.

LicencaMenadžer- alat za upravljanje licencama na mreži. U FineReaderKorporativnoIzdanje pojavio se praktičan uslužni program za upravljanje licencama (License Manager). Pomaže pratiti korištenje FineReadera na radnim stanicama, rezervirati licence za radne stanice i dodati nove licence.

Svaka skenirana informacija je grafička datoteka (slika). Stoga se skenirani tekst ne može uređivati ​​bez posebnog prijevoda u tekstualni format. Ovaj prijevod se može izvršiti pomoću sustavi za optičko prepoznavanje znakova (OCR).

Za primanje elektroničke (spremne za uređivanje) kopije tiskani dokument OCR program treba izvršiti niz operacija, među kojima su sljedeće:

1. Segmentacija- "slika" primljena od skenera podijeljena je na segmente (tekst je odvojen od grafike, ćelije tablice podijeljene su na zasebne dijelove itd.).

2. Priznanje- tekst se pretvara iz grafičkog oblika u uobičajeni tekstualni oblik.

3. Provjera i uređivanje pravopisa - interni sustav provjere pravopisa provjerava i ispravlja rad sustava za prepoznavanje (kontroverzne riječi i simboli označeni su bojom, korisnik je obaviješten o „nesigurno prepoznatim znakovima“)

4. Očuvanje- snimanje prepoznatog dokumenta u datoteku potreban format za daljnje uređivanje u odgovarajućem programu.

Gore navedene operacije u većini OCR sustava mogu se izvesti i automatski (pomoću programa čarobnjaka) i ručno (odvojeno).

Moderni OCR sustavi prepoznaju utipkane tekstove različite fontove; ispravno raditi s tekstovima koji sadrže riječi na nekoliko jezika; prepoznati tablice i slike; omogućuju spremanje rezultata u tekstualnu ili tabličnu datoteku, itd.

Primjeri OCR sustava uključuju CuneiForm tvrtke Cognitive i FineReader tvrtke ABBYY Software.

OCR sustav FineReader pušten u različite verzije(Sprint, Home Edition, Professional Edition, Corporate Edition, Office) i svi oni, od najjednostavnijih do najmoćnijih, imaju vrlo praktično sučelje, a također (ovisno o modifikaciji) imaju niz prednosti koje ih razlikuju od sličnih programa.

Na primjer, FineReader Professional Edition (FineReader Pro) ima sljedeće funkcije:

podržava gotovo dvije stotine jezika (čak i drevne jezike i popularne programske jezike);

prepoznaje grafike, tablice, dokumente na obrascima i sl.;

u potpunosti čuva sve značajke oblikovanja dokumenata i njihov grafički dizajn;

za tekstove koji koriste ukrasne fontove ili sadrže Posebni simboli(na primjer, matematički), omogućen je način rada "Prepoznavanje s obukom", zbog čega se stvara standard znakova koji se nalaze u tekstu za daljnju upotrebu u prepoznavanju;

Kraj posla -

Ova tema pripada odjeljku:

Informacija: svojstva informacije, količina informacije, mjerne jedinice - 13

Predmet i osnovni pojmovi informacijske tehnologije.. informatizacija informacijsko društvo i informatička kultura.. računalne informacijske tehnologije i njihova klasifikacija..

Ako trebate dodatne materijale o ovoj temi ili niste pronašli ono što ste tražili, preporučamo pretraživanje naše baze radova:

Što ćemo učiniti s primljenim materijalom:

Ako vam je ovaj materijal bio koristan, možete ga spremiti na svoju stranicu na društvenim mrežama:

Sve teme u ovom odjeljku:

Uloga informatizacije u suvremenom društvu
Tokovi informacija neprestano rastu, a informacijska barijera neizbježno nastaje kada složenost zadataka obrade tokova informacija nadilazi ljudske mogućnosti. Čovjek je glavni

Informatika kao znanost
Kao što je poznato, karakteristično obilježje 20. i 21.st. je majstorstvo čovječanstva računalne opreme, koji je tako čvrsto ušao u sferu proizvodnje i svakodnevni život da sada rad

Vrste informacija
Informacije mogu postojati u obliku: tekstova, crteža, crteža, fotografija; svjetlo ili zvučni signali; Radio valovi; električnih i živčanih impulsa

Prijenos informacija
Informacija se prenosi u obliku poruke od nekog izvora informacije do primatelja kroz komunikacijski kanal između njih. Je

Količina informacija
Koliko informacija sadrži, primjerice, tekst romana "Rat i mir", Rafaelove freske ili ljudski genetski kod? Znanost ne daje odgovor na ova pitanja i, po svoj prilici,

Obrada podataka
Informacije mogu biti: kreirane; prenositi; percipirati; koristiti; zapamtiti; prihvatiti;

Aritmetičke osnove informacijske tehnologije
Brojevni sustav je skup tehnika i pravila po kojima se brojevi pišu i čitaju. Postoje položajni i nepozicijski brojčani sustavi

Generiranje cijelih brojeva u pozicijskim brojevnim sustavima
U svakom brojevnom sustavu znamenke su poredane prema značenju: 1 je veće od 0, 2 je veće od 1 itd. Promicanje znamenke odnosi se na njezinu zamjenu sljedećom najvećom.

Brojevni sustavi koji se koriste za komunikaciju s računalom
Osim decimalnog, naširoko se koriste sustavi s bazom koja je cjelobrojna potencija broja 2, i to: binarni (koriste se znamenke 0, 1); osam

Pravna osnova informatizacije u Republici Bjelorusiji
U informacijskom dobu, Republika Bjelorusija posvećuje veliku pozornost organiziranju civiliziranog tržište informacija. O tome svjedoče sljedeći usvojeni dokumenti: - zakoni:

Tehnička podrška informacijskim tehnologijama
Tehnička podrška - skup tehničkih sredstava namijenjenih za rad informacijski sistem. Odabire se na temelju količine i složenosti problema koji se rješavaju u poduzeću

Povijest razvoja računalne tehnologije
Nagli razvoj digitalne računalne tehnologije (CT) i pojava znanosti o principima njezine konstrukcije i dizajna počinje 40-ih godina prošlog stoljeća. XX. stoljeća, kada je tehnička osnova VT postala elektronika i

Načela strukture i rada računala Johna von Neumanna
Većina suvremenih računala radi na temelju principa koje je 1945. godine formulirao američki znanstvenik mađarskog podrijetla John von Neumann. 1. Princip binarnog kodiranja

Osnovne PC komponente i periferije
Strukturno, računalo se sastoji od sistemske jedinice, monitora, tipkovnice, miša i vanjskih (perifernih) uređaja. Jedinica sustava(tijelo) je kutija izrađena od metala i plastike

Procesor i njegove glavne karakteristike
Najvažnija komponenta svakog računala je njegov procesor (mikroprocesor) - softverski upravljani uređaj za obradu informacija, izrađen u obliku jednog ili nekoliko velikih ili super velikih

PC vanjski memorijski uređaji
Uređaji služe za pohranjivanje programa i podataka na računalu. vanjska memorija- uređaji za pohranu. U odnosu na računalo mogu biti vanjski i ugrađeni (unutarnji

Ulazno/izlazni uređaji za 3D sliku
Jedan od smjerova razvoja informacijske tehnologije je razvoj uređaja koji omogućuju rad s 3-dimenzionalnim slikama. 3D skener - uređaj koji analizira

PC konfiguracija
Funkcionalnost računala određena je njegovom konfiguracijom - sastavom i karakteristikama njegovih glavnih uređaja: procesora, RAM memorija, tvrdi disk, CD/DVD pogoni, monitor, video

Postavke koje utječu na rad računala
Performanse računala su njegova najvažnija karakteristika. Svi čimbenici i parametri koji utječu na performanse računala općenito se mogu podijeliti na softver i hardver. Utjecaj

Trendovi u razvoju računalne tehnologije
Prema mišljenju stručnjaka, u prvom desetljeću 21.st. Važnost softvera će rasti, a problemi njegove kompatibilnosti i sigurnosti će se povećavati. Među operativni sustavi

Programski princip računalnog upravljanja
Računalo je univerzalni alat za rješavanje raznih problema pretvaranja informacija, ali njegovu svestranost određuje ne toliko hardver koliko instalacija

OS
Operativni sustav (OS) skup je programa dizajniranih za upravljanje učitavanjem, pokretanjem i izvođenjem drugih korisničkih programa, kao i za planiranje i upravljanje računalima.

Windows operativni sustav
Microsoft Corporation počeo je razvijati Windows obitelj operativnih sustava od kasnih 80-ih godina prošlog stoljeća. Danas možemo primijetiti sljedeće operativne sustave ove obitelji: Windows 3.0 / 3.1 / 3.

Windows datotečni sustav
Jezgru operativnog sustava čini modul koji omogućuje upravljanje datotekama – datotečni sustav. Glavni zadatak sustav datoteka- osiguranje programske interakcije

Windows objekti
Jedan od osnovnih pojmova Windowsa je objekt, njegova svojstva i radnje koje se mogu izvršiti nad objektom i koje sam objekt može izvesti. Glavni Windows objekti su:

Windows grafičko sučelje i njegovi elementi
Nakon Windows pokretanje Na ekranu se pojavljuje elektronička radna površina na kojoj se nalaze grafički objekti - ikone (ikone) mapa i datoteka, prečaci itd. Ikone datoteke dokumenta

Postavljanje Windows OS-a
Postavljanje Windows OS-a može se podijeliti u dvije vrste: 1. Postavljanje sučelja i elemenata upravljačke ploče - to može učiniti svaki korisnik. 2. Promjene su skrivene

Servisni programi
Servisni programi proširiti mogućnosti OS-a za održavanje sustava i osigurati udobnost korisnicima. Ova kategorija uključuje sustave Održavanje, softver

Računalni virusi i antivirusni alati
Računalni virus je program koji ima za cilj postojanje i reprodukciju datoteke zbog njezine neovlaštene izmjene, tj. infekcija, kao i izvođenje neželjenih radnji

Arhiviranje
Svrha arhiviranja je osigurati kompaktniji smještaj informacija na disku, kao i smanjiti vrijeme, a time i troškove prijenosa informacija komunikacijskim kanalima u računalnim mrežama.

Opće karakteristike i funkcionalnost programa za arhiviranje WinRAR 3.3
WinRAR je 32-bitna verzija RAR arhivera za Windows, moćan alat za stvaranje i upravljanje arhivskim datotekama. Postoje dvije verzije RAR-a za Windows: 1. Komandna verzija

Instrumentacijski softver
Na instrumental softver uključuju: sustave za programiranje - za razvoj novih programa, na primjer, Pascal, BASIC. To obično uključuje: uređivanje

Međuspremnik međuspremnika
Već u prvom Windows verzije implementiran je ugrađen međuspremnik za međuspremanje podataka Clipboard koji je uvijek aktivan i dostupan svim Windows aplikacijama.

DDE tehnologija
Za razmjenu podataka između aplikacija može se koristiti DDE tehnologija (Dynamic Data Exchange - dinamička razmjena podataka) čija je suština da podaci uneseni kroz međuspremnik

OLE tehnologija
Tehnologija Object Linking and Embedding ima više funkcionalnosti, a ako aplikacija podržava OLE, tada sama vrši razmjenu podataka putem e-maila.

Trendovi operativnih sustava
Glavni pravci razvoja operacijskih sustava su sljedeći: 1. Proširljivost – mogućnost uvođenja dodatnih funkcija bez narušavanja cjelovitosti sustava (sjetimo se Linux OS-a).

Računalna obrada informacija
Postoje mnoge mogućnosti (organizacijski oblici) tehnoloških procesa za obradu informacija. Obično tehnološki proces obrada informacija pomoću računala uključuje

Tehnologije i sustavi za obradu tabličnih informacija (tablični procesori)
Stolni procesori- Ovo programski sustavi za upravljanje proračunskim tablicama. Proračunska tablica (ET) - univerzalni lijek automatizirati izračune nad velikim

Opće karakteristike i funkcionalnost programa Microsoft Excel 2003
Mogu se razlikovati sljedeće funkcionalnost program za obradu teksta Microsoft Excel 2003.: izrada tablica i njihovo spremanje na računalne medije, rad s predlošcima; Posao

Tehnologije i sustavi za obradu grafičkih informacija (računalna grafika)
Računalna grafika jedna je od moderne tehnologije stvaranje i obrada raznih slika pomoću hardvera i softver Računalo. Računalo

Računalni grafički sustavi i njihova funkcionalnost
Sadašnji sustavi računalna grafika(paketi aplikacijski programi, rad s grafičkim slikama) također se mogu klasificirati na različite načine, na primjer:

Grafički formati
Format grafička datoteka(grafički format) zbirka je informacija o slici i metoda za njezino snimanje u datoteku. Grafički podaci, u pravilu, zauzimaju veliku količinu prostora i

Opće karakteristike i funkcionalnost programa Corel DRAW
CorelDRAW je objektno orijentirani programski paket za rad s vektorskom grafikom. Pojam "objektno orijentiran" treba shvatiti u smislu da sve operacije

Opće karakteristike i funkcionalnost programa Adobe PhotoShop
PhotoShop je program za profesionalne dizajnere i sve koji se bave obradom grafičke slike. Omogućuje obradu i ispravljanje slika unesenih u računalo

Tehnologije i sustavi za izradu dinamičkih prezentacija
Prezentacija (slajd film na određenu temu, napravljen u istom stilu i pohranjen u jednoj datoteci) je elektronički dokument složeni multimedijski sadržaj s mogućnostima

Sustavi za izradu prezentacija i njihova funkcionalnost
Tržište paketa za izradu prezentacija razvija se u dva smjera: 1. Alati za izradu prezentacija za neprofesionalne korisnike (npr. Microsoft PowerPoint, Corel Pres.

Opće karakteristike i funkcionalnost Microsoft PowerPointa 2003
Sustav stvaranja PowerPoint prezentacije- je komponenta Microsoft Office a namijenjen je izradi prezentacijskih materijala u obliku slajdova i njihovom prikazivanju na papiru, ekranu, prozirnom filmu

Pojam i povijest razvoja računalnih mreža
Računalna (računalna) mreža je skup računala (računala) međusobno povezanih kanalima za prijenos podataka i korisnicima pružaju sredstva za razmjenu informacija i brojanje.

Lokalne računalne mreže
Glavna posebnost lokalnih mreža je jedinstveni kanal za prijenos podataka velike brzine za sva računala i mala vjerojatnost pojave grešaka u komunikacijskoj opremi.

Osnovne tehnologije i oprema lokalnih mreža
Za organizaciju lokalne mreže potrebni su tehnički, programski i informacijski alati. Mrežna tehnička sredstva uključuju: 1. Računala, tehničke karakteristike

Globalni Internet
Internet (Internet) je globalna računalna mreža, koja je svjetska asocijacija heterogenih računalnih mreža koje čine jedinstven informacijski prostor zahvaljujući korištenju

Adresiranje računala na Internetu
Usmjeravanje između lokalne mreže provodi u skladu s IP adresama koje se nalaze u zaglavlju datagrama. IP adresu dodjeljuje mrežni administrator tijekom konfiguracije računala

Strukturne komponente i protokoli aplikacijskog sloja Interneta
Web stranica je hipertekstualni dokument u .html formatu - najmanja jedinica World Wide Weba. Može sadržavati tekst, grafičke ilustracije, multimedijske i druge objekte, i što je najvažnije

Pojam algoritma i vrste algoritamskih procesa
Svaki problem prije rješavanja na računalu zahtijeva formaliziranu pripremu, uključujući skup odluka o sastavu i sadržaju ulaznih i izlaznih podataka, kao i procedure za pretvaranje ulaznih podataka iz

Alati za programiranje
Alati za programiranje skup su softverski proizvodi, pružajući tehnologiju za razvoj, uklanjanje pogrešaka i implementaciju novih softverskih proizvoda koji se stvaraju. Dijele se na

Baza podataka
Trenutno se pojmovi baza podataka (DB) i sustav upravljanja bazama podataka (DBMS) u pravilu koriste u odnosu na računalne baze podataka. U općem smislu, ovaj se pojam može primijeniti

Fakture Proizvod
Broj računa Šifra kupca Broj računa Proizvod Količina

Hijerarhijski modeli
U hijerarhijskom modelu podaci su organizirani u stablu. Vrhovi takvog stabla nalaze se na različitim razinama. Grupe zapisa u ovoj strukturi nalaze se u određeni slijed, Kako

Mrežni modeli
U mrežni model podaci se prikazuju u obliku zapisa koji su međusobno povezani prema određenim pravilima i tvore mrežu (slika 2.5). Podaci u strukturi mreže su ravnopravni. Primjer

Glavne funkcije baze podataka
Postoji veliki broj programa koji su dizajnirani za strukturiranje informacija, njihovo postavljanje u tablice i manipuliranje postojećim podacima – takvi programi se nazivaju SU

Relacijski model podataka
Jedan od najprirodnijih načina prezentiranja podataka je dvodimenzionalna tablica. S druge strane, odnosi između podataka također se mogu prikazati u obliku dvodimenzionalnih tablica. Na primjer,

Značajke pristupa bazi podataka
Aplikacija Access je relacijski DBMS koji podržava sve alate za obradu podataka i mogućnosti svojstvene relacijski modeli. U ovom slučaju informacije koje je potrebno pohraniti u

Termini relacijske baze podataka
· Tablica - podaci o objektima iste vrste (na primjer, o klijentima, narudžbama, zaposlenicima) prikazani su u obliku tablice. · Atribut - pohranjuje se u polje (stupac) tablice. Ovaj

Faze projektiranja baze podataka
· Odredite svrhu baze podataka. · Odredite koje će izvorne podatke (tablice) sadržavati baza podataka. · Odredite polja koja će biti uključena u tablice i odaberite polja koja sadrže jedinstveno