KR102622349B1 - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR102622349B1
KR102622349B1 KR1020180038256A KR20180038256A KR102622349B1 KR 102622349 B1 KR102622349 B1 KR 102622349B1 KR 1020180038256 A KR1020180038256 A KR 1020180038256A KR 20180038256 A KR20180038256 A KR 20180038256A KR 102622349 B1 KR102622349 B1 KR 102622349B1
Authority
KR
South Korea
Prior art keywords
text
electronic device
image
vertical block
character
Prior art date
Application number
KR1020180038256A
Other languages
English (en)
Other versions
KR20190119220A (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 삼성전자주식회사
Priority to KR1020180038256A priority Critical patent/KR102622349B1/ko
Priority to PCT/KR2018/006080 priority patent/WO2019194356A1/ko
Priority to EP18913212.9A priority patent/EP3719695A4/en
Priority to CN201880091898.4A priority patent/CN111919219A/zh
Priority to US17/040,694 priority patent/US11482025B2/en
Publication of KR20190119220A publication Critical patent/KR20190119220A/ko
Application granted granted Critical
Publication of KR102622349B1 publication Critical patent/KR102622349B1/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/32Digital ink
    • 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/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • 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
    • G06T5/001
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • 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
    • G06V30/333Preprocessing; Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern 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
    • G06V30/36Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/412Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables

Landscapes

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

Abstract

전자 장치가 개시된다. 전자 장치는, MDLSTM (Multi-dimensional Long Short-Term Memory)의 트레이닝 모델이 저장된 저장부 및 필기 텍스트 및 인쇄 텍스트 중 적어도 하나를 포함하는 이미지를 획득하고, 이미지 프로세싱을 통해 이미지에서 각 텍스트 라인 영역을 식별하고, 트레이닝 모델에 기초하여 식별된 각 텍스트 라인 영역에 포함된 텍스트를 인식하는 프로세서를 포함한다.

Description

전자 장치 및 그 제어 방법 {Electronic device and control method thereof}
본 발명은 텍스트를 인식하는 전자 장치 및 그 제어 방법에 관한 것이다. 구체적으로, 인공신경망에 기초하여 텍스트를 인식하는 기술에 관한 것이다.
전자 장치에 직접 타이핑 되지 않은 텍스트를 인식하는 기술은 종래에도 존재하였다.
다만, 종래에는 손으로 쓰여진 텍스트나 기울어진 텍스트를 제대로 인식하지 못하는 문제점이 있었다.
인공지능 기술의 일종인 CNN (Convolutional Neural Network)에 기반한 텍스트 인식 기술이 있으나, 이 또한, 겹치게 기재된 문자 또는 손으로 쓴 필기 텍스트를 제대로 인식하지 못하는 문제점이 있었다.
따라서, 필기 텍스트를 포함하는 다양한 형태의 텍스트를 정확하고 빠르게 인식할 수 있는 기술의 필요성이 대두되었다.
본 발명은 상술한 필요성에 따른 것으로, 본 발명의 목적은, RNN(Recurrent Neural Network)의 일종인 LSTM(Long-Short Term Memory)에 기반하여 이미지에 포함된 텍스트를 정확하고 빠르게 인식할 수 있는 전자 장치 및 그 제공 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치는, MDLSTM (Multi-dimensional Long Short-Term Memory)의 트레이닝 모델이 저장된 저장부 및 필기 텍스트 및 인쇄 텍스트 중 적어도 하나를 포함하는 이미지를 획득하고, 이미지 프로세싱을 통해 상기 이미지에서 각 텍스트 라인 영역을 식별하고, 상기 트레이닝 모델에 기초하여 식별된 각 텍스트 라인 영역에 포함된 텍스트를 인식하는 프로세서를 포함할 수 있다.
상기 프로세서는, 상기 이미지에서 텍스트 영역을 이진화하고, 상기 이진화된 텍스트 영역에 대한 보정 처리에 의해 상기 이미지 프로세싱을 수행할 수 있다.
상기 보정 처리는, 상기 텍스트 영역에 대한 기울기 제거, 높이 표준화 및 골격화(skeletonization) 중 적어도 하나를 포함할 수 있다.
상기 프로세서는, 상기 식별된 텍스트 라인을 포함하는 영역을 복수 개의 수직 블록으로 식별하고, 각 수직 블록의 픽셀 값에 기초하여 상기 각 수직 블록에서 추정되는 문자의 확률을 산출할 수 있다.
상기 프로세서는, 제1 수직 블록에서 제1 문자의 존재 확률, 상기 제1 수직 블록에서 상기 제1 문자의 부존재 확률, 제2 수직 블록에서 제2 문자의 존재 확률 및 상기 제2 수직 블록에서 상기 제2 문자의 부존재 확률을 조합하여 상기 텍스트 라인 영역에 제1 및 제2 문자 중 적어도 하나가 포함될 복수의 확률을 산출할 수 있다.
상기 프로세서는, 상기 산출된 복수의 확률에 토큰 패스 디코딩(token passing decoding) 및 기설정된 언어 모델을 적용하여 상기 텍스트 라인 영역에서 인식되는 텍스트를 획득할 수 있다.
전자 장치는, 카메라 및 디스플레이를 더 포함하고, 상기 필기 텍스트 및 인쇄 텍스트 중 적어도 하나를 포함하는 이미지는, 상기 카메라에 의해 획득된 이미지이거나, 상기 디스플레이에 입력된 필기 이미지일 수 있다.
상기 프로세서는, 상기 인식된 텍스트와 관련된 기능을 식별하고, 상기 식별된 기능을 실행할 수 있다.
본 개시의 일 실시 예에 따른 MDLSTM (Multi-dimensional Long Short-Term Memory)의 트레이닝 모델이 저장된 전자 장치의 제어 방법은, 필기 텍스트 및 인쇄 텍스트 중 적어도 하나를 포함하는 이미지를 획득하는 단계, 이미지 프로세싱을 통해 상기 이미지에서 각 텍스트 라인 영역을 식별하는 단계 및 상기 트레이닝 모델에 기초하여 식별된 각 텍스트 라인 영역에 포함된 텍스트를 인식하는 단계를 포함할 수 있다.
상기 각 텍스트 라인 영역을 식별하는 단계는, 상기 이미지에서 텍스트 영역을 이진화하고, 상기 이진화된 텍스트 영역에 대한 보정 처리에 의해 상기 이미지 프로세싱을 수행할 수 있다.
상기 보정 처리는, 상기 텍스트 영역에 대한 기울기 제거, 높이 표준화 및 골격화(skeletonization) 중 적어도 하나를 포함할 수 있다.
상기 식별된 텍스트 라인을 포함하는 영역을 복수 개의 수직 블록으로 식별하고, 각 수직 블록의 픽셀 값에 기초하여 상기 각 수직 블록에서 추정되는 문자의 확률을 산출하는 단계를 더 포함할 수 있다.
상기 확률을 산출하는 단계는, 제1 수직 블록에서 제1 문자의 존재 확률, 상기 제1 수직 블록에서 상기 제1 문자의 부존재 확률, 제2 수직 블록에서 제2 문자의 존재 확률 및 상기 제2 수직 블록에서 상기 제2 문자의 부존재 확률을 조합하여 상기 텍스트 라인 영역에 제1 및 제2 문자 중 적어도 하나가 포함될 복수의 확률을 산출할 수 있다.
상기 텍스트를 인식하는 단계는, 상기 산출된 복수의 확률에 토큰 패스 디코딩(token passing decoding) 및 기설정된 언어 모델을 적용하여 상기 텍스트 라인 영역에서 인식되는 텍스트를 획득할 수 있다.
상기 제어 방법은 상기 인식된 텍스트와 관련된 기능을 식별하고, 상기 식별된 기능을 실행하는 단계를 더 포함할 수 있다.
상술한 바와 같이 본 발명의 다양한 실시 예에 따르면 LSTM에 기반한 텍스트 인식 기술을 통해 신속하고 정확하게 인쇄된 텍스트뿐만 아니라 필기체도 인식하고 카메라에 의해 촬영된 이미지에 포함된 텍스트를 인식할 수 있으므로 사용자에게 편의를 제공할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 텍스트를 포함하는 이미지가 입력된 전자 장치를 나타내는 도면이다.
도 2a 및 도2b는 본 발명의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블럭도이다.
도 3은 본 개시의 일 실시 예에 따른 이미지 프로세싱을 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시 예에 따른 각 텍스트 라인 영역을 식별하는 동작을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시 예에 따른 각 수직 블록에서 추정되는 문자의 확률을 산출하는 동작을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따른 이미지에 포함된 텍스트가 인식되는 과정을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 필기 텍스트가 인식되는 동작을 설명하기 위한 도면이다.
도 8은 전자 장치에서 인식된 텍스트와 관련된 기능을 식별하고 식별된 기능의 실행을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시 예에 따른 전자 장치를 제어하는 방법을 설명하기 위한 흐름도이다.
이하에서는 도면을 참조하여 본 개시에 대해 상세히 설명하도록 한다. 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다. 덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.
또한, 어떤 구성요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 나아가, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 개시의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다.
또한, 'a, b 및 c 중 적어도 하나'라는 표현은 'a', 'b', 'c', 'a 및 b', 'a 및 c', 'b 및 c' 또는 'a, b 및 c'로 해석될 수 있다.
이하, 첨부된 도면을 이용하여 본 개시에 대하여 구체적으로 설명한다.
도 1은 본 발명의 일 실시 예에 따른 텍스트를 포함하는 이미지가 입력된 전자 장치를 나타내는 도면이다.
전자 장치(100)는 텍스트가 포함된 이미지로부터 텍스트를 인식할 수 있는 스마트 폰으로 구현될 수 있으나, 이에 한정되는 것은 아니며, 랩탑 컴퓨터, 태블릿, PC, 카메라 등으로 구현될 수도 있다.
이미지에 포함된 텍스트는 필기 텍스트 및 인쇄 텍스트 중 적어도 하나일 수 있다. 여기서, 필기 텍스트는 손으로 쓰여진(written) 글씨체 형태의 텍스트이고, 인쇄 텍스트는 프린트된 글씨체 형태의 텍스트일 수 있다.
본 개시의 일 실시 예에 따르면, 전자 장치(100)는 RNN(Recurrent Neural Network)의 일종인 LSTM(Long-Short Term Memory)에 기반하여 이미지에 포함된 텍스트를 신속하고 정확하게 인식할 수 있는데, 이하에서는 도면을 참조하여 본 개시의 다양한 실시 예에 대해 자세히 설명하도록 한다.
여기서, RNN은 순환 신경망을 의미하며, 시계열 데이터와 같이 시간의 흐름에 따라 변화하는 데이터를 학습하기 위한 딥 러닝 모델의 일종이다. LSTM은 RNN의 히든 레이어 단계에 cell-state를 추가하여 RNN의 vanishing gradient problem을 해결하기 위한 RNN의 일종이다. 여기서, vanishing gradient problem은 RNN에서 관련 정보와 그 정보를 사용하는 지점 사이의 거리가 먼 경우 역전파시 그래디언트가 점차 줄어 학습 능력이 저하되는 문제이다.
도 2a 및 도 2b는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블럭도이다.
도 2a에 따르면, 전자 장치(100)는 저장부(110) 및 프로세서(120)를 포함한다.
저장부(110)는 전자 장치(100)를 구동/제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 저장부(110)는 전자 장치(100) 및 프로세서(120)의 제어를 위한 제어 프로그램, 제조사에서 최초 제공되거나 외부에서부터 다운로드 받은 어플리케이션, 데이터베이스들 또는 관련 데이터들을 저장할 수 있다.
특히, 저장부(110)는 MDLSTM (Multi-dimensional Long Short-Term Memory)의 트레이닝 모델을 저장할 수 있다. 또한, 저장부(110)는 카메라(미도시)에 의해 촬영되거나 전자 장치(100)의 화면에서 캡쳐된 이미지를 저장할 수 있다. 여기서, MDLSTM 방식은 종래 기술이므로 구체적인 설명은 생략한다.
프로세서(120)는 전자 장치(100)의 전반적인 동작을 제어한다.
일 실시 예에 따라 프로세서(120)는 디지털 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
프로세서(120)는 필기 텍스트 및 인쇄 텍스트 중 적어도 하나를 포함하는 이미지를 획득할 수 있다.
여기서, 필기 텍스트 및 인쇄 텍스트 중 적어도 하나를 포함하는 이미지는, 카메라(미도시)에 의해 획득된 이미지이거나, 디스플레이(미도시) 상에 입력된 텍스트를 포함하는 이미지일 수 있다. 또는, 디스플레이 상의 화면이 캡쳐된 이미지일 수 있다.
예를 들어, 프로세서(120)는 카메라에 의해 촬영된 이미지에 포함된 텍스트를 인식할 수 있고, 디스플레이 상에 손 터치 또는 펜 터치에 의해 입력된 텍스트를 인식할 수도 있다. 또한, 프로세서(120)는 디스플레이 상에 디스플레이되는 화면을 캡처한 이미지에 포함된 텍스트를 인식할 수도 있다.
프로세서(120)는 이미지 프로세싱을 통해 이미지에서 각 텍스트 라인 영역을 식별할 수 있다.
일 실시 예에 따르면, 프로세서(120)는 이미지에서 텍스트 영역을 이진화하고, 이진화된 텍스트 영역에 대한 보정 처리에 의해 이미지 프로세싱을 수행할 수 있다.
여기서, 이진화는 텍스트 영역과 나머지 영역을 구분하는 동작일 수 있다. 즉, 프로세서(120)는 이미지에서 텍스트 영역을 식별하여 텍스트 및 나머지 영역을 구별하는 이진화 작업을 수행할 수 있다.
보정 처리는, 텍스트 영역에 대한 기울기 제거, 높이 표준화 및 골격화(skeletonization) 중 적어도 하나를 포함할 수 있다.
예를 들어, 프로세서(120)는 수평면에서 30도 기울어진 텍스트 라인의 기울기가 0도가 되도록 기울기를 제거하고, 각각의 텍스트 높이를 일정하게 표준화하는 보정을 수행할 수 있다.
골격화는 텍스트를 형성하는 픽셀이 동일한 컬러의 픽셀들로 촘촘하게 구성되도록 하는 동작이다. 예를 들어, 자음"ㄱ"을 형성하는 픽셀이 검정색인 경우, "ㄱ"을 확대하면 "ㄱ"을 형성하는 모든 픽셀이 검정색으로 구성되지 않을 수 있다. 일 예로, 연필을 통해 낮은 압력으로 쓰여진 "ㄱ"은 흐릿하게 표시되므로 "ㄱ"을 형성하는 모든 픽셀들이 검정색으로 구성되는 것은 아닐 수 있다. 프로세서(120)는 이를 명확하게 하기 위해 "ㄱ"을 형성하는 픽셀들의 컬러를 모두 검정색으로 보정 처리할 수 있다. 이러한 골격화 작업을 통해 프로세서(120)는 명확하게 해당 문자를 표현하고 인식할 수 있다. 일 예로, 프로세서(120)는 골격화를 통해 텍스트를 형성하는 픽셀을 검정색 픽셀, 나머지 영역을 나타내는 픽셀을 흰색 픽셀로 제공할 수 있다.
프로세서(120)는 상술한 이미지 프로세싱을 통해 보정 처리된 텍스트 영역에서 각각의 텍스트 라인 영역을 식별할 수 있다.
이미지 프로세싱이 수행된 이미지에 포함된 텍스트 라인이 복수인 경우 프로세서(120)는 각 텍스트 라인을 개별적으로 식별하여 텍스트 인식률을 높일 수 있다.
예를 들어, 프로세서(120)는 이미지 프로세싱을 통해 표준화된 텍스트 높이의 평균 값을 산출하고, 산출된 평균 값 높이의 수평 라인, 평균 값 높이의 수평 라인을 기준으로 상, 하 방향으로 균등한 간격으로 이격된 수평 라인들을 텍스트 라인 영역에 적용하여 각 텍스트 라인을 식별할 수 있다. 즉, 프로세서(120)는 3개의 라인을 텍스트 라인 영역에 적용하여 3개의 라인에 걸치는 텍스트를 하나의 텍스트 라인으로 식별할 수 있다. 이에 관하여 후술하는 도 4에서 자세히 설명하도록 한다.
프로세서(120)는 식별된 텍스트 라인을 포함하는 영역을 복수 개의 수직 블록으로 식별하고, 각 수직 블록의 픽셀 값에 기초하여 각 수직 블록에서 추정되는 문자의 확률을 산출할 수 있다. 프로세서(120)는 MDMDLSTM(Multi-dimensional Multi-directional Long Short-Term Memory)에 기반하여 각 수직 블록에서 추정되는 문자의 확률을 산출할 수 있다. 여기서, "Multi-directional"은 전자 장치(100)에 입력된 이미지를 여러 방향에서 스캔함을 의미하고, 이에 따라 프로세서(120)는 이미지에 포함된 텍스트의 인식률을 높일 수 있다.
예를 들어, "The cat"이라는 필기 텍스트를 포함하는 영역에 26개의 수직 블록을 적용하고, 프로세서(120)는 각 수직 블록 상의 픽셀 값에 기초하여 각 수직 블록에서 추정되는 문자의 확률을 산출할 수 있다.
프로세서(120)는 제1 수직 블록에서 제1 문자의 존재 확률, 제1 수직 블록에서 제1 문자의 부존재 확률, 제2 수직 블록에서 제2 문자의 존재 확률 및 제2 수직 블록에서 제2 문자의 부존재 확률을 조합하여 텍스트 라인 영역에 제1 및 제2 문자 중 적어도 하나가 포함될 복수의 확률을 산출할 수 있다.
프로세서(120)는 산출된 복수의 확률에 토큰 패스 디코딩(token passing decoding) 및 기설정된 언어 모델을 적용하여 텍스트 라인 영역에서 인식되는 텍스트를 획득할 수 있다.
프로세서(120)는 토큰 패스 디코딩에 기초하여 각 수직 블록에서 추정되는 문자 중 가장 높은 확률의 문자를 식별할 수 있다. 특정 수직 블록에서 가장 높은 확률이 해당 블록에서 문자의 부존재인 경우, 프로세서(120)는 해당 블록에서 문자가 부존재하는 것으로 식별할 수 있다. 이에 따라, 프로세서(120)는 각 블록마다 가장 높은 확률로 추정되는 문자를 식별할 수 있다.
예를 들어, 첫번째 수직 블록에서 어떠한 문자도 포함되지 않을 확률이 가장 높은 경우 프로세서(120)는 첫번째 수직 블록에서 문자가 부존재하는 것으로 식별하고, 세번째 수직 블록에서 알파벳 "T"의 존재 확률이 가장 높은 경우 프로세서(120)는 세번째 수직 블록에서 "T"가 존재하는 것으로 식별할 수 있다. 이에 관하여 후술하는 도 5에서 자세히 설명하도록 한다.
프로세서(120)는 각 수직 블록에서 가장 높은 확률로 추정되는 문자를 조합하여 후보 텍스트를 제공할 수 있다. 예를 들어, 프로세서(120)는 "The eat"을 후보 텍스트로 제공할 수 있다.
프로세서(120)는 기설정된 언어 모델에 기초하여 제공된 후보 텍스트를 수정할 수 있다. 예를 들어, 프로세서(120)는 언어 모델에 기초하여 "The eat"을 "The cat"으로 수정할 수 있다.
여기서, 토큰 패스 디코딩은 기설정된 언어 모델과 Viterbi 알고리즘을 사용하여 각 수직 블록 상의 픽셀 값에 기초하여 텍스트 라인 영역의 텍스트를 획득할 수 있다.
여기서, 기설정된 언어 모델은 실제 사용자가 사용하는 언어, 예를 들어 문장, 구 등을 모델링한 데이터일 수 있다. 언어 모델을 이용하면 순차적으로 입력된 텍스트에 기초하여 입력된 텍스트의 다음 워드로 가장 적절한 텍스트를 식별할 수 있다. 본 개시의 일 실시 예에 따르면, 기설정된 언어 모델은 N-Grams 언어 모델일 수 있으나 이에 한정되는 것은 아니다. 상술한 Viterbi 알고리즘 및 N-Grams 언어 모델은 종래 기술이므로 자세한 설명은 생략하도록 한다.
프로세서(120)는 이미지에 필기 텍스트 및 인쇄 텍스트가 모두 존재하는 경우, 필기 텍스트 및 인쇄 텍스트를 모두 인식할 수 있다. 또한, 프로세서(120)는 이미지에 서로 다른 언어의 텍스트가 포함된 경우, 각 텍스트의 언어를 식별하여 이미지에 포함된 텍스트를 인식할 수도 있다.
프로세서(120)는 상술한 과정을 통해 식별된 텍스트를 제공할 수 있다. 예를 들어, 프로세서(120)는 식별된 텍스트를 디스플레이(미도시) 상에 제공하거나, 식별된 텍스트의 의미를 인식하여 이에 대응되는 동작을 수행할 수 있다.
즉, 프로세서(120)는 인식된 텍스트와 관련된 기능을 식별하고, 식별된 기능을 실행할 수 있다.
예를 들어, 식별된 텍스트가 "아침 6시에 기상"인 경우, 프로세서(120)는 오전 6시에 알람을 설정할 수 있다. 또는, 식별된 텍스트가 "AAA와 9월 25일 2시에 미팅"인 경우, 프로세서(120)는 스케줄러 상의 9월 25일에 AAA와 2시 미팅이라는 스케줄을 등록할 수도 있다.
또한, 식별된 텍스트가 "쇼핑 리스트: 계란, 우유, 사과, 빵"인 경우, 프로세서(120)는 이를 쇼핑 리스트로 인식하고 메모장에 "쇼핑 리스트: 계란, 우유, 사과, 빵"을 저장할 수 있다.
도 2b는 도 2a의 전자 장치의 세부 구성의 일 예를 나타내는 불럭도이다.
도 2b에 따르면, 전자 장치(100)는 저장부(110), 프로세서(120), 통신부(130), 카메라(140) 및 디스플레이(150)를 포함한다. 도 2b에 도시된 구성 중, 도 2a에 도시된 구성과 중복되는 구성에 대해서는 자세한 설명을 생략하도록 한다.
저장부(110)는 프로세서(120)에 포함된 롬(ROM), 램(RAM) 등의 내부 메모리로 구현되거나, 프로세서(120)와 별도의 메모리로 구현될 수도 있다. 이 경우, 저장부(110)는 데이터 저장 용도에 따라 전자 장치(100)에 임베디드된 메모리 형태로 구현되거나, 전자 장치(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 전자 장치(100)의 구동을 위한 데이터의 경우 전자 장치(100)에 임베디드된 메모리에 저장되고, 전자 장치(100)의 확장 기능을 위한 데이터의 경우 전자 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다. 한편, 전자 장치(100)에 임베디드된 메모리의 경우 비휘발성 메모리, 휘발성 메모리, 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등과 같은 형태로 구현될 수 있다.
프로세서(120)는 CPU(121), 전자 장치(100)의 제어를 위한 제어 프로그램이 저장된 롬(ROM, 또는 비 휘발성 메모리) 및 전자 장치(100)의 외부에서부터 입력되는 데이터를 저장하거나 전자 장치(100)에서 수행되는 다양한 작업에 대응되는 저장 영역으로 사용되는 램(RAM, 또는 휘발성 메모리)을 포함할 수 있다.
프로세서(120)는 기설정된 이벤트가 발생되면 저장부(110)에 저장된 OS(Operating System), 프로그램 및 다양한 어플리케이션을 실행할 수 있다. 프로세서(120)는 싱글 코어, 듀얼 코어, 트리플 코어, 쿼드 코어 및 그 배수의 코어를 포함할 수 있다.
CPU(121)는 저장부(110)에 액세스하여, 저장부(110)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 저장부(110)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.
통신부(130)는 외부 전자 장치와 통신을 수행한다. 통신부(130)를 통해 외부 전자 장치로부터 텍스트가 포함된 이미지를 수신하여 프로세서(120)에 의해 이미지에 포함된 텍스트가 인식될 수 있다. 또한, 전자 장치(100)상에 입력된 이미지에 포함된 텍스트를 인식하고 통신부(130)를 통해 외부 전자 장치로 인식된 텍스트 또는 텍스트와 관련된 정보를 제공할 수 있다.
여기서, 통신부(130)는 BT(BlueTooth), WI-FI(Wireless Fidelity), Zigbee, IR(Infrared) 와 같은 통신 방식으로 외부 전자 장치(미도시)와 무선 통신을 수행할 수 있으나, Serial Interface, USB(Universal Serial Bus), NFC(Near Field Communication) 등과 같은 다양한 통신 방식을 통해 외부 전자 장치와 통신을 수행할 수도 있다.
예를 들어, 통신부(130)는 기설정된 이벤트가 발생하면, 외부 전자 장치와의 기정의된 통신 방식에 따라 통신을 수행하여 연동 상태가 될 수 있다. 여기서, 연동은 전자 장치(100)와 외부 전자 장치 간에 통신이 초기화되는 동작, 네트워크가 형성되는 동작, 기기 페어링이 수행되는 동작 등 통신이 가능한 상태가 되는 모든 상태를 의미할 수 있다. 예를 들어, 외부 전자 장치의 기기 식별 정보가 전자 장치(100)로 제공되고, 그에 따라 양 기기 간의 페어링 절차가 수행될 수 있다. 예를 들어, 전자 장치(100) 또는 외부 전자 장치에서 기설정된 이벤트가 발생하면, DLNA(Digital Living Network Alliance) 기술을 통해 주변 기기를 탐색하고 탐색된 기기와 페어링을 수행하여 연동 상태가 될 수 있다.
카메라(140)는 필기 텍스트 및 인쇄 텍스트 중 적어도 하나를 포함하는 이미지를 촬영하여 획득할 수 있다.
디스플레이(150)는 LCD(liquid crystal display), OLED(organic light-emitting diode), LCoS(Liquid Crystal on Silicon), DLP(Digital Light Processing), QD(quantum dot) 디스플레이 패널 등과 같은 다양한 형태로 구현될 수 있다.
디스플레이(150)는 터치 패드와 상호 레이어 구조를 이루는 터치 스크린 형태로 구현될 수 있다. 이 경우, 디스플레이(150)는 출력 장치 이외에 사용자 인터페이스(미도시)로 사용될 수 있다. 여기서, 터치 스크린은 터치 입력 위치 및 면적뿐만 아니라 터치 입력의 압력까지도 검출할 수 있다.
이에 따라, 손 터치 또는 펜 터치에 의해 디스플레이(150) 상에 입력되는 텍스트는 프로세서(120)에 의해 인식될 수 있다.
도 3은 본 개시의 일 실시 예에 따른 이미지 프로세싱을 설명하기 위한 도면이다.
도 3에 따르면, 전자 장치(100)는 이미지 프로세싱을 수행하여 이미지에 포함된 텍스트를 좀 더 명확하게 표현할 수 있다.
원본 이미지(310)는 다양한 방법을 통해 전자 장치(100)에 입력될 수 있다. 예를 들어, 카메라(140)에 의해 촬영되거나 전자 장치(100)의 디스플레이(150) 상에 손 터치 또는 펜 터치에 의해 텍스트가 입력되거나, 타 전자 장치로부터 텍스트가 포함된 원본 이미지를 수신할 수도 있다.
전자 장치(100)는 이미지에서 텍스트 영역을 이진화하고, 이진화된 텍스트 영역에 대한 보정 처리에 의해 이미지 프로세싱을 수행할 수 있다.
여기서, 이진화는 텍스트 영역과 나머지 영역을 구분하는 동작일 수 있다. 즉, 전자 장치(100)는 이미지에서 텍스트 영역을 식별하여 텍스트 및 나머지 영역을 구별하는 이진화 작업을 수행할 수 있다.
여기서, 보정 처리는, 텍스트 영역에 대한 기울기 제거(330), 높이 표준화(340) 및 골격화(350)중 적어도 하나를 포함할 수 있다.
예를 들어, 수평면에서 30도 기울어진 텍스트 라인의 기울기가 0도가 되도록 기울기를 제거하고, 각각의 텍스트 높이를 일정하게 표준화하는 보정을 수행할 수 있다.
골격화는 텍스트를 형성하는 픽셀이 동일한 컬러의 픽셀들로 촘촘하게 구성되도록 하는 동작이다. 예를 들어, 자음"ㄱ"을 형성하는 픽셀이 검정색인 경우, "ㄱ"을 확대하면 "ㄱ"을 형성하는 모든 픽셀이 검정색으로 구성되지 않을 수 있다. 일 예로, 연필을 통해 낮은 압력으로 쓰여진 "ㄱ"은 흐릿하게 표시되므로 "ㄱ"을 형성하는 모든 픽셀들이 검정색으로 구성되는 것은 아닐 수 있다. 전자 장치(100)는 이를 명확하게 하기 위해 "ㄱ"을 형성하는 픽셀들의 컬러를 모두 검정색으로 보정 처리할 수 있다. 이러한 골격화 작업을 통해 전자 장치(100)는 명확하게 해당 문자를 표현하고 인식할 수 있다. 일 예로, 전자 장치(100)는 골격화를 통해 텍스트를 형성하는 픽셀을 검정색 픽셀, 나머지 영역을 나타내는 픽셀을 흰색 픽셀로 제공할 수 있다.
도 4는 본 개시의 일 실시 예에 따른 각 텍스트 라인 영역을 식별하는 동작을 설명하기 위한 도면이다.
전자 장치(100)는 이미지 프로세싱이 수행된 이미지(410)에 포함된 텍스트 라인이 복수인 경우, 각 텍스트 라인을 개별적으로 식별하여 텍스트 인식률을 높일 수 있다.
예를 들어, 전자 장치(100)는 이미지 프로세싱을 통해 표준화된 텍스트 높이의 평균 값을 산출하고, 산출된 평균 값 높이의 수평 라인, 평균 값 높이의 수평 라인을 기준으로 상, 하 방향으로 균등한 간격으로 이격된 수평 라인들을 텍스트 라인 영역에 적용하여 각 텍스트 라인을 식별할 수 있다. 즉, 전자 장치(100)는 3개의 라인을 텍스트 라인 영역에 적용하여 3개의 라인에 걸치는 텍스트를 하나의 텍스트 라인으로 식별할 수 있다(420).
예를 들어, 도 4에 따르면, 전자 장치(100)는"pleasure and pain will", "give you a complete" 및 "account to the system"을 개별적인 텍스트 라인으로 식별할 수 있다.
전자 장치(100)는 첫번째 텍스트 라인 만을 독립적으로 식별할 수 있다(430). 각 텍스트 라인 영역이 개별적으로 식별되지 않는 경우, 전자 장치(100)의 텍스트 인식률이 감소될 수 있다.
예를 들어, 각 텍스트 라인 영역이 개별적으로 식별되지 않는 경우, 두번째 줄의 텍스트가 첫번째 줄의 텍스트의 인식을 방해하여 전자 장치(100)는 첫번째 줄의 텍스트를 잘못 인식할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 각 수직 블록에서 추정되는 문자의 확률을 산출하는 동작을 설명하기 위한 도면이다.
도 5에 따르면, 텍스트 영역(510)은 이미지 프로세싱이 수행된 텍스트일 수 있다.
전자 장치(100)는 식별된 텍스트 라인을 포함하는 영역을 복수 개의 수직 블록으로 식별하고, 각 수직 블록의 픽셀 값에 기초하여 각 수직 블록에서 추정되는 문자의 확률을 산출할 수 있다.
도 5에 따르면, "The cat"이라는 필기 텍스트를 포함하는 영역에 26개의 수직 블록을 적용하고, 전자 장치(100)는 각 수직 블록 상의 픽셀 값에 기초하여 각 수직 블록에서 추정되는 문자의 확률을 산출할 수 있다.
전자 장치(100)는 제1 수직 블록에서 제1 문자의 존재 확률, 제1 수직 블록에서 제1 문자의 부존재 확률, 제2 수직 블록에서 제2 문자의 존재 확률 및 제2 수직 블록에서 제2 문자의 부존재 확률을 조합하여 텍스트 라인 영역에 제1 및 제2 문자 중 적어도 하나가 포함될 복수의 확률을 산출할 수 있다.
예를 들어, 첫번째 수직 블록에서 어떠한 문자도 포함되지 않을 확률이 가장 높은 경우 전자 장치(100)는 첫번째 수직 블록에서 문자가 부존재하는 것으로 식별하고, 세번째 수직 블록에서 알파벳 "T"의 존재 확률이 가장 높은 경우 전자 장치(100)는 세번째 수직 블록에서 "T"가 존재하는 것으로 식별할 수 있다. 전자 장치(100)는 각 수직 블록에서 가장 높은 확률로 존재 또는 부존재하는 문자를 식별하여 조합할 수 있다.
전자 장치(100)는 520에 따른 복수의 확률을 각 수직 블록 마다 식별하여 각 수직 블록에서 가장 높은 확률의 문자를 식별할 수 있다.
전자 장치(100)는 산출된 복수의 확률에 토큰 패스 디코딩(token passing decoding) 및 기설정된 언어 모델을 적용하여 텍스트 라인 영역에서 인식되는 텍스트를 획득할 수 있다.
전자 장치(100)는 토큰 패스 디코딩에 기초하여 각 수직 블록에서 추정되는 문자 중 가장 높은 확률의 문자를 식별할 수 있다. 특정 수직 블록에서 가장 높은 확률이 해당 블록에서 문자의 부존재인 경우, 전자 장치(100)는 해당 블록에서 문자가 부존재하는 것으로 식별할 수 있다. 이에 따라, 전자 장치(100)는 각 블록마다 가장 높은 확률로 추정되는 문자를 식별할 수 있다. 전자 장치(100)는 가장 높은 확률로 추정되는 문자를 조합하여 후보 텍스트를 제공할 수 있다.
전자 장치(100)는 기설정된 언어 모델에 기초하여 제공된 후보 텍스트를 수정할 수 있다. 예를 들어, 각 블록마다 가장 높은 확률로 추정되는 문자에 기초하여 식별된 후보 텍스트가 "The eat"인 경우, 전자 장치(100)는 언어 모델에 기초하여 "The eat"을 "The cat"으로 수정할 수 있다.
도 6은 본 개시의 일 실시 예에 따른 이미지에 포함된 텍스트가 인식되는 과정을 설명하기 위한 도면이다.
원본 이미지(Original Image)가 전자 장치(100)에 입력되면, 전자 장치(100)는 이미지 프로세싱(Image Processing) 동작을 수행할 수 있다.
이후, 전자 장치(100) MDLSTM에 기반하여 텍스트 영역에 적용된 각 수직 블록 상의 픽셀 값에 기초하여 각 수직 블록에서 추정되는 문자의 확률을 산출할 수 있다.
도 6에 따른 Subsample Layer, Feed-forward, MDLSTM 및 CTC Layer는 신경망 구조를 형성하는데 이용되는 레이어의 유형이다. 여기서, CTC(Connectionist Temporal Classification) Layer는 훈련 신경망에만 사용되는 비용 함수(cost function)의 일종 일 수 있다.
전자 장치(100)는 Subsample Layer 1, Feed-forward 1, MDLSTM 1, Subsample Layer 2, Feed-forward 2, MDLSTM 2의 순서로 Subsample Layer, Feed-forward, MDLSTM 구간을 2회 반복할 수 있다. 이러한 반복을 통하여 전자 장치(100) 상의 과부하를 방지할 수 있다.
전자 장치(100)는 이러한 구간의 반복을 통해 원본 이미지에 포함된 각 텍스트의 확률을 산출할 수 있다. 여기서, 확률은 도 5에서 각 수직 블록에서 산출된 확률을 의미한다.
전자 장치(100)는 토큰 패스 디코딩에 기초하여 각 수직 블록마다 가장 높은 확률로 추정되는 문자를 식별할 수 있다. 전자 장치(100)는 가장 높은 확률로 추정되는 문자를 조합하여 후보 텍스트를 제공할 수 있다.
전자 장치(100)는 기설정된 언어 모델에 기초하여 제공된 후보 텍스트를 수정할 수 있다. 예를 들어, 각 블록마다 가장 높은 확률로 추정되는 문자에 기초하여 식별된 후보 텍스트가 "The eat"인 경우, 전자 장치(100)는 언어 모델에 기초하여 "The eat"을 "The cat"으로 수정할 수 있다.
여기서, 토근 패스 디코딩은 기설정된 언어 모델과 Viterbi 알고리즘을 사용하여 텍스트 라인 영역에서 인식되는 텍스트를 획득할 수 있다.
여기서, 기설정된 언어 모델은 실제 사용자가 사용하는 언어, 예를 들어 문장, 구 등을 모델링한 데이터일 수 있다. 언어 모델을 이용하면 순차적으로 입력된 텍스트에 기초하여 입력된 텍스트의 다음 워드로 가장 적절한 텍스트를 식별할 수 있다. 본 개시의 일 실시 예에 따르면, 기설정된 언어 모델은 N-Grams 언어 모델일 수 있으나 이에 한정되는 것은 아니다. 상술한 Viterbi 알고리즘 및 N-Grams 언어 모델은 종래 기술이므로 자세한 설명은 생략하도록 한다.
전자 장치(100)는 언어 모델에 의해 수정된 텍스트를 인식할 수 있다.
도 7은 본 개시의 일 실시 예에 따른 필기 텍스트가 인식되는 동작을 설명하기 위한 도면이다.
도 7a은 카메라(140)에 의해 촬영된 이미지, 디스플레이(150) 상에 손 터치 또는 펜 터치에 의해 입력된 이미지 또는 디스플레이(150) 상에 출력되는 이미지가 캡쳐된 이미지에 포함된 필기 텍스트 및 인쇄 텍스트 중 적어도 하나가 전자 장치(100)에 입력된 도면을 나타낸다.
전자 장치(100)는 보정 처리를 포함하는 이미지 프로세싱을 통해 각 텍스트 라인 영역을 식별하고, 트레이닝 모델에 기초하여 각 텍스트 라인 영역에 포함된 텍스트를 인식할 수 있다.
도 7b는 전자 장치(100)에 입력된 이미지에 포함된 텍스트가 인식된 도면을 나타낸다. 전자 장치(100)는 입력된 텍스트를 인식하여 도 7b와 같이 타이핑된 형태의 텍스트로 제공할 수 있다.
텍스트를 인식하는 각 단계는 상술한 바 있으므로 자세한 설명은 생략하도록 한다.
도 8은 전자 장치에서 인식된 텍스트와 관련된 기능을 식별하고 식별된 기능의 실행을 설명하기 위한 도면이다.
도 8a에 따르면, 필기 텍스트 및 인쇄 텍스트 중 적어도 하나가 전자 장치(100)에 입력되면, 전자 장치(100)는 상술한 동작에 기초하여 텍스트를 인식할 수 있다. 전자 장치(100)는 인식된 텍스트와 관련된 기능을 식별할 수 있다.
도 8b에 따르면, 식별된 텍스트가 "내일 오후 10시에 Mr. Brown과 만남"인 경우, 전자 장치(100)는 내일 오후 10시에 "Mr. Brown과의 만남"이라는 제목의 알람을 설정할 수 있다. 또한, 전자 장치(100)는 스케줄러 상에 내일에 해당되는 날짜 및 해당 날짜의 오후 10시에 "Mr. Brown과의 만남"이라는 스케줄을 설정할 수도 있다.
도 9는 본 발명의 일 실시 예에 따른 전자 장치를 제어하는 방법을 설명하기 위한 흐름도이다.
도 9에 따르면, 전자 장치는 필기 텍스트 및 인쇄 텍스트 중 적어도 하나를 포함하는 이미지를 획득할 수 있다(S910).
전자 장치는 이미지 프로세싱을 통해 이미지에서 각 텍스트 라인 영역을 식별할 수 있다(S920).
전자 장치는 이미지에서 텍스트 영역을 이진화하고, 이진화된 텍스트 영역에 대한 보정 처리에 의해 이미지 프로세싱을 수행할 수 있다.
여기서, 보정 처리는, 상기 텍스트 영역에 대한 기울기 제거, 높이 표준화 및 골격화(skeletonization) 중 적어도 하나를 포함할 수 있다.
전자 장치는 식별된 텍스트 라인을 포함하는 영역을 복수 개의 수직 블록으로 식별하고, 각 수직 블록의 픽셀 값에 기초하여 각 수직 블록에서 추정되는 문자의 확률을 산출할 수 있다.
구체적으로, 전자 장치는 제1 수직 블록에서 제1 문자의 존재 확률, 제1 수직 블록에서 제1 문자의 부존재 확률, 제2 수직 블록에서 제2 문자의 존재 확률 및 제2 수직 블록에서 제2 문자의 부존재 확률을 조합하여 텍스트 라인 영역에 제1 및 제2 문자 중 적어도 하나가 포함될 복수의 확률을 산출할 수 있다.
전자 장치는 트레이닝 모델에 기초하여 식별된 각 텍스트 라인 영역에 포함된 텍스트를 인식할 수 있다(S930).
전자 장치는 산출된 복수의 확률에 토큰 패스 디코딩(token passing decoding) 및 기설정된 언어 모델을 적용하여 텍스트 라인 영역에서 인식되는 텍스트를 획득할 수 있다.
전자 장치는 인식된 텍스트와 관련된 기능을 식별하고, 식별된 기능을 실행할 수 있다.
예를 들어, 식별된 텍스트가 "아침 6시에 기상"인 경우, 전자 장치는 오전 6시에 알람을 설정할 수 있다. 또는, 식별된 텍스트가 "AAA와 3월 2일 2시에 미팅"인 경우, 전자 장치는 스케줄러 상의 3월 2일에 AAA와 2시 미팅이라는 스케줄을 등록할 수도 있다.
또한, 식별된 텍스트가 "쇼핑 리스트, 계란, 우유, 사과, 빵"인 경우, 전자 장치는 이를 쇼핑 리스트로 인식하고 메모장에 이를 필기 텍스트 형식 그대로 저장하거나 인쇄 텍스트 형식으로 변경하여 저장할 수 있다.
각 단계의 상세 동작에 대해서는 상술한 바 있으므로 자세한 설명은 생략하도록 한다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들 중 적어도 일부 구성은 기존 전자 장치에 설치 가능한 어플리케이션 형태로 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들 중 적어도 일부 구성은, 기존 전자 장치에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들 중 적어도 일부 구성은 전자 장치 에 구비된 임베디드 서버, 또는 전자 장치의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 처리 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 처리 동작을 특정 기기가 수행하도록 할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 처리 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 처리 동작을 특정 기기가 수행하도록 할 수 있다.
제1 전자 장치의 프로세서에 의해 실행되는 경우, 제1 전자 장치가 동작을 수행하도록 하는 컴퓨터 명령을 저장하는 비일시적 컴퓨터 판독 가능 매체의 동작은, 제2 전자 장치의 오류 관련 정보로부터 타겟 시간 구간에 대한 제1 오류 관련 정보 및 타겟 시간 구간 및 타겟 시간 구간 외의 시간 구간을 포함하는 기준 시간 구간에 대한 제2 오류 관련 정보를 획득하고, 제1 오류 관련 정보에 기초하여 타겟 시간 구간에 대한 오류 발생 횟수 별 빈도 수 정보를 획득하고, 제2 오류 관련 정보에 기초하여 기준 시간 구간에 대한 오류 발생 횟수 별 빈도 수 정보를 획득하고, 타겟 시간 구간에 대한 오류 발생 횟수 별 빈도 수 정보 및 기준 시간 구간에 대한 오류 발생 횟수 별 빈도 수 정보를 비교하여 타겟 시간 구간에 대한 오류 발생 수준을 식별하는 동작을 포함할 수 있다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100: 전자 장치 110: 저장부
120: 프로세서 130: 통신부
140: 카메라 150: 디스플레이

Claims (15)

  1. 전자 장치에 있어서,
    MDLSTM (Multi-dimensional Long Short-Term Memory)의 트레이닝 모델이 저장된 저장부; 및
    필기 텍스트 및 인쇄 텍스트 중 적어도 하나를 포함하는 이미지를 획득하고,
    이미지 프로세싱을 통해 상기 이미지에서 각 텍스트 라인 영역을 식별하고,
    상기 트레이닝 모델에 기초하여 식별된 각 텍스트 라인 영역에 포함된 텍스트를 인식하는 프로세서;를 포함하고,
    상기 프로세서는,
    이미지 처리를 통해 텍스트 높이의 평균 값을 산출하고, 상기 이미지 내의 복수의 텍스트 라인 각각에 대해서 상기 산출된 평균 값에 기초하여 균등 간격으로 이격된 3개의 라인을 식별하고, 상기 식별된 3개의 라인을 걸치는 텍스트를 하나의 텍스트 라인으로 식별하는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 이미지에서 텍스트 영역을 이진화하고, 상기 이진화된 텍스트 영역에 대한 보정 처리에 의해 상기 이미지 프로세싱을 수행하는, 전자 장치.
  3. 제2항에 있어서,
    상기 보정 처리는,
    상기 텍스트 영역에 대한 기울기 제거, 높이 표준화 및 골격화(skeletonization) 중 적어도 하나를 포함하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 식별된 텍스트 라인을 포함하는 영역을 복수 개의 수직 블록으로 식별하고, 각 수직 블록의 픽셀 값에 기초하여 상기 각 수직 블록에서 추정되는 문자의 확률을 산출하는, 전자 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    제1 수직 블록에서 제1 문자의 존재 확률, 상기 제1 수직 블록에서 상기 제1 문자의 부존재 확률, 제2 수직 블록에서 제2 문자의 존재 확률 및 상기 제2 수직 블록에서 상기 제2 문자의 부존재 확률을 조합하여 상기 텍스트 라인 영역에 제1 및 제2 문자 중 적어도 하나가 포함될 복수의 확률을 산출하는, 전자 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 산출된 복수의 확률에 토큰 패스 디코딩(token passing decoding) 및 기설정된 언어 모델을 적용하여 상기 텍스트 라인 영역에서 인식되는 텍스트를 획득하는, 전자 장치.
  7. 제1항에 있어서,
    카메라; 및
    디스플레이;를 더 포함하고,
    상기 필기 텍스트 및 인쇄 텍스트 중 적어도 하나를 포함하는 이미지는, 상기 카메라에 의해 획득된 이미지이거나, 상기 디스플레이에 입력된 필기 이미지인, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 인식된 텍스트와 관련된 기능을 식별하고, 상기 식별된 기능을 실행하는, 전자 장치.
  9. MDLSTM (Multi-dimensional Long Short-Term Memory)의 트레이닝 모델이 저장된 전자 장치의 제어 방법에 있어서,
    필기 텍스트 및 인쇄 텍스트 중 적어도 하나를 포함하는 이미지를 획득하는 단계;
    이미지 프로세싱을 통해 상기 이미지에서 각 텍스트 라인 영역을 식별하는 단계; 및
    상기 트레이닝 모델에 기초하여 식별된 각 텍스트 라인 영역에 포함된 텍스트를 인식하는 단계;를 포함하고,
    상기 식별하는 단계는,
    이미지 처리를 통해 텍스트 높이의 평균 값을 산출하고,
    상기 이미지 내의 복수의 텍스트 라인 각각에 대해서 상기 산출된 평균 값에 기초하여 균등 간격으로 이격된 3개의 라인을 식별하고,
    상기 식별된 3개의 라인을 걸치는 텍스트를 하나의 텍스트 라인으로 식별하는 전자 장치의 제어 방법.
  10. 제9항에 있어서,
    상기 각 텍스트 라인 영역을 식별하는 단계는,
    상기 이미지에서 텍스트 영역을 이진화하고, 상기 이진화된 텍스트 영역에 대한 보정 처리에 의해 상기 이미지 프로세싱을 수행하는, 제어 방법.
  11. 제10항에 있어서,
    상기 보정 처리는,
    상기 텍스트 영역에 대한 기울기 제거, 높이 표준화 및 골격화(skeletonization) 중 적어도 하나를 포함하는, 제어 방법.
  12. 제9항에 있어서,
    상기 식별된 텍스트 라인을 포함하는 영역을 복수 개의 수직 블록으로 식별하고, 각 수직 블록의 픽셀 값에 기초하여 상기 각 수직 블록에서 추정되는 문자의 확률을 산출하는 단계;를 더 포함하는, 제어 방법.
  13. 제12항에 있어서,
    상기 확률을 산출하는 단계는,
    제1 수직 블록에서 제1 문자의 존재 확률, 상기 제1 수직 블록에서 상기 제1 문자의 부존재 확률, 제2 수직 블록에서 제2 문자의 존재 확률 및 상기 제2 수직 블록에서 상기 제2 문자의 부존재 확률을 조합하여 상기 텍스트 라인 영역에 제1 및 제2 문자 중 적어도 하나가 포함될 복수의 확률을 산출하는, 제어 방법.
  14. 제13항에 있어서,
    상기 텍스트를 인식하는 단계는,
    상기 산출된 복수의 확률에 토큰 패스 디코딩(token passing decoding) 및 기설정된 언어 모델을 적용하여 상기 텍스트 라인 영역에서 인식되는 텍스트를 획득하는, 제어 방법.
  15. 제9항에 있어서,
    상기 인식된 텍스트와 관련된 기능을 식별하고, 상기 식별된 기능을 실행하는 단계;를 더 포함하는, 제어 방법.
KR1020180038256A 2018-04-02 2018-04-02 전자 장치 및 그 제어 방법 KR102622349B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180038256A KR102622349B1 (ko) 2018-04-02 2018-04-02 전자 장치 및 그 제어 방법
PCT/KR2018/006080 WO2019194356A1 (ko) 2018-04-02 2018-05-29 전자 장치 및 그 제어 방법
EP18913212.9A EP3719695A4 (en) 2018-04-02 2018-05-29 ELECTRONIC DEVICE AND CONTROL PROCEDURE FOR IT
CN201880091898.4A CN111919219A (zh) 2018-04-02 2018-05-29 电子装置及其控制方法
US17/040,694 US11482025B2 (en) 2018-04-02 2018-05-29 Electronic device and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180038256A KR102622349B1 (ko) 2018-04-02 2018-04-02 전자 장치 및 그 제어 방법

Publications (2)

Publication Number Publication Date
KR20190119220A KR20190119220A (ko) 2019-10-22
KR102622349B1 true KR102622349B1 (ko) 2024-01-08

Family

ID=68101049

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180038256A KR102622349B1 (ko) 2018-04-02 2018-04-02 전자 장치 및 그 제어 방법

Country Status (5)

Country Link
US (1) US11482025B2 (ko)
EP (1) EP3719695A4 (ko)
KR (1) KR102622349B1 (ko)
CN (1) CN111919219A (ko)
WO (1) WO2019194356A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110555433B (zh) * 2018-05-30 2024-04-26 北京三星通信技术研究有限公司 图像处理方法、装置、电子设备及计算机可读存储介质
KR102142238B1 (ko) * 2020-02-25 2020-08-07 주식회사 엔디소프트 소정 이미지에 포함된 축약어, 손글씨, 비정형 단어 및 문장과 같은 텍스트 정보를 추출한 후 그 추출 결과를 소정 언어로 자동 번역하는 방법
US20240062338A1 (en) * 2022-08-19 2024-02-22 Capital One Services, Llc Systems and methods for blur identification and correction

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180005082A1 (en) * 2016-04-11 2018-01-04 A2Ia S.A.S. Systems and methods for recognizing characters in digitized documents

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5515455A (en) * 1992-09-02 1996-05-07 The Research Foundation Of State University Of New York At Buffalo System for recognizing handwritten words of cursive script
JP3099771B2 (ja) * 1997-05-07 2000-10-16 日本電気株式会社 文字認識方法、装置及び文字認識プログラムを記録した記録媒体
US8005294B2 (en) 2006-11-29 2011-08-23 The Mitre Corporation Cursive character handwriting recognition system and method
US8559723B2 (en) 2008-09-29 2013-10-15 Microsoft Corporation Letter model and character bigram based language model for handwriting recognition
US20110229036A1 (en) * 2010-03-17 2011-09-22 Ludwig-Maximilians-Universitat Munchen Method and apparatus for text and error profiling of historical documents
KR101905426B1 (ko) 2012-01-11 2018-10-10 한국전자통신연구원 자연영상에서 추출된 문자 정보의 순서화 방법 및 시스템
US9263036B1 (en) 2012-11-29 2016-02-16 Google Inc. System and method for speech recognition using deep recurrent neural networks
US9465985B2 (en) 2013-06-09 2016-10-11 Apple Inc. Managing real-time handwriting recognition
KR102214974B1 (ko) * 2013-08-29 2021-02-10 삼성전자주식회사 잠금 화면 상에서 필기 형태의 사용자 입력과 관련된 기능을 실행하기 위한 장치 및 방법
KR102305584B1 (ko) 2015-01-19 2021-09-27 삼성전자주식회사 언어 모델 학습 방법 및 장치, 언어 인식 방법 및 장치
KR102449837B1 (ko) 2015-02-23 2022-09-30 삼성전자주식회사 신경망 학습 방법 및 장치, 및 인식 방법 및 장치
US10515307B2 (en) 2015-06-05 2019-12-24 Google Llc Compressed recurrent neural network models
CN107636691A (zh) * 2015-06-12 2018-01-26 商汤集团有限公司 用于识别图像中的文本的方法和设备
FR3038100A1 (fr) * 2015-06-26 2016-12-30 Orange Procede de reconnaissance d'ecriture manuscrite sur une surface physique
US20170140240A1 (en) * 2015-07-27 2017-05-18 Salesforce.Com, Inc. Neural network combined image and text evaluator and classifier
US10346681B2 (en) 2015-09-26 2019-07-09 Wolfram Research, Inc. Method and computing device for optically recognizing mathematical expressions
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US9900645B1 (en) * 2016-11-18 2018-02-20 Panasonic Avionics Corporation Methods and systems for executing functions associated with objects on a transportation vehicle
US10423852B1 (en) * 2018-03-20 2019-09-24 Konica Minolta Laboratory U.S.A., Inc. Text image processing using word spacing equalization for ICR system employing artificial neural network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180005082A1 (en) * 2016-04-11 2018-01-04 A2Ia S.A.S. Systems and methods for recognizing characters in digitized documents

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Alireza Alaei 외 2명, "A new scheme for unconstrained handwritten text-line segmentation", Pattern Recognition, Vol.44, pp.917-928 (2010.10.30.) 1부.*
한국 공개특허공보 제10-2015-0025577호(2015.03.11.) 1부.*

Also Published As

Publication number Publication date
US11482025B2 (en) 2022-10-25
CN111919219A (zh) 2020-11-10
WO2019194356A1 (ko) 2019-10-10
EP3719695A1 (en) 2020-10-07
US20210012101A1 (en) 2021-01-14
EP3719695A4 (en) 2021-01-27
KR20190119220A (ko) 2019-10-22

Similar Documents

Publication Publication Date Title
US10430648B2 (en) Method of processing content and electronic device using the same
US11714969B2 (en) Typifying emotional indicators for digital messaging
US11113836B2 (en) Object detection method, device, apparatus and computer-readable storage medium
CN104412219B (zh) 语音识别的文本输入的视觉确认
KR102482850B1 (ko) 전자 장치 및 전자 장치의 필체 교정 기능 제공 방법
KR102622349B1 (ko) 전자 장치 및 그 제어 방법
KR102435365B1 (ko) 증명서 인식 방법 및 장치, 전자 기기, 컴퓨터 판독 가능한 저장 매체
US20150116349A1 (en) Image display apparatus, image display method, and computer program product
US9111140B2 (en) Identification and separation of form and feature elements from handwritten and other user supplied elements
JPWO2019107157A1 (ja) 棚割情報生成装置及び棚割情報生成プログラム
KR102576276B1 (ko) 자유 핸드라이팅 모드에서 텍스트 핸드라이팅 입력의 처리
JP2009169948A (ja) 原稿方向判定装置、原稿方向判定方法、プログラムおよびその記録媒体
KR102463657B1 (ko) 다중 오브젝트 구조를 인식하기 위한 시스템 및 방법
US20200394431A1 (en) System and method for machine translation of text
CN107133615A (zh) 信息处理设备和信息处理方法
US10242277B1 (en) Validating digital content rendering
US20230245435A1 (en) System and method for supervised contrastive learning for multi-modal tasks
JP2019220014A (ja) 画像解析装置、画像解析方法及びプログラム
US11666266B2 (en) Source localization of EEG signals
US10032071B2 (en) Candidate handwriting words using optical character recognition and spell check
Kulkarni et al. CNN-based LCD transcription of blood pressure from a mobile phone camera
US20160012286A1 (en) Electronic apparatus, method and storage medium
TWI715252B (zh) 電子裝置及其利用觸控資料的物件資訊辨識方法
US20220277221A1 (en) System and method for improving machine learning training data quality
US11837000B1 (en) OCR using 3-dimensional interpolation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant