
Zakaj fotografije strani knjige odpovejo pri OCR (in kako že nekaj stopinj nagiba uniči natančnost)
Objavljeno 24. jul. 2026
Če si kdaj poskusil pretvoriti fotografijo strani knjige v besedilo na spletu in dobil nazaj zid popačenih neumnosti, si verjetno krivil napačno stvar. Mikavno je domnevati, da je krivec star, porumenel papir ali slaba osvetlitev — a v testiranju nobeno od tega ni bistveno premaknilo rezultata. Pravi vzrok je skoraj vedno nekaj, česar ne moreš videti zgolj z ogledom fotografije: majhen nagib fotoaparata.
Test: ista stran, štirje pogoji
Da bi ugotovili, kaj dejansko pokvari OCR (optično prepoznavanje znakov) na resničnih fotografijah knjig, smo isti blok besedila pognali skozi Tesseract — odprtokodni OCR motor — pod štirimi pogoji: čist raven sken, porumenela/zbledela stran, fotografija, nagnjena za približno 12 stopinj, in nagnjena fotografija z dodano bleščečo svetlobno točko.
| Pogoj | Natančnost besed |
|---|---|
| Čist, raven sken | 100 % |
| Porumenela, zbledela stran (brez nagiba) | 100 % |
| Nagnjena ~12° (brez razbarvanja) | 67,7 % |
| Nagnjena ~8° + bleščanje | 71,0 % |
Porumenela stran je dosegla enak rezultat kot brezhibna — polno število točk. V trenutku, ko je bil uveden nagib, je natančnost padla za tretjino, kar je dalo natanko tak izhod, kot ga je videl vsak, ki je poskusil orodja “skeniraj učbenik v besedilo”: "brow," namesto “brown”, "Chapte,." namesto “Chapter.”, "hidde,," namesto “hidden”.
Zakaj majhen nagib povzroči toliko škode
OCR motorji berejo besedilo tako, da preiskujejo vrstice slike in iščejo enakomerne vodoravne pasove črnila — to je mehanizem, s katerim ločijo eno vrstico besedila od naslednje. Na popolnoma ravnem skenu vsaka vrstica besedila leži v urejenem vodoravnem pasu, motor pa čisto loči vrstico 1 od vrstice 2 od vrstice 3.
Nagni stran za samo 10 stopinj, in ta čist vodoravni pas postane diagonalna razmazana proga, ki zajema deset vrstic slikovnih pik. Logika motorja za segmentacijo vrstic začne združevati znake, ki bi morali biti v dveh ločenih vrsticah, ali razcepiti en sam znak čez tisto, kar motor misli, da sta dve različni vrstici. Rezultat ni “malce manj natančen” — je kategorično drugačen izhod, ker osnovna enota, ki jo motor bere (vrstica), ne ustreza več temu, kar je dejansko na sliki.
To je tudi razlog, zakaj fotografija, ki je videti popolnoma berljiva tebi, lahko še vedno da neberljiv izhod OCR. Tvoj vizualni sistem nagib 10 stopinj kompenzira brez zavestnega napora — sploh ga ne zaznaš kot nagnjenega. Naiven cevovod OCR nima vgrajene take kompenzacije in prebere natanko slikovne pike, ki jih dobi.
Popravek: poravnaj, preden prepoznaš, ne po tem
Praktičen zaključek ni “drži telefon bolj previdno” — nekaj nagiba pri fotografiranju odprte knjige je skoraj neizogibno, saj strani ne pritiskaš ravno na skener. Popravek je samodejen: zaznaj kot nagiba in ga popravi pred zagonom prepoznavanja besedila, ne po njem.
Ena zanesljiva metoda za zaznavanje kota brez težkega modela strojnega učenja je metoda projekcijskega profila: zavrti sliko čez razpon možnih kotov in za vsakega izmeri, kako “konično” je porazdeljeno črnilo po vrsticah. Pri pravilnem kotu se besedilne vrstice poravnajo v ostre pasove (velika razpršenost med vrsticami); pri kateremkoli drugem kotu se črnilo razmaže čez vrstice (majhna razpršenost). Kot, ki da največjo razpršenost, je kot poravnave.
Če ta popravek zaženemo najprej in nato prepoznamo besedilo, se je vsak naš nagnjen testni primer vrnil na 100 % natančnost besed — ista stran, isti motor OCR, edina razlika je bila, da smo jo najprej poravnali.
Kaj to pomeni, če digitaliziraš knjigo
- Ne skrbi za stanje papirja. Porumenelost, blaga zbledelost in rahla izguba kontrasta zaradi staranja papirja sami po sebi komaj premakneta natančnost. Star žepni izvod se digitalizira približno enako dobro kot nov.
- Skrbi za kot. Že nagib, ki ga z očmi ne bi opazil, je lahko cela razlika med uporabnim besedilom in nesmislom.
- Bleščanje bliskavice je manj pomembno kot nagib, a še vedno škodi. Svetla vroča točka na sijočem papirju lahko izbriše karkoli besedila je pod njo — popravek kota ne bo popravil mesta, kjer ni berljivega črnila za branje.
- Orodje, ki samodejno popravi nagib, reši pravi problem. Naše orodje za pretvorbo strani knjige v besedilo izvede natanko ta korak zaznavanja in popravljanja v tvojem brskalniku, preden prepozna besedilo — brez nalaganja, brez strežnika, in je zgrajeno posebej okoli problema nagiba, namesto da bi predpostavljalo, da mu podajaš raven sken.
Če si že poskusil OCR na fotografiji knjige in obupal, ker je bil rezultat neberljiv, verjetno stran ni bila problem — skoraj zagotovo je bilo nekaj stopinj kota fotoaparata.