KR102222640B1 - 기호 인식 장치 및 방법 - Google Patents

기호 인식 장치 및 방법 Download PDF

Info

Publication number
KR102222640B1
KR102222640B1 KR1020190129653A KR20190129653A KR102222640B1 KR 102222640 B1 KR102222640 B1 KR 102222640B1 KR 1020190129653 A KR1020190129653 A KR 1020190129653A KR 20190129653 A KR20190129653 A KR 20190129653A KR 102222640 B1 KR102222640 B1 KR 102222640B1
Authority
KR
South Korea
Prior art keywords
learning
basic data
data
noise
symbol
Prior art date
Application number
KR1020190129653A
Other languages
English (en)
Other versions
KR20200140676A (ko
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 고려대학교 산학협력단
Publication of KR20200140676A publication Critical patent/KR20200140676A/ko
Application granted granted Critical
Publication of KR102222640B1 publication Critical patent/KR102222640B1/ko

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/19Recognition using electronic means
    • G06V30/192Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
    • G06V30/194References adjustable by an adaptive method, e.g. learning
    • G06K9/3258
    • G06K9/00402
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/16Image preprocessing
    • 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/18Extraction of features or characteristics of the image
    • G06V30/1801Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
    • G06V30/18019Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by matching or filtering
    • G06V30/18038Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters
    • G06V30/18048Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters with interaction between the responses of different filters, e.g. cortical complex cells
    • G06V30/18057Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • G06K2209/01

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Analysis (AREA)

Abstract

기호 인식 장치 및 방법에 관한 것으로, 기호 인식 장치는 적어도 하나의 기호를 포함하는 기본 데이터를 생성하는 기본 데이터 생성부 및 상기 기본 데이터에 대한 학습을 수행하여 학습 결과를 획득하고, 상기 학습 결과를 이용하여 실제 데이터에 대한 학습을 수행하는 학습 처리부를 포함할 수 있다.

Description

기호 인식 장치 및 방법{APPARATUS FOR RECOGNITION OF CHARACTER AND METHOD OF THE SAME}
본 발명은 기호 인식 장치 및 방법에 관한 것이다.
광학식 문자 인식(Optical Character Recognition, OCR) 기술은 촬영이나 스캐닝을 통해 획득된 화상(영상 등으로 표현 가능함) 등으로부터 화상 내에 포함된 문자를 검출 및 판독하여 이에 대응하는 텍스트를 출력할 수 있는 기술을 의미한다.
대한민국 공개특허 제2019-0045650호 (2019.05.03. 공개) 대한민국 공개특허 제2019-0007468호 (2019.01.22. 공개)
본 발명은 학습을 위한 데이터와 레이블(label)이 충분하지 않은 상태에서도 우수한 성능으로 기호를 인식 및 식별할 수 있는 기호 인식 장치 및 방법을 제공하는 것을 해결하고자 하는 과제로 한다.
상술한 과제를 해결하기 위하여 기호 인식 장치 및 방법이 제공된다.
기호 인식 장치는 적어도 하나의 기호를 포함하는 기본 데이터를 생성하는 기본 데이터 생성부 및 상기 기본 데이터에 대한 학습을 수행하여 학습 결과를 획득하고, 상기 학습 결과를 이용하여 실제 데이터에 대한 학습을 수행하는 학습 처리부를 포함할 수 있다.
기호 인식 방법은 적어도 하나의 기호를 포함하는 기본 데이터를 생성하는 단계, 상기 기본 데이터에 대한 학습을 수행하여 학습 결과를 획득하는 단계 및 상기 학습 결과를 이용하여 실제 데이터에 대한 학습을 수행하는 단계를 포함할 수 있다.
상술한 기호 인식 장치 및 방법에 의하면, 학습을 위한 데이터와 레이블이 충분하지 않은 상태에서도 우수한 성능으로 기호를 인식 및 식별할 수 있게 되는 효과를 얻을 수 있다.
또한, 화상 데이터로부터 기호(예를 들어, 문자 등) 등을 정확하게 추출할 수 있게 되며, 또한 복잡한 배경이 존재하거나 및/또는 서식이 부재하거나 일정하지 않은 화상 데이터로부터도 기호 등을 정확하게 인식 및 추출할 수 있게 되는 효과도 얻을 수 있다.
또한, 문자가 일직선 형태를 갖는 경우뿐만 아니라 경사져 기울어지거나 휘어진 경우에서도 우수한 인식률로 문자를 인식할 수 있게 되는 효과도 얻을 수 있다.
또한, 각각의 음소마다 대응하는 예측 확률을 획득할 수 있으므로, 다른 기호를 포함하도록 하거나 또는 배제하도록 할 수 있는 효과를 얻을 수 있다.
또한, 타 인식 모델에 용이하게 조합될 수 있으며, 또한 다양한 데이터 집단에 대해 용이하면서도 적절하게 적용 가능하다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 기호 인식 장치의 일 실시예에 대한 제어 블록도이다.
도 2는 기본 데이터의 일례를 도시한 도면이다.
도 3은 노이즈 부가 데이터의 일례를 도시한 도면이다.
도 4는 학습 처리부의 일 실시예에 대한 제어 블록도이다.
도 5는 결과 획득부의 동작의 일례를 설명하기 위한 도면이다.
도 6는 학습 처리부의 동작의 일례를 설명하기 위한 도면이다.
도 7은 기호 인식 방법의 일 실시예에 대한 흐름도이다.
이하 명세서 전체에서 동일 참조 부호는 특별한 사정이 없는 한 동일 구성요소를 지칭한다. 이하에서 사용되는 '부'가 부가된 용어는, 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예에 따라 하나의 '부'가 하나의 소프트웨어 또는 하드웨어로 구현되거나, 복수의 '부'가 하나의 소프트웨어 또는 하드웨어로 구현되거나, 하나의 '부'가 복수의 소프트웨어 및/또는 복수의 하드웨어로 구현되는 것도 가능하다.
명세서 전체에서 어떤 부분이 다른 부분과 '연결'되어 있다고 할 때, 이는 어떤 부분과 다른 부분에 따라서 물리적 연결을 의미할 수도 있고, 또는 전기적으로 연결된 것을 의미할 수도 있다. 또한, 어떤 부분이 다른 부분을 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 부분 이외의 또 다른 부분을 제외하는 것이 아니며, 설계자의 선택에 따라서 또 다른 부분을 더 포함할 수 있음을 의미한다.
'제1' 이나 '제2' 등의 용어는 하나의 부분을 다른 부분으로부터 구별하기 위해 사용되는 것으로, 특별한 기재가 없는 이상 이들이 순차적인 표현을 의미하는 것은 아니다. 또한 단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함할 수 있다.
이하 도 1 내지 도 6을 참조하여 의 여러 실시예에 대해서 설명하도록 한다.
도 1은 기호 인식 장치의 일 실시예에 대한 제어 블록도이다.
도 1의 기호 인식 장치(100)는 적어도 하나의 기호 또는 이들의 조합을 인식할 수 있는 장치를 의미한다. 여기서, 기호는, 문자(예를 들어, 한글, 라틴문자, 그리스문자, 아랍문자, 한자, 가타가나 및/또는 히라가나 등과 같이 언어 또는 사상을 표현하기 위한 다양한 기호 등), 숫자, 원문자, 수학식 기호, 통화 기호 및/또는 사각형이나 원 등의 도형 기호 등을 포함할 수 있으며, 필요에 따라 공백(blank)을 더 포함할 수 있다. 그러나, 이들은 예시적인 것으로, 기호는 이들 외에도 통상 온라인 또는 오프라인에서 이용 가능한 적어도 하나의 기호(들)를 포함할 수 있다.
기호 인식 장치(100)는 각종 연산 처리 및 신호 생성이 가능한 적어도 하나의 전자 장치를 포함할 수 있다. 여기서, 적어도 하나의 전자 장치는 프로세서 및/또는 프로세서가 설치된 컴퓨팅 장치를 포함할 수 있다. 여기서, 프로세서는, 예를 들어, 중앙 처리 장치(CPU, Central Processing Unit), 마이크로 컨트롤러 유닛(MCU, Micro Controller Unit), 마이컴(Micom, Micro Processor), 애플리케이션 프로세서(AP, Application Processor), 전자 제어 유닛(ECU, Electronic Controlling Unit), 그래픽 처리 장치(GPU, Graphic Processing Unit) 및/또는 각종 연산 처리 및 제어 신호의 생성이 가능한 처리 장치 등을 포함할 수 있다. 이들 처리 장치는 예를 들어 하나 또는 둘 이상의 반도체 칩 및 관련 부품을 이용하여 구현될 수 있다. 또한, 컴퓨팅 장치는, 예를 들어, 데스크톱 컴퓨터, 랩톱 컴퓨터, 서버용 컴퓨터, 스마트 폰, 태블릿 피씨, 스마트 시계, 두부 장착형 디스플레이(HMD, Head Mounted Display) 장치, 휴대용 게임기, 내비게이션 장치, 개인용 디지털 보조기(PDA, Personal Digital Assistant), 인공지능 스피커 장치, 디지털 텔레비전, 셋톱 박스, 로봇, 가전 기기, 기계 장치 및/또는 이외 정보 처리 기능을 수행할 수 있는 적어도 하나의 전자 장치를 포함할 수 있다.
기호 인식 장치(100)는 도 1에 도시된 바와 같이 저장부(190)와 데이터 송수신이 가능하도록 직접 또는 간접적으로 연결되어 있을 수 있다. 저장부(190)는 전처리부(110)에서 생성된 기본 데이터나 노이즈 부가 데이터, 입력부(101)를 통해 입력된 실제 데이터(102), 학습 처리부(120)에서 생성된 적어도 하나의 학습 결과, 실제 데이터(102)에 대한 분석 결과(108) 및/또는 이외 기호 인식 장치(100)의 제어, 연산 또는 처리 과정에서 생성된 적어도 하나의 데이터를 일시적으로 또는 비일시적으로 저장할 수 있다. 저장부(190)는 주기억장치 및 보조기억장치 중 적어도 하나를 포함할 수 있으며, 주기억장치는 롬(ROM) 및/또는 램(RAM) 등을 포함할 수 있고, 보조기억장치는 플래시 메모리 장치, SD(Secure Digital) 카드, 솔리드 스테이트 드라이브(SSD, Solid State Drive), 하드 디스크 드라이브(HDD, Hard Disc Drive) 컴팩트 디스크(CD), 디브이디(DVD) 및/또는 레이저 디스크 등을 포함할 수 있다.
기호 인식 장치(100)는 저장부(190)에 저장된 애플리케이션을 구동시켜, 기본 데이터 생성, 기본 데이터에 대한 노이즈 부가, 학습 처리, 결과 생성 또는 결과 출력 등 다양한 동작을 수행할 수도 있다. 여기서, 애플리케이션은, 설계자에 의해 직접 작성되어 저장부(190)에 저장 또는 갱신된 것일 수도 있고, 또는 유선 또는 무선 통신 네트워크를 통해 접속 가능한 전자 소프트웨어 유통망 등을 통하여 획득 또는 갱신된 것일 수도 있다.
일 실시예에 의하면, 기호 인식 장치(100)는 전처리부(110) 및 학습 처리부(120)를 포함할 수 있다.
전처리부(110)는 학습 처리부(120)에 입력될 데이터를 생성하거나 변형한 후 생성 또는 변형된 데이터를 학습 처리부(120)로 전달함으로써, 학습 처리부(120)가 생성 또는 변형된 데이터를 이용하여 학습 알고리즘을 수행하도록 할 수 있다. 구체적으로 전처리부(110)는 기본 데이터(112)를 생성하기 위한 기본 데이터 생성부(111)를 포함할 수 있으며, 필요에 따라 기본 데이터(112)에 노이즈가 부가된 데이터(114, 이하 노이즈 부가 데이터)를 생성하기 위한 노이즈 부가부(113)를 더 포함할 수 있다.
도 2는 기본 데이터의 일례를 도시한 도면이다.
기본 데이터(112)는 대체적으로 기호만이 식별 및 도출 가능하거나 또는 기호를 명백하게 식별 및 도출할 수 있는 데이터를 의미한다. 일 실시예에 따르면, 기본 데이터(112)는 화상 데이터의 형식을 가질 수도 있으나, 반드시 이에 한정되는 것은 아니다. 기본 데이터는, 예를 들어, 기호를 포함하되, 기호 이외의 주변 배경은 부재하거나 또는 일정한 색상(예를 들어, 백색)만으로 이루어진 화상 데이터일 수 있다. 다시 말해서, 기본 데이터(112)는, 도 2에 도시된 바와 같이, 기호의 분석에 방해가 되는 배경은 부재하거나 또는 특정한 색상으로 처리되고, 아울러 기호에 중첩된 다른 선분이나 도형(예를 들어, 사선이나 밑줄 등) 등은 부재한 데이터일 수 있다.
기본 데이터(112)에 포함된 기호는 한 종류의 문자나 숫자 등으로 이루어진 것일 수도 있고, 또는 두 종류 이상의 문자나 숫자 등이 조합되어 이루어진 것일 수도 있다. 예를 들어, 기호는 한글, 라틴문자(일례로 영문자) 또는 숫자만으로 이루어진 것일 수도 있고, 한글, 라틴문자 및 숫자 중 적어도 둘의 조합으로 이루어진 것 수도 있다. 물론, 기호는 이들 외에도 그리스문자, 아랍문자, 한자, 가타가나 및 히라가나 중 적어도 하나가 단독으로 또는 다른 기호와 조합되어 이루어진 것일 수도 있다. 또한, 기호는 이들 사이에 공백을 포함할 수도 있다. 기본 데이터(112)의 기호는 소정의 글자체로 설정된 것일 수도 있다. 이 경우, 소정의 글자체는 적어도 하나의 글자체 중에서 선택되어 설정된 것일 수 있으며, 실시예에 따라, 설계자나 사용자에 의해 선택된 것을 수도 있고, 또는 기본 데이터 생성부(111)에 의해 적어도 하나의 글자체 중에서 무작위로 또는 미리 정의된 패턴에 따라 선택된 것일 수도 있다.
기본 데이터 생성부(111)는 기본 데이터(112)를 미리 정의된 방법을 통해 생성할 수 있으며, 예를 들어 무작위로 기호를 결정함으로써 기본 데이터(112)를 생성할 수도 있다. 보다 구체적으로 예를 들어, 기본 데이터 생성부(111)는 기호 생성을 위한 난수를 생성하고 난수를 미리 정의된 값과 비교한 후 비교 결과에 따라서 특정 기호로 조합된 기본 데이터(112)를 생성할 수도 있다. 이 경우, 기본 데이터 생성부(111)는 하나의 난수만으로 기본 데이터(112)를 생성할 수도 있고, 복수의 난수(이하 제1 난수 및 제2 난수)를 이용하여 기본 데이터(112)를 생성할 수도 있다.
보다 구체적으로 예를 들어, 기본 데이터 생성부(111)는 제1 난수가 미리 정의된 제1 비교 값(일례로 0.4)보다 작을 경우, 오직 한글로만 이루어진 기본 데이터(112, 예를 들어, 한글 텍스트 데이터)를 생성하도록 설계된 것일 수 있다. 이 경우, 기본 데이터 생성부(111)는 제1 난수의 크기에 따라 서로 상이한 길이의 텍스트를 생성함으로써 기본 데이터(112)를 생성하는 것도 가능하다. 또한, 기본 데이터 생성부(111)는 예를 들어, 한글 사전에서 무작위로 추출된 적어도 하나의 단어의 첫 음절을 반복하거나 반복없이 연결함으로써 한글로만 이루어진 기본 데이터(112)를 생성하도록 설계될 수도 있다. 또한, 만약 제1 난수가 제1 비교 값(예를 들어, 0.4)보다 크고 제2 비교 값(예를 들어, 0.6)보다 작을 경우, 기본 데이터 생성부(111)는 한글 및 영문자가 혼합된 기본 데이터(112)를 생성할 수도 있다. 즉, 혼합 텍스트가 생성될 수도 있다. 이 경우, 기본 데이터 생성부(111)는 제1 난수의 크기에 대응하여 한글 및 영문자 각각의 개수나 한글 및 영문자의 조합 방법 등을 결정할 수 있다. 예를 들어, 기본 데이터 생성부(111)는, 제1 난수의 크기에 따라, 2개의 한글 문자 및 6 내지 9개의 영문자의 순차적 조합, 6 내지 9개의 영문자 및 2개의 한글 문자의 순차적 조합, 1개의 한글 문자, 6 내지 9개의 영문자 및 1개의 한글 문자의 조합 및 3 내지 4개의 영문자, 2개의 한글 문자 및 3 내지 4개의 영문자의 조합으로 기본 데이터(112)를 생성할 수도 있다. 만약 제1 난수가 제2 비교 값(예를 들어, 0.6)보다 크고 제3 비교 값(0.8)보다 작은 경우, 기본 데이터 생성부(111)는 오직 영문자로만 이루어진 기본 데이터(112, 일례로 영문 텍스트)를 생성할 수도 있다. 이 경우, 기본 데이터 생성부(111)는 상술한 바와 동일하게 제1 난수의 크기에 따라 무작위로 영어 사전에서 선택된 적어도 하나의 단어의 첫 번째 음절을 연결하여 기본 데이터(112)를 생성할 수도 있다. 만약 제1 난수가 제3 비교 값(0.8)보다 클 경우, 기본 데이터 생성부(111)는 숫자로만 이루어진 기본 데이터(112)를 생성하도록 설계될 수도 있다.
또한, 기본 데이터 생성부(111)는 제2 난수를 미리 정의된 제4 비교 값(0.2)과 비교하고 제2 난수가 제4 비교 값보다 작을 경우 소정의 문자를 숫자로 치환하여 기본 데이터(112)를 생성할 수도 있으며, 예를 들어, 1음절의 문자를 3개 이하의 숫자로 변경하여 기본 데이터(112)를 생성할 수도 있다.
필요에 따라, 기본 데이터 생성부(111)는 기본 데이터(112)를 생성하는 과정에서 적어도 하나의 기호의 처음 부분, 마지막 부분 및/또는 적어도 두 개의 기호들 사이에 1 내지 3개의 공백을 기본 데이터(112)에 더 추가할 수도 있다.
기본 데이터 생성부(111)는 이와 같이 생성한 기본 데이터(112)를 학습 처리부(120)로 전달할 수도 있고 및/또는 노이즈 부가부(113)로 전달할 수도 있다.
도 3은 노이즈 부가 데이터의 일례를 도시한 도면이다.
노이즈 부가부(113)는 기본 데이터(112)에 노이즈를 부가함으로써 노이즈 부가 데이터(114)를 생성할 수 있다.
예를 들어, 노이즈 부가부(113)는 도 3에 도시된 바와 같이, 배경에 흰색 이외의 적어도 하나의 다른 색상(예를 들어, 회색이나 흑색 등)을 추가하거나, 배경의 색상을 적어도 하나의 다른 색으로 치환하거나, 기본 데이터(112)에 속한 적어도 하나의 기호 주변에 도형을 부가하거나, 적어도 하나의 기호에 대해 원, 타원, 삼각형 및/또는 사각형 등의 도형을 중첩하여 부가하거나, 기호 및 배경의 색을 서로 반전시키거나 및/또는 임의의 위치에 기호와 중첩되거나 또는 기호와 중첩되지 않는 선분(사선, 평행선 및/또는 수직선 등)을 추가하는 것 등과 같이 다양한 방법을 통해 기호에 노이즈를 부가함으로써 기본 데이터(112)와 일부 상이한 노이즈 부가 데이터(114)를 생성할 수 있다. 또한, 노이즈 부가부(113)는 적어도 하나의 기호의 색상을 변경하거나, 기호를 적어도 하나의 각도로 기울이거나, 기호를 2차원 평면 상에서 또는 3차원 입체 공간 상에서 회전시키거나, 기호를 특정한 방향(x축 또는 y축)으로 이동시키거나, 볼드(bold), 이탤릭(italic) 및/또는 블러(blur) 등과 같은 효과를 부가하거나, 및/또는 적어도 하나의 기호의 글자체를 다른 기호와 상이하게 변경함으로써 기호에 노이즈를 부가하는 것도 가능하다. 실시예에 따라서, 노이즈 부가부(113)는 기본 데이터(112)에 속한 모든 기호에 대해 노이즈를 부가할 수도 있고, 또는 모든 기호 중 일부에만 노이즈를 부가할 수도 있다. 이외에도 노이즈 부가부(113)는 다양한 방법으로 기호 또는 배경 등에 노이즈를 부가하여 노이즈 부가 데이터(114)를 생성할 수 있다.
노이즈 부가부(113)는 노이즈 부가 데이터(114)를 학습 처리부(120)로 전달할 수 있다.
학습 처리부(120)는, 입력된 데이터(102, 112, 114) 중 적어도 하나를 이용하여 학습을 수행함으로써, 분석 결과(108)를 획득할 수 있다. 여기서, 분석 결과(108)는 실제 데이터(102)에 대응하는 결과일 수 있다. 예를 들어, 학습 처리부(120)는 기본 데이터 생성부(111)로부터 기본 데이터(112)를 수신하거나, 노이즈 부가부(113)로부터 노이즈 부가 데이터(114)를 수신하거나, 입력부(101)로부터 실제 데이터(102)를 수신하고, 기본 데이터(112), 노이즈 부가 데이터(114) 및 실제 데이터(102) 중 적어도 하나를 이용하여, 실제 데이터(102)에 대응하는 분석 결과(108)를 획득할 수 있다. 획득된 분석 결과(108)는 출력부(109)로 전달될 수도 있다. 여기서, 실제 데이터(102)는 인식 대상이 되는 기호를 포함하는 데이터를 의미하며, 예를 들어, 기호가 표현된 화상 데이터(정지 화상 데이터 또는 동화상 데이터)를 포함할 수 있다. 학습 처리부(120)에 대한 상세한 설명은 후술하도록 한다.
입력부(101)는 실제 데이터(102)를 수신하고 이를 학습 처리부(120)로 전달할 수 있다. 여기서, 실제 데이터(102)는 실제로 인식의 대상이 되는 기호를 포함하는 데이터로, 예를 들어 촬영 모듈(카메라 모듈 등)에 의해 촬영되거나 스캐너 등에 의해 스캔된 문서, 서적, 간판, 표지판, 지도, 도면, 용기 및/또는 이외 기호가 형성된 적어도 하나의 물품 등이 나타나 있는 화상 데이터를 포함 가능하다. 입력부(101)는 예를 들어, 화상의 촬영을 수행하는 촬영 모듈, 영상 데이터 등을 수신 가능한 통신 모듈, 데이터 송수신 단자(예를 들어, 범용 직렬 버스(USB: Universal Serial Bus) 단자나 썬더볼트 단자 등), 스캐너 장치, 키보드 장치, 마우스 장치 및/또는 이외 실제 데이터(102)를 입력받을 수 있는 다양한 장치를 포함할 수 있다. 실시예에 따라, 학습 처리부(120)는 저장부(190)로부터 실제 데이터(102)를 수신하는 것도 가능하다.
출력부(109)는 학습 처리부(120)의 분석 결과, 즉 실제 데이터(102)에 포함된 기호에 대한 인식 결과를 외부로 출력할 수 있다. 출력부(109)는, 예를 들어, 모니터 장치나 단말기에 장착된 디스플레이, 사운드 출력 장치 및/또는 프린터 장치 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
도 4는 학습 처리부의 일 실시예에 대한 제어블록도이다.
도 4에 도시된 바를 참조하면, 학습 처리부(120)는 일 실시예에 있어서, 특징 추출부(121) 및 결과 획득부(123)를 포함할 수 있다.
특징 추출부(121)는 기본 데이터 생성부(111)에서 전달된 기본 데이터(112), 노이즈 부가부(113)에서 전달된 노이즈 부가 데이터(114) 및 입력부(101)에서 전달된 실제 데이터(102) 중 적어도 하나로부터 적어도 하나의 특징(feature, 도 5의 10)을 추출하고 추출한 특징(10)을 결과 획득부(123)로 전달할 수 있다. 예를 들어, 기본 데이터(112), 노이즈 부가 데이터(114) 및/또는 실제 데이터(102)가 화상 데이터인 경우, 특징 추출부(121)는, 화상으로 표현되는 적어도 하나의 기호로부터, 적어도 하나의 기호를 식별하기 위한 1차원 벡터 형태의 특징(10)을 하나 또는 둘 이상 추출할 수 있다.
일 실시예에 의하면, 특징 추출부(121)는 특징(10)을 추출하기 위해 적어도 하나의 학습 알고리즘을 이용할 수도 있다. 이 경우, 학습 알고리즘은, 예를 들어, 심층 신경망(DNN, Deep Neural Network), 콘볼루션 신경망(CNN, Convolutional Neural Network), 순환 신경망(RNN, Recurrent Neural Network), 콘볼루션 순환 신경망(CRNN, Convolutional Recurrent Neural Network) 및 다층 퍼셉트론(MLN, Multilayer Perceptron) 중 적어도 하나를 포함할 수 있다. 특징 추출부(121)는, 실시예에 따라 하나의 학습 알고리즘을 이용하여 적어도 하나의 특징(10)을 추출 및 획득할 수도 있고, 또는 복수의 학습 알고리즘을 순차적으로 또는 조합하여 이용하여 적어도 하나의 특징을 추출 및 획득할 수도 있다.
특징 추출부(121)는, 실시예에 따라서, 기본 데이터(112), 노이즈 부가 데이터(114) 및 실제 데이터(102) 각각으로부터 순차적으로 특징을 추출한 후 추출한 특징을 결과 획득부(123)로 넘겨주는 것도 가능하다.
도 5는 결과 획득부의 동작의 일례를 설명하기 위한 도면이다.
결과 획득부(123)는 특징 추출부(121)로부터 기본 데이터(112), 노이즈 부가 데이터(114) 및 실제 데이터(102) 중 적어도 하나로부터 추출된 특징을 수신하고, 특징을 기반으로 적어도 일 회 학습을 수행함으로써 추출된 특징에 대응하는 분석 결과를 획득할 수 있다. 이 경우, 분석 결과는 각 데이터(102, 112, 114)에 포함된 적어도 하나의 기호에 대한 인식 결과를 포함한다. 일 실시예에 의하면, 결과 획득부(123)는, 도 4에 도시된 바와 같이, 제1 학습부(125), 가중치 부가부(126) 및 제2 학습부(127)를 포함할 수 있다.
제1 학습부(125)는 특징 추출부(121)가 추출한 특징을 기반으로 학습을 수행하여 제1 학습에 대응하는 결과(제1 학습 결과)를 획득할 수 있다. 도 5에 도시된 바를 참조하면, 제1 학습부(125)는 특징 추출부(121)에 의해 추출된 특징(10)을 입력 값으로 하여 학습 알고리즘(12-1 내지 12-n, n은 1 이상의 정수)을 수행함으로써, 입력 값에 대응하는 제1 학습 결과를 획득할 수 있다. 제1 학습부(125)는 다수의 또는 다 회의 학습 알고리즘(12-1 내지 12-n)을 수행할 수도 있다. 다수의 또는 다 회의 학습 알고리즘(12-1 내지 12-n)은 순차적으로 수행될 수도 있고 또는 동시에 수행될 수도 있다. 보다 구체적으로 예를 들어, 제1 학습부(125)에는 특징 추출부(121)에 의해 추출된 특징(10)이 복수 회수로 동일하게 입력될 수도 있고, 및/또는 특징(10)을 복제하여 획득된 다수의 특징(10-1 내지 10-n)이 순차적으로 또는 동시에 입력될 수도 있다. 제1 학습부(125)는 복수 회수로 입력된 특징(들)(10) 또는 복제된 다수의 특징(들)(10-1 내지 10-n) 각각을 소정의 학습 알고리즘(12-1 내지 12-n)에 입력하여 학습시킴으로써, 복수 회수로 입력된 특징(들) 또는 복제된 다수의 특징(10-1 내지 10-n) 각각에 대응하는 제1 학습 결과를 획득 및 출력할 수 있다. 여기서, 특징(10)의 입력 횟수 또는 복제되는 특징(10-1 내지 10-n)의 개수는 설계자에 의해 미리 정의된 것일 수도 있고, 및/또는 사용자가 조작 등을 통해 입력한 것일 수도 있다. 예를 들어, 특징(10)의 입력 횟수 또는 복제되는 특징(10-1 내지 10-n)의 개수는 사용자가 지정한 음소의 길이와 동일하게 결정될 수도 있다. 실시예에 따라서, 제1 학습부(125)가 이용하는 학습 알고리즘(12-1 내지 12-n)은 모두 동일할 수도 있고, 모두 상이할 수도 있으며, 또는 일부는 동일하고 다른 일부는 상이할 수도 있다. 소정의 학습 알고리즘(12-1 내지 12-n)은 도 5에 도시된 바와 같이, 장 단기 메모리(LSTM, Long Short-Term Memory) 알고리즘을 포함할 수 있으며, 보다 상세하게는 양방향 장단기 메모리(Bi-LSTM, Bidirectional LSTM)을 포함할 수도 있으나, 이에 한정되는 것은 아니며, 설계자가 고려 가능한 다양한 학습 알고리즘이 제1 학습부(125)에 의해 이용될 수 있다.
제1 학습부(125)로부터 출력되는 제1 학습 결과(예를 들어, 특징(10) 또는 제1 특징 내지 제n 특징(10-1 내지 10-n) 각각에 대응하는 결과)는, 가중치 부가부(126)로 전달될 수 있다. 실시예에 따라, 제1 학습부(125)의 학습 결과, 제1 학습부(125)의 학습 알고리즘(12-1 내지 12-n) 및/또는 학습 알고리즘(12-1 내지 12-n)에서 이용된 가중치 등은 저장부(190)로 전달되어 저장부(190)에 의해 저장될 수도 있다.
가중치 부가부(126)는 제1 학습 결과에 대해 가중치를 부가하고, 가중치가 부가된 제1 학습 결과를 제2 학습부(127)로 전달할 수 있다. 가중치 부가부(126)는 미리 정의된 바에 따라 가중치를 생성한 후 생성한 가중치를 제1 학습 결과에 부가할 수도 있고, 및/또는 미리 정의되어 저장된 가중치를 제1 학습 결과에 부가할 수도 있다. 예를 들어, 가중치 부가부(126)는 특징(10) 또는 제1 특징 내지 제n 특징(10-1 내지 10-n)을 기반으로 적어도 하나의 가중치를 생성하고, 생성한 가중치를 제1 학습부(125)가 출력한 제1 학습 결과 각각에 부가할 수도 있다. 일 실시예에 의하면, 가중치는, 도 5에 도시된 바와 같이, 어텐션 가중치(14, attention weight)를 포함할 수 있다. 이 경우, 가중치 부가부(126)는 상술한 특징(10, 10-1 내지 10-n)을 기반으로 각각에 대응하는 어텐션 가중치를 획득하고, 획득한 어텐션 가중치를 복수의 학습 알고리즘(12-1 내지 12-n) 각각의 출력값에 곱함으로써 가중치가 부가된 출력 값을 획득하도록 설계된 것일 수도 있다. 실시예에 따라서, 가중치 부가부(126)가 생성한 가중치 또는 가중치 부가부(126)의 연산 결과는 저장부(190)에 일시적 또는 비일시적으로 저장될 수도 있다.
제2 학습부(127)는 가중치가 부가된 결과를 기반으로 학습을 수행하여 제2 학습 결과(예를 들어, 기호에 대한 인식 결과 또는 기호에 대한 예측 값 등)를 획득할 수 있다. 이 경우, 제2 학습부(127)는 가중치 부가부(126)의 출력 값을 입력 값으로 하여 적어도 하나의 학습 알고리즘(16-1 내지 16-n)을 수행함으로써, 기호에 대한 예측 결과(즉, 제2 학습 결과)를 획득할 수 있다. 제1 학습부(125)의 경우와 동일하게, 제2 학습부(127)는 다수의 또는 다 회의 학습 알고리즘(16-1 내지 16-n)을 순차적으로 또는 동시에 수행할 수 있다. 이 경우 제2 학습부(127)의 학습 알고리즘(16-1 내지 16-n)의 개수 또는 수행 회수는 제1 학습부(125)의 학습 알고리즘(12-1 내지 12-n)의 개수 또는 수행 회수와 동일할 수도 있고, 필요에 따라 상이할 수도 있다.
구체적으로 예를 들어, 제2 학습부(129)에는 가중치 부가부(128)의 연산 결과에 따라 획득된 가중치가 부가된 제1 학습 결과가 적어도 일 이상 동시에 또는 순차적으로 입력될 수 있으며, 각각의 가중치가 부가된 결과는 적어도 하나의 학습 알고리즘(16-1 내지 16-n)에 입력 값으로 입력될 수 있다. 제2 학습부(129)의 각각의 알고리즘(16-1 내지 16-n)은 가중치가 부가된 결과 각각에 대해 수행되고, 결과적으로 가중치가 부가된 각 결과에 대응하는 복수의 결과, 즉 제1 결과 내지 제n 결과(18-1 내지 18-n)가 획득될 수 있다. 제1 결과 내지 제n 결과(18-1 내지 18-n)는, 인식된 각 기호의 음소 또는 음절 등에 대응되는 것일 수 있다. 예를 들어, [사과]라는 문자를 갖는 실제 데이터(102)가 학습 처리부(120)에 입력된 경우, 제1 결과 내지 제n 결과(18-1 내지 18-n)는 [ㅅ], [ㅏ], [ㄱ], [ㅗ] 및 [ㅏ]를 포함할 수 있다. 실시예에 따라서, 제2 학습부(127)는 모두 동일하거나, 모두 상이하거나, 또는 일부는 동일하고 다른 일부는 상이한 학습 알고리즘(16-1 내지 16-n)을 이용할 수도 있다. 또한, 제2 학습부(129)의 학습 알고리즘(16-1 내지 16-n)은 제1 학습부(127)의 학습 알고리즘(12-1 내지 12-n)과 동일할 수도 있고, 또는 상이할 수도 있다. 예를 들어, 제2 학습부(129)의 학습 알고리즘(16-1 내지 16-n) 역시, 제1 학습부(127)의 학습 알고리즘(12-1 내지 12-n)과 동일하게, 양방향 장단기 메모리 등과 같은 장 단기 메모리 알고리즘을 포함하는 것도 가능하다. 물론 실시예에 따라서, 제2 학습부(129)는 설계자가 고려 가능한 다양한 학습 알고리즘을 이용할 수도 있다.
제2 학습부(129)의 학습 결과(18-1 내지 18-n) 및/또는 제2 학습부(129)에 의해 학습된 학습 알고리즘(16-1 내지 16-n)은 저장부(190)에 일시적 또는 비일시적으로 저장될 수도 있다.
도 6는 학습 처리부의 동작의 일례를 설명하기 위한 도면이다.
도 5 및 도 6에 도시된 바와 같이, 일 실시예에 있어서, 학습 처리부(120)에는 기본 데이터 생성부(111)가 생성한 기본 데이터(112), 노이즈 부가부(113)가 생성한 노이즈 부가 데이터(114) 및 입력부(101)를 통해 입력된 실제 데이터(102)가 순차적으로 또는 동시에 입력될 수 있다.
일 실시예에 의하면, 학습 처리부(120)는 기본 데이터(112), 노이즈 부가 데이터(114) 및 실제 데이터(102) 각각에 대해 순차적으로 상술한 바와 같이 학습을 수행할 수 있다. 예를 들어, 학습 처리부(120)는 먼저 기본 데이터(112)에 대해 학습을 먼저 수행하고(131), 기본 데이터(112)의 학습에 따라 획득된 정보, 예를 들어, 학습 결과, 학습 결과에 따른 학습 알고리즘 또는 가중치는 저장부(190)에 저장할 수 있다. 여기서 학습 알고리즘은, 제1 학습부(127)의 학습 알고리즘(12-1 내지 12-n) 및 제2 학습부(129)의 학습 알고리즘(16-1 내지 16-n) 중 적어도 하나를 포함 가능하다. 순차적으로 학습 처리부(120)는 노이즈 부가 데이터(114)에 대한 학습 처리를 수행할 수 있다(133). 이 경우, 학습 처리부(120)는 기본 데이터(112)에 대한 학습 결과, 학습 알고리즘 및 가중치 중 적어도 하나를 노이즈 부가 데이터(114)에 대한 학습에 이용할 수 있다. 노이즈 부가 데이터(114)에 대한 학습이 종료되면, 순차적으로 학습 처리부(120)는 실제 데이터(102)에 대한 학습을 수행할 수 있으며(135), 실시예에 따라서, 기본 데이터(112)의 학습 처리 결과 획득된 정보 및 노이즈 부가 데이터(114)의 학습 처리 결과 획득된 정보를 더 이용하여 실제 데이터(102)에 대해 학습을 수행할 수 있다. 이에 따라 기호 인식 장치(100)는 실제 데이터(102)에 포함된 적어도 하나의 기호를 인식할 수 있게 된다.
이와 같이 기본 데이터(112), 노이즈 부가 데이터(114) 및 실제 데이터(102)에 대해 순차적으로 학습을 수행하는 경우, 실제 데이터(102)의 적어도 하나에 대한 기호, 일례로 음소에 대한 인식되는, 실제 데이터(102)에 대해서만 학습을 수행하는 것에 비해 보다 신속하게 학습을 수행할 수 있게 되면서도 인식 결과에 대한 정확도가 보다 개선되게 된다. 특히 정형적이지 않은 형태의 기호, 예를 들어, 기울어지거나 휘어진 글자에 대해서도 상당히 좋은 인식률을 보인다.
실시예에 따라, 학습 처리부(120)는 전이학습을 통해 학습을 수행할 수 있다 예를 들어, 학습 처리부(120)는 먼저 기본 데이터(112)에 대한 학습을 먼저 수행하고(131), 기본 데이터(112)의 학습에 따라 획득된 정보, 예컨대 가중치 및/또는 학습 알고리즘은 저장부(190)에 저장될 수 있다. 순차적으로 학습 처리부(120)는 노이즈 부가 데이터(114)를 학습 데이터로 이용하는 전이 학습을 수행할 수 있다. 예컨대, 기본 데이터(112)의 학습 결과로 생성된 가중치(및/또는 알고리즘)를 이용하여 노이즈 부가 데이터(114)에 대한 전이 학습이 수행될 수 있다. 노이즈 부가 데이터(114)에 대한 학습이 종료되면, 순차적으로 실제 데이터(102)를 학습 데이터로 이용하는 전이 학습을 수행할 수 있다. 예컨대, 노이즈 부가 데이터(114)의 학습 결과로 생성된 가중치(및/또는 알고리즘)를 이용하여 실제 데이터(102)에 대한 전이 학습이 수행될 수 있다.
이하 도 7을 참조하여 기호 인식 방법의 여러 실시예에 대해서 설명하도록 한다.
도 7은 기호 인식 방법의 일 실시예에 대한 흐름도이다.
도 7에 도시된 바에 의하면, 먼저 기본 데이터가 생성될 수 있다(200). 기본 데이터는 주로 기호를 명백하게 식별할 수 있거나 또는 기호만이 도출될 수 있는 데이터(일례로 화상 데이터)를 포함할 수 있으며, 예를 들어, 기호 이외의 주변 배경은 부재하거나 또는 단색으로 설정된 데이터일 수 있다. 기본 데이터의 생성은, 실시예에 따라 다양한 방법 중 선택된 적어도 하나의 방법을 기반으로 수행될 수 있다. 예를 들어, 기본 데이터의 생성은, 난수를 생성하고, 생성된 난수와 기정의된 비교 값과의 비교 결과에 따라서 대응하는 적어도 하나의 기호(들)를 결정함으로써 기본 데이터를 생성하는 과정을 포함할 수 있다. 보다 구체적으로 예를 들어, 난수와 비교 값 사이의 비교 결과에 따라서, 한글 문자만을 포함하는 기본 데이터가 생성될 수도 있고, 영문자만을 포함하는 기본 데이터가 생성될 수도 있으며, 숫자만을 포함하는 기본 데이터가 생성될 수도 있고 및/또는 한글 문자, 영문자, 숫자 및 이들 중 적어도 둘이 미리 정의된 바에 따라 조합되어 형성된 적어도 하나의 기호를 포함하는 기본 데이터가 생성될 수도 있다. 또한, 실시예에 따라서, 기본 데이터는 또 다른 난수와 미리 정의된 또 다른 비교 값과의 비교 결과에 따라서 기본 데이터 내의 적어도 하나의 문자가 적어도 하나의 숫자로 치환되어 생성될 수도 있다. 뿐만 아니라, 기본 데이터의 생성은, 공백은 적어도 하나의 기호(들) 사이나, 이들 기호의 처음 또는 마지막에 부가하는 과정을 더 포함하는 것도 가능하다.
순차적으로 생성된 기본 데이터로부터 적어도 하나의 특징이 추출될 수 있다(202). 특징의 추출은 적어도 하나의 학습 알고리즘을 이용하여 수행 가능하다. 이 경우, 적어도 하나의 학습 알고리즘은, 심층 신경망, 콘볼루션 신경망, 순환 신경망, 콘볼루션 순환 신경망 및 다층 퍼셉트론 중 적어도 하나를 포함할 수 있다.
이어서 추출된 특징에 대한 학습이 수행될 수 있다(204).
이 경우, 추출된 특징을 다수의 특징(제1 내지 제n 특징)으로 복제한 후, 복제된 각각의 제1 내지 제n 특징을 학습 알고리즘에 입력하여 제1 학습을 수행할 수도 있다. 또한, 특징을 복수 회수로 학습 알고리즘에 입력함으로써 학습을 수행하는 것도 가능하다. 이 경우, 복제된 특징의 개수 또는 학습 알고리즘에 입력된 회수는 사용자가 지정한 음소의 길이와 동일할 수도 있고, 또는 상이할 수도 있다. 학습 알고리즘은, 양 방향 장 단기 메모리 등과 같은 장 단기 메모리를 포함할 수 있다.
제1 학습에 따라 획득된 적어도 하나의 결과에 대해, 각각 동일하거나 또는 상이한 가중치가 부가될 수 있다. 여기서, 가중치는, 일 실시예에 의하면, 어텐션 가중치를 포함할 수 있다. 어텐션 가중치는, 특징을 기반으로 획득된 것일 수도 있고, 또는 특징으로부터 복제된 적어도 하나의 제1 내지 제n 특징을 기반으로 획득된 것일 수도 있다.
순차적으로 가중치가 부가된 결과 각각에 대해 제2 학습이 수행될 수 있다. 제2 학습 역시 소정의 학습 알고리즘에 가중치가 부가된 결과를 각각 입력함으로써 수행될 수 있다. 여기서 학습 알고리즘은 제1 학습에서 이용된 알고리즘과 동일할 수도 있고 또는 상이할 수도 있다. 예를 들어, 제2 학습에서 이용되는 알고리즘은 장 단기 메모리를 포함할 수 있으며, 구체적으로는 양 방향 장 단기 메모리를 포함할 수도 있다.
학습 수행에 따라 획득된 여러 데이터, 일례로 학습 결과, 학습된 학습 알고리즘 및/또는 이에 대응하는 가중치 등은 노이즈 부가 데이터의 학습 수행(214)에 이용될 수 있다. 이를 위해 학습 수행에 따라 획득된 데이터는 저장부(190)에 일시적 또는 비일시적으로 저장될 수도 있다.
기본 데이터가 생성된 이후, 기본 데이터에 대한 노이즈 부가 데이터가 생성될 수도 있다(210). 노이즈 부가 데이터는 기본 데이터에 노이즈를 부가함으로서 생성될 수 있다. 예를 들어, 노이즈 부가 데이터는 기본 데이터의 배경에 다른 색을 추가하거나, 배경의 색상을 적어도 하나의 다른 색으로 치환하거나, 적어도 하나의 기호 주변이나 기호에 중첩하여 원이나 사각형 등의 도형을 부가하거나, 기호 및 배경의 색을 반전시키거나, 기호에 중첩하여 선분 등을 추가하거나, 선분을 기호와 중첩되지 않는 일 위치에 추가하거나, 기호의 색상을 변경하거나, 기호에 효과를 부가하거나, 기호를 이동 또는 회전시키거나, 및/또는 글자체를 변경하는 것 등과 같이 설계자가 고려할 수 있는 적어도 하나의 방법을 통해 생성될 수 있다. 이 경우, 기본 데이터의 모든 기호에 대해 노이즈가 부가될 수도 있고, 또는 일부의 기호에 대해서만 노이즈가 부가될 수도 있다.
순차적으로 노이즈 부가 데이터로부터 적어도 하나의 특징이 추출될 수 있다(212). 상술한 바와 같이, 특징은 심층 신경망, 콘볼루션 신경망 및/또는 순환 신경망 등과 같이 적어도 하나의 학습 알고리즘을 이용하여 노이즈 부가 데이터로부터 추출될 수 있다.
상술한 노이즈 부가 데이터의 생성(210) 및 특징 추출(212) 중 적어도 하나는 기본 데이터에 대한 특징 추출(202) 및 학습 수행(204) 중 적어도 하나에 대해 선행하여 수행될 수도 있고, 후행하여 수행될 수도 있으며, 또는 이들과 동시에 수행될 수도 있다.
이어서 추출된 특징에 대한 학습이 수행될 수 있다. 노이즈 부가 데이터에 대한 학습은 기본 데이터에 대한 학습 수행(204)에 따라 획득된 데이터(일례로 학습 결과, 학습된 학습 알고리즘 및/또는 가중치)를 이용하여 수행될 수 있다. 학습은 상술한 바와 동일하게 제1 학습 과정, 가중치의 부가 과정 및 제2 학습 과정을 순차적으로 처리함으로써 수행될 수 있다(214).
예를 들어, 다 회 입력된 특징 또는 복제되어 획득된 다수의 특징에 각각에 대해 장 단기 메모리와 같은 학습 알고리즘을 기반으로 각각에 대응하는 학습 결과를 획득하여 제1 학습을 수행하고(여기서, 이용된 학습 알고리즘 또는 가중치는 기본 데이터에 대한 학습 수행에 의해 획득된 학습 알고리즘 또는 가중치를 포함할 수 있다), 제1 학습에 따른 학습 결과 각각에 대응하는 가중치(일례로 상술한 특징을 이용하여 결정되는 어텐션 가중치)를 곱하고, 가중치가 부가된 결과를 소정의 학습 알고리즘(예를 들어, 제1 학습에서 이용된 알고리즘과 동일한 학습 알고리즘)의 입력 값으로 이용하여 제2 학습을 수행함으로써 노이즈 부가 데이터 기반의 학습이 수행될 수 있다. 학습 수행에 따라 획득된 여러 데이터, 일례로 학습 결과, 학습된 학습 알고리즘 및/또는 이에 대응하는 가중치 등은 실제 데이터에 대한 학습 수행(224)에 이용될 수 있다.
한편, 기본 데이터의 생성(200) 및 노이즈 부가 데이터의 생성(210)과 무관하게 또는 이들과 관련하게 실제 데이터가 획득될 수 있다(220). 실제 데이터는 적어도 하나의 기호가 포함된 데이터로 실제 환경에서 촬영, 스캔 또는 녹화 등을 통해 얻을 수 있는 화상 데이터(예를 들어, 정지 화상 데이터 또는 동화상 데이터)를 포함할 수 있다.
실제 데이터가 획득되면, 실제 데이터로부터 이에 대응하는 적어도 하나의 특징이 추출될 수 있다(222). 특징의 추출은 상술한 바와 동일하게 적어도 하나의 학습 알고리즘을 이용하여 수행될 수 있다.
실제 데이터의 획득 과정(220) 및 실제 데이터로부터의 특징의 추출 과정(222) 중 적어도 하나의 과정은, 기본 데이터에 대한 특징 추출 과정(202), 기본 데이터로부터 획득된 특징 기반의 학습 수행 과정(204), 노이즈 부가 데이터 생성 과정(210) 및 노이즈 부가 데이터로부터 획득된 특징 기반의 학습 수행 과정(212) 중 적어도 하나에 대하여 선행 수행될 수도 있고 후행 수행될 수도 있으며, 또는 이들 중 적어도 하나와 동시에 수행될 수도 있다.
특징이 추출되면, 추출된 특징을 입력 값으로 하여 학습이 수행될 수 있다(224). 이 경우, 학습의 수행을 위해 기본 데이터에 대한 학습(204)에 의해 생성된 데이터(일례로 학습 결과, 학습된 학습 알고리즘 및/또는 가중치)가 이용되거나, 및/또는 노이즈 부가 데이터에 대한 학습(214)에 의해 생성된 데이터가 이용될 수 있다.
실제 데이터에 대한 학습은 상술한 바와 동일하게 제1 학습, 가중치의 부가 및 제2 학습의 순서로 수행될 수 있다. 제1 학습의 수행 전에 특징은 다수의 제1 내지 제n 특징으로 복제될 수도 있으며(n은, 예를 들어, 사용자가 지정한 음소의 길이와 동일할 수 있다), 제1 내지 제n 특징 각각은 소정의 학습 알고리즘(예를 들어, 양 방향 장 단기 메모리 등과 같은 장 단기 메모리 등)에 입력될 수 있으며, 이 경우 기본 데이터에 대한 학습 수행(204) 또는 노이즈 부가 데이터에 대한 학습 수행(214)에서 획득된 가중치 또는 학습 알고리즘이 이용될 수도 있다. 이와 같은 과정에 따라 제1 학습이 수행된다. 또한, 특징을 입력으로 하여 복수의 학습 알고리즘이 수행됨으로써 복수의 학습 결과를 획득하는 것도 가능하다. 제1 학습의 수행에 따라 획득된 결과(출력 값) 각각에는 가중치가 부가될 수 있으며, 여기서 가중치는 어텐션 가중치를 포함할 수 있다. 어텐션 가중치는, 특징을 기반으로 획득된 것일 수도 있고, 또는 특징으로부터 복제된 적어도 하나의 제1 내지 제n 특징을 기반으로 획득된 것일 수도 있다. 가중치가 부가된 결과 각각은 소정의 학습 알고리즘에 입력되고 이에 따라 제2 학습이 수행될 수 있다. 제2 학습에서 이용되는 알고리즘은, 제1 학습에서 이용된 알고리즘과 동일하거나 또는 상이한 알고리즘을 기반으로 수행될 수 있다.
실제 데이터(220)에 대응하는 학습의 수행에 따라서 실제 데이터에 존재하는 데이터에 대한 인식 결과가 생성된다(226). 생성된 결과를 디스플레이 등을 통해 외부로 출력될 수 있다.
상술한 실시예에 따른 기호 인식 방법은, 컴퓨터 장치에 의해 구동될 수 있는 프로그램의 형태로 구현될 수 있다. 여기서 프로그램은, 프로그램 명령, 데이터 파일 및 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 프로그램은 기계어 코드나 고급 언어 코드를 이용하여 설계 및 제작된 것일 수 있다. 프로그램은 상술한 기호 인식 방법을 구현하기 위하여 특별히 설계된 것일 수도 있고, 컴퓨터 소프트웨어 분야에서 통상의 기술자에게 기 공지되어 사용 가능한 각종 함수나 정의를 이용하여 구현된 것일 수도 있다. 또한, 여기서, 컴퓨터 장치는 프로그램의 기능을 실현 가능하게 하는 프로세서나 메모리 등을 포함하여 구현된 것일 수 있으며, 필요에 따라 통신 장치를 더 포함할 수도 있다.
상술한 기호 인식 방법을 구현하기 위한 프로그램은, 컴퓨터에 의해 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터에 의해 판독 가능한 기록 매체는, 예를 들어, 하드 디스크나 플로피 디스크와 같은 자기 디스크 저장 매체, 자기 테이프, 콤팩트 디스크나 디브이디와 같은 광 기록 매체, 플롭티컬 디스크와 같은 자기-광 기록 매체 및 롬, 램 또는 플래시 메모리 등과 같은 반도체 저장 장치 등 컴퓨터 등의 호출에 따라 실행되는 특정 프로그램을 저장 가능한 다양한 종류의 하드웨어 장치를 포함할 수 있다.
이상 기호 인식 장치 및 방법의 여러 실시예에 대해 설명하였으나, 장치 및 방법은 오직 상술한 실시예에 한정되는 것은 아니다. 해당 기술 분야에서 통상의 지식을 가진 자가 상술한 실시예를 기초로 수정 및 변형하여 구현 가능한 다양한 기호 인식 장치나 방법 역시 상술한 장치 및 방법의 일례가 될 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나 다른 구성 요소 또는 균등물에 의하여 대치되거나 또는 치환되더라도 상술한 기호 인식 장치 및 방법의 일 실시예가 될 수 있다.
100: 기호 인식 장치 101: 입력부
109: 출력부 110; 전 처리부
111: 기본 데이터 생성부 113: 노이즈 부가부
120; 학습 처리부 121: 특징 추출부
123; 결과 획득부 125: 제1 학습부
126: 가중치 부가부 127: 제2 학습부
190: 저장부

Claims (14)

  1. 적어도 하나의 기호를 포함하는 기본 데이터를 생성하는 기본 데이터 생성부;
    상기 기본 데이터에 대해 노이즈를 부가하여 노이즈 부가 데이터를 획득하는 노이즈 부가부; 및
    상기 기본 데이터에 대한 학습을 수행하여 제1 학습 모델을 획득하고, 상기 노이즈 부가 데이터에 대해 학습을 수행하여 제2 학습 모델을 획득하고, 상기 제1 학습 모델의 가중치와 상기 제2 학습 모델의 가중치를 이용하여 실제 데이터에 대한 학습을 수행하는 학습 처리부를 포함하고,
    상기 기본 데이터 생성부는 적어도 하나의 난수를 생성하고, 상기 적어도 하나의 난수를 미리 정의된 값과 비교한 후 비교 결과에 따라 미리 정해진 기호로 조합된 상기 기본 데이터를 생성하는,
    기호 인식 장치.
  2. 제1항에 있어서,
    상기 기본 데이터 생성부는 무작위로 기호를 결정하여 기본 데이터를 생성하되, 결정된 상기 기호는 한글, 영문자 및 숫자 중 적어도 하나를 포함하는,
    기호 인식 장치.
  3. 제1항에 있어서,
    상기 적어도 하나의 난수는 제1 난수를 포함하고,
    상기 기본 데이터 생성부는 상기 제1 난수의 크기에 기초하여 상기 기본 데이터에 포함되는 기호의 종류와 상기 기본 데이터에 포함되는 텍스트의 길이를 결정하는,
    기호 인식 장치.
  4. 제1항에 있어서,
    상기 노이즈 부가부는,
    상기 기본 데이터에 포함되는 기호들 중 적어도 하나의 주변에 도형을 부가하거나,
    상기 기본 데이터에 포함되는 기호들 중 적어도 하나에 원, 타원, 삼각형, 또는 사각형의 도형을 중첩하여 부가하거나,
    상기 기본 데이터에 포함되는 기호들 중 적어도 하나와 중첩되거나 중첩되지 않는 선분을 추가하거나,
    상기 기본 데이터에 포함되는 기호들 중 적어도 하나의 각도를 기울이거나,
    상기 기본 데이터에 포함되는 기호들 중 적어도 하나를 회전시키거나,
    상기 기본 데이터에 포함되는 기호들 중 적어도 하나를 미리 정해진 방향으로 이동시켜 상기 노이즈 부가 데이터를 획득하는,
    기호 인식 장치.
  5. 제1항에 있어서,
    상기 학습 처리부는 상기 기본 데이터 및 상기 노이즈 부가 데이터 중 적어도 하나로부터 특징을 추출하는,
    기호 인식 장치.
  6. 제5항에 있어서,
    상기 학습 처리부는 상기 특징을 다수의 제1 내지 제n 특징으로 복제하고, 상기 제1 내지 제n 특징 각각을 적어도 하나의 학습 알고리즘에 입력하여 제1 학습을 수행하여 제1 학습 결과를 획득하는,
    기호 인식 장치.
  7. 제6항에 있어서,
    상기 학습 처리부는 상기 제1 학습 모델의 가중치를 이용하여 제2 학습을 수행하여 제2 학습 결과를 획득하는,
    기호 인식 장치.
  8. 적어도 하나의 기호를 포함하는 기본 데이터를 생성하는 단계;
    상기 기본 데이터에 대해 노이즈를 부가하여 노이즈 부가 데이터를 획득하는 단계;
    상기 기본 데이터에 대한 학습을 수행하여 제1 학습 모델의 가중치를 획득하는 단계;
    상기 노이즈 부가 데이터에 대해 학습을 수행하여 제2 학습 모델의 가중치를 획득하는 단계; 및
    상기 제1 학습 결과와 상기 제2 학습 결과를 이용하여 실제 데이터에 대한 전이학습을 수행하는 단계를 포함하고,
    상기 기본 데이터를 생성하는 단계는 적어도 하나의 난수를 생성하고, 상기 적어도 하나의 난수를 미리 정의된 값과 비교한 후 비교 결과에 따라 미리 정해진 기호로 조합된 상기 기본 데이터를 생성하는,
    기호 인식 방법.
  9. 제8항에 있어서,
    상기 적어도 하나의 난수는 제1 난수를 포함하고,
    상기 기본 데이터를 생성하는 단계는 상기 제1 난수의 크기에 기초하여 상기 기본 데이터에 포함되는 기호의 종류와 상기 기본 데이터에 포함되는 텍스트의 길이를 결정하는,
    기호 인식 방법.
  10. 제9항에 있어서,
    상기 기본 데이터를 생성하는 단계는,
    상기 제1 난수가 미리 정의된 제1 비교 값보다 작은 경우 제1 언어로 이루어진 상기 기본 데이터를 생성하고,
    상기 제1 난수가 상기 제1 비교 값보다 크고 제2 비교 값보다 작은 경우 상기 제1 언어와 제2 언어로 이루어진 상기 기본 데이터를 생성하고,
    상기 제1 난수가 상기 제2 비교 값보다 크고 제3 비교 값보다 작은 경우 상기 제2 언어로 이루어진 상기 기본 데이터를 생성하고,
    상기 제1 난수가 상기 제3 비교 값보다 큰 경우 숫자로 이루어진 상기 기본 데이터를 생성하는,
    기호 인식 방법.
  11. 제8항에 있어서,
    상기 노이즈 부가 데이터를 획득하는 단계는,
    상기 기본 데이터에 포함되는 기호들 중 적어도 하나의 주변에 도형을 부가하거나,
    상기 기본 데이터에 포함되는 기호들 중 적어도 하나에 원, 타원, 삼각형, 또는 사각형의 도형을 중첩하여 부가하거나,
    상기 기본 데이터에 포함되는 기호들 중 적어도 하나와 중첩되거나 중첩되지 않는 선분을 추가하거나,
    상기 기본 데이터에 포함되는 기호들 중 적어도 하나의 각도를 기울이거나,
    상기 기본 데이터에 포함되는 기호들 중 적어도 하나를 회전시키거나,
    상기 기본 데이터에 포함되는 기호들 중 적어도 하나를 미리 정해진 방향으로 이동시켜 상기 노이즈 부가 데이터를 획득하는,
    기호 인식 방법.
  12. 제8항에 있어서,
    상기 제1 학습 결과를 획득하는 단계는 상기 기본 데이터로부터 적어도 하나의 특징을 추출하는 단계를 더 포함하거나, 또는
    상기 제2 학습 결과를 획득하는 단계는 상기 노이즈 부가 데이터로부터 적어도 하나의 특징을 추출하는 단계를 더 포함하는,
    기호 인식 방법.
  13. 제12항에 있어서,
    상기 제1 학습 모델의 가중치를 획득하는 단계 및 상기 제2 학습 모델의 가중치를 획득하는 단계 중 적어도 하나는,
    상기 적어도 하나의 특징을 다수의 제1 내지 제n 특징으로 복제하고, 상기 제1 내지 제n 특징 각각을 적어도 하나의 학습 알고리즘에 입력하여 제3 학습을 수행하여 제3 학습 결과를 획득하는 단계를 더 포함하는,
    기호 인식 방법.
  14. 제11항에 있어서,
    상기 제2 학습 모델의 가중치를 획득하는 단계는 상기 제1 학습 모델의 가중치를 획득하는 단계에서 획득된 가중치를 이용하여 상기 노이즈 부가 데이터에 대한 전이학습을 수행하고,
    상기 실제 데이터에 대한 학습을 수행하는 단계는 상기 제2 학습 결과를 획득하는 단계에서 획득된 가중치를 이용하여 상기 실제 데이터에 대한 전이학습을 수행하는,
    기호 인식 방법.
KR1020190129653A 2019-06-07 2019-10-18 기호 인식 장치 및 방법 KR102222640B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190067547 2019-06-07
KR20190067547 2019-06-07

Publications (2)

Publication Number Publication Date
KR20200140676A KR20200140676A (ko) 2020-12-16
KR102222640B1 true KR102222640B1 (ko) 2021-03-04

Family

ID=74042282

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190129653A KR102222640B1 (ko) 2019-06-07 2019-10-18 기호 인식 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102222640B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102167719B1 (ko) * 2014-12-08 2020-10-19 삼성전자주식회사 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치
KR20160096460A (ko) * 2015-02-05 2016-08-16 삼성전자주식회사 복수의 분류기를 포함하는 딥 러닝 기반 인식 시스템 및 그 제어 방법
EP3459016B1 (en) 2016-05-20 2023-07-05 Deepmind Technologies Limited Classifying input examples using a comparison set
KR102033458B1 (ko) 2017-10-24 2019-11-19 강원대학교산학협력단 계층적 포인터 네트워크를 이용한 상호참조해결 시스템 및 방법

Also Published As

Publication number Publication date
KR20200140676A (ko) 2020-12-16

Similar Documents

Publication Publication Date Title
US11899927B2 (en) Simulated handwriting image generator
Li et al. Guiding generation for abstractive text summarization based on key information guide network
JP7193252B2 (ja) 画像の領域のキャプション付加
Babu Design and development of artificial neural network based tamil unicode symbols identification system
Paul et al. Rethinking generalization in american sign language prediction for edge devices with extremely low memory footprint
CN111914825B (zh) 文字识别方法、装置及电子设备
KR102258003B1 (ko) 글자 인식 모델을 활용하여 이미지 번역 서비스를 제공하기 위한 방법 및 서버
WO2023202197A1 (zh) 文本识别方法及相关装置
CN110968697B (zh) 文本分类方法、装置、设备及可读存储介质
KR20230170542A (ko) 이그잼플 텍스트 벡터 및 훈련된 언어 모델을 이용한 의사결정 시뮬레이션 장치 및 방법
Zhao et al. Deep imitator: Handwriting calligraphy imitation via deep attention networks
Inunganbi et al. Handwritten Meitei Mayek recognition using three‐channel convolution neural network of gradients and gray
Kil et al. Towards unified scene text spotting based on sequence generation
Kaddoura A Primer on Generative Adversarial Networks
KR102222640B1 (ko) 기호 인식 장치 및 방법
JP7449332B2 (ja) コンテンツアウェアおよびスタイルアウェアデータを増強することによる筆跡認識方法および装置
JP7365989B2 (ja) 文字の視覚認識符号化
CN110889290A (zh) 文本编码方法和设备、文本编码有效性检验方法和设备
CN116168379A (zh) 自监督注意力的文本识别方法、装置、设备及介质
KR102476334B1 (ko) 딥러닝 기반 일기 생성 방법 및 장치
Fadhil et al. Using VGG Models with Intermediate Layer Feature Maps for Static Hand Gesture Recognition
EP3959652A1 (en) Object discovery in images through categorizing object parts
Yin et al. Yi characters online handwriting recognition models based on recurrent neural network: RnnNet-Yi and ParallelRnnNet-Yi
CN117422796B (zh) 文字标志生成方法、装置、电子设备及存储介质
CN113177406B (zh) 文本处理方法、装置、电子设备和计算机可读介质

Legal Events

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