KR102436814B1 - 광학 문자 인식 장치 및 그 제어방법 - Google Patents
광학 문자 인식 장치 및 그 제어방법 Download PDFInfo
- Publication number
- KR102436814B1 KR102436814B1 KR1020200126491A KR20200126491A KR102436814B1 KR 102436814 B1 KR102436814 B1 KR 102436814B1 KR 1020200126491 A KR1020200126491 A KR 1020200126491A KR 20200126491 A KR20200126491 A KR 20200126491A KR 102436814 B1 KR102436814 B1 KR 102436814B1
- Authority
- KR
- South Korea
- Prior art keywords
- character
- image
- document
- processor
- present
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012015 optical character recognition Methods 0.000 title claims abstract description 16
- 238000010801 machine learning Methods 0.000 claims abstract description 29
- 238000007781 pre-processing Methods 0.000 claims abstract description 22
- 238000013135 deep learning Methods 0.000 claims abstract description 6
- 238000012545 processing Methods 0.000 claims description 40
- 230000015654 memory Effects 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 23
- 238000012937 correction Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 238000011176 pooling Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000010354 integration Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013145 classification model Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000003708 edge detection Methods 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000060 site-specific infrared dichroism spectroscopy Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Character Discrimination (AREA)
Abstract
본 발명은 이미지 내의 문자를 인식하는 방법에 있어서, 광학 문자 인식(Optical Character Recognition)을 위해, 획득된 이미지에 대해 전처리를 수행하는 단계; 기계학습(딥 러닝)을 이용하여, 상기 전처리된 이미지 내의 문서 요소를 분리하는 단계; 상기 분리된 문서 요소 중 문자 요소에 기초하여 상기 전처리된 이미지 내에서 문자 영역을 결정하는 단계; 및 상기 결정된 문자 영역 내의 적어도 하나의 문자를 인식하는 단계를 포함한다.
Description
본 발명은 문자 인식 장치에 관한 것으로, 보다 구체적으로 광학 방식을 이용하여 이미지 내의 문자를 인식하는 광학 문자 인식 장치 및 그 제어 방법에 관한 것이다.
최근 디지털 기술의 발달과 함께 이동통신 단말기, PDA(Personal Digital Assistant), 전자수첩, 스마트 폰, 태블릿 PC(Personal Computer) 등과 같이 이동하면서 통신 및 개인정보 처리가 가능한 사용자 장치(user device)가 다양하게 출시되고 있다. 이러한 사용자 장치는 각자의 전통적인 고유 영역에 머무르지 않고 다른 단말들의 영역까지 아우르는 모바일 컨버전스(mobile convergence) 단계에 이르고 있다. 대표적으로, 사용자 장치는 음성통화 및 영상통화 등과 같은 통화 기능, SMS(Short Message Service)/MMS(Multimedia Message Service) 및 이메일 등과 같은 메시지 송수신 기능, 내비게이션 기능, 촬영 기능, 방송 재생 기능, 미디어(동영상 및 음악) 재생 기능, 인터넷 기능, 메신저 기능 및 소셜 네트워크 서비스(SNS, Social Networking Service) 기능 등의 다양한 기능들을 구비할 수 있다.
근래에 들어서는, 이미지에 포함되어 있는 문자 정보를, 컴퓨터 등의 디지털 기기로 처리하기 위한 다양한 기술들이 개발되고 있다. 이러한 처리를 통상적으로 디지타이징(digitizing)이라고 하는데, 디지타이징은, 이미지, 문서, 음성 등에 포함되어 있는 아날로그 정보를 디지털 정보로 가공하기 위한 일련의 과정을 의미하기도 한다.
특히, 이미지를 디지타이징하기 위하여, 널리 알려진 광학 문자 인식(Optical Character Recognition; OCR) 기술이 이용되고 있다 (여기서, 광학 문자 인식은, 스캐너 혹은 카메라 등의 광학 기기에 의해 생성된 이미지에 포함된, 손으로 쓴 문자나 인쇄된 문자를 컴퓨터 등의 디지털 기기로 편집할 수 있는 문자로 변환하는 일련의 과정을 의미한다). 이 중에서도, 광학 문자 인식 시스템에서 널리 사용되는 문자 추출 기술(character extraction technology)은 문자 인식의 정확도를 결정 짓는 중요한 기술로서, 이와 관련된 연구가 특히 활발하게 진행되어 왔다.
종래에는 광학 문자 인식을 함에 있어, 이미지에 전처리만을 수행하여 전처리된 이미지 내에서 문자 영역을 검출하고 검출된 문자 영역에서 문자를 인식하였다. 그러나, 이미지는 문자뿐만 아니라 공백, 테이블, 선, 그림, 그래프, 스탬프, 오너먼트(ornament) 등을 포함하므로, 이미지 전처리만을 수행한 이후 문자를 인식하는 경우 문자 영역을 제대로 결정하지 못해 인식률이 매우 떨어지는 문제가 있었다.
상술한 문제점을 해결하기 위한 본 발명의 목적은, 기계학습을 통해 문서 요소를 분리하여 이미지 내의 문자를 인식하도록 하여 문자 인식률을 높이는 광학 문자 인식 장치 및 그 제어방법을 제공하는데 있다.
상술한 과제를 해결하기 위한 본 발명의 이미지 내의 문자를 인식하는 방법은, 광학 문자 인식(Optical Character Recognition)을 위해, 획득된 이미지에 대해 전처리를 수행하는 단계; 기계학습(딥 러닝)을 이용하여, 상기 전처리된 이미지 내의 문서 요소를 분리하는 단계; 상기 분리된 문서 요소 중 문자 요소에 기초하여 상기 전처리된 이미지 내에서 문자 영역을 결정하는 단계; 및 상기 결정된 문자 영역 내의 적어도 하나의 문자를 인식하는 단계를 포함할 수 있다.
본 발명의 이미지 내의 문자를 인식하는 방법은, 상기 분리된 상기 문서 요소 내의 선 및 테이블에 포함된 테이블 계층(Hierarchy) 구조 중 적어도 하나에 기초하여, 상기 문자 영역을 결정하는 단계를 포함할 수 있다.
본 발명의 이미지 내의 문자를 인식하는 방법은, 상기 분리된 문서 요소 내의 스탬프(stamp) 및 오너먼트(ornament) 중 적어도 하나에 기초하여, 상기 인식된 문자를 통해 처리 정보를 생성하는 단계를 더 포함할 수 있으며, 상기 처리 정보는, 상기 획득된 이미지와 대응되는 원본 문서의 처리 상태를 나타낼 수 있다.
본 발명의 이미지 내의 문자를 인식하는 방법은, 상기 처리 정보 및 상기 인식된 문자에 기초하여 의미 정보를 생성하는 단계를 더 포함하고, 상기 의미 정보는 상기 획득된 이미지에 대응되는 원본 문서의 상태를 나타낼 수 있다.
본 발명의 이미지 내의 문자를 인식하는 방법에서, 상기 기계학습을 위한 데이터는, U-Net-dhSegment에 기초하여 생성된 것일 수 있다.
본 발명의 이미지 내의 문자를 인식하는 방법에서, 상기 문자 영역은, 문자 중심일 확률(Character Region Score) 또는 문자간 중심일 확률(Affinity Score)을 이용하여 학습된 기계학습 데이터를 이용하여 결정된 것일 수 있다.
본 발명의 이미지 내의 문자를 인식하는 방법은, 상기 인식된 문자를 기초로, 단어 시퀀스 예측을 통한 문자 보정을 수행하는 단계를 더 포함할 수 있다.
본 발명의 이미지 내의 문자를 인식하는 방법에서, 상기 문서 요소는 문자 요소, 테이블, 선, 스탬프(stamp), 및 오너먼트(ornament) 중 적어도 하나를 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 문자 인식 장치는 통신부; 메모리; 및 상기 메모리에 저장된 하나 이상의 인스트럭션들을 실행하는 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는: 광학 문자 인식(Optical Character Recognition)을 위해, 획득된 이미지에 대해 이미지 전처리를 수행하고, 기계학습(딥 러닝)을 이용하여, 상기 전처리된 이미지 내의 문서 요소를 분리하고, 상기 분리된 문서 요소 중 문자 요소에 기초하여 상기 전처리된 이미지 내에서 문자 영역을 결정하며, 상기 결정된 문자 영역 내의 적어도 하나의 문자를 인식할 수 있다.
본 발명에 개시된 실시예들에 따르면, 이하의 효과를 제공한다.
첫째, 이미지 내에서 문서 요소들을 분리하여 문자 영역을 정확히 결정하여 문자 인식률을 높일 수 있다.
둘째, 처리 정보 및 의미 정보를 생성하여 현재 문서의 상태를 자동으로 결정할 수 있다.
셋째, 단어 시퀀스를 통해 인식된 문자의 오류를 보정함으로써 OCR에서 발생하는 오류를 보완할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 문자 인식 장치를 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 프로세서를 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 문자 인식 방법을 나타낸 흐름도이다.
도 4a는 본 발명의 일 실시예에 따른 획득 문서 요소를 전처리하는 예를 나타낸 도면이다.
도 4b는 본 발명의 일 실시예에 따른 전처리된 이미지에서 문서 요소 분리하는 예를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 문자를 인식하는 예를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 처리 정보를 생성하는 방법을 나타낸 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 의미 정보를 생성하는 나타낸 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 문자 보정을 수행하는 방법을 나타낸 흐름도이다.
도 9a는 본 발명의 일 실시예에 따른 문자 인식을 수행하기 위한 예시를 나타낸 도면이다.
도 9b는 본 발명의 일 실시예에 따른 문자 인식을 수행하기 위한 예시를 나타낸 도면이다.
도 10은 본 발명의 일 실시예에 따른 문자 보정을 수행하기 위한 예시를 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 프로세서를 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 문자 인식 방법을 나타낸 흐름도이다.
도 4a는 본 발명의 일 실시예에 따른 획득 문서 요소를 전처리하는 예를 나타낸 도면이다.
도 4b는 본 발명의 일 실시예에 따른 전처리된 이미지에서 문서 요소 분리하는 예를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 문자를 인식하는 예를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 처리 정보를 생성하는 방법을 나타낸 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 의미 정보를 생성하는 나타낸 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 문자 보정을 수행하는 방법을 나타낸 흐름도이다.
도 9a는 본 발명의 일 실시예에 따른 문자 인식을 수행하기 위한 예시를 나타낸 도면이다.
도 9b는 본 발명의 일 실시예에 따른 문자 인식을 수행하기 위한 예시를 나타낸 도면이다.
도 10은 본 발명의 일 실시예에 따른 문자 보정을 수행하기 위한 예시를 나타낸 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제 1", "제 2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제 1 구성요소는 본 발명의 기술적 사상 내에서 제 2 구성요소일 수도 있음은 물론이다.
"예시적인"이라는 단어는 본 명세서에서 "예시 또는 예증으로서 사용된"의 의미로 사용된다. 본 명세서에서 "예시적인"것으로 설명된 임의의 실시예는 반드시 바람직한 것으로서 해석되거나 다른 실시예들보다 이점을 갖는 것으로 해석되어서는 안된다.
또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 엘리먼트를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 엘리먼트들, 객체지향 소프트웨어 엘리먼트들, 클래스 엘리먼트들 및 태스크 엘리먼트들과 같은 엘리먼트들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 엘리먼트들과 "부"들 안에서 제공되는 기능은 더 작은 수의 엘리먼트들 및 "부"들로 결합되거나 추가적인 엘리먼트들과 "부"들로 더 분리될 수 있다.
또한, 본 명세서의 모든 “부”는 적어도 하나의 프로세서에 의해 제어될 수 있으며 본 개시의 “부”가 수행하는 동작을 적어도 하나의 프로세서가 수행할 수도 있다.
본 개시의 실시예들은 기능 또는 기능을 수행하는 블록의 관점에서 설명될 수 있다. 본 개시의 ‘부’ 또는 ‘모듈’ 등으로 지칭될 수 있는 블록은 논리 게이트, 집적 회로, 마이크로 프로세서, 마이크로 컨트롤러, 메모리, 수동 전자 부품, 능동 전자 부품, 광학 컴포넌트, 하드와이어드 회로(hardwired circuits) 등과 같은 아날로그 또는 디지털 회로에 의해 물리적으로 구현되고, 선택적으로 펌웨어 및 소프트웨어에 의해 구동될 수 있다.
본 개시의 실시예는 적어도 하나의 하드웨어 디바이스 상에서 실행되는 적어도 하나의 소프트웨어 프로그램을 사용하여 구현될 수 있고 엘리먼트를 제어하기 위해 네트워크 관리 기능을 수행할 수 있다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 문자 인식 장치(100)를 나타낸 블록도이다. 문자 인식 장치(100)는 통신부(110), 메모리(120) 및 프로세서(130)를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 문자 인식 장치(100)는 스캐너, 복사기, 카메라 등과 같이 외부 장치로부터 이미지를 수신하여 문자 인식을 수행할 수 있으며, 촬영 기능이나 스캔 기능을 갖는 엘리먼트를 포함하여 문자 인식 장치(100) 자체적으로 문서를 촬영하거나 스캔하여 문자 인식을 수행할 수 있다.
본 발명의 일 실시예에 따르면, 통신부(110)는 문자 인식 장치(100)의 외부 장치(미도시)로부터 이미지를 수신하고, 수신한 이미지를 메모리(120) 또는 프로세서(130)로 전송할 수 있다.
여기서, 상기 수신된 이미지는 원본 문서가 스캐너와 같은 상기 외부 장치를 통해 스캐닝된 스캔 문서 이미지를 포함할 수 있다. 또한 상기 수신된 이미지는 원본 문서가 촬영 장치(일 예로, 카메라)와 같은 상기 외부 장치를 통해 촬영된 촬영 문서 이미지를 포함할 수 있다.
또한, 원본 문서는 컴퓨터와 같은 전자 장치를 통해 타이핑되어 인쇄된 문서 또는 수기로 작성된 문서일 수 있다. 또한, 이미지는 반드시 문서의 형식으로 작성된 내용을 포함하는 것일 필요는 없으며, 이미지에는 컬러 이미지, 그레이 스케일(gray-scale) 이미지는 물론, 컴퓨터 등의 디지털 장치로 처리할 수 있는 형식으로 작성된 이미지가 모두 포함될 수 있다.
본 발명의 일 실시예 따르면, 문자 인식 장치(100)는 메모리(120)에 저장된 데이터 또는 프로세서(130)에 의해 처리된 데이터를 외부 장치로 전송할 수도 있다.
또한, 본 발명의 통신부(110)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 장치와 통신을 수행할 수 있다. 통신부(110)는 와이파이칩, 블루투스 칩, 무선 통신 칩, NFC 칩 중 적어도 하나를 포함할 수 있다.
와이파이 칩, 블루투스 칩은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행할 수 있다. 와이파이 칩 또는 블루투스 칩을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신 칩은 IEEE, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다. NFC 칩은 135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC(Near Field Communication) 방식으로 동작하는 칩을 의미한다.
본 발명의 메모리(120)는 통신부(110)가 수신한 이미지 데이터 (또는 이미지) 및 프로세서(130)가 처리한 데이터를 저장할 수 있는 로컬 저장 매체이다. 필요한 경우 통신부(110) 및 프로세서(130)는 메모리(120)에 저장된 데이터를 이용할 수 있다. 또한, 본 발명의 메모리(120)는 수신된 이미지 데이터 및 프로세서(130)가 동작하기 위한 인스트럭션 등을 저장할 수 있다.
또한, 본 발명의 메모리(120)는 문자 인식 장치(100)에 공급되는 전원이 차단되더라도 데이터들이 남아있어야 하며, 변동사항을 반영할 수 있도록 쓰기 가능한 비휘발성 메모리(Writable Rom)로 구비될 수 있다. 즉, 메모리(120)는 플래쉬메모리(Flash Memory) 또는 EPROM 또는 EEPROM 중 어느 하나로 구비될 수 있다. 본 발명에서 설명의 편의를 위해 하나의 메모리(120)에 모든 인스트럭션 정보가 저장되는 것으로 설명하고 있으나, 이에 한정되는 것은 아니며, 문자 인식 장치(100)는 복수의 메모리를 구비할 수 있다.
본 발명의 일 실시예에 따르면, 프로세서(130)는 통신부(110) 또는 메모리(120)로부터 이미지 데이터를 수신할 수 있으며, 문서 요소를 분리 (또는 구별)한 후, 이를 문자 영역으로 결정하고, 상기 결정된 문자 영역 내에 포함된 적어도 하나의 문자를 인식할 수 있다.
본 명세서에서, 문서 요소는 문자와 같이 프로세서(130)가 최종적으로 인식하는 객체가 아닌, 문서를 구성하는 모든 데이터를 포함할 수 있다.
본 명세서에서, 문자 요소는 프로세서(130)에 의해 분리된 문서를 이루는 요소를 지칭하는 것이며 문자는 문자 영역 내에서 최종적으로 인식된 객체를 지칭할 수 있다.
또한, 프로세서(130)는 인식된 문자 외에 문자 인식에 사용되지 않은 문서 요소에 기초하여 처리 정보를 생성할 수 있다. 또한, 본 발명의 프로세서(130)는 단어 시퀀스 예측을 통해 OCR에서 잘못 인식된 문자를 보정하는 문자 보정을 수행할 수 있다.
본 발명의 프로세서(130)는 이하에서 설명할 문자 인식 장치(100)의 모든 동작과 단계를 수행할 수 있다.
도 2는 본 발명의 일 실시예에 따른 프로세서(130)를 나타낸 블록도이다.
본 발명의 일 실시예에 따른 프로세서(130)는 제어부(210), 이미지 수신부(220), 이미지 전처리부(230), 문자 인식부(240), 정보 생성부(250) 및 문자 보정부(260)를 포함할 수 있다.
본 발명의 일 실시예에 따른 제어부(210)는 이미지 수신부(220), 이미지 전처리부(230), 문자 인식부(240), 정보 생성부(250) 및 문자 보정부(260)와 데이터를 교환할 수 있으며, 메모리(120)에 저장된 인스트럭션에 따라 각 엘리먼트(210, 220, 230, 240, 250, 260)의 동작을 제어할 수 있다.
본 발명의 일 실시예에 따른 이미지 수신부(220)는 통신부(110)가 수신한 이미지 데이터를 수신할 수 있다. 여기서, 이미지 데이터(또는 이미지)는 원본 문서가 스캐너와 같은 상기 외부 장치를 통해 스캐닝된 스캔 문서 이미지를 포함할 수 있고, 또한 원본 문서가 촬영 장치(일 예로, 카메라)와 같은 상기 외부 장치를 통해 촬영된 촬영 문서 이미지를 포함할 수 있다. 따라서, 이미지 수신부(220)에 수신된 이미지 데이터는 칼라 또는 흑백일 수 있다. 본 명세서에서, 원본 문서는 컴퓨터와 같은 전자 장치를 통해 타이핑되어 인쇄된 문서 또는 수기로 작성된 문서일 수 있다. 또한, 원본 문서는 스탬프(stamp) 또는 서명을 포함할 수 있다. 또한, 원본 문서의 출처, 서지 사항, 생성일자 또는 문서의 정보를 포함하는 QR 코드를 등을 포함할 수도 있으며, 일반적으로 문서에 포함되어 촬영되거나 복사될 수 있는 모든 정보를 포함할 수 있다.
본 발명의 일 실시예에 따른 이미지 전처리부(230)는 수신된 이미지 데이터에 전처리를 수행할 수 있다. 본 발명의 일 실시예에 따르면, 이미지 전처리부(230)는 이진화 연산을 통해 이미지 전처리를 수행할 수 있다. 일 예로, 상기 이진화 연산은 이미지를 구성하는 개별 픽셀에 대하여, 픽셀값이 문턱값 이상인 경우에는 픽셀값을 1로 지정하고, 그렇지 않은 경우에는 픽셀값을 0으로 지정하는 처리를 포함할 수 있다. 일반적으로, 문자에 해당하는 부분은 해당 이미지 내에서 상대적으로 어둡게 표현되며, 이에 따라 상대적으로 낮은 픽셀값을 가지기 때문에, 상술한 이진화 연산을 거치면 대개 이미지 내의 문자 부분이 두드러지게 강조될 수 있다.
본 발명의 일 실시예에 따르면, 이미지 전처리부(230)는 가장자리 검출(dege detection)을 통해 이미지 전처리를 수행할 수 있다.
또한, 이미지 전처리부(230)는 이미지가 수신되면 기울어진 이미지에 자동 보정(Deskewing)을 수행하여 문서 기울임 보정을 하고, 지정된 크기보다 작은 문서의 테두리 여백을 자동으로 제거하며, 문서 내부의 도트(Dot) 노이즈 및 펀치 홀(Punch Hole) 노이즈를 자동으로 제거하고, 밝기를 조절할 수 있다.
본 명세서에서는 상술한 이미지 전처리 기술은 이진화 연산 또는 가장자리 검출과 같은 종래 기술로 설명하였으나, 상술한 이미지 전처리는 문자, 스탬프 모든 문서 요소를 명확하게 구별할 수 있도록 하는 모든 기술을 지칭하는 것으로, 본 명세서에서 설명한 기술에 제한되는 것은 아니다.
본 발명의 일 실시예에 따르면, 문자 인식부(240)는 기계학습(딥러닝)을 이용하여 이미지가 포함하는 문서 요소를 구별 (또는 분리)할 수 있다. 본 명세서에서 문서 요소는, 원본 문서의 정보가 데이터로 처리되어 이미지 수신부(220)에 의해 수신된, 이미지를 포함하는 모든 데이터 요소를 지칭할 수 있다. 일예로서, 문서 요소는 문자 요소, 테이블, 선, 스탬프, 및 오너먼트 중 적어도 하나를 포함할 수 있다.
본 발명의 실시예들에 따른 기계학습을 위한 데이터는 다양한 기계학습 모델에 기초하여 생성될 수 있다.
일 예로, 본 발명의 심층신경망(Deep Neural Network; DNN)은, 하나 이상의 컴퓨터 내에 하나 이상의 레이어(Layer)를 구축하여 복수의 데이터를 바탕으로 판단을 수행하는 시스템 또는 네트워크를 포함할 수 있다.
상기 심층신경망은 컨볼루션 풀링 층(Convolutional Pooling Layer), 로컬 접속 층(a locally-connected layer) 및 완전 연결 층(fully-connected layer)을 포함하는 층들의 세트로 구현될 수 있다.
상기 컨볼루션 풀링 층 또는 로컬 접속 층은 영상 내 특징들을 추출하도록 구성될 수 있다.
상기 완전 연결 층은 영상의 특징 간의 상관 관계를 결정할 수 있다.
다른 예로, 본 발명의 심층신경망의 전체적인 구조는 컨볼루션 풀링 층에 로컬 접속 층이 이어지고, 로컬 접속 층에 완전 연결 층이 이러지는 형태로 이루어질 수 있다. 심층신경망은 다양한 판단기준(즉, 파라미터(Parameter))를 포함할 수 있고, 입력되는 영상 분석을 통해 새로운 판단기준(즉, 파라미터)를 추가할 수 있다.
본 발명의 실시예들에 따른 심층신경망은, 영상분석에 적합한 콘볼루셔널 신경망이라고 부르는 구조로서, 주어진 영상 데이터들로부터 가장 분별력(Discriminative Power)이 큰 특징을 스스로 학습하는 특징 추출층(Feature Extraction Layer)과 추출된 특징을 기반으로 가장 높은 예측 성능을 내도록 예측 모델을 학습하는 예측층(Prediction Layer)이 통합된 구조로 구성될 수도 있다.
상기 특징 추출층은 영상의 각 영역에 대해 복수의 필터를 적용하여 특징 지도(Feature Map)를 만들어 내는 콘볼루션 층(Convolution Layer)과 특징 지도를 공간적으로 통합함으로써 위치나 회전의 변화에 불변하는 특징을 추출할 수 있도록 하는 통합층(Pooling Layer)을 번갈아 수 차례 반복하는 구조로 형성될 수 있다. 이를 통해, 점, 선, 면 등의 낮은 수준의 특징에서부터 복잡하고 의미 있는 높은 수준의 특징까지 다양한 수준의 특징을 추출해낼 수 있다.
상기 콘볼루션 층은 입력 영상의 각 패치에 대하여 필 터와 국지 수용장(Local Receptive Field)의 내적에 비선형 활성 함수(Activation Function)을 취함으로 서 특징지도(Feature Map)을 구하게 되는데, 다른 네트워크 구조와 비교하여, CNN은 희소한 연결성 (Sparse Connectivity)과 공유된 가중치(Shared Weights)를 가진 필터를 사용하는 특징이 있다. 이러한 연결구조는 학습할 모수의 개수를 줄여주고, 역전파 알고리즘을 통한 학습을 효율적으로 만들어 결과적으로 예측 성능을 향상시킨다.
상기 통합 층(Pooling Layer 또는 Sub-sampling Layer)은 이전 콘볼루션 층에서 구해진 특징 지도의 지역 정보를 활용하여 새로운 특징 지도를 생성한다. 일반적으로 통합 층에 의해 새로 생성된 특징지도는 원래의 특징 지도보다 작은 크기로 줄어드는데, 대표적인 통합 방법으로는 특징 지도 내 해당 영역의 최대값을 선택하는 최대 통합(Max Pooling)과 특징 지도 내 해당 영역의 평균값을 구하는 평균 통합(Average Pooling) 등이 있다. 상기 통합 층의 특징지도는 일반적으로 이전 층의 특징 지도보다 입력 영상에 존재하는 임의의 구조나 패턴의 위치에 영향을 적게 받을 수 있다. 즉, 상기 통합층은 입력 영상 혹은 이전 특징 지도에서의 노이즈나 왜곡과 같은 지역적 변화에 보다 강인한 특징을 추출할 수 있게 되고, 이러한 특징은 분류 성능에 중요한 역할을 할 수 있다. 또 다른 통합 층의 역할은, 깊은 구조상에서 상위의 학습 층으로 올라갈수록 더 넓은 영역의 특징을 반영할 수 있게 하는 것으로서, 특징 추출 층이 쌓이면서, 하위 층에서는 지역적인 특징을 반영하고 상위 층으로 올라 갈수록 보다 추상적인 전체 영상의 특징을 반영하는 특징 생성할 수 있다.
이와 같이, 콘볼루션 층과 통합 층의 반복을 통해 최종적으로 추출된 특징은 다중 신경망(MLP: Multi-layer Perception)이나 서포트 벡터 머신(SVM: Support Vector Machine)과 같은 분류 모델이 완전 연결 층(Fully-connected Layer)의 형태로 결합되어 분류 모델 학습 및 예측에 사용될 수 있다.
또한, 본 발명의 일 실시예에 따르면, 기계학습을 위한 학습 데이터는 U-Net-dhSgement 모델에 기초하여 생성될 수 있다. 여기서, U-Net-dhSgement 모델은 종단 간(end-to-end)의 완전 연결 컨벌루션 네트워크 (Fully Convolutional Networks. FCN)를 기초로, 확장(expansive) 경로를 수축(contracting) 경로와 대칭(symmetric)으로 설정하여 각 레벨에 대한 스킵(skip) 연결이 있는 U 자형 아키텍처를 생성한 모델일 수 있다.
본 발명의 일 실시예에 따르면, 문자 인식부(240)는 문서 요소를 구별한 이후, 구별된 문서 요소들에 기초하여 문자 (또는 텍스트) 영역을 결정할 수 있다. 본 명세서에서, 문자 영역은 문자 인식부(240)가 인식할 문자를 포함하는 영역으로, 문자 인식부(240)는 문서 요소 중 문자 요소만에 기초하여 문자 영역을 결정할 수 있다. 또한, 문자 인식부(240)는 문서 요소 중, 선 및 테이블에 포함된 테이블 계층(Hierarchy) 구조 중 적어도 하나를 이용하여, 문자 요소에 기초하여 문자 영역을 결정할 수도 있다.
문자 영역이 결정되면, 문자 인식부(240)는 결정된 문자 영역내에서 문자 (또는 텍스트)를 인식할 수 있다. 문자 영역을 결정하고 문자를 인식 방법에 대하여는 이하의 도 3 내지 도 5에서 상세히 후술한다.
본 발명의 일 실시예에 따르면, 정보 생성부(250)는 문서 요소 중 스탬프(stamp) 및 오너먼트(ornament) 중 적어도 하나에 기초하여, 인식된 문자를 통해 처리 정보를 생성할 수 있다. 여기서 처리 정보는 획득 이미지와 대응되는 원본 문서의 처리 상태를 나타낼 수 있다. 구체적으로, 원본 문서의 처리 상태는 원본 문서의 접수완료 또는 처리완료와 같이 해당 문서의 처리 상태를 나타내는 정보를 포함할 수 있다. 예를 들어, 원본 문서가 특정인의 결제가 필요한 경우라면, 처리 정보는 어느 결제 담당자까지 결제가 완료된 것인지를 나타내는 정보를 포함할 수 있다. 구체적으로, 원본 문서가 회사의 결제 서류인 경우 일반적으로 서류 작성 담당자 및 상급자의 결제가 필요할 수 있다. 여기서, 결제는 서명, 지장 및 인장 중 적어도 하나를 포함할 수 있으며, 결제 정보는 문자 인식부(240)에 의해 스탬프로 분리될 수 있다. 이 경우, 처리 정보는 모든 결제 담당자의 결제가 완료된 것인지 여부가 될 수 있다.
본 발명의 일 실시예에 따르면, 문자 보정부(260)는 단어 시퀀스 예측을 통해 인식된 단어에 오류가 있는 경우, 문자를 보정할 수 있다. 문자 보정부(260)는 문자 인식부(240)에서 인식된 문자에서 단어 시퀀스에 따를 경우 특정 문자 다음의 문자가 오류가 있는 것으로 결정하는 경우 문자 보정을 수행하여 해당 오류를 보완할 수 있다. 이 경우, 단어 시퀀스 예측을 위한 데이터는 기계학습을 통해 생성될 수도 있다.
본 명세서에는 각각의 엘리먼트(210, 220, 230, 240, 250, 260)가 별개의 동작을 수행하는 것으로 기재하였으나, 특정 엘리먼트가 반드시 특정한 동작을 수행하여야 하는 것이 아니며 프로세서(130)는 하나의 프로세서가 모든 엘리먼트(210, 220, 230, 240, 250, 260)의 동작을 수행하거나 또는 제어할 수 있으며, 엘리먼트(210, 220, 230, 240, 250, 260)의 각 동작을 수행 또는 제어하는 프로세서가 복수개 존재할 수도 있다.
도 3은 본 발명의 일 실시예에 따른 문자 인식 방법을 나타낸 흐름도이다.
본 발명의 문자 인식 장치(100)의 제어 방법의 각 단계들은 통신부(110), 메모리(120) 및 프로세서(130)를 포함하는 다양한 형태의 전자 장치에 의해 수행될 수 있다.
이하에서는 도 3을 참조하여 프로세서(130)가 본 발명에 따른 문자 인식 장치(100)의 문자 인식과 관련된 동작을 제어하는 과정을 중심으로 상세히 설명한다.
따라서, 문자 인식 장치(100)에 대해 설명된 실시예들은 문자 인식 장치(100)의 제어 방법에 적어도 일부 또는 모두 적용이 가능하고, 반대로 문자 인식 장치(100) 제어 방법에 대해 설명된 실시예들은 문자 인식 장치(100)에 대한 실시예들에 적어도 일부 또는 모두 적용이 가능하다. 또한, 개시된 실시예들에 따른 문자 인식 장치(100)의 제어 방법은 본 명세서에 개시된 문자 인식 장치(100)에 의해 수행되는 것으로 그 실시 예가 한정되지 않고, 다양한 형태의 전자장치에 의해 수행될 수 있다.
먼저, 문자 인식 장치(100)의 프로세서(130)는 통신부(110)를 통해 이미지를 획득하고, 상기 획득된 이미지에 전처리를 수행할 수 있다[S310].
그 다음으로, 프로세서(130)는 기계학습을 이용하여 상기 전처리된 이미지 내에 포함된 적어도 하나의 문서요소를 구별 (또는 분리)할 수 있다[S320].
이때, 본 발명의 일 실시예에 따르면, 상기 문서 요소는 문자 요소, 테이블, 선, 스탬프(stamp), 및 오너먼트(ornament) 중 적어도 하나를 포함할 수 있다. 여기서, 상기 문자 요소는 사람들이 언어로서 사용하며 사람들 간 소통에서 이해할 수 있는 언어에 대응되는 데이터를 포함하고, 상기 테이블은 복수개의 문자들을 포함할 수 있는 복수개의 영역들을 포함한 도표를 포함할 수 있다. 또한, 상기 스탬프는 지장, 인장 또는 서명 등과 같이 문서의 결제 또는 처리 여부와 대응되는 데이터를 포함할 수 있다. 다른 예로서, 상기 스탬프는 우표와 같이, 특정 문서가 완성된 국가나 시기를 결정할 수 있는 정보와 대응되는 데이터를 포함할 수 있다.
본 발명에서의 기계학습 데이터는 다양한 기계학습 모델에 기초하여 생성될 수 있으며, 바람직하게는 U-Net-dhSgement 모델에 기초하여 생성될 수 있다.
그 다음으로, 프로세서(130)는 상기 문서 요소가 분리(또는 구별)되면, 상기 분리(또는 구별된)된 문자 요소에 기초하여 상기 전처리된 이미지 내에서 문자 영역을 결정할 수 있다[S330].
종래 기술은 이미지에 전처리만을 수행하여 전처리된 이미지 내에서 문자 영역을 검출하고 검출된 문자 영역에서 문자를 인식하였기 때문에 문자 인식률이 매우 저조하였다.
그러나, 본 발명의 실시예들에 따르면, 전처리된 이미지에 다시 기계학습을 이용하여 문서 요소를 분리하고, 상기 분리된 문서 요소 중 문자 요소만에 기초하여 문자 영역을 결정할 수 있으므로 문자 인식률이 상승하는 기술적 효과를 제공할 수 있다.
본 발명의 일 실시예에 따르면, 프로세서(130)는 문서 요소 중, 선 및 테이블에 포함된 테이블 계층 구조 중 적어도 하나를 이용하여, 상기 문자 요소를 기초로 문자 영역을 결정할 수도 있다.
구체적으로, 프로세서(130)는 상기 획득된 이미지로부터 선 및 테이블을 포함하는 문서 요소를 분리할 수 있으며, 선 또는 테이블의 선을 추정하고, 테이블 내의 셀 영역을 라벨링할 수 있다. 여기서, 셀 영역은 특정 문자 또는 단어가 완전히 포함되거나 일부 포함된 영역일 수 있다.
본 발명의 일 실시예에 따르면, 프로세서(130)는 각 셀 영역의 계층 정보, 위치 정보 및 영역 정보를 생성하여 셀 라벨링 후 문자 요소를 함께 고려하여 문자 영역을 결정할 수 있다. 이 경우, 선 또는 테이블의 선의 추정은 Hough Line Transform을 통해 수행될 수 있다. 또한, 사용되는 tool은 OpenCV일 수 있다.
본 발명의 일 실시예에 따르면, 프로세서(130)는 문자 중심일 확률(Character Region Score) 또는 문자간 중심일 확률(Affinity Score)을 이용하여 학습된 기계학습 모델을 기초로 문자 영역을 결정할 수 있다. 문자 영역을 결정하는 방법에 대하여는 이하의 도 5에서 상세히 후술한다.
그 다음으로, 프로세서(130)는 상기 결정된 문자 영역 내의 문자를 인식할 수 있다[S340].
도 4a는 본 발명의 일 실시예에 따른 획득 문서 요소를 전처리하는 예를 나타낸 도면이다.
도 4b는 본 발명의 일 실시예에 따른 전처리된 이미지에서 문서 요소 분리하는 예를 나타낸 도면이다.
본 발명의 일 실시예에 따르면, 원본 문서는 일계표(daily table)를 포함할 수 있으며, 문자 인식 장치(100)가 획득한 제1 이미지(410)는 상기 일계표의 복사본일 수 있다. 도 4a에 도시된 바와 같이, 제1 이미지(410)는 일계표가 작성된 날짜, 작성 기관 및 결제 당사자의 인장 등을 포함할 수 있다. 제1 이미지(410)가 획득되면, 프로세서(130)는 이미지 전처리를 수행하여 전처리된 제2 이미지(420)를 생성할 수 있다. 이 경우, 도 4a에 도시된 바와 같이, 상기 전처리된 제2 이미지(420)는 원본 문서의 복사본인 제1 이미지(410)에 비하여 선명도가 향상되었음을 알 수 있다.
본 발명의 일 실시예에 따르면, 이미지 전처리가 수행된 이후, 프로세서(130)는 문서 요소(430, 440, 450, 460)를 결정하여 분리할 수 있다. 구체적으로, 프로세서(130)는 전처리된 제2 이미지(420)에서 문자 요소를 포함하는 제1 문서 요소(430), 선 및 테이블을 포함하는 제2 문서 요소(440), 스탬프를 포함하는 제3 문서 요소(450) 및 오너먼트를 포함하는 제4 문서(460)를 분리할 수 있다.
도 4b에 도시된 바와 같이, 제1 문서 요소(430)는 사람들이 언어로서 사용하고 사람들 간 소통에서 이해할 수 있는 언어와 대응되는 데이터를 포함하고, 제2 문서 요소(440)는 선 및 테이블을 포함할 수 있다. 테이블은 복수개일 수 있으며, 각 테이블은 최종적으로 인식될 여러 문자들을 포함할 수 있는 영역들이 집합된 형태일 수 있다. 또한, 제3 문서 요소(450)는 지장, 인장 또는 서명 등과 같이 문서의 결제 또는 처리 여부와 대응되는 데이터를 포함할 수 있다. 제4 문서 요소(460)는 오너먼트를 포함할 수 있으며, 오너먼트는 특정 문서를 생성한 생성 기관, 인증 마크 및 캐릭터 중 적어도 하나를 포함할 수 있다.
도 5는 본 발명의 일 실시예에 따른 문자를 인식하는 예를 나타낸 도면이다.
도 5를 참조하면, 이미지(510)는 컵의 하단을 카메라와 같은 전자 장치를 이용하여 촬영한 촬영본일 수 있다.
문자 인식 장치(100)는 이미지(510)가 획득되면, 도 3의 단계 S310 내지 단계 S330의 단계를 통해 문자 영역을 결정할 수 있다. 이 경우, 프로세서(130)는 문자 중심일 확률(Character Region Score) 및 문자간 중심일 확률(Affinity Score) 중 적어도 하나를 이용하여 학습된 기계학습 모델을 이용하여 문자 영역을 결정할 수 있다. 예를 들어, 프로세서(130)는 문자 영역을 결정하고 문자를 인식하기 위해 NAVER(등록 상표)의 CRAFT(Character Region Awareness for Text Detection) 알고리즘을 이용할 수 있다. 이 경우, 사용되는 툴(tool)은 pytorch일 수 있다.
본 발명의 일 실시예에 따르면, 문자 중심일 확률은 특정 픽셀이 특정 문자의 중심일 확률을 의미할 수 있다. 따라서, 문자 중심일 확률에 기초하여 학습된 기계학습 모델은 특정 픽셀이 특정 문자의 중심에 가까울수록 확률은 1로 수렴하고 문자의 중심에서 멀어질수록 0으로 수렴하도록 학습된 모델일 수 있다.
본 발명의 일 실시예에 따르면, 문자간 중심일 확률은 특정 픽셀이 인접한 문자들의 중심에 가까울 확률을 의미할 수 있다. 따라서, 문자간 중심일 확률에 기초하여 학습된 기계학습 모델은 특정 픽셀이 인접한 문자들의 중심에 가까울수록 확률은 1로 수렴하고 문자들의 중심에서 멀어질수록 0으로 수렴하도록 학습된 모델일 수 있다.
본 발명의 일 실시예에 따르면, 프로세서(130)는 문자 중심일 확률 또는 문자간 중심일 확률을 계산하고, 계산된 확률값에 기초하여 문자 영역을 결정할 수 있다. 이 경우, 프로세서(130)는 계산된 확률값에 기초하여 문자 영역을 결정하기 위해, 문자 중심일 확률에 기초한 기계학습 모델을 이용하는 경우 이미지(520)와 같이 문자 중심일 확률 맵(Region Score Map)을 생성하고, 문자간 중심일 확률에 기초한 기계학습 모델을 이용하는 경우 이미지(530)와 같이 문자간 중심일 확률 맵(Affinity Score Map)을 생성할 수 있다.
본 발명의 일 실시예에 따르면, 프로세서(130)는 문자 중심일 확률 맵 및 문자간 중심일 확률 맵 중 적어도 하나로부터 문자 영역(540)을 결정할 수 있다. 이 경우, 프로세서(130)는 i) 이미지(510)와 동일한 크기의 이진 맵(미도시)의 모든 픽셀값을 0이 되도록 초기화하고 ii) 픽셀에 대해 문자 중심일 확률의 확률값 또는 문자간 중심일 확률의 확률값이 각각 임계값보다 클 경우 해당 픽셀을 1로 설정함으로써, iii) 이진 맵에 대해 Connected component Labeling을 수행하고 iv) Pseudo-Ground Truth의 신뢰도(Confidence score)를 계산하고, 신뢰도 맵에 기초하여 문자 영역(540)을 결정할 수 있다.
본 발명의 일 실시예에 따르면, 프로세서(130)는 문자 영역(540)이 결정되면 결정된 문자 영역(540) 내에서 적어도 하나의 문자를 인식할 수 있다. 이 경우, 프로세서(130)는 문자 영역 클래스(class)를 추정하여 문자를 인식할 수 있으며, 기계학습 모델을 이용하여 문자를 인식할수도 있다.
도 6은 본 발명의 일 실시예에 따른 처리 정보를 생성하는 방법을 나타낸 흐름도이다.
도 6의 단계 S610 내지 단계 S640은 도 3의 단계 S310 내지 단계 S340과 각각 대응되므로 자세한 설명은 생략한다.
도 6을 참조하면, 프로세서(130)는 S610 내지 S640 단계의 동작을 수행한 후 처리 정보를 생성할 수 있다[S650].
본 발명의 다른 일 실시예에 따르면, 처리 정보를 생성하기 위해, 프로세서(130)는 제4 문서 요소(460)를 이용할 수 있다. 스탬프를 포함하는 제4 문서 요소(460)가 분리되면, 프로세서(130)는 문서 요소(460)에서 특정 스탬프를 인식할 수 있다. 이 경우, 프로세서(130)는 기계학습에 기초하여 스탬프를 인식할 수 있다.
이때, 상기 처리 정보는 획득 이미지와 대응되는 원본 문서의 상태를 나타낼 수 있다. 구체적으로, 상기 원본 문서의 상태는 원본 문서의 접수완료 또는 처리완료와 같이 해당 문서의 처리 상태를 포함할 수 있다. 예를 들어, 상기 원본 문서가 특정인의 결제가 필요가 경우라면, 상기 처리 정보는 어느 결제 담당자까지 결제가 완료된 것인지를 나타내는 정보를 포함할 수 있다. 구체적으로, 상기 원본 문서가 회사의 결제 서류인 경우 일반적으로 서류 작성 담당자 및 상급자의 결제가 필요할 수 있다. 여기서, 상기 결제는 서명, 지장 및 인장 중 적어도 하나를 포함할 수 있으며, 결제 정보는 문자 인식부(240)에 의해 스탬프로 분리될 수 있다. 이 경우, 상기 처리 정보는 모든 결제 담당자의 결제가 완료된 것인지 여부를 나타내는 정보를 포함할 수 있다.
본 발명의 다른 일 실시예에 따르면, 원본 문서가 물류 회사의 택배와 관련된 문서라면, 처리 정보는 문서와 대응되는 배송물의 현재 배송 단계를 의미할 수도 있다. 또한, 원본 문서가 수기고지서와 관련된 문서라면, 처리 정보는 해당 수기고지서의 처리 단계를 의미할 수 있으며, 생성된 처리 정보는 소인원장을 자동으로 생성할 때 이용될 수도 있다.
본 발명의 다른 일 실시예에 따르면, 프로세서(130)는 인식된 문자 및 제2 문서(440)로부터 획득된 테이블 정보를 이용하여, 인식된 문자와 대응되는 스탬프가 테이블의 셀 내에 존재하는지 확인함으로써, 원본 문서의 처리 상태를 나타내는 처리 정보를 생성할 수 있다.
도 7은 본 발명의 일 실시예에 따른 의미 정보를 생성하는 나타낸 흐름도이다.
도 7의 단계 S710 내지 단계 S740은 도 3의 단계 S310 내지 단계 S340와, 단계 S750은 도 6의 단계 S650와 각각 대응되므로 자세한 설명은 생략한다.
도 7을 참조하면, 프로세서(130)는 S710 내지 S740 단계의 동작을 수행한 후 의미 정보를 생성할 수 있다[S760].
본 발명에서, 의미 정보는 원본 문서의 상태를 나타내는 정보를 포함할 수 있다. 예를 들어, 원본 문서가 일계표인 경우, 의미 정보는 일계표가 작성된 "날짜", "작성된 장소", "은행", 금액", "결제 담당자의 결재 여부" 등을 모두 포함하는 정보일 수 있다.
본 발명의 일 실시예에 따르면, 프로세서(130)는 인식된 문자를 통해 원본 문서가 어느 기관 또는 누구로부터 작성된 문서인지 결정할 수 있다. 이 경우, 프로세서(130)는 인식된 문자뿐만 아니라, 제4 문서 요소(460)의 오너먼트를 기초로 의미 정보를 생성할 수 있다.
또한, 프로세서(130)는 인식된 문자를 통해 원본 문서가 작성된 날짜, 장소 등 원본 문서에 포함된 일련의 정보를 결정할 수 있다. 프로세서(130)는 생성된 처리 정보를 인식된 문자 및 원본 문서에 포함된 일련의 정보와 통합하여, 원본 문서의 상태를 나타내는, 의미 정보를 생성할 수 있다.
본 명세서에는 프로세서(130)가, 처리 정보를 생성하는 단계인 단계 S760에서, 인식된 문자의 의미를 결정하고 원본 문서의 작성 주체를 결정하는 것으로 기재하였으나, 이에 제한되는 것은 아니다. 따라서, 프로세서(130)는 단계 S740 또는 단계 S750에서도 인식된 문자의 의미를 결정하고 원본 문서의 작성 주체를 결정할 수 있다.
도 8은 본 발명의 일 실시예에 따른 문자 보정을 수행하는 방법을 나타낸 흐름도이다.
도 8의 단계 S810 내지 단계 S840은 도 3의 단계 S310 내지 단계 S340과 각각 대응되므로 자세한 설명은 생략한다.
도 8을 참조하면, 프로세서(130)는 S810 내지 S840 단계의 동작을 수행한 후 단어 시퀀스 예측을 통해 문자 보정을 수행할 수 있다[S850].
본 발명의 일 실시예에 따르면, 문자 인식 장치(100)가 문자 영역(540) 내에서 복수개의 문자들을 인식하더라도, 상기 인식된 문자들이 통합된 단어가 실제로는 올바르지 않은 단어일 수 있다. 따라서, 프로세서(130)는 단어 시퀀스 예측을 통해 인식된 단어에 오류가 있는 경우, 오류 단어의 원인이 되는 적어도 하나의 문자를 보정할 수 있다. 예를 들어, 문자 영역(540)에서 인식된 단어가 "CITT" 인 경우, 프로세서(130)는 단어 시퀀스 예측을 통해 "CITY"가 올바른 단어이므로 "T"를 "Y"로 보정하는 문자 보정을 수행할 수 있다. 이 경우, 단어 시퀀스 예측은 확률에 기초할 수 있으며, 단어 시퀀스 예측을 위한 데이터는 기계학습을 통해 생성될 수도 있다.
도 9a는 본 발명의 일 실시예에 따른 문자 인식을 수행하기 위한 예시를 나타낸 도면이다.
도 9b는 본 발명의 일 실시예에 따른 문자 인식을 수행하기 위한 예시를 나타낸 도면이다.
도 9a의 (a)에 도시된 바와 같이, 문자 인식 장치(100)는 원본 문서를 스캐너, 복사기, 카메라 등과 같은 전자 장치를 통해 촬영한 촬용본 또는 복사본을 획득할 수 있다.
도 9a의 (b)에 도시된 바와 같이, 문자 인식 장치(100)는 획득한 이미지에 전처리를 수행하여 선명해진 이미지를 획득할 수 있다.
도 9b의 (c)에 도시된 바와 같이, 문자 인식 장치(100)는 전처리된 이미지로부터 문서 요소를 분리할 수 있다.
도 9b의 (d)에 도시된 바와 같이, 문서 요소를 분리한 이후, 문자 인식 장치(100)는 문서 요소에 기초하여 문자 영역을 결정할 수 있다.
도 9b의 (e)에 도시된 바와 같이, 문자 인식 장치(100)는 최종적으로 결정된 문자 영역 내에서 적어도 하나의 문자를 인식할 수 있다.
이미지를 획득하여 문자를 인식하는 방법에 대하여는 도 3 내지 도 5에서 상술하였으므로 자세한 설명은 생략한다.
도 10은 본 발명의 일 실시예에 따른 문자 보정을 수행하기 위한 예시를 나타낸 도면이다.
도 10에 도시된 바와 같이, 인식된 문자(1010)에 대해 단어 시퀀스 예측을 통해 OCR에서 잘못 인식된 문자를 보정하는 문자 보정을 수행할 수 있다. 이 경우, 단어 시퀀스 예측은 기계학습 모델(1020)를 이용하여 수행될 수 있다. 문자 인식 장치(100)는 단어 시퀀스 예측을 통해, 특정 문자 또는 특정 단어 이후에 존재할 수 있는 가장 높은 확률을 갖는 단어 또는 문자를 결정하고, 인식된 단어에 오류가 있는 경우, 적어도 하나의 문자를 보정할 수 있다.
예를 들어, 인식된 문자가 "우편"인 경우, 문자 인식 장치(100)는 "번오", "번호", "번" 등의 문자 중에서 "번호"가 가장 높을 확률값을 가지므로 "우편" 다음의 문자를 "번" 및 "호"라는 문자(1030)로 결정할 수 있다. 따라서, 인식된 문자가 "번오"인 경우, 문자 인식 장치(100)는 문자 "오"를 "호"로 보정할 수 있다.
본 발명의 다양한 실시예들은 기기(machine)(예를 들어, 문자 인식 장치(100) 또는 컴퓨터)에 의해 읽을 수 있는 저장 매체(storage medium)(예를 들어, 메모리)에 저장된 하나 이상의 인스트럭션들을 포함하는 소프트웨어로서 구현될 수 있다. 예를 들면, 기기의 프로세서(예를 들어, 프로세서(130))는, 저장 매체로부터 저장된 하나 이상의 인스트럭션들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 인스트럭션에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 인스트럭션들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예를 들어, 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예를 들어, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 명세서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예를 들어, compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해만 한다.
100 : 문자 인식 장치
130 : 프로세서
130 : 프로세서
Claims (10)
- 통신부; 메모리; 및 상기 메모리에 저장된 하나 이상의 인스트럭션들을 실행하는 적어도 하나의 프로세서를 포함하는 문자 인식 장치의 이미지 내의 문자를 인식하는 방법에 있어서,
상기 적어도 하나의 프로세서는,
광학 문자 인식(Optical Character Recognition)을 위해, 획득된 이미지에 대해 전처리를 수행하는 단계;
기계학습(딥 러닝)을 이용하여, 상기 전처리된 이미지 내의 문서 요소를 분리하는 단계;
상기 분리된 문서 요소 중 문자 요소에 기초하여 상기 전처리된 이미지 내에서 문자 영역을 결정하는 단계; 및
상기 결정된 문자 영역 내의 적어도 하나의 문자를 인식하는 단계를 포함하고,
상기 적어도 하나의 프로세서는,
상기 문서 요소 내의 스탬프(stamp) 및 오너먼트(ornament) 중 적어도 하나에 기초하여, 상기 인식된 문자를 통해 처리 정보를 생성하는 단계를 포함하며,
상기 처리 정보는,
상기 획득된 이미지에 대응되는 문서의 처리 상태를 나타내는, 이미지 내의 문자를 인식하는 방법. - 제1항에 있어서, 상기 전처리된 이미지 내에서 문자 영역을 결정하는 단계는,
상기 분리된 상기 문서 요소 내의 선 및 테이블에 포함된 테이블 계층(Hierarchy) 구조 중 적어도 하나에 기초하여, 상기 문자 영역을 결정하는 단계를 포함하는, 이미지 내의 문자를 인식하는 방법. - 삭제
- 제1항에 있어서,
상기 처리 정보 및 상기 인식된 문자에 기초하여 의미 정보를 생성하는 단계를 더 포함하고,
상기 의미 정보는,
상기 획득된 이미지에 대응되는 원본 문서의 상태를 나타내는, 이미지 내의 문자를 인식하는 방법. - 제1항에 있어서,
상기 기계학습을 위한 데이터는, U-Net-dhSegment에 기초하여 생성된 것인, 이미지 내의 문자를 인식하는 방법. - 제1항에 있어서,
상기 문자 영역은, 문자 중심일 확률(Character Region Score) 또는 문자간 중심일 확률(Affinity Score)을 이용하여 학습된 기계학습 데이터를 이용하여 결정된 것인, 이미지 내의 문자를 인식하는 방법. - 제1항에 있어서,
상기 인식된 문자를 기초로, 단어 시퀀스 예측을 통한 문자 보정을 수행하는 단계를 더 포함하는, 이미지 내의 문자를 인식하는 방법. - 제1항에 있어서,
상기 문서 요소는 문자 요소, 테이블, 선, 스탬프(stamp), 및 오너먼트(ornament) 중 적어도 하나를 포함하는, 이미지 내의 문자를 인식하는 방법. - 통신부;
메모리; 및
상기 메모리에 저장된 하나 이상의 인스트럭션들을 실행하는 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는:
광학 문자 인식(Optical Character Recognition)을 위해, 획득된 이미지에 대해 이미지 전처리를 수행하고,
기계학습(딥 러닝)을 이용하여, 상기 전처리된 이미지 내의 문서 요소를 분리하고,
상기 분리된 문서 요소 중 문자 요소에 기초하여 상기 전처리된 이미지 내에서 문자 영역을 결정하며,
상기 결정된 문자 영역 내의 적어도 하나의 문자를 인식하고,
상기 적어도 하나의 프로세서는,
상기 문서 요소 내의 스탬프(stamp) 및 오너먼트(ornament) 중 적어도 하나에 기초하여, 상기 인식된 문자를 통해 처리 정보를 생성하고,
상기 처리 정보는,
상기 획득된 이미지에 대응되는 문서의 처리 상태를 나타내는, 문자 인식 장치. - 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200126491A KR102436814B1 (ko) | 2020-09-29 | 2020-09-29 | 광학 문자 인식 장치 및 그 제어방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200126491A KR102436814B1 (ko) | 2020-09-29 | 2020-09-29 | 광학 문자 인식 장치 및 그 제어방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220043274A KR20220043274A (ko) | 2022-04-05 |
KR102436814B1 true KR102436814B1 (ko) | 2022-08-25 |
Family
ID=81182393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200126491A KR102436814B1 (ko) | 2020-09-29 | 2020-09-29 | 광학 문자 인식 장치 및 그 제어방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102436814B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102561878B1 (ko) * | 2023-02-24 | 2023-08-01 | 주식회사 벨텍소프트 | 머신러닝 기반의 ai 블루 ocr 판독 시스템 및 판독 방법 |
KR102675140B1 (ko) * | 2023-07-21 | 2024-06-17 | 주식회사 모빌테크 | 텍스트 인식을 통한 시설물 관리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102005067B1 (ko) * | 2018-10-25 | 2019-10-01 | 지의소프트 주식회사 | 딥러닝 알고리즘을 이용한 문서 데이터 저장 시스템 및 그 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201321927D0 (en) * | 2013-12-11 | 2014-01-22 | Touchtype Ltd | System and method for inputting text into electronic devices |
US10068132B2 (en) | 2016-05-25 | 2018-09-04 | Ebay Inc. | Document optical character recognition |
KR20200020305A (ko) * | 2018-08-17 | 2020-02-26 | 에스케이플래닛 주식회사 | 문자 인식을 위한 방법 및 장치 |
KR102211763B1 (ko) * | 2018-09-21 | 2021-02-03 | 네이버 주식회사 | 글자 검출 장치, 방법 및 시스템 |
-
2020
- 2020-09-29 KR KR1020200126491A patent/KR102436814B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102005067B1 (ko) * | 2018-10-25 | 2019-10-01 | 지의소프트 주식회사 | 딥러닝 알고리즘을 이용한 문서 데이터 저장 시스템 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20220043274A (ko) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6831480B2 (ja) | テキスト検出分析方法、装置及びデバイス | |
CN110008944B (zh) | 基于模板匹配的ocr识别方法及装置、存储介质 | |
US10635946B2 (en) | Eyeglass positioning method, apparatus and storage medium | |
US20210217129A1 (en) | Detection of encoded signals and icons | |
US8867828B2 (en) | Text region detection system and method | |
US20210064871A1 (en) | Apparatus and method for recognition of text information | |
CN112329779B (zh) | 一种基于mask提高证件识别准确率的方法和相关装置 | |
US10803272B1 (en) | Detection of encoded signals and icons | |
US11341739B2 (en) | Image processing device, image processing method, and program recording medium | |
KR102436814B1 (ko) | 광학 문자 인식 장치 및 그 제어방법 | |
CN104077597B (zh) | 图像分类方法及装置 | |
CN112001200A (zh) | 识别码识别方法、装置、设备、存储介质和*** | |
WO2019140641A1 (zh) | 信息处理方法、***、云处理设备以及计算机程序产品 | |
CN111462388A (zh) | 一种票据检验方法、装置、终端设备及存储介质 | |
US11887392B2 (en) | Systems and methods for digitized document image text contouring | |
CN111199240A (zh) | 银行卡识别模型的训练方法、银行卡识别方法以及装置 | |
CN116311276A (zh) | 文档图像矫正方法、装置、电子设备及可读介质 | |
US20230132261A1 (en) | Unified framework for analysis and recognition of identity documents | |
Gouveia et al. | Handwriting recognition system for mobile accessibility to the visually impaired people | |
US11704924B2 (en) | Method, apparatus, and computer-readable storage medium for recognizing characters in a digital document | |
CN111046860A (zh) | 一种基于移动载体的智能理赔*** | |
EP4266264A1 (en) | Unconstrained and elastic id document identification in an rgb image | |
CN115965951A (zh) | ***检测方法、装置以及电子设备 | |
Kiran et al. | Automatic Toll Collection using Vehicle Number Recognition System | |
KR20220164362A (ko) | 딥러닝을 이용한 ocr 기반 증권 종목 리스트 생성 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |