예측하고자 하는 정보
객체의 특징
사각형 종류들
직사각형
직사각형 + 각도
사각형
다각형
Human Detection
Software 1.0
사람이 개입해서 만든 HOG라는 영역 대신 MSER, SWT와 같은 특징추출 방식을 사용하였다.
또한 MSER 뿐만 아니라 다른 연산들도 연속적으로 사용하여 글자 영역을 검출하였다.
따라서 software 1.0은 많은 모듈들이 결합되어 있는 구조이기 때문에 전체 파이프라인 복잡도가 높다.
반면, 2.0에서는 파이프라인의 단순화와 사람의 개입을 모두 줄일 수 있으며, 성능 또한 높일 수 있었다.
Regression-based
이미지를 입력으로 받아 글자 영역을 표현해주는 값을 바로 추정하는 것
TextBoxes’18
Segmentation-based
이미지를 입력으로 출력 값이 화소단위의 정보가 되는데, 이 정보는 간단한 후처리를 통해 최종 글자 영역 표현값들이 확보가 가능한 정보이다.
PixelLink’18
화소 단위로 뽑는 정보가 각 화소 별로 글자 영역에 속할 확률을 추출한다.
또한, 어떤 한 화소가 글자 영역에 속하면 그 주위에 8개에 인접한 화소도 글자 영역에 속하는지에 대한 정보도 추출한다.
화소 단위 정보를 추출한 뒤에는 후처리를 통해서 최종 글자 영역 표현 값들을 확보한다.
단점
hybrid
Regression-based로 대략의 사각영역을 추출 + Segmentation-based로 해당 영역에서 최소 정보 추출
MaskTextSpotter’18
Character-Based Methods
Word-Based Methods
일종의 Segmentation 기반의 방법으로 AI 모델을 통해서 화소 단위 정보를 추출하고, 후처리를 통해 글자 영역을 검출한다.
네트워크가 2가지 정보를 pixel-wise로 출력
각 화소가 글자 영역 중심에 해당하는지 : score map
어떤 화소가 글자 영역이라면 해당 bounding box의 위치는 어디인지 : geometry map
Architecture
전체적으로 보면 Segmentation의 base가 되는 U-net 구조로 볼 수 있다.
크게 3가지로 구성되어 있다.
Feature extractor stem(backbone)
Feature merging branch
Output
화소 단위 정보를 만들어주는 부분
Score Map
Geometry Map
어떤 화소가 글자 영역이라면 해당 Bounding box의 위치가 어디인지 나타낸다.
RBOX(rotated box) 형식
만약 글자 영역을 RBOX라고 표현한다면 회전각도와 각 box의 4개 경계선까지의 거리를 예측한다. → 5 channels
각도 값의 경우, 글자 중심 영역의 모든 화소와 연관되어 있는 bounding box는 하나이고, 이 각도 값을 라 할 수 있다.
사각형에 대한 정보 중 첫 번째 channel은 글자 중심 영역의 어떤 화소에서 해당 bounding box의 좌변까지의 거리 값으로 값을 채울 수 있다. → 좌변에서 멀어질수록 큰 값을 가지게 된다.
두 번째 channel은 글자 중심 영역 화소에서 bounding box의 우변까지의 거리 값으로 채운다.
세 번째와 네 번째 channel은 각각 상변과 하변까지의 거리 값으로 채운다.
종합해보면, 글자 중심 영역의 화소 위치에서 5개의 channel에 해당하는 값을 채워넣는데, 각도 값과 bounding box까지의 거리로 채워넣는다.
QUAD(quadrilateral, 좌표 4개) 형식
이렇게 화소 단위 정보를 획득한 다음에는 후처리를 통해 글자 영역의 표현값을 계산해야 한다.
score map을 임계치를 통해 이진화를 한다.
사각형의 좌표 값을 복원한다.
Locality-Aware NMS
Training
Loss
전체 loss function : loss for score map + loss for geometry map
: score map Loss
예측 확률값과 GT의 값에 대한 Loss
논문에서는 Class-balanced cross-entropy를 사용하였다.
하지만 베이스 코드에서는 세그멘테이션에서 자주 사용하는 Dice-coefficient를 사용하였다.
교집합은 element wise 로 곱하는 것으로 구현하였으며 절대 값은 score의 합으로 계산하였다.
: Geometry map
사각형의 정보에 해당하는 Loss와 각도 값에 해당하는 Loss 값으로 최종 Loss를 계산한다.
: 사각형의 정보에 해당하는 Loss
각도 값에 대한 Loss인 경우 Cosine 기반의 Loss를 이용한다.
학습된 모델 성능 평가
F-score & Speed
PVANet을 backbone으로 사용한 경우 Real-time 수준은 아니지만 빠른 속도를 보인다
또한, LA-NMS의 속도 개선은 효과적이다.