EAST: an efficient and accurate scene text detector (CVPR 2017)


  • 논문 제목: EAST: An Efficient and Accurate Scene Text Detector
  • 연구 기관: Megvii



Word box detection 의 정확성을 높이는 기술에 촛점을 맞춘 연구 논문이다 (인식 기술 자체는 본 논문의 연구 대상이 아니다). 저자는 지금까지의 word box detection 은 많은 프로세스 단계를 거쳐야 하므로, error propagation 문제가 있음을 지적하고 있다 (아래 그림에서 다른 기술들과 본 기술의 프로세스 구조를 비교하고 있다). 본 연구에서는 3 단계 프로세스 만으로 가장 우수한 multi-oriented word box detection 성능을 확보하였다고 주장하고 있다 (아래 그림 (e) 가 저자가 제안하는 기술 구조이다). Multi-oriented word box detection 은 문자열이 가로 방향이 아닌, 임의 방향으로 존재하여도 문제없이 검출하는 것을 의미한다 (가로 방향만 검출하는 것은 horizontal box detection 이다).




[ Data Annotation ]


Word 를 둘러싸는 임의 형태 사각형의 꼭지점 (직사각형 아님, 아래 그림 (a), 노란색 점선은 word 크기에 딱 맞는 사각형이며, 녹색 실선은 margin 을 두어 크기를 줄인 사각형), 임의 형태 사각형의 안쪽 영역을 나타내는 text score map (일종의 heat map, 아래 그림 (b)), 임의 형태 사각형을 둘러싸는 가장 작은 크기의 직사각형 (아래 그림 (c) 의 분홍색 선), heat map 영역 내의 각 포인트에서 직사각형 4변 까지의 거리 (아래 그림 (d)), 직사각형이 기울어진 각도 (아래 그림 (e)) 를 ground truth annotation 정보로 만들고 이를 추정한다. 임의 형태 사각형 정보는 word 크기에 딱 맞는 사각형 (아래 그림 (a) 노란색 점선) 및 margin 을 두고 축소시킨 사각형 (아래 그림 (a) 초록색 실선) 정보가 존재한다. 축소된 사각형 내의 영역에 대해 text score map, angle 및 disance 정보를 할당한다.




위 그림에 나타난 annotation 구조의 geometry design 정보는 아래 테이블과 같다.



  • AABB (Axis-Aligned Bounding Box) R
    • 임의 형태 사각형 내의 각 포인트에서 직사각형 4변 까지의 거리 정보
    • 상기 Figure 4 의 (d)
  • RBOX (Rotated Box)
    • AABB 정보와 직사각형의 기울어진 각도 정보
    • 상기 Figure 4 의 (d) 및 (e)
  • QUAD Q
    • 임의 형태 사각형 내의 각 포인트에서 임의 형태 사각형 4개 꼭지점까지의 좌표 차이
[ Network Architecture ]



네트워크 구조는 fully convolutional network 구조를 채택하였으며, 다양한 크기의 문자 검출을 위해 U-Net 구조와 유사한 feature merging layer 를 배치하였다. 마지막 conv. 레이어 (상기 그림의 conv stage 4) 이 후, activation map 을 2 배씩 unspooling 하면서 하위 레이 출력과 concatenation 하고 channel 수 축소를 위한 1x1 convolution 및 feature extraction 을 위한 3x3 convolution 을 반복적으로 수행한다. Convolution layer 가 증가할 수록 activation map 크기가 작아지므로 (그에 반해 activation map point 1 개의 receptive field 는 커지므로),  입력 영상에서 검출하고자 하는 객체의 크기가 작을 수록 검출이 어려워진다. 위 그림과 같이 하위 레이어의 feature 정보를 최종 feature 정보에 반영함으로써 다양한 크기의 객체 검출 성능을 향상시킬 수 있다. 최종적으로는 상기 'Data Annotation' 에서 설명한 text score map, RBOX 및 QUAD geometry 정보들을 출력하는 predictor 를 배치하였다. Network backbone 으로는 PAVNET 및 VGG-16 을 채택하여 실험하였다.


참고로, U-Net 과 FPN (Feature Pyramid Network) 의 차이는 하위 레이어 feature 를 현재 레이어 feature 와 통합할 때, 'concatenation' 하느냐, 'adding' 하느냐의 차이 이다.

전체 손실 함수는 아래와 같이 score map loss (Ls) 와 geometry loss (Lg) 로 구성된다. Lambda 는 각 손실에 대한 가중치를 조정하는 hyper-parameter 이다. 본 연구에서는 1로 설정하였다


[ Score Loss ]

Score loss 는 positive-negative 로 구성되는 score map 을 정확하게 추정하기 위한 loss 이다. 대부분의 object detection task 에서는 'balanced' positive-negative sampling 및 hard negative mining (negative sample 중 score 가 낮은 것들을 추려서 학습에 반영하는 것. 이렇게 하는 이유는 negative sample 중 score 가 높은 것은 positive sample 과의 변별력을 떨어뜨릴 수 있기 때문이다.) 을 통해 'imbalanced' object distribution 문제를 해결하고 있다. 이러한 과정은 non-differentiable process 를 포함할 뿐 아니라, 처리 단계를 증가시므로 error-propagation 과 같은 문제를 유발할 수 있다. 이러한 단점을 보완하기 위해, 본 연구에서는 score map loss 에 positive-negative sampling balance 를 자동 설정할 수 있는 balanced cross entropy loss 를 적용하였다. Balanced cross entropy loss 는 positive sample 뿐 아니라 negative sample 도 loss 에 반영하며, 이 때, positive-negative sample 의 비율을 고려하여 cross entropy 항목의 가중치를 설정하는 방법이다. 아래 수식에서  beta 는 positive sample 에 대한 가중치로써, 전체 면적 중 negative sample 이 차지하는 비율이다 (Positive sample 가중치에 negative sample 면적 비율을 설정하는 이유는 negative sample 면적이 더 넓으나, 중요도는 positive sample 이 더 높기 때문인 것으로 보인다). 이러한 loss 설정은 non-differentiable process 를 제거하는 효과도 있다.



[ Geometry Loss ]

Geometry loss 는 임의 사각형의 4개 꼭지점을 정확하게 추정하기 위해 RBOX 및 QUAD 정보에 설정하는 loss 이다. 꼭지점의 위치에 대한 L1 또는 L2 distance measure 를 적용할 경우, 문자 크기가 큰 샘플의 loss 가 문자 크기가 작은 샘플에 비해 상대적으로 커지므로, 작은 문자를 잘 인식하지 못할 수 있다. 따라서, scale-invariant 특성을 가지는 geometry loss 설정이 필요하다. 이를 위해 본 연구에서는 AABB 추정에 IoU (Intersection of Union)  및 RBOX angle 기반의 loss function 을 정의하였다. 아래 수식에서  는 AABB geometry 추정값, 는 AABB geometry ground truth value, 는 RBOX angle 추정값,  는 RBOX angle ground truth,  는 AABB IoU loss 및 RBOX angle loss 에 대한 상대적 가중치이다. 본 연구에서 가중치는 10으로 설정하였다.




상기 AABB 및 angle loss 외에, QUAD 정보에 대한 loss 를 추가로 정의하고 있다. 아래 수식과 같이 QUAD loss 는 임의 사각형의 꼭지점 좌표에 대한 추정 오차이다. 좌표 추정 오차는 smoothed L1 loss 로 정의하며, 임의 사각형의 4 변 길이 중 가장 짧은 길이로 normalization 한다. Normalization 이 있으므로, 사각형의 크기가 큰 것과 작은 것의 loss scale 을 유사하게 설정하여, 사각형 크기에 따른 상대적 가중치가 발생하지 않는다. 아래 수식에서 Q 는 위의 'Figure 4 (c) 의 녹색선' 사각형이다. PQ 는 ground truth Q 의 4개 꼭지점 순서를 임의로 설정한 모든 조합이다 (DB 마다 꼭지점 좌표 annotation 순서가 달라서 수식의 일반화를 위해 설정하였음). NQ* 는 (margin 을 두고 크기를 줄인) 임의 사각형의 4 변 중 가장 짧은 변의 길이이다.




[ Locality Aware NMS (Non-Maximum Suppression) ]

Row by row scanning 하면서 positive pixel merge 하여 최종 text box 를 설정한다. (이웃한 픽셀은 상관관계가 높을 것이라는 가정이 전제하고 있다.)


[ 실험 결과 ]

사용 DB 는 아래와 같다.

  • ICDAR 2015
    • 1000 images training, 500 images testing
    • Google Glass 로 촬영 -> motion blur, 저해상도
    • Annotation : 4 vertices of the quadrangle 로 구성 (본 논문의 QUAD 와 동일)
    • QUAD 를 감싸는 최소 면적의 rotated rectangle 생성
    •  -> RBOX (ICDAR 에는 RBOX label 없음) 
    • ICDAR 2013 의 229 training image 도 학습에 활용 (총 1229 image 학습)
  • COCO-text
    • 43,686 training, 20,000 testing
    • Axis-aligned bounding box (AABB) 형식으로 레이블링
  • MSRA-TD500 
    • 300 training images and 200 test images. 
    • English and Chinese 
    • RBOX annotation
    • HUST- TR400 datase [39] 추가 (400 이미지)

Qualitative result




Quantitative result






Comments

Popular posts from this blog

Towards Accurate Multi-person Pose Estimation in the Wild (CVPR 2017)

Realtime multi-person 2d pose estimation using part affinity fields (CVPR 2017)