Amazon Textract를 사용한 PDF 문서 사전 처리 : 시각 자료 감지 및 제거

소스 노드 : 1204412

아마존 텍사스 는 스캔 된 문서에서 인쇄 된 텍스트, 필기 및 기타 데이터를 자동으로 추출하여 단순 광학 문자 인식 (OCR)을 넘어서 양식과 표에서 데이터를 식별, 이해 및 추출하는 완전 관리 형 기계 학습 (ML) 서비스입니다. Amazon Textract는 재무 보고서, 의료 기록 및 세금 양식을 비롯한 다양한 문서에서 텍스트를 감지 할 수 있습니다.

많은 사용 사례에서 로고, 사진 및 차트와 같은 다양한 시각적 개체를 사용하여 문서를 추출하고 분석해야합니다. 이러한 시각적 개체에는 Amazon Textract 출력을 구성하거나 다운 스트림 프로세스에 필요하지 않은 포함 된 텍스트가 포함되어 있습니다. 예를 들어 많은 부동산 평가 양식이나 문서에는 주택 사진이나 과거 가격 추세가 포함되어 있습니다. 이 정보는 다운 스트림 프로세스에서 필요하지 않으며 Amazon Textract를 사용하여 문서를 분석하기 전에 제거해야합니다. 이 게시물에서는 사전 처리의 일부로 이러한 시각적 개체를 제거하는 두 가지 효과적인 방법을 설명합니다.

솔루션 개요

이 게시물에서는 로고와 차트가 포함 된 PDF를 예로 사용합니다. 두 가지 유형의 프로세스를 사용하여 이러한 시각적 개체를 변환 및 감지 한 다음 수정합니다.

첫 번째 방법에서는 OpenCV 라이브러리 canny edge detector를 사용하여 비주얼의 가장자리를 감지합니다. 두 번째 방법의 경우 이러한 시각적 개체의 위치를 ​​감지하는 사용자 지정 픽셀 농도 분석기를 작성합니다.

추가 처리를 위해 이러한 시각적 개체를 추출하고 사용 사례에 맞게 코드를 쉽게 수정할 수 있습니다.

검색 가능한 PDF는 일반적으로 텍스트 프로세서, 가상 PDF 프린터 및 기본 편집기와 같은 다른 응용 프로그램에서 생성되는 기본 PDF 파일입니다. 이러한 유형의 PDF는 문서 내에 메타 데이터, 텍스트 및 이미지 정보를 유지합니다. 다음과 같은 라이브러리를 쉽게 사용할 수 있습니다. PyMuPDF / fitz PDF 구조를 탐색하고 이미지와 텍스트를 식별합니다. 이 게시물에서는 검색 할 수 없거나 이미지 기반 문서에 중점을 둡니다.

옵션 1 : OpenCV 에지 감지기로 시각적 개체 감지

이 방법에서는 PDF를 PNG 형식으로 변환 한 다음 OpenCV-파이썬 라이브러리를 사용하고 Canny Edge Detector를 사용하여 시각적 위치를 감지합니다. 다음에서 자세한 단계를 따를 수 있습니다. 수첩.

  1. 문서를 그레이 스케일로 변환합니다.

  1. Canny Edge 알고리즘을 적용하여 Canny-Edged 문서에서 윤곽선을 감지합니다.
  2. 관련 치수가있는 직사각형 윤곽을 식별합니다.

사용 사례에 따라 감지 정확도를 높이기 위해 몇 가지 매개 변수를 추가로 조정하고 최적화 할 수 있습니다.

  • 최소 높이 및 너비 –이 매개 변수는 시각적 감지를위한 최소 높이 및 너비 임계 값을 정의합니다. 페이지 크기의 백분율로 표시됩니다.
  • 패딩 – 직사각형 윤곽선이 감지되면 편집 할 페이지의 전체 영역에 대해 약간의 유연성을 갖도록 추가 패딩 영역을 정의합니다. 이것은 시각 자료의 텍스트가 명확하게 구분 된 직사각형 영역 안에 있지 않은 경우에 유용합니다.

장점과 단점

이 접근 방식에는 다음과 같은 장점이 있습니다.

  • 대부분의 사용 사례를 충족합니다.
  • 구현하기 쉽고 빠르게 시작하고 실행할 수 있습니다.
  • 최적의 매개 변수는 좋은 결과를 산출합니다.

그러나이 접근 방식에는 다음과 같은 단점이 있습니다.

  • 경계 상자 또는 주변 가장자리가없는 영상의 경우 영상 유형에 따라 성능이 달라질 수 있습니다.
  • 텍스트 블록이 큰 경계 상자 안에 있으면 전체 텍스트 블록이 시각적으로 간주되어이 논리를 사용하여 제거 될 수 있습니다.

옵션 2 : 픽셀 농도 분석

이미지 픽셀을 분석하여 두 번째 접근 방식을 구현합니다. 일반 텍스트 단락은 행에 집중 서명을 유지합니다. 픽셀 밀도를 측정하고 분석하여 문서의 나머지 부분과 유사하지 않은 픽셀 밀도가있는 영역을 식별 할 수 있습니다. 다음에서 자세한 단계를 따를 수 있습니다. 수첩.

  1. 문서를 그레이 스케일로 변환합니다.
  2. 회색 영역을 흰색으로 변환합니다.
  3. 픽셀을 가로로 축소하여 검은 색 픽셀의 농도를 계산합니다.
  4. 문서를 가로 줄무늬 또는 세그먼트로 분할하여 전체 텍스트가 아닌 것을 식별합니다 (전체 페이지에 걸쳐 확장 됨).

  1. 전체 텍스트가 아닌 모든 수평 세그먼트에 대해 텍스트 영역과 이미지 영역을 식별합니다. 이는 최소 및 최대 블랙 픽셀 농도 임계 값을 사용하여 섹션을 필터링하여 수행됩니다.
  2. 전체 텍스트가 아닌 것으로 식별 된 영역을 제거합니다.

다음 매개 변수를 조정하여 텍스트가 아닌 영역을 식별하는 정확도를 최적화 할 수 있습니다.

  • 텍스트가 아닌 수평 세그먼트 임계 값 – 페이지에서 텍스트가 아닌 가로 세그먼트를 감지하는 데 사용되는 최소 및 최대 검정 픽셀 농도 임계 값을 정의합니다.
  • 텍스트가 아닌 수직 세그먼트 임계 값 – 페이지에서 텍스트가 아닌 수직 세그먼트를 감지하는 데 사용되는 최소 및 최대 검은 색 픽셀 농도 임계 값을 정의합니다.
  • 창 크기 – 분석을 위해 페이지가 수평 및 수직 세그먼트로 분할되는 방법을 제어합니다 (X_WINDOW, Y_WINDOW). 픽셀 수로 정의됩니다.
  • 최소 가시 영역 – 제거 할 시각적 개체로 간주 할 수있는 가장 작은 영역을 정의합니다. 픽셀 단위로 정의됩니다.
  • 회색 범위 임계 값 – 제거 할 회색 음영의 임계 값.

장점과 단점

이 접근 방식은 고도로 사용자 정의 할 수 있습니다. 그러나 다음과 같은 단점이 있습니다.

  • 최적의 매개 변수는 더 오래 걸리고 솔루션에 대한 더 깊은 이해를 얻습니다.
  • 문서가 완벽하게 수정되지 않으면 (카메라로 촬영 한 이미지)이 방법은 실패 할 수 있습니다.

결론

이 게시물에서는 서로 다른 문서에서 시각적 개체를 수정하는 두 가지 접근 방식을 구현하는 방법을 보여주었습니다. 두 가지 접근 방식 모두 구현하기 쉽습니다. 고품질 결과를 얻고 사용 사례에 따라 두 방법 중 하나를 사용자 지정할 수 있습니다.

Amazon Textract의 다양한 기술에 대해 자세히 알아 보려면 대중을 방문하십시오. AWS 샘플 GitHub 리포지토리.


저자에 관하여

 위안 지앙 기계 학습에 중점을 둔 Sr Solution Architect입니다. 그는 Amazon Computer Vision Hero 프로그램 및 Amazon Machine Learning Technical Field Community의 회원입니다.

빅터 로조 대화 형 AI에 중점을 둔 Sr 파트너 솔루션 아키텍트입니다. 그는 또한 Amazon Computer Vision Hero 프로그램의 회원이기도합니다.

루이스 피네다 Sr Partner Management Solution Architect입니다. 그는 또한 Amazon Computer Vision Hero 프로그램의 회원이기도합니다.

미구엘 로메로 칼보 AWS Machine Learning Solution Lab의 데이터 과학자입니다.

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

타임 스탬프 :

더보기 AWS 머신 러닝 블로그