OCR은 입력, 손글씨 또는 인쇄 된 이미지 형태의 텍스트를 조작 할 수있는 기계 인코딩 텍스트 데이터로 치환하는 것입니다. 최근 AI, 자동화(RPA 등) 도입으로 많은 관심을 받고 있습니다.

OCR의 품질

OCR에 대한 관심이 높아지면서 연구와 투자가 활발해지면서 인식률이 많이 올라간 상황이지만 여전히 OCR에서 한글의 인식률은 매우 저조합니다. 영어의 경우 글자의 수는 26자(A, B, C….)이지만 한글의 경우 완성형으로 2,350자, 조합형으로는 11,172자이니 학습의 양이 많을 뿐 아니라 결과 또한 오인식 될 확률이 높기 때문입니다. 한 줄로 쓰는 영어, 서유럽 언어와는 달리 받침이 존재하고 문자 모양이 복잡한 한글의 경우는 이미지 조금만 틀어져도 두 줄로 인식될 수 있어 한글의 인식률은 매우 저조합니다.

OCR 대상이 종이인 경우 재질의 특성상 구김과 같은 왜곡과 음영, 명암 등이 존재하며 인쇄물을 스캔한 상태가 좋지 않아 다른 대상(카드, 번호판 등)에 비해 인식률이 상대적으로 좋지 못합니다. 그림, 표, 바코드 등을 포함한 복잡한 구조의 문서인 경우라면 OCR 품질은 더욱 나쁠 수밖에 없습니다.

OCR 솔루션 Benchmark

아래 Benchmark에 소개되는 회사 4개 중 3개의 회사가 ABBYY OCR엔진을 사용하고 있었습니다. ABBYY OCR엔진의 한글 공식 인식률은 98%라고 소개되고 있습니다. 98%라는 수치는 낱글자의 OCR 인식률이고 상대적으로 양호한 상태의 문서로 테스트가 진행되었을 때 수치라고 판단됩니다.

두 차례에 걸쳐 Benchmark를 실시했으나 모든 결과가 상당히 낮은 인식률이 나왔습니다.

현재 OCR 솔루션은 완벽한 솔루션이 아니며 매우 한정된 조건에서만 좋은 결과를 산출해낸다는 걸 확인 할 수 있었습니다.

Benchmark 결과를 보면 재미난 사실이 있습니다. C사는 자체 개발한 Deep Learning 모델로 OCR을 수행하였고 A, B, D사 모두 동일한 ABBYY OCR엔진을 사용하였습니다. 하지만 결과를 보면 동일한 OCR엔진이라 하더라도 각기 다른 인식률이 나왔습니다.

OCR엔진 외에도 인식률에 영향을 주는 요인을 개선한다면 ?

OCR정확도를 높이기위해 이미지 전처리와 OCR이 수행영역에 대한 식별이 가능하다면 OCR엔진과 무관하게 인식률이 개선 될 수 있다고 판단되어 자체 솔루션 개발을 진행하였습니다.

>> Image-OCR Solution 설명 페이지

 

OCR - Optical Character Recognition with Python

Published on May 31, 2019 by Yunwoong Kim on OCR OPTICAL CHARACTER RECOGNITION DEEPLEARNING Image OCR Description Python으로 작성되었으며 그래픽 인터페이스에 PyQt를 사용합니다. OCR엔진은 Tesseract 오픈소스를 사용하였습

yunwoong7.github.io


>> [ Python ] 간단한 MNIST 모델 (OCR) 만들기

>> Tesseract, PyTesseract 설치방법 (OCR 개발환경)

>> 파이썬 Tesseract OCR 활용 (기본)

>> 파이썬 Tesseract OCR 활용 (심화1)

>>파이썬 Tesseract OCR 활용 (심화2)

>> 문자 추출 및 인식 (EAST text Detector Model)

>> EasyOCR 사용하기

>> Google Cloud Vision API 를 이용한 OCR 개발

 

반응형

'Insights > IT Trends' 카테고리의 다른 글

ChatGPT 사용기 (사용법)  (0) 2022.12.20
Data Representation (Data Labeling)  (0) 2022.12.16
Open Source  (0) 2021.01.29
Machine Learning  (0) 2021.01.29
Digital Transformation(DT) 알아보기  (0) 2021.01.29