Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FOTS: Fast Oriented Text Spotting with a Unified Network #107

Open
chullhwan-song opened this issue Mar 5, 2019 · 1 comment
Open

FOTS: Fast Oriented Text Spotting with a Unified Network #107

chullhwan-song opened this issue Mar 5, 2019 · 1 comment

Comments

@chullhwan-song
Copy link
Owner

https://arxiv.org/abs/1801.01671

@chullhwan-song
Copy link
Owner Author

chullhwan-song commented Mar 5, 2019

Abstract

  • Incidental scene text spotting 과제(우발적인 scene에서 존재하는 text 탐지, 캠으로 찍어댔거나..)를 가장 어려운 문제로 알려져 있음. (the most difficult and valuable challenges)
  • 대부분의 과제들은 detection과 recognition를 분리하여 연구
  • 이 연구에서는 end to end > Fast Oriented Text Spotting (FOTS) network 제안.
    • simultaneous detection and recognition, sharing computation and visual information among the two complementary tasks.
  • 특별히, RoIRotate라는 detection과 recognition 사이에 공유하는 feature를 소개
  • sharing computation 전략의 장점으로는,
    • baseline text detection network와 비교해볼때, 적은 computation overhead
    • joint training method에 의한 학습은 "detection과 recognition를 분리"하는 것보다 더 좋은 성능을 냄.
  • ICDAR 2015, ICDAR 2017 MLT, and ICDAR 2013 datasets outperforms
  • fast speed - 22.6 fps
    image

contributions

  • end-to-end trainable framework
    • fast oriented text spotting > 회전된 text 감지 그것도 아주 빠르게
    • sharing convolutional features > detection과 recognition > real-time speed & little computation overhead
  • RoIRotate 란 개념 제시
    • convolutional feature mas에서 oriented text regions를 추출하기 위한 새로운 differentiable operator
    • end-to-end pipeline에서, detection과 recognition 를 통합.
  • text detection에서 outperforms

Methodology

  • FOTS - end-to-end trainable framework
    • four parts : shared convolutions, text detection RoIRotate, text recognition

Overall Architecture

  • 전체 구조
    image
  • shared convolutions
    image
    • ResNet-50 backbone -
    • U-Net구조
    • 1/4씩 down-sampling > 1/2이 아님.
  • text detection의 output를 이용하여, RoIRotate 에 적용함.
    • converts corresponding shared features into fixed-height representations while keeping the original
      region aspect ratio. - CRNN의 input으로 사용하려는듯.
  • 최종적으로 CNN-LSTM-CTC 구성인 인식과정 - CRNN과 거의 같음
    image

Text Detection Branch

  • 영감을 얻은 연구와 EAST & Deep Direct Regression for Multi-Oriented Scene Text Detection
    • 두 연구의 network 구조는 다르나 FCN 기반
  • Natural Scence에서는 small size의 text 많이 존재 그래서, upscale 할때, 1/32>1/4까지 (downscale할때 그렇게 했기 때문에..) > Fig.3
    • in shared convolutions.
  • 그후,
    • 첫번째 channel > dense per-pixel predictions > text 인지 아닌지?
    • 두번째 channel > EAST와 비슷하게 text(positive sample)를 shrunk > bounding box를 예측하기 위해, (top, bottom, left, right )에 대한 거리 예측,
    • 세번째 channel > bounding box에 대한 orientation 예측 > word의 단위의 text가 기울어진정도..
    • 이후, 합치고..NMS
  • loss : text classification & bounding box regression
  • text detection에서의 prediction/loss는 network를 제외하고(많이 유사하다..) EAST를 그대로 가져온듯~

RoIRotate

image

  • text detection에서 획득한 region 즉, 회전된 text region을 align(수평으로 만든다는 의미)하여 feature map을 획득(axis-aligned feature map) > Fig.4
    • height과 aspect ratio를 유지하면서..
  • for extracting features for regions of interest. > bilinear interpolation > avoids mis-alignments between the RoI and the extracted features ???
  • 이러한 과정은 two step : affine transformation & interpolation > 통해 최종 feature map을 획득

Text Recognition Branch

  • RoIRotate과정에서 획득한 feature map을 input
  • Table.1의 network을 기반으로 인식 > 사실 조금 다를지 몰라도, CRNN임. > 개인적으로 많이 해봤기 때문에..생략

궁금한점

  • why > detection 성능이 높은가?
    • 이전 연구와 network와 알고리즘차이는 그닥없는듯..
    • 학습셋 - transfer learning & 학습셋의 차이. ??
    • 다음장에서 이에 대한 힌트가 될듯..,

How 학습?

  • ImageNet 기반 pre-trained model 이용
  • training process includes two steps
    • Synth800k dataset 사용
    • 리얼데이터 적용
      *위의 내용으로 보아 일단 두번의 transfer learning(fine-tuned) 사용했을을 알수 있음.
    • ImageNet > Synth800k > 실제 target data
  • Data augmentation > real data
    • 1th) longer sides of images are resized from 640 pixels to 2560 pixels
    • 2th) images are rotated in range [−10도, , 10도] ] randomly
    • 3th) the heights of images are rescaled with ratio from 0.8 to 1.2 while their widths keep unchanged.
    • 4th) 640×640 random samples are cropped from the transformed images.
  • OHEM기반 학습

Experiments

image
image
image
image

정리

  • FOTS는 EAST(text detection)+CRNN(recognition)을 결합한 형태이다.(end to end)

@chullhwan-song chullhwan-song reopened this Mar 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant