KR20200045447A - 문자 인식을 위한 영상 전처리 장치 및 방법 - Google Patents

문자 인식을 위한 영상 전처리 장치 및 방법 Download PDF

Info

Publication number
KR20200045447A
KR20200045447A KR1020200043739A KR20200043739A KR20200045447A KR 20200045447 A KR20200045447 A KR 20200045447A KR 1020200043739 A KR1020200043739 A KR 1020200043739A KR 20200043739 A KR20200043739 A KR 20200043739A KR 20200045447 A KR20200045447 A KR 20200045447A
Authority
KR
South Korea
Prior art keywords
image
processor
processing apparatus
processing
channel
Prior art date
Application number
KR1020200043739A
Other languages
English (en)
Inventor
박승제
심현우
서일환
정윤철
정서영
김가은
Original Assignee
넷마블 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 넷마블 주식회사 filed Critical 넷마블 주식회사
Publication of KR20200045447A publication Critical patent/KR20200045447A/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/18Extraction of features or characteristics of the image
    • G06V30/18133Extraction of features or characteristics of the image regional/local feature not essentially salient, e.g. local binary pattern
    • G06K9/00409
    • G06K9/3258
    • G06K9/40
    • G06K9/42
    • G06K9/4604
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • 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/15Cutting or merging image elements, e.g. region growing, watershed or clustering-based techniques
    • 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
    • G06V30/164Noise filtering
    • 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
    • G06V30/166Normalisation of pattern dimensions
    • G06K2209/01
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Character Input (AREA)
  • Image Analysis (AREA)

Abstract

문자 인식을 위한 영상 전처리 장치 및 방법이 개시된다. 영상 전처리 장치는 문자를 포함하는 입력 영상을 수신하는 I/O 인터페이스, 입력 영상을 저장하는 메모리 및 입력 영상에 대해 전처리를 수행하는 프로세서를 포함하고, 프로세서는, 입력 영상에 대해 전처리를 수행하는 경우, I/O 인터페이스로부터 수신한 크롭(crop) 영역 정보를 기초로 입력 영상을 편집하여 문자를 포함하는 편집 영상을 생성하고, 편집 영상에 대해 자동으로 전처리를 수행하여 제1 전처리 영상을 생성하고, 제1 전처리 영상이 제1 조건을 만족하는지 못하는 경우, I/O 인터페이스로부터 수신한 사용자 입력을 기초로 제1 전처리 영상에 대해 전처리를 수행하여 제2 전처리 영상을 생성한다.

Description

문자 인식을 위한 영상 전처리 장치 및 방법{METHOD AND APPARATUS FOR PREPROCESSING IMAGE FOR RECOGNITION OF CHARACTER}
아래의 설명은 게임 영상에서 문자를 인식하는 기술에 관한 것이다.
게임의 사실감을 높이기 위하여, 게임에서 사용되는 문자들은 게임 화면 내에서 영상의 일부로 표시될 수 있다. 영상의 일부로 표시된 문자들은 영상의 전처리를 통해 문자로서 인식될 수 있다. 그러나, 특수 효과 또는 그래픽 컴포넌트의 중첩으로 인하여 문자 인식의 정확도가 감소될 수 있다.
본 발명의 일실시예에 따른 영상 전처리 장치는, 문자를 포함하는 입력 영상을 수신하는 I/O 인터페이스, 상기 입력 영상을 저장하는 메모리 및 상기 입력 영상에 대해 전처리를 수행하는 프로세서를 포함하고, 상기 프로세서는, 상기 입력 영상에 대해 전처리를 수행하는 경우, 상기 I/O 인터페이스로부터 수신한 크롭(crop) 영역 정보를 기초로 상기 입력 영상을 편집하여 상기 문자를 포함하는 편집 영상을 생성하고, 상기 편집 영상에 대해 자동으로 전처리를 수행하여 제1 전처리 영상을 생성하고, 상기 제1 전처리 영상이 정확도와 관련된 정확도와 관련된 제1 조건을 만족하는지 못하는 경우, 상기 I/O 인터페이스로부터 수신한 사용자 입력을 기초로 상기 제1 전처리 영상에 대해 전처리를 수행하여 제2 전처리 영상을 생성한다.
상기 프로세서는, 상기 편집 영상의 크기를 조정할 수 있다.
상기 프로세서는, 상기 사용자 입력에 포함된 상기 문자의 색상 정보 또는 영역 정보를 기초로 상기 제2 전처리 영상을 생성할 수 있다.
상기 프로세서는, 상기 편집 영상에 포함된 문자를 둘러싸는 박스를 이용하여 상기 제2 전처리 영상을 생성할 수 있다.
상기 프로세서는, 상기 제1 전처리 영상에서 하나 이상의 엣지를 검출하고, 상기 하나 이상의 엣지를 이용하여 상기 문자와 관련된 외곽선을 생성하고, 상기 외곽선을 둘러싸는 박스를 생성하고, 상기 박스의 내부 영역에 대하여 이진화를 수행하여 제2 이진화 결과 영상을 생성할 수 있다.
상기 프로세서는, 상기 제1 전처리 영상으로부터 엣지 그래디언트를 검출하고, 상기 엣지 그래디언트의 크기 및 방향을 이용하여 상기 하나 이상의 엣지를 검출할 수 있다.
상기 프로세서는, 상기 하나 이상의 엣지 중에서 상기 엣지들 사이의 연결성과 관련된 제2 조건을 만족하는 엣지를 선택하고, 상기 선택된 엣지를 이용하여 상기 외곽선을 생성할 수 있다.
상기 프로세서는, 상기 외곽선을 둘러싸는 하나 이상의 박스를 생성하고, 상기 하나 이상의 박스 중에서 상기 문자의 특성과 관련된 제3 조건을 만족하는 박스를 선택할 수 있다.
상기 프로세서는, 상기 박스의 내부 영역을 각 채널별로 분리하여 복수의 채널별 영상을 생성하고, 상기 복수의 채널별 영상 각각에 대하여 이진화를 수행하여 복수의 이진화된 채널별 영상을 생성하고, 상기 복수의 이진화된 채널별 영상 중에서 정확도와 관련된 제4 조건을 만족하는 이진화된 채널별 영상을 선택하여 상기 제2 이진화 결과 영상을 생성할 수 있다.
상기 프로세서는, 상기 사용자 입력을 기초로 상기 복수의 채널별 영상 각각에 대하여 이진화를 수행할 수 있다.
상기 프로세서는, 상기 제2 이진화 결과 영상에 포함된 노이즈를 제거할 수 있다.
상기 프로세서는, 상기 사용자 입력에 포함된 상기 문자의 영역 정보를 기초로 상기 제2 이진화 결과 영상에 포함된 노이즈를 제거할 수 있다.
상기 프로세서는, 상기 제1 전처리 영상에 대해 이진화를 수행하여 제1 이진화 결과 영상을 생성할 수 있다.
상기 프로세서는, 상기 제1 전처리 영상을 채널 별로 분리하여 복수의 채널별 영상을 생성하고, 상기 복수의 채널별 영상 각각에 대해 이진화를 수행하여 상기 제1 이진화 결과 영상을 생성할 수 있다.
상기 프로세서는, 상기 제1 전처리 영상에 포함된 상기 문자의 특성 정보를 기초로 상기 제2 전처리 영상을 생성할 수 있다.
상기 프로세서는, 상기 제2 전처리 영상이 상기 미리 설정된 조건을 만족하는지 여부를 판단하고, 상기 메모리는, 상기 미리 설정된 조건이 만족되는 경우, 상기 제2 전처리 영상으로부터 인식된 상기 문자와 상기 문자에 대응되는 고유키를 저장할 수 있다.
일 실시예에 따른 문자 인식 장치는, 문자를 포함하는 입력 영상을 수신하는 I/O 인터페이스, 상기 입력 영상을 저장하는 메모리, 상기 입력 영상에 대해 전처리를 수행하고 상기 전처리가 수행된 출력 영상에서 상기 문자를 인식하는 프로세서 및 상기 인식된 문자를 출력하는 출력 장치를 포함하고, 상기 프로세서는, 상기 입력 영상에 대해 전처리를 수행하는 경우, 상기 I/O 인터페이스로부터 수신한 크롭(crop) 영역 정보를 기초로 상기 입력 영상을 편집하여 상기 문자를 포함하는 편집 영상을 생성하고, 상기 편집 영상에 대해 자동으로 전처리를 수행하여 제1 전처리 영상을 생성하고, 상기 제1 전처리 영상이 정확도와 관련된 제1 조건을 만족하는지 못하는 경우, 상기 I/O 인터페이스로부터 수신한 사용자 입력을 기초로 상기 제1 전처리 영상에 대해 전처리를 수행하여 제2 전처리 영상을 생성할 수 있다.
상기 출력 장치는, 스피커 또는 디스플레이를 포함할 수 있다.
일 실시예에 따른 영상 전처리 방법은, 프로세서를 포함하는 컴퓨터에 의해 수행되는 영상 전처리 방법에 있어서, 크롭(crop) 영역 정보를 기초로 입력 영상을 편집하여 상기 문자를 포함하는 편집 영상을 생성하는 단계, 상기 편집 영상에 대해 자동으로 전처리를 수행하여 제1 전처리 영상을 생성하는 단계 및 상기 제1 전처리 영상이 정확도와 관련된 제1 조건을 만족하는지 못하는 경우, 상기 I/O 인터페이스로부터 수신한 사용자 입력을 기초로 상기 제1 전처리 영상에 대해 전처리를 수행하여 제2 전처리 영상을 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 문자 인식 방법은, 프로세서를 포함하는 컴퓨터에 의해 수행되는 문자 인식 방법에 있어서, 크롭(crop) 영역 정보를 기초로 입력 영상을 편집하여 상기 문자를 포함하는 편집 영상을 생성하는 단계, 상기 편집 영상에 대해 자동으로 전처리를 수행하여 제1 전처리 영상을 생성하는 단계, 상기 제1 전처리 영상이 정확도와 관련된 제1 조건을 만족하는지 못하는 경우, 상기 I/O 인터페이스로부터 수신한 사용자 입력을 기초로 상기 제1 전처리 영상에 대해 전처리를 수행하여 제2 전처리 영상을 생성하는 단계 및 상기 제2 전처리 영상에 포함된 상기 문자를 인식하는 단계를 포함할 수 있다.
도 1은 일 실시예에 따른 영상 전처리 장치에 의해 게임 화면 내에서 문자가 인식되는 상황을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 영상 전처리 장치의 전체 구성을 도시한 도면이다.
도 3은 일 실시예에 따른 영상 전처리 방법의 전체 동작들 도시한 순서도이다.
도 4는 일 실시예에 따른 제2 전처리 영상을 생성하는 과정을 도시한 순서도이다.
도 5는 다른 실시예에 따른 제2 전처리 영상을 생성하는 과정을 도시한 순서도이다.
도 6은 다른 실시예에 따른 영상 전처리 방법의 전체 동작을 도시한 순서도이다.
도 7은 일 실시예에 따른 영상 전처리 장치에 의해 제2 전처리 영상이 생성되는 과정을 도시한 일례이다.
도 8은 일반적인 이진화 결과를 도시한 일례이다.
도 9는 일 실시예에 따른 영상 전처리 장치에 의해 채널별 영상 각각에 대해 이진화가 수행된 결과를 도시한 일례이다.
도 10은 일 실시예에 따른 영상 전처리 장치에 의해 사용자로부터 입력된 색상 정보를 기초로 채널별 영상 각각에 대해 이진화가 수행된 결과를 도시한 일례이다.
도 11은 일 실시예에 따른 영상 전처리 장치에 의해 이진화가 수행된 영상의 노이즈를 제거한 결과를 도시한 일례이다.
도 12는 일 실시예에 따른 문자 인식 방법의 동작을 도시한 순서도이다.
도 13은 일 실시예에 따른 문자 인식 장치의 전체 구성을 도시한 도면이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 영상 전처리 장치에 의해 게임 화면 내에서 문자가 인식되는 상황을 설명하기 위한 도면이다.
일 실시예에 따르면, 영상 전처리 장치(110)는 게임 화면에 포함된 문자를 인식하도록 게임 화면을 전처리할 수 있다. 전처리된 영상에서 문자는 보다 정확하게 인식될 수 있다.
게임 화면에는 다양한 특수 효과 또는 그래픽 컴포넌트들이 포함될 수 있다. 이로 인해, 게임 화면에 포함된 문자는 정확하게 인식되지 않을 수 있다. 문자가 정확하게 인식되기 위해서는, 문자를 제외한 컴포넌트들이 제거되어야 한다. 이를 위해, 영상 전처리 장치(110)는 게임 화면을 전처리할 수 있다.
영상 전처리 장치(110)는 엣지 박스(Edge Box) 모델 및 HSV 색상 모델을 사용할 수 있다. HSV 색상 모델은 색을 표현하는 하나의 방법이자, 그 방법에 따라 색을 배치하는 방식이다. HSV 색상 모델에서는 색상(Hue), 채도(Saturation), 명도(Value)의 좌표를 이용하여 색을 특정한다. 다만, 이는 일례에 불과하며 다양한 색상 모델이 사용될 수 있다. 예를 들어, HSL(Lightness) 또는 HSI(Intensity) 색상 모델 등이 사용될 수도 있다.
영상 전처리 장치(110)는 사용자가 선택한 픽셀의 HSV 값 또는 사용자가 선택한 영역 정보를 기초로 문자 인식을 위한 전처리를 수행할 수 있다. 영상 전처리 장치(110)는 사용자가 선택한 픽셀의 HSV 값 또는 사용자가 선택한 영역 정보를 기초로 문자를 포함하는 편집 영상을 이진화할 수 있다. 영상 전처리 장치(110)는 이진화된 영상에서 노이즈를 제거할 수 있다. 영상 전처리 장치(110)는 노이즈가 제거된 이진화된 영상으로부터 문자를 보다 정확하게 인식할 수 있다.
게임 화면 내의 문자를 인식하는 기술은 게임을 테스트하기 위해 적용될 수 있다. 개발된 게임 내에서 등장하는 문자에 대해 사용자의 반응을 기계적으로 테스트하기 위해 테스트 자동화 기술이 필요하다. 문자 인식 기술은 게임의 테스트 자동화를 위해 사용될 수 있다. 예를 들어, 게임 내에서 캐릭터의 레벨, 재화량, 아이템의 가격 등은 숫자로 표시되며, 게임 테스트 과정에서 해당 숫자의 인식률이 평가될 필요가 있다.
영상 전처리 장치(110)는 게임 화면 내에서 인식하고자 하는 문자를 포함하는 부분 영역에 대해 전처리를 수행할 수 있다. 예를 들어, 사용자에 의해 문자를 포함하는 부분 영역이 크롭(crop)될 수 있다. 크롭된 부분 영역은 편집 영상이라고 지칭될 수 있다. 편집 영상의 형태는 직사각형에 한정되지 않으며, 원을 포함하는 다양한 형태를 가질 수 있다.
영상 전처리 장치(110)는 먼저 편집 영상을 자동으로 전처리할 수 있다. 자동으로 전처리된 영상으로부터 문자가 정확하게 인식될 경우, 영상 전처리 장치(110)는 편집 영상의 전처리를 종료할 수 있다. 하지만, 자동으로 전처리된 영상으로부터 인식된 문자가 부정확할 경우, 편집 영상의 전처리는 사용자 입력을 기초로 반복적으로 수행될 수 있다. 여기서, 전처리는 정확도를 조건으로 종료될 수 있다. 예를 들어, 인식된 문자의 정확도가 임계값 이상인 경우, 전처리는 종료되는 것으로 설정될 수 있다. 정확도의 임계값은 미리 설정될 수 있고, 조정될 수 있다.
이하의 설명에서는, 사용자 입력을 기초로 전처리가 수행되는 동작을 중심으로 서술된다. 다만, 자동으로 전처리가 수행되는 동작은 사용자 입력과 관련이 없는 부분에선 동일하게 적용될 수 있다.
영상 전처리 장치(110)는 편집 영상의 크기를 조절할 수 있다. 크기 조절은 리사이징(resizing)으로 지칭될 수 있다. 편집 영상 내의 문자의 크기가 작은 경우, 영상 전처리 장치(110)는 편집 영상의 크기를 키우거나 편집 영상의 크기는 고정하고 문자를 포함하는 편집 영상 내의 부분 영역의 크기를 키울 수 있다. 문자 인식의 정확도가 문제되는 것은 문자의 크기가 작은 경우가 대부분이므로, 크기 조절은 주로 확대 동작일 수 있다.
영상 전처리 장치(110)는 사용자로부터 편집 영상 내의 문자의 색상 정보를 입력 받고, 이를 기초로 편집 영상의 이진화를 수행할 수 있다. 또한, 영상 전처리 장치(110)는 사용자로부터 편집 영상 내의 영역 정보를 입력 받고, 이를 기초로 문자의 색상과 동일하거나 유사한 픽셀로부터 배경 영역을 제거할 수 있다. 이처럼, 영상 전처리 장치(110)는 사용자 입력을 기초로 전처리를 수행함으로써 문자 인식의 정확도를 높일 수 있다.
영상 전처리 장치(110)는 색상 정보에 대응하지 않는 색상을 가지는 픽셀은 배경 영역으로 결정하고 이진화를 수행할 수 있다. 영상 전처리 장치(110)는 사용자로부터 획득한 문자의 영역 정보에 대응하지 않는 부분을 배경 영역으로 결정하고 이진화를 수행할 수 있다. 예를 들어, 영상 전처리 장치(110)는 문자의 영역 정보에 포함된 가로 및 세로의 비율에 대한 임계값을 벗어나는 부분을 배경 영역으로 결정하고 이진화를 수행할 수 있다.
영상 전처리 장치(110)는 문자 특성을 이용하여 편집 영상을 이진화할 수 있다. 영상 전처리 장치(110)는 편집 영상 내의 문자 영역을 문자 특성을 이용하여 한정할 수 있다. 예를 들어, 영문 또는 숫자의 경우, 이진화된 영상에서 연결 지점을 둘러싸는 사각형을 그릴 때, 문자의 사각형 내에서는 2개를 초과하는 사각형은 그려지지 않는다는 특성을 가질 수 있다. 영상 전처리 장치(110)는 영문 또는 숫자의 문자 특성을 이용하여 보다 정확하게 편집 영상을 전처리할 수 있다.
영상 전처리 장치(110)는 전처리된 영상으로부터 문자를 인식할 수 있다. 영상 전처리 장치(110)는 전처리된 영상으로부터 색상 리스트와 문자 영역 리스트를 생성할 수 있다. 영상 전처리 장치(110)는 각각의 색상 범위 및 문자 영역을 고유 키에 대응시켜 데이터베이스에 저장할 수 있다.
데이터베이스에 저장된 고유 키를 기초로 문자 인식이 요청될 경우, 고유 키에 대응하는 색상 리스트 및 문자 영역 리스트를 이용하여 편집 영상이 전처리 되고, 전처리된 결과 영상에 대해 문자 인식이 진행될 수 있다.
도 1을 참조하면, 영상 전처리 장치(110)는 디스플레이(111)을 포함할 수 있다. 디스플레이(111)는 게임 화면을 사용자에게 제공할 수 있다. 게임 화면에는 문자(113)가 포함될 수 있다. 사용자는 문자(113)를 포함하는 편집 영역(115)를 커서(117)를 이용하여 설정할 수 있다. 영상 전처리 장치(110)는 편집 영역(115)에 대해 전처리를 수행할 수 있다.
도 2는 일 실시예에 따른 영상 전처리 장치의 전체 구성을 도시한 도면이다.
도 2를 참조하면, 영상 전처리 장치(110)는 I/O 인터페이스(210), 메모리(220), 프로세서(230)를 포함한다. 영상 전처리 장치(110)는 디스플레이(240)을 더 포함할 수 있다.
I/O 인터페이스(210)는 문자를 포함하는 입력 영상을 수신한다. I/O 인터페이스(210)는 키보드, 마우스(또는 기타의 포인팅 장치), 터치 패드 및 터치 스크린을 포함할 수 있다. 터치 스크린은 디스플레이(240)와 결합될 수 있다.
메모리(220)는 입력 영상을 저장한다. 메모리(220)는, DRAM, SRAM, DDR RAM 또는 기타의 랜덤 액세스 반도체 메모리(solid state memory) 장치와 같은 고속 랜덤 액세스 메모리를 포함할 수도 있으며, 하나 이상의 자기 디스크 저장 장치, 광학 디스크 저장 장치, 플래시 메모리 장치나 기타의 비휘발성 반도체 저장 장치와 같은 비휘발성 메모리를 포함할 수도 있다. 메모리(370)는, 선택사항으로서, 프로세서(230)로부터 원격 위치한 하나 이상의 저장 장치를 포함할 수도 있다.
프로세서(230)는 입력 영상에 대해 전처리를 수행한다. 입력 영상에 대해 전처리를 수행하는 경우, 프로세서(230)는 I/O 인터페이스(210)로부터 수신한 크롭 영역 정보를 기초로 입력 영상을 편집하여 문자를 포함하는 편집 영상을 생성한다. 편집 영상은 입력 영상에 비해 크기가 작기 때문에, 프로세서(230)는 입력 영상 전체를 전처리하는 것보다 적은 리소스(resource)로 편집 영상을 전처리할 수 있다.
프로세서(230)는 편집 영상에 대해 자동으로 전처리를 수행하여 제1 전처리 영상을 생성한다. 프로세서(230)는 사용자 입력 없이 자동으로 전처리를 수행할 수 있다. 제1 전처리 영상이 정확도와 관련된 제1 조건을 만족하는 경우, 전처리 과정은 종료될 수 있다. 여기서, 제1 조건은 문자 인식의 정확도가 임계값 이상인 조건을 포함할 수 있다. 이처럼, 프로세서(230)는 먼저 자동으로 전처리를 수행함으로써, 사용자의 개입 없이도 빠르게 문자를 인식할 수 있는 정확도로 전처리를 수행할 수 있는 기능을 제공할 수 있다.
제1 전처리 영상이 제1 조건을 만족하지 못하는 경우, 프로세서(230)는 I/O 인터페이스(210)로부터 수신한 사용자 입력을 기초로 제1 전처리 영상에 대해 전처리를 수행하여 제2 전처리 영상을 생성한다. 프로세서(230)는 사용자 입력의 보조를 통해 보다 정확하게 문자를 인식할 수 있는 전처리 동작을 수행할 수 있다.
프로세서(230)는 I/O 인터페이스(210)로부터 수신한 사용자 입력을 기초로 제1 전처리 영상에 대해 전처리를 수행하여 제2 전처리 영상을 생성한다. 먼저, 프로세서(230)는 편집 영상의 크기를 조정할 수 있다. 편집 영상 내의 문자의 크기가 작은 경우, 프로세서(230)는 편집 영상의 크기를 키우거나 편집 영상의 크기는 고정하고 문자를 포함하는 편집 영상 내의 부분 영역의 크기를 키울 수 있다. 리사이징되는 편집 영상의 크기는 미리 설정될 수 있다.
프로세서(230)는 사용자 입력에 포함된 문자의 색상 정보 또는 영역 정보를 기초로 제2 전처리 영상을 생성할 수 있다. 프로세서(230)는 사용자로부터 편집 영상 내의 문자의 색상 정보를 입력 받고, 이를 기초로 편집 영상의 이진화를 수행할 수 있다. 또한, 프로세서(230)는 사용자로부터 편집 영상 내의 영역 정보를 입력 받고, 이를 기초로 문자의 색상과 동일하거나 유사한 픽셀로부터 배경 영역을 제거할 수 있다. 프로세서(230)는 문자의 색상 정보를 기초로 편집 영상의 이진화를 수행한 후 문자의 영역 정보를 기초로 편집 영상의 이진화를 수행할 수도 있고, 그 반대의 순서로 편집 영상의 이진화를 수행할 수도 있다. 또한, 프로세서(230)는 문자의 색상 정보를 기초로 편집 영상의 이진화를 수행한 결과와 문자의 영역 정보를 기초로 편집 영상의 이진화를 수행한 결과를 비교하여 보다 정확도가 높은 결과를 선택할 수도 있다. 이하에서는, 일례로서 색상 정보를 이용한 후 영역 정보를 이용하는 순서로 설명된다.
프로세서(230)는 제1 전처리 영상에 대해 이진화를 수행하여 제2 이진화 결과 영상을 생성할 수 있다. 프로세서(230)는 제1 전처리 영상을 채널 별로 분리하여 복수의 채널별 영상을 생성하고, 복수의 채널별 영상 각각에 대해 이진화를 수행하여 제2 이진화 결과 영상을 생성할 수 있다.
프로세서(230)는 사용자 입력을 기초로 복수의 채널별 영상 각각에 대하여 이진화를 수행할 수 있다. 영상 전처리 장치(110)는 사용자로부터 편집 영상 내의 문자의 색상 정보를 입력 받고, 이를 기초로 편집 영상의 이진화를 수행할 수 있다. 예를 들어, 프로세서(230)는 문자의 색상 정보의 픽셀값과 동일하거나 유사한 픽셀을 문자 영역으로 분류하고 이진화를 수행할 수 있다. 여기서, 프로세서(230)는 문자의 색상 정보와의 픽셀값의 차이가 임계값 이하인 픽셀들을 픽셀값이 유사한 픽셀로 분류할 수 있다. 예를 들어, 프로세서(230)는 픽셀값의 차이를 기초로 유사도를 계산할 수 있고, 유사도에 따라 해당 픽셀이 문자 영역에 속할 확률을 계산할 수 있다. 프로세서(230)는 계산된 확률을 기초로 편집 영상을 이진화할 수 있다.
프로세서(230)는 제1 전처리 영상에 대해 채널별로 이진화를 수행하고, 가장 정확도가 높은 영상을 선택할 수 있다. 프로세서(230)는 제1 전처리 영상에 대해 각 채널별로 분리하여 복수의 채널별 영상을 생성할 수 있다. 프로세서(230)는 복수의 채널별 영상 각각에 대하여 이진화를 수행하여 복수의 이진화된 채널별 영상을 생성할 수 있다. 프로세서(230)는 복수의 이진화된 채널별 영상 중에서 제4 조건을 만족하는 이진화된 채널별 영상을 선택하여 제1 이진화 결과 영상을 생성할 수 있다. 여기서 제4 조건은 문자의 정확도와 관련된 것일 수 있다.
프로세서(230)는 편집 영상에 포함된 문자를 둘러싸는 박스를 이용하여 제2 전처리 영상을 생성할 수 있다. 예를 들어, 프로세서(230)는 엣지 박스(Edge Box) 모델을 이용할 수 있다. 프로세서(230)는 제1 전처리 영상에서 하나 이상의 엣지를 검출하고, 하나 이상의 엣지를 이용하여 문자와 관련된 외곽선을 생성하고, 외곽선을 둘러싸는 박스를 생성하고, 박스의 내부 영역에 대하여 이진화를 수행하여 제2 이진화 결과 영상을 생성할 수 있다.
프로세서(230)는 제1 전처리 영상으로부터 엣지 그래디언트를 검출하고, 엣지 그래디언트의 크기 및 방향을 이용하여 하나 이상의 엣지를 검출할 수 있다. 프로세서(230)는 제1 전처리 영상에 포함된 엣지를 추출할 수 있다. 프로세서(230)는 각 엣지들이 연결된 컴포넌트를 검색하고 사각형으로 표시할 수 있다. 이는 커넥티드 컴포넌트 레이블링(Connected Component Labeling)으로 지칭될 수 있다.
프로세서(230)는 포함되는 요소가 하나의 글자로 보이도록 사각형의 형태를 변형할 수 있다. 프로세서(230)는 침식/팽창 연산을 이용할 수 있다. 이는 형태 변형(Mophological Transformation)이라고 지칭될 수 있다. 프로세서(230)는 사각형의 비율 또는 넓이를 기초로 비정형적인 사각형을 제거할 수 있다. 이를 통해, 프로세서(230)는 컴포넌트를 정제할 수 있다.
프로세서(230)는 하나 이상의 엣지 중에서 제2 조건을 만족하는 엣지를 선택하고, 선택된 엣지를 이용하여 외곽선을 생성할 수 있다. 여기서, 제2 조건은 엣지들 사이의 연결성과 관련된 조건일 수 있다. 프로세서(230)는 외곽선을 둘러싸는 하나 이상의 박스를 생성할 수 있다. 이는 바운딩 박스로 지칭될 수 있다. 프로세서(230)는 하나 이상의 박스 중에서 제3 조건을 만족하는 박스를 선택할 수 있다. 여기서, 제3 조건은 문자의 종류에 따른 특성을 기초로 결정될 수 있다. 예를 들어, 문자의 가로 및 세로의 비율이 제3 조건에 포함될 수 있다.
다른 실시예에 따르면, 프로세서(230)는 제1 전처리 영상에 포함된 문자의 특성 정보를 기초로 제2 전처리 영상을 생성할 수 있다. 프로세서(230)는 문자의 특성에 따라 내부 컴포넌트의 개수를 변경할 수 있다. 프로세서(230)가 형태 변형을 수행할 때, 프로세서(230)는 문자의 특성을 기초로 연산에 사용되는 커널의 값을 변경할 수 있다.
프로세서(230)는 제2 이진화 결과 영상에 포함된 노이즈를 제거할 수 있다. 프로세서(230)는 사용자 입력에 포함된 문자의 영역 정보를 기초로 제2 이진화 결과 영상에 포함된 노이즈를 제거할 수 있다. 프로세서(230)는 사용자로부터 편집 영상 내의 영역 정보를 입력 받고, 이를 기초로 문자의 색상과 동일하거나 유사한 픽셀로부터 배경 영역을 제거할 수 있다.
이처럼, 프로세서(230)는 채널별 이진화, 바운딩 박스에 의한 이진화 및 문자 특성을 이용한 전처리를 다양하게 조합하여 편집 영상을 전처리할 수 있다.
프로세서(230)는 문자 인식 결과를 기초로 데이터베이스를 구축할 수 있다. 프로세서(230)는 제2 전처리 영상이 미리 설정된 조건을 만족하는지 여부를 판단할 수 있다. 미리 설정된 조건이 만족되는 경우, 메모리(220)는 제2 전처리 영상으로부터 인식된 문자와 문자에 대응되는 고유키를 저장할 수 있다.
도 3은 일 실시예에 따른 영상 전처리 방법의 전체 동작들 도시한 순서도이다.
일 실시예에 따르면, 단계(310)에서, 영상 전처리 장치(110)는 크롭 영역 정보를 기초로 입력 영상을 편집하여 문자를 포함하는 편집 영상을 생성할 수 있다. 영상 전처리 장치(110)는 크롭 영역으로 축소된 편집 영상에 대해 전처리를 수행함으로써 전처리 수행 시간을 줄일 수 있다. 크롭 영역은 사각형에 한정되지 않으며, 다양한 형태의 닫힌 영역을 포함할 수 있다.
일 실시예에 따르면, 단계(320)에서, 영상 전처리 장치(110)는 편집 영상에 대해 자동으로 전처리를 수행하여 제1 전처리 영상을 생성할 수 있다. 영상 전처리 장치(110)는 편집 영상을 자동으로 리사이징할 수 있다. 영상 전처리 장치(110)는 자동으로 리사이징된 편집 영상에 대해 채널별로 이진화를 수행함으로써 제1 이진화 결과 영상을 생성할 수 있다. 영상 전처리 장치(110)는 자동으로 제1 이진화 결과 영상에 대해 바운딩 박스를 이용하여 제2 이진화 결과 영상을 생성할 수 있다. 영상 전처리 장치(110)는 자동으로 제2 이진화 결과 영상으로부터 노이즈를 제거할 수 있다. 노이즈가 제거된 결과는 제1 전처리 영상으로 지칭될 수 있다.
일 실시예에 따르면, 단계(330)에서, 제1 전처리 영상이 제1 조건을 만족하는지 못하는 경우, 영상 전처리 장치(110)는 I/O 인터페이스로부터 수신한 사용자 입력을 기초로 제1 전처리 영상에 대해 전처리를 수행하여 제2 전처리 영상을 생성할 수 있다. 영상 전처리 장치(110)는 제1 전처리 영상의 정확도가 미리 설정된 임계값 이하인 경우, 사용자 입력을 기초로 제2 전처리 영상을 생성할 수 있다.
영상 전처리 장치(110)는 제1 전처리 영상을 자동으로 리사이징할 수 있다. 영상 전처리 장치(110)는 리사이징된 영상에 대해 채널별로 이진화를 수행함으로써 제1 이진화 결과 영상을 생성할 수 있다. 영상 전처리 장치(110)는 문자의 색상 정보를 기초로 이진화를 수행할 수 있다. 영상 전처리 장치(110)는 제1 이진화 결과 영상에 대해 바운딩 박스를 이용하여 제2 이진화 결과 영상을 생성할 수 있다. 영상 전처리 장치(110)는 제2 이진화 결과 영상으로부터 노이즈를 제거할 수 있다. 영상 전처리 장치(110)는 문자의 영역 정보를 기초로 제2 이진화 결과 영상으로부터 노이즈를 제거할 수 있다. 노이즈가 제거된 결과는 제2 전처리 영상으로 지칭될 수 있다.
도 4는 일 실시예에 따른 제2 전처리 영상을 생성하는 과정을 도시한 순서도이다.
일 실시예에 따르면, 단계(330)에서, 제1 전처리 영상이 제1 조건을 만족하는지 못하는 경우, 영상 전처리 장치(110)는 I/O 인터페이스로부터 수신한 사용자 입력을 기초로 제1 전처리 영상에 대해 전처리를 수행하여 제2 전처리 영상을 생성할 수 있다.
일 실시예에 따르면, 단계(410)에서, 영상 전처리 장치(110)는 제1 전처리 영상에서 하나 이상의 에지를 검출할 수 있다. 프로세서(230)는 제1 전처리 영상으로부터 엣지 그래디언트를 검출하고, 엣지 그래디언트의 크기 및 방향을 이용하여 하나 이상의 엣지를 검출할 수 있다. 프로세서(230)는 제1 전처리 영상에 포함된 엣지를 추출할 수 있다.
일 실시예에 따르면, 단계(420)에서, 영상 전처리 장치(110)는 하나 이상의 에지를 이용하여 문자와 관련된 외곽선을 생성할 수 있다. 영상 전처리 장치(110)는 각 엣지들이 연결된 컴포넌트를 검색하고 사각형으로 표시할 수 있다. 영상 전처리 장치(110)는 커넥티드 컴포넌트 레이블링을 수행할 수 있다. 영상 전처리 장치(110)는 포함되는 요소가 하나의 글자로 보이도록 사각형의 형태를 변형할 수 있다. 영상 전처리 장치(110)는 사각형의 비율 또는 넓이를 기초로 비정형적인 사각형을 제거할 수 있다.
일 실시예에 따르면, 단계(430)에서, 영상 전처리 장치(110)는 외곽선을 둘러싸는 박스를 생성할 수 있다. 영상 전처리 장치(110)는 하나 이상의 박스 중에서 제3 조건을 만족하는 박스를 선택할 수 있다. 일 실시예에 따르면, 단계(440)에서, 영상 전처리 장치(110)는 박스의 내부 영역에 대하여 이진화를 수행하여 제2 이진화 결과 영상을 생성할 수 있다.
도 5는 다른 실시예에 따른 제2 전처리 영상을 생성하는 과정을 도시한 순서도이다.
일 실시예에 따르면, 단계(330)에서, 제1 전처리 영상이 제1 조건을 만족하는지 못하는 경우, 영상 전처리 장치(110)는 I/O 인터페이스로부터 수신한 사용자 입력을 기초로 제1 전처리 영상에 대해 전처리를 수행하여 제2 전처리 영상을 생성할 수 있다.
일 실시예에 따르면, 단계(510)에서, 영상 전처리 장치(110)는 박스의 내부 영역을 각 채널별로 분리하여 복수의 채널별 영상을 생성할 수 있다. 일 실시예에 따르면, 단계(520)에서, 영상 전처리 장치(110)는 복수의 채널별 영상 각각에 대하여 이진화를 수행하여 복수의 이진화된 채널별 영상을 생성할 수 있다. 예를 들어, HSV 색상 모델이 사용될 경우, 영상 전처리 장치(110)는 색상(Hue), 채도(Saturation), 명도(Value)의 채널별로 영상을 생성할 수 있다.
일 실시예에 따르면, 단계(510)에서, 영상 전처리 장치(110)는 복수의 이진화된 채널별 영상 중에서 제4 조건을 만족하는 이진화된 채널별 영상을 선택하여 제2 이진화 결과 영상을 생성할 수 있다. 제4 조건은 이진화된 결과의 정확도가 임계값 이상인 조건일 수 있다.
도 6은 다른 실시예에 따른 영상 전처리 방법의 전체 동작을 도시한 순서도이다.
도 6을 참조하면, 영상 전처리 장치(110)는 UI(user interface)를 이용하여 전처리를 수행할 수 있다. 영상 전처리 장치(110)는 문자 특성을 이용하여 전처리를 수행할 수 있다.
일 실시예에 따르면, 단계(610)에서, 영상 전처리 장치(110)는 게임 내 문자 영역을 크롭할 수 있다. 영상 전처리 장치(110)는 크롭 영역 정보를 기초로 입력 영상을 편집하여 문자를 포함하는 편집 영상을 생성한다. 편집 영상은 입력 영상에 비해 크기가 작기 때문에, 프로세서(230)는 입력 영상 전체를 전처리하는 것보다 적은 리소스로 편집 영상을 전처리할 수 있다.
일 실시예에 따르면, 단계(620)에서, 영상 전처리 장치(110)는 자동으로 제1 전처리 후 문자 인식을 수행할 수 있다. 영상 전처리 장치(110)는 먼저 자동으로 전처리를 수행함으로써, 사용자의 개입 없이도 빠르게 문자를 인식할 수 있는 정확도로 전처리를 수행할 수 있는 기능을 제공할 수 있다.
일 실시예에 따르면, 단계(621)에서, 영상 전처리 장치(110)는 UI에 전처리 결과 및 문자 인식 결과를 출력할 수 있다. 제1 전처리가 수행된 결과의 정확도는 자동으로 계산될 수도 있지만, 사용자에 의해 판단될 수도 있다. 영상 전처리 장치(110)는 UI를 통해 전처리 결과 및 문자 인식 결과를 출력함으로써 사용자가 정확도를 판단할 기회를 제공할 수 있다.
일 실시예에 따르면, 단계(623)에서, 영상 전처리 장치(110)는 전처리 결과 및 문자 인식 결과를 포함하는 결과를 확인할 수 있다. 영상 전처리 장치(110)는 문자 인식 결과 또는 전처리 결과를 기초로 정확도 조건을 만족하는지 여부를 판단할 수 있다.
일 실시예에 따르면, 결과가 미리 설정된 조건을 만족하는 경우, 단계(650)에서, 영상 전처리 장치(110)는 데이터베이스에 문자 인식 결과를 저장할 수 있다. 영상 전처리 장치(110)는 제2 전처리 영상으로부터 인식된 문자와 문자에 대응되는 고유키를 저장할 수 있다.
일 실시예에 따르면, 결과가 미리 설정된 조건을 불만족하는 경우, 단계(630)에서, 영상 전처리 장치(110)는 사용자 입력을 수신할 수 있다. 단계(631)에서, 영상 전처리 장치(110)는 색상 정보 입력을 수신할 수 있다. 단계(633)에서, 영상 전처리 장치(110)는 영역 정보 입력을 수신할 수 있다.
일 실시예에 따르면, 단계(635)에서, 영상 전처리 장치(110)는 사용자 입력을 기초로 제1 전처리 영상에 대하여 제2 전처리를 수행할 수 있다. 영상 전처리 장치(110)는 색상 정보에 대응하지 않는 색상을 가지는 픽셀은 배경 영역으로 결정하고 이진화를 수행할 수 있다. 영상 전처리 장치(110)는 색상 정보에 대응하는 색상을 가지는 픽셀은 문자 영역으로 결정하고 이진화를 수행할 수 있다. 영상 전처리 장치(110)는 사용자로부터 편집 영상 내의 영역 정보를 입력 받고, 이를 기초로 문자의 색상과 동일하거나 유사한 픽셀로부터 배경 영역을 제거할 수 있다.
일 실시예에 따르면, 단계(640)에서, 영상 전처리 장치(110)는 문자 특성을 이용한 제3 전처리를 수행할 수 있다. 영상 전처리 장치(110)는 문자의 특성에 따라 내부 컴포넌트의 개수를 변경할 수 있다. 영상 전처리 장치(110)가 형태 변형을 수행할 때, 영상 전처리 장치(110)는 문자의 특성을 기초로 연산에 사용되는 커널의 값을 변경할 수 있다.
일 실시예에 따르면, 단계(650)에서, 영상 전처리 장치(110)는 데이터베이스에 문자 인식 결과를 저장할 수 있다. 영상 전처리 장치(110)는 인식된 문자와 문자에 대응되는 고유키를 저장할 수 있다.
도 7은 일 실시예에 따른 영상 전처리 장치에 의해 제2 전처리 영상이 생성되는 과정을 도시한 일례이다.
단계(710)에서, 영상 전처리 장치(110)는 편집 영상의 크기를 조정할 수 있다. 영상 전처리 장치(110)는 전처리를 수행하기 위해 먼저 일정 크기 이하의 숫자 이미지에 대한 크기 조정을 수행할 수 있다. 예를 들어, 영상 전처리 장치(110)는 높이가 30 픽셀 이하인 편집 영상의 크기를 1.5배의 크기로 확대할 수 있다.
단계(720)에서, 영상 전처리 장치(110)는 크기가 조정된 편집 영상에 대하여 채널별로 이진화를 수행할 수 있다. 단계(721)에서, 영상 전처리 장치(110)는 크기가 조정된 편집 영상을 채널 별로 분리할 수 있다. 예를 들어, HSV 색상 모델이 사용되는 경우, 영상 전처리 장치(110)는 3채널로 크기가 조정된 편집 영상을 분리할 수 있다. 단계(723)에서, 영상 전처리 장치(110)는 색상(Hue), 채도(Saturation), 명도(Value)의 채널별로 이진화를 수행할 수 있다. 영상 전처리 장치(110)는 제1 이진화 결과 영상을 획득할 수 있다.
영상 전처리 장치(110)는 채널별 이진화 결과 영상 중에서 하나의 이진화 결과 영상을 제1 이진화 결과 영상으로서 선택할 수 있다. 예를 들어, 영상 전처리 장치(110)는 불필요한 바운딩 박스 후보가 가장 적은 채널에 대응하는 이진화 결과 영상을 선택할 수 있다. 다른 예로, 영상 전처리 장치(110)는 바운딩 박스가 가장 많은 채널에 대응하는 이진화 결과 영상을 선택할 수 있다. 게임 화면 내의 숫자는 보통 여덟 자리(99,999,999) 이하의 자릿수를 가지므로, 영상 전처리 장치(110)는 바운딩 박스의 개수가 8개를 초과하지 않으면서 바운딩 박스의 개수가 가장 많은 채널에 대응되는 이진화 결과 영상을 선택할 수 있다.
단계(730)에서, 영상 전처리 장치(110)는 편집 영상에 포함된 문자를 둘러싸는 박스를 이용하여 제2 전처리 영상을 생성할 수 있다. 예를 들어, 영상 전처리 장치(110)는 엣지 박스(Edge Box) 모델을 이용할 수 있다.
단계(735)에서, 영상 전처리 장치(110)는 제1 이진화 결과 영상으로부터 엣지를 검출할 수 있다. 영상 전처리 장치(110)는 캐니 엣지 검출기를 이용하여 엣지를 검출할 수 있다. 영상 전처리 장치(110)는 캐니 엣지 검출기를 이용하여 제1 이진화 결과 영상의 엣지 그래디언트의 크기와 방향을 획득함으로써 엣지를 검출할 수 있다. 영상 전처리 장치(110)는 검출된 엣지를 기초로 외곽선을 찾을 수 있다.
단계(733)에서, 영상 전처리 장치(110)는 중복되거나 불필요한 외곽선을 제거할 수 있다. 예를 들어, 외곽선을 둘러싸는 최소 면적의 직사각형을 만든 경우, 네 꼭지점의 좌표가 모두 겹치거나 직사각형이 좌우로 10도 이상 기울어진 경우, 숫자가 아니라고 판단되는 직사각형의 너비와 높이의 비율이 0.4보다 작거나 4보다 큰 경우가 중복되거나 불필요한 외곽선이 발생한 경우로 판단될 수 있다.
단계(731)에서, 영상 전처리 장치(110)는 엣지 박스 알고리즘을 이용하여 바운딩 박스 후보를 생성할 수 있다. 영상 전처리 장치(110)는 검출된 엣지를 이용하여 바운딩 박스 후보를 직접 생성할 수 있다. 이를 통해, 영상 전처리 장치(110)는 편집 영상 내의 문자를 찾을 수 있다.
예를 들어, 바운딩 박스 후보의 높이는 편집 영상의 높이의 40%보다 크고 바운딩 박스 후보의 중심의 Y 좌표가 편집 영상의 중심의 Y 좌표의 ±30% 이내일 경우에만, 바운딩 박스 후보가 생성될 수 있다. 복수의 바운딩 박스 후보 중에서 중복되거나 불필요한 것은 제외될 수 있다. 모서리가 1개 이상 겹치는 둘 이상의 바운딩 박스 후보의 경우, 이 중 작은 바운딩 박스 후보는 제외될 수 있다. 바운딩 박스 후보 하나의 내부에 2개 이하의 바운딩 박스 후보가 있는 경우, 내부의 바운딩 박스 후보는 모두 제외될 수 있고, 그 반대의 경우 외부의 바운딩 박스 후보는 제외될 수 있다. 또한, 2 개의 바운딩 박스 후보 중에서 하나의 바운딩 박스 후보가 다른 바운딩 박스 후보의 높이의 70%보다 작으면 제외될 수 있다.
단계(740)에서, 영상 전처리 장치(110)는 바운딩 박스 내의 영역에 대해 이진화를 수행할 수 있다. 영상 전처리 장치(110)는 이진화가 수행된 결과 영상에 대해 노이즈 제거를 수행할 수 있다. 영상 전처리 장치(110)는 사용자로부터 편집 영상 내의 영역 정보를 입력 받고, 이를 기초로 문자의 색상과 동일하거나 유사한 픽셀로부터 배경 영역을 제거할 수 있다.
도 8은 일반적인 이진화 결과를 도시한 일례이다. 도 9는 일 실시예에 따른 영상 전처리 장치에 의해 채널별 영상 각각에 대해 이진화가 수행된 결과를 도시한 일례이다.
영상(810)과 같이 문자 "5000" 외에 복잡한 배경이 섞여 있는 경우에, 일반적인 이진화 방식을 적용할 경우 영상(820)이 도출될 수 있다. 영상(820)은 많은 노이즈를 포함하는 영상일 수 있다.
영상 전처리 장치(110)는 영상(810)을 HSV 채널별로 분리하여 영상(911), 영상(921), 영상(931)을 생성할 수 있다. 영상 전처리 장치(110)는 영상(911), 영상(921), 영상(931)을 각각 이진화할 수 있다. 이진화된 결과로서, HSV 채널별로 이진화된 영상(913), 영상(923), 영상(933)이 생성될 수 있다. 예를 들어, 영상 전처리 장치(110)는 영상의 밝기 분포를 통해 임계값을 자동으로 찾아주는 오츠(Otsu) 이진화 방식을 사용할 수 있다.
영상 전처리 장치(110)는 채널별로 이진화된 영상(913, 923, 933)들 중에서 하나의 영상(923)을 선택할 수 있다. 예를 들어, 영상 전처리 장치(110)는 영상(913, 923, 933)들 중에서 노이즈가 가장 적은 영상(923)을 선택할 수 있다.
도 10은 일 실시예에 따른 영상 전처리 장치에 의해 사용자로부터 입력된 색상 정보를 기초로 채널별 영상 각각에 대해 이진화가 수행된 결과를 도시한 일례이다.
도 10을 참조하면, 영상 전처리 장치(110)는 문자 영역의 픽셀 값을 입력 받고, 해당 픽셀 값을 이용하여 이진화를 수행할 수 있다. 사용자는 숫자 "100" 영역의 픽셀 2 개를 선택하고, 영상 전처리 장치(110)는 해당 픽셀의 픽셀값 사이의 값에 대응되는 픽셀을 문자 영역으로 분류함으로써 이진화를 수행할 수 있다. 영상 전처리 장치(110)는 인식의 정확도가 임계값 이상이 될 때까지 사용자로부터 색상 정보를 입력 받아 이진화를 수행할 수 있다. 이에 따라, 이진화된 결과 영상은 영상(1011), 영상(1013), 영상(1021), 영상(1023)으로 정확도가 향상될 수 있다.
도 11은 일 실시예에 따른 영상 전처리 장치에 의해 이진화가 수행된 영상의 노이즈를 제거한 결과를 도시한 일례이다.
영상 전처리 장치(110)는 이진화가 수행된 결과 영상에 대해 노이즈 제거를 수행할 수 있다. 영상 전처리 장치(110)는 사용자로부터 편집 영상 내의 영역 정보를 입력 받고, 이를 기초로 문자의 색상과 동일하거나 유사한 픽셀로부터 배경 영역을 제거할 수 있다.
도 11을 참조하면, 영상 전처리 장치(110)는 숫자 "63"으로 추정되는 영역의 픽셀값과 동일하거나 유사한 픽셀값을 가지는 픽셀의 수를 계산할 수 있다. 영상 전처리 장치(110)는 숫자로 추정되는 영역에 포함된 픽셀의 수보다 작은 개수의 픽셀의 수를 가지는 다른 영역을 배경 영역의 픽셀값으로 변경할 수 있다. 영상 전처리 장치(110)는 사용자로부터 배경 영역의 위치를 입력 받아 해당 영역과 유사한 픽셀값을 가지는 근접 위치의 픽셀들의 픽셀값을 배경 영역의 픽셀값으로 변경할 수 있다.
도 12는 일 실시예에 따른 문자 인식 방법의 동작을 도시한 순서도이다.
일 실시예에 따르면, 단계(1210)에서, 영상 전처리 장치(110)는 크롭 영역 정보를 기초로 입력 영상을 편집하여 문자를 포함하는 편집 영상을 생성할 수 있다.
일 실시예에 따르면, 단계(1220)에서, 영상 전처리 장치(110)는 편집 영상에 대해 자동으로 전처리를 수행하여 제1 전처리 영상을 생성할 수 있다.
일 실시예에 따르면, 단계(1230)에서, 영상 전처리 장치(110)는 제1 전처리 영상이 제1 조건을 만족하는지 못하는 경우, I/O 인터페이스로부터 수신한 사용자 입력을 기초로 제1 전처리 영상에 대해 전처리를 수행하여 제2 전처리 영상을 생성할 수 있다.
일 실시예에 따르면, 단계(1240)에서, 영상 전처리 장치(110)는 제2 전처리 영상에 포함된 문자를 인식할 수 있다.
도 13은 일 실시예에 따른 문자 인식 장치의 전체 구성을 도시한 도면이다.
일 실시예에 따르면, 문자 인식 장치(110)는 문자를 포함하는 입력 영상을 수신하는 I/O 인터페이스(1310), 입력 영상을 저장하는 메모리(1320), 입력 영상에 대해 전처리를 수행하고 전처리가 수행된 출력 영상에서 문자를 인식하는 프로세서(1330) 및 인식된 문자를 출력하는 출력 장치(1340)을 포함할 수 있다. 예를 들어, 출력 장치(1340)는 스피커 또는 디스플레이를 포함할 수 있다.
프로세서(1330)는 입력 영상에 대해 전처리를 수행하는 경우, I/O 인터페이스로부터 수신한 크롭 영역 정보를 기초로 입력 영상을 편집하여 문자를 포함하는 편집 영상을 생성할 수 있다.
프로세서(1330)는 편집 영상에 대해 자동으로 전처리를 수행하여 제1 전처리 영상을 생성할 수 있다. 프로세서(1330)는 제1 전처리 영상이 제1 조건을 만족하는지 여부에 대해 판단할 수 있다.
제1 전처리 영상이 제1 조건을 만족하는지 못하는 경우, 프로세서(1340)는 I/O 인터페이스로부터 수신한 사용자 입력을 기초로 제1 전처리 영상에 대해 전처리를 수행하여 제2 전처리 영상을 생성할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
[1]

Claims (1)

  1. 문자를 포함하는 입력 영상을 수신하는 I/O 인터페이스;
    상기 입력 영상을 저장하는 메모리; 및
    상기 입력 영상에 대해 전처리를 수행하는 프로세서를 포함하고,
    상기 프로세서는, 상기 입력 영상에 대해 전처리를 수행하는 경우,
    상기 I/O 인터페이스로부터 수신한 크롭(crop) 영역 정보를 기초로 상기 입력 영상을 편집하여 상기 문자를 포함하는 편집 영상을 생성하고,
    상기 편집 영상에 대해 자동으로 전처리를 수행하여 제1 전처리 영상을 생성하고,
    상기 제1 전처리 영상이 정확도와 관련된 제1 조건을 만족하는지 못하는 경우, 상기 I/O 인터페이스로부터 수신한 사용자 입력을 기초로 상기 제1 전처리 영상에 대해 전처리를 수행하여 제2 전처리 영상을 생성하고,
    상기 제1 전처리 영상이 상기 제1 조건을 만족하는 경우, 상기 제1 전처리 영상으로부터 상기 문자를 인식하고,
    상기 프로세서는,
    상기 편집 영상에 포함된 문자를 둘러싸는 박스를 이용하여 상기 제2 전처리 영상을 생성하고,
    상기 프로세서는,
    상기 제1 전처리 영상에서 하나 이상의 엣지를 검출하고,
    상기 하나 이상의 엣지를 이용하여 상기 문자와 관련된 외곽선을 생성하고,
    상기 외곽선을 둘러싸는 박스를 생성하고,
    상기 박스의 내부 영역에 대하여 이진화를 수행하여 제2 이진화 결과 영상을 생성하고,
    상기 프로세서는,
    상기 박스의 내부 영역을 각 채널별로 분리하여 색상 채널, 채도 채널 및 명도 채널의 복수의 채널별 영상을 생성하고,
    상기 복수의 채널별 영상 각각에 대하여 이진화를 수행하여 복수의 이진화된 채널별 영상을 생성하고,
    상기 복수의 이진화된 채널별 영상 중에서 정확도와 관련된 제4 조건을 만족하고, 생성된 박스의 개수가 임계값 미만이고, 상기 생성된 박스의 개수가 가장 큰 이진화된 채널별 영상을 선택하여 상기 제2 이진화 결과 영상을 생성하는,
    영상 전처리 장치.


KR1020200043739A 2018-04-19 2020-04-10 문자 인식을 위한 영상 전처리 장치 및 방법 KR20200045447A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180045446 2018-04-19
KR1020180045446 2018-04-19

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190071563A Division KR102102394B1 (ko) 2018-04-19 2019-06-17 문자 인식을 위한 영상 전처리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20200045447A true KR20200045447A (ko) 2020-05-04

Family

ID=68424000

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020190071563A KR102102394B1 (ko) 2018-04-19 2019-06-17 문자 인식을 위한 영상 전처리 장치 및 방법
KR1020200043739A KR20200045447A (ko) 2018-04-19 2020-04-10 문자 인식을 위한 영상 전처리 장치 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020190071563A KR102102394B1 (ko) 2018-04-19 2019-06-17 문자 인식을 위한 영상 전처리 장치 및 방법

Country Status (1)

Country Link
KR (2) KR102102394B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220066842A (ko) 2020-11-16 2022-05-24 포항공과대학교 산학협력단 블록체인 기반 스미싱 방지 방법 및 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198475A (ja) 2009-02-26 2010-09-09 Hitachi Keiyo Engineerring & System Ltd 文字認識装置
KR102208683B1 (ko) * 2014-05-30 2021-01-28 삼성에스디에스 주식회사 문자 인식 방법 및 그 장치
KR20160067631A (ko) * 2014-12-04 2016-06-14 황용호 차량번호판 인식방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220066842A (ko) 2020-11-16 2022-05-24 포항공과대학교 산학협력단 블록체인 기반 스미싱 방지 방법 및 장치

Also Published As

Publication number Publication date
KR20190122178A (ko) 2019-10-29
KR102102394B1 (ko) 2020-04-27

Similar Documents

Publication Publication Date Title
US5410611A (en) Method for identifying word bounding boxes in text
US9984286B2 (en) Method and apparatus for detecting persons, and non-transitory computer-readable recording medium
US7627148B2 (en) Image data processing apparatus and method, and image data processing program
US9076056B2 (en) Text detection in natural images
KR101896357B1 (ko) 객체를 검출하는 방법, 디바이스 및 프로그램
JP4757001B2 (ja) 画像処理装置、画像処理方法
CN113139445A (zh) 表格识别方法、设备及计算机可读存储介质
KR101611895B1 (ko) 감정 기반의 자동 문구 디자인 장치 및 그 방법
KR101549792B1 (ko) 문서 자동 작성 장치 및 방법
KR101836811B1 (ko) 이미지 상호간의 매칭을 판단하는 방법, 장치 및 컴퓨터 프로그램
JP2011065643A (ja) 文字認識方法及び文字認識装置
US9189459B2 (en) Document image layout apparatus
JP6327963B2 (ja) 文字認識装置及び文字認識方法
US11348331B2 (en) Information processing apparatus and non-transitory computer readable medium
JP4704601B2 (ja) 文字認識方法,プログラム及び記録媒体
JP2011257963A (ja) 画像処理装置、その処理方法及びプログラム
US11055526B2 (en) Method, system and apparatus for processing a page of a document
KR102102394B1 (ko) 문자 인식을 위한 영상 전처리 장치 및 방법
JP2013171309A (ja) 文字切り出し方法、およびこの方法を用いた文字認識装置およびプログラム
US11715197B2 (en) Image segmentation method and device
US20100100811A1 (en) Information processing apparatus and layout processing method
AU2017225022A1 (en) Method, system and apparatus for processing image data
JP3121466B2 (ja) 画像修正装置
KR101749029B1 (ko) 영상에서의 신체 부위 검출 방법 및 그 장치
KR101651842B1 (ko) 전자문서 레이아웃 생성 방법 및 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent