KDT 수업/논문리뷰

[논문리뷰] An End-to-End Trainable Neural Network for Image-based SequenceRecognition and Its Application to Scene Text Recognition 번역/

니니는 진짜 전설이다 2023. 8. 15. 05:05

 

 

 

📝이번 포스팅에서는 CRNN 논문을 을 번역 및 정리해보겠습니다

논문제목:  'An End-to-End Trainable Neural Network for Image-based Sequence Recognition

and Its Application to Scene Text Recognition'

아래 파일에 위 논문을 첨부해 두었습니다!

crnn.pdf
1.01MB

 

 


 

 

 'An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition'

: 컨볼루션 신경망을 이용한 영문 텍스트 인식: VGG-16과 LSTM을 결합한 딥러닝 기반의 접근 방식 

 

 

 

 

✔️Abstract 요약

 이미지 기반 시퀀스 인식은 컴퓨터 비전 분야에서 오랬동안 연구되어 온 주제 중 하나다. 본 논문에서는 이미지 기반 시퀀스 인식 중 가장 중요하며 도전적인 작업 중 하나인 씬 텍스트(장면 텍스트) 인식 문제를 다루고 있다. 특징 추출, 시퀀스 모델링 및 전사(transcription)를 통합한 새로운 신경망 아키텍쳐를 제안한다. 제안된 아키텍쳐는 기존의 씬 텍스트 인식 시스템과 비교하여 구분되는 다음과 같은 네가지 특징을 가지고있다:
(1) 대부분의 기존 알고리즘이 각각 별도로 훈련 및 조정되는 반면, 제안된 아키텍처는 end-to-end로 훈련 가능하다.

(2) 문자 분할 또는 가로 스케일 정규화 없이 임의 길이의 시퀀스를 자연스럽게 처리할 수 있다 

(3) 사전 정의된 어휘에 제한되지 않으며, 사전 없는 어휘와 사전 기반의 장면 텍스트 인식 작업에서 높은 성능을 보인다. 

(4) 보다 효과적이면서도 훨씬 작은 모델을 생성해 실제 응용 시나리오에서 더 실용적이다. IIIT-5K, Street View Text 및 ICDAR 데이터셋을 포함한 표준 벤치마크 실험 결과, 제안된 알고리즘이 이전 연구보다 우수한 성능을 보인다. 또한, 이 알고리즘은 이미지 기반 악보 인식 작업에서도 잘 수행되어 일반성을 입증한다.

 

✔️1. Introduction 서론

 
더보기

이 논문에서는 이미지 내 시퀀스 객체를 인식하기 위해 특별히 설계된 신규 신경망 모델인 Convolutional Recurrent Neural Network (CRNN)을 제안한다. 이 모델은 DCNN과 RNN을 조합한 것으로, 시퀀스 객체의 특성에 적합하다. CRNN은 시퀀스 레이블로부터 직접 학습할 수 있으며, 전처리 단계나 수동으로 작성된 특징이 필요 없다. 또한 시퀀스 객체의 길이에 제약이 없고, 더 나은 성능을 달성하는 등 다양한 장점을 가지고 있다.

 최근 컴퓨터 비전 분야에서 딥러닝 신경망 모델, 특히 Deep Convolutional Neural Networks(DCNN)가 큰 성공을 거두면서 컴퓨터 비전 연구가 활발해지고 있다. 하지만 대부분의 최근 딥러닝 연구는 객체 검출이나 분류와 관련되어 있다. 이 논문에서는 이미지 기반 시퀀스 인식이라는 컴퓨터 비전 고전 문제에 초점을 맞춘다. 현실세계에서, 장면 텍스트, 필기체, 음악 악보와 같은 시각 객체들은 고립된 형태보다는 시퀀스 형태로 나타나곤 한다. 이러한 시퀀스 객체를 인식하려면, 일반적인 객체 인식과 다르게, 시스템이 단일 레이블이 아닌 일련의 객체 레이블을 연속적으로 예측해야 한다. 그러므로 이러한 객체의 자연스럽게 인식은 시퀀스 인식 문제로 넘어간다. 시퀀스 객체의 다른 독특한 특징은 길이가 서로 다를 수 있다는 것이다. 예를 들어, 영어 단어는 2개의 문자(예: "OK") 또는 15개의 문자(예: "congratulations")로 구성될 수 있다. 따라서 고정된 차원에서 작동하는 DCNN 과 같은 가장 인기 있는 딥 모델은 변수 길이 레이블 시퀀스를 생성할 수 없기 때문에 시퀀스 예측에 직접적으로 적용하기 어렵다.

 

 이 문제를 해결하기 위한 특정 연속 객체(예: 씬 텍스트)에 대한 시도들이 있었다. 예를 들어, [35, 8]의 알고리즘은 먼저 개별 문자를 찾고, 라벨이 달린 문자 이미지를 통해 훈련된 DCNN 모델로 검출된 문자들을 인식했다. 이런 방법들은 보통 원래 단어 이미지에서 각 문자를 정확히 검출하고 잘라내기 위해 강력한 문자 검출기를 훈련해야 했다. 다른 접근 방식들 중엔[22] 씬 텍스트 인식을 이미지 분류 문제로 취급하고, 각 영어 단어(총 9만 단어)에 등급 레이블을 지정하는 것도 있다. 이 방법은 엄청난 수의 클래스를 가진 커다란 훈련 모델을 만들어 내는데, 이런 방식은 중국어 텍스트나 악보 같은 다른 종류의 연속 객체에 일반화하기 어렵다는 데에 문제가 있다. 왜냐하면 이런 종류의 시퀀스의 기본 조합 수가 100만 개 이상이 될 수 있기 때문이다. 요약하자면, DCNN 기반의 현재 시스템들은 이미지 기반 시퀀스 인식에 직접 사용될 수 없다.

 

 순환 신경망(Recurrent neural networks, RNN) 모델은 딥 신경망 가족의 또 다른 중요한 부분으로, 시퀀스 처리를 위해 설계되었다. RNN의 장점 중 하나는 훈련과 테스트에서 시퀀스 객체 이미지의 각 요소 위치를 입력할 필요가 없다는 것이다. 그러나, 입력 객체 이미지를 이미지 특징의 시퀀스로 변환하는 전처리 단계는 대개 필수적이다. 예를 들어, Graves등[16]은 필기체 텍스트로부터 일련의 기하학적 특성 또는 이미지 특징을 추출하는 반면, Su와 Lu[33]는 단어 이미지를 연속적인 HOG 특징으로 변환한다. 이 전처리 단계는 파이프라인의 후속 구성 요소와 독립적이므로, 기존에 기반한 RNN 시스템은 end-to-end 방식으로 훈련되고 최적화될 수 없다.

 

 신경망을 기반으로 하지 않은 몇 가지 기존의 씬 텍스트 인식 방법들도 이 분야에 통찰력 있는 아이디어와 새로운 표현을 가져왔다. 예를 들어, Almazan등[5]과 Rodriguez-Serrano 등[30]은 단어 이미지와 텍스트 문자열을 공통 벡터 부공간에 포함시키고, 단어 인식은 검색 문제로 변환되도록 제안했다. Yao [36]과 Gordo 등[14]은  중간 수준의 특징을 씬 텍스트 인식에 사용했다. 이러한 방법들은 표준 성능 평가지표에서 괜찮은 성능을 달성했지만, 일반적으로 이전의 신경망 기반 알고리즘[8, 22] 및 본 논문에서 제안한 방법에 비해서는 뒤쳐지고 있다.

 

 이 논문에서 가장 중요한 것은 이미지 내 시퀀스 객체를 인식하기 위해 특별히 설계된 네트워크 구조를 갖춘 신규 신경망 모델이다. 이 신경망 모델은 DCNN과 RNN의 조합이기 때문에 Convolutional Recurrent Neural Network(CRNN)라고 명명된다. 시퀀스 객체의 경우, CRNN은 기존의 신경망 모델보다 뚜렷한 장점을 몇 가지 갖추고 있다:

1) 시퀀스 레이블(예: 단어)로부터 직접 학습할 수 있으며, 세부 주석(예: 문자)이 필요하지 않다

2) 이미지 데이터로부터 직접 정보적인 표현을 학습하는 DCNN의 특성을 갖고 있으며, 수동으로 작성된 기능이나 이진화/세분화, 구성 요소 지역화 등의 전처리 단계가 필요하지 않다

3) 레이블의 시퀀스를 생성할 수 있는 RNN의 특성을 갖고 있다

4) 시퀀스 객체의 길이에 제약이 없으며, 훈련 및 테스트 단계에서 높이 정규화만 필요하다

5) 이전 예술[23, 8]보다 씬 텍스트(단어 인식)에서 더 나은 또는 경쟁력 있는 성능을 달성한다

6) 표준 DCNN 모델보다 매개 변수가 훨씬 적어 저장 공간을 덜 소비한다.

 

 

 

 

 

2. The Proposed Network Architecture 네트워크 구조

 

  그림 1에 나타난 CRNN의 네트워크 구조는 바닥부터 꼭대기까지 합성곱층, 순환층, 그리고 전사층을 포함한 세가지 구성요소로 이루어져있다.

 CRNN의 맨 아래에서는 합성곱층이 자동으로 각 입력 이미지에서 특징 시퀀스를 추출한다. 합성곱 네트워크 위에는 순환 네트워크가 구축되어, 합성곱층에 의해 출력된 특징 시퀀스의 각 프레임에 대한 예측을 수행한다. CRNN의 꼭대기에 있는 전사층은 순환층에 의한 프레임별 예측을 레이블 시퀀스로 변환하도록 채택되었다. CRNN은 다양한 종류의 네트워크 구조(예: CNN 및 RNN)로 구성되어 있지만, 하나의 손실 함수로 함께 학습될 수 있다.

 

 

 

>> 그림 1. 네트워크 구조. 이 구조는 다음 세 부분으로 구성되어 있다:

1) 합성곱층, 입력 이미지로부터 특징 시퀀스를 추출

2) 순환층, 각 프레임에 대한 레이블 분포를 예측

3) 전사층, 프레임별 예측을 최종 레이블 시퀀스로 변환

 

 

 

 

 

 

2.1. Feature Sequence Extraction 특징 시퀀스 추출

 CRNN 모델에서 합성곱층 구성 요소는 표준 CNN 모델(완전 연결층이 제거됨)의 합성곱층과 최대 풀링층을 사용하여 구성된다. 이 구성 요소는 입력 이미지로부터 순차적인 특징 표현을 추출하는 데 사용된다. 네트워크에 공급되기 전에 모든 이미지는 동일한 높이로 크기 조정되어야 한다. 그런 다음 합성곱층 구성 요소에서 생성된 특징 맵으로부터 특징 벡터 시퀀스가 추출되며, 이는 순환층에 대한 입력이다. 구체적으로, 특징 시퀀스의 각 특징 벡터는 열을 기준으로 특징 맵에서 왼쪽에서 오른쪽으로 생성된다. 이것은 i번째 특징 벡터가 모든 맵의 i번째 열들의 결합이라는 것을 의미한다. 설정에서 각 열의 너비는 단일 픽셀로 고정되어 있다.

 

 합성곱층, 최대 풀링층, 그리고 원소별 활성화 함수는 지역 영역에서 작동하므로, 이들은 평행 이동 불변이다. 따라서 특징 맵의 각 열은 원래 이미지의 직사각형 영역(수용 필드라고 함)에 대응하며, 그러한 직사각형 영역은 왼쪽에서 오른쪽으로 특징 맵에서 해당 열과 동일한 순서를 가진다. 그림 2에서 보여지는 것처럼, 특징 시퀀스의 각 벡터는 수용 필드와 연관되어 있으며, 해당 영역의 이미지 설명자로 간주될 수 있다.

 

 

 

 

 

 

>> 그림 2. 수용 필드. 추출된 특징 시퀀스의 각 벡터는 입력 이미지에서 수용 필드와 관련되어 있으며, 해당 필드의 특징 벡터로 간주될 수 있다.

 

 

 딥 컨볼루션 특성은 강건하고 다양하며 학습 가능하기 때문에 다양한 종류의 시각 인식 작업[25, 12]에 널리 채택되어 왔다. 일부 이전 접근법들은 씬 텍스트[22]와 같은 시퀀스처럼 된 객체에 대한 강인한 표현을 학습하기 위해 CNN을 사용했다. 그러나 이런 접근법들은 보통 CNN으로 전체 이미지의 전체적인 표현을 추출한 다음, 시퀀스처럼 된 객체의 각 구성 요소를 인식하기 위해 지역 딥 특징들을 수집한다. CNN은 고정된 입력 차원에 맞추기 위해 입력 이미지를 고정된 크기로 조절해야 하므로, 시퀀스처럼 된 객체의 길이 변동이 큰 이유로 적합하지 않다. CRNN에서는 시퀀스처럼 된 객체의 길이 변동에 대한 불변성을 유지하기 위해 딥 특징을 순차적인 표현으로 전달한다.

 

 

 

 

2.2. Sequence Labeling 시퀀스 라벨링

 합성곱 층 위에 깊은 양방향 순환신경망이 구축되어, 순환층의 구성 요소로 사용된다. 순환층은 특징 시퀀스 x = x1, ... , xT에서 각 프레임 xt에 대한 라벨 분포 yt를 예측한다. 순환층의 장점은 세 가지로 나뉜다. 첫째, RNN은 시퀀스 내의 문맥 정보를 포착하는 강력한 능력을 가지고 있다. 이미지 기반 시퀀스 인식에 문맥 단서를 사용하는 것은 각 기호를 독립적으로 취급하는 것보다 더 안정적이고 도움이 된다. 씬 텍스트 인식을 예로 들면, 넓은 문자는 완전히 설명하기 위해 연속적인 여러 프레임이 필요할 수 있다(그림 2 참조). 또한, 모호한 문자들은 그들의 문맥을 관찰할 때 구별하기가 더 쉽다. 예를 들어, 문자 높이를 대조해 보면 각각 인식하는 것보다 "il"을 인식하는 것이 더 쉽다. 두번째로, RNN은 오차 차별을 그 입력, 즉 합성곱층에 역 전파할 수 있어 하나의 통합된 네트워크에서 순환층과 합성곱층을 함께 학습할 수 있다. 세번째로, RNN은 시작부터 끝까지 임의의 길이의 시퀀스에서 작동할 수 있다.

 

 전통적인 RNN 유닛은 입력층과 출력층 사이에 자기 연결이 있는 은닉층을 가지고 있다. 시퀀스에서 프레임 xt를 받을 때마다 현재 입력 xt와 과거 상태 ht-1을 입력으로 사용하는 비선형 함수로 내부 상태 ht를 업데이트한다: ht = g(xt, ht-1). 그런 다음 예측 yt는 ht를 기반으로 만들어진다. 이런 방식으로 과거 문맥 {xt0}t0<t이 포착되어 예측에 사용된다. 그러나 전통적인 RNN 유닛은 소멸 기울기 문제 [7]로 인해 저장할 수 있는 문맥 범위에 제한을 받고, 학습 과정에 부담을 더한다. 장단기 메모리 [18, 11] (LSTM)는 이 문제를 해결하기 위해 특별히 설계된 RNN 유닛의 한 종류이다. LSTM (그림 3 참조)은 메모리 셀과 입력, 출력, 그리고 잊기 게이트라는 세 개의 곱셈 게이트로 구성된다. 개념적으로 메모리 셀은 과거의 문맥을 저장하며, 입력 및 출력 게이트는 셀에 긴 시간 동안 문맥을 저장할 수 있도록 한다. 동시에 잊기 게이트에 의해 셀의 메모리가 지워질 수 있다. LSTM의 특별한 디자인은 이미지 기반 시퀀스에서 자주 발생하는 장기 종속성을 포착할 수 있게 한다.

 

 

 

 

>> 그림 3. (a) 기본 LSTM 유닛의 구조. LSTM은 셀 모듈과 입력 게이트, 출력 게이트, 잊기 게이트로 구성되어 있다. (b) 우리 논문에서 사용하는 깊은 양방향 LSTM의 구조. 순방향 (왼쪽에서 오른쪽) 및 역방향 (오른쪽에서 왼쪽) LSTM을 결합하면 양방향 LSTM이 생성된다. 여러 개의 양방향 LSTM을 쌓으면 깊은 양방향 LSTM이 만들어진다.

 

 

 

 

 LSTM은 방향성이 있어 과거 문맥만 사용한다. 그러나 이미지 기반 시퀀스에서는 양방향의 문맥이 유용하고 서로 보완적이다. 따라서, [17]을 따라 두 개의 LSTM을 하나의 양방향 LSTM으로 결합시킨다. 하나는 순방향이고 다른 하나는 역방향이다. 게다가, 여러 개의 양방향 LSTM을 쌓아 깊은 양방향 LSTM을 구성할 수 있다(그림 3.b 참조). 깊은 구조는 얕은 구조보다 더 높은 수준의 추상화를 허용하며, 음성 인식 작업에서 중요한 성능 향상을 이루어낸다 [17].

 

 순환층에서는 오차 차이가 그림 3.b에 표시된 화살표의 반대 방향으로 전파되며, 이를 시간을 통한 역전파(BPTT)라고 한다. 순환층의 맨 아래에서 전파된 차이들의 시퀀스가 맵으로 연결되어, 특징 맵을 특징 시퀀스로 변환하는 작업을 역으로 수행하고 합성곱 층으로 다시 전달된다. 실제로, 우리는 "Map-to-Sequence"라는 사용자 정의 네트워크 층을 만들어 합성곱 층과 순환층 사이에 다리 역할을 하게 한다.

 

 

 

2.3. Transcription 전사

 전사는 RNN에 의해 만들어진 프레임별 예측을 라벨 시퀀스로 변환하는 과정이다. 수학적으로 전사는 프레임별 예측에 따라 가장 높은 확률을 가진 라벨 시퀀스를 찾는 것이다. 실제로 전사에는 사전 기반 전사와 사전 무료 전사라는 두 가지 모드가 있다. 사전은 예측이 제한되는 라벨 시퀀스의 집합이다. 예를 들어, 철자 검사 사전이 있다. 사전 없는 모드에서는 사전이 없이 예측이 이루어진다. 사전 기반 모드에서는 가장 높은 확률을 가진 라벨 시퀀스를 선택하여 예측을 한다.

 

 

 

 

2.3.1 Probability of label sequence  레이블 시퀀스의 확률

 우리는 Graves 등이 제안한 연결주의 시간 분류(CTC) 계층 [15]에서 정의된 조건부 확률을 채택한다. 이 확률은 프레임별 예측 y = y1, ..., yT에 따라 라벨 시퀀스 l에 대해 정의되며, l에서 각 라벨의 위치를 무시한다. 그 결과, 이 확률의 음의 로그 가능도를 네트워크를 학습하는 목표로 사용할 때, 개별 문자 위치를 라벨링하는 노력을 피할 수 있다. 이를 위해서는 이미지와 그에 대응하는 라벨 시퀀스만 필요하다.

 

(식 복사해올때 글씨 계속 깨짐ㅜ pdf 보면서 확인해야할듯)

 조건부 확률의 공식화는 다음과 같이 간략하게 설명된다: 입력은 시퀀스 y = y1, ..., yT이며, T는 시퀀스 길이이다. 여기서 각 yt ∈ <|L0|는 집합 L0 = L ∪ {blank}에 대한 확률 분포이며, 이때 L은 작업에서 모든 라벨을 포함하고 있으며 (예: 모든 영어 문자), 또한 'blank' 라벨도 포함한다. 시퀀스 간 매핑 함수 B가 길이가 T인 시퀀스 π ∈ L0^T 에 정의되어 있다. B는 먼저 반복되는 라벨을 제거한 다음 'blank'를 제거하여 π를 l에 매핑한다. 예를 들어, B는 " --hh-e-l-ll-oo-- " ('-'는 'blank'를 나타냄)를 "hello"로 매핑한다. 그러면 조건부 확률은 B에 의해 l로 매핑되는 모든 π의 확률의 합으로 정의된다: 

π의 확률이 p(π|y) =

 

 

으로 정의되어 있으며, 시간 t에서 라벨 πt를 가질 확률이다. Eq. 1을 직접 계산하는 것은 합계 항목 수가 기하 급수적으로 많기 때문에 계산적으로 실행할 수 없다. 그러나 Eq. 1은 [15]에서 설명한 순방향-역방향 알고리즘을 사용하여 효율적으로 계산할 수 있다.

 

 

 

2.3.2 Lexicon-free transcription 사전 없이 전사

 이 모드에서는 Eq. 1에 정의된 확률이 가장 높은 시퀀스 l∗을 예측으로 사용한다. 정확한 솔루션을 찾는 실행 가능한 알고리즘이 없으므로, 우리는 [15]에서 채택된 전략을 사용한다. 시퀀스 l∗은 대략 l∗ ≈ B(arg maxπ p(π|y))에 의해 찾아지며, 즉 각 시간 스탬프 t에서 가장 가능성이 높은 라벨 πt를 취하고, 그 결과 시퀀스를 l∗에 매핑한다.

 

 

 

 

2.3.3. Lexion-based transcription 사전 기반 전사

 사전 기반 모드에서는 각 테스트 샘플이 사전 D와 연결된다. 기본적으로 라벨 시퀀스는 Eq. 1에서 정의된 조건부 확률이 가장 높은 사전의 시퀀스를 선택하여 인식한다. 즉, l∗ = arg maxl∈D p(l|y)이다. 그러나 큰 사전들의 경우, 예를 들어 50k 단어의 Hunspell 철자 검사 사전 [1] 같은 경우, 사전 전체에 걸쳐 완전한 검색을 수행하는 것은 매우 시간이 많이 걸린다. 즉, 사전의 모든 시퀀스에 대해 방정식 1을 계산하고 가장 높은 확률을 가진 것을 선택하는 것이다. 이 문제를 해결하기 위해, 사전 없는 전사를 통해 예측된 라벨 시퀀스가 편집 거리 지표 하에 종종 실제 값에 가깝다는 것을 발견했다. 이는 우리가 최대 편집 거리 δ와 사전 없는 모드에서 y에서 전사된 시퀀스인 l'의 가장 가까운 이웃 후보 Nδ(l')로 검색을 제한할 수 있음을 나타낸다:

 후보들 Nδ(l')은 이산 메트릭 공간에 특화된 메트릭 트리인 BK-트리 데이터 구조 [9]를 사용하여 효율적으로 찾을 수 있다. BK-트리의 검색 시간 복잡도는 O(log |D|)이며, 여기서 |D|는 사전 크기이다. 따라서 이 스키마는 매우 큰 사전들에도 쉽게 확장할 수 있다. 우리의 접근 방식에서는, 사전에 대해 오프라인으로 BK-트리를 구성한다. 그런 다음 트리를 사용하여 빠른 온라인 검색을 수행한다. 검색은 편집 거리가 δ 이하인 시퀀스들을 찾는 것으로 이루어진다.

 

 

2.4. Network Training 네트워크 훈련

 훈련 데이터셋을 X = {Ii, li}i로 표시하자. 여기서 Ii는 훈련 이미지이고 li는 실제 값 라벨 시퀀스이다. 목표는 실제 값에 대한 조건부 확률의 음의 로그 가능도를 최소화하는 것이다:

 여기서 yi는 Ii로부터 순환 및 합성곱 계층에 의해 생성된 시퀀스이다. 이 목표 함수는 이미지와 그 실제 값 라벨 시퀀스로부터 직접 비용 값을 계산한다. 따라서, 네트워크는 이미지와 시퀀스 쌍에 대해 end-to-end로 훈련될 수 있으며, 훈련 이미지의 모든 개별 구성 요소에 대한 수동 라벨링 절차를 제거할 수 있다.

 네트워크는 확률적 경사 하강법(SGD)을 사용하여 훈련된다. 기울기는 back-propagation 알고리즘을 통해 계산된다. 특히, 전사 계층에서는 에러 차이가 [15]에 설명된 대로 순방향-역방향 알고리즘을 사용하여 back-propagated된다. 순환 계층에서는 시간을 거슬러 역전파(Back-Propagation Through Time, BPTT)가 에러 차이를 계산하는 데 적용된다. 최적화를 위해, 우리는 ADADELTA [37]를 사용하여 차원별 학습률을 자동으로 계산한다. 전통적인 모멘텀 [31] 방법과 비교하여, ADADELTA는 학습률을 수동으로 설정할 필요가 없다. 더 중요한 발견은, ADADELTA를 사용한 최적화가 모멘텀 방법보다 빠르게 수렴한다는 것이다.

 

 

 

 

3. Experiments 실험

 제안된 CRNN 모델의 효과를 평가하기 위해, 장면 텍스트 인식과 음악 악보 인식에 대한 표준 벤치마크에서 실험을 수행했다. 이 두 가지 모두 도전적인 비전 작업이다. 데이터셋 및 학습 및 테스트 설정은 Sec. 3.1에 제공되며, 장면 텍스트 이미지용 CRNN의 자세한 설정은 Sec. 3.2에서 제공된다. 종합적인 비교를 포함한 결과는 Sec 3.3 에서 보고된 . 추가로, CRNN 의 일반성을더 잘 보여주기 위해 , Sec.3.4 에서 제안된 알고리즘이 음악 점수 인식 작업에 적용되는 것을 검증한다.

 

 

 

3.1. Datasets 데이터셋

 장면 텍스트 인식에 대한 모든 실험에서, 우리는 Jaderberg 등이 제공한 합성 데이터셋(Synth) [20]을 훈련 데이터로 사용한다. 이 데이터셋은 800만개의 훈련 이미지와 그에 상응하는 실제 값 단어를 포함하고 있다. 이러한 이미지는 합성 텍스트 엔진을 통해 생성되며, 매우 현실적이다. 우리의 네트워크는 합성 데이터에서 한 번 훈련되며, 다른 실제 세계 테스트 데이터셋에 대해서는 그들의 훈련 데이터에 대한 세부 조정 없이 모두 테스트된다. CRNN 모델이 순전히 합성 텍스트 데이터로만 훈련되어 있어도, 표준 텍스트 인식 벤치마크의 실제 이미지에서 잘 작동한다.

 

 장면 텍스트 인식의 성능 평가를 위해 네 가지 인기있는 성능평가 체계가 사용되는데, 바로 ICDAR 2003 (IC03), ICDAR 2013 (IC13), IIIT 5k-단어 (IIIT5k), 그리고 스트리트 뷰 텍스트(SVT)다. 

 

 IC03 [27] 테스트 데이터셋은 라벨이 붙은 텍스트 경계 상자가 있는 251개의 장면 이미지를 포함하고 있다. Wang 등의 방법 [34]에 따라 숫자가 아닌 문자를 포함하거나 세 글자 미만인 이미지를 무시하고, 860개의 크롭된 텍스트 이미지가 있는 테스트 세트를 얻는다. 각 테스트 이미지는 Wang 등이 정의한 [34] 50단어 사전과 연결되어 있다. 모든 이미지별 사전을 결합하여 전체 사전을 구축한다. 또한, 우리는 Hunspell 철자 검사 사전[1] 안의 단어로 구성된 50k 단어 사전을 사용한다. IC13 [24] 테스트 데이터셋는 대부분의 데이터를 IC03에서 상속받는다. 그것은 1,015개의 실제 값 크롭된 단어 이미지를 포함하고 있다. IIIT5k [28]은 인터넷에서 수집한 3,000개의 크롭된 단어 테스트 이미지를 포함하고 있다. 각 이미지는 50 단어 사전과 1,000 단어 사전에 연결되어 있다. SVT [34] 테스트 데이터셋은 Google Street View에서 수집한 249개의 스트리트 뷰 이미지로 구성되어 있다. 그것들 중에서 647개의 단어 이미지를 자르고 있다. 각 단어 이미지는 Wang 등이 정의한 [34] 50 단어 사전을 가지고 있다.

 

>> 표 1. 네트워크 구성 요약. 첫 번째 행은 상단 계층이다. 'k', 's', 'p'는 각각 커널 크기, 보폭, 패딩 크기를 나타낸다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.2. Implementation Details 구현 세부사항

 실험에서 사용한 네트워크 설정은 표 1에 요약되어 있다. 합성곱 계층의 아키텍처는 VGG-VeryDeep 아키텍처 [32]를 기반으로 합니다. 이를 영어 텍스트 인식에 적합하게 만들기 위해 약간 수정되었다. 3번째와 4번째 최대 풀링 계층에서는 기존의 정사각형 풀링 창 대신 1x2 크기의 직사각형 풀링 창을 사용한다. 이런 수정을 통해 너비가 더 큰 특징 맵이 만들어지고, 따라서 더 긴 특성 시퀀스가 얻어진다. 예를 들어, 10개의 문자가 포함된 이미지는 일반적으로 100x32 크기이며, 이로부터 25 프레임의 특징 시퀀스를 생성할 수 있다. 이 길이는 대부분의 영어 단어의 길이를 초과한다. 더불어, 직사각형 풀링 창은 'i'와 'l'과 같은 좁은 모양의 문자 인식에 유리한 직사각형 수용 영역을 만들어낸다(그림 2에 나타남).

 

 이 네트워크는 깊은 합성곱 계층뿐만 아니라 순환 계층도 가지고 있다. 두 계층 모두 학습하기 어렵다고 알려져 있다. 그러나 배치 정규화 [19] 기술이 이러한 깊이의 네트워크를 학습하는 데 매우 유용하다는 것을 발견했다. 5번째와 6번째 합성곱 계층 이후에 각각 두 개의 배치 정규화 계층이 추가되어 있고, 배치 정규화 계층을 사용하면 학습 과정이 크게 가속화된다.

 

 Torch7 [10] 프레임워크 내에서 네트워크를 구현하며, LSTM 유닛(Torch7/CUDA에서), 전사층(C++에서) 및 BK-트리 데이터 구조(C++에서)에 대한 사용자 정의 구현을 사용한다. 실험은 2.50GHz 인텔(R) 제온(R) E5-2609 CPU, 64GB RAM 및 NVIDIA(R) 테슬라(TM) K40 GPU가 있는 워크스테이션에서 수행된다. 네트워크는 ADADELTA로 학습되며, 매개변수 ρ를 0.9로 설정한다. 학습 중에는 모든 이미지가 100x32로 크기 조정되어 학습 과정을 가속화한다. 학습 과정은 수렴에 약 50시간이 걸린다. 테스트 이미지는 높이 32로 크기 조정된다. 너비는 높이와 비례하여 크기 조정되지만 최소 100 픽셀이다. 평균 테스트 시간은 사전 없이 IC03에서 측정한 샘플당 약 0.16초이다. IC03의 50k 사전에 대해 대략적인 사전 검색이 적용되며, 매개변수 δ는 3으로 설정된다. 각 샘플의 평균 테스트 시간은 0.53초이다.

 

 

 

 

3.3. Comparative Evaluation 비교 평가

 제안된 CRNN 모델과 최근의 최첨단 기법들(딥 모델 기반 접근법 [23, 22, 21] 포함)이 산출한 위의 네 개 공개 데이터셋의 인식 정확도가 표 2에 나와 있다. 제약된 사전 사례에서는 우리 방법이 대부분의 최첨단 접근법을 지속적으로 능가하며, 평균적으로 [22]에서 제안된 최고 텍스트 리더를 능가한다. 특히, IIIT5k와 SVT에서 더 뛰어난 성능을 얻으며, 오직 IC03에서만 "Full" 사전과 함께 낮은 성능을 달성한다. [22]에 있는 모델은 특정 사전에서 학습되는데, 각 단어가 클래스 레이블에 연관되어 있다. [22]와 달리, CRNN은 알려진 사전 안에서 단어를 인식하는 데 제한되지 않고, 무작위 문자열(예: 전화번호), 문장 또는 중국어와 같은 다른 스크립트를 처리할 수 있다. 따라서, CRNN의 결과는 모든 테스트 데이터셋에서 경쟁력이 있다.

 

 제약이 없는 사전 사례에서, 우리 방법은 SVT에서 최고의 성능을 달성하지만, IC03과 IC13에서 여전히 일부 접근법 [8, 22]에 뒤처져 있다. 표 2의 "none" 열에서 공백은 해당 접근법이 사전 없이 인식을 적용할 수 없거나 또는 제약이 없는 경우에 인식 정확도를 보고하지 않았음을 의미한다. 우리 방법은 단어 레벨 레이블이 있는 합성 텍스트만을 학습 데이터로 사용하며, 이는 7.9백만 개의 실제 단어 이미지와 문자 수준 주석이 있는 학습을 위한 PhotoOCR [8]와 매우 다르다. [22]에서는 제약아 없는 사전의 경우에 최고의 성능을 보고했으며, 이는 큰 사전을 활용했기 때문이지만, 앞서 언급한것 처럼 엄격하게 사전에 제약을 받지 않는 모델을 아니다. 그러나 앞서 언급했듯이 이 모델은 엄격하게 제약이 없는 사전에 국한되지 않는다. 이런 의미에서, 제약이 없는 사전의 경우에 대한 결과는 여전히 유망하다.

 

 

>>표 3. 여러 방법들 간의 비교. 비교를 위한 속성들은 다음과 같다:

1) end-to-end 학습 가능한지 (E2E Train)

2) 합성곱 특징이 이미지로부터 직접 학습되어, 수동으로 제작된 것을 사용하지 않는지 (Conv Ftrs)

3) 학습 중 문자에 대한 정답 경계 박스가 필요하지 않음 (CharGT-Free)

4) 미리 정의된 사전에 국한되지 않음 (Unconstrained); 5) 모델 크기(해당하는 경우 end-to-end 학습 가능한 모델 사용), 모델 파라미터의 수로 측정 (모델 크기, M은 백만을 의미).

 

 

 

 

 

 

 

 

 

 제안된 알고리즘이 다른 텍스트 인식 접근법에 비해 가지는 장점을 더 잘 이해하기 위해서, 우리는 E2E Train, Conv Ftrs, CharGT-Free, Unconstrained 및 Model Size라는 몇 가지 속성에 대한 종합적인 비교를 제공한다. 이는 표 3에서 요약되어 있다.

 

 E2E Train: 이 컬럼은 특정 텍스트 읽기 모델이 사전 처리나 몇 가지 별도의 단계 없이 end-to-end로 학습 가능한지를 보여주기 위한 것이다. 이는 해당 접근법이 깔끔하고 명료하게 학습하기 위한 것을 표시한다. 표 3에서 볼 수 있듯이, [22, 21] 및 CRNN을 포함한 딥 뉴럴 네트워크 기반 모델만이 이 속성을 가지고 있다.

 

 Conv Ftrs: 이 컬럼은 접근법이 학습 이미지에서 직접 학습한 합성곱 특성을 사용하거나, 기본 표현으로 대체하여 수동으로 만든 특성을 사용하는지 여부를 나타낸다. CharGT-Free: 이 열은 문자레벨 주석이 모델 학습에 필수적인지 여부를 나타내기 위한 것이다. CRNN의 입력과 출력 레이블이 수열이므로, 문자 수준 주석은 필요하지 않다.

 

 Unconstrained: 이 컬럼은 학습된 모델이 특정 사전에 제한되어 있어, 사전 외 단어나 임의의 문자열을 처리할 수 없는지 여부를 나타낸다.

 

 

>> 표 2. 네 개의 데이터셋에서의 인식 정확도(%). 두 번째 행에서 "50", "1k", "50k" 및 "Full"은 사용된 사전을 나타내며, "None"은 사전 없이 인식을 의미한다. (* [22]는 출력이 90k 사전으로 제한되어 있기 때문에 엄격한 의미에서는 사전이 없는 것이 아니다.)

최근 라벨 임베딩 [5, 14] 및 점진적 학습 [22]을 통해 학습된 모델들이 매우 경쟁력 있는 성능을 달성했지만, 특정 사전에 제한되어 있다는 점에 유의해야함.

 모델 크기: 이 컬은 학습된 모델의 저장 공간을 보고하는 것이다. CRNN에서는 모든 계층에 가중치 공유 연결이 있으며, 완전 연결 계층은 필요하지 않다. 따라서 CRNN의 매개변수 수는 CNN의 변형 모델 [22, 21]보다 훨씬 적으며, [22, 21]과 비교하여 훨씬 작은 모델을 생성한다. 우리의 모델은 830만 개의 매개변수를 가지고 있으며, RAM에 33MB만 차지한다(각 매개변수에 대해 4바이트 싱글 프리시젼 부동 소수점 사용). 따라서 이 모델을 모바일 기기에 손쉽게 옮길 수 있다. 표 3은 다양한 접근법 간의 차이점을 상세하게 보여주며, 다른 경쟁하는 방법들과 비교하여 CRNN의 이점을 완벽하게 보여준다. 또한, 매개변수 δ의 영향을 테스트하기 위해 Eq. 2의 δ 값을 실험합니다. 그림 4에 δ의 함수로서 인식률을 그립니다. 더 큰 δ는 더 많은 후보를 생성하므로, 사전 기반의 복사본이 더 정확해진다. 반면에, 계산 비용은 더 긴 BK-tree 검색 시간과 더 많은 후보 시퀀스 수로 인해 더 큰 δ와 함께 증가한다. 실제로, 우리는 정확도와 속도의 균형을 위해 δ = 3을 선택했다.

 

 

 

>> 그림 4.

파란 선 그래프: 매개변수 δ의 함수로서의 인식 정확도.

빨간색 막대그래프: 사전 검색 시간(샘플당). 50k 사전을 사용한 IC03 데이터셋에서 테스트됨.

 

 

 

 

 

 

 

3.4 Musical Score Recognition 악보 인식

 악보는 일반적으로 오선 위에 배열된 음악 노트의 순서로 구성된다. 이미지에서 악보를 인식하는 것은 광학 음악 인식(OMR) 문제로 알려져 있다. 이전 방법들은 주로 이진화 과정 등의 이미지 전처리, 오선 탐지 및 개별 음표 인식[29]이 필요하다. OMR을 순차 인식 문제로 취급하고, CRNN을 사용하여 이미지에서 음악 노트의 순서를 직접 예측한다. 단순화를 위해 음계만 인식하고, 모든 코드를 무시하며, 모든 악보에 대해 동일한 전조계(C 장조)를 가정한다.

 우리의 지식선에서는 음계 인식 알고리즘을 평가하기 위한 공개 데이터셋은 존재하지 않는다. CRNN에 필요한 학습 데이터를 준비하기 위해, [2]에서 2,650개의 이미지를 수집한다. 각 이미지는 3개에서 20개의 노트가 포함된 악보의 일부분을 담고 있다. 모든 이미지에 대해 수동으로 지상 진실 레이블 시퀀스(알맞은 음계의 순서)를 표시한다. 수집한 이미지는 회전, 축척 조정, 잡음 추가 및 자연 이미지로 배경을 바꾸는 방식으로 총 265k의 학습 샘플로 확장된다. 테스트를 위해 세 가지 데이터셋을 만든다:

1) "Clean", [2]에서 수집한 260개의 이미지가 포함되어 있다. 그림 5.a에 예시가 있다.

2) "Synthesized", 앞서 언급한 증강 전략을 사용하여 "Clean"에서 생성된다. 이 데이터셋에는 200개의 샘플이 포함되어 있으며, 일부는 그림 5.b에 나와 있다.

3) "Real-World", 핸드폰 카메라로 음악 책에서 찍은 악보 조각 200개의 이미지가 포함되어 있다. 예시는 그림 5.c에 나와 있다.

 

 

 

 

>> 그림 5.

(a) [2]에서 수집한 깨끗한 악보 이미지들

(b) 합성된 악보 이미지들

(c) 모바일 폰 카메라로 촬영한 현실의 악보 이미지들

 

 

 

 

 

 

 

 

 

 제한된 학습 데이터를 가지고 있기 때문에, 모델 용량을 줄이기 위해 간소화된 CRNN 구성을 사용한다. 표 1에서 설명한 구성과 다르게, 4번째와 6번째 합성곱 계층을 제거하고, 2계층 양방향 LSTM을 2계층 단방향 LSTM으로 대체한다. 네트워크는 이미지와 해당 레이블 시퀀스 쌍에 대해 학습된다. 인식 성능을 평가하기 위해 두 가지 척도를 사용한다: 1) 조각 정확도, 즉 악보 조각이 올바르게 인식된 백분율이다; 2) 평균 편집 거리, 즉 예측된 음계 시퀀스와 지상 진실 사이의 평균 편집 거리이다. 비교를 위해 Capella Scan[3]과 PhotoScore[4]와 같은 두 가지 상업용 OMR 엔진을 평가한다.

 

>> 표 4.

수집한 세 가지 데이터셋에서 CRNN과 두 개의 상업용 OMR 시스템 간 음계 인식 정확도 비교. 성능은 조각 정확도와 평균 편집 거리("조각 정확도/평균 편집 거리")로 평가된다.

 

 

 

 표 4에 결과가 요약되어 있다. CRNN은 두 상업용 시스템을 큰 차이로 앞선다. Capella Scan과 PhotoScore 시스템은 Clean 데이터셋에서는 상당히 잘 작동하지만, 합성 및 실제 세계 데이터에서 성능이 크게 감소한다. 주요 이유는 견고한 이진화를 사용하여 오선과 음표를 검출하는데 의존하는데, 이 이진화 단계가 나쁜 조명 상태, 노이즈 오염 및 복잡한 배경으로 인해 합성 및 실제 세계 데이터에서 종종 실패하기 때문이다. 반면에, CRNN은 노이즈와 왜곡에 매우 강인한 컨볼루션 특징을 사용한다. 또한, CRNN의 순환 계층은 악보의 문맥 정보를 활용할 수 있다. 각 음표는 자체적으로뿐만 아니라 인근 음표와 함께 인식된다. 따라서 일부 음표는 인근 음표와 비교하여 인식할 수 있는데, 예를 들어 그들의 수직 위치를 대비시킬 수 있다. 결과적으로 CRNN의 일반성이 입증되었으며, 이미지 기반 시퀀스 인식 문제에 손쉽게 적용할 수 있으며, 최소한의 도메인 지식이 필요하다. Capella Scan과 PhotoScore와 비교하여, CRNN 기반 시스템은 아직 초기 단계이며 많은 기능이 누락되어 있다. 그러나 이 시스템은 OMR에 대한 새로운 구조를 제공하며, 음계 인식에서 잠재력을 보여주고 있다.

 

 

 

 

4. Conclution 결론

 본 논문에서는 Convolutional Recurrent Neural Network (CRNN)이라는 새로운 신경망 구조를 소개했다. 이 구조는 Convolutional Neural Networks (CNN)와 Recurrent Neural Networks (RNN)의 장점을 결합했다. CRNN은 다양한 크기의 입력 이미지를 받아들이며 다양한 길이의 예측을 생성할 수 있다. 이는 입력 이미지의 개별 요소(예: 문자)에 대해 자세한 주석이 필요하지 않고, 더 대략적인 수준의 라벨(예: 단어)에서 직접 작동하므로 훈련 단계에서 간략한 주석만 필요로 한다. 게다가 CRNN은 기존의 신경망에서 사용되던 완전 연결 레이어를 포기함으로써 훨씬 더 간결하고 효율적인 모델을 구현한다. 이러한 특성들은 이미지 기반 시퀀스 인식에 있어서 CRNN이 우수한 접근 방식임을 보여준다.

 

 장면 텍스트 인식 벤치마크를 위해 수행된 실험 결과, 제안된 알고리즘이 기존 방법 및 다른 CNN과 R- NN 기반 알고리즘과 비교하여 우수하거나 경쟁력 있는 성능을 보여주는 것이 확인됐다. 추가로, 광학 음악 인식(OMR) 벤치 마크에서도 타 경진자들보다 월등하게 성능이 좋아져서 그 일반성까지 입증했다.

 

 사실상, CRNN은 일반 프레임워크이기 때문에, 이미지 내 시퀀스 예측 문제와 관련된 다른 분야와 문제(예: 중국어 문자 인식)에도 적용할 수 있다. 앞으로 CRNN을 더욱 가속화하고 실세계 응용 프로그램에서 더 실용적으로 사용할 수 있도록 하는 것이 가치 있는 발전 방향이다.