NRTR: A No-Recurrence Sequence-to-Sequence Model For Scene Text Recognition
Closed this issue · 1 comments
chullhwan-song commented
Abstract
- OCR인식에서 최근 아주 활발하게 연구되고 있는 self attention을 이 분야에 적용하고자하는 연구
METHODOLOGY
- 위의 그림과 같이 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로 늘이는 형태로 구성.
- 초기 이미지 크기 : (이때 channel은 위의 그림으로 보아 gray=1)라면, n 번째 layer에서는
- transformer는 rnn계열을 안쓰므로, positional encoding(입력)
- 자세히 그림을 보면
- 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하는 구조가 됨
- [B, W/2, 8, 64] > [B, W/2, 512] 로 전환되는 거보니, 8x64 = 512이어서, reshape이 아닐까?
- concatenate가 ??
Encoder
Decoder
- Encoder & Decoder는 transformer와 거의 일치하기 때문에 그냥 넘어가고 특이사항이 있다면 ..
- Decoder의 또다른 입력값 = target label과 "positional encoding" part의 결합
- 또한, Encoder의 output과 위의 입력값과의 결합이..??
- encoder와 달리 Multi-Head Scaled Dot-Product Attention 2개사용
- Masked Multi-Head Scaled Dot-Product Attention > 빨간색 부분
- target label과 "positional encoding" part의 결합한 입력값을받음.
- 이후, Multi-Head Scaled Dot-Product Attention
- 1번째의 attention결과(빨간색)와 encoder(녹색)의 결과를 받아 진행 (아마 그림의 순서가 맞다면...)
- encoder = Q, K
- 1th attetnion = V
- 1번째의 attention결과(빨간색)와 encoder(녹색)의 결과를 받아 진행 (아마 그림의 순서가 맞다면...)
- Masked Multi-Head Scaled Dot-Product Attention > 빨간색 부분
- encoder와 달리 Multi-Head Scaled Dot-Product Attention 2개사용
- 최종적으로 decoder의 결과는 character classes의 확률
- The outputs are transformed to the probabilities for character classes by a linear projection and a softmax function.