KR20160119176A - 시야 방향을 결정하기 위한 3-d 이미지 분석기 - Google Patents

시야 방향을 결정하기 위한 3-d 이미지 분석기 Download PDF

Info

Publication number
KR20160119176A
KR20160119176A KR1020167024546A KR20167024546A KR20160119176A KR 20160119176 A KR20160119176 A KR 20160119176A KR 1020167024546 A KR1020167024546 A KR 1020167024546A KR 20167024546 A KR20167024546 A KR 20167024546A KR 20160119176 A KR20160119176 A KR 20160119176A
Authority
KR
South Korea
Prior art keywords
image
pattern
huff
additional
eye
Prior art date
Application number
KR1020167024546A
Other languages
English (en)
Other versions
KR101858491B1 (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 KR20160119176A publication Critical patent/KR20160119176A/ko
Application granted granted Critical
Publication of KR101858491B1 publication Critical patent/KR101858491B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/145Square transforms, e.g. Hadamard, Walsh, Haar, Hough, Slant transforms
    • G06K9/00597
    • 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/48Extraction of image or video features by mapping characteristic values of the pattern into a parameter space, e.g. Hough transformation
    • G06K9/00335
    • G06K9/00986
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/337Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/77Determining position or orientation of objects or cameras using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/19Sensors therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/193Preprocessing; Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • 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/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20004Adaptive image processing
    • G06T2207/20008Globally adaptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20061Hough transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Ophthalmology & Optometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Eye Examination Apparatus (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Complex Calculations (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

3D 공간에서 시선 방향 또는 시선(시선 방향 및 예를 들어, 동공 중점 및 시선 방향 벡터가 어디서 시작하는지를 표시하는 위치 벡터를 포함함)의 결정을 위한 3D 이미지 분석기는, 이미지 데이터의 하나의 제 1 세트 및 이미지 정보의 추가적인 세트를 수신하도록 구성되고, 제 1 이미지는, 제 1 이미지 평면으로의 제 1 관점으로부터 3차원 오브젝트를 디스플레이하는 패턴을 포함하고, 추가적인 세트는, 추가적인 이미지 평면으로의 추가적인 관점으로부터 동일한 3차원 오브젝트를 디스플레이하는 패턴을 포함하는 이미지를 포함하거나, 추가적인 세트는, 이미지 정보 및/또는 제 1 이미지의 적어도 2개의 포인트들 사이의 관계 및/또는 적어도 위치 정보를 포함한다. 이미지 정보는, 제 1 이미지 또는 하나 이상의 추가적인 이미지들에 기초하여 결정된다. 위치 정보는, 3차원 오브젝트의 적어도 하나의 포인트와 제 1 이미지 평면 사이의 관계를 설명한다. 3D 이미지 분석기는 위치 계산기 및 정렬 계산기를 포함하고, 이들을 이용하여 3D 공간에서 시선 방향을 계산한다.

Description

시야 방향을 결정하기 위한 3-D 이미지 분석기{3-D IMAGE ANALYZER FOR DETERMINING VIEWING DIRECTION}
본 발명의 실시예들은, 시선 방향이 결정되는 사용자에 의한 교정의 필요성 없이, 3D 공간 내에서 시선 방향(즉, 방향 벡터) 또는 시선(위치 벡터 및 방향 벡터로 구성됨)을 결정하기 위한 3D 이미지 분석기와 관련된다. 추가적인 실시예들은, 정렬 및/또는 시선 방향을 인식하기 위한 3D 이미지 분석기를 갖는 이미지 분석 시스템 및 정렬 및/또는 시선 방향을 인식하기 위한 대응하는 방법에 관한 것이다.
인간의 시선 방향의 자동 결정을 위해, 상이한 카테고리들의 시스템들이 존재한다. 하나의 공통 카테고리는 비디오-기반 시스템들이고, 이는, 인간의 눈을 하나 이상의 카메라들로 기록하고, 이러한 비디오 기록들을 온라인 또는 오프라인에서 분석하여 그로부터 시선 방향을 결정한다.
시선 방향의 비디오-기반 결정을 위한 시스템들은 대개, 이용에 앞서 각각의 사용자에 대해, 그리고 일부 경우들에는 추가적으로 이용 동안(예를 들어, 카메라의 검출 구역을 벗어나는 경우, 또는 사용자와 시스템 사이의 위치의 변경의 경우), 사용자의 시선 방향을 결정할 수 있기 위해 교정 절차를 요구한다. 게다가, 이러한 시스템들 중 일부는, 시선 방향의 결정을 수행할 수 있기 위해, (예를 들어, 독일 특허 제 DE 10 2004 046 617 A1호에 개시된 바와 같이) 사용자의 위치에 대한 사전 지식 및 사용자를 향한 카메라(들)의 매우 특정한 배열 또는 카메라(들)와 조명의 서로에 대한 매우 특정되고 정의된 배열을 요구한다.
따라서, 개선된 개념에 대한 요구가 존재한다.
하나의 목적은, 효율적이고 신뢰가능한 방향 인식, 예를 들어, 시선 방향 인식을 허용하는 것이다.
이 목적은 독립항들에 의해 달성된다. 추가적인 실시예들은 종속항들에 정의된다.
본 발명의 실시예들은, 시선 방향 또는 시선(예를 들어, 시선 방향 벡터 및 위치 벡터를 포함하고, 이는, 예를 들어, 동공 중점, 및 시선 방향 벡터가 어디에서 시작하는지를 표시함) 또는 시점의 결정을 위한 3D 이미지 분석기를 생성하여, 3D 이미지 벡터는, 제 1 이미지에 기초하여 결정되는 이미지 데이터의 하나의 제 1 세트 및 제 1 이미지에 기초하여 결정되는 정보의 추가적인 세트를 적어도 수신하도록 구성되고, 따라서 제 1 이미지는, 제 1 이미지 평면으로의 제 1 관점으로부터 3차원 오브젝트로부터 얻어지는 패턴(예를 들어, 동공, 홍채 또는 타원의 패턴)을 포함하고, 따라서 추가적인 세트는 또한 추가적인 이미지 평면으로의 추가적인 관점으로부터 동일한 3차원 오브젝트의 디스플레이로부터 얻어지는 패턴을 갖는 이미지를 포함하거나 또는 추가적인 세트는, 3차원 오브젝트의 적어도 하나의 포인트와 제 1 이미지 평면 사이의 (상대적인) 관계를 설명하는 정보를 포함한다. 3D 이미지 분석기는 위치 계산기 및 정렬 계산기 셋업을 포함한다. 위치 계산기는, 제 1 세트, 추가적인 이미지에 기초하여 결정되는 추가적인 세트, 및 제 1 및 추가적인 이미지의 관점들 사이의 기하학적 관계에 기초하여 3차원 공간 내에서 패턴의 위치를 계산하거나, 또는 제 1 이미지에서 적어도 2개의 특징적 피쳐들 사이에서 서로를 향해 통계적으로 평가된 관계 및 제 1 세트에 기초하여 3차원 공간 내에서 패턴의 위치를 계산하거나, 또는 3차원 오브젝트의 적어도 하나의 포인트와 제 1 이미지 평면 사이의 위치 관계 및 제 1 세트에 기초하여 3차원 공간 내에서 패턴의 위치를 계산하도록 구성된다. 정렬 계산기는, 이미지마다 2개의 가능한 3D 시선 벡터들을 계산하고, 이러한 가능한 3D 시선 벡터들로부터 3차원 공간에서 패턴이 정렬되는 3D 시선 벡터를 결정하도록 구성되고, 계산 및 결정은 제 1 세트, 추가적인 세트 및 패턴의 계산된 위치에 기초한다.
따라서, 본 발명의 요지는, 상기 언급된 위치 계산기에 의해 결정된 패턴의 위치에 기초하여, 공간에서 오브젝트의 정렬, 예를 들어, 공간에서 동공의 정렬(따라서, 시선 방향), 및/또는 시선(시선 방향 벡터 및 위치 벡터를 포함하고, 위치 벡터는, 예를 들어, 동공 중점 및 시선 방향 벡터가 어디서 시작하는지를 표시함)이 이미지 데이터의 적어도 하나의 세트에 기초하여, 예를 들어, 제 1 관점 및 추가적인 정보 및/또는 (추가적인 관점으로부터) 이미지 데이터의 추가적인 세트로부터 결정될 수 있다는 것이 인식된다는 사실이다. 정렬의 결정은, 제 1 단계에서 패턴의 위치를 결정하는 위치 계산기를 이용하여 수행된다. 그 다음, 패턴의 특정 위치로부터 시작하여, 패턴이 정렬될 수 있는 2개의 가능한 3D 시선 벡터들이 존재한다. 따라서, 이러한 2개의 가능한 3D 시선 벡터들이 결정될 수 있어서, 예를 들어, 패턴의 광학적 왜곡이 패턴의 기본 형태와 비교될 수 있고, 그로부터 패턴이 이미지(이미지 데이터의 제 1 세트 참조)의 광학 평면을 향해 얼마만큼 티핑(tipping)되는지가 결정될 수 있다. 티핑의 경우 타원으로 도시되는 (둥근) 동공의 예로부터 시작하여, 광학 평면에 대해 동공의 2개의 가능한 티핑 각도들이 존재하고, 이는 동공의 타원-형상 도시를 도출한다. 따라서, 정렬 계산기는, 이론적으로 가능한 티핑 각도 및/또는 실제 3D 시선 벡터들에 대응하고 그에 따라 실제 시선 방향에 대응하는 이미지 정보의 제 1 세트에 기초하여 또한 획득되는 추가적인 정보에 기초하여 또는 이미지 데이터의 추가적인 세트에 기초하여 결정한다.
따라서, (3D 위치 계산 및 가상 투사 평면을 이용함으로써), 바람직하게는, 동공과 카메라 사이의 거리에 대한 사전 정보 없이 또는 (예를 들어, 동공 중점에 의한) 카메라의 광학 축들의 정확한 포지셔닝 없이, 시선 방향 벡터 및/또는 시선(탐색된 패턴 및 방향 벡터를 포함함)이 결정될 수 있다.
실시예들에 따르면, 적용가능한 3D 시선 벡터의 결정 및/또는 선택은, (추가적인 관점으로부터) 이미지 데이터의 추가적인 세트에 대한 2개의 추가적인 가능한 3D 시선 벡터들이 결정되고, 따라서 이미지 데이터의 추가적인 세트로부터의 3D 시선 벡터가, 따라서 실제 3D 시선 벡터인 이미지 데이터의 추가적인 세트로부터의 3D 시선 벡터에 대응하는 방식으로 발생한다. 이에 대한 대안으로, 추가적인 실시예들에 따르면, 예를 들어, 눈의 공막의 얼마나 많은 픽셀들이 제 1 이미지에 도시되는지가 (동공 중점에서 시작하는) 2개의 가능한 3D 시선 벡터들에 의해 스캔된다는 사실에 의해, 이미지 데이터의 제 1 세트가 또한 분석될 수 있다. 따라서, 공막의 더 적은 픽셀들을 스캔하는 3D 시선 벡터가 선택된다. 공막의 분석 대신에, 3D 시선 벡터가 선택되는 것이 또한 가능할 것이고, (동공 중점으로부터 시작하는) 이의 이미지로의 투사를 따라, 동공 중점과 눈의 개방의 엣지 사이에서 더 적은 거리가 얻어진다.
추가적인 실시예들에 따르면, 또한 통계적으로 결정된 관계들, 예를 들어, 2개의 얼굴 특성(예를 들어, 코, 눈) 사이의 거리가, 패턴에서의 포인트(예를 들어, 동공 또는 홍채 중심)의 3D 위치를 계산하는데 참조될 수 있다. 이러한 통계적 관계들은 미리 결정되고 메모리에 저장된다.
추가적인 실시예들에 따르면, 앞서 설명된 패턴에서의 포인트의 3D 위치의 결정은, 통계적으로 결정된 값들의 이용으로 제한되지 않는다. 이것은 또한, 얼굴 특성들(예를 들어, 코, 눈)의 3D 위치들 또는 앞서 언급된 패턴의 3D 위치를 제공하는 업스트림 계산기의 결과들에 기초하여 발생한다.
추가적인 실시예들에 따르면, 가능한 3D 시선 벡터들로부터의 실제 3D 시선 벡터의 선택은 또한 패턴의 3D 위치(예를 들어, 동공 또는 홍채 중심), 및 앞서 언급된 얼굴의 특성들의 3D 위치들(예를 들어, 눈의 엣지, 입의 엣지)에 기초하여 발생할 수 있다.
추가적인 실시예들에 따르면, 정렬 계산은, 옵틱스의 교차부를 중심으로 옵틱스를 포함하는 실제 제 1 투사 평면의 회전으로 인해 제 1 가상 투사가 제 1 이미지에 대해 계산되어, 제 1 가상 투사 평면에 수직인 것으로 정의되는 제 1 가상 광학 축이 인식된 패턴의 중점을 통해 연장되는 방식으로 발생한다. 바람직하게는, 추가적인 실시예들에 따르면, 제 2 가상 위치는, 제 2 가상 투사 평면에 수직인 것으로 정의되는 제 2 가상 광학 축이 엣지 패턴의 중점을 통해 연장되도록, 옵틱스의 교차부를 중심으로 옵틱스를 포함하는 실제 제 2 투사 평면의 회전에 의해 추가적인 이미지에 대해 계산된다. 앞서 언급된 가상 투사 평면들을 이용함으로써, 제 1 및 제 2 이미지에 기초하여 2개의 가능한 3D 시선 벡터들을 각각 계산하는 것이 후속적으로 가능하고, 그로부터 각각의 하나가 (이상적인 경우에서는 정확하게, 실제로는 최소의 편차로) 실제 3D 시선 벡터에 대응한다.
추가적인 실시예들에 따르면, 3D 시선 벡터는 방정식들의 세트에 의해 설명될 수 있고, 모든 방정식은, 3D 시선 벡터에 대한 각각의 가상 투사 평면들 및 각각의 축들의 기하학적 관계를 설명한다. 제 1 가상 투사 평면을 참조하는 것은, 3D 시선 벡터들의 제 1 세트의 이미지 데이터에 기초하여 제 1 방정식에 의해 설명될 수 있고, 제 1 방정식의 2개의 솔루션들이 가능하다. 제 2 세트의 이미지 데이터에 기초한 제 2 방정식은, 제 2 가상 투사 평면을 참조하는 3D 시선 벡터에 대한 2개의 (추가적인) 솔루션들을 도출한다. 실제 3D 시선 벡터는, 각각 제 1 방정식의 하나의 솔루션 벡터 및 제 2 방정식의 하나의 솔루션 벡터로부터 측정된 평균화에 의해 계산될 수 있다. 이러한 2개의 벡터들은, 이들의 차이가 방정식들 들 모두의 솔루션 벡터들로부터의 다른 결합들 사이의 차이보다 작아서, 시스템이 제 1 및 제 2 방정식을 포함하는 방정식들로부터 하나의 명확한 솔루션을 갖게 한다는 사실에 의해 정의된다. 제 1 방정식의 앞서 언급된 솔루션 벡터는, 제 2 방정식 플러스/마이너스 10%의 앞서 언급된 솔루션 벡터와 동일하다.
추가적인 실시예들에 따르면, 3D 이미지 분석기는, 예를 들어, 선택적인 적응형 데이터 프로세서를 포함하는 프로세싱 유닛에서 구현될 수 있다.
추가적인 실시예들에 따르면, 3D 이미지 분석기는 동공을 추적하기 위한 이미지 분석 시스템의 일부일 수 있다. 이러한 이미지 분석 시스템은 통상적으로, 적어도 하나의 카메라에 대한 적어도 하나의 허프 경로(Hough path), 또는 바람직하게는 적어도 2개의 카메라들에 대한 2개의 허프 경로들을 포함한다. 게다가, 각 허프 경로는 하나의 프리-프로세서 뿐만 아니라 하나의 허프 변환 유닛을 포함할 수 있다. 이러한 허프 변환 유닛에 추가적으로, 수집된 패턴들을 분석하고 이미지 데이터의 세트를 출력하기 위한 유닛이 또한 포함될 수 있다.
추가적인 실시예들에 따르면, 시선 방향 또는 시선을 결정하기 위한 방법이 구축된다. 방법은, 제 1 이미지에 기초하여 결정되는 이미지 데이터의 적어도 하나의 제 1 세트, 및 제 1 이미지 또는 추가적인 이미지에 기초하여 결정되는 정보의 추가적인 세트를 수신하는 단계를 포함하고, 제 1 이미지는 제 1 이미지 평면에서 제 1 관점으로부터 3차원 오브젝트의 패턴을 디스플레이하고, 추가적인 세트는, 추가적인 이미지 평면에서 추가적인 관점으로부터 동일한 3차원 오브젝트의 예시로부터 얻어지는 패턴을 갖는 추가적인 이미지를 포함하거나, 또는 3차원 오브젝트의 적어도 하나의 포인트와 제 1 이미지 평면 사이의 관계를 설명하는 정보를 포함한다. 방법은, 제 1 세트, 추가적인 이미지에 기초하여 결정되는 추가적인 세트, 및 제 1 및 추가적인 이미지의 관점들 사이의 기하학적 관계에 기초하여 3차원 공간에서 패턴의 위치를 계산하는 단계, 또는 제 1 이미지에서 적어도 2개의 특징적 피쳐들 사이에서 서로에 대해 통계적으로 결정된 관계 및 제 1 세트에 기초하여 3차원 공간에서 패턴의 위치를 계산하는 단계, 또는 3차원 오브젝트의 적어도 하나의 포인트와 제 1 이미지 평면 사이의 위치 관계 및 제 1 세트에 기초하여 3차원 공간에서 패턴의 위치를 계산하는 단계를 포함한다. 제 3 단계에서, 3차원 공간에서 패턴이 정렬되는 3D 시선 벡터가 계산되고, 계산은 이미지 데이터의 제 1 세트, 정보의 추가적인 세트 및 패턴의 계산된 위치에 기초하여 발생한다.
추가적인 실시예들에 다르면, 본 방법은 컴퓨터에 의해 수행될 수 있다. 지금까지, 추가적인 실시예는, 상기 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 판독가능 디지털 저장 매체와 관련된다.
본 발명의 실시예들은 후속적으로, 첨부된 도면들에 기초하여 예시된다. 도면에서
도 1은, 실시예에 따른 3D 이미지 분석기의 개략적 블록도이다.
도 2a는, 일 실시예에 따른 프리-프로세서 및 허프 변환 유닛을 갖는 허프 프로세서의 개략적 블록도이다.
도 2b는, 일 실시예에 따른 프리-프로세서의 개략적 블록도이다.
도 2c는, 직선들(섹션들)의 검출을 위한 허프 코어들의 개략적 예시이다.
도 3a는, 일 실시예에 따른 허프 변환 유닛의 가능한 구현의 개략적 블록도이다.
도 3b는, 일 실시예에 따른 감속 매트릭스의 단일 셀이다.
도 4a 내지 도 4d는, 일 실시예에 따른 허프 변환 유닛의 추가적인 구현의 개략적 블록도이다.
도 5a는, 실시예들에 따른 2개의 이미지 프로세서들 및 포스트-프로세싱 유닛을 갖고, 그에 따라 이미지 프로세서들 각각이 하나의 허프 프로세서를 포함하는 입체 카메라 어셈블리의 개략적 블록도이다.
도 5b는, 도 5a의 유닛에 대해 실현가능하고, 모노스코픽의 경우 시점 검출을 설명하기 위한 시점 검출의 예시에 대한 눈의 예시적인 사진이다.
도 6 내지 도 7은, 추가적인 실시예들 및/또는 양상들의 설명을 위한 추가적인 예시들이다.
도 8a 내지 도 8c는 연관된 투사 평면을을 갖는 광학 시스템들의 개략적 예시들이다.
도 8d는, 그에 대한 설명에서 언급되는 파라미터들을 갖는 타원의 개략적 예시이다.
도 8e는, 타원의 파라미터들에 기초하여 3D 공간에서 원의 정렬의 계산의 설명에 대한 평면의 타원으로서 3D 공간에서 원의 도시에 대한 개략적 예시이다.
도 9a 내지 도 9i는, 허프 변환 유닛에 대한 배경 지식의 설명을 위한 추가적인 예시들이다.
아래에서, 본 발명의 실시예들은 도면들을 이용하여 상세히 설명된다. 동일한 엘리먼트들에는 동일한 참조 부호들이 제공되어, 이들의 설명은 서로 적용가능하고 그리고/또는 교환가능하다.
도 1은, 위치 계산기(404) 및 정렬 계산기(408)를 갖는 3D 이미지 분석기(400)를 도시한다. 3D 이미지 분석기는, 이미지 데이터의 적어도 하나의 세트에 기초하여, 그러나 바람직하게는 이미지 데이터의 제 1 세트 및 제 2 세트에 기초하여 3D 공간에서 시선 방향(따라서, 3D 시선 방향)을 결정하도록 구성된다. 시선(line of sight) 상에서 마찬가지로 결정된 포인트(예를 들어, 3D 공간에서 동공 또는 홍채 중심)와 함께, 이 포인트 및 앞서 언급된 시선 방향으로부터, 3D 시점의 계산에 기초하여 또한 이용될 수 있는 3D 시선이 얻어진다.
결정을 위한 기본적 방법은 3가지 기본적 단계들을 포함하여, 즉, 제 1 이미지(802a)(도 8a 참조)에 기초하여 결정되는 이미지 데이터의 적어도 하나의 제 1 세트, 및 제 1 이미지(802a) 및 추가적인 이미지(802b)에 기초하여 결정되는 정보의 추가적인 세트를 수신하는 단계를 포함한다. 따라서, 제 1 이미지(802a)는, 제 1 이미지 평면의 제 1 관점으로부터 3차원 오브젝트(806a)(도 8b 참조)의 패턴(804a)을 디스플레이한다. 추가적인 세트는 통상적으로 추가적인 이미지(802b)를 포함한다.
추가적인 실시예들의 경우, 추가적인 세트는, (구체적인 이미지 데이터 대신에) 하기 정보, 즉, 3차원 오브젝트(806a)의 위치 PMP와 제 1 이미지 평면(802) 사이의 위치 관계, 얼굴 또는 눈에서 몇몇 특성 포인트들 사이의 서로에 대한 위치 관계들, 센서에 대한 얼굴 또는 눈의 특성 포인트들의 위치 관계들, 얼굴의 위치 및 정렬 중 하나 이상을 포함할 수 있다.
다음 단계에서, 제 1 세트, 추가적인 세트, 및 제 1 및 제 2 이미지(802a 및 802)의 관점들 사이의 기하학적 관계에 기초하여 3차원 공간에서 패턴(806a)의 위치가 계산된다. 대안적으로, 제 1 이미지(804a)의 적어도 2개의 특징적 피쳐들 사이에서 서로에 대해 통계적으로 평가된 관계 및 제 1 세트에 기초하여 3차원 공간에서 패턴(806)의 위치의 계산이 계산될 수 있다. 이러한 유닛 동작의 마지막 단계는, 3차원 공간에서 패턴(804a 및 804b)이 정렬되는 3D 시선 벡터의 계산과 관련된다. 계산은 제 1 세트 및 제 2 세트에 기초하여 발생한다.
이러한 시선 방향 계산에 대한 상세한 계산 예는 아래에서 도 8a 내지 도 8e를 이용하여 설명된다.
동공 중점 계산
앞서 설명된 바와 같이, 이미지 센서들(802a 및 802b) 상에서 카메라 렌즈들(808a 및 808b)에 의해 원형 동공(806a)을 도시하는 것에 의해 타원형 동공 투사가 각각 발생한다(도 8a 참조). 동공의 중심은 센서들(802a 및 802b) 둘 모두 상에 있고, 따라서, 또한, 각각의 카메라에서 이미지들은 항상 타원의 중점 EMP K1 및 EMP K2로서 도시된다. 따라서, 이러한 2개의 타원 중점들 EMP K1 및 EMP K2의 입체 배면 투사로 인해, 3D 동공 중점은, 대물 렌즈 모델을 이용하여 결정될 수 있다. 이에 대한 선택적인 요건은, 카메라들 둘 모두로부터 얻어진 도시된 장면들이 동일하고 따라서 동공 중점이 동일한 위치에 수집되도록 이상적으로 시간 동기화된 사진이다.
초기에, 각각의 카메라에 대해, 타원 중점의 배면 투사 빔 RS가 계산되어야 하고, 이는, 광학 시스템(도 8a)의 오브젝트 측(H1) 상의 교차부와 오브젝트 사이의 교차 빔을 따라 걸쳐 있다.
Figure pct00001
(A1)
이러한 배면 투사 빔은 수식 (A1)에 의해 정의된다. 이는, 시작 포인트 RS0 및 표준화된 방향 벡터
Figure pct00002
로 이루어지고, 이는, 대물 렌즈의 2개의 메인 포인트들 H1 및 H2로부터 뿐만 아니라 센서 평면의 타원 중심 EMP로부터 수식들 (A2) 및 (A3)으로부터 이용되는 대물 렌즈 모델(도 8b)를 도출한다. 이를 위해, 모든 3개의 포인트들(H1, H2 및 EMP)이 눈-추적기 좌표 시스템에서 이용가능해야 한다.
Figure pct00003
(A2)
Figure pct00004
(A3)
메인 포인트들은, 수식들,
Figure pct00005
Figure pct00006
에 의해 대물 렌즈 및 카메라 파라미터들(도 8b)로부터 직접 계산될 수 있으며, 여기서 KO는, 카메라 센서 평면의 중점이고,
Figure pct00007
는 카메라 센서 평면의 법선 벡터이다. 카메라 좌표 시스템에서 3D 타원 중심은, 이전에 결정된 타원 중심 파라미터들 xm 및 ym으로부터 계산될 수 있고, 이들은 방정식
Figure pct00008
을 이용하여 제공된다.
따라서, Pimage는 카메라 이미지의 픽셀 단위의 해상도이고, Soffset는 센서 상의 위치이고, 여기서, 이미지를 판독하는 것이 시작되고, Sres는 센서의 해상도이고, SPxGr는 센서의 픽셀 크기이다.
탐색된 동공 중점은, 이상적인 경우, 2개의 배면 투사 빔들 RS K1 RS K2 의 교차점이다. 그러나, 실제 결정되는 모델 파라미터들 및 타원 중점들에 있어서, 이미 최소 측정 에러들에 의해, 직선들의 어떠한 교차점도 3D 공간에 도출되지 않는다. 교차하지도 않고 평행하지도 않은 이러한 성상도의 2개의 직선들은, 기하학적으로 스큐(skew) 라인들로서 지정된다. 배면 투사의 경우, 2개의 스큐 라인들 각각은 동공 중점을 매우 근접하게 통과하는 것으로 가정될 수 있다. 따라서, 동공 중점은, 2개의 직선들 사이의 라인의 절반 상에서 서로 최단 거리의 위치에 놓인다.
2개의 스큐 라인들 사이의 최단 거리는, 2개의 직선들에 수직인 연결 라인에 의해 표시된다. 배면 투사 빔들 둘 모두 상에서 수직인 스탠딩 라인의 방향 벡터
Figure pct00009
는 방향 벡터들의 교차 곱(intersection product)으로서 수식 (A4)에 따라 계산될 수 있다.
Figure pct00010
(A4)
배면 투사 빔들 사이의 최단 연결 라인의 위치는 수식 (A5)에 의해 정의된다. RS K1 (s) , RS K2 (t) 및
Figure pct00011
의 이용에 의해, 이로부터 방정식이 도출되고, 그로부터 s, t 및 u가 계산될 수 있다.
Figure pct00012
(A5)
배면 투사 빔들 사이의 라인의 절반에 놓인 탐색된 동공 중점 PMP은 결과적으로 s 및 u에 대해 계산된 값들을 이용한 후 수식 (A6)으로부터 얻어진다.
Figure pct00013
(A6)
계산된 동공 중점의 정확도에 대한 표시자로서, 추가적으로 배면 투사 빔들 사이의 최단 거리 dRS가 계산될 수 있다. 모델 파라미터들 및 타원 파라미터들이 더 정확할수록, dRS는 더 작다.
Figure pct00014
(A7)
계산된 동공 중점은 2개의 파라미터들 중 하나이고, 이는, 눈-추적기에 의해 결정되는 눈의 시선을 결정한다. 아울러, 이는, 다음으로 설명되는 시선 방향 벡터
Figure pct00015
의 계산을 위해 필요하다.
동공 중점을 계산하기 위한 이러한 방법의 이점은, 카메라들의 눈까지의 거리들이 시스템에서 확고하게 저장될 필요가 없다는 점이다. 이것은, 예를 들어, DE 10 2004 046 617 A1의 특허 명세서에서 설명되는 방법에서 요구된다.
시선 방향 벡터
결정되는 시선 방향 벡터
Figure pct00016
는, 원형 동공 표면의 법선 벡터에 대응하고, 따라서, 3D 공간에서 특정된 동공의 정렬에 기인한다. 카메라 센서들 상에서 동공의 2개의 타원-형상 투사들 각각에 대해 결정될 수 있는 타원 파라미터로부터, 동공의 위치 및 정렬이 계산될 수 있다. 따라서, 2개의 절반-축의 길이들 뿐만 아니라 투사되는 타원들의 회전 각도들은, 카메라 위치에 대한 동공 및/또는 시선 방향의 정렬에 대한 특성이다.
타원 파라미터들, 및 눈-추적 시스템에 확고하게 저장된 카메라들과 눈 사이의 거리들로부터 시선 방향을 계산하기 위한 하나의 접근법은, 예를 들어, DE 10 2004 046 617 A1의 특허 명세서에서 설명된다. 도 8e에 도시된 바와 같이, 이러한 접근법은 평행한 투사를 가정하고, 따라서, 센서 법선에 의해 정의되는 직선 및 센서에 투사되는 동공의 중점은 동공 중점을 통과한다. 이를 위해, 카메라들의 눈까지의 거리들이 미리 알려지고 눈-추적 시스템에 확고하게 저장될 필요가 있다.
그러나, 실제 오브젝트의 디스플레이 동작을 설명하는 이러한 접근법에서 제시되는 카메라 대물 렌즈의 모델에 있어서, 오브젝트의 이미지 센서로의 원근 투사가 발생한다. 이로 인해, 동공 중점의 계산이 수행될 수 있고, 카메라의 눈까지의 거리들은 미리 알려질 필요가 없고, 이는, 앞서 언급된 특허 명세서에 비해 필수적인 개선들 중 하나를 구성한다. 그러나, 원근 투사로 인해, 센서 상에 디스플레이되는 동공 타원의 형태는, 평행 투사와는 반대일 뿐만 아니라 센서 표면에 대해 동공의 기울기를 도출한다. 마찬가지로, 카메라 대물 렌즈의 광학 축으로부터 동공 중점의 편향 δ는, 도 8b에 도시된 바와 같이, 동공 투사의 형태에 영향을 미치고, 따라서, 그로부터 결정되는 타원 파라미터들에 영향을 미친다.
도 8b의 스케치와는 반대로, 수백 밀리미터를 갖는, 동공과 카메라 사이의 거리는, 2mm 내지 8mm인 동공 반경에 비해 매우 크다. 따라서, 광학 축에 대한 동공의 기울기로 인해 발생하는 이상적인 타원으로부터 동공 투사의 편차는 매우 작고 생략될 수 있다.
시선 방향 벡터
Figure pct00017
를 계산할 수 있기 위해, 타원 파라미터에 대한 각도 δ의 영향은, 동공 투사의 형태만이 동공의 정렬에 의해 영향받도록, 제거되어야 한다. 이것은, 동공 중점 P MP 가 카메라 시스템의 광학 축에 직접 놓이는 경우 항상 제공된다. 따라서, 각도 δ의 영향은, 가상 카메라 시스템 vK의 센서 상에서 동공 투사를 계산함으로써 제거될 수 있고, 가상 카메라 시스템의 광학 축은, 도 8c에 도시된 바와 같이, 미리 계산된 동공 중점 P MP 를 직접 통과한다.
이러한 가상 카메라 시스템(804')(도 8c의 vK)의 위치 및 정렬은, 원래의 카메라 시스템(804a)(도 8b의 K)의 오브젝트측 메인 포인트 H1을 중심으로 한 회전에 의해 원래의 카메라 시스템(804a)의 파라미터로부터 계산될 수 있다. 따라서, 이것은 동시에, 가상 카메라 시스템(804a')의 오브젝트-측 메인 포인트 vH 1 에 대응한다. 따라서, 도시된 오브젝트들의 교차 빔들의 방향 벡터들은, 원래의 카메라 시스템에서와 동등하게 가상 광학 시스템(808c')의 앞 및 뒤에 있다. 시선 방향 벡터를 결정하는 것에 대한 모든 추가적인 계산들은 눈-추적기 좌표 시스템에서 발생한다.
가상 카메라 vK의 표준화된 법선 벡터 vK
Figure pct00018
은 다음과 같이 획득된다:
Figure pct00019
(A8)
추가적인 절차의 경우, 눈-추적기 좌표 시스템의 x-축을 중심으로 한 각도(
Figure pct00020
), y-축을 중심으로 한 각도(
Figure pct00021
) 및 z-축을 중심으로 한 각도(
Figure pct00022
)를 계산하는 것이 요구되고, 이에 대해, 눈-추적기 좌표 시스템의 z-방향의 단위 벡터는, 벡터
Figure pct00023
를 획득하기 위해 눈-추적기 좌표 시스템의 몇몇 축들을 중심으로 회전되어야 한다. 각도들
Figure pct00024
,
Figure pct00025
Figure pct00026
을 중심으로 한 눈-추적기 좌표 시스템의 x-방향의 단위 벡터의 회전 뿐만 아니라 y-방향의 단위 벡터의 회전으로 인해, 벡터들
Figure pct00027
Figure pct00028
이 계산될 수 있고, 이는, 눈-추적기 좌표 시스템에서 가상 센서의 x- 및 y-축을 표시한다.
가상 카메라 시스템(804a')(도 8c)의 위치를 획득하기 위해, 동시에 이미지 센서의 중점인 좌표 원점 및 위치 벡터는, 동공 중점 P MP 의 교차 빔에 놓이도록 수식 (A9)를 이용하여 계산되어야 한다.
Figure pct00029
(A9)
이를 위해 메인 포인트들 사이에서 요구되는 거리 d 뿐만 아니라 메인 평면(2)과 센서 평면 사이의 거리 b는 알려져야 하거나, 예를 들어, 경험적 셋업에 의해 결정되어야 한다.
추가적으로, 이미지측 메인 포인트의 위치는 수식 (A10)으로부터 얻어진다.
Figure pct00030
A(10)
가상 센서(804a') 상에서 동공 투사를 계산하기 위해, 원래의 위치에서 센서 상에 미리 초기에 결정된 타원의 엣지 포인트들
Figure pct00031
가 요구된다. 이것은, 카메라 이미지에서 타원 E의 엣지 포인트들
Figure pct00032
로부터 얻어지고, 따라서, 도 8d에 대응하여, Ea는 타원의 짧은 절반-축이고, Eb는 타원의 긴 절반-축이고, Exm 및 Eym은 타원의 중점 좌표이고, Ea는 타원의 회전 각도이다. 눈-추적기 좌표 시스템에서 일 포인트
Figure pct00033
의 위치는, E의 파라미터들, 센서들 S 및 카메라 K의 파라미터들로부터 수식 (A11) 내지 (A14)에 의해 계산될 수 있고, 여기서 ω는 타원 둘레 상에서 도 8d에 따른 엣지 포인트
Figure pct00034
의 위치를 표시한다.
Figure pct00035
(A11)
Figure pct00036
(A12)
Figure pct00037
(A13)
Figure pct00038
(A14)
센서 상에서 타원 엣지 포인트
Figure pct00039
로서 동공 엣지 포인트를 디스플레이하는 원래의 카메라 시스템의 하나의 교차 빔 KS의 방향은, 가상 센서 상에서 타원 엣지 포인트
Figure pct00040
와 동일한 동공 엣지 포인트를 디스플레이하는, 가상 카메라 시스템에서 교차 빔 vKS의 방향과 동일하다. 도 8b 및 도 8c의 타원 엣지 포인트들의 교차 빔들은 이러한 양상을 입증한다. 따라서, 2개의 빔들 KSvKS는 동일한 방향 벡터를 갖고, 이는 수식 (A15)로부터 얻어진다. 가상 센서측 교차 빔 vKS의 위치 벡터 vKS 0의 경우, vKS 0 = vH 2 가 항상 적용가능하다.
Figure pct00041
(A15)
가상 카메라 vK의 x-y-평면에 대응하는 가상 센서 평면과 가산 교차 빔은 수식 (A16)에서 계산되고, 따라서 s2 및 t2를 풀어서 이러한 교차부의 파라미터가 획득된다. 이에 의해, 가상 카메라의 이미지에서 픽셀 좌표의 타원 엣지 포인트는 수식 (A17)에 의해 계산될 수 있다.
Figure pct00042
(A16)
Figure pct00043
(A17)
후속적으로, 몇몇 가상 엣지 포인트들
Figure pct00044
로부터, 가상 타원의 파라미터 vE는 타원 피팅에 의해, 예를 들어, Fitzgibbon 등에 따른 알고리즘인 "direct least square fitting of ellipses"에 의해 계산될 수 있다. 이를 위해, 적어도 6개의 가상 엣지 포인트들
Figure pct00045
가 요구되고, 이는, 앞서 설명된 과정에서 수식 (A11)의 몇몇 ω를 이용함으로써 계산될 수 있다.
이러한 방식으로 결정된 가상 타원의 형태 vE는 오직 동공의 정렬에만 의존한다. 게다가, 그 중점은, 카메라 법선
Figure pct00046
에 대응하는 센서 법선과 함께 항상 가상 센서의 중심에 있고, 이것은, 동공 중점 P MP 를 통해 광학 축을 따라 존재하는 직선을 형성한다. 따라서, DE 10 2004 046 617 A1의 특허명세서에서 제시된 접근법에 기초하여 시선 방향을 후속적으로 계산하기 위한 요건들이 충족된다. 따라서, 이러한 접근법에 있어서, 이제, 이것은 또한, 동공 중점이 실제 카메라 시스템의 광학 축의 축을 넘어 존재하면, 시선 방향을 결정하기 위해 앞서 설명된 가상 카메라 시스템을 이용함으로써 가능하고, 이것은 거의 항상 실제 애플리케이션들의 경우이다.
도 8e에 도시된 바와 같이, 앞서 계산된 가상 타원 vE는 이제 가상 메인 평면(1)에서 허용된다. vE의 중점이 가상 센서의 중심에 놓이고, 따라서 광학 축에 놓이기 때문에, 3D 타원 중점 vE' MP 은 가상 메인 포인트(1)에 대응한다. 동시에, 이것은, 가상 메인 평면(1)에서 동공 중점 P MP 의 드롭된 수직 풋(foot)이다. 다음으로, 오직 타원 vE의 축 비 및 회전 각도만이 이용된다. 따라서, vE의 이러한 형태 파라미터들은, 2D 센서 평면의 x- 및 y-축의 정렬들로서 메인 평면(1)에 대해 불변으로 이용될 수 있고, 이에 대해, 파라미터들은, 3D 센서 평면을 참조하고, 그에 대응하고, 따라서 또한 메인 평면(1)의 정렬에 대응한다.
카메라 이미지의 동공(806a)의 각각의 사진은 동공의 2개의 상이한 정렬들에 의해 발생한다. 따라서, 동공 형태를 평가하는 동안, 도 8e에 도시된 바와 같이, 가상 메인 평면(1)에서 뷰의 2개의 가능한 직선들의 2개의 가상 교차부들 vS는 모든 카메라의 결과들로부터 발생한다. 도 8e의 기하학적 비에 대응하여, 2개의 가능한 시선 방향들
Figure pct00047
Figure pct00048
는 다음과 같이 결정될 수 있다.
알려진 동공 중점과 타원 중점 vE' MP 사이의 거리 A는,
Figure pct00049
(A18)
이다.
이로부터, 수식 A19에 의해 r이 결정될 수 있다.
Figure pct00050
(A19)
vH 1 로부터 vS 1 뿐만 아니라 vS 2 에 정렬되는 방향 벡터들
Figure pct00051
뿐만 아니라
Figure pct00052
둘 모두는, 수식들,
Figure pct00053
Figure pct00054
Figure pct00055
Figure pct00056
에서 유사하게 계산된다.
Figure pct00057
Figure pct00058
로부터:
Figure pct00059
(A20)
Figure pct00060
(A21)
후속적으로, 가상 교차부들 vS1 뿐만 아니라 vS2 둘 모두가 결정될 수 있고, 그로부터 가능한 시선 방향들
Figure pct00061
Figure pct00062
이 결정될 수 있다.
Figure pct00063
(A22)
Figure pct00064
(A23)
Figure pct00065
(A24)
Figure pct00066
(A25)
실제 시선 방향을 결정하기 위해, 카메라 1의 가능한 시선 방향들(
Figure pct00067
뿐만 아니라
Figure pct00068
) 및 카메라 2의 가능한 시선 방향들(
Figure pct00069
뿐만 아니라
Figure pct00070
)이 요구된다. 이러한 4개의 벡터들로부터, 각각의 카메라의 각각의 하나는 실제 시선 방향을 표시하고, 따라서 이러한 2개의 표준화된 벡터들은 이상적으로 동일하다. 이들을 식별하기 위해, 모든 4개의 가능한 결합들에 대해, 각각 선택된 가능한 시선 방향 벡터들의 차이들이 하나의 카메라의 벡터 및 다른 하나의 카메라의 벡터로부터 형성된다. 최소 차이를 갖는 결합은 탐색된 벡터들을 포함한다. 이것은, 평균화되면, 결정되는 시선 방향 벡터
Figure pct00071
를 도출한다. 평균화되는 경우, 거의 동시에 캡쳐되는 이미지는, 카메라들 둘 모두가 동일한 동공 위치 뿐만 아니라 동일한 정렬을 수집했고, 따라서 동일한 시선 방향을 수집한 것으로 가정되어야 한다.
추가적으로, 계산된 시선 방향 벡터의 정확도에 대한 정도로서, 실제 시선 방향을 표시하는 2개의 평균화된 벡터들
Figure pct00072
Figure pct00073
사이의 각도 w diff 가 계산될 수 있다. w diff 가 작을수록, 지금까지의 계산들에 대해 이용된 모델 파라미터들 및 타원 중점들은 더 정확하다.
Figure pct00074
(A26)
동공의 법선 위치에 대한 뷰의 포인트들
Figure pct00075
Figure pct00076
(
Figure pct00077
은 눈-추적기 좌표 시스템의 z-축에 평행함)은, 수식들,
Figure pct00078
Figure pct00079
로 계산될 수 있다.
눈의 광학 축 및/또는 동공 법선으로부터의 시선 방향의 시스템적 편차가 고려되어야 하는 경우, 대응하는 각도들이 뷰의 결정된 포인트들
Figure pct00080
Figure pct00081
에 추가될 수 있다. 그 다음, 이러한 새로운 시선 방향 벡터는, 뷰의 새로운 포인트들
Figure pct00082
Figure pct00083
Figure pct00084
로부터 수식
Figure pct00085
을 이용하여 계산되어야 한다.
시선 방향 벡터
Figure pct00086
가 (수식 A6으로부터 동공 중점 P MP 이외에) 존재하기 때문에, 3D 이미지 분석기에 의해 결정되는 시선(LoS)의 제 2 파라미터가 또한 알려진다. 이것은 하기 수식으로부터 도출가능하다.
Figure pct00087
앞서 소개된 방법의 구현은 플랫폼에 의존하지 않아서, 앞서 소개된 방법은 예를 들어, PC와 같은 상이한 하드웨어 플랫폼들 상에서 수행될 수 있다.
도 2a는, 프리-프로세서(102) 및 허프 변환 유닛(104)을 갖는 허프 프로세서(100)를 도시한다. 프리-프로세서(102)는, 제 1 신호 프로세싱 스테이지를 구성할 수 있고, 허프 변환 유닛(104)에 정보적으로 링크된다. 허프 변환 유닛(104)은 지연 필터(106)를 갖고, 지연 필터(106)는, 적어도 하나의, 그러나 바람직하게는 복수의 지연 엘리먼트들(108a, 108b, 108c, 110a, 110b 및 110c)을 포함할 수 있다. 지연 필터(106)의 지연 엘리먼트들(108a 내지 108c 및 110a 내지 110c)은 통상적으로 매트릭스로 배열되고, 따라서, 열들(108 및 110) 및 라인들 a 내지 c로 배열되고, 시그널링은 서로 링크된다. 도 2a의 실시예에 따르면, 지연 엘리먼트들(108a 내지 108c 및/또는 110a 내지 110c) 중 적어도 하나는 조절가능한 지연 시간을 갖고, 이는, 여기서 "+/-" 심볼들을 이용하여 표현된다. 지연 엘리먼트들(108a 내지 108c 및 110a 내지 110c)을 활성화시키기 위해 및/또는 이들을 제어하기 위해, 별개의 제어 로직 및/또는 제어 레지스터(미도시)가 제공될 수 있다. 이러한 제어 로직은, 예를 들어, 멀티플렉서 및 바이패스를 포함할 수 잇는 선택적인 스위칭가능한 엘리먼트들(109a 내지 109c 및/또는 111a 내지 111c)을 통해 개별적인 지연 엘리먼트들(108a 내지 108c 및/또는 110a 내지 110c)의 지연 시간을 제어한다. 허프 변환 유닛(104)은, 개별적인 지연 엘리먼트들(108a 내지 108c 및 110a 내지 110c)의 초기 구성을 위한 추가적인 구성 레지스터(미도시)를 포함할 수 있다.
프리-프로세서(102)는, 개별적인 샘플들(112a, 112b 및 112c)이 허프 변환 유닛(104)에 의해 효율적으로 프로세싱될 수 있는 방식으로 이들을 프로세싱하는 목적을 갖는다. 이를 위해, 프리-프로세서(102)는 이미지 데이터 및/또는 복수의 샘플들(112a, 112b 및 112c)을 수신하고, 허프 변환 유닛(104)에 몇몇 버전들(112a 및 112a' 참조)을 출력하기 위해, 예를 들어, 회전의 형태로 및/또는 반사의 형태로 프리-프로세싱을 수행한다. 출력은, 허프 변환 유닛(104)이 하나의 허프 코어(106)를 가지면 직렬적으로, 또는 몇몇 허프 코어들이 제공되면 병렬적으로 발생할 수 있다. 따라서, 이것은, 이 구현에 따라, 이미지의 n개의 버전들이 전체적으로 병렬로, 준-병렬로(따라서 오직 부분적으로 병렬로) 또는 직렬로 출력 및 프로세싱됨을 의미한다. 탐색 패턴 또는 허프 코어 구성과 몇몇 유사한 패턴들(상승 및 하강 직선)을 검출하기 위한 목적을 제공하는 프리-프로세서(102)의 프리-프로세싱은, 제 1 샘플(112a)을 이용하여 아래에서 설명된다.
이러한 샘플은, 예를 들어, 회전된 버전(112a')을 획득하기 위해, 예를 들어, 약 90°만큼 회전될 수 있다. 이러한 회전의 절차는 기준 부호(114)를 갖는다. 이로써, 회전은 약 90°만큼, 뿐만 아니라 약 180° 또는 270°만큼 또는 일반적으로 약 360°/n만큼 발생할 수 있고, 이로써, 다운스트림 허프 변환(허프 변환 유닛(104) 참조)에 따라, 오직 90° 회전만을 수행하는 것이 매우 효율적일 수 있다. 이러한 하위-양상들은 도 2b 및 도 2c를 참조하여 처리된다. 게다가, 이미지(112a)는 또한, 반사된 버전(112a'')을 획득하기 위해 반사될 수 있다. 반사하는 절차는 기준 부호(116)를 갖는다. 반사(116)는 메모리의 역방향 판독에 대응한다. 반사된 버전(112a'') 뿐만 아니라 회전된 버전(112a')에 기초하여, 회전 및 반사된 버전(112a''')으로부터, 절차(114 또는 116)를 수행함으로써 제 4 버전이 획득될 수 있다. 반사(116)에 기초하여, 후속하여 설명되는 바와 같이 동일한 허프 코어 구성을 갖는 2개의 유사한 패턴들(예를 들어, 우측이 개방된 반원 및 좌측이 개방된 반원)이 검출된다.
허프 변환 유닛(104)은, 프리-프로세서(102)에 의해 제공되는 버전들(112a 또는 112a')(또는 112a'' 또는 112a''')에서 미리 결정된 탐색된 패턴을, 예를 들어, 타원 또는 타원의 세그먼트, 원 또는 원의 세그먼트, 직선 또는 그라벤 세그먼트로서 검출하도록 구성된다. 이를 위해, 필터 배열은, 탐색된 미리 결정된 패턴에 대응하여 구성된다. 각각의 구성에 따라, 지연 엘리먼트들(108a 내지 108c 또는 110a 내지 110c) 중 일부가 활성화 또는 바이패스된다. 따라서, 검사되는 이미지(112a 또는 112a')의 필름 스트립(film strip)을 변환 유닛(104)에 적용하는 경우, 일부 픽셀들은, 중간적 스토리지에 대응하는 지연 엘리먼트들(108a 내지 108c)에 의해 선택적으로 지연되고, 다른 픽셀들은 다음 열(110)에 직접 송신된다. 이러한 절차로 인해, 곡선형 또는 기울어진 기하구조들이 "직선화(straightened)"된다. 로딩되는 이미지 데이터(112a 또는 112a')에 따라 및/또는 정확하게는, 이미지(112a 또는 112a')의 적용된 라인의 이미지 구조에 따라, 높은 열 양들이 열들(108 또는 110) 중 하나에서 발생하는 한편, 다른 열들의 열 양들은 더 낮다. 열 양은 열 양 출력(108x 또는 110x)을 통해 출력되고, 이로써, 여기서는 선택적으로 각각의 열(108 또는 110)의 열 양을 설정하기 위한 추가적인 엘리먼트가 제공될 수 있다. 열 양들 중 하나의 최대값에 있어서, 탐색된 이미지 구조 또는 탐색된 이미지 구조의 세그먼트의 존재 또는 탐색된 구조와의 적어도 연관된 일치 정도가 가정될 수 있다. 따라서, 이것은, 프로세싱 단계마다, 필름 스트립이 약 일 픽셀만큼 또는 열(108 또는 110)만큼 추가로 이동되어, 시작 히스토그램을 이용한 모든 프로세싱 단계에 있어서, 탐색된 구조들 중 하나가 검출되었는지 여부, 또는 탐색된 구조의 존재에 대한 가능성이 대응적으로 높은지 여부가 인식가능함을 의미한다. 즉, 이것은, 열(108 또는 110)의 각각의 열 양의 임계값을 오버라이딩(overriding)하는 것이 탐색된 이미지 구조의 세그먼트의 검출을 나타내고, 이로써 모든 열(108 또는 110)이 탐색된 패턴 또는 탐색된 패턴의 특성(예를 들어, 직선의 각도 또는 원의 반경)과 연관됨을 의미한다. 각각의 구조에 대해, 각각의 라인(110)의 각각의 지연 엘리먼트(110a, 110b 및 110c)가 결정적일 뿐만 아니라 후속 지연 엘리먼트들(110a, 110b 및 110c)과 함께 특히 이전 지연 엘리먼트들(108a, 108b 및 108c)이 결정적임을 여기서 주목해야 한다. 최신 기술에 따라, 지연 엘리먼트들 또는 바이패스의 이러한 구조들 또는 활성화들은 선험적으로 미리 결정된다.
가변적 지연 엘리먼트들(108a 내지 108c 또는 110a 내지 110c)(지연 엘리먼트들)을 통해, 탐색된 특성(따라서, 예를 들어, 반경 또는 증가)은 진행중인 동작 동안 조절될 수 있다. 개별적인 열들(108 및 110)이 서로 링크되기 때문에, 필터(106)의 전체 필터 특성의 변경은, 지연 엘리먼트들(108a 내지 108c 또는 110a 내지 110c) 중 하나의 지연 시간을 조절하는 동안 발생한다. 허프 변환 유닛(104)의 필터(106)의 필터 특성의 유연한 조절로 인해, 예를 들어, 작은 및 큰 동공들에 대한, 예를 들어, 동적 이미지 컨텐츠들이 동일한 허프 코어(106)에 의해 수집 및 추적될 수 있도록 런타임 동안 변환 코어(106)를 조절하는 것이 가능할 수 있다. 도 3c에서, 지연 시간이 어떻게 조절될 수 있는지에 대한 정확한 구현이 참조된다. 그 다음, 더 많은 유연성을 갖는 허프 프로세서(100) 또는 변환 유닛(104)을 가능하게 하기 위해, 바람직하게는 모든 지연 엘리먼트들(108a, 108b, 108c, 110a, 110b 및/또는 110c)(또는 언급된 것들 중 적어도 하나)는 가변적 또는 이산적으로 스위칭가능한 지연 시간으로 수행되어, 진행중인 동작 동안, 검출되는 상이한 패턴들 사이에서 또는 검출되는 패턴들의 상이한 특성들 사이에서 스위칭될 수 있다.
추가적인 실시예들에 따르면, 도시된 허프 코어(104)의 크기는 (동작 동안 또는 이전에) 구성가능하여, 그에 따라 추가적인 허프 셀들이 활성화 또는 비활성화될 수 있다.
추가적인 실시예들에 따르면, 변환 유닛(104)은, 예를 들어, 제어기(미도시)에 의해, 지연 엘리먼트들을 조절하기 위한 수단, 또는 정확하게는, 지연 엘리먼트들(108a 내지 108c 및 110a 내지 110c)을 조절하기 위한 수단에 접속될 수 있다. 제어기는, 예를 들어, 다운스트림 프로세싱 유닛에 배열되고, 패턴이 인식될 수 없으면 또는 인식이 충분하지 않으면(탐색된 패턴들의 존재에 대한 탐색된 패턴을 갖는 이미지 컨텐츠의 낮은 일치), 필터(106)의 지연 특성을 조절하도록 구성된다. 도 5a를 참조하면, 이러한 제어기가 참조된다.
앞서 언급된 실시예는, 쉽고 유연하게 실행되는 이점, 및 특히 FPGA(Field Programmable Gate Array) 상에서 구현될 수 있는 이점을 갖는다. 이에 대한 배경은, 앞서 설명된 병렬적 허프 변환이, 회귀(regression) 없이 진행된다는 것, 말하자면 완전히 병렬적이라는 점이다. 따라서, 추가적인 실시예들은, 적어도 허프 변환 유닛(104) 및/또는 프리-프로세서(102)를 갖는 FPGA들에 관한 것이다. 예를 들어, XILINX Spartan 3A DSP와 같은 FPGA에 대해 앞서 설명된 디바이스의 구현에 있어서, 96 MHz의 주파수를 이용함으로써 640x480의 해상도를 갖는, 예를 들어, 60 FPS의 매우 높은 프레임 레이트가 달성될 수 있는데, 이는, 복수의 열들(108 및 110)을 갖는 앞서 설명된 구조(104)로 인해, 병렬적 프로세싱 또는 소위 병렬적 허프 변환이 가능하기 때문이다.
이 때, "시선 방향" 또는 "시선 벡터"를 갖는 상기 실시예들 및 후속 실시예들에 관해, 주로 눈의 광학 축이 의도됨을 주목해야 한다. 눈의 이러한 광학 축은, 눈의 가상 축으로부터 구별되지만, 눈의 광학 축은 오히려 가상 축에 대한 추정치로 기능할 수 있는데, 이는, 이러한 축들이 통상적으로 서로 의존하기 때문이다. 따라서, 예를 들어, 눈의 광학 축으로부터의 정정 각도들을 포함함으로써, 방향 또는 방향 벡터가 계산될 수 있고, 이는 심지어, 눈의 실제 가상 축의 정렬보다 명백하게 더 양호한 추정치이다.
도 2a 및 도 2b는, 프레임들(112a, 112b 및 112c)을 갖는 비디오 데이터 스트림(112)의 프리-프로세싱을 서빙하는 프리-프로세서(102)를 도시한다. 프리-프로세서(102)는, 샘플들(112)을 2진 엣지 이미지들로서 또는 심지어 그레디언트 이미지들로서 수신하고, 이에 기초하여 회전(114) 및 반사(116)를 수행하여, 4개의 번환들(112a, 112a', 112a'' 및 112a''')을 획득하도록 구성된다. 이에 대한 배경은, 통상적으로, 허프 변환 유닛에 의해 수행되는 병렬적 허프 변환은, 이미지(112a)의 2개 또는 4개의 각각의 프리-프로세싱된, 예를 들어, 약 90°만큼 쉬프트된 버전들에 기초한다. 도 2b에 도시된 바와 같이, 초기에, 2개의 버전들(112a 및 112a')이 수평으로(112a에서 112a''로 및 112a'에서 112a'''로 참조) 반사되기 전에 90° 회전이 (112a에서 112a'로) 발생한다. 반사(116) 및/또는 회전(114)을 수행하기 위해, 프리-프로세서는, 대응하는 실시예들에서, 수신된 이미지 데이터(112)의 충전을 서빙하는 내부 또는 외부 스토리지를 갖는다.
프리-프로세서(102)의 회전(114) 및/또는 반사(116)의 프로세싱은, 특히 도 2c를 참조하여 설명되는 바와 같이, 다운스트림 허프 변환, 병렬적 허프 코어들의 수(병렬화 정도) 및 이의 구성에 의존한다. 따라서, 프리-프로세서(102)는, 출력(126)을 통해 3개의 하기 성상도들 중 하나에 대응하는 다운스트림 허프 변환 유닛(104)의 병렬화 정도에 따라 프리-프로세싱된 비디오 스트림을 출력하도록 구성될 수 있다.
100% 병렬화: 4개의 비디오 데이터 스트림들, 즉, 하나의 비회전되고 비반사된 버전(112a), 하나의 약 90°만큼 회전된 버전(112a'), 및 각각 반사된 버전(112a'' 및 112a''')의 동시 출력.
50% 병렬화: 2개의 비디오 데이터 스트림들, 즉, 제 1 단계에서 비회전된 것(112a) 및 약 90° 반사된 것(112a')의 출력, 및 제 2 단계에서 각각 반사된 변화들(112a'' 및 112a''')의 출력.
25% 병렬화: 하나의 비디오 스트림, 즉, 비회전된 것(112a), 약 90° 회전된 것(112a'), 반사된 것(112a'') 및 반사되고 회전된 것(112a''')의 순차적인 각각의 출력.
상기 변화예에 대해 대안적으로, 제 1 버전에 기초하여, 허프 변환이 수행되는 것이 기초하여, 3개의 추가적인 버전들이 단독으로 회전되는 것, 따라서, 예를 들어, 약 90°, 180° 및 270°만큼 회전되는 것이 또한 착안가능할 것이다.
추가적인 실시예들에 따르면, 프리-프로세서(102)는, 예를 들어, 업-샘플링과 같이 추가적인 이미지 프로세싱 단계들을 수행하도록 구성될 수 있다. 추가적으로, 프리-프로세서는 그레디언트 이미지를 생성하는 것이 또한 가능할 것이다. 그레디언트 이미지 생성이 이미지 프리-프로세싱의 일부일 경우, FPGA에서 그레이-값 이미지(초기 이미지)가 회전될 수 있다.
도 2c는, 예를 들어, 직선 또는 직선 섹션을 인식하기 위해 구성되는 2개의 병렬적 31x31 허프 코어들에 대한 2개의 허프 코어 구성들(128 및 130)을 도시한다. 게다가, 어느 각도 세그먼트에서 검출이 가능한지를 예시하기 위해 단위 원(132)이 적용된다. 이 포인트에서, 허프 코어 구성(128 및 130)은 백색 점들이 지연 엘리먼트들을 예시하는 방식으로 각각 제시됨을 주목해야 한다. 허프 코어 구성(128)은 소위 타입 1 허프 코어에 대응하는 한편, 허프 코어 구성(120)은 소위 타입 2 허프 코어에 대응한다. 2개의 허프 코어 구성들(128 및 130)의 비교로부터 유도가능한 바와 같이, 하나가 다른 하나의 역을 구성한다. 제 1 허프 코어 구성(128)에 있어서, 3π/4와 π/2 사이의 세그먼트 1에서 직선이 검출가능할 수 있는 한편, 3π/2와 5π/4 사이의 세그먼트(세그먼트 2) 사이에서 직선이 허프 코어 구성(130)을 이용하여 검출가능하다. 장래의 세그먼트들에서의 검출을 가능하게 하기 위해, 앞서 설명된 바와 같이, 허프 코어 구성(128 및 130)은 각각의 이미지의 회전된 버전에 적용된다. 그 결과, 허프 코어 구성(128)을 이용하여, 내지 π/4와 제로 사이의 세그먼트 1r이 수집될 수 있고, 허프 코어 구성(130)을 이용하여 π와 3π/4 사이의 세그먼트 2r이 수집될 수 있다.
대안적으로, 오직 하나의 허프 코어(예를 들어, 타입 1 허프 코어)만을 이용하는 경우, 앞서 설명된 직선 라인 정렬의 변화들을 수집하기 위해, 약 90°에 한번, 약 180°에 한번 및 약 270°에 한번 이미지의 회전이 유용할 수 있다. 한편, 유연성으로 인해, 허프 코어의 구성 동안, 오직 하나의 허프 코어 타입이 이용될 수 있는데, 이는 진행중인 동작 동안 재구성되거나, 개별적인 지연 엘리먼트들이 어떠한 방식으로 스위칭 온 또는 오프될 수 있는 것에 관해, 허프 코어는 반전된 타입에 대응한다. 따라서, 달리 말해 이것은, (50% 병렬화 동작에서) 프리-프로세서(102)를 이용하고 오직 하나의 허프 코어 및 오직 하나의 이미지 회전을 갖는 구성가능한 허프 변환 유닛(104)을 이용하는 경우, 그렇지 않으면 2개의 병렬적 허프 코어들을 이용해서만 커버될 수 있는 전체 기능이 디스플레이될 수 있다. 따라서, 각각의 허프 코어 구성 또는 허프 코어 타입의 선택이, 프리-프로세서(102)에 의해 수행되는 프리-프로세싱에 의존함은 명백해 진다.
도 3a는, m개의 열들(108, 110, 138, 140, 141 및 143) n개의 라인들(a, b, c, d, e 및 f)을 가져서 m x n개의 셀들이 형성되는 허프 코어(104)를 도시한다. 필터의 열(108, 110, 138, 140, 141 및 143)은, 예를 들어, 특정 곡선 또는 특정 직선 증가에 대한 탐색된 구조의 특정 특성을 표현한다.
모든 셀은 지연 엘리먼트를 포함하고, 이는, 지연 시간에 대해 조절가능하여, 이 실시예에서, 조절 메커니즘은, 바이패스를 갖는 각각의 스위칭가능한 지연 엘리먼트가 제공된다는 사실로 인해 실현된다. 아래에서, 도 3b를 참조하면, 모든 셀들의 구성이 예시적으로 설명된다. 도 3b로부터의 셀(108a)은, 지연 엘리먼트(142), 예를 들어, 멀티플렉서로서의 원격 제어가능한 스위칭(144), 및 바이패스(146)를 포함한다. 원격 제어가능한 스위치(144)를 이용하여, 라인 신호는 지연 엘리먼트(142)를 통해 전달될 수 있거나 또는 미지연되어 교차부(148)로 이동될 수 있다. 교차부(148)는, 한편으로는 열(예를 들어, 108)에 대한 양 엘리먼트(150)에 접속되고, 이로써, 다른 한편으로는, 이러한 교차부(148)를 통해 다음 셀(예를 들어, 110a)이 또한 접속된다.
멀티플렉서(144)는, 소위 구성 레지스터(160)(도 3a 참조)를 통해 구성된다. 이러한 포인트에서, 여기에 제시된 기준 부호(160)는 오직, 멀티플렉서(144)에 직접 커플링된 구성 레지스터(160)의 일부와 관련됨을 주목해야 한다. 구성 레지스터(160)의 엘리먼트는, 멀티플렉서(144)를 제어하고, 제 1 정보 입력(160a)을 통해 구성 정보를 수신하도록 구성되고, 구성 정보는, 예를 들어, FPGA 내부 BRAM(163)에 저장된 구성 매트릭스로부터 발신된다. 이러한 구성 정보는, 열 단위의 비트 스트링일 수 있고, 몇몇 개의 구성된 지연 셀들(142+144)의 구성(또한 변환 동안)과 관련된다. 따라서, 구성 정보는 또한 출력(160b)을 통해 송신될 수 있다. 동작 시간의 어떠한 포인트에서도 재구성이 가능하지 않기 때문에, 구성 레지스터(160) 또는 구성 레지스터(160)의 셀은 추가적인 신호 입력(160c)을 통해 소위 인에이블 신호를 수신하고, 이를 이용하여 재구성이 시작된다. 이에 대한 배경은, 허프 코어의 재구성이, 지연 엘리먼트들의 수, 특히 열의 크기에 의존하는 특정 시간을 필요로 한다는 점이다. 이로써, 모든 열 엘리먼트에 대해, 클럭 사이클이 연관되고, BRAM(163) 또는 구성 로직(160)으로 인해 몇몇 클럭 사이클들의 레이턴시가 발생한다. 재구성에 대한 총 레이턴시는 통상적으로 비디오-기반 이미지 프로세싱의 경우 무시가능하다. 본 실시예에서, CMOS 센서로 기록된 비디오 데이터 스트림들은 수평 및 수직 블랭킹을 가져서, 수평 블랭킹 또는 수직 블랭킹 시간이 재구성에 대해 이용될 수 있다고 가정된다. 이러한 상황으로 인해, FPGA에서 구현되는 허프 코어 구조의 크기는 허프 코어 구성에 대한 최대 크기를 미리 결정한다. 예를 들어, 더 작은 구성들이 이용되면, 이들은 수직으로 센터링되고, 허프 코어 구조의 열 1에 대한 수평 방향에서 정렬된다. 허프 코어 구조의 미사용된 엘리먼트 모두는 활성화된 지연 엘리먼트들로 점유된다.
이러한 방식으로 개별적인 지연 엘리먼트들(142+144)에 의해 프로세싱된 데이터 스트림들의 평가는 열 단위(column-by-column)로 발생한다. 이를 위해, 로컬 양의 최대값을 검출하기 위해 열 단위로 합산되고, 이는, 인식되는 탐색된 구조를 디스플레이한다. 열(108, 110, 138, 140, 141 및 143)마다의 합산은, 각각의 열에 할당된 구조의 특성 중 하나에 대한 탐색된 구조와의 일치 정도를 표현하는 값을 결정하도록 기능한다. 열(108, 110, 138, 140, 141 또는 143)마다 열 양들의 로컬 최대값을 결정하기 위해, 소위 비교기(108v, 110v, 138v, 140v, 141v 또는 143v)가 제공되고, 이는 각각의 양 엘리먼트들(150)에 접속된다. 선택적으로, 상이한 열(108, 110, 138, 140, 141 또는 143)의 개별적인 비교기들(108v, 110v, 138v, 140v, 141v 또는 143v) 사이에, 추가적인 지연 엘리먼트들(153)이 또한 제공될 수 있고, 이는, 인접한 열들의 열 양들을 비교하도록 기능한다. 상세하게는, 필터의 패스-스루 통과, 탐색된 패턴의 특성에 대해 최고 일치 정도를 갖는 열들(108, 110, 138 또는 140)이 항상 필터로부터 선택된다. 열 양의 로컬 최대값을 검출(이전, 후속 열의 비교)하는 동안, 탐색된 구조의 존재가 가정될 수 있다. 따라서, 비교의 결과는 열 번호이고(가능하게는 열 양 = 일치 정도를 포함함), 여기서 로컬 최대값이 인식되거나, 또는 탐색된 구조의 특성, 예를 들어, 열(138)이 발견된다. 바람직하게는, 결과는, 소위 다차원 허프 공간을 포함하고, 이는, 탐색된 구조의 모든 관련된 파라미터들, 예를 들어, 패턴의 종류(예를 들어, 직선 또는 반원), 패턴의 일치 정보, 구조의 특성(곡선 세그먼트들에 관한 곡선의 강도 또는 직선 세그먼트들에 관한 증가 및 길이) 및 탐색된 패턴의 위치 또는 배향을 포함한다. 즉, 이것은, 허프 공간의 각각의 포인트에 대해, 대응하는 구조의 그레이 값들이 이미지 세그먼트에 추가됨을 의미한다. 그 결과, 최대값이 형성되고, 이를 이용하여, 허프 공간의 탐색된 구조는 쉽게 위치 결정될 수 있고, 다시 이미지 세그먼트로 이동될 수 있다.
도 3b로부터의 허프 코어 셀은 선택적인 파이프라인 지연 엘리먼트(162)(파이프라인-지연)를 가질 수 있고, 이는, 예를 들어, 셀의 출력에 배열되고, 지연 엘리먼트(142)를 이용하여 지연된 신호 뿐만 아니라 바이패스(146)를 이용하여 미지연된 신호를 지연시키도록 구성된다.
도 1을 참조하여 표시된 바와 같이, 이러한 셀은 또한 가변성을 갖는 지연 엘리먼트 또는 복수의 스위칭되고 바이패스된 지연 엘리먼트들을 가져서, 지연 시간은 몇몇 스테이지들에서 조절가능할 수 있다. 따라서, 도 3b에 도시된 바와 같은 허프 코어 셀의 구현을 넘은 추가적인 구현들이 대안적으로 착안가능할 것이다.
아래에서, 이미지 프로세싱 시스템(1000) 내에서 앞서 설명된 디바이스의 적용이 도 5a를 참조하여 설명된다. 도 5a는, 프리-프로세서(102) 및 허프 변환 유닛(104)을 갖는 FPGA 구현된 이미지 프로세서(10a)를 도시한다. 또한 프리-프로세서(102)에 앞서, 이미지 프로세서(10a)에서 입력 스테이지(12)가 구현될 수 있고, 이는, 카메라(14a)로부터 이미지 데이터 또는 이미지 샘플들을 수신하도록 구성된다. 이를 위해, 입력 스테이지(12)는, 예를 들어, 이미지 테이크오버 교차부(12a), 세그먼트화 및 엣지 검출기(12b) 및 카메라 제어(12c)를 위한 측정부들을 포함할 수 있다. 카메라 제어(12c)를 위한 측정부들은 이미지 교차부(12a) 및 카메라(14)에 접속되고, 조명 및/또는 강화와 같은 팩터들을 제어하도록 기능한다.
이미지 프로세서(10a)는 소위 허프 피쳐 추출기(16)를 더 포함하고, 이는, 허프 변환 유닛(104)에 의해 출력되고 패턴 인식에 대한 모든 관련 정보를 포함하는 다차원 허프 공간을 분석하고, 분석 결과에 기초하여 모든 허프 피쳐들의 컴파일을 출력하도록 구성된다. 상세하게는, 허프 피쳐 공간들의 평활화, 즉, 로컬 필터 또는 허프 공간의 시닝(thinning)을 이용한 공간적 평활화가 여기서 발생한다(패턴 인식과 무관한 정보의 거부). 이러한 시닝은, 허프 가능성 공간의 비최대값이 페이드 아웃되도록, 패턴의 종료 및 구조의 특성의 고려 하에 수행된다. 게다가, 시닝을 위해, 임계값들이 또한 정의될 수 있어서, 예를 들어, 구조의 최소 또는 최대 허용가능한 특성들, 예를 들어, 최소 또는 최대 곡선 또는 최소 또는 최대 증가가 미리 결정될 수 있다. 임계값-기반 거부를 이용하여, 허프 가능성 공간의 잡음 억제가 또한 발생할 수 있다.
원래의 이미지 세그먼트에서 모든 남은 포인트들의 파라미터들의 분석적 재변환은, 예를 들어, 하기 허프 피쳐들로부터 얻어지는데, 즉, 곡선형 구조의 경우, 위치(x- 및 y-좌표들), 등장 확률, 반경, 및 아크가 어느 방향으로 개방되는지를 표시하는 각도가 송신될 수 있다. 직선의 경우, 위치(x- 및 y-좌표들), 등장 확률, 직선의 증가를 표시하는 각도, 및 대표적 직선 세그먼트의 길이가 결정될 수 있다. 이러한 시닝된(thinned) 허프 공간은, 허프 피쳐 추출기(16)에 의해, 또는 일반적으로는 포스트-프로세싱 유닛(18)의 프로세싱의 경우 이미지 프로세서(10a)에 의해 출력된다.
추가적인 실시예는, 업스트림 이미지 프로세서(10a)(도 5a) 또는 업스트림 허프 프로세서와 함께 이미지 프로세싱 시스템 내에서 3D 이미지 분석기(400)(도 5a)의 이용을 포함하고, 허프 프로세서 및 특히 타원으로 디스플레이되는 동공들 또는 홍채의 검출을 위한 포스트-프로세싱 유닛(18)의 컴포넌트들이 조절된다.
허프 프로세서의 포스트-프로세싱 유닛은, 예를 들어 임베딩된 프로세서로서 실현될 수 있고, 그의 애플리케이션에 따라, 아래에서 예시적으로 설명되는 상이한 서브-유닛들을 포함할 수 있다. 포스트-프로세싱 유닛(18)(도 5a)은, 허프 피쳐 포스트-기하구조-변환기(202)를 포함할 수 있다. 이러한 기하구조 변환기(202)는, 허프 피쳐 추출기에 의해 출력되는 하나 이상의 미리 정의된 탐색된 패턴들을 분석하고, 파라미터들을 설명하는 기하구조를 출력하도록 구성된다. 따라서, 기하구조 변환기(202)는, 예를 들어, 제 1 직경, 제 2 직경, 시프팅 및 타원(동공) 또는 원에 관한 중점의 위치와 같은, 예를 들어, 검출된 허프 피쳐 기하구조 파라미터들에 기초하여 출력하도록 구성될 수 있다. 바람직한 실시예에 따르면, 기하구조 변환기(202)는 3개 내지 4개의 허프 피쳐들(예를 들어, 곡선들)을 이용하여 동공을 검출 및 선택하도록 기능한다. 따라서, 탐색된 구조 또는 허프 특징들과의 일치도, 검출된 허프 피쳐들 또는 미리 결정된 패턴의 곡선, 허프 피쳐들의 위치 및 배향과 같은 기준이 포함된다. 선택된 허프 피쳐 결합들이 배열되어, 주로 획득된 허프 피쳐들의 양에 따른, 그리고 제 2 라인에서 탐색된 구조와의 일치도에 따른 배열이 발생한다. 배열 이후, 이 때의 허프 피쳐 결합이 선택되고, 그로부터 타원이 피팅되고, 이는, 카메라 이미지 내에서 아마도 동공을 표현할 것이다.
또한, 포스트-프로세싱 유닛(18)(도 5a)은, 이미지 프로세서(10a)(제어 채널(206) 참조)에 제어 신호를 리턴하도록, 또는 정확하게는, 허프 변환 유닛(104)에 리턴하도록 형성되는 선택적인 제어기(204)를 포함하고, 제어 신호에 기초하여 필터(106)의 필터 특성이 조절가능하다. 필터 코어(106)의 동적 조절의 경우, 제어기(204)는 통상적으로 기하구조 변환기(202)에 접속되어, 기하구조의 더 정밀한 인식이 가능한 방식으로, 인식된 기하구조의 기하구조 파라미터들을 분석하고, 정의된 경계들 내에서 허프 코어를 추적한다. 이러한 절차는 연속적인 절차이고, 이는, 예를 들어, 마지막 허프 코어 구성(마지막으로 이용된 허프 코어의 크기)으로 시작하고, 인식(202)이 불충분한 결과들을 제공하는 한 추적된다. 따라서, 동공 또는 타원 검출의 앞서 논의된 예에 대해, 제어기는 타원 크기를 조절할 수 있고, 이는, 예를 들어, 사람이 카메라(14a)에 접근하면, 카메라(14a)와 기록되는 오브젝트 사이의 거리에 의존한다. 이로써, 필터 특성의 제어는 마지막 조절들에 기초하여 그리고 타원의 기하구조 파라미터들에 기초하여 발생한다.
추가적인 실시예들에 따르면, 포스트-프로세싱 유닛(18)은 선택적-적응형 데이터 프로세서(300)를 가질 수 있다. 데이터 프로세서는, 예를 들어, 데이터 시리즈의 평활화를 수행하기 위해, 데이터 시리즈 내의 아웃라이어(outlier)들 및 드롭아웃(dropout)들을 포스트-프로세싱하는 목적을 갖는다. 따라서, 선택적-적응형 데이터 프로세서(300)는, 기하구조 변환기(202)에 의해 출력되는 값들의 몇몇 세트들을 수신하여, 모든 세트가 각각의 샘플에 할당되도록 구성된다. 데이터 프로세서(300)의 필터 프로세서는, 부적절한 세트들의 데이터 값들(예를 들어, 아웃라이어들 또는 드롭아웃들)이 내부적으로 결정된 데이터 값들(교환 값들)에 의해 교환되고, 남은 세트들의 데이터 값들은 불변으로 추가로 이용되는 방식으로, 몇몇 세트들에 기초하여 값들의 선택을 수행한다. 상세하게는, (아웃라이어들 또는 드롭아웃들을 포함하지 않는) 적절한 세트들의 데이터 값들은 송신되고, (아웃라이어들 또는 드롭아웃들을 포함하는) 부적절한 세트들의 데이터 값들은, 적절한 세트의 데이터 값들, 예를 들어, 이전 데이터 값에 의해 또는 몇몇 이전 데이터 값들의 평균에 의해 교환된다. 따라서, 송신된 값들 및 가능하게는 교환 값들로부터 얻어진 데이터 시리즈는 연속적으로 평활화된다. 따라서, 이것은, 데이터 시리즈의 (예를 들어, 결정된 타원 중점 좌표의) 적응형 시간 평활화가 지수적 평활화의 원리에 따라 발생하여, 평활화되는 데이터 시리즈의 (예를 들어, 동공 검출 동안 잘못된 검출로 인한) 드롭아웃들 및 아웃라이어들이 평활화된 데이터의 변동들을 초래하지 않음을 의미한다. 상세하게는, 데이터 프로세서는, 새로 수신되는 세트의 데이터 값에 걸쳐, 데이터 값이 하기 기준 내에 속하지 않으면, 평활화할 수 있다.
- 세트의 추가적인 값들 중 하나에 의해 정량화되는 연관된 일치도에 따라, 탐색된 구조에 있어서, 데이터 값이 데이터 시리즈의 드롭아웃인 것.
- 연관된 크기 파라미터들 또는 기하구조 파라미터들에 따라, 예를 들어, 실제 오브젝트가 이전 오브젝트로부터 너무 강하게 편향되면, 데이터 값은 드롭아웃이다.
- 실제 데이터 값과, 이전 데이터 값들에 기초하여 결정된 임계값들의 비교에 따라, 실제 데이터 값(예를 들어, 실제 위치 값)이 임계값들 사이에 있지 않으면, 데이터 값은 드롭아웃이다. 이에 대한 예시적인 예는, 예를 들어, 오브젝트의 실제 위치 좌표(예를 들어, 세트의 데이터 값)가 선택적인 적응형 데이터 프로세서에 의해 이전에 결정된 위치 좌표로부터 너무 강하게 편향되는 경우이다.
게다가, 이러한 기준 중 하나가 충족되면, 실제 값을 평활화하기 위해 이전 값이 출력되거나 또는 적어도 참조된다. 평활화 동안 가능한 작은 지연을 획득하기 위해, 선택적으로, 실제 값들이 과거의 값들보다 더 강하게 레이팅된다. 따라서, 지수적 평활화의 적용 동안, 실제 값은 하기 공식을 이용하여 결정될 수 있다.
실제 평활화된 값 = 실제 값 x 평활화 계수 + 마지막으로 평활화된 값 x (1 - 평활화 계수)
평활화 계수는, 평활화되는 데이터의 경향, 예를 들어, 보다 일정한 값 전개들의 감소 또는 기울기에 관한 증가 또는 하강 값 전개들에 대해 동적으로 조절되는 정의된 경계들 내에 있다. 장기적으로, 평활화되는 기하구조 파라미터들(타원 파라미터들)에 관해 더 큰 급증이 발생하면, 데이터 프로세서 및 그에 따른 평활화된 값 전개는 새로운 값으로 조절한다. 일반적으로, 선택적인 적응형 데이터 프로세서(300)는 또한, 파라미터들을 이용하여, 예를 들어, 초기화 동안 구성될 수 있어서, 이러한 파라미터들을 통해, 평활화 동작, 예를 들어, 드롭아웃들의 최대 기간 또는 최대 평활화 팩터가 결정된다.
따라서, 선택적인 적응형 데이터 프로세서(300) 또는 일반적으로 포스트-프로세싱 유닛(18)은, 인식되는 패턴의 위치 및 기하구조에 대해 높은 정확도를 갖는 적절한 값들을 출력할 수 있다. 이를 위해, 포스트-프로세싱 유닛은 교차부(18a)를 갖고, 이를 통해, 선택적으로는 외부 제어 커맨드들이 또한 수신될 수 있다. 더 많은 데이터 시리즈가 평활화되려면, 모든 데이터 시리즈에 대해 별개의 선택적인 적응형 데이터 프로세서를 이용하는 것, 또는 데이터 값들의 세트마다 상이한 데이터 시리즈들이 프로세싱될 수 있는 방식으로 선택적인 적응형 데이터 프로세서를 조절하는 것이 또한 착안가능하다.
다음으로, 선택적인 적응형 데이터 프로세서(300)의 상기 특징들은 일반적으로 구체적인 실시예를 이용하여 설명된다:
데이터 프로세서(300)는, 예를 들어, 둘 이상의 입력들 뿐만 아니라 하나의 출력을 가질 수 있다. (데이터 값을 수신하는) 입력들 중 하나는 프로세싱되는 데이터 시리즈에 대해 제공된다. 출력은 선택된 데이터에 기초하여 평활화된 시리즈이다. 선택을 위해, 추가적인 입력들(데이터 값들의 더 정밀한 평가를 위해 추가적인 값들이 수신됨) 및/또는 데이터 시리즈 자체가 참조된다. 데이터 프로세서(300) 내의 프로세싱 동안, 데이터 시리즈의 변경이 발생하여, 데이터 시리즈 내의 아웃아이어들의 취급과 드롭아웃들의 취급 사이에서 구별된다.
아웃라이어들: 선택 동안, (프로세싱되는 데이터 시리즈 내의) 아웃라이어들은 배열되고 다른 (내부적으로 결정된) 값들에 의해 교환된다.
드롭아웃들: 프로세싱되는 데이터 시리즈의 품질의 평가를 위해, 하나 이상의 추가적인 입력 신호들(추가적인 값들)이 참조된다. 평가는 하나 이상의 임계값들을 이용하여 발생하여, 데이터는 "고" 및 "저" 품질로 분할된다. 저 품질을 갖는 데이터는 드롭아웃들로 평가되고, 다른 (내부적으로 결정된) 값들에 의해 교환된다.
다음 단계에서, 예를 들어, 데이터 시리즈들의 평활화가 발생한다(예를 들어, 시간 시리즈의 지수적 평활화). 평활화의 경우, 드롭아웃들 및 아웃라이어들의 조절된 데이터 시리즈가 참조된다. 평활화는 가변적(적응형) 계수에 의해 발생할 수 있다. 평활화 계수는, 프로세싱되는 데이터의 레벨의 차이에 대해 조절된다.
추가적인 실시예들에 따르면, 포스트-프로세싱 유닛(18)이 예를 들어, 3D 이미지 분석기(400)와 같은 이미지 분석기를 포함하는 것이 또한 가능하다. 3D 이미지 분석기(400)의 경우, 포스트-프로세싱 유닛(18)에 있어서, 또한 이미지 프로세서(10b) 및 카메라(14)로 이루어진 추가적인 이미지 수집 유닛이 제공될 수 있다. 따라서, 2개의 카메라들(14a 및 14b) 뿐만 아니라 이미지 프로세서들(10a 및 10b)이 입체 카메라 배열을 확립하고, 바람직하게는 이미지 프로세서(10b)는 이미지 프로세서(10a)와 동일하다.
기본적 실시예에 대응하는 3D 이미지 분석기(400)는, 제 1 이미지(카메라(14a) 참조)에 기초하여 결정되는 이미지 데이터의 적어도 하나의 세트, 및 제 2 이미지(카메라(14b) 참조)에 기초하여 결정되는 이미지 데이터의 제 2 세트를 수신하도록 구성되어, 제 1 및 제 2 이미지는 상이한 관점으로부터 패턴을 디스플레이하고, 3D 이미지 분석기(400)는, 이러한 시야 또는 3D 시선 벡터에 기초하여 계산하도록 구성된다. 이를 위해, 3D 이미지 분석기(400)는, 위치 계산기(404) 및 정렬 계산기(408)를 포함한다. 위치 계산기(404)는, 제 1 세트, 제 2 세트, 및 제 1 및 제 2 카메라(14a 및 14b) 또는 관점들 사이의 기하학적 관계에 기초하여 3차원 공간 내에서 패턴의 위치를 계산하도록 구성된다. 정렬 계산기(408)는, 3D 시선 벡터, 예를 들어, 시선 방향을 계산하도록 구성되고, 그에 따라 인식된 패턴은 3차원 공간 내에서 정렬되며, 계산은 제 1 세트, 제 2 세트 및 계산된 위치(위치 계산기(404) 참조)에 기초한다.
추가적 실시예들은 또한, 카메라의 이미지 데이터, 및 패턴의 위치(예를 들어, 동공들 또는 홍채 중점들)의 계산을 위해 그리고 실제 시선 방향 벡터의 선택을 위해 기능하는 정보의 추가적인 세트(예를 들어, 얼굴 또는 눈에서 특징적 포인트들의 상대적 또는 절대적 위치)로 동작할 수 있다.
이를 위해, 예를 들어, 구성 파일에 모든 모델 파라미터들, 예를 들어, 위치 파라미터, 광학 파라미터(카메라(14a 및 14b) 참조)를 저장한 소위 3D 카메라 시스템 모델이 참조될 수 있다.
다음으로, 동공 인식의 예에 기초하여, 3D 이미지 분석기(400)의 전체 기능이 이제 설명된다. 3D 이미지 분석기(400)에 저장 또는 로딩되는 모델은, 카메라 유닛에 관한, 즉, 카메라 센서(예를 들어, 픽셀 크기, 센서 크기 및 해상도) 및 이용되는 대물 렌즈들(예를 들어, 초점 길이 및 대물 렌즈 왜곡)에 관한 데이터, 인식되는 오브젝트의 데이터 또는 특성들(예를 들어, 눈의 특성들) 및 추가적인 관련 오브젝트들(예를 들어, 입력 디바이스로서 시스템들(1000)을 이용하는 경우 디스플레이)에 관한 데이터를 포함한다.
3D 위치 계산기(404)는, 2개의 또는 심지어 몇몇 카메라 이미지들(14a 및 14b 참조)에 기초하여 삼각측량에 의해 눈의 위치 또는 동공의 중점을 계산한다. 이를 위해, 이미지 프로세서들(10a 및 10b), 기하구조 변환기(202) 및 선택적인 적응형 데이터 프로세서(300)로부터의 프로세스 체인을 통해 2개의 카메라 이미지들(14a 및 14b 참조)에서 포인트의 2D 좌표가 제공된다. 전달된 2D 좌표로부터, 카메라들(14a 및 14b) 둘 모두에 대해, 광선들이 계산되고, 이는, 3D 카메라 모델을 이용하여, 특히 광학 파라미터들의 고려 하에, 센서 상에 2D 포인트로서 3D 포인트를 디스플레이한다. 서로 최소 거리를 갖는 2개의 직선들의 포인트(이상적인 경우, 직선들의 교차부)는, 탐색된 3D 포인트의 위치인 것으로 가정된다. 이러한 3D 위치는, 모델 파라미터들과 관련하여 전달되는 2D 좌표의 정확도를 설명하는 에러 측정치와 함께, 결과로서 출력되는 교차부(18a)를 통해 또는 시선 방향 계산기(408)에 송신된다.
3D 공간 내의 위치에 기초하여, 시선 방향 계산기(408)는, 교정 없이 그리고 눈과 카메라 시스템 사이의 거리에 대한 인식 없이, 동공의 2개의 타원 형상 투사들로부터 카메라 센서들로의 시선 방향을 결정할 수 있다. 이를 위해, 시선 방향 계산기(408)는, 이미지 센서의 3D 위치 파라미터들 이외에, 타원 파라미터를 이용하고, 이는, 위치 계산기(404)를 이용하여 계산된 위치 및 기하구조 분석기(202)를 이용하여 결정된다. 동공의 중점의 3D 위치 및 이미지 센서들의 위치로부터, 실제 카메라 유닛들의 회전에 의해, 가상 카메라 유닛들이 계산되고, 이의 광학 축은 3D 동공 중점을 통과한다. 후속적으로, 각각 실제 센서들 상에 동공의 투사들로부터, 2개의 가상 타원들이 발생하도록, 가상 센서들 상에 동공의 투사들이 계산된다. 2개의 가상 이미지 센서들 상의 가상 타원의 파라미터들로부터, 이미지 센서마다 각각의 가상 센서 평면에 대해 임의적으로 평행한 평면 상에 눈의 2개의 시점이 계산될 수 있다. 4개의 시점들 및 3D 동공 중점들을 이용하여, 4개의 시선 방향 벡터들이 계산될 수 있고, 따라서 각각 카메라마다 2개의 벡터들이 계산될 수 있다. 이러한 4개의 가능한 시선 방향 벡터들로부터, 항상, 하나의 카메라의 정확히 하나의 벡터가 다른 카메라의 하나와 거의 일치한다. 동일한 벡터들 둘 모두는, 눈의 탐색된 시선 방향을 표시하고, 그 다음, 이것은 교차부(18a)를 통해 시선 방향 계산기(404)에 의해 출력된다.
이러한 3D 계산의 특정한 이점은, 동공 크기 및 3D 시선 방향의 3D 눈 위치의 무접촉 및 완전히 교정없는 결정이, 카메라를 향상 눈의 위치에 대한 정보에 의존하지 않고 가능하다는 점이다. 3D 공간 모델의 고려 하에서 3D 눈 위치 및 3D 게이트 방향의 분석적 결정은 임의의 수의 카메라들(1보다 큼) 및 3D 공간에서 임의적 카메라 위치를 가능하게 한다. 동시의 높은 프레임 레이트를 갖는 짧은 레이턴시 시간은, 설명된 시스템(1000)의 실시간 능력을 가능하게 한다. 게다가, 필수적은 아니지만 선택적으로, 소위 시간 영역들이 또한 고정될 수 있어서, 연속적인 결과들 사이의 시간 차이들은 일정하다. 이것은, 예를 들어, 고정된 시간 기간들 내에서 결과들이 이용가능해야 하고, 계산을 위해 FPGA들을 이용함으로써 이것이 달성될 수 있는 보안-결정적 애플리케이션들에서 바람직하다.
대안적인 변화예에 따르면, 오직 하나의 카메라에 의한 시선 방향 결정을 수행하는 것이 또한 가능하다. 이를 위해, 한편으로는, 카메라의 이미지 데이터에 기초하여 그리고 가능하게는 추가적인 정보의 하나의 세트에 기초하여 3D 동공 중점을 계산하는 것이 필요하고, 다른 한편으로는, 도 5b를 참조하여 추후 설명되는 바와 같이, 카메라마다 계산될 수 있는 2개의 가능한 시선 방향으로부터 실제 시선 방향 벡터가 선택되어야 한다.
3D 동공 중점의 결정을 위해, 몇몇 가능성들이 존재한다. 하나는, 제 1 카메라 이미지의 특징적 포인트들 사이의 관계들의 평가에 기초한다. 따라서, 앞서 설명된 바와 같이, 카메라의 광학 시스템의 고려 하에 제 1 카메라 이미지의 동공 중점에 기초하여, 직선이 계산되고, 직선은 3D 동공 중점을 통과하지만, 아직 알려져 있지 않고, 이러한 직선 상에서 탐색된 동공 중점이 발견된다. 이를 위해, 카메라 또는 카메라의 정확한 메인 포인트 1(도 8a의 H1K1) 사이의 거리가 요구된다. 이러한 정보는, 제 1 카메라 이미지의 적어도 2개의 특징적 피쳐들(예를 들어, 동공 중점들)이 결정되고, 예를 들어, 다수의 사람들의 그룹을 통해 통계적으로 평가되는 바와 같이 이들의 서로에 대한 거리들이 알려지면, 추정될 수 있다. 그 다음, 카메라와 3D 동공 중점 사이의 거리는, 특징적 피쳐들 사이의 결정된 거리(예를 들어, 픽셀 단위)를, 카메라에 대한 알려진 거리로의 특성들의 통계적 값(예를 들어, 픽셀 단위)으로 알려진 거리와 관련시킴으로써 추정될 수 있다.
3D 동공 중점을 획득하기 위한 추가적인 변화는, 카메라에 대한 동공 중점의 위치 또는 동공 중점의 거리가 정보의 제 2 세트 내에서 (예를 들어, 3D 공간에서 특징적 얼굴 포인트들 또는 눈 영역의 위치들이 결정되게 하는 3D 얼굴 검출에 대한 업스트림 모듈에 의해) 3D 이미지 분석기에 제공된다는 점이다.
실제 시선 방향 벡터를 결정하기 위해, 교정없는 눈-추적을 위한 방법을 포함하는 "3D 이미지 분석기"에 관한 이전 설명에서, 지금까지는, 상이한 관점들로부터 적어도 2개의 카메라 이미지들이 요구되었다. 시선 방향의 계산에 관해, 카메라 이미지마다 정확하게 2개의 가능한 시선 방향 벡터들이 결정되는 위치가 존재하며, 따라서 각각의 제 2 벡터는, 가상 카메라 센서 중심과 3D 동공 중점 사이의 교차 라인에서 제 1 벡터의 반사에 대응한다. 다른 카메라 이미지로부터 얻어지는 벡터들 둘 모두로부터, 정확히 하나의 벡터는 제 1 카메라 이미지로부터 계산된 벡터에 거의 대응한다. 이러한 대응하는 벡터들은, 결정되는 시선 방향을 표시한다.
또한 카메라를 이용하여 교정없는 눈-추적을 수행할 수 있기 위해, 카메라 이미지로부터 결정되는2개의 가능한 시선 방향 벡터들 (아래에서 "v1" 및 "v2")로부터 실제 시선 방향 벡터(아래에서 "vb")가 선택되어야 한다.
이러한 프로세스는 도 5b를 참조하여 예시적으로 설명된다. 도 5b는, 동공 및 이미지에 투사된 2개의 가능한 시선 방향들 v1 및 v2를 갖는 눈동자(녹색 프레임)의 가시적 부분의 예시를 도시한다.
시선 방향 "vb"를 선택하기 위해, 몇몇 가능성들이 존재하고, 이들은, 실제 시선 방향 벡터를 선택하기 위해 개별적으로 또는 결합되어 이용될 수 있다. 통상적으로, 정확한 3D 시선 벡터의 선택은, 2개의 가능한 3D 시선 벡터들로부터 발생하며, 예를 들어, 일 실시예에 따르면, 오직 하나의 단일 카메라 이미지(+ 추가적인 정보)가 이용된다. 이러한 가능성들 중 일부(나열은 최종적이 아님)가 아래에서 설명되며, v1 및 v2(도 5a 참조)는 이러한 선택 시점에 이미 결정된 것으로 가정된다.
제 1 가능성에 따르면, 공막에 기초한 평가(홍채 주위의 백색 피부(dermis))가 카메라 이미지에 발생할 수 있다. (동공 중점에서 시작하며 무한하게 긴) 2개의 빔들이 정의되며, 하나는 v1 방향이고 하나는 v2 방향이다. 빔들 둘 모두는 눈의 카메라 이미지에 투사되고, 카메라 이미지에서, 각각 동공 중점으로부터 이미지 엣지까지 걸쳐있다. 공막(sclera)에 속하는 더 적은 픽셀을 왜곡하는 빔은 실제 시선 방향 벡터 vb에 속한다. 공막의 픽셀은, 인접한 홍채의 픽셀들로부터 및 눈꺼풀들의 픽셀들로부터 공막의 그레이 값만큼 상이하다. 이러한 방법은, 캡쳐된 눈에 속하는 면이 카메라로부터 너무 멀리 벗어나면(따라서, 카메라의 광학 축과 대면 평면 상에 수직인 스탠딩 벡터 사이의 각이 너무 커지면) 한계에 도달한다.
제 2 가능성에 따르면, 동공 중점의 위치의 평가는 눈 개방 동안 발생할 수 있다. 눈동자의 가시적 부분 내의 또는 눈 개방 동안 동공 중점의 위치는, 실제 시선 방향 벡터의 선택에 이용될 수 있다. 그에 대한 하나의 가능성은 (동공 중점에서 시작하며 무한하게 긴) 2개의 빔들을 정의하는 것이고, 하나는 v1 방향이고 하나는 v2 방향이다. 빔들 둘 모두는 눈의 카메라 이미지에 투사되고, 카메라 이미지에서, 각각 동공 중점으로부터 이미지 엣지까지 걸쳐있다. 카메라 이미지의 빔들 둘 모두를 따라, 각각 동공 중점과 눈 개방(도 5b에서 녹색 마킹됨)의 엣지 사이의 거리가 결정된다. 더 짧은 거리가 발생하는 빔이 실제 시선 방향 벡터에 속한다. 이러한 방법은, 캡쳐된 눈에 속하는 면이 카메라로부터 너무 멀리 벗어나면(따라서, 카메라의 광학 축과 대면 평면 상에 수직인 스탠딩 벡터 사이의 각이 너무 커지면) 한계에 도달한다.
제 3 가능성에 따르면, 동공 중점의 위치의 평가는 기준 동공 중점을 향해 발생할 수 있다. 카메라 이미지에서 결정되는 눈동자의 가시적 부분 내의 또는 눈 개방 동안 동공 중점의 위치는, 실제 시선 방향 벡터를 선택하기 위해 기준 동공 중점과 함께 이용될 수 있다. 그에 대한 하나의 가능성은 (동공 중점에서 시작하며 무한하게 긴) 2개의 빔들을 정의하는 것이고, 하나는 v1 방향이고 하나는 v2 방향이다. 빔들 둘 모두는 눈의 카메라 이미지에 투사되고, 카메라 이미지에서, 각각 동공 중점으로부터 이미지의 엣지까지 걸쳐있다. 눈 개방 동안 기준 동공 중점은 그 순간의 동공 중점에 대응하고, 그 순간에 눈은, 이미지 기록을 위해 이용되는 카메라의 방향(더 정확하게는, 카메라의 제 1 메인 포인트의 방향)을 향한다. 이미지에서 기준 동공 중점까지 더 큰 거리를 갖는 카메라 이미지로 투사된 빔은 실제 시선 방향 벡터에 속한다. 기준 동공 중점을 결정하기 위해, 몇몇 가능성들이 존재하고, 이들 중 일부가 아래에서 설명된다:
가능성 1(특수한 적용의 경우): 기준 동공 중점은 결정된 동공 중점으로부터 발생하고, 이 경우, 눈은 카메라 센서 중심의 방향을 직접 향한다. 이것은, 시각적 센서 평면(시선 방향 계산에 관한 설명 참조) 상의 동공 윤곽이 원을 특징으로 하는 경우 주어진다.
가능성 2(일반적인 적용의 경우): 기준 동공 중점의 위치에 대한 대략적 추정치로서, 눈 개방의 표면의 초점이 이용될 수 있다. 이러한 추정 방법은, 면이 놓인 평면이 카메라의 센서 평면에 평행하지 않으면 한계에 도달한다. 이러한 제한은, 카메라 센서 평면을 향한 대면하는 평면의 기울기가 (예를 들어, 헤드 위치 및 정렬에 대해 이전에 수행된 결정에 의해) 알려지고, 추정된 기준 동공 중점의 위치에 대한 정정을 위해 이러한 기울기가 이용되면 보상될 수 있다. 이러한 방법은 또한, 3D 동공 중점과 가상 센서의 광학 축 사이의 거리가, 3D 동공 중점과 카메라 사이의 거리보다 훨씬 더 작을 것을 요구한다.
가능성 3(일반적 적용의 경우): 눈 중점의 3D 위치가 이용가능하면, 3D 눈 중점과 가상 센서 중점 사이의 직선 뿐만 아니라 눈동자의 표면과 이러한 직선들의 교차부가 결정될 수 있다. 기준 동공 중점은, 카메라 이미지로 변환되는 이러한 교차부의 위치로부터 발생한다.
추가적인 실시예들에 따르면, 허프 프로세서의 이용에 관해, FPGA들(10a 및 10b) 대신에, ASIC(application specific chip)가 이용될 수 있고, 이는, 특히 매우 낮은 단위 비용으로 많은 양을 실현가능하다. 그러나, 요약하면, 이것은 허프 프로세서(10a 및 10b)의 구현과는 독립적으로 달성될 수 있고, 매우 효율적인 프로세싱으로 인한 낮은 에너지 소모 및 연관된 낮은 내부 클럭 요건이 달성될 수 있다.
이러한 특징들에도 불구하고, 여기서 이용되는 허프 프로세서 또는 허프 프로세서 상에서 수행되는 방법은 매우 견고하고 고장에 취약하지 않게 유지된다. 이 때, 도 2a에 도시된 바와 같은 허프 프로세서(100)는, 특히, 도 5에 관해 제시된 상이한 특징들을 갖는 다양한 결합들에서 이용될 수 있음을 주목해야 한다.
도 2a에 따른 허프 프로세서의 애플리케이션들은, 예를 들어, 자동차 섹터에서 운전 보조 시스템들로서 순간적인 졸음 또는 피로 검출기들에 대한 경고 시스템들(또는 일반적으로 보안-관련 인간-머신 인터페이스들)이다. 따라서, 눈들의 평가(예를 들어, 깜박임 정도에 대한 측정으로서 동공의 커버링)에 의해 그리고 시점들 및 초점의 고려 하에, 특정한 피로 패턴이 검출될 수 있다.
추가로, 허프 프로세서는, 기술적 디바이스들에 대한 입력 디바이스들 또는 입력 인터페이스들에 대해 이용될 수 있고; 눈 위치 및 시선 방향이 입력 파라미터로서 이용된다. 정밀한 애플리케이션은, 예를 들어, 특정한 포커싱된 영역들의 강조에 의해, 스크린 컨텐츠를 시청하는 경우, 사용자의 분석 또는 지원일 것이다. 이러한 애플리케이션들은, 장애인 보조, 컴퓨터 게임, 시선 방향을 포함함으로써 3D 가상화의 최적화에 관한, 시장 및 미디어 개발에 관한, 또는 안과 진단 및 특정 관심사의 치료들에 관한 분야이다.
앞서 이미 표시된 바와 같이, 앞서 제시된 방법의 구현은 플랫폼에 의존하지 않아서, 앞서 제시된 방법은 또한 예를 들어, PC와 같은 다른 하드웨어 플랫폼들 상에서 수행될 수 있다. 따라서, 추가적인 실시예는, 프리-프로세서를 이용함으로써 이미지를 각각 갖는 다수의 샘플들을 프로세싱하는 단계들을 갖는 허프 프로세싱을 위한 방법과 관련되며, 각각의 샘플의 이미지는 회전 및/또는 반사되어, 각각의 샘플에 대한 각각의 샘플의 이미지의 다수의 버전들, 및 허프 변환 유닛을 이용함으로써 다수의 버전들에 기초하여 다수의 샘플들에서 미리 결정된 패턴들의 집합이 출력되고, 허프 변환 유닛은, 패턴들의 선택된 미리 결정된 세트에 의존하는 필터 특성을 갖는 지연 필터를 갖는다.
조절가능한 특성과 관련된 상기 설명들에서 필터 특성이 항상 언급될지라도, 이 때 추가적인 실시예들에 따라, 조절가능한 특성은 또한 고속 2D 상관에 관한 포스트-프로세싱 특성(곡선 또는 왜곡 특성)과 관련될 수 있음을 주목해야 한다. 이러한 구현은, 도 4a 내지 도 4d를 참조하여 설명된다.
도 4a는, 고속 2D 상관의 프로세싱 체인(1000)을 도시한다. 2D 상관의 프로세싱 체인은, 적어도, 2D 곡선을 위한 기능 블록(1105) 및 병합을 위한 기능 블록(1110)을 포함한다. 2D 곡선에 관한 절차는 도 4b에서 예시된다. 도 4b는 템플릿들에서 예시적인 컴파일을 도시한다. 도 4d와 함께 도 4c를 이용하면, 이러한 프로세싱 체인(1000)에 기초하여 허프 피쳐가 추출될 수 있는 방법은 자명해 진다. 도 4c는, 타원(1115)의 인식을 위한 (이 경우, 예를 들어, 상이한 증가를 갖는 직선들에 대한) n개의 템플릿들에 의한 픽셀 단위 상관을 도시하는 한편, 도 4d는, 픽셀 단위 상관의 결과를 도시하며, 통상적으로 n개의 결과 이미지들을 통해 여전히 최대 탐색이 발생한다. 모든 결과 이미지는 픽셀당 하나의 허프 피쳐를 포함한다. 다음으로, 이러한 허프 프로세싱은 전반적 상황에서 설명된다.
여기서 개략된 허프 프로세싱에 관한, 특히 PC-기반 구현을 위해 미리 지정된 조절가능한 특성(병렬적 FPGA 구조들에 대해 최적화된 구현)을 갖는 지연 필터를 갖는 구현과는 반대로, 프로세싱의 일부는 다른 접근법에 의해 교환될 것이다.
지금까지, 지연 필터의 거의 모든 열이 탐색된 구조(예를 들어, 상이한 증가의 직선 세그먼트들)를 표현하는 것은 사실이었다. 필터를 통과함으로써, 최고 양 값을 갖는 열 번호가 결정된다. 따라서, 열 번호는 탐색된 구조의 특성을 표현하고, 양 값은 탐색된 구조와의 일치에 대한 측정치를 표시한다.
PC-기반 구현에 관해, 지연 필터는 고속 2D 상관에 의해 교환된다. 이전의 지연 필터는 특정 패턴의 특성들의 위치 n에서의 크기에 따라 형성된다. 이러한 n개의 특성들은 템플릿으로서 스토리지에 저장된다. 후속적으로, 프리-프로세싱된 이미지(예를 들어, 2진 엣지 이미지 또는 그레디언트 이미지)가 픽셀 단위(pixel-wise)로 통과된다. 모든 픽셀 위치에서, (포스트-프로세싱 특성에 대응하는) 기초 이미지 컨텐츠를 갖는 각각 모든 저장된 템플릿들은 동기화된다(즉, (템플릿들의 크기에서) 픽셀 위치의 환경이 평가된다). 이러한 절차는 디지털 이미지 프로세싱에서의 상관으로 지칭된다. 따라서, 기초 이미지 컨텐츠에 있어서 모든 템플릿에 대해 상관 값 - 즉, 일치에 대한 측정치- 이 획득된다. 따라서, 측정치는 이전 지연 필터로부터의 열 양들에 대응한다. 이제, 최고 상관 값을 갖는 템플릿에 대한 (픽셀당) 결정이 행해지고, 그 템플릿 번호가 기억된다(템플릿 번호는, 탐색된 구조, 예를 들어, 직선 세그먼트의 증가의 특성을 설명한다).
따라서, 픽셀당 상관 값 및 템플릿 번호가 획득된다. 이로써, 이미 개요된 바와 같은 허프 피쳐가 완전히 설명될 수 있다.
이미지 컨텐츠를 갖는 개별적인 템플릿들의 상관은 로컬 영역에서 뿐만 아니라 주파수 영역에서 수행될 수 있음을 추가로 주목해야 한다. 이것은, 무엇보다도 초기 이미지가 모든 n개의 템플릿들과 각각 상관됨을 의미한다. N개의 결과 이미지들이 획득된다. 이러한 결과 이미지들이 (직육면체에서와 같이) 겹쳐지면, 픽셀당 최고 상관 값이 (모든 평면들을 통해) 탐색될 것이다. 따라서, 그 다음, 개별적인 평면들은 직육면체에서 개별적인 템플릿들을 표현한다. 그 결과, 개별적인 이미지가 다시 획득되고, 그 다음, 픽셀당 개별적 이미지는 상관 측정치 및 템플릿 번호, 즉, 그에 따른 픽셀당 하나의 허프 피쳐를 포함한다.
상기 양상들이 항상 "동공 인식"과 관련하여 설명되었지만, 상기 개요된 양상들은 또한 추가적인 애플리케이션들에 대해 이용가능하다. 여기서, 예를 들어, 애플리케이션 "순간적인 졸음에 대한 경고 시스템들"이 언급되고, 다음으로 그에 대해 상세히 참조된다.
순간적인 졸음에 대한 경고 시스템은, 적어도, 이미지 수집 유닛, 조명 유닛, 프로세싱 유닛 및 음향 및/또는 광학 시그널링 유닛으로 이루어진 시스템이다. 사용자에 의해 기록된 이미지의 평가에 의해, 디바이스는, 순간적인 졸음 또는 피로 도는 사용자의 편향의 시작을 인식하고 사용자에게 경고할 수 있다.
시스템은, 예를 들어, CMOS 이미지 센서가 이용되고 적외선 범위에서 장면이 조명되는 형태로 개발될 수 있다. 이것은, 디바이스가 주위 광과는 독립적으로 작동하는, 특히 사용자를 블라인드하지 않는 이점을 갖는다. 프로세싱 유닛으로서, 임베딩된 프로세서 시스템이 이용되고, 이는 기초 운영 시스템 상에서 소프트웨어 코드를 실행한다. 시그널링 유닛은 예를 들어, 다중-주파수 부저 및 RGB-LED로 이루어질 수 있다.
기록된 이미지의 평가는, 제 1 프로세싱 스테이지에서 얼굴 및 눈 검출 및 눈 분석이 분류기에 의해 수행된다는 사실의 형태로 발생할 수 있다. 이러한 프로세싱 스테이지는, 얼굴, 눈 위치 및 깜박임 반사 정도의 정렬에 대한 제 1 표시들을 제공한다.
이에 기초하여, 후속 단계에서, 모델-기반 눈 정밀 분석이 수행될 수 있다. 이에 이용되는 눈 모델은, 예를 들어, 동공 및/또는 홍채 위치, 동공 및/또는 홍채 크기, 눈꺼풀들의 설명 및 눈 엣지 포인트들로 이루어질 수 있다. 따라서, 모든 시점에서, 이러한 성분들 중 일부가 발견되고 평가되는 것으로 충분하다. 개별적인 성분들은 또한 몇몇 이미지들을 통해 추적될 수 있어서, 이들이 모든 이미지에서 완전히 다시 탐색될 필요는 없다.
얼굴 검출 또는 눈 검출 또는 눈 분석 또는 눈 정밀 분석을 수행하기 위해, 허프 피쳐들이 이용될 수 있다. 얼굴 검출 또는 눈 검출 또는 눈 분석을 위해, 2D 이미지 분석기가 이용될 수 있다. 결정된 결과 값들 또는 중간적 결과들, 또는 얼굴 검출 또는 눈 검출 또는 눈 분석 동안의 값 전개(value development)들의 평활화를 위해, 설명된 적응형 선택적 데이터 프로세서가 이용될 수 있다.
순간적인 졸음 또는 피로 또는 사용자의 편향을 결정하기 위해, 깜박임 반사 정도 및/또는 눈 정밀 분석의 결과들의 시간대별 평가가 이용될 수 있다. 추가적으로, 순간적인 졸음 또는 피로 또는 사용자의 편향의 결정에 대한 더 양호한 결과들을 획득하기 위해, 3D 이미지 분석기와 관련하여 설명된 것과 같은 교정없는 시선 방향 결정이 또한 이용될 수 있다. 아울러, 이러한 결과들을 안정화하기 위해, 선택적인 적응형 데이터 프로세서가 이용될 수 있다.
일 실시예에 따르면, 초기 이미지의 스테이지에서 허프 프로세서는 카메라 제어를 위한 유닛을 포함할 수 있다.
일 실시예에 따르면, 특정 시선 방향에 기초하여, 예를 들어, PC를 제어하기 위해, 소위 시점(추가적인 평면과 시선의 교차)이 결정될 수 있다.
앞서 이미 표시된 바와 같이, 상기 개요된 방법의 구현은, 예를 들어, PC와 같은 다른 하드웨어 플랫폼들 상에서 앞서 제시된 방법이 또한 수행될 수 있도록, 플랫폼과는 독립적이다.
일부 양상들은 디바이스와 관련하여 설명되었지만, 이러한 양상들은 또한 각각의 방법의 설명을 구성하는 것으로 이해되어, 디바이스의 블록 또는 컴포넌트는 또한 각각의 방법 단계 또는 방법 단계의 특징인 것으로 이해해야 한다. 이와 유사하게, 방법 단계와 관련하여 또는 방법 단계인 것으로 설명된 양상들은 또한, 각각의 디바이스의 각각의 블록 또는 세부사항 또는 특징의 설명을 구성한다. 일부 또는 모든 방법 단계들은, 예를 들어, 프로그래밍가능 컴퓨터 또는 전자 스위치의 마이크로프로세서와 같은 장치에 의해 (하드웨어 장치를 이용함으로써) 수행될 수 있다. 일부 실시예들에 관해, 중요한 방법 단계들 중 일부 또는 더 많은 단계들이 이러한 장치에 의해 수행될 수 있다.
특정한 구현 요건들에 따르면, 본 발명의 실시예들은 하드웨어 또는 소프트웨어로 구현될 수 있다. 구현은, 예를 들어, 플로피 디스크, DVD, 블루레이 디스크, CD, ROM, PROM, EPROM, EEPROM, FLASH 메모리, 하드 디스크 또는 임의의 다른 자기 또는 광학 스토리지와 같은 디지털 저장 매체를 이용함으로써 수행될 수 있고, 디지털 저장 매체 상에는 전자적으로 판독가능한 제어 신호들이 저장되어, 각각의 방법이 수행되는 방식으로 프로그래밍가능 컴퓨터 시스템과 협력한다. 따라서, 디지털 저장 매체는 컴퓨터 판독가능일 수 있다.
따라서, 본 발명에 따른 일부 실시예들은, 본원에서 설명되는 방법들 중 하나가 수행되는 방식으로 프로그래밍가능 컴퓨터 시스템과 협력할 수 있는, 전자적으로 판독가능한 제어 신호들을 갖는 데이터 캐리어를 포함한다.
일반적으로, 본 발명의 실시예들은 프로그램 코드를 갖는 컴퓨터 프로그램 물건으로서 구현될 수 있어서, 프로그램 코드는, 컴퓨터 프로그램 물건이 컴퓨터 상에서 실행되는 경우 본 방법들 중 하나를 수행하는데 효과적이다.
프로그램 코드는 예를 들어, 머신-판독가능 캐리어 상에 저장될 수 있다.
추가적인 실시예들은, 본원에서 설명되는 방법들 중 하나의 실행을 위한 컴퓨터 프로그램을 포함하여, 컴퓨터 프로그램은 머신-판독가능 캐리어 상에 저장된다.
따라서, 달리 말하면, 본 발명에 따른 방법의 일 실시예는, 컴퓨터 프로그램이 컴퓨터 상에서 실행되는 경우, 본원에서 설명되는 방법들 중 하나의 실행을 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서, 본 발명에 따른 방법의 추가적인 실시예는, 본원에서 설명되는 방법들 중 하나의 실행을 위한 컴퓨터 프로그램이 기록되는 데이터 캐리어(또는 디지털 저장 매체 또는 컴퓨터 판독 매체)이다.
따라서, 본 발명에 따른 방법의 추가적인 실시예는, 본원에서 정의되는 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 구성하는 신호들의 시퀀스 또는 데이터 스트림이다. 예를 들어, 신호들의 시퀀스 또는 데이터 스트림은, 예를 들어, 인터넷을 통해, 데이터 통신 접속을 통해 전송되도록 구성될 수 있다.
추가적인 실시예는, 본원에서 정의되는 방법들 중 하나를 수행하도록 구성 또는 조절되는 프로세싱 유닛, 예를 들어, 컴퓨터 또는 프로그래밍가능한 로직 컴포넌트를 포함한다.
추가적인 실시예는, 본원에서 정의되는 방법 중 하나를 실행하기 위한 컴퓨터 프로그램이 설치되는 컴퓨터를 포함한다.
본 발명에 따른 추가적인 실시예는, 본원에서 정의되는 방법들 중 적어도 하나를 실행하기 위한 컴퓨터 프로그램을 수신자에게 송신하도록 설계되는 디바이스 또는 시스템을 포함한다. 송신은, 예를 들어, 전자적으로 또는 광학적으로 발생할 수 있다. 수신자는, 컴퓨터, 모바일 디바이스, 저장 디바이스 또는 이와 유사한 디바이스일 수 있다. 디바이스 또는 시스템은, 예를 들어, 컴퓨터 프로그램의 수신자에게의 송신을 위한 파일 서버를 포함할 수 있다.
일부 실시예들에 관해, 프로그래밍가능 로직 컴포넌트(예를 들어, 필드 프로그래밍가능 게이트 어레이, FPGA)는, 본원에서 정의되는 방법들의 일부의 또는 모든 기능들을 실행하기 위해 이용될 수 있다. 일부 실시예들에 관해, 필드 프로그래밍가능 게이트 어레이는, 본원에서 정의되는 방법들 중 하나를 실행하기 위해 마이크로프로세서와 협력할 수 있다. 일반적으로, 일부 실시예들에 관해, 방법들은 임의의 하드웨어 디바이스에 의해 실행된다. 하드웨어 디바이스는, 컴퓨터 프로세서(CPU)와 같은 범용으로 적용가능한 하드웨어 또는 예를 들어, ASIC와 같이 방법에 특정적인 하드웨어일 수 있다.
다음으로, 앞서 설명된 발명들 또는 발명들의 양상들이 달리 말해서 2개의 추가적인 관점들로 설명된다.
통합된 눈-추적기
통합된 눈-추적기는 FPGA-최적화된 알고리즘들의 컴파일을 포함하고, 이는, 카메라 라이브 이미지로부터 병렬적 허프 변환을 이용하여 (타원) 피쳐들(허프 피쳐들)을 추출하고 그로부터 시선 방향을 계산하는데 적합하다. 추출된 피쳐들을 평가함으로써, 동공 타원이 결정될 수 있다. 서로에게 알려진 위치 및 정렬을 갖는 몇몇 카메라들을 이용하는 경우, 동공 중점의 3D 위치 뿐만 아니라 3D 시선 방향 및 동공 직경이 결정될 수 있다. 계산을 위해, 카메라 이미지들에서 타원의 위치 및 형태가 참조된다. 각각의 사용자에 대한 시스템의 교정 뿐만 아니라 카메라들과 분석된 눈 사이의 거리에 대한 정보 또한 요구되지 않는다.
이용되는 이미지 프로세싱 알고리즘들은 특히, 이 알고리즘들이 FPGA(필드 프로그래밍가능 게이트 어레이) 상의 프로세싱에 최적화된다는 점을 특징으로 한다. 알고리즘들은, FPGA에서 일정한 리프레쉬 레이트, 최소 레이턴시 기간들 및 최소 자원 소모에 의한 매우 빠른 이미지 프로세싱을 가능하게 한다. 따라서, 이러한 모듈들은, 작은 구성 체적을 요구하는, 시간-, 레이턴시 및 보안이 중요한 애플리케이션들(예를 들어, 운전 보조 시스템들), 의료 진단 시스템들(예를 들어, 시야계) 뿐만 아니라 인간-머신 인터페이스들(예를 들어, 모바일 디바이스들)에 대한 애플리케이션에 대해 미리 지정된다.
문제점
- 몇몇 (라이브) 카메라 이미지들에서 3D 공간에서 3D 눈 위치들 및 3D 시선 방향들의 견고한 검출 뿐만 아니라 동공 크기의 검출
- 매우 짧은 반응 기간 (또는 프로세싱 시간)
- 작은 구성
- 통합된 솔루션에 의한 (PC와는 독립적인) 자율적 기능
최신 기술
- 눈-추적기 시스템들
o Steffen Markert: 실시간 인간의 눈의 시선 방향 결정(gaze direction determination of the human eye in real time) (졸업 논문 및 특허 DE 10 2004 046 617 A1)
o Andrew T. Duchowski: 눈 추적 방법: 이론 및 실시(Eye Tracking Methodology: Theory and Practice)
- 병렬적 허프 변환
o Johannes Katzmann: 타원 허프 변환에 대한 실시간 구현(A real time implementation for the ellipsis Hough transformation) (졸업 논문 및 특허 DE 10 2005 047 160 B4)
o Christian Holland-Nell: 원들에 대한 허프 변환에 기초한 동공 검출 알고리즘의 구현(Implementation of a pupil detection algorithm based on the Hough transformation for circles) (졸업 논문 및 특허 DE 10 2005 047 160 B4)
현재 최신 기술의 단점들
- 눈-추적기 시스템들
o 단점들:
■ 눈-추적 시스템들은 일반적으로 이용 전 (복잡한) 교정을 요구한다.
■ Markert(특허 DE 10 2004 046 617 A1)에 따른 시스템은 교정이 없지만, 오직 특정 조건들 하에서만 작동한다.
1. 카메라와 동공 중점 사이의 거리는 공지되고 저장되어야 한다.
2. 방법은 오직, 3D 동공 중점이 카메라들의 광학 축 내에 놓인 경우에만 작동한다.
■ 전반적 프로세싱은 PC 하드웨어에 대해 최적화되지만, 또한 이들의 단점들을 겪는다(프로세싱 동안 어떠한 고정된 시간 영역도 가능하지 않다).
■ 알고리즘들이 매우 높은 자원 소모를 갖기 때문에, 효율적인 시스템들이 요구된다.
■ 결과가 이용가능할 때까지, 긴 프로세싱 기간 및 그에 따른 긴 지연 기간들(부분적으로는 평가되는 이미지의 크기에 의존함)
- 병렬적 허프 변환
o 단점들:
■ 오직 2진 엣지 이미지들만이 변환될 수 있다.
■ 변환은 오직 이미지 좌표에 관한 2진 결과만들 제공한다(구조의 위치가 발견되지만, 적중 확률 및 추가적인 구조의 피쳐들은 아니다).
■ 진행중인 동작 동안 변환 코어의 어떠한 유연한 조절도 없고, 따라서,동적 이미지 컨텐츠(예를 들어, 작고 큰 동공들)에 관한 오직 불충분한 적합성.
■ 동작 동안 다른 구조들에 대한 변환 코어의 재구성이 가능하지 않고, 따라서 오브젝트 인식에 대한 제한된 적합성
구현
전반적인 시스템은, 동일한 눈이 디스플레이되는 둘 이상의 카메라 이미지들로부터, 다차원 허프 피쳐들의 리스트를 각각 결정하고, 이들에 기초하여, 동공 타원들의 위치 및 형태를 각각 계산한다. 이러한 2개의 타원들의 파라미터들로부터 뿐만 아니라 단지 카메라의 서로에 대한 위치 및 정렬로부터, 동공 중점의 3D 위치 뿐만 아니라 3D 시선 방향 및 동공 직경이 완전히 교정 없이 결정될 수 있다. 하드웨어 플랫폼으로서, 적어도 2개의 이미지 센서들, FPGA 및/또는 다운스트림 마이크로프로세서 시스템의 조합이 이용된다(PCI의 필수적 요구가 없음).
"허프 프리프로세싱", "병렬적 허프 변환", "허프 피쳐 추출기", "허프 피쳐 대 타원 변환기(Hough feature to ellipse converter)", "코어-크기 제어", "시간적 스마트 평활화 필터", "3D 카메라 시스템 모델", "3D 위치 계산" 및 "3D 시선 방향 계산"은 통합된 눈 추적기의 개별적인 기능 모듈들과 관련된다. 이들은, 아래와 같이, 통합된 눈-추적기의 이미지 프로세싱 체인의 라인에 속한다:
도 6은, 통합된 눈-추적기에서 개별적인 기능 모듈들의 블록도를 도시한다. 블록도는 통합된 눈-추적기의 개별적인 프로세싱 스테이지들을 도시한다. 다음으로, 모듈들의 상세한 설명이 제시된다.
● "허프 프리-프로세싱"
o 기능
■ 모듈 "병렬적 허프 변환"에 대한 비디오 스트림의, 특히 이미지 회전에 의한 업샘플링, 및 모듈 "병렬적 허프 변환"의 병렬화 정도에 따라 변환되는 이미지의 업샘플링
o 입력
■ 2진 엣지 이미지 또는 그레디언트 이미지
o 출력
■ 후속 모듈의 병렬화 정도에 따라, 입력으로부터 업샘플링된 픽셀 데이터를 갖는 하나 이상의 비디오 스트림들
o 상세한 설명
■ 원리에 기초하여, 병렬적 허프 변환은, 각각 4개의 약 90° 왜곡된 메인 방향들로부터 이미지 컨텐츠에 적용될 수 있다.
■ 이를 위해, 프리-프로세싱에서 약 90°의 이미지 회전이 발생한다.
■ 2개의 남은 방향들은, 각각의 회전된 및 비회전된 이미지가 (스토리지에 저장된 이미지 매트릭스의 역방향 판독에 의해) 수평으로 반사된다는 사실에 의해 커버된다.
■ 모듈의 병렬화 정도에 따라, 하기 3개의 연접들이 출력에 대해 발생한다:
● 100% 병렬화: 4개의 비디오 데이터 스트림들의 동시적 출력: 약 90° 회전된 것, 비회전된 것 뿐만 아니라 각각 반사된 것
● 50% 병렬화: 2개의 비디오 데이터 스트림들의 출력: 약 90° 회전된 것 및 비회전된 것, 각각 반사된 변화예들의 출력이 순차적으로 발생한다.
● 25% 병렬화: 일 비디오 데이터 스트림의 출력: 약 90° 회전된 것 및 비회전된 것, 및 이들의 각각 반사된 변화예들이 순차적으로 출력된다.
● "병렬적 허프 변환"
o 기능
■ 단순한 패턴들(상이한 크기들 및 증가들을 갖는 직선들 및 상이한 반경 및 배향들을 갖는 곡선들)의 병렬적 인식 및 2진 엣지 또는 그레디언트 이미지에서 이들의 등장 확률
o 입력
■ 병렬적 허프 변환에 대해 업샘플링된 엣지 또는 그레디언트 이미지("병렬적 프로세싱" 모듈의 출력)
o 출력
■ 탐색된 구조의 모든 관련 파라미터들을 포함하는 다차원 허프 공간
o 상세한 설명
■ 픽셀 데이터에 대해 정의된 "통과 방향"을 갖고 하기 특징들에 의해 특성화되는 복잡한 지연-기반 로컬 필터에 의한 입력의 프로세싱
● 지연 엘리먼트들로 이루어진 가변적 크기를 갖는 필터 코어
● 탐색된 패턴들에 대한 필터의 적응형 조절의 경우, 지연 엘리먼트들은 동작 동안 스위칭 온 및 오프될 수 있다.
● 필터의 모든 열은 탐색된 구조(곡선 또는 직선 증가)의 특정 특성을 표현한다.
● 필터 열들을 통한 합산은, 각각의 열에 의해 표현되는 구조의 특성에 대한 등장 확률을 제공한다.
● 필터를 통과하는 경우, 탐색된 패턴의 특성에 대한 최고 등장 확률을 갖는 열이 항상 출력된다.
■ 모든 이미지 픽셀에 대해, 필터는, 하기 정보를 포함하는 허프 공간에서 하나의 포인트를 제공한다.
● 패턴의 종료(예를 들어, 직선 또는 반원)
● 패턴에 대한 등장 확률
● 구조의 특성(곡선의 강도 또는 직선들에 대한 증가 및 길이)
● 이미지에서 구성의 위치 또는 배향
■ 변환 결과로서, 다차원 이미지가 발생하고, 이는 아래에서 허프 공간(Hough room)으로 지칭된다.
● "허프 피쳐 추출기"
o 기능
■ 패턴 인식에 대한 관련 정보를 포함하는 허프 공간으로부터 피쳐들의 추출
o 입력
■ 다차원 허프 공간("병렬적 허프 변환" 모듈의 출력)
o 출력
■ 패턴 인식에 대한 관련 정보를 포함하는 허프 피쳐들의 리스트
o 상세한 설명
■ 허프 피쳐 공간들의 평활화(로컬 필터링을 이용한 공간적 정정)
■ 변형된 "비-최대-억제"에 의한 허프 공간의 "시닝(thinning)"(패턴 인식과 관련 없는 정보의 억제)
● 패턴의 종류 및 구조의 특성을 고려함으로써 프로세싱과 관련 없는 포인트들의 페이드 아웃(허프 확률 공간에서 "비-최대값")
● 적절한 임계치들을 이용한 허프 공간 포인트들의 추가적인 시닝
o 허프 확률 공간에서 임계값에 의한 잡음 억제
o 구조의 최소 및 최대 허용가능한 특성에 대한 인터벌의 표시(예를 들어, 곡선형 구조들에 관한 최소/최대 곡선 또는 직선들에 관한 최소/최대 증가)
■ 원래의 이미지 범주에서 모든 남은 포인트들의 파라미터들의 분석적 재변환은 하기 허프 피쳐들을 도출한다:
● 파라미터들, 즉,
o 위치(x- 및 y- 이미지 좌표들)
o 허프 피쳐들의 등장 확률
o 아크의 반경
o 아크가 어느 방향으로 개방되는지를 표시하는 각도를 갖는 곡선형 구조들
● 파라미터들, 즉,
o 위치(x- 및 y- 이미지 좌표들)
o 허프 피쳐들의 등장 확률
o 직선의 증가를 표시하는 각도
o 표현된 직선 세그먼트의 길이를 갖는 직선들
● "허브 피쳐 대 타원 변환기"
o 기능
■ 이미지에서 동공 엣지(타원) 및 타원에 대한 안정을 최대 확률로 설명하는 3 내지 4개의 허프 피쳐들(곡선들)의 선택
o 입력
■ 카메라 이미지에서 모든 선택된 허프 피쳐들(곡선들)의 리스트
o 출력
■ 최대 확률로 동공을 표현하는 타원의 파라미터
o 상세한 설명
■ 모든 허프 피쳐들(곡선들)의 리스트로부터, 3개 내지 4개의 허프 피쳐들의 결합들이 형성되고, 이는, 이들의 파라미터들로 인해 수평 및 수직 극점들을 설명할 수 있다
■ 따라서, 하기 기준은, 허프 피쳐들의 선택에 대해 영향을 미친다
● 허프 피쳐들의 스코어들(확률들)
● 허프 피쳐들의 곡선
● 허프 피쳐들의 서로에 대한 위치 및 배향
■ 선택된 허프 피쳐 결합들은,
● 1차적으로, 포함된 허프 피쳐들의 수에 따라
● 2차적으로, 포함된 허프 피쳐들의 결합된 확률에 따라 배열된다.
■ 배열 이후, 제 1 위치에 있는 허프 피쳐 결합이 선택되고, 카메라 이미지에서 가능 가능하게 동공을 표현하는 타원이 피팅된다.
● "코어-크기 제어"
o 기능
■ 실제 타원 크기에 대한 병렬적 허프 변환의 필터 코어(허프 코어)의 동적 조절
o 입력
■ 마지막으로 이용된 허프 코어 크기
■ 대응하는 카메라 이미지에서 동공을 표현하는 타원의 파라미터들
o 출력
■ 업데이트된 허프 코어 크기
o 상세한 설명
■ 극점들의 검출 동안 허프 변환 결과들의 정확도를 증가시키기 위해, "허프 피쳐-타원 변환기"에 의해 계산된 타원의 크기(절반 축들의 길이)에 따라, 허프 코어 크기가 추적된다.
● "시간적 스마트 평활화 필터"
o 기능
■ 지수적 평활화의 원리에 따른 데이터 시리즈의 (예를 들어, 결정된 타원 중점 좌표의) 적응형 동시 평활화가 발생하여, 평활화되는 데이터 시리즈 내의 드롭아웃들 또는 극단적 아웃라이어들은 평활화된 데이터의 변동들을 초래하지 않는다.
o 입력
■ 모듈의 모든 활성화 시간에, 데이터 시리즈 및 연관된 품질 기준(예를 들어, 필터링된 타원의 등장 확률)의 각각의 하나의 값
o 출력
■ 평활화된 데이터 값(예를 들어, 타원 중점 좌표)
o 상세한 설명
■ 필터 파라미터들의 세트를 통해, 필터를 초기화하여, 필터의 동작이 결정될 수 있다.
■ 하기 카테고리들 중 하나에 속하지 않으면, 실제 입력 값이 평활화를 위해 이용된다:
● 연관된 등장 확률에 대응하여, 데이터 시리즈의 드롭아웃인 것
● 연관된 타원 파라미터들에 대응하여, 아웃라이어인 것
o 실제 타원의 크기가 이전 타원의 크기와 많이 상이한 경우
o 타원의 마지막 위치에 대해 실제 위치의 차이가 너무 큰 것
■ 게다가, 이러한 기준 중 하나가 충족되면, 이전에 결정된 값이 출력되고, 그렇지 않으면, 평활화를 위해 현재의 값이 참조된다
■ 평활화 동안 가능한 작은 지연을 획득하기 위해, 현재 값들이 과거의 값들보다 더 강하게 레이팅된다.
● 현재 평활화된 값 = 현재 값 * 평활화 계수 + 마지막으로 평활화된 값 * (1 - 평활화 계수)
● 평활화 계수는, 평활화되는 데이터의 경향에 대해 동적으로 정의된 경계들 내에서 조절된다.
o 데이터 시리즈들에서 보다 일정한 값 전개에 의한 감소
o 데이터 시리즈들에서 증가하는 또는 감소하는 값 전개에 의한 증가
■ 장기적으로, 평활화되는 타원 파라미터들에 관해 더 큰 급증이 발생하면, 필터 및 그에 따른 평활화된 값 전개는 조절한다.
● "3D 카메라 시스템 모델"
o 기능
■ 몇몇 카메라들, 사용자(또는 사용자의 눈) 및 가능하게는 스크린이 위치되는 3D 공간의 모델링
o 입력
■ 모든 모델들의 모델 파라미터들(무엇보다도, 위치 파라미터, 광학 파라미터들)을 포함하는 구성 파일
o 출력
■ 이러한 모델 내에서의 계산들을 위한 통계적 프레임워크 및 기능들을 제공한다
o 상세한 설명
■ 모델의 모든 엘리먼트들의 공간적 위치(위치 및 회전 각도) 뿐만 아니라 이들의 기하학적(예를 들어, 픽셀 크기, 센서 크기, 해상도) 및 광학적(예를 들어, 초점 길이, 대물 왜곡) 특성들의 모델링
■ 이 시점에, 이러한 모델은 하기 엘리먼트들을 포함한다
● o 카메라 센서들
o 대물 렌즈들
로 이루어진 카메라 유닛들
● 눈
● 디스플레이
■ 모델의 모든 엘리먼트들의 특성들 이외에, 특히 후속적으로 설명되는 기능들 (눈 위치의 계산을 위한) "3D 위치 계산" 및 (시선 방향의 계산을 위한) "3D 시선 방향 계산"이 제공된다.
■ 이러한 모델을 이용하여, 3D 시선(인간의 눈의 생물학 및 생리학에 대응하여 정정된 동공 중점 및 시선 방향 벡터로 이루어짐)이 계산될 수 있다.
■ 선택적으로, 또한 (예를 들어, 디스플레이 상의) 3D 모델의 다른 오브젝트에 대한 시청자의 시점 뿐만 아니라 시청자의 포커싱된 영역이 계산될 수 있다.
● "3D 위치 계산"
o 기능
■ 둘 이상의 카메라들(예를 들어, 동공 중점)에 의해 캡쳐되는 포인트의 공간적 위치(3D 좌표들)의 삼각측량에 의한 계산
o 입력
■ 2개의 카메라 이미지들에서 1 포인트의 2D-좌표
o 출력
■ 포인트의 3D-좌표
■ 에러 측정: 모델 파라미터들과 함께 전송된 2D-좌표의 정확도를 설명한다
o 상세한 설명
■ 전송된 2D-좌표로부터, 카메라들 둘 모두에 대한 (특히 광학 파라미터들의 고려 하에) "3D 카메라 시스템 모델"을 이용하여, 3D 포인트를 센서들 상에 2D 포인트로서 디스플레이한 광 빔들이 계산된다.
■ 이러한 광 빔들은 모드의 3D 공간에서 직선들로 설명된다.
■ 직선들 둘 모두가 최소 거리를 갖는 포인트(이상적인 경우, 직선들의 교차부)는, 탐색된 3D 포인트인 것으로 가정된다.
● "3D 시선 방향 계산"
o 기능
■ 교정 없이 그리고 눈과 카메라 시스템 사이의 거리에 대한 정보 없이, 동공의 2개의 타원-형상 투사들로부터 카메라 센서들로의 시선 방향의 결정
o 입력
■ 이미지 센서들의 3D 위치 파라미터들
■ 이미지 센서들 둘 모두에 투사되는 동공의 타원 파라미터들
■ 이미지 센서 둘 모두 상에서 타원 중점의 3D 위치들
■ 동공 중점의 3D 위치
o 출력
■ 벡터 및 각도 입증에서 3D 시선 방향
o 상세한 설명
■ 동공의 중점의 3D 위치 및 이미지 센서들의 위치로부터, 실제 카메라 유닛들의 회전에 의해, 가상 카메라 유닛들이 계산되고, 이의 광학 축은 3D 동공 중점을 통과한다.
■ 후속적으로, 동공의 투사들로부터 동공의 실제 센서 투사들까지 ,각각 가상의 센서들이 계산되고, 따라서, 말하자면, 2개의 가상 타원들이 발생한다.
■ 가상 타원들의 파라미터들로부터, 센서들 둘 모두에 대해, 눈의 각각 2개의 시점들이, 각각의 센서 평면에 임의로 평행한 평행 평면 상에서 계산될 수 있다.
■ 이러한 4개의 시점들 및 3D 동공 중점을 이용하여, 4개의 시선 방향 벡터들이 계산될 수 있다(각각의 카메라의 결과들로부터 각각 2개의 벡터들이 계산될 수 있다)
■ 이러한 4개의 시선 방향 벡터들로부터, 항상, 정확히 하나의 벡터가 (거의) 동일하며, 하나의 카메라의 벡터가 다른 카메라의 벡터와 일치한다.
■ 동일한 벡터들 둘 모두는, 눈의 탐색된 시선 방향을 표시하고, 그 다음, 이것은 결과로서 모듈 "3D 시선 방향 계산"에 의해 제공된다.
4. a) 이점들
- 카메라들을 향한 눈의 위치에 대한 정보와는 독립적으로, 3D 눈 위치들, 3D 시선 방향 및 동공 크기에 대한 무접촉 및 완전한 교정 없는 결정
- (3D 공간 모델을 포함함으로써) 3D 눈 위치 및 3D 게이트 방향의 분석적 결정은 임의의 수의 카메라들(>2) 및 3D 공간에서 임의적 카메라 위치를 가능하게 한다.
- 카메라에 투사되는 동공의 측정 및 그에 따른 동공 크기의 정밀한 결정
- 프로세싱 체인에서 반복 없이 완전히 병렬적인 프로세싱으로 인한 높은 프레임 레이트들(예를 들어, 하나의 XILINX Spartan 3A DSP @ 96 MHz에 대한 60 FPS @ 640x480) 및 짧은 레이턴시 기간들
- 병렬적 FPGA 구조들에 대해 개발된 FPGA 하드웨어 및 알고리즘들의 이용
- 오브젝트 인식(여기서는, 동공 타원의 피쳐들)에 대한 견고한 피쳐 추출을 위한 (FPGA 하드웨어에 대한 설명되고 조절된 형태의) 허프 변환의 이용
- 허프 변환 결과들의 포스트-프로세싱에 대한 알고리즘들은 FPGA들에서 병렬적 프로세싱에 대해 최적화됨
- 고정된 시간 영역(연속적인 결과들 사이에서 일정한 시간차)
- 칩 상에 완전히 통합되는 것으로 인한 최소 구성 공간
- 낮은 에너지 소모
- FPGA에 대한 프로세싱의 ASIC로의 직접 포팅에 대한 가능성 -> 스케일링 효과들의 활용으로 인한 많은 수량의 매우 비용-효과적인 솔루션
애플리케이션
- (라이브-) 카메라 이미지 데이터 스트림에서, 3D 눈 위치들 및 3D 시선 방향들이 검출되고, 이는 하기 애플리케이션들에 대해 이용될 수 있다:
o 보안-관련 분야들
■ 예를 들어, 눈(예를 들어, 깜박임 정도에 대한 측정으로서 동공의 커버리지)을 평가함으로써 그리고 시점 및 초점의 고려 하에, 자동차 분야에서 운전 보조 시스템으로서 순간적 졸음 경고 시스템 또는 피로 검출기들
o 인간-머신-인터페이스들
■ 기술적 디바이스들에 대한 입력 인터페이스들(눈 위치 및 시선 방향이 입력 파라미터들로서 이용될 수 있다)
■ 스크린 컨텐츠(예를 들어, 시청되는 영역의 강조)를 시청하는 경우 사용자의 지원
■ 예를 들어,
● 장애인 보조 분야에서
● 컴퓨터 게임들에 대해
● 헤드 장착 디바이스들에 대한 시선 방향 지원 입력
● 시선 방향을 포함함으로써 3D 가상화들의 최적화
o 시장 및 미디어 개발
■ 예를 들어, 공간적 시선 방향 및 테스트 대상자의 시점에 대한 평가에 의한 광고의 매력도 평가
o 안과 진단(예를 들어, 오브젝티브 시야 측정) 및 치료
FPGA-얼굴 추적기
본 발명의 일 양상은 자율적 (PC-독립적) 시스템에 관한 것이고, 이는, 특히 FPGA-최적화된 알고리즘들을 이용하고, 카메라 라이브 이미지 및 이의 (공간적) 위치에서 얼굴을 검출하기에 적합하다. 이용되는 알고리즘은 특히, FPGA(field programmable gate array) 상의 프로세싱에 대해 최적화되고, 기존의 방법들에 비해, 프로세싱에서 반복 없이 진행한다는 점을 특징으로 한다. 알고리즘들은, FPGA에서 일정한 프레임 레이트, 최소 레이턴시 기간들 및 최소 자원 소모에 의한 매우 빠른 이미지 프로세싱을 허용한다. 따라서, 이러한 모듈들은, 작은 구성 체적을 요구하는, 시간-/레이턴시-/보안이 중요한 애플리케이션(예를 들어, 운전 보조 시스템들) 또는 (예를 들어, 모바일 디바이스들에 대한) 인간-머신 인터페이스들과 같은 애플리케이션에 대해 미리 지정된다. 아울러, 제 2 카메라를 이용함으로써, 이미지에서 특정 포인트들에 대한 사용자의 공간적 위치는 매우 정확하게, 교정 없이 그리고 무접촉으로 결정될 수 있다.
문제점
(라이브) 카메라 이미지에서 견고한 하드웨어-기반 얼굴 검출
- 입체 카메라 시스템을 이용함으로써 3D 공간에서 얼굴 및 눈 위치의 검출
- 매우 짧은 반응 기간 (또는 프로세싱 기간)
- 작은 구성
- 통합된 솔루션에 의한 (PC와는 독립적인) 자율적 기능
최신 기술
- 문헌:
o Christian Kublbeck, Andreas Ernst: 변형된 센서스 변환을 이용한 비디오 시퀀스들에서 얼굴 검출 및 추적(Face detection and tracking in video sequences using the modified census transformation)
o Paul Viola, Michael Jones: 견고한 실시간 오브젝트 검출(Robust Real-time Object Detection)
현재 얼굴 추적기 시스템들의 단점들
- 전반적 프로세싱은 PC 시스템들(더 일반적으로는 범용 프로세서들)에 대해 최적화되고, 따라서 이들의 단점들을 또한 겪는다(예를 들어, 프로세싱 동안 고정된 시간 영역이 가능하지 않다(예를 들어, 이미지 컨텐츠, 예를 들어, 배경에 따라, 추적은 가능하게는 더 긴 시간이 소요된다))
- 순차적 프로세싱; 초기 이미지는 연속적으로 상이한 스케일링 스테이지들로 진행되고(최저 스케일링 스테이지에 도달할 때까지), 얼굴들에 관한 다중-스테이지 분류기에 의해 각각 탐색된다.
o 얼마나 많은 스케일링 스테이지들이 계산되어야 하는지 또는 얼마나 많은 분류기 스테이지들이 계산되어야 하는지에 따라, 결과가 이용가능할 때까지의 프로세싱 기간은 변한다.
- 큰 프레임 레이트들에 도달하기 위해, 이미 PC 하드웨어 최적화된 알고리즘에 대해 요구되는 것과 같이 효율적인 시스템들(멀티-스코어 시스템들의 환경 하에서 더 큰 클럭 레이트들)이 요구되지만, (특히, 임베딩된 프로세서 시스템들에 관해) 매우 큰 자원 소모를 갖는다.
- 검출된 얼굴 위치에 기초하여, 분류기들은 오직 부정확한 눈 위치들을 제공한다(눈의 위치, 특히, 동공 중점은 분석적으로 결정(또는 측정)되지 않고, 따라서 높은 부정확도를 겪는다).
- 결정된 얼굴 및 눈 위치들은 3D가 아닌, 오직 2D 이미지 좌표 내에서만 이용가능하다.
구현
전반적 시스템은, 카메라 이미지(여기서 오직 하나의 얼굴만이 디스플레이됨)로부터 얼굴 위치를 결정하고, 이러한 위치를 이용함으로써, 좌측 및 우측 눈의 동공 중점들의 위치들을 결정한다. 서로 알려진 정렬을 갖는 둘 이상의 카메라들이 이용되면, 이러한 2개의 포인트들은 3차원 공간에 대해 표시될 수 있다. 결정된 눈 위치들 둘 모두는, "통합된 눈-추적기"를 이용하는 시스템들에서 추가로 프로세싱될 수 있다.
"병렬적 이미지 스케일러", "병렬적 얼굴 파인더", 병렬적 눈 분석기", "병렬적 동공 분석기", "시간적 스마트 평활화 필터", "3D 카메라 시스템 모델" 및 "3D 위치 계산"은 전반적 시스템(FPGA 얼굴 추적기)의 개별적인 기능 모듈들과 관련된다. 이들은, 아래와 같이, FPGA 얼굴-추적기들의 이미지 프로세싱 체인에 속한다:
도 7a는, PFGA 얼굴-추적기에서 개별적인 기능 모듈들의 블록도를 도시한다. 기능 모듈들 "3D 카메라 시스템 모델" 및 "3D 위치 계산"은 얼굴 추적을 위해 강제적으로 요구되지만, 입체 카메라 시스템을 이용하고 공간적 위치들의 결정을 위해(예를 들어, 카메라 이미지들 둘 모두에서 2D 얼굴 중점들의 계산 동안 3D 머리 위치를 결정하기 위해) 카메라들 둘 모두 상에서 적절한 포인트들을 계산하는 경우 이용된다.
FPGA 얼굴 추적기들의 모듈 "피쳐 추출(분류)"은, Fraunhofer IIS (Erlangen, Germany)의 Kublbeck/Ernst의 피쳐 추출 및 분류에 기초하고, 센서스 피쳐들에 기초하여 이의 분류의 조절된 변화를 이용한다.
블록도는 FPGA 얼굴 추적 시스템의 개별적인 프로세싱 스테이지들을 도시한다. 다음으로, 모듈들의 상세한 설명이 제시된다.
● "병렬적 이미지 스케일러"
o 기능
■ 후속적 이미지 프로세싱 모듈들의 모든 스케일링 스테이지들의 동시적 분석을 허용하기 위해, 새로운 이미지 매트릭스에서 계산된 스케일링 스테이지들의 배열 및 초기 이미지의 스케일링 스테이지들의 병렬적 계산
도 7b는, 병렬적 이미지 스케일러의 초기 이미지(원래의 이미지) 및 결과(다운스케일링 이미지)를 도시한다.
o 입력
■ 원래의 해상도에서 초기 이미지
o 출력
■ 후속적인 얼굴 추적 모듈들에 적합한 배열에서 초기 이미지의 더 스케일링된 변화들을 포함하는 새로운 이미지 매트릭스
o 상세한 설명
■ 초기 이미지의 상이한 스케일링 스테이지들의 병렬적 계산에 의한 이미지 피라미드의 설정
■ 타겟 매트릭스 내에서 이전에 계산된 스케일링 스테이지들의 정의된 배열을 보장하기 위해, 다양한 기준들을 이용하여, 각각의 스케일링 스테이지들의 이미지 좌표의, 타겟 매트릭스의 이미지 좌표 시스템으로의 변환이 발생한다:
● 인접한 스테이지들에서 분석 결과들의 크로스토크를 억제하기 위해 스케일링 스테이지들 사이에서 정의된 최소 거리
● 이미지로부터 부분적으로 투사되는 얼굴들의 분석을 보장하기 위해, 타겟 매트릭스의 엣지들에 대한 정의된 거리
● "병렬적 얼굴 파인더"
o 기능
■ 매트릭스에서 함께 배열된 몇몇 스케일링 스테이지들의 분류 결과들로부터 얼굴을 검출한다
도 7c에 도시된 바와 같이, (우측으로) 분류 결과는 병렬적 얼굴 파인더에 대한 입력을 구성한다.
o 입력
■ 몇몇 스케일링 스테이지들을 포함하는 분류된 이미지 행렬
o 출력
■ (몇몇 기준의 고려 하에) 얼굴이 위치될 최고 확률을 갖는 위치
o 상세한 설명
■ 분류 결과들을 제한하기 위한 잡음 억제
■ 로컬 양 및 최대 필터의 결합을 이용하여 스케일링 스케일들 내에서 분류 결과들의 공간적 정정
■ 모든 스케일링 스테이지들의 그에 걸친 얼굴 크기에서 선택적으로 얼굴에 대한 최고 등장 확률에 대한 배향
■ 선택된 스케일링 스테이지들의 그에 걸친 결과 위치들의 공간적 평균화
● 평균화에 포함되는 스케일링 스테이지들의 선택은 하기 기준들의 고려 하에 발생한다:
o 뷰잉되는 스케일링 스테이지들에서 선택된 얼굴의 중점들의 차이
o 양 필터의 최고 결과의 동적으로 결정된 편차
o 분류 결과 없이 스케일링 스테이지들의 억제
■ "병렬적 얼굴 파인더"의 검출 성능의 임계-기반 조절
● "병렬적 눈 분석기"
o 기능
■ 얼굴 검출 동안 대응하는 얼굴에서 눈들의 위치를 병렬적을 검출한다(이것은, 이상적이지 않게 정면에서 캡쳐되고 왜곡된 얼굴들에 대해 특히 중요하다)
o 입력
■ ("병렬적 이미지 스케일러" 모듈로부터) 초기 이미지의 몇몇 스케일링 스테이지들 뿐만 아니라 각각의 현재의 위치를 포함하는 이미지 행렬, 여기서, ("병렬적 얼굴 파인더" 모듈로부터) 최고 확률을 갖는 탐색된 얼굴이 위치된다
o 출력
■ "병렬적 얼굴 파인더"에 의해 현재 검출되는 얼굴에서 눈들의 위치 및 연관된 확률 값
o 상세한 설명
■ "병렬적 얼굴 파인더"에 의해 제공되는 얼굴 영역 내의 정의된 범위에서, 다운-스케일링된 초기 이미지에 기초하여, 모든 눈에 대한 눈 탐색은 아래에서 설명된다:
● 얼굴 영역 내에서 눈들의 경험적으로 결정된 정규의 위치들로부터 눈의 범위를 정의한다
● 특정하게 형성된 상관-기반 로컬 필터를 이용하여, 눈의 존재에 대한 확률들이 눈 범위 내에서 결정된다(이러한 이미지 세그먼트에서 눈은 광 환경에서 적은 암흑 표면으로서 단순하게 설명된다)
● 눈의 확률을 포함하는 정확한 눈의 위치는 이전에 계산된 확률 마운틴들에서 최소 탐색으로부터 얻어진다
● "병렬적 동공 분석기"
o 기능
■ 이전에 결정된 눈 위치에 기초하여, 검출된 눈들 내에서 동공 중점들의 위치를 검출한다(그에 따라, 눈 위치의 정확도가 증가하고, 이는 동공의 측정들 또는 후속적 평가에 중요하다)
o 입력
■ ("병렬적 눈 분석기" 또는 "병렬적 얼굴 파인더"로부터) 원래 해상도의 초기 이미지 뿐만 아니라 결정된 눈 위치들 및 얼굴 크기
o 출력
■ 평가된 이미지 내에서 동공의 위치 뿐만 아니라 동공이 발견되었는지 여부를 표시하는 상태
o 상세한 설명
■ 결정된 눈 위치들 및 얼굴 크기에 기초하여, 프로세싱되는 이미지 섹션이 눈 주위에서 식별된다
■ 이러한 이미지 매트릭스를 넘어, 이미지 열들의 최소값을 포함하는 벡터 뿐만 아니라 이미지 라인들의 최소값을 포함하는 벡터가 구축된다
■ 이러한 벡터들 내에서 (최소값 그레이 값들로부터), 아래에서 설명되는 바와 같이 동공 중점들이 수평 및 수직 방향에서 개별적으로 검출된다.
● (동공 내에서의 위치로서) 각각의 벡터의 최소값의 검출
● 이러한 최소값에 기초하여, 벡터 내에서, 양 및 음의 방향에서, 위치가 결정되고, 여기서 모든 벡터 엘리먼트들의 동적 범위에 비례적으로 관련되는 조절가능한 임계치가 초과된다
● 벡터들 둘 모두의 이러한 범위들의 중점들은, 분석된 이미지에서 동적의 중점을 함께 형성한다
● "시간적 스마트 평활화 필터"
o 기능
■ 데이터 시리즈의(예를 들어, 결정된 얼굴 좌표의) 적응형 시간적 평활화, 이에 따라 드롭아웃들, 부적절한 값들 또는 극단적 아웃라이어들은 평활화된 데이터에서 변동들을 초래하지 않는다.
o 입력
■ 모듈의 모든 활성화 시간에 대해, 데이터 시리즈들 및 연관된 품질 기준의 각각 하나의 값(얼굴 추적에 관해: 얼굴 스코어 및 얼굴이 발견된 다운스케일링 스테이지)
o 출력
■ 평활화된 데이터 값(예를 들어, 얼굴 좌표)
o 상세한 설명
■ 필터 파라미터들의 세트를 통해, 필터의 초기화 동안, 필터의 동작이 결정될 수 있다.
■ 하기 카테고리들 중 하나에 속하지 않으면, 현재의 입력 값이 평활화를 위해 이용된다:
● 연관된 스코어에 따라, 데이터 시리즈의 드롭아웃인 것
● 연관된 다운-스케일링 스테이지에 따라, 부적절한 값인 것(너무 멀리 있는 것으로 다운스케일링 스테이지에서 결정된 값)
● 평활화에 대해 이용된 마지막 값에 대해 너무 큰 차이에 따라, 아웃라이어인 것
■ 게다가, 이러한 기준 중 하나가 충족되면, 이전에 결정된 평활화된 값이 출력되고, 그렇지 않으면, 평활화를 위해 현재의 값이 참조된다
■ 평활화 동안 가능한 작은 지연을 획득하기 위해, 현재 값들이 과거의 값들보다 더 강하게 레이팅된다.
● 현재 평활화된 값 = 현재 값 * 평활화 계수 + 마지막으로 평활화된 값 * (1 - 평활화 계수)
● 평활화 계수는, 평활화되는 데이터의 경향에 대해 동적으로 조절되는 정의된 경계들에 있다
o 데이터 시리즈들의 보다 일정한 값 전개에 의한 감소
o 데이터 시리즈들의 증가하는 또는 감소하는 값 전개에 의한 증가
■ 장기적으로, 평활화되는 타원 파라미터들에 관해 더 큰 급증이 발생하면, 필터 및 그에 따른 평활화된 값 전개는 조절한다.
● "3D 카메라 시스템 모델"
o 기능
■ 몇몇 카메라들, 사용자(또는 사용자의 눈들) 및 가능하게는 스크린이 위치되는 3D 공간의 모델링
o 입력
■ 모델의 모든 엘리먼트들의 모델 파라미터들(위치 파라미터들, 광학 파라미터들 등)을 포함하는 구성 파일
o 출력
■ 이러한 모델 내에서의 계산들을 위한 통계적 프레임워크 및 기능들을 제공한다
o 상세한 설명
■ 모델의 모든 엘리먼트들의 공간적 위치(위치 및 회전 각도) 뿐만 아니라 이들의 기하학적(예를 들어, 픽셀 크기, 센서 크기, 해상도) 및 광학적(예를 들어, 초점 길이, 대물 왜곡) 특성들의 모델링
■ 이 시점에, 이러한 모델은 하기 엘리먼트들을 포함한다
● o 카메라 센서들
o 대물 렌즈들
로 이루어진 카메라 유닛들
● 눈
● 디스플레이
■ 모델의 모든 엘리먼트들의 특성들 이외에, 특히 후속적으로 설명되는 기능들 (눈 위치의 계산을 위한) "3D 위치 계산" 및 (시선 방향의 계산을 위한) "3D 시선 방향 계산"이 제공된다.
■ 다른 애플리케이션 경우들에서, 또한 하기 기능들이 제공된다:
● 이러한 모델을 이용하여, 3D 시선(인간의 눈의 생물학 및 생리학에 대응하여 동공 중점 및 시선 방향 벡터로 이루어짐)이 계산될 수 있다.
● 선택적으로, 또한 (예를 들어, 디스플레이 상의) 3D 모델의 다른 오브젝트에 대한 시청자의 시점 뿐만 아니라 시청자의 포커싱된 영역이 계산될 수 있다.
● "3D 위치 계산"
o 기능
■ 둘 이상의 카메라들(예를 들어, 동공 중점)에 의해 캡쳐되는 포인트의 공간적 위치(3D 좌표들)의 계산
o 입력
■ 2개의 카메라 이미지들에서의 포인트의 2D-좌표
o 출력
■ 포인트의 3D-좌표
■ 에러 측정: 모델 파라미터들과 관련하여 전송된 2D-좌표의 정확도를 설명한다
o 상세한 설명
■ 전송된 2D-좌표로부터, 카메라들 둘 모두에 대한 (특히 광학 파라미터들의 고려 하에) "3D 카메라 시스템 모델"을 이용하여, 3D 포인트를 센서들 상에 2D 포인트로서 디스플레이한 광 빔들이 계산된다.
■ 이러한 광 빔들은 모드의 3D 공간에서 직선들로 설명된다.
■ 직선들 둘 모두가 최소 거리를 갖는 포인트(이상적인 경우, 직선들의 교차부)는, 탐색된 3D 포인트인 것으로 가정된다.
이점들
2D인 (라이브) 카메라 이미지에서 및 (3D 공간 모델의 포함에 의해) 3D인 3D 공간의 재계산에 의해 얼굴 위치 및 눈 위치의 결정
- 3. 하에 제시되는 알고리즘들은 FPGA들에서 실시간 가능 및 병렬적 프로세싱에 대해 최적화된다
- 프로세싱 체인에서 반복 없이 완전히 병렬적인 프로세싱으로 인한 높은 프레임 레이트들(XILINX Spartan 3A DSP @ 48 MHz에 대한 60 FPS @ 640x480) -> 매우 신속한 이미지 프로세싱 및 최소 지연을 갖는 결과들의 출력
- 하나의 컴포넌트(FPGA)에 의해 전체 기능으로서 최소 구성 공간이 달성될 수 있다
- 낮은 에너지 소모
- 고정된 시간 영역(연속적 결과들 사이에서 일정한 시간 차이) 및 그에 따라 보안이 중요한 애플리케이션에서의 미리 예정된 이용
- FPGA로부터의 프로세싱의 ASIC(application specific integrated circuit)로의 직접 포팅에 대한 가능성 -> 스케일링 효과들의 활용으로 인한 많은 수량의 매우 비용-효율적인 솔루션
애플리케이션
- 소프트웨어 솔루션에 비해 애플리케이션 동안의 이점들
o 자율적 기능(시스템 온 칩)
o ASIC로의 용이한 전달의 가능성
o 기존의 시스템들/스위치들로의 공간-절약 통합
- 소프트웨어 솔루션과 유사한 애플리케이션 분야들((라이브) 카메라 이미지 데이터 시스템에서 얼굴 위치들 및 대응하는 눈 위치들이 검출되고, 이들은 아래에 나열된 애플리케이션들에 대해 이용된다)
o 보안 애플리케이션들
■ 예를 들어, 눈들(깜박임 정도) 및 눈 및 머리의 이동의 평가에 의한, 자동차 분야에서 일시적 졸음 경고 시스템들
o 인간-머신-통신
■ 예를 들어, 기술적 디바이스들에 대한 입력 인터페이스들(입력 파라미터로서 머리 또는 눈 위치)
o 시선-추적
■ 예를 들어, ("통합된 눈-추적기"와 함께) 시선 방향 결정을 위한 예비 스테이지로서 얼굴 및 눈 위치들
o 마케팅
■ 예를 들어, 머리 및 눈 파라미터들(무엇보다도 위치)을 결정함으로써 광고의 매력의 평가
아래에서, 앞서 설명된 양상들에 관한 추가적인 배경 지식이 개시된다.
허프 피쳐 추출
본 후속 실시예들의 목적은, 병렬적 허프 변환에 기초하여, 피쳐 추출을 위한 견고한 방법을 개발하는 것이다. 이를 위해, 허프 코어가 변경되고, 피처 추출을 위한 방법이 제시되며, 이는, 변환의 결과들을 감소시키고, 결과들을 이미지마다 몇몇 "피처 벡터들"로 분해한다. 후속적으로, 새로 개발된 방법은 MATLAB 툴박스에서 구현되고 테스트된다. 마지막으로, 새로운 방법의 FPGA 구현이 제시된다.
직선들 및 원들에 대한 병렬적 허프 변환
병렬적 허프 변환은, 각각의 애플리케이션에 대한 구성 행렬들을 이용하여 구성되어야 하는, 상이한 크기의 허프 코어들을 이용한다. 이러한 구성 행렬들을 설정하기 위한 방법들 및 수학적 콘텍스트들이 다음에 제시된다. MATLAB alc_config_lines_curvatures.m이 이러한 방법들을 지칭하고, 상이한 크기들의 직선들 및 반원들에 대한 구성 행렬들을 설정한다.
구성 행렬들을 설정하기 위해, 초기에, 이산적 프리젠테이션에서 상이한 허프 코어들에 대해 곡선들의 어레이들을 계산하는 것이 요구된다. 곡선들의 어레이들에 대한 요건들(설정 프로비전들)은 이미 입증되었다. 이러한 설정 프로비전들의 고려 하에, 특히 직선들 및 반원들이 허프 코어들의 구성에 적합하다. 시선 방향 결정의 경우, 반원들(또는 곡선들)에 대한 구성들을 갖는 허프 코어들이 이용된다. 완전성 이유로, 직선들(또는 직선 세그먼트들)에 대한 구성들이 또한 여기서 유도된다. 직선들에 대한 곡선들의 어레이들을 결정하기 위한 수학적 콘텍스트들이 입증된다.
직선들에 대한 곡선들의 어레이들의 계산을 위한 시작점은 (B1)의 선형 직선 방정식이다.
Figure pct00088
(B1)
곡선들의 어레이들은 증가 m의 변화에 의해 생성될 수 있다. 이를 위해, 0° 내지 45°의 직선 증가는 동일 크기의 간격들로 분해된다. 간격들의 수는 허프 코어 크기에 의존하고, 허프 코어 라인들의 수에 대응한다. 증가는, 0 내지 core heigt의 변수 Y core 를 통해 조정될 수 있다.
Figure pct00089
(B2)
곡선들의 어레이들의 함수 값들은, ((B3)에서 x core 에 의해 교환된) 제어 변수의 변화에 의해 계산되고, 이 값은 0 내지 코어 폭이다.
Figure pct00090
(B3)
2D 플롯에서 이산적 입증을 위해, 함수 값은 라운딩되어야 한다. 반원들에 대한 곡선들의 어레이들의 계산은 (Katzmann 2005, p.37-38)에 기원하고, 도 9b에 도시된다.
곡선들의 어레이들의 계산에 대한 시작점은 좌표 포맷에서 원 방정식이다.
Figure pct00091
(B4)
x M = 0(y-축 상의 원 중심의 위치)에 있어서, x = x core 이고, 곡선들의 어레이들의 함수 값들에 대한 y로 변환하는 것은 (B5)를 따른다.
Figure pct00092
(B5)
y M r이 알려지지 않았기 때문에, 이들은 대체되어야 한다. 이를 위해, 도 9b로부터 (B6) 및 (B7)에서의 수학적 콘텍스트들이 유도될 수 있다.
Figure pct00093
(B6)
Figure pct00094
(B7)
(B7)을 y M 로 변환하는 것 및 y M 이 항상 음수여야 하는 것(도 9b 참조)에 의해, (B8)이 획득된다.
Figure pct00095
(B8)
(B5)에서 (B8)을 이용하면 (B9)가 도출된다.
Figure pct00096
(B9)
도 9b로부터, 허프 코어가 허브-센터링되고, 원 좌표 시스템의 y-축에 놓이는 것은 명백해 진다. 변수 x core 는 통상적으로 0부터 corewidth - 1에 걸쳐 있고, 따라서,
Figure pct00097
에 의해 정정되어야 한다.
Figure pct00098
(B10)
그러나, 반경이 누락되었고, 이는 (B7)에서 (B6)을 이용하고, 추가적인 변환에 의해 획득된다.
Figure pct00099
(B11)
Figure pct00100
(B12)
Figure pct00101
(B13)
마지막으로, 곡선들의 어레이들을 생성하기 위해, 0 내지
Figure pct00102
의 변수 h가 변경되어야 한다. 이것은, 0 내지
Figure pct00103
에 걸쳐 있는 제어 변수 y core 를 통해 발생한다.
Figure pct00104
(B14)
이미 직선들과 관련된 바와 같이, 이산적 입증에 대한 y-값들은 2D 플롯에서 라운딩되어야 한다. 타입 2의 허프 코어에 대한 곡선들의 어레이들은 수식 (B15)에 의해 쉽게 결정될 수 있다.
Figure pct00105
(B15)
곡선들의 어레이들에 기초하여, 모든 허프 크기들에 대해, 직선들 및 원들에 대한 각각 2개의 구성들(타입 1 및 타입 2)이 결정될 수 있다. 따라서, 구성들은 곡선들의 어레이들로부터 직접 결정된다(Katzmann 2005, p.35-36 참조). 구성 행렬들은 제로들 또는 1들에 의해 점유될 수 있다. 따라서, 1은 허프 코어에서 이용된 지연 엘리먼트를 표현한다. 초기에, 구성 행렬은 제로 값들을 갖는 허프 코어의 차원들에서 초기화된다. 그 후, 하기 단계들이 진행된다:
1. 곡선들의 어레이들의 제 1 곡선으로 시작하고, 제 1 x-인덱스 수의 y-값을 테스트한다. y-값이 제로보다 크면, 동일한 라인(동일한 y-인덱스)에서 정확히 동일한 위치(동일한 x-인덱스)에서 1을 갖는 구성 행렬의 엘리먼트를 점유한다.
2. 곡선들의 어레이의 모든 곡선들을 통해 동일한 x-인덱스를 갖는 y-값들을 변형한다. 제 1 단계에서 1을 갖는 엘리먼트가 점유되었다면, 모든 y-값들의 1을 감산한다. 제 1 단계에서 엘리먼트가 점유되지 않았다면, 아무 것도 행하지 않는다.
3. 구성 행렬의 모든 엘리먼트들이 접근되는 한 단계들 1 및 2를 진행한다.
도 9c에서, 구성 절차는 점진적으로 입증된다.
마지막으로, 허프 코어 구성의 일부 특성들에 대해 대응할 것이다. 직선들에 대한 구성들은 허프 코어들의 폭에 의존하는 오직 직선 세그먼트들만을 표현한다. 2진 엣지 이미지의 더 긴 직선 세그먼트들은 선택적으로, 몇몇 검출된 직선 세그먼트들로부터 어셈블된다. 직선 세그먼트들의 각도들의 해상도(또는 증가)는 허프 코어의 높이에 의존한다.
원에 대한 구성은 항상 반원의 정점(vertex) 주위의 원 아크들을 표현한다. 곡선들의 어레이들의 오직 최고 y-인덱스(최소 반경)만이 완전한 반원을 표현한다. 개발된 구성들은 새로운 허프 코어에 이용될 수 있다.
허프 코어들의 변경
Holland-Nell의 FPGA 구현의 결정적 단점은 허프 코어들의 견고한 구성이다. 지연 라인들은 합성 전에 파라미터화되어야 하고, 그 후 하드웨어 구조들에서 고정적으로 퇴적된다(Holland-Nell, p.48-49). 런타임 동안의 변경들(예를 들어, 허프 코어 크기)는 전혀 가능하지 않다. 새로운 방법은 이 때 더 유연할 것이다. 새로운 허프 코어는, 또한 런타임 동안, FPGA에서 완전히 새로 구성가능할 것이다. 이것은 몇몇 이점들을 갖는다. 한편, 2개의 허프 코어들(타입 1 및 타입 2)이 병렬 파일링되어야 하는 것은 아니며, 또한 다른 한편, 직선들 및 반원들에 대한 상이한 구성이 이용될 수 있다. 게다가, 허프 코어 크기는 런타임 동안 유연하게 변경될 수 있다.
이전 허프 코어 구조들은 지연 및 바이패스로 이루어지고, FPGA 합성 전에, 어느 경로가 이용되는지가 결정된다. 다음으로, 이러한 구조는, 멀티플렉서, (멀티플렉서들을 스위칭하는) 지연 엘리먼트들의 구성을 위한 추가적인 레지스터, 및 파이프라인 지연에 의해 확장된다. 구성 레지스터는 런타임 동안 변형될 수 있다. 이러한 방식으로, 상이한 구성 행렬들이 허프 코어에 도입될 수 있다. 파이프라인 지연들을 설정함으로써, FPGA의 합성 툴은 허프 코어 설계의 구현 동안 더 많은 자유도를 갖고, 더 높은 클럭 레이트들이 달성될 수 있다. 파이프라인 지연들은 FPGA 구조들 내에서 시간-결정적 경로들을 통해 분해된다. 도 9d에서, 지연 엘리먼트들의 새로운 설계가 입증된다.
Katzmann 및 Holland-Nell에 따른 이전 구현과 비교하면, 새로운 허프 코어들의 지연 엘리먼트들은 조금 더 복잡하게 구축된다. 지연 엘리먼트의 유연한 구성을 위해, 추가적인 레지스터가 요구되고, 멀티플렉서는 추가적인 로직 자원들을 점유한다(LUT에서의 FPGA에 구현되어야 한다). 파이프라인 지연은 선택적이다. 지연 엘리먼트들의 변경 이외에, 허프 코어의 설계의 변형들이 또한 수행되었다. 새로운 허프 코어는 도 9e에서 입증된다.
이전의 허프 코어와는 반대로, 초기에, 새로운 표기법이 구현된다. 도 9e에서 약 90°회전된 설계로 인해, 원래 초기 히스토그램의 신호들로 지칭된 "라인 양들"은 이제 "열 양들"로 지칭된다. 따라서, 허프 코어들의 모든 열은 곡선들의 어레이들의 곡선을 표현한다. 게다가 새로운 허프 코어는 런타임 동안 새로운 구성 행렬들에 영향을 미칠 수 있다. 구성 행렬들은 FPGA-내부 BRAM에서 파일링되고, 구성 로직에 의해 로딩된다. 이것은, 구성들을, 체인화된 구성 레지스터(도 9d 참조)에서 열 단위의 비트 스트링으로서 로딩한다. 허프 코어들의 재구성은 특정 시간 기간을 요구하고, 열들의 길이(또는 지연 라인들의 양)에 의존한다. 따라서, 모든 열 엘리먼트는 클럭 사이클 및 BRAM에 의한 몇몇 택(tack) 사이클들의 레이턴시를 요구하고, 구성 로직이 추가된다. 재구성에 대한 전반적인 레이턴시는 단점이지만, 비디오-기반 이미지 프로세싱의 경우, 이것은 허용될 수 있다. 통상적으로, CMOS 센서에 의해 기록된 비디오 데이터 스트림들은 수평 및 수직 블랭킹을 갖는다. 따라서, 재구성은 수평 블랭킹 시간에 문제 없이 발생할 수 있다. FPGA에서 구현된 허프 코어 구조의 크기는 또한 허프 코어 구성의 최대 가능한 크기를 미리 결정한다. 작은 구성들이 이용되면, 이들은 수직으로 센터링되고, 허프 코어 구조의 열 1에서 수평 방향으로 정렬된다(도 9f 참조). 허프 코어 구조의 미사용된 엘리먼트들 모두는 지연들로 점유된다. 더 작은 구성들의 정확한 정렬은, x-좌표의 정정을 위해 중요하다(공식들 (B17) 내지 (B19) 참조).
허프 코어는, 이전처럼, 구성된 지연 라인들을 통해 진행하는 2진 엣지 이미지를 공급받는다. 각각의 프로세싱 단계에 있어서, 열 양들은 전체 허프 코어를 통해 계산되고, 이전 열의 양 신호와 각각 비교된다. 열이 더 높은 전체 값을 제공하면, 원래 열의 전체 값이 오버라이트된다. 초기 신호로서, 새로운 허프 코어는 열 전체 값 및 연관된 열 번호를 제공한다. 이러한 값들에 기초하여, 추후, 구조가 발견되고(열 번호에 의해 표현됨) 등장 확률이 검출된(전체 값에 의해 표현됨) 스테이트먼트가 행해질 수 있다. 허프 코어들의 초기 신호는 또한 허프 공간 또는 누산기 공간으로 지칭될 수 있다. 통상적인 허프 변환과는 반대로, 허프 공간은, 이미지 좌표 시스템에서 병렬적 허프 변환에 이용가능하다. 이것은, 모든 이미지 좌표에 대해, 연관된 열 번호를 갖는 전체 값이 출력됨을 의미한다. 눈 이미지의 완전한 변환을 위해, 비회전된 및 회전된 이미지의 타입 1 및 타입 2의 각각 하나의 허프 코어가 통과되어야 한다. 따라서, 변환 이후, 연관된 열 번호를 갖는 열 양 뿐만 아니라 허프 코어 타입 및 초기 이미지의 정렬(비회전된 것 또는 회전된 것)이 이용가능하다. 게다가, 상이한 허프 코어 크기들 및 구성들이 직선들 및 반원들에 대해 각각 이용될 수 있다. 따라서, 언급된 결과들 이외에, 곡선 타입 및 허프 코어 크기가 또한 표시될 수 있다. 요약하면, 새로운 허프 코어 크기의 결과 데이터 세트가 하기 표에 예시된다. 병렬적 허프 변환에 관해, 모든 이미지 포인트에 대해 이러한 데이터 세트가 발생한다.
설명
x-좌표 허프 코어 구조의 길이에 따라 지연됨 x-좌표의 정확한 정정이 발생할 수 있음
y-좌표
Figure pct00106
에 의해 허프 코어 구조의 높이에 따라 정정됨 짝수번째 라인들에 있어서, 중간 라인은 정확하게 결정될 수 없음 홀수번째 라인들에 있어서, 중심 라인을 획득하기 위해 라운드 업되어야 함
열 양 탐색된 구조에 대한 등장 확률 (최대 값 = 열의 크기, 높은 값들은 높은 등장 확률을 표현함)
열 번호 연관된 열 번호를 갖는 전체 값에 대해 (반원의 곡선 또는 직선의 증가를 표현함)
허프 코어 타입 타입 1 허프 코어 구성이면 0, 및
타입 2 허프 코어 구성이면 1
이미지 회전 초기 이미지가 회전되지 않으면 0, 및
초기 이미지가 회전되면 1
허프 코어 크기 변환에 이용된 허프 코어의 크기
곡선 타입 직선 구성이면 0, 및
반원 구성 n이면 1
변경된 허프 코어 구조에 의한 병렬적 허프 변환에 의한 초기 이미지의 각 시점에 대해 발생하는 결과 데이터 세트의 개관
Katzmann 및 Holland-Nell의 허프 코어들의 2진 및 임계치-기반 출력과는 반대로, 새로운 허프 코어 구조들은 상당히 더 많은 초기 데이터를 생성한다. 이러한 데이터량은 핸들링하기 어렵기 때문에, 결과 데이터량을 명확하게 감소시키는 피쳐 추출을 위한 방법이 제시된다.
타입 2 허프 코어 및 이미지 회전
병렬적 허프 변환에 관한 실시예들에 대해, 타입 2 허프 코어들의 특성들 및 이미지 회전의 필요성은 이미 소개되었다. 병렬적 허프 변환에 관해, 초기 이미지는 허프 코어를 4회 통과해야 한다. 이것은, 직선들 및 반원들이 상이한 각도 위치들에서 검출될 수 있기 위해 필수적이다. 오직 타입 1 허프 코어만이 이용되면, 이미지는, 초기 위치에서 프로세싱되어야 하고, 약 90°, 180°및 270°회전될 것이다. 타입 2 허프 코어를 포함함으로써, 약 180°및 270°회전은 생략된다. 비회전된 초기 이미지가 타입 2 허프 코어로 프로세싱되면, 이것은, 타입 1 허프 코어에 의해 약 180°회전된 초기 이미지의 프로세싱에 대응한다. 이것은, 약 270°회전과 유사하다. 이것은, 타입 2 허프 코어에 의한 약 90°회전된 이미지의 프로세싱에 의해 대체될 수 있다. FPGA 구현의 경우, 추가적인 회전들의 생략은 긍정적인 효과를 갖는데, 이는, 이미지 회전들이 통상적으로 오직 외부 스토리지를 이용하여 해결되기 때문이다. 적용된 하드웨어에 따라, FPGA와 스토리지 컴포넌트 사이에서 오직 특정 대역폭(최대 가능한 데이터 레이트)만이 이용가능하다. 타입 2 허프 코어의 이용에 관해, 외부 스토리지 컴포넌트의 대역폭은 오직 약 90°회전에 의해 점유된다. Holland-Nell의 이전 구현에 관해, FPGA에서 타입 1의 허프 코어 및 타입 2의 허프 코어를 파일링하는 것이 요구되었다. 변경된 허프 코어 설계에 있어서, 이제, FPGA에 허프 코어 구조를 한번 파일링하고, 타입 1 또는 타입 2의 구성들을 업로드하는 것이 또한 가능하다. 이러한 새로운 기능으로 인해, 초기 이미지는 오직 하나의 허프 코어에 의해 그리고 오직 하나의 이미지 회전에 의해 완전히 변환될 수 있다.
오직 하나의 허프 코어에 의한 프로세싱 동안, 허프 코어에서 4배의 데이터 레이트가 또한 발생하는 것이 또한 고려된다. 60fps 및 VGA 해상도의 비디오 데이터 스트림에 관해, 픽셀 데이터 레이트는 24Mhz에 이른다. 이 경우, 허프 코어는 96Mhz로 동작되어야 하고, 이는 이미, Spartan 3세대의 FPGA에 대한 높은 클럭 레이트를 구성한다. 설계를 최적화하기 위해, 허프 코어 구조 내에서 파이프라인 지연들로 동작되는 것이 강화되어야 한다.
피쳐 추출
피처 추출은 이전 표로부터의 데이터 세트들을 위해 작용한다. 이러한 데이터 세트들은 피쳐 벡터 (B16)에서 요약될 수 있다. 피쳐 벡터는 아래에서 허프 피쳐로 지칭될 수 있다.
MV=[MV X , MV Y ,MV 0 , MV KS , MV H , MV G-1 , MV A ] (B16)
피쳐 벡터는 각각, 검출된 피쳐에 대한 x- 및 y-좌표(MV x MV y ), 배향 MV 0 , 곡선 강도 MV KS , 주파수 MV H , 허프 코어 크기 MV G-1 및 검출된 구조의 종류 MV A 로 이루어진다. 피쳐 벡터의 단일 엘리먼트들의 상세한 의미 및 값 범위는, 하기 표로부터 유도될 수 있다.
MVxMVy 초기 이미지의 크기에 대해 각각 걸쳐있는 좌표들 둘 모두
MV 0 배향은 허프 코어의 정렬을 표현한다. 이것은, 이미지 회전 및 이용된 허프 코어 타입으로 구성되고, 4개의 섹션들로 분할될 수 있다. 4개의 섹션들의 각각의 배향으로의 변환은 아래의 표에서 입증된다.
MV KS 곡선 강도는 최대로 허프 코어의 크기에 걸쳐 있고, 최고 열 양(또는 주파수 MV H )을 갖는 허프 코어 열에 대응한다. 예를 들어, 상기 표와 함께 도 9e를 참조한다. 허프 코어들의 직선 구성에 관해, 허프 코어 열은 직선들의 증가 또는 각도를 표현한다. 반원 구성들이 이용되면, 허프 코어 열은 반원의 반경을 표현한다.
MV H 주파수는, 탐색된 구조와 이미지 컨텐츠의 상관에 대한 측정치이다. 이것은 열 양(도 9e 및 상기 표 참조)에 대응하고, 최대로, 허프 코어의 크기(더 정확하게는, 비사각 허프 코어들을 갖는 허프 코어 열의 크기)에 도달할 수 있다.
MV G-1 변환에 이용된 허프 코어의 크기 마이너스 1
MV A 이용된 허프 코어 구성에 따라 검출된 구조의 종류를 표현한다(직선들에 대한 구성 = 0, 또는 원들에 대한 구성 = 1).
허프 피처 벡터, 이들의 의미 및 값 범위의 엘리먼트들
직선들 원들
배향 MV 0 범위 각도 영역 배향 MV 0 범위 각도
0 범위 1r 0°-45° 0 범위 2
1 범위 2 45°-90° 1 범위 1r 90°
2 범위 1 90°-135° 2 범위 1 180°
3 범위 2r 135°-180° 3 범위 2r 270°
이미지 회전 및 변환에 이용된 허프 코어 타입에 따른 배향의 계산
상기 표들로부터, 직선들 및 반원들에 관한 엘리먼트들 MV 0 MV KS 둘 모두는 상이한 의미들을 갖는 것이 명확해진다. 직선들에 관해, 배향 및 곡선 강도로부터의 결합은, 0°내지 180°의 각도에서 검출된 직선 세그먼트의 위치 각도를 형성한다. 따라서, 배향은 각도 영역을 다루고, 곡선 강도는 이 범위 내에서 구체적인 각도를 표현한다. 허프 코어가 더 클수록(더 정확할수록, 더 많은 허프 코어 열들이 이용가능함), 각도 해상도는 더 정밀하다. 반원들에 관해, 배향은 위치 각도 또는 반원의 정렬을 표현한다. 반원들은, 원칙적으로 오직 4개의 정렬들로 검출될 수 있다. 반원 구성들에 관해, 곡선 강도는 반경을 표현한다.
배향 MV 0 및 곡선 강도 MV KS 이외에, 좌표들(MVxMVy)에 관해 추가적인 특수한 피쳐가 고려된다(도 9g 참조). 직선들에 관해, 좌표들은 항상 중점을 표현하고, 반원들 또는 곡선들에 관해서는 항상 정점을 표현한다. 이러한 가정으로, y-좌표는 구현된 허프 코어 구조에 대응하여 정정될 수 있고, 변환에 이용된 구성의 크기에 의존하지 않는다(도 9f 참조). 로컬 필터와 유사하게, y-좌표는 수직으로 센터링되는 것으로 표시된다. x-좌표의 경우, 허프 코어 열을 통한 콘텍스트가 설정되고, 이것은 적중을 제공한다(피쳐 벡터에서, 허프 코어 열은 지정 MV KS 로 저장된다). 허프 코어 타입 및 이미지 회전에 따라, 3개의 상이한 경우들에 대한 계산 프로비전들이 또한 표시될 수 있다. 타입 1의 허프 코어의 경우, 이것은 각각 비회전된 및 회전된 초기 이미지에 대한 공식 (B17)을 참조한다. 타입 2의 허프 코어가 이용가능하면, 이것은 이미지 회전에 따라 공식 (B18) 또는 공식 (B19)를 참조해야 한다.
Figure pct00107
(B17)
Figure pct00108
(B18)
Figure pct00109
(B19)
명령 "플로어"에 있어서, 분수 유리수는 라운드 오프된다. FPGA에서, 이는 2진 십진수들의 단순한 커팅에 대응한다. 배향이 결정되고 허프 피쳐들의 좌표들이 정정된 후, 실제 피쳐 추출이 발생할 수 있다.
피쳐 추출의 경우, 비최대 억제 연산자와 결합된 3개의 임계값들이 이용된다. 비최대 억제 연산자는 직선들 및 반원들에 대해 상이하다. 임계값들을 통해, 최소값
Figure pct00110
및 최대 곡선 강도
Figure pct00111
가 주어지고, 최소 주파수
Figure pct00112
가 결정된다. 비최대 억제 연산자는 크기 3x3의 로컬 연산자인 것으로 확인될 수 있다(도 9h 참조). (B23)의 비최대 억제 연산자(nms-연산자)가 충족되고, 공식들 (B20) 내지 (B22)에 따른 임계치들이 초과되면, 반원들(또는 곡선들)에 대한 유효 피쳐는 항상 정확하게 발생한다.
Figure pct00113
(B20)
Figure pct00114
(B21)
Figure pct00115
(B22)
Figure pct00116
(B23)
비최대 억제로 인해, 허프 피쳐들은 억제되고, 이것은, 피쳐 벡터의 주파수 공간에서 로컬 최대값을 구성하지 않는다. 이러한 방식으로, 허프 피쳐들이 억제되고, 이것은 탐색된 구조에 기여하지 않고, 포스트-프로세싱에 대해 무관하다. 피쳐 추출은, 미리 유용하게 조절될 수 있는 오직 3개의 임계치들을 통해서만 파라미터화된다. 임계치들의 상세한 설명은 아래의 표로부터 유도될 수 있다.
임계값 설명 Katzmann에 따른 방법의 비교가능한 파라미터
Figure pct00117
최소 주파수에 대한 임계값, 즉, 아래에 속하도록 허용되지 않는 열 전체 값 허프-임계치
Figure pct00118
허프 피쳐의 최소 곡선에 대한 임계값. 직선 구성을 갖는 허프 코어들에 있어서, 이 임계치는 허프 코어에 의해 검출되는 각도 영역과 관련된다. 바닥-라인
Figure pct00119
Figure pct00120
와 유사하지만, 최대값에 대한 것.
최상부-라인
허프 공간으로부터 허프 피쳐들의 추출에 대한 3개의 임계값들의 상세한 설명. Katzmann에 따른 방법에 비교하면, 이 파라미터들은 유사한 함수로 표시된다.
직선들에 관해, 크기 3x3의 비최대 억제 연산자(도 9h 참조)가 마찬가지로 도출될 수 있다. 따라서, 일부 특성들이 고려된다. 곡선들과는 달리, 직선 세그먼트들에 관해 탐색된 구조들은, 2진 엣지 전개를 따른 몇몇 최대값들의 연속적 발생에 따라 검출되지 않는다. 따라서, 비최대 억제는, Canny 엣지 검출 알고리즘에서의 방법에 기초할 수 있다. 허프 코어 타입 및 검출된 각도 영역에 따르면, 3가지 경우들이 구별될 수 있다(상기 표와 함께 도 9i 참조). 구별하는 경우는 회전된 초기 이미지 뿐만 아니라 비회전된 초기 이미지들에 대해서도 유효한데, 이는, 회전된 좌표들의 재변환이 오직 비최대 억제 이후 발생하기 때문이다. 어느 nms-연산자가 이용되는지는, 각각 허프 코어 타입 및 각도 영역에 의존한다. 직선들에 대한 구성을 갖는 허프 코어에 의해 제공되는 각도 영역은 각도 영역 이등분에 의해 분할된다. 각도 영역 이등분은, 허프 코어 열(십진법적으로 굴절됨(
Figure pct00121
)로서 표시될 수 있다. 허프 코어 크기에 따른 수학적 콘텍스트는 공식 (B24)에 의해 설명된다. 여기서 허프 피쳐가 놓인 각도 영역은 적중을 전달한 허프 코어 열(MV KS )을 참조하고, 이는 각도 영역 이등분 허프 코어 열에 직접 비교될 수 있다.
Figure pct00122
(B24)
연산자가 선택되면, 각각의 nms-연산자에 관한 조건은 곡선들에 대한 비최대 억제와 유사하게 요청될 수 있다(곡식들 (B25) 내지 (B27)). 모든 조건들이 충족되면, 그리고 추가적으로 공식들 (B20) 내지 (B22)에 따른 임계값들이 초과되면, 위치 nms 2,2의 허프 피쳐가 가정될 수 있다.
허프 코어 타입 각도 영역 nms-연산자 조건
범위 1a 1 A 1
Figure pct00123
범위 1b 1 B 2
Figure pct00124
범위 2a 2 A 1
Figure pct00125
범위 2b 2 B 3
Figure pct00126
허프 코어 타입 및 적중이 발생한 각도 영역에 따른 nms-연산자에 대한 판정
Figure pct00127
(B25)
Figure pct00128
(B26)
Figure pct00129
(B27)
피쳐 추출의 완료는 회전된 허프 피쳐들의 x- 및 y-좌표들의 재회전을 형성한다. 포스트-프로세싱의 경우, 이것은 이미지 좌표 시스템에서 다시 이용가능해야 한다. 회전된 초기 이미지가 프로세싱되면, 곡선 타입과 무관하게(직선이든 곡선이든 무관하게) 재변환이 항상 실행된다. 공식들 (B28) 및 (B29)에서, 수학적 콘텍스트가 설명된다. 이미지 폭에 있어서, 비회전된 초기 이미지의 폭이 의도된다.
Figure pct00130
(B28)
Figure pct00131
(B29)
피쳐 추출을 이용하여, 몇몇 포인트들까지 병렬적 허프 변환의 결과 데이터를 감소시키는 것이 가능하다. 그 다음, 이들은 피쳐 벡터로서 포스트-프로세싱에 전달될 수 있다.
앞서 설명된 실시예들은 오직 본 발명의 원리들의 예시를 구성한다. 본원의 배열들 및 세부사항들의 변형들 및 변화들은 당업자들에게 자명할 것이 이해된다. 따라서, 본 발명은, 오직 후속하는 특허 청구항들의 보호 범위로만 제한되고, 상세한 설명 및 실시예들의 설명을 이용하여 본원에 제시된 특정 세부사항들로 제한되는 것이 아니다.

Claims (29)

  1. 시선 방향(gaze direction)의 결정을 위한 3D 이미지 분석기(400)로서,
    상기 3D 이미지 분석기(400)는, 제 1 이미지(804a)에 기초하여 결정되는 이미지 데이터의 적어도 하나의 제 1 세트, 및 상기 제 1 이미지(804a) 또는 추가적인 이미지(804b)에 기초하여 결정되는 정보의 추가적인 세트를 수신하도록 구성되고, 상기 제 1 이미지(804a)는 제 1 이미지 평면으로의 제 1 관점(perspective)으로부터 3차원 오브젝트의 디스플레이로부터 얻어지는 패턴을 포함하고, 상기 추가적인 세트는, 추가적인 이미지 평면으로의 추가적인 관점으로부터 상기 3차원 오브젝트의 디스플레이로부터 얻어지는 패턴을 갖는 이미지를 포함하거나, 또는 상기 추가적인 세트는, 상기 3차원 오브젝트의 적어도 하나의 포인트와 상기 제 1 이미지 평면 사이의 관계를 설명하는 정보를 포함하고,
    상기 3D 이미지 분석기(400)는,
    상기 제 1 세트, 추가적인 세트, 상기 추가적인 이미지(804b)에 기초하여 결정되는 추가적인 세트, 및 상기 제 1 이미지(804a) 및 상기 추가적인 이미지(804b)의 관점들 사이의 기하학적 관계에 기초한 3차원 공간 내의 패턴의 위치를 계산하거나, 또는 상기 제 1 이미지에서 적어도 2개의 특징적 피쳐들 사이에서 서로에 대해 통계적으로 결정된 관계 및 상기 제 1 세트에 기초하여 3차원 공간 내에서 상기 패턴(806a)의 위치를 계산하거나, 또는 상기 제 1 세트에 기초하여 그리고 상기 3차원 오브젝트의 적어도 하나의 포인트와 상기 제 1 이미지 평면 사이의 위치 관계에 기초하여 상기 3차원 공간 내에서 상기 패턴(806a)의 위치를 계산하도록 구성되는 위치 계산기(404); 및
    이미지마다 2개의 가능한 3D 시선 벡터들을 계산하고, 상기 2개의 가능한 3D 시선 벡터들로부터 상기 3차원 공간에서 패턴(806a)이 정렬되는 3D 시선 벡터를 결정하도록 구성되는 정렬 계산기(408)를 포함하고,
    상기 계산 및 상기 결정은, 상기 제 1 세트, 상기 추가적인 세트 및 상기 패턴(806a)의 계산된 위치에 기초하는,
    3D 이미지 분석기(400).
  2. 제 1 항에 있어서,
    상기 추가적인 세트는 추가적인 이미지(804b)를 포함하고, 상기 정렬 계산기(408)는, 2개의 추가적인 가능한 3D 시선 벡터들을 계산하고, 상기 2개의 추가적인 가능한 3D 시선 벡터들을 비교하고, 상기 비교에 기초하여 상기 3차원 공간 내에서 상기 패턴(806a)이 정렬되는 상기 3D 시선 벡터를 결정하도록 구성되는,
    3D 이미지 분석기(400).
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 이미지 정보의 추가적인 세트는, 투사에 의해 상기 제 1 이미지(804a) 및/또는 상기 추가적인 이미지(804b)에서 디스플레이되는 공막으로부터 얼마나 많은 픽셀이 스캔되는지에 대한 정보를 포함하고, 투사는, 상기 제 1 이미지 및/또는 추가적인 이미지에서 동공 중점으로부터 및 상기 2개의 가능한 3D 시선 벡터들의 상기 이미지로의 디스플레이로부터 얻어지는,
    3D 이미지 분석기(400).
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 정렬 계산기(408)는, 상기 2개의 가능한 3D 시선 벡터들로부터 상기 3차원 공간에서 상기 패턴(806a)이 정렬되는 상기 3D 시선 벡터를 선택하도록 구성되고, 상기 3D 시선 벡터는, 상기 동공 중점에 기초한 상기 이미지로의 배면 투사가 다른 3D 시선 벡터의 배면 투사보다 작은 픽셀을 스캔하는 것을 특징으로 하는,
    3D 이미지 분석기(400).
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 정렬 계산기(408)는, 상기 이미지에 투사되는 2개의 3D 시선 벡터들을 따라 눈의 인식된 엣지와 상기 인식된 동공 중점 사이의 각각의 거리를 결정하고, 상기 2개의 가능한 3D 시선 벡터들로부터 상기 패턴이 상기 3차원 공간에서 정렬되는 상기 3D 시선 벡터를 선택하도록 구성되고, 상기 3D 시선 벡터가 선택되고, 상기 3D 시선 벡터의 상기 이미지로의 투사는, 상기 동공 중점과 상기 눈 개방의 엣지 사이의 더 작은 거리를 스캔하는,
    3D 이미지 분석기(400).
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 이미지 정보의 추가적인 세트는 기준 동공 위치에 대한 상기 제 1 이미지(804)에서 인식된 눈 내의 동공 위치와 상기 2개의 가능한 3D 시선 벡터들 사이의 관계에 대한 정보를 포함하는,
    3D 이미지 분석기(400).
  7. 제 6 항에 있어서,
    상기 정렬 계산기(408)는, 상기 카메라 센서 중심에 대한 직접적인 시선을 갖는 계산된 동공 중점 또는 상기 카메라 센서 평면을 향한 얼굴 평면의 병렬적 위치를 갖는 디스플레이된 눈 개방의 표면의 초점에 대응하는 상기 눈의 기준 위치를 결정되거나, 상기 2개의 가능한 3D 시선 벡터들로부터 상기 패턴(806a)이 상기 3차원 공간에 정렬되는 상기 3D 시선 벡터를 선택하도록 구성되고, 상기 3D 시선 벡터가 선택되고, 상기 동공 중점에 기초한 상기 이미지에서 상기 3D 시선 벡터의 디스플레이는 상기 기준 위치까지 더 큰 거리를 갖는,
    3D 이미지 분석기(400).
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 통계적으로 평가된 관계는 2개의 특징적 얼굴 피쳐들 사이의 거리, 상기 2개의 특징적 얼굴 피쳐들 사이의 비율 및/또는 하나의 특징적 얼굴 피쳐와 하나의 이미지 엣지 사이의 비율을 포함하는,
    3D 이미지 분석기(400).
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 위치 계산기(404)는, 둘 이상의 특징적 피쳐들을 검출하고, 이전에 통계적으로 결정되고 저장된 데이터와 이들의 위치 관계를 비교하고, 그로부터 상기 패턴의 상기 카메라를 향상 거리 및/또는 정렬을 결정하도록 구성되는,
    3D 이미지 분석기(400).
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    복수의 샘플들의 복수의 제 1 및 추가적인 세트들을 수신하도록 구성되는,
    3D 이미지 분석기(400).
  11. 상기 위치 계산기(404)는, 복수의 샘플들에 대한 상기 패턴(806a)의 위치를 계산하도록 구성되고,
    상기 정렬 계산기(408)는, 상기 복수의 샘플들에 대한 상기 패턴(806a)의 3D 시선 벡터를 결정하여, 상기 3D 시선 벡터를 추적하도록 구성되는,
    3D 이미지 분석기(400).
  12. 제 1 항 내지 제 11 항 중 어느 한 항에 있어서,
    상기 패턴(806a)은, 동공(pupil), 홍채(iris) 또는 타원(ellipsis)인,
    3D 이미지 분석기(400).
  13. 제 1 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 제 1 및 추가적인 세트는, 패턴(806a)의 좌표들, 상기 패턴(806a)의 중점의 좌표들, 상기 패턴(806a)의 기하구조 파라미터들, 타원의 중점의 좌표들, 장축인 상기 타원의 제 1 직경, 단축인 상기 타원의 제 2 직경 및 상기 타원의 축의 기울기 각도로 이루어진 그룹으로부터 도출되는,
    3D 이미지 분석기(400).
  14. 제 1 항 내지 제 13 항 중 어느 한 항에 있어서,
    상기 3D 시선 벡터는, 상기 패턴(806a)에 속하는 오브젝트의 표면에 기초하여 법선 방향을 따라 상기 패턴(806a)의 중점을 통해 연장되는 벡터로서 정의되는,
    3D 이미지 분석기(400).
  15. 제 1 항 내지 제 14 항 중 어느 한 항에 있어서,
    상기 위치 및 상기 3D 벡터의 계산은, 카메라 렌즈의 광학 파라미터들에 대한 정보, 상기 카메라 렌즈의 위치 및 정렬, 센서 픽셀 크가 및 몇몇 센서 픽셀의 생략 또는 중심화에 대한 정보로부터 도출되는 추가적인 정보에 기초하는,
    3D 이미지 분석기(400).
  16. 제 15 항에 있어서,
    상기 정렬 계산기(408)는, 상기 제 1 이미지(804a)에 대한 제 1 가상 투사 평면을 계산하여, 상기 제 1 가상 투사 평면에 수직으로 정의되는 제 1 가상 광학 축이 상기 패턴(806a)의 중점을 통해 연장되고,
    상기 이미지 정보의 제 1 세트에 기초하여 상기 제 1 가상 투사 평면을 정렬하도록 구성되는,
    3D 이미지 분석기(400).
  17. 제 15 항 또는 제 16 항에 있어서,
    상기 정렬 계산기(408)는, 상기 제 1 이미지(804a)에 대한 제 1 가상 투사 평면을 계산하여, 상기 제 1 가상 투사 평면에 수직으로 정의되는 제 1 가상 광학 축이 상기 패턴(806a)의 중점을 통해 연장되고, 상기 추가적인 이미지(804b)에 대한 제 2 가상 투사 평면을 계산하여, 상기 제 2 가상 투사 평면에 수직으로 정의되는 제 2 가상 광학 축이 상기 패턴의 중점을 통해 연장되도록 구성되고,
    상기 제 1 가상 광학 축은, 상기 제 1 가상 투사 평면에서 상기 수신된 패턴(806a)의 중점을 통해 연장되고, 상기 제 2 가상 광학 축은, 상기 제 2 가상 투사 평면에서 상기 수신된 패턴(806a)의 중점을 통해 연장되는,
    3D 이미지 분석기(400).
  18. 제 17 항에 있어서,
    상기 제 1 및/또는 제 2 가상 투사 평면에서 상기 제 1 이미지(804a) 및/또는 상기 제 2 이미지(804b)의 변환은, 상기 패턴(806a)의 특정 위치에 기초하여 및/또는 상기 카메라 렌즈의 광학 파라미터들에 대한 정보, 렌즈 위치, 센서 픽셀 크기 및 몇몇 센서 픽셀의 생략 또는 중심화에 대한 정보를 포함하는 그룹으로부터 도출되는 추가적인 정보에 기초하여 발생하는,
    3D 이미지 분석기(400).
  19. 제 17 항 또는 제 18 항에 있어서,
    상기 정렬 계산기(408)는, 복수의 가상 교차 빔들에 의해 제 1 가상 투사 평면에서 그리고 제 2 복수의 교차 빔들에 의해 제 2 가상 투사 평면에서, 제 1 복수의 교차 빔들에 의해, 옵틱을 통해 제 1 관점에 대한 제 1 투사 평면 상에 그리고 제 2 복수의 교차 빔들에 의해, 상기 옵틱을 통해 제 2 관점에 대한 제 2 투사 평면 상에 디스플레이되는 상기 패턴(806a)을 디스플레이하도록 구성되는,
    3D 이미지 분석기(400).
  20. 제 19 항에 있어서,
    상기 패턴은 왜곡된 동공 또는 홍채 또는 타원이고, 이는, 적어도 제 1 및 제 2 축 뿐만 아니라 상기 왜곡된 동공 또는 홍채 또는 타원의 축들 중 하나의 기울기 각도를 포함하는 이미지 데이터의 제 1 및 제 2 세트에 의해 설명될 수 있는,
    3D 이미지 분석기(400).
  21. 제 20 항에 있어서,
    상기 3D 시선 벡터는 방정식들의 세트에 의해 설명될 수 있고, 모든 방정식은, 상기 3D 시선 벡터에 대한 각각의 제 1 또는 각각의 추가적인 가상 투사 평면들의 기하학적 관계를 설명하는,
    3D 이미지 분석기(400).
  22. 제 21 항에 있어서,
    상기 제 1 세트의 이미지 데이터에 기초한 1 방정식에 의한 상기 제 1 가상 투사 평면에 대한 상기 3D 벡터에 대해, 2개의 가능한 솔루션들이 계산될 수 있고, 상기 추가적인 세트의 이미지 데이터에 기초한 상기 추가적인 방정식에 의한 추가적인 가상 투사 평면에 대한 상기 3D 시선 벡터에 대해, 2개의 가능한 솔루션들이 계산될 수 있는,
    3D 이미지 분석기(400).
  23. 제 22 항에 있어서,
    상기 제 1 방정식의 하나의 솔루션 벡터와 상기 제 2 방정식의 하나의 솔루션 벡터 사이의 차이는, 2개의 방정식들의 솔루션 벡터들로부터의 다른 결합들 사이의 차이보다 작고, 상기 설명된 벡터들이 선택되고, 상기 3D 이미지 분석기는 상기 2개의 선택된 벡터들의 레이팅된 평균화에 의해 계산되는,
    3D 이미지 분석기(400).
  24. 제 23 항에 있어서,
    상기 정렬 계산기(408)는, 상기 제 1 및 제 2 방정식을 포함하는 방정식 시스템을 이용하여 상기 3D 시선 벡터에 대한 명확한 결과를 계산하도록 구성되는,
    3D 이미지 분석기(400).
  25. 제 1 항 내지 제 24 항 중 어느 한 항에 있어서,
    상기 3D 이미지 분석기(400)는 프로세싱 유닛에 구현되는,
    3D 이미지 분석기(400).
  26. 제 25 항에 있어서,
    상기 프로세싱 유닛은, 값들의 몇몇 세트들을 수신하도록 구성되는 선택적인 적응형 데이터 프로세서를 갖고, 모든 세트는 각각의 샘플에 할당되고,
    수신된 세트들에 기초하여 적절한 세트들을 출력하도록 구성되고, 부적절한 세트는 적절한 세트에 의해 대체되고, 부적절한 세트의 값들은 내부적으로 결정된 값들에 의해 대체되는 프로세서를 갖는,
    3D 이미지 분석기(400).
  27. 이전에 검출된 또는 추적된 동공 또는 홍채에 기초하여 시선 방향의 결정을 위한 이미지 분석 시스템으로서,
    모노스코픽 카메라 어셈블리의 적어도 하나의 카메라에 대한 적어도 하나의 허프 경로 또는 입체(stereoscopic) 또는 멀티-스코픽 카메라 어셈블리의 적어도 2개의 카메라들에 대한 적어도 2개의 허프 경로들을 포함하고,
    각 허프 경로는 허프 프로세서를 포함하고,
    상기 허프 프로세서는,
    이미지를 각각 포함하는 복수의 샘플들(112a, 112b, 112c)을 수신하고, 각각의 샘플(112a, 112b, 112c)의 이미지를 회전 및/또는 반사하고, 각각의 샘플(112a, 112b, 112c)에 대한 각각의 샘플(112a, 112b, 112c)의 이미지의 복수의 버전들(112a', 112a'', 112a''', 112a'''')을 출력하도록 구성되는 프리-프로세서(102); 및
    상기 복수의 버전들(112a', 112a'', 112a''', 112a'''')에 기초하여 상기 복수의 샘플들(112a, 112b, 112c) 내에서 미리 결정된 탐색된 패턴(806a)을 수집하도록 구성되는 허프 변환 유닛(104) ―상기 탐색된 패턴(806a)에 의존하는 상기 허프 변환 유닛(104)의 특성은 조절가능함―;
    상기 수집된 패턴(806a)을 분석하고, 상기 패턴(806a)의 위치 및/또는 기하구조(geometry)를 설명하는 이미지 데이터의 세트를 출력하기 위한 유닛; 및
    제 1 항 내지 제 27 항 중 어느 한 항에 따른 3D 이미지 분석기(400)를 포함하는,
    이미지 분석 시스템.
  28. 시선 방향의 결정을 위한 방법으로서,
    제 1 이미지(804a)에 기초하여 결정되는 이미지 데이터의 적어도 하나의 제 1 세트, 및 추가적인 이미지(804b)에 기초하여 결정되는 이미지 데이터의 추가적인 세트를 수신하는 단계 ―상기 제 1 이미지(804a)는 제 1 이미지 평면으로의 제 1 관점으로부터 3차원 오브젝트의 패턴(806a)을 디스플레이하고, 상기 추가적인 세트는, 추가적인 이미지(804b), 또는 상기 3차원 오브젝트의 적어도 하나의 포인트와 상기 제 1 이미지 평면 사이의 관계를 설명하는 정보를 포함함―;
    상기 제 1 세트, 추가적인 세트, 및 상기 제 1 이미지 및 상기 추가적인 이미지(804b)의 관섬들 사이의 기하학적 관계에 기초하여 3차원 공간에서 상기 패턴(806a)의 위치를 계산하거나, 또는 상기 제 1 이미지(804a)에서 적어도 2개의 특징적 피쳐들 사이에서 통계적으로 평가된 관계 및 제 1 세트에 기초하여 3차원 공간에서 상기 패턴(806a)의 위치를 계산하거나, 또는 상기 3차원 오브젝트의 적어도 하나의 포인트와 상기 제 1 이미지 평면 사이의 위치 관계 및 상기 제 1 세트에 기초하여 3차원 공간에서 상기 패턴(806a)의 위치를 계산하는 단계, 및
    상기 제 1 세트 및 상기 추가적인 세트에 기초하여 상기 패턴(806a)이 상기 3차원 공간에서 정렬되는 3D 시선 벡터를 계산하는 단계를 포함하는,
    시선 방향의 결정을 위한 방법.
  29. 컴퓨터 판독가능 디지털 저장 매체로서,
    프로그램 코드를 갖는 컴퓨터 프로그램이 저장되고,
    상기 프로그램 코드는, 상기 프로그램 코드가 컴퓨터, 임베딩된 프로세서, 프로그래밍가능 로직 컴포넌트 또는 클라이언트-특정 칩 상에서 실행되면, 제 28 항에 따른 방법의 실행을 위한 프로그램 코드인,
    컴퓨터 판독가능 디지털 저장 매체.
KR1020167024546A 2014-02-04 2015-01-30 시야 방향을 결정하기 위한 3-d 이미지 분석기 KR101858491B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102014201997.4 2014-02-04
DE102014201997 2014-02-04
PCT/EP2015/052004 WO2015117905A1 (de) 2014-02-04 2015-01-30 3d-bildanalysator zur blickrichtungsbestimmung

Publications (2)

Publication Number Publication Date
KR20160119176A true KR20160119176A (ko) 2016-10-12
KR101858491B1 KR101858491B1 (ko) 2018-05-16

Family

ID=52434840

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167024546A KR101858491B1 (ko) 2014-02-04 2015-01-30 시야 방향을 결정하기 위한 3-d 이미지 분석기
KR1020167024301A KR101991496B1 (ko) 2014-02-04 2015-01-30 허프 프로세서

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020167024301A KR101991496B1 (ko) 2014-02-04 2015-01-30 허프 프로세서

Country Status (6)

Country Link
US (3) US10192135B2 (ko)
EP (4) EP3968288A2 (ko)
JP (3) JP6483715B2 (ko)
KR (2) KR101858491B1 (ko)
CN (3) CN106104573A (ko)
WO (4) WO2015117906A1 (ko)

Families Citing this family (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013109869A1 (en) 2012-01-20 2013-07-25 Magna Electronics, Inc. Vehicle vision system with free positional virtual panoramic view
US10365711B2 (en) 2012-05-17 2019-07-30 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for unified scene acquisition and pose tracking in a wearable display
CN104715227B (zh) * 2013-12-13 2020-04-03 北京三星通信技术研究有限公司 人脸关键点的定位方法和装置
WO2015117906A1 (de) 2014-02-04 2015-08-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. 2d-bildanalysator
DE102015202846B4 (de) 2014-02-19 2020-06-25 Magna Electronics, Inc. Fahrzeugsichtsystem mit Anzeige
CN106797423B (zh) * 2014-06-27 2019-12-06 Fove股份有限公司 视线检测装置
WO2016007167A1 (en) * 2014-07-11 2016-01-14 Hewlett-Packard Development Company, L.P. Corner generation in a projector display area
WO2016073557A1 (en) 2014-11-04 2016-05-12 The University Of North Carolina At Chapel Hill Minimal-latency tracking and display for matching real and virtual worlds
KR20160094190A (ko) * 2015-01-30 2016-08-09 한국전자통신연구원 시선 추적 장치 및 방법
JP6444233B2 (ja) * 2015-03-24 2018-12-26 キヤノン株式会社 距離計測装置、距離計測方法、およびプログラム
US20160363995A1 (en) * 2015-06-12 2016-12-15 Seeing Machines Limited Circular light element for illumination of cornea in head mounted eye-tracking
CN105511093B (zh) * 2015-06-18 2018-02-09 广州优视网络科技有限公司 3d成像方法及装置
US9798950B2 (en) * 2015-07-09 2017-10-24 Olympus Corporation Feature amount generation device, feature amount generation method, and non-transitory medium saving program
EP3734661A3 (en) 2015-07-23 2021-03-03 Artilux Inc. High efficiency wide spectrum sensor
US10761599B2 (en) 2015-08-04 2020-09-01 Artilux, Inc. Eye gesture tracking
US10707260B2 (en) 2015-08-04 2020-07-07 Artilux, Inc. Circuit for operating a multi-gate VIS/IR photodiode
US10861888B2 (en) 2015-08-04 2020-12-08 Artilux, Inc. Silicon germanium imager with photodiode in trench
ES2765280T3 (es) 2015-08-04 2020-06-08 Artilux Inc Aparato sensor de luz de germanio-silicio
US10616149B2 (en) * 2015-08-10 2020-04-07 The Rocket Science Group Llc Optimizing evaluation of effectiveness for multiple versions of electronic messages
EP3341970B1 (en) 2015-08-27 2020-10-07 Artilux Inc. Wide spectrum optical sensor
JP6634765B2 (ja) * 2015-09-30 2020-01-22 株式会社ニデック 眼科装置、および眼科装置制御プログラム
JP2018504652A (ja) * 2015-10-09 2018-02-15 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 顕著特徴ベースの移動体測位
US10418407B2 (en) 2015-11-06 2019-09-17 Artilux, Inc. High-speed light sensing apparatus III
US10739443B2 (en) 2015-11-06 2020-08-11 Artilux, Inc. High-speed light sensing apparatus II
US10254389B2 (en) 2015-11-06 2019-04-09 Artilux Corporation High-speed light sensing apparatus
US10886309B2 (en) 2015-11-06 2021-01-05 Artilux, Inc. High-speed light sensing apparatus II
US10741598B2 (en) 2015-11-06 2020-08-11 Atrilux, Inc. High-speed light sensing apparatus II
CN106200905B (zh) * 2016-06-27 2019-03-29 联想(北京)有限公司 信息处理方法及电子设备
WO2018009567A1 (en) 2016-07-05 2018-01-11 Nauto Global Limited System and method for automatic driver identification
WO2018016209A1 (ja) * 2016-07-20 2018-01-25 富士フイルム株式会社 注目位置認識装置、撮像装置、表示装置、注目位置認識方法及びプログラム
CN105954992B (zh) * 2016-07-22 2018-10-30 京东方科技集团股份有限公司 显示系统和显示方法
GB2552511A (en) * 2016-07-26 2018-01-31 Canon Kk Dynamic parametrization of video content analytics systems
US10417495B1 (en) * 2016-08-08 2019-09-17 Google Llc Systems and methods for determining biometric information
EP3497405B1 (en) 2016-08-09 2022-06-15 Nauto, Inc. System and method for precision localization and mapping
US10733460B2 (en) 2016-09-14 2020-08-04 Nauto, Inc. Systems and methods for safe route determination
JP6587254B2 (ja) * 2016-09-16 2019-10-09 株式会社東海理化電機製作所 輝度制御装置、輝度制御システム及び輝度制御方法
EP3305176A1 (en) 2016-10-04 2018-04-11 Essilor International Method for determining a geometrical parameter of an eye of a subject
US11361003B2 (en) * 2016-10-26 2022-06-14 salesforcecom, inc. Data clustering and visualization with determined group number
CN110178104A (zh) 2016-11-07 2019-08-27 新自动公司 用于确定驾驶员分心的系统和方法
US11612307B2 (en) * 2016-11-24 2023-03-28 University Of Washington Light field capture and rendering for head-mounted displays
JP6900609B2 (ja) * 2016-12-06 2021-07-07 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 広角画像を修正するシステム及び方法
DE102016224886B3 (de) * 2016-12-13 2018-05-30 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren und Vorrichtung zur Ermittlung der Schnittkanten von zwei sich überlappenden Bildaufnahmen einer Oberfläche
EP3563192A1 (en) * 2016-12-30 2019-11-06 Tobii AB Eye/gaze tracking system and method
US10282592B2 (en) * 2017-01-12 2019-05-07 Icatch Technology Inc. Face detecting method and face detecting system
DE102017103721B4 (de) * 2017-02-23 2022-07-21 Karl Storz Se & Co. Kg Vorrichtung zur Erfassung eines Stereobilds mit einer rotierbaren Blickrichtungseinrichtung
KR101880751B1 (ko) * 2017-03-21 2018-07-20 주식회사 모픽 무안경 입체영상시청을 위해 사용자 단말과 렌티큘러 렌즈 간 정렬 오차를 줄이기 위한 방법 및 이를 수행하는 사용자 단말
JP7003455B2 (ja) * 2017-06-15 2022-01-20 オムロン株式会社 テンプレート作成装置、物体認識処理装置、テンプレート作成方法及びプログラム
EP3638542B1 (en) 2017-06-16 2022-01-26 Nauto, Inc. System and method for contextualized vehicle operation determination
WO2018229550A1 (en) 2017-06-16 2018-12-20 Nauto Global Limited System and method for adverse vehicle event determination
EP3420887A1 (en) 2017-06-30 2019-01-02 Essilor International Method for determining the position of the eye rotation center of the eye of a subject, and associated device
EP3430973A1 (en) * 2017-07-19 2019-01-23 Sony Corporation Mobile system and method
JP2019017800A (ja) * 2017-07-19 2019-02-07 富士通株式会社 コンピュータプログラム、情報処理装置及び情報処理方法
KR101963392B1 (ko) * 2017-08-16 2019-03-28 한국과학기술연구원 무안경식 3차원 영상표시장치의 동적 최대 시역 형성 방법
US11250589B2 (en) * 2017-08-25 2022-02-15 Chris Hsinlai Liu General monocular machine vision system and method for identifying locations of target elements
US10460458B1 (en) * 2017-09-14 2019-10-29 United States Of America As Represented By The Secretary Of The Air Force Method for registration of partially-overlapped aerial imagery using a reduced search space methodology with hybrid similarity measures
CN107818305B (zh) * 2017-10-31 2020-09-22 Oppo广东移动通信有限公司 图像处理方法、装置、电子设备和计算机可读存储介质
EP3486834A1 (en) * 2017-11-16 2019-05-22 Smart Eye AB Detection of a pose of an eye
CN108024056B (zh) * 2017-11-30 2019-10-29 Oppo广东移动通信有限公司 基于双摄像头的成像方法和装置
KR102444666B1 (ko) * 2017-12-20 2022-09-19 현대자동차주식회사 차량용 3차원 입체 영상의 제어 방법 및 장치
CN108334810B (zh) * 2017-12-25 2020-12-11 北京七鑫易维信息技术有限公司 视线追踪设备中确定参数的方法和装置
CN108875526B (zh) * 2018-01-05 2020-12-25 北京旷视科技有限公司 视线检测的方法、装置、系统及计算机存储介质
JP7109193B2 (ja) * 2018-01-05 2022-07-29 ラピスセミコンダクタ株式会社 操作判定装置及び操作判定方法
US10817068B2 (en) * 2018-01-23 2020-10-27 Toyota Research Institute, Inc. Vehicle systems and methods for determining target based on selecting a virtual eye position or a pointing direction
US10853674B2 (en) 2018-01-23 2020-12-01 Toyota Research Institute, Inc. Vehicle systems and methods for determining a gaze target based on a virtual eye position
US10706300B2 (en) * 2018-01-23 2020-07-07 Toyota Research Institute, Inc. Vehicle systems and methods for determining a target based on a virtual eye position and a pointing direction
WO2019165220A1 (en) 2018-02-23 2019-08-29 Artilux, Inc. Photo-detecting apparatus and photo-detecting method thereof
US11105928B2 (en) 2018-02-23 2021-08-31 Artilux, Inc. Light-sensing apparatus and light-sensing method thereof
WO2019169031A1 (en) 2018-02-27 2019-09-06 Nauto, Inc. Method for determining driving policy
US11675428B2 (en) * 2018-03-29 2023-06-13 Tobii Ab Determining a gaze direction using depth information
CN114335030A (zh) 2018-04-08 2022-04-12 奥特逻科公司 光探测装置
WO2019199035A1 (ko) * 2018-04-11 2019-10-17 주식회사 비주얼캠프 시선 추적 시스템 및 방법
KR20190118965A (ko) * 2018-04-11 2019-10-21 주식회사 비주얼캠프 시선 추적 시스템 및 방법
CN108667686B (zh) * 2018-04-11 2021-10-22 国电南瑞科技股份有限公司 一种网络报文时延测量的可信度评估方法
TWI795562B (zh) 2018-05-07 2023-03-11 美商光程研創股份有限公司 雪崩式之光電晶體
US10969877B2 (en) 2018-05-08 2021-04-06 Artilux, Inc. Display apparatus
CN108876733B (zh) * 2018-05-30 2021-11-09 上海联影医疗科技股份有限公司 一种图像增强方法、装置、设备和存储介质
US10410372B1 (en) * 2018-06-14 2019-09-10 The University Of North Carolina At Chapel Hill Methods, systems, and computer-readable media for utilizing radial distortion to estimate a pose configuration
US10803618B2 (en) * 2018-06-28 2020-10-13 Intel Corporation Multiple subject attention tracking
CN109213031A (zh) * 2018-08-13 2019-01-15 祝爱莲 窗体加固控制平台
KR102521408B1 (ko) * 2018-08-27 2023-04-14 삼성전자주식회사 인포그래픽을 제공하기 위한 전자 장치 및 그에 관한 방법
SG11202101950RA (en) * 2018-08-30 2021-03-30 Splashlight Holding Llc Technologies for enabling analytics of computing events based on augmented canonicalization of classified images
CN109376595B (zh) * 2018-09-14 2023-06-23 杭州宇泛智能科技有限公司 基于人眼注意力的单目rgb摄像头活体检测方法及系统
JP7099925B2 (ja) * 2018-09-27 2022-07-12 富士フイルム株式会社 画像処理装置、画像処理方法、プログラムおよび記録媒体
JP6934001B2 (ja) * 2018-09-27 2021-09-08 富士フイルム株式会社 画像処理装置、画像処理方法、プログラムおよび記録媒体
CN110966923B (zh) * 2018-09-29 2021-08-31 深圳市掌网科技股份有限公司 室内三维扫描与危险排除系统
US11144779B2 (en) 2018-10-16 2021-10-12 International Business Machines Corporation Real-time micro air-quality indexing
CN109492120B (zh) * 2018-10-31 2020-07-03 四川大学 模型训练方法、检索方法、装置、电子设备及存储介质
JP7001042B2 (ja) * 2018-11-08 2022-01-19 日本電信電話株式会社 眼情報推定装置、眼情報推定方法、プログラム
CN111479104A (zh) * 2018-12-21 2020-07-31 托比股份公司 用于计算视线会聚距离的方法
US11113842B2 (en) * 2018-12-24 2021-09-07 Samsung Electronics Co., Ltd. Method and apparatus with gaze estimation
CN109784226B (zh) * 2018-12-28 2020-12-15 深圳云天励飞技术有限公司 人脸抓拍方法及相关装置
US11049289B2 (en) * 2019-01-10 2021-06-29 General Electric Company Systems and methods to semi-automatically segment a 3D medical image using a real-time edge-aware brush
US10825137B2 (en) * 2019-01-15 2020-11-03 Datalogic IP Tech, S.r.l. Systems and methods for pre-localization of regions of interest for optical character recognition, and devices therefor
KR102653252B1 (ko) * 2019-02-21 2024-04-01 삼성전자 주식회사 외부 객체의 정보에 기반하여 시각화된 인공 지능 서비스를 제공하는 전자 장치 및 전자 장치의 동작 방법
US11068052B2 (en) * 2019-03-15 2021-07-20 Microsoft Technology Licensing, Llc Holographic image generated based on eye position
US11644897B2 (en) 2019-04-01 2023-05-09 Evolution Optiks Limited User tracking system using user feature location and method, and digital display device and digital image rendering system and method using same
WO2020201999A2 (en) 2019-04-01 2020-10-08 Evolution Optiks Limited Pupil tracking system and method, and digital display device and digital image rendering system and method using same
US20210011550A1 (en) * 2019-06-14 2021-01-14 Tobii Ab Machine learning based gaze estimation with confidence
CN110718067A (zh) * 2019-09-23 2020-01-21 浙江大华技术股份有限公司 违规行为告警方法及相关装置
US11080892B2 (en) * 2019-10-07 2021-08-03 The Boeing Company Computer-implemented methods and system for localizing an object
US11688199B2 (en) * 2019-11-13 2023-06-27 Samsung Electronics Co., Ltd. Method and apparatus for face detection using adaptive threshold
CN113208591B (zh) * 2020-01-21 2023-01-06 魔门塔(苏州)科技有限公司 一种眼睛开闭距离的确定方法及装置
EP4113968A4 (en) * 2020-02-28 2023-04-05 NEC Corporation IMAGE CAPTURE DEVICE, IMAGE CAPTURE METHOD AND IMAGE PROCESSING DEVICE
CN113448428B (zh) * 2020-03-24 2023-04-25 中移(成都)信息通信科技有限公司 一种视线焦点的预测方法、装置、设备及计算机存储介质
CN111768433B (zh) * 2020-06-30 2024-05-24 杭州海康威视数字技术股份有限公司 一种移动目标追踪的实现方法、装置及电子设备
US11676255B2 (en) * 2020-08-14 2023-06-13 Optos Plc Image correction for ophthalmic images
CN111985384A (zh) * 2020-08-14 2020-11-24 深圳地平线机器人科技有限公司 获取脸部关键点的3d坐标及3d脸部模型的方法和装置
US10909167B1 (en) * 2020-09-17 2021-02-02 Pure Memories Ltd Systems and methods for organizing an image gallery
CN112633313B (zh) * 2020-10-13 2021-12-03 北京匠数科技有限公司 一种网络终端的不良信息识别方法及局域网终端设备
CN112255882A (zh) * 2020-10-23 2021-01-22 泉芯集成电路制造(济南)有限公司 集成电路版图微缩方法
CN112650461B (zh) * 2020-12-15 2021-07-13 广州舒勇五金制品有限公司 一种基于相对位置的展示系统
US11417024B2 (en) 2021-01-14 2022-08-16 Momentick Ltd. Systems and methods for hue based encoding of a digital image
KR20220115001A (ko) * 2021-02-09 2022-08-17 현대모비스 주식회사 스마트 디바이스 스위블을 이용한 차량 제어 장치 및 그 방법
US20220270116A1 (en) * 2021-02-24 2022-08-25 Neil Fleischer Methods to identify critical customer experience incidents using remotely captured eye-tracking recording combined with automatic facial emotion detection via mobile phone or webcams.
JPWO2022259499A1 (ko) * 2021-06-11 2022-12-15
JP2022189536A (ja) * 2021-06-11 2022-12-22 キヤノン株式会社 撮像装置および方法
US11914915B2 (en) * 2021-07-30 2024-02-27 Taiwan Semiconductor Manufacturing Company, Ltd. Near eye display apparatus
CN114387442A (zh) * 2022-01-12 2022-04-22 南京农业大学 一种多维空间中的直线、平面和超平面的快速检测方法
US11887151B2 (en) * 2022-02-14 2024-01-30 Korea Advanced Institute Of Science And Technology Method and apparatus for providing advertisement disclosure for identifying advertisements in 3-dimensional space
CN114794992B (zh) * 2022-06-07 2024-01-09 深圳甲壳虫智能有限公司 充电座、机器人的回充方法和扫地机器人
CN115936037B (zh) * 2023-02-22 2023-05-30 青岛创新奇智科技集团股份有限公司 二维码的解码方法及装置
CN116523831B (zh) * 2023-03-13 2023-09-19 深圳市柯达科电子科技有限公司 一种曲面背光源的组装成型工艺控制方法
CN116109643B (zh) * 2023-04-13 2023-08-04 深圳市明源云科技有限公司 市场布局数据采集方法、设备及计算机可读存储介质

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3069654A (en) 1960-03-25 1962-12-18 Paul V C Hough Method and means for recognizing complex patterns
JP3163215B2 (ja) 1994-03-07 2001-05-08 日本電信電話株式会社 直線抽出ハフ変換画像処理装置
JP4675492B2 (ja) * 2001-03-22 2011-04-20 本田技研工業株式会社 顔画像を使用した個人認証装置
JP4128001B2 (ja) * 2001-11-19 2008-07-30 グローリー株式会社 歪み画像の対応付け方法、装置およびプログラム
JP4275345B2 (ja) 2002-01-30 2009-06-10 株式会社日立製作所 パターン検査方法及びパターン検査装置
CN2586213Y (zh) * 2002-12-24 2003-11-12 合肥工业大学 实时实现Hough变换的光学装置
US7164807B2 (en) 2003-04-24 2007-01-16 Eastman Kodak Company Method and system for automatically reducing aliasing artifacts
JP4324417B2 (ja) * 2003-07-18 2009-09-02 富士重工業株式会社 画像処理装置および画像処理方法
JP4604190B2 (ja) 2004-02-17 2010-12-22 国立大学法人静岡大学 距離イメージセンサを用いた視線検出装置
DE102004046617A1 (de) 2004-09-22 2006-04-06 Eldith Gmbh Vorrichtung und Verfahren zur berührungslosen Bestimmung der Blickrichtung
US8995715B2 (en) * 2010-10-26 2015-03-31 Fotonation Limited Face or other object detection including template matching
JP4682372B2 (ja) * 2005-03-31 2011-05-11 株式会社国際電気通信基礎技術研究所 視線方向の検出装置、視線方向の検出方法およびコンピュータに当該視線方向の検出方法を実行させるためのプログラム
US7406212B2 (en) 2005-06-02 2008-07-29 Motorola, Inc. Method and system for parallel processing of Hough transform computations
CA2622365A1 (en) * 2005-09-16 2007-09-13 Imotions-Emotion Technology A/S System and method for determining human emotion by analyzing eye properties
DE102005047160B4 (de) * 2005-09-30 2007-06-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung, Verfahren und Computerprogramm zum Ermitteln einer Information über eine Form und/oder eine Lage einer Ellipse in einem graphischen Bild
KR100820639B1 (ko) * 2006-07-25 2008-04-10 한국과학기술연구원 시선 기반 3차원 인터랙션 시스템 및 방법 그리고 3차원시선 추적 시스템 및 방법
US8180159B2 (en) * 2007-06-06 2012-05-15 Sharp Kabushiki Kaisha Image processing apparatus, image forming apparatus, image processing system, and image processing method
JP5558081B2 (ja) * 2009-11-24 2014-07-23 株式会社エヌテック 画像形成状態検査方法、画像形成状態検査装置及び画像形成状態検査用プログラム
US8670019B2 (en) * 2011-04-28 2014-03-11 Cisco Technology, Inc. System and method for providing enhanced eye gaze in a video conferencing environment
JP2013024910A (ja) * 2011-07-15 2013-02-04 Canon Inc 観察用光学機器
US9323325B2 (en) * 2011-08-30 2016-04-26 Microsoft Technology Licensing, Llc Enhancing an object of interest in a see-through, mixed reality display device
US8737728B2 (en) 2011-09-30 2014-05-27 Ebay Inc. Complementary item recommendations using image feature data
CN103297767B (zh) * 2012-02-28 2016-03-16 三星电子(中国)研发中心 一种适用于多核嵌入式平台的jpeg图像解码方法及解码器
US9308439B2 (en) * 2012-04-10 2016-04-12 Bally Gaming, Inc. Controlling three-dimensional presentation of wagering game content
CN102662476B (zh) * 2012-04-20 2015-01-21 天津大学 一种视线估计方法
US11093702B2 (en) * 2012-06-22 2021-08-17 Microsoft Technology Licensing, Llc Checking and/or completion for data grids
EP2709060B1 (en) * 2012-09-17 2020-02-26 Apple Inc. Method and an apparatus for determining a gaze point on a three-dimensional object
CN103019507B (zh) * 2012-11-16 2015-03-25 福州瑞芯微电子有限公司 一种基于人脸跟踪改变视点角度显示三维图形的方法
CN103136525B (zh) * 2013-02-28 2016-01-20 中国科学院光电技术研究所 一种利用广义Hough变换的异型扩展目标高精度定位方法
KR101789903B1 (ko) 2013-05-08 2017-10-25 코니카 미놀타 가부시키가이샤 발광 패턴을 갖는 유기 일렉트로루미네센스 소자의 제조 방법
KR20150006993A (ko) * 2013-07-10 2015-01-20 삼성전자주식회사 디스플레이 장치 및 이의 디스플레이 방법
US9619884B2 (en) 2013-10-03 2017-04-11 Amlogic Co., Limited 2D to 3D image conversion device and method
WO2015117906A1 (de) * 2014-02-04 2015-08-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. 2d-bildanalysator
WO2015143067A1 (en) * 2014-03-19 2015-09-24 Intuitive Surgical Operations, Inc. Medical devices, systems, and methods using eye gaze tracking
US9607428B2 (en) 2015-06-30 2017-03-28 Ariadne's Thread (Usa), Inc. Variable resolution virtual reality display system

Also Published As

Publication number Publication date
US10192135B2 (en) 2019-01-29
US10592768B2 (en) 2020-03-17
KR101991496B1 (ko) 2019-06-20
JP2017508207A (ja) 2017-03-23
WO2015117906A1 (de) 2015-08-13
JP6248208B2 (ja) 2017-12-13
US20160335475A1 (en) 2016-11-17
US20170032214A1 (en) 2017-02-02
JP2017514193A (ja) 2017-06-01
WO2015117907A3 (de) 2015-10-01
JP6268303B2 (ja) 2018-01-24
KR20160119146A (ko) 2016-10-12
US20160342856A1 (en) 2016-11-24
EP3103060A1 (de) 2016-12-14
JP2017509967A (ja) 2017-04-06
CN106258010B (zh) 2019-11-22
CN106104573A (zh) 2016-11-09
KR101858491B1 (ko) 2018-05-16
EP3103058A1 (de) 2016-12-14
CN106133750A (zh) 2016-11-16
EP3968288A2 (de) 2022-03-16
JP6483715B2 (ja) 2019-03-13
CN106133750B (zh) 2020-08-28
CN106258010A (zh) 2016-12-28
EP3103059A1 (de) 2016-12-14
US10074031B2 (en) 2018-09-11
WO2015117904A1 (de) 2015-08-13
WO2015117905A1 (de) 2015-08-13
WO2015117907A2 (de) 2015-08-13

Similar Documents

Publication Publication Date Title
KR101858491B1 (ko) 시야 방향을 결정하기 위한 3-d 이미지 분석기
US11967179B2 (en) System and method for detecting and removing occlusions in a three-dimensional image
CN109416744B (zh) 改进的相机校准系统、目标和过程
CN111060023B (zh) 一种高精度3d信息采集的设备及方法
CN103501688B (zh) 注视点映射的方法和装置
US9648300B2 (en) Calibration of multi-camera devices using reflections thereof
US20140313308A1 (en) Apparatus and method for tracking gaze based on camera array
CN109377551B (zh) 一种三维人脸重建方法、装置及其存储介质
EP3115741B1 (en) Position measurement device and position measurement method
CN111160136B (zh) 一种标准化3d信息采集测量方法及系统
CN110543871A (zh) 基于点云的3d比对测量方法
CN111028205B (zh) 一种基于双目测距的眼睛瞳孔定位方法及装置
KR20080051184A (ko) 3차원 이미징에서의 아티팩트 완화
CN110213491B (zh) 一种对焦方法、装置及存储介质
CN112016570A (zh) 用于背景板同步旋转采集中的三维模型生成方法
TWI433049B (zh) 眼鏡虛擬試戴互動服務系統與方法
JP2015152417A (ja) 物体認識装置、物体認識方法及び物体認識プログラム
US10609311B2 (en) Method and device for increasing resolution of an image sensor
KR101348903B1 (ko) 시선 추적용 기하광학에 기반한 각막 반경 측정 알고리즘을 이용한 각막 반경 측정 장치 및 방법
JP6941350B2 (ja) 三次元形状推定システム、三次元形状推定装置、三次元形状推定方法及びプログラム
JP2024025894A (ja) 画像処理装置、画像処理方法及びプログラム
Li 3D computer vision: passive depth from defocus and manifold learning-based human activity recognition

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