Insight

OCR 이란? - 정의, 기술, Use case, 데이터 품질

광학 문자 인식(OCR)의 역사와 최신 트렌드까지 총정리

2023
.
07
.
05
OCR 이란? - 정의, 기술, Use case, 데이터 품질

OCR (광학 문자 인식) 이란?

정의

광학 문자 인식 (OCR, Optical Character Recognition) 은 텍스트 이미지를 ai 컴퓨터가 읽을 수 있는 포맷의 텍스트로 변환하는 과정을 의미합니다. 예를 들어, 물리적인 인쇄물이나 영수증을 스캔하는 경우 컴퓨터는 스캔본을 이미지 파일로 저장합니다. 이미지 파일에서는 텍스트 편집기를 사용하여 단어를 편집, 검색하거나 단어의 수를 계산할 수 없습니다. 그러나 OCR을 사용하면 이미지를 텍스트 문서로 변환하여 텍스트 데이터로 저장하고 다양한 작업을 할 수 있습니다.

기술 원리

OCR = Text detection + Text recognition

OCR 엔진에는 여러 OCR 모델과 알고리즘이 단계 별 task를 수행합니다. Text detection과 Text Recognition은 그 중에서 가장 중심적인 task이며, 전체적인 워크플로우는 아래와 같습니다.

The general OCR workflow


  1. Pre-processing: OCR의 input image는 노이즈로 인해 손상되거나 기울어지거나 또한 회전되어 있는 경우가 많습니다. 이러한 경우 다음 단계에서 제대로 된 결과가 나올 수 없기 때문에 사전에 손상된 이미지를 복구하거나 회전이나 기울여진 이미지를 복구합니다.
  2. Text Detection: Text detection은 Object detection의 확장 버전이라고 할 수 있습니다. Text recognition은 검출된 영역의 문자가 무엇인지를 인식하는 과정을 의미합니다. OCR은 구체적으로는 Classification, Detection과 Segmentation 기법이 결합된 형태입니다. 최근에는 두 가지 모두를 동시에 해내는 End-to-end 모델 개발이 성행하고 있습니다. 그 외에도 속도를 개선하거나, 프로세스를 조정하는 등 다양한 케이스로 발전되고 있습니다.
  3. Text Recognition: 이 단계에서 detection, segmentation 된 image boundary에 어떤 text가 있는지를 인식합니다. 작업 결과 일반적으로 텍스트와 함께 이미지 내 좌표와 영역이 나열된 텍스트 파일을 얻을 수 있습니다.
  4. Restructuring: Restructuring이란 input image에 있던 좌표에 따라 텍스트를 재배치하는 것을 의미합니다. 각 좌표를 반복하여 인식된 텍스트를 배치하기만 하면 됩니다. 재구성된 데이터는 원본 이미지와 구조적으로 유사한 형태로 만들어지며, 텍스트가 가진 정보의 context를 인식하는데 도움이 됩니다.
    ( ex> 이름: 문상선  -> [문상선]은 이름이다 )

OCR이 계속 주목받는 이유

OCR은 현재까지 20여년 간 사용 되었습니다. 기술 발전으로 인해 문서이미지만 인식하던 기술에서 일상적인 사진이나 동영상 속 문자까지 인식하는 기술로 발전되고 있죠. 왜 OCR 기술이 중요할까요?

비즈니스 업무 효율 향상

OCR은 기업의 이미지 및 문서 처리 업무를 자동화하여 프로세스 효율 극대화 및 비용 절감에 효과적입니다. 특히 증빙서류 등의 문서 처리가 많은 기업에서 많이 사용하고 있습니다. 특히 모바일 사용이 대중화되면서 기업이 처리해야 할 스캔 이미지가 모바일 촬영 이미지로 대체되고 있습니다. 수집된 이미지의 내부 자료화를 위해 문자 내용을 사람이 일일이 엑셀파일이나 데이터베이스에 입력하는 방식 대신 OCR 기술을 적용하면 생산성을 크게 높일 수 있습니다.

특히 OCR은 프로세스의 효율화 및 자동화 측면에서, RPA와 연계했을 때 더욱 효과적입니다. RPA는 단순 반복적인 업무 프로세스를 사람 대신 소프트웨어 로봇이 수행하게끔 설계하는 업무 자동화 기술입니다. RPA와 연계된 OCR은 인식한 값들을 저장 및 전송하는 것에서 더 나아가 프로세스 전체를 자동화할 수 있습니다.

How to apply OCR in conjunction with RPA
RPA와 연계 시 OCR 적용 방향 (출처: 투어컨설팅)

LLM 학습 데이터 파인 튜닝

또한 OCR 기술은 스캔한 문서와 이미지에서 텍스트를 추출하여 대규모 언어 모델(LLM)을 학습하고 미세 조정하는 데에 사용할 수 있습니다. LLM은 텍스트를 생성하고, 언어를 번역하고, 다양한 종류의 창의적인 콘텐츠를 작성하고, 질문에 답변할 수 있는 Generative AI 입니다. ChatGPT나 Bard, PaLM 등 Foundation Model이 여기에 포함되어 있습니다.

이러한 LLM, 대규모 언어 모델들은 텍스트와 코드로 구성된 방대한 데이터 세트를 학습하며, 학습하는 데이터 품질이 성능에 매우 중요합니다. OCR 기술은 스캔 문서나 이미지, PDF 등 다양한 형식의 고품질 데이터를 LLM에 제공하며 고객 응대 ai 챗봇 등에 활용 될 수 있습니다. 이 데이터는 Text classification, NLP, Q&A 등 다양한 작업에서 LLM을 훈련시키는 데에 사용할 수 있습니다.

OCR 솔루션 및 활용 사례

PDF 스캐너

PDF OCR 이란, 자동으로 광학 문자 인식(OCR)을 문서에 적용하고 편집 가능한 PDF 사본으로 변환하는 것입니다. PDF 스캐너에서 OCR은 이미지를 다른 비즈니스 소프트웨어가 읽을 수 있는 텍스트 데이터로 변환하여 개인과 기업의 시간과 비용 리소스를 절약할 수 있다는 장점이 있습니다.

일상에서 쉽게 사용할 수 있는 유무료 PDF 스캐너를 간단하게 소개합니다.

  • ~브라우저 작동 방식으로 별도의 소프트웨어 설치 불필요
  • ~오프라인 사용이 필요할 시 데스크톱 응용 프로그램 사용 가능
  • ~리눅스와 스마트폰에서도 호환 가능
  • ~웹 브라우저에서 온라인 변환 가능, 데스크톱 응용 프로그램으로 오프라인 작업 가능
  • ~이메일로 OCR된 문서를 다른 사람에게 전송하고 공유
  • ~인식한 PDF를 HTML, DOCX, TIFF로 변환하고 웹 브라우저에서 수정 가능
  • ~100가지 이상의 형식 지원
  • ~영어, 프랑스어, 독일어, 스페인어, 이탈리아어, 포르투갈어 중에서 OCR 언어 선택 가능
  • ~PDF를 PPT, Word, JPG, PDF/A, PNG, TIFF, Grayscale, Excel, TXT로 변환
  • ~최대 파일 크기 128MB, 시간당 최대 1건 무료, 처리당 최대 파일 수 10건
  • ~Aspose API를 사용하여 높은 인식 품질
  • ~자동 이미지 전처리를 수행하여 저해상도, 저대비, 노이즈 및 스큐 수정
  • ~자동화된 문서 레이아웃 감지 알고리즘

ChatGPT를 통한 OCR 시스템

ChatGPT는 OpenAI를 통해 책과 코드, 구글 검색 결과로 학습한 대화형 인공지능 서비스입니다. 이 모델에 OCR 기술을 접목하면, 이미지에서 추출한 원시 텍스트 데이터의 후처리에 이상적입니다. GPT를 OCR 시스템에 결합하면, 스캔한 문서는 컴퓨터와 휴대폰에서 자동으로 API로 보낼 수 있습니다.

Receipt analysis with Ximillar OCR and OpenAI ChatGPT
Ximillar OCR 및 OpenAI ChatGPT를 통한 영수증 분석

LLM에 구축된 OCR 모델은 방대한 데이터 세트를 학습하여 언어의 구조를 깊이 이해하기 때문에, 필기 텍스트나 저품질 데이터 등 까다로운 텍스트 출력 과정에서 OCR 모델의 정확도를 향상시킬 수 있습니다. 또한 언어의 기본 원리를 학습하는 과정을 통해 새로운 맥락에서 텍스트를 인식할 수 있습니다. 예를 들어 GPT에 OCR 데이터를 제공한 뒤 텍스트의 상세 내용에 대해 질문을 하면 답변을 받을 수 있는 것이죠.

물론 LLM 기반 OCR 모델에도 장점과 한계는 있습니다. 이 방식은 손으로 쓴 텍스트나 품질이 낮은 이미지 등 까다로운 입력에도 정확하게 대응합니다. 영어를 포함해 몇 종류의 단어에만 능숙한 기존 OCR 모델보다 다양한 언어의 텍스트를 인식할 수 있습니다. 하지만 훈련 및 배포에 많은 비용이 소모될 수 있으며, 많은 양의 학습 데이터가 필요합니다. 모델에 입력한 데이터가 학습 데이터와 매우 다를 경우 이를 인식하지 못할 수도 있습니다.

NAVER

Document Understanding OCR
Document Understanding OCR

네이버는 실제 사용 환경과 실용성에 따른 모델 개선에 주목하고 있습니다. Clova AI에서 서비스되는 Document understanding OCR은 문서의 종류에 따라 API를 분리했기 때문입니다. 즉, 영수증이나 신용카드, 사업자등록증, 고지서, 명함, 신분증 등 문서가 무엇이냐에 따라 전처리와 후처리 방법이 다르게 설정되어 있다는 것을 알 수 있습니다.

네이버의 Text detection 모델은 watershed 기반의 학습 데이터 전처리 방법으로 데이터를 먼저 가공한 후, U-Net 기반 네트워크를 이용하여 학습합니다. 이후 Text recognition 모델은 검출된 텍스트의 인식을 위해 모델들을 조합하여, 객관적인 benchmark 방법을 제안합니다. 논문에 의하면, TPS+ResNet+BiLSTM+CTC 조합이 가장 우수하다고 합니다.

KAKAO

카카오는 YOLO와 유사한 특성으로 설계하여 실시간성에 주목하고 있습니다. 카카오는 처음 1차 인식 모델 RNN Layer를 사용했지만, 의존적인 구조와 순차적으로 글자를 뽑아낼 수밖에 없다는 한계를 개선하기 위해 연구해왔습니다. 그 결과, Self-attention 구조를 통해 성능은 유지하고 속도만 개선하는 데에 성공했습니다.

카카오의 OCR 구성 키워드를 분류하자면 다음과 같습니다.

  • 구조: Text detection, Text Recognition 모델 분리
  • Text detection model: Character-level Output, Model-based Clustering, Orientation Prediction, Simple Postprocessing (No NMS)
  • Text recognition model: Less Resources(No TPS), Transformer Only Model, Fixed Length Input

Google, Microsoft, meta

Google 역시 카카오와 유사한 방식의 Multi-head를 이용한 OCR 기술을 구축했습니다. Word와 Character별로 Bounding box를 각각 획득한 뒤, Recognition을 수행하는 것을 알 수 있었습니다. 이외에도 구글은 Vision-transformer 등을 통해 Vision Task에서도 Attention을 이용하고자 하며, 이를 OCR에도 활용하고 있습니다.

Microsoft Azure OCR
Microsoft Azure OCR

Microsoft Azure는 문단 단위로 텍스트 검출 영역을 확보하고 line detection, word 단위의 결과로 리턴합니다. 이는 앞에서 설명한 구글과는 다소 다른 방식인데, 일부 Structured text에 적용할 수 있다는 점에서 화제가 되고 있습니다. 즉, Microsoft는 구조화된 텍스트에 특화된 OCR 모델에 주목하고 있습니다.

META는 Scene text 대상 End-to-End 모델에서 활용 가능한 image-text, region-text-QA 구조의 멀티 모달을 연구하고 있습니다. 이러한 구조로 된 TextVQA data를 이용해 multi-modal로 학습한 경우, 같은 모델보다 최대 20% 이상 성능 향상을 거둘 수 있다는 점에서 놀라운 결과를 보였습니다.

딥 러닝과 OCR

Before Deep learning

딥 러닝이 적용되기 전 OCR은 OCR Engine으로 Tesseract OCR을 사용했습니다. 이 기술은 휴렛 팩커드가 제작한 뒤 오픈소스되고, 구글에 의해 디벨롭되면서 꾸준히 연구되고 있습니다. OCR의 역사에 대해 더 자세히 알고 싶다면 여기를 참고해 보세요.

딥러닝이 OCR에 활용되기 전에는 어떤 방식으로 이미지 속 문자를 찾아냈을까요? 관심있으신 분은 논문 링크를 통해 살펴보실 수 있습니다.

이 글에서 설명할 OCR의 대략적인 architecture는 아래와 같습니다.

Architecthure of Tesseract OCR
Architecthure of Tesseract OCR

  1. Adaptive Thresholding: 입력 영상의 이진화를 통해 흑백으로 변환
  2. Connected Component Analysis: 문자 영역을 검출
  3. Find Lines and Words: 라인 또는 단어 단위를 추출
  4. Recognize Word: 단어 단위 이미지를 Text로 변환하기 위해 문자를 하나씩 인식하고 다시 결합

위의 과정은 일반적인 딥 러닝 기반의 OCR에도 적용되는 기본적인 단계입니다. 수행하고자 하는 목표와 기본 흐름은 같으나, 딥 러닝이 없었던 시절인 만큼 방법이 달랐다고 볼 수 있습니다.

Text detection

딥 러닝을 이용해 이미지에서 텍스트의 위치를 찾는 Text detection은 Object detection이나 segmentation 기법 등과 유사한 속성이 있지만 세부적으로는 다른 특성이 있습니다. 

문자는 몇 개가 모여서 단어나 문장을 이루기 때문에, 이미지 내에서 문자를 검출해낼 때엔 최소 단위를 설정하는 과정이 필요합니다. 

[고] , [구], [마], [는], [맛], [있], [다]

예를 들어, 위 처럼 글자 단위로 따로 검출한다면 이후 맥락에 맞추어 글자를 붙여주는 과정을 거쳐야 합니다.

 

Text detection
Input image를 (a) proposal extraction, (b) text-block FCN, (c) multi channel FCN, (d) connectionist Text Proposal Network, (e) Multi-channel FCN 방법으로 진행하는 과정

위 그림은 2017년에 발표된 EAST:An Efficient and Accurate Scene Text Detector 논문에서 발표한 Text detection 기법을 정리한 것입니다. 당시에는 Text의 Bounding box를 구하는 방식이 주를 이루었습니다. 따라서 가로 방향의 텍스트 박스를 구하는 방식이나 여러 방향(Multi-oriented)의 텍스트 박스를 구하는 방식이 다양하게 소개되어 있습니다. 특히 단어 단위의 탐지와 글자 단위의 탐지가 모두 활용되고 있다는 것을 알 수 있습니다.

단어 단위의 탐지 방법과 글자 단위의 탐지 방법은 어떤 차이가 있을까요?

문장 또는 단어 단위의 탐지

  • Object detection의 Regression 기반의 탐지
  • 긴 단어 혹은 문장과 함께 짧은 길이도 찾을 수 있어야 함
  • Anchor를 정의하고 단어의 유무와 Bounding box의 크기를 추정해서 단어를 탐지

글자 단위의 탐지

  • Bounding box regression을 사용
  • 글자를 놓치지 않고 찾아낼 수 있지만, 글자를 다시 맥락에 맞게 묶어주는 과정이 필요
  • 글자 영역을 Segmentation 하는 방법으로 접근

Text recognition

글자의 이미지들은 문자의 순서대로 정보를 가지고 있습니다. 다만 일부 이미지는 분리에 비용이 많이 들거나 난이도가 어려워 segmentation이 되지 않은 상태일 수 있습니다. 

이런 데이터에 대해서 CNN(Convolutional neural network)와 RNN(Recurrent neural network)를 함께 쓰는 방식으로 Text recognition을 수행할 수 있습니다. 이런 모델을 CRNN이라고 합니다. CRNN은 입력된 이미지가 어떤 문자일지를 높은 확률로 맞추어내어 data processingDeep learning에 도움을 주고 있습니다. 

An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition
An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition

또한 Attention과 Text recognition 모델의 조합이 딥 러닝 OCR 분야에 큰 영향을 미치고 있습니다. Attention 기반 순차 예측은 문장의 길이를 고정하고 입력되는 Feature에 대한 Attention을 기반으로 해당 글자의 Label을 예측하는 방법입니다. 첫 번째에 입력된 Feature에 대한 Attention을 기반으로 Label을 추정하고, 추정된 Label을 다시 입력하여 다음 글자를 추정하는 방식입니다.

예를 들어, "안녕하세요"라는 문장을 예측한다고 가정해 보겠습니다. Attention 기반 순차 예측은 첫 번째 글자인 "안"에서 입력 Feature에 대한 Attention을 기반으로 "녕"이라는 Label을 추정합니다. 추정된 Label인 "녕"을 다시 입력으로 사용하여 다음 글자인 "하"를 추정합니다. 이 과정을 반복하여 "안녕하세요"라는 문장을 예측합니다.

Attention과 Text recognition 모델의 조합에 대한 성능 정보는 Naver Clova의 논문에서 자세히 알 수 있습니다.

OCR 최신 연구 논문

아래에는 최근 주목 받고 있는 기술 개요와 논문으로, 자세한 내용은 각 논문 링크에서 확인하실 수 있습니다.

Character region Awareness for Text Detection

  • ~문자 단위로 문자의 위치를 찾아낸 뒤, 이를 연결하는 방식을 segmentation 기반으로 구현한 방법
  • ~문자의 영역을 명확히 구현하지 않고 원형의 score map을 만들어서 배치하는 방법으로 문자 영역을 학습
  • ~Weakly supervised learning 활용

Pyramid Mask Text Detector
Pyramid Mask Text Detector

  • ~Mask-RCNN의 구조를 활용해 text 영역을 region proposal network로 탐지
  • ~이후 Box head에서 더 정확하게 regression 및 classification 후 mask head에서 instance segmentation
  • ~Mask 정보가 부정확한 경우를 대비 및 반영하고자 Soft-segmentation 활용

OCR 데이터 품질 높이는 방법

최근 개발된 OCR 시스템은 Error Correction 모델을 추가하여 성능이 더욱 향상된 것을 볼 수 있었습니다. 예를 들어, OCR 시스템이 B로 적힌 문자를 A로 잘못 인식했을 경우, Error Correction 모델은 문서에서 문자가 A일 확률과 B일 확률을 비교하여 이 오류를 식별할 수 있습니다. 경우에 따라 Error Correction 모델의 채용은 OCR 시스템의 오류율을 최대 50%까지 줄일 수 있다고 하죠.

또한 인식 대상 텍스트에 유의해야 할 맥락이 있거나, 특정 Wrong Case에 있을 경우 이를 정확히 분석해내고 있습니다. Error case에 대한 통계 데이터를 보유하고 있는 경우 환영할 만한 개선 결과입니다. 수동적인 접근 방식부터 단어 수준의 접근 방식, 문맥에 따른 접근 방식 등을 활용할 수 있습니다. 이외에도 OCR 데이터 품질을 개선하기 위한 여러 방안이 나오고 있습니다. 그 중에서 데이터헌트가 추천하는 OCR 정확도 높이는 방법 두 가지를 소개합니다.

성능 평가

정확도를 높이는 방법에는 여러가지가 있습니다. 그 중 OCR 모델의 기본적인 성능을 분석한 결과를 토대로, 문제점을 파악하고 성능을 개선할 수 있습니다. 일반적으로 기존에 이루어지던 성능 평가 방법을 요약하면 아래와 같습니다.

  • 검출 평가 방법 (IoU, Intersection over Union): 정답과 예측 박스가 얼마나 겹치는지 확인
  • 인식 평가 방법 (WEM, Word based Exactly Matching): 정답과 예측 단어가 정확히 일치하는지 단어 기반으로 체크
  • 인식 평가 방법 (1-NED, Normalized Edit Distance): 두 단어간 편집 거리를 측정한 뒤, 긴 단어의 길이로 정규화
  • End-to-End 평가 방법: 검출 평가(IoU) → 인식 평가(WEM, 1-NED) 등으로 순차 평가 처리

OCR Intersection over Union
Intersection over Union

그러나 기존 방법은 정교한 성능이 측정 불가하다는 단점이 있습니다. 하나의 정답 박스가 여러 개의 박스로 나뉘어 예측 되거나, 여러 개의 정답 박스가 한 개의 박스로 합쳐져 예측 되는 경우 정확한 성능을 측정할 수가 없었죠. 기존 방식의 한계에 대한 자세한 내용은 이 문서에서 확인하실 수 있습니다.

PopEval: A Character-Level Approach to End-to-End Evaluation Compatible with Word-Level Benchmark Dataset
PopEval: A Character-Level Approach to End-to-End Evaluation Compatible with Word-Level Benchmark Dataset

위의 문제를 해결하는 단서는 PopEval에 있었습니다. 신규 평가 방법은 피어슨 통계 분석 결과 기존 방법보다 우수한 것으로 밝혀졌습니다. 특히 Split, Merge 문제 해결에 가장 효과가 있었습니다.

원리는 단순합니다. 겹치는 영역의 글자 중에서 같은 글자를 하나씩 지우는 방식으로 정답률을 계산하고 성능을 측정하는 것이죠. 이는 사람의 평가 방식과 가장 유사하며, 글자 단위로 평가하기 때문에 정교한 성능 측정이 가능합니다.

Popeval 평가 알고리즘은 기존의 방식에 비해 인간의 정성적 평가에 가까운 방식으로 진행합니다. 문자 수준 접근 방식으로 고안되었지만, 비교 실험의 결과에 따르면 단어 수준에서 주석이 달린 기존 데이터 세트와도 호환이 가능한 것으로 밝혀져 업계에서도 주목을 받고 있습니다.

데이터헌트의 OCR 품질 개선

OCR 작업의 정확도를 높이기 위해서는 전처리가 중요합니다. 데이터헌트는 이 과정에서 AI와 사람이 협업하는 구조를 만들었습니다.

Receipts OCR

데이터헌트는 한국전력공사로부터 요청 받은 영수증 이미지 10,000장 정제 미션을 수행하게 되었습니다. 데이터 구축 가이드라인 기준에 따라 Raw-data를 정제한 뒤, 글자 기울기에 따라 Bounding box 또는 Polygon을 사용했습니다. 이후 작업한 영역을 Text transcription을 진행하였으며, 메타 데이터 추출을 위한 Text classification 작업을 진행했습니다.

OCR 작업을 위한 전처리 과정에 인공지능을 도입하여 정확도 뿐만 아니라 작업 시간 개선에서도 큰 성과를 보일 수 있었습니다. 평균적으로 데이터 라벨링 작업 시간을 40% 가량 단축할 수 있었죠.

결론: OCR 시스템에 AI를 접목하여 데이터 추출 품질을 향상할 수 있다.

OCR 처리된 데이터로 AI를 훈련할 때 가장 중요한 것은 Bounding box의 밀도입니다. 모델이 텍스트 문자와 단어 사이의 공간적 관계를 학습할 때 이 기준이 중요하게 작용하기 때문입니다. Bounding box의 밀도가 높다는 것은 박스간의 간격이 가깝다는 것으로, 이를 통해 AI는 원본 문서에서 이러한 문자와 단어가 서로 가까이 있을 가능성이 높다는 것을 학습할 수 있습니다. 이 정보를 사용하면 AI의 OCR 정확도를 향상시킬 수 있습니다.

예를 들어 BBOX의 밀도가 낮으면 AI가 원본 문서에서 ‘A’와 ‘B’가 서로 가까이 있을 가능성이 높다는 것을 학습하지 못할 수도 있습니다. 물론 밀도가 지나치게 높을 경우 AI가 모든 문자와 단어가 항상 서로 가깝다고 학습할 가능성이 높기 때문에, ‘THE’라는 단어를 학습하는 과정에서 ‘T’와 ‘HE’로 나누어서 판단할 수도 있죠.

따라서 OCR 가공 데이터로 모델을 학습시킬 때에는 Bounding box 밀도의 균형을 찾는 것이 중요합니다. 이를 위해서는 처리 중인 문서 유형에 적합한 Bounding box 밀도를 적용해야 하며, 표시해야 하는 텍스트 주위를 제대로 표기할 필요가 있습니다. 다양한 Bounding box 크기를 사용하고 글꼴을 사용해 모델이 지나치게 일반화되는 것을 방지하는 것도 중요합니다. 데이터헌트가 AI를 통해 OCR 작업을 진행할 때, 기울기를 수동으로 보정한 것도 Bounding box의 밀도를 더 높이기 위한 목적이었죠.

데이터헌트는 Human in the loop 원칙으로 사람의 평가 방식과 가장 유사한 방법을 채택합니다. 그와 동시에 AI를 통해 작업 시간을 단축하고 정확도를 향상하는 방법으로 OCR 품질 향상에 힘쓰고 있습니다. OCR은 비즈니스 자동화를 구축하기 위한 첫 걸음이면서, 최우선으로 이루어져야 할 과제입니다. 중요한 미션인 만큼 최선을 다해 연구하고 검수하는 데이터헌트의 모습을 보여드리겠습니다.

요약

  1. 광학 문자 인식(OCR)은 컴퓨터 비전 기술의 한 분야로, 텍스트 이미지를 컴퓨터가 읽을 수 있는 텍스트 포맷으로 변환하는 기술입니다. 텍스트 편집기를 사용할 수 없는 이미지 파일을 텍스트 문서로 변환하여 내용을 편집 및 검색, 단어 수를 계산할 수 있도록 만들 수 있습니다.
  2. OCR은 Text detection 모델과 Text recognition 모델의 결합으로, Classification과 Detection, Segmentation 기법이 결합된 형태입니다. 최근에는 두 가지 모두를 동시에 해내는 End-to-end 모델 개발이 성행하고 있습니다. 또한 머신러닝 기반의 알고리즘을 활용하면서 인식률이 크게 높아졌습니다. 또한 딥러닝을 적용해 정확도가 향상된 것을 확인할 수 있습니다.
  3. OCR 데이터 품질을 높이기 위한 방법 중 Popeval 기술을 적용한 평가 방법은 Split, Merge 등의 문제 해결에 효과적입니다. 데이터헌트는 주로 AI-assisted 기술로 AI와 사람이 협업하는 구조를 만들었으며, 이미지 전처리 과정에서 사람의 개입을 통해 작업 시간 개선 및 정확도 개선의 성과를 거두었습니다.

Reference.

  1. https://arxiv.org/pdf/1811.06193.pdf
  2. https://arxiv.org/pdf/1704.03155v2.pdf
  3. [1904.01941] Character Region Awareness for Text Detection
  4. https://arxiv.org/pdf/1903.11800.pdf
  5. https://arxiv.org/pdf/1507.05717.pdf
  6. Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks
  7. https://arxiv.org/pdf/1603.03915.pdf
  8. https://arxiv.org/pdf/1709.02054.pdf
  9. https://arxiv.org/pdf/1904.01906.pdf
  10. https://arxiv.org/pdf/1904.01375v1.pdf

Talk to Expert