DEER: Detection-agnostic End-to-End Recognizer for Scene Text Spotting
DEER(Detection-agnostic End-to-End Recognizer)는 텍스트 스팟팅의 새로운 접근 방식으로, 기존의 텍스트 탐지와 인식 시스템에서 벗어나 텍스트 탐지 오류에 덜 의존하는 인식 구조를 제안합니다. 이를 통해 다양한 형태와 크기의 텍스트를 효과적으로 인식할 수 있으며, 복잡한 탐지 메커니즘 없이도 성능을 유지합니다.
Apr 25, 2024
Paper
Seminar
Why DEER
- Text Spotting SOTA (Total-Text)
- Text Spotting Sota (ICDAR 2015)
- 후보
- UNITS → NAVER CLOVA 개발 (속도가 매우 느리다는 정보 from 정우님)
- DeepSolo - SOTA 1,2위
- Deview 2023 - DEER
Introduction
Motivation
- 기존 방식의 한계:
- 전통적인 텍스트 인식 시스템은 텍스트 탐지(detector)와 인식(recognizer)이 밀접하게 연결되어 있으며, 탐지 결과의 정확성이 인식 성능에 크게 영향을 미침.
- 탐지 오류가 발생하면 인식 과정에서도 오류가 발생할 확률이 높아집니다. 특히, 잘못 탐지된 텍스트 영역은 인식기가 정확한 문자 시퀀스를 복원하는 데 어려움을 겪게 합니다.
- 정교한 탐지 알고리즘의 필요성: 대부분의 텍스트 스팟팅 시스템은 정교한 탐지 알고리즘에 의존하며, 이는 고비용의 계산을 필요로 함. 또한, 텍스트의 형태가 다양하고 동적인 실세계 환경에서는 이러한 방식이 여전히 제한적일 수 있음.
- Detection과 Recognition의 강한 의존성: 탐지 결과에 기반한 기존 인식 방식은 텍스트의 위치나 형태가 명확하지 않은 경우 인식 성능이 크게 저하될 수 있음.
Contribution
- Detection-agnostic Approach:
- DEER는 탐지와 인식의 연결을 완화하는 새로운 아키텍처를 제안.
- 이 접근 방식은 각 텍스트 인스턴스에 대해 단일 참조점만을 필요로 하며, 인식기가 전체 이미지에서 해당 참조점을 중심으로 텍스트를 인식할 수 있도록 함.
- 향상된 강인성:
- DEER의 방식은 탐지 오류에 대한 강인성을 향상.
- 텍스트의 정확한 경계를 탐지하는 대신, 참조점을 기반으로 텍스트를 인식함으로써, 탐지 오류가 인식 결과에 미치는 영향을 줄일 수 있음.
- Computational Efficiency:
- DEER는 복잡한 탐지 메커니즘을 사용하지 않고도 텍스트를 효과적으로 인식.
- 계산 비용을 절감하면서도 텍스트 인식의 정확성을 유지하거나 향상시킬 수 있음.
- 범용성과 실용성:
- 제안된 방식은 다양한 형태와 크기의 텍스트, 그리고 회전된 텍스트나 곡선 텍스트 등 복잡한 형태의 텍스트도 효과적으로 처리할 수 있음.
Proposed Method
Overview
Backbone
- Backbone 모델로부터 multiscale feature map을 얻음 (1/4,1/8,1/16,1/32)
- 추출된 특성 맵은 모두 256개의 채널로 투영되기 위해 완전연결층(Fully-Connected Layer)과 그룹 정규화(Group Normalization)를 거침.
- 처리된 특성 맵을 flatten 시킨 후 concat 하여 특성 토큰 벡터 생성
Transformer Encoder
- 높은 해상도와 multi-scale feature는 텍스트 인식에 도움이 됨.
- 그러나 self-attention 과정에서 토큰의 길이가 길어지면 계산 비용이 길이 제곱에 비례하여 늘어나기 때문에 실제 multi-scale feature는 비실용적.
- 이러한 이유로 이전 연구에서는 낮은 해상도 + 추상화된 feature (like C5) 사용.
- 이 연구에서는 이러한 점을 해결하기 위해 deformable attention을 사용.
- x(v,p) : bilinear interpolation that extracts features from value features v at position p
- K : number of sampled key points
- k : key index
- h : index for the attention head
- : reference points - text recognition 작업에 필요한 정보를 찾아내는 기준점
- : sampling offset - 실제 attention을 적용할 위치로의 offset. p_ref 주변의 어느정도 정보를 사용할 것인가.
- : attention weights
- , , 계산 : query feature에 선형 변환
- 는 softmax 값을 적용
- 이 Section에서 Transformer Encoder에 추가로 Deformable Attention을 수행한건지, Self-Attention 대신 Deformable Attention을 사용했는지에 대해 이야기 하지 않음
- 계산 시간상 효율 문제를 해결하고자 했으므로 아마 Self-Attention 대신 Deformable attention 을 수행한 것으로 예상
Location Head
- 논문에서 Location Head는 reference point를 예측하는데 사용됨
- 추가적으로 성능 평가를 위한 segmentation map을 만드는데 사용될 수 있으면 논문에서는 추가적으로 differentiable binarization 기법을 사용해 이진화하여 텍스트의 bounding polygon을 얻어냄 (전통적인 이진화 방법은 미분할 수 없기 때문)
- 특별히 논문에서는 L2 에서 얻은 feature C2 를 사용
- Segmentation Head 구성
- Transposed convolution + group normalization + RELU
- Segmentation Head로 Text 경계를 예측하도록 학습
Text Decoder
- Query
- Character Embedding+Positional Embedding+ (reference points)
- and : Feature token from Transformer encoder
- 교대로 Deformable Attention 대신 regular cross attention 을 사용
- 표준적인 attention 메커니즘을 사용하여 정보 처리 방식에 다양성을 추가하고 모델이 더 다양항 상황에 적응할 수 있는 능력을 개발
- 훈련 중 이미지에서 개의 텍스트 박스를 샘플링
- 각 텍스트 박스의 중심 좌표를 계산하고 이 좌표들을 디코더의 reference points로 사용.
- 디코더가 텍스트를 인식할 때 각 텍스트 인스턴스의 중심을 기준으로 작동
- Location Head와 Text Decoder는 독립적으로 훈련
- 이렇게 하더라도 Text Decoder가 Location Head 성능에 영향을 받긴 할텐데..?
- 훈련 단계에서는 GT 포인트를 사용하고, 평가 단계에서는 detector 의 포인트를 사용하므로 그 갭을 줄이기 위해 훈련단계에서 교란된 좌표 사용
- 추론 단계에서는 detector가 발견한 포인트 사용.
Loss Function
- : autoregressive text recognition loss
- 예측된 문자 시퀀스의 확률과 텍스트 박스의 gt 텍스트 라벨간의 softmax cross entropy 로 계산
- differentiable binarization
- : probability map에 대한 손실
- binary cross entropy with hard negative mining 로 계산
- : binary map에 대한 손실
- dice loss 로 계산
- : threshold map에 대한 계
- distance loss로 계산
Inference Stage
- 추론 단계에서는 Location Head로부터 얻은 Probability map만 사용.
- Probability map은 임계값을 사용해 이진화하며, 이진 맵에서 연결된 구성 요소들을 추출
- 기존 연구에 따르면 추출된 영역의 크기는 실제 텍스트 영역보다 작으므로 Vatti clipping 알고리즘을 사용해 확장
- 면적
- 미리 정의된 확장 factor
- 둘레
- D 만큼의 계수로 면적 확장.
- 각 확장된 영역에서 다각형을 추출하고 그 중심 좌표를 계산해서 디코더의 참조점으로 제공
- 디코더는 이 참조점을 기반으로 해당 텍스트 영역 내의 문자 시퀀스를 greedily 하게 예측.
Experiment
ICDAR 2015
Total Text
Ablation Study
- Pertubation
- reference point를 교란하며 훈련하면 성능의 향상이 일어남
- Fig 6. 에서 보듯이 교란된 reference point로 훈련된 모델은 gt 참조점을 만큼 이동시킬 때, 성능의 하락이 그렇지 않은 모델보다 훨씬 적음을 보임
- Center point vs Inner Point
- 참조점을 instance의 중심으로 두었을 때와 내부에 랜덤하게 두었을 때 성능 차이는 발생.
- 그러나 그 차이가 매우 크지 않기 때문에 실제 모델이 참조점을 중심으로 정확하게 인식하지 못한다 하더라도 강건함을 보임
- Detection Supervision
- Detection Supervision은 인식기의 성능에 긍정적인 영향을 줌
- 단 연구팀은 확장된 훈련과 더 큰 데이터셋을 사용하면 성능 격차가 줄어들 것으로 예상
- 이 경우 detection supervision은 훈련에만 사용하고 추론에는 사용하지 않아도 된다고 주장.
Conclusions
Discussion
- 피처 맵 활용 :
- 인식기가 피처맵을 활용하면 텍스트 인스턴스의 정확한 검출 없이 성능을 보여줄 수 있음
- 그러나 텍스트 인스턴스가 깔끔하게 검출된다면 이 방식이 오히려 비효율적일 것.
- 평가 지표와 연구 방향
- 현재 Text Spotting Metric에서는 텍스트 인스턴스의 지역 정보를 검출할 것을 요구함
- 정확한 Detection Location을 검출하는 것에 대한 요구가 완화된 평가 지표가 필요.
- Recognizer 독립성과 한계
- 인식기는 reference points 검출에 의존적이며 각 텍스트의 인식이 독립적
- 누락된 텍스트를 Recognizer가 감지하거나 중복된 reference points를 감지하는 것이 불가능
- 모호한 문자 인식
- 전체 피처맵을 활용하는게 모호한 문자를 인식하는데 도움이 될 수 있음
- 그러나 반대로 모델이 인식을 위해 잘못된 단서를 사용하게 할 수 있음
- 이는 인식 결과에 구조적 오류 패턴이 만들어질 수 있고, 훈련 데이터셋에 편향이 있다면 이걸 확대 해석할 수 있음
Conclusion
- 모델 제안
- DEER 모델은 텍스트 인스턴스 Detection과 Recognition 사이의 연결을 완화하며, 비용이 많이 드는 다각형 annotation과 복잡한 pooling 메커니즘 없이 임의 형택의 텍스트 인스턴스를 인식 할 수 있음
- 성능
- 실험 결과는 polygon proposal과 pooling 없이 경쟁력 있는 성능을 보여줌
- 제안한 detection-agnostic 구조는 text spotting 모델을 더 유연하고 쉽게 훈련 할 수 있을 것
Deview
DEER 훈련과 성능
DEER이 가능한 작업
더 가벼운 DEER
Out of Domain Data
문제점
- 코드 공개를 안함.
- Text Spotting SOTA 비교에서 상대적으로 성능이 떨어짐 (속도는 빠르다는데 검증 필요)
- DeepSolo 모델 사용 후 필요하다면 구현
Share article