반응형

 

논문 : What Is Wrong With Scene Text Recognition Model Comparisons?Dataset and Model Analysis

 

Abstract

최근 몇 년 동안 Scene text recognition (STR)에 대한 많은 새로운 제안  모델이 소개되었습니다.그렇지만, 각 논문들이 기술의 한계를 뛰어넘을 정도로 선보였지만 , 실제 공정한 비교는 잘 안 돼있다고 한다.

이 논문에서는 3가지  주요 공헌에 대하여 제기하였다.

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

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

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

3. 일관된 training과 evaluation 데이터 세트에서 정확성, 속도 및 메모리 요구 측면에서 성능에 대한 module-wise contributions를 분석합니다.

이러한 분석은 기존 모듈의 성능 향상을 이해하기 위해 현재 비교의 장애를 제거합니다. 우리의 코드는 공개적으로 사용 가능합니다.

 

1. Introduction

Optical Character Recognition (OCR)은 cleaned  documents에서 성공적이지만 

하지만 ocr methods 는 real world의 데이터 부분에서 문제가 있다. 

scene text recognition (STR)

 

multi-stage pipelines => 각 stage에서 deep nerual network 

다양한 stage에서 다양한 기술을 사용하였다. 이전 방법은 multi-stage pipelines을 제안했으며 각 stage은 심층 신경망입니다. 특정 문제를 해결합니다. 예를 들어 RCNN은 서로 다른 문자 수를 처리하고 CTC는 문자 수를 구분합니다. 변환 모듈은 입력을 직선 텍스트로 정규화하여 곡선 텍스트를 처리하는 다운 스트림 모듈의 부담을 줄입니다.

 

그러나 일부 논문에서는 서로 다른 평가 및 테스트 환경을 제안하여보고 된 수치를 비교하기 어렵 기 때문에 새로 제안 된 모듈이 현재 성능을 향상시키는 지 여부 또는 방법을 평가하기가 어렵습니다. 우리는 1) 훈련 세트와 2) 테스트가 서로 다른 방법 사이에 편향되어 있음을 관찰합니다. 예를 들어, 서로 다른 작업에서 IC13 데이터 세트의 서로 다른 하위 집합을 평가 세트로 사용하므로 평가 차이의 15 % 이상이 발생할 수 있으므로 서로 다른 모델 간의 성능을 공정하게 비교하는 데 방해가됩니다. =>서로 른 평가 및 테스트 환경이고 데이터세트도 다르기 떄문에 모델 간의 성능은 공정하기 잖다.

 

우리의 논문은 다음과 같은 주요 기여를 통해 이러한 문제를 해결합니다.

먼저이 STR 문서에서 일반적으로 사용되는 모든 훈련 데이터와 검증 데이터 세트를 분석했습니다. =>dataset 

STR 데이터 세트 사용에 대한 불일치 및 이유 노출. 예를 들어, IC03 데이터 세트에서 7 개의 누락 된 예제와 IC13 데이터 세트에서 158 개의 누락 된 예제를 발견했습니다. 우리는 STR 데이터 세트에 대한 작업을 연구했으며 표 1에서 불일치로 인해 비교할 수없는 결과가 발생했음을 보여주었습니다.

둘째, 기존 방법에 대한 공통적 인 관점을 제공하기 위해 STR에 대한 통합 아키텍처를 제안합니다. 구체적으로 STR 모델을 변환 (Trans.), 특징 추출 (Feats.), 시퀀스 모델링 (Seq.), 예측 (Pred.) 등 4 가지 연속 단계로 나눕니다.이 아키텍처는 기존 방법을 제공 할뿐만 아니라 , 가능한 변형을 제공하고 모듈 간의 기여도에 대한 광범위한 분석을 수행합니다.

마지막으로 통합 실험 설정에서 정확도, 속도 및 메모리 요구 사항에 대한 모듈의 기여도를 연구했습니다. 이 연구에서 우리는 독립 모듈의 기여도를보다 엄격하게 평가하고 최고의 성능을 향상시키기 위해 이전에 무시되었던 모듈 조합을 제안합니다. 또한 STR 작업의 기존 과제를 지적하기 위해 표준 데이터 세트의 오류 예를 분석했습니다.

Table 1: Performance of existing STR models with their inconsistent training and evaluation settings. This inconsistency hinders the fair comparison among those methods. We present the results reported by the original papers and also show our re-implemented results under unified and consistent setting. At the last row, we also show the best model we have found, which shows competitive performance to state-of-the-art methods. MJ, ST, C, and, PRI denote MJSynth [11], SynthText [8], Character-labeled [4, 30], and private data [3], respectively. Top accuracy for each benchmark is shown in bold.

2. Dataset Matters in STR

이전 작업에서 사용 된 다양한 교육 및 평가 데이터 세트를 확인하고 이들 간의 차이점을 해결했습니다. 작업 별 데이터 세트 구성 및 사용의 차이를 강조하고 성과 비교의 불일치로 인한 편차를 조사합니다.

 

 

2.1. Synthetic datasets for training

• MJSynth (MJ) [11] : 8.9M word box images

• SynthText (ST) [8] : STR에 대한 텍스트 상자를 자르면 문자 및 숫자가 아닌 문자를 자르고 필터링합니다. 4.2는 훈련 세트가 최종 성과에 미치는 영향을 설명합니다. 향후 STR 연구는 훈련 세트를 명확하게 표시하고 동일한 훈련 세트를 사용하는 것이 좋습니다.

 

렌더링 또는 이미지 합성(rendering 또는 image synthesis)은 컴퓨터 프로그램을 사용하여 모델 또는 이들을 모아놓은 장면인 씬 파일(scene file)로부터 영상을 만들어내는 과정을 말한다. ko.wikipedia.org/wiki/%EB%A0%8C%EB%8D%94%EB%A7%81

 

3차원 모델링 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 3차원 모델링(영어: 3D modeling)은 컴퓨터가 이해할 수 있는 형태의 데이터로 저장된다. 3차원 모델은 일반적으로 렌더링 과정을 통해 실제 물체와 비슷한 모양과

ko.wikipedia.org

 

2.2. Real-world datasets for evaluation

regular datasets:

• IIIT5K-Words (IIIT)

• Street View Text (SVT)

 ICDAR2003 (IC03) [20]  860 867

irregular datasets:

• ICDAR2015 (IC15) [13]

• SVT Perspective (SP)

• CUTE80 (CT) [23]

different benchmark datasets. Specifically, the evaluation has been conducted on different versions of benchmarks in IC03, IC13 and IC15. In IC03, 7 examples can cause a performance gap by 0.8% that is a huge gap when comparing those of prior performances. In the case of IC13 and IC15, the gap of the example numbers is even bigger than those of IC03.

 

3. STR Framework Analysis

scene text recognition (STR) framework  4 개의 모듈, 각 모듈의 옵션에 대해 설명합니다.

 

STR 작업과 컴퓨터 비전 작업 (예 : 표적 탐지) 및 시퀀스 예측 작업 사이의 유사성으로 인해 STR은 CNN 및 RNN의 고성능 이점을 누릴 수 있습니다. STR을위한 CNN과 RNN의 첫 번째 조합은 입력 이미지에서 CNN 특징을 추출하고 RNN을 사용하여 강력한 시퀀스 감지를 위해 재구성하는 CRNN (Convolutional-Recurrent Neural Network)입니다. CRNN 이후에는 성능 향상을 위해 여러 변형이 사용됩니다. 모든 모양의 텍스트 지오메트리에 대해 변환 모듈은 텍스트 인스턴스를 표준화 할 것을 제안합니다. 고유 한 차원과 잠재 요인이 높은 복잡한 텍스트 이미지를 처리하기 위해 향상된 CNN 기능 추출기가 사용됩니다. 또한 추론 시간을 고려하여 일부 방법은 RNN 단계를 생략합니다. 문자 시퀀스 검출 능력을 향상시키기 위해 어텐션 메커니즘에 기반한 디코더가 제안된다.

 

기존 STR 모델에서 가져온 4 개의 모듈은 다음과 같습니다.

1. Transformation (Trans.) normalizes the input text image using the Spatial Transformer Network (STN [12]) to ease downstream stages. =>STN (Spatial Transformer Network)을 사용하여 데이터를 정규화하여 나중 단계의 어려움을 완화하십시오.

2. Feature extraction (Feat.) maps the input image to a representation that focuses on the attributes relevant for character recognition, while suppressing irrelevant features such as font, color, size, and background.=>문자 인식 관련 속성에 초점을 맞출 수있는 표현에 입력 이미지를 매핑하고 글꼴 색상 크기 배경과 같은 관련없는 기능을 억제합니다.

3. Sequence modeling (Seq.) captures the contextual information within a sequence of characters for the next stage to predict each character more robustly, rather than doing it independently. =>문자 시퀀스에서 컨텍스트 정보를 캡처하는 것은 다음 단계에서 각 문자를 독립적으로 예측하는 것이 아니라 더 강력하게 예측하는 데 사용됩니다.

4. Prediction (Pred.) estimates the output character sequence from the identified features of an image. =>인식 된 이미지 특징을 기반으로 출력 문자 시퀀스를 추정합니다.

그림 3은 개요로 제공되며이 기사에서 사용 된 모든 아키텍처는 보충 자료에서 찾을 수 있습니다.

 

Figure 3: Visualization of an example flow of scene text recognition. We decompose a model into four stages.

3.1. Transformation stage

입력 된 그림 X는 정규화 된 그림 X '로 변환됩니다. 자연스러운 장면의 텍스트 이미지는 곡선 및 비스듬한 텍스트와 같은 다른 모양을 가지고 있습니다. 이러한 입력 이미지가 변경되지 않으면 다음 특징 추출 단계에서 이러한 기하학적 모양의 불변 표현에 대해 학습해야합니다. 이 부담을 줄이기 위해. 공간 변환 네트워크 (STN)의 변형 인 TPS (Thin-plate spline) 변환은 다양한 종횡비의 텍스트 라인을 처리 할 수있는 유연성 때문에 적용됩니다. TPS는 일련의 참조 점에서 부드러운 스플라인 보간을 사용합니다. 보다 정확하게는 TPS는 상단 및 하단 경계 지점에서 여러 참조 지점을 찾아 텍스트 영역을 미리 정의 된 사각형으로 정규화합니다.

 

3.2. Feature extraction stage

이 단계에서 CNN은 입력 이미지를 추출하여 시각적 특징 맵을 출력합니다. 연구 VGG, RCNN 및 ResNet의 세 가지 아키텍처가 사용됩니다. ->feature map

 

jeinalog.tistory.com/13

 

Transfer Learning|학습된 모델을 새로운 프로젝트에 적용하기

#Transfer Learning #전이학습 #CNN #합성곱 신경망 #Image Classification #이미지 분류 이 글은 원작자의 허락 하에 번역한 글입니다! 중간 중간 자연스러운 흐름을 위해 의역한 부분들이 있습니다. 원 의미�

jeinalog.tistory.com

일반적인 CNN은 다음 두 가지 파트로 구성되어 있습니다.

  • Convolutional base
    합성곱층과 풀링층이 여러겹 쌓여있는 부분입니다. convolutional base의 목표는 이미지로부터 특징을 효과적으로 추출하는 것 (feature extraction) 입니다. 합성곱층과 풀링층에 대한 직관적인 설명을 보시려면 Chollet (2017) 논문을 참고하세요.

  • Classifier
    주로 완전 연결 계층 (fully connected layer)로 이루어져 있습니다. 완전 연결 계층이란 모든 계층의 뉴런이 이전 층의 출력 노드와 하나도 빠짐없이 모두 연결되어 있는 층을 말합니다. 분류기(Classifier)의 최종 목표는 추출된 특징을 잘 학습해서 이미지를 알맞은 카테고리로 분류하는 것 (image classification) 입니다.

 

3.3. Sequence modeling stage

Feat. 스테이지에서부터 추출 된 특징은 시퀀스 정보로 변환되며, 특징 맵의 각 열은 시퀀스 구조로 사용됩니다. 이 시퀀스에는 컨텍스트 정보가 없을 수 있습니다. 이전 방법은 BiLSTM을 사용하여 더 나은 시퀀스 H를 얻습니다. 반면 Rosetta는 계산 복잡성과 메모리 소비를 줄이기 위해 BiLSTM를 삭제했습니다. 우리의 프레임 워크는 BiLSTM을 허용하거나 사용하지 않습니다.

주로 BiLSTM, RNN은 단방향 인 CNN의 기능에서 추가 기능을 주로 추출합니다.

 

3.4. Prediction stage

이 단계에서 입력 H에서 모듈은 문자 시퀀스를 예측합니다. 이전 방법을 요약하면 예측을위한 두 가지 선택이 있습니다. (1) CTC (2) Atn.

CTC는 가변 개수의 특징을 예측할 수 있습니다. 고정 된 개수의 특징이 주어 지더라도 CTC 방법의 핵심은 각 열의 문자를 예측하고 반복되는 문자와 공백을 제거하여 전체 문자 시퀀스를 가변 길이의 문자 스트림으로 개선하는 것입니다.

반면 Atn 기반 방법은 입력 시퀀스의 정보 흐름을 자동으로 캡처하여 출력 시퀀스를 예측합니다. STR 모델은 출력 클래스의 종속성을 표현하기 위해 문자 수준 언어 모델을 학습 할 수 있습니다.

 

  • CTC(Connectionist Temporal Classification) : 고정된 개수의 feature가 주어지더라도 고정되지 않은 수의 sequence를 예측할 수 있음 -> 각 H의 열에 있는 문자를 예측하고 반복되는 문자와 공백을 삭제하여 full character sequence를 고정되지 않은 문자 스트림으로 수정함

  • Attn(Attention-based sequence prediction) : output sequence를 예측하기 위해 input sequence 내의 information flow를 캡쳐함

 

 

4. Experiment and Analysis

이 모듈에는 가능한 모든 STR 모델 조합 (2 x 3 x 2 x 2 = 24)에 대한 평가 및 분석이 포함됩니다. 모든 평가는 2 단계에 나열된 교육 및 평가 데이터 세트에 따라 수행됩니다.

 

4.1. Implementation detail

STR training and model selection:

training data: MJSynth 8.9 M and SynthText 5.5 M (14.4 M in total)

AdaDelta [31] optimizer, whose decay rate is set to ρ = 0.95

training batch size : 192 and the number of the iterations is 300k

validation data : IC13, IC15, IIIT, and SVT

   IC03 train data 사용X : IC13와 겹친다 (34 scene images = 215 word boxes)

   2000 training steps마다 validate한다. (set에서 가장 높은 정확도를 가지는 model을 택함)

Evaluation metrics:

a unified evaluation dataset (8,539 images in total); 3,000 from IIIT, 647 from SVT, 867 from IC03, 1015 from IC13, 2,077 from IC15, 645 from SP, and 288 from CT

only alphabets & digits

5trials(매번 random seeds를 다르게 초기화)를 통해 accuracy의 평균 구함

Environment:

same environment: an Intel Xeon(R) E5-2630 v4 2.20GHz CPU, an NVIDIA TESLA P40 GPU, and 252GB of RAM. All experiments are performed with NAVER Smart Machine Learning (NSML) platform [15].

 

4.2. Analysis on training datasets

MJSynth와 SynthText를 각각 사용하는 것보다 둘의 combination으로 train하였을 때, 더 높은 accuracy를 보인다는 것을 확인하였다. (자신들의 best model로 실험한 결과, 약 4.1% 더 높았다)

MJSynth 20% (1.8M) + SynthText 20% (1.1M)의 조합(2.9M으로 SynthText의 반 크기)으로 하였을 때 각각 사용한 것보다 더 좋은 accuracy를 보였다. 다시말해, training images의 개수보다는 training data의 다양성이 더 중요하다는 것을 알 수 있다.

 

4.3. Analysis of trade-offs for module combinations

  • accuracy-time trade-offs
    : T1 ~ T5까지 ResNet, BiLSTM, TPS, Attn 순서대로 추가
    • ResNet, BiLSTM, TPS : 속도가 늦어지는 반면 정확도가 빠르게 높아짐(+13.4%)
    • Attn : 속도가 많이 늦어진 만큼 정확도가 높아지지 않음(+1.1%)
  • accuracy-memory trade-offs
    : P1 ~ P5까지 Attn, TPS, BiLSTM, ResNet 순서대로 추가
    • Attn, TPS, BiLSTM : 메모리 사용을 크게 하지 않음 -> 가벼우면서도 정확성 높여줌
    • ResNet : 메모리를 많이 사용하지만(7.2M -> 49.6M) 그 만큼 정확도가 높아지지 않음(+1.7%)
  • accuracy-speed는 prediction(CTC/Attn), accuracy-memory는 feature extrator(ResNet)에서 영향을 크게 미치므로 필요에 따라 선택해야 한다.

Figure 4: Two types of trade-offs exhibited by STR module combinations. Stars indicate previously proposed models and circular dots represent new module combinations evaluated by our framework. Red solid curves indicate the trade-off frontiers found among the combinations. Tables under each plot describe module combinations and their performance on the tradeoff frontiers. Modules in bold denote those that have been changed from the combination directly before it; those modules improve performance over the previous combination while minimizing the added time or memory cost.
Figure 5: Color-coded version of Figure 4, according to the prediction (left) and feature extraction (right) modules. They are identified as the most significant factors for speed and memory, respectively.

4.4. Module analysis

  • accuracy-time ResNet, BiLSTM, TPS, Attn 순서대로 upgrade하였을 때 가장 효율적이었다. (T1 -> T5)

  • accuracy-memory RCNN, Attn, TPS, BiLSTM, ResNet 순서대로 upgrade하였을 때 가장 효율적이었다. (P1 -> P5)

서로 반대 순서로 upgrade하였을 때 효율적이지만, 결과적으로 가장 효율적이 combination(TPS-ResNet-BiLSTM-Attn)은 동일하다.

 

Figure 6: Samples of failure cases on all combinations of our framework.

 

Figure 7: Challenging examples for the STR combinations without a specific module. All STR combinations without the notated modules failed to recognize text in the examples, but upgrading the module solved the problem.

 

  • TPS transformation : curved and perspective texts를 normalize하여 standardized view로 변환함

  • ResNet feaure extrator : 표현력 향상 (심한 배경 혼란, 처음 보는 font의 경우 개선됨)

  • BiLSTM sequence modeling : 관련없는데 잘라진 문자를 무시함

  • Attn prediction : 사라지거나 누락된 문자를 찾음

4.5. Failure case analysis

 

  • Calligraphic Fonts : 브랜드 font, 가게 이름
    • 정규화하는 feature extrator 사용하자!
    • font가 overfitting될 수 있으므로 regularization 하자!
  • Vertical Texts : 현재 대부분 horizontal text image 제공

  • Special Characters : 현재 이러한 case train안함 -> alphanumeric characters로 취급하여 fail
    • 그냥 sepcial character train하자! (IIIT에서 87.9% -> 90.3%로 정확도 오름)
  • Heavy Occlusions : 현재 문맥정보를 광범위하게 사용하지 않음

  • Low Resolution : 현재 다루지 않음
    • image pyramids
    • super-resolution modules
  • Label Noise : incorrect labels 찾음
    • mislabeling (special characters 포함x) 1.3%
    • mislabeling (special characters 포함) 6.1%
    • mislabeling (case-sensitive) 24.1%

5. Conclusion

이 논문은 일관되지 않은 실험 설정 때문에 문제가 있던 STR model의 기여도를 분석하였다. 주요 STR method 중 공통 framework와 일관된 dataset(7 banchmark evaluation dataset + 2 training dataset)을 소개하여, 공정한 비교를 제공하였다.

 

hryang06.github.io/str/STR/

 

STR - What is Wrong with Scene Text Recognition Model Comparisons? Dataset and Model Analysis

What Is Wrong With Scene Text Recognition Model Comparisons? Dataset and Model Analysis 논문 정리입니다.

hryang06.github.io

 

https://data-newbie.tistory.com/156

 

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

https://arxiv.org/abs/1904.01906 https://github.com/clovaai/deep-text-recognition-benchmark?fbclid=IwAR1JQZMgF39xFWbiZUNFmvbgyPX1x6hKkFmqSSbG4szytZUFqYuKa7m3nNc 갓 네이버에서 OCR 관련 논문을 내주셨..

data-newbie.tistory.com

동일한 작업과 데이터로 CRNN 웨이브를 훈련 한 후이 기사의 프레임 워크를 훈련했기 때문에

CRNN에는 이전 Transformation 부분이 없으며 CTC는 뒤에 손실에 사용됩니다.

이 기사의 TRBA (TPS-Resnet-BiLSTM-Attn)는 이전 변환을 추가하여 데이터의 저 차원 통합을 만들 수 있습니다.

동시에 CTC 손실은 문자의 실제 길이에 대한 제어가별로 좋지 않다고 생각합니다 .CRNN에 비해 TRBA는 훨씬 더 높은 정확도 (데이터 세트의 70 %에서 88 %로)를 제공합니다. 주된 이유는 CTC를 Attn 손실로 변경하는 것입니다.

 

 

1. 일관 되지 않은 데이터

2. 4가지 단계

3. 성능 측정

대상 : 일관되지 않은 데이터나 여러가지 데이터를 Scene Text Recognition 

도구 : 4stage에 사용하는 모델들

방법 : 같은 환경에서 dataset 으로 4 stage에서 사용하거나 다른 모델을 사용하여 정확도 , 시간 , 메모리 등을 비교

 

 

Fig. 5: Overview of segmentation-free STR approach. Image preprocessing and sequence modeling stages are not necessarily required. Moreover, elements of image preprocessing can be combined to further improve recognition performance.

위 표 출처 :Text Recognition in the Wild: A Survey

 

3.4. Prediction Stage

  이 단계의 모듈은 입력 H로 부터 일련의 문자를 예측한다. 이전 연구를 종합해 보면 다음과 같이 두 가지 예측 옵션이 있다.

 

  1) CTC (Connectionist Temporal Classificaton) [6]

    -> CTC는 일정한 수의 Feature를 통해, 일정하지 않은 갯수의 시퀀스 예측을 한다.

    -> 주요 방법 : 각 열에서 문자를 예측하고, 반복된 문자와 공백을 삭제하여 전체 문자 순서를 비고정 문자 흐름으로 수정

 

  2) Attn (Attention-based Sequence Prediction) [25, 4]

    -> Attn은 입력 시퀀스 내의 정보 흐름을 자동으로 캡쳐하여, 출력 시퀀스[1]를 예측한다. 

    -> Attn은 STR 모델이 출력 클래스 의존성을 나타내는 문자 수준의 언어 모델을 학습할 수 있도록 한다. 

ropiens.tistory.com/23

 

What Is Wrong With Scene Text Recognition Model Comparisons? Dataset and Model Analysis

논문 주제 : 딥러닝 -> 텍스트 인식(STR 분야, OCR 학습 모델) 작성자 : 한양대학원 융합로봇시스템학과 유승환 석사과정 2019년 12월 18일, 네이버 클로바 AI 연구팀에서 발행한 논문 "What Is Wrong With Sce

ropiens.tistory.com

 

반응형

+ Recent posts