Machine Learning/Image

Document Attention Networks (DAN)

ai-notes 2024. 12. 19. 18:06
반응형

Coquenet, Denis, Clément Chatelain, and Thierry Paquet. "Dan: a segmentation-free document attention network for handwritten document recognition."
IEEE transactions on pattern analysis and machine intelligence
45.7 (2023): 8227-8243.
https://arxiv.org/pdf/2203.12273v4

오늘은 Document OCR에 대한 논문을 (필요하다 생각하는 정보만) 정리해봤습니다.

Detection 없이 E2E를 구현한 논문으로 네트워크 구조는 특별한게 없었지만 아이디어가 매우 신선한 논문이였습니다.

공식코드는 여기 에서 확인해 볼 수 있습니다.


Abstract

Handwritten Document Recognition(HDR)을 하기 위해 전통적으로는 2-stage 방법으로 접근을 하는데, line segement와 line recognition을 조합하여 사용합니다.

저자들은 이에 벗어나 Document Attention Network(DAN)을 통해 처음으로 end-to-end segmentation-free 구조를 제안합니다.

텍스트 인식 외에도 모델은 XML과 유사한 방식으로 시작 및 종료 태그를 사용하여 텍스트 부분에 레이블을 지정하도록 훈련됩니다.

제안하는 모델은 feature extraction을 위한 FCN encoder와 transformer decoder로 이루어져 있습니다. 전체 문서 이미지를 입력으로 받고 문자와 레이아웃 토큰을 출력합니다.

Introduction

End-to-End 모델들이 발전하면서 segmentation labels의 필요성이 점점 줄어들게 되었습니다.

최근 접근 방법들은 text line segmentation step 없이 text를 인식했으나, 싱글 컬럼을 인식하는 것에 그쳤다고 합니다.

그러나 실제 문서들은 다양한 레이아웃과 다중 컬럼들을 구성하고 있다는 문제가 있습니다. 이 논문에서는 텍스트와 레이아웃을 모두 인식하여 복잡한 레이아웃을 가진 문서도 한 번에 처리하는 방법을 제안합니다.

제안된 접근 방식은 분할(또는 물리적) 레이블이 필요 없이 학습을 위해 매우 적은 주석만 필요한 통합 통계 모델로 구성됩니다. Text content는 연속된 문자들로 표현할 수 있고, 레이아웃은 방향성 그래프로 표현하여 다양한 레이아웃 개체의 계층 구조와 읽기 순서를 모델링 합니다.

Figure 1을 예를 들면, 노드들은 레이아웃 개체들로 볼 수 있고, 엣지들은 이들의 관계를 나타냅니다.

멤버십 관계는 점선 화살표로 표현되고, 읽는 순서는 실선 화살표로 나타냅니다.

각 페이지에는 페이지 번호와 섹션 순서가 포함되어 있습니다. 텍스트와 레이아웃은 본질적으로 연결되어 있습니다.

텍스트 인식은 레이아웃 개체에 레이블을 지정하는 데 도움이 될 수 있으며 그 반대의 경우도 마찬가지입니다.

따라서 저자들은 고유한 모델에서 텍스트와 레이아웃을 공동으로 인식하는 방향으로 전환했다고 합니다.

저자들은 문서의 직렬화된 표현을 생성하기 위해 XML 포맷을 선택했으며, 이를 정답으로 사용합니다. bounding box를 예측하는 것이 아닌 XML 포맷(Logical Layout Information)을 예측하므로, segmentation annotations이 필요하지 않다고 합니다.

문단 단위로 문서를 인식하는 대신 문서 전체를 사용하는 것은 여러 과제들이 발생하는데,

  • 문서 전체를 입력으로 사용함으로써 증가하는 GPU 메모리
  • 문단은 왼쪽에서 오른쪽, 위에서 아래로 읽는 방향이 정해져 있지만, 문서의 읽기 순서는 레이아웃에 따라 변함

이 있습니다.

이 논문에서 저자들은 FCN Encoder와 Transformer Decoder를 기반으로 하는 Document Attention Network를 제안하며, 다음과 같은 기여를 주장합니다.

  • Logical Layout Informating으로 labeling 되어있는 문서 단위의 End-to-End 텍스트 인식
  • Segmentation label 없이 모델 학습
  • Document Layout의 결과를 평가하는 새로운 두 가지 metrics 제안

Architecture and Training

raw document image X가 입력 되었을 때, 길이가 $ L_y $인 토큰 시퀀스 y가 출력되길 원합니다.

토큰들은 같은 사전 D = A \cup S \cup \{<eot>\} 을 공유하며, A는 알파벳, S는 레이아웃 토큰 < eot >는 종료 토큰을 의미합니다.

레이아웃 토큰들은 텍스트 토큰의 시작과 끝 태그 페어로 이루어져 있습니다.

Architecture

저자들이 제안하는 Document Attention Network(DAN) 구조는 Figure 2와 같이 되어있습니다.

Fully Convolutional Networks(FCN)를 통해 입력이미지 X로부터 2D-Fetures를 추출합니다.

2D-Features는 Transformer Decoder에 사용하기 위해 1D-Features로 Flatten 되는데, 변경하기 이전에 지역 정보를 계속 유지하기 위해 2D-Features에 2D Positional Encoding을 더합니다.

Transformer Decoder는 Autoregressive Model로 < eot > 토큰이 나올때까지 토큰을 생성하게 됩니다.

Encoder

저자들은 Encoder에 Vertical Attention Network를 적용했습니다.

이 네트워크는 HTR 분야에서 SOTA를 기록한 모델로 다양한 input size를 사용할 수 있으며, 파라미터수도 1.7M으로 적어서 사용하게 되었다고 합니다.

Encoder는 입력이미지의 크기가 H/32, W/8가 되도록 채널은 256으로 Feature를 추출합니다.

Instance Normalize를 사용했는데, 문서 이미지의 공간적 정보를 더 잘 보존하기 위함으로 추측합니다.

Decoder

Decoder는 Autoregressive Model로 이전 토큰을 참조하여 다음 토큰을 생성합니다.

다른 부분은 Attention window of length를 100으로 설정한 것으로 어텐션 계산시 전체 입력 시퀀스를 참조하는 대신 최신 100개의 입력만 사용하여 계산량을 줄입니다.

Training strategy

학습은 다음과 같이 두 단계로 수행되었습니다.

  • Pre-training: DAN에 맞는 Feature Extraction을 배우기 위해 synthetic printed lines를 이용하여 line-level OCR을 학습하고, Transfer Learning을 수행했습니다. 이 과정에서 segmentation labels를 사용하는 것을 방지하기 위해 synthetic 데이터 셋만 사용했다고 합니다.
  • Training: Teacher forcing 기법이 사용되었고, real 데이터와 synthetic 데이터가 사용되었습니다. Synthetic 데이터는 손글씨보다 인식(읽기 순서 등)하기 쉬우므로, 먼저 학습하고 이후에 real 데이터를 학습합니다. 이 방법을 적용하기 위해 처음 학습에는 90% 정도가 synthetic 데이터고 학습이 진행됨에 따라 real 데이터의 비중을 점점 늘립니다. 미니 배치는 사용하지 않았으며, 이미지별로 학습이 진행됩니다.

Post-processings

저자들은 레이아웃 토큰들의 예측값들에 대해 rule-based의 후처리 기법을 사용했습니다.

이 단계는 metrics를 계산하는데 필수적인데, 예를 들어, < X > 토큰으로 layout이 시작되었다면 < /X >가 레이아웃의 종료 토큰이 됩니다. 후처리에서는 전체 예측 시퀀스 y에 대해 포워드 패스로 구성되며, 이 과정에서 레이아웃 토큰만 수정을 진행합니다. 규칙은 다음과 같습니다.

  • 시작 토큰이 연속적으로 두 개 있는 경우 누락된 종료 토큰이 추가됩니다.
  • 시작 토큰이 없는 종료 토큰 제거됩니다.

예를 들어, < X >< Y >< /Y >< /Z >가 예측값 이라면, 후처리 기법을 적용하면, < X >< /X >< Y >< /Y >가 됩니다.

또한, 예측한 값이 레이아웃 토큰 문법에 맞는지를 확인하는데 이는 토큰 간의 계층 관계가 올바른지 확인하는 것으로, 클래스 A의 레이아웃 개체가 클래스 B의 개체 안에만 있을 수 있는 경우 정의에 따라 누락된 토큰을 추가합니다.

예를 들어, < A >< /Y >는 < B >< A >< /A >< /B >가 됩니다.

Metrics

Evaluation of the layout recognition

Segmentation label을 사용하지 않으므로 IoU나 mAP를 사용할 수 없습니다.

이에 저자들은 레이아웃 인식 평가를 위해 Layout Ordering Error Rate (LOER)을 도입했는데, 레이아웃을 방향성 그래프로 모델링하여 읽기 순서와 레이아웃 개체 간의 계층적 관계를 모두 고려하는 방법입니다.

  1. 레이아웃 예측을 평가하기 위해 레이아웃 토큰만 남겨 $y_{layout}$과 $\hat{y}_{layout}$을 구합니다.
  2. 레이아웃 토큰 시퀀스를 그래프로 변환합니다. 각 레이아웃 토큰은 그래프의 노드가 되어, 계층적 규칙에 따라 관계를 설정합니다.

LOER은 Character Error Rate (CER)과 마찬가지로 Graph Edit Deistance (GED)로 계산됩니다.

여기서 K는 데이터셋의 샘플 수를 의미하며, $n_{e_i}$는 정답 데이터의 엣지 갯수, $n_{n_i}$는 정답 데이터의 노드 갯수 입니다.

그러나 이 방법만으로는 문서 인식에 대한 평가를 내리기 불충분한데, 문서 인식에서는 레이아웃과 텍스트가 올바르게 연결되어야 하지만, 위 방법을 사용한다면 이 부분은 측정하지 못하는 문제가 발생합니다.

예를 들어, < B >example< B >< A >sample< /A > 와 example sample< B >< /B >< A >< /A >의 경우 문자와 레이아웃 토큰 모두 정확하지만, 구조는 정확하지 않다고 볼 수 있습니다.

Evaluation of joint text and layout recognition

이 문제를 해결하기 위해 저자들은 $mAP_{CER}$을 제안했습니다.

이 방법은 mAP의 방법론을 기반으로 하는데, IoU 대신 CER을 사용합니다.

  • 예측값과 정답 시퀀스를 서브 시퀀스로 분리합니다. 서브 시퀀스는 같은 클래스의 시작, 종료 토큰을 기준으로 추출됩니다.
  • 서브시퀀스로 분리한 결과는 Table 2에서 확인할 수 있습니다.

  • 서브 시퀀스는 레이아웃 클래스의 confidence 값으로 정렬되고, 그들의 산술 평균값(확률)을 구합니다.
  • 이 값이 Threshold를 넘게 되면 true positive가 됩니다.

위의 방법을 적용하여 최종적으로 $mAP_{CER}$값을 구하게 됩니다.

위 방법들의 경우 후처리가 많이 들어가기 때문에 후처리가 과도하게 사용되면 네트워크의 원래 성능을 과대평가하거나 왜곡할 수 있습니다.

이에 따라 저자들은 후처리가 결과에 얼마나 영향을 미쳤는지 평가하는 수식 Post-Processing Edition Rate (PPER) 을 작성했습니다.

$ n_{ppe} $는 후처리에서 수행된 편집 작업의 총 개수를 의미합니다.

이 값이 높을수록 후처리가 과도하게 사용되어 네트워크 성능을 의심할 수 있음을 뜻합니다.

 

마치며

후속 논문으로 FasterDAN 이 있습니다.

기존의 직렬적인 인식방법을 병렬로 변경한 논문인데, 다음엔 이 논문으로 찾아뵙겠습니다.

반응형

'Machine Learning > Image' 카테고리의 다른 글

Faster-DAN  (0) 2024.12.23
DBNet - Real-time Scene Text Detection with Differentiable Binarization  (0) 2024.10.16
Efficient DETR  (1) 2024.10.14
Panoptic SegFormer  (0) 2024.10.07
Conditional-DETR : for Fast Training Convergence  (1) 2024.09.25