KR102351578B1 - Apparatus and method for recognizing character - Google Patents

Apparatus and method for recognizing character Download PDF

Info

Publication number
KR102351578B1
KR102351578B1 KR1020210006280A KR20210006280A KR102351578B1 KR 102351578 B1 KR102351578 B1 KR 102351578B1 KR 1020210006280 A KR1020210006280 A KR 1020210006280A KR 20210006280 A KR20210006280 A KR 20210006280A KR 102351578 B1 KR102351578 B1 KR 102351578B1
Authority
KR
South Korea
Prior art keywords
character
data
character recognition
score map
input data
Prior art date
Application number
KR1020210006280A
Other languages
Korean (ko)
Other versions
KR20210010602A (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
Priority claimed from KR1020190022102A external-priority patent/KR102206604B1/en
Application filed by 네이버 주식회사 filed Critical 네이버 주식회사
Priority to KR1020210006280A priority Critical patent/KR102351578B1/en
Publication of KR20210010602A publication Critical patent/KR20210010602A/en
Application granted granted Critical
Publication of KR102351578B1 publication Critical patent/KR102351578B1/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/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • G06V30/147Determination of region of interest
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • 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/32Digital ink
    • 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)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Character Discrimination (AREA)

Abstract

글자 인식 장치에 의한 입력 데이터 내 글자를 인식하는 방법에 있어서, 입력 데이터를 글자 검출 모델에 입력하는 단계; 글자 검출 모델에서 출력되는 출력 데이터에 기초하여 입력 데이터 내 단어 영역의 위치 정보를 획득하는 단계; 획득한 위치 정보에 대응하는 부분 데이터를 입력 데이터로부터 추출하는 단계; 및 부분 데이터를 글자 인식 모델에 입력하여 부분 데이터 내 글자를 인식하는 단계를 포함하는 것을 특징으로 하는 일 실시예에 따른 글자 인식 방법이 개시된다.A method for recognizing characters in input data by a character recognition device, the method comprising: inputting the input data into a character detection model; obtaining position information of a word region in 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 partial data into a character recognition model to recognize characters in the partial data.

Description

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

본 개시는 데이터 처리 분야에 관한 것이다. 보다 구체적으로, 본 개시는 이미지 등의 데이터에서 글자를 인식하는 글자 인식 장치 및 방법에 관한 것이다.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 in data such as an image.

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

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

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

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

일 실시예에 따른 글자 인식 방법은, 입력 데이터를 글자 검출 모델에 입력하는 단계; 상기 글자 검출 모델에서 출력되는 출력 데이터에 기초하여 상기 입력 데이터 내 단어 영역의 위치 정보를 획득하는 단계; 상기 획득한 위치 정보에 대응하는 부분 데이터를 상기 입력 데이터로부터 추출하는 단계; 및 상기 부분 데이터를 글자 인식 모델에 입력하여 상기 부분 데이터 내 글자를 인식하는 단계를 포함할 수 있다.A character recognition method according to an embodiment includes inputting input data into a character detection model; obtaining position information of a word region 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 inputting the partial data into a character recognition model to recognize characters 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 enters the input data based on output data output from the character detection model. A character in the partial data may be recognized by acquiring positional information of a word region, extracting partial data corresponding to the acquired positional information from the input data, and inputting the partial data into a character recognition model.

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

또한, 일 실시예에 따른 글자 인식 장치 및 이에 의한 글자 인식 방법은 실물 카드의 이미지 내에서 글자를 정확하게 인식하여 핀테크 산업의 발전에 기여할 수 있다. In addition, the character recognition apparatus and the character recognition method according to an embodiment can accurately recognize characters in the image of a real card, thereby contributing to the development of the fintech industry.

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

본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 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 herein, 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 flowchart illustrating a character recognition method according to an exemplary embodiment.
3 is a view for explaining a process of recognizing a character through a character recognition apparatus according to an exemplary embodiment.
4 is an exemplary diagram illustrating 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.
FIG. 6 is a view for explaining the binarization process and the merging process shown in FIG. 5 .
FIG. 7 is a diagram for explaining a process of determining a word box shown in FIG. 5 .
8 is a diagram for explaining the structure of a feature extraction model according to an embodiment.
9 is a diagram for explaining a structure of a character recognition model according to an exemplary embodiment.
10 is a flowchart illustrating a method of training a character detection model according to an embodiment.
11 is a diagram for explaining a method of generating a first GT score map.
12 is a diagram for explaining a method of generating a second GT score map.
13 is a diagram for explaining 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 embodiment can be applied.

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

실시예를 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 실시예의 설명 과정에서 이용되는 숫자(예를 들어, 제 1, 제 2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.In describing the embodiment, if 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 only identification symbols for distinguishing one component from other components.

또한, 본 명세서에서 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.Also, in this specification, when a component is referred to as “connected” or “connected” to another component, the component may be directly connected to or directly connected to the other component, but the opposite is particularly true. Unless there is a description to be used, it will be understood that it may be connected or connected through another element in the middle.

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

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

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

또한, 본 명세서에서 '글자 그룹'은 후술하는 어느 하나의 부분 데이터에서 인식된 적어도 하나의 글자들을 의미할 수 있다.Also, in the present specification, a '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 spirit of the present disclosure will be described in detail in turn.

도 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 input data 10 and recognizes a character 50 in the input data 10 . The input data 10 may include an image obtained by photographing a physical card such as a debit card or a credit card, or as described below, outputted from the feature extraction model 800 based on an image photographed of a physical card, etc. It may include a feature map.

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

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

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

S210 단계에서, 글자 인식 장치(100)는 입력 데이터(10)를 글자 검출 모델(410)에 입력한다. 글자 인식 장치(100)는 글자 검출 모델(410)을 미리 저장할 수 있다. 글자 검출 모델(410)은 학습용 데이터에 기초하여 훈련될 수 있다.In step S210 , the character recognition apparatus 100 inputs the input data 10 to 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 learning data.

S220 단계에서, 글자 인식 장치(100)는 글자 검출 모델(410)에서 출력되는 출력 데이터(30)에 기초하여 입력 데이터(10) 내 단어 영역의 위치 정보를 획득한다.In step S220 , the character recognition apparatus 100 acquires position information of the word region 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 the position of a point where the character is expected to exist in the input data 10 . The character recognition apparatus 100 obtains position information of a word region 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 the partial data 40 corresponding to the location information of the word area from the input data 10 . In an embodiment, when a plurality of location information of a word region is obtained, a plurality 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 inputs the partial data 40 into the character recognition model 420 to recognize the character 50 included in the partial data 40 . 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 character 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 into the character recognition model 420 . Since the output data 30 of the character detection model 410 may include location information of individual characters in the input data 10 , the character recognition accuracy of the character recognition model 420 may be further improved.

글자 인식 장치(100)는 인식된 글자를 저장하거나, 네트워크를 통해 외부 장치로 전송할 수 있다.The character recognition apparatus 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 the 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 the probability that characters in the input data 10 exist on a data space (eg, image space) corresponding to the input data 10, and the input data ( 10) It may include a second score map 33 indicating the connectivity between the characters in the data space corresponding to the input data 10 .

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

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

후술하는 바와 같이, 글자 검출 모델(410)은 학습용 데이터에 대응하여 생성된 제 1 GT(ground truth) 스코어 맵 및 제 2 GT 스코어 맵과 유사한 제 1 스코어 맵(31) 및 제 2 스코어 맵(33)이 출력되도록 훈련될 수 있다.As will be described later, the character detection model 410 includes a first score map 31 and a second score map 33 similar to the first GT (ground truth) score map and the second GT score map generated in response 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 region in the input data 10 based on the first score map 31 and the second score map 33 . For this, refer to FIGS. 5 to 7 . to explain

도 5는 글자 검출 모델(410)에서 출력된 출력 데이터(30)에 기초하여 입력 데이터(10) 내 단어 영역의 위치 정보를 획득하는 방법을 설명하기 위한 도면이고, 도 6은 도 5에 도시된 이진화 과정 및 병합 과정을 설명하기 위한 도면이고, 도 7은 도 5에 도시된 단어 박스 결정 과정을 설명하기 위한 도면이다.5 is a diagram for explaining a method of acquiring position information of a word region in the input data 10 based on the output data 30 output from the character detection model 410, and FIG. 6 is the diagram shown in FIG. It is a diagram for explaining a binarization process and a merging process, and FIG. 7 is a diagram for explaining a 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 the second score map 33 ) binarize the second score map 33 by comparing the data values in In one 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 sets data values less than the threshold value. It can be changed to the 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 greater than or equal to a threshold in the first score map 31 and the second score map 33 is a binarized first score map 601 and a binarized second score map 603 . . The map 603 may be changed to have the second value.

제 1 스코어 맵(31)의 이진화를 위한 임계 값과 제 2 스코어 맵(33)의 이진화를 위한 임계 값은 서로 동일하거나 서로 상이할 수 있다.The threshold value for binarization of the first score map 31 and the threshold value for binarization of the second score map 33 may be the same as 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 first binarized 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 first binarized score map 601 and the second binarized score map 603 may be included in the merge map 605 . In this way, the merge map 605 can be divided into regions 606 in which characters in the input data 10 are likely to exist and regions where it is not.

S540 단계에서, 글자 인식 장치(100)는 병합 맵(605)을 이용하여 글자가 포함된 영역을 나타내는 단어 박스(610)를 결정하게 된다. In step S540 , the character recognition apparatus 100 determines a word box 610 indicating an area including characters by 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 adjacent to each other having the same (or in the same range) value are determined as the word region, and a word box 610 including the determined word region. can be decided In an embodiment, the character recognition apparatus 100 may label each word area in order to distinguish the word areas 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 verification to verify whether each of the recognized regions 606 includes an actual word using the merge map 605 . Specifically, for example, regions 606 adjacent to each other having the same (or within the same range) value in the merge map 605 are set as word candidate regions, and a first score corresponding to each data in the word candidate region is set. If one or more of the values of the map 601 are higher than the predetermined threshold, the corresponding word candidate area may be determined as the word area. 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 the cases determined as the word candidate area because there is a background similar to the character.

일 실시예에서, 글자 인식 장치(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 verified as corresponding to the 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 value of the corners of the word box 610 on the input data 10 or the merge map 605) to determine the position of the word region. information can be determined.

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

앞서 설명한 바와 같이, 글자 검출 모델(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 to the 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 it is not a copied image or a modified image of an image captured by the first card.

원본 이미지(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 is a first convolutional layer 805 , a second convolutional layer 810 , a third convolutional layer 815 , a fourth convolutional layer 820 , and a fifth convolutional layer 825 . and the sixth convolutional layer 830 is convolutional. 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 input as ? are input to the first up-sampling layer 840 through a convolution process 836 , a batch normalization 837 , a convolution process 838 , and a 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 concatenated with the output of the second convolution layer 810 and is input to the fourth up-convolution layer 865 . In addition, a result output from the fourth up-convolution layer 865 may be used as the input data 10 .

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

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

도 9는 일 실시예에 따른 글자 인식 모델(420)의 구조를 설명하기 위한 도면이다.9 is a diagram for explaining the structure of a character recognition model 420 according to an 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 convolution processes the partial data 40 to extract a feature map. In one example, the convolutional network 421 may include 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 may be input, the number of required convolution layers 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 determine a context relationship between consecutive feature vectors through bidirectional long-short-term memory (bi-LSTM).

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

한편, 일 실시예에서, 글자 인식 장치(100)는 여러 부분 데이터(40)들 각각에서 인식된 글자 그룹들을 소정 기준에 따라 분류할 수 있다. 일 예에서, 글자 인식 장치(100)는 어느 부분 데이터(40)에서 인식된 글자 그룹에 소정의 기호(예를 들어, /)가 포함되어 있으면, 해당 글자 그룹을 제 1 종류의 정보로 결정할 수 있다. 카드 내 유효 기간에는 년도와 월을 구분하기 위한 소정의 기호가 포함되어 있는 것이 일반적이므로, 글자 인식 장치(100)는 어느 부분 데이터(40)에서 인식된 글자 그룹에 소정 기호가 포함되어 있으면 해당 글자 그룹을 유효 기간 정보로 결정할 수 있는 것이다. Meanwhile, according to 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 if a predetermined symbol (eg, /) is included in the character group recognized in the partial data 40 . have. Since a predetermined symbol for distinguishing a year and a month is generally included in the validity period of the card, the character recognition apparatus 100 detects a corresponding character when the character group recognized in the partial data 40 includes a predetermined symbol. The group can be determined by the validity period information.

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

또한, 일 실시예에서, 글자 인식 장치(100)는 복수의 부분 데이터(40) 각각에서 인식된 글자 그룹들 중 소정의 기호를 포함하고 있지 않은 글자 그룹들을 제 2 종류의 정보로 결정할 수 있다. 제 2 종류의 정보는 예를 들어, 카드 번호 정보를 포함할 수 있다. Also, according to 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 스캔 방식으로 글자 그룹들을 정렬할 수 있다. Also, in an embodiment, the character recognition apparatus 100 aligns character groups recognized in each of the plurality of partial data 40 according to positions of the plurality of partial data 40 in the input data 10 . can do. For example, the character recognition apparatus 100 may align the character groups in a Z-scan method based on the upper left corner in the input data 10 .

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

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

글자의 재인식이 필요한 경우, 글자 인식 장치(100)는 이미지의 재촬영이 필요하다는 정보를 스피커, 모니터 등을 통해 출력하거나 네트워크를 통해 외부 장치로 알릴 수 있다. 일 실시예에서, 글자 인식 장치(100)가 카메라의 프리뷰 이미지로부터 글자를 인식하는 중에, 글자의 재인식이 필요한 것으로 결정된 경우, 카메라를 통해 연속적으로 촬영되고 있는 프리뷰 이미지로부터 글자를 재인식할 수도 있다.When re-recognition of characters is required, the character recognition apparatus 100 may output information indicating that the image needs to be re-photographed through a speaker, a monitor, or the like, or inform an external device through a network. In an embodiment, when the character recognition apparatus 100 determines that the character needs to be re-recognized while recognizing the character from the preview image of the camera, the character recognition apparatus 100 may re-recognize the character from the preview image continuously captured 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 exemplary 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 provides a first GT score map 71 indicating the probability of the existence of a character in the training data 60 on the data space, and the data connection between the characters in the training data 60 . A second GT score map 73 shown in space is obtained. The horizontal size and vertical size of the training data 60 may be the same as the horizontal size and vertical size of the input data 10 . In addition, the horizontal size and vertical size of the training data 60 are the same as the horizontal size and vertical size of the first GT score map 71, and the horizontal size and vertical size of the second GT score map 73. can

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

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

*제 1 GT 스코어 맵(71) 내 값들은 해당 지점에서 학습용 데이터(60)에 글자가 위치할 확률을 나타낼 수 있다. 또한, 제 2 GT 스코어 맵(73) 내 값들은 해당 지점에서 복수의 글자들이 서로 인접할 확률을 나타낼 수 있다.* Values in the first GT score map 71 may represent the probability that a letter is located in the learning data 60 at the corresponding point. In addition, 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 training data 60 into the character detection model 410 .

S1030 단계에서, 학습용 데이터(60)에 대응하여 글자 검출 모델(410)에서 출력되는 제 1 스코어 맵 및 제 2 스코어 맵 각각과 제 1 GT 스코어 맵(71) 및 제 2 GT 스코어 맵(73)의 비교 결과에 따라 글자 검출 모델(410)의 내부 가중치가 갱신될 수 있다.In step S1030, the first and second score maps output from the character detection model 410 corresponding to the training data 60, respectively, and the first GT score map 71 and the second GT score map 73 are obtained. 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 comparison between the first and second score maps, respectively, and the first GT score map 71 and the second GT score map 73 . The loss value may correspond to, for example, an 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 an 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 explaining a method of generating the second GT score map 73 . Also, FIG. 13 is a view for explaining a method of determining the connection box 63a between the letter boxes 62a and 62b adjacent to each other.

도 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 training data 60 . And, according to the number of letters included in the word boxes 61a, 61b, 61c, 61d, and 61e, the word boxes 61a, 61b, 61c, 61d, and 61e have at least one letter box 62a, 62b, 62c, 62d. ) is divided into 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 first GT score map 71 may be generated by synthesizing a predetermined image 1100, for example, a 2D Gaussian image, in each of the text boxes 62a, 62b, 62c, and 62d.

도 12 및 도 13을 참조하면, 복수의 글자 박스들(62a, 62b, 62c, 62d) 중 서로 인접한 글자 박스들 사이의 경계선(L) 상에 위치하는 연결 박스(63a, 63b, 63c)가 결정되고, 연결 박스(63a, 63b, 63c)에 소정 이미지(1100), 예를 들어, 2D 가우시안 이미지가 합성되어 제 2 GT 스코어 맵(73)이 생성될 수 있다.12 and 13 , connection boxes 63a, 63b, and 63c positioned on the boundary line L between adjacent letter boxes among the plurality of letter boxes 62a, 62b, 62c, and 62d are determined. and 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 internal spaces of adjacent letter 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 adjacent text boxes 62a and 62b ) can be determined.

일 예에서, 서로 인접한 좌측 글자 박스(62a) 및 우측 글자 박스(62b)의 모서리들 중 좌측 하단 모서리와 우측 상단 모서리를 연결하고, 좌측 상단 모서리와 우측 하단 모서리를 연결하여 상부 및 하부의 삼각형들을 결정하고, 해당 삼각형들의 중점들을 연결함으로써 연결 박스(63a)가 결정될 수도 있다.In one example, the upper and lower triangles are formed by connecting the lower left corner and the upper right corner among the corners of the left letter box 62a and the right letter box 62b adjacent to each other, and 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 the 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 . Also, 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 region in the input data 10 based on the output data output from the character detection model 410 . have. 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/receives data to and from an external device through a network. For example, the communication module 1430 may transmit/receive an image to/from an external device or may transmit/receive character information recognized in the input data 10 to/from the 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 embodiment can be applied.

글자 인식 장치(100)는 서버 장치(1510)로 구현되거나 또는 클라이언트 장치(1520)로 구현될 수 있다.The character recognition apparatus 100 may be implemented as a server device 1510 or as 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 , recognize and store characters in the received image. In one example, the server device 1510 may transmit character 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 detect a character detection model 410 , a character recognition model 420 , and a feature extraction model. At least one of (800) may control training.

글자 인식 장치(100)가 클라이언트 장치(1520)로 구현되는 경우, 클라이언트 장치(1520)는 클라이언트 장치(1520)의 카메라에 의해 촬영된 이미지 또는 클라이언트 장치(1520)에 저장된 이미지 내에서 글자를 인식하여 저장할 수 있다. When the character recognition device 100 is implemented as the client device 1520 , the client device 1520 recognizes characters in an image captured by the 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 an embodiment, the client device 1520 may receive data for executing 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 selects at least one of a character detection model 410 , a character recognition model 420 , and a feature extraction model 800 using an image captured through the camera module, an image stored in the internal memory, or an image received from an external device. You can recognize characters by entering them into

클라이언트 장치(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 the character detection model 410, the character recognition model 420, and the feature extraction model 800 using the learning data stored therein. You can also control it. According to an embodiment, the server device 1510 that provides data for executing 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 training data 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 the . 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 performs a character detection model 410 , a character 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 shows a desktop PC as a client device 1520, but is not limited thereto, and the client device 1520 includes a notebook computer, a smartphone, a tablet PC, an artificial intelligence (AI) robot, an AI speaker, a wearable device, and the like. may include

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

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

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

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

Claims (14)

글자 인식 장치에 의한 입력 데이터 내 글자를 인식하는 방법에 있어서,
입력 데이터를 글자 검출 모델에 입력하는 단계;
상기 글자 검출 모델에서 출력되는 출력 데이터에 기초하여 상기 입력 데이터 내 단어 영역의 위치 정보를 획득하는 단계;
상기 획득한 위치 정보에 대응하는 부분 데이터를 상기 입력 데이터로부터 추출하는 단계; 및
상기 부분 데이터를 글자 인식 모델에 입력하여 상기 부분 데이터 내의 글자를 인식하는 단계를 포함하되,
상기 출력 데이터는, 상기 입력 데이터 내 글자가 존재할 확률을 나타내는 제 1 스코어 맵 및 상기 입력 데이터 내 글자들 사이의 연결성을 나타내는 제 2 스코어 맵 중 적어도 하나를 포함하는 것을 특징으로 하는 글자 인식 방법.
A method for recognizing characters in input data by a character recognition device, the method comprising:
inputting the input data into the character detection model;
obtaining position information of a word region 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 characters in the partial data by inputting the partial data into a character recognition model;
and the output data includes at least one of a first score map indicating a probability that a character exists in the input data and a second score map indicating a connection between characters in the input data.
제1항에 있어서,
상기 글자 인식 방법은,
상기 부분 데이터에서 인식된 글자 그룹들에 포함된 글자의 개수에 기초하여 글자의 재인식이 필요한지 여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 글자 인식 방법.
According to claim 1,
The character recognition method is
and determining whether re-recognition of characters is necessary based on the number of characters included in the character groups recognized in the partial data.
제1항에 있어서,
상기 단어 영역의 위치 정보를 획득하는 단계는,
상기 제 1 스코어 맵 및 상기 제 2 스코어 맵 내 값들과 임계 값의 비교 결과에 따라 상기 제 1 스코어 맵 및 상기 제 2 스코어 맵을 이진화하는 단계;
이진화된 상기 제 1 스코어 맵과 이진화된 상기 제 2 스코어 맵을 병합하는 단계;
병합 맵 내에서 소정 값을 갖는 영역을 결정하는 단계; 및
상기 결정된 영역을 포함하는 단어 영역의 위치 정보를 결정하는 단계를 포함하는 것을 특징으로 하는 글자 인식 방법.
According to claim 1,
The step of obtaining location information of the word region includes:
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 position information of a word region including the determined region.
제3항에 있어서,
상기 단어 영역의 위치 정보를 결정하는 단계는,
상기 결정된 영역을 포함하는 최소 크기의 단어 박스를 결정하는 단계; 및
상기 결정된 단어 박스의 위치 정보를 상기 단어 영역의 위치 정보로 결정하는 단계를 포함하는 것을 특징으로 하는 글자 인식 방법.
4. The method of claim 3,
The step of determining the location information of the word region includes:
determining a word box having a minimum size including the determined area; and
and determining the determined position information of the word box as position information of the word region.
제1항에 있어서,
상기 글자 인식 방법은,
학습용 데이터 내 글자가 존재할 확률을 나타내는 제 1 GT 스코어 맵, 및 상기 학습용 데이터 내 글자들 사이의 연결성을 나타내는 제 2 GT 스코어 맵을 획득하는 단계; 및
상기 학습용 데이터를 상기 글자 검출 모델에 입력하는 단계를 더 포함하되,
상기 학습용 데이터에 대응하여 상기 글자 검출 모델에서 출력되는 제 1 스코어 맵 및 제 2 스코어 맵 각각과 상기 제 1 GT 스코어 맵 및 상기 제 2 GT 스코어 맵의 비교 결과에 따라 상기 글자 검출 모델의 내부 가중치가 갱신되는 것을 특징으로 하는 글자 인식 방법.
According to claim 1,
The character recognition method is
obtaining a first GT score map indicating a probability that a letter exists in the training data and a second GT score map indicating a connection between the letters in the training data; and
Further comprising the step of inputting the learning data into the character detection model,
The internal weight of the character detection model is determined according to a result of comparison between the first and second score maps respectively output from the character detection model in response to the learning data and the first GT score map and the second GT score map. Character recognition method, characterized in that it is updated.
제5항에 있어서,
상기 제 1 GT 스코어 맵을 획득하는 단계는,
상기 학습용 데이터 내 단어를 포함하는 단어 박스를 결정하는 단계;
상기 결정된 단어 박스에 포함된 글자의 개수에 따라 상기 단어 박스를 복수의 글자 박스로 분할하는 단계; 및
상기 복수의 글자 박스 각각에 소정의 이미지를 합성하여 상기 제 1 GT 스코어 맵을 생성하는 단계를 포함하는 것을 특징으로 하는 글자 인식 방법.
6. The method of claim 5,
Acquiring the first GT score map comprises:
determining a word box including a word in the training data;
dividing the word box into a plurality of letter boxes according to the determined number of letters included in the word box; and
and generating the first GT score map by synthesizing a predetermined image in each of the plurality of letter boxes.
제6항에 있어서,
상기 제 2 GT 스코어 맵을 생성하는 단계는,
상기 복수의 글자 박스들 중 서로 인접한 글자 박스들 사이의 경계선 상에 위치하는 연결 박스를 결정하는 단계; 및
상기 연결 박스에 소정의 이미지를 합성하여 상기 제 2 GT 스코어 맵을 생성하는 단계를 포함하는 것을 특징으로 하는 글자 인식 방법.
7. The method of claim 6,
The step of generating the second GT score map comprises:
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 종류의 정보로 결정하는 단계를 더 포함하는 것을 특징으로 하는 글자 인식 방법.
According to claim 1,
The character recognition method is
and determining the character group as the first type of information when a predetermined symbol is included in the character group recognized from the partial data.
제1항에 있어서,
상기 글자 인식 방법은,
상기 부분 데이터에서 인식된 글자 그룹들을, 상기 입력 데이터 내에서의 위치에 따라 정렬하는 단계; 및
상기 정렬된 글자 그룹들 중 연속으로 정렬된 글자 그룹에 포함된 글자의 개수에 기초하여 글자의 재인식이 필요한지 여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 글자 인식 방법.
According to claim 1,
The character recognition method is
arranging character groups recognized in the partial data according to positions in the input data; and
and determining whether re-recognition of a character is necessary based on the number of characters included in the consecutively arranged character group among the sorted character groups.
제1항에 있어서,
상기 글자를 인식하는 단계는,
상기 글자 검출 모델에서 출력되는 출력 데이터를 상기 글자 인식 모델로 더 입력시켜 상기 부분 데이터 내의 글자를 인식하는 단계를 포함하는 것을 특징으로 하는 글자 인식 방법.
According to claim 1,
The step of recognizing the letter is,
and recognizing characters in the partial data by further inputting output data output from the character detection model to the character recognition model.
제1항에 있어서,
상기 입력 데이터는,
원본 이미지에 대응하여 특징 추출 모델로부터 출력된 특징 맵을 포함하는 것을 특징으로 하는 글자 인식 방법.
According to claim 1,
The input data is
Character recognition method comprising a feature map output from the feature extraction model in correspondence 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
a memory for storing at least one instruction;
The processor according to the at least one instruction,
Input the input data to the character detection model,
obtaining position information of a word region in the input data based on the output data output from the character detection model;
extracting partial data corresponding to the obtained location information from the input data,
Input the partial data to a character recognition model to recognize the characters in the partial data,
and the output data includes at least one of a first score map indicating a probability that a character exists in the input data and a second score map indicating a connection between characters in the input data.
글자 인식 장치에 의한 입력 데이터 내 글자를 인식하는 방법에 있어서,
입력 데이터를 글자 검출 모델에 입력하는 단계;
상기 글자 검출 모델에서 출력되는 출력 데이터에 기초하여 상기 입력 데이터 내 단어 영역의 위치 정보를 획득하는 단계;
상기 획득한 위치 정보에 대응하는 부분 데이터를 상기 입력 데이터로부터 추출하는 단계;
상기 부분 데이터를 글자 인식 모델에 입력하여 상기 부분 데이터 내의 글자를 인식하는 단계; 및
상기 부분 데이터에서 인식된 글자 그룹에 소정의 기호가 포함되어 있는 경우, 해당 글자 그룹을 소정 종류의 정보로 결정하는 단계를 포함하는 것을 특징으로 하는 글자 인식 방법.
A method for recognizing characters in input data by a character recognition device, the method comprising:
inputting the input data into the character detection model;
obtaining position information of a word region 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;
inputting the partial data into a character recognition model to recognize characters in the partial data; and
and determining the character group as a predetermined type of information when a predetermined symbol is included in the character group recognized from the partial data.
KR1020210006280A 2019-02-25 2021-01-15 Apparatus and method for recognizing character KR102351578B1 (en)

Priority Applications (1)

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

Applications Claiming Priority (2)

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

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
KR20210010602A KR20210010602A (en) 2021-01-27
KR102351578B1 true KR102351578B1 (en) 2022-01-14

Family

ID=79343131

Family Applications (1)

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

Country Status (1)

Country Link
KR (1) KR102351578B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102559849B1 (en) * 2021-10-06 2023-07-26 건국대학교 산학협력단 Malicious comment filter device and method
KR20230171769A (en) * 2022-06-14 2023-12-21 서강대학교산학협력단 Shop sign detection system using a neural network and method thereof

Citations (2)

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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101824600B1 (en) * 2015-09-08 2018-03-14 에스케이플래닛 주식회사 A system and method credit card number and expiration date recognition using a terminal device

Patent Citations (2)

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

Also Published As

Publication number Publication date
KR20210010602A (en) 2021-01-27

Similar Documents

Publication Publication Date Title
US11443559B2 (en) Facial liveness detection with a mobile device
US9171204B2 (en) Method of perspective correction for devanagari text
US9262699B2 (en) Method of handling complex variants of words through prefix-tree based decoding for Devanagiri OCR
US9053361B2 (en) Identifying regions of text to merge in a natural image or video frame
US8744196B2 (en) Automatic recognition of images
CN104217203B (en) Complex background card face information identifying method and system
JP7297910B2 (en) Character recognition device and character recognition method by character recognition device
KR101769918B1 (en) Recognition device based deep learning for extracting text from images
KR102351578B1 (en) Apparatus and method for recognizing character
KR102211763B1 (en) Apparatus, method and system for detecting character
Zhao et al. DetectGAN: GAN-based text detector for camera-captured document images
CN110351094B (en) Character verification method, device, computer equipment and storage medium
Dat et al. An improved CRNN for Vietnamese Identity Card Information Recognition.
CN116052189A (en) Text recognition method, system and storage medium
US9111142B2 (en) Method and apparatus for providing sign information
US20230036812A1 (en) Text Line Detection
CN114299509A (en) Method, device, equipment and medium for acquiring information
Ou et al. ERCS: An efficient and robust card recognition system for camera-based image
Li et al. A platform for creating Smartphone apps to enhance Chinese learning using augmented reality
Thilagavathy et al. Scene text extraction from videos using hybrid approach
Germano Scene text detection and recognition
CN117079301A (en) Certificate text detection method and system
CN117218673A (en) Bill identification method and device, computer readable storage medium and electronic equipment
CN114898351A (en) Text recognition method and device, electronic equipment and computer storage medium
CN111242932A (en) Card style checking method and device

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant