CRAFT 모델

Localization Model
문자들이 위치한 곳을 정확하게 인식하는 모델
Character Region Awareness for Text Detection
NAVER의 Clova AI 연구팀에서 2019년에 발표한 Scene Text Detection 관련 눈문

구조

1.
Main-architecture: U-Net
2.
Backbone: VGG-16 (Batch Normalization 적용)
3.
Detection-target: Character, Word, Text
4.
Output: 2 channel Output → pixel-wise [Region score, affinity score]
논문 제시 구조
Github 코드 기준 구조
Fully Convolutional network architecture
VGG-16을 기반으로함
CRAFT 모델의 출력은 Classification이 아닌 Image 형태이기 때문에 기존의 VGG-16을 Fully ConvNet으로 변형해 사용
Batch normalization을 사용함
U-net처럼 UpConv를 통해 Low-level 특징을 집계하여 예측함

Segmentation-based 네트워크 구조

Batch-Norm이 포함된 VGG-16 모델을 네트워크의 기본 뼈대로 구성
U-Net처럼 얕은 레이어의 특징 맵을 깊은 레이어의 특징 맵과 결합하는 방식을 통해 Segmentation 정확성을 높임.

모델의 목적

입력 이미지에 대해 픽셀마다 Region score, Affinity score 예측하는 것
Region score: 해당 픽셀이 문자의 중심일 확률
Affinity score: 해당 픽셀이 인접한 두 문자의 중심일 확률 → 해당 점수 기반으로 개별 문자를 한 단어로 그룹화할지 결정

Ground-Truth Labeling

정답 레이블 만드는 방법
문자 단위(Character-level)의 경계상자(Bounding-Box)만 결정되면 Region Score map과 Affinity Score map 계산 가능
Region Score Map 생성
1.
2차원 isotropic Gaussian map을 준비한다.
2.
이미지 내의 각 문자에 대해 경계상자를 그리고 해당 경계상자에 맞춰 가우시안 맵을 변형시킨다.
3.
변형된 가우시안 맵을 원본 이미지의 경계상자 좌표와 대응되는 위치에 해당하는 Label Map 좌표에 할당한다.
Affinity Score Map 생성
Character boxes 활용
1.
문자(Character) 경계 상자에 대각선을 그엇을 때 생기는 위쪽 삼각형과 아래쪽 삼각형으로부터 각 중심점을 구할 수 있다. 하나의 단어에 포함되는 인접한 두 문자에 대해 삼각형 중심점을 이었을 때 만들어지는 사각형이 바로 Affinity box
2.
원본 이미지의 Affinity box 좌표에 대응되는 Affinity score map의 좌표에 경계 상자(Affinity box)에 맞춰 변형시킨 가우시안 맵을 할당

Loss Function

각 픽셀 p에 대한 Region score의 예측값 Sr(p)와 정답 Sr*(p)의 유클리드 거리 오차와 각 픽셀 p에 대한 Affinity score의 예측값 Sa(p)와 정답 Sa*(p)의 유클리드 거리 오차의 총합을 Loss로 정의하며, 이 함수를 최적화하는 것이 학습의 방향

레퍼런스 출처