KR101991496B1 - 허프 프로세서 - Google Patents
허프 프로세서 Download PDFInfo
- Publication number
- KR101991496B1 KR101991496B1 KR1020167024301A KR20167024301A KR101991496B1 KR 101991496 B1 KR101991496 B1 KR 101991496B1 KR 1020167024301 A KR1020167024301 A KR 1020167024301A KR 20167024301 A KR20167024301 A KR 20167024301A KR 101991496 B1 KR101991496 B1 KR 101991496B1
- Authority
- KR
- South Korea
- Prior art keywords
- huff
- image
- processor
- pattern
- filter
- Prior art date
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 22
- 238000000034 method Methods 0.000 claims description 95
- 210000001747 pupil Anatomy 0.000 claims description 93
- 238000012545 processing Methods 0.000 claims description 81
- 238000009499 grossing Methods 0.000 claims description 43
- 238000004364 calculation method Methods 0.000 claims description 38
- 230000003044 adaptive effect Effects 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000010191 image analysis Methods 0.000 claims description 10
- 238000007781 pre-processing Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 230000005764 inhibitory process Effects 0.000 claims 1
- 239000013598 vector Substances 0.000 description 80
- 230000006870 function Effects 0.000 description 36
- 238000001514 detection method Methods 0.000 description 26
- 230000003287 optical effect Effects 0.000 description 26
- 238000003491 array Methods 0.000 description 20
- 230000000875 corresponding effect Effects 0.000 description 20
- 238000004422 calculation algorithm Methods 0.000 description 18
- 238000012805 post-processing Methods 0.000 description 17
- 239000011159 matrix material Substances 0.000 description 16
- 230000009466 transformation Effects 0.000 description 16
- 238000000605 extraction Methods 0.000 description 15
- 230000001629 suppression Effects 0.000 description 15
- 238000011156 evaluation Methods 0.000 description 13
- 238000005259 measurement Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 206010041349 Somnolence Diseases 0.000 description 9
- 238000013459 approach Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 9
- 238000012937 correction Methods 0.000 description 9
- 210000000887 face Anatomy 0.000 description 7
- 238000010276 construction Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000003909 pattern recognition Methods 0.000 description 5
- 102100026816 DNA-dependent metalloprotease SPRTN Human genes 0.000 description 4
- 101710175461 DNA-dependent metalloprotease SPRTN Proteins 0.000 description 4
- 230000001934 delay Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 210000003128 head Anatomy 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000001994 activation Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 210000000744 eyelid Anatomy 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 210000003786 sclera Anatomy 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000035479 physiological effects, processes and functions Effects 0.000 description 2
- 230000035484 reaction time Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000011282 treatment Methods 0.000 description 2
- 230000027455 binding Effects 0.000 description 1
- 238000009739 binding Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 210000004207 dermis Anatomy 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 239000011148 porous material Substances 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000001179 pupillary effect Effects 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G06K9/4633—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/48—Extraction of image or video features by mapping characteristic values of the pattern into a parameter space, e.g. Hough transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/145—Square transforms, e.g. Hadamard, Walsh, Haar, Hough, Slant transforms
-
- G06K9/00335—
-
- G06K9/00597—
-
- G06K9/00986—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
- G06T7/337—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/77—Determining position or orientation of objects or cameras using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/19—Sensors therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/193—Preprocessing; Feature extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20004—Adaptive image processing
- G06T2207/20008—Globally adaptive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20048—Transform domain processing
- G06T2207/20061—Hough transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
Abstract
허프 프로세서는 프리-프로세서 및 허프 변환 유닛을 포함한다. 프리-프로세서는, 이미지를 각각 포함하는 복수의 샘플들을 수신하고, 각각의 샘플의 이미지를 회전 또는 반사하도록 구성된다. 허프 변환 유닛은, 복수의 버전들에 기초하여, 복수의 샘플들에서 미리 결정된 탐색된 패턴을 수집하도록 구성된다. 허프 변환 유닛은, 탐색된 패턴에 따라 조절가능한, 탐색된 패턴에 의존하는 특성을 포함한다.
Description
본 발명의 실시예들은 허프(Hough) 프로세서에 관한 것이고, 추가적인 실시예들은, 허프 프로세서를 이용하여 동공을 추적하기 위한 이미지 분석 시스템, 허프 프로세싱을 위한 방법 및 이 방법을 실행하기 위한 컴퓨터 프로그램에 관한 것이다.
예를 들어, 2D 이미지 분석 툴들 또는 3D 이미지 분석기들과 같은 다양한 이미지 인식 시스템들 또는 이미지 평가 시스템들은 아래에서 설명되는 바와 같이, 허프 변환에 기초할 수 있다.
허프 프로세서들은 허프 변환의 실행을 위해 기능하고, 허프 변환을 이용하여, 직선들 또는 원들과 같은 기하학적 패턴들 또는 이러한 기하학적 패턴들의 오직 세그먼트들이 또한 인식될 수 있다. 인식 동안, 이것은 통상적으로 그레디언트 이미지들 또는 단색 이미지들 또는 2진 엣지 이미지들로부터 발산된다. 허프 변환을 이용하여, 2차원 초기 이미지의 다차원 누산기 공간으로의 전사가 발생하고, 이 공간은 또한 허프 공간으로 지칭된다. 이 공간에서, 탐색된 구조는 파라미터 이미지로 표현되거나 또는 허프 공간은 파라미터들에 걸쳐 스트레칭된다. 검출되는 구조의 복잡성에 따라, 허프 공간은 복수의 차원들을 갖는다. 따라서, 허프 공간은 통상적으로, 인식을 위해 2개의 차원들(직선 상에서 x축과 법선 사이의 각도 및 원점으로부터 풋 포인트 끝까지의 거리, 헤세의 법선형태 참조)을 포함하고; 원들의 인식을 위한 허프 공간에 관해서는 통상적으로 3개의 차원들(2개는 원의 중점에 대한 위치 좌표들이고, 하나는 원의 반경)이 이용가능한 한편, 타원들의 인식을 위한 허프 공간은 통상적으로 5개의 차원들(2개는 타원의 중점의 위치 좌표들이고, 2개의 타원의 직경이고, 하나는 기울기 각도)을 포함한다. 따라서, 허프 변환은, 프로세싱되는 이미지가 n-차원 허프 공간으로 전사된다는 점을 특징으로 한다. 탐색되는 기하학적 피쳐(feature)들은 또한 허프 피쳐들로 지칭될 수 있다. 이들은, 허프 공간(또한 누산기 공간으로 지칭될 수 있음)에서 이들의 주파수 분포에 따라 인식가능하다.
허프 변환은, 허프 변환 알고리즘을 이용하여 기하학적 구조들을 효율적으로 그리고 신뢰가능하게 인식하기 위한 기반을 구성한다. 실제로, 예를 들어, 동공 또는 홍채에 관한 것과 같은 타원 또는 타원 형태 또는 눈의 다른 별개의 구조들(예를 들어, 눈꺼풀들)의 검출은 허프 변환에 의한 중요한 적용예이지만, 허프 변환 알고리즘들의 실행은 계산하기에 매우 복잡함을 주목해야 한다. 이것은, 허프 변환 알고리즘들의 실시간 능력이 제한된다는 사실을 초래한다. 이로부터 초래되는 추가적인 단점은, 허프 변환 알고리즘의 실시예가 통상적으로 특정한 허프 프로세서들 또는 일반적으로 매우 효율적인 프로세서들을 전제로 하여, 단순한 및/또는 저렴한 프로세서들 뿐만 아니라 FPGA들(필드 프로그래밍가능 게이트 어레이들, 프로그래밍가능 로직 스위치 엘리먼트들을 갖는 통합된 스위치)을 이용한 허프 인식 알고리즘의 구현이 곤란하거나 심지어 불가능해진다는 점이다.
성능에 관한 개선들은, 예를 들어, DE 10 2005 047 160 B4의 특허 명세서에 설명되는 것과 같은 소위 병렬적 허프 변환에 의해 달성되었다. 그러나, 이러한 병렬적 허프 변환의 경우, 이미지 좌표에 관해, 탐색된 구조 또는 추가적인 구조 피쳐들에 일치하는 측정치가 아닌 오직 2진 결과만이 검출될 수 있다. 또한, 진행 동작 동안 변환 코어의 유연한 조절이 가능하지 않아서, 동적 이미지 컨텐츠(예를 들어, 작고 큰 동공들)에 관한 적합성을 제한한다. 따라서, 변환 코어가 재구성가능하지 않아서, 진행 동작 동안 다른 구조들이 인식될 수 없다.
따라서, 개선된 개념에 대한 요구가 존재한다.
본 발명의 목적은, 효율적이고 견고한 허프 변환을 실시간으로 허용하는, 유연하게 구현가능한 개념을 생성하는 것이다.
이 목적은 독립항들에 의해 해결된다. 추가적인 실시예들은 종속항들에 정의된다.
본 발명의 실시예들은, 프리-프로세서 및 허프 변환 유닛을 갖는 허프 프로세서를 생성한다. 프리-프로세서는, 하나의 이미지를 각각 포함하는 복수의 샘플들을 수신하고, 각각의 샘플을 회전시키고 그리고/또는 반사시키고, 각각의 샘플의 이미지의 복수의 버전들을 출력하도록 구성된다. 허프 변환 유닛은, 복수의 버전들에 기초하여, 복수의 샘플들에서 미리 결정된 탐색된 패턴을 수집하도록 구성된다. 허프 변환 유닛은, 탐색된 패턴에 따라 조절가능한, 탐색된 패턴에 의존하는 특성을 포함한다.
본 발명에 내재된 이해는, 허프 변환 유닛을 갖는 허프 프로세서를 이용하여, 탐색된 패턴에 따라, 예를 들어, 지연 필터의 필터 특징 또는 PC 기반 (고속) 2D 상관의 특성과 같은 조절가능한 특성을 포함하는 허프 피쳐들의 개선된 계산이 허용된다는 것이다. 예를 들어, 지연 필터의 지연 엘리먼트들의 각각의 결합에 대해, 특정 탐색 패턴 또는 탐색된 피쳐가 할당될 수 있다. 구체적으로, 지연 필터의 모든 구성은 특정 탐색 패턴 또는 곡선 어레이의 몇몇 특성들을 검출하고, 따라서, 이에 의해, 모든 열(column) 양은, 곡선 어레이의 구체적인 특성에 대한 특정 패턴을 표현한다. 이로써, 탐색 패턴 또는 곡선 어레이들을 변경하기 위해, 특성은 동적이 되어, 즉, 진행중인 허프 변환 동안 조절가능해진다. 구현의 타당성에 관해, 허프 프로세서를 2개의 기능 유닛들, 즉, 하나의 프리-프로세서 및 하나의 허프 변환 유닛으로 분할하는 것이 바람직하다. 프리-프로세서는 패턴들의 탐색을 실행하고, 프리-프로세싱은, 예를 들어, 패턴이 인식되는 이미지의 반사 및/또는 회전을 포함할 수 있다. 프리-프로세서에 의해 출력되는 이러한 상이한 버전들은 허프 변환 유닛에 출력되고, 그 다음, 허프 변환 유닛은, 하나 이상의 탐색된 패턴들을 탐색할 수 있는데, 예를 들어, 제 1 버전의 직선을 증가시키고, 제 2 버전의 직선을 감소시켜, 동일한 탐색 패턴이 적용된다.
이 때, 허프 코어로 또한 지칭되는 필터 코어는 또한, 바람직한 실시예들에 따라, 복수의 상이한 패턴들(예를 들어, 직선/직선 세그먼트, 타원 세그먼트, 완전한 타원, 원 및/또는 직선 또는 타원의 세그먼트, 원 또는 직선)을 검출하기 위해, 각각의 라인에 대한 각각 하나의 스위칭가능한 지연 엘리먼트를 갖는 복수의 열들을 포함할 수 있음을 주목해야 한다. 이러한 복수의 열들에 의해, 패턴들의 상이한 특성들이 검출될 수 있고, 원 세그먼트들, 예를 들어, 상이한 곡선들에 관해, 그리고 직선에 관해 상이한 증가들이 디스플레이될 수 있다. 열 내의 개별적인 지연 엘리먼트들에 대한 양이 최대이거나 미리 결정된 임계치를 초과하면, 미리 결정된 패턴이, 예를 들어, 인식가능하다.
추가적인 실시예들에 따르면, 개별적인 지연 엘리먼트들의 스위칭으로 인해, 필터 특성의 조절이 발생한다. 허프 코어의 진행중인 동작 동안 이러한 스위칭을 수행하기 위해, 예를 들어, 멀티플렉서가 보조할 수 있다.
추가적인 실시예들에 따르면, 프리-프로세서는, 이미지를 약 360°/n만큼 회전시키고 이미지의 n개의 버전들을 몇몇 허프 코어들에 병렬로 또는 하나의 허프 코어에 직렬로 출력하도록 구성되거나, 또는 이미지를 약 360°/n만큼 회전시키고, 그 다음 그 버전들을 반사하고, 그 후 회전되고 반사된 버전들을 출력하도록 구성될 수 있다. 상이한 패턴들의 방향에 동일한 허프 프로세싱의 일부가 업스트림에 있다는 사실로 인해, 성능이 증가된다. 이것은, 또한 공통 프로세서들의 구현 동안 또는 특히 FPGA들 상에서 자원 소모를 동시에 최소화하는 실시간 능력을 허용한다. 따라서, 허프 프로세서는, 몇몇 샘플들에 대해 앞서 설명된 프로세싱을 차례로 수행하기 위한 FPGA 아키텍쳐에 의해 구현된다.
추가적인 실시예들에 따르면, 허프 변환 유닛은, 검출 결과를, 예를 들어, (변환된 이미지의 이미지 좌표들에 비교된 x-, y- 좌표에서) 위치, 인식된 피쳐의 크기(또는 직경) 또는 피쳐의 가능한 기울기와 같은, 수집된 패턴들에 대한 정보를 포함하는 다차원 허프 공간의 형태로 출력하도록 구성된다. 추가로, 탐색된 구조와의 일치에 대한 측정이 또한 출력될 수 있다.
추가적인 실시예들에 따르면, 소위 비최대 억제가 이용되고, 이는, 미리 정의된 또는 동적으로 조절되는 임계치들을 이용하여 다차원 허프 공간에서 로컬 최대값을 추출한다. 따라서, 허프 피쳐가 로컬 최대값이고 임계치들을 초과하면, 이는 추출기에 의해 추출된다.
추가적인 실시예들에 따르면, 허프 프로세서는 업스트림 프로세싱 유닛에 접속될 수 있고, 업스트림 프로세싱 유닛은, 예를 들어, 조절가능한 지연 시간을 제어하기 위한 수단 또는 허프 변환 유닛의 지연 엘리먼트들을 포함한다.
추가적인 실시예들에 따르면, 허프 프로세서는, 이미지 분석 시스템의 일부일 수 있고, 이에 따라, 앞서 언급된 프로세싱 유닛은, 검출된 패턴을 분석하고, 분석 결과로서, 하나의 패턴의 또는 몇몇 미리 정의된 패턴들의 기하구조를 설명하는 기하구조 파라미터를 출력하도록 구성된다.
또한, 추가적인 실시예들에 따르면, 프로세싱 유닛은, 선택적 적응형 데이터 프로세서를 포함할 수 있고, 이는, 몇몇 샘플들에 대해 허프 공간(예를 들어, 타원의 위치)에 의해 계산된 파라미터의 평활화를 수행하도록 구성된다. 그에 따라, 적절하지 않은 값은, 예를 들어, 이전 값에 기초하는 다른 값으로 교체된다.
추가적인 실시예는, 입체 카메라 어셈블리의 2개의 카메라들의 2개의 이미지 파일들이 동시에 프로세싱될 수 있도록, 2개의 허프 프로세서들에 의한 2개의 허프 경로들을 포함하는 추가적인 이미지 분석 시스템에 관한 것이다. 이를 위해, 이미지 분석 시스템은 또한 3D 이미지 분석기를 포함할 수 있고, 3D 이미지 분석기는, 오브젝트의 위치 및 정렬(시점)을 계산하도록 구성된다.
추가적인 실시예들은, 복수의 샘플들의 프리-프로세싱 및 허프 변환 유닛을 이용한 미리 결정된 패턴의 수집의 단계들을 갖고, 그에 따라 허프 변환 유닛이 조절가능한 필터 특성을 갖는 필터를 포함하는 허프 프로세싱을 위한 방법에 관한 것이다.
본 발명의 실시예들은 후속적으로, 첨부된 도면들에 기초하여 예시된다. 도면에서
도 1은, 일 실시예에 따른 프리-프로세서 및 허프 변환 유닛을 갖는 허프 프로세서의 개략적 블록도이다.
도 2a는, 일 실시예에 따른 프리-프로세서의 개략적 블록도이다.
도 2b는, 직선들(섹션들)의 검출을 위한 허프 코어들의 개략적 예시이다.
도 3a는, 일 실시예에 따른 허프 변환 유닛의 가능한 구현의 개략적 블록도이다.
도 3b는, 일 실시예에 따른 감속 매트릭스의 단일 셀이다.
도 4a 내지 도 4d는, 일 실시예에 따른 허프 변환 유닛의 추가적인 구현의 개략적 블록도이다.
도 5a는, 2개의 이미지 프로세서들 및 포스트-프로세싱 유닛을 갖고, 그에 따라 이미지 프로세서들이 일 실시예에 따른 하나의 허프 프로세서를 포함하는 입체 카메라 어셈블리의 개략적 블록도이다.
도 5b는, 도 5a의 유닛에 대해 실현가능하고, 모노스코픽의 경우 시점 검출을 설명하기 위한 시점 검출의 예시에 대한 눈의 예시적인 사진이다.
도 6 내지 도 7은, 추가적인 실시예들 및/또는 양상들의 설명을 위한 추가적인 예시들이다.
도 8a 내지 도 8e는, 광학 시스템들의 개략적 예시들이다.
도 9a 내지 도 9i는, 허프 변환 유닛에 대한 배경 지식의 설명을 위한 추가적인 예시들이다.
도 1은, 일 실시예에 따른 프리-프로세서 및 허프 변환 유닛을 갖는 허프 프로세서의 개략적 블록도이다.
도 2a는, 일 실시예에 따른 프리-프로세서의 개략적 블록도이다.
도 2b는, 직선들(섹션들)의 검출을 위한 허프 코어들의 개략적 예시이다.
도 3a는, 일 실시예에 따른 허프 변환 유닛의 가능한 구현의 개략적 블록도이다.
도 3b는, 일 실시예에 따른 감속 매트릭스의 단일 셀이다.
도 4a 내지 도 4d는, 일 실시예에 따른 허프 변환 유닛의 추가적인 구현의 개략적 블록도이다.
도 5a는, 2개의 이미지 프로세서들 및 포스트-프로세싱 유닛을 갖고, 그에 따라 이미지 프로세서들이 일 실시예에 따른 하나의 허프 프로세서를 포함하는 입체 카메라 어셈블리의 개략적 블록도이다.
도 5b는, 도 5a의 유닛에 대해 실현가능하고, 모노스코픽의 경우 시점 검출을 설명하기 위한 시점 검출의 예시에 대한 눈의 예시적인 사진이다.
도 6 내지 도 7은, 추가적인 실시예들 및/또는 양상들의 설명을 위한 추가적인 예시들이다.
도 8a 내지 도 8e는, 광학 시스템들의 개략적 예시들이다.
도 9a 내지 도 9i는, 허프 변환 유닛에 대한 배경 지식의 설명을 위한 추가적인 예시들이다.
아래에서, 본 발명의 실시예들은 도면들을 이용하여 상세히 설명된다. 동일한 엘리먼트들에는 동일한 참조 부호들이 제공되어, 이들의 설명은 서로 적용가능하고 그리고/또는 교환가능하다.
도 1은, 프리-프로세서(102) 및 허프 변환 유닛(104)을 갖는 허프 프로세서(100)를 도시한다. 프리-프로세서(102)는, 제 1 신호 프로세싱 스테이지를 구성할 수 있고, 허프 변환 유닛(104)에 정보적으로 링크된다. 허프 변환 유닛(104)은 지연 필터(106)를 갖고, 지연 필터(106)는, 적어도 하나의, 그러나 바람직하게는 복수의 지연 엘리먼트들(108a, 108b, 108c, 110a, 110b 및 110c)을 포함할 수 있다. 지연 필터(106)의 지연 엘리먼트들(108a 내지 108c 및 110a 내지 110c)은 통상적으로 매트릭스로 배열되고, 따라서, 열들(108 및 110) 및 라인들 a 내지 c로 배열되고, 시그널링은 서로 링크된다. 도 1의 실시예에 따르면, 지연 엘리먼트들(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° 회전만을 수행하는 것이 매우 효율적일 수 있다. 이러한 하위-양상들은 도 2를 참조하여 처리된다. 게다가, 이미지(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)로 인해, 병렬적 프로세싱 또는 소위 병렬적 허프 변환이 가능하기 때문이다.
도 2는, 프레임들(112a, 112b 및 112c)을 갖는 비디오 데이터 스트림(112)의 프리-프로세싱을 서빙하는 프리-프로세서(102)를 도시한다. 프리-프로세서(102)는, 샘플들(112)을 2진 엣지 이미지들로서 또는 심지어 그레디언트 이미지들로서 수신하고, 이에 기초하여 회전(114) 및 반사(116)를 수행하여, 4개의 번환들(112a, 112a', 112a'' 및 112a''')을 획득하도록 구성된다. 이에 대한 배경은, 통상적으로, 허프 변환 유닛에 의해 수행되는 병렬적 허프 변환은, 이미지(112a)의 2개 또는 4개의 각각의 프리-프로세싱된, 예를 들어, 약 90°만큼 쉬프트된 버전들에 기초한다. 도 2a에 도시된 바와 같이, 초기에, 2개의 버전들(112a 및 112a')이 수평으로(112a에서 112a''로 및 112a'에서 112a'''로 참조) 반사되기 전에 90° 회전이 (112a에서 112a'로) 발생한다. 반사(116) 및/또는 회전(114)을 수행하기 위해, 프리-프로세서는, 대응하는 실시예들에서, 수신된 이미지 데이터(112)의 충전을 서빙하는 내부 또는 외부 스토리지를 갖는다.
프리-프로세서(102)의 회전(114) 및/또는 반사(116)의 프로세싱은, 특히 도 2b를 참조하여 설명되는 바와 같이, 다운스트림 허프 변환, 병렬적 허프 코어들의 수(병렬화 정도) 및 이의 구성에 의존한다. 따라서, 프리-프로세서(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에서 그레이-값 이미지(초기 이미지)가 회전될 수 있다.
도 2b는, 예를 들어, 직선 또는 직선 섹션을 인식하기 위해 구성되는 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)에 의해 프로세싱된 데이터 스트림들의 평가는 열 단위로 발생한다. 이를 위해, 로컬 양의 최대값을 검출하기 위해 열 단위로 합산되고, 이는, 인식되는 탐색된 구조를 디스플레이한다. 열(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)에 의해 출력된다.
포스트-프로세싱 유닛은, 예를 들어 임베딩된 프로세서로서 실현될 수 있고, 그의 애플리케이션에 따라, 아래에서 예시적으로 설명되는 상이한 서브-유닛들을 포함할 수 있다. 포스트-프로세싱 유닛(18)은, 허프 피쳐 포스트-기하구조-변환기(202)를 포함할 수 있다. 이러한 기하구조 변환기(202)는, 허프 피쳐 추출기에 의해 출력되는 하나 이상의 미리 정의된 탐색된 패턴들을 분석하고, 파라미터들을 설명하는 기하구조를 출력하도록 구성된다. 따라서, 기하구조 변환기(202)는, 예를 들어, 제 1 직경, 제 2 직경, 시프팅 및 타원(동공) 또는 원에 관한 중점의 위치와 같은, 예를 들어, 검출된 허프 피쳐 기하구조 파라미터들에 기초하여 출력하도록 구성될 수 있다. 바람직한 실시예에 따르면, 기하구조 변환기(202)는 3개 내지 4개의 허프 피쳐들(예를 들어, 곡선들)을 이용하여 동공을 검출 및 선택하도록 기능한다. 따라서, 탐색된 구조 또는 허프 특징들과의 일치도, 검출된 허프 피쳐들 또는 미리 결정된 패턴의 곡선, 허프 피쳐들의 위치 및 배향과 같은 기준이 포함된다. 선택된 허프 피쳐 결합들이 배열되어, 주로 획득된 허프 피쳐들의 양에 따른, 그리고 제 2 라인에서 탐색된 구조와의 일치도에 따른 배열이 발생한다. 배열 이후, 이 때의 허프 피쳐 결합이 선택되고, 그로부터 타원이 피팅되고, 이는, 카메라 이미지 내에서 아마도 동공을 표현할 것이다.
또한, 포스트-프로세싱 유닛(18)은, 이미지 프로세서(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 좌표로부터, 카메라들(10a 및 10b) 둘 모두에 대해, 광선들이 계산되고, 이는, 3D 카메라 모델을 이용하여, 특히 광학 파라미터들의 고려 하에, 센서 상에 2D 포인트로서 3D 포인트를 디스플레이한다. 서로 최소 거리를 갖는 2개의 직선들의 포인트(이상적인 경우, 직선들의 교차부)는, 탐색된 3D 포인트의 위치인 것으로 가정된다. 이러한 3D 위치는, 모델 파라미터들과 관련하여 전달되는 2D 좌표의 정확도를 설명하는 에러 측정치와 함께, 결과로서 출력되는 교차부(18a)를 통해 또는 시선 방향 계산기(408)에 송신된다.
3D 공간 내의 위치에 기초하여, 시선 방향 계산기(408)는, 교정 없이 그리고 눈과 카메라 시스템 사이의 거리에 대한 인식 없이, 동공의 2개의 타원 형상 투사들로부터 카메라 센서들로의 시선 방향을 결정할 수 있다. 이를 위해, 시선 방향 계산기(408)는, 이미지 센서의 3D 위치 파라미터들 이외에, 타원 파라미터를 이용하고, 이는, 위치 계산기(404)를 이용하여 계산된 위치 및 기하구조 분석기(202)를 이용하여 결정된다. 동공의 중점의 3D 위치 및 이미지 센서들의 위치로부터, 실제 카메라 유닛들의 회전에 의해, 가상 카메라 유닛들이 계산되고, 이의 광학 축은 3D 동공 중점을 통과한다. 후속적으로, 각각 실제 센서들 상에 동공의 투사들로부터, 2개의 가상 타원들이 발생하도록, 가상 센서들 상에 동공의 투사들이 계산된다. 가상 타원의 파라미터들로부터, 각각의 가상 센서 평면에 대해 임의적으로 평행한 평면 상에 눈의 2개의 시점이 계산될 수 있다. 4개의 시점들 및 3D 동공 중점들을 이용하여, 4개의 시선 방향 벡터들이 계산될 수 있고, 따라서 각각 카메라마다 2개의 벡터들이 계산될 수 있다. 이러한 4개의 가능한 시선 방향 벡터들로부터, 항상, 하나의 카메라의 정확히 하나의 벡터가 다른 카메라의 하나와 거의 일치한다. 동일한 벡터들 둘 모두는, 눈의 탐색된 시선 방향을 표시하고, 그 다음, 이것은 교차부(18a)를 통해 시선 방향 계산기(404)에 의해 출력된다.
이러한 3D 계산의 특정한 이점은, 동공 크기 및 3D 시선 방향의 3D 눈 위치의 무접촉 및 완전히 교정없는 결정이, 카메라를 향상 눈의 위치에 대한 정보에 의존하지 않고 가능하다는 점이다. 3D 공간 모델의 고려 하에서 3D 눈 위치 및 3D 게이트 방향의 분석적 결정은 임의의 수의 카메라들(1보다 큼) 및 3D 공간에서 임의적 카메라 위치를 가능하게 한다. 동시의 높은 프레임 레이트를 갖는 짧은 레이턴시 시간은, 설명된 시스템(1000)의 실시간 능력을 가능하게 한다. 게다가, 소위 시간 영역들이 또한 고정되어, 연속적인 결과들 사이의 시간 차이들은 일정하다.
대안적인 변화예에 따르면, 도 5를 참조하여 아래에서 설명되는 바와 같이 시선 방향 결정을 수행하는 것이 또한 가능하다.
교정없는 눈-추적을 위한 방법을 포함하는 "3D 이미지 분석기"에 관한 이전 설명에서, 지금까지는, 상이한 관점들로부터 적어도 2개의 카메라 이미지들이 요구되었다. 시선 방향의 계산에 관해, 카메라 이미지마다 정확하게 2개의 가능한 시선 방향 벡터들이 결정되는 위치가 존재하며, 따라서 각각의 제 2 벡터는, 카메라와 동공 중점 사이의 교차 라인에서 제 1 벡터의 반사에 대응한다. 다른 카메라 이미지로부터 얻어지는 벡터들 둘 모두로부터, 정확히 하나의 벡터는 제 1 카메라 이미지로부터 계산된 벡터에 거의 대응한다. 이러한 대응하는 벡터들은, 결정되는 시선 방향을 표시한다.
또한 카메라를 이용하여 교정없는 눈-추적을 수행할 수 있기 위해, 카메라 이미지로부터 결정되는 2개의 가능한 시선 방향 벡터들 (아래에서 "v1" 및 "v2")로부터 실제 시선 방향 벡터(아래에서 "vb")가 선택되어야 한다.
이러한 프로세스는 도 5b를 참조하여 설명된다. 도 5b는, 동공 및 2개의 가능한 시선 방향들 v1 및 v2를 갖는 눈동자(녹색 프레임)의 가시적 부분을 도시한다.
시선 방향 "vb"를 선택하기 위해, 몇몇 가능성들이 존재하고, 이들은, 실제 시선 방향 벡터를 선택하기 위해 개별적으로 또는 결합되어 이용될 수 있다. 이러한 가능성들 중 일부(나열을 최종적이 아님)가 아래에서 설명되며, v1 및 v2(도 5a 참조)는 이러한 선택 시점에 이미 결정된 것으로 가정된다.
따라서, 제 1 가능성(홍채 주위의 백색 피부(dermis))이 카메라 이미지에 발생할 수 있다. (동공 중점에서 시작하며 무한하게 긴) 2개의 빔들이 정의되며, 하나는 v1 방향이고 하나는 v2 방향이다. 빔들 둘 모두는 눈의 카메라 이미지에 투사되고, 카메라 이미지에서, 각각 동공 중점으로부터 이미지 엣지까지 걸쳐있다. 공막(sclera)에 속하는 더 적은 픽셀을 왜곡하는 빔은 실제 시선 방향 벡터 vb에 속한다. 공막의 픽셀은, 인접한 홍채의 픽셀들로부터 및 눈꺼풀들의 픽셀들로부터 공막의 그레이 값만큼 상이하다. 이러한 방법은, 캡쳐된 눈에 속하는 면이 카메라로부터 너무 멀리 벗어나면(따라서, 카메라의 광학 축과 대면 평면 상에 수직인 스탠딩 벡터 사이의 각이 너무 커지면) 한계에 도달한다.
제 2 가능성에 따르면, 동공 중점의 위치의 평가는 눈 개방 동안 발생할 수 있다. 눈동자의 가시적 부분 내의 또는 눈 개방 동안 동공 중점의 위치는, 실제 시선 방향 벡터의 선택에 이용될 수 있다. 그에 대한 하나의 가능성은 (동공 중점에서 시작하며 무한하게 긴) 2개의 빔들을 정의하는 것이고, 하나는 v1 방향이고 하나는 v2 방향이다. 빔들 둘 모두는 눈의 카메라 이미지에 투사되고, 카메라 이미지에서, 각각 동공 중점으로부터 이미지 엣지까지 걸쳐있다. 카메라 이미지의 빔들 둘 모두를 따라, 각각 동공 중점과 눈 개방(도 5b에서 녹색 마킹됨)의 엣지 사이의 거리가 결정된다. 더 짧은 거리가 발생하는 빔이 실제 시선 방향 벡터에 속한다. 이러한 방법은, 캡쳐된 눈에 속하는 면이 카메라로부터 너무 멀리 벗어나면(따라서, 카메라의 광학 축과 대면 평면 상에 수직인 스탠딩 벡터 사이의 각이 너무 커지면) 한계에 도달한다.
제 3 가능성에 따르면, 동공 중점의 위치의 평가는 기준 동공 중점을 향해 발생할 수 있다. 카메라 이미지에서 결정되는 눈동자의 가시적 부분 내의 또는 눈 개방 동안 동공 중점의 위치는, 실제 시선 방향 벡터를 선택하기 위해 기준 동공 중점과 함께 이용될 수 있다. 그에 대한 하나의 가능성은 (동공 중점에서 시작하며 무한하게 긴) 2개의 빔들을 정의하는 것이고, 하나는 v1 방향이고 하나는 v2 방향이다. 빔들 둘 모두는 눈의 카메라 이미지에 투사되고, 카메라 이미지에서, 각각 동공 중점으로부터 이미지의 엣지까지 걸쳐있다. 눈 개방 동안 기준 동공 중점은, 눈이, 이미지 기록을 위해 이용되는 카메라 센서 중심의 방향을 직접 향하면 동공 중점에 대응한다. 이미지에서 기준 동공 중점까지 최소 거리를 갖는 카메라 이미지로 투사된 빔은 실제 시선 방향 벡터에 속한다. 기준 동공 중점을 결정하기 위해, 몇몇 가능성들이 존재하고, 이들 중 일부가 아래에서 설명된다:
가능성 1(특수한 적용의 경우): 기준 동공 중점은 결정된 동공 중점으로부터 발생하고, 이 경우, 눈은 카메라 센서 중심의 방향을 직접 향한다. 이것은, 시각적 센서 평면(시선 방향 계산에 관한 설명 참조) 상의 동공 윤곽이 원을 특징으로 하는 경우 주어진다.
가능성 2(일반적인 적용의 경우): 기준 동공 중점의 위치에 대한 대략적 추정치로서, 눈 개방의 표면의 초점이 이용될 수 있다. 이러한 추정 방법은, 면이 놓인 평면이 카메라의 센서 평면에 평행하면 한계에 도달한다. 이러한 제한은, 카메라 센서 평면을 향한 대면하는 평면의 기울기가 (예를 들어, 헤드 위치 및 정렬에 대해 이전에 수행된 결정에 의해) 알려지고, 추정된 기준 동공 중점의 위치에 대한 정정을 위해 이러한 기울기가 이용되면 보상될 수 있다.
가능성 3(일반적 적용의 경우): 눈 중점의 3D 위치가 이용가능하면, 3D 눈 중점과 가상 센서 중점 사이의 직선 뿐만 아니라 눈동자의 표면과 그 직선의 교차부가 결정될 수 있다. 기준 동공 중점은, 카메라 이미지로 변환되는 이러한 교차부의 위치로부터 발생한다.
추가적인 실시예들에 따르면, FPGA들(10a 및 10b) 대신에, ASIC(application specific chip)가 이용될 수 있고, 이는, 특히 매우 낮은 비용으로 많은 양을 실현가능하다. 그러나, 요약하면, 이것은 허프 프로세서(10a 및 10b)의 구현과는 독립적으로 달성될 수 있고, 매우 효율적인 프로세싱으로 인한 낮은 에너지 소모 및 연관된 낮은 내부 클럭 요건이 달성될 수 있다.
이러한 특징들에도 불구하고, 여기서 이용되는 허프 프로세서 또는 허프 프로세서 상에서 수행되는 방법은 매우 견고하고 고장에 취약하지 않게 유지된다. 이 때, 도 1에 도시된 바와 같은 허프 프로세서(100)는, 예를 들어, 도 5를 참조하여 제시된 바와 같이 상이한 특징들을 갖는 상이한 결합들에서 이용될 수 있음을 주목해야 한다.
도 1에 따른 허프 프로세서의 애플리케이션들은, 예를 들어, 자동차 섹터에서 운전 보조 시스템들로서 순간적인 졸음 또는 피로 검출기들에 대한 경고 시스템들(또는 일반적으로 보안-관련 인간-머신 인터페이스들)이다. 따라서, 눈들의 평가(예를 들어, 눈의 깜박임 정도에 대한 측정으로서 동공 또는 홍채의 커버링)에 의해 그리고 시점들 및 초점의 고려 하에, 특정한 피로 패턴이 검출될 수 있다.
추가로, 허프 프로세서는, 기술적 디바이스들에 대한 입력 디바이스들 또는 입력 인터페이스들에 대해 이용될 수 있고; 눈 위치 및 시선 방향이 입력 파라미터로서 이용된다. 정밀한 애플리케이션은, 예를 들어, 특정한 포커싱된 영역들의 강조에 의해, 스크린 컨텐츠를 시청하는 경우, 사용자의 지원일 것이다. 이러한 애플리케이션들은, 장애인 보조, 컴퓨터 게임, 시선 방향을 포함함으로써 3D 가상화의 최적화에 관한, 시장 및 미디어 개발에 관한, 또는 안과 진단 및 특정 관심사의 치료들에 관한 분야이다.
앞서 이미 표시된 바와 같이, 앞서 제시된 방법의 구현은 플랫폼에 의존하지 않아서, 앞서 제시된 방법은 또한 예를 들어, PC와 같은 다른 유닛들 상에서 수행될 수 있다. 따라서, 추가적인 실시예는, 프리-프로세서를 이용함으로써 이미지를 각각 갖는 다수의 샘플들을 프로세싱하는 단계들을 갖는 허프 프로세싱을 위한 방법과 관련되며, 각각의 샘플의 이미지는 회전 및/또는 반사되어, 각각의 샘플에 대한 각각의 샘플의 이미지의 다수의 버전들, 및 허프 변환 유닛을 이용함으로써 다수의 버전들에 기초하여 다수의 샘플들에서 미리 결정된 패턴들의 집합이 출력되고, 허프 변환 유닛은, 패턴들의 선택된 미리 결정된 세트에 의존하는 필터 특성을 갖는 지연 필터를 갖는다.
조절가능한 특성과 관련된 상기 설명들에서 필터 특성이 항상 언급될지라도, 이 때 추가적인 실시예들에 따라, 조절가능한 특성은 또한 고속 2D 상관에 관한 포스트-프로세싱 특성(곡선 또는 왜곡 특성)과 관련될 수 있음을 주목해야 한다. 이러한 구현은, 도 4a 내지 도 4d를 참조하여 설명된다.
도 4a는, 고속 2D 상관의 프로세싱 체인(1000)을 도시한다. 2D 상관의 프로세싱 체인은, 적어도, 다수의 2D 폴딩(folding)을 위한 기능 블록(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 이미지 분석기와 관련하여 설명된 것과 같은 교정없는 시선 방향 결정이 또한 이용될 수 있다. 아울러, 이러한 결과들을 안정화하기 위해, 적응형 선택적 데이터 프로세서가 이용될 수 있다.
예를 들어, 코의 위치, 얼굴에서 코뿌리의 위치와 같은 임의적으로 정의된 다른 2D 위치의 결정을 위해, 눈 위치의 결정에 대한 "순간적인 졸음 경고 시스템" 실시예에서 설명된 절차가 또한 이용될 수 있다.
하나의 이미지로부터의 하나의 정보 세트 및 추가적인 정보세트를 이용하는 경우, 이러한 위치는 또한 3D 공간에서 결정될 수 있어서, 추가적인 정보 세트는 추가적인 카메라의 이미지로부터 또는 제 1 카메라 이미지의 오브젝트들 사이의 관계들의 평가에 의해 생성될 수 있다.
일 실시예에 따르면, 초기 이미지의 스테이지에서 허프 프로세서는 카메라 제어를 위한 유닛을 포함할 수 있다.
일부 양상들은 디바이스와 관련하여 설명되었지만, 이러한 양상들은 또한 각각의 방법의 설명을 구성하는 것으로 이해되어, 디바이스의 블록 또는 컴포넌트는 또한 각각의 방법 단계 또는 방법 단계의 특징인 것으로 이해해야 한다. 이와 유사하게, 방법 단계와 관련하여 또는 방법 단계인 것으로 설명된 양상들은 또한, 각각의 디바이스의 각각의 블록 또는 세부사항 또는 특징의 설명을 구성한다. 일부 또는 모든 방법 단계들은, 예를 들어, 프로그래밍가능 컴퓨터 또는 전자 스위치의 마이크로프로세서와 같은 장치에 의해 (하드웨어 장치를 이용함으로써) 수행될 수 있다. 일부 실시예들에 관해, 중요한 방법 단계들 중 일부 또는 더 많은 단계들이 이러한 장치에 의해 수행될 수 있다.
특정한 구현 요건들에 따르면, 본 발명의 실시예들은 하드웨어 또는 소프트웨어로 구현될 수 있다. 구현은, 예를 들어, 플로피 디스크, DVD, 블루레이 디스크, CD, ROM, PROM, EPROM, EEPROM, FLASH 메모리, 하드 디스크 또는 임의의 다른 자기 또는 광학 스토리지와 같은 디지털 저장 매체를 이용함으로써 수행될 수 있고, 디지털 저장 매체 상에는 전자적으로 판독가능한 제어 신호들이 저장되어, 각각의 방법이 수행되는 방식으로 프로그래밍가능 컴퓨터 시스템과 협력한다. 따라서, 디지털 저장 매체는 컴퓨터 판독가능일 수 있다.
따라서, 본 발명에 따른 일부 실시예들은, 본원에서 설명되는 방법들 중 하나가 수행되는 방식으로 프로그래밍가능 컴퓨터 시스템과 협력할 수 있는, 전자적으로 판독가능한 제어 신호들을 갖는 데이터 캐리어를 포함한다.
일반적으로, 본 발명의 실시예들은 프로그램 코드를 갖는 컴퓨터 프로그램 물건으로서 구현될 수 있어서, 프로그램 코드는, 컴퓨터 프로그램 물건이 컴퓨터 상에서 실행되는 경우 본 방법들 중 하나를 수행하는데 효과적이다.
프로그램 코드는 예를 들어, 머신-판독가능 캐리어 상에 저장될 수 있다.
추가적인 실시예들은, 본원에서 설명되는 방법들 중 하나의 실행을 위한 컴퓨터 프로그램을 포함하여, 컴퓨터 프로그램은 머신-판독가능 캐리어 상에 저장된다.
따라서, 달리 말하면, 본 발명에 따른 방법의 일 실시예는, 컴퓨터 프로그램이 컴퓨터 상에서 실행되는 경우, 본원에서 설명되는 방법들 중 하나의 실행을 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서, 본 발명에 따른 방법의 추가적인 실시예는, 본원에서 정의되는 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 구성하는 신호들의 시퀀스 또는 데이터 스트림이다. 예를 들어, 신호들의 시퀀스 또는 데이터 스트림은, 예를 들어, 인터넷을 통해, 데이터 통신 접속을 통해 전송되도록 구성될 수 있다.
추가적인 실시예는, 본원에서 정의되는 방법들 중 하나를 수행하도록 구성 또는 조절되는 프로세싱 유닛, 예를 들어, 컴퓨터 또는 프로그래밍가능한 로직 컴포넌트를 포함한다.
추가적인 실시예는, 본원에서 정의되는 방법 중 하나를 실행하기 위한 컴퓨터 프로그램이 설치되는 컴퓨터를 포함한다.
본 발명에 따른 추가적인 실시예는, 본원에서 정의되는 방법들 중 적어도 하나를 실행하기 위한 컴퓨터 프로그램을 수신자에게 송신하도록 설계되는 디바이스 또는 시스템을 포함한다. 송신은, 예를 들어, 전자적으로 또는 광학적으로 발생할 수 있다. 수신자는, 컴퓨터, 모바일 디바이스, 저장 디바이스 또는 이와 유사한 디바이스일 수 있다. 디바이스 또는 시스템은, 예를 들어, 컴퓨터 프로그램의 수신자에게의 송신을 위한 파일 서버를 포함할 수 있다.
일부 실시예들에 관해, 프로그래밍가능 로직 컴포넌트(예를 들어, 필드 프로그래밍가능 게이트 어레이, FPGA)는, 본원에서 정의되는 방법들의 일부의 또는 모든 기능들을 실행하기 위해 이용될 수 있다. 일부 실시예들에 관해, 필드 프로그래밍가능 게이트 어레이는, 본원에서 정의되는 방법들 중 하나를 실행하기 위해 마이크로프로세서와 협력할 수 있다. 일반적으로, 일부 실시예들에 관해, 방법들은 임의의 하드웨어 디바이스에 의해 실행된다. 하드웨어 디바이스는, 컴퓨터 프로세서(CPU)와 같은 범용으로 적용가능한 하드웨어 또는 예를 들어, ASIC와 같이 방법에 특정적인 하드웨어일 수 있다.
다음으로, 앞서 설명된 발명들 또는 발명들의 양상들이 달리 말해서 2개의 추가적인 관점들로 설명된다.
통합된 눈-추적기
통합된 눈-추적기는 FPGA-최적화된 알고리즘들의 컴파일을 포함하고, 이는, 카메라 라이브 이미지로부터 병렬적 허프 변환을 이용하여 (타원) 피쳐들(허프 피쳐들)을 추출하는데 적합하다. 그 다음, 추출된 피쳐들을 평가함으로써, 동공 타원이 결정될 수 있다. 서로에게 알려진 위치 및 정렬을 갖는 몇몇 카메라들을 이용하는 경우, 동공 중점의 3D 위치 뿐만 아니라 3D 시선 방향 및 동공 직경이 결정될 수 있다. 계산을 위해, 카메라 이미지들에서 타원의 위치 및 형태가 참조된다. 각각의 사용자에 대한 시스템의 교정 뿐만 아니라 카메라들과 분석된 눈 사이의 거리에 대한 정보 또한 요구되지 않는다.
이용되는 이미지 프로세싱 알고리즘들은 특히, 이 알고리즘들이 FPGA(필드 프로그래밍가능 게이트 어레이) 상의 프로세싱에 최적화된다는 점을 특징으로 한다. 알고리즘들은, FPGA에서 일정한 리프레쉬 레이트, 최소 레이턴시 기간들 및 최소 자원 소모에 의한 매우 빠른 이미지 프로세싱을 가능하게 한다. 따라서, 이러한 모듈들은, 작은 구성 체적을 요구하는, 시간-, 레이턴시 및 보안이 중요한 애플리케이션들(예를 들어, 운전 보조 시스템들), 의료 진단 시스템들(예를 들어, 시야계) 뿐만 아니라 인간-머신 인터페이스들(예를 들어, 모바일 디바이스들)에 대한 애플리케이션에 대해 미리 지정된다.
문제점
- 몇몇 (라이브) 카메라 이미지들에서 3D 공간에서 3D 눈 위치들 및 3D 시선 방향들의 견고한 검출 뿐만 아니라 동공 크기의 검출
- 매우 짧은 반응 기간 (또는 프로세싱 시간)
- 작은 구성
- 통합된 솔루션에 의한 (PC와는 독립적인) 자율적 기능
최신 기술(state of the art)
- 눈-추적기 시스템들
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 얼굴 추적 시스템의 개별적인 프로세싱 스테이지들을 도시한다. 다음으로, 모듈들의 상세한 설명이 제시된다.
블록도는 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 마케팅
■ 예를 들어, 머리 및 눈 파라미터들(무엇보다도 위치)을 결정함으로써 광고의 매력의 평가
아래에서, 2개의 예시들을 이용하여, 앞서 설명된 양상들에 관한 추가적인 배경 지식이 개시된다.
이러한 시선 방향 계산에 대한 상세한 계산 예는 아래에서 도 8a 내지 도 8e를 이용하여 설명된다.
동공 중점 계산
이미 설명된 바와 같이, 이미지 센서들(802a 및 802b) 상에 카메라 렌즈들(808a 및 808b)에 의해 원형 동공(806a)을 도시할 때, 타원형 동공 투사가 각각 발생한다(도 8a 참조). 동공의 중심은 센서들(802a 및 802b) 둘 모두 상에 있고, 따라서, 또한 각각의 카메라에서 이미지들은 항상 타원의 중점 EMP K1 및 EMP K2로서 도시된다. 따라서, 이러한 2개의 타원 중점들 EMP K1 및 EMP K2의 입체 배면 투사로 인해, 3D 동공 중점은, 대물 렌즈 모델을 이용하여 결정될 수 있다. 이에 대한 선택적인 요건은, 카메라들 둘 모두로부터 취해진 도시된 장면들이 동일하고 따라서 동공 중점이 동일한 위치에서 수집되도록, 이상적으로 시간 동기화된 사진이다.
초기에, 각각의 카메라에 대해, 타원 중점의 배면 투사 빔 RS가 계산되어야 하고, 빔은, 광학 시스템(도 8a)의 오브젝트 측(H1) 상의 교차부와 오브젝트 사이의 교차 빔을 따라 이동한다.
이러한 배면 투사 빔은 수식 (A1)에 의해 정의된다. 이는, 시작 포인트 RS0 및 표준화된 방향 벡터 로 이루어지고, 이는, 대물 렌즈의 2개의 메인 포인트들 H1 및 H2로부터 뿐만 아니라 센서 평면의 타원 중심 EMP로부터 수식들 (A2) 및 (A3)으로부터 이용되는 대물 렌즈 모델(도 8b)를 도출한다. 이를 위해, 모든 3개의 포인트들(H1, H2 및 EMP)이 눈-추적기 좌표 시스템에서 이용가능해야 한다.
메인 포인트들은, 수식들,
및
에 의해 계산될 수 있다.
대물 렌즈 및 카메라 파라미터들(도 8b)을 직접 형성하고, 여기서 KO는, 카메라 센서 평면의 중점이고, 는 카메라 센서 평면의 법선 벡터이다. 카메라 좌표 시스템에서 3D 타원 중심은, 이전에 결정된 타원 중심 파라미터들 xm 및 ym으로부터 계산될 수 있고, 이들은 방정식
을 이용하여 제공된다.
따라서, Pimage는 카메라 이미지의 픽셀 단위의 해상도이고, Soffset는 센서 상의 위치이고, 여기서, 이미지를 판독하는 것이 시작되고, Sres는 센서의 해상도이고, SPxGr는 센서의 픽셀 크기이다.
탐색된 동공 중점은, 이상적인 경우, 2개의 배면 투사 빔들 RS K1 및 RS K2 의 교차점이다. 그러나, 실제 결정되는 모델 파라미터들 및 타원 중점들에 있어서, 이미 최소 측정 에러들에 의해, 직선들의 어떠한 교차점도 3D 공간에 도출되지 않는다. 교차하지도 않고 평행하지도 않은 이러한 성상도의 2개의 직선들은, 기하학적으로 스큐(skew) 라인들로서 지정된다. 배면 투사의 경우, 2개의 스큐 라인들 각각은 동공 중점을 매우 근접하게 통과하는 것으로 가정될 수 있다. 따라서, 동공 중점은, 2개의 직선들 사이의 라인의 절반 상에서 서로 최단 거리의 위치에 놓인다.
2개의 스큐 라인들 사이의 최단 거리는, 2개의 직선들에 수직인 연결 라인에 의해 표시된다. 배면 투사 빔들 둘 모두 상에서 수직인 스탠딩 라인의 방향 벡터 는 방향 벡터들의 교차 곱(intersection product)으로서 수식 (A4)에 따라 계산될 수 있다.
배면 투사 빔들 사이의 최단 연결 라인의 위치는 수식 (A5)에 의해 정의된다. RS K1 (s) , RS K2 (t) 및 의 이용에 의해, 이로부터 방정식이 도출되고, 그로부터 s, t 및 u가 계산될 수 있다.
배면 투사 빔들 사이의 라인의 절반에 놓인 탐색된 동공 중점 PMP은 결과적으로 s 및 u에 대해 계산된 값들을 이용한 후 수식 (A6)으로부터 얻어진다.
계산된 동공 중점의 정확도에 대한 표시자로서, 추가적으로 배면 투사 빔들 사이의 최단 거리 dRS가 계산될 수 있다. 모델 파라미터들 및 타원 파라미터들이 더 정확할수록, dRS는 더 작다.
계산된 동공 중점은 2개의 파라미터들 중 하나이고, 이는, 눈-추적기에 의해 결정되는 눈의 시선을 결정한다. 아울러, 이는, 다음으로 설명되는 시선 방향 벡터 의 계산을 위해 필요하다.
동공 중점을 계산하기 위한 이러한 방법의 이점은, 카메라들의 눈까지의 거리들이 시스템에서 확고하게 저장될 필요가 없다는 점이다. 이것은, 예를 들어, DE 10 2004 046 617 A1의 특허 명세서에서 설명되는 방법에서 요구된다.
시선 방향 벡터
결정되는 시선 방향 벡터 는, 원형 동공 표면의 법선 벡터에 대응하고, 따라서, 3D 공간에서 특정된 동공의 정렬에 기인한다. 카메라 센서들 상에서 동공의 2개의 타원-형상 투사들 각각에 대해 결정될 수 있는 타원 파라미터로부터, 동공의 위치 및 정렬이 계산될 수 있다. 따라서, 2개의 절반-축의 길이들 뿐만 아니라 투사되는 타원들의 회전 각도들은, 카메라 위치에 대한 동공 및/또는 시선 방향의 정렬에 대한 특성이다.
타원 파라미터들, 및 눈-추적 시스템에 확고하게 저장된 카메라들과 눈 사이의 거리들로부터 시선 방향을 계산하기 위한 하나의 접근법은, 예를 들어, DE 10 2004 046 617 A1의 특허 명세서에서 설명된다. 도 8e에 도시된 바와 같이, 이러한 접근법은 평행한 투사를 가정하고, 따라서, 센서 법선에 의해 정의되는 직선 및 센서에 투사되는 동공의 중점은 동공 중점을 통과한다. 이를 위해, 카메라들의 눈까지의 거리들이 미리 알려지고 눈-추적 시스템에 확고하게 저장될 필요가 있다.
그러나, 실제 오브젝트의 디스플레이 동작을 설명하는 이러한 접근법에서 제시되는 카메라 대물 렌즈의 모델에 있어서, 오브젝트의 이미지 센서로의 원근 투사가 발생한다. 이로 인해, 동공 중점의 계산이 수행될 수 있고, 카메라의 눈까지의 거리들은 미리 알려질 필요가 없고, 이는, 앞서 언급된 특허 명세서에 비해 필수적인 개선들 중 하나를 구성한다. 그러나, 원근 투사로 인해, 센서 상에 디스플레이되는 동공 타원의 형태는, 평행 투사와는 반대일 뿐만 아니라 센서 표면에 대해 동공의 기울기를 도출한다. 마찬가지로, 카메라 대물 렌즈의 광학 축으로부터 동공 중점의 편향 δ는, 도 8b에 도시된 바와 같이, 동공 투사의 형태에 영향을 미치고, 따라서, 그로부터 결정되는 타원 파라미터들에 영향을 미친다.
도 8b의 스케치와는 반대로, 수백 밀리미터를 갖는, 동공과 카메라 사이의 거리는, 2mm 내지 8mm인 동공 반경에 비해 매우 크다. 따라서, 광학 축에 대한 동공의 기울기로 인해 발생하는 이상적인 타원으로부터 동공 투사의 편차는 매우 작고 생략될 수 있다.
시선 방향 벡터 를 계산할 수 있기 위해, 타원 파라미터에 대한 각도 δ의 영향은, 동공 투사의 형태만이 동공의 정렬에 의해 영향받도록, 제거되어야 한다. 이것은, 동공 중점 P MP 가 카메라 시스템의 광학 축에 직접 놓이는 경우 항상 제공된다. 따라서, 각도 δ의 영향은, 가상 카메라 시스템 vK의 센서 상에서 동공 투사를 계산함으로써 제거될 수 있고, 가상 카메라 시스템의 광학 축은, 도 8c에 도시된 바와 같이, 미리 계산된 동공 중점 P MP 를 직접 통과한다.
이러한 가상 카메라 시스템(804')(도 8c의 vK)의 위치 및 정렬은, 원래의 카메라 시스템(804a)(도 8b의 K)의 오브젝트측 메인 포인트 H1을 중심으로 한 회전에 의해 원래의 카메라 시스템(804a)의 파라미터로부터 계산될 수 있다. 따라서, 이것은 동시에, 가상 카메라 시스템(804a')의 오브젝트-측 메인 포인트 vH 1 에 대응한다. 따라서, 도시된 오브젝트들의 교차 빔들의 방향 벡터들은, 원래의 카메라 시스템에서와 동등하게 가상 광학 시스템(808c')의 앞 및 뒤에 있다. 시선 방향 벡터를 결정하는 것에 대한 모든 추가적인 계산들은 눈-추적기 좌표 시스템에서 발생한다.
추가적인 절차의 경우, 눈-추적기 좌표 시스템의 x-축을 중심으로 한 각도(), y-축을 중심으로 한 각도() 및 z-축을 중심으로 한 각도()를 계산하는 것이 요구되고, 이에 대해, 눈-추적기 좌표 시스템의 z-방향의 단위 벡터는, 벡터 를 획득하기 위해 눈-추적기 좌표 시스템의 몇몇 축들을 중심으로 회전되어야 한다. 각도들 , 및 을 중심으로 한 눈-추적기 좌표 시스템의 x-방향의 단위 벡터의 회전 뿐만 아니라 y-방향의 단위 벡터의 회전으로 인해, 벡터들 및 이 계산될 수 있고, 이는, 눈-추적기 좌표 시스템에서 가상 센서의 x- 및 y-축을 표시한다.
가상 카메라 시스템(804a')(도 8c)의 위치를 획득하기 위해, 동시에 이미지 센서의 중점인 좌표 원점 및 위치 벡터는, 동공 중점 P MP 의 교차 빔에 놓이도록 수식 (A9)를 이용하여 계산되어야 한다.
이를 위해 메인 포인트들 사이에서 요구되는 거리 d 뿐만 아니라 메인 평면(2)과 센서 평면 사이의 거리 b는 알려져야 하거나, 예를 들어, 경험적 셋업에 의해 결정되어야 한다.
추가적으로, 이미지측 메인 포인트의 위치는 수식 (A10)으로부터 얻어진다.
가상 센서(804a') 상에서 동공 투사를 계산하기 위해, 원래의 위치에서 센서 상에 미리 초기에 결정된 타원의 엣지 포인트들 가 요구된다. 이것은, 카메라 이미지에서 타원 E의 엣지 포인트들 로부터 얻어지고, 따라서, 도 8d에 대응하여, Ea는 타원의 짧은 절반-축이고, Eb는 타원의 긴 절반-축이고, Exm 및 Eym은 타원의 중점 좌표이고, Ea는 타원의 회전 각도이다. 눈-추적기 좌표 시스템에서 일 포인트 의 위치는, E의 파라미터들, 센서들 S 및 카메라 K의 파라미터들로부터 수식 (A11) 내지 (A14)에 의해 계산될 수 있고, 여기서 ω는 타원 둘레 상에서 도 8d에 따른 엣지 포인트 의 위치를 표시한다.
센서 상에서 타원 엣지 포인트 로서 동공 엣지 포인트를 디스플레이하는 원래의 카메라 시스템의 하나의 교차 빔 KS의 방향은, 가상 센서 상에서 타원 엣지 포인트 와 동일한 동공 엣지 포인트를 디스플레이하는, 가상 카메라 시스템에서 교차 빔 vKS의 방향과 동일하다. 도 8b 및 도 8c의 타원 엣지 포인트들의 교차 빔들은 이러한 양상을 입증한다. 따라서, 2개의 빔들 KS 및 vKS는 동일한 방향 벡터를 갖고, 이는 수식 (A15)로부터 얻어진다. 가상 센서측 교차 빔 vKS의 위치 벡터 vKS 0의 경우, vKS 0 = vH 2 가 항상 적용가능하다.
가상 카메라 vK의 x-y-평면에 대응하는 가상 센서 평면과 가산 교차 빔은 수식 (A16)에서 계산되고, 따라서 s2 및 t2를 풀어서 이러한 교차부의 파라미터가 획득된다. 이에 의해, 가상 카메라의 이미지에서 픽셀 좌표의 타원 엣지 포인트는 수식 (A17)에 의해 계산될 수 있다.
후속적으로, 몇몇 가상 엣지 포인트들 로부터, 가상 타원의 파라미터 vE는 타원 피팅에 의해, 예를 들어, Fitzgibbon 등에 따른 알고리즘인 "direct least square fitting of ellipses"에 의해 계산될 수 있다. 이를 위해, 적어도 6개의 가상 엣지 포인트들 가 요구되고, 이는, 앞서 설명된 과정에서 수식 (A11)의 몇몇 ω를 이용함으로써 계산될 수 있다.
이러한 방식으로 결정된 가상 타원의 형태 vE는 오직 동공의 정렬에만 의존한다. 게다가, 그 중점은, 카메라 법선 에 대응하는 센서 법선과 함께 항상 가상 센서의 중심에 있고, 이것은, 동공 중점 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개의 가능한 시선 방향들 및 는 다음과 같이 결정될 수 있다.
알려진 동공 중점과 타원 중점 vE' MP 사이의 거리 A는,
이다.
이로부터, 수식 A19에 의해 r이 결정될 수 있다.
에서 유사하게 계산된다.
실제 시선 방향을 결정하기 위해, 카메라 1의 가능한 시선 방향들( 뿐만 아니라 ) 및 카메라 2의 가능한 시선 방향들( 뿐만 아니라 )이 요구된다. 이러한 4개의 벡터들로부터, 각각의 카메라의 각각의 하나는 실제 시선 방향을 표시하고, 따라서 이러한 2개의 표준화된 벡터들은 이상적으로 동일하다. 이들을 식별하기 위해, 모든 4개의 가능한 결합들에 대해, 각각 선택된 가능한 시선 방향 벡터들의 차이들이 하나의 카메라의 벡터 및 다른 하나의 카메라의 벡터로부터 형성된다. 최소 차이를 갖는 결합은 탐색된 벡터들을 포함한다. 이것은, 평균화되면, 결정되는 시선 방향 벡터 를 도출한다. 평균화되는 경우, 거의 동시에 캡쳐되는 이미지는, 카메라들 둘 모두가 동일한 동공 위치 뿐만 아니라 동일한 정렬을 수집했고, 따라서 동일한 시선 방향을 수집한 것으로 가정되어야 한다.
추가적으로, 계산된 시선 방향 벡터의 정확도에 대한 정도로서, 실제 시선 방향을 표시하는 2개의 평균화된 벡터들 와 사이의 각도 w diff 가 계산될 수 있다. w diff 가 작을수록, 지금까지의 계산들에 대해 이용된 모델 파라미터들 및 타원 중점들은 더 정확하다.
및
로 계산될 수 있다.
눈의 광학 축 및/또는 동공 법선으로부터의 시선 방향의 시스템적 편차가 고려되어야 하는 경우, 대응하는 각도들이 뷰의 결정된 포인트들 및 에 추가될 수 있다. 그 다음, 이러한 새로운 시선 방향 벡터는, 뷰의 새로운 포인트들 및 및 로부터 수식
을 이용하여 계산되어야 한다.
시선 방향 벡터 가 (수식 A6으로부터 동공 중점 P MP 이외에) 존재하기 때문에, 3D 이미지 분석기에 의해 결정되는 시선(LoS)의 제 2 파라미터가 또한 알려진다. 이것은 하기 수식으로부터 도출가능하다.
앞서 소개된 방법의 구현은 플랫폼에 의존하지 않아서, 앞서 소개된 방법은 예를 들어, PC와 같은 상이한 하드웨어 플랫폼들 상에서 수행될 수 있다.
피쳐 추출 방법의 프로세싱을 위한 방법의 개발
본 후속 실시예들의 목적은, 병렬적 허프 변환에 기초하여, 피쳐 추출을 위한 견고한 방법을 개발하는 것이다. 이를 위해, 허프 코어가 변경되고, 피처 추출을 위한 방법이 제시되며, 이는, 변환의 결과들을 감소시키고, 결과들을 이미지마다 몇몇 "피처 벡터들"로 분해한다. 후속적으로, 새로 개발된 방법은 MATLAB 툴박스에서 구현되고 테스트된다. 마지막으로, 새로운 방법의 FPGA 구현이 제시된다.
직선들 및 원들에 대한 병렬적 허프 변환
병렬적 허프 변환은, 각각의 애플리케이션에 대한 구성 행렬들을 이용하여 구성되어야 하는, 상이한 크기의 허프 코어들을 이용한다. 이러한 구성 행렬들을 설정하기 위한 방법들 및 수학적 콘텍스트들이 다음에 제시된다.
구성 행렬들을 설정하기 위해, 초기에, 이산적 프리젠테이션에서 상이한 허프 코어들에 대해 곡선들의 어레이들을 계산하는 것이 요구된다. 곡선들의 어레이들에 대한 요건들(설정 프로비전들)은 이미 입증되었다. 이러한 설정 프로비전들의 고려 하에, 특히 직선들 및 반원들이 허프 코어들의 구성에 적합하다. 시선 방향 결정의 경우, 반원들(또는 곡선들)에 대한 구성들을 갖는 허프 코어들이 이용된다. 완전성 이유로, 직선들(또는 직선 세그먼트들)에 대한 구성들이 또한 여기서 유도된다. 직선들에 대한 곡선들의 어레이들을 결정하기 위한 수학적 콘텍스트들이 입증된다.
직선들에 대한 곡선들의 어레이들의 계산을 위한 시작점은 (B1)의 선형 직선 방정식이다.
곡선들의 어레이들은 증가 m의 변화에 의해 생성될 수 있다. 이를 위해, 0° 내지 45°의 직선 증가는 동일 크기의 간격들로 분해된다. 간격들의 수는 허프 코어 크기에 의존하고, 허프 코어 라인들의 수에 대응한다. 증가는, 0 내지 core heigt의 변수 Y core 를 통해 조정될 수 있다.
곡선들의 어레이들의 함수 값들은, ((B3)에서 x core 에 의해 교환된) 제어 변수의 변화에 의해 계산되고, 이 값은 0 내지 코어 폭이다.
2D 플롯에서 이산적 입증을 위해, 함수 값은 라운딩되어야 한다. 반원들에 대한 곡선들의 어레이들의 계산은 (Katzmann 2005, p.37-38)에 기원하고, 도 9b에 도시된다.
곡선들의 어레이들의 계산에 대한 시작점은 좌표 포맷에서 원 방정식이다.
x M = 0(y-축 상의 원 중심의 위치)에 있어서, x = x core 이고, 곡선들의 어레이들의 함수 값들에 대한 y로 변환하는 것은 (B5)를 따른다.
y M 및 r이 알려지지 않았기 때문에, 이들은 대체되어야 한다. 이를 위해, 도 9b로부터 (B6) 및 (B7)에서의 수학적 콘텍스트들이 유도될 수 있다.
(B7)을 y M 로 변환하는 것 및 y M 이 항상 음수여야 하는 것(도 9b 참조)에 의해, (B8)이 획득된다.
(B5)에서 (B8)을 이용하면 (B9)가 도출된다.
도 9b로부터, 허프 코어가 허브-센터링되고, 원 좌표 시스템의 y-축에 놓이는 것은 명백해 진다. 변수 x core 는 통상적으로 0부터 corewidth - 1에 걸쳐 있고, 따라서, 에 의해 정정되어야 한다.
그러나, 반경이 누락되었고, 이는 (B7)에서 (B6)을 이용하고, 추가적인 변환에 의해 획득된다.
이미 직선들과 관련된 바와 같이, 이산적 입증에 대한 y-값들은 2D 플롯에서 라운딩되어야 한다. 타입 2의 허프 코어에 대한 곡선들의 어레이들은 수식 (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-좌표 | 에 의해 허프 코어 구조의 높이에 따라 정정됨 짝수번째 라인들에 있어서, 중간 라인은 정확하게 결정될 수 없음 홀수번째 라인들에 있어서, 중심 라인을 획득하기 위해 라운드 업되어야 함 |
열 양 | 탐색된 구조에 대한 등장 확률 (최대 값 = 열의 크기, 높은 값들은 높은 등장 확률을 표현함) |
열 번호 | 연관된 열 번호를 갖는 전체 값에 대해 (반원의 곡선 또는 직선의 증가를 표현함) |
허프 코어 타입 | 타입 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 로 이루어진다. 피쳐 벡터의 단일 엘리먼트들의 상세한 의미 및 값 범위는, 하기 표로부터 유도될 수 있다.
MVx 및 MVy | 초기 이미지의 크기에 대해 각각 걸쳐있는 좌표들 둘 모두 |
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 | 0° |
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 이외에, 좌표들(MVx 및 MVy)에 관해 추가적인 특수한 피쳐가 고려된다(도 9g 참조). 직선들에 관해, 좌표들은 항상 중점을 표현하고, 반원들 또는 곡선들에 관해서는 항상 정점을 표현한다. 이러한 가정으로, y-좌표는 구현된 허프 코어 구조에 대응하여 정정될 수 있고, 변환에 이용된 구성의 크기에 의존하지 않는다(도 9f 참조). 로컬 필터와 유사하게, y-좌표는 수직으로 센터링되는 것으로 표시된다. x-좌표의 경우, 허프 코어 열을 통한 콘텍스트가 설정되고, 이것은 적중을 제공한다(피쳐 벡터에서, 허프 코어 열은 지정 MV KS 로 저장된다). 허프 코어 타입 및 이미지 회전에 따라, 3개의 상이한 경우들에 대한 계산 프로비전들이 또한 표시될 수 있다. 타입 1의 허프 코어의 경우, 이것은 각각 비회전된 및 회전된 초기 이미지에 대한 공식 (B17)을 참조한다. 타입 2의 허프 코어가 이용가능하면, 이것은 이미지 회전에 따라 공식 (B18) 또는 공식 (B19)를 참조해야 한다.
명령 "플로어"에 있어서, 분수 유리수는 라운드 오프된다. FPGA에서, 이는 2진 십진수들의 단순한 커팅에 대응한다. 배향이 결정되고 허프 피쳐들의 좌표들이 정정된 후, 실제 피쳐 추출이 발생할 수 있다.
피쳐 추출의 경우, 비최대 억제 연산자와 결합된 3개의 임계값들이 이용된다. 비최대 억제 연산자는 직선들 및 반원들에 대해 상이하다. 임계값들을 통해, 최소값 및 최대 곡선 강도 가 주어지고, 최소 주파수 가 결정된다. 비최대 억제 연산자는 크기 3x3의 로컬 연산자인 것으로 확인될 수 있다(도 9h 참조). (B23)의 비최대 억제 연산자(nms-연산자)가 충족되고, 공식들 (B20) 내지 (B22)에 따른 임계치들이 초과되면, 반원들(또는 곡선들)에 대한 유효 피쳐는 항상 정확하게 발생한다.
비최대 억제로 인해, 허프 피쳐들은 억제되고, 이것은, 피쳐 벡터의 주파수 공간에서 로컬 최대값을 구성하지 않는다. 이러한 방식으로, 허프 피쳐들이 억제되고, 이것은 탐색된 구조에 기여하지 않고, 포스트-프로세싱에 대해 무관하다. 피쳐 추출은, 미리 유용하게 조절될 수 있는 오직 3개의 임계치들을 통해서만 파라미터화된다. 임계치들의 상세한 설명은 아래의 표로부터 유도될 수 있다.
임계값 | 설명 | Katzmann에 따른 방법의 비교가능한 파라미터 | |
최소 주파수에 대한 임계값, 즉, 아래에 속하도록 허용되지 않는 열 전체 값 | 허프-임계치 | ||
허프 피쳐의 최소 곡선에 대한 임계값. 직선 구성을 갖는 허프 코어들에 있어서, 이 임계치는 허프 코어에 의해 검출되는 각도 영역과 관련된다. | 바닥-라인 | ||
와 유사하지만, 최대값에 대한 것. | 최상부-라인 |
허프 공간으로부터 허프 피쳐들의 추출에 대한 3개의 임계값들의 상세한 설명. Katzmann에 따른 방법에 비교하면, 이 파라미터들은 유사한 함수로 표시된다.
직선들에 관해, 크기 3x3의 비최대 억제 연산자(도 9h 참조)가 마찬가지로 도출될 수 있다. 따라서, 일부 특성들이 고려된다. 곡선들과는 달리, 직선 세그먼트들에 관해 탐색된 구조들은, 2진 엣지 전개를 따른 몇몇 최대값들의 연속적 발생에 따라 검출되지 않는다. 따라서, 비최대 억제는, Canny 엣지 검출 알고리즘에서의 방법에 기초할 수 있다. 허프 코어 타입 및 검출된 각도 영역에 따르면, 3가지 경우들이 구별될 수 있다(상기 표와 함께 도 9i 참조). 구별하는 경우는 회전된 초기 이미지 뿐만 아니라 비회전된 초기 이미지들에 대해서도 유효한데, 이는, 회전된 좌표들의 재변환이 오직 비최대 억제 이후 발생하기 때문이다. 어느 nms-연산자가 이용되는지는, 각각 허프 코어 타입 및 각도 영역에 의존한다. 직선들에 대한 구성을 갖는 허프 코어에 의해 제공되는 각도 영역은 각도 영역 이등분에 의해 분할된다. 각도 영역 이등분은, 허프 코어 열(십진법적으로 굴절됨()로서 표시될 수 있다. 허프 코어 크기에 따른 수학적 콘텍스트는 공식 (B24)에 의해 설명된다. 여기서 허프 피쳐가 놓인 각도 영역은 적중을 전달한 허프 코어 열(MV KS )을 참조하고, 이는 각도 영역 이등분 허프 코어 열에 직접 비교될 수 있다.
연산자가 선택되면, 각각의 nms-연산자에 관한 조건은 곡선들에 대한 비최대 억제와 유사하게 요청될 수 있다(곡식들 (B25) 내지 (B27)). 모든 조건들이 충족되면, 그리고 추가적으로 공식들 (B20) 내지 (B22)에 따른 임계값들이 초과되면, 위치 nms 2,2의 허프 피쳐가 가정될 수 있다.
허프 코어 타입 및 적중이 발생한 각도 영역에 따른 nms-연산자에 대한 판정
피쳐 추출의 완료는 회전된 허프 피쳐들의 x- 및 y-좌표들의 재회전을 형성한다. 포스트-프로세싱의 경우, 이것은 이미지 좌표 시스템에서 다시 이용가능해야 한다. 회전된 초기 이미지가 프로세싱되면, 곡선 타입과 무관하게(직선이든 곡선이든 무관하게) 재변환이 항상 실행된다. 공식들 (B28) 및 (B29)에서, 수학적 콘텍스트가 설명된다. 이미지 폭에 있어서, 비회전된 초기 이미지의 폭이 의도된다.
피쳐 추출을 이용하여, 몇몇 포인트들까지 병렬적 허프 변환의 결과 데이터를 감소시키는 것이 가능하다. 그 다음, 이들은 피쳐 벡터로서 포스트-프로세싱에 전달될 수 있다.
앞서 설명된 실시예들은 오직 본 발명의 원리들의 예시를 구성한다. 본원의 배열들 및 세부사항들의 변형들 및 변화들은 당업자들에게 자명할 것이 이해된다. 따라서, 본 발명은, 오직 후속하는 특허 청구항들의 보호 범위로만 제한되고, 상세한 설명 및 실시예들의 설명을 이용하여 본원에 제시된 특정 세부사항들로 제한되는 것이 아니다.
Claims (36)
- 허프 프로세서(Hough Processor)(100)로서,
이미지를 각각 포함하는 복수의 샘플들(112a, 112b, 1112c)을 수신하고, 각각의 샘플(112a, 112b, 112c)의 이미지를 회전시키고, 또는 각각의 샘플(112a, 112b, 112c)에 대한 각각의 샘플(112a, 112b, 112c)의 이미지의 복수의 버전들(112a', 112a'', 112a''', 112a'''')을 반사 및 출력하도록 구성되는 프리-프로세서(102); 및
상기 복수의 버전들(112a', 112a'', 112a''', 112a'''')에 기초하여, 상기 복수의 샘플들(112a, 112b, 112c) 내에서 미리 결정된 탐색된 패턴을 수집하도록 구성되는 허프 변환 유닛(104)을 포함하고,
상기 탐색된 패턴에 의존하는 상기 허프 변환 유닛(104)의 특성은 조절가능하고,
상기 허프 변환 유닛(104)은 지연 필터(106)를 포함하고, 선택된 탐색된 패턴에 의존하는 상기 지연 필터(106)의 필터 특성은 조절가능하고,
상기 허프 변환 유닛(104)의 상기 지연 필터(106)는, 상기 지연 필터(106)의 필터 특성의 조절을 허용하기 위해, 진행중인 동작 동안 선택적으로 스위칭가능한 하나 이상의 지연 엘리먼트들(108a, 108b, 108c, 110a, 110b, 110c, 142)을 포함하는,
허프 프로세서(100). - 삭제
- 제 1 항에 있어서,
상기 허프 변환 유닛(104)은 픽셀-단위 상관을 결정하도록 구성되는,
허프 프로세서(100). - 제 1 항에 있어서,
상기 프리-프로세서(102)는, 상기 이미지를 360°/n만큼 회전시키고, 회전된 이미지를 반사하여, 샘플(112a, 112b, 112c)마다 상기 이미지의 n개의 버전들(112a', 112a'', 112a''', 112a'''')을 병렬로 출력하거나, 또는
상기 프리-프로세서(102)는, 360°/n만큼 회전된 이미지를 포함하는 버전들(112a', 112a'', 112a''', 112a'''')의 제 1 세트, 및 샘플(112a, 112b, 112c)마다 반사된 이미지 및 반사되고 회전된 이미지를 포함하는 버전들(112a', 112a'', 112a''', 112a'''')의 제 2 세트를 직렬로 출력하도록 구성되는,
허프 프로세서(100). - 제 1 항에 있어서,
상기 허프 변환 유닛(104)은, 미리 결정된 패턴의 세그먼트들을 수집하도록 구성되고,
상기 미리 결정된 패턴은, 적어도 타원, 원, 직선 및 직선과 곡선의 결합을 포함하는 그룹으로부터 얻어지는,
허프 프로세서(100). - 삭제
- 제 1 항에 있어서,
상기 지연 필터(106)는, 미리 결정된 탐색된 패턴마다 복수의 지연 엘리먼트들(108a, 108b, 108c, 110a, 110b, 112c, 142)을 갖는 하나의 열(108, 110, 138, 140)을 포함하는,
허프 프로세서(100). - 제 1 항에 있어서,
상기 지연 필터(106)의 지연 엘리먼트(108a, 108b, 108c, 110a, 110b, 110c, 142)마다의 허프 변환 유닛(104)은, 멀티플렉서(144)를 포함하고, 상기 멀티플렉서(144)에 의해, 각각의 지연 엘리먼트(108a, 108b, 108c, 110a, 110b, 110c, 142)는 상기 필터 특성을 변경하도록 선택적으로 접속가능한,
허프 프로세서(100). - 제 1 항에 있어서,
열마다의 상기 허프 변환 유닛(104)은 양 멤버(amount member)(150)를 포함하고, 상기 양 멤버(150)는, 상기 하나 이상의 지연 엘리먼트들(108a, 108b, 108c, 110a, 110b, 110c, 142)을 이용하여 프로세싱된 신호들을 추가하도록 구성되는,
허프 프로세서(100). - 제 9 항에 있어서,
상기 허프 변환 유닛(104)은, 미리 결정된 탐색된 패턴의 세그먼트들을 수집하고, 미리 결정된 패턴들 중 하나를 향한 최대 일치도(accordance degree)에 대한 결과를 허용하는 열 양을 출력하도록 구성되는,
허프 프로세서(100). - 제 1 항에 있어서,
상기 허프 변환 유닛(104)은, 상기 수집된 패턴의 종류, 상기 수집된 패턴의 일치도, 상기 이미지 내에서 상기 수집된 패턴의 위치, 상기 수집된 패턴 세그먼트들의 크기에 대한 정보를 포함하는 다차원 허프 공간을 출력하도록 구성되는,
허프 프로세서(100). - 제 11 항에 있어서,
상기 허프 변환 유닛(104)은, 상기 다차원 허프 공간에서 식별된 패턴의 위치를 평활화하기 위해 양 필터 또는 최대값 필터를 갖는 필터 프로세스를 포함하는,
허프 프로세서(100). - 제 11 항에 있어서,
상기 허프 변환 유닛(104)은, 상기 허프 공간 내의 하나 이상의 탐색된 패턴 세그먼트들을 허프 피쳐들로서 선택하도록 구성되는 허프 추출기(16)를 포함하고, 상기 선택은, 미리 결정된 임계치들을 갖는 상기 허프 공간의 비최대 억제에 기초하는,
허프 프로세서(100). - 제 1 항에 있어서,
상기 허프 변환 유닛(104)은, 모든 샘플(112a, 112b, 112c)에 대해 하나 이상의 미리 정의된 탐색된 패턴들의 기하구조를 설명하는 복수의 기하구조 파라미터 세트들을 출력하기 위해, 수집된 허프 피쳐들의 분석을 위한 유닛(202)을 포함하는 프로세싱 유닛(18)에 접속되는,
허프 프로세서(100). - 제 14 항에 있어서,
상기 프로세싱 유닛(18)은, 상기 탐색된 패턴의 부정확한 인식 또는 인식의 부존재의 경우, 상기 조절가능한 허프 변환 유닛(104)을 제어하기 위한 유닛(204)을 포함하는,
허프 프로세서(100). - 제 15 항에 있어서,
상기 조절가능한 허프 변환 유닛(104)을 제어하기 위한 유닛(204)은, 현재의 특성에 기초하여 또는 현재의 수집 결과들에 기초하여 동작 동안 상기 특성을 조절하기 위한 제 1 모드 및 구현 동안 상기 특성의 초기 조절을 위한 제 2 모드를 포함하는,
허프 프로세서(100). - 제 1 항에 있어서,
상관은 상기 특성을 이용하여 미리 결정된 템플릿과 이미지 컨텐츠 사이의 상관인,
허프 프로세서(100). - 제 17 항에 있어서,
상관이 각각 결정되는 복수의 템플릿들이 미리 결정되어, 픽셀마다 상기 이미지 컨텐츠와의 일치도가 획득되는,
허프 프로세서(100). - 제 17 항에 있어서,
모든 템플릿은 상기 탐색된 패턴의 특성에 할당되는,
허프 프로세서(100). - 제 17 항에 있어서,
상기 허프 변환 유닛은, 상기 수집된 패턴의 종류, 상기 수집된 패턴의 일치도, 상기 이미지 내에서 상기 수집된 패턴의 위치, 상기 수집된 패턴 세그먼트들의 크기에 대한 정보를 포함하는 다차원 허프 공간을, 픽셀마다 템플릿마다의 일치도에 기초하여 출력하도록 구성되는,
허프 프로세서(100). - 제 1 항에 있어서,
카메라(14a, 14b)와 프리-프로세서(102) 사이에 배열되는 이미지 입력 스테이지(12)를 포함하는,
허프 프로세서(100). - 제 21 항에 있어서,
상기 이미지 입력 스테이지(12)는, 이미지의 세그먼트들 또는 엣지들 또는 그레디언트들의 수집을 위한 유닛(12b)을 포함하는,
허프 프로세서(100). - 제 1 항에 있어서,
상기 허프 프로세서(100)는, 임베딩된 프로세서, 프로그래밍가능 로직 컴포넌트 또는 클라이언트-특정 칩에서 구현되는,
허프 프로세서(100). - 동공을 추적하기 위한 이미지 분석 시스템(1000)으로서,
제 1 카메라(14a)에 대한 제 1 허프 경로 ―상기 제 1 허프 경로(10a)는, 제 1 항에 따른 허프 프로세서(100)를 포함함―; 및
수집된 패턴들을 분석하고, 각각의 샘플(112a, 112b, 112c)에 대한 하나 이상의 미리 정의된 탐색된 패턴들의 기하구조를 설명하는 기하구조 파라미터 세트를 출력하기 위한 유닛(202)을 포함하는 프로세싱 유닛(18)을 갖는,
이미지 분석 시스템(1000). - 제 24 항에 있어서,
상기 프로세싱 유닛은, 값들의 몇몇 세트들을 수신하도록 구성되는 선택적 적응형 데이터 프로세서(300)를 포함하고, 모든 세트가 각각의 샘플(112a, 112b, 112c)에 할당되고,
수신된 세트들에 기초하여 적절한 세트들이 출력되고 부적절한 세트들은 적절한 세트로 대체되도록, 세트들의 평활화를 수행하도록 구성되는 필터 프로세서를 갖는,
이미지 분석 시스템(1000). - 제 24 항에 있어서,
제 1 및 제 2 카메라(14a, 14b)를 포함하는 입체 카메라 어셈블리의 제 2 카메라(14b)에 대한 제 2 허프 경로(10b)를 포함하고,
상기 제 2 허프 경로(10b)는 추가적인 허프 프로세서(100)를 포함하는,
이미지 분석 시스템(1000). - 제 26 항에 있어서,
상기 프로세싱 유닛은 3D 이미지 분석기(400)를 포함하고, 상기 3D 이미지 분석기는, 제 1 이미지에 기초하여 결정되는 이미지 데이터의 적어도 하나의 제 1 세트 및 추가적인 이미지에 기초하여 결정되는 이미지 정보의 추가적인 세트를 수신하도록 구성되고, 상기 제 1 이미지는, 제 1 이미지 평면에서 제 1 관점으로부터의 3차원 오브젝트의 패턴을 포함하고, 상기 추가적인 세트는, 상기 3차원 오브젝트의 포인트와 상기 제 1 이미지 평면 사이의 상대적 관계를 설명하는 상대적 정보를 포함하고,
상기 3D 이미지 분석기는,
상기 제 1 세트, 추가적 이미지에 기초하여 결정되는 추가적인 세트, 및 상기 제 1 이미지와 상기 추가적 이미지의 관점들 사이의 기하학적 관계에 기초하여 3차원 공간에서 상기 패턴의 위치를 계산하도록, 또는 상기 제 1 이미지의 2개의 특징적 피쳐들 사이에서 서로에 대해 통계적으로 결정된 관계 및 상기 제 1 세트에 기초하여 상기 3차원 공간에서 상기 패턴의 위치를 계산하도록 구성되는 위치 계산기; 및
상기 3차원 공간에서 상기 패턴이 정렬되는 것에 따라 3D 이미지 벡터를 계산하도록 구성되는 정렬 계산기를 포함하고, 상기 계산은 상기 제 1 세트, 상기 추가적인 세트 및 상기 패턴의 계산된 위치에 기초하는,
이미지 분석 시스템(1000). - 허프 프로세싱을 위한 방법으로서,
프리-프로세서(102)를 이용함으로써 이미지를 각각 포함하는 복수의 샘플들(112a, 112b, 112c)을 프리-프로세싱하는 단계 ―각각의 샘플(112a, 112b, 112c)의 이미지는, 각각의 샘플(112a, 112b, 112c)에 대해, 상기 각각의 샘플(112a, 112b, 112c)의 이미지의 복수의 버전들(112a', 112a'', 112a''', 112a'''')이 표시되도록 회전 또는 반사됨―;
탐색된 패턴에 의존하는 조절가능한 특성을 포함하는 허프 변환 유닛(104)을 이용함으로써, 복수의 버전들(112a', 112a'', 112a''', 112a'''')에 기초하여 상기 복수의 샘플들(112a, 112b, 112c)에서 미리 결정된 패턴을 수집하는 단계 ― 상기 특성은 패턴들의 선택된 세트에 따라 조절됨 ―; 및
지연 필터(106)의 필터 특성의 조절을 허용하기 위해, 진행중인 동작 동안 선택된 탐색된 패턴에 의존하는 상기 지연 필터(106)의 상기 필터 특성을 조절하는 단계를 포함하고,
상기 허프 변환 유닛(104)의 상기 지연 필터(106)는 선택적으로 스위칭가능한 하나 이상의 지연 엘리먼트들(108a, 108b, 108c, 110a, 110b, 110c, 142)을 포함하는,
허프 프로세싱을 위한 방법. - 제 28 항에 있어서,
상기 조절가능한 특성은 지연 필터(106)의 필터 특성인,
허프 프로세싱을 위한 방법. - 제 29 항에 있어서,
상기 지연 필터(106)의 조절은, 상기 패턴이 인식되지 않거나 부정확하게 인식되면, 진행중인 동작 동안 또는 구현 동안 수행되는,
허프 프로세싱을 위한 방법. - 제 30 항에 있어서,
상기 조절가능한 특성은, 포스트-프로세싱된 특성, 곡선형 특성 또는 왜곡된 특성인,
허프 프로세싱을 위한 방법. - 제 28 항에 있어서,
상기 미리 결정된 패턴을 수집하는 단계는, 특성을 이용하여 미리 결정된 템플릿과 이미지 컨텐츠 사이의 픽셀 단위 상관을 결정하여, 픽셀마다 상기 이미지 컨텐츠와의 일치도를 획득하는 단계를 포함하는,
허프 프로세싱을 위한 방법. - 컴퓨터 판독가능 디지털 저장 매체로서,
프로그램 코드를 갖는 컴퓨터 프로그램이 저장되고,
상기 프로그램 코드는, 상기 프로그램 코드가 컴퓨터, 임베딩된 프로세서, 프로그래밍가능 로직 컴포넌트 또는 클라이언트-특정 칩 상에서 실행되면, 제 28 항 내지 제 32 항 중 어느 한 항에 따른 방법의 실행을 위한 프로그램 코드인,
컴퓨터 판독가능 디지털 저장 매체. - 삭제
- 삭제
- 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014201997 | 2014-02-04 | ||
DE102014201997.4 | 2014-02-04 | ||
PCT/EP2015/052001 WO2015117904A1 (de) | 2014-02-04 | 2015-01-30 | Hough-prozessor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160119146A KR20160119146A (ko) | 2016-10-12 |
KR101991496B1 true KR101991496B1 (ko) | 2019-06-20 |
Family
ID=52434840
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167024301A KR101991496B1 (ko) | 2014-02-04 | 2015-01-30 | 허프 프로세서 |
KR1020167024546A KR101858491B1 (ko) | 2014-02-04 | 2015-01-30 | 시야 방향을 결정하기 위한 3-d 이미지 분석기 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167024546A KR101858491B1 (ko) | 2014-02-04 | 2015-01-30 | 시야 방향을 결정하기 위한 3-d 이미지 분석기 |
Country Status (6)
Country | Link |
---|---|
US (3) | US10192135B2 (ko) |
EP (4) | EP3968288A2 (ko) |
JP (3) | JP6268303B2 (ko) |
KR (2) | KR101991496B1 (ko) |
CN (3) | CN106258010B (ko) |
WO (4) | WO2015117907A2 (ko) |
Families Citing this family (126)
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 |
WO2013173728A1 (en) | 2012-05-17 | 2013-11-21 | 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 | 北京三星通信技术研究有限公司 | 人脸关键点的定位方法和装置 |
EP3968288A2 (de) * | 2014-02-04 | 2022-03-16 | FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. | 3d-bildanalysator zur blickrichtungsbestimmung |
DE102015202846B4 (de) | 2014-02-19 | 2020-06-25 | Magna Electronics, Inc. | Fahrzeugsichtsystem mit Anzeige |
JP6539654B2 (ja) | 2014-06-27 | 2019-07-03 | フォーブ インコーポレーテッド | 視線検知装置 |
WO2016007167A1 (en) * | 2014-07-11 | 2016-01-14 | Hewlett-Packard Development Company, L.P. | Corner generation in a projector display area |
US20180227735A1 (en) * | 2014-08-25 | 2018-08-09 | Phyziio, Inc. | Proximity-Based Attribution of Rewards |
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 |
CN108352393B (zh) | 2015-07-23 | 2022-09-16 | 光程研创股份有限公司 | 高效宽光谱传感器 |
US10761599B2 (en) | 2015-08-04 | 2020-09-01 | Artilux, Inc. | Eye gesture tracking |
TWI698011B (zh) | 2015-08-04 | 2020-07-01 | 光澄科技股份有限公司 | 製造影像感測陣列之方法 |
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 |
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 | 株式会社ニデック | 眼科装置、および眼科装置制御プログラム |
EP3360023A4 (en) * | 2015-10-09 | 2018-10-10 | SZ DJI Technology Co., Ltd. | Salient feature based vehicle positioning |
US10254389B2 (en) | 2015-11-06 | 2019-04-09 | Artilux Corporation | High-speed light sensing apparatus |
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 |
US10741598B2 (en) | 2015-11-06 | 2020-08-11 | Atrilux, Inc. | High-speed light sensing apparatus II |
US10886309B2 (en) | 2015-11-06 | 2021-01-05 | Artilux, Inc. | High-speed light sensing apparatus II |
CN106200905B (zh) * | 2016-06-27 | 2019-03-29 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
US10133942B2 (en) | 2016-07-05 | 2018-11-20 | Nauto Global Limited | System and method for automatic driver identification |
CN109478334B (zh) * | 2016-07-20 | 2021-04-20 | 富士胶片株式会社 | 关注位置识别装置、摄像装置、显示装置、关注位置识别方法及非暂时性有形介质 |
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 |
WO2018031678A1 (en) | 2016-08-09 | 2018-02-15 | Nauto Global Limited | 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 |
US10246014B2 (en) * | 2016-11-07 | 2019-04-02 | Nauto, Inc. | System and method for driver distraction determination |
EP3545675A4 (en) * | 2016-11-24 | 2020-07-01 | The University of Washington | CAPTURE AND RESTITUTION OF LIGHT FIELD FOR HEADSETS |
EP3523777A4 (en) * | 2016-12-06 | 2019-11-13 | SZ DJI Technology Co., Ltd. | SYSTEM AND METHOD FOR CONFIGURING A WIDE ANGLE IMAGE |
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 |
WO2018121878A1 (en) * | 2016-12-30 | 2018-07-05 | 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 | オムロン株式会社 | テンプレート作成装置、物体認識処理装置、テンプレート作成方法及びプログラム |
WO2018229550A1 (en) | 2017-06-16 | 2018-12-20 | Nauto Global Limited | System and method for adverse vehicle event determination |
WO2018229548A2 (en) | 2017-06-16 | 2018-12-20 | Nauto Global Limited | System and method for contextualized vehicle operation 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 |
JP2019017800A (ja) * | 2017-07-19 | 2019-02-07 | 富士通株式会社 | コンピュータプログラム、情報処理装置及び情報処理方法 |
EP3430973A1 (en) * | 2017-07-19 | 2019-01-23 | Sony Corporation | Mobile system and method |
KR101963392B1 (ko) * | 2017-08-16 | 2019-03-28 | 한국과학기술연구원 | 무안경식 3차원 영상표시장치의 동적 최대 시역 형성 방법 |
SG11201907126SA (en) * | 2017-08-25 | 2019-09-27 | Maker Trading Pte Ltd | A 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 | 北京七鑫易维信息技术有限公司 | 视线追踪设备中确定参数的方法和装置 |
JP7109193B2 (ja) * | 2018-01-05 | 2022-07-29 | ラピスセミコンダクタ株式会社 | 操作判定装置及び操作判定方法 |
CN108875526B (zh) * | 2018-01-05 | 2020-12-25 | 北京旷视科技有限公司 | 视线检测的方法、装置、***及计算机存储介质 |
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 |
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 |
US11105928B2 (en) | 2018-02-23 | 2021-08-31 | Artilux, Inc. | Light-sensing apparatus and light-sensing method thereof |
CN111868929B (zh) | 2018-02-23 | 2021-08-03 | 奥特逻科公司 | 光检测装置及其光检测方法 |
US11392131B2 (en) | 2018-02-27 | 2022-07-19 | Nauto, Inc. | Method for determining driving policy |
WO2019185150A1 (en) * | 2018-03-29 | 2019-10-03 | Tobii Ab | Determining a gaze direction using depth information |
TWI758599B (zh) | 2018-04-08 | 2022-03-21 | 美商光程研創股份有限公司 | 光偵測裝置 |
WO2019199035A1 (ko) * | 2018-04-11 | 2019-10-17 | 주식회사 비주얼캠프 | 시선 추적 시스템 및 방법 |
CN108667686B (zh) * | 2018-04-11 | 2021-10-22 | 国电南瑞科技股份有限公司 | 一种网络报文时延测量的可信度评估方法 |
KR20190118965A (ko) * | 2018-04-11 | 2019-10-21 | 주식회사 비주얼캠프 | 시선 추적 시스템 및 방법 |
US10854770B2 (en) | 2018-05-07 | 2020-12-01 | Artilux, Inc. | Avalanche photo-transistor |
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 |
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 |
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 |
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 | 魔门塔(苏州)科技有限公司 | 一种眼睛开闭距离的确定方法及装置 |
WO2021171586A1 (ja) * | 2020-02-28 | 2021-09-02 | 日本電気株式会社 | 画像取得装置、画像取得方法および画像処理装置 |
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 | 广州舒勇五金制品有限公司 | 一种基于相对位置的展示*** |
US20220198731A1 (en) * | 2020-12-23 | 2022-06-23 | Facebook Technologies, Llc | Pixel-aligned volumetric avatars |
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. |
JP2022189536A (ja) * | 2021-06-11 | 2022-12-22 | キヤノン株式会社 | 撮像装置および方法 |
DE112021007811T5 (de) * | 2021-06-11 | 2024-04-18 | Mitsubishi Electric Corporation | Blickverfolgungsvorrichtung |
US11914915B2 (en) * | 2021-07-30 | 2024-02-27 | Taiwan Semiconductor Manufacturing Company, Ltd. | Near eye display apparatus |
TWI782709B (zh) * | 2021-09-16 | 2022-11-01 | 財團法人金屬工業研究發展中心 | 手術機械臂控制系統以及手術機械臂控制方法 |
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 | 深圳市明源云科技有限公司 | 市场布局数据采集方法、设备及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080012860A1 (en) * | 2005-09-30 | 2008-01-17 | Frank Klefenz | Apparatus, method and computer program for determining information about shape and/or location of an ellipse in a graphical image |
Family Cites Families (34)
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 |
EP1924941A2 (en) * | 2005-09-16 | 2008-05-28 | Imotions-Emotion Technology APS | System and method for determining human emotion by analyzing eye properties |
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 |
US20130085893A1 (en) | 2011-09-30 | 2013-04-04 | Ebay Inc. | Acquisition and use of query images with 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变换的异型扩展目标高精度定位方法 |
JP6269662B2 (ja) | 2013-05-08 | 2018-01-31 | コニカミノルタ株式会社 | 発光パターンを有する有機エレクトロルミネッセンス素子の製造方法 |
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 |
EP3968288A2 (de) | 2014-02-04 | 2022-03-16 | FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. | 3d-bildanalysator zur blickrichtungsbestimmung |
CN111616666A (zh) * | 2014-03-19 | 2020-09-04 | 直观外科手术操作公司 | 使用眼球凝视跟踪的医疗装置、***和方法 |
US9607428B2 (en) | 2015-06-30 | 2017-03-28 | Ariadne's Thread (Usa), Inc. | Variable resolution virtual reality display system |
-
2015
- 2015-01-30 EP EP21203252.8A patent/EP3968288A2/de not_active Withdrawn
- 2015-01-30 WO PCT/EP2015/052011 patent/WO2015117907A2/de active Application Filing
- 2015-01-30 WO PCT/EP2015/052001 patent/WO2015117904A1/de active Application Filing
- 2015-01-30 EP EP15701823.5A patent/EP3103059A1/de not_active Withdrawn
- 2015-01-30 JP JP2016550234A patent/JP6268303B2/ja not_active Expired - Fee Related
- 2015-01-30 CN CN201580018519.5A patent/CN106258010B/zh not_active Expired - Fee Related
- 2015-01-30 CN CN201580014214.7A patent/CN106133750B/zh not_active Expired - Fee Related
- 2015-01-30 KR KR1020167024301A patent/KR101991496B1/ko active IP Right Grant
- 2015-01-30 WO PCT/EP2015/052004 patent/WO2015117905A1/de active Application Filing
- 2015-01-30 EP EP15702739.2A patent/EP3103060A1/de not_active Withdrawn
- 2015-01-30 JP JP2016550180A patent/JP6248208B2/ja active Active
- 2015-01-30 EP EP15701822.7A patent/EP3103058A1/de not_active Ceased
- 2015-01-30 JP JP2016550235A patent/JP6483715B2/ja not_active Expired - Fee Related
- 2015-01-30 KR KR1020167024546A patent/KR101858491B1/ko active IP Right Grant
- 2015-01-30 CN CN201580014261.1A patent/CN106104573A/zh active Pending
- 2015-01-30 WO PCT/EP2015/052009 patent/WO2015117906A1/de active Application Filing
-
2016
- 2016-07-28 US US15/221,847 patent/US10192135B2/en not_active Expired - Fee Related
- 2016-08-04 US US15/228,826 patent/US10592768B2/en not_active Expired - Fee Related
- 2016-08-04 US US15/228,844 patent/US10074031B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080012860A1 (en) * | 2005-09-30 | 2008-01-17 | Frank Klefenz | Apparatus, method and computer program for determining information about shape and/or location of an ellipse in a graphical image |
Non-Patent Citations (2)
Title |
---|
Frank Klefenz 외 3인, "REAL-TIME CALIBRATION-FREE AUTONOMOUS EYE TRACKER", 2010 IEEE International Conference on Acoustics, Speech and Signal Processing , Year: 2010, pages: 762-765.* |
Kuang Chung Chen 외 2인, "Quantization-free parameter space reduction in ellipse detection", Expert Systems with Applications, Year: 2011, Volume: 38, pages: 7622-7632.* |
Also Published As
Publication number | Publication date |
---|---|
US10192135B2 (en) | 2019-01-29 |
WO2015117905A1 (de) | 2015-08-13 |
JP2017509967A (ja) | 2017-04-06 |
EP3103059A1 (de) | 2016-12-14 |
JP6483715B2 (ja) | 2019-03-13 |
JP6248208B2 (ja) | 2017-12-13 |
WO2015117906A1 (de) | 2015-08-13 |
WO2015117904A1 (de) | 2015-08-13 |
JP2017514193A (ja) | 2017-06-01 |
US20160335475A1 (en) | 2016-11-17 |
US10592768B2 (en) | 2020-03-17 |
CN106104573A (zh) | 2016-11-09 |
US10074031B2 (en) | 2018-09-11 |
WO2015117907A2 (de) | 2015-08-13 |
JP2017508207A (ja) | 2017-03-23 |
US20160342856A1 (en) | 2016-11-24 |
JP6268303B2 (ja) | 2018-01-24 |
EP3968288A2 (de) | 2022-03-16 |
CN106133750B (zh) | 2020-08-28 |
CN106258010A (zh) | 2016-12-28 |
CN106258010B (zh) | 2019-11-22 |
EP3103060A1 (de) | 2016-12-14 |
KR101858491B1 (ko) | 2018-05-16 |
EP3103058A1 (de) | 2016-12-14 |
KR20160119146A (ko) | 2016-10-12 |
CN106133750A (zh) | 2016-11-16 |
KR20160119176A (ko) | 2016-10-12 |
WO2015117907A3 (de) | 2015-10-01 |
US20170032214A1 (en) | 2017-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101991496B1 (ko) | 허프 프로세서 | |
US11862021B2 (en) | Method and apparatus for remanent imaging control | |
US11967179B2 (en) | System and method for detecting and removing occlusions in a three-dimensional image | |
EP3101624B1 (en) | Image processing method and image processing device | |
CN103501688B (zh) | 注视点映射的方法和装置 | |
US20140313308A1 (en) | Apparatus and method for tracking gaze based on camera array | |
JP2021527877A (ja) | 3次元人体姿勢情報の検出方法および装置、電子機器、記憶媒体 | |
US20150029322A1 (en) | Method and computations for calculating an optical axis vector of an imaged eye | |
CN111160136B (zh) | 一种标准化3d信息采集测量方法及*** | |
KR20140125713A (ko) | 카메라 어레이에 기반하여 시선을 추적하는 방법 및 장치 | |
US20150341618A1 (en) | Calibration of multi-camera devices using reflections thereof | |
EP2339507A1 (en) | Head detection and localisation method | |
CN110213491B (zh) | 一种对焦方法、装置及存储介质 | |
CN111272144A (zh) | 深度感测相机*** | |
Chatterjee et al. | Noise in structured-light stereo depth cameras: Modeling and its applications | |
Balzer et al. | Volumetric reconstruction applied to perceptual studies of size and weight | |
US9551922B1 (en) | Foreground analysis on parametric background surfaces | |
KR101348903B1 (ko) | 시선 추적용 기하광학에 기반한 각막 반경 측정 알고리즘을 이용한 각막 반경 측정 장치 및 방법 | |
US10609311B2 (en) | Method and device for increasing resolution of an image sensor | |
Li et al. | Overall well-focused catadioptric image acquisition with multifocal images: a model-based method | |
Nuger et al. | A Methodology for Multi-Camera Surface-Shape Estimation of Deformable Unknown Objects | |
Li | 3D computer vision: passive depth from defocus and manifold learning-based human activity recognition | |
Jogeshwar | Look at the Bigger Picture: Analyzing Eye Tracking Data With Multi-Dimensional Visualization | |
Jiang | A Study on Vibration Source Localization Using High-speed Vision | |
JP2024025894A (ja) | 画像処理装置、画像処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |