on
Robust Scene Text Recognition with Automatic Rectification
Robust Scene Text Recognition with Automatic Rectification
Abstract
자연의 이미지에서의 문자인식은 해결하지 못한 문제로써 해결해내야하는 과제이다.
문서와 달리 자연 이미지의 단어는 원근 왜곡, 곡선 문자 배치 등으로 인해 불규칙한 형태를 띄는 경우가 많다.
그래서 본논문은 불규칙한 텍스트에 강한 모델인, RARE를 제안한다.
RARE는 Spatial Transformer Network (STN)과 Sequence Recognition Network (SRN)를 포함하는 딥러닝 네트워크로 디자인되었다.
테스트에서 이미지는 먼저 예측된 Thin-Plate-Spline(TPS) 변환을 통해 먼저 수정되고, SRN을 통해서 더 읽기 쉬운 이미지가된다.
제안하는 모델을 통해서 원근적이거나 구부러진 텍스트를 포함하는 여러 형태의 불규칙한 텍스트를 인식할 수 있게 한다.
RARE는 이미지와 관련한 라벨링만을 필요로하여 end-to-end 학습이 가능하기때문에 실제적인 시스템에서 학습하고 적용시키는 것이 편리하다.
제안하는 모델을 통해서 여러 벤치마크에서 높은 성능을 선보였다.
Introduction
자연적인 장면에서 텍스트는 여러종류의 물체에서 나타난다. (ex, road signs, billboards, and product packaging)
이것은 이미지를 이해함에 있어서 높은 수준의 정보를 전달한다.
이미지에서 문자인식을 하는것은 지리 위치, 무인 자동차 및 이미지 기반 기계 번역과 같은 실제사용하는 많은 어플리케이션을 용이하게 한다.
이러한 이유들로, 장면 문자인식은 커뮤니티로부터 큰 관심을 끌었다.
OCR에 대한 어느정도 성장한 연구가 있음에도 불구하고, 스캔한 문서보다 자연이미지에서의 문자인식은 여전히 해결해야하는 문제이다.
장면 문자 인식은 조명에 따라 큰 변화를 보인다.(ex, motion blur, text font, color)
게다가 야생에서의 문자는 불규칙적인 형태를 가지고 있다.
예를 들어 몇몇의 scene text는 카메라 앵글로 인한 원근감이 있는 문자이며, 몇몇은 구부러진 형태이다. 이것은 그 특징들이 직선이 아닌 곡선을 따라 배치된다.
우리는 이런 텍스트를 불규칙한 텍스트라고 한다.
보통 문자인식기는 입력이미지가 촘촘히 짜여진 문자를 포함할때 좋은 성능을 낸다.
이것이 본논문에서 인식기가 더 잘 읽을 수 있게 입력 이미지를 바로 잡을 수 있게하기 위해 인식전에 spatial transformation을 적용하는 것에 동기부여가 됐다.
본논문에서는 불규칙한 문자에 강한 인식 기법을 제안한다.
Spatial Transformer Network(STN)과 Sequence Recognition Network(SRN)을 결합한 딥러닝 네트워크로 구성하였다.
STN를 통해 입력이미지는 공간적으로 변형되어 수정된 이미지가 된다.
이상적으로 STN은 SRN에 입력하기위한 더 적절한 규칙적인 텍스트를 만들어낸다.
그 변형은 TPS 변형으로, 비선형성을 통해 원근법 및 곡선 텍스트를 포함한 다양한 유형의 불규칙적인 텍스트를 수정할 수 있다.
TPS 변형은 좌표가 컨볼루션 신경망에 의해 회귀되는 일련의 기준점에 의해 구성된다.
규칙적인 문자를 포함하는 이미지에서 특징들은 수평의 라인으로 정렬되어 있다.
이것은 순차 신호와 어느 정도 유사하다.
이러한 점에서 동기부여를 받아서 SRN의 경우 시퀀스 인식 접근법에서 텍스트를 인식하는 attention-based 모델로 구성했다.
SRN은 encoder와 decoder로 구성된다.
입력이미지가 주어지면 encoder가 특징벡터들의 순서인 순차적인 특징 표현을 만들어낸다.
decoder는 주기적으로 각 단계에서 attention 메커니즘에 의해 결정되는 관련 내용을 디코딩하여 입력 시퀀스에 대한 문자 순서 조절을 만들어낸다.
본논문에서는 적절한 초기화를 통해서 전체모델이 end-to-end로 학습될 수 있음을 보여준다.
결과적으로 STN의 경우 어떠한 위치적인 정답값(TPS의 기준점의 위치)을 라벨링할필요는 없고, 역전파된 오류의 차이에 의해서 학습이 감독되게한다.
실제적으로 학습은 결국 STN이 SRN에 바람직한 입력인 규칙적은 텍스트를 포함하는 이미지를 만들어내는 경향이 있게만든다.
본논문의 contrbution은 세가지로 요약할 수 있다.
1. 불규칙한 텍스트에 강한 새로운 scene text recognition 방법을 제안한다.
2. RARE는 attention-based model과 함께 STN 프레임워크를 확장하였다. 원래의 STN은 일반적인 CNN에서만 테스트되었었다.
3. SRN의 encoder에 convolutional-recurrent structure를 적용하였다. attention-based model의 새로운 변형이다.
Proposed Model
전반적으로 모델은 입력이미지 Ⅰ를 가지고 시퀀스 l = (l1, . . . , lT )를 출력한다. (lt 는 t-th character, T는 변화하는 문자열 길이이다.)
1. Spatial Transformer Network
STN은 예측된 TPS 변형으로 입력이미지Ⅰ를 수정된 이미지 Ⅰ' 로 변형시킨다.
위 그림과 같이, 먼저 localization 네트워크를 통해 기준점들의 집합을 예측한다.
그 다음 grid generator 안에서 Fiducial Points로부터 TPS 변환 파라미터를 연산하고 입력이미지의 sampling grid를 생성한다.
Sampler는 grid와 입력이미지 두개를 가지며, grid points 샘플링에 의해 수정된 이미지Ⅰ' 를 만들어낸다.
STN의 차별적인 특성은 샘플러를 구별할 수 있다는것이다.
그러므로 구별할수있는 localization network와 grid generator를 가지면, STN은 오류의차이를 역전파시키고 학습시킬수 있다.
① Localization Network
localization network는 x,y 좌표를 직접적으로 회귀함으로써 K fiducial points의 위치를 알아낸다.
여기서의 상수 K는 짝수이다.
(1) (2)
좌표는 (1)과 같은 식으로 표기된다. k번째 열(2)는 k번째의 fiducial point의 좌표들을 포함한다.
xk, yk가 [-1, 1] 범위 내에 있도록 이미지 중심이 되는 정규화된 좌표계를 사용한다.
regression을 위해서 CNN을 사용한다.전통적인 구조들에 비슷하게 CNN은 convolution layer, pooling layer, fc-layer들을 포함한다.그러나 본논문에서는 regression을 classification을 대신해서 사용한다.마지막 fully-connected layer인 출력층을 위해 출력 노드의 수를 2K로 설정하고 활성화 함수를 tanh(·)로 설정하고 출력 벡터의 값이 (-1, 1) 범위 내에 있도록 한다.마지막으로 출력 벡터느 C로 재형성된다.
네트워크는 전반적인 이미지의 문맥들을 기반으로 fiducial points의 위치를 알아낸다.이것이 입력이미지의 전체적인 텍스트 형태를 캡쳐하는 것을 기대하며 이에따라 fiducial points의 위치를 알아낸다.어떠한 샘플에도 fiducial points의 좌표에대해 주석을 달지 않는것을 강조해야한다.대신, localization network의 학습은 역 전파 알고리즘에 따라 STN의 다른 부분에 의해 전파되는 gradients에 의해 완벽하게 감독된다.
② Grid Generator
grid generator는 TPS변형 파라미터들을 추정하고 sampling grid를 발생시킨다.
먼저 또다른 fiducial points의 집합을 정의하고 이것을 base fiducial points라고 부르며 &&C;^{'} = [c _{1} ,...,c _{K} ] \in R ^{2 X K}&&으로 표기한다.
위 그림처럼, base fiducial points는 수정된 이미지의 상하단 가장자리를 따라 고르게 분포된다.
K가 상수이고 좌표계가 정규화되었으므로 C'은 항상 상수이다.
(3) (4) (5) (6) (7) (8)
TPS 변형의 파라미터는 $$T\in R^{2X(K+3)}$$의 행렬로 표현되며 (3)에 의해 연산되고 $$\bigtriangleup _{C'}$$은 (4)와 같은 행렬이며 이또한 상수이다.R의 i번째 행과 j번째 열에 있는 원소는 (5)이며, di,j는 c'i와 c'j 사이의 유클리디안 거리이다.
수정된 이미지의 grid의 픽셀은 (6)과 같이 표기되고, (7)은 i번째 픽셀의 x,y좌표이고, N은 픽셀의 수이다.수정된 이미지의 모든 (7)은 아래와 같은 변형을 적용해서 Pi와 상응하는 것을 찾았다.
di,k는 (7)과 k번째 base fiducial point 사이의 유클리디안 거리이다.
(6)의 모든 포인트들의 반복함으로써 입력이미지에서 grid (8)을 만들어낸다.
grid generator는 그것의 두 행렬 곱셈은 둘 다 미분 가능하기 때문에 gradient들을 역전파할수있다.
③ Sampler
(9)
마지막으로 Sampler에서 픽셀값(7)은 입력이미지의 근처 Pi로부터 양선형 보간된다.
모든 픽셀값들을 세팅함으로써 수정된 이미지 (9)를 얻는다.
(9)에서 V는 bilinear sampler를 의미하며, 미분가능한 모듈이다.
TPS 변형의 유연성은 불규칙한 텍스트 이미지들을 규칙적인 텍스트를 포함하는 수정된 이미지로 변형하게 한다.
위그림과같이 몇몇의 흔한 유형을 보여준다.
a)는 텍스트검출의 불완전함을 유발하는 늘어지게 쓰여진 텍스트이다.
b)는 수평적이지않은 카메라의 시선이 원인인 다중 지향 텍스트이다.
c)는 측면시선의 카메라 각도가 원인인 원근적인 텍스트이다.
d)는 예술적 스타일로 흔하게 보이는 구부러진 텍스트이다.
STN은 이러한 불규칙한 텍스트들을 포함하는 이미지를 recognizer가 더 잘 읽을 수 있게 수정할수 있게한다.
2. Sequence Recognition Network
목표가 되는 단어들은 본질적으로 글자들의 순서이기 때문에,
from http://sim-deeplearning.tistory.com/17 by ccl(A) rewrite - 2021-11-06 16:26:48