KR20180122927A - 이미지에 포함된 텍스트 인식장치, 텍스트 인식방법 및 텍스트 인식방법을 실행하기 위한 프로그램을 기록한 기록매체 - Google Patents

이미지에 포함된 텍스트 인식장치, 텍스트 인식방법 및 텍스트 인식방법을 실행하기 위한 프로그램을 기록한 기록매체 Download PDF

Info

Publication number
KR20180122927A
KR20180122927A KR1020170175042A KR20170175042A KR20180122927A KR 20180122927 A KR20180122927 A KR 20180122927A KR 1020170175042 A KR1020170175042 A KR 1020170175042A KR 20170175042 A KR20170175042 A KR 20170175042A KR 20180122927 A KR20180122927 A KR 20180122927A
Authority
KR
South Korea
Prior art keywords
recognition
text
component
pixels
image
Prior art date
Application number
KR1020170175042A
Other languages
English (en)
Other versions
KR102073644B1 (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 KR20180122927A publication Critical patent/KR20180122927A/ko
Application granted granted Critical
Publication of KR102073644B1 publication Critical patent/KR102073644B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • G06V20/63Scene text, e.g. street names
    • G06K9/3258
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • G06K9/6202
    • 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
    • G06K2209/01

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Character Discrimination (AREA)

Abstract

텍스트의 인식장치가 개시된다. 텍스트의 인식장치는 하나 이상의 프로세서, 메모리 및 스토리지를 포함한다. 메모리는 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드한다. 스토리지는 컴퓨터 프로그램 및 데이터를 저장한다. 컴퓨터 프로그램은 이미지에 포함된 복수의 픽셀 각각에서 특징값을 추출하는 특징추출모듈, 추출된 특징값을 이용하여 복수의 픽셀 각각에서 복수의 컴퍼넌트 중 이미지에 포함된 텍스트를 구성하는 복수의 인식컴퍼넌트를 결정하는 컴퍼넌트결정모듈 및 각 픽셀마다 결정된 복수의 인식컴퍼넌트를 조합하여 텍스트를 완성하는 텍스트완성모듈을 포함한다.
이로 인하여, 글자와 수식이 혼재된 이미지에서 텍스트 인식 정확도와 인식 속도가 향상된다.

Description

이미지에 포함된 텍스트 인식장치, 텍스트 인식방법 및 텍스트 인식방법을 실행하기 위한 프로그램을 기록한 기록매체{Text recognition apparatus included in image, text recognition method and recording media storing with program for the performing method}
본 발명은 이미지에 포함된 텍스트 인식장치, 텍스트 인식방법 및 텍스트 인식방법을 실행하기 위한 프로그램을 기록한 기록매체에 관한 것으로서, 보다 상세하게는 이미지에 세그멘테이션을 수행함 없이 텍스트 인식장치, 텍스트 인식방법 및 텍스트 인식방법을 실행하기 위한 프로그램을 기록한 기록매체에 관한 것이다.
IT기술의 진보에 따라 영상을 제공하는 다양한 기기들, 이를테면 TV, 컴퓨터, 스마트폰, 태블릿, 웨어러블 디바이스, 가상현실 기기 등이 존재한다. 또한, 영상을 제공하면서 동시에 영상에 존재하는 텍스트를 인식하고, 인식된 텍스트를 이용하기 위한 다양한 연구가 진행되고 있다.
텍스트의 인식은 전자장치가 이미지 파일을 분석함으로써 수행된다. 텍스트를 인식하기 위한 종래기술의 일례로서 영역 기반(region-based) 인식이 있다. 영역 기반 인식은 영상을 글자마다 분할하는 세그멘테이션을 수행하고, 분할된 영역마다 텍스트가 존재하는지 판단하고, 영역에 텍스트가 존재하는 경우, 한글인지 영문인지 등을 판단한다. 나아가, 분할된 영역에 텍스트의 언어에 맞게 광문자인식(Optical Character Recognition: OCR)을 수행하여 이미지에서 텍스트를 인식한다.
영역 기반 인식을 통해 이미지에 포함된 텍스트를 인식하려는 경우, 이미지에 세그멘테이션이 반드시 수행되어야 한다. 따라서, 영역 기반 인식은 이미지에 포함된 글자 수가 많을수록 글자별로 영역을 나누어야 하기 때문에, 이미지 상에서 텍스트를 인식하는 시간이 오래 걸리는 단점이 있다. 또한, 영역에 포함된 언어를 사전에 파악해 두어야 텍스트인식이 가능하므로, 여러 단계를 거쳐 텍스트를 인식하는 문제점이 있다.
나아가, 이미지 상에 한글, 수식, 영문이 혼합하여 존재하는 경우, 각 글자마다 높이 또는 합자(ligature) 등과 같은 특성이 상이함으로 인해 세그멘테이션을 정밀하게 수행하는 것이 어려운 문제가 있다.
즉, 종래기술에 따른 텍스트 인식방법은 텍스트 인식의 정확도와 속도가 떨어지는 문제가 있다.
한국공개특허 제 2009-0035541 호
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 세그멘테이션의 수행을 생략하고도 이미지에 포함된 텍스트를 인식함으로써 보다 빠르고 정확하게 이미지에서 텍스트를 인식하여 제공하는 텍스트를 인식하기위한 방법, 그 장치 및 텍스트인식을 수행하는 프로그램을 기록한 기록매체가 제공된다.
상기한 문제점을 해결하기 위한 본 발명의 일 실시예에 따르면, 하나 이상의 프로세서; 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및 상기 컴퓨터 프로그램 및 데이터를 저장하는 스토리지를 포함하고, 상기 컴퓨터 프로그램은, 이미지에 포함된 복수의 픽셀 각각에서 특징값을 추출하는 특징추출모듈, 상기 추출된 특징값을 이용하여 상기 복수의 픽셀 각각에서 복수의 컴퍼넌트 중 상기 이미지에 포함된 텍스트를 구성하는 인식컴퍼넌트를 결정하는 컴퍼넌트결정모듈, 및 상기 각 픽셀마다 결정된 인식컴퍼넌트들을 조합하여 상기 텍스트를 완성하는 텍스트완성모듈을 포함하는, 텍스트 인식장치가 제공된다. 이로 인하여 글자와 수식이 혼재된 이미지에서 텍스트 인식 정확도와 인식속도가 향상된다.
상기 특징추출모듈은, 상기 이미지에 포함된 상기 복수의 픽셀 각각에 대하여 제1필터를 적용하여 상기 특징값을 추출하고, 상기 컴퍼넌트결정모듈은, 상기 제1필터의 적용에 따라 추출된 상기 특징값에 대하여 제2필터를 적용하여 상기 각 픽셀마다 상기 복수의 컴퍼넌트가 각각 존재할 수 있는 확률분포를 산출하고, 상기 복수의 컴퍼넌트 중 상기 산출된 확률분포를 이용하여 선택된 컴퍼넌트를 상기 각 픽셀의 인식컴퍼넌트로 결정할 수 있다.
상기 컴퍼넌트결정모듈은, 상기 복수의 픽셀 각각에 대하여 상기 인식컴퍼넌트가 결정된 후, 상기 복수의 픽셀 중 서로 소정의 거리 이내로 인접하고 상기 결정된 인식컴퍼넌트가 서로 같은 적어도 하나의 픽셀을 일군의 픽셀로 결정하고, 상기 일군의 픽셀에 상기 인식컴퍼넌트가 존재하는 것으로 결정할 수 있다.
상기 컴퍼넌트결정모듈은, 상기 각 픽셀에 대해서 결정된 상기 인식컴퍼넌트 각각의 모양에 기반하여 상기 각 인식컴퍼넌트의 중심좌표를 산출하고, 상기 산출된 중심좌표에 기초하여 중심픽셀들을 결정하며, 상기 복수의 픽셀 중 상기 각 중심픽셀과 거리가 기준거리레벨 이하이고, 상기 결정된 컴퍼넌트가 존재할 확률이 기준확률레벨을 초과하는 픽셀들을 상기 인식컴퍼넌트 각각이 존재하는 일군의 픽셀로 결정할 수 있다.
상기 컴퓨터 프로그램은 상기 특징추출모듈, 상기 컴퍼넌트결정모듈 및 상기 텍스트완성모듈 중 적어도 하나를 트레이닝시키는 트레이닝모듈을 더 포함할 수 있다.
상기 트레이닝모듈은 테스트이미지와 정답데이터를 생성할 수 있다.
상기 트레이닝모듈이 상기 테스트이미지를 상기 특징추출모듈로 전달하면, 상기 특징추출모듈은 상기 테스트이미지에 제1필터를 적용하여 테스트특징값을 추출하고, 상기 컴퍼넌트결정모듈은 상기 테스트특징값에 제2필터를 적용하여 테스트확률분포를 산출하여 상기 트레이닝모듈로 전달하며, 상기 트레이닝모듈은 상기 정답데이터와 상기 산출된 테스트확률분포를 비교하고, 비교결과에 기초하여 상기 정답데이터와 상기 테스트확률분포가 소정레벨 이상 차이나면 상기 제1필터와 상기 제2필터 중 적어도 하나를 조절할 수 있다.
상기 컴퍼넌트는 문자, 수식의 구성요소 및 공백 중 적어도 하나를 포함할 수 있다.
상기한 문제점을 해결하기 위한 본 발명의 일 실시예에 따르면, 텍스트 인식장치에 의해 수행되는 텍스트 인식방법에 있어서, 이미지에 복수의 픽셀 각각에서 특징값을 추출하는 단계; 상기 추출된 특징값을 이용하여 상기 복수의 픽셀 각각에서 복수의 컴퍼넌트 중 상기 이미지에 포함된 텍스트를 구성하는 인식컴퍼넌트를 결정하는 단계; 및 상기 각 픽셀마다 결정된 인식컴퍼넌트들을 조합하여 상기 텍스트를 완성하는 단계를 포함할 수 있다.
상기 이미지에 복수의 픽셀 각각에서 특징값을 추출하는 단계는, 상기 이미지에 포함된 상기 복수의 픽셀 각각에 대하여 제1필터를 적용하여 상기 특징값을 추출하는 단계를 포함하고, 상기 추출된 특징값을 이용하여 상기 복수의 픽셀 각각에서 복수의 컴퍼넌트 중 상기 이미지에 포함된 텍스트를 구성하는 인식컴퍼넌트를 결정하는 단계는, 상기 제1필터의 적용에 따라 추출된 상기 특징값에 대하여 제2필터를 적용하여 상기 각 픽셀마다 상기 복수의 컴퍼넌트가 각각 존재할 수 있는 확률분포를 산출하는 단계; 및 상기 복수의 컴퍼넌트 중 상기 산출된 확률분포를 이용하여 선택된 컴퍼넌트를 상기 각 픽셀의 인식컴퍼넌트로 결정하는 단계를 포함할 수 있다.
상기 복수의 컴퍼넌트 중 상기 산출된 확률분포를 이용하여 선택된 컴퍼넌트를 상기 각 픽셀의 인식컴퍼넌트로 결정하는 단계는, 상기 복수의 픽셀 각각에 대하여 상기 인식컴퍼넌트가 결정된 후, 상기 복수의 픽셀 중 서로 소정의 거리 이내로 인접하고 상기 결정된 인식컴퍼넌트가 서로 같은 적어도 하나의 픽셀을 일군의 픽셀로 결정하는 단계; 및 상기 일군의 픽셀에 상기 인식컴퍼넌트가 존재하는 것으로 결정하는 단계를 포함하는 단계를 포함할 수 있다.
상기 적어도 하나의 픽셀을 일군의 픽셀로 결정하는 단계는, 상기 각 픽셀에 대해서 결정된 상기 인식컴퍼넌트 각각의 모양에 기반하여 상기 각 인식컴퍼넌트의 중심좌표를 산출하는 단계; 상기 산출된 중심좌표에 기초하여 중심픽셀들을 결정하는 단계; 및 상기 복수의 픽셀 중 상기 각 중심픽셀과 거리가 기준거리레벨 이하이고, 상기 결정된 컴퍼넌트가 존재할 확률이 기준확률레벨을 초과하는 픽셀들을 상기 인식컴퍼넌트 각각이 존재하는 일군의 픽셀로 결정하는 단계를 포함할 수 있다.
상기 텍스트 인식장치를 트레이닝시키는 단계를 더 포함할 수 있다.
상기 텍스트의 인식을 트레이닝하는 단계는, 테스트이미지와 정답데이터를 생성하는 단계를 포함할 수 있다.
상기 텍스트의 인식을 트레이닝하는 단계는, 상기 트레이닝모듈이 상기 생성한 테스트이미지를 상기 특징추출모듈로 전달하는 단계; 상기 특징추출모듈은 상기 테스트이미지에 제1필터를 적용하여 테스트특징값을 추출하는 단계; 상기 컴퍼넌트결정모듈은 상기 테스트특징값에 제2필터를 적용하여 테스트확률분포를 산출하여 상기 트레이닝모듈로 전달하는 단계; 상기 정답데이터와 상기 산출된 테스트확률분포를 비교하는 단계; 상기 비교결과에 기초하여 상기 정답데이터와 상기 테스트확률분포가 소정레벨 이상 차이나면 상기 제1필터와 상기 제2필터 중 적어도 하나를 조절하는 단계를 포함할 수 있다.
상기 컴퍼넌트는 문자, 수식의 구성요소 및 공백 중 적어도 하나를 포함할 수 있다.
본 발명의 상기한 문제점을 해결하기 위한 본 발명의 일 실시예에 따르면, 텍스트 인식방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록매체가 제공된다.
본 발명의 일실시예에 따르면, 글자와 수식이 혼재된 이미지에서 텍스트 인식 정확도와 인식 속도가 향상된다.
나아가, 본 발명의 다른 실시예에 따르면 이미지에서 한글과 수식이 함께 포함된 텍스트를 정확히 구분하여 인식할 수 있다.
또한, 본 발명의 또 다른 실시예에 따르면, 텍스트 인식장치에 수행되는 머신러닝을 통해 텍스트를 보다 빠르고 정확하게 인식할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 사용자단말의 사용예를 도시한다.
도 2는 본 발명의 일 실시예에 따른 이미지에 포함된 텍스트 인식을 이용하는 시스템의 구성도를 도시한다.
도 3은 본 발명의 실시예에 따른 텍스트 인식장치의 블록도를 도시한다.
도 4는 본 발명의 일 실시예에 따른 텍스트 인식 프로그램에 포함되는 모듈을 도시한다.
도 5는 본 발명의 일 실시예에 따른 이미지에 포함된 특징을 추출하는 예를 도시한다.
도 6은 본 발명의 일 실시예에 따른 이미지에 포함된 특징의 추출 시, 입력 대상, 마스크 및 출력 대상을 디지털화하여 도시한다.
도 7은 본 발명의 일 실시예에 따른 확률분포를 추출하는 예를 도시한다.
도 8은 본 발명의 일 실시예에 따른 중심픽셀을 산출하고, 중심픽셀로부터 소정의 거리에 있는 픽셀들을 일군의 픽셀로 결정하는 예를 도시한다.
도 9는 본 발명의 일 실시예에 따른 이미지에 포함된 텍스트의 인식방법의 순서도를 도시한다.
도 10은 본 발명의 다른 일 실시예에 따른 트레이닝모듈을 포함하는 텍스트 인식 프로그램을 도시한다.
도 11은 본 발명의 다른 일 실시예에 따른 이미지에 포함된 텍스트의 인식방법의 순서도를 도시한다.
도 12는 본 발명의 다른 일실시예에 따른 텍스트 인식장치의 블록도를 도시한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
본 명세서에서, 텍스트란, 사람이 작성하고 해석할 수 있는 교환 가능한 정보로서, 문자, 숫자, 기호, 도형 및 그림 중 어느 하나 및 이의 결합체를 의미한다. 특히, 본 발명의 실시예에 따르면, 텍스트란, 후술될 텍스트 인식장치에 의한 이미지 인식의 결과물일 수 있다. 이하, 실시예들에 의해 설명되는 본 발명의 사상은 이미지에 포함된 텍스트를 인식하고, 이를 이용하는 장치에 적용될 수 있다. 본 발명에 따른 텍스트 인식장치는 컴퓨터, 휴대용단말기, 스마트폰, 서버, 웨어러블 디바이스 등 외부장치와 다양한 전자장치에 적용될 수 있다.
도 1은 본 발명의 일 실시예에 따른 사용자단말의 사용예를 도시한다.
도 1을 참조하면, 사용자단말(100)은 사용자의 조작에 따라 텍스트가 쓰여진 종이(10)를 촬영하고 이미지(101)를 생성한다. 생성된 이미지(101)는 사용자단말(100)의 디스플레이부(미도시)에 표시될 수 있다. 사용자단말(100)은 사용자의 추가 조작에 의해 이미지(101)를 외부장치로 전송할 수 있다. 여기에서, 외부장치는, 사용자단말(100)과 네트워크를 통해 통신할 수 있는 컴퓨팅 장치이다. 일 실시예에 따르면, 외부장치는 이미지 상의 텍스트를 인식할 수 있는 서버 장치일 수 있으나, 본 발명의 실시예는 이에 한정되지 않으며, 외부장치는, 데스크톱, 랩톱, 스마트폰, 태블릿 등의 단말장치일 수도 있다.
이미지(101)는 사용자단말(100)이 직접 촬영하여 생성되는 것에 한정되지 아니한다. 이미지(101)는 외부로부터 수신되거나, 사용자의 조작에 따라 사용자단말(100) 내부에 생성되어 저장될 수 있다.
외부장치는 수신된 이미지(101)에서 텍스트를 인식하고, 인식된 텍스트를 다른 단말장치로 전송한다. 외부장치는 다른 단말장치로부터 상기 인식된 텍스트에 대응하는 정보(103)가 수신되면, 수신된 정보(103)를 사용자단말(100)로 다시 전달한다. 수신된 정보(103)는 사용자단말(100)의 디스플레이부에 표시될 수 있다.
일례로서, 종이(10)에 포함된 텍스트는 문제를 포함할 수 있다. 또한, 인식된 텍스트에 대응하는 정보(103)는 문제에 대한 정답과 그에 대한 해설을 포함할 수 있다.
도 2는 본 발명의 일 실시예에 따른 이미지에 포함된 텍스트 인식을 이용하는 시스템의 구성도를 도시한다.
이하, 도 2를 참조하여 본 발명의 일 실시예에 따른 이미지에 포함된 텍스트 인식을 이용하는 시스템의 구성 및 동작을 구체적으로 설명한다. 설명의 편의를 위하여, 이미지에 포함된 텍스트 인식을 이용하는 시스템을 이하, 시스템 이라고도 한다.
도 2를 참조하면, 시스템은 사용자단말(100), 텍스트 인식장치(200) 및 정답제공자단말(300)을 포함할 수 있다. 사용자단말(100), 텍스트 인식장치(200) 및 정답제공자단말(300)은 서로 간에 데이터를 송수신할 수 있는 전자장치로 구성된다. 이를 위해 예컨대, 사용자단말(100), 텍스트 인식장치(200) 또는 정답제공자단말(300)은 서버, 데스크탑 PC와 같은 고정형 컴퓨터장치, 노트북, 스마트폰, 태블릿 피씨, 휴대용 단말, 웨어러블 디바이스 등 모바일 컴퓨터장치 중 어느 하나로 구성될 수 있다.
사용자단말(100)은 텍스트를 포함하는 이미지를 텍스트 인식장치(200)로 전송한다. 특히, 본 발명의 일 실시예에 따르면, 텍스트 인식장치(200)는 도 1에 대한 설명에서 상술된 외부장치일 수 있다.
텍스트 인식장치(200)는 이미지에 포함된 텍스트를 인식하고, 인식된 텍스트를 정답제공자단말(300)로 전송하거나, 데이터베이스(Data Base: DB)에 저장한다.
정답제공자단말(300)은 텍스트 인식장치(200)로부터 인식된 텍스트를 수신한다. 정답제공자단말(300)의 사용자는 인식된 텍스트를 참조하여 정답제공자단말(300)에 인식된 텍스트에 대응하는 정보를 입력한다. 인식된 텍스트가 일례로서 수학문제인 경우 이에 대응하는 정보는 수학문제의 정답일 수 있다. 정답제공자단말(300)은 입력된 정보를 포함하는 데이터를 텍스트 인식장치(200)로 전송한다. 특히, 본 발명의 일 실시예에 따르면, 정답제공자단말(300)은 도 1에 대한 설명에서 상술된 다른 단말장치일 수 있다.
텍스트 인식장치(200)는 데이터로서 저장된 인식된 텍스트와 관련된 정보 및/또는 정답제공자단말(300)로부터 수신되는 정보를 사용자단말(100)로 전송한다. 일례로서, 텍스트 인식장치(200)는 인식된 텍스트가 수학문제일 경우 저장된 데이터에 동일한 문제가 있는지 검색한다. 텍스트 인식장치(200)는 동일한 문제에 대한 해답이 데이터로서 포함되어 있다면, 검색된 해답을 사용자단말(100)로 전송할 수 있다. 또한, 텍스트 인식장치(200)는 인식된 수학문제와 유사하거나 관련된 문제들이 검색되면 관련 정보로서 사용자단말(100)로 전송할 수도 있다.
사용자단말(100)은 텍스트 인식장치(200)로부터 수신되는 정보를 사용자에게 제공한다.
도 2에 도시되지 않았으나, 시스템은 사용자단말(100), 텍스트 인식장치(200) 그리고 정답제공자단말(300) 외에도 데이터 전송을 중개하는 중개 서버, 데이터의 동기화를 위한 서버 등을 추가로 포함할 수 있다.
또한, 여러 사용자가 이미지를 전송하고, 여러 사용자가 이에 대응하는 정보를 제공할 수 있도록 복수개의 사용자단말과 정답제공자단말이 구비될 수 있다.
사용자단말(100)과 정답제공자단말(300)은 설명의 편의를 위해 단말장치를 역할에 따라 구분해 둔 것으로서, 동일한 단말장치가 필요에 따라 서로 역할을 달리하여 기능을 수행할 수도 있다.
도 3은 본 발명의 실시예에 따른 텍스트 인식장치의 블록도를 도시한다.
도 3을 참조하면, 텍스트 인식장치(200)는 도 2에 대한 설명에서 상술한 바와 같이, 텍스트를 포함하는 이미지를 수신한다. 텍스트 인식장치(200)는 수신된 이미지에서 텍스트를 인식한다. 텍스트 인식장치(200)는 이미지에서 인식된 텍스트를 외부로 전송 및 저장한다. 텍스트 인식장치(200)는 인식된 텍스트에 대응하는 정보를 외부로부터 수신하거나 텍스트 인식장치(200)에 미리 저장된 정보를 검색하여 이미지를 제공한 장치에 전송한다.
도 3을 참조하면, 텍스트 인식장치(200)는 프로세서(201), 네트워크 인터페이스(203), 메모리(205) 및 스토리지(207)를 포함한다.
프로세서(201)는 텍스트 인식장치(200)의 전반적인 동작을 제어한다. 프로세서(201)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성된다. 또한, 프로세서(201)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행한다. 텍스트 인식장치(200)는 적어도 하나 이상의 프로세서를 구비할 수 있다.
네트워크 인터페이스(203)는 텍스트 인식장치(200)의 외부와의 통신을 수행한다. 네트워크 인터페이스(203)는 텍스트 인식장치(200)가 외부 장치들과 통신하며, 데이터를 송수신하도록 한다. 송수신되는 데이터의 종류는 음성, 이미지, 텍스트, 동영상 등 다양하며 전술된 예에 한정되지 아니한다.
네트워크 인터페이스(203)는 외부장치와 통신하기 위해 유선통신을 위한 접속부를 포함할 수 있다. 접속부는 HDMI(high definition multimedia interface), HDMI-CEC(consumer electronics control), USB, 컴포넌트(component) 등의 규격에 따른 신호/데이터를 송/수신할 수 있으며, 이들 각각의 규격에 대응하는 적어도 하나 이상의 커넥터 또는 단자를 포함한다. 텍스트 인식장치(200)는 유선 LAN(Local Area Network)을 통해 복수의 서버들과 유선 통신을 수행할 수 있다.
네트워크 인터페이스(203)가 지원하는 통신의 종류는 유선통신에 한정되지 아니한다. 네트워크 인터페이스(203)는 무선통신을 수행하기 위해 RF(radio frequency)신호를 송수신하는 RF회로를 포함할 수 있으며, Wi-fi, 블루투스, 지그비(Zigbee), UWM(Ultra-Wide Band), Wireless USB, NFC(Near Field Communication) 중 하나 이상의 통신을 수행하도록 구성될 수 있다.
메모리(205)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(205)에는 스토리지(207)로부터 프로그램의 적어도 일부가 로드 될 수 있다. 메모리(205)는 기록해독이 가능하며 읽기 또는 쓰기 속도가 빠른 휘발성 메모리(volatile memory)로 구성된다. 일례로서, 메모리(205)에 RAM, DRAM 또는 SRAM 중 어느 하나가 구비될 수 있다.
스토리지(207)는 외부로부터 수신한 정보 및 데이터를 저장하기 위한 모듈이다. 스토리지(207)는 텍스트 인식장치(200)에 공급되는 전원이 차단되더라도 데이터들이 남아있어야 하며, 변동사항을 반영할 수 있도록 쓰기 가능한 비휘발성 메모리(non-volatile memory)로 구비될 수 있다. 스토리지(207)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
스토리지(207)에는 텍스트 인식 프로그램(210) 및 데이터(212)가 저장될 수 있다. 데이터(212)는 이미지에서 인식된 텍스트 및 외부장치와 주고 받은 기록들을 포함할 수 있다. 일례로서, 데이터(212)에는 다양한 문제와 문제의 키워드, 문제의 난이도, 과목, 배우는 학년 등이 관련 정보로서 추가로 포함할 수도 있다. 다른 예로서, 데이터(212)는 문제에 대한 해설, 해설을 작성한 정답제공자에 대한 정보 등을 포함할 수도 있다.
이하, 본 발명의 실시예들에 따른 방법들은 텍스트 인식장치(200)에 의해 수행되는 것으로 설명한다.
이하, 상술한 도 1 내지 3에 대한 설명을 바탕으로, 본 발명의 실시예들을 구체적으로 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 텍스트 인식 프로그램에 포함되는 모듈을 도시한다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 텍스트 인식 프로그램(210)은 특징추출모듈(211), 컴퍼넌트결정모듈(213) 그리고 텍스트완성모듈(215)을 포함한다. 텍스트 인식 프로그램(210)은 저장모듈(217)과 제어모듈(219)을 더 포함할 수도 있다. 이하, 텍스트 인식 프로그램(210)의 각 구성요소의 기능은 모듈 단위로서, 도 3에서 참조된 프로세서(201)에 의해 실행됨으로써 구현될 수 있다. 즉, 후술되는, 특징추출모듈(211), 컴퍼넌트결정모듈(213), 텍스트완성모듈(215), 저장모듈(217) 및 제어모듈(219) 등 각 모듈이 주체로서 수행하는 동작은, 프로세서(201)에 의해 각 모듈이 실행됨으로써 구현되는 기능을 의미한다.
특징추출모듈(211)은 수신된 이미지에 컨벌루션을 수행하여 특징값을 추출하도록 구성된다. 컨벌루션이란 수신된 이미지 중 적어도 일부에 마스크의 가중치를 곱하여 수신된 이미지보다 더 작은 크기의 출력값을 출력하도록 영상처리하는 것을 의미한다. 이미지는 숫자, 문자, 기호, 여백 등 다양한 컴퍼넌트를 포함할 수 있다. 이때, 마스크는, 이미지에 포함된 각 컴퍼넌트에서 특징값을 추출하기 위한 소프트웨어 툴로써, 윈도 또는 커널이라고도 한다.
특징추출모듈(211)은 입력데이터에 제1필터를 적용하여 출력데이터를 출력한다. 제1필터의 적용이 완료된 출력데이터를 특징값이라고도 한다. 이하, 제1 필터가 적용되는 과정을 제1 필터링이라 칭하기로 한다.
제1필터링에 따른, 특징값의 출력은 하나 이상의 단계로 수행될 수 있다. 이와 같이 하나 이상의 단계가 수행되는 동안, 각 단계마다 서로 다른 마스크가 적용될 수 있다. 특징추출모듈(211)은 이미지에 대하여 글자별 세그멘테이션을 수행하지 않고, 입력데이터의 모든 픽셀에 대하여 제1필터링을 수행한다. 마스크는 보다 정확히 특징값을 추출하기 위해 여러 계층으로 중첩될 수 있다.
이때, 마스크의 계층의 개수는, 이미지의 각 컴퍼넌트로부터 추출하고자 하는 특징의 개수에 대응할 수 있다. 특징값이란 이미지에 포함될 수 있는 각 컴퍼넌트의 특징에 대응하는 값을 의미하기도 한다. 예컨대, 이미지에 포함된 각 컴퍼넌트의 특징이란 일자 모양인 특징, 둥그런 모양인 특징, 꺾인 모양인 특징 등을 의미한다. 이러한 다양한 모양의 특징들을 특징값으로 추출하기 위해 다양한 계층의 마스크가 특징추출모듈(211)에 구비된다. 특징은 위에서 설명된 내용에 한정되지 아니하며, 이미지 내에 글자를 인식하기 위한 다양한 특징이 존재할 수 있다. 마스크의 계층의 개수가 많을수록 보다 다양한 특징값이 추출된다. 더 다양한 특징값이 추출될 수록 이미지에 존재하는 텍스트의 컴퍼넌트가 더 정확하게 결정된다.
이하, 설명의 편의를 위해 제1필터링에 사용되는 복수개의 마스크의 서로 다른 가중치들을 제1가중치라고도 한다. 예컨대, 제1가중치를 조절하는 것은 복수개의 마스크의 서로 다른 가중치 중 적어도 일부를 수정하는 것을 의미한다.
이하, 특징추출모듈(211)의 동작을 도 5와 도 6을 참조하여 보다 자세히 설명하도록 한다. 도 5는 본 발명의 일 실시예에 따른 이미지에 포함된 특징을 추출하는 예를 도시한다. 또한, 도 6은 본 발명의 일 실시예에 따른 이미지에 포함된 특징을 추출하는 예를 도시한다. 특히, 도 6에서, 이미지에 포함된 특징, 상기 특징을 추출하기 위한 마스크 및 추출된 출력 데이터의 기계어 처리 과정을 예로써 도시한다.
도 5를 참조하면, 이미지인 입력데이터(500)에 제1마스크(501)를 적용하여 제1출력데이터(502)를 생성하고, 제1출력데이터(502)에 제2마스크(503)를 적용하여 제2출력데이터(504)를 생성하는 과정이 도시된다. 입력데이터(500)는 제1출력데이터(502)보다 많은 픽셀을 포함하고, 제1출력데이터(502)는 제2출력데이터(504)보다 많은 픽셀을 포함한다. 제1마스크(501)와 제2마스크(503)는 서로 다른 크기를 가질 수 있다.
도 6을 참조하면, 도 5를 보다 자세히 설명하기 위해 각 픽셀에 기계어가 예시로서 입력된 입력데이터(601), 제1마스크(601) 그리고 제1출력데이터(602)가 도시된다. 각 픽셀에 있는 숫자는 설명의 편의를 위해 제공되는 예시일 뿐으로, 입력된 숫자와 픽셀의 크기 등에 본 발명의 사상이 한정되는 것은 아니다.
제1마스크(501)와 제2마스크(503)는 다양한 특징값을 추출하기 위해 각각 다양한 가중치를 갖는 복수의 계층이 구비될 수 있다. 각 단계별 마스크의 계층이 중첩되는 개수만큼 출력데이터의 개수가 늘어난다. 또한, 처리하고자 하는 입력데이터(500)의 크기에 따라 특징값을 추출하는 단계가 더 포함될 수 있다. 단계가 추가되면 특징추출모듈(211)에 복수의 계층을 갖는 제3마스크, 제4마스크 등이 추가적으로 구비될 수도 있다.
컴퍼넌트결정모듈(213)은 특징추출모듈(211)에서 추출된 특징값을 이용하여 각 픽셀마다 특정한 컴퍼넌트가 존재할 수 있는지 확률을 산출하고, 산출결과에 기초하여 이미지에 포함된 텍스트의 구성인 컴퍼넌트를 인식컴퍼넌트로 결정한다. 컴퍼넌트결정모듈(213)은 분류기(Classifier)라고도 불린다. 컴퍼넌트결정모듈(213)은 신경망을 이용한다. 컴퍼넌트는 예컨대, 한글의 자음 및 모음, 수식기호, 숫자, 영문 알파벳 등을 포함한다. 공백(space)은 아무 글자가 없는 상태로서 본 발명의 일 실시예에 따르면, 마치 글자의 컴퍼넌트 중 하나로 취급될 수 있다. 컴퍼넌트결정모듈(213)은 각 픽셀에 대해서 추출된 특징값들에 제2가중치를 갖는 제2필터를 적용하여 각 컴퍼넌트가 해당 픽셀에 존재할 확률을 산출한다. 예를 들어 컴퍼넌트결정모듈(213)은 ab라는 텍스트가 이미지에 포함된 경우, 이미지상 a가 위치하는 픽셀들에 컴퍼넌트 'a'가 위치할 확률을 높게 산출할 수 있다. 또한, 컴퍼넌트결정모듈(213)은, b가 위치하는 픽셀들에 컴퍼넌트 'b'가 위치할 확률을 높게 산출할 수 있다. 나아가, 컴퍼넌트결정모듈(213)은 a와 b 글자 내부에 존재하는 공백인 픽셀에도 주위 픽셀들의 특징값을 참조함으로써, 공백인 부분 역시 컴퍼넌트 'a' 및 'b'가 존재할 확률을 높게 산출할 수 있다. 이 때, 컴퍼넌트결정모듈(213)은 a와 b가 위치하는 픽셀들에는 다른 컴퍼넌트들이 위치할 확률을 낮게 산출할 수도 있다. 또한, 컴퍼넌트결정모듈(213)은 a와 b가 위치하지 않는 픽셀들에는 공백컴퍼넌트가 위치할 확률을 높게 산출할 수 있다. 다음으로, 컴퍼넌트결정모듈(213)은 산출된 결과를 이용하여 인식컴퍼넌트를 결정한다.
이하, 컴퍼넌트결정모듈(213)의 자세한 동작을 도 7 및 도 8을 참조하여 보다 상세하게 설명한다.
도 7은 본 발명의 일 실시예에 따른 확률분포를 추출하는 예를 도시한다.
도 7을 참조하면, 컴퍼넌트결정모듈(213)이 추출된 특징값을 이용하여 확률분포를 산출하는 일 예를 도시한다. 컴퍼넌트결정모듈(213)이 사용하는 출력데이터는 특징추출모듈(211)에서 출력되는 최종 출력데이터이다. 전술한 바와 같이 입력데이터에서 특징값을 추출하는 단계는 도 5의 제1마스크(501)와 제2마스크(503)가 적용되는 2개의 단계로 한정되지 않으나, 이하에서는 설명의 편의를 위해 제2출력데이터(504)를 최종 출력데이터로 가정하여 설명한다.
컴퍼넌트결정모듈(213)은 제2출력데이터(504)에 포함되는 특징값을 이용하여 이미지의 각 픽셀에 각 컴퍼넌트가 존재할 확률을 산출한다. 이를 위해, 제2가중치가 설정된 제2필터를 입력된 제2출력데이터(504)에 적용할 수 있다. 컴퍼넌트결정모듈(213)은 각 컴퍼넌트마다 레이어를 생성한다. 이어서, 컴퍼넌트결정모듈(213)은 각 컴퍼넌트마다 각 픽셀에 존재할 확률을 도식화한 확률분포(700)를 생성한다.
추출된 확률분포(700)를 살펴보면 이미지상에서 '공백(space)', 'a', 'b', '2', 'c', '4', 'd', '+', '=', ''등 각 컴퍼넌트가 존재할 확률이 높은 픽셀이 표시된다. 컴퍼넌트결정모듈(213)은 실제로 이미지에 존재하지 않는 다른 컴퍼넌트, 예컨대 'ㄷ', 'e', 'f' '<' 등, 에 대해서도 확률분포를 산출하나, 도시는 생략한다. 즉, 컴퍼넌트결정모듈(213)은 이미지에 존재하는 컴퍼넌트에 대해서만 확률을 산출하는 것이 아니라, 다른 모든 컴퍼넌트에 대한 레이어를 생성하여 존재할 확률을 산출한다. 도면에서는 편의상 특정 컴퍼넌트가 실제 위치하는 곳에만 해당 컴퍼넌트가 위치할 확률이 높은 것으로 산출되었다고 도시하고 있으나, 이에 한정되지 않는다. 즉, 특정 컴퍼넌트가 위치한 픽셀에 해당 컴퍼넌트가 존재할 확률과 다른 컴퍼넌트가 존재할 확률이 각각 존재할 수 있다. 예컨대, 컴퍼넌트 'a'와 인접한 곳에 위치한 특정 픽셀에서는 'a'가 존재할 확률이 70%, 'e'가 존재할 확률이 40%로 나타날 수 있다.
컴퍼넌트결정모듈(213)은 산출결과에 기초하여 특정 픽셀에서 존재할 확률이 가장 높은 컴퍼넌트를 해당 픽셀에서 인식되는 컴퍼넌트인 인식컴퍼넌트로 결정할 수 있다.
도 8은 본 발명의 일 실시예에 따른 중심픽셀을 산출하고, 중심픽셀로부터 소정의 거리에 있는 픽셀들을 일군의 픽셀로 결정하는 예를 도시한다.
컴퍼넌트결정모듈(213)은 일군의 픽셀(1001, 1011, 1021)에 하나의 컴퍼넌트가 위치한다고 결정할 수 있다. 이를 위해 컴퍼넌트결정모듈(213)은 결정된 인식컴퍼넌트의 모양에 기반하여 인식컴퍼넌트의 중심좌표를 산출하고, 중심좌표가 위치한 중심픽셀(1000, 1010, 1020)을 결정한다. 그리고, 컴퍼넌트결정모듈(213)은 중심픽셀(1000, 1010, 1020)과 거리가 소정의 기준거리레벨이하이고, 결정된 인식컴퍼넌트가 존재할 확률이 소정의 기준확률레벨을 초과하는 픽셀들을 일군의 픽셀(1001, 1011, 1021)로 결정할 수 있다. 기준거리레벨이란, 컴퍼넌트결정모듈(213)이 산출된 중심픽셀로부터 인식컴퍼넌트를 포함하는 픽셀을 결정하기 위하여 미리 설정된 거리 값일 수 있다. 또한, 기준확률레벨이란, 컴퍼넌트결정모듈(213)이 일군의 픽셀에 존재하는 컴퍼넌트를 인식컴퍼넌트로 결정하는데 있어, 기준이 되는 확률 값일 수 있다.
컴퍼넌트결정모듈(213)은 중심픽셀로부터 기준거리레벨 이내이고, 중심픽셀에 결정된 인식컴퍼넌트와 같은 컴퍼넌트가 존재할 확률이 기준확률레벨을 초과하는 픽셀들에 대해서, 다른 컴퍼넌트가 존재할 확률이 산출되더라도 일군의 픽셀로 결정할 수 있다. 컴퍼넌트결정모듈(213)은 일군의 픽셀들에 대해서 중심픽셀의 인식컴퍼넌트와 같은 컴퍼넌트를 인식컴퍼넌트로 결정한다.
이는, 일군의 픽셀들에 중심픽셀의 인식컴퍼넌트와 다른 컴퍼넌트가 존재할 확률이 더 높게 산출되더라도 마찬가지다. 예컨대, 컴퍼넌트결정모듈(213)은 산출된 특징값에 기초하여 특정 픽셀에서 'a'가 존재할 확률을 50%로 산출하고, 'e'가 존재할 확률을 65%로 산출할 수 있다. 그 특정 픽셀이 'a' 컴퍼넌트의 중심픽셀(1000)로부터 소정 기준거리레벨 이내이고, 'a'가 존재할 확률 또한 기준확률레벨을 초과한다면, 컴퍼넌트결정모듈(213)은 'e'가 존재할 확률이 'a'가 존재할 확률보다 더 높게 산출됨에도 불구하고, 해당 픽셀에서 'a'컴퍼넌트를 인식컴퍼넌트로 결정할 수 있다. 컴퍼넌트결정모듈(213)은 픽셀별로 결정된 인식컴퍼넌트를 텍스트완성모듈(215)로 전달한다.
즉, 본 발명의 일실시예에 따른 특징추출모듈(211)과 컴퍼넌트결정모듈(213)은 이미지 전체에 대해서 특징값을 추출하고, 추출된 특징값을 이용하여 컴퍼넌트가 존재할 확률을 산출한다. 본 발명에 따르면, 이미지에 포함된 글자별로 세그멘테이션을 수행한 후, 세그멘테이션에 따라 생성된 각 세그먼트에 포함된 글자가 한글인지, 영어인지 또는 수식인지 판단하는 과정이 생략된다. 본 발명의 일 실시예에 따르면 전체 이미지에 포함된 글자를 바로 추출 및 인식할 수 있게 되어, 세그멘테이션 후 개별적으로 글자에 대한 판단이 요구되는 종래 기술 대비 적은 판단 과정이 수행되고 이에 따라 이미지에 포함된 텍스트를 더 빠르고 정확하게 인식할 수 있다.
텍스트완성모듈(215)은 컴퍼넌트결정모듈(213)에서 결정된 인식컴퍼넌트를 조합하여 텍스트를 완성한다. 텍스트완성모듈(215)은 아직 조합되지 않은 인식컴퍼넌트들을 조합하여 텍스트를 완성한다. 예컨대, 텍스트완성모듈(215)은 인식컴퍼넌트가 한글 자소 (ㄱ, ㅏ, ㅇ)인 경우, 이를 조합하여 '강'이라는 글자를 완성한다. 나아가, 텍스트완성모듈(215)은 수식(부호, 분수표시, 시그마, 조합표시, 지수 등)인 인식컴퍼넌트를 조합하여 이미지에 포함되는 실제 수식을 완성한다. 이후, 텍스트완성모듈(215)은 완성된 글자와 수식들을 조합하여 한 줄로 만든다. 이 과정에서, 한 줄에 포함된 글자가 앞뒤 문맥에 기초하여 명백한 오기라고 판단되는 경우, 자동으로 수정을 가하거나, 사용자에게 확인을 구하여 수정할 수도 있다. 이를 위해, 텍스트 인식장치(200)는 디스플레이를 구비하고, 사용자의 확인을 구하고 오기를 수정하는 인터페이스를 출력할 수 있다.
텍스트완성모듈(215)의 동작은 전술한 내용에 한정되지 아니하고, 결정된 인식컴퍼넌트들을 다양한 방식으로 조합할 수 있도록 구현된다.
저장모듈(217)은 텍스트 인식 프로그램(210)의 실행에 따라 생성되고 외부와 송수신되는 정보를 텍스트 인식장치(200)의 스토리지(207)에 데이터(212)로서 저장한다.
제어모듈(219)은 텍스트 인식 프로그램(210)의 각 모듈들의 전반적인 동작을 제어한다.
도 9는 본 발명의 일 실시예에 따른 이미지에 포함된 텍스트의 인식방법의 순서도를 도시한다.
먼저, 동작 S500에서 텍스트 인식장치(200)는 사용자단말(100)로부터 이미지를 수신한다. 이미지는 사용자단말(100)이 직접 촬영하여 생성한 것일 수도 있고, 사용자단말(100)이 인터넷 등을 통해 외부로부터 수신한 것일 수도 있으며, 사용자가 사용자단말(100)을 조작하여 생성한 것일 수도 있다.
그리고, 동작 S501에서, 특징추출모듈(211)은 이미지에서 특징값을 추출한다. 특징추출모듈(211)은 이미지의 모든 픽셀에 제1가중치의 제1필터를 적용함으로써 특징값을 추출한다.
그리고, 동작 S502에서, 컴퍼넌트결정모듈(213)은 추출된 특징값에 기초하여 인식컴퍼넌트를 결정한다. 컴퍼넌트결정모듈(213)은 추출된 특징값을 이용하여 픽셀별로 각 컴퍼넌트가 있을 확률을 산출하고, 산출된 확률에 기초하여 해당 픽셀에 위치할 확률이 가장 높은 컴퍼넌트를 인식컴퍼넌트로 결정할 수 있다.
마지막으로, 동작 S503에서, 텍스트완성모듈(215)은 결정된 인식컴퍼넌트를 조합하여 텍스트를 완성한다.
도 10은 본 발명의 다른 일 실시예에 따른 트레이닝모듈을 포함하는 텍스트 인식 프로그램을 도시한다.
본 발명의 다른 일 실시예에 다른 텍스트 인식 프로그램(210)은 텍스트 인식의 정확도를 학습시키기 위한 트레이닝모듈(1100)을 더 포함할 수 있다. 본 실시예에서의 텍스트 인식 프로그램(210)은 트레이닝모듈(1100)을 이용한 머신러닝(Machine learning)을 통해 보다 정확하게 텍스트를 인식하도록 학습한다.
트레이닝모듈(1100)은 특징추출모듈(211), 컴퍼넌트결정모듈(213) 및 텍스트완성모듈(215) 중 적어도 하나를 학습시킨다. 트레이닝모듈(1100)은 학습을 위한 학습데이터를 생성하고, 이 중 적어도 일부를 특징추출모듈(211)에 제공한다. 학습데이터는 예컨대, 테스트이미지와 정답데이터를 포함한다. 정답데이터는 테스트이미지에 포함된 텍스트의 각 컴퍼넌트에 대한 확률분포값을 정답확률분포로 포함하고, 테스트이미지에 포함된 텍스트를 정답텍스트로 포함할 수 있다. 트레이닝모듈(1100)은 수식 및 한글이 포함된 이미지를 렌더링하고, 이미지에 랜덤한 형태의 노이즈를 첨가하며, 렌더링된 이미지에서 각 좌표마다 해당 좌표에 존재하는 컴퍼넌트에 대한 정답데이터를 생성한다. 정답데이터는 정답확률분포를 포함한다. 다른예로서, 트레이닝모듈(1100)은 학습데이터를 생성하지 아니하고 외부로부터 수신할 수도 있다.
특징추출모듈(211)과 컴퍼넌트결정모듈(213)은 수신된 학습데이터에 포함된 테스트이미지에 제1가중치를 갖는 제1필터를 적용하여 테스트특징값을 추출하고, 추출된 테스트특징값에 제2가중치를 갖는 제2필터를 적용하여 확률분포를 산출할 수 있다. 테스트이미지에서 산출된 확률분포를 이하에서 테스트 확률분포라 칭하기로 한다.
트레이닝모듈(1100)은 테스트 확률분포와 정답확률분포를 비교하고, 비교결과에 기초하여 특징추출모듈(211)과 컴퍼넌트결정모듈(213)을 학습시킬 수 있다. 일례로서, 트레이닝모듈(1100)은 테스트 확률분포 및 정답확률분포를 비교함으로써 오류(error)레벨을 산출한다. 나아가, 트레이닝모듈(1100)은 산출된 오류레벨에 기초하여 제1가중치 및/또는 제2가중치를 조절할 수 있다. 이를 위해 트레이닝모듈(1100)을 비롯한 텍스트 인식 프로그램(210)에 역전달(back propagation) 알고리즘이 적용될 수 있다.
나아가, 텍스트완성모듈(215)은 추출된 테스트 확률분포로부터 텍스트를 완성할 수 있다. 트레이닝모듈(1100)은 텍스트완성모듈(215)에서 완성된 텍스트와 정답데이터에 포함된 정답텍스트를 비교하고, 비교결과에 기초하여 텍스트완성모듈(215)을 학습시킬 수도 있다.
다만, 본 발명에 따른 트레이닝모듈(1100)이 특징추출모듈(211), 컴퍼넌트결정모듈(213) 그리고 텍스트완성모듈(215)을 학습시키는 과정은 전술된 설명에 한정되지 아니한다. 본 발명에는 이미 공지된 다양한 머신러닝(Machine Learning) 기법이 적용될 수 있다.
도 11은 본 발명의 다른 일 실시예에 따라 학습과정이 추가된 이미지에 포함된 텍스트의 인식방법의 순서도를 도시한다.
학습과정은 동작 S600내지 동작 S602에서 이루어진다.
먼저, 동작 S600에서, 트레이닝모듈(1100)이 테스트이미지와 정답데이터를 포함하는 학습데이터를 수신한다. 다른 예에 따르면, 트레이닝모듈(1100)은 직접 학습데이터를 생성할 수도 있다. 트레이닝모듈(1100)은 테스트이미지를 특징추출모듈(211)에 테스트이미지를 전달한다.
그리고, 동작 S601에서, 특징추출모듈(211)이 테스트이미지에서 특징값을 추출하고, 컴퍼넌트결정모듈(213)이 추출된 특징값을 이용하여 테스트확률분포를 추출한다.
이후, S602에서, 트레이닝모듈(1100)이 테스트확률분포와 정답데이터를 비교한다. 그리고 비교결과에 기초하여 특징추출모듈(211)의 제1필터의 제1가중치와 컴퍼넌트결정모듈(213)의 제2필터의 제2가중치 중 적어도 하나를 조절한다.
상기의 학습과정이 완료된 후, 텍스트 인식장치(200)는 동작 S1103 내지 S1106을 통해 기 설명된 이미지에서 텍스트를 인식한다.
우선, 동작 S603에서, 텍스트 인식장치(200)가 이미지를 수신한다.
그리고, 동작 S604에서, 특징추출모듈(211)이 상기에서 조절된 제1가중치를 갖는 제1필터를 수신된 이미지에 적용하여 특징값을 추출한다.
그후, 동작 S605에서, 컴퍼넌트결정모듈(213)이 추출된 특징값에 조절된 제2가중치를 갖는 제2필터를 적용함으로써 확률분포를 산출한다. 그리고, 컴퍼넌트결정모듈(213)은 산출된 확률분포를 이용하여 픽셀마다 인식컴퍼넌트를 결정한다.
마지막으로, 동작 S606에서, 텍스트완성모듈(215)은 결정된 인식컴퍼넌트를 조합하여 텍스트를 완성한다.
도 12는 본 발명의 다른 일실시예에 따른 텍스트 인식장치의 블록도를 도시한다.
도 12를 참조하면, 본 실시예에서의 스토리지(207)는 슬라이서(1201)를 더 포함할 수 있다.
슬라이서(1201)는 스토리지(207)에 저장되는 프로그램으로서, 그 기능은 도 3에서 참조된 프로세서(201)에 의해 실행됨으로써 구현된다. 즉, 후술되는 슬라이서(1201)의 동작은 프로세서(201)에 의해 실행됨으로써 구현되는 기능을 의미한다. 네트워크 인터페이스(203)로부터 이미지(1200)가 전달되면, 슬라이서(1201)는 수신된 이미지(1200)의 크기를 판단한다. 슬라이서(1201)는 수신된 이미지(1200)가 소정 크기 이상인 경우 이미지(1200)를 적당한 크기로 나누어 이미지조각들을 생성한다. 슬라이서(1201)는 이미지조각들을 텍스트 인식 프로그램(210)으로 전달한다. 즉, 슬라이서(1201)는 텍스트 인식 프로그램(210)이 너무 큰 이미지(120)를 한번에 인식하지 않고 나누어 인식하도록 하기 위해, 이미지(1200)를 잘라서 텍스트 인식 프로그램(210)에 제공한다.
추가적인 실시예로서, 슬라이서(1201)는 이미지(1200)가 잘리는 경계선에 글자가 위치하는지를 판단할 수 있다. 글자가 위치하여 글자가 일부 잘린다고 판단되면, 슬라이서(1201)는 이미지(1200)에 포함된 글자가 중간에 잘리지 않도록 잘리는 크기를 적절하게 조절할 수도 있다.
텍스트 인식 프로그램(210)은 이미지조각에서 텍스트(1210)를 인식하고, 인식된 텍스트를 슬라이서(1201)로 전달한다. 텍스트 인식 프로그램(210)이 이미지(1200)에서 텍스트(1210)를 인식하는 방법은 전술한 바 자세한 내용은 생략한다.
슬라이서(1201)는 텍스트 인식 프로그램(210)이 제공한 이미지 조각에서 인식된 텍스트들을 취합한다. 슬라이서(1201)는 취합된 결과인 텍스트(1210)를 데이터(212)로서 스토리지에 저장하거나, 네트워크 인터페이스(203)로 전달한다. 네트워크 인터페이스(203)로 전달된 텍스트(1210)는 외부로 출력된다.
본 실시예에 따르면, 지나치게 큰 크기의 이미지(1200)가 수신되더라도 속도가 지연됨 없이 처리하여 텍스트(1210)를 인식할 수 있다.
100 사용자단말
200 텍스트인식장치
201 프로세서
203 네트워크 인터페이스
205 메모리
207 스토리지
210 텍스트 인식 프로그램
212 데이터
300 정답제공자단말

Claims (17)

  1. 하나 이상의 프로세서;
    상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리;

    상기 컴퓨터 프로그램 및 데이터를 저장하는 스토리지를 포함하고,
    상기 컴퓨터 프로그램은,
    이미지에 포함된 복수의 픽셀 각각에서 특징값을 추출하는 특징추출모듈,
    상기 추출된 특징값을 이용하여 상기 복수의 픽셀 각각에서 복수의 컴퍼넌트 중 상기 이미지에 포함된 텍스트를 구성하는 인식컴퍼넌트를 결정하는 컴퍼넌트결정모듈, 및
    상기 각 픽셀마다 결정된 인식컴퍼넌트들을 조합하여 상기 텍스트를 완성하는 텍스트완성모듈을 포함하는, 텍스트 인식장치.
  2. 제 1항에 있어서,
    상기 특징추출모듈은,
    상기 이미지에 포함된 상기 복수의 픽셀 각각에 대하여 제1필터를 적용하여 상기 특징값을 추출하고,
    상기 컴퍼넌트결정모듈은,
    상기 제1필터의 적용에 따라 추출된 상기 특징값에 대하여 제2필터를 적용하여 상기 각 픽셀마다 상기 복수의 컴퍼넌트가 각각 존재할 수 있는 확률분포를 산출하고, 상기 복수의 컴퍼넌트 중 상기 산출된 확률분포를 이용하여 선택된 컴퍼넌트를 상기 각 픽셀의 인식컴퍼넌트로 결정하는 것을 특징으로 하는 텍스트 인식장치.
  3. 제 2항에 있어서,
    상기 컴퍼넌트결정모듈은,
    상기 복수의 픽셀 각각에 대하여 상기 인식컴퍼넌트가 결정된 후, 상기 복수의 픽셀 중 서로 소정의 거리 이내로 인접하고 상기 결정된 인식컴퍼넌트가 서로 같은 적어도 하나의 픽셀을 일군의 픽셀로 결정하고, 상기 일군의 픽셀에 상기 인식컴퍼넌트가 존재하는 것으로 결정하는 것을 특징으로 하는 텍스트 인식장치.
  4. 제 3항에 있어서,
    상기 컴퍼넌트결정모듈은,
    상기 각 픽셀에 대해서 결정된 상기 인식컴퍼넌트 각각의 모양에 기반하여 상기 각 인식컴퍼넌트의 중심좌표를 산출하고, 상기 산출된 중심좌표에 기초하여 중심픽셀들을 결정하며, 상기 복수의 픽셀 중 상기 각 중심픽셀과 거리가 기준거리레벨 이하이고, 상기 결정된 컴퍼넌트가 존재할 확률이 기준확률레벨을 초과하는 픽셀들을 상기 인식컴퍼넌트 각각이 존재하는 일군의 픽셀로 결정하는 텍스트 인식장치.
  5. 제 1항에 있어서,
    상기 컴퓨터 프로그램은 상기 특징추출모듈, 상기 컴퍼넌트결정모듈 및 상기 텍스트완성모듈 중 적어도 하나를 트레이닝시키는 트레이닝모듈을 더 포함하는 텍스트 인식장치.
  6. 제 5항에 있어서,
    상기 트레이닝모듈은 테스트이미지와 정답데이터를 생성하는 것을 특징으로 하는 텍스트 인식장치.
  7. 제 6항에 있어서,
    상기 트레이닝모듈이 상기 테스트이미지를 상기 특징추출모듈로 전달하면,
    상기 특징추출모듈은 상기 테스트이미지에 제1필터를 적용하여 테스트특징값을 추출하고, 상기 컴퍼넌트결정모듈은 상기 테스트특징값에 제2필터를 적용하여 테스트확률분포를 산출하여 상기 트레이닝모듈로 전달하며,
    상기 트레이닝모듈은 상기 정답데이터와 상기 산출된 테스트확률분포를 비교하고, 비교결과에 기초하여 상기 정답데이터와 상기 테스트확률분포가 소정레벨 이상 차이나면 상기 제1필터와 상기 제2필터 중 적어도 하나를 조절하는 텍스트 인식장치.
  8. 제 1항에 있어서,
    상기 컴퍼넌트는 문자, 수식의 구성요소 및 공백 중 적어도 하나를 포함하는 텍스트 인식장치.
  9. 텍스트 인식장치에 의해 수행되는 텍스트 인식방법에 있어서,
    이미지에 복수의 픽셀 각각에서 특징값을 추출하는 단계;
    상기 추출된 특징값을 이용하여 상기 복수의 픽셀 각각에서 복수의 컴퍼넌트 중 상기 이미지에 포함된 텍스트를 구성하는 인식컴퍼넌트를 결정하는 단계; 및
    상기 각 픽셀마다 결정된 인식컴퍼넌트들을 조합하여 상기 텍스트를 완성하는 단계를 포함하는 텍스트 인식방법.
  10. 제 9항에 있어서,
    상기 이미지에 복수의 픽셀 각각에서 특징값을 추출하는 단계는,
    상기 이미지에 포함된 상기 복수의 픽셀 각각에 대하여 제1필터를 적용하여 상기 특징값을 추출하는 단계를 포함하고,
    상기 추출된 특징값을 이용하여 상기 복수의 픽셀 각각에서 복수의 컴퍼넌트 중 상기 이미지에 포함된 텍스트를 구성하는 인식컴퍼넌트를 결정하는 단계는,
    상기 제1필터의 적용에 따라 추출된 상기 특징값에 대하여 제2필터를 적용하여 상기 각 픽셀마다 상기 복수의 컴퍼넌트가 각각 존재할 수 있는 확률분포를 산출하는 단계; 및
    상기 복수의 컴퍼넌트 중 상기 산출된 확률분포를 이용하여 선택된 컴퍼넌트를 상기 각 픽셀의 인식컴퍼넌트로 결정하는 단계를 포함하는 텍스트 인식방법.
  11. 제 10항에 있어서,
    상기 복수의 컴퍼넌트 중 상기 산출된 확률분포를 이용하여 선택된 컴퍼넌트를 상기 각 픽셀의 인식컴퍼넌트로 결정하는 단계는,
    상기 복수의 픽셀 각각에 대하여 상기 인식컴퍼넌트가 결정된 후, 상기 복수의 픽셀 중 서로 소정의 거리 이내로 인접하고 상기 결정된 인식컴퍼넌트가 서로 같은 적어도 하나의 픽셀을 일군의 픽셀로 결정하는 단계; 및
    상기 일군의 픽셀에 상기 인식컴퍼넌트가 존재하는 것으로 결정하는 단계를 포함하는 단계를 포함하는 텍스트 인식방법.
  12. 제 11항에 있어서,
    상기 적어도 하나의 픽셀을 일군의 픽셀로 결정하는 단계는,
    상기 각 픽셀에 대해서 결정된 상기 인식컴퍼넌트 각각의 모양에 기반하여 상기 각 인식컴퍼넌트의 중심좌표를 산출하는 단계;
    상기 산출된 중심좌표에 기초하여 중심픽셀들을 결정하는 단계; 및
    상기 복수의 픽셀 중 상기 각 중심픽셀과 거리가 기준거리레벨 이하이고, 상기 결정된 컴퍼넌트가 존재할 확률이 기준확률레벨을 초과하는 픽셀들을 상기 인식컴퍼넌트 각각이 존재하는 일군의 픽셀로 결정하는 단계를 포함하는 텍스트 인식방법.
  13. 제 9항에 있어서,
    상기 텍스트 인식장치를 트레이닝시키는 단계를 더 포함하는 텍스트의 인식방법.
  14. 제 13항에 있어서,
    상기 텍스트의 인식을 트레이닝하는 단계는,
    테스트이미지와 정답데이터를 생성하는 단계를 포함하는 텍스트 인식방법.
  15. 제 14항에 있어서,
    상기 텍스트의 인식을 트레이닝하는 단계는,
    상기 트레이닝모듈이 상기 생성한 테스트이미지를 상기 특징추출모듈로 전달하는 단계;
    상기 특징추출모듈은 상기 테스트이미지에 제1필터를 적용하여 테스트특징값을 추출하는 단계;
    상기 컴퍼넌트결정모듈은 상기 테스트특징값에 제2필터를 적용하여 테스트확률분포를 산출하여 상기 트레이닝모듈로 전달하는 단계;
    상기 정답데이터와 상기 산출된 테스트확률분포를 비교하는 단계;
    상기 비교결과에 기초하여 상기 정답데이터와 상기 테스트확률분포가 소정레벨 이상 차이나면 상기 제1필터와 상기 제2필터 중 적어도 하나를 조절하는 단계를 포함하는 텍스트 인식방법.
  16. 제 9항에 있어서,
    상기 컴퍼넌트는 문자, 수식의 구성요소 및 공백 중 적어도 하나를 포함하는 텍스트 인식방법.
  17. 제 9항 내지 제 16항 중 어느 한 항에 기재된 텍스트 인식방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록매체.
KR1020170175042A 2017-05-04 2017-12-19 이미지에 포함된 텍스트 인식장치, 텍스트 인식방법 및 텍스트 인식방법을 실행하기 위한 프로그램을 기록한 기록매체 KR102073644B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020170056820 2017-05-04
KR20170056820 2017-05-04
KR20170082333 2017-06-29
KR1020170082333 2017-06-29

Publications (2)

Publication Number Publication Date
KR20180122927A true KR20180122927A (ko) 2018-11-14
KR102073644B1 KR102073644B1 (ko) 2020-02-06

Family

ID=64328253

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170175042A KR102073644B1 (ko) 2017-05-04 2017-12-19 이미지에 포함된 텍스트 인식장치, 텍스트 인식방법 및 텍스트 인식방법을 실행하기 위한 프로그램을 기록한 기록매체

Country Status (1)

Country Link
KR (1) KR102073644B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101986721B1 (ko) * 2019-03-27 2019-06-10 월드버텍 주식회사 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법
WO2021166555A1 (ja) * 2020-02-17 2021-08-26 株式会社神戸製鋼所 自動溶接システム、自動溶接方法、学習装置、学習済みモデルの生成方法、学習済みモデル、推定装置、推定方法、及びプログラム
KR20220068667A (ko) * 2020-11-19 2022-05-26 (주)아데나 템플릿 자동 작성 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090035541A (ko) 2006-07-31 2009-04-09 마이크로소프트 코포레이션 텍스트 인식을 용이하게 하는 시스템 및 텍스트 인식 방법
KR20150137752A (ko) * 2014-05-30 2015-12-09 삼성에스디에스 주식회사 문자 인식 방법 및 그 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090035541A (ko) 2006-07-31 2009-04-09 마이크로소프트 코포레이션 텍스트 인식을 용이하게 하는 시스템 및 텍스트 인식 방법
KR20150137752A (ko) * 2014-05-30 2015-12-09 삼성에스디에스 주식회사 문자 인식 방법 및 그 장치

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101986721B1 (ko) * 2019-03-27 2019-06-10 월드버텍 주식회사 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법
WO2021166555A1 (ja) * 2020-02-17 2021-08-26 株式会社神戸製鋼所 自動溶接システム、自動溶接方法、学習装置、学習済みモデルの生成方法、学習済みモデル、推定装置、推定方法、及びプログラム
JP2021126693A (ja) * 2020-02-17 2021-09-02 株式会社神戸製鋼所 自動溶接システム、溶接方法、学習装置、学習済みモデルの生成方法、学習済みモデル、推定装置、推定方法、及びプログラム
CN115151367A (zh) * 2020-02-17 2022-10-04 株式会社神户制钢所 自动焊接系统、自动焊接方法、学习装置、已学习模型的生成方法、已学习模型、推定装置、推定方法以及程序
CN115151367B (zh) * 2020-02-17 2024-01-12 株式会社神户制钢所 自动焊接系统、自动焊接方法、学习装置、神经网络系统以及推定装置
KR20220068667A (ko) * 2020-11-19 2022-05-26 (주)아데나 템플릿 자동 작성 장치

Also Published As

Publication number Publication date
KR102073644B1 (ko) 2020-02-06

Similar Documents

Publication Publication Date Title
US8812302B2 (en) Techniques for inserting diacritical marks to text input via a user device
US20160321242A1 (en) Natural Language Processing Utilizing Grammar Templates
TWI475406B (zh) 取決於上下文之輸入方法
US9436382B2 (en) Natural language image editing
US9858698B2 (en) Text resizing within an embedded image
US9767388B2 (en) Method and system for verification by reading
KR102073644B1 (ko) 이미지에 포함된 텍스트 인식장치, 텍스트 인식방법 및 텍스트 인식방법을 실행하기 위한 프로그램을 기록한 기록매체
KR20110083544A (ko) 성장형 개인 단어 데이터베이스 시스템을 이용한 언어 학습 장치 및 방법
US20200242825A1 (en) Electronic device and method for correcting handwriting by same
CN112396054A (zh) 文本提取方法、装置、电子设备及存储介质
US20220284175A1 (en) Systems and methods for extracting text from portable document format data
US11163821B2 (en) Image extraction apparatus, image extraction method, and recording medium storing an image extraction program
CN105844226A (zh) 基于主观题的数据处理方法及其装置
CN111104572A (zh) 用于模型训练的特征选择方法、装置及电子设备
CN111353493A (zh) 文本图像方向校正方法及装置
CN113850239B (zh) 多文档检测方法、装置、电子设备及存储介质
CN113850238B (zh) 文档检测方法、装置、电子设备及存储介质
US20220284724A1 (en) Systems and methods for extracting text from portable document format data
US20220254002A1 (en) Method for improving efficiency of defect detection in images, image defect detection apparatus, and computer readable storage medium employing method
CN115273057A (zh) 文本识别方法、装置和听写批改方法、装置及电子设备
US11410569B1 (en) Methods, systems, and media for identifying and scoring assignment answers
CN113255629A (zh) 文档处理方法、装置、电子设备及计算机可读存储介质
CN106599809B (zh) 答案信息录入方法、装置及终端设备
US11747914B2 (en) System and method for providing electric book based on reading type
US8682643B1 (en) Ranking transliteration output suggestions

Legal Events

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