KR102386444B1 - 이미지 심도 결정 방법 및 생체 식별 방법, 회로, 디바이스, 및 매체 - Google Patents
이미지 심도 결정 방법 및 생체 식별 방법, 회로, 디바이스, 및 매체 Download PDFInfo
- Publication number
- KR102386444B1 KR102386444B1 KR1020210054725A KR20210054725A KR102386444B1 KR 102386444 B1 KR102386444 B1 KR 102386444B1 KR 1020210054725 A KR1020210054725 A KR 1020210054725A KR 20210054725 A KR20210054725 A KR 20210054725A KR 102386444 B1 KR102386444 B1 KR 102386444B1
- Authority
- KR
- South Korea
- Prior art keywords
- camera
- straight line
- depth
- determining
- coordinates
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/40—Spoof detection, e.g. liveness detection
- G06V40/45—Detection of the body part being alive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Oral & Maxillofacial Surgery (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Measurement Of Optical Distance (AREA)
Abstract
본 발명은 이미지 심도 결정 방법 및 생체 식별 방법, 회로, 디바이스, 및 매체를 제공한다. 이미지 심도 결정 방법은 피사체 상의 물점과 연관된 특징점 쌍의 픽셀 좌표들을 획득하는 단계, 제1 픽셀 좌표 및 제1 카메라의 내인성 파라미터들에 기초하여 제1 카메라의 제1 카메라 좌표계의 원점을 통과하는 제1 직선을 결정하는 단계, 제2 픽셀 좌표 및 제2 카메라의 내인성 파라미터들에 기초하여 제2 카메라의 제2 카메라 좌표계의 원점을 통과하는 제2 직선을 결정하는 단계, 및 제1 직선, 제2 직선, 및 제1 카메라와 제2 카메라 사이의 상대 위치 관계를 기술하는 외인성 파라미터들에 기초하여 물점의 심도를 결정하는 단계를 포함한다.
Description
본 발명은 이미지 처리 기술 분야에 관한 것으로, 특히 이미지 심도(depth) 결정 방법 및 생체 식별 방법, 회로, 디바이스, 및 매체에 관한 것이다.
씬(scene)의 심도 정보는 보통 2 가지 방식으로 획득된다. 한 가지 방식은 레이저 측거(laser ranging)와 같은 수단을 사용한 액티브 측거 솔루션이고, 다른 방식은 카메라 기반의 스테레오 비전 솔루션이다. 카메라 기반의 스테레오 비전 솔루션에서는, 동일한 씬의 상이한 관점의 2 개의 이미지에서 각각의 매칭 픽셀 쌍(pair of matching pixels) 사이의 디스패리티를 획득함으로써, 디스패리티 맵(disparity map)이 획득되며, 다음으로 디스패리티 맵을 기초로 씬의 심도 정보가 획득된다. 또한, 인공 신경망의 대두에 따라, 인공 신경망을 기초로 한 많은 심도 결정 방법이 출현하고 있다. 비전 솔루션과 인공 신경망 솔루션 양자 모두는 보통 풀 이미지(full image) 또는 큰 이미지 영역의 이미지 데이터의 연산을 기초로 한다.
본 섹션에 기재된 방법들은 반드시 이전에 구상되었거나 채용된 방법들은 아니다. 달리 명시적으로 나타내지 않는 한, 본 섹션에 기재된 방법들 중 어느 것도 단지 본 섹션에 포함되어 있다는 이유만으로 선행 기술로 간주된다고 가정해서는 안 된다. 마찬가지로, 달리 명시적으로 나타내지 않는 한 본 섹션에서 언급된 문제는 모든 종래 기술에서 보편적으로 인식되는 것으로 간주되어서는 안 된다.
본 발명의 양태에 따르면, 이미지 심도 결정 방법이 제공된다. 이미지 심도 결정 방법은: 피사체 상의 물점(object point)과 연관된 특징점 쌍(feature point pair)의 픽셀 좌표들을 획득하는 단계 - 특징점 쌍은 물점에 대응하는 제1 이미지의 제1 픽셀 및 물점에 대응하는 제2 이미지의 제2 픽셀을 포함하고, 제1 이미지는 피사체에 대해 제1 카메라에 의해 캡처된 이미지이고 제2 이미지는 피사체에 대해 제2 카메라에 의해 캡처된 이미지이며, 픽셀 좌표들은 제1 이미지의 제1 픽셀의 제1 픽셀 좌표 및 제2 이미지의 제2 픽셀의 제2 픽셀 좌표를 포함함 -; 제1 픽셀 좌표 및 제1 카메라의 내인성 파라미터들(intrinsic parameters)에 기초하여 제1 카메라의 제1 카메라 좌표계의 원점을 통과하는 제1 직선 - 제1 카메라 좌표계에서 물점의 제1 좌표 표현은 제1 직선 상에 위치됨 - 을 결정하는 단계; 제2 픽셀 좌표 및 제2 카메라의 내인성 파라미터들에 기초하여 제2 카메라의 제2 카메라 좌표계의 원점을 통과하는 제2 직선 - 제2 카메라 좌표계에서 물점의 제2 좌표 표현은 제2 직선 상에 위치됨 - 을 결정하는 단계; 및 제1 직선, 제2 직선, 및 제1 카메라와 제2 카메라 사이의 상대 위치 관계를 기술하는 외인성 파라미터들(extrinsic parameters)에 기초하여 물점의 심도를 결정하는 단계를 포함한다.
본 발명의 다른 양태에 따르면, 칩 회로가 제공되며, 칩 회로는 전술한 이미지 심도 결정 방법의 단계들을 수행하도록 구성된 회로 유닛들을 포함한다.
본 발명의 다른 양태에 따르면, 이미지 심도 결정 장치가 제공되며, 본 장치는 전술한 바와 같은 회로 유닛을 포함한다.
본 발명의 다른 양태에 따르면, 컴퓨팅 디바이스가 제공되며, 컴퓨팅 디바이스는 하나 이상의 프로세서 및 메모리를 포함한다. 메모리는 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서로 하여금 전술한 바와 같은 방법을 수행하게 하는 명령어들을 포함하는 프로그램을 저장한다.
본 발명의 다른 양태에 따르면, 하나 이상의 비일시적 컴퓨터 가독 매체가 제공되며, 이는 컴퓨팅 디바이스의 하나 이상의 프로세서에 의해 실행될 때 컴퓨팅 디바이스로 하여금 전술한 바와 같은 방법을 수행하게 하는 명령어들을 포함하는 프로그램을 저장한다.
본 발명의 다른 양태에 따르면, 생체 식별 방법이 제공된다. 생체 식별 방법은: 피사체 상의 복수의 물점과 연관된 복수의 특징점 쌍 - 각 특징점 쌍의 제1 픽셀은 제1 이미지의 안면 키포인트(key-point)이고 각 특징점 쌍의 제2 픽셀은 제2 이미지의 안면 키포인트임 - 각각에 대해, 전술한 바와 같은 이미지 심도 결정 방법을 수행함으로써 복수의 물점의 각각의 심도를 결정하는 단계; 및 복수의 물점의 각각의 심도에 기초하여 피사체가 생체인지를 식별하는 단계를 포함한다.
본 발명의 추가 특징들 및 이점들은 첨부 도면들을 참조하여 아래에서 설명되는 예시적인 실시예들로부터 분명해질 것이다.
도면들은 실시예들을 예시적으로 도시하고 명세서의 일부를 형성하며, 명세서의 기재된 설명과 함께 실시예들의 예시적인 구현을 설명하는 데 이용된다. 도시된 실시예들은 단지 예시의 목적을 위한 것으로 청구범위를 제한하지 않는다. 도면 전체를 통해서, 유사한 참조 부호들은 유사하지만 반드시 동일하지는 않은 요소들을 나타낸다.
도 1은 카메라와 연관된 카메라 이미징 모델을 나타내는 개략도이다.
도 2는 본 발명의 예시적인 실시예에 따른 이미지 심도 결정 방법을 나타내는 플로차트이다.
도 3은 본 발명의 예시적인 실시예에 따른 도 2의 이미지 심도 결정 방법을 위한 데이터 준비 프로세스를 나타내는 플로차트이다.
도 4는 본 발명의 예시적인 실시예에 따른 도 2의 방법에서 물점(object point)의 심도를 결정하는 단계의 예시적인 동작들을 나타내는 플로차트이다.
도 5는 본 발명의 예시적인 실시예에 따른 도 4의 동작들에서 제1 직선과 제2 직선에 기초하여 물점의 심도를 결정하는 단계의 예시적인 동작들을 나타내는 플로차트이다.
도 6은 제1 카메라 좌표계에서 제1 직선과 제2 직선이 비동일 평면에 있음을 나타내는 개략도이다.
도 7은 제1 카메라 좌표계에서 제1 직선과 제2 직선이 동일 평면에 있음을 나타내는 개략도이다.
도 8은 본 발명의 예시적인 실시예에 따른 이미지 심도 결정 장치를 나타내는 구조 블록도이다.
도 9는 본 발명의 예시적인 실시예에 따른 컴퓨팅 디바이스를 나타내는 구조 블록도이다.
도 10은 본 발명의 예시적인 실시예에 따른 생체 식별 방법을 나타내는 플로차트이다.
도 11은 본 발명의 예시적인 실시예에 따른 도 10의 방법에서 피사체(subject)가 생체인지를 식별하는 단계의 예시적인 솔루션을 나타내는 개략도이다.
도 1은 카메라와 연관된 카메라 이미징 모델을 나타내는 개략도이다.
도 2는 본 발명의 예시적인 실시예에 따른 이미지 심도 결정 방법을 나타내는 플로차트이다.
도 3은 본 발명의 예시적인 실시예에 따른 도 2의 이미지 심도 결정 방법을 위한 데이터 준비 프로세스를 나타내는 플로차트이다.
도 4는 본 발명의 예시적인 실시예에 따른 도 2의 방법에서 물점(object point)의 심도를 결정하는 단계의 예시적인 동작들을 나타내는 플로차트이다.
도 5는 본 발명의 예시적인 실시예에 따른 도 4의 동작들에서 제1 직선과 제2 직선에 기초하여 물점의 심도를 결정하는 단계의 예시적인 동작들을 나타내는 플로차트이다.
도 6은 제1 카메라 좌표계에서 제1 직선과 제2 직선이 비동일 평면에 있음을 나타내는 개략도이다.
도 7은 제1 카메라 좌표계에서 제1 직선과 제2 직선이 동일 평면에 있음을 나타내는 개략도이다.
도 8은 본 발명의 예시적인 실시예에 따른 이미지 심도 결정 장치를 나타내는 구조 블록도이다.
도 9는 본 발명의 예시적인 실시예에 따른 컴퓨팅 디바이스를 나타내는 구조 블록도이다.
도 10은 본 발명의 예시적인 실시예에 따른 생체 식별 방법을 나타내는 플로차트이다.
도 11은 본 발명의 예시적인 실시예에 따른 도 10의 방법에서 피사체(subject)가 생체인지를 식별하는 단계의 예시적인 솔루션을 나타내는 개략도이다.
본 발명에서는 달리 언급되지 않는 한, 다양한 요소를 기술하는 데 사용되는 "제1", "제2" 등의 용어는 이들 요소의 위치, 시간, 또는 중요도의 관계를 제한하기 위한 것이 아니라, 단지 하나의 컴포넌트를 다른 컴포넌트와 구별하기 위한 것이다. 몇몇 예에서, 제1 요소와 제2 요소는 요소의 동일한 인스턴스(instance)를 지칭할 수도 있고, 몇몇 경우에는, 문맥적인 설명에 기초하여, 제1 요소와 제2 요소는 또한 상이한 인스턴스들을 지칭할 수도 있다.
본 발명에서 다양한 예들의 설명에 사용되는 용어들은 단지 특정 예들을 설명하는 것을 목적으로 하며, 한정하고자 함이 아니다. 요소의 개수가 구체적으로 정의되지 않은 경우, 문맥에서 달리 명시적으로 나타내지 않는 한 하나 이상일 수 있다. 또한, 본 발명에서 사용되는 "및/또는"이라는 용어는 나열된 항목들의 임의의 및 모든 가능한 조합을 포함한다.
씬(scene)의 심도를 획득하는 관련 기술에서는, 보통 풀 이미지(full image) 또는 큰 이미지 영역의 이미지 데이터에 대해 (예를 들면, 에피폴라 수정(epipolar rectification) 및 왜곡 수정을 포함할 수 있는) 연산들이 수행되어야 한다. 이는 비교적 높은 계산상의 복잡도, 및 그에 따라 비교적 낮은 처리 효율 또는 비교적 높은 컴퓨팅 능력 요건을 초래한다.
이하의 상세한 설명에서 명확히 알 수 있듯이, 본 발명의 실시예에 따른 이미지 심도 결정 방법은 씬의 심도를 결정하기 위해 (풀 이미지 또는 이미지 영역의 데이터 대신에) 이미지 내의 특징점 쌍(feature point pair)을 사용할 수 있다. 풀 이미지 또는 큰 이미지 영역의 이미지 데이터에 대해 연산들이 수행되어야 하는 관련 기술과 비교하여, 이는 컴퓨팅 분량을 저감시킬 수 있으며, 그에 의해 처리 효율을 향상시키거나 컴퓨팅 능력 요건을 낮추는 데 도움을 줄 수 있다.
본 발명의 실시예들의 보다 나은 이해를 위해, 카메라와 연관된 카메라 이미징 모델이 아래에서 먼저 설명된다.
도 1은 카메라와 연관된 카메라 이미징 모델(100)을 나타내는 개략도이다. 도 1을 참조하면, 3 차원 세계의 (도면에서 점 P(Xw, Yw, Zw)로 나타낸) 물체가 카메라 이미징 모델(100)을 통해 (도면에서 픽셀 P(x, y)로 나타낸) 2 차원 이미지로 변경된다. 카메라 이미징 모델(100)은 4 개의 좌표계: 세계(world) 좌표계, 카메라 좌표계, 이미지 물리 좌표계, 및 이미지 픽셀 좌표계와 관련될 수 있다.
세계 좌표계는 실세계에서 물체의 좌표를 나타내는 기준계(reference system: 기준 시스템)이며 길이 단위(예를 들면, 밀리미터)로 측정된다. 카메라 좌표계는 원점이 광학 중심인 기준계이다. 카메라 좌표계는 각각 이미지의 x 및 y 방향에 평행한 Xc 및 Yc 축과 광축에 평행한 Zc 축을 갖는데, 여기서 Xc, Yc, 및 Zc는 서로 수직이며 길이 단위로 측정된다. 이미지 물리 좌표계(이미지 좌표계로도 지칭됨)는 원점이 광축과 이미지 평면의 교점인 기준계이다. 이미지 좌표계는 도면에 나타낸 바와 같이 x 및 y 방향을 가지며 길이 단위로 측정된다. 이미지 픽셀 좌표계(픽셀 좌표계로도 지칭됨)는 원점이 이미지의 정점(vertex)인 기준계이다. 픽셀 좌표계는 x 및 y 방향에 평행한 u 및 v 방향을 가지며, 픽셀 단위로 측정된다. 전형적으로, 세계 좌표계는 카메라의 외인성 파라미터들(extrinsic parameters)을 기초로 카메라 좌표계로 변환될 수 있고, 카메라 좌표계는 카메라의 (보통 초점 거리 대각 행렬 및 픽셀 변환 행렬을 포함하는) 내인성 파라미터들(intrinsic parameters)을 기초로 이미지 픽셀 좌표계로 변환될 수 있다.
2 대의 카메라를 포함하는 스테레오 비전 시스템의 경우, 도 1에 도시된 카메라 이미징 모델(100)은 2 대의 카메라 중 어느 하나의 이미징 원리를 나타낼 수 있다. 이하, 스테레오 비전 시스템의 2 대의 카메라 중 하나는 제1 카메라(C0)로 지칭되고, 다른 하나는 제2 카메라(C1)로 지칭된다.
도 2는 본 발명의 예시적인 실시예에 따른 이미지 심도 결정 방법(200)을 나타내는 플로차트이다. 도 2를 참조하면, 이미지 심도 결정 방법(200)은: 단계 210: 피사체 상의 물점(object point)과 연관된 특징점 쌍(feature point pair)의 픽셀 좌표들을 획득하는 단계 - 특징점 쌍은 물점에 대응하는 제1 이미지의 제1 픽셀 및 물점에 대응하는 제2 이미지의 제2 픽셀을 포함하고, 제1 이미지는 피사체에 대해 제1 카메라에 의해 캡처된 이미지이고 제2 이미지는 피사체에 대해 제2 카메라에 의해 캡처된 이미지이며, 픽셀 좌표들은 제1 이미지의 제1 픽셀의 제1 픽셀 좌표 및 제2 이미지의 제2 픽셀의 제2 픽셀 좌표를 포함함 -; 단계 230: 제1 픽셀 좌표 및 제1 카메라의 내인성 파라미터들에 기초하여 제1 카메라의 제1 카메라 좌표계의 원점을 통과하는 제1 직선 - 제1 카메라 좌표계에서 물점의 제1 좌표 표현은 제1 직선 상에 위치됨 - 을 결정하는 단계; 단계 240: 제2 픽셀 좌표 및 제2 카메라의 내인성 파라미터들에 기초하여 제2 카메라의 제2 카메라 좌표계의 원점을 통과하는 제2 직선 - 제2 카메라 좌표계에서 물점의 제2 좌표 표현은 제2 직선 상에 위치됨 - 을 결정하는 단계; 및 단계 250: 제1 직선, 제2 직선, 및 제1 카메라와 제2 카메라 사이의 상대 위치 관계를 기술하는 외인성 파라미터들에 기초하여 물점의 심도를 결정하는 단계를 포함한다.
상기 방법(200)은 도 1 및 도 2를 참조하여 아래에서 상세히 설명된다.
단계 210에서는, 피사체 상의 물점(P)과 연관된 특징점 쌍의 제1 픽셀 좌표 P0(x0, y0) 및 제2 픽셀 좌표 P1(x1, y1)이 획득된다. 저장되거나 캐시에 기억된 제1 픽셀 좌표 P0(x0, y0) 및 제2 픽셀 좌표 P1(x1, y1)은 적절한 (로컬 및/또는 원격) 스토리지 장치로부터 읽어들일 수 있다. 혹은, 제1 픽셀 좌표 P0(x0, y0) 및 제2 픽셀 좌표 P1(x1, y1)은 유선 또는 무선 통신 링크를 통해 외부 디바이스로부터 수신될 수도 있다. 본 발명에 의해 특허청구된 주제의 범위는 이 점과 관련하여 제한되지 않는다.
몇몇 실시예에서는, 단계 210 전에, 도 3과 관련하여 설명되는 데이터 준비 프로세스(300)를 수행함으로써 제1 픽셀 좌표 P0(x0, y0) 및 제2 픽셀 좌표 P1(x1, y1)이 획득될 수 있다. 도 3은 본 발명의 예시적인 실시예에 따른 이미지 심도 결정을 위한 데이터 준비 프로세스(300)를 나타내는 플로차트이다. 도 3을 참조하면, 프로세스(300)는 여러 단계를 포함할 수 있다.
단계 310에서, 제1 카메라(C0)와 제2 카메라(C1)의 캘리브레이션이 수행된다. 제1 카메라(C0)와 제2 카메라(C1) 각각의 내인성 파라미터들 및 외인성 파라미터들이 예를 들면, Zhang의 캘리브레이션 방법을 사용하여 캘리브레이션될 수 있으나, 다른 캘리브레이션 방법들도 또한 가능하다. 제1 카메라(C0)의 단일 렌즈 파라미터들은 {K0, R0, T0}로 표기되는데, 여기서 K0는 제1 카메라(C0)의 내인성 파라미터이고, R0 및 T0는 제1 카메라(C0)의 외인성 파라미터들이다. 보다 구체적으로, R0 및 T0는 각각 세계 좌표계로부터 제1 카메라(C0)의 카메라 좌표계로의 회전 행렬 및 병진이동 벡터이고, K0는 제1 카메라(C0)의 카메라 좌표계로부터 제1 카메라(C0)의 픽셀 좌표계로의 변환 행렬이다. 제2 카메라(C1)의 단일 렌즈 파라미터들은 {K1, R1, T1}으로 표기되는데, 여기서 K1은 제2 카메라(C1)의 내인성 파라미터이고, R1 및 T1은 제2 카메라(C1)의 외인성 파라미터들이다. 보다 구체적으로, R1 및 T1은 각각 세계 좌표계로부터 제2 카메라(C1)의 카메라 좌표계로의 회전 행렬 및 병진이동 벡터이고, K1은 제2 카메라(C1)의 카메라 좌표계로부터 제2 카메라(C1)의 픽셀 좌표계로의 변환 행렬이다.
예에서, 인데, 여기서 , 및 , f0는 제1 카메라(C0)의 초점 거리이고, dx0는 x 방향으로의 제1 카메라(C0)의 단일 픽셀의 치수이며, dy0는 y 방향으로의 제1 카메라(C0)의 단일 픽셀의 치수이고, u0 및 v0 는 각각 x 방향 및 y 방향에서의 제1 카메라(C0)의 픽셀 좌표계의 원점에 대한 제1 카메라(C0)의 이미지 좌표계의 원점의 (픽셀 단위로 측정되는) 오프셋을 나타낸다. 유사하게, 이 예에서, 인데, 여기서 , 및 , f1은 제2 카메라(C1)의 초점 거리이고, dx1은 x 방향으로의 제2 카메라(C1)의 단일 픽셀의 치수이며, dy1은 y 방향으로의 제2 카메라(C1)의 단일 픽셀의 치수이고, u1 및 v1 은 각각 x 방향 및 y 방향에서의 제2 카메라(C1)의 픽셀 좌표계의 원점에 대한 제2 카메라(C1)의 이미지 좌표계의 원점의 (픽셀 단위로 측정되는) 오프셋을 나타낸다.
제1 카메라(C0)와 제2 카메라(C1)는 스테레오 비전 시스템을 형성하도록 적절히 배치될 수 있음을 이해할 것이다. 몇몇 실시예에서, 제1 카메라(C0)와 제2 카메라(C1)는 양안 카메라(binocular camera)를 형성하기 위해 수평으로 배치되거나 수직으로 배치될 수 있으나, 이것이 유일한 배치는 아니다. 몇몇 실시예에서, 제1 카메라(C0)와 제2 카메라(C1)는 전형적인 양안 카메라의 구성보다 서로 더 멀리 떨어져 배치될 수도 있다.
제1 카메라(C0)와 제2 카메라(C1)가 배치되고 난 후에, 제1 카메라(C0)와 제2 카메라(C1) 사이의 상대 위치 관계를 기술하는 외인성 파라미터들이 추가로 캘리브레이션되어 (R, T)로 표기될 수 있다. 제1 카메라(C0)의 단일 렌즈 파라미터들 {K0, R0, T0} 및 제2 카메라(C1)의 단일 렌즈 파라미터들 {K1, R1, T1}을 사용하여, 세계 좌표계에서의 좌표 Xw는 제1 카메라(C0)의 카메라 좌표계에서는 와 같이 표현될 수 있고, 제2 카메라(C1)의 카메라 좌표계에서는 와 같이 표현될 수 있다. Xw를 소거하면, 가 얻어진다. 및 를 정의하여, 제1 카메라(C0)와 제2 카메라(C1) 사이의 회전 행렬 R 및 병진이동 벡터 T를 구한다. 외인성 파라미터들(R, T)은 제1 카메라(C0)와 제2 카메라(C1) 사이의 상대 위치 관계를 기술하므로, 외인성 파라미터들(R, T)은 제2 카메라(C1)의 카메라 좌표계의 좌표들을 제1 카메라(C0)의 카메라 좌표계의 좌표들로 변환하는 데 사용될 수 있다.
제1 카메라(C0)와 제2 카메라(C1)의 내인성 및 외인성 파라미터들이 주어지면, 심도는 2 대의 카메라의 카메라 좌표계에서의 두 직선에 따라 결정될 수 있다. 이는 제1 카메라(C0)와 제2 카메라(C1)의 모델에 제약을 가하지 않을 수 있다. 즉, 다양한 실시예에서 제1 카메라(C0)와 제2 카메라(C1)는 상이한 모델의 카메라일 수 있다. 이는 이용 가능한 카메라의 소스를 확장하며, 그에 의해 잠재적인 시스템 호환성을 제공하고 비용을 절감한다.
단계 320에서, 제1 카메라(C0)와 제2 카메라(C1)는 동일한 씬을 캡처하는데 사용된다. 제1 카메라(C0)와 제2 카메라(C1)에 의해 획득된 이미지들은 각각 제1 이미지(IMG0) 및 제2 이미지(IMG1)로 표기된다. 몇몇 실시예에서, 제1 카메라(C0)와 제2 카메라(C1)는 IMG0 및 IMG1을 획득하기 위해 동시에 씬을 캡처한다. 몇몇 실시예에서, 제1 카메라(C0)와 제2 카메라(C1)는 기본적으로 동시에 씬을 캡처함으로써 IMG0 및 IMG1을 획득할 수 있다. 이 맥락에서, "기본적으로 동시에"라는 문구는 두 시점이 예를 들면, 1 초, 0.5 초, 0.1 초, 또는 그 정도의 차를 가짐을 의미할 수 있다. 이는 피사체가 정지해 있거나 정지 상태로 유지되어야 하는 씬에서와 같은 몇몇 적용 시나리오에서 실행 가능할 수 있다.
획득된 제1 이미지(IMG0)와 제2 이미지(IMG1)는 씬의 피사체에 대응하는 픽셀들(예를 들면, 도 1에 도시된 점 P, 이하에서는 물점으로 지칭됨)을 갖게 된다. 실세계의 물체는 무수한 물점에 의해 형성되는 것으로 간주될 수 있으며, 본 명세서에서는 물점의 실제 크기를 제한하는 것을 의도하지 않음을 이해할 것이다. 이 맥락에서, 설명의 목적상, 제1 이미지(IMG0)와 제2 이미지(IMG1)에서의 물점(P)의 표현은 두 이미지에서의 각 픽셀들에 대응한다.
단계 330에서는, 제1 이미지(IMG0)와 제2 이미지(IMG1)로부터 특징점들이 검촐되며, 적어도 하나의 특징점 쌍(feature point pair)을 획득하기 위해 특징 매칭이 수행된다. 각 특징점 쌍은 하나의 이미지 특징(예를 들면, 코너점, 에지점, 스폿 등)을 나타내는 제1 이미지(IMG0)의 제1 픽셀 및 동일한 이미지 특징을 나타내는 제2 이미지(IMG1)의 제2 픽셀을 포함한다. 도 1에 도시된 카메라 이미징 모델(100)로부터 제1 픽셀은 실세계의 물점(예를 들면, 물점(P))의 제1 이미지(IMG0)에서의 표현이고 제2 픽셀은 제2 이미지(IMG1)에서의 동일한 물점의 표현이라는 것을 알 수 있다.
제1 이미지(IMG0)와 제2 이미지(IMG1)에서의 특징점들의 검출은 임의의 알려진 또는 장래의 특징점 검출 알고리즘을 사용하여 완료될 수 있다. 전형적인 특징점 검출 알고리즘들은 예를 들면, SIFT(scale invariant feature transform), SURF(speeded up robust features), FAST(features from accelerated segment test), BRIEF(binary robust independent elementary features), 및 ORB(oriented FAST and rotated BRIEF)를 포함할 수 있다. 제1 이미지(IMG0)와 제2 이미지(IMG1)의 특징점들이 획득된 후, 특징점들의 매칭을 수행하기 위해 임의의 알려진 또는 장래의 특징 매칭 알고리즘이 사용되어, 특징점 쌍을 획득할 수 있다. 전형적인 특징 매칭 알고리즘들은 브루트 포스 매처(brute-force matcher) 및 FLANN 기반의 매처와 같은 방법들을 포함할 수 있다. 매칭 정확도를 향상시키기 위해, "해밍 거리(Hamming distance)가 최소 거리의 2 배 미만" 기준, 크로스 매칭, KNN(K-nearest neighbor) 매칭, 및 랜덤 샘플 컨센서스(RANSAC)와 같은, 다른 기준 또는 알고리즘들도 또한 부정확하게 매칭된 특징점 쌍들을 필터링하는 데 조합하여 사용될 수 있다. 본 발명에서 특허청구된 주제를 흐리는 것을 회피하기 위해, 이들 알고리즘은 여기서는 상세히 설명되지 않는다.
프로세스(300)에 의해, 세계 좌표계의 물점(P)의 제1 이미지(IMG0)의 제1 픽셀과 그 제1 픽셀 좌표 P0(x0, y0), 및 제2 이미지(IMG1)의 제2 픽셀과 그 제2 픽셀 좌표 P1(x1, y1)이 획득될 수 있다. 획득된 픽셀 좌표 P0(x0, y0) 및 P1(x1, y1)은 후속 사용을 위해 적절한(예를 들면, 로컬 및/또는 원격) 스토리지 장치에 저장되거나 캐시에 기억될 수 있다.
다음으로, 프로세스(300)는 도 3에 도시된 바와 같이 노드 A로 진행한다. 노드 A는 어떠한 실제 단계 또는 동작을 나타내기 위한 것이 아니라 프로세스(300)와 가능한 후속 처리 단계들 사이의 "인터페이스"로서 제공된다는 것을 이해할 것이다.
프로세스(300)는 도 2의 단계 210 이전에 수행되는 것으로 도 2 및 도 3에 도시되어 있으나, 대체 실시예에서는 프로세스(300)의 단계들의 전부 또는 일부가 단계 210에서 완료될 수 있다는 것도 또한 이해될 것이다. 예를 들어, 단계 210은 단계 330의 동작을 포함할 수 있다. 몇몇 실시예에서, 단계 210은 단계 320 및 330의 동작들을 포함할 수 있다. 몇몇 실시예에서, 단계 210은 단계 310의 동작을 더 포함할 수 있다.
이제 도 2를 다시 참조하면, 방법(200)은 옵션으로서 제1 픽셀 좌표 P0(x0, y0) 및 제2 픽셀 좌표 P1(x1, y1)에 대해 왜곡 제거(undistortion)가 수행되는 단계 220을 포함할 수 있다. 이미지 왜곡은 전형적으로 렌즈 제조 정밀도 및 조립 프로세스에 있어서의 편차로부터 발생하는데, 이는 원본 이미지를 왜곡시킨다. 각 렌즈의 왜곡 계수는 캘리브레이션을 통해 획득될 수 있다. 알려진 바와 같이, 전형적인 왜곡 수정 프로세스는 다음과 같다: (1) 내인성 행렬을 사용하여 소스 이미지의 픽셀 좌표계를 카메라 좌표계로 변환하고; (2) 왜곡 계수를 사용하여 이미지의 카메라 좌표들을 수정하며; 및 (3) 수정 후에, 내인성 행렬을 사용하고 소스 이미지 좌표들의 픽셀 값들에 따라 새로운 이미지 좌표들에 (예를 들면, 보간에 의해) 값들을 할당함으로써, 카메라 좌표계는 픽셀 좌표계로 변환된다.
종래의 심도 결정 솔루션은 풀 이미지 또는 이미지 영역에 대해 왜곡 수정이 수행되는 것을 요한다. 대조적으로, 방법(200)은 특징점 쌍에 기초하여 심도를 결정하는데, 이는 왜곡 제거가 픽셀 좌표 P0(x0, y0) 및 P1(x1, y1)에 대해서만 수행될 수 있음을 의미한다. 이는 컴퓨팅 분량을 저감시키는 데 도움을 주며, 그에 의해 심도 결정의 효율을 향상시킨다. 이해를 용이하게 하기 위해, 왜곡이 제거된 P0 및 P1도 아래에서는 여전히 P0(x0, y0) 및 P1(x1, y1)으로 표기된다.
몇몇 실시예에서, 방법(200)은 왜곡 수정없이 단계 210에서 단계 230으로 바로 진행할 수 있기 때문에 단계 220은 옵션이라는 것을 이해할 것이다. 단계 220이 반드시 단계 210과 단계 230 사이에서 수행되는 것은 아니라는 것도 또한 이해할 것이다. 예를 들어, 단계 220은 도 3의 단계 330 이전에 수행될 수도 있다. 또한, 다양한 실시예에서, 제1 카메라(C0)에 의해 캡처된 제1 이미지(IMG0) 및 제2 카메라(C1)에 의해 캡처된 제2 이미지(IMG1)에 대해서는 (병렬 수정(parallel rectification)으로도 지칭되는) 에피폴라 수정이 수행되지 않을 수 있다. 이는 이미지 매칭을 통해 특징점 쌍이 획득되고 난 후에, 방법(200)에서는 픽셀 값들의 처리가 필요하지 않으며, 따라서 엄밀하게 수정된 2 개의 이미지가 필요하지 않기 때문이다. 이는 계산상의 복잡도를 줄이고 처리 효율을 향상시키는 데 도움을 준다.
단계 230에서는, 제1 카메라(C0)의 카메라 좌표계(이하, 제 1 카메라 좌표계로 지칭됨)의 원점을 통과하는 제1 직선(L0)이 제1 픽셀 좌표 P0(x0, y0) 및 제1 카메라(C0)의 내인성 파라미터(K0)에 기초하여 결정된다. 도 1에 도시된 카메라 이미징 모델(100)에 따르면, (미지의 양이며, 이하에서는 제1 좌표 표현으로도 지칭되는) 제1 카메라 좌표계에서의 물점(P)의 표현은 제1 직선(L0) 상에 위치된다. 제1 카메라(C0)의 내인성 파라미터(K0)를 사용하여, 제1 좌표 표현 PC0(PC0x, PC0y, PC0z)과 제1 픽셀 좌표 P0(x0, y0) 사이의 관계는 다음과 같이 표현될 수 있다:
제1 카메라 좌표계의 원점과 제1 좌표 표현 PC0는 제1 직선(L0)을 정의할 수 있는데, 그 방향 벡터는 이다. 다시 말하면, 제1 이미지의 제1 픽셀(P0)에 대응하는 물점은 제1 직선(L0) 상에 위치된다. 또한, 수학식 1에 따르면, 제1 좌표 표현 PC0(PC0x, PC0y, PC0z)의 좌표 성분 PC0x 및 PC0y는 모두 좌표 성분 PC0z를 사용하여 표현될 수 있다.
단계 240에서는, 제2 카메라(C1)의 카메라 좌표계(이하, 제2 카메라 좌표계로 지칭됨)의 원점을 통과하는 제2 직선(L1)이 제2 픽셀 좌표 P1(x1, y1) 및 제2 카메라(C1)의 내인성 파라미터(K1)에 기초하여 결정된다. 도 1에 도시된 카메라 이미징 모델(100)에 따르면, (미지의 양이며, 이하에서는 제2 좌표 표현으로도 지칭되는) 제2 카메라 좌표계에서의 물점(P)의 표현은 제2 직선(L1) 상에 위치된다. 제2 카메라(C1)의 내인성 파라미터(K1)를 사용하여, 제2 좌표 표현 PC1(PC1x, PC1y, PC1z)과 제2 픽셀 좌표 P1(x1, y1) 사이의 관계는 다음과 같이 표현될 수 있다:
제2 카메라 좌표계의 원점과 제2 좌표 표현 PC1(PC1x, PC1y, PC1z)은 제2 직선(L1)을 정의할 수 있다. 아래에서 설명되는 바와 같이, 제2 카메라 좌표계에서의 제2 직선(L1)의 표현은 제1 카메라 좌표계에서의 표현으로 변환될 수 있으며, 그래서 (제1 카메라 좌표계에서 표현되는) 제1 직선(L0)과 제2 직선(L1) 사이의 상대 위치 관계가 심도 결정에 사용될 수 있다. 제2 카메라 좌표계에서의 제2 직선(L1)의 표현과 제1 카메라 좌표계에서의 직선의 표현은 상이한 좌표계들이 기준으로 사용되는 것을 제외하고는 동일한 직선을 나타낸다는 것을 이해할 것이다.
단계 250에서는, 제1 직선(L0), 제2 직선(L1), 및 제1 카메라(C0)와 제2 카메라(C1) 사이의 상대 위치 관계를 기술하는 외인성 파라미터들(R, T)을 기초로 물점(P)의 심도가 결정된다. 몇몇 실시예에서, 단계 250은 도 4에 도시된 예시적인 동작들: 제2 직선 및 외인성 파라미터들에 기초하여 제1 카메라 좌표계에서의 제2 직선의 표현을 결정하는 단계 410; 및 제1 직선 및 제2 직선에 기초하여 제1 카메라 좌표계에서 물점의 심도를 결정하는 단계 420을 포함할 수 있다.
도 4를 참조하면, 단계 410에서, 제1 카메라 좌표계에서의 제2 직선(L1)의 표현은 제2 직선(L1) 및 외인성 파라미터들(R, T)에 기초하여 결정된다. 스테레오 비전 시스템에서는 계산을 용이하게 하기 위해, 두 카메라 중 하나(예를 들면, 좌측 카메라)의 카메라 좌표계가 보통 대표 좌표계로 선택되며, 대표 좌표계는 세계 좌표계와 일치한다. 여기서는, 제1 카메라(C0)의 카메라 좌표계(즉, 제1 카메라 좌표계)가 세계 좌표계로 취해지고, 심도 결정은 제1 카메라 좌표계에서 수행된다. 하지만, 상세한 설명의 서두의 문단에서 언급한 바와 같이, "제1" 및 "제2"라는 용어는 두 카메라의 위치 관계 또는 중요도 관계를 제한하려는 의도가 아니다. 전술한 바와 같이, 제2 카메라 좌표계에서 제2 카메라 좌표계의 원점과 제2 좌표 표현 PC1(PC1x, PC1y, PC1z)은 제2 직선(L1)을 정의한다. 따라서, 제1 카메라 좌표계에서의 제2 직선(L1)의 표현을 결정하기 위해, 제2 카메라 좌표계의 원점과 제2 좌표 표현 PC1(PC1x, PC1y, PC1z)은 모두 제1 카메라 좌표계의 것들로 변환될 수 있다. 구체적으로, 제2 좌표 표현 PC1(PC1x, PC1y, PC1z)은 외인성 파라미터들(R, T)을 사용하여 제1 카메라 좌표계에서의 표현 PC10(PC10x, PC10y, PC10z)(이하, 제3 좌표 표현으로 지칭됨)으로 변환된다. 변환 프로세스는 다음과 같다:
그러면, 제1 카메라 좌표계에서의 제2 직선(L1)의 표현은 제3 좌표 표현 PC10(PC10x, PC10y, PC10z) 및 제4 좌표 표현 C10(Tx, Ty, Tz)을 기초로 결정된다. 구체적으로, 제2 직선(L1)은 이제 제3 좌표 표현 PC10 및 제4 좌표 표현 C10에 의해 정의되며, 제2 직선(L1)의 방향 벡터는 이다.
단계 420에서는, 제1 직선(L0)과 제2 직선(L1)에 기초하여 제1 카메라 좌표계에서의 물점(P)의 심도가 결정된다. 몇몇 실시예에서, 단계 420은 도 5에 도시된 예시적인 동작들: 제1 직선과 제2 직선이 비동일 평면에 있다는 것에 응답하여 제1 직선과 제2 직선의 공통 수선을 결정하는 단계; 제1 직선과 공통 수선의 제1 교점의 좌표 및 제2 직선과 공통 수선의 제2 교점의 좌표를 결정하는 단계; 및 제1 교점의 좌표의 제1 심도 성분 및 제2 교점의 좌표의 제2 심도 성분에 기초하여 물점의 심도를 결정하는 단계를 포함할 수 있다.
도 5를 참조하면, 510 단계에서 제1 직선(L0)과 제2 직선(L1)이 동일 평면에 있는지가 결정된다. 몇몇 실시예에서, 이는 벡터법을 사용하여 구현될 수 있다. 알려진 바와 같이, 벡터법은 평면 기하학과 입체 기하학에서 공면성(coplanarity: 동일 평면성) 및 공선성(collinearity) 문제를 푸는 데 유용한 툴이다. 그래서, 행렬 가 구성되는데, 여기서, , 즉 제1 직선(L0)의 방향 벡터이고; , 즉 외인성 파라미터들(R, T)의 병진이동 벡터(T)이며; 및, , 즉 제2 직선(L1)의 방향 벡터이다. 다음으로, 행렬 A의 행렬식 이 0 인지가 결정된다. 이면, 제1 직선(L0)과 제2 직선(L1)이 동일 평면에 있음을 나타내고; 그렇지 않으면, 제1 직선(L0)과 제2 직선(L1)이 비동일 평면에 있음을 나타낸다. 카메라의 설치 정밀도와 같은 이유로 인해, 제1 직선(L0)과 제2 직선(L1)은 보통 비동일 평면에 있다. 하지만, 대체로서, 몇몇 이상적인 상황에서는 제1 직선(L0)과 제2 직선(L1)은 동일 평면 상에 있을 수 있다.
제1 직선(L0)과 제2 직선(L1)이 비동일 평면에 있다고 (단계 510에서) 결정되면, 프로세스는 단계 520으로 진행하는데, 여기에서 제1 직선(L0)과 제2 직선(L1)의 공통 수선이 결정되어 L2로 표기된다. 도 6은 제1 카메라 좌표계에서 비동일 평면에 있는 제1 직선(L0)과 제2 직선(L1)을 나타내는 개략도이다. 벡터 외적을 사용하여, 공통 수선(L2)의 단위 방향 벡터는 다음과 같이 계산될 수 있다:
단계 530에서는, 제1 직선(L0)과 공통 수선(L2)의 교점(이하, 제1 교점으로 지칭됨)의 좌표 및 제2 직선(L1)과 공통 수선(L2)의 교점(이하 제2 교점으로 지칭됨)의 좌표가 결정된다. 제1 교점은 X0로 표기되고, 그 좌표는 X0(X0x, X0y, X0z)이다. 제2 교점은 X1이고, 그 좌표는 X1(X1x, X1y, X1z)이다. 그러면, 다음과 같은 연립 방정식이 존재한다:
연립 방정식(수학식 5)은 다음의 공간 관계에 따라 확립된다:
(2) 두 번째 방정식은 제2 직선(L1)의 방향 벡터 가 제2 교점(X1)으로부터 제2 카메라 좌표계의 원점(보다 구체적으로는, 제2 카메라 좌표계의 원점의 제1 카메라 좌표계에서의 제4 좌표 표현 C10(Tx, Ty, Tz))을 가리키는 방향 벡터와 평행함을 나타내며; 및
단계 540에서는, 제1 교점(X0)의 좌표의 심도 성분 X0z(이하, 제1 심도 성분으로 지칭됨)와 제2 교점(X1)의 좌표의 심도 성분 X1z(이하, 제2 심도 성분으로 지칭됨)에 기초하여 물점(P)의 심도가 결정된다. 제1 카메라 좌표계는 세계 좌표계와 일치하므로, 제1 카메라 좌표계에서의 물점(P)의 제1 좌표 표현 PC0(PC0x, PC0y, PC0z)의 심도 성분 PC0z는 물점(P)의 심도로 간주될 수 있다. 그래서, 제1 교점의 좌표 X0(X0x, X0y, X0z) 및 제2 교점의 좌표 X1(X1x, X1y, X1z)이 단계 530에서 결정되었음을 기초로, 제1 심도 성분(X0z)과 제2 심도 성분(X1z)의 사전 정의된 함수 값이 산출되어 물점(P)의 심도로 사용될 수 있다.
몇몇 실시예에서, 사전 정의된 함수 값은 제1 심도 성분(X0z)과 제2 심도 성분(X1z)의 가중 평균을 포함한다. 몇몇 실시예에서, 가중 평균은 산술 평균을 포함한다. 이 경우, 물점(P)의 심도 PC0z는 다음과 같이 정의된다:
연립 방정식(수학식 5)에 따르면, 제1 교점(X0)과 제2 교점(X1)의 중심이 구해질 수 있으며: , 중심의 심도 성분은 PC0z이다. 지금까지, 물점(P)의 심도는 특징점 쌍의 픽셀 좌표 P0(x0, y0) 및 P1(x1, y1)으로부터 결정되었다.
위의 실시예에서, 수학식(수학식 6)은 심도 PC0z가 공통 수선(L2) 상에서 제1 교점(X0)과 제2 교점(X1) 사이의 중점(midpoint)에서의 심도 성분으로 정의됨을 나타낸다. 하지만, 심도 PC0z는 공통 수선(L2) 상의 다른 점에서의 심도 성분으로 정의될 수도 있다는 것을 이해할 것이다. 다른 실시예들에서는, 심도 PC0z는 임의의 다른 적절한 함수 값으로 정의될 수 있다.
다시 도 5를 참조하면, (단계 510에서) 제1 직선(L0)과 제2 직선(L1)이 동일 평면 상에 있다고 결정되면, 프로세스는 단계 550으로 진행한다. 이 경우에, 제1 직선(L0)과 제2 직선(L1)의 교점(X2)의 좌표 X2(X2x, X2y, X2z)의 심도 성분(X2z)은 물점(P)의 심도로 결정될 수 있다. 물론, 다른 실시예들도 가능하다.
도 7은 제1 카메라 좌표계에서 동일 평면에 있는 제1 직선(L0)과 제2 직선(L1)을 나타내는 개략도이다. 전술한 바와 같이, 제1 직선(L0)의 방향 벡터 와 제2 직선(L1)의 방향 벡터 는 이미 알려져 있는데, 여기서 이고, 이다. 따라서, 제1 직선(L0)과 제2 직선(L1)의 공간에서의 직선들의 연립 방정식을 풂으로써 두 직선의 교점의 좌표 X2(X2x, X2y, X2z)가 구해질 수 있다. 이렇게 푸는 과정은 입체 기하학의 단순한 문제이며, 그래서 세부 사항은 여기서는 설명하지 않는다. 교점의 좌표 X2(X2x, X2y, X2z)가 구해진 후, 교점의 좌표 X2(X2x, X2y, X2z)의 심도 성분(X2z)이 물점(P)의 심도로 사용될 수 있다.
다양한 동작들이 특정 순서로 도면에 도시되어 있으나, 이는 이들 동작이 도시된 특정 순서로 또는 순차적인 순서로 수행되어야 하는 것으로 이해되어서는 안 되며, 또한 이는 원하는 결과를 얻기 위해 도시된 모든 동작이 수행되어야 하는 것으로 이해되어서도 안 된다. 예를 들어, 단계 240은 단계 230 이전에 또는 단계 230과 동시에 수행될 수 있다. 다른 예를 들면, 단계 220은 생략될 수도 있다.
도 8은 본 발명의 예시적인 실시예에 따른 이미지 심도 결정 장치(800)를 나타내는 구조 블록도이다. 도 8을 참조하면, 이미지 심도 결정 장치(800)는 제1 카메라(C0)와 제2 카메라(C1)에 의해 캡처된 이미지들의 데이터를 기초로 씬(scene)의 심도를 결정한다. 이미지 심도 결정 장치(800)는 칩 회로(810)를 포함하고, 칩 회로는 전술한 이미지 심도 결정 방법(200) 및 그 변형의 단계들을 수행하도록 구성된 회로 유닛(812)을 포함한다.
본 명세서에서 사용되는 경우, "회로"라는 용어는 다음의 회로들: ASIC(application-specific integrated circuit: 특정 용도용 집적 회로), 전자 회로, 하나 이상의 소프트웨어 또는 펌웨어 프로그램을 실행하는 프로세서(공유, 전용, 또는 그룹) 및/또는 메모리(공유, 전용, 또는 그룹), 기능들을 제공하는 조합형 논리 회로, 및/또는 다른 적절한 하드웨어 컴포넌트들의 일부이거나 이들을 포함할 수 있다. 몇몇 실시예에서, 회로 또는 회로와 관련된 기능들은 하나 이상의 소프트웨어 또는 펌웨어 모듈에 의해 구현될 수 있다. 몇몇 실시예에서, 회로는 하드웨어에서 적어도 부분적으로 작동 가능한 논리를 포함할 수 있다. 본 명세서에 기재된 실시예들은 임의의 적절하게 구성된 하드웨어 및/또는 소프트웨어를 사용하는 시스템으로서 구현될 수 있다.
이미지 심도 결정 장치(800)는 도 8에서는 제1 카메라(C0) 및 제2 카메라(C1)로부터 분리된 것으로 도시되어 있으나, 몇몇 실시예에서는, 이미지 심도 결정 장치(800)는 제1 카메라(C0)와 제2 카메라(C1)를 포함할 수 있다.
도 9는 본 발명의 예시적인 실시예에 따른 컴퓨팅 디바이스(900)를 도시하는 구조 블록도이다. 컴퓨팅 디바이스(900)는 하나 이상의 프로세서 및 메모리를 포함할 수 있다. 메모리는 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서로 하여금 전술한 이미지 심도 결정 방법(200) 및 그 변형을 수행하게 하는 명령어들을 포함하는 프로그램을 저장한다.
도 9를 참조하여, 본 발명의 다양한 양태에 적용될 수 있는 하드웨어 디바이스의 예인 컴퓨팅 디바이스(900)가 이제 설명된다. 컴퓨팅 디바이스(900)는 처리 및/또는 컴퓨팅을 수행하도록 구성된 임의의 기계일 수 있는데, 이는 워크스테이션, 서버, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, PDA(personal digital assistant: 휴대 정보 단말), 스마트폰, 온보드 컴퓨터, 액세스 제어 시스템, 출석 체크 디바이스(attendance device), 또는 이들의 임의의 조합일 수 있으나 이들에 국한되지는 않는다. 전술한 이미지 심도 결정 장치(800)는 전체가 또는 적어도 부분적으로 컴퓨팅 디바이스(900) 또는 유사한 디바이스 또는 시스템에 의해 구현될 수 있다. 컴퓨팅 디바이스(900)는 여러 유형의 컴퓨팅 플랫폼의 예를 나타내지만, 컴퓨팅 디바이스(900)는 도 9에 도시된 것보다 더 많거나 더 적은 수의 요소 및/또는 다른 요소 배치를 포함할 수 있으며, 이들 측면에서 특허청구된 주제의 범위를 제한하지는 않는다.
몇몇 실시예에서, 컴퓨팅 디바이스(900)는 (가능케는, 하나 이상의 인터페이스를 통해) 버스(902)와 연결되거나 버스(902)와 통신하는 요소들를 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스(900)는 버스(902), 하나 이상의 프로세서(904), 하나 이상의 입력 디바이스(906), 및 하나 이상의 출력 디바이스(908)를 포함할 수 있다. 하나 이상의 프로세서(904)는 임의의 유형의 프로세서일 수 있으며, 하나 이상의 범용 프로세서 및/또는 하나 이상의 전용 프로세서(예를 들면, 특수 처리 칩)를 포함할 수 있으나 이들에 국한되지는 않는다. 입력 디바이스(906)는 컴퓨팅 디바이스(900)에 정보를 입력할 수 있는 임의의 유형의 디바이스일 수 있으며, 마우스, 키보드, 터치스크린, 마이크로폰, 및/또는 리모트 컨트롤러를 포함할 수 있으나 이들에 국한되지는 않는다. 출력 디바이스(908)는 정보를 제시할 수 있는 임의의 유형의 디바이스일 수 있으며, 디스플레이, 스피커, 비디오/오디오 출력 단자, 진동기, 및/또는 프린터를 포함할 수 있으나 이들에 국한되지는 않는다. 컴퓨팅 디바이스(900)는 또한 비일시적 스토리지 디바이스(910)를 포함하거나 비일시적 스토리지 디바이스(910)에 연결될 수 있다. 비일시적 스토리지 디바이스는 데이터 스토리지를 구현할 수 있는 임의의 비일시적 스토리지 디바이스일 수 있으며, 디스크 드라이브, 광 스토리지 디바이스, 솔리드 스테이트 메모리, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프 또는 기타 자기 매체, 광 디스크 또는 기타 광 매체, ROM(read-only memory: 읽기 전용 메모리), RAM(random access memory: 랜덤 액세스 메모리), 캐시 메모리 및/또는 기타 메모리 칩 또는 카트리지, 및/또는 컴퓨터가 데이터, 명령어, 및/또는 코드를 읽을 수 있는 기타 매체를 포함할 수 있으나 이들에 국한되지는 않는다. 비일시적 스토리지 디바이스(910)는 인터페이스로부터 탈거될 수 있다. 비일시적 스토리지 디바이스(910)는 하나 이상의 비일시적 컴퓨터 가독 매체를 구현하는데, 이는 컴퓨팅 디바이스(900)의 하나 이상의 프로세서에 의해 실행될 때 컴퓨팅 디바이스(900)로 하여금 전술한 이미지 심도 결정 방법(200) 및 그 변형을 수행하게 하는 명령어들을 포함하는 프로그램을 저장한다. 컴퓨팅 디바이스(900)는 통신 디바이스(912)를 더 포함할 수 있다. 통신 디바이스(912)는 외부 디바이스 및/또는 네트워크와의 통신을 가능케 하는 임의의 유형의 디바이스 또는 시스템일 수 있으며, 모뎀, 네트워크 인터페이스 카드, 적외선 통신 디바이스, 무선 통신 디바이스 및/또는 칩셋, 예를 들면, Bluetooth™ 디바이스, 1302.11 디바이스, Wi-Fi 디바이스, WiMax 디바이스, 셀룰러 통신 디바이스 등을 포함할 수 있으나 이들에 국한되지는 않는다.
몇몇 실시예에서, 컴퓨팅 디바이스(900)는 작업 메모리(914)를 더 포함할 수 있는데, 이는 프로세서(904)의 작동에 유용한 프로그램들(명령어들을 포함함) 및/또는 데이터를 저장하는 임의의 유형의 메모리일 수 있으며, 랜덤 액세스 메모리(RAM) 및/또는 읽기 전용 메모리(ROM)를 포함할 수 있으나 이들에 국한되지는 않는다.
소프트웨어 요소들(프로그램들)은 작업 메모리(914)에 위치될 수 있으며, 운영 체제(916), 하나 이상의 애플리케이션 프로그램(918), 드라이버, 및/또는 다른 데이터 및 코드를 포함할 수 있으나 이들에 국한되지는 않는다. 전술한 방법들 및 단계들을 수행하기 위한 명령어들은 하나 이상의 애플리케이션 프로그램(918)에 포함될 수 있으며, 전술한 이미지 심도 결정 장치(800)의 칩 회로(810)는 하나 이상의 애플리케이션 프로그램(918)의 명령어들을 읽고 실행함으로써 프로세서(904)에 의해 구현될 수 있다. 소프트웨어 요소들(프로그램들)의 명령어들의 실행 가능 코드 또는 소스 코드는 비일시적 컴퓨터 가독 스토리지 매체(예를 들면, 스토리지 디바이스(910))에 저장될 수 있으며, 실행될 때에는 작업 메모리(914)에 저장될 수 있다(그리고 컴파일 및/또는 설치될 수 있다). 소프트웨어 요소들(프로그램들)의 명령어들의 실행 가능 코드 또는 소스 코드는 원격 위치로부터 다운로드될 수도 있다.
특정 요건에 따라 다양한 변형이 이루어질 수 있다는 것이 또한 이해되어야 한다. 예를 들면, 맞춤형 하드웨어(tailored hardware)가 사용될 수도 있고, 및/또는 특정 요소들이 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술 언어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 예를 들어, 개시된 방법들 및 디바이스들의 일부 또는 전부는 본 발명에 따른 논리 및 알고리즘을 사용하여 (VERILOG, VHDL, 및 C++과 같은) 어셈블리 언어 또는 하드웨어 프로그래밍 언어로 하드웨어(예를 들면, FPGA(field programmable gate array: 필드 프로그래머블 게이트 어레이) 및/또는 PLA(programmable logic array: 프로그래머블 로직 어레이)를 포함하는 프로그래머블 로직 회로)를 프로그램함으로써 구현될 수 있다.
전술한 방법들은 서버-클라이언트 모드로 구현될 수 있다는 것을 또한 이해해야 한다. 예를 들면, 클라이언트는 제1 카메라(C0)와 제2 카메라(C1)를 사용하여 이미지 데이터를 획득하고는, 후속 처리를 위해 이미지 데이터를 서버로 전송할 수 있다. 혹은, 클라이언트는 전술한 방법으로 처리의 일부를 수행하고는, 처리 후 획득된 데이터를 서버로 전송할 수 있다. 서버는 클라이언트로부터 데이터를 수신하고는, 전술한 방법 또는 전술한 방법의 다른 부분을 수행하며, 실행 결과를 클라이언트에게 리턴할 수 있다. 클라이언트는 서버로부터 본 방법의 실행 결과를 수신할 수 있으며, 예를 들면, 출력 디바이스를 통해 이를 사용자에게 제시할 수 있다.
컴퓨팅 디바이스(900)의 컴포넌트들은 네트워크에 걸쳐 분산될 수 있다는 것을 또한 이해해야 한다. 예를 들어, 일부 처리는 하나의 프로세서에 의해 실행될 수 있는 한편, 다른 처리는 상기 하나의 프로세서에서 멀리 떨어진 다른 프로세서에 의해 실행될 수 있다. 컴퓨팅 디바이스(900)의 다른 컴포넌트들도 유사하게 분산될 수 있다. 이와 같이, 컴퓨팅 디바이스(900)는 복수의 위치에 있는 복수의 프로세서에서 처리를 수행하는 분산 컴퓨팅 시스템으로 이해될 수 있다.
전술한 이미지 심도 결정 방법(200) 또는 이미지 심도 결정 장치(800)는 안면(전형적으로, 사람의 얼굴) 인식을 포함하여, 다양한 목적으로 사용될 수 있다. 안면 용도의 맥락에서는, 제1 이미지(IMG0)와 제2 이미지(IMG1)로부터 안면 영역이 위치 파악되고 난 후에, 안면 특징점 검출 알고리즘을 사용하여 M 개의 안면 특징점(예를 들면, 눈썹, 눈, 코, 입, 안면 윤곽과 같은 위치의 특징점)을 획득한다. 제1 이미지(IMG0)의 안면 특징점은 로 표기된다. 제2 이미지(IMG1)의 안면 특징점은 로 표기된다. 매칭된 특징점 쌍은 로 표기된다. 전술한 이미지 심도 결정 방법(200)을 사용함으로써, 각 PAIRi에 대응하는 심도 정보 Di가 획득될 수 있는데, 여기서 이다. 다음으로, 이러한 심도 정보는 생체 식별과 같은 다양한 특정 용도에서도 또한 사용될 수 있다.
도 10은 본 발명의 예시적인 실시예에 따른 생체 식별 방법(1000)을 나타내는 플로차트이다. 생체 식별 방법(1000)은: 피사체 상의 복수의 물점과 연관된 복수의 특징점 쌍 - 각 특징점 쌍의 제1 픽셀은 제1 이미지의 안면 키포인트(key-point)이고, 각 특징점 쌍의 제2 픽셀은 제2 이미지의 안면 키포인트임 - 각각에 대해, 전술한 이미지 심도 결정 방법(200) 또는 그 변형을 수행함으로써 복수의 물점의 각각의 심도를 결정하는 단계 1010; 및 복수의 물점의 각각의 심도에 기초하여 피사체가 생체인지를 식별하는 단계 1020을 포함할 수 있다.
도 10을 참조하면, 단계 1010에서, 피사체 상의 복수의 물점과 연관된 복수의 특징점 쌍(예를 들면, ) 각각에 대해, 이미지 심도 결정 방법(200) 또는 그 변형을 수행함으로써 복수의 물점의 각각의 심도(예를 들면, )가 결정된다.
단계 1020에서는, 복수의 물점의 각각의 심도 에 기초하여 피사체가 생체인지가 식별된다. 전형적으로, 단계 1020은 도 11에 하이레벨로 개략적으로 나타낸 바와 같이, 예를 들면 안면 심도 역치 결정 솔루션(1022), 서포트 벡터 머신(support vector machine: SVM) 솔루션(1024), 또는 인공 신경망(artificial neural network: ANN) 솔루션(1026)을 기초로 할 수 있다. 이 3 가지 솔루션이 아래에서 상세히 설명되지만, 다른 실시예들도 가능하다.
안면 심도 역치 결정 솔루션(1022)에서는, 복수의 물점에 대응하는 심도의 함수 값과 사전 결정된 역치 사이의 관계에 따라 피사체가 생체인지가 식별된다. 구체적으로는, 복수의 물점의 심도의 함수가 구성되고, 각 물점의 심도 값이 함수에 대입된다. 다음으로, 획득된 함수 값이 사전 결정된 역치과 비교되며, 비교 결과에 기초하여 피사체가 생체인지가 식별된다. 몇몇 실시예에서, 이는 다음의 예시적인 동작들을 포함할 수 있다:
(1a) 특징점 쌍들 중에서 최소의 심도 값을 갖는 특징점 쌍을 결정하고, 이 특징점 쌍에 대응하는 심도 값을 획득하는 단계;
(1b) 특징점 쌍들의 심도 값들 각각으로부터 최소 심도 값을 빼서, 특징점 쌍들의 상대 심도 값들을 획득하는 단계; 및
(1c) 특징점 쌍들의 상대 심도 값들의 합 또는 제곱의 합을 비교 값으로 산 출하는 단계. 비교 값이 사전 결정된 역치 미만이면, 피사체는 비생체로 식별되고; 그렇지 않으면 피사체는 생체로 식별된다.
SVM 솔루션(1024)에서는, 물점들의 심도를 사용하여 입력 벡터가 구성되고는, 트레이닝된 서포트 벡터 머신(SVM)에 입력되어 식별 결과를 얻는다. 몇몇 실시예에서, 이는 다음과 같은 예시적인 동작들: 각 물점의 심도를 물점의 제1 좌표 표현에 대입하여, 물점의 공간 좌표를 획득하는 단계; 복수의 물점의 각각의 공간 좌표를 표준 안면(standard face)의 각각의 키포인트 공간 좌표와 정렬하기 위한 정렬 파라미터들을 결정하는 단계; 결정된 정렬 파라미터들을 사용하여, 각각의 공간 좌표를 표준 안면의 각각의 키포인트 공간 좌표와 정렬하여, 대응하는 정렬된 공간 좌표들을 획득하는 단계; 대응하는 정렬된 공간 좌표들의 심도 성분들을 사용하여 심도 특징 벡터를 구성하는 단계; 및 심도 특징 벡터를 트레이닝된 서포트 벡터 머신 분류기에 입력하여, 식별 결과를 얻는 단계를 포함할 수 있다.
SVM 솔루션(1024)에서의 동작들은 아래에서 상세히 설명된다.
(2a) 각 물점의 심도가 물점의 제1 좌표 표현 PC0(PC0x, PC0y, PC0z)에 대입되어, 물점의 공간 좌표를 획득한다. 이미지 심도 결정 방법(200)의 상기 설명으로부터 제1 좌표 표현 PC0(PC0x, PC0y, PC0z)는 심도 값의 함수로 간주될 수 있음을 알 수 있으며, 여기서 PC0z는 심도 값과 동일하다고 간주되고, PC0x와 PC0y 양자 모두는 수학식(수학식 1)을 통해 PC0z로 나타낼 수 있다. 따라서, M 개의 특징점 쌍에 대해, 각각의 M 개의 심도 값이 제1 좌표 표현 PC0(PC0x, PC0y, PC0z)에 대입되어, M 개의 공간 좌표 가 획득될 수 있다.
(2b) 복수의 물점의 각각의 공간 좌표 를 표준 안면의 각각의 키포인트 공간 좌표와 정렬하기 위한 정렬 파라미터들이 결정된다. 정렬의 목적은 임의의 각도에서의 안면을 전면 안면(front face)의 형상에 매핑하는 것이다. 표준 안면은 복수의 전면 안면을 캡처하여 획득된 키포인트 세트의 공간 좌표들을 평균화함으로써 획득될 수 있다. 표준 안면의 키포인트 공간 좌표들은 로 표기된다. 정렬 파라미터들은 회전 벡터 Ra, 병진이동 벡터 Ta, 및 스케일링 스케일 s를 포함한다. 그러면, 이 존재한다. 정렬 파라미터들 Ra, Ta, 및 s는 최소화된 에너지 함수 argmin 을 풂으로써 획득될 수 있다.
(2c) 결정된 정렬 파라미터들을 사용하여, 각각의 공간 좌표 가 표준 안면의 각각의 키포인트 공간 좌표 와 정렬되어, 대응하는 정렬된 공간 좌표들을 획득한다. 구체적으로, 정렬 파라미터들을 사용하여, 정렬된 키포인트 공간 좌표들 이 획득될 수 있다.
(2e) 심도 특징 벡터 가 트레이닝된 서포트 벡터 머신(SVM) 분류기에 입력되어, 식별 결과를 얻는다. SVM 분류기는 사전에 트레이닝되었다. SVM 분류기의 트레이닝에서는, 생체 샘플들과 비생체 샘플들의 키포인트 공간 좌표들의 정렬이 전술한 방식으로 수행되고, 심도 특징 벡터들은 트레이닝 샘플들로서 구성된다. 다음으로, 트레이닝 샘플들은 SVM 분류기를 트레이닝하는 데 사용되어, SVM 분류기 파라미터들을 획득한다.
몇몇 실시예에서는, SVM 솔루션(1024)의 식별 결과에 기초하여, 스케일링 스케일 s가 생체 식별을 위해서도 또한 사용될 수 있다. 스케일링 스케일 s의 크기는 검출된 안면의 크기와 표준 안면의 크기 사이의 비례 관계를 나타낸다. 대량의 안면 데이터에 의해, (예를 들면, 통계적 방법을 사용하여) 사전 결정된 범위의 스케일링 스케일 s가 획득될 수 있으며, 검출된 안면이 정상 안면인지를 나타내는 지표로서 사용될 수 있다. SVM의 식별 결과가 피사체가 생체임을 나타내는 경우, 스케일링 스케일 s가 사전 결정된 범위 내에 있으면, 피사체는 생체로 식별된다. 스케일링 스케일 s가 사전 결정된 범위 내에 있지 않은 경우(예를 들면, 사전 결정된 범위의 하한 미만 또는 사전 결정된 범위의 상한 초과), 피사체는 비생체로 식별된다.
몇몇 실시예에서는, SVM 솔루션(1024)에 대한 대체로서, 상기 동작 (2a) 및 (2b)에서 결정된 (스케일링 스케일 s를 포함하는) 정렬 파라미터들이 생체 식별에 직접 사용될 수도 있다. 구체적으로, 스케일링 스케일 s가 사전 결정된 범위 내에 있으면, 피사체는 생체로 식별된다. 스케일링 스케일 s가 사전 결정된 범위 내에 있지 않은 경우(예를 들면, 사전 결정된 범위의 하한 미만 또는 사전 결정된 범위의 상한 초과), 피사체는 비생체로 식별된다.
ANN 솔루션(1026)에서는, 물점들의 공간 좌표들 을 사용하여 입력 벡터가 구성되고는, 트레이닝된 서포트 벡터 머신에 입력되어, 식별 결과를 얻는다. 몇몇 실시예에서, 이는 다음의 예시적인 동작들: 각 물점의 심도를 물점의 제1 좌표 표현에 대입하여, 물점의 공간 좌표들을 획득하는 단계; 복수의 물점의 각각의 공간 좌표를 표준 안면의 각각의 키포인트 공간 좌표와 정렬하기 위한 정렬 파라미터들을 결정하는 단계; 결정된 정렬 파라미터들을 사용하여, 각각의 공간 좌표를 표준 안면의 각각의 키포인트 공간 좌표와 정렬하여, 대응하는 정렬된 공간 좌표들을 획득하는 단계; 대응하는 정렬된 공간 좌표들을 사용하여 입력 벡터를 구성하는 단계; 및 입력 벡터를 트레이닝된 인공 신경망에 입력하여, 식별 결과를 얻는 단계를 포함할 수 있다.
ANN 솔루션(1026)에서의 동작들은 아래에서 상세히 설명된다.
(3c) 결정된 정렬 파라미터들을 사용하여, 각각의 공간 좌표 가 표준 안면의 각각의 키포인트 공간 좌표와 정렬되어, 대응하는 정렬된 공간 좌표들을 획득한다. 여기서, 동작 (3a) 내지 (3c)는 SVM 솔루션(1024)에 대해 위에서 설명한 동작 (2a) 내지 (2c)와 동일하며, 그래서 세부 사항은 여기서는 다시 설명하지 않는다.
(3e) 입력 벡터가 트레이닝된 ANN에 입력되어, 식별 결과를 얻는다. SVM 솔루션(1024)과 유사하게, ANN은 사전에 트레이닝되었다. ANN의 트레이닝에서는, 생체 샘플들과 비생체 샘플들의 키포인트 공간 좌표들의 정렬이 전술한 방식으로 수행되고, 트레이닝 샘플들이 구성된다. 다음으로, 트레이닝 샘플들은 ANN을 트레이닝하는 데 사용되어, ANN의 네트워크 파라미터들을 획득한다. 이 실시예에서는, 임의의 적절한 유형의 인공 신경망이 사용될 수 있으며, 본 발명에서 특허청구된 주제는 이들 측면에서 제한되지는 않는다.
몇몇 실시예에서는, ANN 솔루션(1026)의 식별 결과에 기초하여, 스케일링 스케일 s가 생체 식별을 위해서도 또한 사용될 수 있다. 구체적으로, ANN의 식별 결과가 피사체가 생체임을 나타내면, 스케일링 스케일 s는 추가 식별에 사용된다. 스케일링 스케일 s가 사전 결정된 범위 내에 있으면, 피사체는 생체로 식별된다. 스케일링 스케일 s가 사전 결정된 범위 내에 있지 않은 경우(예를 들면, 사전 결정된 범위의 하한 미만 또는 사전 결정된 범위의 상한 초과), 피사체는 비생체로 식별된다.
본 발명의 실시예들 또는 예들이 도면들을 참조하여 설명되었으나, 전술한 방법들, 시스템들, 및 디바이스들은 단지 예시적인 실시예들 또는 예들일뿐이며, 본 발명의 범위는 실시예들 또는 예들에 의해 한정되는 것이 아니라 허여되는 청구범위 및 그 동등물에 의해서만 규정된다는 것을 이해해야 한다. 실시예들 또는 예들의 다양한 요소들은 생략되거나 그 동등한 요소들로 대체될 수 있다. 또한, 단계들은 본 발명에 기재된 것과는 다른 순서로 수행될 수도 있다. 또한, 실시예들 또는 예들의 다양한 요소들은 다양한 방식으로 조합될 수 있다. 기술이 진화함에 따라, 본 명세서에 기재된 많은 요소는 본 발명 이후에 출현하는 동등한 요소들로 대체될 수 있다는 것이 중요하다.
Claims (22)
- 피사체 상의 물점(object point)과 연관된 특징점 쌍(feature point pair)의 픽셀 좌표들을 획득하는 단계 - 상기 특징점 쌍은 상기 물점에 대응하는 제1 이미지의 제1 픽셀 및 상기 물점에 대응하는 제2 이미지의 제2 픽셀을 포함하고, 상기 제1 이미지는 상기 피사체에 대해 제1 카메라에 의해 캡처된 이미지이고 상기 제2 이미지는 상기 피사체에 대해 제2 카메라에 의해 캡처된 이미지이며, 상기 픽셀 좌표들은 상기 제1 이미지의 제1 픽셀의 제1 픽셀 좌표 및 상기 제2 이미지의 제2 픽셀의 제2 픽셀 좌표를 포함함 -;
상기 제1 픽셀 좌표 및 상기 제1 카메라의 내인성 파라미터들(intrinsic parameters)에 기초하여 상기 제1 카메라의 제1 카메라 좌표계의 원점을 통과하는 제1 직선 - 상기 제1 카메라 좌표계에서 상기 물점의 제1 좌표 표현은 상기 제1 직선 상에 위치됨 - 을 결정하는 단계;
상기 제2 픽셀 좌표 및 상기 제2 카메라의 내인성 파라미터들에 기초하여 상기 제2 카메라의 제2 카메라 좌표계의 원점을 통과하는 제2 직선 - 상기 제2 카메라 좌표계에서 상기 물점의 제2 좌표 표현은 상기 제2 직선 상에 위치됨 - 을 결정하는 단계; 및
상기 제1 직선, 상기 제2 직선, 및 상기 제1 카메라와 상기 제2 카메라 사이의 상대 위치 관계를 기술하는 외인성 파라미터들(extrinsic parameters)에 기초하여 상기 물점의 심도를 결정하는 단계:
를 포함하며,
상기 제1 직선, 상기 제2 직선, 및 상기 제1 카메라와 상기 제2 카메라 사이의 상대 위치 관계를 기술하는 외인성 파라미터들에 기초하여 상기 물점의 심도를 결정하는 상기 단계는:
상기 제2 직선 및 상기 외인성 파라미터들에 기초하여 상기 제1 카메라 좌표계에서의 상기 제2 직선의 표현을 결정하는 단계; 및
상기 제1 직선 및 상기 제2 직선에 기초하여 상기 제1 카메라 좌표계에서 상기 물점의 심도를 결정하는 단계:
를 포함하는,
이미지 심도 결정 방법. - 삭제
- 제1 항에 있어서,
상기 제2 직선 및 상기 외인성 파라미터들에 기초하여 상기 제1 카메라 좌표계에서의 상기 제2 직선의 표현을 결정하는 상기 단계는:
상기 외인성 파라미터들을 사용하여 상기 제2 좌표 표현을 상기 제1 카메라 좌표계에서의 제3 좌표 표현으로 변환하고, 상기 제1 카메라 좌표계에서의 상기 제2 카메라 좌표계의 원점의 제4 좌표 표현을 결정하는 단계; 및
상기 제3 좌표 표현 및 상기 제4 좌표 표현에 기초하여 상기 제1 카메라 좌표계에서의 상기 제2 직선의 표현을 결정하는 단계:
를 포함하는,
이미지 심도 결정 방법. - 제1 항에 있어서,
상기 제1 직선 및 상기 제2 직선에 기초하여 상기 제1 카메라 좌표계에서 상기 물점의 심도를 결정하는 상기 단계는:
상기 제1 직선과 상기 제2 직선이 비동일 평면에 있다는 것에 응답하여 상기 제1 직선과 상기 제2 직선의 공통 수선을 결정하는 단계;
상기 제1 직선과 상기 공통 수선의 제1 교점의 좌표 및 상기 제2 직선과 상기 공통 수선의 제2 교점의 좌표를 결정하는 단계; 및
상기 제1 교점의 좌표의 제1 심도 성분 및 상기 제2 교점의 좌표의 제2 심도 성분에 기초하여 상기 물점의 심도를 결정하는 단계:
를 포함하는,
이미지 심도 결정 방법. - 제4 항에 있어서,
상기 제1 직선과 상기 공통 수선의 제1 교점의 좌표 및 상기 제2 직선과 상기 공통 수선의 제2 교점의 좌표를 결정하는 상기 단계는:
다음의:
상기 제1 직선의 방향 벡터가 상기 제1 교점으로부터 상기 제1 카메라 좌표계의 원점을 가리키는 방향 벡터에 평행하고;
상기 제2 직선의 방향 벡터가 상기 제2 교점으로부터 상기 제2 카메라 좌표계의 원점을 가리키는 방향 벡터에 평행하며; 및
상기 공통 수선의 방향 벡터가 상기 제2 교점으로부터 상기 제1 교점을 가리키는 방향 벡터에 평행한:
공간 관계에 따라 상기 제1 교점의 좌표와 상기 제2 교점의 좌표를 결정하는 단계:
를 포함하는,
이미지 심도 결정 방법. - 제4 항에 있어서,
상기 제1 교점의 좌표의 제1 심도 성분 및 상기 제2 교점의 좌표의 제2 심도 성분에 기초하여 상기 물점의 심도를 결정하는 상기 단계는:
상기 제1 심도 성분 및 상기 제2 심도 성분의 사전 정의된 함수 값을 상기 물점의 심도로 결정하는 단계:
를 포함하는,
이미지 심도 결정 방법. - 제6 항에 있어서,
상기 사전 정의된 함수 값은 가중 평균을 포함하는,
이미지 심도 결정 방법. - 제7 항에 있어서,
상기 가중 평균은 산술 평균을 포함하는,
이미지 심도 결정 방법. - 제1 항에 있어서,
상기 제1 직선 및 상기 제2 직선에 기초하여 상기 제1 카메라 좌표계에서 상기 물점의 심도를 결정하는 상기 단계는:
상기 제1 직선과 상기 제2 직선이 동일 평면에 있다는 것에 응답하여, 상기 제1 직선과 상기 제2 직선의 교점의 좌표의 심도 성분을 상기 물점의 심도로 결정하는 단계:
를 포함하는,
이미지 심도 결정 방법. - 제1 항에 있어서,
상기 제1 카메라와 상기 제2 카메라는 상이한 모델의 카메라인,
이미지 심도 결정 방법. - 제1 항에 있어서,
상기 제1 픽셀 좌표 및 상기 제1 카메라의 내인성 파라미터들에 기초하여 상기 제1 카메라의 제1 카메라 좌표계의 원점을 통과하는 제1 직선을 결정하는 상기 단계 전에 상기 제1 픽셀 좌표에 대해 왜곡 제거(undistortion)를 수행하는 단계; 및
상기 제2 픽셀 좌표 및 상기 제2 카메라의 내인성 파라미터들에 기초하여 상기 제2 카메라의 제2 카메라 좌표계의 원점을 통과하는 제2 직선을 결정하는 상기 단계 전에 상기 제2 픽셀 좌표에 대해 왜곡 제거를 수행하는 단계:
를 더 포함하는, 이미지 심도 결정 방법. - 제1 항 및 제3 항 내지 제11 항 중 어느 한 항에 따른 방법의 단계들을 수행하도록 구성된 회로 유닛들을 포함하는, 칩 회로.
- 제12 항의 칩 회로를 포함하는, 이미지 심도 결정 장치.
- 하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행될 때 상기 하나 이상의 프로세서로 하여금 제1 항 및 제3 항 내지 제11 항 중 어느 한 항에 따른 방법을 수행하게 하는 명령어들을 포함하는 프로그램을 저장하는 메모리:
를 포함하는, 컴퓨팅 디바이스. - 컴퓨팅 디바이스의 하나 이상의 프로세서에 의해 실행될 때 상기 컴퓨팅 디바이스로 하여금 제1 항 및 제3 항 내지 제11 항 중 어느 한 항에 따른 방법을 수행하게 하는 명령어들을 포함하는 프로그램이 저장된 하나 이상의 비일시적 컴퓨터 가독 매체.
- 피사체 상의 복수의 물점과 연관된 복수의 특징점 쌍 - 각 특징점 쌍의 제1 픽셀은 제1 이미지의 안면 키포인트(key-point)이고, 각 특징점 쌍의 제2 픽셀은 제2 이미지의 안면 키포인트임 - 각각에 대해, 제1 항 및 제3 항 내지 제11 항 중 어느 한 항에 따른 이미지 심도 결정 방법을 수행함으로써 상기 복수의 물점의 각각의 심도를 결정하는 단계; 및
상기 복수의 물점의 상기 각각의 심도에 기초하여 상기 피사체가 생체인지를 식별하는 단계:
를 포함하는, 생체 식별 방법. - 제16 항에 있어서,
상기 복수의 물점의 상기 각각의 심도에 기초하여 상기 피사체가 생체인지를 식별하는 상기 단계는: 상기 복수의 물점의 상기 각각의 심도의 함수 값과 사전 결정된 역치 사이의 관계에 따라 상기 피사체가 생체인지를 식별하는 단계를 포함하는,
생체 식별 방법. - 제16 항에 있어서,
각 물점의 제1 좌표 표현의 좌표 성분들은 상기 물점의 심도의 함수이고, 상기 복수의 물점의 상기 각각의 심도에 기초하여 상기 피사체가 생체인지를 식별하는 상기 단계는:
상기 물점의 공간 좌표를 획득하기 위해 각 물점의 심도를 상기 물점의 상기 제1 좌표 표현에 대입하는 단계;
상기 복수의 물점의 각각의 공간 좌표를 표준 안면(standard face)의 각각의 키포인트 공간 좌표와 정렬하기 위한 정렬 파라미터들을 결정하는 단계;
대응하는 정렬된 공간 좌표들을 획득하기 위해, 상기 결정된 정렬 파라미터들을 사용하여, 상기 각각의 공간 좌표를 표준 안면의 상기 각각의 키포인트 공간 좌표와 정렬하는 단계;
상기 대응하는 정렬된 공간 좌표들의 심도 성분들을 사용하여 심도 특징 벡터를 구성하는 단계; 및
식별 결과를 얻기 위해 상기 심도 특징 벡터를 트레이닝된 서포트 벡터 머신(support vector machine: SVM) 분류기에 입력하는 단계:
를 포함하는,
생체 식별 방법. - 제18 항에 있어서,
상기 정렬 파라미터들은 스케일링 스케일(scaling scale)을 포함하고, 상기 생체 식별 방법은:
상기 피사체가 생체임을 나타내는 상기 식별 결과에 응답하여, 상기 스케일링 스케일이 사전 결정된 범위 내에 속하는지를 결정하는 단계;
상기 스케일링 스케일이 상기 사전 결정된 범위 내에 있다는 결정에 응답하여 상기 피사체를 생체로 식별하는 단계; 및
상기 스케일링 스케일이 상기 사전 결정된 범위 내에 있지 않다는 결정에 응답하여 상기 피사체를 비생체로 식별하는 단계:
를 더 포함하는,
생체 식별 방법. - 제16 항에 있어서,
각 물점의 제1 좌표 표현의 좌표 성분들은 상기 물점의 심도의 함수이고, 상기 복수의 물점의 상기 각각의 심도에 기초하여 상기 피사체가 생체인지를 식별하는 상기 단계는:
상기 물점의 공간 좌표를 획득하기 위해 각 물점의 심도를 상기 물점의 상기 제1 좌표 표현에 대입하는 단계;
상기 복수의 물점의 각각의 공간 좌표를 표준 안면의 각각의 키포인트 공간 좌표와 정렬하기 위한 정렬 파라미터들 - 상기 정렬 파라미터들은 스케일링 스케일을 포함함 - 을 결정하는 단계;
상기 스케일링 스케일이 사전 결정된 범위 내에 있다는 것에 응답하여 상기 피사체를 생체로 식별하는 단계; 및
상기 스케일링 스케일이 상기 사전 결정된 범위 내에 있지 않다는 것에 응답하여 상기 피사체를 비생체로 식별하는 단계:
를 포함하는,
생체 식별 방법. - 제16 항에 있어서,
각 물점의 제1 좌표 표현의 좌표 성분들은 상기 물점의 심도의 함수이고, 상기 복수의 물점의 상기 각각의 심도에 기초하여 상기 피사체가 생체인지를 식별하는 상기 단계는:
상기 물점의 공간 좌표를 획득하기 위해 각 물점의 심도를 상기 물점의 상기 제1 좌표 표현에 대입하는 단계;
상기 복수의 물점의 각각의 공간 좌표를 표준 안면의 각각의 키포인트 공간 좌표와 정렬하기 위한 정렬 파라미터들을 결정하는 단계;
대응하는 정렬된 공간 좌표들을 획득하기 위해, 상기 결정된 정렬 파라미터들을 사용하여, 상기 각각의 공간 좌표를 표준 안면의 상기 각각의 키포인트 공간 좌표와 정렬하는 단계;
상기 대응하는 정렬된 공간 좌표들을 사용하여 입력 벡터를 구성하는 단계; 및
식별 결과를 얻기 위해 상기 입력 벡터를 트레이닝된 인공 신경망(artificial neural network)에 입력하는 단계:
를 포함하는,
생체 식별 방법. - 제21 항에 있어서,
상기 정렬 파라미터들은 스케일링 스케일을 포함하고, 상기 생체 식별 방법은:
상기 피사체가 생체임을 나타내는 상기 식별 결과에 응답하여, 상기 스케일링 스케일이 사전 결정된 범위 내에 있는지를 결정하는 단계;
상기 스케일링 스케일이 상기 사전 결정된 범위 내에 있다는 결정에 응답하여 상기 피사체를 생체로 식별하는 단계; 및
상기 스케일링 스케일이 상기 사전 결정된 범위 내에 있지 않다는 결정에 응답하여 상기 피사체를 비생체로 식별하는 단계:
를 더 포함하는,
생체 식별 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010351856.9 | 2020-04-28 | ||
CN202010351856.9A CN111563924B (zh) | 2020-04-28 | 2020-04-28 | 图像深度确定方法及活体识别方法、电路、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210133880A KR20210133880A (ko) | 2021-11-08 |
KR102386444B1 true KR102386444B1 (ko) | 2022-04-14 |
Family
ID=72075496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210054725A KR102386444B1 (ko) | 2020-04-28 | 2021-04-28 | 이미지 심도 결정 방법 및 생체 식별 방법, 회로, 디바이스, 및 매체 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP3905195A1 (ko) |
JP (1) | JP7064257B2 (ko) |
KR (1) | KR102386444B1 (ko) |
CN (1) | CN111563924B (ko) |
WO (1) | WO2021218568A1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11232315B2 (en) | 2020-04-28 | 2022-01-25 | NextVPU (Shanghai) Co., Ltd. | Image depth determining method and living body identification method, circuit, device, and medium |
CN111563924B (zh) * | 2020-04-28 | 2023-11-10 | 上海肇观电子科技有限公司 | 图像深度确定方法及活体识别方法、电路、设备和介质 |
CN112487921B (zh) * | 2020-11-25 | 2023-09-08 | 奥比中光科技集团股份有限公司 | 一种用于活体检测的人脸图像预处理方法及系统 |
CN114267068B (zh) * | 2021-12-24 | 2022-11-01 | 合肥的卢深视科技有限公司 | 基于连续帧信息的人脸识别方法、电子设备及存储介质 |
CN116402871B (zh) * | 2023-03-28 | 2024-05-10 | 苏州大学 | 一种基于场景平行要素的单目测距方法、系统及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020042772A (ja) * | 2018-09-13 | 2020-03-19 | 虹▲軟▼科技股▲ふん▼有限公司 | 深度マップに対して画像位置合せを行って深度データを最適化することができる深度データ処理システム |
JP6687204B2 (ja) * | 2015-07-08 | 2020-04-22 | コリア ユニバーシティ リサーチ アンド ビジネス ファウンデーションKorea University Research And Business Foundation | 投影イメージ生成方法およびその装置、イメージピクセルと深度値との間のマッピング方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2573153B2 (ja) * | 1994-02-28 | 1997-01-22 | 株式会社エイ・ティ・アール通信システム研究所 | ステレオ画像間対応づけ確信度検出装置および方法 |
JP2003294416A (ja) * | 2002-04-03 | 2003-10-15 | Eng Kk | ステレオ画像処理装置 |
JP2005172703A (ja) * | 2003-12-12 | 2005-06-30 | Komatsu Ltd | 物体の3次元計測方法および装置 |
CN100553347C (zh) * | 2006-10-26 | 2009-10-21 | 上海交通大学 | 立体视觉系统的场景深度恢复和三维重建方法 |
JP4807583B2 (ja) * | 2007-03-29 | 2011-11-02 | 本田技研工業株式会社 | 射影変換収束演算処理方法 |
JP2010152529A (ja) * | 2008-12-24 | 2010-07-08 | Nippon Hoso Kyokai <Nhk> | 頂点テクスチャマッピング装置及びプログラム |
JP5713624B2 (ja) * | 2009-11-12 | 2015-05-07 | キヤノン株式会社 | 三次元計測方法 |
JP6079333B2 (ja) * | 2013-03-15 | 2017-02-15 | 株式会社リコー | 校正装置、方法及びプログラム |
CN104680528A (zh) * | 2015-02-11 | 2015-06-03 | 广州霞光技研有限公司 | 一种基于双目立体视觉的排爆机器人空间定位方法 |
US10373380B2 (en) * | 2016-02-18 | 2019-08-06 | Intel Corporation | 3-dimensional scene analysis for augmented reality operations |
CN108986161B (zh) * | 2018-06-19 | 2020-11-10 | 亮风台(上海)信息科技有限公司 | 一种三维空间坐标估计方法、装置、终端和存储介质 |
WO2020037575A1 (zh) * | 2018-08-22 | 2020-02-27 | 深圳市大疆创新科技有限公司 | 图像深度估计方法、装置、可读存储介质及电子设备 |
CN109118533B (zh) * | 2018-08-30 | 2021-03-02 | 歌尔光学科技有限公司 | 深度信息处理方法、装置和设备 |
CN110942032B (zh) * | 2019-11-27 | 2022-07-15 | 深圳市商汤科技有限公司 | 活体检测方法及装置、存储介质 |
CN111563924B (zh) * | 2020-04-28 | 2023-11-10 | 上海肇观电子科技有限公司 | 图像深度确定方法及活体识别方法、电路、设备和介质 |
CN111780673B (zh) * | 2020-06-17 | 2022-05-31 | 杭州海康威视数字技术股份有限公司 | 一种测距方法、装置及设备 |
-
2020
- 2020-04-28 CN CN202010351856.9A patent/CN111563924B/zh active Active
-
2021
- 2021-04-02 WO PCT/CN2021/085276 patent/WO2021218568A1/zh active Application Filing
- 2021-04-23 EP EP21170219.6A patent/EP3905195A1/en not_active Withdrawn
- 2021-04-27 JP JP2021074934A patent/JP7064257B2/ja active Active
- 2021-04-28 KR KR1020210054725A patent/KR102386444B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6687204B2 (ja) * | 2015-07-08 | 2020-04-22 | コリア ユニバーシティ リサーチ アンド ビジネス ファウンデーションKorea University Research And Business Foundation | 投影イメージ生成方法およびその装置、イメージピクセルと深度値との間のマッピング方法 |
JP2020042772A (ja) * | 2018-09-13 | 2020-03-19 | 虹▲軟▼科技股▲ふん▼有限公司 | 深度マップに対して画像位置合せを行って深度データを最適化することができる深度データ処理システム |
Also Published As
Publication number | Publication date |
---|---|
WO2021218568A1 (zh) | 2021-11-04 |
CN111563924A (zh) | 2020-08-21 |
JP2021174554A (ja) | 2021-11-01 |
KR20210133880A (ko) | 2021-11-08 |
CN111563924B (zh) | 2023-11-10 |
EP3905195A1 (en) | 2021-11-03 |
JP7064257B2 (ja) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102386444B1 (ko) | 이미지 심도 결정 방법 및 생체 식별 방법, 회로, 디바이스, 및 매체 | |
JP6685827B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
US11232315B2 (en) | Image depth determining method and living body identification method, circuit, device, and medium | |
US9429418B2 (en) | Information processing method and information processing apparatus | |
US9665803B2 (en) | Image processing apparatus and image processing method | |
CN102375974B (zh) | 信息处理设备和信息处理方法 | |
WO2019042426A1 (zh) | 增强现实场景的处理方法、设备及计算机存储介质 | |
EP3502958B1 (en) | Object recognition processing apparatus, object recognition processing method, and program | |
JP5631086B2 (ja) | 情報処理装置及びその制御方法、プログラム | |
WO2021114776A1 (en) | Object detection method, object detection device, terminal device, and medium | |
CN108573471B (zh) | 图像处理装置、图像处理方法以及记录介质 | |
JP6071002B2 (ja) | 信頼度取得装置、信頼度取得方法および信頼度取得プログラム | |
WO2021114777A1 (en) | Target detection method, terminal device, and medium | |
JP6897082B2 (ja) | 顔向き推定用コンピュータプログラム、顔向き推定装置及び顔向き推定方法 | |
CN116051736A (zh) | 一种三维重建方法、装置、边缘设备和存储介质 | |
CN114882465A (zh) | 视觉感知方法、装置、存储介质和电子设备 | |
JP7498404B2 (ja) | 被写体の3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム | |
WO2021114775A1 (en) | Object detection method, object detection device, terminal device, and medium | |
JP7298687B2 (ja) | 物体認識装置及び物体認識方法 | |
CN112307799A (zh) | 姿态识别方法、装置、系统、存储介质及设备 | |
CN112307801A (zh) | 一种姿态识别方法、装置及系统 | |
CN112991210B (zh) | 图像处理方法及装置、计算机可读存储介质和电子设备 | |
WO2023007730A1 (ja) | 情報処理システム、情報処理装置、情報処理方法、及び記録媒体 | |
US20220230342A1 (en) | Information processing apparatus that estimates object depth, method therefor, and storage medium holding program therefor | |
JP2018200175A (ja) | 情報処理装置、情報処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |