chullhwan-song/Reading-Paper

NRTR: A No-Recurrence Sequence-to-Sequence Model For Scene Text Recognition

Closed this issue · 1 comments

Abstract

  • OCR인식에서 최근 아주 활발하게 연구되고 있는 self attention을 이 분야에 적용하고자하는 연구

METHODOLOGY

image

  • 위의 그림과 같이 3개의 sub networks로 구성.
  • 기본적으로 decoder-encoder 구조
  • 여기에 preprocessing 역할인 modality-transform block
    • self attention의 입력값 형태로 만들기 위한..format 변경(image > transformer의 입력값 형태로..)

Modality-Transform Block

  • preprocessing
  • conv layer들로 구성
    • 이는, stride= 2 > w,h를 줄이고, 반면에 channel를 x2로 늘이는 형태로 구성.
  • 초기 이미지 크기 : image(이때 channel은 위의 그림으로 보아 gray=1)라면, n 번째 layer에서는 image
    • Fig.1에서의 관련 그림을 보면될듯~
    • image 의 의미가 살짝 애매 > transformer개념에서..나온듯한데..자세히 알아봐야할듯~
      • 그냥 model의 dimension > Modality-Transform Block의 output의 dimension을 의미하는듯.
  • transformer는 rnn계열을 안쓰므로, positional encoding(입력)
    • Fig.2의 Encoder 부분에서 첫번째 green network 전의 입력 (add 하는부분)
    • 이때의 Modality-Transform Block의 output를 positional encoding에서 input으로 받고 이 output이 encoder의 input : image > Modality-Transform Block > positional encoding > encoder 순으로
      image
    • Modality-Transform Block의 input과 결합(add)하여 encoder에 들어감
  • 자세히 그림을 보면
    image
    • concatenate가 ??
      • [B, W/2, 8, 64] > [B, W/2, 512] 로 전환되는 거보니, 8x64 = 512이어서, reshape이 아닐까?
        • 생각해보니, concat이 맞는듯~> height 개수(8개)를 지닌 64차원 feature를 concat하는 구조
        • 저런식([w, h, c] > [w, hxc]으로 reshape하면, concat하는 구조가 됨

Encoder

Decoder

  • Encoder & Decoder는 transformer와 거의 일치하기 때문에 그냥 넘어가고 특이사항이 있다면 ..
  • Decoder의 또다른 입력값 = target label과 "positional encoding" part의 결합
    • For each input label, we apply a learnable character-level embedding to convert per characte
      to a image dimensional vector.
      • 먼저, image 의 dimensional vector와 dimension을 일치시키는것같고..
      • ?? learnable character-level embedding
  • 또한, Encoder의 output과 위의 입력값과의 결합이..??
    image
    • encoder와 달리 Multi-Head Scaled Dot-Product Attention 2개사용
      1. Masked Multi-Head Scaled Dot-Product Attention > 빨간색 부분
        • target label과 "positional encoding" part의 결합한 입력값을받음.
      2. 이후, Multi-Head Scaled Dot-Product Attention
        • 1번째의 attention결과(빨간색)와 encoder(녹색)의 결과를 받아 진행 (아마 그림의 순서가 맞다면...)
          • encoder = Q, K
          • 1th attetnion = V
  • 최종적으로 decoder의 결과는 character classes의 확률
    • The outputs are transformed to the probabilities for character classes by a linear projection and a softmax function.