부스트 캠프 ai tech 13~14주 OCR - 1
OCR
- Text라는 단일 Class에 대하여 예측을 하는 Task
- 위치를 검출하는 Text Detection과 내용을 인식하는 Text Recognization으로 나뉠 수 있다
일반적인 Object Detection Task와의 차이
Text Image Data의 특성상 일반적인 Object Detection과는 아래과 같은 차이를 가진다
- Object의 높은 밀도
- Data 특성 상 연속적인 Line에 여러가지 word가 존재하고 그 line이 붙어서 반복하기 때문에 일반적인 Object Detection에 비해 매우 높은 밀도를 가진다
- 극단적인 Ratio
- 언어에 따라서 띄어쓰기가 아에 존재하지 않거나 긴 단어들이 존재하기 때문에 Ratio가 극단적이다
- 특이한 모양
- 구겨짐
- 글자들이 종이같은 평면에 존재하는 경우가 많고, 휘어지거나 구겨지는 경우도 다수 존재하기 때문에 object의 영역도 구겨지면서 특이한 모양을 가진다
- 휘어짐
- 간판등 디자인적 부분으로 인하여 휘어진 영역을 가지는 경우도 존재한다
- 세로 쓰기
- 구겨짐
- 객체의 특징
- 같은 글자라도 큰 크기편차가 존재할 가능성이 높음
- 객체 영역이 모호함
OCR 모델은 위의 특징들을 고려하여 만들어 져야 한다
OCR Model
Base Model
OCR 모델은 크게 2가지 방법으로 글자 영역을 예측한다
- Regression-based
- 이미지를 입력받아서 글자영역 표현값을 출력하는 단순한 방식
- 사각형으로 출력하기 때문에 불필요한 영역을 포함하고, 정확도가 떨어지는 한계가 존재
- Anchor Box의 범위를 벗어나는 영역에 경우 측정 정확도가 떨어진다
- 글자 객체가 가지는 극단적인 Ratio를 제대로 반영하지 못하는 경우가 많음
- Segmentation-based
- 이미지를 입력받아서 화소단위로 정보를 뽑고 후처리를 통하여 글자 영역의 표현값을 확보
- Post-processing과 후처리가 필요하기 때문에 Regression-based에 비하여 연산량이 많다
- 서로 간섭이 있거나 인접한 개체간의 구분이 어렵다
- Hybrid 방식
- 위의 두가지 방법을 혼합하여 예측하는 방식
- Regression을 통하여 대략적인 영역을 탐색하고, Segmentation-based로 화소정보를 추출하여 세부적인 영역을 결정하는 방식을 취한다
- MaskTextSpotter
Task Based
- Character-Based
- Charater 단위로 검출
- Word-Based
- Word 단위로 검출