반응형

[논문] : An End-to-End Trainable Neural Network for Image-based SequenceRecognition and Its Application to Scene Text Recognition

Baoguang Shi, Xiang Bai and Cong Yao

School of Electronic Information and Communications Huazhong University of Science and Technology, Wuhan, China

{shibaoguang,xbai}@hust.edu.cn, yaocong2010@gmail.com

 

2015. 07. 21

 

Abstract

Image-based sequence recognition은 항상 컴퓨터 비전에서 오랜 연구 주제였습니다. 이 논문에서는 image-based sequence recognition에서 가장 중요하고 어려운 작업 중 하나 인 scene text recognition 문제를 연구합니다. 새로운 신경망 아키텍처는 특징 추출, 시퀀스 모델링 및 변환을위한 통합 프레임 워크를 통합합니다.

feature extraction, sequence modeling and transcription => 통합 

이전 scene text recognition 시스템과 비교하여 제안 된 아키텍처에는 다음과 같은 네 가지 속성이 있습니다.

특이점 : 

(1) 구성 요소가 개별적으로 학습되고 조정되는 대부분의 기존 알고리즘과 달리 end-to-end 학습 가능합니다.

(2) 임의 길이의 시퀀스를 자연스럽게 처리하고 문자 분할이나 수평 확장 및 정규화를 포함하지 않습니다.(no character segmentation이나 horizontal scale normalization을 포함)

(3) 사전 정의 된 사전에 국한되지 않고 사전 및 사전없이 장면 텍스트 인식 작업에서 놀라운 성능을 달성했습니다.

(4) 효과적이고 훨씬 작은 모델을 생성하여 실제 적용 시나리오에 더 실용적입니다.

IIIT-5K, 스트리트 뷰 텍스트 및 ICDAR 데이터 세트를 포함한 표준 벤치 마크에 대한 실험은 제안 된 알고리즘이 기존 기술보다 우월함을 입증했습니다. 또한이 알고리즘은 이미지 기반 점수 인식 작업에서 잘 수행되므로 그 다양성을 분명히 확인할 수 있습니다.

 

1. Introduction

최근 컨퍼런스는 다양한 시각적 작업에서 심층 신경망 모델, 특히 Deep Convolutional Neural Networks (DCNN)의 대성공에 의해 신경망의 부활을 목격했습니다. 그러나 deep neural networks과 관련된 가장 최근의 연구는 객체 범주의 detection or classification of object categories [12, 25] 에 전념하고 있습니다 . 이 논문에서는 computer vision의 classic problem인 image-based sequence recognition에 중점을 둡니다. 현실 세계에서 안정된 시각적 개체 (예 : 장면 텍스트, 손글씨, 악보)는 분리 된 것이 아니라 시퀀스의 형태로 나타나는 경향이 있습니다. 일반적인 객체 인식과 달리 이러한 객체 시퀀스를 인식하려면 일반적으로 시스템에서 single labels가 아닌 일련의 object labels를 예측해야합니다. 따라서 이러한 객체의 인식은 자연스럽게 시퀀스 인식 문제가 될 수 있습니다. 순차 객체의 또 다른 고유 한 특성은 길이가 크게 달라질 수 있다는 것입니다. 예를 들어 영어 단어 'OK'는 "OK"와 같은 2 자 또는 "“congratulations"와 같은 15 자로 구성 될 수 있습니다. 따라서 DCNN 모델 [25,26]과 같이 가장 많이 사용되는 딥 모델은 시퀀스 예측에 직접 적용 할 수 없습니다. DCNN 모델은 일반적으로 fixed dimensions의 입력 및 출력에서 ​​작동하므로 variable-length label sequence를 생성 할 수 없기 때문입니다. =>DCNN의 단점 

object labels: Object labels are the smallest of the museum labels. Their scope is limited to the individual objects they are displayed next to.en.wikipedia.org/wiki/Museum_label

 

specific sequence-like object (e.g. scene text) 에 대해이 문제를 해결하기위한 몇 가지 시도가있었습니다. 예를 들어 [35, 8]의 알고리즘은 먼저 단일 문자를 감지 한 다음 DCNN 모델을 사용하여 이러한 감지 된 문자를 인식하고 DCNN 모델은 표시된 문자 이미지를 학습에 사용합니다. 이 방법은 일반적으로 원본 문자 이미지에서 각 문자를 정확하게 감지하고 자르기 위해 강력한 문자 감지기를 훈련해야합니다. 일부 다른 방법 (예 : [22])은 scene text recognition 을 이미지 분류 문제로 취급하고 각 영어 단어 (총 90K 단어)에 class label(범주 레이블)을 할당합니다. 훈련 된 모델에는 많은 클래스가 있으며, 이러한 기본 조합이 많고 ​​시퀀스가 ​​100 만 개를 초과 할 수 있기 때문에 중국어 텍스트, 악보 등과 같은 다른 유형의 순차적 객체로 일반화하기 어렵다는 사실이 입증되었습니다.  그렇기 때문에 , DCNN 기반의 현재 시스템은 이미지 기반 시퀀스 인식을 직접 사용할 수 없습니다.

[35] T. Wang, D. J. Wu, A. Coates, and A. Y. Ng. End-to-end text recognition with convolutional neural networks. In ICPR, 2012. 1, 6, 7

[8] A. Bissacco, M. Cummins, Y. Netzer, and H. Neven. Photoocr: Reading text in uncontrolled conditions. In ICCV, 2013. 1, 2, 6, 7

[22] M. Jaderberg, K. Simonyan, A. Vedaldi, and A. Zisserman. Reading text in the wild with convolutional neural networks. IJCV (Accepted), 2015. 1, 2, 3, 6, 7

 

RNN (Recurrent Neural Network) 모델은 주로 시퀀스를 처리하는 데 사용되는 심층 신경망 family의 또 다른 중요한 branch 입니다.

RNN의 한 가지 장점은 학습 및 테스트 중에 객체 이미지 시퀀스에서 각 요소의 위치가 필요하지 않다는 것입니다. 그러나 입력 객체 이미지를 이미지 특징 시퀀스로 변환하는 전처리 단계는 일반적으로 필수적이다. 예를 들어, Graves et al. [16]은 필기 텍스트에서 기하학적 또는 이미지 특징 세트를 추출하고 Su와 Lu [33]는 단어 이미지를 연속 HOG 특징으로 변환합니다. 전처리 단계는 파이프 라인의 후속 구성 요소와 독립적이므로 RNN을 기반으로하는 기존 시스템은 end-to-end 방식으로 훈련 및 최적화 할 수 없습니다.

[16] A. Graves, M. Liwicki, S. Fernandez, R. Bertolami, H. Bunke, and J. Schmidhuber. A novel connectionist system for unconstrained handwriting recognition. PAMI, 31(5):855–868, 2009. 2

[33] B. Su and S. Lu. Accurate scene text recognition based on recurrent neural network. In ACCV, 2014. 2, 6, 7

 

신경망을 기반으로하지 않는 몇 가지 전통적인 scene text recognition 방법도이 분야에 인상적인 성능을 가져 왔습니다. 예를 들어, Almazàn et al. [5]와 Rodriguez-Serrano 등 [30]은 단어 이미지와 텍스트 문자열을 공통 벡터 부분 공간에 삽입하고 단어 인식을 검색 문제로 변환하는 것을 제안했습니다. Yao 등 [36]과 Godot 등 [14]은 장면 텍스트 인식을 위해 중간 기능을 사용합니다. 표준 벤치 마크 테스트에서 우수한 성능을 달성했지만 이러한 방법은 일반적으로 이전 신경망 기반 알고리즘보다 성능이 뛰어납니다 [8, 22].

[23] M. Jaderberg, A. Vedaldi, and A. Zisserman. Deep features for text spotting. In ECCV, 2014. 2, 6, 7

[5] J. Almazan, A. Gordo, A. Forn ´ es, and E. Valveny. Word ´ spotting and recognition with embedded attributes. PAMI, 36(12):2552–2566, 2014. 2, 6, 7

[30] J. A. Rodr´ıguez-Serrano, A. Gordo, and F. Perronnin. Label embedding: A frugal baseline for text recognition. IJCV, 113(3):193–207, 2015. 2, 6, 7

[36] C. Yao, X. Bai, B. Shi, and W. Liu. Strokelets: A learned multi-scale representation for scene text recognition. In CVPR, 2014. 2, 6, 7

 

CRNN = DCNN + RNN

이 논문의 주요 기여는 네트워크 구조가 이미지에서 순차적 인 객체를 식별하는 데 특별히 사용되는 새로운 신경망 모델입니다. 제안 된 신경망 모델은 DCNN과 RNN의 조합이기 때문에 CRNN (Convolutional Recurrent Neural Network)이라고합니다. 순차 이미지의 경우 CRNN은 기존 신경망 모델에 비해 몇 가지 고유 한 장점이 있습니다.

1) detailed annotations (예 : 문자)없이 sequence labels (예 : 단어)에서 직접 학습 할 수 있습니다 .

2) DCNN에는 이미지 데이터에서 직접 정보가 나타내는 동일한 속성을 학습하려면 binarization/segmentation, component localization  지정 등을 포함한 수동 프로세스 기능이나 전처리 단계가 필요하지 않습니다.

3) 동일한 RNN 특성을 가지며 sequence of labels을 생성 할 수 있습니다 .

4) 시퀀스 객체의 길이에 제한을받지 않고 훈련 및 테스트 단계에서만 고도로 정규화하면됩니다 .

5) 기존 기술보다 우수합니다 [23, 8] 장면 텍스트 (텍스트 인식)에서 더 우수하거나 더 경쟁력있는 성능을 얻습니다 .

6) 표준 DCNN 모델보다 훨씬 적은 매개 변수를 포함하고 저장 공간을 덜 차지합니다.

 

2. The Proposed Network Architecture

 

그림 1에서 볼 수 있듯이 CRNN의 네트워크 구조는 convolutional layer, recurrent layer, transcription layer의 세 부분으로 구성되어 있습니다.

Figure 1. The network architecture. The architecture consists of three parts: 1) convolutional layers, which extract a feature sequence from the input image; 2) recurrent layers, which predict a label distribution for each frame; 3) transcription layer, which translates the per-frame predictions into the final label sequence.

CRNN의 맨 아래에있는 convolutional layers은 각 input image에서 feature sequence를 자동으로 추출합니다. convolutional network 위에는 convolutional layers이 출력하는 feature sequence의 각 프레임을 예측하기 위해 recurrent network가 설정됩니다. CRNN 상단의 transcription는 recurrent layer의 per-frame 예측을 label sequence로 변환하는 데 사용됩니다. CRNN은 다양한 유형의 네트워크 아키텍처 (예 : CNN 및 RNN)로 구성되어 있지만 loss function를 통해 공동으로 훈련 할 수 있습니다.

 

2.1. Feature Sequence Extraction

CRNN 모델에서 convolutional layers의 구성 요소는 standard CNN 모델에서 convolutional and max-pooling layers 를 가져 와서 구성됩니다 (fully-connected layers는 제거됨). 이 구성 요소는 입력 이미지에서 순차적 특징 표현을 추출하는 데 사용됩니다. 네트워크에 들어가기 전에 모든 이미지를 동일한 높이로 조정해야합니다. 그런 다음, recurrent layers의  입력 인 convolutional layers 구성 요소에 의해 생성 된 feature maps에서 일련의 feature vectors를 추출합니다. 특히, feature sequence의 각 feature vectors는 feature maps의 열에서 왼쪽에서 오른쪽으로 생성됩니다. 즉, i 번째 feature vector는 모든 맵의 i 번째 열을 연결 한 것입니다. 설정에서 각 열의 너비는 single pixel로 고정됩니다.

 

convolution, max-pooling, and elementwise activation function는 local regions에서 작동하므로 translation invariant입니다. 따라서 e feature maps의 각 열은 원본 이미지의 직사각형 영역 (termed the receptive field)에 해당하며, 이러한 직사각형 영역은 왼쪽에서 오른쪽으로 특징 맵의 해당 열과 동일한 순서입니다. 그림 2에서 볼 수 있듯이 특징 시퀀스의 각 벡터는 수용 필드와 연관되어 있으며 영역의 이미지 설명 자로 간주 될 수 있습니다.

 

Figure 2. The receptive field. Each vector in the extracted feature sequence is associated with a receptive field on the input image, and can be considered as the feature vector of that field.

강력하고 풍부하며 훈련이 가능하기 때문에 다양한 유형의 시각적 인식 작업에서 심층 컨볼 루션 기능이 널리 사용되었습니다 [25,12]. 이전의 일부 방법은 장면 텍스트와 같은 유사한 객체 시퀀스의 강력한 표현을 학습하기 위해 CNN을 채택했습니다 [22]. 그러나 이러한 방법은 일반적으로 CNN을 통해 전체 이미지의 전체 표현을 추출한 다음 로컬 깊이 기능을 수집하여 시퀀스 유사 객체의 각 구성 요소를 식별합니다. CNN은 고정 된 입력 차원을 충족하기 위해 입력 이미지를 고정 된 크기로 조정해야하므로 길이의 큰 변화로 인해 시퀀스와 같은 객체에는 적합하지 않습니다. CRNN에서는 시퀀스와 유사한 객체의 길이가 변경되지 않도록 깊이 특성을 시퀀스 표현에 전달합니다.

 

2.2. Sequence Labeling

깊은 양방향 순환 신경망은 컨볼 루션 계층 위에 반복 계층으로 구축됩니다. 각 Xt에 대한 순환 계층 티 레이블 Yt 예측 티 , 여기서

, X는 Feature sequence 입니다.

recurrent layers의 장점은 세 가지입니다.

우선, RNN은 sequence내에서 contextual정보를 캡처하는 강력한 기능을 가지고 있습니다. image-based sequence recognition을 사용하는 상황 별 신호는 각 기호를 독립적으로 처리하는 것보다 더 안정적이고 유용합니다. scene text recognition을 예로 들어 넓은 문자를 완전히 설명하려면 여러 연속 프레임이 필요할 수 있습니다 (그림 2 참조). 또한 배경을 관찰 할 때 일부 모호한 문자는 구별하기가 더 쉽습니다. 예를 들어 문자를 개별적으로 인식하는 것보다 높이를 비교하여 "il"을 인식하는 것이 더 쉽습니다.

둘째, RNN은 오류 차이를 입력 즉, 컨볼 루션 계층으로 역 전파 할 수 있으므로 통합 네트워크에서 재생 계층과 컨볼 루션 계층을 공동으로 훈련 할 수 있습니다.

셋째, RNN은 처음부터 끝까지 모든 길이의 시퀀스에서 작동 할 수 있습니다.

Figure 3. (a) The structure of a basic LSTM unit. An LSTM consists of a cell module and three gates, namely the input gate, the output gate and the forget gate. (b) The structure of deep bidirectional LSTM we use in our paper. Combining a forward (left to right) and a backward (right to left) LSTMs results in a bidirectional LSTM. Stacking multiple bidirectional LSTM results in a deep bidirectional LSTM.

 

전통적인 RNN 유닛은 input and output layers 사이에 self-connected hidden layer를 가지고 있습니다. 프레임 xt가 시퀀스에서 수신 될 때마다 현재 입력 xt와 과거 상태 ht-1을 입력으로 취하는 비선형 함수를 사용하여 내부 상태 ht를 업데이트합니다. 그리고 과거 상태 h t − 1 입력 값 :

. 그런 다음 yt는 ht의 기준으로 만들어졌다 . 이러한 방식으로 과거 컨텍스트가 

캡처되고  예측에도 사용됩니다. 그러나 전통적인 RNN 유닛은 vanishing gradient problem [7] 로 인해 저장할 수있는 컨텍스트의 범위를 제한하고 훈련 프로세스의 부담을 증가시킵니다. Long-Short Term Memory [18, 11] (LSTM)은 일종의 RNN 단위로, 특히이 문제를 해결하는 데 사용됩니다. Long-Short Term Memory [18, 11] (LSTM)M (illustrated in Fig. 3)  은 memory cell와 three multiplicative gates, 즉 input, output and forget gates 로 구성됩니다. 개념적으로 메모리 유닛은 과거 컨텍스트를 저장하고 입력 및 출력 게이트를 통해 유닛이 컨텍스트를 오랫동안 저장할 수 있습니다. 동시에 장치의 메모리는 forget gate 를 통해 지울 수 있습니다. LSTM을 사용하면 일반적으로 이미지 기반 시퀀스에서 발생하는 long-range dependencies을 캡처 할 수 있습니다.

 

LSTM은 방향성이 있으며 과거 컨텍스트 만 사용합니다. 그러나 이미지 기반 시퀀스에서는 양방향의 컨텍스트가 유용하고 서로 보완 적입니다. 따라서 우리는 [17]에 따라 두 개의 LSTM (하나는 앞뒤로)을 bidirectional LSTM으로 결합합니다. 또한 여러 bidirectional LSTM을 스택하여 그림 3.b에 표시된 것처럼 deep bidirectional LSTM을 생성 할 수 있습니다. deep structure는 shallow 구조보다 더 높은 수준의 추상화를 허용하며 음성 인식 작업에서 상당한 성능 향상을 달성했습니다 [17]. 

 

순환 계층에서 오류는 BPTT (Back-Propagation Through Time )를 통해 그림 3.b에 표시된 화살표의 반대 방향으로 전파됩니다. rnn의 맨 아래에서 전파 된 오류 시퀀스가 ​​그래프로 연결되고 피쳐 맵을 피쳐 시퀀스로 변환하는 작업이 반전되어 convolutional 계층으로 피드백됩니다. 실제로 컨볼 루션 레이어와 반복 레이어 사이의 다리 역할을하는 "Map-to-Sequence"라는 사용자 지정 네트워크 레이어를 만듭니다.

 

RNN 장점 -> RNN단점 -> LSTM -> bidirectional LSTM

 

2.3. Transcription

Transcription은 per-frame RNN 예측을 label sequence로 변환하는 프로세스입니다. Mathematically,  변환은 각 프레임의 예측에 따라 가장 높은 확률을 가진 label sequence를 찾는 것입니다. 실In practice 사전 기반 번역과 사전 기반 전사의 두 가지 변환 모드가 있습니다.lexicon-free and lexicon-based transcriptions .   사전은 맞춤법 검사 사전과 같이 예측이 제한된 태그 시퀀스 세트입니다. 사전 없음 모드에서는 사전없이 예측이 이루어집니다. 사전 기반 모드에서는 확률이 가장 높은 태그 시퀀스를 선택하여 예측합니다.

 

2.3.1 Probability of label sequence

우리는 Graves 등이 제안한 CTC (Connectionist Temporal Classification) 계층에 정의 된 조건부 확률을 사용합니다 [15].label  l 의 각 프레임의 예측 확률은 y = y 1, ..., Y t로 기록되며 특정 위치를 고려하지 않습니다. 따라서이 확률의 negative log-likelihood 을 네트워크 훈련의 대상으로 사용할 때 이미지와 해당 레이블 시퀀스 만 필요하므로 단일 문자의 위치를 ​​표시하는 작업을 피할 수 있습니다.

조건부 확률의 표현은 다음과 같이 간략하게 설명됩니다:

The input is a sequence y = y1, . . . , yT where T is the sequence length.

여기서

는 집합

의 확률 분포이며 , 그중에서 L는ㄴ task중의 전부 lables를 포함하고 있다. (예: english characters) ,예를 들면  "blank"라벨로 표시한다. sequence-to-sequence mapping function B is defined on sequence

 

where T is the length. B는 먼저 repeated labels 를 삭제 한 다음 "blank"을 삭제하고 π를 l에 매핑합니다. 예를 들어 B는 "–hh-e-l-ll-oo –"( '-‘는 blank’로 표시 )를 "hello"에 매핑합니다. 그런 다음 조건부 확률은 확률의 합으로 정의되고 모든 π는 B에서 l로 매핑됩니다.

직접 계산 Eq. 1은 exponentially large number의 합계 항목으로 인해 계산적으로 실행 불가능합니다. 그러나 Eq. 1은 설명 된 앞으로 뒤로 알고리즘을 사용하여 계산 [15]에서 효율적일으로 계산 할 수 있습니다.

 

2.3.2 Lexicon-free transcription =>사전이 존재하지 않는 lexicon-free 모드에서는 예측은 어떤 lexicon없이 만들어진다. 

이 모드에서는 Eq. 1에 정의 된 확률이 가장 높은 시퀀스가 ​​예측으로 사용됩니다. 정확한 해를 찾을 수있는 방법이 없기 때문에 [15]의 전략을 채택합니다. 시퀀스는 근사치에 의해 발견됩니다. 즉, 각 타임 스탬프에서 확률이 가장 큰 레이블이 사용되고 결과 시퀀스가 ​​매핑됩니다.

2.3.3 Lexicon-based transcription => 사전이 존재한다.  시간이 오래 걸린다. 

사전이 존재하는 lexicon-based transcriptions  모드에서 예측은 가장 높은 가능성을 가진 라벨 시퀀스의 선택으로 만들어진다.

 

However, for large lexicons, e.g. the 50k-words Hunspell spell-checking dictionary [1], it would be very time-consuming to perform an exhaustive search over the lexicon, i.e. to compute Equation 1 for all sequences in the lexicon and choose the one with the highest probability. To solve this problem, we observe that the label sequences predicted via lexicon-free transcription, described in 2.3.2, are often close to the ground-truth under the edit distance metric. 

 

사전 기반 모드에서 각 테스트 샘플은 사전과 연관됩니다. 기본적으로 태그 시퀀스는 수학 식 1에 정의 된 조건부 확률이 가장 높은 사전에서 시퀀스를 선택하여 식별한다. 그러나 Hunspell 맞춤법 검사 사전 (예 : 50,000 단어 [1])과 같은 대형 사전의 경우 사전에 대한 철저한 검색, 즉 사전의 모든 시퀀스에 대해 방정식 1을 계산하고 확률이 가장 높은 사전을 선택하는 데는 시간이 많이 걸립니다. 이 문제를 해결하기 위해 우리는 2.3.2에서 설명한 사전없는 전사에 의해 예측 된 태그 시퀀스가 ​​일반적으로 편집 거리 측정에서 실제 결과에 가깝다는 것을 관찰했습니다. 즉, nearest-neighbor candidates로 검색을 제한 할 수 있습니다. 여기서는 최대 편집 거리이며, 사전이없는 모드에서 사전에서 전사 된 시퀀스입니다.

BK-tree data structure [9] 

BK 트리 데이터 구조 [9]는 which is a metric tree specifically adapted to discrete metric spaces. BK 트리의 검색 시간 복잡도는 사전 크기입니다. 따라서이 체계는 매우 큰 사전으로 쉽게 확장 할 수 있습니다. 우리의 방법에서 사전은 오프라인으로 BK 트리를 구성합니다. 그런 다음 트리를 사용하여 빠른 온라인 검색을 수행하고 편집 거리보다 작거나 같은 시퀀스를 찾아 시퀀스를 쿼리합니다.

 

2.4. Network Training

stochastic gradient descent (SGD)

Gradients are calculated by the back-propagation algorithm

In particular, in the transcription layer, error differentials are back-propagated with the forward-backward algorithm, as described in [15].

In the recurrent layers, the Back-Propagation Through Time (BPTT) is applied to calculate the error differentials

Back-Propagation Through Time : 위와 같은 특성들 때문에, RNNs를 학습시키기 위해서는 기존의 단순한 Neural Networks를 학습시키기 위해서 사용하던 Backpropagation 알고리즘과는 조금은 다른 방법이 필요하다. 이를 Backpropagation Through Time(BPTT) 알고리즘이라고 부른다.

solarisailab.com/archives/1451

 

Recurrent Neural Networks(RNNs) 소개 – 기본 Architecture와 Backpropagation Through Time(BPTT) 알고리즘 | 솔라리��

현재 5기 모집중입니다. 2020.09.20까지 얼리버드 50% 할인 이벤트 중이니 관심 있는 분들의 많은 신청 부탁드립니다. 이번 시간에는 Recurrent Neural Networks(RNNs)에 대해 알아보자.Recurrent Neural Networks(RN

solarisailab.com

optimization : ADADELTA [37] to automatically calculate per-dimension learning rates.

Compared with the conventional momentum [31] method, ADADELTA 에서 수동으로 learning rate 설정할 필요 없다. . More importantly, we find that optimization using ADADELTA converges faster than the momentum method.

 

3. Experiments

scene text recognition and musical score recognition

The datasets and setting for training and testing are given in Sec. 3.1, =>dataset 

the detailed settings of CRNN for scene text images is provided in Sec. 3.2, =>setting CRNN

and the results with the comprehensive comparisons are reported in Sec. 3.3. => 결과를 비교

To further demonstrate the generality of CRNN, we verify the proposed algorithm on a music score recognition task in Sec. 3.4. => music score recognition 에서 

제안 된 CRNN 모델의 효과를 평가하기 위해 우리는 scene text recognition and musical score recognition을위한 표준 벤치 마크 데이터 세트에 대한 실험을 수행했습니다. 데이터 세트 및 훈련 테스트 설정은 섹션 3.1에 표시되고 장면 텍스트 이미지의 CRNN 세부 설정은 섹션 3.2에 표시되며 포괄적 인 비교 결과는 섹션 3.3에보고됩니다. CRNN의 일반화를 더욱 입증하기 위해 3.4 절에서 점수 인식 과제에 제안 된 알고리즘을 검증했다.

 

3.1. Datasets

장면 텍스트 인식에 대한 모든 실험에서 Jaderberg 등 [20]이 발표 한 합성 데이터 세트 (Synth)를 훈련 데이터로 사용합니다. 데이터 세트에는 8 백만 개의 학습 이미지와 해당 실제 단어가 포함됩니다. 이러한 이미지는 합성 텍스트 엔진에 의해 생성되며 매우 사실적입니다. 우리의 네트워크는 합성 데이터에 대해 한 번 훈련되었고 훈련 데이터에 대한 미세 조정없이 다른 모든 실제 테스트 데이터 세트에서 테스트되었습니다. CRNN 모델은 순수 합성 텍스트 데이터에 대해 학습되었지만 표준 텍스트 인식 벤치 마크 데이터 세트의 실제 이미지에서 잘 작동합니다.

 

장면 텍스트 인식의 성능 평가를위한 4 개의 인기 벤치 마크 데이터 세트, 즉 ICDAR 2003 (IC03), ICDAR 2013 (IC13), IIIT 5k-word (IIIT5k) 및 스트리트 뷰 텍스트 (SVT)가 있습니다.

 

IC03 [27] 테스트 데이터 세트에는 텍스트 경계 상자가 표시된 251 개의 장면 이미지가 포함되어 있습니다. Wang et al. [34], 우리는 영숫자가 아닌 문자 또는 3 자 미만의 문자를 포함하는 이미지를 무시하고 860 개의 잘린 텍스트 이미지로 테스트 세트를 얻습니다. 각 테스트 이미지는 Wang et al. [34]에 의해 정의 된 50 단어 사전과 연관되어 있습니다. 각 이미지의 모든 단어를 결합하여 완전한 사전을 만드십시오. 또한 Hunspell 맞춤법 검사 사전 [1]의 단어로 구성된 5 만 단어 사전을 사용합니다.

IC13 [24] 테스트 데이터 세트는 IC03의 데이터 대부분을 상속했습니다. 1015 개의 실제 잘린 단어 이미지가 포함되어 있습니다.

IIIT5k [28]에는 인터넷에서 수집 한 3000 개의 잘린 단어 테스트 이미지가 포함되어 있습니다. 각 이미지는 50 단어 사전 및 1000 단어 사전과 연결됩니다.

SVT [34] 테스트 데이터 세트는 Google 스트리트 뷰에서 수집 한 249 개의 스트리트 뷰 이미지로 구성됩니다. 647 개의 단어 이미지가 잘라졌습니다. 각 단어 이미지에는 Wang et al. [34]에 의해 정의 된 50 단어 사전이 있습니다.

 

3.2. Implementation Details

실험에서 사용한  네트워크 구성은 Table 1.에 요약되어 있습니다. convolutional layers의 아키텍처는 VGG-VeryDeep [32]의 아키텍처를 기반으로합니다. recognizing English texts에 적합하도록 조정되었습니다. 3rd and the 4th maxpooling layers 에서는 기존의 squared 대신 t 1 × 2 sized rectangular pooling windows을 사용합니다. 이 조정은 더 넓은 피쳐 맵을 생성하므로 더 긴 피쳐 시퀀스가 ​​생성됩니다. 예를 들어, 10 개의 문자가 포함 된 이미지는 일반적으로 크기가 100x32이고 여기에서 25 프레임의 특징 시퀀스를 생성 할 수 있습니다. 이 길이는 대부분의 영어 단어의 길이를 초과합니다. 가장 중요한 것은 직사각형 풀 창에서 직사각형 수용 필드 (그림 2 참조)를 생성하여 i 및 l과 같은 좁은 모양의 문자를 인식하는 데 도움이됩니다.

Table 1. Network configuration summary. The first row is the top layer. ‘k’, ‘s’ and ‘p’ stand for kernel size, stride and padding size respectively

네트워크에는 deep convolutional layers뿐만 아니라 recurrent layers도 있습니다. 둘 다 훈련하기 어렵다는 것은 잘 알려져 있습니다. batch normalization [19] 기술은 이러한 심층 네트워크를 훈련하는 데 매우 유용하다는 것을 발견했습니다. 5th and 6th convolutional layers respectively  뒤에 각각 두 개의 batch normalization layers를 삽입합니다. 배batch normalization layers를 사용하는 훈련 프로세스가 크게 가속화됩니다.

 

사용자 정의 구현 LSTM 유닛 (Torch7 / CUDA), transcription layer (C ++) 및 BK-tree data structure (C ++)를 사용하여 Torch7 [10] 프레임 워크 내에서 네트워크를 구현했습니다. 실험은 2.50GHz Intel (R) Xeon E5-2609 CPU, 64GB RAM 및 NVIDIA (R) Tesla (TM) K40 GPU가있는 워크 스테이션에서 수행되었습니다. =>gpu환경 

네트워크는 ADADELTA로 훈련되고 매개 변수 ρ는 0.9로 설정됩니다.

훈련 중에 모든 이미지는 훈련 프로세스의 속도를 높이기 위해 100x32로 조정됩니다.

training process은 수렴에 도달하는 데 약 50 시간이 걸립니다.

Testing images are scaled to have height 32 . 너비는 높이에 비례하여 조정되지만 최소 100 픽셀입니다.

average testing time은 0.16 초 / 샘플이며 IC03에서 측정 된 사전이 없습니다. 대략적인 사전 검색은 IC03의 50k 사전에 적용되고 매개 변수 δ는 3으로 설정됩니다. 각 샘플을 테스트하는 데 평균 0.53 초가 걸립니다.

 

3.3. Comparative Evaluation

4가지 public datasets, shown in Table 2.

Table 2. Recognition accuracies (%) on four datasets. In the second row, “50”, “1k”, “50k” and “Full” denote the lexicon used, and “None” denotes recognition without a lexicon. (*[22] is not lexicon-free in the strict sense, as its outputs are constrained to a 90k dictionary.

[22] M. Jaderberg, K. Simonyan, A. Vedaldi, and A. Zisserman. Reading text in the wild with convolutional neural networks. IJCV (Accepted), 2015. 1, 2, 3, 6, 7

Unlike [22], CRNN is not limited to recognize a word in a known dictionary, and able to handle random strings (e.g. telephone numbers), sentences or other scripts like Chinese words. Therefore, the results of CRNN are competitive on all the testing datasets.

 

 

 

Table 3. Comparison among various methods. Attributes for comparison include: 1) being end-to-end trainable (E2E Train); 2) using convolutional features that are directly learned from images rather than using hand-crafted ones (Conv Ftrs); 3) requiring no ground truth bounding boxes for characters during training (CharGT-Free); 4) not confined to a pre-defined dictionary (Unconstrained); 5) the model size (if an end-to-end trainable model is used), measured by the number of model parameters (Model Size, M stands for millions).

E2E Train: This column is to show whether a certain text reading model is end-to-end trainable, without any preprocess or through several separated steps, which indicates such approaches are elegant and clean for training. As can be observed from Table 3, only the models based on deep neural networks including [22, 21] as well as CRNN have this property.

Conv Ftrs: This column is to indicate whether an approach uses the convolutional features learned from training images directly or handcraft features as the basic representations.

CharGT-Free: This column is to indicate whether the character-level annotations are essential for training the model. As the input and output labels of CRNN can be a sequence, character-level annotations are not necessary. Unconstrained: This column is to indicate whether the trained model is constrained to a specific dictionary, unable to handling out-of-dictionary words or random sequences.Notice that though the recent models learned by label embedding [5, 14] and incremental learning [22] achieved highly competitive performance, they are constrained to a specific dictionary

 

3.4. Musical Score Recognition

Figure 4. Blue line graph: recognition accuracy as a function parameter δ. Red bars: lexicon search time per sample. Tested on the IC03 dataset with the 50k lexicon.

 

Optical Music Recognition (OMR)

Figure 5. (a) Clean musical scores images collected from [2] (b) Synthesized musical score images. (c) Real-world score images taken with a mobile phone camera.
Table 4. Comparison of pitch recognition accuracies, among CRNN and two commercial OMR systems, on the three datasets we have collected. Performances are evaluated by fragment accuracies and average edit distance (“fragment accuracy/average edit distance”).

For testing, we create three datasets:

1) “Clean”,which contains 260 images collected from [2]. Examples are shown in Fig. 5.a;

2) “Synthesized”, which is created from “Clean”, using the augmentation strategy mentioned above. It contains 200 samples, some of which are shown in Fig. 5.b;

3) “Real-World”, which contains 200 images of score fragments taken from music books with a phone camera. Examples are shown in Fig. 5.c.1

 

결과는 CRNN의 일반화를 보여줍니다. 다른 이미지 기반 시퀀스 인식 문제에 쉽게 적용 할 수 있고 도메인 지식이 거의 필요하지 않기 때문입니다. Capella Scan 및 PhotoScore와 비교할 때 CRNN 기반 시스템은 여전히 ​​preliminary단계이며 많은 기능이 없습니다. 그러나 OMR에 대한 새로운 솔루션을 제공하고 pitch recognition에서 유망한 기능을 보여주었습니다.

 

4. Conclusion

이 기사에서는 CNN (Convolutional Neural Network)과 RNN (Recurrent Neural Network)의 장점을 통합 한 CRNN (Convolutional Recurrent Neural Network)이라는 새로운 신경망 아키텍처를 제안합니다. CRNN은 서로 다른 크기의 입력 이미지를 얻고 서로 다른 길이의 예측을 생성 할 수 있습니다. 단어와 같은 대략적인 레이블에서 직접 실행되며 학습 단계 중에 각 개별 요소 (예 : 문자)에 세부적으로 레이블을 지정할 필요가 없습니다. 또한 CRNN은 기존의 신경망에서 사용되는 완전 연결 계층을 버리기 때문에보다 간결하고 효율적인 모델을 얻을 수 있습니다. 이러한 모든 특성으로 인해 CRNN은 이미지 시퀀스 인식을 기반으로 한 훌륭한 방법입니다.

 

scene text recognition benchmarks 데이터 세트에 대한 실험은 CNN 및 RNN을 기반으로하는 기존 방법 및 기타 알고리즘과 비교할 때 CRNN이 우수하거나 매우 경쟁력있는 성능을 달성한다는 것을 보여줍니다. 이것은 제안 된 알고리즘의 장점을 확인합니다. 또한 CRNN은 CRNN의 일반화를 검증하는 OMR (Optical Music Recognition) 벤치 마크 데이터 세트에서 다른 경쟁사보다 훨씬 우수합니다.

 

실제로 CRNN은 일반적인 프레임 워크이므로 이미지 시퀀스 예측 (예 : 한자 인식)과 관련된 다른 분야 및 문제에 적용 할 수 있습니다. 실제 응용 프로그램에서 더 실용적으로 만들기 위해 CRNN의 속도를 더욱 높이는 것은 향후 탐색 할 가치가있는 또 다른 방향입니다.

 

반응형

+ Recent posts