Scene Text Recognition with Permuted Autoregressive Sequence Models

본 논문의 모델 PARSeq는 순서 치환(Permutation) 언어 모델링을 사용하여 공유 가중치를 가진 내부 Autoregressive(AR) Language Models(LM)의 앙상블을 학습합니다.
Inc Lomin's avatar
May 04, 2023
Scene Text Recognition with Permuted Autoregressive Sequence Models
notion image

Abstract

notion image
본 논문의 모델 PARSeq는 순서 치환(Permutation) 언어 모델링을 사용하여 공유 가중치를 가진 내부 Autoregressive(AR) Language Models(LM)의 앙상블을 학습합니다.
PARSeq는 양방향 컨텍스트를 사용하여 “문맥 없는 non-AR문맥 인식 AR 추론”과 “반복 정제”를 통합합니다.
PARSeq는 간단하고 “통합된 구조와 병렬 토큰 처리” 덕분에 정확도 대비 파라미터 수, FLOPS, Latency가 최적화 되어있습니다.
본 모델의 광범위한 어텐션 사용으로 인해, 임의 방향의 텍스트에 강건합니다.

Introduction

길거리 텍스트 인식(이하 STR)은 크롭된 영역에서 텍스트를 인식하는 태스크입니다.
STR은 주로 비전 태스크이지만, 가려져 있거나 읽기 어려운 텍스트들을 이미지 피쳐로만 처리하는 것은 충분하지 않아 언어 의미들을 사용해 인식 처리를 돕기도 합니다.
순차 모델링(Sequence Modeling)은 E2E 학습가능한 언어 모델을 학습하는 데 이점이 있습니다. 내부 LMs를 가진 STR 방법은 이미지 피쳐와 언어 문맥을 동시에 처리합니다. STR 방법은 미래 토큰이 과거 토큰에 의해 영향을 받지만 그 반대로는 영향을 주지 않는 언어 문맥에 대한 Autoregressive 제약을 강제하는 방식으로 학습됩니다. 그리고 이를 통해 모델은 다음과 같아집니다.
여기서 는 이미지 길이의 텍스트 라벨입니다.
AR 모델은 위의 제약 때문에 2가지 제한이 생깁니다.
notion image
첫째, 모델은 오직 단방향으로만 토큰 종속성을 학습할 수 있습니다. 단방향성이 AR 모델이 한가지 방향으로만 읽을 수 있게합니다.
둘째, 추론 과정에서 AR 모델은 학습에 사용되었던 방향으로만 토큰을 직렬화하여 반환할 수 있습니다. 이는 Next-Token 혹은 Monotonic AR 디코딩이라 불립니다.
notion image
notion image
위의 한계를 해결하기 위해 Left-To-Right(LTR)과 Right-To-Left(RTL) AR 모델의 결합 혹은 2단계 접근법을 시도한 연구들이 있습니다.
위 그림의 (a)는 병렬 non-AR 디코딩을 사용하여 초기 예측을 얻습니다. 초기 문맥이 적은(Context-Less) 예측은 문맥없는 모델 을 사용하여 이미지로부터 바로 디코딩 됩니다.
이로 인해 예를들어, ABINet의 외부 LM, 는 양방향 문맥을 사용합니다. 왜냐하면 모든 문자들이 한번에 사용가능해지기 때문입니다.
이 LM는 Spell Checker로 기능하며, 초기 예측을 정제하여 문맥 기반의 출력을 생성합니다.
입력 이미지로부터의 LM의 조건부 독립은 Misspelled 되거나 높은 확률을 가진 비슷한 문자가 있으면 올바르게 예측된 값을 잘못 정제할 수 있습니다.
따라서 Separate Fusion Layer를 사용하여 초기 예측과 LM 예측으로부터의 피쳐를 결합하여 최종 출력을 만듭니다.
최근에 트랜스포머 기반의 일반화된 순서 모델을 학습하는데 순서 치환(Permutation) 언어 모델링(PLM)을 적용하였습니다. 본 논문에서는 PLM을 STR에 적용합니다. PLM은 AR 모델링의 일반화로 생각될 수 있고, PLM-Trained 모델은 공유된 구조와 가중치를 가진 AR 모델의 앙상블로 볼 수 있습니다.
notion image
동적으로 토큰 종속성을 지정하기 위해 어텐션 마스크를 사용하면, 모델은 위 그림처럼 입력 문맥의 임의의 하위 집합이 주어진 조건부 문자 확률을 학습하고 사용할 수 있으므로 단조로운(Monotonic) AR 디코딩, 병렬 Non-AR 디코딩 및 반복적인 정제를 가능하게 합니다.
요약하면 SOTA STR 방법론은 2 단계 앙상블을 선택하여 양방향 언어 문맥을 사용합니다.
외부 LM의 낮은 단어 정확도는 더 효율적인 방법이 필요하다는 것을 보입니다.
이를 위해 저자는 Permuted AutoRegressive SEQuence(PARSeq) 모델을 제안합니다.
PLM으로 학습한 PARSeq는 간단한 구조를 가진 통합된 STR 모델이면서 문맥없는, 그리고 문맥있는 추론 둘 다를 할 수 있습니다. 그리고 양방향 (cloze) 문맥을 사용하여 반복 정제도 가능합니다.
Context-free STR 방법론은 이미지 피쳐로부터 바로 문자를 예측하는 것입니다.
출력 문자는 서로에게 조건부 독립입니다. 가장 저명한 방법은 CTC 기반의 방법입니다
문맥없는 방법은 이미지 피쳐에만 의존하므로, 가려져있거나 불완전한 문자에 대해 덜 강건합니다.
이러한 한계점 때문에 언어적 의미를 사용하여 인식 모델을 더 강건하게 하고자 합니다.
Context-aware STR 방법론은 데이터로부터 학습한 의미들을 사용하여 인식을 돕습니다.
대부분의 방법들은 어텐션을 가진 RNN을 사용하거나 트랜스포머를 사용하여 내부 LM을 학습시킵니다.
이 방법들은 Monotonic AR 디코딩으로 제한됩니다. 앙상블 기법은 예측 정제를 위해 외부 LM을 사용하여 양방향 문맥을 사용합니다. 이미지 피쳐에 대한 외부 LM의 조건부 독립으로 인해 잘못된 수정이 발생하기 쉬우며 상당한 오버헤드를 발생시키면서 유용성을 제한합니다.
이전 연구들과 대조적으로, 는 표준 AR 모델링 대신 PLM을 사용하여 내부 LM을 학습시킵니다. 이는 타겟 디코딩 위치를 입력 문맥으로부터 분리하는 매개변수화를 사용함으로써 유연한 디코딩을 돕습니다.
문맥을 학습과 추론 모두에 사용하는 ABINet과 달리, 는 이 문맥을 반복 정제에만 사용합니다. 더욱이, ABINet의 정제 모델은 입력 이미지에 조건부 독립이지만, 는 입력 이미지와 언어 문맥 모두를 정제 처리에 고려합니다.
Generation from Sequence Models는 두 가지 기법으로 분류될 수 있습니다.
Autoregressive (한번에 한 토큰만) 그리고 Non-Autoregressive (모든 토큰 예측을 한번에)입니다.
notion image
본 논문과 가장 유사한 방법은 컨텐츠와 쿼리 스트림을 서로 다른 레이어에서 배치하여 두개의 스트림 어텐션 매개변수화를 디코더에 적용하는 것입니다.
이와 대조적으로 본 논문의 디코더는 Self-Attention을 사용하지 않고 두 개의 스트림을 배치하지 않습니다.
이를 통해 하나의 레이어를 가진 디코더가 쿼리 스트림만 사용하게 하고 사용하지 않은 컨텐츠 스트림의 오버헤드를 피하게 합니다.

Permuted Autoregressive Sequence Models

Model Architecture

PARSeq는 Multi-Head Attention(MHA)을 광범위하게 사용합니다. 이를 다음과 같이 표기합니다.
여기서 그리고 는 쿼리, 키, 밸류 파라미터이며, 은 선택적 어텐션 마스크입니다.
notion image
PARSeq는 인코더-디코더 구조를 따릅니다. 인코더는 12개의 레이어를 가지며, 디코더는 1개의 레이어를 가집니다. 이 Deep-Shallow 구성은 의도적인 구성으로 모델의 전반적인 요구사항을 최소화하면서도 성능에는 미미한 영향을 미칩니다.

ViT Encoder

Vision Transformer Layer는 Self-Attention에 사용하는 하나의 MHA 모듈을 가집니다. 즉, 입니다.
이 인코더는 12개 레이어 ViT이며 분류 헤드와 토큰이 없습니다.
이미지 개 패치들로 동등하게 나뉘어 토크나이즈되고, 각 패치를 Flattening 한 후 패치 임베딩 행렬 을 사용하여 선형 사영하여 차원의 토큰으로 만듭니다. 이를 통해 개의 토큰이 만들어집니다.
첫 ViT 층에 의해 처리되기 전에 학습된 위치 임베딩을 토큰들에 더합니다.
표준 ViT와 대조적으로, 모든 출력 토큰 는 디코더의 입력으로 사용됩니다.

Visio-Lingual Decoder

notion image
디코더는 Pre-LayerNorm 트랜스포머 디코더 구조를 따르며, 두 배의 어텐션 헤드 수를 사용합니다. 즉, 입니다.
notion image
다음의 식에서는 LayerNorm과 Dropout을 생략하여 간단하게 적습니다.
문맥-위치 어텐션에 사용되는 첫 MHA 모듈은 다음과 같습니다.
여기서 는 문맥 길이, 는 위치 토큰, 은 위치 정보를 가진 문맥 임베딩, 은 Optional 어텐션 마스크입니다.
특수 구분자 토큰은 총 시퀀스 길이를 로 늘립니다.
학습 중에는, 마스크는 랜덤한 순서치환으로부터 생성됩니다. 추론 중에는, 표준 Left-To-Right Lookahead 마스크(AR 디코딩) 혹은 마스크(Iterative Refinement) 혹은 No Mask(NAR 디코딩)가 될 수 있습니다.
notion image
두번째 MHA는 이미지-위치 어텐션에 사용됩니다.
여기서는 어텐션 마스크가 사용되지 않았습니다.
마지막 디코더의 은닉 상태는 MLP의 출력으로, 입니다.
마지막으로, 출력 로짓은 입니다. 여기서 는 문자 집합의 크기입니다. 추가 문자는 토큰과 관련이 있습니다.
요약하면, 어텐션 마스크 이 주어지면, 디코더는 다음의 형식을 가진 함수가 됩니다.

Permutation Language Modeling

이미지 가 주어지면, 모델 파라미터 하의 텍스트 레이블 인 가능도를 최대화하고자 합니다. 표준 AR 모델링에서는, 이 가능도가 정칙적인 순서(Canonical Ordering)에 따라 연쇄법칙에 의해 인수분해됩니다. 그리고 이를 통해 모델 이 만들어집니다.
하지만 트랜스포머는 모든 토큰을 병렬적으로 처리하고, 이를 통해 출력 토큰이 모든 입력 토큰에 접근 혹은 조건부 종속이 가능하게 합니다. 유효한 AR 모델을 만들기 위해서는, 과거(past) 토큰은 미래(future) 토큰에 접근할 수 없습니다.
이 AR 속성이 트랜스포머에서 어텐션 마스크를 사용함으로써 강제됩니다.
notion image
예를 들어, 3 원소 시퀀스 에 대한 표준 AR 모델은 위 표의 (a) 같은 마스크를 가질 것입니다.
PLM의 핵심 아이디어는 가능도의 모든 개의 인수분해에 대해 학습하는 것입니다.
여기서 는 인덱스 시퀀스 의 가능한 모든 순열 집합을 나타내며, 는 순열 번째 원소와 첫 개 원소를 나타냅니다.
각 순열 는 가능도의 구분되는 인수분해 중 하나에 대응되는 순서를 지정합니다.
PLM을 트랜스포머에서 구현하기 위해 저자는 텍스트 레이블 에 대한 실제 순서치환은 필요하지 않다고 합니다. 그 대신, 어텐션 마스크를 만들어 순열 에 의해 지정된 순서를 강제합니다.
notion image
구체적인 예로, 위 표의 어텐션 마스크들은 3 원소 시퀀스 순열의 4개의 다른 마스크들입니다.
입력 시퀀스와 출력 시퀀스의 순서는 일정하지만, 네 가지 모두 주어진 순열 또는 인수분해 순서에 의해 지정된 별개의 AR 모델에 해당합니다.
이를 염두해 두면, 표준 AR 학습은 오직 하나의 순열 이 사용된 PLM의 특수한 경우라고 생각할 수 있습니다.
실제로 우리는 기하급수적으로 늘어나는 연산 때문에 모든 개의 인수분해에 대해서 학습할 수 없습니다.
타협점으로, 가능한 개의 순열 중 개만 사용합니다. 균등 샘플링 대신, 개의 순열을 특정한 방식으로 추출합니다.
개의 순열 쌍을 사용하는데, 첫 절반은 Left-To-Right 순열,,과 개의 랜덤하게 추출된 순열로 구성됩니다.
두번째 절반은 첫번째 절반의 Flipped된 버전으로 구성됩니다.
개의 순열과 GT Label 를 가지고, 전체 학습 Loss는 각 순서치환으로 유도된(Permutation-Derived) 어텐션 마스크 에 대한 개별 Cross-Entropy Losses의 평균이 됩니다.
여기서 입니다. 패딩 토큰은 Loss 계산에서 무시됩니다.

Decoding Schemes

올바른 매개변수화와 엮인 PLM 학습은 PARSeq가 다양한 디코딩 계획(Schemes)에 사용될 수 있게 합니다. 본 논문에서는 두 개의 대조적인 Schemes만 사용합니다. 특히, 반복적인 정제뿐만 아니라 단조로운 AR과 NAR 디코딩의 사용에 대해서 설명합니다.
notion image
Autoregressive(AR) 디코딩은 이터레이션마다 하나의 새로운 토큰을 생성합니다. Left-To-Right 어텐션 마스크는 항상 사용됩니다. 첫 이터레이션에서, 문맥은 로 설정되며, 오직 첫번째 위치 쿼리 토큰 만 사용됩니다.
다음의 모든 연속적인 이터레이션 에 대해서는, 위치 쿼리들 이 사용되며, 문맥은 가 앞에 붙은 이전 출력인 입니다.

Non-Autoregressive(NAR) 디코딩은 동시에 모든 출력 토큰들을 생성합니다. 모든 위치 쿼리들 이 사용되지만 어텐션 마스크는 사용되지 않습니다(위 표의 (b)). 문맥은 항상 입니다.

Iterative Refinement는 초기 디코딩 방법(AR 혹은 NAR)에 관계없이 수행될 수 있습니다.
AR 디코딩과 유사하게 이전 출력(로 잘린)은 현재 이터레이션의 문맥으로 사용되지만 모든 위치 쿼리들 은 항상 사용됩니다.
어텐션 마스크(위 표의 (c))가 사용됩니다. 이 마스크는 all-one 마스크로 시작하여 매칭되는 토큰 위치를 마스킹하는 방식으로 생성됩니다.

Results and Analysis

Datasets

notion image
저자는 합성 데이터셋 MJSynth, SynthText, 실제 데이터셋 COCO-Text, RCTW17, Uber-Text, ArT, LSVT, MLT19 그리고 ReCTS를 사용하여 학습합니다.
추가적으로 두 개의 대규모 실제 데이터 Open Images와 TextOCR을 사용합니다.
평가 데이터셋으로는 IIIT 5K-word, CUTE80, Street View Text, SVT-Perspective, ICDAR 2013 그리고 ICDAR 2015를 사용합니다.

Training Protocol and Model Selection

모든 모델은 PyTorch DDP를 사용한 Mixed-Precision, dual-GPU 세팅에서 학습됩니다.
169,680 Iterations와 384 크기의 배치가 사용되었고, Learning Rates는 모델에 따라 다릅니다.
Adam Optimizer를 1 Cycle Learning Rate Scheduler와 함께 사용했습니다.
127,260 이터레이션(전체의 75%)에서 Stochastic Weight Averaging(SWA)를 사용했고, 1 Cycle Scheduler는 SWA Scheduler로 교체합니다.
평가는 매 1000 학습 스텝마다 수행합니다.
SWA가 각 에폭의 마지막에 가중치들을 평균내므로, 학습의 끝의 마지막 체크포인트를 선택합니다.
PARSeq에 대해서, 순열을 사용합니다. 패치 크기는 입니다.
Label PreprocessingASTER: An Attentional Scene Text Recognizer with Flexible Rectification 논문을 따릅니다. 학습 시에는, 최대 레이블 길이를 로 설정하고, 문자 집합의 크기는 로 사용합니다.
Image Preprocessing은 먼저 Augmented되고, Resized되고 구간으로 정규화됩니다.
어그멘테이션은 RandAugment로 구성되며, Sharpness는 제외합니다.
Invert는 집 번호(House Number) 데이터에서의 효과를 위해 사용하며 GaussianBlur와 PoissonNoise는 STR 데이터에서 효과를 얻기 위해 사용합니다.
이미지 리사이즈는 무조건 픽셀로 수행됩니다.

Evaluation Protocol and Metrics

PARSeq는 같은 모델을 두개의 다른 디코딩 방법으로 결과를 만들었습니다.
는 한번의 정제 반복을 가진 AR 디코딩, 은 두 번의 반복 정제를 가진 NAR 디코딩을 나타냅니다.
Word Accuracy는 STR 벤치마크의 주요 평가지표입니다. 모든 위치에서의 문자들이 매칭되는 필요충분조건을 만족할 때 예측이 맞은 것으로 간주합니다.
Charset은 추론 시에 다를 수 있습니다. 학습 문자 집합의 하위 집합을 평가에 사용합니다. 특히 다음의 문자집합이 사용됩니다.
36-Character(Lowercase Alphanumeric), 62-Character(Mixed-case Alphanemeric), 그리고 94-Character(Mixed-case Alphanumeric with Punctuation)
파이썬에서 이들은 String의 Array Slices인 으로 대응됩니다.

Ablation on Training Permutations VS Test Accuracy

notion image
위 표는 모든 디코딩 방식에 적용되는 테스트 정확도에 대한 학습 순열의 수의 효과를 나타냅니다.
이면, Left-To-Right 순서만 사용되고, 학습은 표준 AR 모델링으로 단순화됩니다. 이 세팅에서는 NAR 디코딩은 작동하지 않지만, AR 디코딩은 제대로 작동합니다.
모든 디코딩 방식은 일 때 만족할만한 성능이 나타납니다. 이 결과로 PLM이 통합된 STR 모델을 달성하기 위해 필요하다는 것을 알 수 있습니다.
직관적으로, NAR 디코딩은 Forward 혹은 Reverse Orderings()에만 학습할 때 작동하지 않는데 이는 학습 문맥의 다양성이 충분하지 않기 때문입니다.
NAR 디코딩은 문자 집합의 모든 문자가 시퀀스의 첫 번째 문자로 자연스럽게 존재하는 경우에만 충분히 훈련될 수 있는 각 문자의 사전확률(Priors)에 의존합니다.
궁극적으로, 이 디코딩 정확도와 학습 시간 사이의 최적의 균형을 만듭니다.
본 논문의 내부 LM의 가장 높은 정확도(~94%)는 이미지 피쳐와 언어 문맥을 예측 정제를 위해 공동으로 사용하는 것의 이점을 부각시킵니다. 결국엔, STR의 주요 입력 신호는 이미지이지 언어 문맥이 아닙니다.

Comparison to State-Of-The-Art

notion image
위 표에서 가장 많이 재현된 방법이 원본 결과에 비해 가장 높은 정확도를 얻었습니다.
합성 데이터와 실제 데이터 모두에서, 가 가장 높은 단어 정확도를 달성했고, 이 일관성있게 2등 혹은 3등을 차지했습니다.
현실 데이터가 사용되었을 때, 모든 재현된 모델들은 보고된 원본 결과보다 모두 높은 정확도를 보였고, 그 와중에 는 새로운 SOTA 결과를 기록했습니다.
notion image
위 표는 각 문자 집합에 대한 평균 정확도를 나타냅니다. 합성 데이터셋을 학습에 사용했을 때, 36-에서 62- 그리고 94-Charsets으로 가파른 정확도 하락이 있습니다. 이는 합성 데이터셋에서 대소문자 구분 문자의 다양성이 부족함 때문입니다.
이 와중에 는 일관성있게 모든 문자 집합 크기에서 가장 높은 정확도를 달성했습니다.
notion image
위 표에서 는 가려짐(Occlusion)과 텍스트 방향의 다양성에서 가장 강건했습니다.
notion image
위 그림은 정확도와 일반적인 비용 지표인 파라미터 수, FLOPS 그리고 Latency 관점에서의 Cost-Quality 트레이드 오프를 보여줍니다.
는 모든 결과에 사용된 베이스 모델이며 는 규모를 줄인 변형체입니다.
는 디코딩 기법에 상관없이 파라미터 수가 고정됩니다.
는 가장 높은 평균 단어 정확도를 달성하며, 3가지 지표에 걸쳐 매우 경쟁력있는 Cost-Quality 특성을 보입니다.
ABINet과 TRBA와 비교하여, 는 굉장히 적은 파라미터와 FLOPS를 사용합니다.
Latency 관점에서, AR 디코딩을 사용한 는 TRBA보다 살짝 느리지만 여전히 ABINet보다는 매우 빠릅니다.
그 와중에, 는 CRNN과 비슷한 수의 파라미터와 FLOPS를 사용하지만 CRNN보다 훨씬 더 높은 단어 정확도를 보입니다.
는 파레토 최적(Pareto-Optimal)이며, 는 리소스가 적은 애플리케이션에 대한 강력한 대안책입니다.

Conclusion

저자는 STR 태스크에 PLM을 적용하여 PARSeq를 학습합니다.
PARSeq는 통합된 STR 모델로, 문맥이 있는 디코딩과 문맥이 없는 디코딩 그리고 반복적인 정제가 가능합니다.
PARSeq는 이미지와 텍스트 표현을 공동으로 조건화하여 다양한 문자집합 크기와 현실 데이터셋에서 SOTA 결과를 달성했습니다.
다른 디코딩 기법을 통합하여 하나의 모델을 만들고 트랜스포머의 병렬 처리의 이점을 취함으로써, PARSeq는 정확도 대비 파라미터 수, FLOPS, 그리고 Latency에서 최적화됩니다.
어텐션의 광범위한 사용으로 인해 수직 그리고 회전된 텍스트에 대해 강건할 수 있습니다.
Share article