X-AIVA

디지털 세상의 눈, OCR 기술의 모든 것

XIIIab 2024. 8. 21. 15:48

 

오늘은 광학 문자 인식(OCR)에 대해 알아볼까요?

광학 문자 인식 또는 광학 문자 판독기(OCR)는 이미지 처리를 통해 인쇄물이나 손글씨 텍스트를 디지털 형식으로 변환하는 과정을 말해요. 이 글에서는 다음 내용을 다룰 거예요:

  • OCR의 정의와 작동 방식
  • OCR에 사용되는 최고의 도구, 알고리즘, 기술
  • OCR 사용의 이점
  • OCR의 사용 사례와 응용 분야

시각적 텍스트 인식

광학 문자 인식은 인공지능, 컴퓨터 비전, 패턴 인식, 기계 학습 분야에서 중요한 연구 영역이에요. 이는 인공지능 기술 연구의 초기 분야 중 하나로, 현재는 성숙한 기술로 자리 잡았어요.

OCR의 역사는 1913년으로 거슬러 올라가요. 당시 에드먼드 푸르니에 달베 박사가 시각 장애인을 위해 텍스트를 스캔하여 소리로 변환하는 옵토폰을 발명했죠. 이후 이 기술은 여러 발전 단계를 거쳤어요.

1990년대에는 역사적 신문의 디지털화와 함께 이 기술이 크게 주목받기 시작했어요. 또한 스마트폰과 전자 문서의 등장으로 OCR 기술이 더욱 발전하게 되었죠.

OCR이란 무엇인가요?

OCR은 광학 문자 인식의 약자로, 이미지 파일이나 실제 문서(예: 스캔 한 문서) 내의 텍스트(손글씨나 인쇄물)를 전자적으로 식별하고 데이터 처리를 위해 기계가 읽을 수 있는 텍스트 형태로 변환하는 소프트웨어 기술을 말해요. 이를 "텍스트 인식"이라고도 부르죠.

간단히 말해, OCR 소프트웨어는 이미지나 실제 문서를 검색 가능한 형태로 변환하는 데 도움을 줘요. OCR 엔진의 예로는 텍스트 추출 도구, PDF를 .txt로 변환하는 프로그램, 구글의 이미지 검색 기능 등이 있어요.

이미지 출처 VISO.AI

 

장면 텍스트 인식(STR)이란 무엇인가요?

 

컴퓨터 비전에서 기계가 자연스러운 장면에서 텍스트를 읽는 과정은 먼저 텍스트 영역을 감지하고, 그 영역을 잘라내어 해당 영역의 텍스트를 인식하는 순서로 이루어져요. 잘라낸 영역에서 텍스트를 인식하는 비전 작업을 장면 텍스트 인식(STR)이라고 해요.

STR을 통해 도로 표지판, 광고판, 로고, 티셔츠의 텍스트, 종이 지폐 등 인쇄된 물체의 텍스트를 읽을 수 있어요. STR의 응용 분야로는 자율주행 자동차, 증강 현실, 교육, 시각 장애인을 위한 기기 등 실용적인 사례들이 있어요.

OCR과 STR의 차이점은 무엇인가요?

 

OCR과 STR을 비교해 보면, OCR은 균일한 입력 형태로 제공되는 텍스트 속성에 적용할 수 있어요. 반면 STR은 다양한 글꼴 스타일, 텍스트 모양, 조명, 방향, 가림(부분적으로 숨겨진 텍스트), 일관되지 않은 카메라 조건 등의 텍스트를 읽을 수 있어요.

일반적으로 장면 텍스트 인식은 노이즈가 많고 흐릿하거나 왜곡된 입력 이미지를 포함한 매우 까다로운 자연환경의 실제 시나리오에서 AI 알고리즘으로 텍스트를 읽는 데 필요해요.

 

OCR은 어떻게 작동하나요?

 

OCR의 개념은 간단하지만, 구현은 글꼴의 다양성이나 글자 형성 방법 등 여러 요인으로 인해 꽤 어려울 수 있어요. 예를 들어, 타이핑된 글씨 대신 비디지털 손글씨 샘플을 입력으로 사용할 때 OCR 구현의 복잡성이 크게 증가해요.

전체 OCR 과정은 일련의 단계로 이루어져 있으며, 주로 이미지 전처리, 문자 인식, 특정 출력의 후처리라는 세 가지 목표를 포함해요. 후속 작업으로는 자연어 처리(NLP)가 있어 텍스트와 음성을 단순히 읽는 것뿐만 아니라 그 의미를 분석하고 이해할 수 있어요.

OCR 컴퓨터 비전의 과정

다음은 광학 문자 인식이 어떻게 작동하는지 보여주고 전통적인 OCR 기술의 주요 단계를 설명해 드릴게요.

1) 문서 스캔

OCR의 첫 번째 단계로, 스캐너를 연결하여 문서를 스캔해요. 문서를 스캔하면 OCR 소프트웨어 제작 시 고려해야 할 변수의 수가 줄어들어요. 입력을 표준화하기 때문이죠. 또한 이 단계는 문서의 완벽한 정렬과 크기 조정을 보장하여 전체 프로세스의 효율성을 높여요. 이 초기 단계에는 객체 감지도 포함될 수 있어 후속 비전 처리 작업을 특정 이미지 영역에 집중할 수 있어요.

2) 이미지 개선

이 단계에서는 OCR 소프트웨어가 캡처해야 할 문서의 요소들을 개선해요. 먼지 입자와 같은 모든 불완전한 부분이 제거되고, 가장자리와 픽셀이 부드럽게 처리되어 깨끗하고 명확한 텍스트를 얻을 수 있어요.

이 단계를 통해 프로그램이 수동 데이터 입력을 더 쉽게 캡처할 수 있어요. 예를 들어 얼룩이나 불규칙한 어두운 영역 없이 입력되는 단어를 명확하게 "볼" 수 있죠. 이러한 이미지 처리 작업은 모든 유형의 비전 파이프라인에서 필수적이며, 이미지를 선명하게 하거나 자동으로 밝게 하는 데 사용돼요. OpenCV는 이러한 작업에 자주 사용되는 도구 세트를 제공해요.

3) 이진화

정제된 이미지 문서는 흑백 색상만 포함하는 2단계 문서 이미지로 변환돼요. 여기서 검은색 또는 어두운 영역은 문자로 식별되고, 흰색 또는 밝은 영역은 배경으로 식별돼요.

이 단계의 목적은 문서에 분할을 적용하여 배경에서 전경 텍스트를 쉽게 구분하는 것이에요. 이를 통해 문자를 최적으로 인식할 수 있죠.

4) 문자 인식

이 단계에서는 검은 영역을 더 처리하여 문자나 숫자를 식별해요. 보통 OCR은 한 번에 하나의 문자나 텍스트 블록에 집중해요. 문자 인식은 다음 두 가지 유형의 알고리즘 중 하나를 사용하여 수행돼요:

  • 패턴 인식: 패턴 인식 알고리즘은 다양한 글꼴과 형식의 텍스트를 OCR 소프트웨어에 입력하는 것을 포함해요. 그런 다음 수정된 소프트웨어를 사용하여 스캔 된 문서의 문자를 비교하고 인식해요.

  • 특징 감지: 특징 감지 알고리즘을 통해 소프트웨어는 특정 글자나 숫자의 특징을 고려하는 규칙을 적용하여 스캔 된 문서의 문자를 식별해요. 특징의 예로는 각진 선의 수, 교차된 선, 또는 곡선 등이 있으며 이를 사용하여 문자를 비교하고 식별해요. 이러한 텍스트 인식 기술은 대부분의 딥러닝 OCR 방법의 기초가 돼요.

간단한 OCR 소프트웨어스캔 된 각 글자의 픽셀을 기존 데이터베이스와 비교하여 가장 근접한 일치 항목을 식별해요. 그러나 더 정교한 형태의 OCR각 문자를 곡선이나 모서리 등의 구성 요소로 나누어 물리적 특징을 해당하는 글자와 비교하고 일치시켜요.

5) 정확도 검증

문자 인식이 성공적으로 이루어진 후, 결과는 OCR 소프트웨어의 내부 사전을 활용하여 정확성을 확인하기 위해 교차 참조돼요. OCR 정확도 측정은 OCR이 수행한 분석의 결과를 원본 버전의 내용과 비교하여 이루어져요.

OCR 소프트웨어의 정확도를 분석하는 데는 두 가지 일반적인 방법이 있어요:

  • 문자 수준 정확도: 얼마나 많은 문자가 정확하게 감지되었는지 계산해요.
  • 단어 수준 정확도: 얼마나 많은 단어가 정확하게 인식되었는지 계산해요.

대부분의 경우, 페이지 수준에서 측정했을 때 98-99% 정확도가 허용 가능한 수준으로 여겨져요. 이는 약 1,000자의 페이지에서 980-990자가 OCR 소프트웨어에 의해 정확하게 식별되어야 한다는 의미예요.

최고의 OCR 컴퓨터 비전 알고리즘

 

가장 정확한 OCR 알고리즘

2022년 6월에 출시된 MaskOCR은 Vision Transformers(ViT)를 기반으로 하며, 중국어와 영어 텍스트 이미지에 대한 벤치마크 데이터셋에서 가장 우수한 성능을 보이는 OCR 알고리즘이에요. MaskOCR은 이전에 중국어 BCTR 데이터셋에서 최고의 성능을 보였던 TransOCR을 능가했어요.

MaskOCR의 소형 모델 버전은 비슷한 모델 크기를 가진 이전의 최고 OCR 알고리즘보다 더 나은 성능을 보여요. 특히, MaskOCR 방법은 사전 훈련에 4.2백만 개의 실제 데이터만을 사용하면서도, 1억 개의 실제 데이터로 사전 훈련된 PerSec보다 더 나은 정확도를 달성해요.

ABINet과 그 확장인 ConCLR은 MaskOCR의 소형 ViT 버전과 비슷한 성능을 보여주지만, MaskOCR은 최신 기술의 결과를 93.8%의 정확도라는 새로운 수준으로 끌어올렸어요.

이미지 출처 paperswithcode

 

 

OCR 컴퓨터 비전 사용 사례

모든 것이 디지털화되고 발전함에 따라 기업들은 OCR 소프트웨어 솔루션을 사용하여 비즈니스 프로세스를 간소화하고, 접근성을 개선하며, 고객 만족도를 높이고 있어요.

다음은 오늘날 여러 산업 분야에서 사용되는 최고의 OCR 솔루션 몇 가지를 소개해 드릴게요.

OCR을 이용한 번호판 인식

 

자동 번호판 인식(ANPR)은 OCR 기술을 사용하여 번호판의 숫자를 식별해요. 오늘날 번호판 인식은 도난 차량 찾기, 주차 요금 계산, 통행료 청구, 안전 구역 접근 제어 등 다양한 상업적 응용 분야에서 사용되고 있어요.

이미지출처 넥스트랩

은행 업무에서의 OCR 사용 사례

 

은행 산업은 보안 강화, 데이터 관리 개선, 위험 관리 최적화, 고객 경험 향상을 위해 OCR 인식 앱을 가장 많이 사용하는 산업 중 하나예요.

OCR 기술을 적용하기 전에는 대부분의 은행 문서가 고객 기록, 수표, 은행 명세서 등을 포함한 물리적 형태였어요. OCR 인식 솔루션을 사용하면 오래된 문서도 디지털화하여 데이터베이스에 저장할 수 있게 되었어요.

이 기술은 다음과 같은 방식으로 은행 산업을 완전히 혁신했어요:

  • 쉬운 검증: OCR을 통해 OCR 기반 애플리케이션을 사용하여 입금 수표와 서명을 스캔함으로써 실시간 검증이 가능해졌어요. 예를 들어, 사용자는 모바일 뱅킹 앱으로 수표를 디지털 방식으로 입금하고 처리할 수 있으며, OCR 기반 수표 입금 기능을 통해 며칠 내에 거래를 처리할 수 있어요.

  • 보안 강화: OCR 기술을 통한 수표의 전자 입금은 사기 방지와 더욱 안전한 거래를 가능하게 하여 더 나은 사용자 경험을 제공해요. OCR은 문자 판독기 카운트와 기계 학습 방법을 사용하여 위조문서를 감지할 수 있어요.

의료 분야에서의 OCR 사용 사례

 

OCR 기계 학습은 의료 산업에도 유익한 것으로 입증되었어요. 의료 분야에서 OCR 기술을 사용하면 환자와 의사 모두 환자의 의료 기록에 디지털 방식으로 접근할 수 있어요.

또한 환자의 엑스레이, 치료, 검사, 병원 기록, 보험 납부 등을 포함한 환자 기록을 OCR 풀폼 방식을 사용하여 쉽게 스캔, 검색, 저장할 수 있어요. 이를 통해 기록을 디지털화하고 카메라로 라벨을 읽을 수 있죠.

따라서 OCR은 병원의 워크플로우를 간소화하고 수작업을 줄이면서 기록을 최신 상태로 유지하는 데 도움을 줘요.

교통 분야에서의 OCR 사용 사례

 

OCR 기술은 지능형 주차, 지능형 문자 인식(ICR), 스마트 톨링, 운송 산업을 혁신했어요. 비행기나 호텔을 예약하거나, 공항이나 호텔 객실에 체크인하거나, 여행 경비를 관리할 때 AI 기반 OCR 솔루션은 고객 경험을 향상시키기 위해 모든 접점에서 유용하게 사용돼요.

공항에서의 컴퓨터 비전 활용을 살펴보면, 많은 회사가 모바일 여행 앱과 기계 학습 OCR 기술을 사용하여 보안 및 문서화 응용 프로그램에서 자동화된 데이터 추출을 수행해요. OCR 도구의 응용 범위는 여권 스캔에서부터 비행기나 호텔 예약 시 개인 데이터 저장에 이르기까지 다양해요.

광학 문자 인식의 장점

 

광학 문자 인식은 이 글에서 살펴본 것처럼 다양한 이점을 제공해요. 하지만 AI 기반 텍스트 인식 시스템의 가장 중요한 이점을 아래에 정리해 보았어요.

  • 정확도 향상: 소프트웨어 기반 문자 인식은 인간의 오류를 제거하여 정확성을 높여요.

  • 프로세스 가속화: 이 기술은 비구조화된 데이터를 검색 가능한 정보로 변환하여 필요한 데이터를 더 빠르게 제공하고, 결과적으로 시간이 많이 소요되는 비즈니스 프로세스를 가속화해요.

  • 비용 효율성: OCR 기술은 많은 자원을 필요로 하지 않아 처리 비용과 전체 비즈니스 비용을 줄여요.

  • 고객 만족도 향상: 고객이 검색 가능한 데이터에 접근할 수 있어 좋은 경험을 보장하고, 더 나은 고객 만족도를 제공해요.

  • 생산성 향상: 검색 가능한 데이터에 쉽게 접근할 수 있어 직원들이 스트레스 없는 환경에서 주요 목표에 집중할 수 있게 되어 비즈니스의 생산성을 높여요.

AI 영상분석 플랫폼, XAIVA

 

이처럼 OCR 기술은 우리 일상과 비즈니스 환경에 혁명적인 변화를 가져오고 있어요. 이러한 흐름 속에서 주목할 만한 솔루션이 바로 씨이랩의 XAIVA입니다.

XAIVA는 AI 영상분석 플랫폼으로, CCTV, 미디어 채널 등에서 수집되는 대용량 영상 데이터를 실시간으로 분석합니다. 이 플랫폼은 GPU Scale In/Out과 분산/병렬 처리를 통해 대규모 영상분석을 제공하며, Auto-Plugin을 통해 다양한 영상 데이터(영상파일, 실시간 스트리밍, IP Camera, CCTV 등)를 분석하고 특정 행동 감출 시 자동화된 담당자에게 알림을 발송하는 기능을 제공해요.

XAIVA와 같은 혁신적인 AI 영상분석 솔루션은 보안, 교통, 야생동물 모니터링 등 다양한 분야에서 활용되며, 우리 사회의 안전과 효율성을 높이는 데 큰 역할을 하고 있습니다. 앞으로 AI와 영상분석 기술이 만들어갈 새로운 변화에 주목해 보세요! 궁금하거나 문의 사항이 있으시다면 언제든 하단의 배너를 클릭하셔서 문의주세요😊