본문 바로가기

Translation

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

반응형

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

 

머신러닝과 딥러닝을 공부하면서 읽게 되는 논문에 대한 정리 할 예정. 

오역이 있을 수 있으니 발견시 피드백 부탁드립니다.

 

 

Abstract

이미지를 기반으로 하는 시퀀스 인식은 오랜 기간 동안 컴퓨터 비전 분야에서 연구주제였습니다. 이번 논문에서 우리는 이미지 기반의 시퀀스 인식에서 가장 도전적이고 중요한 과제 중에 하나인 텍스트 인식에 대해 연구할 계획입니다. 특징 추출과 시퀀스 모델링을 통합시키고 하나의 통일된 프레임워크인 새로운 뉴럴 네트워크 구조를 제안합니다.

 

이전에 scene text recognition과 비교하여, 세롭게 제안된 아키텍처는 4개의 구별된 속성을 가지고 있습니다.

 

1) 기존의 존재하는 알고리즘들이 훈련과 튜닝이 구별되어 구성되어 있는 것과 대조적으로 end-to-end학습이 가능하다.

 

2) 임의의 길이의 시퀀스 데이터를 다룰 수 있다. (no character segmentation이나 horizontal scale normalization을 포함)

 

3) 사전에 정의된 어휘집에 갇혀있지 않다, 그리고 텍스트 인식 분야에서 사전에 정의된 어휘집이던 그렇지 않던 모두 주목할 만한 성과를 보여준다. 

 

4) 실제 생활에서 보다 유용하게 사용되면서도 작은 모델을 효과적으로 생성해냅니다.

 

 

1. Introduction

최근 Deep Neural Network 모델이 다양한 비전분야에서 엄청난 성공으로 인해 자극받아 Neural Network가 큰 부흥을 보여왔다. 그러나 최근 딥러닝에 관련된 대부분의 연구들이 사물의 카테고리의 분류나 탐지에만 집중해오고 있다.

 

따라서 이번 논문에서는 컴퓨터 비전에 관한 클래식한 문제에 대해 다룰 것이다 : 이미지 기반의 시퀀스 인식

 

일반적인 물체 인식과 달리, 시퀀스와 같은 object를 인식하는 것은 싱글 라벨 대신 물체의 라벨을 시리즈로 예측하는 시스템이 필요하다. 

그렇기 때문에, 그런 물체들의 인식은 자연스럽게 시퀀스 인식 문제로 연결될 수 있다. 또 다른 시퀀스 물체의 독특한 성질은 시퀀스의 길이가 크게 다를 수 있다는 것이다. 

 

<DCNN>

DCNN 모델은 고정된 차원에서 인풋과 아웃풋이 작동하기 때문에 다양한 길이의 라벨 시퀀스를 생성할 수 없다. 그렇기 때문에 유명한 심층 모델인 DCNN 모델은 시퀀스 예측에 바로 적용할 수 없다. 

 

<RNN>

Recurrent neural networks (RNN) 모델은 또다른 중요한 딥 뉴럴 네트워크 모델이다. RNN 모델은 주로 시퀀스를 다루기 위해 고안되었다. RNN의 이점 중의 하나는 Training과 Test단계 모두에서 시퀀스 객체 이미지의 가각의 요소의 위치가 필요하지 않다는 점이다. 그러나 인풋 객체의 이미지를 이미지 특징의 시퀀스로 변환하는 전처리 단계는 필수적이다.

 

<CRNN>

이 논문의 주된 기여는 새로운 뉴럴 네트워크 모델이라는 것인데, 그 네트워크의 구조는 특히 이미지 속의 시퀀스 물체의 인식을 위해 설계되었다. 여기서 제안되는 모델의 이름은 Convolutional Recurrent Neural Network (CRNN)이다. CRNN인 이유는 DCNN과 RNN의 조합으로 만들어졌기 때문이다. 

 

CRNN은 전통적인 뉴럴 네트워크에 비해 다음과 같이 몇가지 구별되는 이점들을 가지고 있다.

    1> 문자와 같은 디테일한 어노테이션을 필요로 하지 않고, 단어와 같은 시퀀스 라벨에서 직접적으로 학습할 수 있다.

    2> 이미지 데이터에서 유익한 특성을 직접 학습하는 DCNN과 같은 특성을 가지고, 사전처리 단계를 필요로 하지 않는다.

    3> 레이블 시퀀스를 생성 할 수 있는 RNN의 특성을 가지고 있다.

    4> 시퀀스 객체의 길이에 구속받지 않고, Training과 Test단계에서의 높이의  정규화 단계만 필요하다

    5> 기존에 발표된 내용보다 단어 인식에서 더 좋거나 경쟁력 있는 성과를 달성할 수 있다.

 

 

2. The Proposed Network Architecture

CRNN의 네트워크의 구조는 Fig.1에서 확인할수 있다. 그 구조는 convolutional layers, recurrent layers, 그리고 transcription layer를 포함하는 3개의 요소로 구성되어있다. 

 

<Convolutional layer>

CRNN의 밑단인 Convolutional layers는 각각의 인풋 이미지에서 자동으로 특징 시퀀스를 추출한다. 

 

<Recurrent layers>

Convolutional 네트워크의 상단에서는,  Convolutional layers에서 출력된 각각의 특징 시퀀스의 각 프레임에 대해 예측을 수행하기 위해 recurrent network가 생성된다. 

 

<Transcription layer>

CRNN의 가장 상단에있는 Transcription layer는 RNN에 의한 각 프레임에 대한 예측을 라벨 시퀀스로 변환을 시킨다.

 

>> CRNN은 다른 종류의 네트워크 구조들의 결합을 통해서, 하나의 Loss function과 함께 공동으로 학습시킬 수 있다.

 

 

Fig.1 CRNN Architecture

 

2.1. Feature Sequence Extraction

CRNN 모델에서, 컨볼루션 레이어의 구성요소는 표준 CNN모델으로 부터 컨볼루션과 맥스 풀링 레이어를 가져옴으로써 구성되었다(Fully-connected layer는 제거된다). 그러한 요소는 인풋이미지로부터 순차적인 특징 표현을 추출하기 위해 사용된다. 

 

일단 네트워크에 들어가기 전에 모든 이미지는 같은 높이를 가지도록 크기가 조정되어져야 한다. 그다음에 특징 벡트들의 시퀀스는 컨볼루션레이어(recurrent layer를 위한 input)로부터 생성된 특징 맵으로 부터 추출된다. 특히 각각의 특징시퀀스의 백터들은 특징맵에서 열기준에서 왼쪽에서 오른쪽 방향으로 생성된다. 이것은 i번쨰 특징 벡터는 모든 맵의 i번째 컬럼들의 연결임을 의미한다. 우리의 설정에서 각 열의 넓이는 싱글 픽셀로 고정된다. 

 

또한 컨볼루션, 맥스풀링 활성화함수 층은 로컬지역에서 실행되므로, 그들은 변환될 수 없다. 그러므로 각각의 특징맵의 열은 원본 이미지의 사각형부분과 일치하며, 그러한 사각형은 각 특징맵의 열과 일치하게 된다. Fig2에서와 같이, 특징 시퀀스내의 각 벡트는 수용필드와 관련되며, 그 지역에 대한 이미지 묘사자로써 여겨진다. 

 

Fig2

 

 

 

2.2. Sequence Labeling

깊은 양방향성 Recurrent Neural Network(RNN)은 recurrent레이어로써 컨볼루션 레이서의 상단에 생성된다. recurrent layers는 각각의 프레임 Xt( X = X1, X2,,,,Xt중 하나) 에 대해 라벨인 Yt를 예측한다.  

 

Recurrent layers를 사용하게 되면 장점이 크게 3가지가 있다.

    1> RNN은 문맥 정보를 캡쳐하는 강력한 기능을 가지고 있다. 

     - 이미지 기반 시퀀스 인식에서 문맥적인 단서를 사용하는 것은 독립적으로 다루는 것보다 훨씬 안정적이고 도움이된다.

     - 게다가 몇개의 익명의 문자들은 문맥과 함께 유추 할 때 구별해내기 더 쉽다.

    2> RNN은 오류역전파를 사용할 수 있다. 그렇기 때문에 통합 네트워크에서 RNN과 CNN을 공동으로 학습 시킬 수 있다.

    3> RNN은 임의의 길이의 시퀀스에 대해 시작부터 끝까지 순회하면서 작동 할 수 있다.

 

Fig3. (a) 기본 LSTM유닛의 구조, (b) 깊은 양방향성 LSTM의 구조 (이 논문에서 사용되는 LSTM의 구조이다)

<RNN>

전통적인 RNN유닛은 인풋과 아웃풋 레이어 사이에 히든 레이어를 가지고 있는다. 그 전통적인 RNN유닛은 시퀀스가 길어지게 되면 발생하는 그레디언트 소실문제로 인해 저장 될 수 있는 문맥의 범위에 제한을 주고 학습 과정에서 부담을 준다.

 

<LSTM>

그에 따라서 위 문제를 해결하기 위해 특별히 고안된 RNN의 타입중 하나인 Long-Short Term Memory(LSTM)이 있다.

LSTM은 memory cell, input gate, output gate, forget gate로 구성되어있다. 개념적으로 간단하게 설명하자면, memory cell은 과거의 문맥을 저장하고,  input gate, output gate는 셀이 오랜시간동안 문맥을 저장 할 수 있도록 한다. 그동안 메모리에 있는 셀은 forget gate에 의해 삭제 될 수 있다. 특별히 설계된 LSTM은 이미지기반의 시퀀스에서 자주 발생하는 장기의존성을 보존할 수 있게 하였다. 

 

<Bidirectional LSTM>

LSTM은 방향성이 있다, 그리고 오직 과거의 문맥만 사용한다. 하지만 기미지 기반 시퀀스에서는 양 뱡향성으로 나온 문맥이 훨씬 유용하고 상호 보완적이다. 따라서 우리는 2개의 LSTM을 결합함으로서 하나는 앞으로, 하나는 뒤로 진행하도록 하여 양방향성 LSTM으로 만들것이다. 더욱이 다수의 양뱡향성 LSTM이 쌓일 수 있고 결과적으로 위의 Fig3의 (b)과 같은 깊은 양방향 LSTM이 생성될 수 있다.

 

Recurrent layers의 밑단에서는, 전달되어지는 차이값의 시퀀스가 맵으로 연결되고, 피처맵을 피처시퀀스로 변환하는 작동을 반대로 한다. 그리고 컨벌루션 레이어로 피드백된다. 실제로는 우리는 CNN과 RNN 사이의 다리역할을 하는 Map-to-Sequence라고 불리는 커스텀 레이어를 생성한다.

 

 

 

2.3. Transcription

Transcription은 RNN으로부터 만들어진 프레임당 예측을 라벨 시퀀스로 변환하는 과정이다. 수학적으로 Transcription는 프레임당 예측이 가장 높을 확률과 함께 라벨 시퀀스를 찾는 것이다. 2가지 방법이 존재한다. 하나는 사전이 있는 lexicon-based transcriptions이고, 또 다른 하나는 사전이 존재하지 않는 lexicon-free이다.

 

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

반응형