DL/Computer Vision

[Computer Vision] LayoutLM: Pre-training of Text and Layout for Document Image Understanding (2019) 리뷰

moonzoo 2024. 2. 22. 10:29

0. 요약

NLP 사전 학습 모델이 널리 사용되고 있지만, 대부분 텍스트에만 집중하고 문서 이미지 이해에 필수적인 레이아웃과 스타일 정보는 간과하고 있습니다.

 

본 논문에서는 스캔된 문서 이미지 전반에 걸쳐 텍스트와 레이아웃 그리고 이미지 정보를 고려한 joint 모델 LayoutLM을 제안합니다. (BERT + Fast R-CNN)

 

LayoutLM이 문서 이미지 이해를 위해 텍스트와 레이아웃의 정보를 단일 프레임워크에서 학습하는 첫 번째 사례입니다. 이는 여러 Downstream task에서 최고 성능을 달성했습니다.

  1. form understanding (70.72 → 79.27)
  2. receipt understanding(94.02 → 95.24)
  3. document image classification (93.07 → 94.42)

1. 서론

Document Image Understanding는 자동으로 문서를 읽고, 이해하며 분석하는 기술로 업무 효율성과 생산성에 중요한 역할을 할 수 있습니다. 이러한 비즈니스 문서의 레이아웃은 보통 텍스트로 제시되며 이 외에도 다양한 표, 그림 등 다양한 방식으로 구성될 수 있습니다.

 

그러나, 비즈니스 문서를 이해하는 것은 레이아웃과 형식의 다양성, 스캔된 문서 이미지의 불량한 품질 및 템플릿 구조의 복잡성 때문에 매우 어려운 작업입니다. 이를 해결하고자 많은 선행연구가 진행됐습니다.

 

선행연구(2021년 이전)

  • CNN을 활용한 PDF 문서의 테이블 탐지
  • Faster R-CNN or MASK R-CNN을 활용한 PDF문서의 테이블 탐지 (레이아웃 고려)
  • Fully convolutional network + pretrained NLP 모델 (Multimodal end-to-end learning)
  • GCN을 활용하여 텍스트, 이미지 정보를 joint learning

비즈니스 문서에서 정보 추출을 위해 Document AI 분야는 큰 진전을 이뤘습니다. 그러나, 대부분의 방법들은 두 가지 한계점이 있습니다.

  1. 사람이 라벨링한 적은 양의 학습 샘플에 의존하면서, 방대한 양의 라벨링 되지 않은 데이터셋을 활용하지 않고 있습니다.
  2. 사전 훈련된 CV 모델이나 NLP 모델을 주로 활용하지만, CV와 NLP를 동시에 사용하는 사전 학습 모델이 존재하지 않습니다.

이에 본 논문에서는 Document Image Understanding 텍스트(NLP)와 레이아웃 및 이미지 정보(CV)를 동시에 학습하여 Document를 이해하는 Pretrained model인 LayoutLM을 제안합니다.

 

그렇다면 문서 레이아웃 정보가 왜 필요할까요?

 

왼 : 문서 레이아웃 정보  /  오 : 시각 정보

문서 레이아웃 정보로부터 많은 정보를 얻을 수 있기 때문입니다.

  1. 문서 레이아웃 정보 : 문서 내에서 단어의 상대적인 위치에 대한 중요한 의미적 정보를 담고 있습니다. 예를 들어 위 그림의 Passport ID는 문서의 오른쪽에 위치할 가능성이 높습니다.
  2. 시각 정보 : 문서의 시각 정보는 텍스트의 중요도를 보여줍니다. 예를 들어 전체 문서의 layout과 단어의 스타일(글꼴 굵기 등)입니다.

이에 LayoutLM 모델은 BERT 모델에서 영감을 받아 기존 BERT input embedding에 추가로 두 가지 input embedding을 추가합니다

  1. 2D Position embedding : 문서 내 토큰의 상대적 위치
  2. Image embedding : 문서 내 스캔된 토큰 이미지에

이러한 임베딩을 추가하는 이유는 2D Position embedding이 문서 내 토큰 간의 관계를 포착할 수 있으며, Image embedding은 글꼴 방향, 유형, 색상과 같은 외형 특성을 포착할 수 있기 때문입니다.

 

2. LayoutLM 아키텍처

 

LayoutLM 모델의 아키텍처는 Figure 2.와 같습니다. 기존의 사전 훈련된 모델을 활용하고, 문서 이미지 이해 작업에 적응하기 위해 BERT 구조를 백본으로 사용하며 기존 BERT input embedding에 2D Postition embedding과 Image embedding를 추가한 것을 확인하실 수 있습니다.

 

전체적인 흐름은 다음과 같습니다.

  1. 사전에 학습된 OCR과 pdf parser를 사용하여 텍스트를 추출합니다.
  2. 추출한 텍스트의 앞쪽에 [CLS] 토큰을 붙여 BERT 모델에 입력합니다. (BERT input embedding)
  3. 각 token의 왼쪽 상단 x, y 좌표와 오른쪽 하단 x, y 좌표를 입력합니다. (2D Postion embedding)
  4. OCR 결과를 바탕으로 각 텍스트에 해당하는 이미지 조각을 매칭해서 embedding 벡터를 추출합니다. (Image embedding. Fast R-CNN)
  5. BERT의 output vector에 image embedding을 추가하여 Downstream Tasks를 해결합니다. [CLS] 토큰에는 이미지 전체 벡터를 넣어줍니다.

그럼 이제 BERT 모델부터 하나씩 살펴보도록 하겠습니다.

 

BERT

 

 

BERT 모델은 attention-based 양방향 언어 모델 입니다. 이미 여러 Task에서 좋은 성능을 보여준 BERT 모델의 구조는 기본적으로 multi-layer bidirectional Transformer encoder 입니다. 이는 토큰의 시퀀스를 받고 여러 층으로 쌓아 최종 표현을 생성합니다.

자세히 설명하면, WordPiece를 사용해 처리된 일련의 토큰에 대해, 모델에 입력되는 임베딩은 해당 단어 임베딩, 위치 임베딩, 그리고 세그먼트 임베딩을 합산하여 계산됩니다. 이 후, 이 입력 임베딩은 multi-layer bidirectional Transformer 통과하여 상황에 맞는 표현을 생성합니다.

 

LayoutLM

그러나, BERT는 보통 모든 종류의 입력에 대해 텍스트 정보만을 활용합니다. 이에 LayoutLM은 여기서 문서 레이아웃 정보를 담은 2D Position embedding 기존 BERT embedding에 더해서 계산합니다.

 

2D Position embedding

 

2D Postion embedding은 BERT의 시퀀스 내 단어 위치를 모델링하는 위치 임베딩과 달리, 문서 내 상대적인 공간 위치를 모델링하려는 목적입니다.

 

스캔된 문서 이미지 요소들의 공간 위치를 나타내기 위해, 문서 페이지를 좌표계로 간주하고 왼쪽 상단을 원점으로 갖습니다. 바운딩 박스는 (x0, y0, x1, y1)으로 정의합니다. 여기서 (x0, y0)은 바운딩 박스의 왼쪽 상단 위치에 해당하고, (x1, y1)은 오른쪽 하단 위치를 나타냅니다.

 

위치 임베딩을 계산하기 위해, x좌표(x0, x1)와 y좌표(y0, y1)는 각각 별도의 임베딩 테이블(X, Y)에서 조회됩니다. 같은 차원(x 또는 y)을 나타내는 임베딩 레이어는 같은 임베딩 테이블을 공유합니다. 이 방식은 모델이 문서 내 요소들의 위치를 더 정확하게 인코딩하고 이해할 수 있게 돕습니다.

 

Fast R-CNN

Image embedding

 

이미지 임베딩을 통해 문서의 이미지 특징을 활용하기 위해 이미지 임베딩을 추가합니다. 이 과정에서 Fast R-CNN을 활용하는데 위의 그림으로 간단히 설명하고 넘어가자면… 다음과 같습니다.

  1. Raw data: 원본 이미지가 입력으로 주어지며, 여기에는 분석하고 싶은 대상 객체가 포함되어 있습니다. 이미지에는 빨간색으로 표시된 "GT box" 또는 Ground Truth Box가 있어, 실제 객체의 위치를 나타냅니다.
  2. Objectness: 이미지에서 다양한 위치에 있는 수많은 "Anchor boxes" (파란색 박스)를 기반으로 객체가 있을 가능성이 있는 위치를 탐지합니다. 이 과정은 이미지를 여러 작은 영역으로 나누고 각 영역에 대해 객체가 있는지 없는지를 평가합니다.
  3. Proposal: "Objectness" 단계에서 탐지된 후보 영역 중 일부는 "Proposal box" (녹색 박스)로 선택됩니다. 이는 객체가 있을 것으로 예상되는 영역을 좁혀 실제 객체의 위치와 더 정확히 일치시키는 과정입니다.
  4. Feature map of the proposal: 후보 영역에 대한 특징을 추출하여 객체를 식별할 수 있는 정보로 변환합니다. 이것은 신경망이 학습한 특징을 나타내는 맵입니다.
  5. ROI pooling: Region of Interest (ROI) 풀링은 각 후보 영역의 특징 맵을 고정된 크기의 특징 벡터로 변환합니다. 이 과정은 후보 영역의 크기와 모양에 관계없이 동일한 길이의 특징 벡터를 생성하여 신경망의 다음 단계에서 사용할 수 있게 합니다.
  6. ROI: 이 최종 단계에서는 ROI 풀링을 통해 생성된 고정된 크기의 특징 벡터를 사용하여 각 후보 영역에 대한 최종 분류 및 객체의 정확한 위치를 결정합니다. 이는 각 객체에 대한 클래스 레이블과 바운딩 박스 좌표를 포함합니다.

구체적으로, OCR 결과에서 각 단어의 바운딩 박스로 이미지를 여러 조각으로 분할하고, 이들은 단어와 일대일 대응 관계를 갖도록 합니다. 이후, Faster R-CNN 모델을 사용해 이미지 조각들로부터 이미지 영역 특징을 생성하여, 특징들을 토큰 이미지 임베딩으로 사용합니다.

 

또한, [CLS] token은 전체 이미지로 대응되도록 설계 했는데, 문서의 전반적인 시각적 컨텍스트와 구조적 정보를 포착하고 이를 모델의 이해에 통합하기 위해서입니다. [CLS] 토큰은 Transformer 기반 모델에서 주로 분류 작업을 위한 대표 토큰으로 사용되며, 문서 레벨에서의 정보를 종합적으로 반영해야 하기 때문입니다.

 

3. LayoutLM 학습

Masked Visual-Language Model(MVLM loss)

Masked Visual-Language Model사전 훈련 중 랜덤으로 input 토큰을 마스킹하지만, 해당 token에 해당하는 2D position embedding은 그대로 유지합니다. 이를 통해 LayoutLM은 언어의 문맥을 이해할 뿐만 아니라 2D 위치 정보를 활용함으로써 시각 정보와 언어 사이의 갭을 연결합니다.

 

Multi-label Document Classfication

 

사전 훈련 과정에서 Document tag를 supervised signal로 사용하여 학습 시키기 위해 Multi-label Document Classfication loss를 추가했습니다.

 

이는 문서가 여러 개의 레이블 또는 태그를 가질 수 있다는 점에 기반하여 설계된 손실 함수로 각 문서가 여러 범주에 속할 수 있다고 가정합니다. 예를 들어, 한 문서 이미지에는 "계약서", "법적 문서", "긴급 문서" 등과 같은 여러 태그가 부여될 수 있습니다.

 

4. 실험 설계

  • 데이터 타입 : Scanned document images
  • Pretraining : Self-supervised pretrain on LLT-CDIP TEST Collection 1.0
    • 11,000,000 scaaned images
    • Layout 유형 : letter, memo, email, file, file-folder, form, handwritten, invoice, advertisement, budget, news articles, presentation, scientific publication, questionnaire, resume, scientific report, specification
  • 실험 데이터 및 Task
    • FUNSD dataset for form understanding
    • SROIE dataset for receipt understanding
    • RVL - CDIP dataset for document image classification

5. 실험 결과

 

 


마치며...

레이아웃 정보와 시각 정보를 텍스트 정보와 결합해 학습을 진행한다면, OCR 뿐만 아니라 다양한 NLP Task에서 큰 성능 향상을 거둘 수 있다는 것을 본 논문을 통해 알았습니다.

 

다음 글에서는 레이아웃, 그 중에서도 표의 정보를 검출하는 방법과 관련된 논문에 대해 리뷰하겠습니다.

 


자료 출처

http://dsba.korea.ac.kr/seminar/?mod=document&uid=1766

 

[Paper Review] LayoutLM: Pre-training of Text and Layout for Document Image Understanding

1. Topic 이미지안에 있는 텍스트를 추출하고 해당 텍스트에서 유의미한 정보(entity, slot)를 추출하는 방법을 소개합니다. 2. Overview 이미지안에 있는 텍스트를 추출은 Faster R-CNN을 사용하여 ROI를 추

dsba.korea.ac.kr

https://www.slideshare.net/taeseonryu/layout-lm-paper-review

 

Layout lm paper review

Layout lm paper review - Download as a PDF or view online for free

www.slideshare.net