[논문 리뷰] Pushing the Performance Limit of Scene Text Recognizer without Human Annotation
Machine Learning/Deep Learning 논문 2022. 7. 25. 03:56반응형
Pushing the Performance Limit of Scene Text Recognizer without Human Annotation
현재 근무하고 있는 OCR Recognizer팀의 Workshop에서 발표했던 논문 리뷰를 블로그 포스팅으로 다시 정리해본다.
해당 논문은 Consistency Regularization(CR)이라고 불리우는 최근 Semi-Supervised Learning(SSL)의 핫한 방법론을 Scene Text Recognition(STR)에 적용한 논문으로, Human Annotation 없이도 이전 SOTA 모델들의 최고정확도를 갱신했다는 점에서 큰 의미가 있다. 본 논문의 저자들은, 일반적으로 STR에서 학습에 사용하는 합성데이터(Synthetic Text)들은 Real Scene Text와 Domain Gap이 커서 정확도에 안좋은 영향을 미치기 때문에 Annotation되어 있지 않은 Real Scene Text 데이터를 학습하는 방법을 제안한다.
Abstract
- STR은 대부분 fully supervised manner로 학습되기 때문에 어마어마한 양의 labeled data를 필요로 한다.
- 비록 Synthetic Data의 연구로 인해 STR의 학습이 보다 원활해졌지만, Real-to-Synthetic의 Domain Gap으로 인해 STR의 정확도 상승에 제약이 있다.
- 본 연구는 Synthetic Data를 사용하여 Supervised Learning을 하는 동시에, 다수의 Unlabeled Real Data를 활용하여 STR의 정확도를 향상시키는 방법을 다룬다.
- STR은 일종의 Sequence Generation Task이기 때문에, 이를 고려한 Character-Level Consistency Regularization(CCR)을 활용한 STR 프레임워크를 제안한다.
- 다양한 Case에 대한 실험을 진행한 결과, 기존에 존재하는 STR 모델들에 적용했을 때 성공적으로 정확도를 상승시켰으며, 새로운 SOTA를 달성했다.
- 본 논문은, STR에 CR을 최초로 적용한 논문이다.
Introduction
- 일반적으로 STR Task는 Fully supervised manner로 학습되지만, Real Labeled Dataset은 어마어마한 Annotation 비용으로 인해서 대부분 Sample수가 그다지 크지 않다.
- 그렇다보니, 다양한 Text를 특정 background image에 합성해서 만들어낸 합성데이터(Synthetic Data)인 MJSynth와 SynthText와 같은 Open Synthetic Dataset이 주로 학습에 사용되고 있다.
- 그러나 Synthetic Data와 Real Data는 사람이 보기에도 확연히 그 Visual Feature가 다르고, 이러한 Domain Gap으로 인해 STR은 실제 Test Set에서 어느정도의 성능 하락이 발생하고 있으며, 해당 내용은 아래 논문에서 어느정도 입증되었다. ["What If We Only Use Real Datasets for Scene Text Recognition? Toward Scene Text Recognition With Fewer Labels"]
- 즉, STR 데이터는 Real Data에 굶주려 있는 상태이며, 이러한 Real Data는 Annotation 비용이 높을 뿐, 데이터 자체는 인터넷에서 크롤링등의 방법을 통해서 손 쉽게 얻어낼 수 있다.
- 따라서 저자들은, Consistency Regularization이라는 SOTA Semi-supervised Learning(SSL) 방법론을 STR Task에 적용하여 Real Unlabeled Data(RU)를 사용하여 STR 모델들의 성능을 올리는 실험을 진행하였다.
Proposed Method
- 본 논문에서 제안하는 STR Framework의 전체 구조는 위 그림과 같으며, CR Architecture를 사용하여 Synthetic Labeled Data와 Real Unlabeled Data 각각에서 정보를 추출하여 학습하는 방식으로 학습을 진행한다.
- 해당 CR Architecture는 UDA논문["Unsupervised data augmentation for consistency training."]에서 영감을 받아 Supervised Branch와 Unsupervised Branch의 2가지 Branch로 구성되어 있다.
- Supervised Branch는 Synthetic Data 활용하여 Supervised Learning을 진행하고, Unsupervised Branch에서는 Unlabeled Real Data를 받아서 Strong Augmentation과 Weak Augmentation을 진행하고 각각의 Input에 대한 Output이 최대한 비슷하게 출력되도록 학습된다.
- Unsupervised Branch는 BYOL["Bootstrap your own latent: A new approach to self-supervised Learning"]의 논문에서 영감을 받아, 같은 Architecture에 Parameter만 다른, 2개의 모델(Online Model, Target Model)을 사용하여 학습을 진행한다. Online Model는 Supervised Branch에서 학습된 모델과 Parameter를 공유하고, Target Model은 Unsupervised Branch에서 Online Model과 EMA 방식을 활용하여 학습이 진행된다.
- 저자들은 STR이 Sequence Generation Task라는 점을 고려하여 Character-Level Consistency Regularization(CCR)을 제안한다.
- 해당 방식의 아이디어는 매우 심플한데, Sequence Generation을 위해 Teacher Forcing을 할 때, Time Step t마다 Target Decoder와 Online Decoder의 Input으로 들어오는 t-1 Step의 output값을 서로 다른 값을 쓰게 되면 Character Alignment에 안좋은 영향을 미치게 학습될 수 있으므로, 무조건 Target Model의 t-1 step의 Output을 t step의 입력으로 받게끔 하는 방식이다.
ex) "Hello"라는 글자를 읽을 때, Target 모델이 "H"로 읽고 Online 모델이 "T"로 읽었어도, 양쪽 Decoder에는 다음 Step에 무조건 Target 모델의 Output "H"를 입력하도록 하여 Context를 공유하도록 함
- 또한 저자들은 Synthetic Data와 Real Data의 Domain Gap을 줄일 수 있도록, 위 (6)과 같은 Domain Adaption Loss를 추가하였다.
- 해당 Loss는 간단히 말하면, Synthetic 모델에서 뽑아낸 Feature Map과 Real 모델에서 뽑아낸 Feature Map의 유사도를 높이게 만들어서 양쪽 데이터에서 최대한 비슷한 추상화된 Feature를 뽑아낼 수 있도록 유도하는 역할을 한다.
Experiments
- 전반적으로 정확도가 향상된 모습을 보여주었다.
- Synthetic Data로 만들기 까다로운 Irregular Text에서 정확도가 큰 폭으로 상승하였다.(SVTP 86.4% -> 93.3%)
- 2.5M의 Data만을 사용한 TRBA-cr이 14.5M의 Synthetic Data를 사용한 TRBA-pr보다 정확도가 1.7% 향상되었다.
(학습시간은 거의 1/6 수준)
Conclusion
- 본 논문의 저자들은 Human Annotation이 아예 없이도 Real Scene Data에 대해서 높은 정확도를 가지는 STR Framework를 제안하였다.
- Synthetic Data와 Real Data의 Gap을 줄여주는 식으로 학습을 유도하기 위해 Domain Adaption Loss, Consistency Loss등을 사용하였다.
- Synthetic과 비슷한 크기로 구축하는게 현실적으로 불가능한 Labeled Real Data의 한계점을 극복하기 위해 Semi-supervised Learning을 도입하였다.
- BYOL 논문의 방식에서 영감을 받아 Projection Layer를 추가하여 학습을 안정화하였다.
- STR이 Sequence Generation Task인 점을 고려하여 Target Model로 Teacher Forcing을 진행하는 Character Level Consistency Regularization 방법론을 제안하였다.
- OCR Recognizer에 적용해볼 수 있는 Simple하면서도 효과적인 연구가 아닐까 개인적으로 생각된다!
바쁜 일이 끝나면, 한번 직접 구현해서 실험해볼 예정이다!
반응형