Overview: 딥러닝 기반 OCR 모델이 필요한 이유
한국전력공사는 지난 해 데이터헌트와 함께 OCR 과제를 수행했습니다. 데이터헌트는 Bounding box 기술을 활용해 데이터 가공 품질을 개선하고, 인공지능을 통해 작업 효율을 개선하여 우수한 결과물을 선보였습니다.
OCR(Optical Character Recognition) 기술은 사진, 스캔된 문서, 비디오 등에서 텍스트를 인식하고 추출하는 데에 사용되는 컴퓨터 알고리즘입니다. 이 기술은 광학 문자 판독기로, 눈으로 볼 수 있는 문자를 컴퓨터가 읽을 수 있는 데이터 형식으로 변환하는 데이터 라벨링 작업입니다.
OCR 모델은 다양한 방식으로 사회적 영향을 미치고 있습니다.
- OCR은 작성된 텍스트를 디지털 형식으로 변환함으로써 읽기에 어려움이 있는 개인의 접근성을 향상시킬 수 있습니다.
- 기록된 정보를 디지털화하는 과정을 자동화함으로써, OCR은 매일 대량의 데이터가 처리되는 의료 및 금융 등의 다양한 산업에서 조직이 정보를 보다 효율적으로 처리할 수 있습니다.
- 문서를 디지털 형식으로 변환함으로써, OCR은 귀중한 문화 유물의 열화 및 손실을 방지하고 보존하는 데에 중요한 역할을 합니다.
Problem: OCR 학습 데이터로 RPA 구축하기
RPA(Robot Process Automation)은 인간이 수행하는 반복적인 작업을 자동화하는 기술을 의미합니다. 소프트웨어 로봇을 사용하여 데이터를 입력하거나 데이터 추출 및 데이터 처리와 같은 작업을 수행할 수 있습니다. 사람의 개입이 필요한 금융, 의료, 제조와 같은 산업에서 주로 사용되며 조직은 효율성과 정확성 및 생산성을 개선할 수 있죠.
OCR과 RPA를 결합함으로써 기업은 송장이나 영수증, 양식과 같은 종이 문서와 관련된 데이터 입력 및 데이터 처리 작업을 자동화할 수 있게 됩니다. 종이 데이터를 디지털 시스템에 입력하는 수동 프로세스를 자동화하여 오류를 줄이고 효율성을 높일 수 있죠. 특히 수작업에 드는 비용과 리소스를 줄일 수 있다는 점에서 많은 기업이 주목하고 있습니다.
한국전력공사는 OCR 모델에 RPA 시스템을 결합하여 자동화 업무 범위를 확장시키고자 했습니다. 이를 위해 OCR 모델 성능 향상에 필요한 모델 학습용 데이터 구축이 필요했습니다. 또한, RPA 시스템에 전달할 개체명 정보 추출이 필요했죠.
궁극적인 목표는 딥러닝 기술과 RPA의 결합을 통해 지능화된 자동화 시스템 구축이었습니다.
OCR 작업의 핵심은 전처리입니다. 모델 자체의 성능도 중요하지만, 전처리 과정의 품질이 낮다면 정확도가 떨어집니다. OCR 모델은 각 텍스트에 대해 Bounding Box, 혹은 Polygon 작업을 진행합니다. 난이도 측면에서, Bounding box보다는 Polygon이 더 어렵다고 합니다. 기울어져 있는 글자는 정자로 세워져있는 글자보다 Polygon 정확도는 물론, Transcription 정확도도 떨어집니다.
따라서, 무엇보다 고품질의 OCR 데이터를 구성하는 것이 중요했으며 작업 효율을 개선하는 과제도 함께 주어졌습니다.
Solution: OCR을 통한 Multi label classification
한국전력공사에서 요청한 OCR 학습용 데이터는 기수집된 영수증 이미지 10,000장입니다.
데이터헌트는 데이터 구축 가이드라인 기준에 따라 원천 데이터를 정제한 후, 글자 기울기에 따라 Bounding box 또는 Polygon을 사용했습니다. 이후, 작업된 영역에 대한 Text Transcription을 진행했으며, 메타데이터 추출을 위한 Text classification 작업을 진행했습니다.

데이터 구축 가이드라인 정립
산출물의 작업 기준은 띄어쓰기 기준의 단어로 지정했습니다. 대상 언어는 영문, 한글, 특수문자로 손글씨를 포함한 영수증에 적힌 모든 글자를 분석했습니다. 글자 기울기에 따라 Bounding box와 Polygon을 적절하게 배합하여 사용했습니다.
정확도를 위해 작업 가이드라인도 면밀하게 살폈습니다. 실제로 배포된 작업 가이드는 아래에서 확인하실 수 있습니다.
- 텍스트 전사 기준 : 6개의 개체명과 2개의 기타 클래스는 각각의 속성으로 분류하고 라벨링 진행
- ~개체명 - 가맹점명, 거래일자, 거래시간, 총액, 카드번호, 승인번호
- ~기타 클래스 - 절취선, 서명
- Bounding box / Polygon 라벨링 기준 : 기호를 포함한 모든 텍스트는 띄어쓰기 단위로 나누어서 라벨링 진행
- ~단, 키보드로 입력 가능한 특수기호(31종) 외 기호는 모두 ‘$’로 처리
최종적으로 메타데이터 추출을 위한 개체명 클래스는 아래로 분류할 수 있습니다.
- 결제 가맹점명
- 결제 거래일자
- 결제 승인 시간
- 결체 총 합계 금액
- 결제 카드번호
- 결제 건의 승인번호
작업 범위에 따른 원천데이터 정제
위에서 설명한 기울어진 글자에 대한 개선 작업은 기존과는 다른 접근 방식을 채택했습니다. 모든 작업을 인공지능에 맡기기 보다는 기울어진 이미지를 검출해내고, 작업자가 수동으로 이미지를 회전하는 중간 작업이 필요했습니다. 이 과정을 통해 인공지능이 더욱 정확한 레이블을 만들어줄 수 있죠. 왜 데이터헌트는 이런 방식을 채택했을까요? 온전히 OCR 데이터 품질을 개선하기 위함이었습니다.
Q. 작업자가 수동으로 이미지를 돌리지 않고 알아서 돌려줄 수는 없을까?
A. 여러 방법을 검토했을 때, 대부분의 글자가 정자로 서게끔 돌리기는 난이도가 어려웠음.
OCR 작업 시간에 비해 이미지를 돌리는 데에 걸리는 시간은 미비한 수준보다 나은 OCR AI 퀄리티를 위해 작업자가 수동으로 진행하는 것으로 결정했습니다.
Q. 처음부터 모델에 기울어진 텍스트까지 모두 학습시키면 되지 않을까?
A. 이미 OCR 모델은 많은 글자를 기울인 채로 학습되어 있음하지만 Bounding box보다는 Polygon을 학습하는 것이 어렵다는 것이 AI 모델의 한계입니다.
이 프로젝트는 이미지 1건당 평균적으로 50~70개의 객체를 작업해야 했습니다. 상대적으로 많은 시간과 인력 투입이 필요했죠. 원활한 프로젝트 진척을 위해 약 100명 이상의 크라우드워커를 교육하고 투입하기로 결정했습니다.
하지만 이 과정에서 상대적으로 많은 리소스가 발생했습니다. 이에, 기한을 엄수하기 위해 Text Detection 기능을 적용했습니다. 이를 통해 Text Transcription에 소모되는 시간을 효율적으로 단축할 수 있었습니다.
영수증 데이터 가공 작업 후 데이터 검수/Admin 교차 검수
모든 작업 과정이 종료된 후에는 산출물 검수를 진행합니다. 데이터헌트는 산출물 내역 상의 업무 진행이 100% 정확한지에 대해 검수하고 있습니다. 가이드 기준에 따른 작업 완수 여부를 ‘전수 검수’ 진행합니다.
- 오탈자, 띄어쓰기, 개체명 분류에서 오류가 없는지
- 텍스트 기울기에 따른 Bounding box나 Polygon 여백이 없는지
- 작업 불가 유형이 있다면 사유를 파악하고 실제로 작업이 불가한 것이 맞는지 확인
- QA 과정에서 Major/Minor 버그나 결함이 없는지
작업 유형 상, 휴먼 에러가 발생할 가능성이 높은 것이 사실입니다. 검수를 위한 인력 배분이 따로 필요한 상황이었죠. 하지만 AI팀과 협업하여 오탈자 탐지 기능을 통해 검수 전처리를 진행했습니다. 그 결과 리소스를 단축하여 데이터 품질 유지와 납품 일정 준수라는 두 마리 토끼를 잡을 수 있었습니다.
Result: Bounding box를 활용한 정확도 99.995%의 OCR 학습 데이터
고객사 검수가 종료된 후, 데이터헌트는 또 한 번의 마일스톤을 넘었다는 감동을 받았습니다. 표본 검사 진행 결과 오류율은 0.45%에 그쳤습니다. 기존 오픈 데이터들과 비교했을 때 10% 더 높은 정확도를 기록한 것입니다.
한국전력공사는 데이터헌트와 협업을 통해 문서에서 자동으로 문자를 추출하는 기술로 RPA 시스템을 구축했습니다. 그간 많은 시간을 소요해야 했던 단순 반복 업무에서 해방된 것입니다.
OCR 작업에 인공지능을 도입한 데이터헌트의 작업 시간도 큰 개선 성과를 얻었습니다. OCR 작업에 인공지능을 도입하자 평균적으로 데이터 라벨링 작업 시간을 40% 가량 단축시킬 수 있었습니다. 같은 시간에 이미지 1장 작업할 것을 2장으로 작업할 수 있을 정도의 유의미한 수치 변화입니다.
작업 시간은 줄이고, 정확도는 높였습니다
특히 OCR 기술은 휴먼에러가 발생할 가능성이 높은 작업입니다. 하지만 데이터헌트는 높은 품질을 확보함과 동시에 납기 희망일을 엄수할 수 있었습니다. 이는 온전히 기술에만 기대지도 않았으며, 사람에게만 의존하지도 않았기 때문입니다. 100명 이상의 크라우드워커를 투입하여 직접 레이블링을 진행하되, 그 과정에서 작업 리소스를 줄이기 위한 방편으로 인공지능을 활용했습니다.
결과적으로 데이터헌트가 이번 프로젝트를 성공적으로 완수할 수 있었던 이유는 간단합니다. 초기 단계부터 프로젝트를 꼼꼼히 파악하여 인공지능과 사람을 적합하게 사용할 수 있도록 설계한 것이죠. 또한 발생할 수 있는 휴먼에러에 대해 철저히 검수하는 것으로 마침표를 찍었습니다. 한국전력공사 역시 OCR 모델에 RPA를 적용한 결과물을 통해 큰 성과를 얻을 수 있었습니다.