What is wrong with scene text recognition model comparisons? dataset and model analysis (네이버 논문) - 1

2019. 5. 30. 20:38관심있는 주제/OCR

https://arxiv.org/abs/1904.01906 https://github.com/clovaai/deep-text-recognition-benchmark?fbclid=IwAR1JQZMgF39xFWbiZUNFmvbgyPX1x6hKkFmqSSbG4szytZUFqYuKa7m3nNc

갓 네이버에서 OCR 관련 논문을 내주셨다.

 

열심히 읽고 또 읽자 

 

일단 Scene text recognition은 최근에 방법론을 제안하는 논문이 많이 나왔다고 한다.

그렇지만, 각 논문들이 기술의 한계를 뛰어넘을 정도로 선보였지만 , 실제 공정한 비교는 잘 안 돼있다고 한다.

 

이 논문에서는  3가지 점을 기여했다고 하는데,

1. train과 evaluation 셋의 불일치성에 대해서 조사하고 , 그러한 불일치성으로 인한 성능 하락도 조사했다. 

2. 기존의 STR을 포함한 통합된 4가지 STR framework 도입했다고 한다.

  • 이 프레임 워크를 사용하면 이전에 제안 된 STR 모듈을 광범위하게 평가하고 이전에 탐험되지 않은 모듈 조합을 발견할 수 있습니다.(구글 번역이 더 나은 듯)

3. 일관된 학습 및 평가 데이터 세트에서 정확성, 속도 및 메모리 요구 측면에서 성능에 대한 모듈 별 기여도를 분석합니다.

 

결국 이전에 있었던 통합되지 않고 불일치한 데이터로 적용해서 내놓은 모델들에 대해서 엄밀한 평가를 할 수 있는 STR를 제안하고, 그것을 통해서 실제 결과와 비교하는 논문일 것 같네요!

 

Introduction

STR(Scene text recognition)은 안쓰이는 산업이 없을 정도로 중요한 일이라고 합니다.

지금 OCR은 깨끗한 문서에 대해서는 성공적인 성능을 보여주지만, 예전에는 안 그랬다고 합니다.

최근에는 딥러닝을 이용해서도 하는데요. 

그러나 이러한 것들의 결과 비교가 너무 어렵다고 하는데요. 

네이버에서 잘 정리해준 것을 보면, 모델 별로 동일한 데이터셋을 쓴게 아니라고 합니다.

그래서 아래 네이버에서 그러한 부분을 해결해준거구요!

 

 

 

그래서 네이버에서는 다음과 같은 기여를 했는데요.

흔히 STR에 사용하는 데이터 셋을 모두 평가해줬다고 합니다.(갓)

그러다 불일치성을 발견했다는 이야기를 합니다.

2번째로는 앞에서 말했듯이 통합된 STR frame work를 제안합니다. 

Specifically, we divide the STR model into four different consecutive stages of operations:
transformation (Trans.), feature extraction (Feat.), sequence modeling (Seq.), and prediction (Pred.)

프레임 워크는 기존 방법뿐만 아니라 모듈 별 기여에 대한 광범위한 분석을 위한 가능한 변형을 제공합니다.

 

결국 모델 중 누가 최곤지 비교해준 고마운 논문입니다!

 

 

2.1. Synthetic datasets for training

실제 데이터를 얻기 어려워서 최근에 유행하는 2가지 합성 데이터를  소개한다고 합니다.

1. MJSynth (MJ),  2. SynthText (ST) 

머 결국 다양한 조합을 가진 데이터셋이라고 합니다!

2.2. Real-world datasets for evaluation

regular dataset과 irregular dataset이 있다고 하는데요.

regular dataset는 수평으로 글자가 있는 데이터들이라고 정의한 것 같습니다.

이런 데이터셋으로는 

IIIT5K-Words (IIIT) Street View Text (SVT) ICDAR2003 (IC03)  ICDAR2013 (IC13)

irregular dataset에는 휘고 왜곡된 글자들이 있는 데이터셋이라고 합니다.

ICDAR2015 (IC15)  SVT Perspective (SP) CUTE80 (CT) 

3. STR Framework Analysis

이제는 그러면 네이버에서 제안한 STR Framework를 보면 될 것 같습니다.

(사실 저는 기존의 STR framework도 모른다는..........)

이제부터 네이버가 표준을 제시했으니, 먼지에 대해서 알아봅시다.

3.1. Transformation stage

STN(Spatial transformation network)의 변종을 사용해서 이미지를 노말라이증해서 휜 것도 표주고 그런 역할을 하는 것 같습니다.

3.2. Feature extraction stage

CNN을 사용하고 이것의 각각의 receptive field에서 글자를 추정하는데 쓸 수 있다고 하네요.(VGG , RCNN , ResNet)으로 했다고 하는 것 같습니다.

3.3. Sequence modeling stage

현재 Feature 뽑은 것들을 순차적으로 있지만, 이것들에 대해서는 context 정보가 없다 그래서 이것을 BiLSTM을 사용해서 더 나은 것을 뽑아주겠다고 하는데, 계산량 때문에 제거했어서, 필요하면 선택할 수도 있게 해 놨다고 합니다.

3.4. Prediction stage

이제 이 H를 가지고 Character를 잡아줘야 하는데, 두 가지 옵션이 있다고 한다.

1. Connectional temporal classification(CTC) 

2. Attention-based sequence prediction(Attn)

 

CTC 같은 경우에 고정된 수에도 불구하고 고정되지 않는 수로 예측을 가능하게 합니다. 

CTC의 핵심은 각 칼럼(H)에서 글자를 인식하고 반복된 글자나 빈칸을 제거 함으로써 글자를 합쳐줄 수 있다는 것 같다

 

반면은 Attn 같은 경우

아웃풋 Sequence를 예측하기 위해 Input Sequence 안에서 정보의 흐름을 자동을 캡처해준다고 한다

그래서 이것을 사용하면 결과에 클래스 의존성을 표현한 문자 수준의 언어 모델을 학습할 수 있다고 하는데.

STR 모델은 출력 클래스 종속성을 나타내는 문자 수준 언어 모델을 학습할 수 있습니다.

 

4장 실험은 2부에서........................ 네이버에게 감사합니다.

 

나를 죽이지 못한 고통은 나를 강하게 한다. 

죽지 않은 만큼만 고통을 받자.....

728x90