jiniby 2025. 3. 26. 17:57
728x90

01. ParSeq란?

ParSeq(Permuted Autoregressive Sequence Model)는 대표적인 OCR 인식기 모델로,
Unified STR (Scene Text Recognition) Model에 속합니다.

🔑 Unified STR Model이란?

이미지와 텍스트 특성을 처음부터 함께 종합하여 텍스트 인식을 수행하는 방식

다양한 방향과 형태를 가진 텍스트에서 뛰어난 성능 제공

Two-Stage Ensemble Model과 달리 Vision 모델과 Language 모델이 처음부터 통합됨.

02. 핵심 개념: Permutation Language Modeling (PLM)

PLM은 **모든 가능한 순서(Permutation)**에 대해 학습하여 다양한 방향의 텍스트를 효과적으로 인식하는 방법입니다.

🔖 PLM의 핵심 아이디어

- 문장 길이(T)에 대해 총 T!개의 가능한 순서 존재

- 이 중 일부(K개)만을 랜덤하게 선택해 학습

- AR(Autoregressive) 모델링의 일반화된(generalized) 버전으로 사용됨

- Attention Mask를 통해 Transformer에서 미래 정보(Future token)에 접근하지 못하게 제한하여 AR 모델링을 유지함

 


03. ParSeq 모델 구조

ParSeq 모델은 크게 두 가지로 구성됩니다:

① ViT (Vision Transformer) Encoder

- 총 12개의 Transformer Layer로 구성됨
- 입력 이미지를 작은 패치(patch)로 분할하여 token화 함
- CLS 토큰과 Classification Head는 포함되지 않음 (문서 분류가 아니라서) 
- 모든 출력 토큰이 Decoder의 입력으로 사용됨

② Visio-lingual Decoder

하나의 레이어로 구성되며, Position token, Context token, Image token 입력받음

두 가지 Multi-Head Attention (MHA) 사용:

Context–Position Attention (1st MHA):

목표 위치(Position)와 문맥(Context)을 분리해 효과적으로 PLM 학습 가능케 함

Attention Mask를 통해 순서(permutation)에 따른 정보 흐름 제한

Image–Position Attention (2nd MHA):

이미지 특징과 Position 정보 간 Attention 수행

Attention Mask를 사용하지 않음

최종적으로 MLP를 통해 문자 집합의 크기(S)에 맞는 최종 로짓(logit) 출력


04. ParSeq의 학습 방법 (Training PLM)

전체 T!개 Permutation 중 K개만 선정하여 학습 진행

안정적인 학습을 위해 K개는 다음과 같은 방식으로 선정됨:

1개는 Left-to-right permutation ([1,2,...,T])

 

K/2 - 1개는 랜덤한 Permutation

나머지 K/2개는 앞서 선정한 Permutation의 Flipped Version(반대 방향)

최종적인 손실 함수(Loss)는 선택한 K개의 Permutation의 합으로 계산됨


05. ParSeq의 Decoding 방식

세 가지 Decoding 방식이 존재합니다:

🔖 ① Autoregressive (AR)

- 한 번에 하나씩 토큰을 생성
- 이전 결과가 다음 결과에 직접적 영향

🔖 ② Non-autoregressive (NAR)

- 전체 문장 토큰을 한 번에 생성
- 빠른 속도로 병렬적 처리 가능하지만, 맥락(context) 이해는 상대적으로 낮음

 

🔖 ③ Iterative Refinement
- AR, NAR로 예측한 결과를 반복적으로 개선(refine)
- 항상 모든 위치를 동시에 고려하여 보다 정확한 결과 도출

06. 실험 및 분석 (Experiment & Analysis)

🔖 Dataset 사용

- 대표적 Synthetic Dataset: MJSynth, SynthText
- Real-world와 유사한 데이터셋: Uber, COCO, ArT 등 다양한 환경에서 평가

🔖 Permutation 개수(K)와 정확도 비교

K=1: (좌→우) 기본 AR 방식 성능 우수하지만 NAR, Iterative 방식 성능 낮음
K≥6: 모든 방식에서 안정적 성능 제공

🔖 다른 모델과의 성능 비교

- ParSeq 모델은 AR, NAR 방식 모두 타 모델 대비 우수한 성능
- 특히 글자가 가려지거나(occlusion), 다양한 방향(orientation) 상황에 강력함
- 비용 대비 효율성(cost-quality trade-off)에서도 뛰어난 성능 제공


07. ParSeq 성능 요약

특징 설명
다양한 형태 대응 PLM을 통해 다양한 텍스트 순서 및 방향에 우수한 성능
구조의 단순성 ViT Encoder + Visio-lingual Decoder 구조
빠른 처리 가능 NAR 방식은 빠르게 병렬 처리 가능
정확도 향상 Iterative Refinement를 통해 높은 정확도 유지

🧠 핵심 정리 한눈에 보기

ParSeq 모델 (Unified STR Model)
├─ PLM (Permutation Language Modeling)
│    ├─ 다양한 텍스트 방향 학습
│    └─ Attention Mask 활용해 정보 흐름 제한
│
├─ 모델 구조
│    ├─ ViT Encoder (이미지 특징 추출)
│    └─ Visio-lingual Decoder (텍스트와 이미지 특징 융합)
│        ├─ Context-Position Attention (문맥-위치 분리)
│        └─ Image-Position Attention (이미지와 위치 결합)
│
├─ 학습 방법
│    ├─ 총 T! 중 K개 permutation 선정
│    └─ Flipped Permutation 활용해 안정성 확보
│
└─ Decoding 방식
     ├─ Autoregressive (순차적)
     ├─ Non-autoregressive (병렬적)
     └─ Iterative Refinement (반복적 개선)
728x90