KR20140045573A - 이미지 지역들을 이용한 텍스트 검출 - Google Patents

이미지 지역들을 이용한 텍스트 검출 Download PDF

Info

Publication number
KR20140045573A
KR20140045573A KR1020147006031A KR20147006031A KR20140045573A KR 20140045573 A KR20140045573 A KR 20140045573A KR 1020147006031 A KR1020147006031 A KR 1020147006031A KR 20147006031 A KR20147006031 A KR 20147006031A KR 20140045573 A KR20140045573 A KR 20140045573A
Authority
KR
South Korea
Prior art keywords
image
text
geometric
blob
projection
Prior art date
Application number
KR1020147006031A
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 KR20140045573A publication Critical patent/KR20140045573A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • G06V30/1475Inclination or skew detection or correction of characters or of image to be recognised
    • 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

Landscapes

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

Abstract

방법이 이미지 데이터에서 식별된 이미지 지역들의 세트의 표시를 수신하는 단계를 포함한다. 그 방법은, 이미지 지역들의 그 세트로부터 이미지 지역 안정성에 기초하여 텍스트 위한 이미지 지역을 선택하는 단계를 더 포함한다.

Description

이미지 지역들을 이용한 텍스트 검출{TEXT DETECTION USING IMAGE REGIONS}
본 출원은 2011년 9월 6일자로 출원된 미국 특허 가출원 제61/531,547호, 2011년 10월 5일자로 출원된 미국 특허 가출원 제61/543,548호, 및 2012년 3월 6일자로 출원된 미국 정식 (non-Provisional) 출원 제13/412,853호를 우선권 주장하며, 그것들의 각각은 그 전부가 참조로 통합된다.
분야
본 개시물은 대체로 이미지 프로세싱에 관한 것이다.
기술의 진보들은 컴퓨팅 디바이스들이 더 작고 더 강력해지게 하였다. 예를 들어, 작으며, 경량이고, 및 사용자들이 쉽게 운반하는 무선 컴퓨팅 디바이스들, 이를테면 휴대용 무선 전화기들, 개인휴대 정보단말들 (PDAs), 및 페이징 디바이스들을 포함하여, 다양한 휴대용 개인 컴퓨팅 디바이스들이 현재 존재한다. 더 구체적으로는, 휴대용 무선 전화기들, 이를테면 셀룰러 전화기들 및 인터넷 프로토콜 (IP) 전화기들은, 무선 네트워크들을 통해 음성 및 데이터 패킷들을 통신할 수 있다. 게다가, 많은 그러한 무선 전화기들은 그 속에 통합되는 다른 유형들의 디바이스들을 구비한다. 예를 들어, 무선 전화기는 또한 디지털 스틸 카메라, 디지털 비디오 카메라, 디지털 레코더, 및 오디오 파일 플레이어를 포함할 수 있다.
텍스트 검출이 컴퓨팅 디바이스의 카메라에 의해 캡처된 이미지에서 텍스트를 식별하기 위해 그 컴퓨팅 디바이스에 의해 수행될 수도 있다. 기존의 텍스트 검출은 이미지에서의 텍스트의 컬러가 이미지의 백그라운드 컬러와는 상이할 것을 명시적으로 또는 암시적으로 요구할 수도 있다. 그러한 기존의 텍스트 검출은 이미지의 백그라운드와 실질적으로 동일한 컬러를 갖는 텍스트를 신뢰성있게 검출하는데 실패할 수도 있다. 대안으로, 컬러 세그먼트화 방법들이 텍스트 검출을 위해 이용될 수 있다. 컬러 세그먼트화는 이미지 백그라운드와는 실질적으로 동일한 컬러를 갖는 텍스트의 텍스트 검출을 가능하게 할 수도 있다. 그러나, 컬러 세그먼트화는 개인용 컴퓨터 기반 구현예들에 대해 컴퓨테이션적으로 부담이 클 경향이 있고, 무선 전화기들과 같은 휴대용 전자 디바이스들에 적합하지 않을 수도 있다.
입력 이미지의 검출된 텍스트 부분들을 그 입력 이미지의 비텍스트 부분들과 대조하는 이진 이미지 (binary image) 를 생성하기 위해 2치화 프로세스가 수행된 후, 텍스트 열 (text line) 의 스큐 (skew) (예컨대 텍스트 열이 수평으로부터 벗어난 각도) 를 추정하고 및/또는 텍스트의 틸트 (tilt) (예컨대 이탤릭체 텍스트와 같이, 텍스트가 기울어진 각도) 를 추정하기 위해 투영 프로파일 분석이 이진 이미지에 적용될 수도 있다. 틸트 및 스큐에 대한 보상은 텍스트의 더 강력한 문자 인식을 가능하게 한다. 그러나, 이진 이미지들에서의 텍스트의 정확한 투영 프로파일 분석은 또한 컴퓨테이션적으로 부담이 클 수도 있고 휴대용 전자 디바이스들에 적합하지 않을 수도 있다.
블롭 (blob) 기반 텍스트 추출은 안정하며, 곡선이고, 중첩되지 않은 블롭들인 이미지에서의 텍스트 블롭들을 찾는 것을 포함한다. 블롭 추상화는 투영 프로파일 분석의 컴퓨테이션 부하를 줄이기 위해 투영 프로파일 분석보다 먼저 수행될 수도 있다. 텍스트의 틸트 및 스큐는 후속 문자 인식 프로세싱을 위한 투영 프로파일 분석에 기초하여 보상될 수 있다.
특정 실시형태에서, 방법이 이미지 데이터에서 식별된 이미지 지역들의 세트의 표시를 수신하는 단계, 및 이미지 지역 안정성 (stability) 에 적어도 부분적으로 기초하여 텍스트 추출을 위해 이미지 지역들의 그 세트로부터 이미지 지역들을 선택하는 단계를 포함한다. 일부 실시형태들에서, 그 이미지 지역들은 이미지 지역 곡선성 (curvilinearity) 에 적어도 부분적으로 추가로 기초하여 선택될 수도 있다.
다른 특정한 실시형태에서, 장치가 이미지 데이터에서 식별된 이미지 지역들의 세트의 표시를 생성하도록 구성된 이미지 지역 추출기를 구비한다. 그 장치는 또한 이미지 지역 안정성에 적어도 부분적으로 기초하여 텍스트 추출을 위해 이미지 지역들의 그 세트로부터 이미지 지역들을 선택하도록 구성된 텍스트 이미지 지역 선택기를 구비한다.
다른 특정한 실시형태에서, 방법이 이미지 지역에 대응하는 기하학적 도형을 식별하는 단계를 포함한다. 그 이미지 지역은 이미지 데이터에서 식별된 텍스트의 적어도 일부에 대응한다. 그 방법은 그 기하학적 도형에 적어도 부분적으로 기초하여 텍스트에 대한 경계 박스 (bounding box) 를 결정하는 단계를 더 포함한다.
일부 실시형태들에서, 맞춤 (fitting) 에러가 활용될 수도 있다. 예를 들어, 임계값을 초과하는 이미지 지역에 관한 제 1 기하학적 도형의 제 1 맞춤 에러에 응답하여, 그 방법은 그 이미지 지역에 대응하는 복수의 기하학적 도형들을 식별하는 단계를 포함할 수도 있다.
일부 실시형태들에서, 투영 프로파일 분석이 활용될 수도 있다. 예를 들어, 그 방법은 다수의 투영 선들을 이용하여 기하학적 도형의 투영 프로파일을 결정하는 단계를 포함할 수도 있다. 그 투영 프로파일의 값은 각각의 특정한 투영 선에 대응할 수도 있고 특정 투영 선과 기하학적 도형의 교차점들 사이의 거리에 기초할 수도 있다.
다른 특정한 실시형태에서, 그 방법은, 이미지 지역들의 각각이 텍스트의 적어도 일부에 대응하는, 그 이미지 지역들에 대응하는 복수의 기하학적 도형들을 식별하는 단계를 포함할 수도 있다. 복수의 기하학적 도형들의 제 1 투영 프로파일이 텍스트의 스큐를 추정하기 위해 결정될 수도 있다. 복수의 기하학적 도형들의 제 2 투영 프로파일이 텍스트의 틸트를 추정하기 위해 결정될 수도 있다.
다른 특정한 실시형태에서, 그 방법은 이미지 지역들의 한 세트로부터 이미지 지역들의 각각이 텍스트의 적어도 일부에 대응하는 그 이미지 지역들을 추출하는 단계를 포함할 수도 있다. 그 방법은 추출된 이미지 지역들을 다수의 클러스터들로 구획하는 단계와, 각각의 클러스터의 투영 프로파일을 다른 클러스터들의 각각과는 무관하게 결정하는 단계를 더 포함할 수도 있다.
다른 특정한 실시형태에서, 그 방법은 이미지 데이터에서 식별된 이미지 지역들에 대응하는 기하학적 도형들의 제 1 세트에 대해 제 1 투영 프로파일 분석을 수행하는 단계를 포함할 수도 있다. 제 1 투영 프로파일 분석은 기하학적 도형들의 제 1 세트를 기하학적 도형들의 제 2 세트 및 기하학적 도형들의 제 3 세트로 구획할 수도 있다. 그 방법은 기하학적 도형들의 제 2 세트에 대해 제 2 투영 프로파일 분석을 수행하는 단계를 더 포함할 수도 있다. 제 2 투영 프로파일 분석은 기하학적 도형들의 제 2 세트를 기하학적 도형들의 제 4 세트 및 기하학적 도형들의 제 5 세트로 구획할 수도 있다.
개시된 실시형태들 중 적어도 하나에 의해 제공되는 특정한 이점들은, 텍스트 컬러가 백그라운드 컬러와는 상이할 것을 통상 요구하는 기존의 2치화 기법들과 비교하여, 텍스트 컬러가 백그라운드 컬러와는 상이할 것을 요구하는 일 없이, 컬러 세그먼트화 기법들과 비교하여 감소된 컴퓨테이션 요구를 갖는, 이미지 내의 텍스트를 인식하는 능력을 포함한다.
본 개시물의 다른 양태들, 이점들, 및 특징들은, [도면의 간단한 설명], [발명을 실시하기 위한 구체적인 내용], 및 [특허청구범위]를 포함한, 전체 출원서의 검토 후 명백해질 것이다.
도 1은 텍스트 검출을 제공하는 시스템의 특정 실시형태의 블록도이다;
도 2는 도 1의 시스템에 의해 수행될 수도 있는 텍스트 검출 방법의 흐름도이다;
도 3은 도 1의 시스템에 의해 검출될 수도 있는 텍스트를 포함하는 이미지들의 예들을 도시한다;
도 4는 도 1의 시스템에 의해 수행될 수도 있는 블롭 추출의 실증적인 예를 묘사하는 도면이다;
도 5는 도 4의 블롭 추출의 결과들의 실증적인 예를 묘사하는 도면이다;
도 6은 도 1의 시스템에 의해 검출될 수도 있는 텍스트 이미지 데이터의 예들을 도시한다;
도 7은 도 1의 시스템에 의해 수행될 수도 있는 투영 프로파일 분석의 실증적인 예를 묘사하는 도면이다;
도 8은 도 1의 시스템에 의해 수행될 수도 있는 블롭 추상화의 실증적인 예들을 묘사하는 도면이다;
도 9는 도 1의 시스템에 의해 수행될 수도 있는 텍스트 효과 보상의 예들을 도시한다;
도 10은 도 1의 시스템에 의해 수행될 수도 있는 텍스트 효과 보상의 부가적인 예들을 도시한다;
도 11은 도 1의 시스템에 의해 수행될 수도 있는 틸트 보상의 실증적인 예를 묘사하는 도면이다;
도 12는 도 1의 시스템에 의해 검출되고 정정될 수도 있는 텍스트 스큐 및 틸트의 실증적인 예를 묘사하는 도면이다;
도 13은 도 1의 시스템에 의해 수행될 수도 있는 추상화된 블롭들의 중심선 프로세싱의 특정 실시형태를 도시한다;
도 14는 도 1의 시스템에 의해 수행될 수도 있는 획 폭 (stroke width) 결정의 실증적인 예를 묘사하는 도면이다;
도 15는 블롭 기반 텍스트 검출의 특정 실례가 되는 실시형태의 흐름도를 묘사한다;
도 16은 도 1의 시스템에 의해 수행될 수도 있는 블롭 추상화의 예들을 도시한다;
도 17은 도 1의 시스템에 의해 수행될 수도 있는 기하학적 도형들을 이용한 블롭 추상화 방법의 특정 실례가 되는 실시형태의 흐름도를 묘사한다;
도 18은 도 1의 시스템에 의해 수행될 수도 있는 블롭 투영의 실증적인 예를 묘사하는 도면이다;
도 19는 도 1의 시스템에 의해 수행될 수도 있는 기하학적 도형들을 이용한 블롭 투영 방법의 특정 실례가 되는 실시형태의 흐름도를 묘사한다;
도 20은 도 1의 시스템에 의해 수행될 수도 있는 투영 프로파일 분석의 실증적인 예를 묘사하는 도면이다;
도 21은 도 1의 시스템에 의해 수행될 수도 있는 투영 프로파일 분석 방법의 특정 실례가 되는 실시형태의 흐름도를 묘사한다;
도 22는 도 1의 시스템에 의해 수행될 수도 있는 블롭들의 한 세트를 구획하는 (partitioning) 실증적인 예를 묘사하는 도면이다;
도 23은 도 1의 시스템에 의해 수행될 수도 있는 블롭들의 한 세트를 구획하는 방법의 특정 실례가 되는 실시형태의 흐름도를 묘사한다;
도 24는 도 1의 시스템에 의해 수행될 수도 있는 기하학적 도형들에 대한 다중 투영 프로파일 분석의 실증적인 예를 묘사하는 도면이다;
도 25는 도 1의 시스템에 의해 수행될 수도 있는 기하학적 도형들에 대한 다중 투영 분석을 수행하는 방법의 특정 실례가 되는 실시형태의 흐름도를 묘사한다; 그리고
도 26은 블롭 기반 텍스트 추출기를 포함하는 휴대형 디바이스의 블록도이다.
도 1을 참조하면, 이미지 지역들에 기초한 텍스트 검출 (예컨대 블롭 추출) 을 포함하는 시스템 (100) 의 특정 실시형태가 예시된다. 시스템 (100) 은 블롭 추상화기 (blob abstractor; 112) 에 연결된 텍스트 블롭 추출기 (104) 를 구비한다. 블롭 추상화기 (112) 는 텍스트 지역 검출기 및 2치화 엔진 (114) 에 연결된다. 텍스트 블롭 추출기 (104) 는 이미지 데이터 (102) 를 수신하도록 그리고 블롭 추출기 (106) 에서 블롭들을 식별하도록 구성된다. "블롭 (blob)"은 이미지 데이터 (102) 의 실질적으로 동질의 지역이다. 예를 들어, 블롭 추출기 (106) 는 이미지 데이터 (102) 를 스캔하도록 그리고 실질적으로 변화하지 않는 화소 컬러 값들 또는 세기를 갖는 이미지 데이터 (102) 의 지역들을 식별하도록 구성될 수도 있다. 예시를 위해, 이미지 컬러 공간의 지역이 식별될 수도 있고 식별된 컬러 공간 내의 화소 값들을 갖는 인접하는 화소들의 세트가 블롭으로서 식별될 수도 있다. 블롭 추출기 (106) 는 임의의 블롭들이 텍스트 후보들인지 또는 비텍스트 후보들인지를 검출하도록 구체적으로 구성되는 일 없이 이미지 데이터에서 블롭들을 식별하도록 구성되는 "일반" 블롭 추출기일 수도 있다. 블롭 추출기 (106) 에 의해 식별되는 블롭들의 표시 (105) 는 텍스트 블롭 선택기 (107) 에 제공될 수도 있다. 예를 들어, 표시 (105) 는 식별된 블롭들의 목록, 이를테면 각각의 식별된 블롭의 인덱스와, 각각의 식별된 블롭에 대응하는 이미지 데이터 (102) 의 화소들의 목록을 포함할 수도 있다. 다른 예로서, 표시 (105) 는 블롭 화소 데이터에 대한 포인터들의 목록 또는 어레이를 포함할 수도 있다. 다른 예로서, 표시 (105) 는 이미지 데이터 (102) 또는 이미지 데이터 (102) 의 서브세트를 포함할 수도 있고, 각각의 화소에 대해, 그 화소가 속하는 각각의 블롭 (만약 있다면) 을 나타낼 수도 있다.
특정 실시형태에서, 텍스트 블롭 선택기 (107) 는 안정하고 곡선인 블롭 선택기 (108) 및 중첩 지역 제거기 (110) 를 구비한다. 텍스트 블롭 선택기 (107) 는 블롭 추출기 (106) 에 의해 식별된 블롭들의 표시 (105) 를 수신하도록 그리고 안정하고 곡선인 블롭들의 세트를 선택하도록 구성될 수도 있다. 예를 들어, 블롭의 안정성은 블롭의 사이즈가 임계 값에서의 변화들로는 실질적으로 변화하지 않는다는 것을 나타낼 수도 있다. 예시를 위해, 임계 값은 이미지 컬러 공간에서의 지역의 경계에 대응할 수도 있고, 컬러 공간 지역의 경계에서의 작은 변화들은 안정한 블롭에 대한 사이즈에서의 비교적 작은 변화들을 유발할 수도 있지만, 불안정한 블롭들은 컬러 공간 지역 경계들에서의 작은 변화들에 응답하여 사이즈를 상당히 변화시킬 수도 있다. 하나 이상의 안정한 블롭들을 찾을 시, 안정하고 곡선인 블롭 선택기 (108) 는 식별된 안정한 블롭이 또한 곡선인지의 여부를 결정하도록 구성될 수도 있다. 본원에서 사용되는 바와 같이, "곡선 (curvilinear)"은 블롭의 사이즈에 비해 작은 획 폭를 가지는 것에 해당한다. 예를 들어, 글자 "s"를 포함하는 블롭은 글자 "s"의 외부 치수에 대응하는 사이즈를 가질 수도 있고, 글자의 단면의 두께에 대응하는 획 폭을 가질 수도 있다. 텍스트가 곡선이 될 경향 (예컨대, 글자들 및 문자들이 펜 또는 다른 필기 도구에 의해 만들어질 수도 있는 선들 및 곡선들로 형성될 경향) 이 있기 때문에, 곡선이 아닌 블롭들은 텍스트 후보들로서 거부될 수도 있다. 안정하고 곡선인 블롭 선택기 (108) 는, 안정성에 대한 요건을 만족하고 추가로 곡선성에 대한 요건을 만족하는 블롭의 식별 시, 식별된 블롭의 표시를 중첩 지역 제거기 (110) 에 제공할 수도 있다.
중첩 지역 제거기 (110) 는, 블롭 추출기 (106) 에 의해 식별되었고 안정하고 곡선인 블롭 선택기 (108) 에 의해 선택된 특정 안정하고 곡선인 블롭에 중첩되는 블롭들을 제거할 수도 있다. 예시를 위해, 블롭 추출기 (106) 는 서로 중첩할 수도 있는 이미지의 단일 지역 내의 다수의 블롭들을 식별할 수도 있다. 중첩 블롭들이 텍스트 검출에서 불확실성 (ambiguity) 을 도입할 수도 있기 때문에, 일단 인식된 글자에 또는 다른 텍스트에 대응할 수도 있는 안정하고 곡선인 블롭이 식별되면, 중첩 지역 제거기 (110) 는 식별된 안정하고 곡선인 블롭에 중첩하는 모든 블롭들을 찾아서 제거한다. 이미지 데이터 (102) 에서 보이는 글자들 또는 다른 텍스트는 서로 중첩하지 않는다고 가정될 수도 있다. 그러므로, 일단 블롭이 글자들 또는 텍스트에 대한 기준을 만족하는 것으로서 선택되면, 선택된 블롭에 중첩하는 임의의 블롭들은 제거될 수도 있다. 중첩 블롭들이 중첩 지역 제거기 (110) 에 의해 제거된 후, 안정하고 곡선인 블롭 선택기 (108) 는, 텍스트 블롭 선택기 (107) 가 안정한, 곡선, 및 중첩하지 않은 블롭들의 세트를 식별완료하기까지, 안정성 및 곡선 요건들에 부합하는 부가적인 블롭들을 식별하기 위해 블롭 추출기 (106) 에 의해 식별된 블롭들의 그 세트 중 남아있는 블롭들의 프로세싱을 계속할 수도 있다. 텍스트 블롭 추출기 (104) 는 블롭들의 이 식별된 세트를 이미지 데이터 (102) 에서의 텍스트에 대응할 가능성이 있는 것으로서 출력한다.
특정 실시형태에서, 블롭 추상화기 (112) 는 텍스트 블롭 추출기 (104) 로부터 수신된 블롭들에 대한 하나 이상의 컴퓨테이션들을 수행하도록 그리고 텍스트 지역 검출기 및 2치화 엔진 (114) 에서의 동작을 지원하는 분석을 수행하도록 구성된다. 예를 들어, 도 8에 관해 설명되는 바와 같이, 블롭 추상화기 (112) 는 식별된 블롭들에 대응하는 기하학적 형상들의 세트를 결정하도록 그리고 나중의 광학적 문자 인식 (OCR) 프로세싱을 위한 텍스트 인식에 영향을 미칠 수도 있는 스큐, 틸트, 또는 다른 효과들을 결정하기 위해 기하학적 형상들을 프로세싱하도록 구성될 수도 있다. 예를 들어, 컴퓨테이션 요건들은 식별된 블롭들을 화소들의 세트들로서가 아니라 기하학적 형상들로서 추상화하는 것에 의해 상당히 감소될 수도 있다. 감소된 컴퓨테이션 요건들은 데스크톱 컴퓨팅 시스템들에 비교하여 상대적으로 제한된 프로세싱 자원들을 가질 수도 있는 다른 디바이스들 또는 핸드헬드 디바이스들 상에서 텍스트 추출이 수행되는 것이 가능하게 할 수도 있다.
텍스트 지역 검출기 및 2치화 엔진 (114) 은 블롭 추출기 (112) 로부터의 출력을 수신하도록 그리고 텍스트 지역 검출 및 2치화를 수행하도록 구성된다. 예를 들어, 텍스트 지역 검출기 및 2치화 엔진 (114) 은 텍스트에 대응하는 이미지 데이터 (102) 에서의 지역들을 찾도록 그리고 1 값을 갖는 텍스트 지역들에 대응하는 화소들 및 다른 값을 갖는 비텍스트 지역들에 대응하는 화소들을 갖는 이진 이미지, 이를테면 흑색 백그라운드 상의 백색 텍스트 또는 백색 백그라운드 상의 흑색 텍스트를 갖는 흑백 이미지를 생성하도록 구성될 수도 있다. 텍스트 지역 검출기 및 2치화 엔진 (114) 은 검출된 텍스트를 이미지의 비텍스트 영역들과 대조하는 이진 이미지를 포함할 수도 있는 텍스트 이미지 데이터 (116) 를 생성할 수도 있다. 텍스트 이미지 데이터의 예들은 도 9 내지 도 11에 도시되어 있다.
도 2를 참조하면, 블롭들을 이용한 텍스트 인식 방법의 특정 실시형태가 묘사되고 전체로서 200이 지정된다. 방법 (200) 은 블롭 기반 이미지 프로세싱 텍스트 엔진, 이를테면 도 1의 시스템 (100) 에서 수행될 수도 있다. 방법 (200) 은 블롭들을 식별하는 단계를 202에 포함한다. 예를 들어, 이미지 데이터는 수신될 수도 있고 하나 이상의 테스트들 또는 필터들이 실질적으로 동질인 이미지의 지역들을 식별하기 위해 수신된 이미지 데이터에 대해 수행될 수도 있다. 예시를 위해, 화소 값들의 하나 이상의 범위들이 선택될 수도 있고 화소들의 세트들은, 연속 지역들에 있고 선택된 범위들에서의 값들을 갖는 것으로서 식별될 수도 있다. 다른 예로서, 특정 화소가 식별될 수도 있고 식별된 화소의 화소 값들의 미리 정의된 범위 내의 화소 값들을 갖는, 식별된 화소에 인접한 다른 화소들은 찾아질 수도 있다. 이런 방식으로, 실질적으로 동질의 화소 값들 또는 컬러 공간 값들을 가지는 이미지의 지역들이 블롭들로서 식별될 수도 있다.
식별된 블롭들은 204 내지 212의 프로세싱 루프에서 테스트 후보들을 식별하기 위해 프로세싱된다 (추가 예가 도 4에 관해 묘사된다). 식별된 블롭들 중 가장 안정한 블롭이 204에서 선택된다. 예를 들어, 블롭들의 각각은 각각의 블롭에 대해 특히 안정성 값을 결정하기 위해 프로세싱될 수도 있다. 예시를 위해, 2치화에 유사할 수도 있는 프로세스는 상이한 임계값들로 여러 번 수행될 수도 있다. 식별된 블롭들의 각각에 대한 임계값의 변화에 응답한 블롭 사이즈의 변화가 결정될 수도 있다. 예를 들어, 임계값에서의 변화에 대한 블롭의 사이즈의 변화 정도 또는 도함수 값이 식별되고 안정성의 측정값으로서 이용될 수도 있다. 식별된 블롭들 중 가장 안정한 블롭을 식별한 후, 206에서, 블롭이 곡선인지의 여부의 결정이 이루어진다. 예를 들어, 블롭의 획 폭이 블롭의 사이즈와 비교될 수도 있다. 블롭 곡선 결정의 일 예는 도 14에 관해 도시되어 있다.
206에서 식별된 블롭이 곡선이라는 결정에 응답하여, 중첩 블롭들은, 208에서 제거된다. 예를 들어, 곡선 블롭에 의해 점유된 지역에 중첩하는 임의의 블롭들은, 208에서 제거될 수도 있다. 그 결과, 블롭들의 식별된 세트에서의 중첩 블롭들로 인한 불확실성은 텍스트가 이미지 내의 다른 텍스트와 중첩하지 않는다는 가정 하에 제거될 수도 있다. 206에서 블롭이 곡선이 아니라는 결정에 응답하여, 또는 208에서의 식별된 곡선 블롭의 지역에서 중첩 블롭들을 제거한 후, 프로세싱은, 210에서, 프로세싱될 남아있는 더이상의 식별된 블롭들이 있는지의 여부의 결정을 계속한다. 210에서의 프로세싱될 남아있는 블롭들이 더 있다는 결정에 응답하여, 다음으로 가장 안정한 블롭이 212에서 선택되고, 프로세싱은 206에서 다음으로 가장 안정한 블롭이 곡선인지의 여부를 결정하는 것을 계속한다. 프로세싱은, 202에서 식별된 블롭들의 모두가 프로세싱 완료되고 안정하고 곡선인 블롭들로서 식별되거나 또는 제거되는 것 중 어느 하나가 되기까지 계속할 수도 있다.
프로세싱 동안, 206에서 블롭이 곡선이 아니라는 결정에 응답하여, 또는 208에서 블롭이 곡선이라고 결정되는 다른 블롭과 중첩한다는 결정에 응답하여, 그 블롭은 식별된 블롭들의 세트로부터 제거될 수도 있다. 다른 실시형태들에서, 블롭이 안정하지 않다는 결정에 응답하여 그 블롭은 제거될 수도 있다. 프로세싱될 더이상의 블롭들이 없다는 결정이 이루어지는 (예컨대 모든 식별된 블롭이 206에서 곡선이라고 결정되었거나, 또는 210에서 제거된) 경우, 남아있는 블롭들 (즉, 제거되지 않은 블롭들) 은 214에서 추상화된다. 예를 들어, 블롭들에 대응하는 파라미터화된 기하학적 형상들은, 도 8에 관해 설명되는 바와 같이, 부가적인 이미지 텍스트 프로세싱을 위해 식별될 수도 있다. 214에서, 남아있는 블롭들을 추상화한 후, 216에서, 텍스트 지역이 검출되고 하나 이상의 정규화된 이진 이미지들이 생성된다. 검출된 텍스트 지역과 정규화된 이진 이미지들의 생성은 남아있는 블롭들을 추상화한 결과들에 기초하여 수행될 수도 있다. 예를 들어, 정규화는, 구체적인 예들로서, 스큐 및 틸트를 포함하는 텍스트 효과들을 제거하기 위한 이미지 데이터의 프로세싱을 포함할 수 있다.
블롭 식별을 이용하고 기준을 적용하여 곡선이고 안정한 블롭들을 선택함으로써 텍스트 추출을 수행하는 것에 의해, 방법 (200) 은 컬러 세그먼트화에 기초한 방법들에 비교하여 실질적으로 감소된 프로세싱 복잡도로 입력 이미지의 문자형 (character type) 지역들의 검출을 가능하게 한다. 예를 들어, 컬러 세그먼트화는 심지어 개인용 컴퓨터 기반 구현예들에 대해서도 컴퓨테이션적으로 부담이 큰 프로세싱을 필요로 할 수도 있다. 덧붙여서, 블롭 추출 및 블롭 추상화를 수행하는 것에 의해, 정규화된 이진 이미지들은 이미지 데이터가 단일 백그라운드 컬러 및 그 백그라운드 컬러와는 상이한 단일 텍스트 컬러를 가지는 것을 명시적으로 또는 암시적으로 요구하는 일 없이 효율적으로 생성될 수도 있다. 대신, 텍스트는 중첩하지 않으며, 안정하고, 곡선이라는 기준들을 만족하는 이미지의 동질의 지역들에 기초하여 (동질의 지역들이 어떤 컬러일 수도 있든) 식별된다. 텍스트가 도 1의 시스템 (100) 을 사용하여 또는 도 2의 방법 (200) 을 수행하는 것에 의해 식별될 수도 있는 이미지들의 예들이 도 3에 도시되어 있다.
도 3은 블롭 추출을 이용하여 검출가능할 수도 있는 텍스트를 포함하는 이미지들 (302, 304, 및 306) 을 예시한다. 이미지 (302) 는 텍스트 컬러 및 백그라운드 컬러가 동일한 텍스트를 포함한다. 블롭 추출에 기초하지 않는 2치화 엔진들 (이를테면 컬러 기반 2치화) 은 제 1 이미지 (302) 에서 텍스트를 정확하게 식별하는데 실패할 수도 있는데, 2치화 엔진이 텍스트 컬러가 백그라운드 컬러와는 상이할 것이라고 예상하기 때문이다. 그러나, 도 1 및 도 2에 관해 설명되는 블롭 추출 및 추상화는 글자들의 각각을 상이한 컬러의 테두리 (border) 내의 동질의 지역으로서 식별할 수도 있고 그러므로 이미지 (302) 에서 텍스트를 정확하게 식별할 수도 있다.
이미지 (304) 는, 이미지 백그라운드 컬러와 실질적으로 유사한 컬러를 갖고 상이한 컬러의 지역들에 의해 경계를 이루는 아시아 문자 텍스트를 포함한다. 기존의 텍스트 추출 엔진들은, 이미지 백그라운드와는 공통 컬러를 공유하고 상이한 컬러의 화소들에 의해 둘러싸인 텍스트 문자들의 식별하는 데 어려움이 있을 수도 있다.
이미지 (306) 는 많은 에지들 및 다양한 컬러들을 갖는 복잡한 컬러 체계를 가지는 백그라운드 이미지 상에 포개진 백색 텍스트를 갖는 간판을 포함한다. 이미지 (306) 에서의 텍스트의 백그라운드가 다수의 컬러들을 가지고 복잡하기 때문에, 그리고 텍스트 (예를 들어 단어 "fish"의 "ish") 의 컬러가 백그라운드의 부분들와 유사하기 때문에, 기존의 2치화 및 텍스트 추출은 텍스트를 구별할 수 없을 수도 있다. 그러나, 도 2의 블롭 기반 방법 (200) 은, 도 4에 관해 예시된 바와 같이, 이미지 (306) 에서의 텍스트의 식별을 가능하게 한다.
도 4를 참조하면, 도 2의 방법 (200) 의 애플리케이션을 예시하는 일반 도형이 도시되고 있고 전체로서 400이 지정된다. 도 3의 이미지 (306) 에 대응하는 이미지 (402) 는, 텍스트 추출을 위해 검사된다. 프로세싱 동안, 블롭들의 한 세트가 식별되고 안정성에 대해 평가될 수도 있다. 예를 들어, 이미지 (402) 의 지역 (404) 의 프로세싱은 다수의 블롭들이 식별되게 할 수도 있다. 블롭 (406) 은 식별된 블롭들 중 가장 안정한 것으로서 식별될 수도 있다. 블롭 (406) 은 이미지 (402) 에서 실질적으로 유사한 컬러의 큰 지역에 대응한다. 블롭 (406) 은 이미지 (402) 에서의 문구 "fish & chips"으로부터의 글자들인 "ish" 및 "&"를 포함하는 다수의 중첩 블롭들 중 가장 큰 것일 수도 있다.
블롭 (406) 을 이미지 (402) 에서의 또는 지역 (404) 에서의 식별된 블롭들의 세트 중 가장 안정한 블롭으로서 식별한 후, 블롭 (406) 이 곡선인지의 여부의 결정 (408) 이 이루어진다. 블롭 (406) 의 획 폭이 (도 14에 관해 더 상세히 설명되는 바와 같이) 블롭 (406) 의 사이즈에 비교하여 크기 때문에, 블롭 (406) 은 이미지 (402) 에서의 텍스트에 대응할 가능성이 없는 것으로 결정된다.
식별된 블롭들의 세트에서 다음으로 가장 안정한 블롭이 식별된다. 예를 들어, 다른 블롭 (410) (블롭 (406) 과는 중첩함) 이 다음으로 가장 안정한 블롭으로서 식별될 수도 있다. 블롭 (410) 은 검사되고 곡선이 아니라고 결정된다. 그 결과, 블롭 (410) 은 고려대상에서 제거된다. 블롭 (410) 은 블롭 (410) 의 안정성에 기초하여 그리고 블롭 (410) 이 이전에 검사된 블롭 (406) 과 중첩하는지에 무관하게 곡선 테스팅을 위해 선택될 수도 있다.
다른 블롭 (412) 이 다음으로 가장 안정한 블롭으로서 식별되는 경우, 블롭 (412) 은 곡선성에 대해 검사된다. 블롭 (412) 은 곡선성에 대한 제약조건들을 만족하지 않는다고 결정되고, 고려대상에서 제거된다. 블롭 (416) (단어 "fish"에서 글자 "s"에 밀접하게 대응함) 이 다음으로 가장 안정한 블롭으로서 식별되는 경우, 블롭 (416) 은 곡선성에 대해 테스트되고, 블롭 (416) 이 곡선이라는 결정 (414) 이 이루어진다. 블롭 (416) 이 안정하고 곡선인 블롭이기 때문에, 블롭 (416) 은 텍스트에 대응할 가능성이 있을 수도 있고 블롭 (416) 에 중첩하는 블롭들이 제거된다. 마찬가지로, 블롭 (418) (글자 "i"에 대응함) 이 다음으로 가장 안정한 블롭으로서 식별되고 곡선이라고 결정되는 경우, 블롭 (418) 에 중첩하는 블롭들은 고려대상에서 제거된다.
블롭 (420) 이 다음으로 가장 안정한 블롭으로서 식별될 수도 있다. 블롭 (420) 은 글자 "c"를 포함하고 또한 글자 "c"와는 실질적으로 유사한 컬러를 갖는 이미지 백그라운드의 일부를 포함한다. 블롭 (420) 은 곡선이 아닌 것으로서 식별되고, 고려대상에서 제거된다. 블롭 (420) 은 단지 글자 "c"만을 포함하는 블롭에 중첩되며, 이는 다음으로 가장 안정한 블롭이라고 결정될 수도 있고 곡선이라고 결정된다. 그 결과, 글자 "c"를 포함하는 블롭은 텍스트에 대한 후보로서 유지된다. 이런 방식으로, 안정성 및 곡선 기준을 이용한 블롭 추출은 유사한 컬러의 백그라운드에 중첩하는 이미지 (402) 의 글자들을 성공적으로 식별하여, 지역 (404) 에서 텍스트에 대응하는 블롭들을 드러낼 수도 있다.
비록 블롭 (406) 이 가장 안정한 블롭으로서 설명되고 중첩 블롭들 (410, 412, 및 416) 이 연속하는 다음으로 가장 안정한 블롭들이라고 설명되지만, 블롭 안정성의 결정은 블롭 사이즈 및/또는 중첩에 독립적일 수도 있다는 것이 이해되어야 한다. 예를 들어, 블롭 (406) 은 가장 안정한 블롭으로 결정될 수도 있다. 블롭 (406) 이 곡선이 아니라고 결정된 후, 블롭 (416) 은 다음으로 가장 안정한 블롭으로 결정될 수도 있다. 이 예에서, 블롭 (416) 이 곡선이라고 결정한 후, 중첩 블롭들 (410 및 412) 은 블롭 (410 또는 412) 중 어느 하나가 곡선인지의 여부를 테스트하는 일 없이 곡선 블롭 (416) 에 중첩하기 때문에 고려대상에서 제거된다. 다른 예로서, 블롭 (416) (블롭 (406) 이 아님) 이 가장 안정한 블롭으로 결정될 수도 있다. 블롭 (416) 이 곡선이라고 결정된 후, 블롭 (416) 에 중첩하는 블롭들 (406, 410, 및 412) 은 블롭들 (406, 410, 및 410) 중 임의의 것이 곡선인지의 여부를 결정하는 일 없이 고려대상에서 제거된다.
도 5를 참조하면, 도 4의 이미지 (402) 에 대응하는 이미지 (502) 와 도 2의 방법 (200) 에 따른 이미지 (504) 의 영역의 블롭 추출을 수행한 결과들이 예시되어 있다. 블롭들의 한 세트 (506) 는 안정하며, 곡선이고, 중첩이 아닌 이미지 (502) 의 섹션들에 대응한다. 블롭들의 그 세트 (506) 는, 도 8에 관해 더 상세히 설명되는 바와 같이, 텍스트 지역 검출을 수행하고 정규화된 이진 이미지를 생성하기 전에 추상화를 위해 블롭 추상화기에 제시될 수도 있다.
도 6을 참조하면, 블롭 기반 텍스트 추출의 일 예 (600) 는 제 1 이미지 (602) 와 블롭들의 세트들 (603) 로서 예시된, 제 1 이미지 (602) 에 대한 블롭 추출/정규화 결과들을 포함한다. 블롭들의 세트들 (603) 은 제 1 이미지 (602) 에서의 간판에 제시된 글자들의 각각이 블롭 추출과 안정성, 곡선성, 및 비-중첩성 (non-overlapping) 기준들의 적용에 따라 식별되어 있다는 것을 예시한다. 식별된 블롭들은 텍스트 효과들을 제거하는 것에 의해 정규화되어 블롭들의 세트 (603) 를 생성한다.
예 (600) 는 백그라운드와는 상이한 컬러를 갖는 글자들의 제 1 세트 "boo", 및 백그라운드와는 동일한 컬러를 갖고 각각의 글자의 경계를 정하는 (delineating) 백색 테두리들을 갖는 글자들의 제 2 세트 "hoo"를 더 포함한다. 도 1 내지 도 5에 관해 설명된 바와 같은 블롭 추출 프로세스는 텍스트 효과들을 제거하는 것에 의해 정규화되어 블롭들의 세트들 (605) 을 생성할 수도 있다. 블롭들의 세트들 (605) 은 글자들 "boo"에 대응하는 블롭들의 제 1 세트 및 글자들 "hoo"에 대응하는 블롭들의 제 2 세트를 포함한다.
도 7을 참조하면, 투영 프로파일 분석의 예들이 도시되어 있고 전체로서 700이 지정된다. 제 1 예 (702) 는, 일련의 식별된 블롭들을 가로지르고 텍스트 열 (a line of text) 의 투영 프로파일 (708) 이 되는 제 1 투영 방향을 따르는 투영 선들의 제 1 세트 (706) 를 이용한 투영 프로파일 분석을 도시한다. 투영 프로파일 분석의 제 2 예 (704) 는, 제 2 투영 방향을 따르며 결국 텍스트 열의 더 큰 투영 프로파일 (712) 이 되는 투영 선들의 제 2 세트 (710) 를 도시한다.
투영 프로파일 분석은 도 1의 텍스트 블롭 추출기 (104) 에 의해 식별되는 또는 도 2의 방법 (200) 의 블롭 추출 부분에 관해 설명되는 바와 같은 블롭들에 대해 수행될 수도 있다. 투영 프로파일 분석은 테스트될 다수의 방향들 (예컨대 M 개의 방향들) 을 선택하는 것을 포함할 수도 있고 폭 W 및 높이 H를 갖는 이미지의 지역의 각각의 화소에 대해 수행될 수도 있으며, 투영 프로파일 분석을 수행하기 위한 전체적인 복잡도는 차수 W×H×M 으로 된다. 투영 프로파일 분석은 최소로 결정된 투영 프로파일을 선택하는 것 (예컨대 투영 프로파일 (712) 보다 작은 것으로서 투영 프로파일 (708) 을 선택하는 것) 을 포함할 수도 있고, (즉, 선들이 최소 컴퓨팅된 투영 프로파일이 되는) 수평에 대한 투영 프로파일 선들의 각도에 대응하는 것으로서 텍스트 스큐를 식별하는 것을 포함할 수도 있다. 비록 도 7에 예시된 투영 프로파일 분석이 화소들의 그룹들인 추출된 블롭들에 대해 수행될 수도 있지만, 텍스트의 스큐 및 틸트를 결정하기 위한 계산 복잡도는, 도 8에 관해 더 상세히 설명되는 바와 같이, 투영 프로파일 분석 전에 블롭 추상화를 수행하는 것에 의해 상당히 감소될 수도 있다.
도 8을 참조하면, 블롭 추상화의 일 예가 묘사되어 있고 전체로서 800이 지정된다. 이미지 (802) 가 숫자들 및 한글 문자들을 갖는 텍스트를 포함한다. 이미지 (802) 에 대응하는 블롭 추출은 이미지 (804) 에 예시되어 있는 블롭들이 식별되게 한다. 이미지 (804) 는 흑색 백그라운드에 대해 백색 화소들로서 추출된 블롭들을 도시한다. 이미지 (804) 에서의 추출된 블롭들은 이미지 (806) 에서 추상화된 블롭들을 생성하기 위해 블롭 추상화 프로세스에 의해 프로세싱될 수도 있다.
블롭 추상화는 식별된 블롭들의 각각을 실질적으로 덮거나 포함하는 타원들 (또는 다른 형상들) 을 찾는 것에 의해 수행될 수도 있다. 파라메트릭 도형들, 이를테면 타원들, 삼각형들, 직사각형들, 또는 비교적 적은 수의 파라미터들을 이용하여 식별될 수도 있는 다른 형상들이, 개개의 화소들의 컬렉션들로서 식별된 블롭들을 이용하 (고 그러므로 각각의 블롭에서의 화소들의 수와 동일한 파라미터들의 수를 갖) 는 것에 대한 컴퓨테이션적으로 저렴한 대안으로서 이용될 수도 있다. 이미지 (806) 에 묘사된 블롭 추상화 결과에서 예시된 바와 같이, 블롭 추출로부터의 각각의 블롭은 타원, 이를테면 대표적인 타원 (807) 과 맞다. 그 타원은 기하학적 형상이 일반적으로 블롭과 동일한 스팬 (span) 및 경사각에 대응하도록 그것의 대응하는 블롭에 대한 기하학적 형상의 적합도 (fit) 를 획득하는 하나 이상의 다른 기법들, 에너지 최소화 기법, 또는 최소 자승 에러 기법 기법에 따라 선택될 수도 있다.
도 8은 텍스트를 포함하는 이미지의 제 2 예 (808) 를 포함한다. 이미지 (808) 에서의 텍스트에 대응하고 또한 하나 이상의 다른 비텍스트 블롭들을 포함하는 블롭들을 포함하는 블롭 추출의 결과가 이미지 (810) 에서 제공된다. 블롭 추상화를 수행한 결과가 이미지 (812) 에 묘사되어 있다. 예시된 바와 같이, 이미지 (812) 에서의 블롭 추상화의 결과들은 타원들의 세트를 포함하며, 각각의 타원은 일반적으로 대응하는 블롭의 사이즈에 대응하고 그것의 대응하는 블롭의 배향과는 실질적으로 정렬하는 배향 (즉, 장축) 을 가진다. 비텍스트 블롭들은 비텍스트 블롭들에 대한 대응하는 타원들이 하나 이상의 최소 사이즈 임계값들을 충족하는데 실패함으로 인해 제거되어 있다.
블롭 추상화를 수행한 후, 투영 프로파일 분석은 식별된 기하학적 도형들 내에 둘러싸인 화소들, 이를테면 도 8에 예시된 타원들 내의 화소들을 이용하여 투영 프로파일 분석을 수행하는 것에 의해 하나의 실시형태에서에서 컴퓨테이션적으로 단순화될 수도 있다. 다른 실시형태에서, 계산 복잡도는 기하학적 도형들을 서술하는 수학식들에 따라 기하학적 도형들의 각각에 대한 투영 값들을 결정하는 것에 의해 더 크게 감소될 수도 있다. 예를 들어, 타원에 대한 투영 값을 결정하는 컴퓨테이션은 비교적 수월하며, 결국 전반적인 투영 프로파일 분석 복잡도는 n×M 이 되며, 여기서 n은 추상화된 블롭들의 수 (즉, 타원들의 수) 이고, M은 테스트될 텍스트 투영 각도들의 수에 대응한다.
투영 프로파일 분석을 추출된 블롭들에 대해 직접 수행하는 것에 비교하여, 투영 프로파일 분석 전에 블롭 추상화를 이용하는 것에 의해 절약될 수도 있는 컴퓨테이션 사이클들은, 부가적인 프로세싱 동작들이 텍스트 추출 동안에 상당한 지연을 도입하는 일 없이 수행되는 것을 보장할 수도 있다. 예를 들어, 도 12에 관해 더 상세히 설명되는 바와 같이 비록 투영 프로파일 분석이 텍스트 열의 스큐의 결정을 가능하게 할 수도 있지만, 다른 프로세싱, 이를테면 각각이 도 10에 관해 더 상세히 설명되는 것들인, 틸트를 추정하는 것, 약한 전망 (weak perspective) 왜곡을 보상하는 것, 및 멀티-스큐 핸들링이 또한 수행될 수도 있다.
도 9를 참조하면, 블롭 추상화에 기초한 이미지에서의 텍스트 스큐 및 틸트 정정의 예들 (900) 이 묘사되어 있다. 평행사변형으로서 예시된 텍스트 지역 내에 있는 것으로 식별되는 텍스트를 갖는 이미지 (902) 가 예시되어 있다. 텍스트는, 각각의 글자가 (예컨대 이탤릭체로) 기울어져 있음을 나타내는 틸트를 가지고, 텍스트는 일반적으로 수평 텍스트 열 (text line) 을 따르고 그러므로 약간의 스큐를 가지거나 또는 스큐가 없다. 이미지 (902) 에서의 텍스트는 블롭 추출을 이용하여 식별되고 타원들 또는 다른 파라메트릭 형상들로서 추상화될 수도 있다. 투영 프로파일 분석은 블롭들의 각각의 틸트 (즉, 식별된 텍스트에서의 글자들의 각각의 틸트) 의 양을 식별하도록 수행될 수도 있고, 블롭들의 각각에 대해 식별되는 틸트는 보상되어 블롭들의 보상된 세트 (903) 로 나타날 수도 있다. 블롭들의 보상된 세트 (903) 는 실질적으로 틸트를 가지지 않는 것으로서 예시된다. 그 결과, 문자 인식은, 도 11에 관해 더 상세히 설명되는 바와 같이, 틸트에 의해 유발된 문자 중첩을 제거하는 것에 의해 증가된 신뢰도로 수행될 수도 있다.
도 9는 식별된 텍스트 지역 내에 문자들을 포함하는 제 2 이미지 (904) 를 예시한다. 식별된 텍스트 지역 내의 문자들은 블롭 추출, 추상화, 및 스큐 및 틸트 보상 후에, 블롭들의 보상된 세트 (905) 로서 예시되어 있다. 도 9는 2 개의 텍스트 영역들을 포함하는 제 3 이미지 (906) 를 예시한다. 제 3 이미지 (906) 에 적용된 블롭 추상화, 추출, 및 보상의 결과가 블롭들의 보상된 세트 (907) 로서 제공된다.
도 10을 참조하면, 입력 이미지 및 대응하는 블롭 추출, 추상화, 및 보상 결과들의 제 1 예 (1002) 가 도시되어 있다. 제 1 예 (1002) 는 텍스트 "Software That Sees"에 그리고 또 텍스트 "HOME" 및 "ENTERTAINMENT"에 적용되는 틸트 보상을 도시한다. 광학적 문자 인식이 틸트 보상 후 큰 신뢰도로 수행될 수도 있다. 제 2 예 (1004) 가 약한 전망 (perspective) 보상을 도시한다. 약한 전망은 멀리있는 대상체들의 이미지 캡처 동안에 유발될 수도 있는 비교적 흔한 왜곡일 수도 있다. 약한 전망 효과들에 대한 보상은 스큐 검출 및 보상과 틸트 검출 및 보상과는 유사할 수도 있다. 제 3 예 (1006) 가 이미지들의 지역들을 별개의 텍스트 열들로서 식별하는 것에 의해 다수의 텍스트 열들의 검출을 가능하게 하는 텍스트 열 분리를 예시한다. 제 4 예 (1008) 가 멀티-스큐 핸들링의 일 예를 제공한다. 예 (1008) 에서의 이미지는 3 개의 텍스트 열들, 즉 제 1 스큐 방향을 갖는 제 1 두 개의 텍스트 열들 및 제 2 스큐 방향을 갖는 제 3 텍스트 열을 가진다. 멀티-스큐 핸들링은 하단의 텍스트 열을 단일 텍스트 열로서 식별하고, 양쪽 모두의 열들이 수평 스큐들을 갖는 2 개의 상부 텍스트 열들을 다른 텍스트 열로서 식별하는 제 1 투영 프로파일 분석을 수행할 수도 있다. 이미지의 상부 부분에 대한 이차 투영 프로파일 분석은, 각각이 유사한 비-수평 스큐를 갖는 2 개의 별개의 텍스트 열들을 식별할 수도 있다. 예들 (1002 내지 1008) 은 블롭 추상화로부터 생기는 효율들로 인해 감소된 컴퓨테이션 요건들을 갖는 틸트 보상, 전망 보상, 텍스트 열 분리, 및 멀티-스큐 핸들링을 예시한다.
도 11을 참조하면, 틸트를 포함하는 이미지 텍스트의 일 예 (1102) 가 도시되어 있다. 이미지 텍스트의 각각의 글자는 기울어져 있어서, 검사될 각각의 글자에 대응하는 수직 공간들을 식별하는 문자 세그먼트화 루틴은 글자들 간의 명확한 분리를 식별하지 못할 수도 있다. 예를 들어, 글자 "f" (1106) 에 대한 세그먼트화는 "f"의 양쪽 말단들을 생략하여, 광학적 문자 인식 동안에 "f"가 인식불가능하게 할 수도 있다. 마찬가지로, "f"에 인접한 글자들 "o" 및 "t"가 또한 "f"와의 중첩으로 인해 잘못 인식될 수도 있다. 다른 예로서, 글자 "h" (1110) 에 대한 세그먼트화는 광학적 문자 인식 동안에 오류가 생기게 할 수도 있는데, "h"의 왼쪽 부분이 절제 (cut off) 되어 있기 때문이다.
틸트 보상된 텍스트의 일 예 (1104) 는 틸트를 갖는 텍스트의 예 (1102) 에 적용된 것으로서 도 8에 관해 예시되고 설명되는 바와 같은 블롭 추상화로 생성될 수도 있다. 예를 들어, 블롭 추상화 및 투영 프로파일 분석은 블롭들의 틸트를 추정하기 위해 예 (1102) 에 도시된 블롭들에 대해 수행될 수도 있고, 그 블롭들은 예 (1104) 의 틸트 보상된 텍스트를 생성하도록 추정된 틸트에 기초하여 수정될 수도 있다. 틸트 보상된 텍스트는 틸트 보상 후의 글자 "f" (1108) 에 대한 및 글자 "h" (1112) 에 대한 문자 세그먼트화가 글자들을 더 정확하게 구별할 수도 있게 한다는 것을 예시한다.
도 12를 참조하면, 도 1 내지 도 11에 관해 설명된 투영 프로파일 분석 전에 블롭 기반 텍스트 추출 및 블롭 추상화를 이용하여 검출되고 보상될 수도 있는 텍스트의 스큐 및 틸트의 실증적인 예 (1200) 가 묘사되어 있다. 기준 선 (1204) 을 갖는 텍스트 (1202) 가 예시되어 있다. 기준 선 (1204) 은 일반적으로 텍스트 (1202) 의 글자들의 각각의 하단에 대응한다. 기준선 (1204) 은 수평 선 (1208) 과 각도 (1210) 를 형성한다. 각도 (1210) 는 텍스트 (1202) 의 스큐라고 지칭된다. 덧붙여서, 텍스트 (1202) 의 각각의 문자는 기준선 (1204) 에 수직인 선 (1206) 을 기준으로 각도를 형성한다. 기준선 (1204) 에 수직이 되는 선 (1206) 으로부터의 문자들의 각도 (1214) 는 문자들의 틸트라고 지칭된다. 본원에서 예시되고 설명되는 바와 같이, 문자 스큐 및 틸트 양쪽 모두는 투영 프로파일 분석 전에 블롭 추출 및 블롭 추상화의 결과로서 감소된 프로세싱 복잡도를 이용하여 검출되고 보상될 수도 있다.
도 13은 텍스트 이미지 및 블롭 추출 및 추상화 결과 (1310) 를 보이는 일 예 (1300) 를 도시한다. 예 (1300) 에서, 텍스트는 한글 문자들로 예시되어 있다. 텍스트는 추출되었고 식별된 블롭들은 타원으로 예시된 대표적인 블롭 추상화 (1304) 에 따라 추상화되어 있다. 텍스트의 많은 유형들, 이를테면 아시아 문자들 및 다른 문자체계들 (alphabets) 이 헤드라인 및 기준선, 이를테면 도 12에 예시된 기준선에 밀접하게 부합하지 않을 수도 있기 때문에, 중심 선 식별이 다른 정렬 기준들에 부가하여, 또는 대신 이용될 수도 있다.
예를 들어, 제 1 추상화된 블롭 (1304) 이 제 2 추상화된 블롭 (1306) 보다 상당히 작은 사이즈를 가진다. 그러므로, 기준선 분석이 텍스트 (1302) 의 텍스트 열의 적절한 식별이 되지 않을 수도 있다. 그러나, 이를테면 최소 평균 자승 분석을 이용하여, 블롭들의 중심을 통과하는 선 (1308) 을 찾는 것은, 스큐 추정을 가능하게 하는 중심 선의 식별이 되게 할 수도 있다.
개시된 시스템들 및 방법들에 따라 이용될 수도 있는 스큐 추정 방법들의 다른 예들은, 알파벳들에 효과적일 수도 있는 기준선/헤드라인 맞춤, 다수의 텍스트 열들에 효과적일 수도 있는 도 7에 관해 설명된 투영 프로파일 스큐 추정, 및 도 13에 예시된 바와 같은 블롭 추상화에 기초한 중심 선 맞춤을 포함한다. 추상화된 블롭들을 이용하는 스큐 추정 방법들의 각각에 대한 컴퓨테이션 부하는 비교적 작을 수도 있기 때문에, 다중 스큐 추정 방법들이 수행될 수도 있고 다중 스큐 추정 방법들의 가장 의미있는 결과 또는 최상의 결과가 추가의 프로세싱을 위한 선택된 스큐로서 이용될 수도 있다.
도 14는 획 폭을 이용하여 곡선성을 결정하는 방법의 실례가 되는 실시형태 (1400) 를 제공한다. 실시형태 (1400) 는 다수의 화소들, 이를테면 제 1 대표 화소 (p1), 제 2 대표 화소 (p2), 및 제 3 대표 화소 (p3) 를 갖는 글자 A를 포함하는 블롭을 예시한다. 글자 A는 폭 W 및 높이 H를 갖는 화소 영역에 걸쳐 있다. 포인트들의 세트 (예컨대 p1, p2, p3을 포함함) 는, 이를테면 랜덤 또는 의사-랜덤 선택에 따라 선택될 수도 있다. 일 예로서, 일백 개의 포인트들이 선택될 수도 있다. 각각의 선택된 포인트에 대해, 획 폭의 추정이 선택된 포인트를 통과하는 선들의 세트, 이를테면 p1을 통과하게 예시된 선들 (1404) 의 대표 세트를 결정하는 것에 의해 획득될 수도 있다. 각각의 선 (w) 은 상이한 각도로 있을 수도 있고, i-번째 선택된 포인트를 통과하는 가장 짧은 길이를 갖는 선은 선택된 포인트 (si) 를 통과하는 획 폭에 대응할 수도 있다:
Figure pct00001
예시를 위해, 화소 p1을 통과하는 대표 선들 (1404) 의 예시된 세트 중 가장 짧은 선 (1402) 은 화소 p1에서의 블롭의 획 폭을 나타낸다. 마찬가지로, 획 폭이 각각의 선택된 포인트에 대해 결정될 수도 있고, 평균 획 폭이 선택된 포인트들에 대한 결정된 획 폭들의 산술 평균으로서 결정될 수도 있다. 예를 들어, 평균 획 폭은 다음에 의해 결정될 수도 있다:
Figure pct00002
블롭의 획 폭을 결정한 후, 블롭의 곡선성은 블롭의 획 폭과 비교되는 블롭의 사이즈의 비율로서 컴퓨팅될 수도 있다. 예를 들어, 그 각도는 다음과 같이 컴퓨팅될 수도 있다:
Figure pct00003
블롭의 획 폭 및 곡선성을 결정한 후, 블롭은 곡선성이 임계값을 만족하는지의 여부를 결정하는 것에 의해 텍스트 블롭의 후보인 것으로 식별될 수도 있다. 예를 들어, 임계값은 전체 텍스트에 대한 양호한 일반적인 결과들을 제공하는 임계값으로서 결정될 수도 있거나, 또는 특정 임계값들은 직면할 가능성이 있는 문자체계들의 특정 유형들에 대해 제공될 수도 있다. 예를 들어, 아시아 스크립트 (Asian script) 를 이용하여 텍스트를 식별하는 지역에서 사용될 것이 예상되는 디바이스가 라틴문자 (Latin alphabet) 검출을 위한 것보다는 아시아 스크립트에 대해 더 효과적일 수도 있는 임계값을 가질 수도 있는 반면, 라틴문자들을 이용하여 텍스트를 결정하기 위해 사용될 것이 예상되는 디바이스는 아시아 스크립트의 블롭들의 검출 시에 제 1 임계값보다 덜 효과적일 수도 있는 제 2 임계값을 가질 수도 있다.
도 15는 방법 (1500) 의 특정 실시형태를 묘사한다. 방법 (1500) 은, 1502에서, 이미지 데이터에서 식별된 블롭들의 세트의 표시를 수신하는 단계를 포함한다. 예를 들어, 블롭들의 세트는 도 1의 블롭 추출기 (106) 에 의해 식별될 수도 있고 도 1의 블롭 추출기 (106) 에 의해 식별된 블롭들의 세트의 표시는 도 1의 텍스트 블롭 선택기 (107) 에서 수신될 수도 있다. 블롭들의 그 세트 중 각각의 블롭은 실질적으로 유사한 화소 값들을 갖는 이미지 데이터의 접속된 화소들의 그룹일 수도 있다. 예시를 위해, 화소들의 그룹은, 그 그룹에서의 임의의 2 개의 화소들에 대해, 2 개의 화소들을 잇는 깨지지 않은 경로가 그 그룹 내에 있는 (예컨대 그 경로의 각각의 단계가 제 1 화소로부터 제 1 화소에 인접한 제 2 화소까지인) 경우, "접속된" 것으로 간주될 수도 있다.
블롭 곡선성은 블롭 사이즈 대 블롭 획 폭의 비교에 기초하여 결정된다. 예를 들어, 도 1의 안정하고 곡선인 블롭 선택기 (108) 는 블롭들의 세트 중 하나 이상의 블롭들의 곡선성 측정값을 결정할 수도 있다. 예시를 위해, 곡선성 측정값은, 도 14에 관해 설명된 바와 같이, 블롭의 획 폭에 비교되는 블롭 사이즈의 비율에 기초할 수도 있다.
블롭들은, 1504에서, 블롭 안정성 및 블롭 곡선성에 적어도 부분적으로 기초하여 텍스트 추출을 위해 블롭들의 세트로부터 선택된다. 블롭들을 선택하는 것은 블롭들의 세트 중 안정성 기준을 충족시키는 블롭을 식별하는 것 및 가장 안정한 블롭이 곡선 기준을 충족시키는지의 여부를 결정하는 것을 포함할 수도 있다. 예를 들어, 안정하고 곡선인 블롭 선택기 (108) 는 안정성 기준 및 곡선성 기준을 충족시키는 하나 이상의 블롭들을 결정할 수도 있다. 예시를 위해, 블롭들의 세트 중 각각의 블롭의 안정성 측정값이 결정될 수도 있다. 각각의 결정된 안정성 측정값은 임계값에서의 변화에 관해 블롭 사이즈에서의 변화를 나타낼 수도 있다.
블롭들의 세트 중 가장 안정한 블롭을 결정된 안정성 측정값들의 비교에 기초하여 선택하는 것에 의해 안정성 기준을 충족시키는 것으로서 블롭이 식별될 수도 있다. 도 4에 관해 설명된 바와 같이, 안정성 기준은 선택된 블롭들보다 더 안정한 다른 블롭들이 없다는 것일 수도 있고, 블롭들의 세트 중 가장 안정한 블롭이라고 결정된 블롭에 의해 충족될 수도 있다.
가장 안정한 블롭이 곡선 기준을 충족한다고 결정한 후, 가장 안정한 블롭에 중첩하는 모든 블롭들은 블롭들의 세트로부터 제거될 수도 있다. 예시를 위해, 블롭들의 세트 중 적어도 하나 블롭이 블롭들의 그 세트 중 다른 하나의 블롭에 중첩할 수도 있다. 도 1의 중첩 지역 제거기 (110) 는 선택된 블롭의 안정하고 곡선인 블롭 선택기 (108) 로부터 표시를 수신할 수도 있고, 중첩 지역 제거기 (110) 는 선택된 블롭에 중첩하는 (예컨대 그 선택된 블롭과 공통으로 하나 이상의 화소들을 가지는) 모든 블롭들을 제거할 수도 있다. 특정 실시형태에서, 블롭들의 세트 중 적어도 하나 블롭은 텍스트 추출을 위해 선택될 수도 있고 블롭들의 세트 중 적어도 다른 하나의 블롭은 텍스트 추출을 위해 선택되지 않을 수도 있다.
선택된 블롭들에 대응하는 기하학적 도형들의 세트가 결정될 수도 있다. 예를 들어, 도 1의 블롭 추상화기 (112) 는 타원들 또는 다른 기하학적 도형들을 텍스트 블롭 추출기 (104) 로부터 수신된 블롭들의 세트에 맞출 수도 있다. 기하학적 도형들의 세트의 투영 프로파일은, 도 7 및 도 8에 관해 설명된 바와 같이, 결정될 수도 있다.
도 16을 참조하면, 도 1의 블롭 추상화기 (112) 에 의해 수행될 수도 있는 블롭 추상화의 일 예가 묘사되어 있고 전체로서 1600이 지정된다. 이미지 (1602) 가 스크립트 텍스트를 포함한다. 이미지 (1602) 에 대응하는 블롭 추출은 이미지 (1605) 에 예시된 블롭 (1604) 이 식별되게 한다. 이미지 (1602) 에 대응하는 블롭 추출은 도 1의 블롭 추출기 (104) 에 의해 수행될 수도 있다. 이미지 (1605) 는 백색 백그라운드에 대해 흑색 화소들로서 추출된 블롭 (1604) 을 도시한다.
블롭 추상화는 이미지 (1602) 에서 식별된 블롭 (1604) 에 대응하는 제 1 기하학적 도형 (1606) 을 식별하는 것에 의해 수행될 수도 있다. 제 1 기하학적 도형 (1606) 은 블롭 (1604) 의 파라미터들을 컴퓨팅하는 것에 의해, 기하학적 도형들의 테이블 또는 데이터베이스로부터 미리 결정된 기하학적 도형을 선택하는 것에 의해, 하나 이상의 다른 기법들, 또는 그것들의 임의의 조합에 의해 식별될 수도 있다. 파라메트릭 도형들, 이를테면 타원들, 삼각형들, 직사각형들, 또는 비교적 적은 파라미터들을 이용하여 식별될 수도 있는 다른 형상들이, 개개의 화소들의 컬렉션들로서 식별된 블롭들을 이용하 (고 그러므로 각각의 블롭에서의 화소들의 수와 동일한 파라미터들의 수를 갖) 는 것에 대한 컴퓨테이션적으로 저렴한 대안으로서 이용될 수도 있다.
제 1 기하학적 도형 (1606) 의 제 1 맞춤 에러가 결정되고 임계값과 비교될 수도 있다. 제 1 맞춤 에러는 블롭 (1604) 의 전체 영역에 비해 제 1 기하학적 도형 (1606) 바깥에 위치된 이미지 (1605) 에서 식별된 블롭 (1604) 의 일부에 대응할 수도 있다. 임계값을 초과하는 제 1 기하학적 도형 (1606) 의 맞춤 에러에 응답하여, 제 2 추상화는 블롭 (1604) 에 대응하는 복수의 기하학적 도형들 (1608, 1610) 을 식별하는 것에 의해 수행될 수도 있다. 복수의 기하학적 도형들 (1608, 1610) 은 블롭 (1604) 의 파라미터들을 컴퓨팅하는 것에 의해, 기하학적 도형들의 테이블 또는 데이터베이스로부터 미리 결정된 기하학적 도형을 선택하는 것에 의해, 하나 이상의 다른 기법들, 또는 그것들의 임의의 조합에 의해 식별될 수도 있다.
복수의 기하학적 도형들 (1608, 1610) 의 제 2 맞춤 에러가 결정될 수도 있다. 복수의 기하학적 도형들 (1608, 1610) 의 제 2 맞춤 에러가 제 1 기하학적 도형 (1606) 의 제 1 맞춤 에러 미만이라는 결정에 응답하여, 복수의 기하학적 도형들 (1608, 1610) 에 대한 투영 프로파일 분석이 수행될 수도 있다. 그렇지 않으면, 제 1 기하학적 도형 (1606) 은 블롭 (1604) 에 대한 양호한 맞음 (fit) 으로서 선택될 수도 있고 제 1 기하학적 도형 (1606) 에 대한 투영 프로파일 분석이 수행될 수도 있다. 특정 실시형태에서, 제 1 기하학적 도형 (1606) 은 타원을 포함할 수도 있고 복수의 기하학적 도형들 (1608, 1610) 은 복수의 타원들을 포함할 수도 있다.
도 17을 참조하면, 기하학적 도형들을 이용하는 블롭 추상화 방법의 특정 실시형태가 묘사되어 있고 전체로서 1700이 지정된다. 방법 (1700) 은 블롭 추상화기, 이를테면 도 1의 블롭 추상화기 (112) 에서 수행될 수도 있다. 방법 (1700) 은, 1702에서, 이미지 데이터에서 식별된 블롭에 대응하는 제 1 기하학적 도형을 식별하는 단계를 포함한다. 예시를 위해, 도 1의 블롭 추상화기 (112) 는 이미지 데이터 (1602) 에서의 블롭 (1604) 에 대응하는 도 16의 제 1 기하학적 도형 (1606) 을 식별할 수도 있다. 제 1 기하학적 도형 (1606) 은 블롭 (1604) 의 파라미터들을 컴퓨팅하는 것에 의해, 기하학적 도형들의 테이블 또는 데이터베이스로부터 미리 결정된 기하학적 도형을 선택하는 것에 의해, 하나 이상의 다른 기법들, 또는 그것들의 임의의 조합에 의해 식별될 수도 있다.
블롭에 관한 기하학적 도형의 제 1 맞춤 에러는 1704에서 결정될 수도 있다. 예를 들어, 제 1 기하학적 도형 (1606) 바깥에 위치된 블롭 (1604) 의 영역은 블롭 (1604) 의 전체 영역과 비교될 수도 있다. 기하학적 도형의 제 1 맞춤 에러가 임계값을 초과하는지의 여부의 결정이 1706에서 이루어질 수도 있다. 제 1 맞춤 에러가 임계값을 초과하지 않으면, 방법은 1710에서 종료된다. 제 1 맞춤 에러가 임계값을 초과하면, 블롭에 대응하는 복수의 기하학적 도형들이 1708에서 식별된다. 예시를 위해, 블롭 추상화기 (112) 는 블롭 (1604) 에 대응하는 기하학적 도형들 (1608, 1610) 을 포함하는 복수의 기하학적 도형들을 식별할 수도 있다. 복수의 기하학적 도형들 (1608, 1610) 은 블롭 (1604) 의 파라미터들을 컴퓨팅하는 것에 의해, 기하학적 도형들의 테이블 또는 데이터베이스로부터 미리 결정된 기하학적 도형을 선택하는 것에 의해, 하나 이상의 다른 기법들, 또는 그것들의 임의의 조합에 의해 식별될 수도 있다.
도 18을 참조하면, 블롭 투영의 일 예가 묘사되어 있고 전체로서 1800이 지정된다. 제 1 예 (1802) 가 기하학적 도형 (1804) 과 교차하는 대표 투영 선 (1808) 을 도시한다. 기하학적 도형 (1804) 은 도 16의 기하학적 도형 (1606) 일 수도 있다. 제 1 예 (1802) 에서, 투영 선 (1808) 이 기하학적 도형 (1804) 과 교차하면, 이진수 "1"이 투영 프로파일 (1806) 의 대응하는 투영에 할당된다. 투영 선 (1808) 이 기하학적 도형 (1804) 과 교차하지 않으면, 이진수 "0"이 투영 프로파일 (1806) 의 대응하는 투영에 할당된다. 다수의 투영 선들 (예컨대 도 7의 다수의 투영 선들 (702)) 이 기하학적 도형 (1804) 의 투영 프로파일 (1806) 을 결정하는 데 이용될 수도 있다. 예를 들어, 기하학적 도형 (1804) 과 교차하는 다수의 투영 선들 중 한 투영 선, 이를테면 대표 투영 선 (1808) 의 모든 인스턴스는 이진수 "1"이 투영 프로파일 (1806) 의 대응하는 포인트에 할당되게 한다.
제 2 예 (1810) 가 기하학적 도형 (1812) 과 교차하는 투영 선 (1816) 을 도시한다. 기하학적 도형 (1812) 은 도 16의 기하학적 도형 (1606) 일 수도 있다. 제 2 예에서 (1810), 투영 선 (1816) 은 2 개의 상이한 교차점들 (1818, 1820) 에서 기하학적 도형 (1812) 과 교차하는 것으로 도시된다. 2 개의 교차점들 (1818, 1820) 사이의 거리는 컴퓨팅되고 기하학적 도형 (1812) 의 투영 프로파일 (1814) 의 대응하는 투영을 결정하기 위해 이용된다. 다수의 투영 선들 (이를테면 도 7의 투영 선들의 세트 (706)) 이 기하학적 도형 (1812) 의 투영 프로파일 (1814) 을 결정하는 데 이용될 수도 있다. 예를 들어, 기하학적 도형 (1812) 과 교차하는 다수의 투영 선들 중 한 투영 선 (1816) 의 모든 인스턴스에 대해, 투영 선 (1816) 이 제 2 인스턴스에서 기하학적 도형 (1812) 과 교차하는지의 여부의 결정이 이루어질 수도 있다. 기하학적 도형 (1812) 이 2 개의 상이한 교차점들 (예컨대, 인스턴스들 (1818, 1820)) 에서 투영 선에 의해 교차되면, 2 개의 상이한 교차점들 (1818, 1820) 사이의 거리는 기하학적 도형의 투영 프로파일 (1814) 의 대응하는 투영 (예컨대, 투영 (1822)) 에 할당될 수도 있다. 투영 선이 기하학적 도형 (1812) 과 교차하지 않거나 또는 단일 인스턴스에서만 기하학적 도형 (1812) 과 교차하면, 이진수 "0"이 기하학적 도형 (1812) 의 투영 프로파일 (1814) 의 대응하는 투영에 할당될 수도 있다.
도 18의 제 2 예 (1810) 에 따라 블롭들을 투영하는 것은 제 1 예 (1802) 에 따라 블롭들을 투영하는 것보다 블롭의 반사가 더 정확해지게 할 수도 있다. 예를 들어, 제 2 예 (1810) 에 따라 블롭들을 투영하는 것은 제 1 예 (1802) 에 따라 블롭들을 투영하는 것보다 접속된 문자들의 형상, 이를테면 필기체 및 인도 스크립트들을 더 정확하게 반영할 수도 있다.
도 19를 참조하면, 기하학적 도형들을 이용하는 블롭 투영 방법의 특정 실시형태가 묘사되어 있고 전체로서 1900이 지정된다. 방법 (1900) 은 도 1의 텍스트 지역 검출기 및 2치화 엔진 (114) 에서 수행될 수도 있다. 방법 (1900) 은, 1902에서 이미지 데이터에서 식별된 블롭에 대응하는 기하학적 도형을 식별하는 단계를 포함한다. 예시를 위해, 기하학적 도형은 도 18의 기하학적 도형 (1812) 에 대응할 수도 있다. 기하학적 도형 (1812) 은 블롭의 파라미터들을 컴퓨팅하는 것에 의해, 기하학적 도형들의 테이블 또는 데이터베이스로부터 미리 결정된 기하학적 도형을 선택하는 것에 의해, 하나 이상의 다른 기법들, 또는 그것들의 임의의 조합에 의해 식별될 수도 있다.
다수의 투영 선들을 이용한 기하학적 도형의 투영 프로파일의 결정이 1904에서 이루어질 수도 있는데, 여기서 각각의 특정 투영 선에 대응하는 투영 프로파일의 값은 특정 투영 선과 기하학적 도형의 교차점들 사이의 거리에 기초한다. 예시를 위해, 기하학적 도형 (1812) 의 도 18의 투영 프로파일 (1814) 이 결정될 수도 있다. 각각의 특정한 투영 선에 대응하는 투영 프로파일의 값은 특정 투영 선과 기하학적 도형의 교차점들 사이의 거리에 기초할 수도 있다. 예를 들어, 투영 (1822) 은 교차점들 (1818, 1820) 사이의 거리 (1816) 에 기초한다.
도 20을 참조하면, 투영 프로파일 분석의 일 예가 묘사되어 있고 전체로서 2000이 지정된다. 대표 투영 선들 (2014, 2016) 을 포함하는 평행한 투영 선들의 제 1 세트 (2030) 가, 이미지 데이터에서 텍스트로서 식별된 블롭들에 대응하는 복수의 기하학적 도형들 (2036) (타원들로서 예시됨), 이를테면 대표 기하학적 도형들 (2020, 2022, 및 2024) 을 통해 투영된다. 평행한 투영 선들의 제 1 세트 (2030) 는 제 1 각도 (2018) 에 대응하고, 복수의 기하학적 도형들 (2036) 의 제 1 투영 프로파일 (2012) 을 결정하기 위해 복수의 기하학적 도형들 (2036) 을 통해 투영된다. 텍스트의 스큐는 평행한 투영 선들의 제 1 세트 (2030) 의 수평 기준에 대한 제 1 각도 (2018) 에 대응한다. 제 1 투영 프로파일 (2012) 은 복수의 기하학적 도형들 (2036) 과 교차하는 평행한 투영 선들의 다수의 세트들의 각도들에 대응하는 다수의 투영 프로파일들을 투영하는 것에 의해 결정될 수도 있다. 제 1 투영 프로파일 (2012) 은 다수의 투영 프로파일들 중 임의의 다른 투영 프로파일보다 작은 (예컨대 복수의 기하학적 도형들 (2036) 과 교차하는 적은 수의 평행한 투영 선들로부터 생기는) 투영 프로파일을 그 다수의 투영 프로파일들로부터 선택하는 것에 의해 결정될 수도 있다.
대표 투영 선들 (2004, 2006, 2008) 을 포함하는 평행한 투영 선들의 제 2 세트 (2032) 가 복수의 기하학적 도형들 (2036) 을 통해 투영된다. 평행한 투영 선들의 제 2 세트 (2032) 는 제 2 각도 (2010) 에 대응하고, 복수의 기하학적 도형들 (2036) 의 제 2 투영 프로파일 (2002) 을 결정하기 위해 복수의 기하학적 도형들 (2036) 을 통해 투영된다. 텍스트의 틸트는 (예컨대, 투영 선 (2014) 에 수직인) 텍스트 열에서 수직으로부터의 편차를 나타내는 평행한 투영 선들의 제 2 세트 (2032) 의 제 2 각도 (2010) 에 대응한다. 제 2 투영 프로파일 (2002) 은 복수의 기하학적 도형들 (2036) 과 교차하는 평행한 투영 선들의 다수의 세트들의 각도들에 대응하는 다수의 투영 프로파일들을 투영하는 것에 의해 결정될 수도 있다. 제 2 투영 프로파일 (2002) 은 복수의 기하학적 도형들 (2036) 과의 평행한 투영 선들의 교차점들을 다수의 투영 프로파일들 중 임의의 다른 투영 프로파일보다 적게 가지는 투영 프로파일을 그 다수의 투영 프로파일들로부터 선택하는 것에 의해 결정될 수도 있다.
경계 박스 (2026) 가 추정될 수도 있다. 경계 박스 (2026) 는 텍스트를 포함하도록 선택될 수도 있다. 그 경계 박스는 적어도 6의 자유도를 가질 수도 있다. 6 자유도의 일 예는 경계 박스 (2026) 의 "x" 및 "y" 좌표 로케이션, 경계 박스 (2026) 의 높이 및 폭, 그리고 제 1 각도 (2016) 및 제 2 각도 (2010) 를 포함한다.
도 21을 참조하면, 투영 프로파일 분석 방법의 특정 실시형태가 묘사되어 있고 전체로서 2100이 지정된다. 방법 (2100) 은 도 1의 텍스트 지역 검출기 및 2치화 엔진 (114) 에서 수행될 수도 있다. 방법 (2100) 은, 2102에서, 이미지 데이터에서 텍스트로서 식별된 블롭들에 대응하는 복수의 기하학적 도형들을 식별하는 단계를 포함한다. 예시를 위해, 복수의 기하학적 도형들은 도 20의 복수의 기하학적 도형들 (2036) 일 수도 있다. 복수의 기하학적 도형들 (2036) 은 블롭의 파라미터들을 컴퓨팅하는 것에 의해, 기하학적 도형들의 테이블 또는 데이터베이스로부터 미리 결정된 기하학적 도형을 선택하는 것에 의해, 하나 이상의 다른 기법들, 또는 그것들의 임의의 조합에 의해 식별될 수도 있다.
복수의 기하학적 도형들의 제 1 투영 프로파일의 결정은 2104에서 텍스트의 스큐를 추정하도록 이루어질 수도 있다. 예시를 위해, 평행한 투영 선들의 다수의 세트들의 각도들에 대응하는 다수의 투영 프로파일들은 도 20의 복수의 기하학적 도형들 (2036) 을 교차하도록 투영될 수도 있다. 제 1 투영 프로파일 (2012) 은 가장 조밀한 지원 (compact support) 을 가지는 투영 프로파일을 다수의 투영 프로파일들로부터 선택하는 것에 의해 결정될 수도 있는데, 여기서 지원은 투영 프로파일이 결과적으로 0이 되지 않는 지역으로서 정의된다.
복수의 기하학적 도형들의 제 2 투영 프로파일의 결정이, 2106에서, 텍스트의 틸트를 추정하기 위해 이루어질 수도 있다. 예시를 위해, 도 20의 제 2 투영 프로파일 (2002) 은 복수의 기하학적 도형들 (2036) 과 교차하는 평행한 투영 선들의 다수의 세트들의 각도들에 대응하는 다수의 투영 프로파일들을 투영하는 것에 의해 그리고 그 다수의 투영 프로파일들로부터 가장 조밀한 지원을 가지는 투영 프로파일을 선택하는 것에 의해 결정될 수도 있다.
도 22를 참조하면, 블롭들의 세트를 구획하는 일 예가 묘사되어 있고 전체로서 2200이 지정된다. 이미지 데이터에서 식별된 블롭들의 제 1 추출된 세트 (2202) 가 2 개의 별개의 폰트들 (예컨대, 획 폭) 의 문구 "Hello World"를 포함한다. 블롭들의 제 1 추출된 세트 (2202) 는 다수의 클러스터들, 이를테면 2 개의 클러스터들 (2204, 2212) 로 구획될 수도 있다. 구획 (partitioning) 은 블롭 (2202) 의 텍스트의 획 폭에 적어도 기초할 수도 있다. 예를 들어, 글자 "H" (2206) 의 획 폭은 제 1 클러스터 (2204) 에서의 글자 "W" (2208) 의 획 폭과 유사하다. 대안적 예에서, 글자 "H" (2214) 의 획 폭은 제 2 클러스터 (2212) 의 글자 "W" (2216) 의 획 폭과 유사하다. 대안으로, 또는 덧붙여서, 구획은 블롭들의 컬러 유사성에, 블롭들의 하나 이상의 특성들에, 또는 그것들의 임의의 조합에 적어도 부분적으로 기초할 수도 있다.
제 1 및 제 2 투영 프로파일 (2210, 2218) 이 각각 제 1 클러스터 (2204) 및 제 2 클러스터 (2212) 에 대해 따로따로 결정될 수도 있어서, 제 1 클러스터 (2204) 는 제 2 투영 프로파일 (2218) 과 간섭하지 않고 제 2 클러스터 (2212) 는 제 1 투영 프로파일 (2210) 과 간섭하지 않는다. 투영 프로파일들 (2210, 2218) 은, 특정 실시형태에서, 도 19의 방법 (1900), 도 21의 방법 (2100), 또는 그것들의 조합에 따라 결정될 수도 있다.
도 22에 따른 블롭들의 세트의 구획은 블롭들 (2202) 의 구획되지 않은 클러스터에 대해 투영 프로파일 분석을 수행하는 것에 비해 더 신뢰성있는 방식으로 텍스트 열들을 찾게 할 수도 있다. 비텍스트 블롭들을 포함하는 다른 이미지 컴포넌트들이 주어진 클러스터에 대한 텍스트 열 추출과 간섭할 가능성이 더 낮다는 것이 또한 이해될 것이다.
도 23을 참조하면, 블롭들의 세트를 구획하는 방법의 특정 실시형태가 묘사되어 있고 전체로서 2300이 지정된다. 방법 (2300) 은 도 1의 텍스트 지역 검출기 및 2치화 엔진 (114) 에서 수행될 수도 있다. 방법 (2300) 은, 2302에서, 이미지 데이터에서 식별된 블롭들의 세트로부터 블롭들을 추출하는 단계를 포함한다. 예시를 위해, 도 22의 블롭들의 세트 (2202) 는 이미지 데이터에서 식별된 블롭들의 세트로부터 텍스트 후보들로서 추출될 수도 있다.
추출된 블롭들은 2304에서 다수의 클러스터들로 구획될 수도 있다. 예시를 위해, 블롭들의 세트 (2202) 는 제 1 클러스터 (2204) 및 제 2 클러스터 (2212) 로 구획될 수도 있다. 그 구획은 블롭들의 세트 (2202) 에서 개개의 블롭들의 텍스트의 획 폭에 적어도 부분적으로 기초할 수도 있다. 예를 들어, 글자 "H" (2206) 에 대응하는 개개의 블롭의 획 폭은 제 1 클러스터 (2204) 에서의 글자 "W" (2208) 에 대응하는 개개의 블롭의 획 폭과 유사하다. 대안적 예에서, 글자 "H" (2214) 에 대응하는 개개의 블롭의 획 폭은 제 2 클러스터 (2212) 의 글자 "W" (2216) 에 대응하는 개개의 블롭의 획 폭과 유사하다. 대안으로, 또는 덧붙여서, 구획은 블롭들의 컬러 유사성에, 블롭들의 하나 이상의 특성들에, 또는 그것들의 임의의 조합에 적어도 부분적으로 기초할 수도 있다.
각각의 클러스터의 투영 프로파일이, 2306에서, 다른 클러스터들의 각각에 무관하게 결정될 수도 있다. 예시를 위해, 제 1 및 제 2 투영 프로파일들 (2210, 2218) 이 각각 제 1 클러스터 (2204) 및 제 2 클러스터 (2212) 에 대해 따로따로 결정될 수도 있어서, 제 1 클러스터 (2204) 는 제 2 투영 프로파일 (2218) 과 간섭하지 않고 제 2 클러스터 (2212) 는 제 1 투영 프로파일 (2210) 과 간섭하지 않는다. 투영 프로파일들 (2210, 2218) 은 도 21의 방법 (2100) 에 따라 결정될 수도 있다.
도 23의 클러스터링 방법은 도 22의 블롭들 (2202) 의 구획되지 않은 클러스터에 대해 투영 프로파일 분석을 수행하는 것에 비해 더 신뢰성있는 방식으로 텍스트 열들을 찾게 할 수도 있다는 것이 이해될 것이다. 비텍스트 블롭들을 포함하는 다른 이미지 컴포넌트들이 주어진 클러스터에 대한 텍스트 열 추출과 간섭할 가능성이 더 낮다는 것이 또한 이해될 것이다.
도 24를 참조하면, 기하학적 형상들에 대한 다중 투영 프로파일 분석의 일 예가 묘사되어 있고 전체로서 2400이 지정된다. 제 1 이미지가 이미지 데이터에서 식별된 블롭들에 대응하는 기하학적 도형들의 제 1 세트 (2402) 를 포함할 수도 있다. 제 1 투영 프로파일 분석 (2420) 이 기하학적 도형들의 제 1 세트 (2402) 를 기하학적 도형들의 제 2 세트 (2404) 및 기하학적 도형들의 제 3 세트 (2406) 로 구획하기 위해 기하학적 도형들의 제 1 세트 (2402) 에 대해 수행될 수도 있다. 제 1 투영 프로파일 분석 (2420) 은 도 21의 방법 (2100) 에 따라 수행될 수도 있다.
제 2 투영 프로파일 분석 (2422) 이 기하학적 도형들의 제 2 세트 (2404) 을 기하학적 도형들의 제 4 세트 (2408) 및 기하학적 도형들의 제 5 세트 (2410) 로 구획하기 위해 기하학적 도형들의 제 2 세트 (2404) 에 대해 수행될 수도 있다. 제 2 투영 프로파일 분석 (2422) 은 도 21의 방법 (2100) 에 따라 수행될 수도 있다. 특정 실시형태에서, 기하학적 도형들의 제 3 세트 (2406) 는 제 1 텍스트 열에 대응할 수도 있으며, 기하학적 도형들의 제 4 세트 (2408) 는 제 2 텍스트 열에 대응할 수도 있고, 기하학적 도형들의 제 5 세트 (2410) 는 제 3 텍스트 열에 대응할 수도 있다.
도 24에 예시된 바와 같은 다수의 투영 프로파일 분석을 수행하는 것은, 획 폭 및 컬러가 유사하지만 스큐들이 상이한 텍스트 열들을 찾게 할 수도 있다.
도 25를 참조하면, 기하학적 도형들에 대한 다수의 투영 프로파일 분석을 수행하는 방법이 묘사되어 있고 전체로서 2500이 지정된다. 방법 (2500) 은 도 1의 텍스트 지역 검출기 및 2치화 엔진 (114) 에서 수행될 수도 있다. 방법 (2500) 은, 2502에서, 기하학적 도형들의 제 1 세트를 기하학적 도형들의 제 2 세트 및 기하학적 도형들의 제 3 세트로 구획하기 위해 이미지 데이터에서 식별된 블롭들에 대응하는 기하학적 도형들의 제 1 세트에 대해 제 1 투영 프로파일 분석을 수행하는 단계를 포함한다. 예시를 위해, 제 1 투영 프로파일 분석이 기하학적 도형들의 제 1 세트 (2402) 를 기하학적 도형들의 제 2 세트 (2404) 및 기하학적 도형들의 제 3 세트 (2406) 로 구획하기 위해 도 24의 기하학적 도형들의 제 1 세트 (2402) 에 대해 수행될 수도 있다. 제 1 투영 프로파일 분석은 도 21의 방법 (2100) 에 따라 수행될 수도 있다.
기하학적 도형들의 제 2 세트에 대한 제 2 투영 프로파일 분석은, 2504에서, 기하학적 도형들의 제 2 세트를 기하학적 도형들의 제 4 세트 및 기하학적 도형들의 제 5 세트로 구획하기 위해 수행될 수도 있다. 예시를 위해, 제 2 투영 프로파일 분석이 기하학적 도형들의 제 2 세트 (2404) 를 기하학적 도형들의 제 4 세트 (2408) 및 기하학적 도형들의 제 5세트 (2410) 로 구획하기 위해 도 24의 기하학적 도형들의 제 2의 세트 (2404) 에 대해 수행될 수도 있다. 제 2 투영 프로파일 분석은 도 21의 방법 (2100) 에 따라 수행될 수도 있다. 부가적인 투영 프로파일 분석이 문자에 대응하는 개개의 블롭의 폭, 그 블롭 내의 그 문자의 컬러, 그 블롭의 하나 이상의 특성들, 또는 그것들의 임의의 조합에 적어도 부분적으로 기초하여 기하학적 도형들의 제 3, 제 4, 및 제 5 세트들 (2406, 2408, 2410) 에 대해 수행될 수도 있다. 부가적인 투영 프로파일 분석은, 결과적인 기하학적 도형들의 세트들이 별개의 텍스트 열들로 추가로 분리될 수 없을 때까지 수행될 수도 있다.
도 26을 참조하면, 블롭 기반 텍스트 추출기 (2664) 를 포함하는 전자 디바이스의 특정 실례가 되는 실시형태의 블록도가 묘사되어 있고 전체로서 2600이 지정된다. 디바이스 (2600) 는 메모리 (2632) 에 연결된 프로세서, 이를테면 디지털 신호 프로세서 (DSP) (2610) 를 구비한다. 실증적인 예에서, 블롭 기반 텍스트 추출기 (2664) 는 도 1의 시스템 (100) 을 구비할 수도 있거나, 또는 도 2 내지 도 25 중 임의의 하나 이상에 따라, 또는 그것들의 임의의 조합에 따라 동작할 수도 있다.
특정 실시형태에서, 블롭 기반 텍스트 추출기 (2664) 는 프로세서 (2610) 에 통합될 수도 있고 도 1에 관해 설명된 기능의 적어도 일부를 수행하는 전용 회로 또는 다른 로직를 구비할 수도 있다. 특정 실시형태에서, 메모리 (2632) 는 프로세서 (2610) 로 하여금 도 1 내지 도 25 중 임의의 것에 관해 설명된 기능의 적어도 일부를 수행하게 하는 프로세서 (2610) 에 의해 실행가능할 수도 있는 명령들 (2656) 을 포함한다. 예를 들어, 명령들 (2656) 은 컴퓨터로 하여금 도 2의 방법 (200), 도 15의 방법 (1500), 도 17의 방법 (1700), 도 19의 방법 (1900), 도 21의 방법 (2100), 도 23의 방법 (2300), 도 25의 방법 (2500), 또는 그것들의 임의의 조합을 수행하게 하는 컴퓨터 (프로세서 (2610)) 에 의해 실행가능한 명령들을 포함할 수도 있다. 예시를 위해, 명령들 (2656) 은 이미지 데이터에서 식별된 이미지 지역들의 세트 (예컨대 블롭들의 세트) 의 표시를 수신하기 위한 코드와, 안정성 및 곡선성에 적어도 부분적으로 기초하여 텍스트 추출을 위해 이미지 지역들을 이미지 지역들의 세트로부터 선택하기 위한 코드를 포함할 수도 있다.
도 26은, 카메라 제어기 (2660) 에 연결될 수도 있고 블롭 기반 텍스트 추출기 (2664) 가 카메라 (2642) 로부터 수신된 이미지 데이터 또는 비디오 데이터에서 텍스트를 검출하도록 이미지 데이터를 블롭 기반 텍스트 추출기 (2664) 에 제공할 수도 있는 카메라 (2642) 를 예시한다. 도 26은 또한 프로세서 (2610) 에 및 디스플레이 (2628) 에 연결되는 디스플레이 제어기 (2626) 를 도시한다. 코더/디코더 (CODEC) (2634) 는 또한 프로세서 (2610) 에 연결될 수 있다. 스피커 (2636) 와 마이크로폰 (2638) 이 코덱 (2634) 에 연결될 수 있다.
도 26은 또한 무선 제어기 (2640) 가 프로세서 (2610) 에 그리고 무선 안테나 (2698) 에 연결될 수 있음을 나타낸다. 특정 실시형태에서, 프로세서 (2610), 카메라 제어기 (2660), 디스플레이 제어기 (2626), 메모리 (2632), CODEC (2634), 및 무선 제어기 (2640) 는 시스템-인-패키지 (system-in-package) 또는 시스템-온-칩 디바이스 (2622) 에 구비된다. 특정 실시형태에서, 입력 디바이스 (2630) 와 전원 공급기 (2644) 가 시스템-온-칩 디바이스 (2622) 에 연결된다. 더구나, 특정 실시형태에서, 도 26에 예시된 바와 같이, 디스플레이 (2628), 카메라 (2642), 입력 디바이스 (2630), 스피커 (2636), 마이크로폰 (2638), 무선 안테나 (2698), 및 전원공급기 (2044) 는 시스템-온-칩 디바이스 (2622) 외부에 있다. 그러나, 디스플레이 (2628), 카메라 (2642), 입력 디바이스 (2630), 스피커 (2636), 마이크로폰 (2638), 무선 안테나 (2698), 및 전원공급기 (2644) 의 각각은 시스템-온-칩 디바이스 (2622) 의 컴포넌트, 이를테면 인터페이스 또는 제어기에 연결될 수 있다.
설명된 시스템들 및 방법들에 연계하여, 블롭 추상화를 수행하는 방법이 투영을 추정하기 전에 단순화된 기하학적 형태로 블롭을 변환하는 단계를 포함할 수도 있으며, 여기서 투영을 추정하는 것은 단순화된 기하학적 형태의 파라미터들에 기초한다. 예를 들어, 그 방법은 도 1의 블롭 추상화기 (112) 에 의해 수행될 수도 있다. 단순화된 기하학적 형태로 변환되는 블롭은 텍스트 블롭 추출기, 이를테면 도 1의 텍스트 블롭 추출기 (104) 로부터 수신되는 화소-도메인 블롭일 수도 있다. 그러나, 다른 실시형태들에서, 그 방법은 도 1에 관해 설명되는 곡선성, 안정성, 및/또는 중첩 기준 중 하나 이상에 기초하여 선택되지 않고, 대신, 일반 블롭 추출기, 이를테면 도 1의 일반 블롭 추출기 (106) 로부터 수신될 수도 있는 블롭들을 이용하여 수행될 수도 있다.
단순화된 기하학적 형태는, 이를테면 도 8에 관해 설명되는 블롭에서의 화소들의 수 미만의 수의 파라미터들을 이용하여 설명될 수도 있는, 타원, 계란형, 사다리꼴, 평행사변형, 마름모꼴, 직사각형, 삼각형, 임의의 다른 유형의 다각형, 또는 그것들의 임의의 조합과 같은, 임의의 유형의 기하학적 형태 또는 기하학적 형태들의 조합일 수도 있다. 일부 실시형태들에서, 블롭 추상화는 블롭 자체를 변경하는 일 없이 블롭의 특성들에 기초하여 단순화된 기하학적 형태의 파라미터들을 결정하는 하나 이상의 기법들 (예컨대 에너지 최소화 또는 최소 자승 오차) 을 적용하는 것에 의해 블롭을 단순화된 기하학적 형태로 "변환하는" 것을 포함한다. 단순화된 기하학적 형태를 결정한 후, 투영 프로파일 분석은 스큐, 틸트, 스큐 및 틸트 양쪽 모두, 또는 블롭에 연관된 하나 이상의 다른 특성들을 추정하기 위해 단순화된 기하학적 형태를 사용하여 수행될 수도 있다. 블롭은 단순화된 기하학적 형태를 이용하여 결정되는 특성들을 보상하기 위해 변경될 수도 있다. 예를 들어, 블롭에 대응하는 텍스트의 추정된 틸트가 단순화된 기하학적 형태의 하나 이상의 추정된 투영들에 기초하여 결정되는 경우, 그 블롭은 회전 변환을 블롭에 적용하는 것에 의해 추정된 필트를 실질적으로 보상하게 수정될 수도 있다.
설명된 시스템들 및 방법들에 연계하여, 이미지 데이터에서 이미지 지역들의 세트를 식별하는 수단, 이를테면 도 1의 블롭 추출기 (106) 또는 도 1의 이미지 데이터 (102) 에서 하나 이상의 이미지 지역들을 식별하도록 구성된 임의의 다른 회로 또는 프로세서를 구비하는 장치가 개시된다. 장치는 또한 블롭 안정성에 적어도 부분적으로 기초하여 텍스트 추출을 위해 이미지 지역들을 블롭들의 세트로부터 선택하는 수단을 구비한다. 그 장치는 실증적인 예들로서, 도 1의 안정하고 곡선인 블롭 선택기 (108) 또는 도 1, 도 2, 및 4에 관해 설명된 바와 같은 안정성 프로세싱을 적용하도록 구성된 임의의 다른 회로 또는 프로세서를 구비할 수도 있다. 곡선성 프로세싱은 또한, 도 1, 도 2, 도 4, 및 도 14에서 설명된 바와 같이 적용될 수도 있다.
설명된 시스템들 및 방법들에 연계하여, 이미지 데이터에서 식별된 텍스트의 적어도 일부에 대응하는 이미지 지역에 대응하는 기하학적 도형을 식별하는 수단을 구비한 장치가 개시된다. 그 장치는 도 1의 블롭 추상화기 (112), 도 26의 명령들 (2656) 을 실행하게 프로그래밍된 프로세서 (2610), 또는 이미지 데이터에서 식별된 텍스트의 적어도 일부에 대응하는 이미지 지역에 대응하는 기하학적 도형을 식별하도록 구성된 임의의 다른 회로 또는 프로세서를 구비할 수도 있다. 장치는 또한 기하학적 도형에 적어도 부분적으로 기초하여 텍스트에 대한 경계 박스를 결정하는 수단을 구비한다. 그 장치는 도 1의 블롭 추상화기 (112), 도 1의 텍스트 지역 검출기 및 2치화 엔진 (114), 도 26의 명령들 (2656) 을 실행하게 프로그래밍된 프로세서 (2610), 또는 기하학적 도형에 적어도 부분적으로 기초하여 텍스트에 대한 경계 박스를 결정하도록 구성된 임의의 다른 회로 또는 프로세서를 구비할 수도 있다.
장치는 임계값을 초과하는 기하학적 도형의 제 1 맞춤 에러에 응답하여 이미지 지역에 대응하는 복수의 기하학적 도형들을 식별하는 수단을 구비할 수도 있다. 그 장치는 도 1의 블롭 추상화기 (112), 도 26의 명령들 (2656) 을 실행하게 프로그래밍된 프로세서 (2610), 또는 임계값을 초과하는 기하학적 도형의 제 1 맞춤 에러에 응답하여 이미지 지역에 대응하는 복수의 기하학적 도형들을 식별하도록 구성된 임의의 다른 회로 또는 프로세서를 구비할 수도 있다.
장치는, 다수의 투영 선들을 이용하여 기하학적 도형의 투영 프로파일을 결정하는 수단을 구비할 수도 있는데, 각각의 특정 투영 선에 대응하는 투영 프로파일의 값은 특정 투영 선과 기하학적 도형의 교차점들 사이의 거리에 기초한다. 그 장치는 도 1의 텍스트 지역 검출기 및 2치화 엔진 (114), 도 26의 명령들 (2656) 을 실행하게 프로그래밍된 프로세서 (2610), 또는 다수의 투영 선들을 이용하여 기하학적 도형의 투영 프로파일을 결정하도록 구성된 임의의 다른 회로 또는 프로세서를 구비할 수도 있다.
장치는, 이미지 지역들에 대응하는 복수의 기하학적 도형들을 식별하는 수단을 구비할 수도 있는데, 이미지 지역들의 각각은 텍스트의 적어도 일부에 대응한다. 그 장치는 도 1의 블롭 추상화기 (112), 도 26의 명령들 (2656) 을 실행하게 프로그래밍된 프로세서 (2610), 또는 이미지 데이터에서 텍스트로서 식별된 블롭들에 대응하는 복수의 기하학적 도형들을 식별하도록 구성된 임의의 다른 회로 또는 프로세서를 구비할 수도 있다. 장치는 또한 텍스트의 스큐를 추정하기 위해 복수의 기하학적 도형들의 제 1 투영 프로파일을 결정하는 수단과 텍스트의 틸트를 추정하기 위해 복수의 기하학적 도형들의 제 2 투영 프로파일을 결정하는 수단을 구비할 수도 있다. 그 장치는 도 1의 텍스트 지역 검출기 및 2치화 엔진 (114), 도 26의 명령들 (2656) 을 실행하게 프로그래밍된 프로세서 (2610), 또는 텍스트의 스큐 및 틸트를 추정하기 위해 복수의 기하학적 도형들의 투영 프로파일들을 결정하도록 구성된 임의의 다른 회로 또는 프로세서를 구비할 수도 있다.
장치가, 이미지 지역들을 이미지 지역들의 세트로부터 추출하는 수단, 이를테면 도 1의 텍스트 지역 검출기 및 2치화 엔진 (114), 도 26의 명령들 (2656) 을 실행하게 프로그래밍된 프로세서 (2610), 또는 블롭들의 세트로부터 이미지 데이터에서 식별된 블롭들을 추출하도록 구성된 임의의 다른 회로 또는 프로세서를 구비할 수도 있는데, 이미지 지역들의 각각은 텍스트의 적어도 일부에 대응한다. 장치는 또한 추출된 이미지 지역들을 다수의 클러스터들로 구획하는 수단과 각각의 클러스터의 투영 프로파일을 다른 클러스터들의 각각과는 무관하게 결정하는 수단을 구비할 수도 있다. 그 장치는 도 1의 텍스트 지역 검출기 및 2치화 엔진 (114), 도 26의 명령들 (2656) 을 실행하게 프로그래밍된 프로세서 (2610), 또는 추출된 블롭들을 다수의 클러스터들로 구획하고 각각의 클러스터의 투영 프로파일을 다른 클러스터들의 각각과는 무관하게 결정하도록 구성된 임의의 다른 회로 또는 프로세서를 구비할 수도 있다.
장치가 기하학적 도형들의 제 1 세트를 기하학적 도형들의 제 2 및 제 3 세트로 구획하기 위해 이미지 데이터에서 식별된 이미지 지역들에 대응하는 기하학적 도형들의 제 1 세트에 대해 제 1 투영 프로파일 분석을 수행하는 수단을 구비할 수도 있다. 그 장치는 도 1의 텍스트 지역 검출기 및 2치화 엔진 (114), 도 26의 명령들 (2656) 을 실행하게 프로그래밍된 프로세서 (2610), 또는 기하학적 도형들의 제 1 세트에 대해 제 1 투영 프로파일 분석을 수행하도록 구성된 임의의 다른 회로 또는 프로세서를 구비할 수도 있다. 장치는 또한 기하학적 도형들의 제 2의 세트를 기하학적 도형들의 제 4 세트 및 기하학적 도형들의 제 5 세트로 구획하기 위해 기하학적 도형들의 제 2 세트에 대해 제 2 투영 프로파일 분석을 수행하는 수단을 구비할 수도 있다. 그 장치는 도 1의 텍스트 지역 검출기 및 2치화 엔진 (114), 도 26의 명령들 (2656) 을 실행하게 프로그래밍된 프로세서 (2610), 또는 기하학적 도형들의 제 2 세트를 기하학적 도형들의 제 4 세트 및 기하학적 도형들의 제 5 세트로 구획하기 위해 기하학적 도형들의 제 2 세트에 대해 제 2 투영 프로파일 분석을 수행하도록 구성된 임의의 다른 회로 또는 프로세서를 구비할 수도 있다.
비록 다양한 양태들이 블롭들에 관해 설명되었지만, 다른 실시형태들에서 텍스트 추출은 비-블롭 이미지 지역들에 적어도 부분적으로 기초할 수도 있다. 예를 들어, 방법은 이미지 데이터에서 식별된 이미지 지역들의 세트의 표시를 수신하는 단계와, 하나 이상의 기준들에 적어도 부분적으로 기초하여 이미지 지역들의 그 세트로부터 텍스트 추출을 위해 이미지 지역들을 선택하는 단계를 포함할 수도 있다. 특정 실시형태에서, 그 방법은 이미지 지역 안정성에 적어도 부분적으로 기초하여 이미지 지역들의 그 세트로부터 텍스트 추출을 위해 이미지 지역들을 선택하는 단계를 포함할 수도 있다. 일부 실시형태들에서, 이미지 지역들은 (예컨대 실질적으로 유사한 화소 값들을 갖는 화소들의 그룹들에 연결될 수도 있는) 블롭들일 수도 있다. 다른 실시형태들에서 이미지 지역들의 하나 이상 (또는 모두) 은 블롭들이 아닐 수도 있고 대신에, 하나 이상의 선택 기준에 따라 식별되고 텍스트 관련 특성들, 이를테면 안정성에 대해 추가로 프로세싱될 수도 있는, 어쩌면 중첩하는, 이미지 데이터의 지역들일 수도 있다.
당업자들은 본원에서 개시된 실시형태들에 관련하여 설명되는 각종 예시적인 논리 블록들, 구성들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양쪽 모두의 조합들로 구현될 수도 있다는 것을 추가로 이해할 것이다. 다양한 예시적인 컴포넌트들, 블록들, 구성들, 모듈들, 회로들, 및 단계들은 일반적으로 그것의 기능성의 측면에서 위에서 설명되었다. 이러한 기능성이 하드웨어 또는 소프트웨어 중 어느 것으로 구현되는지는 전체 시스템에 부과되는 설계 제약들 및 특정 애플리케이션에 달려있다. 당업자들은 전술된 기능성을 각 특정 애플리케이션에 대하여 다양한 방식으로 구현할 수 있지만, 이러한 구현 결정들은 본 개시물의 범위를 벗어나도록 야기하는 것으로 해석되어서는 안 된다.
본원에서 개시된 실시형태들에 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이들 두 가지의 조합으로 직접 실시될 수도 있다. 소프트웨어 모듈은 RAM (random-access memory), 플래시 메모리, ROM (read-only memory), 프로그래밍가능 ROM (PROM), 소거가능 프로그래밍가능 ROM (EPROM), 전기적 소거가능 프로그래밍가능 ROM (EEPROM), 레지스터들, 하드 디스크, 착탈실 디스크, CD-ROM (compact disc read-only memory), 또는 이 기술분야에서 알려진 임의의 다른 형태의 저장 매체에 존재할 수도 있다. 예시적인 비일시적 (예컨대, 유형의) 저장 매체는 프로세서에 연결되어서 그 프로세서는 저장 매체로부터 정보를 읽을 수 있고 그 저장 매체에 정보를 쓸 수 있다. 대체예에서, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서와 저장 매체는 주문형 집적회로 (ASIC) 내에 존재할 수도 있다. ASIC은 컴퓨팅 디바이스 또는 사용자 단말 내에 존재할 수도 있다. 대체예에서, 프로세서와 저장 매체는 컴퓨팅 디바이스 또는 사용자 단말에 개별 컴포넌트들로서 존재할 수도 있다.
개시된 실시형태들의 전술한 설명은 당업자가 개시된 실시형태들을 제작하고 사용할 수 있게끔 제공된다. 이들 실시형태들에 대한 다양한 변형예들은 이 기술분야의 숙련된 자들에게 쉽사리 명확하게 될 것이고, 본원에서 정의된 원리들은 본 개시물의 범위로부터 벗어남 없이 다른 실시형태들에 적용될 수도 있다. 따라서, 본 개시물은 본원에서 보인 실시형태들로 한정될 의도는 없으며 다음의 청구항들에 의해 정의된 원리들 및 신규한 특징들과 일치하는 가능한 가장 넓은 범위에 일치하는 것이다.

Claims (42)

  1. 이미지 데이터에서 식별된 이미지 지역들의 세트의 표시를 수신하는 단계; 및
    이미지 지역 안정성에 적어도 부분적으로 기초하여 텍스트 추출을 위해 이미지 지역들의 상기 세트로부터 이미지 지역들을 선택하는 단계를 포함하는, 컴퓨터로 구현된 방법.
  2. 제 1 항에 있어서,
    이미지 지역들의 상기 세트 중 각각의 이미지 지역은 상기 이미지 데이터의 실질적으로 유사한 화소 값들을 갖는 접속된 화소들의 그룹에 대응하는 블롭인, 컴퓨터로 구현된 방법.
  3. 제 1 항에 있어서,
    상기 이미지 지역들은 이미지 지역 곡선성에 적어도 부분적으로 추가로 기초하여 선택되는, 컴퓨터로 구현된 방법.
  4. 제 3 항에 있어서,
    상기 이미지 지역 곡선성은 이미지 지역 사이즈 대 이미지 지역 획 폭 (stroke width) 의 비교에 기초하여 결정되는, 컴퓨터로 구현된 방법.
  5. 제 3 항에 있어서,
    상기 이미지 지역들을 선택하는 단계는,
    이미지 지역들의 상기 세트 중 안정성 기준을 충족시키는 이미지 지역을 식별하는 단계; 및
    상기 식별된 이미지 지역이 곡선 기준을 충족시키는지의 여부를 결정하는 단계를 포함하는, 컴퓨터로 구현된 방법.
  6. 제 5 항에 있어서,
    이미지 지역들의 상기 세트 중 각각의 이미지 지역의 안정성 측정값을 결정하는 단계를 더 포함하고,
    상기 안정성 기준을 충족시키는 이미지 지역을 식별하는 단계는,
    상기 결정된 안정성 측정값들의 비교에 기초하여 이미지 지역들의 상기 세트 중 가장 안정한 이미지 지역을 선택하는 단계를 포함하는, 컴퓨터로 구현된 방법.
  7. 제 6 항에 있어서,
    각각의 결정된 안정성 측정값은 임계값에서의 변화에 대한 이미지 지역 사이즈에서의 변화를 나타내는, 컴퓨터로 구현된 방법.
  8. 제 5 항에 있어서,
    상기 이미지 지역들을 선택하는 단계는, 상기 식별된 이미지 지역이 상기 곡선 기준을 충족시킨다고 결정한 후, 이미지 지역들의 상기 세트로부터 상기 식별된 이미지 지역에 중첩하는 모든 이미지 지역들을 제거하는 단계를 더 포함하는, 컴퓨터로 구현된 방법.
  9. 제 1 항에 있어서,
    상기 선택된 이미지 지역들에 대응하는 기하학적 도형들의 세트를 결정하는 단계; 및
    기하학적 도형들의 상기 세트의 투영 프로파일을 결정하는 단계를 더 포함하는, 컴퓨터로 구현된 방법.
  10. 제 1 항에 있어서,
    이미지 지역들의 상기 세트 중 적어도 하나의 이미지 지역은 텍스트 추출을 위해 선택되고, 이미지 지역들의 상기 세트 중 적어도 다른 이미지 지역은 텍스트 추출을 위해 선택되지 않는, 컴퓨터로 구현된 방법.
  11. 제 1 항에 있어서,
    이미지 지역들의 상기 세트 중 적어도 하나의 이미지 지역은 이미지 지역들의 상기 세트 중 다른 이미지 지역에 중첩하는, 컴퓨터로 구현된 방법.
  12. 이미지 데이터에서 식별된 이미지 지역들의 세트의 표시를 생성하도록 구성된 이미지 지역 추출기; 및
    이미지 지역 안정성에 적어도 부분적으로 기초하여 텍스트 추출을 위해 이미지 지역들의 상기 세트로부터 이미지 지역들을 선택하도록 구성된 텍스트 이미지 지역 선택기를 포함하는, 장치.
  13. 제 12 항에 있어서,
    상기 텍스트 이미지 지역 선택기는 이미지 지역 곡선성에 적어도 부분적으로 기초하여 상기 이미지 지역들을 선택하도록 추가로 구성되는, 장치.
  14. 제 13 항에 있어서,
    상기 텍스트 이미지 지역 선택기는,
    이미지 지역들의 상기 세트로부터 안정하고 곡선인 이미지 지역을 선택하도록 구성된 선택기; 및
    이미지 지역들의 상기 세트로부터 상기 선택된 안정하고 곡선인 이미지 지역에 중첩하는 이미지 지역들을 제거하도록 구성된 중첩 지역 제거기를 구비하는, 장치.
  15. 제 12 항에 있어서,
    상기 선택된 이미지 지역들에 대응하는 기하학적 도형들의 세트를 결정하도록 구성된 이미지 지역 추상화기 (image region abstractor) 를 더 포함하는, 장치.
  16. 제 12 항에 있어서,
    기하학적 도형들의 상기 세트의 투영 프로파일을 결정하도록 구성된 텍스트 지역 검출기를 더 포함하는, 장치.
  17. 이미지 데이터에서 이미지 지역들의 세트를 식별하는 수단; 및
    이미지 지역 안정성에 적어도 부분적으로 기초하여 텍스트 추출을 위해 이미지 지역들의 상기 세트로부터 이미지 지역들을 선택하는 수단을 포함하는, 장치.
  18. 제 17 항에 있어서,
    상기 이미지 지역들은 이미지 지역 곡선성에 적어도 부분적으로 추가로 기초하여 선택되는, 장치.
  19. 프로세서에 의해 실행가능한 프로그램 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서,
    상기 프로그램 명령들은,
    이미지 데이터에서 식별된 이미지 지역들의 세트의 표시를 수신하기 위한 코드; 및
    이미지 지역 안정성에 적어도 부분적으로 기초하여 텍스트 추출을 위해 이미지 지역들의 상기 세트로부터 이미지 지역들을 선택하기 위한 코드를 포함하는, 컴퓨터 판독가능 저장 매체.
  20. 제 19 항에 있어서,
    상기 프로그램 명령들은,
    이미지 지역 곡선성에 적어도 부분적으로 추가로 기초하여 상기 이미지 지역들을 선택하기 위한 코드를 더 포함하는, 컴퓨터 판독가능 저장 매체.
  21. 이미지 지역에 대응하는 기하학적 도형을 식별하는 단계로서, 상기 이미지 지역은 이미지 데이터에서 식별된 텍스트의 적어도 일부에 대응하는, 상기 식별하는 단계; 및
    상기 기하학적 도형에 적어도 부분적으로 기초하여 상기 텍스트에 대한 경계 박스 (bounding box) 를 결정하는 단계를 포함하는, 컴퓨터로 구현된 방법.
  22. 제 21 항에 있어서,
    임계값을 초과하는 상기 이미지 지역에 관한 상기 기하학적 도형의 제 1 맞춤 에러에 응답하여, 상기 이미지 지역에 대응하는 복수의 기하학적 도형들을 식별하는 단계를 더 포함하는, 컴퓨터로 구현된 방법.
  23. 제 22 항에 있어서,
    상기 제 1 맞춤 에러는 상기 이미지 지역의 전체 영역 (area) 에 비해 상기 기하학적 도형 바깥에 위치된 이미지 지역의 영역에 대응하는, 컴퓨터로 구현된 방법.
  24. 제 22 항에 있어서,
    상기 제 1 맞춤 에러 미만인 복수의 기하학적 도형들의 제 2 맞춤 에러에 응답하여 상기 복수의 기하학적 도형들에 대한 투영 프로파일 분석을 수행하는 단계를 더 포함하는, 컴퓨터로 구현된 방법.
  25. 제 22 항에 있어서,
    상기 복수의 기하학적 도형들은 2 개의 기하학적 도형들로 구성되는, 컴퓨터로 구현된 방법.
  26. 제 22 항에 있어서,
    상기 기하학적 도형은 타원이고 상기 복수의 기하학적 도형들은 복수의 타원들을 포함하는, 컴퓨터로 구현된 방법.
  27. 제 21 항에 있어서,
    다수의 투영 선들을 이용하여 상기 기하학적 도형의 투영 프로파일을 결정하는 단계로서, 각각의 특정 투영 선에 대응하는 상기 투영 프로파일의 값이 상기 특정 투영 선과 상기 기하학적 도형의 교차점들 사이의 거리에 기초하는, 상기 결정하는 단계를 더 포함하는, 컴퓨터로 구현된 방법.
  28. 제 21 항에 있어서,
    이미지 지역들에 대응하는 복수의 기하학적 도형들을 식별하는 단계로서, 상기 이미지 지역들의 각각은 상기 텍스트의 적어도 일부에 대응하는, 상기 식별하는 단계;
    상기 텍스트의 스큐를 추정하기 위해 상기 복수의 기하학적 도형들의 제 1 투영 프로파일을 결정하는 단계; 및
    상기 텍스트의 틸트를 추정하기 위해 상기 복수의 기하학적 도형들의 제 2 투영 프로파일을 결정하는 단계를 더 포함하는, 컴퓨터로 구현된 방법.
  29. 제 28 항에 있어서,
    상기 제 1 투영 프로파일을 결정하는 단계는,
    상기 복수의 기하학적 도형들과 교차하는 평행한 투영 선들의 다수의 세트들의 각도들에 대응하는 다수의 투영 프로파일들을 결정하는 단계, 및
    상기 다수의 투영 프로파일들로부터 상기 다수의 투영 프로파일들 중 임의의 다른 투영 프로파일보다 작은 투영 프로파일을 선택하는 단계를 포함하는, 컴퓨터로 구현된 방법.
  30. 제 29 항에 있어서,
    상기 스큐는 수평 기준에 대응하는 상기 평행한 투영 선들의 상기 각도에 대응하는, 컴퓨터로 구현된 방법.
  31. 제 28 항에 있어서,
    상기 제 2 투영 프로파일을 결정하는 단계는,
    상기 복수의 기하학적 도형들과 교차하는 평행한 투영 선들의 다수의 세트들의 각도들에 대응하는 다수의 투영 프로파일들을 결정하는 단계, 및
    상기 다수의 투영 프로파일들로부터 상기 다수의 투영 프로파일들 중 임의의 다른 투영 프로파일보다는 적은 상기 복수의 기하학적 도형들과의 평행한 투영 선들의 교차점들을 가지는 투영 프로파일을 선택하는 단계를 포함하는, 컴퓨터로 구현된 방법.
  32. 제 21 항에 있어서,
    이미지 지역들의 세트로부터 이미지 지역들을 추출하는 단계로서, 상기 이미지 지역들의 각각은 상기 텍스트의 적어도 일부에 대응하는, 상기 추출하는 단계;
    상기 추출된 이미지 지역들을 다수의 클러스터들로 구획하는 단계; 및
    각각의 클러스터의 투영 프로파일을 다른 클러스터들의 각각에 무관하게 결정하는 단계를 더 포함하는, 컴퓨터로 구현된 방법.
  33. 제 32 항에 있어서,
    상기 추출된 이미지 지역들을 구획하는 단계는 상기 텍스트의 획 폭에 적어도 부분적으로 기초하는, 컴퓨터로 구현된 방법.
  34. 제 32 항에 있어서,
    상기 추출된 이미지 지역들을 구획하는 단계는 상기 텍스트의 컬러에 적어도 부분적으로 기초하는, 컴퓨터로 구현된 방법.
  35. 제 21 항에 있어서,
    기하학적 도형들의 제 1 세트를 기하학적 도형들의 제 2 세트 및 기하학적 도형들의 제 3 세트로 구획하기 위해 상기 이미지 데이터에서 식별된 이미지 지역들에 대응하는 기하학적 도형들의 상기 제 1 세트에 대해 제 1 투영 프로파일 분석을 수행하는 단계; 및
    기하학적 도형들의 상기 제 2 세트를 기하학적 도형들의 제 4 세트 및 기하학적 도형들의 제 5 세트로 구획하기 위해 기하학적 도형들의 상기 제 2 세트에 대해 제 2 투영 프로파일 분석을 수행하는 단계를 더 포함하는, 컴퓨터로 구현된 방법.
  36. 제 35 항에 있어서,
    기하학적 도형들의 상기 제 3 세트는 상기 텍스트의 제 1 라인에 대응하며, 기하학적 도형들의 상기 제 4 세트는 상기 텍스트의 제 2 라인에 대응하고, 기하학적 도형들의 상기 제 5 세트는 상기 텍스트의 제 3 라인에 대응하는, 컴퓨터로 구현된 방법.
  37. 프로세서; 및
    상기 프로세서에 의해 실행가능한 명령들을 저장하는 메모리를 포함하며,
    상기 명령들은,
    이미지 지역에 대응하는 기하학적 도형을 식별하는 것으로서, 상기 이미지 지역은 이미지 데이터에서 식별된 텍스트의 적어도 일부에 대응하는, 상기 식별하는 것; 및
    상기 기하학적 도형에 적어도 부분적으로 기초하여 상기 텍스트에 대한 경계 박스를 결정하는 것을 하도록 하는, 장치.
  38. 제 37항에 있어서,
    상기 명령들은 임계값을 초과하는 상기 이미지 지역에 관한 상기 기하학적 도형의 제 1 맞춤 에러에 응답하여, 상기 이미지 지역에 대응하는 복수의 기하학적 도형들을 식별하도록 상기 프로세서에 의해 추가로 실행가능한, 장치.
  39. 제 27 항에 있어서,
    상기 명령들은 다수의 투영 선들을 이용하여 상기 기하학적 도형의 상기 투영 프로파일을 결정하도록 상기 프로세서에 의해 추가로 실행가능하며, 각각의 특정한 투영 선에 대응하는 상기 투영 프로파일의 값은 상기 특정 투영 선과 상기 기하학적 도형의 교차점들 간의 거리에 기초하는, 장치.
  40. 제 27 항에 있어서,
    상기 명령들은,
    이미지 지역들에 대응하는 복수의 기하학적 도형들을 식별하는 것으로서, 상기 이미지 지역들의 각각은 상기 텍스트의 적어도 일부에 대응하는, 상기 식별하는 것;
    상기 텍스트의 스큐를 추정하기 위해 상기 복수의 기하학적 도형들의 제 1 투영 프로파일을 결정하는 것; 및
    상기 텍스트의 틸트를 추정하기 위해 상기 복수의 기하학적 도형들의 제 2 투영 프로파일을 결정하는 것을 하도록 상기 프로세서에 의해 추가로 실행가능한, 장치.
  41. 제 27 항에 있어서,
    상기 명령들은,
    이미지 지역들의 세트로부터 이미지 지역들을 추출하는 것으로서, 상기 이미지 지역들의 각각은 상기 텍스트의 적어도 일부에 대응하는, 상기 추출하는 것;
    상기 추출된 이미지 지역들을 다수의 클러스터들로 구획하는 것; 및
    각각의 클러스터의 투영 프로파일을 다른 클러스터들의 각각에 무관하게 결정하는 것을 하도록 상기 프로세서에 의해 추가로 실행가능한, 장치.
  42. 제 27 항에 있어서,
    상기 명령들은,
    기하학적 도형들의 제 1 세트를 기하학적 도형들의 제 2 세트 및 기하학적 도형들의 제 3 세트로 구획하기 위해 상기 이미지 데이터에서 식별된 이미지 지역들에 대응하는 기하학적 도형들의 상기 제 1 세트에 대해 제 1 투영 프로파일 분석을 수행하는 것; 및
    기하학적 도형들의 상기 제 2 세트를 기하학적 도형들의 제 4 세트 및 기하학적 도형들의 제 5 세트로 구획하기 위해 기하학적 도형들의 상기 제 2 세트에 대해 제 2 투영 프로파일 분석을 수행하는 것을 하도록 상기 프로세서에 의해 추가로 실행가능한, 장치.
KR1020147006031A 2011-09-06 2012-07-31 이미지 지역들을 이용한 텍스트 검출 KR20140045573A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201161531547P 2011-09-06 2011-09-06
US61/531,547 2011-09-06
US201161543548P 2011-10-05 2011-10-05
US61/543,548 2011-10-05
US13/412,853 2012-03-06
US13/412,853 US8942484B2 (en) 2011-09-06 2012-03-06 Text detection using image regions
PCT/US2012/048974 WO2013036329A1 (en) 2011-09-06 2012-07-31 Text detection using image regions

Publications (1)

Publication Number Publication Date
KR20140045573A true KR20140045573A (ko) 2014-04-16

Family

ID=47753234

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147006031A KR20140045573A (ko) 2011-09-06 2012-07-31 이미지 지역들을 이용한 텍스트 검출

Country Status (6)

Country Link
US (1) US8942484B2 (ko)
EP (1) EP2754097A1 (ko)
JP (1) JP5837205B2 (ko)
KR (1) KR20140045573A (ko)
CN (1) CN103765441A (ko)
WO (1) WO2013036329A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190101731A (ko) * 2018-02-23 2019-09-02 삼성전자주식회사 외부 전자 장치로부터 텍스트 정보를 수신하는 시간 동안에 발생된 움직임을 보상하여 이미지에 포함된 객체 위에 텍스트 정보를 표시하는 방법 및 그 전자 장치
WO2024043602A1 (ko) * 2022-08-26 2024-02-29 삼성전자 주식회사 이미지로부터 텍스트를 획득하는 방법 및 서버

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9251144B2 (en) * 2011-10-19 2016-02-02 Microsoft Technology Licensing, Llc Translating language characters in media content
US9064191B2 (en) 2012-01-26 2015-06-23 Qualcomm Incorporated Lower modifier detection and extraction from devanagari text images to improve OCR performance
US8831381B2 (en) 2012-01-26 2014-09-09 Qualcomm Incorporated Detecting and correcting skew in regions of text in natural images
US9076242B2 (en) * 2012-07-19 2015-07-07 Qualcomm Incorporated Automatic correction of skew in natural images and video
US9047540B2 (en) 2012-07-19 2015-06-02 Qualcomm Incorporated Trellis based word decoder with reverse pass
US9141874B2 (en) 2012-07-19 2015-09-22 Qualcomm Incorporated Feature extraction and use with a probability density function (PDF) divergence metric
US9183458B2 (en) 2012-07-19 2015-11-10 Qualcomm Incorporated Parameter selection and coarse localization of interest regions for MSER processing
US9262699B2 (en) 2012-07-19 2016-02-16 Qualcomm Incorporated Method of handling complex variants of words through prefix-tree based decoding for Devanagiri OCR
US20140193029A1 (en) * 2013-01-08 2014-07-10 Natalia Vassilieva Text Detection in Images of Graphical User Interfaces
US10296933B2 (en) * 2013-04-12 2019-05-21 Facebook, Inc. Identifying content in electronic images
US9245192B2 (en) * 2013-09-20 2016-01-26 Here Global B.V. Ad collateral detection
US9329692B2 (en) 2013-09-27 2016-05-03 Microsoft Technology Licensing, Llc Actionable content displayed on a touch screen
US9245341B2 (en) 2014-04-14 2016-01-26 Intuit Inc. Image acquisition using a level-indication icon
KR20160032586A (ko) * 2014-09-16 2016-03-24 삼성전자주식회사 관심영역 크기 전이 모델 기반의 컴퓨터 보조 진단 장치 및 방법
KR200483242Y1 (ko) * 2015-10-23 2017-05-02 김우섭 모바일 디바이스를 이용한 신분증 인식 장치
CN107481253B (zh) * 2017-08-03 2021-03-16 上海音乐学院 一种基于边缘的斑点检测方法
JP7067262B2 (ja) * 2018-05-21 2022-05-16 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US11017258B2 (en) * 2018-06-05 2021-05-25 Microsoft Technology Licensing, Llc Alignment of user input on a screen
CN110807807B (zh) * 2018-08-01 2022-08-05 深圳市优必选科技有限公司 一种单目视觉的目标定位的图案、方法、装置及设备
CN109409356B (zh) * 2018-08-23 2021-01-08 浙江理工大学 一种基于swt的多方向中文印刷体文字检测方法
US11023720B1 (en) * 2018-10-30 2021-06-01 Workday, Inc. Document parsing using multistage machine learning
CN111401110A (zh) * 2019-01-03 2020-07-10 百度在线网络技术(北京)有限公司 用于提取信息的方法和装置
CN111695381B (zh) * 2019-03-13 2024-02-02 杭州海康威视数字技术股份有限公司 一种文本特征提取方法、装置、电子设备及可读存储介质
CN110135408B (zh) * 2019-03-26 2021-02-19 北京捷通华声科技股份有限公司 文本图像检测方法、网络以及设备
GB2595412B8 (en) * 2019-03-28 2023-10-11 Nielsen Consumer Llc Methods and apparatus to detect a text region of interest in a digital image using machine-based analysis
US11410446B2 (en) 2019-11-22 2022-08-09 Nielsen Consumer Llc Methods, systems, apparatus and articles of manufacture for receipt decoding
US11810380B2 (en) 2020-06-30 2023-11-07 Nielsen Consumer Llc Methods and apparatus to decode documents based on images using artificial intelligence
CN112200181B (zh) * 2020-08-19 2023-10-10 西安理工大学 一种基于粒子群优化算法的文字形状逼近方法
CN113420167A (zh) * 2021-05-14 2021-09-21 北京达佳互联信息技术有限公司 多媒体资源处理方法、装置、电子设备及存储介质
US11822216B2 (en) 2021-06-11 2023-11-21 Nielsen Consumer Llc Methods, systems, apparatus, and articles of manufacture for document scanning
US11625930B2 (en) 2021-06-30 2023-04-11 Nielsen Consumer Llc Methods, systems, articles of manufacture and apparatus to decode receipts based on neural graph architecture

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442715A (en) * 1992-04-06 1995-08-15 Eastman Kodak Company Method and apparatus for cursive script recognition
JP3733161B2 (ja) * 1995-08-01 2006-01-11 キヤノン株式会社 画像処理装置および方法
JPH1021332A (ja) 1996-07-03 1998-01-23 Tamura Electric Works Ltd 非線形正規化方法
JP3077745B2 (ja) * 1997-07-31 2000-08-14 日本電気株式会社 データ処理方法および装置、情報記憶媒体
JP3639126B2 (ja) 1998-01-22 2005-04-20 富士通株式会社 住所認識装置及び住所認識方法
JP3904840B2 (ja) * 2000-08-15 2007-04-11 富士通株式会社 多値画像から罫線を抽出する罫線抽出装置
JP4421134B2 (ja) 2001-04-18 2010-02-24 富士通株式会社 文書画像検索装置
US7139004B2 (en) * 2002-01-25 2006-11-21 Xerox Corporation Method and apparatus to convert bitmapped images for use in a structured text/graphics editor
US20030164819A1 (en) * 2002-03-04 2003-09-04 Alex Waibel Portable object identification and translation system
JP4112968B2 (ja) * 2002-12-26 2008-07-02 富士通株式会社 ビデオテキスト処理装置
US7542610B2 (en) 2005-05-09 2009-06-02 Like.Com System and method for use of images with recognition analysis
US20070115510A1 (en) * 2005-11-18 2007-05-24 International Business Machines Corporation Marking images of text with speckle patterns for theft deterrence
US8031940B2 (en) 2006-06-29 2011-10-04 Google Inc. Recognizing text in images using ranging data
JP5015540B2 (ja) * 2006-09-28 2012-08-29 富士通株式会社 電子透かし埋め込み装置および検出装置
WO2009093324A1 (ja) * 2008-01-24 2009-07-30 Fujitsu Limited 画像処理装置、画像処理方法、画像処理プログラムおよび画像補正装置
US20100073735A1 (en) * 2008-05-06 2010-03-25 Compulink Management Center, Inc. Camera-based document imaging
CN101593278B (zh) * 2008-05-27 2013-01-16 佳能株式会社 文档图像的语言判别方法和系统
CN101587540B (zh) * 2009-04-16 2011-08-03 大连理工大学 一种利用页面文档几何失真检测文档来源的打印机取证方法
CN101930587A (zh) * 2009-06-19 2010-12-29 株式会社理光 水印信息扩展编码、嵌入、评估、检测提取方法和装置
US8520983B2 (en) 2009-10-07 2013-08-27 Google Inc. Gesture-based selective text recognition
KR101645994B1 (ko) 2009-12-29 2016-08-05 삼성전자주식회사 문자 인식 영역 검출 장치 및 문자 인식 방법
CN101894154B (zh) * 2010-07-13 2012-02-15 重庆大学 一种图像文档关键图案的提取方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190101731A (ko) * 2018-02-23 2019-09-02 삼성전자주식회사 외부 전자 장치로부터 텍스트 정보를 수신하는 시간 동안에 발생된 움직임을 보상하여 이미지에 포함된 객체 위에 텍스트 정보를 표시하는 방법 및 그 전자 장치
US11941368B2 (en) 2018-02-23 2024-03-26 Samsung Electronics Co., Ltd. Method for providing text translation managing data related to application, and electronic device thereof
WO2024043602A1 (ko) * 2022-08-26 2024-02-29 삼성전자 주식회사 이미지로부터 텍스트를 획득하는 방법 및 서버

Also Published As

Publication number Publication date
US8942484B2 (en) 2015-01-27
JP2014525626A (ja) 2014-09-29
EP2754097A1 (en) 2014-07-16
US20130058575A1 (en) 2013-03-07
CN103765441A (zh) 2014-04-30
JP5837205B2 (ja) 2015-12-24
WO2013036329A1 (en) 2013-03-14

Similar Documents

Publication Publication Date Title
JP5837205B2 (ja) 画像領域を使用するテキスト検出
Wang et al. Arbitrary shape scene text detection with adaptive text region representation
Pal et al. Segmentation of Bangla unconstrained handwritten text
US11003941B2 (en) Character identification method and device
US10163019B1 (en) Arabic handwriting recognition system and method
Tian et al. Text flow: A unified text detection system in natural scene images
JP7246104B2 (ja) テキスト行識別に基づくナンバープレート識別方法
CN110050277A (zh) 用于将手写文本转换成数字墨水的方法和系统
US6332046B1 (en) Document image recognition apparatus and computer-readable storage medium storing document image recognition program
US7840037B2 (en) Adaptive scanning for performance enhancement in image detection systems
Rehman et al. Performance analysis of character segmentation approach for cursive script recognition on benchmark database
US7983480B2 (en) Two-level scanning for memory saving in image detection systems
US9959475B2 (en) Table data recovering in case of image distortion
WO2014026483A1 (zh) 一种字符识别方法及相关装置
Shivakumara et al. New gradient-spatial-structural features for video script identification
JP2019102061A (ja) テキスト線の区分化方法
CN113011426A (zh) 一种识别证件的方法和装置
Anh et al. A hybrid method for table detection from document image
Bahaghighat et al. Novel approach for baseline detection and Text line segmentation
US20230036812A1 (en) Text Line Detection
Gui et al. A fast caption detection method for low quality video images
Al-Shatnawi A skew detection and correction technique for Arabic script text-line based on subwords bounding
Xu et al. Touching character separation in Chinese handwriting using visibility-based foreground analysis
CN114387600A (zh) 文本特征识别方法、装置、计算机设备和存储介质
Mitchell et al. Newspaper layout analysis incorporating connected component separation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application