CodeKitHub
Hvorfor bilder av boksider feiler i OCR (og hvordan noen få graders vinkling ødelegger nøyaktigheten)

Hvorfor bilder av boksider feiler i OCR (og hvordan noen få graders vinkling ødelegger nøyaktigheten)

Publisert 24. juli 2026

Hvis du noen gang har prøvd å konvertere et bilde av en bokside til tekst på nett og fått tilbake en vegg av uforståelig sludder, har du sannsynligvis skyldt på feil ting. Det er fristende å anta at gammelt, gulnet papir eller dårlig belysning er synderen — men i testing beveget verken det ene eller det andre nålen særlig mye. Den virkelige årsaken er nesten alltid noe du ikke kan se bare ved å se på bildet: en liten kameravinkling.

Testen: samme side, fire tilstander

For å finne ut hva som faktisk ødelegger OCR (optisk tegngjenkjenning) på virkelige bokbilder, kjørte vi den samme tekstblokken gjennom Tesseract — den åpne kildekode-OCR-motoren — under fire tilstander: en ren, flat skanning, en gulnet/falmet side, et bilde vinklet omtrent 12 grader, og et vinklet bilde med et gjenskinn lagt til.

Tilstand Ordnøyaktighet
Ren, flat skanning 100 %
Gulnet, falmet side (uten vinkling) 100 %
Vinklet ~12° (ingen misfarging) 67,7 %
Vinklet ~8° + gjenskinn 71,0 %

Den gulnede siden fikk identisk score som den plettfrie — full pott. I det øyeblikket en vinkling ble introdusert, kollapset nøyaktigheten med en tredjedel, og ga nøyaktig den typen output som alle som har prøvd «skann lærebok til tekst»-verktøy har sett: "brow," i stedet for «brown», "Chapte,." i stedet for «Chapter.», "hidde,," i stedet for «hidden».

Hvorfor en liten vinkling forårsaker så mye skade

OCR-motorer leser tekst ved å skanne bilderader og lete etter konsistente horisontale bånd av blekk — det er mekanismen de bruker for å skille én tekstlinje fra den neste. På en perfekt jevn skanning sitter hver tekstlinje pent i et horisontalt bånd, og motoren skiller ryddig linje 1 fra linje 2 fra linje 3.

Vinkle siden med bare 10 grader, og det rene horisontale båndet blir til en diagonal utflytende sone som spenner over dusinvis av pikselrader. Motorens linjesegmenteringslogikk begynner å slå sammen tegn fra det som skulle vært to separate linjer, eller dele opp et enkelt tegn over det den tror er to forskjellige linjer. Resultatet er ikke «litt mindre nøyaktig» — det er kategorisk annerledes output, fordi den grunnleggende enheten motoren leser (en linje) ikke lenger tilsvarer det som faktisk er i bildet.

Dette er også hvorfor et bilde som ser helt lesbart ut for deg, likevel kan gi ulesbar OCR-output. Det visuelle systemet ditt kompenserer for en 10-graders vinkling uten noen bevisst anstrengelse — du registrerer det ikke engang som vinklet. En naiv OCR-pipeline har ingen slik kompensasjon innebygd, og leser nøyaktig de pikslene den blir gitt.

Løsningen: rett opp før du gjenkjenner, ikke etterpå

Den praktiske lærdommen er ikke «hold telefonen mer forsiktig» — litt vinkling når du fotograferer en åpen bok er nesten uunngåelig, siden du ikke presser siden flatt mot en skanner. Løsningen er automatisk: oppdag vinkelen og korriger den før du kjører tekstgjenkjenning, ikke etterpå.

En pålitelig måte å oppdage vinkelen uten noen tung maskinlæringsmodell er projeksjonsprofil-metoden: roter bildet gjennom en rekke kandidatvinkler, og for hver av dem, mål hvor «spisst» blekkfordelingen rad for rad er. Ved riktig vinkel stiller tekstlinjer seg opp i skarpe bånd (høy varians mellom rader); ved enhver annen vinkel flyter blekket utover radene (lav varians). Vinkelen som gir høyest varians er avvinklingsvinkelen.

Å kjøre denne korrigeringen først og deretter gjenkjenne tekst brakte hvert eneste av de vinklede testtilfellene våre tilbake til 100 % ordnøyaktighet — samme side, samme OCR-motor, den eneste forskjellen var å rette den opp først.

Hva dette betyr hvis du digitaliserer en bok

  • Ikke bekymre deg for papirtilstanden. Gulning, mild falming og litt tap av kontrast fra aldrende papir beveger knapt nøyaktigheten på egen hånd. En gammel pocketbok digitaliseres omtrent like godt som en ny.
  • Bekymre deg for vinkelen. Selv en vinkling du ikke ville lagt merke til med øyet, kan være hele forskjellen mellom brukbar tekst og rot.
  • Gjenskinn fra en blits betyr mindre enn vinkling, men skader likevel. Et lyst hotspot på blankt papir kan viske ut all tekst under det — vinkelkorrigering fikser ikke et sted der det ikke finnes noe lesbart blekk å lese i utgangspunktet.
  • Et verktøy som korrigerer vinkling automatisk løser det faktiske problemet. Verktøyet vårt for bokside til tekst kjører nettopp dette deteksjons- og korrigeringssteget i nettleseren din før gjenkjenning — ingen opplasting, ingen server, og det er bygget spesifikt rundt vinklingsproblemet i stedet for å anta at du mater det med en flat skanning.

Hvis du har prøvd OCR på et bokbilde før og gitt opp fordi resultatet var ulesbart, var siden sannsynligvis ikke problemet — noen få graders kameravinkling var det nesten helt sikkert.

← Tilbake til bloggen