•
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로 정의하며, 이 함수를 최적화하는 것이 학습의 방향