KR101913612B1 - 이미지 내의 복합 토큰들을 식별하기 위한 시스템 및 방법 - Google Patents

이미지 내의 복합 토큰들을 식별하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101913612B1
KR101913612B1 KR1020137014684A KR20137014684A KR101913612B1 KR 101913612 B1 KR101913612 B1 KR 101913612B1 KR 1020137014684 A KR1020137014684 A KR 1020137014684A KR 20137014684 A KR20137014684 A KR 20137014684A KR 101913612 B1 KR101913612 B1 KR 101913612B1
Authority
KR
South Korea
Prior art keywords
image
log
coordinate
representations
clusters
Prior art date
Application number
KR1020137014684A
Other languages
English (en)
Other versions
KR20140023877A (ko
Inventor
케시 아서 스미스
Original Assignee
탠던트 비젼 사이언스 아이엔씨.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 탠던트 비젼 사이언스 아이엔씨. filed Critical 탠던트 비젼 사이언스 아이엔씨.
Publication of KR20140023877A publication Critical patent/KR20140023877A/ko
Application granted granted Critical
Publication of KR101913612B1 publication Critical patent/KR101913612B1/ko

Links

Images

Classifications

    • 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
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image

Landscapes

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

Abstract

본원 발명의 하나의 예시적인 실시예에서, 자동화되고, 컴퓨터화된 방법이 이미지를 프로세싱하기 위해서 제공된다. 본원 발명의 특징에 따라서, 그러한 방법은, 컴퓨터 메모리 내로, 이미지를 묘사하는 이미지 파일을 제공하는 단계, 이미지에 대한 로그 색도 표상들을 결정하는 단계, 유사한 로그 색도 표상들의 클러스터들을 제공하기 위해서 로그 색도 표상들을 클러스터링하는 단계, 및 유사한 로그 색도 표상들의 클러스터들의 함수로서 이미지 내의 균일한 반사도 영역들을 식별하는 단계를 포함한다.

Description

이미지 내의 복합 토큰들을 식별하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR IDENTIFYING COMPLEX TOKENS IN AN IMAGE}
본원 발명은, 이미지내에 묘사된 장면(depicted scene) 내의 단일 재질 반사율(reflectance)에 각각 상응하는 이미지의 영역들을 정밀하고 정확하게 식별하는 이미지 기술들을 포함하는 방법 및 시스템에 관한 것이다.
현대의 컴퓨터 기술에서 의미 있고(significant) 상업적으로 중요한 많은 사용들이 이미지들과 관련된다. 이들은 이미지 프로세싱, 이미지 분석 및 컴퓨터 비전(vision) 애플리케이션들을 포함한다. 예를 들어, 객체 인식(object recognition) 및 광학적 특성 인식과 같은 컴퓨터 비전 애플리케이션들에서, 이미지의 재질 양태들(material aspects) 및 조도(illumination)의 분리가 컴퓨터 성능의 정확도를 상당히 개선할 수 있다는 것이 발견되었다.
본원 발명은, 이미지내에 묘사된 장면(depicted scene) 내의 단일 재질 반사율(reflectance)에 각각 상응하는 이미지의 영역들을 정밀하고 정확하게 식별하는 이미지 기술들을 포함하는 방법 및 시스템을 제공한다.
본원 발명의 하나의 예시적인 실시예에서, 자동화되고, 컴퓨터화된 방법이 이미지를 프로세싱하기 위해서 제공된다. 본원 발명의 특징에 따라서, 그러한 방법은, 컴퓨터 메모리 내로, 이미지를 묘사하는 이미지 파일을 제공하는 단계, 이미지에 대한 조도 불변적인 로그 색도 표상들(log chromaticity representations)을 결정하는 단계로서, 상기 로그 색도 표상들의 각각은 로그 색도 공간 내의 좌표에 의해 나타내어지는, 상기 결정하는 단계, 유사한 로그 색도 표상들의 클러스터들(clusters)을 제공하기 위해서, 상기 로그 색도 표상들에 대한 좌표들을 좌표 클러스터들로 클러스터링하고 상기 좌표 클러스터들의 각각에 대한 중심을 결정하고 상기 좌표 클러스터들에 대한 중심들을 클러스터링함으로써 로그 색도 표상들을 클러스터링하는 단계, 및 유사한 로그 색도 표상들의 클러스터들의 함수로서 이미지 내의 균일한 반사율의 영역들을 식별하는 단계로서, 상기 함수는 가장 근접한 클러스터 중심에 따라서 각각의 좌표를 분류하는 단계를 포함하고, 상기 균일한 반사도 영역들은 상기 균일한 반사도 영역들의 적어도 일부를 가로지르는 상기 이미지 내의 조도 변화를 포함하는, 상기 식별하는 단계를 포함한다.
본원 발명의 제 2의 예시적인 실시 예에서, 컴퓨터 시스템이 제공된다. 그러한 컴퓨터 시스템은 이미지를 포함하는 이미지 파일을 저장하는 메모리 및 CPU를 포함한다. 본원 발명의 특징에 따라서, CPU는 이미지에 대한 조도 불변적인 로그 색도 표상들을 결정하기 위한, 유사한 로그 색도 표상들의 클러스터들을 제공하기 위해서 로그 색도 표상들을 클러스터링하기 위한, 그리고 유사한 로그 색도 표상들의 클러스터들의 함수로서 이미지 내의 균일한 반사율의 영역들을 식별하기 위한 루틴(routine)을 실행하도록 배열되고 구성된다. 여기서, 상기 로그 색도 표상들의 각각은 로그 색도 공간 내의 좌표에 의해 나타내어지고, 상기 클러스터링은 상기 로그 색도 표상들에 대한 좌표들을 좌표 클러스터들로 클러스터링하고 상기 좌표 클러스터들의 각각에 대한 중심을 결정하고 상기 좌표 클러스터들에 대한 중심들을 클러스터링함으로써 수행되고, 상기 함수는 가장 근접한 클러스터 중심에 따라서 각각의 좌표를 분류하는 단계를 포함하고, 상기 균일한 반사도 영역들은 상기 균일한 반사도 영역들의 적어도 일부를 가로지르는 상기 이미지 내의 조도 변화를 포함한다.
본원 발명의 제 3의 예시적인 실시예에서, 컴퓨터 판독가능 매체에 배치된 컴퓨터 프로그램 제품이 제공된다. 그러한 컴퓨터 프로그램 제품은 컴퓨터 실행가능 프로세스 단계들을 포함하고, 상기 프로세스 단계들은: 컴퓨터 메모리 내로, 이미지를 묘사하는 이미지 파일을 제공하도록, 이미지에 대한 로그 색도 표상들을 결정하도록, 유사한 로그 색도 표상들의 클러스터들을 제공하기 위해서 로그 색도 표상들을 클러스터링하도록, 그리고 유사한 로그 색도 표상들의 클러스터들의 함수로서 이미지 내의 균일한 반사율의 영역들을 식별하도록, 상기 컴퓨터를 제어하기 위해서 동작될 수 있다. 여기서, 상기 로그 색도 표상들의 각각은 로그 색도 공간 내의 좌표에 의해 나타내어지고, 상기 클러스터링은 상기 로그 색도 표상들에 대한 좌표들을 좌표 클러스터들로 클러스터링하고 상기 좌표 클러스터들의 각각에 대한 중심을 결정하고 상기 좌표 클러스터들에 대한 중심들을 클러스터링함으로써 수행되고, 상기 함수는 가장 근접한 클러스터 중심에 따라서 각각의 좌표를 분류하는 단계를 포함하고, 상기 균일한 반사도 영역들은 상기 균일한 반사도 영역들의 적어도 일부를 가로지르는 상기 이미지 내의 조도 변화를 포함한다.
본원 발명의 다른 추가적인 실시예들에 따라서, 전술한 방법들을 실시하도록 구성된(예를 들어, 프로그래밍된) 하나 이상의 컴퓨터들을 포함하는 컴퓨터 시스템들이 제공된다. 본원 발명의 다른 실시예들에 따라서, 비-휘발성(non-transitory) 컴퓨터 판독가능 매체들이 제공되고, 그러한 매체들에는 전술한 실시예들을 구현하기 위해서 컴퓨터(들)를 제어하도록 동작될 수 있는 컴퓨터 실행가능 프로세스 단계들이 저장된다. 본원 발명은, 예를 들어, 집적 회로 칩 내와 같은 하드웨어 회로로서 구현된 명령들을 포함하는, 본원 발명의 방법들을 실행하기 위해서 컴퓨터 내에서 이용될 수 있는 정보들을 구체화하는(embody) 임의 제품으로서의 컴퓨터 판독가능 매체들을 고려한다. 자동화되고, 컴퓨터화된 방법들은 디지털 컴퓨터, 아날로그 컴퓨터, 광학적 센서, 상태 기계(state machine), 시퀀서, 집적된 칩 또는 본원 발명의 방법들의 단계들을 실시하도록 디자인된 또는 프로그램된 임의 디바이스 또는 장치에 의해서 실시될 수 있다.
도 1은 이미지들과 관련된 동작들을 실시하도록 배열되고 구성된 컴퓨터 시스템의 블록도이다.
도 2는 도 1의 컴퓨터 시스템 내에 저장된 이미지에 대한 N x M 픽셀 어레이 이미지 파일을 도시한다.
도 3a는, 본원 발명의 특징에 따른, 도 2의 이미지 파일 내의 C 타입 토큰 영역들(token regions)을 식별하기 위한 흐름도이다.
도 3b는 C 타입 토큰들의 식별에서의 예로서 이용되는 원본(original) 이미지를 도시한 도면이다.
도 3c는 도 3b의 이미지 내의 C 타입 토큰 영역들을 도시한 도면이다.
도 3d는, 본원 발명의 특징에 따른, 도 3c의 이미지 C 타입 토큰들로부터 생성된 B 타입 토큰들을 도시한 도면이다.
도 4는, 본원 발명의 특징에 따른, 도 3a의 흐름도의 루틴에 의해서 식별된 C 타입 토큰들을 테스트하기 위한 루틴에 대한 흐름도이다.
도 5는, 본원 발명의 특징에 따른, 로그 색 공간 색도 평면의 도식적인 표상을 도시한 도면이다.
도 6은 입력 이미지 내에 묘사된 색채들의 리스트를 결정하기 위한 흐름도이다.
도 7은, 본원 발명의 특징에 따른, 로그 색도 공간에 대한 배향을 결정하기 위한 흐름도이다.
도 8은, 본원 발명의 특징에 따른, 도 6의 루틴의 실행을 통해서 결정되는 바와 같은, 입력 이미지의 색채들에 대한 로그 색도 좌표들을 결정하기 위한 흐름도이다.
도 9는, 본원 발명의 특징에 따른, 도 8의 루틴의 실행을 통해서 결정되는 바와 같은, 로그 색도 좌표들을 증강(augmenting)하기 위한 흐름도이다.
도 10은, 본원 발명의 특징에 따른, 로그 색도 좌표들을 클러스터링하기 위한 흐름도이다.
도 11은, 본원 발명의 특징에 따른, 도 10의 루틴의 실행을 통해서 결정된 클러스터들에 대해서 로그 색도 좌표들을 할당하기 위한 흐름도이다.
도 12는, 본원 발명의 특징에 따른 로그 색도 클러스터링을 기초로 균일한 반사율의 영역들을 검출하기 위한 흐름도이다.
도면들을 참조하면, 먼저 도 1에는 이미지들과 관련된 동작들을 실시하도록 배열되고 구성된 컴퓨터 시스템(10)의 블록도가 도시되어 있다. CPU(12)는, 예를 들어, USB 포트를 통해서, 예를 들어, 디지털 카메라(14)와 같은 디바이스에 커플링된다. 디지털 카메라(14)는 그러한 카메라(14)에 국부적으로(local) 저장된 이미지들을 CPU(12)로 다운로드하도록 동작된다. CPU(12)는 다운로드된 이미지들을 이미지 파일들(18)로서 메모리(16) 내에 저장한다. 이미지 파일들(18)은, 모니터(20) 상에서 디스플레이하기 위해서 또는 프린터(22) 상에서 프린트 출력하기 위해서, CPU(12)에 의해서 액세스(access)될 수 있다.
그 대신에, CPU(12)가, 예를 들어, 디지털 카메라(14) 또는 로봇과 같은 디바이스에 임베딩된(embeded; 내장된) 마이크로프로세서로서 구현될 수 있다. 또한, CPU(12)는, 예를 들어, 로봇 동작 또는 사용자와의 쌍방향(interactive) 동작과 관련하여, 이미지들과 관련된 실시간 동작들을 위한 실시간 동작 시스템을 구비할 수 있다.
도 2에 도시된 바와 같이, 각각의 이미지 파일(18)은 N x M 픽셀 어레이를 포함한다. 각각의 픽셀(p)은 전체 이미지의 구분되는(discrete) 부분에 상응하는 그림 요소이다. 모든 픽셀들은 이미지 파일(18)에 의해 표시되는 이미지를 함께 정의한다. 각 픽셀은 그림 요소의 색채 밴드들의 세트, 예를 들어, 적색, 녹색, 및 청색 색채 성분들(RGB)에 상응하는 디지털 값을 포함한다. 본원 발명은, 각각의 밴드가 전기-자기 스펙트럼의 단편(piece)에 상응하는, 임의의 복수-밴드 이미지에 대해서 적용될 수 있다. 픽셀 어레이는, 각각 픽셀 p(1,1)에서 시작하고, 픽셀 p(n, m)에서 종료되는 m 열들(columns)의 n 행들(rows)을 포함한다. 이미지를 디스플레이 또는 프린트할 때, CPU(12)는 메모리(16)로부터 상응하는 이미지 파일(18)을 검색(retrieve)하고, 경우에 따라서, 일반적으로 공지된 바와 같이, 이미지 파일(18) 내의 픽셀들의 디지털 값들의 함수로서, 모니터(20) 또는 프린터(22)를 동작시킨다.
이미지 동작에서, CPU(12)는, 예를 들어, 이미지 파일(18) 내에 기록된 장면에서 묘사된 단일 재질에 상응하는 이미지의 영역들을 식별하기 위한 다양한 목적들을 달성하기 위해서 저장된 이미지 파일(18)의 픽셀들의 RGB 값들을 분석하도록 동작한다. 본원 발명의 기본적인 발견을 기초로 하는 기본적인 관찰 내용은, 이미지가 2개의 성분들 즉, 재질 및 조도를 포함한다는 것이다. 이미지 내의 모든 변화는 이러한 성분들 중 하나 또는 다른 하나에 의해서 유발된다. 이러한 성분들 중 하나, 예를 들어, 재질을 검출하기 위한 방법은 조도 및 음영(shadow) 경계들로부터, 객체 엣지들과 같은, 재질 또는 객체 기하형태(geometry)를 구분하기 위한 메커니즘을 제공한다.
그러한 메커니즘은 본질적인(intrinsic) 이미지들을 생성하기 위해서 이용될 수 있는 기술들을 가능하게 한다. 본질적인 이미지들은 원본 이미지, 예를 들어, 입력 이미지 파일(18)에서 묘사된 이미지에 상응한다. 본질적인 이미지들은, 예를 들어, 이미지들 내에서 묘사된 표면들 상에서의 각 포인트 상으로 입사하는 광의 세기 및 색채를 캡쳐하기 위한 조도 이미지, 및 이미지 내에서 묘사된 표면들의 반사도 속성들(표면이 반사하는 광의 각각의 파장의 백분율)을 캡쳐하기 위한 재질 반사도 이미지를 포함한다. 본질적인 이미지들 내의 재질로부터 조도를 분리하는 것은, 보다 효과적이고 정확한 추가적인 프로세싱을 위해서 최적화된 이미지들을 CPU(12)로 제공한다.
본원 발명의 특징에 따라서, 토큰은 이미지의 연결된 영역이며, 그러한 연결된 영역에서 재질 및 조도의 식별과 같은 이미지 특징들(features) 및 특성들(characteristics)의 식별과 관련된 방식으로 영역의 픽셀들이 다른 픽셀과 관련된다. 토큰의 픽셀들은, 예를 들어, 픽셀들 사이의 색채의 밀접한 상관관계와 같은 균질한 인자들(homogeneous factors), 또는 예를 들어, 텍스쳐(texture)라고 일반적으로 지칭되는, RGB 공간과 같은 색채 공간에서 기하형태적으로 관련된 다양한 색채 값들과 같은 비균질한 인자들(inhomogeneous factors)의 관점에서(in terms of) 관련될 수 있다. 본원 발명은, 토큰 영역들을 식별하기 위해서, 이미지 파일(18) 내에서 묘사된 이미지의 인접하는(contiguous) 픽셀들과 관련된 공간적-스펙트럼적 정보를 이용한다. 공간적-스펙트럼적 정보는, 색채 밴드들, 예를 들어, 픽셀들의 RGB 값들의 관점에서, 인접 픽셀들 사이의 공간적인 관계들, 그리고 단일 재질과 관련된 픽셀 스펙트럼적 특성들의 공간적 범위를 포함한다.
본원 발명의 하나의 예시적인 실시예에 따라서, 토큰들은 각각 A 타입 토큰, B 타입 토큰 또는 C 타입 토큰으로 분류된다. A 타입 토큰은 장면 내의 단일 재질(균일한 반사도)을 둘러싸는 이미지의 가장 큰 가능한 영역을 나타내는 인접한 픽셀들을 포함하는 연결된 이미지 영역이다. B 타입 토큰은, 비록 반드시 해당 재질에 상응하는 균일한 반사도의 최대 영역이어야 하는 것은 아니지만, 장면 내의 단일 재질을 둘러싸는 이미지의 영역을 나타내는 인접한 픽셀들을 포함하는 연결된 이미지 영역이다. B 타입은 또한 하나 이상의 이미지 영역들 또는 픽셀들의 집합으로서 규정될 수 있고, 그러한 영역들 또는 픽셀들 모두는, 비록 반드시 모든 픽셀들이 해당 재질 색채에 상응하여야 하는 것은 아니지만, 동일한 반사도 (재질 색채)을 가진다. C 타입 토큰은 토큰의 인접한 픽셀들 사이에서 유사한 이미지 속성들의 연결된 이미지 영역을 포함하고, 여기에서 유사성은 이미지 기록을 위해서 이용된 이미징 시스템에 대한 노이즈 모델(noise model)에 대해서 규정된다.
이제, 도 3a를 참조하면, 도 2의 이미지 파일(18) 내에서 묘사된 장면 내의 C 타입 토큰 영역들을 식별하기 위한 흐름도가 도시되어 있다. C 타입 토큰들은, 도 3a의 단계들을 이용하여, 이미지 내에서 용이하게 식별될 수 있고, 이어서 본원 발명의 특징에 따라서, B 타입 토큰들을 구축하기 위해서 분석되고 프로세싱된다.
1차의(1st order) 균일하고 균질한 C 타입 토큰은 이미지의 인접한 픽셀들 사이의 단일의 견고한(robust) 색채 측정을 포함한다. 식별 루틴의 시작에서, CPU(12)는 메모리 내에서 영역 맵(map)을 셋업한다. 단계(100)에서, CPU(12)는 영역 맵을 클리어(clear)하고, 영역 ID를 할당하며, 그러한 영역 ID는 초기에 1로 셋팅된다. 픽셀 수에 상응하는, 루틴에 대한 반복이 i = 0으로 셋팅되고, 토큰을 결정하기 위한 시드(seed)로서 이용하기 위한, N x N 픽셀 어레이에 대한 수가 초기 값으로 셋팅되며, 즉 N = Nstart 가 된다. Nstart 는 0 보다 큰 임의 정수가 될 수 있고, 예를 들어, 11 또는 15 픽셀들로 셋트에서 셋팅될 수 있다.
단계(102)에서, 시드 테스트가 시작된다. CPU(12)는 제 1 픽셀을 선택하고, 즉 i = 1, 예를 들어, 픽셀(1, 1)(도 2 참조), 이미지 파일(18)의 제 1의 N x N 샘플의 상부 좌측 모서리의 픽셀을 선택한다. 이어서, 선택된 픽셀이 양호한 시드의 일부인지를 결정하기 위해서, 픽셀이 결정 블록(104)에서 테스트된다. 테스트는 선택된 픽셀의 색채 값을, 시드로서, 예를 들어 N x N 어레이로서 그 이웃 픽셀들의 선택된 수의 색채 값들과 비교하는 것을 포함할 수 있다. 색채 값들 비교는 픽셀의 복수 색채 밴드 값들(본원의 예에서 RGB)에 대한 것일 수 있다. 만약 비교가 시드 내의 픽셀들에 대해서 대략적으로 같은 값들(기록 장치의 노이즈 레벨들 내의 값들)을 초래하지 않는다면, CPU(12)는, 다음 N x N 시드 샘플을 위해서, i 의 값을 증가시키고(단계(106)), 예를 들어, i = 2, 픽셀(1, 2)로 증가시키고, 이어서 i = imax 인지를 결정하기 위해서 테스트 한다(결정 블록(108)).
만약 픽셀 값이 imax 라면, 즉 개선된 결과들을 위해서 시드 크기를 감소시키도록 결정하기 위한 한계값(threshold)으로서 선택된 값이라면, 시드 크기 즉, N이 감소되고(단계(110)), 예를 들어, N = 15로부터 N = 12로 감소된다. 본원 발명의 예시적인 실시예에서, 도 2에 도시된 바와 같이, imax 가 픽셀(n, m)에서 종료하는 이미지 내의 픽셀들의 수로 셋팅될 수 있다. 이러한 방식에서, 도 3a의 루틴이, N의 감소된 값에 대한 루틴을 반복하기에 앞서서, N의 제 1 값에서 전체 이미지를 분석한다(parse).
시드 크기의 감소 후에, 루틴이 단계(102)로 되돌아 가고, 토큰 시드들에 대한 테스트를 계속한다. Nstop 값(예를 들어, N = 2)이 또한 단계(110)에서 체크되어, 분석이 완료되었는지를 결정한다. 만약 N 의 값이 Nstop 에 있다면, CPU(12)는 이미지 픽셀 어레이들의 조사(survey)를 완료하고, 루틴을 빠져 나간다.
만약 i의 값이 imax 보다 작고, N 이 Nstop 보다 더 크다면, 루틴이 단계(102)로 되돌아 가고, 토큰 시드들에 대한 테스트를 계속한다.
양호한 시드(대략적으로 동일한 픽셀 값들을 가지는 N x N 어레이)가 발견될 때(블록(104)), 토큰이 시드로부터 성장된다. 단계(112)에서, CPU(12)는 픽셀들을 시드로부터 큐(queue)로 푸싱한다(push). 큐 내의 모든 픽셀들이 영역 맵 내에서 현재의 영역 ID로 마킹된다(marked). 이어서, CPU(12)는 큐가 비어 있는지의 여부에 대해서 문의한다(결정 블록(114). 만약 큐가 비어 있지 않다면, 루틴이 단계(116)로 진행된다.
단계(116)에서, CPU(12)는 전방 픽셀을 큐에서 추출(pop off)하고 단계(118)로 진행한다. 단계(118)에서, CPU(12)는 대상(subject) 픽셀 주위의 "양호한(good)" 이웃들 즉, 대상 픽셀과 대략적으로 동일한 색채 값을 가지는 이웃들을 현재 영역 ID로 마킹한다. 마킹된 양호한 이웃들 모두가 영역 맵 내에 배치되고 또한 큐로 푸싱된다. 이어서, CPU(12)가 결정 블록(114)으로 되돌아 간다. 큐가 비워질 때까지, 단계들(114, 116, 118)의 루틴이 반복된다. 그 시간에, 현재 영역 내에서 토큰을 형성하는 모든 픽셀들이 식별될 것이고, 영역 맵 내에서 C 타입 토큰으로서 마킹될 것이다.
큐가 비어 있을 때, CPU(12)는 단계(120)로 진행한다. 단계(120)에서, CPU(12)는 다음 토큰의 식별과 함께 이용하기 위해서 영역 ID를 증가시킨다. 이어서, CPU(12)가 단계(106)로 되돌아가서, 새로운 현재 토큰 영역에 대해서 루틴을 반복한다.
N = Nstop 즉, 도 3a의 흐름도의 단계(110)에 도달하면, 또는 이미지와 일치되는 영역 맵이 완성되면, 루틴이 토큰 구축 과제를 완료할 것이다. 도 3b는 토큰들의 식별에서 예로서 이용된 원본 이미지이다. 이미지는 청색 색채 및 음영(shadow) 내의 청색의 영역, 그리고 청록색(teal) 색채 및 음영 내의 청록색의 영역을 보여준다. 도 3c는, 예를 들어, 도 3a(C 타입 토큰들)의 루틴의 실행을 통해서 식별되는 바와 같이, 도 3b의 이미지에 대한, 영역 맵에 상응하는 토큰 영역들을 도시한다. 이미지의 완전한 청색 색채 및 청록색 영역들과 채색된 구역들의 음영 사이의 반영(penumbra) 영역들을 포함하여, 도 3b의 이미지의 토큰 메이크업(makeup)을 도시하기 위해서 토큰 영역들이 색채 코딩된다.
각각의 C 타입 토큰이 이미지의 인접한 픽셀들 사이의 단일의 견고한 색채 측정을 가지는 이미지의 영역을 포함하지만, 토큰이 재질 경계들을 가로질러 성장할 수 있을 것이다. 전형적으로, 상이한 재질들이, 종종 음영 경계들 상에 또는 유사한 색조(hue)를 가지나 세기가 상이한 다른 재질들을 가로지르는 가변적인 조도를 가지는 구역들 내에 위치되는 네크(neck) 영역을 통해서, 하나의 C 타입 토큰들 내에서 함께 연결된다. 네크(neck) 픽셀이 인접한 픽셀들의 특성들을 검사함으로써 식별될 수 있다. 픽셀이 상응하는 토큰 내에 있지 않는 대향 측부들(sides) 상의 2개의 인접한 픽셀들, 및 상응하는 토큰 내에 있는 대향하는 측부들 상의 2개의 인접한 픽셀들을 가질 때, 픽셀이 네크 픽셀로서 규정된다.
도 4는 C 타입 토큰들에 대한 네크(neck) 테스트를 위한 흐름도를 도시한다. 단계(122)에서, CPU(12)는 식별된 토큰의 각 픽셀을 검사하여, 시험중인 픽셀들 중 임의 픽셀이 네크를 형성하는지의 여부를 결정한다. 특별한 토큰이 도 3a의 루틴의 실행 중에 식별된 직후에, 도 4의 루틴이 서브루틴으로서 실행될 수 있다. 네크로서 규정된 모든 픽셀들이 "성장될 수 없음(ungrowable)"으로서 마킹된다. 결정 블록(124)에서, CPU(12)는 픽셀들 중 임의 픽셀이 마킹되었는지를 결정한다.
만약, 마킹된 것이 없다면, CPU(12)는 도 4의 루틴을 빠져나오고, 도 3a의 루틴(단계(126))으로 되돌아 간다.
만약, 마킹된 것이 있다면, CPU(12)는 단계(128)로 진행되고, 시드 크기 및 영역 ID에 대한 카운트를 변화시키지 않고, 도 3a의 루틴 마다(per)로서, 현재 토큰의 마킹되지 않은 픽셀들 사이로부터 선택된 시드 위치로부터 토큰을 재성장(regrow)시키도록 동작한다. 재성장 프로세스 중에, CPU(12)는 이전에 '성장될 수 없음'으로서 마킹된 임의 픽셀을 포함하지 않는다. 토큰이 재성장된 후에, 이전에 마킹된 픽셀들이 언마킹되며, 그에 따라 다른 토큰들이 그들로(into them) 성장할 수 있을 것이다.
이전에 마킹된 픽셀들이 없는 토큰의 재성장에 후속하여, CPU(12)가 단계(122)로 되돌아가서, 새롭게 재성장된 토큰을 테스트한다. 네크 테스팅은 재질 경계들을 가로지르는 C 타입 토큰들을 식별하고, B 타입 토큰들을 생성하는데 이용하기에 적합한 단일 재질 C 타입 토큰들을 제공하기 위해서 식별된 토큰들을 재성장시킨다.
도 3d는, 본원 발명의 특징에 따른, 도 3c의 C 타입 토큰들로부터 생성된 B 타입 토큰들을 도시한다. 본원 발명은, 이미지 파일(18)에 대한 B 타입 토큰들을 구성하기 위해서, 로그 색도 클러스터링을 이용하는 신규한 예시적인 기술을 제공한다. 로그 색도는 조도 불변(invariant) 색도 공간을 개발하기 위한 기술이다.
로그 색도 표상을 이용하여 조도 및 반사도를 분리하기 위한 방법 및 시스템이 미국 특허 제 7,596,266 호에 개시되어 있으며, 그 특허는 본원에 의해서 참조로서 명백하게 포함된다. 미국 특허 제 7,596,266 호에서 교시된 기술들을 이용하여, 예를 들어, C 타입 토큰들에 의해서 대표되는 바와 같은, 이미지의 각 색채에 대한 조도 불변적인 로그 색도 표상 값들을 제공할 수 있다. 이미지 픽셀들의 색채 밴드 값들의 대수(logarithmic) 값들이 로그-색채 공간 그래프 상에 플롯된다(plotted). 이어서, 미국 특허 제 7,596,266 호에서 교시된 바와 같이, 대수 값들이 이원-발광 이색 반사 모델(bi-illuminant dichromatic reflection model( BIDR 모델))의 함수로서 배향된 로그-색도 투사 평면으로 투사되어, 각 픽셀에 대한 로그 색도 값을 제공한다. 이미지 내에 묘사된 장면의 단일 재질에 걸친 음영을 형성하는 조도 변화로 인해서 색채 변화가 존재할 때, BIDR 모델은, 상이한 색채 측정 값들이, 다크 단부(dark end)(음영 내)로부터 브라이트 단부(불이 켜진(lit) 단부)까지, 양의 기울기(positive slope)를 따라서, RGB 공간 내의 실린더 내에서 속한다는 것(fall)을 예측한다.
도 5는, 미국 특허 제 7,596,266 호에 개시된 발명의 특징에 따른, 로그 색채 공간 즉, 이원-발광 색도 평면의 도식적인 표상이다. 색도 평면의 배열은, 색도 평면에 대해서 수직한, 벡터(N)에 의해서 결정되고, N = log(Brightvector) - log(Darkvector) = log(l + 1/Svector)로서 규정된다. 평면의 좌표들(u, v)은, u 축으로서 색도 평면 상으로의 녹색 축(green axis)을 투사하는 것에 의해서, 그리고 v 축으로서 u와 N의 외적(cross product)에 의해서 규정될 수 있다. 본원의 예에서, 재질들(A, B, C)에 대한 각각의 로그 값이 색도 평면 상으로 투사되고, 그에 따라, 도 5에 도시된 바와 같이, 색도 값인 평면 내의 상응하는 u, v 좌표 값을 가질 것이다.
따라서, 미국 특허 제 7,596,266 호에 개시된 기술에 따라서, 도 5에 도시된 바와 같이, 이미지 파일(18) 내의 각 픽셀의 RGB 값들이 이미지 파일 값 p(n, m, R, G, B)로부터 로그값까지, 이어서, 색도 평면에 대한 투사를 통해서, 상응하는 u, v 값까지, CPU(12)에 의해서 맵핑될 수 있다. 이어서, 이미지 파일(18) 내의 각 픽셀 p(n, m, R, G, B)가, CPU(12)에 의해서, 2차원적인 색도 값 p(n, m, u, v)로 대체되어, 원본 RGB 이미지의 색도 표상을 제공한다. 일반적으로, N 밴드 이미지에 대해서, N 색채 값들은 N-1 색도 값들에 의해서 대체된다. 색도 표상은 진실로 정확한 조도 불변 표상이 되는데, 이는 표상이 기초로 하는 BIDR 모델이 원본 이미지를 유도한 조도 플럭스를 정밀하고 정확하게 나타내기 때문이다.
본원 발명의 특징에 따라서, 균일한 반사도(B 타입 토큰들)의 영역들을 식별하기 위해서 CPU(12)로 입력된 이미지 파일(18) 내에 묘사된 각각의 색채에 대해서 로그 색도 값들이 계산된다. 예를 들어, C 타입 토큰들의 각각의 픽셀은, 예를 들어, RGB 값들과 관련하여, 이미지를 기록하기 위해서 이용된 장비의 노이즈 레벨 내에서, 동일한 C 타입 토큰의 다른 구성 픽셀들 모두와 대략적으로 동일한 색채 값이 될 것이다. 따라서, 각각의 특별한 C 타입 토큰의 구성 픽셀들에 대한 색채 값들의 평균을 이용하여, 로그 색도 분석에서 각각의 C 타입 토큰에 대한 색채 값을 나타낼 수 있을 것이다.
도 6은 입력 이미지, 예를 들어, 이미지 파일(18) 내에서 묘사된 색채들의 리스트를 결정하기 위한 흐름도이다. 단계(200)에서, 입력 이미지 파일(18)이 프로세싱을 위해서 CPU(12)로 입력된다. 단계(202 및 204)에서, CPU(12)는 입력 이미지 파일(18) 내에서 묘사된 색채들을 결정한다. 단계(202)에서, CPU(12)는, 전술한 바와 같이, 색채들의 리스트를 위해서, 도 3a의 루틴의 실행을 통해서 CPU(12)에 의해서 결정된 각각의 C 타입 토큰들에 대한 평균 색채를 계산한다. CPU(12)는, 분석을 위해서, 도 3a의 루틴에 따라 C 타입 토큰들을 결정하기 위해서 이용된 최소 시드 크기(N x N 어레이), 또는 토큰의 구성 픽셀들의 수와 관련된, 최소 토큰 크기를 선택적으로 요구하도록 동작될 수 있다. 이미지에 대한 색채들의 리스트에서 색채 측정들이 입력 이미지에서 묘사된 장면에서의 색채의 정확한 묘사가 되도록, 그리고 혼합(blend) 픽셀들의 부산물(artifact)이 되지 않도록 보장하기 위해서, 최소 크기 요건들이 구현된다.
혼합 픽셀들은 이미지의 2개의 상이하게 채색된 영역들 사이의 픽셀들이다. 만약 2개의 영역들 사이의 색채들이 RGB 공간 내에 플롯된다면, 색채들 사이에 선형 전이부(transition)가 존재하며, 각각의 혼합 픽셀은, 하나의 영역으로부터 다음 영역으로 이동할 때, 2개의 영역들의 색채들의 가중된 평균이 된다. 따라서, 각각의 혼합 픽셀은 이미지의 진정한 색채를 나타내지 않는다. 만약 혼합 픽셀들이 존재한다면, 혼합 픽셀들로 이루어진, 비교적 작은 C 타입 토큰들이 2개의 상이하게 채색된 영역들 사이의 이미지의 구역들에 대해서 식별될 수 있다. 크기 최소를 요구함으로써, CPU(12)가 분석으로부터 혼합 픽셀로 이루어진 토큰들을 배제할 수 있다.
단계(204)에서, CPU(12)는 대안적으로(alternatively) 픽셀 레벨에서의 색채들을 수집할 수 있고 즉, 도 2에 도시된 바와 같이, 입력 이미지 파일(18)의 픽셀들의 RGB 값들을 수집할 수 있다. CPU(12)는, 보다 정확한 색채들의 리스트를 위해서, 필터 출력을 통해서 최소 안정성 또는 국부적인 표준 편차를 가지도록 분석에서 이용되는 이미지 파일(18)의 각 픽셀을 선택적으로 요구하도록 동작될 수 있다. 예를 들어, 이차 도함수(second delivative) 에너지를 이용하여, 이미지의 픽셀들의 안정성을 나타낼 수 있다.
이러한 접근 방식에서, 가우시안의 차(Difference of Gaussian), 가우시안의 라플라시안(Laplacian of Gaussian), 또는 유사한 필터를 이용하여, CPU(12)는 입력 이미지 파일(18)에서 묘사된 이미지의 모든 조도 조건들을 커버하기 위해서 이미지에 걸쳐 분배된(disbursed) 픽셀들의 서브세트, 또는 각 픽셀에서의 이차 도함수를 계산한다. 이어서, 검사된 각각의 픽셀에 대한 이차 도함수 에너지가 각각의 색채 밴드 내의 이차 도함수의 절대 값(또는 그레이스케일 이미지 내의 단일 값의 절대 값)의 평균, 각각의 색채 밴드 내의 이차 도함수들의 값들의 제곱합(또는 그레이스케일 이미지 내의 단일 값의 제곱), 색채 밴드들에 걸친 최대 제곱된 이차 도함수 값(또는 그레이스케일 이미지 내의 단일 값의 제곱), 또는 임의의 유사한 방법으로서 CPU(12)에 의해서 계산될 수 있다. 픽셀들의 각각에 대한 이차 도함수 에너지의 계산 시에, CPU(12)는 픽셀들의 에너지 값들을 분석한다. 이차 도함수 에너지와 픽셀 안정성 사이에 역전 관계(inverse relationship)가 존재하고, 에너지가 높을수록, 상응하는 픽셀이 덜 안정적이 된다.
단계(206)에서, CPU(12)는 (단계(202) 및/또는 단계(204) 중 하나 또는 모두를 실행한 후에) 색채의 리스트 또는 리스트들을 출력한다. 본원 발명의 특징에 따라서, 모든 추가적인 프로세싱은 단계(202) 또는 단계(204)로부터의 리스트를 이용하여 실행될 수 있고, 또는 각각의 후속 단계에서 이용되는 리스트(단계들(202 또는 204)로부터의 리스트들 중 하나 또는 다른 하나)를 변경할 수 있다.
도 7은, 본원 발명의 특징에 따른, 로그 색도 표상에 대한 배향을 결정하기 위한 흐름도이다. 예를 들어, CPU(12)는, 도 5에 도시된 바와 같이, 로그 색도 평면에 대한 수직(normal)(N) 배향을 결정한다. 단계(210)에서, CPU(12)는, 도 6의 루틴의 단계(206)에서의 리스트 출력과 같은, 입력 파일(18)에 대한 색채들의 리스트를 수신한다. 단계(212)에서, CPU(12)는 로그 색도 공간에 대한 배향을 결정한다.
미국 특허 제 7,596,266 호에서 교시된 바와 같이, 그리고 앞서서 주지한 바와 같이, 색도 평면의 배열은 N에 의해서 표시되며, N은 색도 표상, 예를 들어 도 5의 색도 평면에 대해서 수직한 벡터이다. 그러한 배향은 몇 가지 기술들 중 임의의 하나의 실행을 통해서 CPU(12)에 의해서 평가된다. 예를 들어, 미국 특허 제 7,596,266 호에 전체적으로 개시된 바와 같이, CPU(12)는 엔트로피 최소화, 사용자에 의한 수동적 선택, 또는 입력 이미지 파일(18)의 이미지에 대한 특성적인 스펙트럼 비율의 이용을 기초로, 평가치들을 결정할 수 있다.
색채들의 보다 고차원적인 세트, 예를 들어 RYGB 공간(적색, 황색, 녹색, 청색)의 경우에, 로그 색도 수직(N)은 입력 공간 보다 하나 적은 차원의 서브(sub)-공간을 규정한다. 그에 따라, 4차원적인 RYGB 공간에서, 수직(N)은 3차원적인 로그 색도 공간을 규정한다. 4차원적인 RYGB 값들이 3차원적인 로그 색도 공간 내로 투사될 때, 로그 색도 공간 내의 투사된 값들이 조도 변동에 의해서 영향을 받지 않는다.
단계(214)에서, CPU(12)는 수직(N)에 대한 배향을 출력한다. 도 5의 예에서 도시된 바와 같이, 수직(N)은 3차원적인 RGB 공간 내의 u, v 평면에 대한 배향을 규정한다.
도 8은, 본원 발명의 특징에 따른, 도 6의 루틴의 단계들(202 또는 204)에서 규정된 바와 같이, 입력 이미지의 색채들에 대한 로그 색도 좌표들을 결정하기 위한 흐름도이다. 단계(220)에서, 색채들의 리스트가 CPU(12)로 입력된다. 색채들의 리스트가 도 6의 루틴의 단계(202)의 실행을 통해서 생성된 리스트, 또는 단계(204)의 실행을 통해서 생성된 리스트를 포함할 수 있다. 단계(222)에서, 도 7의 루틴의 실행을 통해서 결정된 수직(N)에 대한 로그 색도 배향이 또한 CPU(12)로 입력된다.
단계(224)에서, CPU(12)가 동작되어, 색채들의 리스트 내의 각각의 색채에 대한 로그 값을 계산하고, 도 5에 도시된 바와 같이, 각각의 (로그 R, 로그 G, 로그 B) 좌표들에서 3차원적인 로그 공간 내에 그 로그 값들을 플롯팅한다. 재질들(A, B 및 C)은 단계(220)에서 CPU(12)로 입력된 색채들의 리스트로부터 특정된 색채들에 대한 로그 값들을 나타낸다. 또한, 3차원적인 로그 공간 내에서, 단계(222)에서 CPU(12)로 입력된, u, v 좌표들 및 N에 의해서 셋팅된 배향을 이용하여, 로그 색도 평면이 CPU(12)에 의해서 계산된다. 로그 색도 평면 내의 각각의 u, v 좌표가 또한 3차원적인 로그 공간 내에서 상응하는(로그 R, 로그 G, 로그 B) 좌표에 의해서 표시될 수 있다.
본원 발명의 특징에 따라서, CPU(12)가 색채들(A, B 및 C)에 대한 로그 값들을 로그 색도 평면 상으로 투사하여, 각각의 색채에 대한 u, v 로그 색도 좌표를 결정한다. 각각의 u, v 로그 색도 좌표는 3차원적인 로그 공간 내의 상응하는(로그 R, 로그 G, 로그B) 좌표에 의해서 표현될 수 있다. CPU(12)는 단계(226)에서 로그 색도 좌표들의 리스트를 출력한다. 리스트는 u, v 로그 색도 좌표에 대해서 그리고 각각의 색채를 가지는 픽셀들(또는 C 타입 토큰들)(분석(단계(202)(토큰들) 또는 단계(204)(픽셀들)에서 이용되는 색채들의 리스트에 따라 달라진다) 대해서 각각의 색채를 교차-참조한다(cross-referece).
도 9는, 본원 발명의 특징에 따른, 여분의 차원들을 가지는 픽셀들 또는 C 타입 토큰들에 대한 로그 색도 좌표들을 선택적으로 증강하기 위한 흐름도이다. 단계(230)에서, 도 8의 루틴의 실행을 통해서 입력 이미지의 색채들에 대해서 결정된, 로그 색도 좌표들의 리스트가 CPU(12)로 입력된다. 단계(232)에서, CPU(12)는, 증강에서의 이용을 위해서, 입력 이미지 파일(18)에 액세스한다.
단계(234)에서, CPU(12)는 각각의 상응하는 픽셀(또는 C 타입 토큰)에 대한 톤 매핑 (tone mapping) 세기를 이용하여 각각의 로그 색도 좌표를 증강하기 위해서 선택적으로 동작한다. 톤 매핑 세기는 임의의 공지된 톤 매핑 기술을 이용하여 결정된다. 톤 매핑 세기 정보를 이용한 증강은, 유사한 로그 색도 좌표들 및 유사한 톤 매핑 세기들 모두에 따라서 그룹화된 픽셀들 또는 토큰들에 대한 클러스터링을 위한 기초를 제공한다. 이는, 클러스터 단계의 정확도를 개선한다.
단계(236)에서, CPU(12)는 상응하는 픽셀에 대한 x, y 좌표들(또는 C 타입 토큰의 구성 픽셀들에 대한 x, y 좌표들의 평균)(P(1,1) 내지 P(N, M) 픽셀 배열을 도시하는 도 2 참조)로 각각의 로그 색도 좌표를 증강하도록 선택적으로 동작한다. 따라서, x, y 좌표 정보를 이용한 클러스터링 단계는, 특성이 요구될 때, 공간적으로 제한된 배열의 그룹들을 제공할 것이다.
단계들(234 및 236)의 각각에서, 증강된 좌표들 내의 여러 치수들(dimensions)의 상대적인 중요성 및 스케일을 특정하기 위해서, 증강된 정보는, 각각의 경우에, 각각의 인자(w1 및 w2, w3)에 의해서 가중될 수 있다. 가중 인자들(w1 및 w2, w3)은 사용자가 특정한다. 따라서, C 타입 토큰 또는 픽셀에 대한 (로그 R, 로그 G, 로그 B) 좌표들이 (로그 R, 로그 G, 로그 B, T*w1, x*w2, y*w3)로 증강되고, 여기에서 T, x 및 y는 각각 톤 매핑된 세기, x 좌표 및 y 좌표이다.
단계(238)에서, CPU(12)는 증강된 좌표들의 리스트를 출력한다. 증강된 로그 색도 좌표들은, 예를 들어, C 타입 토큰들과 같은, 입력 이미지의 특정된 지역적 배열을 위한, 또는 픽셀들의 정확한 조도 불변적 표상들을 제공한다. 본원 발명의 특징에 따라서, 로그 색도 좌표들의 조도 불변형 특성이, 예를 들어, B 타입 토큰들과 같은, 단일 재질 또는 반사도의 이미지의 영역들을 식별하기 위한 기본으로서 의존된다.
도 10은 본원 발명의 특징에 따른, 로그 색도 좌표들의 클러스터링을 위한 흐름도이다. 단계(240)에서, 증강된 로그 색도 좌표들의 리스트가 CPU(12)로 입력된다. 단계(242)에서, CPU(12)가 동작하여, 로그 색도 좌표들을 클러스터링한다. 클러스터링 단계는, 예를 들어, 공지된 k-수단(means) 클러스터링을 통해서 구현될 수 있다. 임의의 공지된 클러스터링 기술을 이용하여 로그 색도 좌표들을 클러스터링함으로써 유사한 로그 색도 좌표 값들의 그룹들을 결정할 수 있다. CPU(12)는 각각의 로그 색도 좌표를 각각의 좌표가 속하는 그룹에 대해서 상호관련시킨다. 또한, CPU(12)가 동작하여 클러스터링 단계에서 식별된 각각의 그룹에 대한 중심을 계산한다. 예를 들어, CPU(12)는 (로그 R, 로그 G, 로그 B, 로그 T) 공간에 대한 각각의 그룹의 중심을 결정할 수 있다.
단계(244)에서, CPU(12)는 클러스터 그룹 중심들의 리스트 및/또는 (상응하는 픽셀들 또는 C 타입 토큰들에 대해서 교차 참조된) 로그 색도 좌표들에 대한 클러스터 그룹 멤버십들(memberships)의 리스트를 출력한다.
전술한 바와 같이, 클러스터링 방법의 실행에서, CPU(12)는 도 6의 루틴의 단계(202)의 실행을 통해서 생성된 리스트, 또는 단계(204)의 실행을 통해서 생성된 리스트로부터의 색채들의 리스트를 이용할 수 있다. 식별된 클러스터 그룹들을 입력 이미지에 적용하는 것에 있어서, CPU(12)가 동작되어, 클러스터링 방법에서 이용된 것과 동일한 색채들의 세트(단계(202)에 상응하는 색채들의 리스트 또는 단계(204)에 상응하는 색채들의 리스트 중 하나)를 이용할 수 있고, 또는 다른 색채들의 세트(단계(202)에 상응하는 색채들의 리스트 또는 단계(204)에 상응하는 색채들의 리스트 중 다른 하나)를 적용할 수 있다. 만약 다른 색채들의 세트가 이용된다면, CPU(12)는 도 11의 루틴을 실행하도록 진행된다.
도 11은, 본원 발명의 특징에 따라서, 클러스터 그룹들의 식별 후에 상이한 색채들의 리스트가 이용될 때, 도 10의 루틴의 실행을 통해서 결정된 클러스터들에 대해서 로그 색도 좌표들을 할당하기 위한 흐름도이다. 단계(250)에서, CPU(12)는, 이번에는 새로운 색채들의 리스트에 대해서, 다시 한번 도 8의 루틴을 실행한다. 예를 들어, 만약 단계(202)에서 생성된 색채들의 리스트(C 타입 토큰들을 기초로 하는 색채들)이 클러스터 그룹을 식별하기 위해서 이용되었다면, 아울러 CPU(12)가 단계(204)에서 생성된 색채들(픽셀들을 기초로 하는 색채들)의 리스트를 기초로 클러스터 그룹들에 대한 로그 색도 좌표들을 식별하도록 동작된다면, 도 11의 루틴의 단계(250)가 실행되어 입력 이미지 파일(18) 내의 픽셀들의 색채들에 대한 로그 색도 좌표들을 결정한다.
단계(252)에서, 클러스터 중심들의 리스트가 CPU(12)로 입력된다. 단계(254)에서, CPU(12)가 동작되어, 가장 근접한 클러스터 그룹 중심에 따라서, 단계(250)에서 식별된 로그 색도 좌표들의 각각을 분류한다. 단계(256)에서, CPU(12)는, 단계(250)에서 이용된 색채들의 리스트(단계(202)에서 생성된 색채들의 리스트 또는 단계(204)에서 생성된 색채들의 리스트)에 따라서, C 타입 토큰들 또는 상응하는 픽셀에 대한 교차 참조를 이용하여, 새로운 색채들의 리스트를 기초로 로그 색도 좌표들에 대한 클러스터 그룹 멤버십들의 리스트를 출력한다.
도 12는 본원 발명의 특징에 따른 로그 색도 클러스터링을 기초로 균일한 반사율의 영역들을 검출하기 위한 흐름도이다. 단계(260)에서, 입력 이미지 파일(18)이 다시 한번 CPU(12)로 제공된다. 단계(262)에서, 단계(250)에서 이용된 색채들의 리스트에 따라서, 픽셀들 또는 C 타입 토큰들 중 하나가 CPU(12)로 입력된다. 단계(264)에서, 단계들(244 또는 256)로부터의, 클러스터 멤버십 정보가 CPU(12)로 입력된다.
단계(266)에서, CPU(12)는 균일한 반사도(B 타입 토큰)의 영역을 나타내기 위해서 이미지의 단일 영역 내로 동일한 클러스터 그룹 멤버십을 가지는, 예를 들어, C 타입 토큰들과 같은 입력 이미지의 특정된 영역들 또는 픽셀들의 각각을 병합시키는 동작을 한다. CPU(12), 경우에 따라서, 입력 이미지 파일(18)에 대해서, 픽셀들 또는 토큰들 모두에 대해서 그러한 병합 동작을 실시한다. 단계(268)에서, CPU(12)는 균일한 반사도의 (또한, 로그 색도 좌표들이 단계(234) 및/또는 단계(236)에서 증강되었다면, 유사한 톤 매핑 세기들 및 x, y 좌표들의) 모든 영역들의 리스트를 출력한다. 본원 발명의 특징들에 따라서 결정된 균일한 반사도의 각각의 영역(B 타입 토큰)이 그 영역을 가로질러 상당한 조도 변동을 가질 수 있다는 것을 주목하여야 한다.
미국 특허 공보 제 US 2010/0142825 호는, 동일한 재질 제약(constraint)을 기초로 하는 최적화된 솔루션을 포함하여, 이미지 내의 조도 및 재질을 분리하기 위한 제약/솔버(solver) 모델을 교시하고 있다. 미국 특허 공보 제 US 2010/0142825 호에서 교시된 바와 같이, 동일한 재질 제약은, 본원 발명의 교시들에 따라서 결정될 수 있는 바와 같이, C 타입 토큰들 및 B 타입 토큰들을 이용한다. 이러한 제약 관계는 동일한 B 타입 토큰의 부분인 모든 C 타입 토큰이 동일 재질이 되는 것으로 제약되는 것이다. 이러한 제약은 B 타입 토큰의 규정(definition)을 강제하고(enforce), 즉, 비록, 반드시 해당 재질에 상응하는 최대 영역인 것은 아니지만, 장면 내의 단일 재질을 둘러싸는 이미지의 영역을 나타내는 인접한 픽셀들을 포함하는 연결된 이미지 영역을 강제한다. 따라서, 동일한 B 타입 토큰 내에 놓이는 모든 C 타입 토큰들이, B 타입 토큰들 상으로 부여된 규정에 의해서, 비록 반드시 동일한 조도일 필요는 없으나, 동일한 재질이 된다. 그에 따라, C 타입 토큰들은 가변적인 조도에 의해서 유발되는 외관 상의 관찰되는 차이들에 상응하도록 제약된다.
본원 발명에 따른 로그 색도 클러스터링 기술을 통해서 획득된 C 타입 토큰들 및 B 타입 토큰들을 이용하여, 미국 특허 공보 제 US 2010/0142825 호의 기술들 및 교시들에 따른 제약/솔버 모델을 구현하는 것은, 원본 입력 이미지에 상응하는 본질적인 이미지들을 생성하기 위한 매우 효과적이고 효율적인 방법을 제공한다. 이러한 본질적인 이미지들을 이용하여, 이미지 프로세싱, 이미지 분석 및 컴퓨터 버전 애플리케이션의 정확도 및 효율성을 강화할 수 있다.
전술한 설명들에서, 본원 발명의 특정의 예시적인 실시예들 및 예들을 참조하여 본원 발명을 설명하였다. 그러나, 이하의 청구항들에서 기술되는 바와 같이, 본원 발명의 보다 넓은 사상 및 범위로부터 벗어나지 않고도, 여러 가지 변경들 및 변화들이 이루어질 수 있다는 것이 명백할 것이다. 따라서, 상세한 설명 및 도면들은 제한적인 의미 보다는 예시적인 방식인 것으로 간주된다.

Claims (26)

  1. 자동화되고, 컴퓨터화된 이미지 프로세싱 방법으로서:
    컴퓨터 메모리 내로, 이미지를 묘사하는 이미지 파일을 제공하는 단계,
    상기 이미지에 대한 조도 불변적인 로그 색도 표상들을 결정하는 단계로서, 상기 로그 색도 표상들의 각각은 로그 색도 공간 내의 좌표에 의해 나타내어지는, 상기 결정하는 단계;
    유사한 로그 색도 표상들의 클러스터들을 제공하기 위해서, 상기 로그 색도 표상들에 대한 좌표들을 좌표 클러스터들로 클러스터링하고 상기 좌표 클러스터들의 각각에 대한 중심을 결정하고 상기 좌표 클러스터들에 대한 중심들을 클러스터링함으로써 상기 로그 색도 표상들을 클러스터링하는 단계; 및
    유사한 로그 색도 표상들의 상기 클러스터들의 함수로서 상기 이미지 내의 균일한 반사도 영역들을 식별하는 단계로서, 상기 함수는 가장 근접한 클러스터 중심에 따라서 각각의 좌표를 분류하는 단계를 포함하고, 상기 균일한 반사도 영역들은 상기 균일한 반사도 영역들의 적어도 일부를 가로지르는 상기 이미지 내의 조도 변화를 포함하는, 상기 식별하는 단계를 포함하는, 이미지 프로세싱 방법.
  2. 제 1 항에 있어서,
    상기 이미지에 대한 상기 로그 색도 표상들이 상기 이미지를 나타내는 픽셀들의 어레이에 상응하는, 이미지 프로세싱 방법.
  3. 제 2 항에 있어서,
    상기 이미지에 대한 상기 로그 색도 표상들이 상기 이미지를 나타내는 픽셀들의 어레이의 함수로서 생성되는, 이미지 프로세싱 방법.
  4. 제 2 항에 있어서,
    상기 이미지를 나타내는 토큰들을 식별하기 위해서 상기 이미지를 나타내는 상기 픽셀들의 어레이를 분석하는 추가적인 단계를 포함하는, 이미지 프로세싱 방법.
  5. 제 4 항에 있어서,
    상기 이미지에 대한 상기 로그 색도 표상들이 상기 이미지를 나타내는 상기 토큰들의 함수로서 생성되는, 이미지 프로세싱 방법.
  6. 제 1 항에 있어서,
    상기 이미지 내의 상기 균일한 반사도 영역들의 함수로서 본질적인 이미지들을 생성하는 추가적인 단계를 포함하는, 이미지 프로세싱 방법.
  7. 제 1 항에 있어서,
    상기 이미지에 대한 상기 로그 색도 표상들이 증강되는, 이미지 프로세싱 방법.
  8. 제 7 항에 있어서,
    상기 이미지에 대한 상기 로그 색도 표상들이 톤 매핑 세기 정보로 증강되는, 이미지 프로세싱 방법.
  9. 제 8 항에 있어서,
    상기 톤 매핑 정보가 가중되는, 이미지 프로세싱 방법.
  10. 제 7 항에 있어서,
    상기 이미지에 대한 상기 로그 색도 표상들이 x, y 좌표 정보로 증강되는, 이미지 프로세싱 방법.
  11. 제 10 항에 있어서,
    상기 x, y 좌표 정보가 가중되는, 이미지 프로세싱 방법.
  12. 컴퓨터 시스템으로서:
    CPU; 및
    이미지를 포함하는 이미지 파일을 저장하는 메모리를 포함하고,
    상기 CPU는 상기 이미지에 대한 조도 불변적인 로그 색도 표상들을 결정하기 위한, 유사한 로그 색도 표상들의 클러스터들을 제공하기 위해서 상기 로그 색도 표상들을 클러스터링하기 위한, 그리고 유사한 로그 색도 표상들의 클러스터들의 함수로서 상기 이미지 내의 균일한 반사도 영역들을 식별하기 위한 루틴을 실행하도록 배열되고 구성되며,
    상기 로그 색도 표상들의 각각은 로그 색도 공간 내의 좌표에 의해 나타내어지고,
    상기 클러스터링은 상기 로그 색도 표상들에 대한 좌표들을 좌표 클러스터들로 클러스터링하고 상기 좌표 클러스터들의 각각에 대한 중심을 결정하고 상기 좌표 클러스터들에 대한 중심들을 클러스터링함으로써 수행되고,
    상기 함수는 가장 근접한 클러스터 중심에 따라서 각각의 좌표를 분류하는 단계를 포함하고, 상기 균일한 반사도 영역들은 상기 균일한 반사도 영역들의 적어도 일부를 가로지르는 상기 이미지 내의 조도 변화를 포함하는, 컴퓨터 시스템.
  13. 제 12 항에 있어서,
    상기 CPU가, 상기 이미지 내의 상기 균일한 반사도 영역들의 함수로서 본질적인 이미지들을 생성하기 위한 추가적인 루틴을 실행하도록 추가적으로 배열되고 구성되는, 컴퓨터 시스템.
  14. 컴퓨터 프로그램이 기록된 컴퓨터 판독가능 매체로서,
    상기 컴퓨터 프로그램은 컴퓨터 실행가능 프로세스 단계들을 포함하고, 상기 프로세스 단계들은: 이미지를 묘사하는 이미지 파일을 컴퓨터 메모리 내로 제공하도록, 상기 이미지에 대한 조도 불변적인 로그 색도 표상들을 결정하도록, 유사한 로그 색도 표상들의 클러스터들을 제공하기 위해서 상기 로그 색도 표상들을 클러스터링하도록, 그리고 유사한 로그 색도 표상들의 클러스터들의 함수로서 상기 이미지 내의 균일한 반사도 영역들을 식별하도록, 상기 컴퓨터를 제어하기 위해서 동작 가능하고,
    상기 로그 색도 표상들의 각각은 로그 색도 공간 내의 좌표에 의해 나타내어지고,
    상기 클러스터링은 상기 로그 색도 표상들에 대한 좌표들을 좌표 클러스터들로 클러스터링하고 상기 좌표 클러스터들의 각각에 대한 중심을 결정하고 상기 좌표 클러스터들에 대한 중심들을 클러스터링함으로써 수행되고,
    상기 함수는 가장 근접한 클러스터 중심에 따라서 각각의 좌표를 분류하는 단계를 포함하고, 상기 균일한 반사도 영역들은 상기 균일한 반사도 영역들의 적어도 일부를 가로지르는 상기 이미지 내의 조도 변화를 포함하는, 컴퓨터 판독가능 매체.
  15. 제 14 항에 있어서,
    상기 이미지에 대한 상기 로그 색도 표상들이 상기 이미지를 나타내는 픽셀들의 어레이에 상응하는, 컴퓨터 판독가능 매체.
  16. 제 15 항에 있어서,
    상기 이미지에 대한 상기 로그 색도 표상들이 상기 이미지를 나타내는 픽셀들의 어레이의 함수로서 생성되는, 컴퓨터 판독가능 매체.
  17. 제 15 항에 있어서,
    상기 이미지를 나타내는 토큰들을 식별하기 위해서 상기 이미지를 나타내는 상기 픽셀들의 어레이를 분석하는 추가적인 프로세스 단계를 포함하는, 컴퓨터 판독가능 매체.
  18. 제 17 항에 있어서,
    상기 이미지에 대한 상기 로그 색도 표상들이 상기 이미지를 나타내는 상기 토큰들의 함수로서 생성되는, 컴퓨터 판독가능 매체.
  19. 제 14 항에 있어서,
    상기 이미지 내의 상기 균일한 반사도 영역들의 함수로서 본질적인 이미지들을 생성하는 추가적인 프로세스 단계를 포함하는, 컴퓨터 판독가능 매체.
  20. 제 14 항에 있어서,
    상기 이미지에 대한 상기 로그 색도 표상들이 증강되는, 컴퓨터 판독가능 매체.
  21. 제 20 항에 있어서,
    상기 이미지에 대한 상기 로그 색도 표상들이 톤 매핑 세기 정보로 증강되는, 컴퓨터 판독가능 매체.
  22. 제 21 항에 있어서,
    상기 톤 매핑 정보가 가중되는, 컴퓨터 판독가능 매체.
  23. 제 20 항에 있어서,
    상기 이미지에 대한 상기 로그 색도 표상들이 x, y 좌표 정보로 증강되는, 컴퓨터 판독가능 매체.
  24. 제 23 항에 있어서,
    상기 x, y 좌표 정보가 가중되는, 컴퓨터 판독가능 매체.
  25. 제 4 항에 있어서,
    상기 방법의 각각의 단계가 상기 이미지에 대한 색채들의 리스트의 함수로서 실행되고, 상기 각각의 단계에서 이용된 색채들의 리스트가 상기 이미지의 픽셀들의 어레이 및 상기 이미지를 나타내는 토큰들 중 하나의 함수로서 식별되는, 이미지 프로세싱 방법.
  26. 제 17 항에 있어서,
    상기 각각의 프로세스 단계가 이미지에 대한 색채들의 리스트의 함수로서 실행되고, 상기 각각의 프로세스 단계에서 이용된 색채들의 리스트가 상기 이미지의 픽셀들의 어레이 및 상기 이미지를 나타내는 토큰들 중 하나의 함수로서 식별되는, 컴퓨터 판독가능 매체.
KR1020137014684A 2010-11-10 2011-09-27 이미지 내의 복합 토큰들을 식별하기 위한 시스템 및 방법 KR101913612B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/927,244 US8542917B2 (en) 2010-11-10 2010-11-10 System and method for identifying complex tokens in an image
US12/927,244 2010-11-10
PCT/US2011/053438 WO2012064416A1 (en) 2010-11-10 2011-09-27 System and method for identifying complex tokens in an image

Publications (2)

Publication Number Publication Date
KR20140023877A KR20140023877A (ko) 2014-02-27
KR101913612B1 true KR101913612B1 (ko) 2018-11-01

Family

ID=46019678

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137014684A KR101913612B1 (ko) 2010-11-10 2011-09-27 이미지 내의 복합 토큰들을 식별하기 위한 시스템 및 방법

Country Status (4)

Country Link
US (1) US8542917B2 (ko)
EP (1) EP2638508B1 (ko)
KR (1) KR101913612B1 (ko)
WO (1) WO2012064416A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8879836B2 (en) * 2011-10-14 2014-11-04 Tandent Vision Science, Inc. System and method for identifying complex tokens in an image
US8553979B2 (en) 2011-11-07 2013-10-08 Tandent Vision Science, Inc. Post processing for improved generation of intrinsic images
US8787666B2 (en) 2011-11-21 2014-07-22 Tandent Vision Science, Inc. Color analytics for a digital image
US8842910B2 (en) * 2012-08-17 2014-09-23 Tandent Vision Science, Inc. Spatially varying log-chromaticity normals for use in an image process
US8849018B2 (en) * 2012-08-17 2014-09-30 Tandent Vision Science, Inc. Log-chromaticity clustering pipeline for use in an image process
US8842907B2 (en) 2012-08-17 2014-09-23 Tandent Vision Science, Inc. Method for performing a multi-clustering merge for use in an image process
US8811732B2 (en) * 2012-08-17 2014-08-19 Tandent Vision Science, Inc. Weighted entropy minimization for optimizing a log-chromaticity normal for use in an image process
US8934735B2 (en) 2012-09-07 2015-01-13 Tandent Vision Science, Inc. Oriented, spatio-spectral illumination constraints for use in an image progress
US9361700B2 (en) 2014-05-08 2016-06-07 Tandent Vision Science, Inc. Constraint relationship for use in an image segregation
US9158989B1 (en) 2014-05-08 2015-10-13 Tandent Vision Science, Inc. Color pure scale-spaced pyramid arrangement for use in an image segregation
US9158973B1 (en) 2014-05-08 2015-10-13 Tandent Vision Science, Inc. Temporal constraint relationship for use in an image segregation for frames of a video

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002051231A (ja) * 2000-05-25 2002-02-15 Eastman Kodak Co 選択的な色マッピング及びシーン依存階調尺度構成法を用いたシーンのカラー画像再現方法
US20090245651A1 (en) * 2008-03-28 2009-10-01 Tandent Vision Science, Inc. System and method for identifying complex tokens in an image
US20100278448A1 (en) * 2009-04-30 2010-11-04 Tandent Vision Science, Inc. Method for image modification

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6188777B1 (en) * 1997-08-01 2001-02-13 Interval Research Corporation Method and apparatus for personnel detection and tracking
US6731792B1 (en) * 1998-08-24 2004-05-04 Minolta Co., Ltd. Method and apparatus for accurately dividing a color image into proper regions, and storage media storing a program for executing such a method
US7433540B1 (en) 2002-10-25 2008-10-07 Adobe Systems Incorporated Decomposing natural image sequences
US7956889B2 (en) * 2003-06-04 2011-06-07 Model Software Corporation Video surveillance system
US7366323B1 (en) * 2004-02-19 2008-04-29 Research Foundation Of State University Of New York Hierarchical static shadow detection method
US7751639B1 (en) 2005-04-20 2010-07-06 University Of East Anglia Obtaining intrinsic images
US7995058B2 (en) * 2006-01-27 2011-08-09 Tandent Vision Science, Inc. Method and system for identifying illumination fields in an image
CN101056327B (zh) 2006-04-12 2011-03-30 富准精密工业(深圳)有限公司 移动电话及其音箱结构
US7596266B2 (en) * 2006-04-13 2009-09-29 Tandent Vision Science, Inc. Method and system for separating illumination and reflectance using a log color space
US8144978B2 (en) 2007-08-01 2012-03-27 Tandent Vision Science, Inc. System and method for identifying complex tokens in an image
US8139850B2 (en) * 2008-12-05 2012-03-20 Tandent Vision Science, Inc. Constraint generation for use in image segregation
US8139867B2 (en) 2008-12-05 2012-03-20 Tandent Vision Science, Inc. Image segregation system architecture
CN102388612B (zh) * 2009-03-13 2014-10-08 杜比实验室特许公司 高动态范围、可视动态范围和宽色域视频的分层压缩
US8320666B2 (en) * 2009-08-14 2012-11-27 Genesis Group Inc. Real-time image and video matting
US8577135B2 (en) * 2009-11-17 2013-11-05 Tandent Vision Science, Inc. System and method for detection of specularity in an image

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002051231A (ja) * 2000-05-25 2002-02-15 Eastman Kodak Co 選択的な色マッピング及びシーン依存階調尺度構成法を用いたシーンのカラー画像再現方法
US20090245651A1 (en) * 2008-03-28 2009-10-01 Tandent Vision Science, Inc. System and method for identifying complex tokens in an image
US20100278448A1 (en) * 2009-04-30 2010-11-04 Tandent Vision Science, Inc. Method for image modification

Also Published As

Publication number Publication date
EP2638508A1 (en) 2013-09-18
US20120114232A1 (en) 2012-05-10
KR20140023877A (ko) 2014-02-27
WO2012064416A1 (en) 2012-05-18
EP2638508B1 (en) 2021-07-07
EP2638508A4 (en) 2018-01-03
US8542917B2 (en) 2013-09-24

Similar Documents

Publication Publication Date Title
KR101913612B1 (ko) 이미지 내의 복합 토큰들을 식별하기 위한 시스템 및 방법
US8577150B2 (en) System and method for removing specularity from an image
US8559714B2 (en) Post processing for improved generation of intrinsic images
RU2581567C2 (ru) Система и способ для сжатия сигнала цифрового изображения с использованием истинных изображений
JP5914688B2 (ja) デジタル画像に関する色解析
US8983183B2 (en) Spatially varying log-chromaticity normals for use in an image process
US20130342694A1 (en) Method and system for use of intrinsic images in an automotive driver-vehicle-assistance device
US8913829B2 (en) Automatic processing scale estimation for use in an image process
US8428352B1 (en) Post processing for improved generation of intrinsic images
US8437545B1 (en) System and method for digital image signal compression using intrinsic images
JP5860970B2 (ja) 固有画像の生成を改良するための後処理
US8655099B2 (en) Relationship maintenance in an image process
US8842907B2 (en) Method for performing a multi-clustering merge for use in an image process
US8849018B2 (en) Log-chromaticity clustering pipeline for use in an image process
US8811732B2 (en) Weighted entropy minimization for optimizing a log-chromaticity normal for use in an image process
US8879836B2 (en) System and method for identifying complex tokens in an image
WO2022031278A1 (en) Analyzing image data

Legal Events

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