Hur fungerar en OCR-motor?

Hur OCR-motorn fungerar
Dela med sig:
snabb~~POS=TRUNC

Att extrahera och återanvända data från skannade dokument, kamerabilder och PDF-filer med endast bilder kan vara knepigt. 

En tekniskt avancerad ML-baserad OCR-motor kan dock utföra uppgiften effektivt.

Den här artikeln kommer att diskutera hur en OCR-motor fungerar och varför OCR SDK kan vara rätt lösning för dina behov. 

Vad är optisk teckenigenkänning (OCR)?

OCR – Optical Character Recognition – konverterar en textbild till ett AI-aktiverat maskinläsbart textformat. 

OCR har enorma fördelar jämfört med enkla skanningar eftersom du inte kan redigera, söka efter eller räkna orden i bildfilen med en textredigerare. 

OCR kan dock konvertera bilden till ett textdokument och lagra dess innehåll som textdata.

Vad är vikten av en OCR-motor?

Idag involverar majoriteten av affärsarbetsflöden att ta emot information från tryckta medier. Fakturor, pappersblanketter, skannade juridiska dokument och tryckta kontrakt är en del av affärsprocesserna. 

Det tar mycket tid och utrymme att lagra och hantera dessa stora mängder pappersarbete. 

Här erbjuder OCR fördelar med papperslös dokumenthantering jämfört med manuella åtgärder, vilket är tråkiga och långsamma.

Förbättrad AI-baserad OCR-teknik löser problemet genom att konvertera textbilder till textdata som kan analyseras av annan affärsprogramvara. 

Den bearbetade datan används sedan för att utföra analyser, effektivisera verksamheten och automatisera processer, vilket i slutändan förbättrar produktiviteten.

Hur fungerar en OCR-motor?

Bildförvärv

Bildinsamling är det första steget, där en skanner läser dokument och konverterar dem till binär data. Den kategoriserar de ljusa områdena som bakgrund och de mörka områdena som text för att analysera den skannade bilden.

Bildförbehandling

Förvärvsprocessen kommer med smuts och fel. Så OCR-motorn rengör först bilden och tar bort felen innan den läses.

Dessa rengöringstekniker:

  • Snedvändning or tippning: åtgärda justeringsproblem under skanningen.
  • Avfläckandeta bort eventuella digitala bildfläckar som jämnar ut kanterna på textbilder.
  • Rutor och linjer är rengjorda i bilden.
  • Igenkänning av skriptet för flerspråkig OCR-teknik.

Textigenkänning

Mönstermatchning och funktionsextraktion är de två huvudtyperna av OCR-algoritmer som OCR-programvara huvudsakligen använder för textigenkänning.

Mönstermatchning

Nästa steg är att matcha mönstret genom att separera en teckenbild med namnet glyf och jämföra den med en liknande lagrad glyph. 

Processen fungerar bara när den lagrade glyfen har ett teckensnitt och en skala som liknar indataglyfen.

Särdragsextraktion

Nästa steg är extraktion av funktioner. Processen bryter ner eller bryter ner tecknen i funktioner som linjer, slutna loopar, linjeriktning och linjeskärningar. 

Dessa funktioner hittar den bästa matchningen eller närmaste grannen bland dess olika lagrade glyfer.

Efterbehandling

Slutligen, efter analysen, konverterar systemet den extraherade textdatan till en datoriserad fil.

Vilka är typiska användningsfall för OCR?

  • BankingOCR-teknik hjälper banksektorn att bearbeta och verifiera pappersarbete för lånedokument, insättningscheckar och andra finansiella transaktioner. Den har förbättrat bedrägeriförebyggandet och förbättrat transaktionssäkerheten.
  • SjukvårdOCR har revolutionerat sjukvårdsbranschen. Det bearbetar patientjournaler, inklusive behandlingar, tester, sjukhusjournaler och försäkringsbetalningar. Det har nyligen hjälpt till att effektivisera arbetsflödet och minska sjukhusets manuella arbete samtidigt som det håller journalerna uppdaterade.
  • Juridisk dokumentationOCR-teknik möjliggör skannade och lagrade viktiga godkända juridiska dokument i en elektronisk databas för enkel hämtning. Dokumenten kan sedan även ses och delas av många personer.
  • LogistikLogistikbranschen var mindre effektiv före OCR-tekniken. Tidigare var manuell inmatning av affärsdokument tidskrävande och felbenägen. På grund av framförhållning var anställda tvungna att mata in data i flera redovisningssystem. Logistikföretag använder OCR för att spåra paketetiketter, fakturor, kvitton och andra dokument mer effektivt. Med Amazon Textract kan Foresight-programvaran läsa tecken mer exakt i många olika layouter, vilket ökar affärseffektiviteten.

Vilka är de viktigaste sätten som OCR-motorer hjälper företag idag?

  • Automatisera arbetsflöden
  • Omvandla skrivskyddade filer till redigerbar text
  • Skapa ljudfiler
  • Översättning av främmande språk
  • Hantera formulär och frågeformulär
  • Uppnå snabbare och mer exakt datainmatning

Hur kan du integrera ett OCR SDK?

FileStacks OCR SDK hjälper till att digitalisera dokument och extrahera och organisera data från kreditkort, pass, körkort och skattekvitton utan att lyfta ett finger. 

OCR från FileStack organiserar och effektiviserar datainsamlingsprocessen, så att du slipper. 

För att extrahera texten inuti komplexa dokument i bilderna har FileStack två olika maskininlärningsbaserade lösningar som fungerar korrekt. 

  1. Oövervakad inlärning med intelligent bildbehandling
  2. Övervakad segmentering

Avancerade verktyg för dokumentidentifiering och förbehandling är FileStacks senaste tillskott som kan öka noggrannheten. 

Först laddar FileStacks API upp bilderna till sina databaser. Sedan omvandlas de till ett enhetligt format och ändras till en standardstorlek. 

Därefter matas de in i verktyg för dokumentidentifiering och förbehandling för att göra bilden tydligare för OCR-motorn. Resultaten genererar ett JSON-svar som innehåller all information från de extraherade texterna i originalbilden.

I bearbetnings-API:et är OCR tillgängligt som en synkron operation. Följ denna uppgift:

OCR

Motsvarande svaret:

{
    "dokument": {
        "textområden": [
            {
                "avgränsande_ruta": [
                    {
                        "x": 834,
                        "y": 478
                    },
                    {
                        "x": 3372,
                        "y": 739
                    },
                    {
                        "x": 3251,
                        "y": 1907
                    },
                    {
                        "x": 714,
                        "y": 1646
                    }
                ],
                "linjer": [
                    {
                        "avgränsande_ruta": [
                            {
                                "x": 957,
                                "y": 490
                            },
                            {
                                "x": 3008,
                                "y": 701
                            },
                            {
                                "x": 2977,
                                "y": 1009
                            },
                            {
                                "x": 925,
                                "y": 797
                            }
                        ],
                        "text": "Filestack kan upptäcka",
                        "ord": [
                            {
                                "avgränsande_ruta": [
                                    {
                                        "x": 957,
                                        "y": 490
                                    },
                                    {
                                        "x": 1833,
                                        "y": 580
                                    },
                                    {
                                        "x": 1802,
                                        "y": 888
                                    },
                                    {
                                        "x": 925,
                                        "y": 797
                                    }
                                ],
                                "text": "Filstack"
                            },
                            {
                                "avgränsande_ruta": [
                                    {
                                        "x": 1916,
                                        "y": 589
                                    },
                                    {
                                        "x": 2266,
                                        "y": 625
                                    },
                                    {
                                        "x": 2235,
                                        "y": 932
                                    },
                                    {
                                        "x": 1884,
                                        "y": 896
                                    }
                                ],
                                "text": "kan"
                            },
                            {
                                "avgränsande_ruta": [
                                    {
                                        "x": 2336,
                                        "y": 632
                                    },
                                    {
                                        "x": 3008,
                                        "y": 701
                                    },
                                    {
                                        "x": 2977,
                                        "y": 1009
                                    },
                                    {
                                        "x": 2304,
                                        "y": 939
                                    }
                                ],
                                "text": "upptäcka"
                            }
                        ]
                    },
                    {
                        "avgränsande_ruta": [
                            {
                                "x": 860,
                                "y": 858
                            },
                            {
                                "x": 3330,
                                "y": 1049
                            },
                            {
                                "x": 3301,
                                "y": 1421
                            },
                            {
                                "x": 831,
                                "y": 1229
                            }
                        ],
                        ”text”: ”tryckt och handskriven”,
                        "ord": [
                            {
                                "avgränsande_ruta": [
                                    {
                                        "x": 860,
                                        "y": 858
                                    },
                                    {
                                        "x": 1550,
                                        "y": 912
                                    },
                                    {
                                        "x": 1521,
                                        "y": 1283
                                    },
                                    {
                                        "x": 831,
                                        "y": 1229
                                    }
                                ],
                                ”text”: ”tryckt”
                            },
                            {
                                "avgränsande_ruta": [
                                    {
                                        "x": 1677,
                                        "y": 922
                                    },
                                    {
                                        "x": 2047,
                                        "y": 951
                                    },
                                    {
                                        "x": 2018,
                                        "y": 1321
                                    },
                                    {
                                        "x": 1648,
                                        "y": 1292
                                    }
                                ],
                                ”text”: ”och”
                            },
                            {
                                "avgränsande_ruta": [
                                    {
                                        "x": 2107,
                                        "y": 954
                                    },
                                    {
                                        "x": 3330,
                                        "y": 1049
                                    },
                                    {
                                        "x": 3301,
                                        "y": 1421
                                    },
                                    {
                                        "x": 2078,
                                        "y": 1326
                                    }
                                ],
                                ”text”: ”handskriven”
                            }
                        ]
                    },
                    {
                        "avgränsande_ruta": [
                            {
                                "x": 749,
                                "y": 1305
                            },
                            {
                                "x": 2504,
                                "y": 1486
                            },
                            {
                                "x": 2469,
                                "y": 1826
                            },
                            {
                                "x": 714,
                                "y": 1645
                            }
                        ],
                        ”text”: ”texter med OCR”,
                        "ord": [
                            {
                                "avgränsande_ruta": [
                                    {
                                        "x": 749,
                                        "y": 1305
                                    },
                                    {
                                        "x": 1233,
                                        "y": 1355
                                    },
                                    {
                                        "x": 1198,
                                        "y": 1695
                                    },
                                    {
                                        "x": 714,
                                        "y": 1645
                                    }
                                ],
                                "text": "texter"
                            },
                            {
                                "avgränsande_ruta": [
                                    {
                                        "x": 1317,
                                        "y": 1364
                                    },
                                    {
                                        "x": 1910,
                                        "y": 1425
                                    },
                                    {
                                        "x": 1875,
                                        "y": 1765
                                    },
                                    {
                                        "x": 1282,
                                        "y": 1704
                                    }
                                ],
                                ”text”: ”använder”
                            },
                            {
                                "avgränsande_ruta": [
                                    {
                                        "x": 1972,
                                        "y": 1431
                                    },
                                    {
                                        "x": 2504,
                                        "y": 1486
                                    },
                                    {
                                        "x": 2469,
                                        "y": 1826
                                    },
                                    {
                                        "x": 1937,
                                        "y": 1771
                                    }
                                ],
                                "text": "OCR"
                            }
                        ]
                    }
                ],
                "text": "Filestack kan upptäcka\ntryckta och handskrivna\ntexter med hjälp av OCR"
            }
        ]
    },
    "text": "Filestack kan upptäcka\ntryckta och handskrivna\ntexter med hjälp av OCR\n",
    "text_area_procent": 23.40692449819434
}

Beroende på svarsparametrarna kan du få OCR-svaret på din bild enligt följande:

https://cdn.filestackcontent.com/security=p:<POLICY>,s:<SIGNATURE>/ocr/<HANDLE>

Du kan använda OCR i en kedja med andra uppgifter, till exempel doc_detection:

https://cdn.filestackcontent.com/security=p:<POLICY>,s:<SIGNATURE>/doc_detection=coords:false,preprocess:true/ocr/<HANDLE>

Använd även OCR med en extern URL:

https://cdn.filestackcontent.com/<FILESTACK_API_KEY>/security=p:<POLICY>,s:<SIGNATURE>/ocr/<EXTERNAL_URL>

Använd slutligen OCR med lagringsalias:

https://cdn.filestackcontent.com/<FILESTACK_API_KEY>/security=p:<POLICY>,s:<SIGNATURE>/ocr/src://<STORAGE_ALIAS>/<PATH_TO_FILE>

Vanliga frågor

Inga data hittades

Relaterade blogginlägg

snabb~~POS=TRUNC
snabb~~POS=TRUNC