광학 문자 인식
이미지 내에 그림을 읽는 기술
- 우편번호 추출을 통한 우편물 관리
- 자동차 번호판 인식
- 모바일 기기 사용한 명함인식
- 신용카드 읽기를 이용한 결제 서비스
- 컨테이너 일련번호 인식을 이용한 스마트 선박 시스템
구글 OCR API
Google Cloud Vision API키 생성 및 저장
OCR 원리
입력받은 사진 속에서 문자의 위치를 찾아냄 (Text Detection)
문자 영역으로부터 문자를 읽어냄 (Text Recognition)
문자 영역 표시의 방법
- 축에 정렬된 사각형 (Bounding box), 돌아간 사각형(Oriented bounding box), 자유로운 사각형(Quardrangle), 다각형 (Polygon), Pixel단위로 표현한(Mask)
딥러닝의 문자인식
CNN에서 LeNet은 1998년 우편번호나 손글씨를 읽기 위해서 만들어짐
Lenet 데모 플레이
Object Detection(객체 인식)
일반적인 Object Detection 방법으로 접근
- Regression은 기준 박스 대비 문자의 박스가 얼마나 차이가 나는지 학습
- Segmentation은 픽셀 단위로 해당 문자를 분류
문자 객체 인식에서의 특징
- 일반적인 객체는 물체에 따라 크기가 일정 특징을 가지지만 문자는 영역과 배치가 자유로워 문자 검출을 위한 설정이 필요
- 물체 간 거리가 충분히 확보되는 데 비해 글자가 촘촘히 배치
문자, 단어, 줄, 단락 단위 등의 특징을 가지는 문자열
Recognition
사진속에서 문자를 검출해 내는 모델이 해당 영역에 글자를 읽어내는 과정
ICDAR15라는 OCR 데이터셋에서 단어 단위로 잘린 이미지
문단 또는 블록 정보를 풀어내는 방법
- 이미지 내에서 검출된 단어 영역 위치정보
- X,Y 축으로 L2 Distance가 일정이내 단어 또는 문자들의 그룹을 만들어 단락으로 만들어보기
keras-ocr
케라스 API기반으로 이미지속 문자를 읽는 모델(CRNN)
Tesseract OCR
구글에서 후원하는 OCR 오픈소스 라이브러리로 현재 버전4 유지중
깃허브 갈음