Image

OCR 데이터 가공 품질을 높이는 방법

AI 모델을 자체 알고리즘으로 튜닝

2023
.
04
.
13
OCR 데이터 가공 품질을 높이는 방법

안녕하세요, 이번 글에서는 데이터헌트가 데이터 가공 작업에 OCR 기술을 어떻게 활용했는지, 그리고 그 효과는 어땠는지 한국전력공사 의 데이터 가공 실제 사례를 들어 소개하도록 하겠습니다.

OCR 이란?

OCR(Optical Character Recognition) 기술은 사진, 스캔된 문서, 비디오 등에서 텍스트를 인식하고 추출하는 데 사용되는 컴퓨터 알고리즘입니다. 이 기술은 광학 문자 판독기로, 눈으로 볼 수 있는 문자를 컴퓨터가 읽을 수 있는 데이터 형식으로 변환합니다.

OCR은 다양한 산업과 응용 분야에서 널리 사용되며, 특히 문서 관리, 자동 데이터 입력, 인쇄물 디지털화, 번역, 텍스트 마이닝, 로봇 과정 자동화 등에 중요한 역할을 합니다. 예를 들어, 스캔된 각종 서류 이미지 속에서 내용을 추출해 디지털 정보로 남길 수 있기도 하고 면허증, 주민등록증 등과 같은 중요한 개인정보를 식별하여 보안 강화에 사용할 수도 있습니다.

OCR 과정

OCR 기술의 주요 단계는 다음과 같습니다:

  1. 전처리: 이미지의 품질을 개선하고 노이즈를 제거하여 글자 인식률을 높입니다. 이 단계에서는 이미지 이진화, 블러 처리, 배경 제거 등의 작업이 포함됩니다.
  2. 문자 분할: 이미지에서 문자 영역을 찾아내고 분리하는 과정입니다. 이 단계에서는 텍스트 영역 검출, 라인 분할, 문자 분할 등이 이루어집니다.
  3. 문자 인식: 분리된 문자 영역에서 실제 문자를 인식하는 과정입니다. 이 과정에서는 Image Classification(이미지 분류) 모델을 사용합니다.
  4. 후처리: 인식된 문자를 정제하고, 문맥에 따라 올바른 결과를 도출합니다. 이 단계에서는 단어 검사, 문법 검사, 언어 모델을 사용하여 오류를 수정하고 최종 출력을 생성합니다.

OCR 모델의 전체 과정
OCR 모델의 전체 과정

데이터헌트에서는 더 나은 OCR 모델을 만들기 위해 위의 모든 과정에 대해 연구개발을 수행하고 있습니다.

OCR 가공 실제 사례 - 한국전력공사

데이터헌트에서는 지난해 한국전력공사와 함께 OCR 과제를 수행했습니다. 수만장의 이미지에 대해 레이블링을 해야 하기 때문에 굉장히 노동집약적일 것으로 예상됐습니다.

이 과제는 이미지 내 모든 텍스트의 영역을 지정하고, 정해진 카테고리에 해당하는 모든 항목에 속성을 부여하는 작업으로, 실제로 데이터헌트의 숙련된 작업자 기준으로 한 장에 최소 5분 이상 걸리는 어려운 작업이었습니다. 만약 작업 이미지의 수량이 10만장일 경우 총합 8,000시간 이상이 걸리기 때문에 AI를 통한 작업 효율화가 크게 빛을 발한 과제입니다.

OCR 가공 품질 개선 방법

개선된 OCR 결과 – 전(좌)과 후(우)
개선된 OCR 결과 – 전(좌)과 후(우)

데이터헌트에서는 몇차례 단계를 거쳐 OCR 모델을 개선했습니다. 대략적인 단계는 아래와 같으며

  1. 이미지의 텍스트가 전체적으로 기울어져 있는지 검출
  2. 복수의 모델을 활용한 Ensemble 기법 적용
  3. 데이터에 따라 바운딩박스의 수준(음절, 단어, 문장)을 조절하기 위해 파라미터 조절 기능 추가

이를 통해 더 빠르고 정확한 작업을 유도했습니다.

OCR에서 데이터 전처리의 중요성

이미지의 기울기에 따른 OCR 결과 비교

모델 자체의 성능도 성능이지만, OCR 작업은 다른 작업보다 전처리가 중요했습니다. 그 이유는 각 텍스트에 대해 바운딩박스 또는 폴리곤을 그리는데, 보통 어느 작업이든 폴리곤이 바운딩박스보다 작업하기가 어렵습니다. 사람 또한 작업하기 어려워서 그런걸까요? 기울어져 있는 글자는 정자로 세워져있는 글자보다 폴리곤 정확도도 전사 정확도도 낮습니다.

정리하자면

  • 폴리곤은 바운딩박스보다 작업(생성/수정)이 어려움
  • AI 모델은 기울어져 있는 텍스트를 어려워 함

따라서 AI에게 작업을 부탁하기 전에 텍스트를 바로 세워준다면 AI가 더욱 정확한 레이블을 만들어 줄 수 있습니다.

OCR 전처리에서 기울어진 이미지를 다루기 위한 방법
OCR 전처리에서 기울어진 이미지를 다루기 위한 방법

작업 결과를 확실히 개선시킬 수 있는 방법이지만 모든 것이 자동으로 이루어지지 않는 이 프로세스에 대해 궁금한 점이 있을 것 같습니다. 미리 답변드리면,

전처리 이외에도 몇가지 개선 작업이 있었지만 이번 소개글에서는 개요만 말씀드렸습니다.

OCR 개선 결과

위와 같은 과정이 OCR 작업에 얼마나 도움이 됐을까요? 실제 작업을 통해서 AI를 도입했을 때와 그렇지 않았을 때의 시간을 직접 비교함으로써 작업 효율을 측정했습니다. 참고로 한글이 포함된 OCR 작업을 수행했습니다.

데이터헌트 OCR 가공 품질 개선 실제 결과
OCR 가공 품질 개선 실제 결과

결과는 놀랍게도 모든 작업자가 큰 폭으로 작업 시간을 단축시켰습니다! 편차는 존재하지만 평균적으로 40% 수준의 작업 시간의 단축을 보였고, 이는 조금만 더 보태면 같은 시간에 이미지 1장 작업할 것을 2장으로 늘릴 수 있다는 결론으로 이어집니다.

이 결론은 작업 비용이나 시간 뿐만 아니라 작업 정확도 측면에서도 의의를 가질 수 있습니다. 왜냐하면 작업자에게 충분한 휴식시간을 제공하더라도 많은 양의 작업을 하다보면 빠르게 피로함을 느끼고 그만큼 실수도 늘어나기 마련입니다. 하지만 위와 같이 더욱 손쉽게 작업할 수 있기 때문에 결론적으로 더욱 정확한 작업 결과물을 기대할 수 있습니다.

결론

이번 글에서는 OCR이 무엇인지, 그리고 그 과정과 실제 사례를 소개했습니다. 그리고 데이터헌트에서 AI를 활용해 어떤 방법으로 작업을 효율화했으며 그 정량적 수준까지 설명드렸습니다.

Table of Contents
Talk to Expert