컴퓨터 비젼(Computer Vision)

[OCR] CRAFT 학습 간 주의사항

rongxian 2022. 11. 27. 20:48

TL;DR

학습 데이터가 되는 입력 이미지의 모든 텍스트는 레이블링 하자.

 


CRAFT란 naver clova에서 발표한 text detection 알고리즘으로 segmentation으로 text의 위치를 검출하는 알고리즘이다. 네트워크 구조는 UNet-like로, VGG를 backbone 구조로 사용하였다. 

 

본 글에서 작성하고자 하는 내용은 비단 CRAFT 뿐만 아니라 대부분의 text detection 알고리즘에서 통용될 것이다.

 

 

https://github.com/JaidedAI/EasyOCR/blob/054ec4f90127ab9e45f101baf8caa519d5a6e035/trainer/craft/loss/mseloss.py#L98는 CRAFT의 loss 함수이다. Loss 계산간 negative pixel을 찾아 loss 값에 + 됨을 알 수 있는데, 즉 online hard negative mining을 쓰고 있음을 의미한다. (논문상에도 적혀있다.)

즉, 입력된 이미지에 레이블이 없는 텍스트가 포함되어 있다면, 학습간 그 텍스트가 loss 업데이트에 안좋은 영향을 줌을 의미한다. 

 

결론

입력의 모든 텍스트는 레이블링 하자.