Forbehandling av PDF-dokumenter med Amazon Textract: Deteksjon og fjerning av visuelle bilder

Kilde node: 1204412

amazontekst er en fullt administrert maskinlæringstjeneste (ML) som automatisk trekker ut utskrevet tekst, håndskrift og andre data fra skannede dokumenter som går utover enkel optisk tegngjenkjenning (OCR) for å identifisere, forstå og trekke ut data fra skjemaer og tabeller. Amazon Textract kan oppdage tekst i en rekke dokumenter, inkludert økonomiske rapporter, medisinske poster og skatteskjemaer.

I mange brukstilfeller må du trekke ut og analysere dokumenter med forskjellige bilder, for eksempel logoer, bilder og diagrammer. Disse visuelle bildene inneholder innebygd tekst som inneholder Amazon Textract-utdata eller ikke er nødvendig for nedstrømsprosessen. For eksempel inneholder mange eiendomsevalueringsskjemaer eller dokumenter bilder av hus eller trender av historiske priser. Denne informasjonen er ikke nødvendig i nedstrøms prosesser, og du må fjerne den før du bruker Amazon Textract til å analysere dokumentet. I dette innlegget illustrerer vi to effektive metoder for å fjerne disse bildene som en del av forhåndsbehandlingen.

Løsningsoversikt

For dette innlegget bruker vi en PDF som inneholder en logo og et diagram som et eksempel. Vi bruker to forskjellige typer prosesser for å konvertere og oppdage disse visuelle bildene, og deretter redigere dem.

I den første metoden bruker vi OpenCV-biblioteket canny edge detector for å oppdage kanten av det visuelle. For den andre metoden skriver vi en tilpasset pikselkonsentrasjonsanalysator for å oppdage plasseringen av disse bildene.

Du kan trekke ut disse bildene for videre behandling, og enkelt endre koden slik at den passer til din brukstilfelle.

Søkbare PDF-filer er innfødte PDF-filer som vanligvis genereres av andre applikasjoner, for eksempel tekstbehandlere, virtuelle PDF-skrivere og innfødte redaktører. Disse typer PDF-filer beholder metadata, tekst og bildeinformasjon inne i dokumentet. Du kan enkelt bruke biblioteker som PyMuPDF / fitz for å navigere i PDF-strukturen og identifisere bilder og tekst. I dette innlegget fokuserer vi på ikke-søkbare eller bildebaserte dokumenter.

Alternativ 1: Oppdage bilder med OpenCV-kantdetektor

I denne tilnærmingen konverterer vi PDF til PNG-format, og gråtoner deretter dokumentet med OpenCV-Python bibliotek og bruk Canny Edge Detector for å oppdage de visuelle stedene. Du kan følge de detaljerte trinnene i det følgende bærbare.

  1. Konverter dokumentet til gråtoner.

  1. Bruk Canny Edge-algoritmen for å oppdage konturer i Canny-Edged-dokumentet.
  2. Identifiser de rektangulære konturene med relevante dimensjoner.

Du kan videre justere og optimalisere noen få parametere for å øke deteksjonsnøyaktigheten avhengig av brukssaken din:

  • Minimum høyde og bredde - Disse parametrene definerer minimumsgrensene for høyde og bredde for visuell gjenkjenning. Det uttrykkes i prosent av sidestørrelsen.
  • Padding - Når en rektangelkontur oppdages, definerer vi det ekstra polstringsområdet for å ha litt fleksibilitet på det totale arealet på siden som skal redigeres. Dette er nyttig i tilfeller der tekstene i det visuelle ikke er innenfor klart avgrensede rektangulære områder.

Fordeler og ulemper

Denne tilnærmingen har følgende fordeler:

  • Det tilfredsstiller de fleste brukssaker
  • Det er enkelt å implementere, og raskt å komme i gang
  • De optimale parametrene gir gode resultater

Tilnærmingen har imidlertid følgende ulemper:

  • For grafikk uten en avgrensningsboks eller omkringliggende kanter, kan ytelsen variere avhengig av typen grafikk
  • Hvis en tekstblokk er inne i store avgrensningsbokser, kan hele tekstblokken betraktes som en visuell og fjernes ved hjelp av denne logikken

Alternativ 2: Pixel konsentrasjonsanalyse

Vi implementerer vår andre tilnærming ved å analysere bildepikslene. Normale tekstavsnitt beholder en konsentrasjonssignatur i linjene. Vi kan måle og analysere pikseltettheter for å identifisere områder med pikseltetthet som ikke ligner resten av dokumentet. Du kan følge de detaljerte trinnene i det følgende bærbare.

  1. Konverter dokumentet til gråtoner.
  2. Konverter grå områder til hvitt.
  3. Skjul pikslene horisontalt for å beregne konsentrasjonen av svarte piksler.
  4. Del dokumentet i horisontale striper eller segmenter for å identifisere de som ikke er fulltekst (som strekker seg over hele siden).

  1. For alle horisontale segmenter som ikke er fulltekst, identifiser områdene som er tekst kontra områder som er bilder. Dette gjøres ved å filtrere ut seksjoner ved å bruke minimum og maksimum terskler for svart pikselkonsentrasjon.
  2. Fjern områder som er identifisert som ikke-fulltekst.

Du kan stille inn følgende parametere for å optimalisere nøyaktigheten av å identifisere områder som ikke er tekst:

  • Ikke-tekst horisontale segment terskler - Definer minimum og maksimale terskler for svart pikselkonsentrasjon som brukes til å oppdage horisontale segmenter som ikke er tekst på siden.
  • Ikke-tekst vertikale segment terskler - Definer minimums- og maksimumsverdier for svart pikselkonsentrasjon som brukes til å oppdage vertikale segmenter som ikke er tekst på siden.
  • Vindusstørrelse - Kontrollerer hvordan siden er delt i horisontale og vertikale segmenter for analyse (X_WINDOW, Y_WINDOW). Det er definert i antall piksler.
  • Minimum visuelt område - Definerer det minste området som kan betraktes som et visuelt element som skal fjernes. Det er definert i piksler.
  • Grå rekkevidde - Terskelen for at gråtoner skal fjernes.

Fordeler og ulemper

Denne tilnærmingen kan tilpasses. Imidlertid har den følgende ulemper:

  • Optimale parametere tar lengre tid og for å oppnå en dypere forståelse av løsningen
  • Hvis dokumentet ikke er perfekt rettet (bildet tatt av kameraet med en vinkel), kan denne metoden mislykkes.

konklusjonen

I dette innlegget viste vi hvordan du kan implementere to tilnærminger for å redigere bilder fra forskjellige dokumenter. Begge tilnærmingene er enkle å implementere. Du kan få resultater av høy kvalitet og tilpasse begge metodene i henhold til din brukstilfelle.

For å lære mer om forskjellige teknikker i Amazon Textract, besøk publikum AWS prøver GitHub repo.


Om forfatterne

 Yuan Jiang er en Sr Solution Architect med fokus på maskinlæring. Han er medlem av Amazon Computer Vision Hero-programmet og Amazon Machine Learning Technical Field Community.

Victor Red er en Sr Partner Solution Architect med Conversational AI-fokus. Han er også medlem av Amazon Computer Vision Hero-programmet.

louis pineda er en Sr Partner Management Solution Architect. Han er også medlem av Amazon Computer Vision Hero-programmet.

Miguel Romero Calvo er datavitenskapsmann fra AWS Machine Learning Solution Lab.

Kilde: https://aws.amazon.com/blogs/machine-learning/process-text-and-images-in-pdf-documents-with-amazon-textract/

Tidstempel:

Mer fra AWS maskinlæringsblogg