Focusing Attention: Towards Accurate Text Recognition in Natural Images

Inc Lomin's avatar
Aug 01, 2019
Focusing Attention: Towards Accurate Text Recognition in Natural Images

Paper Info

CVPR 2017
notion image

Goal of The Paper

Scene Text Recognition 태스크에 대한 접근법 중 attention 기반 방법들에서 공통적으로 발생하는 인코딩 벡터에 대한 attention의 부정확한 문제를 해결하기 위한 방법을 제시

Contribution

  1. Attention이 부정확한 문제를 처음으로 주목하여 이 문제를 attention drift라 정의하고 그 원인을 씬의 복잡함, 저화질 등에 기인한 것으로 추정함.
  1. attention drift 문제를 해결하기 위해서 기존의 attention network에 추가적으로 attention을 보정할 수 있는 모듈, Focusing Network를 제안함. FN은 기존의 attention network에 character 레벨의 supervision loss를 주는 것이 핵심.
  1. 기존 방법 대비 SOTA를 달성

Proposed Methods

Attention Drift Problem

Attention 기반의 recognition에서 attention 영역을 visualization 해보면, 일부 이미지에서 현재 출력과 입력 영상에서의 attention 영역이 일치하지 않는 문제가 자주 발생한다. 이 문제를 이 논문에서는 attention drift라 명명하고, 이를 바로 잡을 수 있는 방법을 제안한다.
(a) attention drift가 발생한 기존 방법 (b) 제안한 Focusing Network에 의해 개선된 attention 결과
(a) attention drift가 발생한 기존 방법 (b) 제안한 Focusing Network에 의해 개선된 attention 결과

The FAN(Focusing Attention Network) Method

제안 방법은 기존의 attention 기반 recognition 과 동일한 Attention Network(AN)과 그 위에 추가된 Focusing Network(FN)로 구성됨.

Attention Network (AN)

이 부분은 기존의 attention 기반 논문 설명으로 대체.
 
제안 논문의 FN에서 사용되는 수식 정리
Glimpse Vector
h는 입력 영상의 feature sequence, alpha는 attention weight, g는 h의 weighted sum으로 계산되는 Glimpse Vector로서, 디코더의 t번째 스텝의 입력으로 사용됨.
notion image
Attention Loss
t번째 출력의 ground truth y의 확률분포가 maximize 되도록 loss를 정의
notion image

Focusing Network (FN)

notion image
FN의 기본 전략은 입력 feature vector의 attention 영역의 center point c_t를 구한 후, c_t 주변의 피쳐벡터에 attention이 되도록 character 레벨의 supervision loss를 주는 것임.

Computing attention center

L번째 CNN 레이어서 L-1번째 레이어의 receptive field의 바운딩 박스 r을 구하는 식은 다음과 같다.
notion image
위 수식을 이용하면, t번째 스텝에서 j번째 입력 feature vector h_j의 입력영상에서의 receptive field를 구하고, 해당 영역의 center를 attention center로 선택한다.
notion image
위 수식에서 location 함수는 h_j로부터 receptive field의 center를 구하는 함수를 의미한다.
결국, t번째 디코딩 스텝에서의 attention center는 각 feature vector의 attention weight와의 weighted sum으로 구할 수 있다.
notion image

Focusing attention on target regions

입력 영상 또는 입력영상의 feature map에서 attention 영역의 patch를 P_H, P_W 크기로 crop 한다.
notion image
잘라낸 패치로 부터 energy distribution을 다음과 같이 구한다.
notion image
위 수식에서 R, S, b는 모두 trainable 파라미터들이다. 위 수식은 glimpse vector와 attention 영역의 (i.j)번째 feature 값의 energy 크기를 나타낸다.
잘라낸 패치의 각 위치 (i,j)에서 클래스별 확률분포는 다음과 같이 구한다.
notion image
위 확률 분포와 실제 문자의 character 레벨 위치 GT를 비교하여, focusing loss를 다음과 같이 계산한다.
notion image
위 로스는 캐릭터 레벨 GT가 존재하는 경우에만 사용한다.
FN 네트워크는 오직 학습에만 이용되고 inference에는 사용되지 않는다.

FAN Training

notion image
FAN 네트워크 구조는 위 그림과 같다. 전체 loss function은 다음과 같다.
notion image
이 때 람다는 0과 1사이의 값으로 두 loss의 weight를 결정한다.

Performance Evaluation

notion image
위 실험에서 제안 방법의 람다는 0.01을 사용하였다. 학습 영상은 8-million synthetic data without pixel-wise labeling / 4-million synthetic data with pixel-wise labeling으로 구성되었다.
제안 방법은 기존의 방법을 큰 차이로 넘어서는 성능을 달성하였다. 베이스라인은 resnet 기반으로 구현된 AN 이다.
notion image
notion image
NED 메트릭은 ICDAR competition에서 사용된 메트릭으로 위 표를 참조한다. 제안 방법이 베이스라인에 비해 매우 큰폭으로 향상됐음을 알 수 있다.

The Effect of Parameter λ

FN 네트워크에 의한 loss 비중을 결정하는 람다는 0.01일 때가 가장 큰 효과를 보여주었다.
notion image

The Effect of Pixel Labeling

문자 단위 라벨링의 비율이 성능에 미치는 정도를 비교한 결과는 다음과 같다.
notion image
단 1%의 supervision 만으로도 많은 성능 개선이 나타난다는 것을 알 수 있다.
 

My Opinion

  1. 제안 방법은 attention의 정확도를 높이기 위해 일종의 semi-supervision을 적용한 방법이다. 결과를 보면, 아주 소량의 character-level supervision 으로도 꽤 높은 성능을 보여준 것이 매우 고무적이다.
  1. attention center를 계산할 때, 각 feature vector들의 센터 포인트들의 weighted sum으로 계산을 하는데, 사실 attention은 영상에서 한군데 지점이 아닌 여러 군데 지점에 분산되어 있을 수 있다. 따라서, 단순히 weighted sum으로 센터를 구하고, 이 센터가 타겟 문자 위에 있도록 하는 것이 반드시 성능 향상에 부합하는 방향은 아닐 수 있다. 경우에 따라서는 여러 군데의 attention center가 존재하는 경우를 상정한 attention center 추정이 필요하다.
 
 
Share article