Skip to content

Optical character recognition

광학 문자 인식(Optical character recognition; OCR)은 사람이 쓰거나 기계로 인쇄한 문자의 영상을 이미지 스캐너로 획득하여 기계가 읽을 수 있는 문자로 변환하는 것이다.

이미지 스캔으로 얻을 수 있는 문서의 활자 영상을 컴퓨터가 편집 가능한 문자코드 등의 형식으로 변환하는 소프트웨어로써 일반적으로 OCR이라고 하며, OCR은 인공지능이나 기계 시각(machine vision)의 연구분야로 시작되었다.

거울이나 렌즈 등의 광학 기술을 이용한 광학 문자 인식과 스캐너 및 알고리즘에 의한 디지털 문자 인식은 다른 영역으로 생각되었으나 이제는 광학 문자 인식이라는 말이 디지털 문자 인식을 포함하는 것으로 간주되었다.

초기 시스템은 특정한 서체를 읽기 위해 미리 해당 서체의 샘플을 읽는 것을 뜻하는 "트레이닝"이 필요했지만, 지금은 대부분의 서체를 높은 확률로 변환이 가능하다. 몇몇 시스템에서는 읽어들인 이미지에서 그것과 거의 일치하는 워드 프로세서 파일과 같은 문서 포맷으로 된 출력 파일을 생성할 수 있으며, 그 중에는 이미지처럼 문서 이외의 부분이 포함되어있어도 제대로 인식하는 것도 있다.

Categories

Basic pipeline

Ocropus-pipeline.png

Deep learning based

Projects

클라우드 서비스

  • Google Cloud Vision
  • AWS Textract
  • Azure Document Intelligence (Form Recognizer)
  • Naver Clova
  • Upstage

OCR 서비스 비교평가 테이블

비교 타입

Tesseract

EasyOCR

Google Vision

AWS Textract

Azure Document Intelligence

Naver Clova

Upstage

PaddleOCR

Open Source

O

O

X

X

X

X

X

O

한글 인식

중상

최하(지원X)

중상

중(추가 테스트 필요)

영문 인식

표+글자 인식

1

상(Only Eng)

중상

속도

최하

최상

중상

중하

특화 모델2 제공

X

X

O

O

O (영수증, 명함, 보험/세금 서류, 신분증 등)

O(영수증, 명함, 사업자등록증 등)

O(영수증)

X

Model Customization3

O

O

X

X

O

O

X

O

요금(1건)4

무료

무료

$1.5 (매월 1000건까지 무료)

-

$0.01 (종량제: 매월 500페이지 무료)

3원 (매월 300건 무료)

3원

무료

API 사용 난이도

중상

고객 지원

X

X

X

O

O

O

O

X

confidence score 제공

O

O

O

O

O

O (문서별,단어별 각각 제공)

O

총평

  • 전통있는 대표적 OCR
  • 유료 서비스에 비해서는 전처리 해야하는 단점이 있으나 기본 사양한 충실히 해줌
  • 쉽고 직관적인 사용법이 장점이나 한글 인식률이 매우 떨어져 활용하기 힘들어보임
  • 속도 매우 느림
  • 압도적인 속도.
  • 초기 세팅이 상대적으로 번거로움.
  • 음영/그림자 등 이미지 퀄리티에 따른 인식률 차이가 있으나, 한글 및 영어 모두 괜찮은 성능을 보임
  • 영문 데이터에 최고
  • 자유도가 없으나 pre-built model 을 통해 웬만한 영문 서류 처리 가능
  • 영역별 개체 인식 및 confidence score를 통해 추가 검증 가능
  • 기존 Azure Vision 서비스 보다 고도화된 서비스
  • 다양한 특화모델 제공하여 용도별 추가 테스트 필요
  • 최근 출시된 V4.0부터는 네이버 Clova와 마찬가지로 "Model Customization" 가능
  • 한글 인식률 괜찮은 편
  • 현재 가장 무난하고 우수한 한글 OCR 서비스
  • 다양한 특화 모델 제공하며, 특화 모델과 맞지 않는 경우 “템플릿 생성”을 통해 반복되는 양식을 train my own data 할 수 있다는 장점
  • Documentation은 부실하고, UI/UX 또한 user-friendly 하지 않음
  • 관련 reference 없는편이나, 표+글자 인식률이 휴리스틱하게 판단할 때, 가장 뛰어나 보임
  • 다양한 모델 제공
  • EasyOCR 대비 속도&성능 측면에서 우월하나, Tesseract는 테스트 이미지에 따라 상이
  • 버전 컨트롤 필요 (Python 3.10 이하만 호환 -> downgrade 필요)

See also

Favorite site

Guide

Article

References


  1. 유료 Enterprise 용 별도 존재 

  2. 영수증, 사업자등록증 등 특정 문서를 학습한 OCR 모델로 보통 해당 양식의 이미지 정보가 미리 정의된 JSON 구조에 맞추어 리턴됨 

  3. Fine-Tune 이라고 보면 된다. “Train with My Own Data” 를 통해 모델을 미세조정할 수 있도록 기능 제공 

  4. 1건, 일반 OCR, Base Plan 기준이며, 건수/목적에 따라 매우 상이(많은 서비스에서 특정 건까지는 무료로 제공하기도 함) 

  5. Building_Custom_Deep_Learning_Based_OCR_models.pdf