Tesseract를 활용한 이미지 속 문자인식
Tesseract는 이미지로부터 텍스트를 인식하고 추출하는 소프트웨어이며 HP 연구에서에서 개발된 오픈소스 OCR 엔진이다. 현재까지도 LSTM(Long short-term memory)과 같은 딥러닝 방식을 통해 텍스트 인식률을 지속적으로 개선하고 있다. Tesseract를 사용하기 위해서는 관련 프로그램을 설치 해야한다. 프로그램은 아래 주소에서 다운로드 받을 수 있다.
· https://github.com/tesseract-ocr/tesseract/wiki
필자의 경우 MAC OS에서 설치를 진행하였으며 home brew를 사용하여 설치 하였다.
brew install tesseract |
brew로 설치한 경우 아래 명령으로 설치된 경로를 확인할 수 있다.
brew list tesseract |
설치가 완료 되었으면, 이미지 파일을 읽어 문자열을 출력하도록 한다. 배경색상과 글자색상에 따른 이미지 인식률을 확인하기 위해 3가지 케이스를 테스트하였다. 실행명령은 아래와 같다.
tesseract /이미지경로/파일명 stdout |
Image |
Results |
출력 결과를 살펴보면, 배경색과 글자색의 대비가 높을 수록 높은 인식률을 나타내고 있다. 또한 이미지속의 글자가 단순하고, 글꼴에 따라서도 인식률이 다르게 나타나는것을 확인할 수 있다. 이 글에는 포함되어 있지 않지만, 한글과 영어에 따른 인식률 차이도 발생함을 확인할 수 있었다.
이처럼 전체 텍스트 구조를 분석하고 인식하는 과정에 다양한 오차가 발생하기 때문에, 이미지의 인식률을 높이기 위한 전처리 과정이 필요하며, 대표적으로 OpenCV를 사용하여 배경과 글자를 분리하여 작업을 진행할 수 있다.
2020-12-17/ Sungwook Kang / http://sungwookkang.com
이미지 인식, OCR, Tesseract, 문자열 인식, OpenCV, 딥러닝, 머신러닝, 글자 인식, 이미지 분석
'SW Engineering > 머신러닝 딥러닝' 카테고리의 다른 글
Python에서 Yahoo 주식 데이터 가져오기 (0) | 2020.12.29 |
---|---|
Python에서 Tesseract 사용하기 (0) | 2020.12.19 |
과대적합(Over fitting)과 과소적합(Under fitting) (0) | 2020.03.19 |
경사 하강법(Gradient Descent) (0) | 2020.03.16 |
순전파(Feedforward)와 역전파(Backpropagation) 개념 (1) | 2020.03.15 |