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

Character Region Awareness for Text Detection #136

Open
chullhwan-song opened this issue Apr 4, 2019 · 1 comment
Open

Character Region Awareness for Text Detection #136

chullhwan-song opened this issue Apr 4, 2019 · 1 comment

Comments

@chullhwan-song
Copy link
Owner

chullhwan-song commented Apr 4, 2019

https://arxiv.org/abs/1904.01941

@chullhwan-song
Copy link
Owner Author

chullhwan-song commented Apr 4, 2019

Abstract

  • CVPR 2019
  • Scene text detection
  • word 레벨이 아닌 char 레벨로 검출하고 word로 확장하는 방법인듯~> 최종적으로는 word 단위로 detection
    • to effectively detect text area by exploring each character and affinity between characters
  • 그러나, 실제로 제대로 하려면 학습셋, 즉, char단위의 annotation 셋이 있어야함.
  • 하지만, 이런 데이터는 얼마 없음. 만들기도 어려움.
  • 이를 위해 합성 데이터와 몇개 존재하는 benchmark set을 이용. > learned interim model
  • affinity ? > char는 정면/정각으로 안되어 있으니..이를 char로 단위로 되어 있으면 affine matrix를 구할 수 있어서 이를 이용한다는 의미인듯.. > 학습셋 구성에 있어서..?
    image

Methodology

  • natural image에서 개별적인 char단위를 정확하게 localize하는게 이논문의 목적

Architecture

image

  • U-Net 기반의 encoder를 VGG base로 한듯.
  • EAST등의 최근 나온 논문과 기본 구조/개념은 거의 유사하다고 봄.
  • 다만, 맨 나중에 prediction layer에서, 두개의 region score & affinity score 를 예측함. ?

Training

  • 앗.. 벌써..학습방법을... > 이 논문에서 가장 중요한 chapter가 아닐까.? 어떻게 학습을 했는지가..
  • network 의 output
    • region score는 주어진 pixel이 char의 중심일 확률를 의미.
    • affinity score는 인접한 char 사이의 공간에서의 중심 확률을 의미 ? > 어라..몬뜻인지. 글자와 글자사이의 중심확률로..번역이.. > char와 char사이의 중간위치를 중심으로 표현한것같음.
  • 이러한 확률들은 Gaussian 확률기반( Gaussian heatmap)으로 나타내진다. > 이러한 방법은 이전 연구에서도 사용되어짐.
    • Gaussian 확률로 smooth하게 weakly 정보를 보안하려는듯~
    • 내기억엔 CPM에서도 비슷한...
      image
    • char box는 주어진 정보고, affiny box는 두 char box를 이용하여 두개를 연결하는 의미.
      • 이때, char box에서 char box rectangle 각 위치와과 그 중심 사이를 연결하면, 총 4개의 triangle를 생성하는데, 그 중 상하 두개를 선택함여 그 사각형의 Center(꼭지점의 합)를 구함. 그러면 인접까지 4개의 사각형의 중심을 이어주면, 최종적으로 char와 char사이를 이어주는 사각형을 형성하여 이를 이용한다는 의미.
      • 아래 Fig.4에서 두 개의 hitmap을 예측(동그란 단위?)하는데, 하나는 char 단위, 하나는 char와 char사이의 중심 단위, 주의) 두개다 문자같은데.. 세어보면 앎음.
    • 그림상으로 char 자체를 Gaussian 처리한다면 위치 정보를 이용하여 affine transformation한것으로 보이고, 두 개(인접 char)를 붙혀 보이게 하는것이 affiny하게 되는가 본데..실제적으로 char도..
    • 그림에서 명확해지는듯함 - 위에서 언급했듯이 affinity score는 두 char 사이의 center 위치에 대한 prob임.

Weakly-Supervised Learning

  • 합성 데이터가 아닌 real images > benchmark 데이터.
  • 일단 합성 이미지는 그대로 진행 = 5:1인듯.
  • word 레벨 traninset은 word 정보만 있지만, 이전 학습된 모델로 char를 predication하여 word안에 prediction한 정보를 라벨링정보로 이용한다는 의미인듯.. > 이렇게 하는게 있나? > pseudo-ground truths
  • 다음 그림들을 보면 좀더 명확
    image
    image
  • 그리고, 잘못된 annotation된 정보를 word length 를 이용하여 제거 > paper 참조
    image

Inference

  • IOU
  • binary map
  • Connected Component Labeling (CCL)
  • QuadBox
  • OpenCV - connectedComponents & minAreaRect
  • curved texts 에 대해서
    image

중간 정리

  • U-Net등의 용어가 나오는걸 힌트, 사실 그렇게 그림들이 노골적으로 보이진 않지만, 기본적으로 FCN 방법으로 접근하는것같다.
  • 즉, Segmentation으로 char/word를 binary image 형태(확률 정보를 포함하고 있는 이미지임)의 output를 만들고, hand-craft한 후처리를 통해, 비젼처리(opencv 함수이용)를 통해 localization한다.
  • 즉, EAST나, Faster R-CNN등과 같이 net안에 localization layer가 없다는 의미.
  • 개인적으론 결과가 꽤~ 좋지 않나..싶다. 그러니 ICCADAR최상위에 랭크되어 있지 않나..싶다.. 그동안 어떤 알고리즘이길래 궁금하기도 했꼬.
  • 궁금한것은 밑의 결과에서 보듯이..char 레벨할때, caffe란 글자가 char단위로 볼때 붙어있는데, 서로 거의 분리되어 predict하는 것(대부분 분리..)을 알수 있다.. 가능하나?ㅎ 저정도까지 학습되려면 몬가 특별한...방법이..^^; > 위의 training 장을 좀더 디테일하게 읽어봐야겠다. ㅎ

Experiment

image
image
image
image

@chullhwan-song chullhwan-song reopened this Apr 8, 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