본문 바로가기

컴퓨터비전/STR(SceneTextRecognition)

FOTS : Fast Oriented Text Spotting with a Unified Network

-개요 / 차별점-

 

기존에는 

Text Detection -> Text Recognition 의 2 stage 모델이 많이 발전했다면,

이 논문에서 말하는 Text Spotting 은 두 stage 를 한번에 하는 것이다.

 

이렇게 Text Spotting 을 하게 되면, 

1. cost 를 줄일 수 있고,

2. 두 개의 스테이지에서 피쳐를 공유하여 더 좋은 성능을 얻을 수 있다.

 

기존의 End-To-End 모델들과 다른 부분

- Shared Convolution 

- Oriented Text 에 대한 정확도 개선.

 

-Relation Works-

-----------------------------------------------------------------------------------------------------------------------------------

<<<DETECTION>>>

- Rotation based framework

Arbitary-Oriented Scene Text Detection via Rotation Propsals

< Detection 단계에서 roi rotation을 도입.>

순서 = horizontal proposals -> rotation proposals -> refinement

 

<<<ROI ROTATE>>>

기존 : ROI POOLING , ROI ALIGN  

등이 존재한다.

해당 모델 : ROI ROTATE 이용.

 

 

<<<RECOGNITION>>>

기존 : Chacter Level 

최근 : 1. Word Classification , 2. Sequence to Label Decode , 3. Sequence to Sequence Decode

해당 모델 : Deep Recurrent Models & Connectionist Temporal Classificeation (CTC) 

그대로 가져옴.

-----------------------------------------------------------------------------------------------------------------------------------

 

 

-모델 구조-

-----------------------------------------------------------------------------------------------------------------------------------

<<<전체 구조>>>

Shared Convolution -> Text Detection Branch                                                                                       -> Predicted BBoxes

                                                                                         

등이 존재한다.

해당 모델 : ROI ROTATE 이용.    -> ROI Rotate -> Text Recognition Branch  -> Predicted Texts

 

 

<<<BackBone>>>

BackBone = ResNet-50

- Feature Map 을 1/32 사이즈가 아닌 1/4 사이즈로 구성함. (upsampling) // 얇게 쓰여진 글씨를 고려함.

 

 

<<<DETECTION>>>

BackBone (Shared Feature Map) 을 거치고 온 1/4 사이즈의 Feauture Map 에

(Dense per-pixel predictions of words) Convolution Filter 를 한 개 적용시킨다. 

 

픽셀 당 6개의 채널이 생기며(뇌피셜) 

첫번째 채널에는 텍스트의 유무에 따른 확률값 / 4개의 채널에는 상단,하단,왼쪽단,오른쪽단 까지의 거리 / 마지막 채널에는 BB의 각도를 나타낸다.

 

박스 후보군은 1. Thresholing , 2. NMS 를 거치고 나온다.

이 후 OHEM 을 적용한다. (2%의 F-Measure 향상 / ICDAR 2015) : Class Imbalance (positive / negative samples) 문제 해결.

 

 

OHEM :

data 에서 positive 와 hard negative example 로 data를 필터링하고 학습.   

Hard-negative sample 은 각 anchor box 중 score 가 높게 나왔으나 GT 가 음성인 (배경사진) 후보군을 의미한다. 

 

FOCAL LOSS : 

GT 가 1인 경우 = 

P(확률)이 높게 나온 경우 -> 더 쉬운 샘플, 더 적은 가중치를 줌.

P(확률)이 낮게 나온 경우 -> 더 어려운 샘플, 더 큰 가중치를 줌.

 

GT 가 0인 경우 =

P(확률)이 높게 나온 경우 -> 더 어려운 샘플, 더 큰 가중치를 줌.

P(확률)이 낮게 나온 경우 -> 더 쉬운 샘플, 더 작은 가중치를 줌.

 

OHEM 보다 일반적으로 성능이 더 좋다고 한다. Retina-Net 에서 제안됨.

 

 

---- One-stage Detector 에서는 영상 전체에서 후보가 매우 많이 나온다. (Class Imbalance 가 심함) -----

따라서 OHEM , Focal Loss 등으로 해결해주어야 함.

 

Detection 전체에 대한 Loss Function = Classfication Loss + Regression Loss

-Classification Loss-

마지막 줄은 오타가 아닐까 생각이 든다. 

-Regression Loss-

cos() 함수는 cos(theta1 - theta2) 의 오타인듯.

 

 

<<<ROI ROTATE>>>

논문에서 제시한 ROI ROTATE 수식
ROI ROTATE 에 대한 분석 * Affine TransFormation *

- 높이를 8로 고정시키고, 가로를 가변적으로 만들며, 오른쪽에 패딩을 두는 구조로 Rotate함.

 

 

 

ROI ROTATE 는 기존의 방식인 ROI POOLING 과 ROI ALIGN 에 비해 몇가지 이점을 가진다.

ROI POOLING 은 RRPN 모델에서 제시되었는데, 최대풀링을 통해 회전 영역을 고정 크기 영역으로 변환한다.

반면에, ROI ROTATE는 출력 값을 계산하기 위해 이중 선형 보간법을 사용한다.

 

-Bilinear Interpolation (이중 선형 보간법) 이용. -> 출력 형상의 길이를 가변적으로 만든다. (텍스트에 적합함.)

= 선형보간법을 x축과 y축으로 두 번 적용하여 값을 유추하는 방법.

 

Oriented Text Region Box -> Canonical Box

 

*Proposal 된 원본의 Bounding Box 부분을 ROI ROTATE -> Recognition 하는 것이 아니라, Feature Map을 ROI ROTATE 함.*

 

 

(9) AffineTransformation , (10) Bilinear Interpolation

 

Bilinear Interpolation 예제. 상단의 식에서 k() 이다.

 

<<<RECOGNITION>>>

(VGG , Pooling with reduction along height axis only) -> BiLSTM -> FL ->  CTC decoder 

 

Recognition Branch 의 구조. 

 

CTC 수식 / Recognition Loss / 전체 Loss

-----------------------------------------------------------------------------------------------------------------------------------

논문내에서 더 읽어보고 추가해야 할 내용 

1. Recognition 보강.

2. 다른 모델들과의 비교.

3. 2-stage Model 과의 비교 // 2-stage 에서의 실패 case 들과 Unified Network 를 가진 FOTS 가 이 case 들을 극복한 이유.

4. S,W,G // End-to-End 와 Word Spotting 정확한 차이

 

 

 

 

 

 

 

참고한 동영상 : www.youtube.com/watch?v=hOFViMbYnrs&ab_channel=SoyeonKim