Optisk tegngenkendelse (OCR)

Fuldført

Bemærk

Se fanen Tekst og billeder for flere detaljer!

Optisk tegngenkendelse (OCR) er en teknologi, der automatisk konverterer visuel tekst i billeder – uanset om det er fra scannede dokumenter, fotografier eller digitale filer – til redigerbar, søgbar tekstdata. I stedet for manuelt at transskribere information muliggør OCR automatiseret dataudtrækning fra:

  • Scannede fakturaer og kvitteringer
  • Digitale fotografier af dokumenter
  • PDF-filer med billeder af tekst
  • Skærmbilleder og optaget indhold
  • Formularer og håndskrevne noter

OCR-pipelinen: En trin-for-trin proces

OCR-pipelinen består af fem væsentlige faser, der arbejder sammen for at omdanne visuel information til tekstdata.

Diagram over OCR-pipelinen.

Stadierne i OCR-processen er:

  1. Billedoptagelse og input.
  2. Forbehandling og billedforbedring.
  3. Tekstregionsdetektion.
  4. Tegngenkendelse og klassificering.
  5. Outputgenerering og efterbehandling.

Lad os undersøge hvert trin mere i dybden.

Fase 1: Billedoptagelse og input

Pipelinen begynder, når et billede med tekst kommer ind i systemet. Dette kunne være:

  • Et fotografi taget med et smartphone-kamera.
  • Et scannet dokument fra en fladbed- eller dokumentscanner.
  • En ramme udtrukket fra en videostrøm.
  • En PDF-side gengivet som et billede.

Tips

Billedkvaliteten på dette stadie har en betydelig indvirkning på den endelige nøjagtighed af tekstudtrækningen.

Fase 2: Forbehandling og billedforbedring

Før tekstdetektion begynder, anvendes følgende teknikker til at optimere billedet for bedre genkendelsesnøjagtighed:

  • Støjreduktion fjerner visuelle artefakter, støvpletter og scanningsfejl, som kan forstyrre tekstregistrering. De specifikke teknikker, der bruges til at udføre støjreduktion, omfatter:

    • Filtrerings- og billedbehandlingsalgoritmer: Gaussiske filtre, medianfiltre og morfologiske operationer.
    • Maskinlæringsmodeller: Denoising autoencoders og konvolutionelle neurale netværk (CNN'er), der er trænet specifikt til oprydning af dokumentbilleder.
  • Kontrastjustering forbedrer forskellen mellem tekst og baggrund for at gøre tegnene mere tydelige. Igen er der flere mulige tilgange:

    • Klassiske metoder: Histogramudligning, adaptiv tærskel og gamma-korrektion.
    • Maskinlæring: Dyb læringsmodeller, der lærer optimale forbedringsparametre for forskellige dokumenttyper.
  • Skævhedskorrektion opdager og korrigerer dokumentrotation, så tekstlinjerne er korrekt justeret horisontalt. Teknikker til skævhedskorrektion inkluderer:

    • Matematiske teknikker: Hough-transform til linjedetektion, projektionsprofiler og analyse af forbundne komponenter.
    • Neurale netværksmodeller: Regressions-CNN'er, der forudsiger rotationsvinkler direkte ud fra billedfunktioner.
  • Opløsningsoptimering justerer billedopløsningen til det optimale niveau for tegngenkendelsesalgoritmer. Du kan optimere billedopløsningen med:

    • Interpolationsmetoder: Bikubiske, bilineære og Lanczos resampling-algoritmer.
    • Superopløsningsmodeller: Generative adversarielle netværk (GAN'er) og residualnetværk, der intelligent opskalerer lavopløsnings tekstbilleder.

Fase 3: Tekstregionsdetektion

Systemet analyserer det forbehandlede billede for at identificere områder, der indeholder tekst, ved hjælp af følgende teknikker:

  • Layoutanalyse skelner mellem tekstområder, billeder, grafik og hvide rumområder. Teknikker til layoutanalyse inkluderer:

    • Traditionelle tilgange: Connected component-analyse, run-length encoding og projektionsbaseret segmentering.
    • Deep learning-modeller: Semantiske segmenteringsnetværk som U-Net, Mask R-CNN og specialiserede modeller for analyse af dokumentlayout (for eksempel LayoutLM eller PubLayNet-trænede modeller).
  • Tekstblokidentifikation grupperer individuelle tegn i ord, linjer og afsnit baseret på rumlige relationer. Almindelige tilgange omfatter:

    • Klassiske metoder: Afstandsbaseret klyngedannelse, hvidrumsanalyse og morfologiske operationer
    • Neurale netværk: Grafbaserede neurale netværk og transformermodeller, der forstår rumlig dokumentstruktur
  • Bestemmelse af læserækkefølgen fastlægger rækkefølgen, hvori teksten skal læses (fra venstre mod højre, oppefra og ned for engelsk). Den korrekte rækkefølge kan bestemmes ved:

    • Regelbaserede systemer: Geometriske algoritmer, der bruger koordinater for afgrænsningsbokse og rumlige heuristikker.
    • Maskinlæringsmodeller: Sekvensforudsigelsesmodeller og grafbaserede tilgange, der lærer at læse mønstre fra træningsdata.
  • Regionsklassificering identificerer forskellige typer tekstområder (overskrifter, brødtekst, billedtekster, tabeller).

    • Funktionsbaserede klassifikatorer: Understøtter vektormaskiner (SVM'er), der bruger håndlavede funktioner som skriftstørrelse, position og formatering
    • Deep learning-modeller: Konvolutionelle neurale netværk og visionstransformere trænet på mærkede dokumentdatasæt

Fase 4: Karaktergenkendelse og klassificering

Dette er kernen i OCR-processen, hvor individuelle tegn identificeres:

  • Feature-ekstraktion: Analyserer form, størrelse og karakteristiske karakteristika for hvert tegn eller symbol.

    • Traditionelle metoder: Statistiske træk som momenter, Fourier-beskrivelser og strukturelle træk (løkker, endepunkter, krydsninger)
    • Deep learning-tilgange: Konvolutionelle neurale netværk, der automatisk lærer diskriminative træk ud fra rå pixeldata
  • Mønstermatchning: Sammenligner udtrukne funktioner med trænede modeller, der genkender forskellige skrifttyper, størrelser og skrivestile.

    • Skabelonmatchning: Direkte sammenligning med lagrede karakterskabeloner ved brug af korrelationsteknikker
    • Statistiske klassifikatorer: Skjulte Markov-modeller (HMM'er), Support Vector Machines og k-nærmeste naboer ved brug af featurevektorer
    • Neurale netværk: Multi-layer perceptrons, CNN'er og specialiserede arkitekturer som LeNet til ciffergenkendelse
    • Avanceret dyb læring: Residual networks (ResNet), DenseNet og EfficientNet-arkitekturer til robust tegnklassifikation
  • Kontekstanalyse: Bruger omgivende tegn og ord for at forbedre genkendelsesnøjagtigheden gennem ordbogsopslag og sprogmodeller.

    • N-gram modeller: Statistiske sprogmodeller, der forudsiger tegnsekvenser baseret på sandsynlighedsfordelinger.
    • Ordbogsbaseret korrektion: Leksikonopslag med redigeringsafstandsalgoritmer (såsom Levenshtein distance) til stavekorrektion.
    • Neurale sprogmodeller: LSTM- og transformerbaserede modeller (som BERT-varianter), der forstår kontekstuelle relationer.
    • Opmærksomhedsmekanismer: Transformer-modeller, der fokuserer på relevante dele af inputtet, når man laver karakterforudsigelser.
  • Tillidsscore: Tildeler sandsynlighedsscorer til hver genkendt karakter baseret på, hvor sikker systemet er på sin identifikation.

    • Bayesianske tilgange: Sandsynlighedsmodeller, der kvantificerer usikkerhed i karakterforudsigelser.
    • Softmax-output: Aktiveringer af det neurale netværks sidste lag konverteret til sandsynlighedsfordelinger.
    • Ensemble-metoder: Kombinering af forudsigelser fra flere modeller for at forbedre konfidensestimaterne.

Trin 5: Outputgenerering og efterbehandling

Det sidste trin omdanner genkendelsesresultater til brugbare tekstdata:

  • Tekstkompilering: Samler individuelle tegngenkendelser til komplette ord og sætninger.

    • Regelbaseret samling: Deterministiske algoritmer, der kombinerer tegnforudsigelser ved hjælp af rumlig nærhed og konfidenstærskler.
    • Sekvensmodeller: Rekurrente neurale netværk (RNN'er) og Long Short-Term Memory (LSTM)-netværk, der modellerer tekst som sekventiel data.
    • Opmærksomhedsbaserede modeller: Transformer-arkitekturer, der kan håndtere sekvenser med variabel længde og komplekse tekstlayouts.
  • Formatbevarelse: Opretholder dokumentstruktur inklusive afsnit, linjeskift og afstand.

    • Geometriske algoritmer: Regelbaserede systemer, der bruger koordinater til afgrænsningsbokse og hvidrumsanalyse.
    • Layout-forståelsesmodeller: Grafer neurale netværk og dokumenterer AI-modeller, der lærer strukturelle sammenhænge.
    • Multimodale transformere: Modeller som LayoutLM, der kombinerer tekst og layoutinformation for strukturbevarelse.
  • Koordinatkortlægning: Registrerer den præcise position af hvert tekstelement i det oprindelige billede.

    • Koordinattransformation: Matematisk kortlægning mellem billedpixels og dokumentkoordinater.
    • Rumlig indeksering: Datastrukturer som R-træer og quad-træer til effektive rumlige forespørgsler.
    • Regressionsmodeller: Neurale netværk trænet til at forudsige præcise tekstpositioneringskoordinater.
  • Kvalitetsvalidering: Anvender stave- og grammatikkontroller for at identificere potentielle genkendelsesfejl.

    • Ordbogsbaseret validering: Slå op mod omfattende ordlister og specialiserede domæneordforråd.
    • Statistiske sprogmodeller: N-grammodeller og probabilistiske parsere til grammatik- og kontekstvalidering.
    • Neurale sprogmodeller: Forudtrænede modeller som GPT eller BERT, finjusteret til OCR-fejldetektion og korrektion.
    • Ensemblevalidering: Kombinering af flere valideringsmetoder for at forbedre fejlopdagelsesnøjagtigheden.