KR102206604B1 - Apparatus and method for recognizing character - Google Patents

Apparatus and method for recognizing character Download PDF

Info

Publication number
KR102206604B1
KR102206604B1 KR1020190022102A KR20190022102A KR102206604B1 KR 102206604 B1 KR102206604 B1 KR 102206604B1 KR 1020190022102 A KR1020190022102 A KR 1020190022102A KR 20190022102 A KR20190022102 A KR 20190022102A KR 102206604 B1 KR102206604 B1 KR 102206604B1
Authority
KR
South Korea
Prior art keywords
character
data
score map
input data
character recognition
Prior art date
Application number
KR1020190022102A
Other languages
Korean (ko)
Other versions
KR20200106110A (en
Inventor
백영민
이활석
신승
이영무
Original Assignee
네이버 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네이버 주식회사 filed Critical 네이버 주식회사
Priority to KR1020190022102A priority Critical patent/KR102206604B1/en
Priority to PCT/KR2020/001333 priority patent/WO2020175806A1/en
Priority to JP2021549641A priority patent/JP7297910B2/en
Publication of KR20200106110A publication Critical patent/KR20200106110A/en
Priority to KR1020210006280A priority patent/KR102351578B1/en
Application granted granted Critical
Publication of KR102206604B1 publication Critical patent/KR102206604B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06K9/3233
    • G06K9/00402
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • G06K2209/01
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Character Discrimination (AREA)
  • Character Input (AREA)
  • Image Analysis (AREA)

Abstract

글자 인식 장치에 의한 입력 데이터 내 글자를 인식하는 방법에 있어서, 입력 데이터를 글자 검출 모델에 입력하는 단계; 글자 검출 모델에서 출력되는 출력 데이터에 기초하여 입력 데이터 내 단어 영역의 위치 정보를 획득하는 단계; 획득한 위치 정보에 대응하는 부분 데이터를 입력 데이터로부터 추출하는 단계; 및 부분 데이터를 글자 인식 모델에 입력하여 부분 데이터 내 글자를 인식하는 단계를 포함하는 것을 특징으로 하는 일 실시예에 따른 글자 인식 방법이 개시된다.A method of recognizing a character in input data by a character recognition device, the method comprising: inputting the input data into a character detection model; Acquiring location information of a word area in the input data based on output data output from the character detection model; Extracting partial data corresponding to the obtained location information from the input data; And recognizing a character in the partial data by inputting the partial data into a character recognition model.

Description

글자 인식 장치 및 이에 의한 글자 인식 방법{APPARATUS AND METHOD FOR RECOGNIZING CHARACTER}Character recognition device and character recognition method by it {APPARATUS AND METHOD FOR RECOGNIZING CHARACTER}

본 개시는 데이터 처리 분야에 관한 것이다. 보다 구체적으로, 본 개시는 이미지 등의 데이터에서 글자를 인식하는 글자 인식 장치 및 방법에 관한 것이다.The present disclosure relates to the field of data processing. More specifically, the present disclosure relates to a character recognition apparatus and method for recognizing characters from data such as images.

핀테크(fintech) 기술의 발전에 따라, 휴대폰 등에 카드 정보를 저장하여 놓고 간편하게 결제할 수 있게 하는 서비스가 제공되고 있다. 신용카드, 체크카드 등의 실물 카드 이미지에서 카드 번호 및 유효 기간 등의 정보를 인식 및 저장하는 기술은 간편 결제 서비스를 위한 핵심이 되는 기술 중 하나이다. With the development of fintech technology, a service that allows convenient payment by storing card information in a mobile phone or the like has been provided. A technology for recognizing and storing information such as card number and expiration date in real card images such as credit cards and debit cards is one of the core technologies for simple payment service.

그러나, 카드 이미지에서 글자를 인식함에 있어, 카드 내 양각으로 인쇄된 글자가 다수 존재하고, 카드 배경이 다양하므로, 카드 번호 및 유효 기간을 정확하게 인식하는 것에 기술 장벽이 존재한다.However, in recognizing letters in a card image, there are many embossed letters in the card and various card backgrounds, so there is a technical barrier to accurately recognizing the card number and expiration date.

일 실시예에 따른 글자 인식 장치 및 이에 의한 글자 인식 방법은 이미지 등의 데이터에서 글자를 정확하고 신속하게 인식하는 것을 기술적 과제로 한다.A character recognition apparatus according to an embodiment and a character recognition method therefor is a technical task to accurately and quickly recognize characters from data such as images.

또한, 일 실시예에 따른 글자 인식 장치 및 이에 의한 글자 인식 방법은 실물 카드의 이미지 내에서 글자를 정확하게 인식하여 핀테크 산업의 발전에 기여하는 것을 기술적 과제로 한다.In addition, the character recognition apparatus according to an exemplary embodiment and a method of character recognition according to the character recognition apparatus accurately recognizes characters in an image of a physical card, thereby contributing to the development of the fintech industry as a technical task.

일 실시예에 따른 글자 인식 방법은, 입력 데이터를 글자 검출 모델에 입력하는 단계; 상기 글자 검출 모델에서 출력되는 출력 데이터에 기초하여 상기 입력 데이터 내 단어 영역의 위치 정보를 획득하는 단계; 상기 획득한 위치 정보에 대응하는 부분 데이터를 상기 입력 데이터로부터 추출하는 단계; 및 상기 부분 데이터를 글자 인식 모델에 입력하여 상기 부분 데이터 내 글자를 인식하는 단계를 포함할 수 있다.A character recognition method according to an embodiment includes the steps of inputting input data into a character detection model; Acquiring location information of a word area in the input data based on output data output from the character detection model; Extracting partial data corresponding to the acquired location information from the input data; And inputting the partial data into a character recognition model to recognize a character in the partial data.

다른 실시예에 따른 글자 인식 장치는, 프로세서; 및 적어도 하나의 인스트럭션을 저장하는 메모리를 포함하되, 상기 프로세서는 상기 적어도 하나의 인스트럭션에 따라, 입력 데이터를 글자 검출 모델에 입력하고, 상기 글자 검출 모델에서 출력되는 출력 데이터에 기초하여 상기 입력 데이터 내 단어 영역의 위치 정보를 획득하고, 상기 획득한 위치 정보에 대응하는 부분 데이터를 상기 입력 데이터로부터 추출하고, 상기 부분 데이터를 글자 인식 모델에 입력하여 상기 부분 데이터 내 글자를 인식할 수 있다.A character recognition apparatus according to another embodiment includes: a processor; And a memory for storing at least one instruction, wherein the processor inputs input data into a character detection model according to the at least one instruction, and the input data is stored based on output data output from the character detection model. A character in the partial data may be recognized by obtaining location information of a word area, extracting partial data corresponding to the obtained location information from the input data, and inputting the partial data into a character recognition model.

일 실시예에 따른 글자 인식 장치 및 이에 의한 글자 인식 방법은 이미지 등의 데이터에서 글자를 정확하고 신속하게 인식할 수 있다.The apparatus for recognizing characters and the method for recognizing characters according to the embodiment may accurately and quickly recognize characters from data such as images.

또한, 일 실시예에 따른 글자 인식 장치 및 이에 의한 글자 인식 방법은 실물 카드의 이미지 내에서 글자를 정확하게 인식하여 핀테크 산업의 발전에 기여할 수 있다. In addition, the apparatus for recognizing letters and the method for recognizing letters according to the embodiment may contribute to the development of the fintech industry by accurately recognizing letters within an image of a physical card.

다만, 일 실시예에 따른 글자 인식 장치 및 이에 의한 글자 인식 방법이 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.However, the effects that can be achieved by the character recognition apparatus and the character recognition method according to the embodiment are not limited to those mentioned above, and other effects not mentioned are the technical fields to which the present disclosure belongs from the following description. It will be able to be clearly understood by those of ordinary skill.

본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 일 실시예에 따른 글자 인식 장치를 도시하는 도면이다.
도 2는 일 실시예에 따른 글자 인식 방법을 설명하기 위한 순서도이다.
도 3은 일 실시예에 따른 글자 인식 장치를 통해 글자가 인식되는 과정을 설명하기 위한 도면이다.
도 4는 글자 검출 모델에 의해 출력되는 출력 데이터를 도시하는 예시적인 도면이다.
도 5는 글자 검출 모델에서 출력된 출력 데이터에 기초하여 입력 데이터 내 단어 영역의 위치 정보를 획득하는 방법을 설명하기 위한 도면이다.
도 6은 도 5에 도시된 이진화 과정 및 병합 과정을 설명하기 위한 도면이다.
도 7은 도 5에 도시된 단어 박스 결정 과정을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 특징 추출 모델의 구조를 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 글자 인식 모델의 구조를 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 글자 검출 모델의 훈련 방법을 설명하기 위한 순서도이다.
도 11은 제 1 GT 스코어 맵을 생성하는 방법을 설명하기 위한 도면이다.
도 12는 제 2 GT 스코어 맵을 생성하는 방법을 설명하기 위한 도면이다.
도 13은 서로 인접한 글자 박스들 사이에서 연결 박스를 결정하는 방법을 설명하기 위한 도면이다.
도 14는 일 실시예에 따른 글자 인식 장치의 구성을 도시하는 블록도이다.
도 15는 일 실시예에 따른 글자 인식 장치가 적용될 수 있는 서버 장치 및 클라이언트 장치를 도시하는 도면이다.
In order to more fully understand the drawings cited in the present specification, a brief description of each drawing is provided.
1 is a diagram illustrating a character recognition apparatus according to an exemplary embodiment.
2 is a flow chart illustrating a method for recognizing letters according to an exemplary embodiment.
3 is a diagram for describing a process of recognizing a character through a character recognition apparatus according to an exemplary embodiment.
4 is an exemplary diagram showing output data output by a character detection model.
5 is a diagram for explaining a method of acquiring position information of a word region in input data based on output data output from a character detection model.
6 is a diagram illustrating a binarization process and a merging process shown in FIG. 5.
FIG. 7 is a diagram illustrating a process of determining a word box shown in FIG. 5.
8 is a diagram illustrating a structure of a feature extraction model according to an exemplary embodiment.
9 is a diagram illustrating a structure of a character recognition model according to an embodiment.
10 is a flowchart illustrating a method of training a character detection model according to an exemplary embodiment.
11 is a diagram for explaining a method of generating a first GT score map.
12 is a diagram for describing a method of generating a second GT score map.
13 is a diagram for describing a method of determining a connection box between text boxes adjacent to each other.
14 is a block diagram illustrating a configuration of a character recognition apparatus according to an exemplary embodiment.
15 is a diagram illustrating a server device and a client device to which a character recognition device according to an exemplary embodiment can be applied.

본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고, 이를 상세한 설명을 통해 설명하고자 한다. 그러나, 이는 본 개시를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.In the present disclosure, various changes may be made and various embodiments may be provided, and specific embodiments are illustrated in the drawings, and will be described through detailed description. However, this is not intended to limit the present disclosure to a specific embodiment, it should be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present disclosure.

실시예를 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 실시예의 설명 과정에서 이용되는 숫자(예를 들어, 제 1, 제 2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.In describing the embodiments, when it is determined that a detailed description of a related known technology may unnecessarily obscure the subject matter, the detailed description thereof will be omitted. In addition, numbers (eg, first, second, etc.) used in the description process of the embodiment are merely identification symbols for distinguishing one component from another component.

또한, 본 명세서에서 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.In addition, in the present specification, when one component is referred to as "connected" or "connected" to another component, the one component may be directly connected to the other component or may be directly connected, It should be understood that as long as there is no substrate to be used, it may be connected or may be connected via another component in the middle.

또한, 본 명세서에서 '~부(유닛)', '모듈' 등으로 표현되는 구성요소는 2개 이상의 구성요소가 하나의 구성요소로 합쳐지거나 또는 하나의 구성요소가 보다 세분화된 기능별로 2개 이상으로 분화될 수도 있다. 또한, 이하에서 설명할 구성요소 각각은 자신이 담당하는 주기능 이외에도 다른 구성요소가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성요소 각각이 담당하는 주기능 중 일부 기능이 다른 구성요소에 의해 전담되어 수행될 수도 있음은 물론이다.In addition, in the components expressed as'~ unit (unit)','module', etc. in the present specification, two or more components are combined into one component, or two or more components are divided into more subdivided functions. It can also be differentiated into. In addition, each of the components to be described below may additionally perform some or all of the functions that other components are responsible for in addition to its own main function, and some of the main functions that each component is responsible for are different. It goes without saying that it may be performed exclusively by components.

또한, 본 명세서에서 '글자'는 단어나 문장을 구성하는 기본 문자 단위를 의미할 수 있다, 예를 들어, 영어의 경우에는 각각의 알파벳이 글자에 해당할 수 있고, 숫자의 경우에는 '0' 내지 '9'의 숫자 각각이 글자에 해당할 수 있고, 한국어의 경우에는 자음과 모음이 결합된 문자(예를 들어, '가'), 자음, 모음 및 자음이 결합된 문자(예를 들어, '강'), 단독으로 기재된 자음(예를 들어, 'ㄱ'), 단독으로 기재된 모음(예를 들어, 'ㅏ')이 글자에 해당할 수 있다. 또한, 글자는 기호(예를 들어, '/', '-' 등)를 포함할 수도 있다.In addition, in the present specification,'character' may mean a basic unit of characters constituting a word or sentence. For example, in English, each alphabet may correspond to a letter, and in the case of numbers, '0' Each of the numbers of to '9' may correspond to a letter, and in the case of Korean, a character combined with a consonant and a vowel (for example,'ga'), a character combined with a consonant, vowel, and consonant (for example, 'Kang'), consonants written alone (for example,'ㄱ'), and vowels written alone (for example,'ㅏ') may correspond to letters. In addition, the letters may include symbols (eg,'/','-', etc.).

또한, 본 명세서에서 '단어'는 적어도 하나의 글자를 포함하는 문자 단위를 의미할 수 있다. '단어'를 구성하는 글자들은 서로 간에 소정 간격 이상 이격되어 있지 않을 수 있다. '단어'는 하나의 글자로 이루어질 수도 있다. 예를 들어, 영어의 부정사 'a'는 하나의 글자로 이루어졌지만 주변 글자와 소정 거리 이상 이격되어 있는 경우 '단어'에 해당할 수 있다.In addition, in the present specification,'word' may mean a character unit including at least one letter. The letters constituting the'word' may not be spaced apart from each other by more than a predetermined distance. The'word' can also consist of a single letter. For example, the infinitive'a' in English may be composed of a single letter, but may correspond to a'word' if it is separated by a predetermined distance from the surrounding letters.

또한, 본 명세서에서 '글자 그룹'은 후술하는 어느 하나의 부분 데이터에서 인식된 적어도 하나의 글자들을 의미할 수 있다.In addition, in the present specification, the'character group' may mean at least one character recognized in any one piece of data to be described later.

이하, 본 개시의 기술적 사상에 의한 실시예들을 차례로 상세히 설명한다.Hereinafter, embodiments according to the technical idea of the present disclosure will be described in detail in order.

도 1은 일 실시예에 따른 글자 인식 장치(100)를 도시하는 도면이다.1 is a diagram illustrating a character recognition apparatus 100 according to an exemplary embodiment.

일 실시예에 따른 글자 인식 장치(100)는 입력 데이터(10)를 획득하고, 입력 데이터(10) 내에서 글자(50)를 인식한다. 입력 데이터(10)는 체크카드, 신용카드 등의 실물 카드를 촬영한 이미지를 포함할 수 있으며, 또는 후술하는 바와 같이, 실물 카드 등을 촬영한 이미지에 기초하여 특징 추출 모델(800)에서 출력된 특징 맵(feature map)을 포함할 수도 있다.The character recognition apparatus 100 according to an embodiment acquires the input data 10 and recognizes the character 50 in the input data 10. The input data 10 may include an image photographed of a real card such as a debit card or a credit card, or, as will be described later, output from the feature extraction model 800 based on an image photographed of the physical card. It may also include a feature map.

글자 인식 장치(100)는 입력 데이터(10)에서 카드 번호, 유효 기간 등의 카드 정보를 인식 및 저장할 수 있다. 글자 인식 장치(100)에 의해 인식 및 저장된 카드 정보는 물건 등의 구매를 위해 대금을 지불하는데 이용될 수 있다.The character recognition device 100 may recognize and store card information such as a card number and an expiration date from the input data 10. Card information recognized and stored by the character recognition device 100 may be used to pay for purchases of goods.

이하에서는, 도 2 및 도 3을 참조하여 글자 인식 장치(100)의 동작에 대해 설명한다. Hereinafter, the operation of the character recognition apparatus 100 will be described with reference to FIGS. 2 and 3.

도 2는 일 실시예에 따른 글자 인식 방법을 설명하기 위한 순서도이고, 도 3은 일 실시예에 따른 글자 인식 장치(100)를 통해 글자가 인식되는 과정을 설명하기 위한 도면이다.2 is a flowchart illustrating a method of recognizing a character according to an exemplary embodiment, and FIG. 3 is a diagram illustrating a process of recognizing a character through the character recognition apparatus 100 according to an exemplary embodiment.

S210 단계에서, 글자 인식 장치(100)는 입력 데이터(10)를 글자 검출 모델(410)에 입력한다. 글자 인식 장치(100)는 글자 검출 모델(410)을 미리 저장할 수 있다. 글자 검출 모델(410)은 학습용 데이터에 기초하여 훈련될 수 있다.In step S210, the character recognition apparatus 100 inputs the input data 10 into the character detection model 410. The character recognition apparatus 100 may store the character detection model 410 in advance. The character detection model 410 may be trained based on training data.

S220 단계에서, 글자 인식 장치(100)는 글자 검출 모델(410)에서 출력되는 출력 데이터(30)에 기초하여 입력 데이터(10) 내 단어 영역의 위치 정보를 획득한다.In step S220, the character recognition apparatus 100 acquires location information of a word area in the input data 10 based on the output data 30 output from the character detection model 410.

글자 검출 모델(410)에서 출력되는 출력 데이터(30)는, 입력 데이터(10) 내 글자가 존재할 것으로 예상되는 지점의 위치를 나타낸다. 글자 인식 장치(100)는 출력 데이터(30)에 기초하여 입력 데이터(10) 내 적어도 하나의 글자를 포함하는 단어 영역의 위치 정보를 획득한다.The output data 30 output from the character detection model 410 indicates a position of a point in the input data 10 where a character is expected to exist. The character recognition apparatus 100 acquires location information of a word area including at least one character in the input data 10 based on the output data 30.

S230 단계에서, 글자 인식 장치(100)는 단어 영역의 위치 정보에 대응하는 부분 데이터(40)를 입력 데이터(10)로부터 추출한다. 일 실시예에서, 단어 영역의 위치 정보가 복수 개로 획득된 경우, 각 위치 정보에 대응하는 복수의 부분 데이터들(40)이 입력 데이터(10)로부터 추출될 수 있다.In step S230, the character recognition apparatus 100 extracts partial data 40 corresponding to the location information of the word region from the input data 10. In an embodiment, when a plurality of pieces of location information of a word area are acquired, a plurality of pieces of partial data 40 corresponding to each location information may be extracted from the input data 10.

S240 단계에서, 글자 인식 장치(100)는 부분 데이터(40)를 글자 인식 모델(420)에 입력하여 부분 데이터(40)에 포함된 글자(50)를 인식한다. 부분 데이터(40)가 복수 개인 경우, 글자 인식 장치(100)는 복수의 부분 데이터(40) 각각을 글자 인식 모델(420)에 입력하여 복수의 부분 데이터(40) 각각에 포함된 글자(50)들을 인식할 수 있다. In step S240, the character recognition apparatus 100 recognizes the character 50 included in the partial data 40 by inputting the partial data 40 into the character recognition model 420. When there are a plurality of partial data 40, the character recognition apparatus 100 inputs each of the plurality of partial data 40 to the character recognition model 420, and the characters 50 included in each of the plurality of partial data 40 Can recognize them.

일 실시예에서, 글자 인식 장치(100)는 글자 검출 모델(410)의 출력 데이터(30)를 부분 데이터(40)와 함께 글자 인식 모델(420)로 입력할 수도 있다. 글자 검출 모델(410)의 출력 데이터(30)는 입력 데이터(10) 내 개별 글자의 위치 정보를 포함할 수 있으므로, 글자 인식 모델(420)의 글자 인식의 정확도가 보다 향상될 수 있다.In an embodiment, the character recognition apparatus 100 may input the output data 30 of the character detection model 410 together with the partial data 40 as the character recognition model 420. Since the output data 30 of the character detection model 410 may include position information of individual characters in the input data 10, the accuracy of character recognition of the character recognition model 420 may be further improved.

글자 인식 장치(100)는 인식된 글자를 저장하거나, 네트워크를 통해 외부 장치로 전송할 수 있다.The character recognition device 100 may store the recognized character or transmit it to an external device through a network.

도 4는 글자 검출 모델(410)에 의해 출력되는 출력 데이터(30)의 일 예를 도시하는 예시적인 도면이다.4 is an exemplary diagram illustrating an example of output data 30 output by the character detection model 410.

출력 데이터(30)는 입력 데이터(10) 내 글자가 존재할 확률을 입력 데이터(10)에 대응되는 데이터 공간(예를 들어, 이미지 공간)상에 나타내는 제 1 스코어 맵(31), 및 입력 데이터(10) 내 글자들 사이의 연결성(connectivity)을 입력 데이터(10)에 대응되는 데이터 공간상에 나타내는 제 2 스코어 맵(33)을 포함할 수 있다.The output data 30 includes a first score map 31 indicating a probability of a character in the input data 10 on a data space (eg, an image space) corresponding to the input data 10, and the input data ( 10) It may include a second score map 33 that indicates connectivity between internal characters on a data space corresponding to the input data 10.

제 1 스코어 맵(31) 내 각 위치에 저장된 값(예를 들어, 픽셀 값)은 해당 위치에 대응하는 입력 데이터(10)에 글자가 존재할 확률을 나타낼 수 있다. 또한, 제 2 스코어 맵(33) 내 각 위치에 저장된 값(예를 들어, 픽셀 값)은 해당 위치에 대응하는 입력 데이터(10) 내에서 복수의 글자들이 서로 인접할 확률을 나타낼 수 있다.A value (eg, a pixel value) stored at each location in the first score map 31 may indicate a probability that a character exists in the input data 10 corresponding to the location. In addition, a value (eg, a pixel value) stored at each location in the second score map 33 may indicate a probability that a plurality of letters are adjacent to each other in the input data 10 corresponding to the location.

위치 대응 관계에 대한 계산을 용이하게 하기 위하여 제 1 스코어 맵(31) 및 제 2 스코어 맵(33)의 크기는 입력 데이터(10)와 동일하게 할 수 있다.In order to facilitate the calculation of the position correspondence relationship, the size of the first score map 31 and the second score map 33 may be the same as the input data 10.

후술하는 바와 같이, 글자 검출 모델(410)은 학습용 데이터에 대응하여 생성된 제 1 GT(ground truth) 스코어 맵 및 제 2 GT 스코어 맵과 유사한 제 1 스코어 맵(31) 및 제 2 스코어 맵(33)이 출력되도록 훈련될 수 있다.As described later, the character detection model 410 includes a first ground truth (GT) score map and a first score map 31 and a second score map 33 similar to the second GT score map generated corresponding to the training data. ) Can be trained to output.

글자 인식 장치(100)는 제 1 스코어 맵(31) 및 제 2 스코어 맵(33)에 기초하여 입력 데이터(10) 내 단어 영역의 위치 정보를 결정할 수 있는데, 이에 대해서는 도 5 내지 도 7을 참조하여 설명한다.The character recognition apparatus 100 may determine the location information of the word area in the input data 10 based on the first score map 31 and the second score map 33, see FIGS. 5 to 7 This will be explained.

도 5는 글자 검출 모델(410)에서 출력된 출력 데이터(30)에 기초하여 입력 데이터(10) 내 단어 영역의 위치 정보를 획득하는 방법을 설명하기 위한 도면이고, 도 6은 도 5에 도시된 이진화 과정 및 병합 과정을 설명하기 위한 도면이고, 도 7은 도 5에 도시된 단어 박스 결정 과정을 설명하기 위한 도면이다.5 is a diagram for explaining a method of acquiring position information of a word area in the input data 10 based on the output data 30 output from the character detection model 410, and FIG. 6 is A diagram for explaining the binarization process and the merging process, and FIG. 7 is a diagram for explaining the word box determination process shown in FIG. 5.

S510 단계 및 S520 단계에서, 글자 인식 장치(100)는 제 1 스코어 맵(31) 내 데이터 값들을 임계 값과 비교하여 제 1 스코어 맵(31)을 이진화(binarization)하고, 제 2 스코어 맵(33) 내 데이터 값들을 임계 값과 비교하여 제 2 스코어 맵(33)을 이진화한다. 일 예에서, 글자 인식 장치(100)는 제 1 스코어 맵(31) 및 제 2 스코어 맵(33) 내 데이터 값들 중 임계 값 이상의 데이터 값들을 제 1 값으로 변경하고, 임계 값 미만의 데이터 값들을 제 2 값으로 변경할 수 있다.In steps S510 and S520, the character recognition apparatus 100 compares the data values in the first score map 31 with a threshold value to binarize the first score map 31, and performs a second score map 33 ) The second score map 33 is binarized by comparing the data values within the threshold value. In an example, the character recognition apparatus 100 changes data values greater than or equal to a threshold value among data values in the first score map 31 and the second score map 33 to a first value, and changes data values less than the threshold value. It can be changed to a second value.

도 6에 도시된 바와 같이, 제 1 스코어 맵(31) 및 제 2 스코어 맵(33)에서 임계 값 이상의 값을 갖는 데이터들은 이진화된 제 1 스코어 맵(601) 및 이진화된 제 2 스코어 맵(603)에서 제 1 값을 갖도록 변경되고, 제 1 스코어 맵(31) 및 제 2 스코어 맵(33)에서 임계 값 미만의 값을 갖는 데이터들은 이진화된 제 1 스코어 맵(601) 및 이진화된 제 2 스코어 맵(603)에서 제 2 값을 갖도록 변경될 수 있다.As shown in FIG. 6, data having a value equal to or greater than a threshold value in the first score map 31 and the second score map 33 are binarized first score map 601 and binarized second score map 603. ) Is changed to have a first value, and data having a value less than the threshold value in the first score map 31 and the second score map 33 are binarized first score map 601 and binarized second score It may be changed to have a second value in the map 603.

제 1 스코어 맵(31)의 이진화를 위한 임계 값과 제 2 스코어 맵(33)의 이진화를 위한 임계 값은 서로 동일하거나 서로 상이할 수 있다.A threshold value for binarization of the first score map 31 and a threshold value for binarization of the second score map 33 may be the same or different from each other.

S530 단계에서, 글자 인식 장치(100)는 이진화된 제 1 스코어 맵(601)와 이진화된 제 2 스코어 맵(603)을 병합(merge)한다. 예를 들어, 글자 인식 장치(100)는 이진화된 제 1 스코어 맵(601)과 이진화된 제 2 스코어 맵(603) 내 데이터 값들을 더하거나, or 연산을 하여 병합 맵(605)을 생성할 수 있다. 예를 들어 도 6에 도시된 바와 같이, 이진화된 제 1 스코어 맵(601) 및 이진화된 제 2 스코어 맵(603) 내 제 1 값을 갖는 데이터들이 병합 맵(605)에 함께 포함될 수 있다. 이러한 방법으로 병합 맵(605)은 입력 데이터(10) 내 글자가 존재할 가능성이 높은 영역(606)들과 그렇지 않은 영역들로 구분될 수 있다.In step S530, the character recognition apparatus 100 merges the binarized first score map 601 and the binarized second score map 603. For example, the character recognition apparatus 100 may generate the merge map 605 by adding data values in the binarized first score map 601 and the binarized second score map 603 or performing an or operation. . For example, as shown in FIG. 6, data having a first value in the binarized first score map 601 and the binarized second score map 603 may be included in the merge map 605 together. In this way, the merge map 605 may be divided into areas 606 in which characters in the input data 10 are likely to exist and areas that do not.

S540 단계에서, 글자 인식 장치(100)는 병합 맵(605)을 이용하여 글자가 포함된 영역을 나타내는 단어 박스(610)를 결정하게 된다. In step S540, the character recognition apparatus 100 determines a word box 610 representing an area including a character using the merge map 605.

예를 들면, 병합 맵(605) 내에서 동일한(내지는 동일한 범위의) 값을 가지고 서로 인접하게 연결된 영역(606)들의 적어도 일부를 단어 영역으로 결정하고, 결정된 단어 영역을 포함하는 단어 박스(610)를 결정할 수 있다. 일 실시예에서, 글자 인식 장치(100)는 병합 맵(605) 내 단어 영역들의 구분을 위해 단어 영역 각각에 대해 레이블링(labeling)을 할 수도 있다.For example, in the merge map 605, at least some of the regions 606 that are adjacent to each other having the same (or within the same range) value are determined as a word region, and a word box 610 including the determined word region Can be determined. In an embodiment, the character recognition apparatus 100 may label each word region in order to distinguish the word regions in the merge map 605.

일 실시예에서, 글자 인식 장치(100)는 병합 맵(605)을 이용하여 인식된 영역(606) 각각이 실제 단어를 포함하는지를 검증하기 위해, 추가 확인을 할 수 있다. 구체적으로 예를 들어, 병합 맵(605) 내에서 동일한(내지는 동일한 범위의) 값을 가지고 서로 인접하게 연결된 영역(606)을 단어 후보 영역으로 두고, 단어 후보 영역 내의 각 데이터에 대응하는 제 1 스코어 맵(601)의 값들 중에 정해진 임계치보다 높은 것이 하나 이상 존재하면 해당 단어 후보 영역을 단어 영역으로 결정할 수 있다. 즉, 각 단어 후보 영역에 대응하는 제 1 스코어 맵(601)의 값들 중 가장 큰 값과 임계값을 비교하여 각 단어 후보 영역이 단어 영역에 해당하는지 여부를 검증할 수 있다.In an embodiment, the character recognition apparatus 100 may perform additional confirmation to verify whether each of the recognized regions 606 using the merge map 605 includes an actual word. Specifically, for example, in the merge map 605, a region 606 having the same (or within the same range) value and connected adjacent to each other is a word candidate region, and a first score corresponding to each data in the word candidate region If at least one of the values of the map 601 is higher than a predetermined threshold, the corresponding word candidate region may be determined as the word region. That is, it is possible to verify whether each word candidate region corresponds to a word region by comparing the largest value among the values of the first score map 601 corresponding to each word candidate region with a threshold value.

이렇게 하면 글자와 유사한 배경이 있어 단어 후보 영역으로 결정된 경우들을 필터링할 수 있게 된다.In this way, it is possible to filter out cases that have a background similar to a letter and are determined as a word candidate region.

일 실시예에서, 글자 인식 장치(100)는 단어 영역에 해당하는 것으로 검증된 데이터들의 영역을 포함하는 최소 크기의 단어 박스(610)를 결정할 수 있다.In an embodiment, the character recognition apparatus 100 may determine a word box 610 having a minimum size including an area of data that has been verified to correspond to a word area.

글자 인식 장치(100)는 결정된 단어 박스(610)의 위치 정보(예를 들어, 입력 데이터(10) 또는 병합 맵(605) 상에서의 단어 박스(610)의 모서리들의 위치 값)를 단어 영역의 위치 정보로 결정할 수 있다.The character recognition apparatus 100 uses the determined position information of the word box 610 (eg, the position values of the corners of the word box 610 on the input data 10 or the merge map 605) to the position of the word area. Can be determined by information.

단어 영역의 위치 정보가 결정되면, 글자 인식 장치(100)는 해당 위치 정보에 대응하는 부분 데이터(40)를 입력 데이터(10)로부터 추출하고, 추출된 부분 데이터(40)를 글자 인식 모델(420)에 입력하여 부분 데이터(40) 내 글자를 인식할 수 있다.When the location information of the word area is determined, the character recognition apparatus 100 extracts partial data 40 corresponding to the corresponding location information from the input data 10, and uses the extracted partial data 40 into a character recognition model 420 ), the character in the partial data 40 can be recognized.

앞서 설명한 바와 같이, 글자 검출 모델(410)로 입력되는 입력 데이터(10)는 원본 이미지에 기초하여 특징 검출 모델(800)에서 출력되는 특징 맵(feature map)을 포함할 수 있다. 도 8은 특징 검출 모델(800)의 구조를 설명하기 위한 도면이다.As described above, the input data 10 input to the character detection model 410 may include a feature map output from the feature detection model 800 based on the original image. 8 is a diagram for explaining the structure of the feature detection model 800.

원본 이미지(20)는 특징 검출 모델(800)로 입력될 수 있다. 여기서, 원본 이미지(20)는 특징 검출 모델(800)로 입력되는 이미지를 의미하는 것이며, 최초 카드 등을 촬영한 이미지를 복사한 이미지 또는 변형한 이미지가 아님을 의미하는 것은 아니다.The original image 20 may be input as a feature detection model 800. Here, the original image 20 refers to an image input to the feature detection model 800, and does not mean that the image photographed by the first card or the like is not a copied image or a modified image.

원본 이미지(20)는 제 1 컨볼루션층(805), 제 2 컨볼루션층(810), 제 3 컨볼루션층(815), 제 4 컨볼루션층(820), 제 5 컨볼루션층(825) 및 제 6 컨볼루션층(830)에서 컨볼루션 처리가 된다. 제 6 컨볼루션층(830)의 출력과 제 5 컨볼루션층(825)의 출력이 연접(concatenation) 연산되어 제 1 업 컨볼루션층(835)으로 입력되고, 제 1 업 컨볼루션층(835)으로 입력된 값들은 컨볼루션 처리(836), 배치 정규화(normalization)(837), 컨볼루션 처리(838) 및 배치 정규화(839)를 통해 제 1 업 샘플링층(840)으로 입력된다. 제 1 업 샘플링층(840)의 출력은 제 4 컨볼루션층(820)의 출력과 연접 연산되어 제 2 업 컨볼루션층(845) 및 제 2 업 샘플링층(850)에서 처리된다. 제 2 업 샘플링층(850)의 출력은 제 3 컨볼루션층(815)의 출력과 연접 연산되어 제 3 업 컨볼루션층(855)과 제 3 업 샘플링층(860)에서 처리되고, 처리 결과는 제 2 컨볼루션층(810)의 출력과 연접 연산되어 제 4 업 컨볼루션층(865)에 입력된다. 그리고, 제 4 업 컨볼루션층(865)으로부터 출력된 결과를 입력 데이터(10)로 사용할 수 있다.The original image 20 includes a first convolution layer 805, a second convolution layer 810, a third convolution layer 815, a fourth convolution layer 820, and a fifth convolution layer 825. And convolution processing is performed in the sixth convolution layer 830. The output of the sixth convolution layer 830 and the output of the fifth convolution layer 825 are concatenated and input to the first up-convolution layer 835, and the first up-convolution layer 835 The values inputted to are input to the first up-sampling layer 840 through convolution processing 836, batch normalization 837, convolution processing 838, and batch normalization 839. The output of the first up-sampling layer 840 is concatenated with the output of the fourth convolutional layer 820 and processed in the second up-convolutional layer 845 and the second up-sampling layer 850. The output of the second up-sampling layer 850 is concatenated with the output of the third convolutional layer 815 and processed in the third up-convolutional layer 855 and the third up-sampling layer 860, and the processing result is It is connected to the output of the second convolution layer 810 and is input to the fourth up-convolution layer 865. In addition, the result output from the fourth up-convolution layer 865 may be used as the input data 10.

일 실시예에서, 입력 데이터(10)의 가로 크기 및 세로 크기는 원본 이미지(20)의 가로 크기 및 세로 크기의 1/2일 수 있으나, 이에 한정되는 것은 아니다.In one embodiment, the horizontal size and the vertical size of the input data 10 may be 1/2 of the horizontal size and the vertical size of the original image 20, but are not limited thereto.

도 8에 도시된 특징 검출 모델(800)의 구조는 하나의 예시일 뿐이며, 컨볼루션층, 업 컨볼루션층, 업 샘플링층의 개수 및 처리 순서는 다양하게 변형될 수 있다.The structure of the feature detection model 800 illustrated in FIG. 8 is only an example, and the number and processing order of the convolution layer, the up-convolution layer, and the up-sampling layer may be variously modified.

도 9는 일 실시예에 따른 글자 인식 모델(420)의 구조를 설명하기 위한 도면이다.9 is a diagram illustrating a structure of a character recognition model 420 according to an exemplary embodiment.

글자 인식 모델(420)은 입력 데이터(10)로부터 추출된 부분 데이터(40)를 입력받고, 부분 데이터(40) 내 글자(50)들을 인식한다. 글자 인식 모델(420)은 컨볼루션 네트워크(421), RNN(recurrent neural network)(423) 및 디코더(decoder)(425)를 포함할 수 있다.The character recognition model 420 receives the partial data 40 extracted from the input data 10 and recognizes the characters 50 in the partial data 40. The character recognition model 420 may include a convolutional network 421, a recurrent neural network (RNN) 423, and a decoder 425.

컨볼루션 네트워크(421)는 적어도 하나의 컨볼루션 층을 포함하고, 부분 데이터(40)를 컨볼루션 처리하여 특징 맵을 추출한다. 일 예시에서, 컨볼루션 네트워크(421)는 공지된 VGG, ResNet 등을 포함할 수 있지만, 일 실시예에서 글자 인식 모델(420)은 원본 이미지(20)의 특징 맵(즉, 입력 데이터)으로부터 추출된 부분 데이터(40)를 입력 받을 수 있으므로, 필요로 하는 컨볼루션 층의 개수는 적을 수 있다.The convolutional network 421 includes at least one convolutional layer, and extracts a feature map by convolving the partial data 40. In one example, the convolutional network 421 may include a known VGG, ResNet, etc., but in one embodiment, the character recognition model 420 is extracted from a feature map (ie, input data) of the original image 20 Since the partial data 40 can be input, the number of convolutional layers required may be small.

RNN(423)은 부분 데이터(40)에 대응하는 특징 맵으로부터 특징 벡터의 시퀀스를 추출한다. RNN(423)은 bi-LSTM (bidirectional Long-short-term memory)을 통해 연속되는 특징 벡터들의 컨텍스트(context) 관계를 파악할 수 있다.The RNN 423 extracts a sequence of feature vectors from the feature map corresponding to the partial data 40. The RNN 423 may grasp a context relationship between consecutive feature vectors through bi-LSTM (bidirectional long-short-term memory).

디코더(425)는 특징 벡터들의 시퀀스 정보에서 글자를 추출한다. 디코더(425)는 어텐션(attention) 단계 및 생성(generation) 단계를 수행할 수 있는데, 어텐션 단계에서, 디코더(425)는 어떤 시퀀스에서 정보를 뽑을지 여부를 나타내는 웨이트를 계산하고, 생성 단계에서 가중치를 시퀀스에 적용하고, LSTM(Long-short-term memory)을 통해 개별 글자를 추출할 수 있다.The decoder 425 extracts a character from sequence information of feature vectors. The decoder 425 may perform an attention step and a generation step. In the attention step, the decoder 425 calculates a weight indicating whether information is to be extracted from a sequence, and a weight in the generation step. Can be applied to the sequence, and individual letters can be extracted through long-short-term memory (LSTM).

한편, 일 실시예에서, 글자 인식 장치(100)는 여러 부분 데이터(40)들 각각에서 인식된 글자 그룹들을 소정 기준에 따라 분류할 수 있다. 일 예에서, 글자 인식 장치(100)는 어느 부분 데이터(40)에서 인식된 글자 그룹에 소정의 기호(예를 들어, /)가 포함되어 있으면, 해당 글자 그룹을 제 1 종류의 정보로 결정할 수 있다. 카드 내 유효 기간에는 년도와 월을 구분하기 위한 소정의 기호가 포함되어 있는 것이 일반적이므로, 글자 인식 장치(100)는 어느 부분 데이터(40)에서 인식된 글자 그룹에 소정 기호가 포함되어 있으면 해당 글자 그룹을 유효 기간 정보로 결정할 수 있는 것이다. Meanwhile, in an embodiment, the character recognition apparatus 100 may classify character groups recognized in each of the various partial data 40 according to a predetermined criterion. In one example, the character recognition apparatus 100 may determine the character group as the first type of information when a predetermined symbol (eg, /) is included in the character group recognized by the partial data 40. have. Since the validity period in the card generally includes a predetermined symbol for separating the year and the month, the character recognition apparatus 100 may use the character recognition device 100 if a predetermined symbol is included in the character group recognized by the partial data 40. The group can be determined by the expiration date information.

만약, 소정의 기호가 포함되어 있는 글자 그룹의 개수가 복수 개인 경우, 글자 인식 장치(100)는 년도에 해당하는 숫자(예를 들어, 기호를 기준으로 우측에 위치하는 숫자)가 큰 글자 그룹을 유효 기간 정보로 결정할 수 있다. 카드에 유효 기간과 발급 일자가 포함되어 있는 경우, 유효 기간에 포함된 년도가 발급 일자에 포함된 년도보다 클 것이므로, 글자 인식 장치(100)는 년도에 해당하는 숫자가 큰 글자 그룹을 유효 기간 정보로 결정할 수 있는 것이다.If the number of character groups including a predetermined symbol is plural, the character recognition apparatus 100 selects a character group having a large number corresponding to the year (eg, a number located on the right side of the symbol). It can be determined by the expiration date information. When the card includes an expiration date and an issuance date, since the year included in the validity period will be larger than the year included in the issuance date, the character recognition device 100 uses the character group with a large number corresponding to the year to be used as the valid period information. It can be decided by.

또한, 일 실시예에서, 글자 인식 장치(100)는 복수의 부분 데이터(40) 각각에서 인식된 글자 그룹들 중 소정의 기호를 포함하고 있지 않은 글자 그룹들을 제 2 종류의 정보로 결정할 수 있다. 제 2 종류의 정보는 예를 들어, 카드 번호 정보를 포함할 수 있다. In addition, in an embodiment, the character recognition apparatus 100 may determine character groups that do not include a predetermined symbol among character groups recognized in each of the plurality of partial data 40 as the second type of information. The second type of information may include, for example, card number information.

또한, 일 실시예에서, 글자 인식 장치(100)는 복수의 부분 데이터(40)들 각각에서 인식된 글자 그룹들을, 입력 데이터(10) 내에서의 복수의 부분 데이터(40)들의 위치에 따라 정렬할 수 있다. 일 예로, 글자 인식 장치(100)는 입력 데이터(10) 내 좌상단을 기준으로 Z 스캔 방식으로 글자 그룹들을 정렬할 수 있다. In addition, in an embodiment, the character recognition apparatus 100 arranges the character groups recognized in each of the plurality of partial data 40 according to the position of the plurality of partial data 40 in the input data 10. can do. As an example, the character recognition apparatus 100 may arrange character groups in a Z scan method based on the upper left corner of the input data 10.

글자 인식 장치(100)는 정렬된 글자 그룹들 중 연속으로 정렬된 소정 개수의 글자 그룹에 포함된 글자의 개수에 기초하여 글자의 재인식이 필요한지 여부를 결정할 수 있다. 일 예로, 글자 인식 장치(100)는 정렬된 글자 그룹들 중 소정 개수의 숫자를 각각 포함하면서 연속으로 정렬된 소정 개수의 글자 그룹이 존재하는 경우, 글자 인식이 정확히 수행되어 글자의 재인식이 필요하지 않은 것으로 결정할 수 있다. 일반적으로 카드 번호는 16개의 숫자들을 포함하되, 4개의 숫자끼리 하나의 글자 그룹을 이룬다는 면에서, 글자 인식 장치(100)는 정렬된 글자 그룹들 중 4개의 숫자를 포함하는 4개의 글자 그룹이 연속으로 정렬되어 있는 경우, 글자의 재인식이 필요하지 않은 것으로 결정할 수 있다.The character recognition apparatus 100 may determine whether or not re-recognition of a character is necessary based on the number of characters included in a predetermined number of character groups arranged in succession among the aligned character groups. As an example, when a predetermined number of character groups that are arranged in succession while each including a predetermined number of the arranged character groups exist, the character recognition is accurately performed, so that re-recognition of the characters is not required. It can be decided not. In general, the card number includes 16 numbers, but in that the 4 numbers form one character group, the character recognition device 100 includes 4 character groups including 4 numbers among the aligned character groups. If they are arranged in a row, it can be determined that re-recognition of the letters is not required.

또한, 일 실시예에서, 글자 인식 장치(100)는 여러 부분 데이터(40)들에서 인식된 글자 그룹들에 소정의 기호가 존재하지 않으면, 글자의 재인식이 필요한 것으로 결정할 수 있다.In addition, in an embodiment, the character recognition apparatus 100 may determine that re-recognition of the character is required if a predetermined symbol does not exist in character groups recognized in the various partial data 40.

글자의 재인식이 필요한 경우, 글자 인식 장치(100)는 이미지의 재촬영이 필요하다는 정보를 스피커, 모니터 등을 통해 출력하거나 네트워크를 통해 외부 장치로 알릴 수 있다. 일 실시예에서, 글자 인식 장치(100)가 카메라의 프리뷰 이미지로부터 글자를 인식하는 중에, 글자의 재인식이 필요한 것으로 결정된 경우, 카메라를 통해 연속적으로 촬영되고 있는 프리뷰 이미지로부터 글자를 재인식할 수도 있다.When re-recognition of a character is required, the character recognition apparatus 100 may output information indicating that the image needs to be re-captured through a speaker, a monitor, or the like, or may notify an external device through a network. In an embodiment, while the character recognition apparatus 100 recognizes a character from a preview image of a camera, when it is determined that the character needs to be re-recognized, the character may be re-recognized from the preview image continuously photographed through the camera.

이하에서는, 도 10 내지 도 13을 참조하여 글자 검출 모델(410)을 훈련시키는 방법에 대해 설명한다.Hereinafter, a method of training the character detection model 410 will be described with reference to FIGS. 10 to 13.

도 10은 일 실시예에 따른 글자 검출 모델(410)의 훈련 방법을 설명하기 위한 순서도이다.10 is a flowchart illustrating a training method of the character detection model 410 according to an embodiment.

S1010 단계에서, 글자 인식 장치(100)는 학습용 데이터(60) 내 글자가 존재할 확률을 데이터 공간상에 나타내는 제 1 GT 스코어 맵(71), 및 학습용 데이터(60) 내 글자들 사이의 연결성을 데이터 공간상에 나타내는 제 2 GT 스코어 맵(73)을 획득한다. 학습용 데이터(60)의 가로 크기 및 세로 크기는 입력 데이터(10)의 가로 크기 및 세로 크기와 동일할 수 있다. 또한, 학습용 데이터(60)의 가로 크기 및 세로 크기는 제 1 GT 스코어 맵(71)의 가로 크기 및 세로 크기와 동일하고, 제 2 GT 스코어 맵(73)의 가로 크기 및 세로 크기와도 동일할 수 있다.In step S1010, the character recognition apparatus 100 data the first GT score map 71 representing the probability of the existence of the characters in the learning data 60 on the data space, and the connectivity between the characters in the learning data 60. A second GT score map 73 shown in space is acquired. The horizontal and vertical sizes of the training data 60 may be the same as the horizontal and vertical sizes of the input data 10. In addition, the horizontal and vertical dimensions of the training data 60 are the same as the horizontal and vertical dimensions of the first GT score map 71, and the horizontal and vertical dimensions of the second GT score map 73 are also the same. I can.

일 실시예에서, 학습용 데이터(60)는 전술한 원본 이미지(20)와 마찬가지로 카드 등의 대상체를 촬영한 이미지 또는 해당 이미지에 기초하여 추출된 특징 맵을 포함할 수 있다.In an embodiment, like the original image 20 described above, the learning data 60 may include an image photographing an object such as a card or a feature map extracted based on the image.

글자 인식 장치(100)는 학습용 데이터(60)로부터 제 1 GT 스코어 맵(71) 및 제 2 GT 스코어 맵(73) 중 적어도 하나를 직접 생성할 수도 있고, 또는 네트워크나 외부 관리자를 통해 제 1 GT 스코어 맵(71) 및 제 2 GT 스코어 맵(73) 중 적어도 하나를 수신할 수도 있다.The character recognition apparatus 100 may directly generate at least one of the first GT score map 71 and the second GT score map 73 from the learning data 60, or the first GT score map through a network or an external administrator. At least one of the score map 71 and the second GT score map 73 may be received.

제 1 GT 스코어 맵(71) 내 값들은 해당 지점에서 학습용 데이터(60)에 글자가 위치할 확률을 나타낼 수 있다. 또한, 제 2 GT 스코어 맵(73) 내 값들은 해당 지점에서 복수의 글자들이 서로 인접할 확률을 나타낼 수 있다.Values in the first GT score map 71 may indicate a probability that a character is located in the learning data 60 at a corresponding point. Also, the values in the second GT score map 73 may indicate a probability that a plurality of letters are adjacent to each other at a corresponding point.

S1020 단계에서, 글자 인식 장치(100)는 학습용 데이터(60)를 글자 검출 모델(410)에 입력한다.In step S1020, the character recognition apparatus 100 inputs the learning data 60 into the character detection model 410.

S1030 단계에서, 학습용 데이터(60)에 대응하여 글자 검출 모델(410)에서 출력되는 제 1 스코어 맵 및 제 2 스코어 맵 각각과 제 1 GT 스코어 맵(71) 및 제 2 GT 스코어 맵(73)의 비교 결과에 따라 글자 검출 모델(410)의 내부 가중치가 갱신될 수 있다.In step S1030, each of the first score map and the second score map output from the character detection model 410 in response to the training data 60, and the first GT score map 71 and the second GT score map 73 The internal weight of the character detection model 410 may be updated according to the comparison result.

제 1 스코어 맵 및 제 2 스코어 맵 각각과 제 1 GT 스코어 맵(71) 및 제 2 GT 스코어 맵(73)의 비교 결과에 따라 로스(loss) 값이 산출될 수 있다. 로스 값은 예를 들어, L2 Loss 값에 해당할 수 있다. 로스 값은 그 외에도, L1 loss, smooth L1 loss 등 다양한 방법을 이용할 수 있다. 산출된 로스 값은 글자 검출 모델(410)에 입력되고, 글자 검출 모델(410)은 로스 값에 따라 내부 가중치를 갱신할 수 있다.A loss value may be calculated according to a result of comparing each of the first score map and the second score map with the first GT score map 71 and the second GT score map 73. The loss value may correspond to, for example, the L2 Loss value. In addition to the loss value, various methods such as L1 loss and smooth L1 loss can be used. The calculated loss value is input to the character detection model 410, and the character detection model 410 may update the internal weight according to the loss value.

도 11은 제 1 GT 스코어 맵(71)을 생성하는 방법을 설명하기 위한 도면이고, 도 12는 제 2 GT 스코어 맵(73)을 생성하는 방법을 설명하기 위한 도면이다. 또한, 도 13은 서로 인접한 글자 박스들(62a, 62b) 사이에서 연결 박스(63a)를 결정하는 방법을 설명하기 위한 도면이다.FIG. 11 is a diagram for explaining a method of generating the first GT score map 71, and FIG. 12 is a diagram for describing a method of generating the second GT score map 73. In addition, FIG. 13 is a diagram for explaining a method of determining a connection box 63a between adjacent character boxes 62a and 62b.

도 11을 참조하면, 학습용 데이터(60) 내 적어도 하나의 글자들을 포함하는 단어 영역들에 대해 단어 박스들(61a, 61b, 61c, 61d, 61e)이 결정된다. 그리고, 단어 박스(61a, 61b, 61c, 61d, 61e) 내 포함된 글자들의 개수에 따라 단어 박스(61a, 61b, 61c, 61d, 61e)가 적어도 하나의 글자 박스(62a, 62b, 62c, 62d)로 분할된다. 예를 들어, 어느 하나의 단어 박스 내에 4개의 글자들이 포함되어 있는 경우, 해당 단어 박스는 총 4개의 글자 박스로 분할될 수 있다. 글자 박스(62a, 62b, 62c, 62d) 각각에 소정의 이미지(1100), 예를 들어, 2D 가우시안 이미지가 합성되어 제 1 GT 스코어 맵(71)이 생성될 수 있다.Referring to FIG. 11, word boxes 61a, 61b, 61c, 61d, and 61e are determined for word regions including at least one letter in the learning data 60. In addition, the word boxes 61a, 61b, 61c, 61d, 61e are at least one letter box 62a, 62b, 62c, 62d according to the number of letters included in the word boxes 61a, 61b, 61c, 61d, and 61e. ). For example, when four letters are included in any one word box, the corresponding word box may be divided into a total of four letter boxes. A predetermined image 1100, for example, a 2D Gaussian image, may be synthesized in each of the character boxes 62a, 62b, 62c, and 62d to generate the first GT score map 71.

도 12 및 도 13을 참조하면, 복수의 글자 박스들(62a, 62b, 62c, 62d) 중 서로 인접한 글자 박스들 사이의 경계선(L) 상에 위치하는 연결 박스(63a, 63b, 63c)가 결정되고, 연결 박스(63a, 63b, 63c)에 소정 이미지(1100), 예를 들어, 2D 가우시안 이미지가 합성되어 제 2 GT 스코어 맵(73)이 생성될 수 있다.12 and 13, among a plurality of text boxes 62a, 62b, 62c, 62d, connection boxes 63a, 63b, 63c positioned on the boundary line L between adjacent text boxes are determined. Then, a predetermined image 1100, for example, a 2D Gaussian image may be synthesized in the connection boxes 63a, 63b, and 63c to generate a second GT score map 73.

연결 박스(63a, 63b, 63c)는, 서로 인접한 글자 박스들의 내부 공간에 설정된 복수의 지점들을 연결함으로써 결정될 수 있다. 구체적으로, 도 13에 도시된 바와 같이, 서로 인접한 글자 박스들(62a, 62b) 중 좌측 글자 박스(62a) 내 2개의 지점 및 우측 글자 박스(62b) 내 2개의 지점을 연결한 연결 박스(63a)가 결정될 수 있다.The connection boxes 63a, 63b, and 63c may be determined by connecting a plurality of points set in the inner spaces of adjacent character boxes. Specifically, as shown in FIG. 13, a connection box 63a connecting two points in the left text box 62a and two points in the right text box 62b among the text boxes 62a and 62b adjacent to each other. ) Can be determined.

일 예에서, 서로 인접한 좌측 글자 박스(62a) 및 우측 글자 박스(62b)의 모서리들 중 좌측 하단 모서리와 우측 상단 모서리를 연결하고, 좌측 상단 모서리와 우측 하단 모서리를 연결하여 상부 및 하부의 삼각형들을 결정하고, 해당 삼각형들의 중점들을 연결함으로써 연결 박스(63a)가 결정될 수도 있다.In one example, among the corners of the left and right text boxes 62a and 62b adjacent to each other, the lower left corner and the upper right corner are connected, and the upper and lower triangles are connected by connecting the upper left corner and the lower right corner. The connection box 63a may be determined by determining and connecting the midpoints of the corresponding triangles.

도 14는 일 실시예에 따른 글자 인식 장치(100)의 구성을 도시하는 블록도이다.14 is a block diagram illustrating a configuration of a character recognition apparatus 100 according to an exemplary embodiment.

도 14를 참조하면, 글자 인식 장치(100)는 메모리(1410), 통신 모듈(1430) 및 프로세서(1450)를 포함할 수 있다. 메모리(1410)에는 적어도 하나의 인스트럭션이 저장될 수 있고, 프로세서(1450)는 적어도 하나의 인스트럭션에 따라 글자 검출 및 글자 검출 모델(410)의 훈련을 제어할 수 있다.Referring to FIG. 14, the character recognition apparatus 100 may include a memory 1410, a communication module 1430, and a processor 1450. At least one instruction may be stored in the memory 1410, and the processor 1450 may control character detection and training of the character detection model 410 according to the at least one instruction.

도 14는 하나의 메모리(1410)와 하나의 프로세서(1450)만을 도시하고 있으나, 글자 인식 장치(100)는 복수의 메모리 및/또는 복수의 프로세서를 포함할 수도 있다.14 illustrates only one memory 1410 and one processor 1450, the character recognition apparatus 100 may include a plurality of memories and/or a plurality of processors.

메모리(1410)는 글자 검출 모델(410) 및 글자 인식 모델(420)을 저장할 수 있다. 또한, 메모리(1410)는 특징 추출 모델(800)을 더 저장할 수 있다.The memory 1410 may store a character detection model 410 and a character recognition model 420. In addition, the memory 1410 may further store the feature extraction model 800.

프로세서(1450)는 글자 검출 모델(410)로 입력 데이터(10)를 입력하고, 글자 검출 모델(410)에서 출력되는 출력 데이터에 기초하여 입력 데이터(10) 내 단어 영역의 위치 정보를 획득할 수 있다. 그리고, 프로세서(1450)는 획득한 위치 정보에 대응하는 부분 데이터를 글자 인식 모델(420)에 입력하고, 글자 인식 모델(420)에서 출력된 글자 정보를 메모리(1410) 또는 기타 저장 장치에 저장할 수 있다.The processor 1450 may input the input data 10 into the character detection model 410 and obtain position information of the word area in the input data 10 based on the output data output from the character detection model 410. have. In addition, the processor 1450 may input partial data corresponding to the acquired location information into the character recognition model 420, and store the character information output from the character recognition model 420 in the memory 1410 or other storage device. have.

일 실시예에서, 프로세서(1450)는 학습용 데이터(60)에 기초하여 글자 검출 모델(410), 글자 인식 모델(420) 및 특징 추출 모델(800) 중 적어도 하나를 훈련시킬 수 있다.In an embodiment, the processor 1450 may train at least one of the character detection model 410, the character recognition model 420, and the feature extraction model 800 based on the training data 60.

통신 모듈(1430)은 네트워크를 통해 외부 장치와 데이터를 송수신한다. 예를 들어, 통신 모듈(1430)은 외부 장치와 이미지를 송수신하거나, 입력 데이터(10) 내에서 인식된 글자 정보를 외부 장치와 송수신할 수 있다.The communication module 1430 transmits and receives data to and from an external device through a network. For example, the communication module 1430 may transmit/receive an image with an external device or transmit/receive text information recognized in the input data 10 with an external device.

도 15는 일 실시예에 따른 글자 인식 장치(100)가 적용될 수 있는 서버 장치(1510) 및 클라이언트 장치(1520)를 도시하는 도면이다.15 is a diagram illustrating a server device 1510 and a client device 1520 to which the character recognition device 100 according to an exemplary embodiment can be applied.

글자 인식 장치(100)는 서버 장치(1510)로 구현되거나 또는 클라이언트 장치(1520)로 구현될 수 있다.The character recognition device 100 may be implemented as a server device 1510 or a client device 1520.

글자 인식 장치(100)가 서버 장치(1510)로 구현되는 경우, 서버 장치(1510)는 클라이언트 장치(1520)로부터 이미지를 수신하고, 수신된 이미지 내에서 글자를 인식하여 저장할 수 있다. 일 예에서, 서버 장치(1510)는 클라이언트 장치(1520)로부터 수신된 이미지 내에서 인식된 글자 정보를 클라이언트 장치(1520)로 전송할 수도 있다. 또한, 서버 장치(1510)는 클라이언트 장치(1520)를 포함한 외부 장치로부터 학습용 데이터를 수신하거나, 또는 내부에 저장된 학습용 데이터를 이용하여 글자 검출 모델(410), 글자 인식 모델(420) 및 특징 추출 모델(800) 중 적어도 하나의 훈련을 제어할 수도 있다.When the character recognition device 100 is implemented as the server device 1510, the server device 1510 may receive an image from the client device 1520 and may recognize and store a character in the received image. In an example, the server device 1510 may transmit text information recognized in the image received from the client device 1520 to the client device 1520. In addition, the server device 1510 receives training data from an external device including the client device 1520, or uses the training data stored therein to provide a character detection model 410, a character recognition model 420, and a feature extraction model. At least one of (800) may be controlled.

글자 인식 장치(100)가 클라이언트 장치(1520)로 구현되는 경우, 클라이언트 장치(1520)는 클라이언트 장치(1520)의 카메라에 의해 촬영된 이미지 또는 클라이언트 장치(1520)에 저장된 이미지 내에서 글자를 인식하여 저장할 수 있다. When the character recognition device 100 is implemented as a client device 1520, the client device 1520 recognizes characters in an image captured by a camera of the client device 1520 or an image stored in the client device 1520 Can be saved.

일 실시예에서, 클라이언트 장치(1520)는 글자 검출 모델(410), 글자 인식 모델(420) 및 특징 추출 모델(800) 중 적어도 하나의 실행을 위한 데이터를 서버 장치(1510)로부터 수신할 수 있다. 클라이언트 장치(1520)는 카메라 모듈을 통해 촬영된 이미지, 내부 메모리에 저장된 이미지 또는 외부 장치로부터 수신된 이미지를 글자 검출 모델(410), 글자 인식 모델(420) 및 특징 추출 모델(800) 중 적어도 하나에 입력시켜 글자를 인식할 수 있다.In one embodiment, the client device 1520 may receive data for execution of at least one of the character detection model 410, the character recognition model 420, and the feature extraction model 800 from the server device 1510. . The client device 1520 uses at least one of a character detection model 410, a character recognition model 420, and a feature extraction model 800 for an image captured through a camera module, an image stored in an internal memory, or an image received from an external device. You can recognize the letters by typing in.

클라이언트 장치(1520)는 외부 장치로부터 학습용 데이터를 수신하거나, 또는 내부에 저장된 학습용 데이터를 이용하여 글자 검출 모델(410), 글자 인식 모델(420) 및 특징 추출 모델(800) 중 적어도 하나의 훈련을 제어할 수도 있다. 구현예에 따라, 글자 검출 모델(410), 글자 인식 모델(420) 및 특징 추출 모델(800) 중 적어도 하나의 실행을 위한 데이터를 클라이언트 장치(1520)로 제공한 서버 장치(1510)가 학습용 데이터에 기초하여 글자 검출 모델(410), 글자 인식 모델(420) 및 특징 추출 모델(800) 중 적어도 하나의 훈련을 제어할 수도 있다. 이 경우, 서버 장치(1510)는 훈련 결과 갱신된 가중치 정보만을 클라이언트 장치(1520)로 전송하고, 클라이언트 장치(1520)는 수신된 정보에 따라 글자 검출 모델(410), 글자 인식 모델(420) 및 특징 추출 모델(800) 중 적어도 하나를 갱신할 수 있다.The client device 1520 receives training data from an external device, or trains at least one of a character detection model 410, a character recognition model 420, and a feature extraction model 800 using training data stored therein. You can also control it. Depending on the implementation, the server device 1510 providing data for execution of at least one of the character detection model 410, the character recognition model 420, and the feature extraction model 800 to the client device 1520 is The training of at least one of the character detection model 410, the character recognition model 420, and the feature extraction model 800 may be controlled based on. In this case, the server device 1510 transmits only the weight information updated as a result of training to the client device 1520, and the client device 1520 transmits the text detection model 410, the text recognition model 420, and At least one of the feature extraction models 800 may be updated.

도 15는 클라이언트 장치(1520)로서, 데스크탑 PC를 도시하고 있으나, 이에 한정되는 것은 아니고 클라이언트 장치(1520)는 노트북, 스마트폰, 태블릿 PC, AI(artificial intelligence) 로봇, AI 스피커, 웨어러블 기기 등을 포함할 수 있다.15 illustrates a desktop PC as a client device 1520, but is not limited thereto, and the client device 1520 includes a notebook, a smart phone, a tablet PC, an artificial intelligence (AI) robot, an AI speaker, a wearable device, and the like. Can include.

한편, 상술한 본 개시의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 작성된 프로그램은 매체에 저장될 수 있다.Meanwhile, the above-described embodiments of the present disclosure can be written as programs that can be executed on a computer, and the written programs can be stored in a medium.

매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The medium may be one that continuously stores a program executable by a computer, or temporarily stores a program for execution or download. In addition, the medium may be a variety of recording means or storage means in a form in which a single piece of hardware or several pieces of hardware are combined. The medium is not limited to a medium directly connected to a computer system, but may be distributed on a network. Examples of media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magnetic-optical media such as floptical disks, and And ROM, RAM, flash memory, and the like may be configured to store program instructions. In addition, examples of other media include an app store that distributes applications, a site that supplies or distributes various software, and a recording medium or storage medium managed by a server.

이상, 본 개시의 기술적 사상을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 개시의 기술적 사상은 상기 실시예들에 한정되지 않고, 본 개시의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러 가지 변형 및 변경이 가능하다.Above, the technical idea of the present disclosure has been described in detail with reference to a preferred embodiment, but the technical idea of the present disclosure is not limited to the above embodiments, and those having ordinary knowledge in the art within the scope of the technical idea of the present disclosure Various modifications and changes are possible by the user.

100: 글자 인식 장치
1410: 메모리
1430: 통신 모듈
1450: 프로세서
1510: 서버 장치
1520: 클라이언트 장치
100: character recognition device
1410: memory
1430: communication module
1450: processor
1510: server device
1520: client device

Claims (15)

글자 인식 장치에 의한 입력 데이터 내 글자를 인식하는 방법에 있어서,
입력 데이터를 글자 검출 모델에 입력하는 단계;
상기 글자 검출 모델에서 출력되는 출력 데이터에 기초하여 상기 입력 데이터 내 단어 영역의 위치 정보를 획득하는 단계;
상기 획득한 위치 정보에 대응하는 부분 데이터를 상기 입력 데이터로부터 추출하는 단계; 및
상기 부분 데이터를 글자 인식 모델에 입력하여 상기 부분 데이터 내 글자를 인식하는 단계를 포함하되,
상기 출력 데이터는, 상기 입력 데이터 내 글자가 존재할 확률을 나타내는 제 1 스코어 맵 및 상기 입력 데이터 내 글자들 사이의 연결성을 나타내는 제 2 스코어 맵을 포함하는 것을 특징으로 하는 글자 인식 방법.
In a method for recognizing a character in input data by a character recognition device,
Inputting input data into a character detection model;
Acquiring location information of a word area in the input data based on output data output from the character detection model;
Extracting partial data corresponding to the acquired location information from the input data; And
Including the step of recognizing a character in the partial data by inputting the partial data into a character recognition model,
And the output data includes a first score map indicating a probability of the existence of a character in the input data and a second score map indicating connectivity between the characters in the input data.
삭제delete 제1항에 있어서,
상기 단어 영역의 위치 정보를 획득하는 단계는,
상기 제 1 스코어 맵 및 상기 제 2 스코어 맵 내 값들과 임계 값의 비교 결과에 따라 상기 제 1 스코어 맵 및 상기 제 2 스코어 맵을 이진화하는 단계;
이진화된 상기 제 1 스코어 맵과 이진화된 상기 제 2 스코어 맵을 병합하는 단계;
병합 맵 내에서 소정 값을 갖는 영역을 결정하는 단계; 및
상기 결정된 영역을 포함하는 단어 영역의 위치 정보를 결정하는 단계를 포함하는 것을 특징으로 하는 글자 인식 방법.
The method of claim 1,
Acquiring the location information of the word area,
Binarizing the first score map and the second score map according to a result of comparing values in the first score map and the second score map with a threshold value;
Merging the binarized first score map and the binarized second score map;
Determining an area having a predetermined value in the merge map; And
And determining location information of a word area including the determined area.
제3항에 있어서,
상기 단어 영역의 위치 정보를 결정하는 단계는,
상기 결정된 영역을 포함하는 최소 크기의 단어 박스를 결정하는 단계; 및
상기 결정된 단어 박스의 위치 정보를 상기 단어 영역의 위치 정보로 결정하는 단계를 포함하는 것을 특징으로 하는 글자 인식 방법.
The method of claim 3,
The step of determining the location information of the word area,
Determining a word box having a minimum size including the determined area; And
And determining position information of the determined word box as position information of the word area.
제1항에 있어서,
상기 글자 인식 방법은,
학습용 데이터 내 글자가 존재할 확률을 나타내는 제 1 GT 스코어 맵, 및 상기 학습용 데이터 내 글자들 사이의 연결성을 나타내는 제 2 GT 스코어 맵을 획득하는 단계; 및
상기 학습용 데이터를 상기 글자 검출 모델에 입력하는 단계를 더 포함하되,
상기 학습용 데이터에 대응하여 상기 글자 검출 모델에서 출력되는 제 1 스코어 맵 및 제 2 스코어 맵 각각과 상기 제 1 GT 스코어 맵 및 상기 제 2 GT 스코어 맵의 비교 결과에 따라 상기 글자 검출 모델의 내부 가중치가 갱신되는 것을 특징으로 하는 글자 인식 방법.
The method of claim 1,
The character recognition method,
Obtaining a first GT score map indicating a probability of the existence of a character in the learning data, and a second GT score map indicating a connection between the characters in the learning data; And
Further comprising the step of inputting the learning data into the character detection model,
According to the comparison result of each of the first score map and the second score map output from the character detection model and the first GT score map and the second GT score map corresponding to the training data, the internal weight of the character detection model is Character recognition method, characterized in that updated.
제5항에 있어서,
상기 제 1 GT 스코어 맵을 획득하는 단계는,
상기 학습용 데이터 내 단어를 포함하는 단어 박스를 결정하는 단계;
상기 결정된 단어 박스에 포함된 글자의 개수에 따라 상기 단어 박스를 복수의 글자 박스로 분할하는 단계; 및
상기 복수의 글자 박스 각각에 소정의 이미지를 합성하여 상기 제 1 GT 스코어 맵을 생성하는 단계를 포함하는 것을 특징으로 하는 글자 인식 방법.
The method of claim 5,
The step of obtaining the first GT score map,
Determining a word box including words in the training data;
Dividing the word box into a plurality of letter boxes according to the number of letters included in the determined word box; And
And generating the first GT score map by synthesizing a predetermined image on each of the plurality of text boxes.
제6항에 있어서,
상기 제 2 GT 스코어 맵을 생성하는 단계는,
상기 복수의 글자 박스들 중 서로 인접한 글자 박스들 사이의 경계선 상에 위치하는 연결 박스를 결정하는 단계; 및
상기 연결 박스에 소정의 이미지를 합성하여 상기 제 2 GT 스코어 맵을 생성하는 단계를 포함하는 것을 특징으로 하는 글자 인식 방법.
The method of claim 6,
The step of generating the second GT score map,
Determining a connection box positioned on a boundary line between adjacent text boxes among the plurality of text boxes; And
And generating the second GT score map by synthesizing a predetermined image in the connection box.
제1항에 있어서,
상기 글자 인식 방법은,
상기 부분 데이터 내에서 인식된 글자 그룹에 소정의 기호가 포함되어 있는 경우, 해당 글자 그룹을 제 1 종류의 정보로 결정하는 단계를 더 포함하는 것을 특징으로 하는 글자 인식 방법.
The method of claim 1,
The character recognition method,
And when a predetermined symbol is included in a character group recognized in the partial data, determining the character group as a first type of information.
제1항에 있어서,
상기 입력 데이터로부터 추출된 부분 데이터의 개수는 복수 개이되,
상기 글자 인식 방법은,
복수의 부분 데이터들 각각에서 인식된 글자 그룹들을, 상기 입력 데이터 내에서의 상기 복수의 부분 데이터들의 위치에 따라 정렬하는 단계를 더 포함하는 것을 특징으로 하는 글자 인식 방법.
The method of claim 1,
The number of partial data extracted from the input data is plural,
The character recognition method,
And aligning the character groups recognized from each of the plurality of partial data according to the positions of the plurality of partial data in the input data.
제9항에 있어서,
상기 글자 인식 방법은,
상기 정렬된 글자 그룹들 중 연속으로 정렬된 소정 개수의 글자 그룹에 포함된 글자의 개수에 기초하여 글자의 재인식이 필요한지 여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 글자 인식 방법.
The method of claim 9,
The character recognition method,
And determining whether re-recognition of a letter is required based on the number of letters included in a predetermined number of letter groups arranged in succession among the sorted letter groups.
제1항에 있어서,
상기 글자를 인식하는 단계는,
상기 글자 검출 모델에서 출력되는 출력 데이터를 상기 글자 인식 모델로 더 입력시켜 상기 부분 데이터 내 글자를 인식하는 단계를 포함하는 것을 특징으로 하는 글자 인식 방법.
The method of claim 1,
Recognizing the letter,
And recognizing a character in the partial data by further inputting output data output from the character detection model to the character recognition model.
제1항에 있어서,
상기 입력 데이터는,
원본 이미지에 대응하여 특징 추출 모델로부터 출력된 특징 맵을 포함하는 것을 특징으로 하는 글자 인식 방법.
The method of claim 1,
The input data,
Character recognition method comprising a feature map output from the feature extraction model corresponding to the original image.
하드웨어와 결합하여 제1항의 글자 인식 방법을 실행하기 위하여 매체에 저장된 프로그램.
A program stored in a medium to execute the character recognition method of claim 1 in combination with hardware.
프로세서; 및
적어도 하나의 인스트럭션을 저장하는 메모리를 포함하되,
상기 프로세서는 상기 적어도 하나의 인스트럭션에 따라,
입력 데이터를 글자 검출 모델에 입력하고,
상기 글자 검출 모델에서 출력되는 출력 데이터에 기초하여 상기 입력 데이터 내 단어 영역의 위치 정보를 획득하고,
상기 획득한 위치 정보에 대응하는 부분 데이터를 상기 입력 데이터로부터 추출하고,
상기 부분 데이터를 글자 인식 모델에 입력하여 상기 부분 데이터 내 글자를 인식하되,
상기 출력 데이터는, 상기 입력 데이터 내 글자가 존재할 확률을 나타내는 제 1 스코어 맵 및 상기 입력 데이터 내 글자들 사이의 연결성을 나타내는 제 2 스코어 맵을 포함하는 것을 특징으로 하는 글자 인식 장치.
Processor; And
Including a memory for storing at least one instruction,
The processor according to the at least one instruction,
Input data into the character detection model,
Obtaining location information of a word area in the input data based on output data output from the character detection model,
Extracting partial data corresponding to the acquired location information from the input data,
By inputting the partial data into a character recognition model to recognize characters in the partial data,
The output data includes a first score map indicating a probability of the existence of a character in the input data and a second score map indicating connectivity between the characters in the input data.
글자 인식 장치에 의한 입력 데이터 내 글자를 인식하는 방법에 있어서,
입력 데이터를 글자 검출 모델에 입력하는 단계;
상기 글자 검출 모델에서 출력되는 출력 데이터에 기초하여 상기 입력 데이터 내 단어 영역의 위치 정보를 획득하는 단계;
상기 획득한 위치 정보에 대응하는 부분 데이터를 상기 입력 데이터로부터 추출하는 단계; 및
상기 부분 데이터를 글자 인식 모델에 입력하여 상기 부분 데이터 내 글자를 인식하는 단계를 포함하되,
상기 글자를 인식하는 단계는,
상기 글자 검출 모델에서 출력되는 출력 데이터를 상기 글자 인식 모델로 더 입력시켜 상기 부분 데이터 내 글자를 인식하는 단계를 포함하는 것을 특징으로 하는 글자 인식 방법.
In a method for recognizing a character in input data by a character recognition device,
Inputting input data into a character detection model;
Acquiring location information of a word area in the input data based on output data output from the character detection model;
Extracting partial data corresponding to the acquired location information from the input data; And
Including the step of recognizing a character in the partial data by inputting the partial data into a character recognition model,
Recognizing the letter,
And recognizing a character in the partial data by further inputting output data output from the character detection model to the character recognition model.
KR1020190022102A 2019-02-25 2019-02-25 Apparatus and method for recognizing character KR102206604B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190022102A KR102206604B1 (en) 2019-02-25 2019-02-25 Apparatus and method for recognizing character
PCT/KR2020/001333 WO2020175806A1 (en) 2019-02-25 2020-01-29 Device for recognizing characters and method for recognizing characters by means of same
JP2021549641A JP7297910B2 (en) 2019-02-25 2020-01-29 Character recognition device and character recognition method by character recognition device
KR1020210006280A KR102351578B1 (en) 2019-02-25 2021-01-15 Apparatus and method for recognizing character

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190022102A KR102206604B1 (en) 2019-02-25 2019-02-25 Apparatus and method for recognizing character

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210006280A Division KR102351578B1 (en) 2019-02-25 2021-01-15 Apparatus and method for recognizing character

Publications (2)

Publication Number Publication Date
KR20200106110A KR20200106110A (en) 2020-09-11
KR102206604B1 true KR102206604B1 (en) 2021-01-22

Family

ID=72240107

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190022102A KR102206604B1 (en) 2019-02-25 2019-02-25 Apparatus and method for recognizing character

Country Status (3)

Country Link
JP (1) JP7297910B2 (en)
KR (1) KR102206604B1 (en)
WO (1) WO2020175806A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102386162B1 (en) * 2020-11-13 2022-04-15 주식회사 와들 System for generating product information data from image and method thereof
KR102548826B1 (en) * 2020-12-11 2023-06-28 엔에이치엔클라우드 주식회사 Method and system for providing deep learning-based menu
WO2024013864A1 (en) * 2022-07-13 2024-01-18 株式会社東芝 Character recognition device, character recognition method, and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101805318B1 (en) * 2016-11-01 2017-12-06 포항공과대학교 산학협력단 Method and apparatus for identifying text region

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3840206B2 (en) 2003-06-23 2006-11-01 株式会社東芝 Translation method and program in copying machine
JP2010191724A (en) 2009-02-18 2010-09-02 Seiko Epson Corp Image processor and control program
KR101727137B1 (en) 2010-12-14 2017-04-14 한국전자통신연구원 Method and apparatus for extracting text area, and automatic recognition system of number plate using the same
KR101295000B1 (en) * 2013-01-22 2013-08-09 주식회사 케이지모빌리언스 System for recognizing credit card number using area property of card number and method thereof
US20150100537A1 (en) * 2013-10-03 2015-04-09 Microsoft Corporation Emoji for Text Predictions
US9449239B2 (en) 2014-05-30 2016-09-20 Apple Inc. Credit card auto-fill
KR101824600B1 (en) 2015-09-08 2018-03-14 에스케이플래닛 주식회사 A system and method credit card number and expiration date recognition using a terminal device
JP2017058950A (en) 2015-09-16 2017-03-23 大日本印刷株式会社 Recognition device, image pickup system, and image pickup device, and recognition method and program for recognition
KR102376201B1 (en) * 2017-04-04 2022-03-18 한국전자통신연구원 System and method for generating multimedia knowledge base

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101805318B1 (en) * 2016-11-01 2017-12-06 포항공과대학교 산학협력단 Method and apparatus for identifying text region

Also Published As

Publication number Publication date
KR20200106110A (en) 2020-09-11
WO2020175806A1 (en) 2020-09-03
JP7297910B2 (en) 2023-06-26
JP2022522425A (en) 2022-04-19

Similar Documents

Publication Publication Date Title
Ye et al. Text detection and recognition in imagery: A survey
CN109948615B (en) Multi-language text detection and recognition system
US9171204B2 (en) Method of perspective correction for devanagari text
US8744196B2 (en) Automatic recognition of images
US9262699B2 (en) Method of handling complex variants of words through prefix-tree based decoding for Devanagiri OCR
CN104217203B (en) Complex background card face information identifying method and system
KR102206604B1 (en) Apparatus and method for recognizing character
KR102211763B1 (en) Apparatus, method and system for detecting character
CN108681735A (en) Optical character recognition method based on convolutional neural networks deep learning model
CN111401309B (en) CNN training and remote sensing image target identification method based on wavelet transformation
KR102351578B1 (en) Apparatus and method for recognizing character
Halima et al. Nf-savo: Neuro-fuzzy system for arabic video ocr
Essa et al. Enhanced technique for Arabic handwriting recognition using deep belief network and a morphological algorithm for solving ligature segmentation
Dat et al. An improved CRNN for Vietnamese Identity Card Information Recognition.
Wicht et al. Camera-based sudoku recognition with deep belief network
US20230036812A1 (en) Text Line Detection
CN111476090B (en) Watermark identification method and device
KR102026280B1 (en) Method and system for scene text detection using deep learning
CN116052189A (en) Text recognition method, system and storage medium
Ou et al. ERCS: An efficient and robust card recognition system for camera-based image
Shinde et al. Using CRNN to Perform OCR over Forms
Konstantakis et al. A writer identification system of greek historical documents using matlab
Dugar et al. From pixels to words: A scalable journey of text information from product images to retail catalog
CN112818823B (en) Text extraction method based on bill content and position information
CN107168988A (en) Inquire about method, device, equipment and the computer-readable storage medium of lottery information

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant