"광학문자인식"의 두 판 사이의 차이
leejia1222 (토론 | 기여) |
leejia1222 (토론 | 기여) |
||
1번째 줄: | 1번째 줄: | ||
− | ''' | + | '''광학문자인식'''(OCR, Optical Character Recognition)은 [[이미지]]나 [[스캔]]된 [[문서]]에서 [[텍스트]]를 자동으로 인식하고 추출하는 기술이다. 이 기술은 수작업을 줄이고, [[데이터]] 입력 과정을 자동화하며, 문서를 디지털화하는 데 중요한 역할을 한다. 문자인식의 기본 목표는 사람의 시각적 인식을 모방하여 인쇄된 글자나 손글씨를 기계가 이해할 수 있는 디지털 데이터로 변환하는 것이다. |
== 상세 == | == 상세 == | ||
− | 사람이 쓰거나 기계로 인쇄한 문자의 영상을 이미지 스캐너로 획득하여 기계가 읽을 수 있는 문자로 변환하는 것이다. 이미지 스캔으로 얻을 수 있는 문서의 활자 영상을 | + | 광학문자인식은 사람이 쓰거나 기계로 인쇄한 문자의 영상을 이미지 스캐너로 획득하여 기계가 읽을 수 있는 문자로 변환하는 것이다. 이미지 스캔으로 얻을 수 있는 문서의 활자 영상을 [[컴퓨터]]가 편집 가능한 문자코드 등의 형식으로 변환하는 [[소프트웨어]]로써 일반적으로 OCR이라고 하며, OCR은 [[인공지능]]이나 기계 시각(machine vision)의 연구분야로 시작되었다. |
− | 초기 시스템은 특정한 서체를 읽기 위해 미리 해당 서체의 샘플을 읽는 것을 뜻하는 | + | [[거울]]이나 [[렌즈]] 등의 광학 기술을 이용한 광학문자인식과 [[스캐너]] 및 [[알고리즘]]에 의한 [[디지털]] [[문자인식]]은 다른 영역으로 생각되었으나 이제는 광학문자인식이라는 말이 디지털 문자인식을 포함하는 것으로 간주되었다. 초기 시스템은 특정한 서체를 읽기 위해 미리 해당 서체의 샘플을 읽는 것을 뜻하는 트레이닝이 필요했지만, 지금은 대부분의 서체를 높은 확률로 변환이 가능하다. 몇몇 시스템에서는 읽어들인 이미지에서 그것과 거의 일치하는 워드 프로세서 파일과 같은 [[문서]] [[포맷]]으로 된 출력 [[파일]]을 생성할 수 있으며, 그 중에는 이미지처럼 문서 이외의 부분이 포함되어 있어도 제대로 인식하는 것도 있다.<ref>〈[https://ko.wikipedia.org/wiki/%EA%B4%91%ED%95%99_%EB%AC%B8%EC%9E%90_%EC%9D%B8%EC%8B%9D 광학 문자 인식]〉, 《위키백과》</ref> |
− | + | 디지털이 일상 곳곳에 침투하고 있지만 일부 비즈니스에서는 여전히 종이 문서를 사용하고 있다. 송장, 계약서, 스캔한 법률 문서, 기타 종이 양식 등이 그렇다. 종이 문서는 물리적 공간을 많이 차지하며, 관리에 많은 시간과 노력이 필요하다. 비즈니스 전반에서 '페이퍼리스' 문서가 대두되는 이유다. 한편, 문서를 이미지로 변환하면 추후 해당 문서를 활용할 때 일일이 텍스트를 입력해야 하므로 시간 소모적이다. OCR은 이러한 시간과 비용을 줄여준다. 이미지를 텍스트 데이터로 변환하면 쉽게 사용할 수 있을 뿐 아니라 다른 비즈니스 소프트웨어에서도 판독이 기능하다. 이 기술은 운영 효율성을 높이고, 분석을 수행하고, 프로세스를 자동화하여 업무 전반의 생산성을 높인다.<ref>〈[https://www.adobe.com/kr/acrobat/roc/blog/what-is-ocr.html OCR의 정의와 OCR이 중요한 이유]〉, 《어도비》</ref> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 원리 == | == 원리 == | ||
− | 문자인식 기술은 크게 문자 찾기(text detection)와 문자 매칭(text recognition)으로 구성되어 있다. 먼저 문자 찾기는 이미지에서 문자가 있는 영역을 찾아낸 후 글자가 어떤 형식으로 구성되어 있는 지 파악하는 부분으로 글자의 방향과 배치(종/횡, 왼쪽부터 시작 등) 등을 파악하는 | + | 문자인식 기술은 크게 문자 찾기(text detection)와 문자 매칭(text recognition)으로 구성되어 있다. 먼저 문자 찾기는 이미지에서 문자가 있는 영역을 찾아낸 후 글자가 어떤 형식으로 구성되어 있는 지 파악하는 부분으로 글자의 방향과 배치(종/횡, 왼쪽부터 시작 등) 등을 파악하는 부분이다. 그리고 문자 매칭은 이렇게 찾아낸 글자가 실제 어떤 문자에 해당하는 지 분류하는 역할을 담당한다.<ref>정데만, 〈[https://practical-data.tistory.com/68 OCR(광학 문자 인식)기술은 어떻게 발달하고 있을까?]〉, 《티스토리》, 2023-07-10</ref> |
문자인식은 일반적으로 다음과 같은 단계를 통해 이루어진다. | 문자인식은 일반적으로 다음과 같은 단계를 통해 이루어진다. | ||
# 이미지 전처리 : 4단계로 이루어진다. 먼저 이미지에서 불필요한 잡음을 제거하여 인식 정확도를 높이고, 이미지를 흑백으로 변화하여 글자와 배경을 구분하며, 스캔된 이미지가 기울어진 경우 이를 보정하여 정리한다. 이후 글자의 경계를 명확하게 하여 인식하기 쉽게 만든다. | # 이미지 전처리 : 4단계로 이루어진다. 먼저 이미지에서 불필요한 잡음을 제거하여 인식 정확도를 높이고, 이미지를 흑백으로 변화하여 글자와 배경을 구분하며, 스캔된 이미지가 기울어진 경우 이를 보정하여 정리한다. 이후 글자의 경계를 명확하게 하여 인식하기 쉽게 만든다. | ||
# 텍스트 영역 추출 : 이미지에서 텍스트가 있는 영역을 식별한다. 주로 경계 상자(bounding box)를 그려 텍스트가 포함된 부분을 분리한다. | # 텍스트 영역 추출 : 이미지에서 텍스트가 있는 영역을 식별한다. 주로 경계 상자(bounding box)를 그려 텍스트가 포함된 부분을 분리한다. | ||
− | # 문자 분할 : 텍스트 영역에서 개별 문자를 분리한다. 이는 주로 문자의 위치와 크기를 분석하여 이루어진다. | + | # 문자 분할 : 텍스트 영역에서 개별 문자를 분리한다. 이는 주로 문자의 위치와 크기를 분석하여 이루어진다.<ref>매니저S, 〈[https://blog.naver.com/smartnari/223220887971 외부 문자를 디지털화 해주는 OCR 기술이란?]〉, 《네이버 블로그》, 2023-09-26</ref> |
− | # 특징 추출 및 문자 인식 : 개별 문자에서 특징을 추출하고, 이를 사전에 학습된 문자 | + | # 특징 추출 및 문자 인식 : 개별 문자에서 특징을 추출하고, 이를 사전에 학습된 문자 [[데이터베이스]]와 비교하여 문자를 인식한다. 현대 OCR 시스템은 주로 CNN을 사용하여 높은 정확도로 특징을 추출하고 인식한다. |
− | # 후처리 : 인식된 텍스트를 정리하고, 문맥을 고려하여 오탈자를 수정하며 최종 결과를 생성한다. | + | # 후처리 : 인식된 텍스트를 정리하고, 문맥을 고려하여 오탈자를 수정하며 최종 결과를 생성한다.<ref>〈[https://kr.appen.com/blog/ocr/ 광학 문자 인식(OCR)이란? 정의, 적용 사례, 작동 원리]〉, 《아펜》, 2023-04-18</ref> |
===전처리=== | ===전처리=== | ||
− | + | [[컴퓨터]]는 사람처럼 직관적으로 문자를 구분하지 못하고, [[이미지]]에서 색깔 분석을 통해 비슷한 밝기를 가진 [[픽셀]]들을 덩어리처럼 인식하기 때문에 색깔 차이를 분명하게 해주어 인식률을 높여야 효과적인 문자인식이 가능하다. 전처리 단계는 이미지로부터 텍스트인 영역을 컴퓨터가 보다 쉽게 인식할 수 있도록 이미지를 보정하는 역할을 한다. 전처리 과정에서 사용되는 여러 기술이 있는데 대표적인 기술은 컬러 이미지를 먼저 회색조로 변환하고, 픽셀들의 값을 분석하여 밝기와 명암 대비를 크게 한 후, 픽셀값을 두 범위로 나누어 0과 1로 분류하는 2진화 작업을 수행하는 것이다. 이외에도 얼룩 제거, 라인 제거, 레이아웃 분석 등 여러 기술이 사용된다.<ref name='과기부'>과학기술정보통신부, 〈[https://m.blog.naver.com/with_msip/221846680863 이미지 속 문자를 손쉽게 디지털화하는 'OCR']〉, 《네이버 블로그》, 2020-03-10</ref><ref>김재완, 김상태, 윤준용, 주양익, 〈[https://scienceon.kisti.re.kr/srch/selectPORSrchArticle.do?cn=JAKO201536553118591 OCR 기반의 개인 처방전 관리 시스템 A Personal Prescription Management System Employing Optical Character Recognition Technique]〉, 《한국정보통신학회눈문지》, 2015</ref> | |
+ | [[파일:이미지 전처리 예시.jpg|가운데]] | ||
===문자 분할=== | ===문자 분할=== | ||
− | 딥러닝 기술을 이용하여 전체 이미지에서 텍스트인 영역을 골라내는 작업을 수행하는 단계다. 아래 그림처럼 텍스트 영역과 그 영역의 회전 각도를 구하고, 텍스트를 수평 형태로 만든다. 이렇게 텍스트 영역을 수평으로 만들어야 다음 단계에서 컴퓨터가 더욱 정확하게 글자를 인식할 수 있다.<ref name='과기부'/> | + | [[딥러닝]] 기술을 이용하여 전체 이미지에서 텍스트인 영역을 골라내는 작업을 수행하는 단계다. 아래 그림처럼 텍스트 영역과 그 영역의 회전 각도를 구하고, 텍스트를 수평 형태로 만든다. 이렇게 텍스트 영역을 수평으로 만들어야 다음 단계에서 컴퓨터가 더욱 정확하게 글자를 인식할 수 있다.<ref name='과기부'/><ref>PatrickFarley, nitinme, eric-urban, 〈[https://learn.microsoft.com/ko-kr/azure/ai-services/computer-vision/overview-ocr OCR - 광학 인식]〉, 《마이크로소프트》, 2024-06-26</ref> |
+ | [[파일:문자 분할 예시.jpg|가운데]] | ||
===특징 추출 및 문자인식=== | ===특징 추출 및 문자인식=== | ||
− | 전처리와 글자 문자 분할 단계에서 이미지에서 문자 영역을 골라냈다면 이제부터는 그 문자가 어떤 문자인지 알아내야 한다. 아래 그림과 같이, 먼저 텍스트 영역의 문자들을 하나의 문자로 각각 인식한다. 그 다음 딥러닝 시스템의 역할이 중요하다. 글자를 구분하는 여러 특징을 대량의 | + | 전처리와 글자 문자 분할 단계에서 이미지에서 문자 영역을 골라냈다면 이제부터는 그 문자가 어떤 문자인지 알아내야 한다. 아래 그림과 같이, 먼저 텍스트 영역의 문자들을 하나의 문자로 각각 인식한다. 그 다음 [[딥러닝]] 시스템의 역할이 중요하다. 글자를 구분하는 여러 특징을 대량의 [[데이터]]를 통해 컴퓨터가 학습을 하여 그 문자가 어떤 문자인지 알아낸다.<ref name='과기부'/><ref>Naga Kiran, 〈[https://medium.datadriveninvestor.com/4-simple-steps-in-building-ocr-1f41c66099c1 4 Simple steps in building OCR]〉, 《미디엄》, 2019-03-14</ref> |
+ | [[파일:특징 추출 및 문자인식 예시.jpg|가운데]] | ||
===후처리=== | ===후처리=== | ||
마지막으로 후처리 단계는 출력된 텍스트의 내용적인 부분을 따져서 부자연스러운 단어나 문자가 포함되면 이를 고침으로써 정확도를 보다 향상하는 단계다. 예를 들어 '홋길동'이라는 단어는 맥락상 이름임을 알 수 있고 '홋'이라는 성은 존재하지 않으므로 '홍길동'이라고 수정된다.<ref name='과기부'/> | 마지막으로 후처리 단계는 출력된 텍스트의 내용적인 부분을 따져서 부자연스러운 단어나 문자가 포함되면 이를 고침으로써 정확도를 보다 향상하는 단계다. 예를 들어 '홋길동'이라는 단어는 맥락상 이름임을 알 수 있고 '홋'이라는 성은 존재하지 않으므로 '홍길동'이라고 수정된다.<ref name='과기부'/> | ||
+ | |||
+ | == 모델 == | ||
+ | [[딥러닝]] 기반 광학문자인식 기술은 다양한 필체와 복잡한 배경에서도 높은 성능을 발휘한다. 이는 초창기 [[머신러닝]] 기반 광학문자인식 기술의 단점을 극복하고, 더 정확하고 효율적인 문자 인식을 가능하게 만들었다. 초창기 기술들은 다양한 상황에서의 문자 인식에 한계가 있었지만, 딥러닝의 도입으로 이러한 문제들이 해결되었다. 이제는 더 복잡하고 다양한 환경에서도 높은 정확도로 문자를 인식할 수 있게 되었다. | ||
+ | |||
+ | ===초창기=== | ||
+ | 초창기 광학문자인식 기술은 주로 머신러닝 기법을 사용하여 문자를 검출하고 인식했다. 그중에서 대표적인 두 가지 방법은 슬라이딩 윈도우 방법과 연결요소 특징 방법이다. | ||
+ | |||
+ | 먼저 슬라이딩 윈도우 방법은 일정한 크기의 슬라이딩 윈도우를 사용하여 이미지 전체를 스캔하며 가능한 모든 문자의 위치와 스케일을 검출하는 방법이다. 이를 위해 이미지 피라미드를 구축하여 다양한 크기의 윈도우를 적용한다. 이 방법은 이미지의 수평 방향으로 정렬된 문자를 검출하는 데 적합했다. 하지만 다양한 방향성을 가진 문자를 인식하는 데는 한계가 있었다. 예를 들어, 이미지를 일정한 크기의 창으로 나누어 문자가 있는지를 확인하는 방식이다. 이미지가 커지거나 복잡해지면 이 방법은 성능이 떨어질 수밖에 없었다. | ||
+ | |||
+ | 연결요소 특징 방법은 색상, 텍스처, 바운더리(경계), 코너 포인트 등의 요소를 사용하여 이미지 내 문자 영역을 추출하는 방법이다. SVM(서포트 벡터 머신)이나 랜덤 포레스트와 같은 머신러닝 분류기를 이용해 이미지 내에서 문자 영역을 찾아낸다. 하지만 이러한 방법은 모호한 글자들을 검출하지 못하는 경우가 많고, 필체가 다양한 손글씨나 일상 이미지 내 문자를 인식하는 정확도가 낮았다. 예를 들어, 사진 속의 문자를 인식하려면 사진의 다양한 배경과 복잡한 구조 때문에 정확도가 떨어질 수밖에 없었다. | ||
+ | |||
+ | 문자 인식 과정에서는 HOG(지향 히스토그램)와 SIFT(스케일 불변 특징 변환) 등의 이미지 특성을 사용해 SVM이나 k-최근접 이웃 알고리즘을 통해 개별 글자를 분류했다. 이후 통계적 언어 모델이나 시각적 구조 예측을 통해 잘못 분류된 문자들을 제거했다. 이 과정을 통해 개별 글자를 단어로 연결하게 되었다. 하지만 이러한 방법들은 다양한 필체의 손글씨와 일상 이미지 내 문자를 인식하는 데 한계가 있었고, 사전에 없는 단어들은 인식하지 못하는 등의 문제점이 있었다. | ||
+ | |||
+ | ===딥러닝 기반=== | ||
+ | [[딥러닝]]은 [[인공지능]]의 한 분야로, 인간의 뇌 구조와 비슷한 인공 신경망을 이용해 데이터를 분석하고 학습하는 기술이다. 딥러닝은 많은 데이터를 바탕으로 스스로 학습하고 예측할 수 있어서, OCR 기술에 큰 발전을 가져왔다. 딥러닝 기반 OCR 기술은 문자 검출과 문자 인식으로 나뉜다. | ||
+ | |||
+ | ====문자 검출 모델==== | ||
+ | 문자 검출 모델은 이미지에서 문자 영역을 찾아내는 역할을 한다. 딥러닝 기반 문자 검출 모델은 주로 다음 네 가지 방법으로 분류할 수 있다: | ||
+ | |||
+ | * '''Bounding Box Regression'''(경계 상자 회귀 분석) : 문자 영역의 위치를 네모 박스(바운딩 박스) 형태로 표시하는 방법이다. 회귀 분석을 통해 박스의 좌표를 구한다. 이는 문자 영역을 명확하게 구분하는 데 유용하다. | ||
+ | * '''Part 기반 방법''' : 문자 인스턴스의 작은 부분들을 연결하여 하나의 단어나 문자 라인을 검출하는 방법이다. 이는 개별 문자 조각을 연결하여 문자를 검출하는 방식이다. | ||
+ | * '''Segmentation'''(분할) : 바운딩 박스 정보를 얻기 위해 픽셀 단위로 문자를 예측하는 방법이다. 이는 각 픽셀에 문자가 포함되어 있는지를 예측하여 문자 영역을 찾아낸다. | ||
+ | * '''Fast Scene Text Detection'''(빠른 장면 텍스트 검출) : 정확성과 예측 속도를 높이는 데 중점을 둔 방법이다. 이는 실시간으로 빠르게 문자 영역을 검출하는 데 유용하다. | ||
+ | |||
+ | 예를 들어, TextSnake 모델은 휘어진 문자를 인식하기 위해 FCN(완전 합성곱 신경망)을 기반으로 글자 영역, 중심선, 글자 방향 등을 예측한다. Striding 알고리즘과 결합하여 중앙축 점을 추출해 개별 글자를 재구성한다. 또 다른 예로, CRAFT(Character-Region Awareness For Text) 모델은 FCN 모델을 사용해 각 개별 글자 영역에 대한 2차원 가우시안 원형의 스코어맵을 출력하고, 가까운 글자들을 그룹화하여 단어들을 검출한다. 이를 통해 휘어진 문자도 효과적으로 인식할 수 있다.<ref>김건희, 〈[https://velog.io/@xpelqpdj0422/11.-OCR-%EA%B8%B0%EC%88%A0%EC%9D%98-%EA%B0%9C%EC%9A%94 11. OCR 기술의 개요]〉, 《벨로그》, 2022-10-20</ref> | ||
+ | |||
+ | ====문자 인식 모델==== | ||
+ | 문자 인식 모델은 검출된 문자 영역의 텍스트를 실제 글자로 변환하는 역할을 한다. 딥러닝 기반 문자 인식 모델은 주로 두 가지 방법으로 나뉜다. | ||
+ | |||
+ | * '''개별 글자 인식''': 각 글자를 하나씩 인식하는 방법이다. 클래스 수가 적어서 상대적으로 쉽다. 예를 들어, 각 글자를 독립적으로 인식하고 조합하여 단어를 만드는 방식이다. | ||
+ | * '''단어 단위 인식''': 단어 전체를 한 번에 인식하는 방법이다. 더 많은 클래스가 필요하지만, 오탈자가 줄어드는 장점이 있다. 예를 들어, 단어 단위로 인식하면 문맥을 고려하여 더 정확하게 인식할 수 있다. | ||
+ | |||
+ | 딥러닝 모델은 CNN(합성곱 신경망)과 RNN(순환 신경망)을 사용하여 이미지의 특성을 추출하고 시퀀스를 예측한다. CTC(연결주의 시계열 분류)라는 손실 함수를 사용해 시퀀스를 예측하는데, 이는 입력된 이미지 시퀀스를 문자 시퀀스로 변환하는 데 사용된다. 예를 들어, Rosetta 모델은 CNN과 CTC를 이용해 입력된 문자 이미지의 문자 인식 결과를 도출한다. ASTER 모델은 왜곡된 문자를 인식하기 위해 CNN 전 단계에 RN(보정 네트워크)을 삽입해 문자 형태를 직사각형으로 만들고 문자 인식을 진행한다. ESIR 모델은 Thin Plate Spline 변환을 사용해 곡선이 있는 문자 인식률을 향상시킨다. 또한, 문자 인식의 디코딩 단계에서 기계번역에 사용된 어텐션 메커니즘도 적용된다. 이는 입력 이미지의 중요한 부분에 집중하여 더 정확한 문자 인식을 가능하게 한다. | ||
+ | |||
+ | ====end-to-end 모델==== | ||
+ | End-to-End 모델은 문자 검출과 인식을 동시에 수행하는 방법이다. 이렇게 하면 문자 검출과 인식의 정확도를 동시에 향상시킬 수 있다. 예를 들어, TextSpotter 모델은 디코딩 과정에서 개별 글자들의 어텐션을 향상시켜 LSTM의 정확도를 높였다. TextDragon 모델은 왜곡된 글자 영역 보정에 특화되어 있으며, 슬라이드 연산자(RoISlide)를 활용해 왜곡된 글자 형태를 잘 처리할 수 있다. Mask TextSpotter 모델은 세그멘테이션 제안 네트워크를 사용해 문자를 검출하고 인식한다. 이는 앵커프리 방식으로, 다양한 글자 형태에 적용할 수 있다. | ||
+ | |||
+ | == 언어별 인식도 == | ||
+ | 언어와 문자별로 은근히 인식도 차이가 있다. 그냥 한 줄로 쭉 쓰는 [[영어]] 및 [[서유럽]] 언어가 가장 연구가 진행되어 있어서 인식율이 매우 뛰어나다. 영어 로마자 문서는 99.5% 제대로 인식된다고 보면 된다. 필기체의 인식도도 뛰어난 편이다. | ||
+ | |||
+ | 반면 [[한글]], [[한자]]같은 문자는 모양이 복잡하기도 하고 연구 투자도 서양에 비해 미진한 편이기 때문에 더 높은 해상도로 스캔하거나 하지 않으면 오자율이 상당하다. 손으로 쓴 한글이 특수 문자로 변환되는 건 아주 흔하다. 또한 모양이 비슷한 글자가 있어서 결과물이 이상하게 나오는 경우도 있다. 특히 '관'을 '판'으로 인식하는 오류가 가장 심해서, "-에 판하여"로 검색하면 논문이 줄줄이 나온다. 특히 표나 그림이 들어간 문서는 인식율이 최악이다. 한국의 오래된 행정 문서들이 수백 년 역사를 가진 미국보다 느리게 디지털화되고 있는 이유이기도 하다. | ||
+ | |||
+ | 같은 한자라도, 비영어권 문자라도 [[일본어]]처럼 히라가나, 가타카나가 섞인 문면은 한글에 비해 훨씬 인식율이 높은 편이다. 글자 모양이 로마자만큼이나 단순한 데다 정형화되어 있어서 활자본 글자는 90% 이상 인식이 된다. ソ(so)와 ン(n), シ(shi)와 ツ(tsu) 정도만 빼면 웬만한 것들은 정확하다. 일본이 일본어 문헌을 컴퓨터로 표현하는 것을 연구한 역사는 꽤 유구했기도 해서 영어를 제외하면 일본어의 OCR 인식율이 가장 좋다. ソ와 ン, シ와 ツ를 문맥으로 자연스럽게 구분하기 위한 연구도 활발하다.<ref>〈[https://namu.wiki/w/OCR OCR]〉, 《나무위키》</ref> | ||
== 응용 분야 == | == 응용 분야 == | ||
− | + | ===문서/도서 자료 번역=== | |
− | + | 국가 간 산업 교류의 문턱이 낮아짐에 따라 글로벌화된 업무의 특성상 관련 문서들이 다양한 언어로 작성된다. 광학문자인식 기술은 이러한 개별 문서들을 디지털화할 수 있고 사용자의 대표 언어로 정보를 제공할 수 있다. 이와 유사한 사례로, 한자 기반의 한국 고문서에 대해서도 광학문자인식 기술이 적용되어 번역본 자동 생성을 통한 문화유산의 활용도 상승에 기여하고 있다. 그 밖에도 광학문자인식 기술은 인쇄물의 접근성이 부족한 시각장애인들을 위한 전자책 서비스를 지원한다. 점자를 통한 정보전달은 속도가 느릴 뿐만 아니라 실제로 과반수 이상의 시각장애인들이 점자 해독 능력을 갖추고 있지 않다. 따라서 광학문자인식 기반의 Text To Speech를 통한 음성지원 전자책 서비스가 각광받고 있다.<ref name='ETRI'>민기현, 이아람, 김거식, 김정은, 강현서, 이길행 연구원, 〈[https://ettrends.etri.re.kr/ettrends/198/0905198003/022-032_%EB%AF%BC%EA%B8%B0%ED%98%84_198%ED%98%B8.pdf 딥러닝 기반 광학 문자 인식 기술 동향 - Recent Trends in Deep Learning-Based Optical Character Recognition]〉, 《한국전자통신연구원》, 2022-10</ref> | |
− | + | ||
− | + | ===기록물 데이터베이스화=== | |
− | + | [[통신]]과 [[데이터베이스]] 기술의 발전에 따라 업무 산출 문서는 전산화를 기본으로 한다. 마찬가지로 기존 오프라인 문서들도 통합적 관리를 위해 전산화가 요구되고 있지만, 수십 년간의 방대한 누적량으로 인해 수작업을 통한 온라인 입력에 많은 시간이 소요된다. 이에 대한 개선책으로 광학문자인식 기술이 도입되었으며 공공/금융기관, 통신사 등 사회 각소에서 가시적인 효과를 보이고 있다. 또한 해당 기술의 적용 대상이 초기 정형화된 공문서에서 영수증, 수표, 도면 등의 사문서까지 확대됨에 다양한 서체, 양식, 또는 훼손 정도에 대한 범용 서비스가 시도되고 있다. 「개인정보보호법」의 강화에 따라 [[한국인터넷진흥원]]에서는 데이터베이스상에 저장된 디지털 문서에 주민등록번호나 계좌번호 등의 개인정보 포함을 지양하고 있다. 이러한 민감정보 관리의 과정에서도 광학문자인식 기술이 적용되어 선택적 블라인드 처리 자동화를 지원하고 있다.<ref name='ETRI'/> | |
− | + | ||
− | + | ===전문 의료 정보 해석=== | |
− | + | 건강 복지 시스템의 발전을 통해 전 국민을 대상으로 고품질의 서비스가 제공되고 있으며 처방전 발급량이 급증하고 있다. 처방전은 전문 의료용어로 구성되어 있어 개인의 복용에 가이드를 제공하지 못하며 다종의 의료서비스를 동시에 이용하는 경우 의약품 오용의 소지도 있다. 이를 개선하기 위해 스마트 헬스케어 시스템인 Medi-U는 광학문자인식을 통해 처방전 사진을 분석하여 중복처방 등의 위험요소를 예방하는 서비스를 제공하고 있다.<ref name='ETRI'/> | |
− | + | ||
+ | ===공공서비스 지원=== | ||
+ | 상수도, 도시가스와 같은 공공서비스들은 사용량에 대한 월별 검침이 각 가정에 설치된 아날로그 미터기에 대한 검침원의 나안 관찰로 이루어지고 있다. 무선통신 모듈형의 검침기술이 최근 개발되고 있지만, 비용적 측면에서 실사용에 어려움이 있다. 따라서 공공서비스 사용량은 매번 장시간의 수작업을 통해 수기나 모바일 기기에 입력되고 있다. 해당 작업에 대한 효율성과 정확성의 증가를 위해 계량기를 촬영한 이미지에 대한 OCR 기술의 적용이 제안되었다. 또 하나의 공공서비스인 우편시스템에 대해서도 광학문자인식 기술의 선두적인 활용이 전망된다. 우편물 표면에 기입된 발신자/수신자 주소 정보는 인쇄체나 필기체의 조합으로 구성되며, 우편물 자동접수기는 이러한 우편물의 상부정보 촬영 영상을 기반으로 공급서비스의 가격 책정 및 우편물 분류를 수행한다. 수도/도시가스 검침기와는 다르게 우편물상에 필기체로 표기된 정보에는 각 개인의 필체에 따른 변인을 극복할 수 있는 인식 기술 개발이 선결과제로 주어진다. 현재까지 문자 분리를 통한 인식 기술이 개발되었고 추가적인 연구로 단어(주소)단위 문자열 추출 방안에 대한 연구가 제시되고 있다.<ref name='ETRI'/> | ||
+ | |||
+ | ===교통안전 감시, 자율주행 보조=== | ||
+ | 도로상의 위법차량과 범죄자 동선 추적을 위해 [[CCTV]] 영상 활용이 활발히 이루어지고 있다. 초기 서비스 단계에서는 교통법규 위법상황 순간 촬영된 단일 이미지에 대해서 인적 검사를 통해 번호판 정보를 추출하였고, 범죄자 동선 추적의 경우도 해당 구역 촬영분의 전수 검사를 거쳤다. 이러한 과정은 인적 판단 오류나 영상 자체의 노이즈로 인해 정보의 손실이 발생하며 검출의 과정에 많은 시간이 소요되었다. 추후 딥러닝 기반 광학문자인식 기술의 도입으로 해당 기술의 전자동화를 이루었으며 기후 악조건, 모션블러 등으로 인해 훼손된 영상에 대해서도 필요정보 획득을 위해 딥러닝 기반 패턴 복원을 활용한 인식률 개선 연구가 ETRI를 필두로 수행되고 있다. 차세대 교통기술로써 두각을 나타내고 있는 [[자율주행]] 개발에서도 광학문자인식 기술은 핵심 개발요소로 자리 잡고있다. [[GPS]] 기반 [[내비게이션]] 정보에서 제공되지 않는 노상 안전 관련 표지판들은 주행중 실시간으로 검출 및 인식(Traffic-Sign Recognition)되어야 하므로 [[고속주행]] 환경 내에서 높은 정확도와 연산속도를 모두 요구한다. 이러한 trade-off 관계에 속한 두 가지 성능의 균형적 개발을 위해 Faster R-CNN과 MobileNetV2 등의 경량 딥러닝 모델을 사용하는 연구가 활발히 진행되고 있다.<ref name='ETRI'/> | ||
+ | |||
+ | == 국내 법률 및 정책 == | ||
+ | 과학기술정보통신부와 법무부가 적극적으로 추진해 온 ‘전자문서및 전자거래 기본법 개정안’이 2020년 12월 10일 시행되면서 디지털 문서가 원본 종이문서와 동일한 법적 효력을 갖게 되었다. 이에 광학문자인식기술을 통해 문서의 디지털변환을 필요로 하는 곳이 많아졌다. 예를 들어 환자의 차트 등을 종이문서로 오랫동안 보관해온 병의원, 회계자료 등을 디지털화하려는 기업, 대한민국 근현대사를 기록하는 대통령기록관, 수사기록과 같은 중요한 종이문서를 많이 보유한 검찰 등이 대표적인 광학문자인식기술의 수요처라고 할 수 있다. 해당 법에서는 디지털문서의 위변조를 방지하기 위하여 종이문서의 스캔 본을 공인전자문서센터에 보관하고, 종이문서를 폐기하는 내용을 포함한다. 과거 스캔한 문서는 그림파일로 인식되었으나, 광학문자인식을 통해 텍스트를 디지털화해 컴퓨터에 저장이 가능해지므로 추후 문서 내용의 분석과 같은 후속작업이 용이해졌다. | ||
+ | |||
+ | 광학문자인식기술은 다양한 기업 및 기관의 디지털전환을 가속화시킬 기술이며, 더 나아가 거시적 관점으로는 국가 데이터 구축의 기반기술로 볼 수 있다. 광학문자인식기술은 데이터 축적과 가장 밀접하며, 정책적으로는 AI 및 데이터 관련 육성정책과 관련이 있다. 관계부처들이 합동으로 공표한 계획과 전략은 2019년에 발표된 2023년까지의 계획인 ‘데이터·AI경제 활성화 계획’과 2021년 발표한 ‘신뢰할 수 있는 인공지능 실현 전략’이 대표적인데, 이들 계획 및 전략은 데이터의 신뢰성 확보를 중요시한다. 광학문자인식은 현재 기술적으로 한글분야에서 99 % 이상의 인식률을 달성하였고, 필기습관에 따라서 구분이 어려울 수 있는 ‘ㄹ 과 ㄷ’, ‘ㅁ 과 ㅇ’과 같은 경우도 AI를 이용해 문맥에 맞는 것을 정확하게 선택할 수 있는 수준이 되었다.<ref name='KISTI'>데이터분석본부 대국경북지원 노대경 선임연구원, 〈[https://repository.kisti.re.kr/bitstream/10580/16743/3/ASTI%20MARKET%20INSIGHT%20024%280712%29.pdf ASTI MARKET INSIGHT - 광학문자인식]〉, 《한국과학기술정보연구원》, 2022</ref> | ||
− | == | + | == 시장동향 == |
− | + | === 시장 규모 === | |
+ | AIDC 시장은 광학문자인식, [[RFID]] 등 세분화된 다양한 시장을 포함하고 있는 상위시장이다. AIDC의 세계시장은 2020년 401억 달러에서 연평균 14.9 % 성장해 2025년 803억 달러가 될 것으로 전망되고 있다. 광학문자인식은 AIDC의 하위 시장으로서 시장의 플레이어들이 소비자에게 제공하는 형태에 따라 [[소프트웨어]]와 [[서비스]]로 구분이 가능하다. 광학문자인식 소프트웨어 세계 시장은 2020년 713백만 달러에서 연평균 13.4 % 성장해 2025년에는 1,335백만 달러가 될 것으로 전망된다. 광학문자인식 응용 서비스 관련 세계 시장은 2020년 618백만 달러에서 연평균 17.5 % 성장해 2025년 1,385백만 달러의 규모가 될 것으로 전망된다. 서비스 시장은 소프트웨어 시장에 비해 고성장이 예상되며, 2024년부터는 서비스 시장이 소프트웨어 시장의 규모를 넘어설 것으로 예상된다. | ||
− | + | 좀 더 상세하게 대륙별 시장규모를 살펴보면, 아시아태평양 지역이 2020년 기준 487백만 달러로 가장 크고, 연평균 17.9 % 성장해 2025년 1,109백만 달러의 규모가 될 것으로 전망된다. 아시아태평양 지역은 데이터 산업에 대한 관심도가 타 지역에 비하여 높기 때문에 고성장이 예상되며, 향후 성장세가 계속될 것으로 예상된다. 북 | |
+ | 미 지역은 2020년 기준 376백만 달러에서 연평균 13.9 % 성장해 2025년 721백만 달러가 될 것으로 전망된다. 유럽은 2020년 기준 335백만 달러에서 연평균 13.5 % 성장해 2025년에는 629백만 달러의 규모가 될 것으로 전망되며, 기타 국가들은 2020년 기준 130백만 달러에서 2025년 261백만 달러로 연평균 15 %의 성장이 전망된다. 국내 광학문자인식 시장 역시 AIDC의 세계 시장규모를 기반으로 2020년 국내 데이터산업이 세계 시장에서 차지하는 비중 8.26 %를 일괄 적용해 도출한 결과, 2020년 110백만 달러에서 연평균 15.4% 성장해 2025년에는 225백만 달러가 될 것으로 전망된다.<ref name='KISTI'/> | ||
{{각주}} | {{각주}} | ||
60번째 줄: | 108번째 줄: | ||
== 참고자료 == | == 참고자료 == | ||
* 〈[https://ko.wikipedia.org/wiki/%EA%B4%91%ED%95%99_%EB%AC%B8%EC%9E%90_%EC%9D%B8%EC%8B%9D 광학 문자 인식]〉, 《위키백과》 | * 〈[https://ko.wikipedia.org/wiki/%EA%B4%91%ED%95%99_%EB%AC%B8%EC%9E%90_%EC%9D%B8%EC%8B%9D 광학 문자 인식]〉, 《위키백과》 | ||
+ | * 〈[https://namu.wiki/w/OCR OCR]〉, 《나무위키》 | ||
+ | * 〈[https://www.adobe.com/kr/acrobat/roc/blog/what-is-ocr.html OCR의 정의와 OCR이 중요한 이유]〉, 《어도비》 | ||
+ | * 김재완, 김상태, 윤준용, 주양익, 〈[https://scienceon.kisti.re.kr/srch/selectPORSrchArticle.do?cn=JAKO201536553118591 OCR 기반의 개인 처방전 관리 시스템]〉, 《한국정보통신학회눈문지》, 2015 | ||
* 킬크, 〈[https://cusee.net/2462898 높은 한글 인식률을 자랑하는 OCR 솔루션, ABBYY FineReader 11]〉, 《개인블로그》, 2011-11-29 | * 킬크, 〈[https://cusee.net/2462898 높은 한글 인식률을 자랑하는 OCR 솔루션, ABBYY FineReader 11]〉, 《개인블로그》, 2011-11-29 | ||
+ | * Naga Kiran, 〈[https://medium.datadriveninvestor.com/4-simple-steps-in-building-ocr-1f41c66099c1 4 Simple steps in building OCR]〉, 《미디엄》, 2019-03-14 | ||
* 과학기술정보통신부, 〈[https://m.blog.naver.com/with_msip/221846680863 이미지 속 문자를 손쉽게 디지털화하는 'OCR']〉, 《네이버 블로그》, 2020-03-10 | * 과학기술정보통신부, 〈[https://m.blog.naver.com/with_msip/221846680863 이미지 속 문자를 손쉽게 디지털화하는 'OCR']〉, 《네이버 블로그》, 2020-03-10 | ||
+ | * 데이터분석본부 대국경북지원 노대경 선임연구원, 〈[https://repository.kisti.re.kr/bitstream/10580/16743/3/ASTI%20MARKET%20INSIGHT%20024%280712%29.pdf ASTI MARKET INSIGHT - 광학문자인식]〉, 《한국과학기술정보연구원》, 2022 | ||
+ | * 민기현, 이아람, 김거식, 김정은, 강현서, 이길행 연구원, 〈[https://ettrends.etri.re.kr/ettrends/198/0905198003/022-032_%EB%AF%BC%EA%B8%B0%ED%98%84_198%ED%98%B8.pdf 딥러닝 기반 광학 문자 인식 기술 동향]〉, 《한국전자통신연구원》, 2022-10 | ||
+ | * 김건희, 〈[https://velog.io/@xpelqpdj0422/11.-OCR-%EA%B8%B0%EC%88%A0%EC%9D%98-%EA%B0%9C%EC%9A%94 11. OCR 기술의 개요]〉, 《벨로그》, 2022-10-20 | ||
+ | * 〈[https://kr.appen.com/blog/ocr/ 광학 문자 인식(OCR)이란? 정의, 적용 사례, 작동 원리]〉, 《아펜》, 2023-04-18 | ||
* 정데만, 〈[https://practical-data.tistory.com/68 OCR(광학 문자 인식)기술은 어떻게 발달하고 있을까?]〉, 《티스토리》, 2023-07-10 | * 정데만, 〈[https://practical-data.tistory.com/68 OCR(광학 문자 인식)기술은 어떻게 발달하고 있을까?]〉, 《티스토리》, 2023-07-10 | ||
+ | * 매니저S, 〈[https://blog.naver.com/smartnari/223220887971 외부 문자를 디지털화 해주는 OCR 기술이란?]〉, 《네이버 블로그》, 2023-09-26 | ||
+ | * PatrickFarley, nitinme, eric-urban, 〈[https://learn.microsoft.com/ko-kr/azure/ai-services/computer-vision/overview-ocr OCR - 광학 인식]〉, 《마이크로소프트》, 2024-06-26 | ||
== 같이 보기 == | == 같이 보기 == | ||
* [[문자]] | * [[문자]] | ||
* [[인식]] | * [[인식]] | ||
+ | * [[문자인식]] | ||
* [[인공지능]] | * [[인공지능]] | ||
+ | * [[딥러닝]] | ||
− | {{인공지능 기술| | + | {{인공지능 기술|검토 필요}} |
2024년 7월 26일 (금) 14:40 판
광학문자인식(OCR, Optical Character Recognition)은 이미지나 스캔된 문서에서 텍스트를 자동으로 인식하고 추출하는 기술이다. 이 기술은 수작업을 줄이고, 데이터 입력 과정을 자동화하며, 문서를 디지털화하는 데 중요한 역할을 한다. 문자인식의 기본 목표는 사람의 시각적 인식을 모방하여 인쇄된 글자나 손글씨를 기계가 이해할 수 있는 디지털 데이터로 변환하는 것이다.
목차
상세
광학문자인식은 사람이 쓰거나 기계로 인쇄한 문자의 영상을 이미지 스캐너로 획득하여 기계가 읽을 수 있는 문자로 변환하는 것이다. 이미지 스캔으로 얻을 수 있는 문서의 활자 영상을 컴퓨터가 편집 가능한 문자코드 등의 형식으로 변환하는 소프트웨어로써 일반적으로 OCR이라고 하며, OCR은 인공지능이나 기계 시각(machine vision)의 연구분야로 시작되었다.
거울이나 렌즈 등의 광학 기술을 이용한 광학문자인식과 스캐너 및 알고리즘에 의한 디지털 문자인식은 다른 영역으로 생각되었으나 이제는 광학문자인식이라는 말이 디지털 문자인식을 포함하는 것으로 간주되었다. 초기 시스템은 특정한 서체를 읽기 위해 미리 해당 서체의 샘플을 읽는 것을 뜻하는 트레이닝이 필요했지만, 지금은 대부분의 서체를 높은 확률로 변환이 가능하다. 몇몇 시스템에서는 읽어들인 이미지에서 그것과 거의 일치하는 워드 프로세서 파일과 같은 문서 포맷으로 된 출력 파일을 생성할 수 있으며, 그 중에는 이미지처럼 문서 이외의 부분이 포함되어 있어도 제대로 인식하는 것도 있다.[1]
디지털이 일상 곳곳에 침투하고 있지만 일부 비즈니스에서는 여전히 종이 문서를 사용하고 있다. 송장, 계약서, 스캔한 법률 문서, 기타 종이 양식 등이 그렇다. 종이 문서는 물리적 공간을 많이 차지하며, 관리에 많은 시간과 노력이 필요하다. 비즈니스 전반에서 '페이퍼리스' 문서가 대두되는 이유다. 한편, 문서를 이미지로 변환하면 추후 해당 문서를 활용할 때 일일이 텍스트를 입력해야 하므로 시간 소모적이다. OCR은 이러한 시간과 비용을 줄여준다. 이미지를 텍스트 데이터로 변환하면 쉽게 사용할 수 있을 뿐 아니라 다른 비즈니스 소프트웨어에서도 판독이 기능하다. 이 기술은 운영 효율성을 높이고, 분석을 수행하고, 프로세스를 자동화하여 업무 전반의 생산성을 높인다.[2]
원리
문자인식 기술은 크게 문자 찾기(text detection)와 문자 매칭(text recognition)으로 구성되어 있다. 먼저 문자 찾기는 이미지에서 문자가 있는 영역을 찾아낸 후 글자가 어떤 형식으로 구성되어 있는 지 파악하는 부분으로 글자의 방향과 배치(종/횡, 왼쪽부터 시작 등) 등을 파악하는 부분이다. 그리고 문자 매칭은 이렇게 찾아낸 글자가 실제 어떤 문자에 해당하는 지 분류하는 역할을 담당한다.[3]
문자인식은 일반적으로 다음과 같은 단계를 통해 이루어진다.
- 이미지 전처리 : 4단계로 이루어진다. 먼저 이미지에서 불필요한 잡음을 제거하여 인식 정확도를 높이고, 이미지를 흑백으로 변화하여 글자와 배경을 구분하며, 스캔된 이미지가 기울어진 경우 이를 보정하여 정리한다. 이후 글자의 경계를 명확하게 하여 인식하기 쉽게 만든다.
- 텍스트 영역 추출 : 이미지에서 텍스트가 있는 영역을 식별한다. 주로 경계 상자(bounding box)를 그려 텍스트가 포함된 부분을 분리한다.
- 문자 분할 : 텍스트 영역에서 개별 문자를 분리한다. 이는 주로 문자의 위치와 크기를 분석하여 이루어진다.[4]
- 특징 추출 및 문자 인식 : 개별 문자에서 특징을 추출하고, 이를 사전에 학습된 문자 데이터베이스와 비교하여 문자를 인식한다. 현대 OCR 시스템은 주로 CNN을 사용하여 높은 정확도로 특징을 추출하고 인식한다.
- 후처리 : 인식된 텍스트를 정리하고, 문맥을 고려하여 오탈자를 수정하며 최종 결과를 생성한다.[5]
전처리
컴퓨터는 사람처럼 직관적으로 문자를 구분하지 못하고, 이미지에서 색깔 분석을 통해 비슷한 밝기를 가진 픽셀들을 덩어리처럼 인식하기 때문에 색깔 차이를 분명하게 해주어 인식률을 높여야 효과적인 문자인식이 가능하다. 전처리 단계는 이미지로부터 텍스트인 영역을 컴퓨터가 보다 쉽게 인식할 수 있도록 이미지를 보정하는 역할을 한다. 전처리 과정에서 사용되는 여러 기술이 있는데 대표적인 기술은 컬러 이미지를 먼저 회색조로 변환하고, 픽셀들의 값을 분석하여 밝기와 명암 대비를 크게 한 후, 픽셀값을 두 범위로 나누어 0과 1로 분류하는 2진화 작업을 수행하는 것이다. 이외에도 얼룩 제거, 라인 제거, 레이아웃 분석 등 여러 기술이 사용된다.[6][7]
문자 분할
딥러닝 기술을 이용하여 전체 이미지에서 텍스트인 영역을 골라내는 작업을 수행하는 단계다. 아래 그림처럼 텍스트 영역과 그 영역의 회전 각도를 구하고, 텍스트를 수평 형태로 만든다. 이렇게 텍스트 영역을 수평으로 만들어야 다음 단계에서 컴퓨터가 더욱 정확하게 글자를 인식할 수 있다.[6][8]
특징 추출 및 문자인식
전처리와 글자 문자 분할 단계에서 이미지에서 문자 영역을 골라냈다면 이제부터는 그 문자가 어떤 문자인지 알아내야 한다. 아래 그림과 같이, 먼저 텍스트 영역의 문자들을 하나의 문자로 각각 인식한다. 그 다음 딥러닝 시스템의 역할이 중요하다. 글자를 구분하는 여러 특징을 대량의 데이터를 통해 컴퓨터가 학습을 하여 그 문자가 어떤 문자인지 알아낸다.[6][9]
후처리
마지막으로 후처리 단계는 출력된 텍스트의 내용적인 부분을 따져서 부자연스러운 단어나 문자가 포함되면 이를 고침으로써 정확도를 보다 향상하는 단계다. 예를 들어 '홋길동'이라는 단어는 맥락상 이름임을 알 수 있고 '홋'이라는 성은 존재하지 않으므로 '홍길동'이라고 수정된다.[6]
모델
딥러닝 기반 광학문자인식 기술은 다양한 필체와 복잡한 배경에서도 높은 성능을 발휘한다. 이는 초창기 머신러닝 기반 광학문자인식 기술의 단점을 극복하고, 더 정확하고 효율적인 문자 인식을 가능하게 만들었다. 초창기 기술들은 다양한 상황에서의 문자 인식에 한계가 있었지만, 딥러닝의 도입으로 이러한 문제들이 해결되었다. 이제는 더 복잡하고 다양한 환경에서도 높은 정확도로 문자를 인식할 수 있게 되었다.
초창기
초창기 광학문자인식 기술은 주로 머신러닝 기법을 사용하여 문자를 검출하고 인식했다. 그중에서 대표적인 두 가지 방법은 슬라이딩 윈도우 방법과 연결요소 특징 방법이다.
먼저 슬라이딩 윈도우 방법은 일정한 크기의 슬라이딩 윈도우를 사용하여 이미지 전체를 스캔하며 가능한 모든 문자의 위치와 스케일을 검출하는 방법이다. 이를 위해 이미지 피라미드를 구축하여 다양한 크기의 윈도우를 적용한다. 이 방법은 이미지의 수평 방향으로 정렬된 문자를 검출하는 데 적합했다. 하지만 다양한 방향성을 가진 문자를 인식하는 데는 한계가 있었다. 예를 들어, 이미지를 일정한 크기의 창으로 나누어 문자가 있는지를 확인하는 방식이다. 이미지가 커지거나 복잡해지면 이 방법은 성능이 떨어질 수밖에 없었다.
연결요소 특징 방법은 색상, 텍스처, 바운더리(경계), 코너 포인트 등의 요소를 사용하여 이미지 내 문자 영역을 추출하는 방법이다. SVM(서포트 벡터 머신)이나 랜덤 포레스트와 같은 머신러닝 분류기를 이용해 이미지 내에서 문자 영역을 찾아낸다. 하지만 이러한 방법은 모호한 글자들을 검출하지 못하는 경우가 많고, 필체가 다양한 손글씨나 일상 이미지 내 문자를 인식하는 정확도가 낮았다. 예를 들어, 사진 속의 문자를 인식하려면 사진의 다양한 배경과 복잡한 구조 때문에 정확도가 떨어질 수밖에 없었다.
문자 인식 과정에서는 HOG(지향 히스토그램)와 SIFT(스케일 불변 특징 변환) 등의 이미지 특성을 사용해 SVM이나 k-최근접 이웃 알고리즘을 통해 개별 글자를 분류했다. 이후 통계적 언어 모델이나 시각적 구조 예측을 통해 잘못 분류된 문자들을 제거했다. 이 과정을 통해 개별 글자를 단어로 연결하게 되었다. 하지만 이러한 방법들은 다양한 필체의 손글씨와 일상 이미지 내 문자를 인식하는 데 한계가 있었고, 사전에 없는 단어들은 인식하지 못하는 등의 문제점이 있었다.
딥러닝 기반
딥러닝은 인공지능의 한 분야로, 인간의 뇌 구조와 비슷한 인공 신경망을 이용해 데이터를 분석하고 학습하는 기술이다. 딥러닝은 많은 데이터를 바탕으로 스스로 학습하고 예측할 수 있어서, OCR 기술에 큰 발전을 가져왔다. 딥러닝 기반 OCR 기술은 문자 검출과 문자 인식으로 나뉜다.
문자 검출 모델
문자 검출 모델은 이미지에서 문자 영역을 찾아내는 역할을 한다. 딥러닝 기반 문자 검출 모델은 주로 다음 네 가지 방법으로 분류할 수 있다:
- Bounding Box Regression(경계 상자 회귀 분석) : 문자 영역의 위치를 네모 박스(바운딩 박스) 형태로 표시하는 방법이다. 회귀 분석을 통해 박스의 좌표를 구한다. 이는 문자 영역을 명확하게 구분하는 데 유용하다.
- Part 기반 방법 : 문자 인스턴스의 작은 부분들을 연결하여 하나의 단어나 문자 라인을 검출하는 방법이다. 이는 개별 문자 조각을 연결하여 문자를 검출하는 방식이다.
- Segmentation(분할) : 바운딩 박스 정보를 얻기 위해 픽셀 단위로 문자를 예측하는 방법이다. 이는 각 픽셀에 문자가 포함되어 있는지를 예측하여 문자 영역을 찾아낸다.
- Fast Scene Text Detection(빠른 장면 텍스트 검출) : 정확성과 예측 속도를 높이는 데 중점을 둔 방법이다. 이는 실시간으로 빠르게 문자 영역을 검출하는 데 유용하다.
예를 들어, TextSnake 모델은 휘어진 문자를 인식하기 위해 FCN(완전 합성곱 신경망)을 기반으로 글자 영역, 중심선, 글자 방향 등을 예측한다. Striding 알고리즘과 결합하여 중앙축 점을 추출해 개별 글자를 재구성한다. 또 다른 예로, CRAFT(Character-Region Awareness For Text) 모델은 FCN 모델을 사용해 각 개별 글자 영역에 대한 2차원 가우시안 원형의 스코어맵을 출력하고, 가까운 글자들을 그룹화하여 단어들을 검출한다. 이를 통해 휘어진 문자도 효과적으로 인식할 수 있다.[10]
문자 인식 모델
문자 인식 모델은 검출된 문자 영역의 텍스트를 실제 글자로 변환하는 역할을 한다. 딥러닝 기반 문자 인식 모델은 주로 두 가지 방법으로 나뉜다.
- 개별 글자 인식: 각 글자를 하나씩 인식하는 방법이다. 클래스 수가 적어서 상대적으로 쉽다. 예를 들어, 각 글자를 독립적으로 인식하고 조합하여 단어를 만드는 방식이다.
- 단어 단위 인식: 단어 전체를 한 번에 인식하는 방법이다. 더 많은 클래스가 필요하지만, 오탈자가 줄어드는 장점이 있다. 예를 들어, 단어 단위로 인식하면 문맥을 고려하여 더 정확하게 인식할 수 있다.
딥러닝 모델은 CNN(합성곱 신경망)과 RNN(순환 신경망)을 사용하여 이미지의 특성을 추출하고 시퀀스를 예측한다. CTC(연결주의 시계열 분류)라는 손실 함수를 사용해 시퀀스를 예측하는데, 이는 입력된 이미지 시퀀스를 문자 시퀀스로 변환하는 데 사용된다. 예를 들어, Rosetta 모델은 CNN과 CTC를 이용해 입력된 문자 이미지의 문자 인식 결과를 도출한다. ASTER 모델은 왜곡된 문자를 인식하기 위해 CNN 전 단계에 RN(보정 네트워크)을 삽입해 문자 형태를 직사각형으로 만들고 문자 인식을 진행한다. ESIR 모델은 Thin Plate Spline 변환을 사용해 곡선이 있는 문자 인식률을 향상시킨다. 또한, 문자 인식의 디코딩 단계에서 기계번역에 사용된 어텐션 메커니즘도 적용된다. 이는 입력 이미지의 중요한 부분에 집중하여 더 정확한 문자 인식을 가능하게 한다.
end-to-end 모델
End-to-End 모델은 문자 검출과 인식을 동시에 수행하는 방법이다. 이렇게 하면 문자 검출과 인식의 정확도를 동시에 향상시킬 수 있다. 예를 들어, TextSpotter 모델은 디코딩 과정에서 개별 글자들의 어텐션을 향상시켜 LSTM의 정확도를 높였다. TextDragon 모델은 왜곡된 글자 영역 보정에 특화되어 있으며, 슬라이드 연산자(RoISlide)를 활용해 왜곡된 글자 형태를 잘 처리할 수 있다. Mask TextSpotter 모델은 세그멘테이션 제안 네트워크를 사용해 문자를 검출하고 인식한다. 이는 앵커프리 방식으로, 다양한 글자 형태에 적용할 수 있다.
언어별 인식도
언어와 문자별로 은근히 인식도 차이가 있다. 그냥 한 줄로 쭉 쓰는 영어 및 서유럽 언어가 가장 연구가 진행되어 있어서 인식율이 매우 뛰어나다. 영어 로마자 문서는 99.5% 제대로 인식된다고 보면 된다. 필기체의 인식도도 뛰어난 편이다.
반면 한글, 한자같은 문자는 모양이 복잡하기도 하고 연구 투자도 서양에 비해 미진한 편이기 때문에 더 높은 해상도로 스캔하거나 하지 않으면 오자율이 상당하다. 손으로 쓴 한글이 특수 문자로 변환되는 건 아주 흔하다. 또한 모양이 비슷한 글자가 있어서 결과물이 이상하게 나오는 경우도 있다. 특히 '관'을 '판'으로 인식하는 오류가 가장 심해서, "-에 판하여"로 검색하면 논문이 줄줄이 나온다. 특히 표나 그림이 들어간 문서는 인식율이 최악이다. 한국의 오래된 행정 문서들이 수백 년 역사를 가진 미국보다 느리게 디지털화되고 있는 이유이기도 하다.
같은 한자라도, 비영어권 문자라도 일본어처럼 히라가나, 가타카나가 섞인 문면은 한글에 비해 훨씬 인식율이 높은 편이다. 글자 모양이 로마자만큼이나 단순한 데다 정형화되어 있어서 활자본 글자는 90% 이상 인식이 된다. ソ(so)와 ン(n), シ(shi)와 ツ(tsu) 정도만 빼면 웬만한 것들은 정확하다. 일본이 일본어 문헌을 컴퓨터로 표현하는 것을 연구한 역사는 꽤 유구했기도 해서 영어를 제외하면 일본어의 OCR 인식율이 가장 좋다. ソ와 ン, シ와 ツ를 문맥으로 자연스럽게 구분하기 위한 연구도 활발하다.[11]
응용 분야
문서/도서 자료 번역
국가 간 산업 교류의 문턱이 낮아짐에 따라 글로벌화된 업무의 특성상 관련 문서들이 다양한 언어로 작성된다. 광학문자인식 기술은 이러한 개별 문서들을 디지털화할 수 있고 사용자의 대표 언어로 정보를 제공할 수 있다. 이와 유사한 사례로, 한자 기반의 한국 고문서에 대해서도 광학문자인식 기술이 적용되어 번역본 자동 생성을 통한 문화유산의 활용도 상승에 기여하고 있다. 그 밖에도 광학문자인식 기술은 인쇄물의 접근성이 부족한 시각장애인들을 위한 전자책 서비스를 지원한다. 점자를 통한 정보전달은 속도가 느릴 뿐만 아니라 실제로 과반수 이상의 시각장애인들이 점자 해독 능력을 갖추고 있지 않다. 따라서 광학문자인식 기반의 Text To Speech를 통한 음성지원 전자책 서비스가 각광받고 있다.[12]
기록물 데이터베이스화
통신과 데이터베이스 기술의 발전에 따라 업무 산출 문서는 전산화를 기본으로 한다. 마찬가지로 기존 오프라인 문서들도 통합적 관리를 위해 전산화가 요구되고 있지만, 수십 년간의 방대한 누적량으로 인해 수작업을 통한 온라인 입력에 많은 시간이 소요된다. 이에 대한 개선책으로 광학문자인식 기술이 도입되었으며 공공/금융기관, 통신사 등 사회 각소에서 가시적인 효과를 보이고 있다. 또한 해당 기술의 적용 대상이 초기 정형화된 공문서에서 영수증, 수표, 도면 등의 사문서까지 확대됨에 다양한 서체, 양식, 또는 훼손 정도에 대한 범용 서비스가 시도되고 있다. 「개인정보보호법」의 강화에 따라 한국인터넷진흥원에서는 데이터베이스상에 저장된 디지털 문서에 주민등록번호나 계좌번호 등의 개인정보 포함을 지양하고 있다. 이러한 민감정보 관리의 과정에서도 광학문자인식 기술이 적용되어 선택적 블라인드 처리 자동화를 지원하고 있다.[12]
전문 의료 정보 해석
건강 복지 시스템의 발전을 통해 전 국민을 대상으로 고품질의 서비스가 제공되고 있으며 처방전 발급량이 급증하고 있다. 처방전은 전문 의료용어로 구성되어 있어 개인의 복용에 가이드를 제공하지 못하며 다종의 의료서비스를 동시에 이용하는 경우 의약품 오용의 소지도 있다. 이를 개선하기 위해 스마트 헬스케어 시스템인 Medi-U는 광학문자인식을 통해 처방전 사진을 분석하여 중복처방 등의 위험요소를 예방하는 서비스를 제공하고 있다.[12]
공공서비스 지원
상수도, 도시가스와 같은 공공서비스들은 사용량에 대한 월별 검침이 각 가정에 설치된 아날로그 미터기에 대한 검침원의 나안 관찰로 이루어지고 있다. 무선통신 모듈형의 검침기술이 최근 개발되고 있지만, 비용적 측면에서 실사용에 어려움이 있다. 따라서 공공서비스 사용량은 매번 장시간의 수작업을 통해 수기나 모바일 기기에 입력되고 있다. 해당 작업에 대한 효율성과 정확성의 증가를 위해 계량기를 촬영한 이미지에 대한 OCR 기술의 적용이 제안되었다. 또 하나의 공공서비스인 우편시스템에 대해서도 광학문자인식 기술의 선두적인 활용이 전망된다. 우편물 표면에 기입된 발신자/수신자 주소 정보는 인쇄체나 필기체의 조합으로 구성되며, 우편물 자동접수기는 이러한 우편물의 상부정보 촬영 영상을 기반으로 공급서비스의 가격 책정 및 우편물 분류를 수행한다. 수도/도시가스 검침기와는 다르게 우편물상에 필기체로 표기된 정보에는 각 개인의 필체에 따른 변인을 극복할 수 있는 인식 기술 개발이 선결과제로 주어진다. 현재까지 문자 분리를 통한 인식 기술이 개발되었고 추가적인 연구로 단어(주소)단위 문자열 추출 방안에 대한 연구가 제시되고 있다.[12]
교통안전 감시, 자율주행 보조
도로상의 위법차량과 범죄자 동선 추적을 위해 CCTV 영상 활용이 활발히 이루어지고 있다. 초기 서비스 단계에서는 교통법규 위법상황 순간 촬영된 단일 이미지에 대해서 인적 검사를 통해 번호판 정보를 추출하였고, 범죄자 동선 추적의 경우도 해당 구역 촬영분의 전수 검사를 거쳤다. 이러한 과정은 인적 판단 오류나 영상 자체의 노이즈로 인해 정보의 손실이 발생하며 검출의 과정에 많은 시간이 소요되었다. 추후 딥러닝 기반 광학문자인식 기술의 도입으로 해당 기술의 전자동화를 이루었으며 기후 악조건, 모션블러 등으로 인해 훼손된 영상에 대해서도 필요정보 획득을 위해 딥러닝 기반 패턴 복원을 활용한 인식률 개선 연구가 ETRI를 필두로 수행되고 있다. 차세대 교통기술로써 두각을 나타내고 있는 자율주행 개발에서도 광학문자인식 기술은 핵심 개발요소로 자리 잡고있다. GPS 기반 내비게이션 정보에서 제공되지 않는 노상 안전 관련 표지판들은 주행중 실시간으로 검출 및 인식(Traffic-Sign Recognition)되어야 하므로 고속주행 환경 내에서 높은 정확도와 연산속도를 모두 요구한다. 이러한 trade-off 관계에 속한 두 가지 성능의 균형적 개발을 위해 Faster R-CNN과 MobileNetV2 등의 경량 딥러닝 모델을 사용하는 연구가 활발히 진행되고 있다.[12]
국내 법률 및 정책
과학기술정보통신부와 법무부가 적극적으로 추진해 온 ‘전자문서및 전자거래 기본법 개정안’이 2020년 12월 10일 시행되면서 디지털 문서가 원본 종이문서와 동일한 법적 효력을 갖게 되었다. 이에 광학문자인식기술을 통해 문서의 디지털변환을 필요로 하는 곳이 많아졌다. 예를 들어 환자의 차트 등을 종이문서로 오랫동안 보관해온 병의원, 회계자료 등을 디지털화하려는 기업, 대한민국 근현대사를 기록하는 대통령기록관, 수사기록과 같은 중요한 종이문서를 많이 보유한 검찰 등이 대표적인 광학문자인식기술의 수요처라고 할 수 있다. 해당 법에서는 디지털문서의 위변조를 방지하기 위하여 종이문서의 스캔 본을 공인전자문서센터에 보관하고, 종이문서를 폐기하는 내용을 포함한다. 과거 스캔한 문서는 그림파일로 인식되었으나, 광학문자인식을 통해 텍스트를 디지털화해 컴퓨터에 저장이 가능해지므로 추후 문서 내용의 분석과 같은 후속작업이 용이해졌다.
광학문자인식기술은 다양한 기업 및 기관의 디지털전환을 가속화시킬 기술이며, 더 나아가 거시적 관점으로는 국가 데이터 구축의 기반기술로 볼 수 있다. 광학문자인식기술은 데이터 축적과 가장 밀접하며, 정책적으로는 AI 및 데이터 관련 육성정책과 관련이 있다. 관계부처들이 합동으로 공표한 계획과 전략은 2019년에 발표된 2023년까지의 계획인 ‘데이터·AI경제 활성화 계획’과 2021년 발표한 ‘신뢰할 수 있는 인공지능 실현 전략’이 대표적인데, 이들 계획 및 전략은 데이터의 신뢰성 확보를 중요시한다. 광학문자인식은 현재 기술적으로 한글분야에서 99 % 이상의 인식률을 달성하였고, 필기습관에 따라서 구분이 어려울 수 있는 ‘ㄹ 과 ㄷ’, ‘ㅁ 과 ㅇ’과 같은 경우도 AI를 이용해 문맥에 맞는 것을 정확하게 선택할 수 있는 수준이 되었다.[13]
시장동향
시장 규모
AIDC 시장은 광학문자인식, RFID 등 세분화된 다양한 시장을 포함하고 있는 상위시장이다. AIDC의 세계시장은 2020년 401억 달러에서 연평균 14.9 % 성장해 2025년 803억 달러가 될 것으로 전망되고 있다. 광학문자인식은 AIDC의 하위 시장으로서 시장의 플레이어들이 소비자에게 제공하는 형태에 따라 소프트웨어와 서비스로 구분이 가능하다. 광학문자인식 소프트웨어 세계 시장은 2020년 713백만 달러에서 연평균 13.4 % 성장해 2025년에는 1,335백만 달러가 될 것으로 전망된다. 광학문자인식 응용 서비스 관련 세계 시장은 2020년 618백만 달러에서 연평균 17.5 % 성장해 2025년 1,385백만 달러의 규모가 될 것으로 전망된다. 서비스 시장은 소프트웨어 시장에 비해 고성장이 예상되며, 2024년부터는 서비스 시장이 소프트웨어 시장의 규모를 넘어설 것으로 예상된다.
좀 더 상세하게 대륙별 시장규모를 살펴보면, 아시아태평양 지역이 2020년 기준 487백만 달러로 가장 크고, 연평균 17.9 % 성장해 2025년 1,109백만 달러의 규모가 될 것으로 전망된다. 아시아태평양 지역은 데이터 산업에 대한 관심도가 타 지역에 비하여 높기 때문에 고성장이 예상되며, 향후 성장세가 계속될 것으로 예상된다. 북 미 지역은 2020년 기준 376백만 달러에서 연평균 13.9 % 성장해 2025년 721백만 달러가 될 것으로 전망된다. 유럽은 2020년 기준 335백만 달러에서 연평균 13.5 % 성장해 2025년에는 629백만 달러의 규모가 될 것으로 전망되며, 기타 국가들은 2020년 기준 130백만 달러에서 2025년 261백만 달러로 연평균 15 %의 성장이 전망된다. 국내 광학문자인식 시장 역시 AIDC의 세계 시장규모를 기반으로 2020년 국내 데이터산업이 세계 시장에서 차지하는 비중 8.26 %를 일괄 적용해 도출한 결과, 2020년 110백만 달러에서 연평균 15.4% 성장해 2025년에는 225백만 달러가 될 것으로 전망된다.[13]
각주
- ↑ 〈광학 문자 인식〉, 《위키백과》
- ↑ 〈OCR의 정의와 OCR이 중요한 이유〉, 《어도비》
- ↑ 정데만, 〈OCR(광학 문자 인식)기술은 어떻게 발달하고 있을까?〉, 《티스토리》, 2023-07-10
- ↑ 매니저S, 〈외부 문자를 디지털화 해주는 OCR 기술이란?〉, 《네이버 블로그》, 2023-09-26
- ↑ 〈광학 문자 인식(OCR)이란? 정의, 적용 사례, 작동 원리〉, 《아펜》, 2023-04-18
- ↑ 6.0 6.1 6.2 6.3 과학기술정보통신부, 〈이미지 속 문자를 손쉽게 디지털화하는 'OCR'〉, 《네이버 블로그》, 2020-03-10
- ↑ 김재완, 김상태, 윤준용, 주양익, 〈OCR 기반의 개인 처방전 관리 시스템 A Personal Prescription Management System Employing Optical Character Recognition Technique〉, 《한국정보통신학회눈문지》, 2015
- ↑ PatrickFarley, nitinme, eric-urban, 〈OCR - 광학 인식〉, 《마이크로소프트》, 2024-06-26
- ↑ Naga Kiran, 〈4 Simple steps in building OCR〉, 《미디엄》, 2019-03-14
- ↑ 김건희, 〈11. OCR 기술의 개요〉, 《벨로그》, 2022-10-20
- ↑ 〈OCR〉, 《나무위키》
- ↑ 12.0 12.1 12.2 12.3 12.4 민기현, 이아람, 김거식, 김정은, 강현서, 이길행 연구원, 〈딥러닝 기반 광학 문자 인식 기술 동향 - Recent Trends in Deep Learning-Based Optical Character Recognition〉, 《한국전자통신연구원》, 2022-10
- ↑ 13.0 13.1 데이터분석본부 대국경북지원 노대경 선임연구원, 〈ASTI MARKET INSIGHT - 광학문자인식〉, 《한국과학기술정보연구원》, 2022
참고자료
- 〈광학 문자 인식〉, 《위키백과》
- 〈OCR〉, 《나무위키》
- 〈OCR의 정의와 OCR이 중요한 이유〉, 《어도비》
- 김재완, 김상태, 윤준용, 주양익, 〈OCR 기반의 개인 처방전 관리 시스템〉, 《한국정보통신학회눈문지》, 2015
- 킬크, 〈높은 한글 인식률을 자랑하는 OCR 솔루션, ABBYY FineReader 11〉, 《개인블로그》, 2011-11-29
- Naga Kiran, 〈4 Simple steps in building OCR〉, 《미디엄》, 2019-03-14
- 과학기술정보통신부, 〈이미지 속 문자를 손쉽게 디지털화하는 'OCR'〉, 《네이버 블로그》, 2020-03-10
- 데이터분석본부 대국경북지원 노대경 선임연구원, 〈ASTI MARKET INSIGHT - 광학문자인식〉, 《한국과학기술정보연구원》, 2022
- 민기현, 이아람, 김거식, 김정은, 강현서, 이길행 연구원, 〈딥러닝 기반 광학 문자 인식 기술 동향〉, 《한국전자통신연구원》, 2022-10
- 김건희, 〈11. OCR 기술의 개요〉, 《벨로그》, 2022-10-20
- 〈광학 문자 인식(OCR)이란? 정의, 적용 사례, 작동 원리〉, 《아펜》, 2023-04-18
- 정데만, 〈OCR(광학 문자 인식)기술은 어떻게 발달하고 있을까?〉, 《티스토리》, 2023-07-10
- 매니저S, 〈외부 문자를 디지털화 해주는 OCR 기술이란?〉, 《네이버 블로그》, 2023-09-26
- PatrickFarley, nitinme, eric-urban, 〈OCR - 광학 인식〉, 《마이크로소프트》, 2024-06-26
같이 보기