AE TextSpotter: Learning Visual and Linguistic Representation for Ambiguous Text Spotting

Inc Lomin's avatar
Oct 29, 2021
AE TextSpotter: Learning Visual and Linguistic Representation for Ambiguous Text Spotting

Introduction

OCR이 최근 많이 연구가 되고있지만 아래 그림처럼 자간이 긴 경우나 텍스트가 직사각형 형태로 배치 되어있는 경우에 text detection 성능이 낮아지는 문제가 있습니다.
notion image
notion image
위와 같은 ambiguous sample들에 대해서는 visual feature만을 이용하여 text detection을 하는 경우, feature 정보가 충분하지 못하기 때문에 visual feature만을 이용하여 text detection을 진행하는 이전 연구들은 성능이 매우 떨어지게 됩니다. 그렇기 때문에 본 논문에서는 visual feature와 language model을 함께 사용하여 text spotting을 진행하는 모델을 제시합니다.

Proposed Method

본 논문에서 제시하는 모델은 크게 3가지 모델로 구성되어있습니다.
notion image
  1. Word를 detection해주는 detection model (TDM)
  1. Character를 detection 해주고 어떤 character인지 recognition까지 해주는 model (CRM)
  1. 특정 text가 natural text인지 아닌지를 구별해주는 language model (LM)

TDM (Text Detection Module)

Text Detection Module은 Mask R-CNN을 이용하여 word 단위의 text box를 예측하도록 학습시키는 모듈입니다. 해당 모듈은 본 논문에서 제시하는 전체 pipeline에서 text box들의 candidate를 generate 해주는 모듈로써 사용을 합니다. Candidate를 어느정도 다수 생성하는것이 목표이기 때문에, 평소에 사용하는것 보다 낮은 score threshold와 높은 nms threshold를 사용하여, 해당 모듈에서 filtering 되는 text box의 숫자를 줄여줍니다.

CRM (Character Recognition Module)

Character Recognition Module 역시 Mask R-CNN을 이용합니다. Text Detection Module과 다른점은 character 단위로 detection을 진행한다는 것과 box head에서 해당 character가 어떤 character인지 classification까지 진행해준다는것입니다. 그렇기 때문에 CRM을 이용하면 입력 이미지에 존재하는 모든 character들의 위치와 해당 위치에 존재하는 character가 무엇인지를 알 수 있습니다.
 
위 2개의 모듈을 이용하면
1) TDM → word box들의 candidate
2) CRM → 이미지에 존재하는 모든 character들과 그 character들의 위치
를 알 수 있습니다.
TDM과 CRM의 output을 이용하여, TDM에서 나온 모든 word box candidate의 text 정보를 알아 낼수 있습니다. 해당 text 정보는 CRM에서 나온 character box와 TDM에서 나온 word box candidate가 얼마나 overlap되는 정도에 따라서 match를 할지 말지 결정하게 됩니다. Word candidate box에 대해서 일정 threshold 이상 겹치는 모든 character box를 찾은 후, 가로가 더 긴 word box인 경우에는 왼쪽에서 오른쪽순서로, 세로가 더 긴 word box인 경우에는 위쪽에서 아래쪽 순서로 character 순서를 매겨주고 이런 과정을 진행한다면 모든 word box candidate에 대해서 text 정보를 찾아낼 수 있습니다.
notion image

LM (Language Module)

notion image
위 2개의 모듈을 이용하여 찾아낸 모든 word box candidate에 대해서, text 정보만을 language model에 input으로 넣어 classification을 진행해줍니다. word box candidate가 GT와 일정 iou이상 겹치는 box일 경우 classification에서 positive label이고, 겹치는 iou가 낮은 경우에는 negative label로 간주합니다. 사용한 모델은 pre-trained bert 기반 모델로, pre-trained bert를 이용해 sentence feature를 뽑고, 해당 sentence feature를 Bi-GRU, FC layer 등을 이용하여 classification을 진행합니다.
 
최종적으로 word level text box 에 대해서 TDM에서 나온 visual score와 LM에서 나온 linguistic score를 가중치 합 한 score를 최종 score로 하여 NMS와 score filtering을 진행합니다.

Training details

학습과정은 크게 2개의 단계를 이용해서 진행됩니다.
1) Visual loss만을 이용한 학습 : 아래 loss 를 이용하여, TDM과 CRM을 학습합니다.
2) Linguistic loss만을 이용한 학습
Backbone, RPN, TDM, CRM은 weight를 fix해두고, LM의 weight만 optimization을 진행합니다. loss는 cross entropy를 사용합니다.

Experiment

Dataset

영어에서는 본 논문에서 해결하고자하는 ambiguous한 경우가 적기 때문에, multi-language dataset을 이용했습니다. 또한, 해당 데이터셋들은 CRM을 학습시켜야하기 때문에 character-level annotation이 존재합니다.
1) ICDAR 2019 ReCTS (IC19-ReCTS)
  • 20,000장 학습데이터, 5,000장 테스트 데이터
  • Multi-language (영어, 중국어)
2) TDA-ReCTS
  • 본 논문 저자들이 IC19-ReCTS의 학습데이터에서 선별한 ambiguous 이미지 1000장
  • 선별시 appendix에 서술해놓은 rule을 기반으로 선별
데이터셋에 존재하는 ambiguity sample들의 숫자와 비율
데이터셋에 존재하는 ambiguity sample들의 숫자와 비율

Ablation study

1) TDM에서 Word box를 filtering 하는 기준에 따른 성능 비교
notion image
성능의 경우 아예 filtering 을 하지않는 경우가 제일 높지만, threshold를 적절히 조절하더라도 성능에서는 큰 차이가 없고 candidate숫자는 비약적으로 줄어들기 때문에, 본 논문에서 default option으로는 score threshold = 0.01 nms threshold = 0.9로 설정합니다.
2) CRM의 effectiveness와 관련된 실험
notion image
CRM을 쓰지않고, 기존의 recognition network를 사용할 경우, 모든 word box candidate에 대해서 recognition을 진행해야하기 때문에 매우 비효율적입니다. 실제로 CRNN과 ASTER를 이용할 경우 time cost가 매우 증가하고 recognition 성능또한 떨어지는것을 확인했습니다.
3) LM 유무에 따른 성능차이
notion image
위 그림에서 x축은 네트워크가 예측한 word box의 score이고, y축은 GT와 matching되는 iou의 max 값입니다. 그렇다면 양 그래프에서 빨간 사각형 안에 존재하는것들은, GT와 matching되지 않으면서 네트워크가 high score로 예측한 word box(=False positive)입니다. LM을 사용하지않는 경우에는 false positive가 상대적으로 많은 반면, LM을 사용하는 경우 false positive들이 사라집니다.

Comparisons with S.O.T.A methods

TDA-ReCTS에 대한 실험 결과
TDA-ReCTS에 대한 실험 결과
논문의 저자들은 TDA-ReCTS에 ambiguous sample들이 25%밖에 되지않는데, S.O.T.A method인 Mask TextSpotter보다 F1 score 기준 4.01% 좋아진다고 서술하고 있습니다. 이러한 성능차이는 데이터셋에서 ambiguous sample들이 더 많아진다면, 더 커질것이라고 주장하고 있습니다.
IC19-ReCTS에 대한 실험 결과
IC19-ReCTS에 대한 실험 결과
다른 S.O.T.A 방법보다 성능 향상이 있었으며, extra data와 여러가지 앙상블 기법(multi-scale inference, model ensemble)을 쓴 competition 방법에 비하여, extra data와 앙상블 기법 없이 경쟁력있는 성능을 달성했다고 합니다.

Qualitative Results

notion image
notion image
notion image
notion image

Conclusions

이러한 ambiguous sample들에 대해서 성능이 낮아지는 이슈는 우리도 직면하고 있는 문제로, OCR Detection model에 language model을 이용하여 문제를 해결하려고 했던 점을 높게 평가받아 accept된것으로 예측된다. Word box candidate에서 놓치는 box는 절대 찾을 수 없는 문제 (detection 성능의 bound는 TDM의 최대 성능으로 bound 될 수 밖에 없음)와 최종 visual score와 linguistic score를 합치는 것이 1차 결합이 아닌 조금 더 robust한 방법을 사용할 수 있는 여지가 있다.
 
Share article