En stegvis OCR-pipeline som omvandlar en rå PDF till ren text och dokumentövergripande signaler. Varje genomgång är avsiktlig: ett fritextlager där det finns, en snabb Tesseract-baslinje, en kombinerad visionarbetare för signaturer, ansikten och ID-identifiering, en specialiserad MRZ-läsare och EasyOCR som det djupinlärningsbaserade sista steget.
Eftersom ni inte kan förvränga text som ni läser med rätt verktyg första gången.
5sekventiella genomgångar
3detektorer i en arbetare
2OCR-motorer, snabb sedan djup
1sidbildfil, laddas en gång
Avsnitt 01Översikt
Pipelinen i korthet
Sidor rör sig från vänster till höger. MRZ-genomgången aktiveras endast när ID-eller-inte-detektorn indikerar att en sida är ett identitetsdokument; allt annat fortsätter till den avancerade OCR-genomgången. Varje steg genererar annoteringar som nästa steg kan använda som ledtrådar.
HuvuddataflödeVillkorlig gren, endast IDVisionsignalDokumentannotering
Avsnitt 02Grundläggande resonemang
Varför dela upp arbetet i lager överhuvudtaget
Ett verkligt dokumentarkiv är heterogent: digitalt skapade PDF:er, inskannade brev med en kaffefläck, flerspråkiga avtal och pass med en maskinläsbar zon hamnar alla i samma inkorg. Pipelinen dirigerar varje sida genom kostnadseffektiva, deterministiska genomgångar först och reserverar kostsam djupinlärningsbaserad OCR för de fall som motiverar det. Visionsignaler följer med texten, så att en konsument kan frågaär detta avtal signerat ellerär denna uppladdning faktiskt ett pass utan att behöva läsa om filen.
Genomgång 01PDF-läsare
Den främstaingångspunkten
Två PDF:er som ser identiska ut för en person kan skilja sig markant internt: den ena ett digitalt skapat dokument med ett perfekt textlager, den andra ett mobilfoto som sparats som PDF i 72 DPI och roterats fyra grader. Läsaren normaliserar denna asymmetri så att efterföljande OCR aldrig behöver hantera den.
Vad det gör
Rastrerar varje sida till ett standardformat på 300 DPI så att motorerna ser konsekventa teckenstorlekar.
Extraherar det inbäddade textlagret när det finns, och kortsluter OCR helt för digitalt skapade filer.
Rätar ut, korrigerar och fixar orientering, och beskär sedan skannerbäddens kanter.
Delar upp flersidiga dokument till en sidvis ström som resten av pipelinen hanterar självständigt.
Unik fördel
Fritext vinner. En digitalt skapad PDF hoppar över OCR – omedelbart, perfekt och felfritt.
Konsekvent indata. Varje efterföljande modell kan utgå från en upprätt bild med rimlig DPI.
En enda källa till sanning. Den bild som renderas här återanvänds av varje efterföljande worker – ingen dubbel rastrering.
Pass 02Tesseract
Den snabba baslinjen
Tesseract är arbetshästen: snabb, CPU-vänlig, stöder 100+ språk och ger strukturerad utdata – ordrutor, radrutor och konfidens per ord. För den långa svansen av rena kontorsdokument löser den problemet helt och hållet.
Vad den gör
Kör LSTM-igenkännaren över varje sida och genererar hOCR / TSV med ord, rader och rutor.
Kopplar ett konfidensvärde per ord som avgör var EasyOCR behöver göra ett andra pass.
Returnerar läsordning och layout, så att stycken rekonstrueras korrekt.
Unik fördel
Hastighet och kostnad. Ren CPU, inget GPU-beroende, skalar horisontellt och förblir kostnadseffektivt.
Deterministisk. Samma indata, samma utdata: enkelt att testa, cacha och diff:a i CI.
Layoutmedveten. Ordrutor och läsordning är förstklassiga utdatavärden.
Konfidens är en routningssignal. Regioner med låg konfidens blir EasyOCR:s indata.
Tesseract är avsiktligt det första OCR-passet – tillräckligt bra för de flesta sidor. De kostsamma passen körs endast där det inte räcker till.
Pass 03Kombinerad worker
Underskrifter, ansikten och ett beslut
Den kombinerade workern är visionsspåret. Istället för att köra tre jobb som var och ett laddar om sidbilden, allokerar en tensor och värmer upp en modell, kör den tre detektorer över samma minnesinterna bild i ett enda pass – och producerar signaler på dokumentnivå som text ensam inte kan ge svar på.
Detektor A
Underskrift
De flesta kontrakt är bara giltiga när de är kontrasignerade. Ett litet CNN söker efter bläckliknande streck som kännetecknar en handskriven underskrift och returnerar rutor samt ett poängvärde.
Omvandlar är detta kontrakt verkställt till ett booleskt värde.
Rutan tillsammans med sidindex gör att ett gränssnitt kan hoppa direkt till den signerade raden.
Den närmaste textraden – det tryckta namnet – kan kopplas till rutan.
Detektor B
YuNet
YuNet är en liten ansiktsdetektor byggd för att köra i realtid på vanlig hårdvara. Här handlar det inte om ansikten, utan om porträtt som ett dokumentattribut.
Ett ansikte i hörnet är ett tydligt tecken på ett ID-kort, pass eller körkort.
Ungefär 1 ms per beskärning på CPU, tillräckligt billigt för att köra på varje sida.
Förekomsten av ett ansikte kan styra redigering eller särskild hantering.
Detektor C
ID eller inte
En binär klassificerare som läser hela sidan och besvarar en fråga: är detta ett identitetsdokument? Dess uppgift är att avgöra vilka sidor som når MRZ-specialisten.
Undviker att köra MRZ på varje sida – de flesta saknar det.
Använder YuNets ansiktsträff och Tesseract-text som attribut.
Ett litet huvud över ett litet grundnätverk: snabbt och enkelt att kalibrera.
Varför kombinerat? Att ladda bilden, konvertera färg, ändra storlek och värma upp en modell utgör merparten av varje detektors latens. Att köra alla tre över en gemensam bild, en process och en tät loop minskar detta overhead och håller annoteringarna självkonsekventa, eftersom alla tre såg samma pixlar.
Pass 04MRZ
Passspecialisten
Den maskinläsbara zonen längst ned på ett pass eller ID-kort följer ett strikt ICAO-9303-format: en fast teckenuppsättning (A–Z 0–9 <), fasta positioner och inbyggda kontrollsiffror. Ett generiskt OCR kan läsa det men förväxlarO/0 eller1/I. Detta pass är specialbyggt för raden.
Vad det gör
Körs endast när ID-eller-inte-klassificeraren flaggar sidan, och slösar därmed aldrig arbete.
Använder en MRZ-anpassad igenkänning och grammatik som enbart genererar giltiga MRZ-tecken.
Verifierarkontrollsiffror– ett förfalskat eller felläst fält upptäcks aritmetiskt, inte genom gissning.
Unik fördel
Strukturerad, inte fritext. KYC-koden tar emot en typad post, inte en textsträng.
Självvaliderande. Kontrollsiffror ger en garanti som generellt OCR inte kan matcha.
Snävt domän, hög noggrannhet. Liten teckenuppsättning, fast layout – en specialist vinner med bred marginal.
Pass 05EasyOCR
Den djupinlärningsbaseradesista milen
EasyOCR är ett djupinlärningsbaserat OCR – en CRAFT-textdetektor kombinerat med en CRNN-igenkänning på PyTorch. Tyngre än Tesseract, men det utmärker sig precis där Tesseract kämpar: teckensnitt med låg kontrast eller stiliserad form, böjd eller roterad text, foton av kvitton samt många icke-latinska skriftsystem. Här fungerar det som reservalternativ och pass för rik-OCR.
Vad det gör
Läser om de regioner där Tesseract returnerade lågt konfidenstal – kirurgiskt, inte hela sidan.
Hanterar icke-latinska skriftsystem som en given Tesseract-installation inte är konfigurerad för.
Ger ett andra utlåtande: överensstämmelse mellan de två motorerna höjer konfidensen avsevärt.
Unik fördel
Robusthet. CNN-igenkänning hanterar foton, perspektiv och ovanliga teckensnitt.
Täckning. 80+ språk direkt ur lådan.
Målinriktad. Körs endast där Tesseract inte var tillförlitligt, vilket håller den långsamma vägen liten.
Billigt i första hand, dyrt endast där det behövs – det är vad som håller pipelinen snabb i genomsnitt utan att förlora de svåra fallen i svansen.
Avsnitt 03Routing
Beslutet en sida fattar
Avsnitt 04Översikt
Vad varje pass tillför
Pass
Utdata
Kostnad
När det används bäst
PDF reader
normaliserade bilder, textlager
mycket låg
digitalt skapade PDF:er
Tesseract
ordrutor + konfidens
låg · CPU
rena kontorsdokument
Signature
signeringsflagga + rutor
låg
kontrakt, regelefterlevnad
YuNet
ansiktsrutor, antal
mycket låg
identifiering av porträtt / ID-handlingar
ID-or-not
isID, dokumenttyp
låg
dirigering till MRZ
MRZ
strukturerad post + kontrollsiffror
medel
pass, nationella ID-handlingar
EasyOCR
text + konfidens
hög · GPU-vänlig
stiliserad, brusig, flerspråkig
Avsnitt 05Principer
Vad pipeline:n utgår ifrån
Billigt först, kostsamt endast när det är motiverat
Varje pass finns till för att det föregående inte kan hantera ett specifikt felscenario. Tesseract bär huvuddelen av arbetet; EasyOCR anropas endast för de ord som Tesseract inte kunde läsa; MRZ endast när sidan verkligen är en ID-handling.
Signaler, inte enbart text
OCR är nödvändigt men sällan tillräckligt. Den kombinerade worker:n genererar signaler på dokumentnivå – signerad, porträtt förekommer, identitetshandling – som den efterföljande affärslogiken faktiskt behöver.
Specialister överträffar generalister inom avgränsade domäner
En MRZ i ett pass är ett litet, strikt format med kontrollsiffror. En specialiserad parser är mer träffsäker och självvaliderande på ett sätt som ingen generisk OCR kan matcha för samma textremsa.
Dela på arbetet
Den kombinerade worker:n finns till för att inläsning och förbehandling av bilden är den tidskrävande delen. Tre detektorer över en och samma minnesinläst bild reducerar denna overhead och säkerställer att annoteringarna förblir konsekventa.