Wetext: Scene text detection under weak supervision (ECCV 2017)
- 논문 제목: Wetext: Scene text detection under weak supervision
- 연구 기관: Infocomm, Nanyang Technological Univ., National Univ. of Singapore
본 연구는 문자 인식 시, 학습 데이터가 부족할 경우 semi-supervised or weakly supervised learning 을 통해 인식 성능을 향상시킬 수 있음을 보여주는 기술에 관한 것이다 (어찌보면 굳이 테스트 해보지 않아도 당연히 성능이 올라갈 것으로 유추할 수 있어 보인다. 물론 성능 향상 폭이 어느 정도인지는 해 봐야 알 수 있겠지만...).
문자 인식은 크게 2 가지 방식의 기술이 존재한다. 첫째는, 본 연구에서 채용한 것과 같이 단위 문자 (character) 를 검출한 후, 이들의 조합으로 단어 (text line 또는 word) 를 생성하는 방식이다. 둘째는, 단어를 한번에 검출하고 인식하는 방식이다. 본 연구는 첫번째 방법의 인식 기술을 채택하여 실험하였다.
- 문자열 검출 기술
- 단위 문자 검출 (Character detection and recognition)
- 1 stage object detection 기술인 SSD (Single Shot multibox Detecto) 를 채용하여 단위 문자 검출
- Backbone 은 VGG-16 구조를 채용하고, 마지막 fully connected layer 는 additional conv. layer 로 대체
- Base feature + additional feature 적용 (-> multi-scale feature)
- 각 feature point 에서 6 개 값을 추정 (bounding box 4 offsets + 2 text/background scores)
- Inferencing stage 에서 NMS (Non-Maximum Suppression) 적용 (1,000 개 후보 box 를 500개로 축소)
- 단어 검출 (text line extraction)
- 검출된 character box 정보을 이용하여 단어를 검출하며, 아래 논문에서 제안한 graph-based text line extraction 기술을 채택하였다.
- Graph-based text line extraction 은 본 글의 목적을 벗어나므로 자세한 설명은 생략한다. 상세 내용은 아래 논문을 참고.
본 연구에서 의미있는 부분은 semi-supervised 또는 weakly supervised learning 시 OCR 성능이 얼마나 향상될 수 있는가에 관한 것이다. 아래에 각 학습 방법에 대한 설명을 기술하였다.
- Semi-supervised learning
- Character 단위로 레이블 정보가 있는 소규모 annotated DB 를 이용하여 'light model' 을 학습
- Light model 을 이용하여 레이블 정보가 없는 대규모 unannotated DB (R) 를 인식하여 학습 후보 character box 를 생성
- 학습 후보 character box 중, confidence score 가 threshold (S = 0.5) 이상일 경우 학습 DB 에 추가
- Weakly supervised learning
- Character 단위로 레이블 정보가 있는 소규모 annotated DB 를 이용하여 'light model' 을 학습
- Light model 로 weakly annotated data (R’) 을 인식하여 학습 후보 character box 생성
- Weakly annotated DB: Character 단위 레이블은 없으나, word 단위 레이블이 존재하는 대규모 DB
- 학습 후보 character box 중 confidence score 가 threshold (S’ = 0.2) 보다 크고, 후보 character box 와 ground truth word box overlap 이 0.8 이상일 경우 학습 DB 에 추가
굳이 실험 결과를 직접 보지 않더라도 semi-supervised learning 보다 weakly supervised learning 이 더 좋은 결과를 얻을 수 있음을 예상할 수 있다. Semi-supervised 방식은 레이블 정보가 아무것도 없는 DB 를 사용하며, weakly supervised 방식은 그나마 word 레이블이 존재하므로, weakly supervised 방식이 학습에 추가할 DB 를 선정함에 있어 true positive sample 을 선택할 확률이 더 클 수 밖에 없다. 이러한 이유로 weakly supervised learning 방식의 confidence score threshold 를 semi-supervised learning 방식의 threshold 보다 훨씬 작은 값으로 설정한 것으로 추정된다.
[ 실험 결과 ]
- Test DB 구성
- ICDAR 2013 dataset (light model 학습에 사용)
- Character level bounding box
- 229 training image + 233 testing images
- FORU dataset
- Flickr website 에서 수집, word/character level bounding box label
- 1162 images, 14888 annotated characters
- COCOText dataset
- 14712 images
- Word level bounding box label
- SWT dataset
- 307 images (텍스트 가독성 떨어짐)
- Word level bonding box label
- Training details
- ImageNet DB 를 이요하여 VGG-16 을 pre-training
- Initial learning rate 10-3, 10K iteration 후 learning rate 10-4 변경, 총 15K iteration
- SGD (batch size 32) + Momentum optimizer (rho = 0.9)
- weight decay 5 * 10-4
- Batch size 32
- Training input image size 512 x 512
- Inferencing input image size 600 x 600
[ Reference ]