KR102514817B1 - 딥러닝 기반의 시각적 문서 이해 시스템 및 방법 - Google Patents

딥러닝 기반의 시각적 문서 이해 시스템 및 방법 Download PDF

Info

Publication number
KR102514817B1
KR102514817B1 KR1020220122274A KR20220122274A KR102514817B1 KR 102514817 B1 KR102514817 B1 KR 102514817B1 KR 1020220122274 A KR1020220122274 A KR 1020220122274A KR 20220122274 A KR20220122274 A KR 20220122274A KR 102514817 B1 KR102514817 B1 KR 102514817B1
Authority
KR
South Korea
Prior art keywords
document
image
parsing
classification
cropped
Prior art date
Application number
KR1020220122274A
Other languages
English (en)
Inventor
김지현
김동현
Original Assignee
한국딥러닝 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국딥러닝 주식회사 filed Critical 한국딥러닝 주식회사
Priority to KR1020220122274A priority Critical patent/KR102514817B1/ko
Application granted granted Critical
Publication of KR102514817B1 publication Critical patent/KR102514817B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/418Document matching, e.g. of document images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19113Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/413Classification of content, e.g. text, photographs or tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 딥러닝 기반의 시각적 문서 이해 시스템 및 방법에 관한 것으로, 해결하고자 하는 과제는 딥러닝 기반의 문서이해변환기(Document Understanding Transformer)에 OCR(Optical Character Reader)를 접목하여 문서 분류 및 파싱 성능을 향상시켜 결과의 오류를 최소화시키는데 있다.
일례로, 문서 이미지를 입력 받고, 딥러닝 기반의 문서이해변환기(Document Understanding Transformer)를 이용하여 상기 문서 이미지의 종류를 분류하고, 상기 문서 이미지에 포함된 정보를 추출하는 제1 문서 분류 및 파싱 수행부; 및 상기 문서 이미지를 입력 받고, 딥러닝 기반의 OCR(Optical Character Reader)을 이용하여 상기 문서 이미지의 종류를 분류하고, 상기 문서 이미지에 포함된 정보를 추출하는 제2 문서 분류 및 파싱 수행부를 포함하는 딥러닝 기반의 시각적 문서 이해 시스템을 개시한다.

Description

딥러닝 기반의 시각적 문서 이해 시스템 및 방법{DEEP LEARNING BASED VISUAL DOCUMENT UNDERSTANDING SYSTEM}
본 발명의 실시예는 딥러닝 기반의 시각적 문서 이해 시스템 및 방법에 관한 것이다.
일반적으로 송장, 영수증, B/L 문서, 명함 등과 같은 구조화된 문서는 현대적인 작업 환경에서 처리되는데, 이들 중 일부는 디지털 형태의 전자 파일로 존재하며, 나머지는 스캔 이미지 또는 사진의 형태로 존재한다.
VDU(Visual Document Understanding)는 문서가 다양한 형식, 레이아웃 및 내용을 갖더라도 문서를 이해하는 것을 목표로 하는 작업이기 때문에, 자동화된 문서 처리를 위해서는 선행되어야 할 중요한 과정이라 할 수 있다.
딥러닝 기반의 광학 문자 인식(OCR) 기술의 발전을 통해 대부분의 기존 VDU(Visual Document Understanding) 시스템은 대상 문서 이미지에서 텍스트 정보를 추출하기 위해 별도의 OCR 모듈에 의존하는 유사한 아키텍처를 공유합니다.
그러나 VDU를 위한 OCR은 최첨단 모델의 경우 GPU를 필요로 하기 때문에 그에 따라 비용이 많이 들어 유지 관리 비용이 증가할 수 밖에 없으며, OCR 오류는 후속 프로세스에 부정적인 영향을 미칠 수 밖에 없다.
등록특허공보 제10-2144464호(등록일자: 2020년08월07일) 등록특허공보 제10-2149050호(등록일자: 2020년08월21일)
본 발명의 실시예는, 딥러닝 기반의 문서이해변환기(Document Understanding Transformer)에 OCR(Optical Character Reader)를 접목하여 문서 분류 및 파싱 성능을 향상시켜 결과의 오류를 최소화시킨 딥러닝 기반의 시각적 문서 이해 시스템 및 방법을 제공한다.
본 발명의 일 실시예에 따른 딥러닝 기반의 시각적 문서 이해 시스템은, 문서 이미지를 입력 받고, 딥러닝 기반의 문서이해변환기(Document Understanding Transformer)를 이용하여 상기 문서 이미지의 종류를 분류하고, 상기 문서 이미지에 포함된 정보를 추출하는 제1 문서 분류 및 파싱 수행부; 및 상기 문서 이미지를 입력 받고, 딥러닝 기반의 OCR(Optical Character Reader)을 이용하여 상기 문서 이미지의 종류를 분류하고, 상기 문서 이미지에 포함된 정보를 추출하는 제2 문서 분류 및 파싱 수행부를 포함한다.
또한, 상기 제1 문서 분류 및 파싱 수행부 및 상기 제2 문서 분류 및 파싱 수행부 각각의 문서처리결과를 상호 비교하고, 상기 문서처리결과가 미리 설정된 오차 범위 이내로 일치하는 경우 상기 문서처리결과를 최종결과로 각각 출력하는 문서 분류 및 파싱 결과 출력부를 더 포함할 수 있다.
또한, 상기 제1 문서 분류 및 파싱 수행부는, 상기 문서 이미지를 입력 받고, 입력된 상기 문서 이미지를 인코딩하여 이미지 임베딩으로 변환하는 인코딩부; 상기 이미지 임베딩을 입력 받고, 입력된 상기 이미지 임베딩을 이용하여 구조화된 형식의 정보로 변환하기 위한 토큰 시퀀스를 생성하는 디코딩부; 상기 이미지 임베딩과 상기 토큰 시퀀스를 입력 받고, 가상문서의 구조에 대한 특징 및 해당 특징에 따른 가상문서의 분류정보를 사전 학습한 딥러닝 모델을 이용하여 상기 토큰 시퀀스에 따른 상기 문서 이미지의 분류 및 파싱을 각각 수행하는 문서 분류 및 파싱 실행부; 및 상기 문서 분류 및 파싱 실행부를 통해 제공되는 결과데이터를 미리 설정된 포맷으로 변환하는 출력 포맷 변환부를 포함할 수 있다.
또한, 상기 제2 문서 분류 및 파싱 수행부는, 딥러닝 기반의 객체 탐지 모델을 이용하여 상기 문서 이미지에서 문자가 위치하는 문자영역을 각각 탐지하고, 탐지된 상기 문자영역을 하나의 객체로 각각 크롭(crop)하고, 크롭된 영역을 갖는 크롭 이미지를 생성하고, 상기 크롭 이미지의 위치 값을 각각 생성하는 문서 객체 탐지부; 딥러닝 기반의 OCR 모델을 이용하여 상기 크롭 이미지에 대한 문자인식을 수행하여 문자열을 추출하는 문자열 추출부; 상기 크롭 이미지 값 중 미리 설정된 표지단어 위치범위에 속하는 후보 크롭 이미지를 선별하고, 상기 후보 크롭 이미지의 각 문자열에 포함된 단어와, 문서 종류 별로 미리 설정된 표지단어를 비교하여 상기 문서 이미지의 종류를 분류하는 문서 분류 실행부; 및 상기 크롭 이미지에 포함된 상기 문자열과 상기 크롭 이미지의 위치 값을 기반으로 문서파싱데이터를 생성하는 문서 파싱 실행부를 포함할 수 있다.
또한, 상기 문서 분류 및 파싱 실행부의 파싱결과데이터와 상기 문서 이미지에서 상기 파싱결과데이터 각각에 해당하는 인식블록이미지를 서로 매칭하기 위한 제1 링크정보를 설정하고, 상기 제1 링크정보를 상기 출력 포맷 변환부로 제공하고, 상기 출력 포맷 변환부를 통해 변환된 출력데이터에 대한 원본비교기능을 제공하고, 상기 원본비교기능을 선택하면, 상기 제1 링크정보를 통해 상기 인식블록이미지를 로딩하고, 로딩된 상기 인식블록이미지와 상기 출력데이터를 화면 상에서 비교 가능하도록 동시에 표시하는 제1 문서 파싱 결과 비교부를 더 포함할 수 있다.
또한, 상기 문서파싱데이터에 포함된 상기 문자열과 상기 크롭 이미지를 서로 매칭하기 위한 제2 링크정보를 설정하고, 상기 문서파싱데이터에 대한 원본비교기능을 제공하고, 상기 원본비교기능을 선택하면, 상기 제2 링크정보를 통해 상기 크롭 이미지를 로딩하고, 로딩된 크롭 이미지에 포함된 문자열과 상기 문서파싱데이터를 화면 상에서 비교 가능하도록 동시에 표시하는 제2 문서 파실 결과 비교부를 더 포함할 수 있다.
본 발명의 다른 실시예에 따른 딥러닝 기반의 시각적 문서 이해 방법은, 문서 이미지를 입력 받고, 딥러닝 기반의 문서이해변환기(Document Understanding Transformer)를 이용하여 상기 문서 이미지의 종류를 분류하고, 상기 문서 이미지에 포함된 정보를 추출하는 제1 문서 분류 및 파싱 수행 단계; 및 상기 문서 이미지를 입력 받고, 딥러닝 기반의 OCR(Optical Character Reader)을 이용하여 상기 문서 이미지의 종류를 분류하고, 상기 문서 이미지에 포함된 정보를 추출하는 제2 문서 분류 및 파싱 수행 단계를 포함한다.
또한, 상기 제1 문서 분류 및 파싱 수행 단계 및 상기 제2 문서 분류 및 파싱 수행 단계 각각의 문서처리결과를 상호 비교하고, 상기 문서처리결과가 미리 설정된 오차 범위 이내로 일치하는 경우 상기 문서처리결과를 최종결과로 각각 출력하는 문서 분류 및 파싱 결과 출력 단계를 더 포함할 수 있다.
또한, 상기 제1 문서 분류 및 파싱 수행 단계는, 상기 문서 이미지를 입력 받고, 입력된 상기 문서 이미지를 인코딩하여 이미지 임베딩으로 변환하는 인코딩 단계; 상기 이미지 임베딩을 입력 받고, 입력된 상기 이미지 임베딩을 이용하여 구조화된 형식의 정보로 변환하기 위한 토큰 시퀀스를 생성하는 디코딩 단계; 상기 이미지 임베딩과 상기 토큰 시퀀스를 입력 받고, 가상문서의 구조에 대한 특징 및 해당 특징에 따른 가상문서의 분류정보를 사전 학습한 딥러닝 모델을 이용하여 상기 토큰 시퀀스에 따른 상기 문서 이미지의 분류 및 파싱을 각각 수행하는 문서 분류 및 파싱 실행 단계; 및 상기 문서 분류 및 파싱 실행 단계를 통해 제공되는 결과데이터를 미리 설정된 포맷으로 변환하는 출력 포맷 변환 단계를 포함할 수 있다.
또한, 상기 제2 문서 분류 및 파싱 수행 단계는, 딥러닝 기반의 객체 탐지 모델을 이용하여 상기 문서 이미지에서 문자가 위치하는 문자영역을 각각 탐지하고, 탐지된 상기 문자영역을 하나의 객체로 각각 크롭(crop)하고, 크롭된 영역을 갖는 크롭 이미지를 생성하고, 상기 크롭 이미지의 위치 값을 각각 생성하는 문서 객체 탐지 단계; 딥러닝 기반의 OCR 모델을 이용하여 상기 크롭 이미지에 대한 문자인식을 수행하여 문자열을 추출하는 문자열 추출 단계; 상기 크롭 이미지 값 중 미리 설정된 표지단어 위치범위에 속하는 후보 크롭 이미지를 선별하고, 상기 후보 크롭 이미지의 각 문자열에 포함된 단어와, 문서 종류 별로 미리 설정된 표지단어를 비교하여 상기 문서 이미지의 종류를 분류하는 문서 분류 실행 단계; 및 상기 크롭 이미지에 포함된 상기 문자열과 상기 크롭 이미지의 위치 값을 기반으로 문서파싱데이터를 생성하는 문서 파싱 실행 단계를 포함할 수 있다.
또한, 상기 문서 분류 및 파싱 실행 단계의 파싱결과데이터에 상기 문서 이미지를 각각 매칭하기 위한 제1 링크정보를 설정하고, 상기 제1 링크정보를 상기 출력 포맷 변환 단계로 제공하고, 상기 출력 포맷 변환 단계를 통해 변환된 출력데이터에 대한 원본비교기능을 제공하고, 상기 원본비교기능을 선택하면, 상기 제1 링크정보를 통해 상기 문서 이미지를 로딩하고, 로딩된 문서 이미지와 상기 출력데이터를 화면 상에서 비교 가능하도록 동시에 표시하는 제1 문서 파싱 결과 비교 단계를 더 포함할 수 있다.
또한, 상기 문서파싱데이터에 포함된 상기 문자열에 상기 크롭 이미지를 각각 매칭하기 위한 제2 링크정보를 설정하고, 상기 문서파싱데이터에 대한 원본비교기능을 제공하고, 상기 원본비교기능을 선택하면, 상기 제2 링크정보를 통해 상기 크롭 이미지를 로딩하고, 로딩된 크롭 이미지에 포함된 문자열과 상기 문서파싱데이터를 화면 상에서 비교 가능하도록 동시에 표시하는 제2 문서 파싱 결과 비교 단계를 더 포함할 수 있다.
본 발명에 따르면, 딥러닝 기반의 문서이해변환기(Document Understanding Transformer)에 OCR(Optical Character Reader)를 접목하여 문서 분류 및 파싱 성능을 향상시켜 결과의 오류를 최소화시킨 딥러닝 기반의 시각적 문서 이해 시스템 및 방법을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 딥러닝 기반의 시각적 문서 이해 시스템의 전체 구성을 나타낸 개요도이다.
도 2는 본 발명의 일 실시예에 따른 제1 문서 분류 및 파싱 수행부의 구성을 나타낸 블록도이다.
도 3은 도 2에 도시된 제1 문서 분류 및 파싱 수행부의 상세 동작 구성에 대한 예시를 설명하기 위해 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 제2 문서 분류 및 파싱 수행부의 구성을 나타낸 블록도이다.
도 5는 본 발명의 일 실시예에 따른 제2 문서 분류 및 파싱 수행부를 통해 문서 분류 및 파싱 방식을 설명하기 위해 나타낸 도면이다.
도 6은 도 5에 도시된 문서 분류 및 파싱 결과를 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 제1 문서 파싱 결과 비교부를 설명하기 위해 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 제2 문서 파싱 결과 비교부를 설명하기 위해 나타낸 도면이다.
도 9는 본 발명의 다른 실시예에 따른 딥러닝 기반의 시각적 문서 이해 방법의 구성을 나타낸 흐름도이다.
도 10은 본 발명의 다른 실시예에 따른 제1 문서 분류 및 파싱 수행 단계의 구성을 나타낸 흐름도이다.
도 11은 본 발명의 다른 실시예에 따른 제2 문서 분류 및 파싱 수행 단계의 구성을 나타낸 흐름도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나 이상의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 본 발명의 일 실시예에 따른 딥러닝 기반의 시각적 문서 이해 시스템의 전체 구성을 나타낸 개요도이고, 도 2는 본 발명의 일 실시예에 따른 제1 문서 분류 및 파싱 수행부의 구성을 나타낸 블록도이고, 도 3은 도 2에 도시된 제1 문서 분류 및 파싱 수행부의 상세 동작 구성에 대한 예시를 설명하기 위해 나타낸 도면이고, 도 4는 본 발명의 일 실시예에 따른 제2 문서 분류 및 파싱 수행부의 구성을 나타낸 블록도이고, 도 5는 본 발명의 일 실시예에 따른 제2 문서 분류 및 파싱 수행부를 통해 문서 분류 및 파싱 방식을 설명하기 위해 나타낸 도면이고, 도 6은 도 5에 도시된 문서 분류 및 파싱 결과를 나타낸 도면이고, 도 7은 본 발명의 일 실시예에 따른 제1 문서 파싱 결과 비교부를 설명하기 위해 나타낸 도면이며, 도 8은 본 발명의 일 실시예에 따른 제2 문서 파싱 결과 비교부를 설명하기 위해 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 딥러닝 기반의 시각적 문서 이해 시스템(1000)은 제1 문서 분류 및 파싱 수행부(100), 제2 문서 분류 및 파싱 수행부(200), 문서 분류 및 파싱 결과 출력부(300), 제1 문서 파싱 결과 비교부(400) 및 제2 문서 파싱 결과 비교부(500) 중 적어도 하나를 포함할 수 있다.
상기 제1 문서 분류 및 파싱 수행부(100)는, 문서 이미지를 입력 받고, 딥러닝 기반의 문서이해변환기(Document Understanding Transformer)를 이용하여 상기 문서 이미지의 종류를 분류하고, 문서 이미지에 포함된 정보를 추출할 수 있다. 이러한 제1 문서 분류 및 파싱 수행부(100)는 OCR과 다운스트림 작업(downstream task)을 한번에 수행하는 시각적 문서 이해 모델로, 해당 모델의 아키텍처는 크게 시각적 인코더와 텍스트 디코더로 구성될 수 있다.
좀 더 구체적으로 제1 문서 분류 및 파싱 수행부(100)는 도 2에 도시된 바와 같이, 인코딩부(110), 디코딩부(120), 문서 분류 및 파싱 실행부(130) 및 출력 포맷 변환부(140) 중 적어도 하나를 포함할 수 있다.
상기 인코딩부(110)는, 문서 이미지를 입력 받고, 입력된 문서 이미지를 인코딩하여 이미지 임베딩으로 변환할 수 있다. 인코딩부(110)는 CNN 기반의 모델 또는 변환기 기반의 모델을 인코더 네트워크로 사용할 수 있으며, 문서 파싱에 대한 성능 향상을 위해서는 변환기 기반의 모델을 적용하는 것이 바람직하다. 변환기 기반의 모델은 입력된 문서 이미지를 오버랩되지 않는 패치들로 분할할 수 있다. 변환기 모델은 쉬프트 윈도우를 갖는 변환기(Swim Transformer) 블록들이 그 내부에 위치하고 있고, 패치 병합 레이어가 패치 토큰에 적용되어 최종 쉬프트 윈도우 변환기 블록의 출력이 디코딩부(120)에서 사용될 수 있다. 즉, 쉬프트 윈도우 변환기는 원본의 문서 이미지를 여러 개의 패치로 나눈 다음 일렬로 나열하고, 나열된 패치들을 가지고 Query와 Key와 Value를 계산하고 attention을 구하는 방식으로 동작할 수 있다. 이전의 ViT(Vision Transformer) 모델 등에서 이미지 처리에 적용하기 위한 다양한 변환기가 시도되었고, 이 중에서 쉬프트 윈도우 변환기는 이미지를 격자 형태의 패치로 쪼개어 자연어에서 사용했던 방식처럼 순차적으로 적용한 것으로 기존의 이미지 처리에 사용된 변환기 모델의 단점을 보완한 것이다.
상기 디코딩부(120)는, 인코딩부(110)의 이미지 임베딩 즉 최종 쉬프트 윈도우 변환기 블록의 출력을 입력 받고, 입력된 이미지 임베딩을 이용하여 구조화된 형식의 정보로 변환하기 위한 토큰 시퀀스를 생성할 수 있다.
상기 문서 분류 및 파싱 실행부(130)는, 이미지 임베딩과 토큰 시퀀스를 입력 받고, 가상문서의 구조에 대한 특징 및 해당 특징에 따른 가상문서의 분류정보를 사전 학습한 딥러닝 모델을 이용하여 토큰 시퀀스에 따른 문서 이미지의 분류 및 파싱을 각각 수행할 수 있다. 여기서 토큰 시퀀스는 문서 이미지를 구조화된 형식의 정보로 대상 타입으로 변환할 수 있도록 한다. 다양한 문서는 각 종류 별로 일정 범위 내에서 구조화된 특징을 갖는다.
예를 들어, 영수증은 상단에 '영수증'이라는 표지단어와 함께 가맹점 정보가 표시되며 중간 부분에는 품명, 수량, 금액, 합계 부가세 등과 관련된 숫자 정보, 마지막 부분에는 카드번호, 할부개월, 카드사명, 유효기간, 가맹점번호, 결제금액 등의 정보 등이 나타나는 구조로 이루어지며, 다른 청구서, 증명서, B/L문서 등 각 문서 종류마다 유형의 미차는 있으나 어느 정도의 구조적 패턴과 특징을 갖도록 구성되어 있어, 이들의 특징과 그 특징에 따른 문서 종류 및 구조적 정보를 학습하여 문서 이미지로부터 해당 문서의 종류를 분류하고 해당 문서에 포함된 각종 내용과 구조를 이해하는 파싱 작업이 가능하다.
상기 출력 포맷 변환부(140)는, 문서 분류 및 파싱 실행부를 통해 제공되는 결과데이터를 미리 설정된 포맷으로 변환할 수 있다. 이러한 경우, 출력 포맷 변환부(140)는 원하는 구조화된 형식으로 변환하기 위한 출력 토큰 시퀀스를 이용하며, 높은 표현 능력을 위해 JSON 형식의 출력 포맷을 적용할 수 있다.
상기 제2 문서 분류 및 파싱 수행부(200)는, 문서 이미지를 입력 받고, 딥러닝 기반의 OCR(Optical Character Reader)을 이용하여 문서 이미지의 종류를 분류하고, 상기 문서 이미지에 포함된 정보를 추출
이를 위해 제2 문서 분류 및 파싱 수행부(200)는 도 4에 도시된 바와 같이, 문서 객체 탐지부(210), 문자열 추출부(220), 문서 분류 실행부(230) 및 문서 파싱 실행부(240) 중 적어도 하나를 포함할 수 있다.
상기 문서 객체 탐지부(210)는, 딥러닝 기반의 객체 탐지 모델을 이용하여 문서 이미지에서 문자가 위치하는 문자영역을 각각 탐지하고, 탐지된 문자영역(211)을 하나의 객체로 각각 크롭(crop)하고, 크롭된 영역을 갖는 크롭 이미지(212)를 생성하고, 크롭 이미지의 위치 값(213)을 각각 생성할 수 있다. 본 실시예에 따른 객체 탐지 모델은, 도 5에 도시된 바와 같이 문서 이미지(ex. 영수증)에서 임의의 형식, 글자 및 숫자 중 적어도 하나의 객체의 위치 즉 문자영역(211)을 탐지하되, 탐지된 문자영역(211)을 크롭하여 크롭 이미지(212)를 생성하고, 크롭 이미지(212)에 포함된 문자열 형식, 글자 및 숫자 객체의 둘레를 따라 사각형상을 표시하여 사각형상의 각 위치 값(즉 픽셀 위치 좌표 값)(213)을 생성할 수 있다. 문서 객체 탐지부(210)는 객체 탐지 모델을 이용하여 사각형상의 픽셀 안에서 인식되는 글자 및 숫자 정보를 출력하고, 생성된 사각형상의 위치 값을 기반으로 인접한 모든 사각형상의 크롭 이미지(212)들을 연결하며, 연결된 크롭 이미지(212)의 위치에 객체 탐지 모델을 통해 인식된 글자 및 숫자 정보를 매칭할 수 있다. 본 실시예에 따른 객체 탐지 모델은 PSENet(Progressive Scale Expansion Network) 기반의 딥러닝 모델을 적용할 수 있으나, 이에만 한정되는 것이 아니다.
상기 문자열 추출부(220)는, 딥러닝 기반의 OCR 모델을 이용하여 크롭 이미지에 대한 문자인식을 수행하여 문자열을 추출할 수 있다.
상기 문서 분류 실행부(230)는, 크롭 이미지 값 중 미리 설정된 표지단어 위치범위(S)에 속하는 후보 크롭 이미지를 선별하고, 후보 크롭 이미지의 각 문자열에 포함된 단어와, 문서 종류 별로 미리 설정된 표지단어를 비교하여 문서 이미지의 종류를 분류할 수 있다. 본 실시예에 따른 표지단어 위치범위(S)는 문서 이미지의 상단에서 1/3까지의 박스 범위로 지정될 수 있으나, 박스 범위의 수치적 설정은 임의로 변경 가능하다.
물론, 인식된 단어와 미리 설정해 놓은 표지단어 후보군 간의 비교를 통해 해당 문서의 종류를 간단히 판별할 수 있으나, 이에 더하여 특징 기반의 분류 방식을 추가하여 복합적인 방식을 통해 문서 종류를 판별할 수도 있다.
예를 들어, 특징 기반의 분류 방식은 문서이미지의 픽셀 값을 정규화(Normalization)하고, 크기를 미리 설정된 사이즈로 리사이징(resizing)하여, 대상 이미지를 생성한 후, 특징 추출기(feature extractor)를 이용하여 대상 이미지로부터 특징벡터를 추출하고, 특징 비교기를 이용하여 각각의 문서종류에 대응하는 지지 이미지(support image)들의 특징벡터와의 유사도를 연산하여 문서의 종류를 판별하는 것으로, 여기서 특징 추출기는, 동일한 문서 종류에 해당하는 다른 이미지들의 특징벡터 간 거리를 최소화하고, 서로 다른 문서 종류에 해당하는 다른 이미지들의 특징벡터 사이의 거리가 멀어지도록 학습된 모델을 적용할 수 있으며, 특징 비교기는 원본 이미지의 특징벡터와 다른 이미지들의 특징벡터들 사이의 코사인 유사도(cosine similarity)를 연산하고, 코사인 유사도가 가장 높은 다른 이미지들에 대응하는 문서종류를 예비분류로 출력할 수 있다.
상기 문서 분류 실행부(230)는, 상기와 같이 예비 분류된 결과와 표지단어 후보군을 통해 예비 분류된 결과가 서로 일치하면 일치된 문서종류를 해당 문서 이미지의 분류정보로서 출력할 수 있다.
상기 문서 파싱 실행부(240)는, 크롭 이미지에 포함된 문자열과 크롭 이미지의 위치 값을 기반으로 문서파싱데이터를 생성할 수 있다. 영수증, 청구서, 증명서, B/L문서 등 각종 문서들은 각 종류 별로 일정 범위 내에서 구조화된 특징을 갖기 때문에, 각 문서 종류마다 유형의 미차는 있으나 어느 정도의 구조적 패턴과 특징을 갖도록 구성되어 있어, 이들의 특징과 그 특징에 따른 문서 종류 및 구조적 정보를 학습하여 문서 이미지로부터 해당 문서의 종류를 분류하고 해당 문서에 포함된 각종 내용과 구조를 이해하는 파싱 작업이 가능하다.
한편, 문서 파싱 실행부(240)는 문서에서 인식된 단어, 숫자 등의 객체 내용을 인식하고, 미리 구축된 딥러닝 모델을 기반으로 이들의 상관관계나 상호관계를 파악하여 해당 문서의 결과가 정확한 것인지를 판별할 수 있다. 예를 들어 도 6에 도시된 바와 같이 영수증의 경우, 단가, 수량, 할인에 대한 데이터를 인식 및 이해하고 이들의 상관관계를 파악하여 금액에 대한 계산결과가 정확한지를 판별할 수 있다.
상기 문서 분류 및 파싱 결과 출력부(300)는, 제1 문서 분류 및 파싱 수행부(100) 및 제2 문서 분류 및 파싱 수행부(200) 각각의 문서처리결과를 상호 비교하고, 문서처리결과가 미리 설정된 오차 범위 이내로 일치하는 경우 문서처리결과를 최종결과로 각각 출력할 수 있다.
여기서, 제1 문서 분류 및 파싱 수행부(100) 및 제2 문서 분류 및 파싱 수행부(200)는 각각 VDU(Visual Document Understanding)를 위한 구성요소이기는 하지만, 제1 문서 분류 및 파싱 수행부(100)는 Transformer 기반의 딥러닝 모델이 적용되고, 제2 문서 분류 및 파싱 수행부(200)는 OCR 기반의 딥러닝 모델이 적용되어 있어, 결과물에 대한 약간의 성능 차이와 그에 따른 오차 범위가 존재할 수 있다. 각 결과물에 대한 오차 범위가 미리 설정된 범위 이내이면 동일한 것으로 간주하고, 각각의 결과물을 출력할 수 있으며, 출력 시 오차 결과물은 별도로 출력하여 제1 문서 파싱 결과 비교부(400)과 제2 문서 파싱 결과 비교부(500)으로 전달될 수 있다. 즉, 제1 문서 분류 및 파싱 수행부(100) 및 제2 문서 분류 및 파싱 수행부(200) 간의 결과물에 대한 비교 결과 제1 문서 분류 및 파싱 수행부(100)에 대한 오차 결과물은 제1 문서 파싱 결과 비교부(400)로 전달되고, 제2 문서 분류 및 파싱 수행부(200)에 대한 오차 결과물은 제2 문서 파싱 결과 비교부(500)로 전달될 수 있으며, 제1 문서 파싱 결과 비교부(400)과 제2 문서 파싱 결과 비교부(500)를 통해 전달된 오차 결과에 대한 각각의 확인 및 수정이 가능하도록 할 수 있다. 또는, 오차 범위는 설정치에 따라 상이할 수 있으며, 100% 미만의 오차 범위인 경우에서 오차가 발생된 부분은 제거하고 일치하는 부분만을 최종결과로서 출력할 수 있다.
상기 제1 문서 파싱 결과 비교부(400)는, 문서 분류 및 파싱 실행부(130)의 파싱결과데이터와 문서 이미지에서 파싱결과데이터 각각에 해당하는 인식블록이미지를 서로 매칭하기 위한 제1 링크정보를 설정하고, 제1 링크정보를 출력 포맷 변환부(140)로 제공하고, 출력 포맷 변환부(140)를 통해 변환된 출력데이터에 대한 원본비교기능을 제공하고, 원본비교기능을 선택하면, 제1 링크정보를 통해 인식블록이미지를 로딩하고, 로딩된 인식블록이미지와 출력데이터를 화면 상에서 비교 가능하도록 동시에 표시할 수 있다.
예를 들어, 도 7에 도시된 바와 같이 문서 분류 및 파싱 실행부(130)의 파싱결과데이터(A1)에 대하여 원본비교기능을 선택하면, 문서 이미지에서 해당 파싱결과데이터에 대응되는 인식블록이미지(I1)가 제1 링크정보로 연결되어 있어, 해당 인식블록이미지(I1)를 로딩하고, 로딩된 인식블록이미지(I1)와 파싱결과데이터(A1)를 하나의 화면 상에서 동시에 출력 표시할 수 있다. 여기서, 제1 링크정보는 원본인 문서 이미지에서 인식된 블록들의 각 위치 좌표 값을 생성하고, 생성된 위치 좌표 값을 파싱 과정에서 생성되는 인식블록이미지(I1)에 매칭 설정하여, 인식블록이미지(I1)를 선택하게 되면 해당 위치 좌표 값에 대응되는 문서 이미지의 특정 블록 이미지가 보여지도록 한 것이다. 이때, 파싱결과데이터(A1)에 대응하는 인식블록이미지(I1)만 로딩하여 별도로 표시할 수 있으나, 문서 이미지 자체가 표시된 상태에서 인식블록이미지(I1)에 별도의 반투명 블록이 오버랩되도록 표시되어 문서 이미지 중 어느 부분을 특정하는지를 지시할 수 있는 방식으로도 구현 가능하다.
이와 같이 제1 문서 파싱 결과 비교부(400)는 문서 분류 및 파싱 결과 출력부(300)에서 제공되는 제1 문서 분류 및 파싱 수행부(100)에 대한 오차 결과물에 대하여 원본 비교 기능을 제공하며, 이에 따라 파싱 결과에 대한 직접적인 오류 비교와 확인이 가능해짐에 따라 해당 오류를 수동으로 수정할 수 있도록 한다.
상기 제2 문서 파싱 결과 비교부(500)는, 문서 파싱 실행부(240)를 통해 제공되는 문서파싱데이터에 포함된 문자열과 크롭 이미지를 서로 매칭하기 위한 제2 링크정보를 설정하고, 문서파싱데이터에 대한 원본비교기능을 제공하고, 원본비교기능을 선택하면, 제2 링크정보를 통해 크롭 이미지를 로딩하고, 로딩된 크롭 이미지에 포함된 문자열과 문서파싱데이터를 화면 상에서 비교 가능하도록 동시에 표시할 수 있다.
예를 들어, 도 8에 도시된 바와 같이 문서파싱데이터에 포함된 문자열(A2)을 선택하면, 선택된 문자열(A2)과 제2 링크정보로 매칭된 크롭 이미지(I2)가 로딩되어 문서파싱데이터(A2)와 함께 하나의 화면 상에 동시에 표시될 수 있다. 이와 같이 제2 문서 파싱 결과 비교부(200)는 문서 분류 및 파싱 결과 출력부(300)에서 제공되는 제2 문서 분류 및 파싱 수행부(200)에 대한 오차 결과물에 대하여 원본 비교 기능을 제공하며, 이에 따라 파싱 결과에 대한 직접적인 오류 비교와 확인이 가능해짐에 따라 해당 오류를 수동으로 수정할 수 있도록 한다.
도 9는 본 발명의 다른 실시예에 따른 딥러닝 기반의 시각적 문서 이해 방법의 구성을 나타낸 흐름도이고, 도 10은 본 발명의 다른 실시예에 따른 제1 문서 분류 및 파싱 수행 단계의 구성을 나타낸 흐름도이며, 도 11은 본 발명의 다른 실시예에 따른 제2 문서 분류 및 파싱 수행 단계의 구성을 나타낸 흐름도이다.
도 9을 참조하면, 본 발명의 일 실시예에 따른 딥러닝 기반의 시각적 문서 이해 방법(S1000)은 제1 문서 분류 및 파싱 수행 단계(S100), 제2 문서 분류 및 파싱 수행 단계(S200), 문서 분류 및 파싱 결과 출력 단계(S300), 제1 문서 파싱 결과 비교 단계(S400) 및 제2 문서 파싱 결과 비교 단계(S500) 중 적어도 하나를 포함할 수 있다.
상기 제1 문서 분류 및 파싱 수행 단계(S100)는, 문서 이미지를 입력 받고, 딥러닝 기반의 문서이해변환기(Document Understanding Transformer)를 이용하여 상기 문서 이미지의 종류를 분류하고, 문서 이미지에 포함된 정보를 추출할 수 있다. 이러한 제1 문서 분류 및 파싱 수행 단계(S100)는 OCR과 다운스트림 작업(downstream task)을 한번에 수행하는 시각적 문서 이해 모델로, 해당 모델의 아키텍처는 크게 시각적 인코더와 텍스트 디코더로 구성될 수 있다.
좀 더 구체적으로 제1 문서 분류 및 파싱 수행 단계(S100)는 도 10에 도시된 바와 같이, 인코딩 단계(S110), 디코딩 단계(S120), 문서 분류 및 파싱 실행 단계(S130) 및 출력 포맷 변환 단계(S140) 중 적어도 하나를 포함할 수 있다.
상기 인코딩 단계(S110)에서는, 문서 이미지를 입력 받고, 입력된 문서 이미지를 인코딩하여 이미지 임베딩으로 변환할 수 있다. CNN 기반의 모델 또는 변환기 기반의 모델을 인코더 네트워크로 사용할 수 있으며, 문서 파싱에 대한 성능 향상을 위해서는 변환기 기반의 모델을 적용하는 것이 바람직하다. 변환기 기반의 모델은 입력된 문서 이미지를 오버랩되지 않는 패치들로 분할할 수 있다. 변환기 모델은 쉬프트 윈도우를 갖는 변환기(Swim Transformer) 블록들이 그 내부에 위치하고 있고, 패치 병합 레이어가 패치 토큰에 적용되어 최종 쉬프트 윈도우 변환기 블록의 출력이 디코딩 단계(S120)에서 사용될 수 있다. 즉, 쉬프트 윈도우 변환기는 원본의 문서 이미지를 여러 개의 패치로 나눈 다음 일렬로 나열하고, 나열된 패치들을 가지고 Query와 Key와 Value를 계산하고 attention을 구하는 방식으로 동작할 수 있다. 이전의 ViT(Vision Transformer) 모델 등에서 이미지 처리에 적용하기 위한 다양한 변환기가 시도되었고, 이 중에서 쉬프트 윈도우 변환기는 이미지를 격자 형태의 패치로 쪼개어 자연어에서 사용했던 방식처럼 순차적으로 적용한 것으로 기존의 이미지 처리에 사용된 변환기 모델의 단점을 보완한 것이다.
상기 디코딩 단계(S120)에서는, 인코딩 단계(S110)에서 출력된 이미지 임베딩 즉 최종 쉬프트 윈도우 변환기 블록의 출력을 입력 받고, 입력된 이미지 임베딩을 이용하여 구조화된 형식의 정보로 변환하기 위한 토큰 시퀀스를 생성할 수 있다.
상기 문서 분류 및 파싱 실행 단계(S130)에서는, 이미지 임베딩과 토큰 시퀀스를 입력 받고, 가상문서의 구조에 대한 특징 및 해당 특징에 따른 가상문서의 분류정보를 사전 학습한 딥러닝 모델을 이용하여 토큰 시퀀스에 따른 문서 이미지의 분류 및 파싱을 각각 수행할 수 있다. 여기서 토큰 시퀀스는 문서 이미지를 구조화된 형식의 정보로 대상 타입으로 변환할 수 있도록 한다. 다양한 문서는 각 종류 별로 일정 범위 내에서 구조화된 특징을 갖는다.
예를 들어, 영수증은 상단에 '영수증'이라는 표지단어와 함께 가맹점 정보가 표시되며 중간 부분에는 품명, 수량, 금액, 합계 부가세 등과 관련된 숫자 정보, 마지막 부분에는 카드번호, 할부개월, 카드사명, 유효기간, 가맹점번호, 결제금액 등의 정보 등이 나타나는 구조로 이루어지며, 다른 청구서, 증명서, B/L문서 등 각 문서 종류마다 유형의 미차는 있으나 어느 정도의 구조적 패턴과 특징을 갖도록 구성되어 있어, 이들의 특징과 그 특징에 따른 문서 종류 및 구조적 정보를 학습하여 문서 이미지로부터 해당 문서의 종류를 분류하고 해당 문서에 포함된 각종 내용과 구조를 이해하는 파싱 작업이 가능하다.
상기 출력 포맷 변환 단계(S140)에서는, 문서 분류 및 파싱 실행부를 통해 제공되는 결과데이터를 미리 설정된 포맷으로 변환할 수 있다. 이러한 경우, 출력 포맷 변환 단계(S140)에서는 원하는 구조화된 형식으로 변환하기 위한 출력 토큰 시퀀스를 이용하며, 높은 표현 능력을 위해 JSON 형식의 출력 포맷을 적용할 수 있다.
상기 제2 문서 분류 및 파싱 수행 단계(S200)에서는, 문서 이미지를 입력 받고, 딥러닝 기반의 OCR(Optical Character Reader)을 이용하여 문서 이미지의 종류를 분류하고, 상기 문서 이미지에 포함된 정보를 추출
이를 위해 제2 문서 분류 및 파싱 수행 단계(S200)는 도 11에 도시된 바와 같이, 문서 객체 탐지 단계(S210), 문자열 추출 단계(S220), 문서 분류 실행 단계(S230) 및 문서 파싱 실행 단계(S240) 중 적어도 하나를 포함할 수 있다.
상기 문서 객체 탐지 단계(S210)에서는, 딥러닝 기반의 객체 탐지 모델을 이용하여 문서 이미지에서 문자가 위치하는 문자영역을 각각 탐지하고, 탐지된 문자영역(211)을 하나의 객체로 각각 크롭(crop)하고, 크롭된 영역을 갖는 크롭 이미지(212)를 생성하고, 크롭 이미지의 위치 값(213)을 각각 생성할 수 있다. 본 실시예에 따른 객체 탐지 모델은, 도 5에 도시된 바와 같이 문서 이미지(ex. 영수증)에서 임의의 형식, 글자 및 숫자 중 적어도 하나의 객체의 위치 즉 문자영역(211)을 탐지하되, 탐지된 문자영역(211)을 크롭하여 크롭 이미지(212)를 생성하고, 크롭 이미지(212)에 포함된 문자열 형식, 글자 및 숫자 객체의 둘레를 따라 사각형상을 표시하여 사각형상의 각 위치 값(즉 픽셀 위치 좌표 값)(213)을 생성할 수 있다. 문서 객체 탐지 단계(S210)에서는 객체 탐지 모델을 이용하여 사각형상의 픽셀 안에서 인식되는 글자 및 숫자 정보를 출력하고, 생성된 사각형상의 위치 값을 기반으로 인접한 모든 사각형상의 크롭 이미지(212)들을 연결하며, 연결된 크롭 이미지(212)의 위치에 객체 탐지 모델을 통해 인식된 글자 및 숫자 정보를 매칭할 수 있다. 본 실시예에 따른 객체 탐지 모델은 PSENet(Progressive Scale Expansion Network) 기반의 딥러닝 모델을 적용할 수 있으나, 이에만 한정되는 것이 아니다.
상기 문자열 추출 단계(S220)에서는, 딥러닝 기반의 OCR 모델을 이용하여 크롭 이미지에 대한 문자인식을 수행하여 문자열을 추출할 수 있다.
상기 문서 분류 실행 단계(S230)에서는, 크롭 이미지 값 중 미리 설정된 표지단어 위치범위(S)에 속하는 후보 크롭 이미지를 선별하고, 후보 크롭 이미지의 각 문자열에 포함된 단어와, 문서 종류 별로 미리 설정된 표지단어를 비교하여 문서 이미지의 종류를 분류할 수 있다. 본 실시예에 따른 표지단어 위치범위(S)는 문서 이미지의 상단에서 1/3까지의 박스 범위로 지정될 수 있으나, 박스 범위의 수치적 설정은 임의로 변경 가능하다.
물론, 인식된 단어와 미리 설정해 놓은 표지단어 후보군 간의 비교를 통해 해당 문서의 종류를 간단히 판별할 수 있으나, 이에 더하여 특징 기반의 분류 방식을 추가하여 복합적인 방식을 통해 문서 종류를 판별할 수도 있다.
예를 들어, 특징 기반의 분류 방식은 문서이미지의 픽셀 값을 정규화(Normalization)하고, 크기를 미리 설정된 사이즈로 리사이징(resizing)하여, 대상 이미지를 생성한 후, 특징 추출기(feature extractor)를 이용하여 대상 이미지로부터 특징벡터를 추출하고, 특징 비교기를 이용하여 각각의 문서종류에 대응하는 지지 이미지(support image)들의 특징벡터와의 유사도를 연산하여 문서의 종류를 판별하는 것으로, 여기서 특징 추출기는, 동일한 문서 종류에 해당하는 다른 이미지들의 특징벡터 간 거리를 최소화하고, 서로 다른 문서 종류에 해당하는 다른 이미지들의 특징벡터 사이의 거리가 멀어지도록 학습된 모델을 적용할 수 있으며, 특징 비교기는 원본 이미지의 특징벡터와 다른 이미지들의 특징벡터들 사이의 코사인 유사도(cosine similarity)를 연산하고, 코사인 유사도가 가장 높은 다른 이미지들에 대응하는 문서종류를 예비분류로 출력할 수 있다.
상기 문서 분류 실행 단계(S230)에서는, 상기와 같이 예비 분류된 결과와 표지단어 후보군을 통해 예비 분류된 결과가 서로 일치하면 일치된 문서종류를 해당 문서 이미지의 분류정보로서 출력할 수 있다.
상기 문서 파싱 실행 단계(S240)에서는, 크롭 이미지에 포함된 문자열과 크롭 이미지의 위치 값을 기반으로 문서파싱데이터를 생성할 수 있다. 영수증, 청구서, 증명서, B/L문서 등 각종 문서들은 각 종류 별로 일정 범위 내에서 구조화된 특징을 갖기 때문에, 각 문서 종류마다 유형의 미차는 있으나 어느 정도의 구조적 패턴과 특징을 갖도록 구성되어 있어, 이들의 특징과 그 특징에 따른 문서 종류 및 구조적 정보를 학습하여 문서 이미지로부터 해당 문서의 종류를 분류하고 해당 문서에 포함된 각종 내용과 구조를 이해하는 파싱 작업이 가능하다.
한편, 문서 파싱 실행 단계(S240)에서는 문서에서 인식된 단어, 숫자 등의 객체 내용을 인식하고, 미리 구축된 딥러닝 모델을 기반으로 이들의 상관관계나 상호관계를 파악하여 해당 문서의 결과가 정확한 것인지를 판별할 수 있다. 예를 들어 도 6에 도시된 바와 같이 영수증의 경우, 단가, 수량, 할인에 대한 데이터를 인식 및 이해하고 이들의 상관관계를 파악하여 금액에 대한 계산결과가 정확한지를 판별할 수 있다.
상기 문서 분류 및 파싱 결과 출력 단계(S300)는, 제1 문서 분류 및 파싱 수행 단계(S100) 및 제2 문서 분류 및 파싱 수행 단계(S200) 각각의 문서처리결과를 상호 비교하고, 문서처리결과가 미리 설정된 오차 범위 이내로 일치하는 경우 문서처리결과를 최종결과로 각각 출력할 수 있다.
여기서, 제1 문서 분류 및 파싱 수행 단계(S100) 및 제2 문서 분류 및 파싱 수행 단계(S200)는 각각 VDU(Visual Document Understanding)를 위한 과정이기는 하지만, 제1 문서 분류 및 파싱 수행 단계(S100)에서는 Transformer 기반의 딥러닝 모델이 적용되고, 제2 문서 분류 및 파싱 수행 단계(S200)에서는 OCR 기반의 딥러닝 모델이 적용되어 있어, 결과물에 대한 약간의 성능 차이와 그에 따른 오차 범위가 존재할 수 있다. 각 결과물에 대한 오차 범위가 미리 설정된 범위 이내이면 동일한 것으로 간주하고, 각각의 결과물을 출력할 수 있으며, 출력 시 오차 결과물은 별도로 출력하여 제1 문서 파싱 결과 비교 단계(S400)과 제2 문서 파싱 결과 비교 단계(S500)를 위해 전달될 수 있다. 즉, 제1 문서 분류 및 파싱 수행 단계(S100) 및 제2 문서 분류 및 파싱 수행 단계(S200) 간의 결과물에 대한 비교 결과 제1 문서 분류 및 파싱 수행 단계(S100)에 대한 오차 결과물은 제1 문서 파싱 결과 비교 단계(S400)로 전달되고, 제2 문서 분류 및 파싱 수행 단계(S200)에 대한 오차 결과물은 제2 문서 파싱 결과 비교 단계(S500)로 전달될 수 있으며, 제1 문서 파싱 결과 비교 단계(S400)과 제2 문서 파싱 결과 비교 단계(S500)를 통해 제공된 오차 결과에 대한 각각의 확인 및 수정이 가능하도록 할 수 있다. 또는, 오차 범위는 설정치에 따라 상이할 수 있으며, 100% 미만의 오차 범위인 경우에서 오차가 발생된 부분은 제거하고 일치하는 부분만을 최종결과로서 출력할 수 있다.
상기 제1 문서 파싱 결과 비교 단계(S400)에서는, 문서 분류 및 파싱 실행 단계(S130)의 파싱결과데이터와 문서 이미지에서 파싱결과데이터 각각에 해당하는 인식블록이미지를 서로 매칭하기 위한 제1 링크정보를 설정하고, 제1 링크정보를 출력 포맷 변환부(140)로 제공하고, 출력 포맷 변환부(140)를 통해 변환된 출력데이터에 대한 원본비교기능을 제공하고, 원본비교기능을 선택하면, 제1 링크정보를 통해 인식블록이미지를 로딩하고, 로딩된 인식블록이미지와 출력데이터를 화면 상에서 비교 가능하도록 동시에 표시할 수 있다.
예를 들어, 도 7에 도시된 바와 같이 문서 분류 및 파싱 실행 단계(S130)의 파싱결과데이터(A1)에 대하여 원본비교기능을 선택하면, 문서 이미지에서 해당 파싱결과데이터에 대응되는 인식블록이미지(I1)가 제1 링크정보로 연결되어 있어, 해당 인식블록이미지(I1)를 로딩하고, 로딩된 인식블록이미지(I1)와 파싱결과데이터(A1)를 하나의 화면 상에서 동시에 출력 표시할 수 있다. 여기서, 제1 링크정보는 원본인 문서 이미지에서 인식된 블록들의 각 위치 좌표 값을 생성하고, 생성된 위치 좌표 값을 파싱 과정에서 생성되는 인식블록이미지(I1)에 매칭 설정하여, 인식블록이미지(I1)를 선택하게 되면 해당 위치 좌표 값에 대응되는 문서 이미지의 특정 블록 이미지가 보여지도록 한 것이다. 이때, 파싱결과데이터(A1)에 대응하는 인식블록이미지(I1)만 로딩하여 별도로 표시할 수 있으나, 문서 이미지 자체가 표시된 상태에서 인식블록이미지(I1)에 별도의 반투명 블록이 오버랩되도록 표시되어 문서 이미지 중 어느 부분을 특정하는지를 지시할 수 있는 방식으로도 구현 가능하다.
이와 같이 제1 문서 파싱 결과 비교 단계(S400)에서는 문서 분류 및 파싱 결과 출력 단계(S300)에서 제공되는 제1 문서 분류 및 파싱 수행 단계(S100)에 대한 오차 결과물에 대하여 원본 비교 기능을 제공하며, 이에 따라 파싱 결과에 대한 직접적인 오류 비교와 확인이 가능해짐에 따라 해당 오류를 수동으로 수정할 수 있도록 한다.
상기 제2 문서 파싱 결과 비교 단계(S500)에서는, 문서 파싱 실행 단계(S240)를 통해 제공되는 문서파싱데이터에 포함된 문자열과 크롭 이미지를 서로 매칭하기 위한 제2 링크정보를 설정하고, 문서파싱데이터에 대한 원본비교기능을 제공하고, 원본비교기능을 선택하면, 제2 링크정보를 통해 크롭 이미지를 로딩하고, 로딩된 크롭 이미지에 포함된 문자열과 문서파싱데이터를 화면 상에서 비교 가능하도록 동시에 표시할 수 있다.
예를 들어, 도 8에 도시된 바와 같이 문서파싱데이터에 포함된 문자열(A2)을 선택하면, 선택된 문자열(A2)과 제2 링크정보로 매칭된 크롭 이미지(I2)가 로딩되어 문서파싱데이터(A2)와 함께 하나의 화면 상에 동시에 표시될 수 있다. 이와 같이 제2 문서 파싱 결과 비교부(200)는 문서 분류 및 파싱 결과 출력 단계(S300)에서 제공되는 제2 문서 분류 및 파싱 수행 단계(S200)에 대한 오차 결과물에 대하여 원본 비교 기능을 제공하며, 이에 따라 파싱 결과에 대한 직접적인 오류 비교와 확인이 가능해짐에 따라 해당 오류를 수동으로 수정할 수 있도록 한다.
이상에서 설명한 것은 본 발명에 의한 딥러닝 기반의 시각적 문서 이해 시스템 및 방법을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
1000: 딥러닝 기반의 시각적 문서 이해 시스템
100: 제1 문서 분류 및 파싱 수행부
110: 인코딩부
120: 디코딩부
130: 문서 분류 및 파싱 실행부
140: 출력 포맷 변환부
200: 제2 문서 분류 및 파싱 수행부
210: 문서 객체 탐지부
220: 문자열 추출부
230: 문서 분류 실행부
240: 문서 파싱 실행부
300: 문서 분류 및 파싱 결과 출력부
400: 제1 문서 파싱 결과 비교부
500: 제2 문서 파싱 결과 비교부
S1000: 딥러닝 기반의 시각적 문서 이해 방법
S100: 제1 문서 분류 및 파싱 수행 단계
S110: 인코딩 단계
S120: 디코딩 단계
S130: 문서 분류 및 파싱 실행 단계
S140: 출력 포맷 변환 단계
S200: 제2 문서 분류 및 파싱 수행 단계
S210: 문서 객체 탐지 단계
S220: 문자열 추출 단계
S230: 문서 분류 실행 단계
S240: 문서 파싱 실행 단계
S300: 문서 분류 및 파싱 결과 출력 단계
S400: 제1 문서 파싱 결과 비교 단계
S500: 제2 문서 파싱 결과 비교 단계

Claims (8)

  1. 딥러닝 기반의 시각적 문서 이해 시스템에 관한 것으로,
    문서 이미지를 입력 받고, 딥러닝 기반의 문서이해변환기(Document Understanding Transformer)를 이용하여 상기 문서 이미지의 종류를 분류하고, 상기 문서 이미지에 포함된 정보를 추출하는 제1 문서 분류 및 파싱 수행부; 및
    상기 문서 이미지를 입력 받고, 딥러닝 기반의 OCR(Optical Character Reader)을 이용하여 상기 문서 이미지의 종류를 분류하고, 상기 문서 이미지에 포함된 정보를 추출하는 제2 문서 분류 및 파싱 수행부를 포함하고,
    상기 제1 문서 분류 및 파싱 수행부는,
    상기 문서 이미지를 입력 받고, 입력된 상기 문서 이미지를 인코딩하여 이미지 임베딩으로 변환하는 인코딩부;
    상기 이미지 임베딩을 입력 받고, 입력된 상기 이미지 임베딩을 이용하여 구조화된 형식의 정보로 변환하기 위한 토큰 시퀀스를 생성하는 디코딩부;
    상기 이미지 임베딩과 상기 토큰 시퀀스를 입력 받고, 가상문서의 구조에 대한 특징 및 해당 특징에 따른 가상문서의 분류정보를 사전 학습한 딥러닝 모델을 이용하여 상기 토큰 시퀀스에 따른 상기 문서 이미지의 분류 및 파싱을 각각 수행하는 문서 분류 및 파싱 실행부; 및
    상기 문서 분류 및 파싱 실행부를 통해 제공되는 결과데이터를 미리 설정된 포맷으로 변환하는 출력 포맷 변환부를 포함하고,
    상기 제2 문서 분류 및 파싱 수행부는,
    딥러닝 기반의 객체 탐지 모델을 이용하여 상기 문서 이미지에서 문자가 위치하는 문자영역을 각각 탐지하고, 탐지된 상기 문자영역을 하나의 객체로 각각 크롭(crop)하고, 크롭된 영역을 갖는 크롭 이미지를 생성하고, 상기 크롭 이미지의 위치 값을 각각 생성하는 문서 객체 탐지부;
    딥러닝 기반의 OCR 모델을 이용하여 상기 크롭 이미지에 대한 문자인식을 수행하여 문자열을 추출하는 문자열 추출부;
    상기 크롭 이미지 값 중 미리 설정된 표지단어 위치범위에 속하는 후보 크롭 이미지를 선별하고, 상기 후보 크롭 이미지의 각 문자열에 포함된 단어와, 문서 종류 별로 미리 설정된 표지단어를 비교하여 상기 문서 이미지의 종류를 분류하는 문서 분류 실행부; 및
    상기 크롭 이미지에 포함된 상기 문자열과 상기 크롭 이미지의 위치 값을 기반으로 문서파싱데이터를 생성하는 문서 파싱 실행부를 포함하고,
    상기 시각적 문서 이해 시스템은,
    상기 문서 분류 및 파싱 실행부의 파싱결과데이터와 상기 문서 이미지에서 상기 파싱결과데이터 각각에 해당하는 인식블록이미지를 서로 매칭하기 위한 제1 링크정보를 설정하고, 상기 제1 링크정보를 상기 출력 포맷 변환부로 제공하고, 상기 출력 포맷 변환부를 통해 변환된 출력데이터에 대한 원본비교기능을 제공하고, 상기 원본비교기능을 선택하면, 상기 제1 링크정보를 통해 상기 인식블록이미지를 로딩하고, 로딩된 상기 인식블록이미지와 상기 출력데이터를 화면 상에서 비교 가능하도록 동시에 표시하는 제1 문서 파싱 결과 비교부; 및
    상기 문서파싱데이터에 포함된 상기 문자열과 상기 크롭 이미지를 서로 매칭하기 위한 제2 링크정보를 설정하고, 상기 문서파싱데이터에 대한 원본비교기능을 제공하고, 상기 원본비교기능을 선택하면, 상기 제2 링크정보를 통해 상기 크롭 이미지를 로딩하고, 로딩된 크롭 이미지에 포함된 문자열과 상기 문서파싱데이터를 화면 상에서 비교 가능하도록 동시에 표시하는 제2 문서 파싱 결과 비교부를 더 포함하는 것을 특징으로 하는 딥러닝 기반의 시각적 문서 이해 시스템.
  2. 제1 항에 있어서,
    상기 제1 문서 분류 및 파싱 수행부 및 상기 제2 문서 분류 및 파싱 수행부 각각의 문서처리결과를 상호 비교하고, 상기 문서처리결과가 미리 설정된 오차 범위 이내로 일치하는 경우 상기 문서처리결과를 최종결과로 각각 출력하는 문서 분류 및 파싱 결과 출력부를 더 포함하는 것을 특징으로 하는 딥러닝 기반의 시각적 문서 이해 시스템.
  3. 삭제
  4. 삭제
  5. 딥러닝 기반의 시각적 문서 이해 방법에 관한 것으로,
    문서 이미지를 입력 받고, 딥러닝 기반의 문서이해변환기(Document Understanding Transformer)를 이용하여 상기 문서 이미지의 종류를 분류하고, 상기 문서 이미지에 포함된 정보를 추출하는 제1 문서 분류 및 파싱 수행 단계; 및
    상기 문서 이미지를 입력 받고, 딥러닝 기반의 OCR(Optical Character Reader)을 이용하여 상기 문서 이미지의 종류를 분류하고, 상기 문서 이미지에 포함된 정보를 추출하는 제2 문서 분류 및 파싱 수행 단계를 포함하고,
    상기 제1 문서 분류 및 파싱 수행 단계는,
    상기 문서 이미지를 입력 받고, 입력된 상기 문서 이미지를 인코딩하여 이미지 임베딩으로 변환하는 인코딩 단계;
    상기 이미지 임베딩을 입력 받고, 입력된 상기 이미지 임베딩을 이용하여 구조화된 형식의 정보로 변환하기 위한 토큰 시퀀스를 생성하는 디코딩 단계;
    상기 이미지 임베딩과 상기 토큰 시퀀스를 입력 받고, 가상문서의 구조에 대한 특징 및 해당 특징에 따른 가상문서의 분류정보를 사전 학습한 딥러닝 모델을 이용하여 상기 토큰 시퀀스에 따른 상기 문서 이미지의 분류 및 파싱을 각각 수행하는 문서 분류 및 파싱 실행 단계; 및
    상기 문서 분류 및 파싱 실행 단계를 통해 제공되는 결과데이터를 미리 설정된 포맷으로 변환하는 출력 포맷 변환 단계를 포함하고,
    상기 제2 문서 분류 및 파싱 수행 단계는,
    딥러닝 기반의 객체 탐지 모델을 이용하여 상기 문서 이미지에서 문자가 위치하는 문자영역을 각각 탐지하고, 탐지된 상기 문자영역을 하나의 객체로 각각 크롭(crop)하고, 크롭된 영역을 갖는 크롭 이미지를 생성하고, 상기 크롭 이미지의 위치 값을 각각 생성하는 문서 객체 탐지 단계;
    딥러닝 기반의 OCR 모델을 이용하여 상기 크롭 이미지에 대한 문자인식을 수행하여 문자열을 추출하는 문자열 추출 단계;
    상기 크롭 이미지 값 중 미리 설정된 표지단어 위치범위에 속하는 후보 크롭 이미지를 선별하고, 상기 후보 크롭 이미지의 각 문자열에 포함된 단어와, 문서 종류 별로 미리 설정된 표지단어를 비교하여 상기 문서 이미지의 종류를 분류하는 문서 분류 실행 단계; 및
    상기 크롭 이미지에 포함된 상기 문자열과 상기 크롭 이미지의 위치 값을 기반으로 문서파싱데이터를 생성하는 문서 파싱 실행 단계를 포함하고,
    상기 시각적 문서 이해 방법은,
    상기 문서 분류 및 파싱 실행 단계의 파싱결과데이터에 상기 문서 이미지를 각각 매칭하기 위한 제1 링크정보를 설정하고, 상기 제1 링크정보를 상기 출력 포맷 변환 단계로 제공하고, 상기 출력 포맷 변환 단계를 통해 변환된 출력데이터에 대한 원본비교기능을 제공하고, 상기 원본비교기능을 선택하면, 상기 제1 링크정보를 통해 상기 문서 이미지를 로딩하고, 로딩된 문서 이미지와 상기 출력데이터를 화면 상에서 비교 가능하도록 동시에 표시하는 제1 문서 파싱 결과 비교 단계; 및
    상기 문서파싱데이터에 포함된 상기 문자열에 상기 크롭 이미지를 각각 매칭하기 위한 제2 링크정보를 설정하고, 상기 문서파싱데이터에 대한 원본비교기능을 제공하고, 상기 원본비교기능을 선택하면, 상기 제2 링크정보를 통해 상기 크롭 이미지를 로딩하고, 로딩된 크롭 이미지에 포함된 문자열과 상기 문서파싱데이터를 화면 상에서 비교 가능하도록 동시에 표시하는 제2 문서 파싱 결과 비교 단계를 더 포함하는 것을 특징으로 하는 딥러닝 기반의 시각적 문서 이해 방법.
  6. 제5 항에 있어서,
    상기 제1 문서 분류 및 파싱 수행 단계 및 상기 제2 문서 분류 및 파싱 수행 단계 각각의 문서처리결과를 상호 비교하고, 상기 문서처리결과가 미리 설정된 오차 범위 이내로 일치하는 경우 상기 문서처리결과를 최종결과로 각각 출력하는 문서 분류 및 파싱 결과 출력 단계를 더 포함하는 것을 특징으로 하는 딥러닝 기반의 시각적 문서 이해 방법.
  7. 삭제
  8. 삭제
KR1020220122274A 2022-09-27 2022-09-27 딥러닝 기반의 시각적 문서 이해 시스템 및 방법 KR102514817B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220122274A KR102514817B1 (ko) 2022-09-27 2022-09-27 딥러닝 기반의 시각적 문서 이해 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220122274A KR102514817B1 (ko) 2022-09-27 2022-09-27 딥러닝 기반의 시각적 문서 이해 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102514817B1 true KR102514817B1 (ko) 2023-03-29

Family

ID=85799971

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220122274A KR102514817B1 (ko) 2022-09-27 2022-09-27 딥러닝 기반의 시각적 문서 이해 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102514817B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102144464B1 (ko) 2020-03-04 2020-08-14 주식회사 로민 문서분류장치 및 문서분류방법
KR102149050B1 (ko) 2020-04-24 2020-08-28 주식회사 애자일소다 인공지능을 이용한 ocr 기반 문서 분석 시스템 및 방법
KR20220046987A (ko) * 2020-10-08 2022-04-15 주식회사 엔씨소프트 문단 내 객체 탐지 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102144464B1 (ko) 2020-03-04 2020-08-14 주식회사 로민 문서분류장치 및 문서분류방법
KR102149050B1 (ko) 2020-04-24 2020-08-28 주식회사 애자일소다 인공지능을 이용한 ocr 기반 문서 분석 시스템 및 방법
KR20220046987A (ko) * 2020-10-08 2022-04-15 주식회사 엔씨소프트 문단 내 객체 탐지 방법 및 장치

Similar Documents

Publication Publication Date Title
US11170248B2 (en) Video capture in data capture scenario
US5373566A (en) Neural network-based diacritical marker recognition system and method
US20180137349A1 (en) System and method of character recognition using fully convolutional neural networks
JP6366024B2 (ja) 画像化された文書からテキストを抽出する方法及び装置
US8965126B2 (en) Character recognition device, character recognition method, character recognition system, and character recognition program
US7233697B2 (en) Character recognition device and a method therefor
CN113591546A (zh) 语义增强型场景文本识别方法及装置
US9152883B2 (en) System and method for increasing the accuracy of optical character recognition (OCR)
CN112949455B (zh) 一种增值税发票识别系统及方法
Sarika et al. CNN based optical character recognition and applications
Singh et al. Optical character recognition using template matching and back propagation algorithm
CN108090728B (zh) 一种基于智能终端的快递信息录入方法及录入系统
KR102514817B1 (ko) 딥러닝 기반의 시각적 문서 이해 시스템 및 방법
JP2008225695A (ja) 文字認識誤り修正装置およびプログラム
CN111213157A (zh) 一种基于智能终端的快递信息录入方法及录入系统
Memon et al. Glyph identification and character recognition for Sindhi OCR
Smitha et al. Document image analysis using imagemagick and tesseract-ocr
Ali et al. UOCR: A ligature based approach for an Urdu OCR system
CN111414889B (zh) 基于文字识别的财务报表识别方法及装置
Palani et al. Detecting and extracting information of medicines from a medical prescription using deep learning and computer vision
CN114359906A (zh) 基于多尺度特征融合的网络图像文本识别方法及系统
CN114625872A (zh) 基于全局指针的风险审核方法、系统、设备及存储介质
JP3435375B2 (ja) 文字認識方法および装置
Vaidya et al. Discrete cosine transform-based feature selection for Marathi numeral recognition system
Bhattacharjee et al. A novel approach for character recognition

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant