KR102726941B1 - 눈꺼풀 형상 추정 - Google Patents
눈꺼풀 형상 추정 Download PDFInfo
- Publication number
- KR102726941B1 KR102726941B1 KR1020187008101A KR20187008101A KR102726941B1 KR 102726941 B1 KR102726941 B1 KR 102726941B1 KR 1020187008101 A KR1020187008101 A KR 1020187008101A KR 20187008101 A KR20187008101 A KR 20187008101A KR 102726941 B1 KR102726941 B1 KR 102726941B1
- Authority
- KR
- South Korea
- Prior art keywords
- eye
- eyelid
- candidate points
- display system
- box
- Prior art date
Links
- 210000000744 eyelid Anatomy 0.000 title claims abstract description 289
- 210000001747 pupil Anatomy 0.000 claims description 32
- 230000001179 pupillary effect Effects 0.000 claims description 14
- 230000000877 morphologic effect Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 8
- 230000002197 limbic effect Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 abstract description 123
- 230000008569 process Effects 0.000 description 53
- 238000012545 processing Methods 0.000 description 51
- 238000005070 sampling Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000003708 edge detection Methods 0.000 description 10
- 230000011218 segmentation Effects 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 210000003786 sclera Anatomy 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 230000004397 blinking Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 241000256837 Apidae Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 210000000613 ear canal Anatomy 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 210000000720 eyelash Anatomy 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012892 rational function Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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
Abstract
눈꺼풀 형상 추정을 위한 시스템들 및 방법들이 개시된다. 일 양상에서, 눈의 눈 이미지를 (예컨대, 이미지 캡처 디바이스로부터) 수신한 이후, 눈-박스가 눈 이미지에서 눈의 홍채 위에 생성된다. 복수의 방사상 라인들은 눈-박스의 거의 중심으로부터 눈 박스의 상부 에지 또는 하부 에지까지 생성될 수 있다. 후보 포인트들은 복수의 방사상 라인들을 따라 로컬 최대 도함수들을 가지도록 결정될 수 있다. 후보 포인트들로부터, (예컨대, 상부 눈꺼풀 또는 하부 눈꺼풀에 대한) 눈꺼풀 형상 곡선은 곡선(예컨대, 포물선 또는 다항식)을 후보 포인트들 또는 후보 포인트들의 서브세트에 피팅함으로써 결정될 수 있다.
Description
[0001] 본 출원은 2015년 8월 21일에 출원되고, 발명의 명칭이 "EYELID SHAPE ESTIMATION"인 미국 가 출원 번호 제 62/208,142호에 대해 35 U.S.C. § 119(e) 하에서 우선권을 주장하고, 이로써 이 가 출원은 그 전체가 인용에 의해 통합된다.
[0002] 본 개시내용은 일반적으로 눈 이미저리(imagery)를 프로세싱하기 위한 시스템들 및 방법들에 관한 것이다.
[0003] 인간 홍채는 생체 인증 정보의 소스로서 사용될 수 있다. 생체 인증 정보는 개인의 인증 또는 식별을 제공할 수 있다. 생체 인증 템플릿(template)이라 널리 불리는 생체 인증 정보를 추출하는 프로세스는 통상적으로 많은 난제들을 가진다.
[0004] 일 양상에서, 눈꺼풀 형상 추정을 위한 방법이 개시된다. 방법은 하드웨어 컴퓨터 프로세서의 제어하에서 수행된다. 방법은 이미지 캡처 디바이스로부터 눈 이미지를 수신하는 단계; 눈의 홍채 주위의 형상을 생성하는 단계 ― 형상은 눈의 변연(limbic) 경계의 최외부 경계들에 접함 ―; 형상의 중심으로부터 형상의 에지들로 연장되는 라인들을 생성하는 단계; 눈의 홍채와 눈꺼풀의 경계에 대한 후보 포인트들을 결정하기 위해 에지 검출 알고리즘을 눈 이미지(예컨대, 형상의 중심으로 연장되는 라인들)에 적용하는 단계; 및 눈꺼풀 형상 곡선을 적어도 2개의 후보 포인트들에 피팅(fitting)하는 단계를 포함한다. 다른 양상에서, 눈꺼풀 형상 추정을 위한 방법이 머리 장착 디스플레이 시스템에 의해 수행될 수 있다. 또 다른 양상에서, 눈꺼풀 형상 곡선을 피팅하는 단계는 피팅을 위한 복수의 후보 포인트들을 선택하기 위해 후보 포인트들 중 적어도 2개의 후보 포인트를 무작위로 샘플링하는 단계; 및 복수의 후보 포인트들로 곡선을 형성하는 단계를 포함한다. 일부 양상들에서, 후보 포인트들의 수는 적어도 3개, 적어도 4개, 적어도 5개 또는 그 초과이다. 후보 포인트들의 수는 후보 윤곽부의 자유도의 수(예컨대, 포물선의 경우에 3개), 눈꺼풀 형상 곡선에 적용된 임의의 제약들(예컨대, 대칭) 등에 따를 수 있다.
[0005] 이 명세서에서 설명된 청구 대상의 하나 또는 그 초과의 구현들의 세부사항들은 아래의 첨부 도면들 및 상세한 설명에서 설명된다. 다른 특징들, 양상들 및 장점들은 상세한 설명, 도면들 및 청구항들로부터 자명하게 될 것이다. 이 요약도 다음 상세한 설명도 본 발명의 청구 대상의 범위를 정의하거나 제한하도록 의도하지 않는다.
[0006] 도 1은 눈 및 눈꺼풀들을 교차하는 복수의 방사상 라인들을 가진 눈 박스(box)의 예를 개략적으로 예시한다.
[0007] 도 2는 눈 및 눈꺼풀들을 교차하는 복수의 수직 라인들을 포함하는 눈 박스의 예를 개략적으로 예시한다.
[0008] 도 3은 예시적 눈꺼풀 형상 추정을 개략적으로 예시한다.
[0009] 도 4는 눈꺼풀 형상 추정의 예시적 프로세스의 흐름도이다.
[0010] 도 5는 눈꺼풀 형상 추정의 다른 예시적 프로세스의 흐름도이다.
[0011] 도 6은 후보 포인트들로서 동공 경계 또는 변연 경계를 따르는 잠재적 후보 포인트들을 배제하는 눈꺼풀 형상 추정의 예시적 프로세스의 흐름도이다.
[0012] 도 7은 착용가능 디스플레이 시스템의 예를 개략적으로 예시한다.
[0013] 도면들 전반에 걸쳐, 참조 번호들은 참조된 엘리먼트들 사이의 관련성을 표시하기 위해 재사용될 수 있다. 도면들은 본원에 설명된 예시적 실시예들을 예시하기 위해 제공되고 본 개시내용의 범위를 제한하도록 의도되지 않는다.
[0007] 도 2는 눈 및 눈꺼풀들을 교차하는 복수의 수직 라인들을 포함하는 눈 박스의 예를 개략적으로 예시한다.
[0008] 도 3은 예시적 눈꺼풀 형상 추정을 개략적으로 예시한다.
[0009] 도 4는 눈꺼풀 형상 추정의 예시적 프로세스의 흐름도이다.
[0010] 도 5는 눈꺼풀 형상 추정의 다른 예시적 프로세스의 흐름도이다.
[0011] 도 6은 후보 포인트들로서 동공 경계 또는 변연 경계를 따르는 잠재적 후보 포인트들을 배제하는 눈꺼풀 형상 추정의 예시적 프로세스의 흐름도이다.
[0012] 도 7은 착용가능 디스플레이 시스템의 예를 개략적으로 예시한다.
[0013] 도면들 전반에 걸쳐, 참조 번호들은 참조된 엘리먼트들 사이의 관련성을 표시하기 위해 재사용될 수 있다. 도면들은 본원에 설명된 예시적 실시예들을 예시하기 위해 제공되고 본 개시내용의 범위를 제한하도록 의도되지 않는다.
개요
[0014] 눈으로부터 생체 인증 정보를 추출하는 것은 일반적으로 눈 이미지 내에서 홍채의 세분화(segmentation)를 위한 절차를 포함한다. 홍채 세분화는 홍채의 동공 및 변연 경계들을 찾고; 이들이 홍채를 가리면 상부 또는 하부 눈꺼풀들을 로컬라이징(localizing)하고; 속눈썹들, 그림자(shadow)들, 또는 반사들의 가려짐(occlusion)들을 검출하고 배제하는 것 등을 포함하는, 홍채 경계들을 로케이팅(locating)하는 것을 포함하는 동작들을 포함할 수 있다. 예컨대, 눈 이미지는 얼굴의 이미지에 포함될 수 있거나 또는 눈의 눈 주위 지역의 이미지일 수 있다. 홍채 세분화를 수행하기 위해, 동공의 경계(홍채의 내부 경계) 및 윤부(limbus) 경계(홍채의 외부 경계) 둘 모두는 이미지 데이터의 별개의 세그먼트들로서 식별될 수 있다. 홍채의 이런 세분화 외에도, 눈꺼풀들에 의해 가려지는 홍채의 부분(상부 또는 하부)이 추정될 수 있다. 이런 추정은, 정상 인간 활동 동안, 사람의 전체 홍채가 거의 보이지 않기 때문에 수행된다. 다른 말로, 전체 홍채는 일반적으로 눈꺼풀들 및 속눈썹들의 가려짐들로부터 자유롭지 못하다.
[0015] 눈꺼풀들에 의해 가려진 홍채의 부분을 추정하는 것은 어려움들을 제시하였다. 본원에 설명된 눈꺼풀 형상 추정의 실시예들은 유리하게 눈꺼풀들에 의해 가려진 홍채의 부분을 추정하기 위해 사용될 수 있다. 눈꺼풀 형상 추정은 예컨대 생체 인증 특성들(예컨대, 눈꺼풀 형상)을 식별하거나, 또는 눈 이미지의 분석으로부터 몸체 또는 몸체의 부분들(예컨대, 눈)의 포즈들 또는 배향들을 재구성하기 위해 사용될 수 있다. 눈꺼풀 형상 추정은 눈 이미지에서 깜박이는 눈을 검출하기 위해 사용될 수 있다. 그런 깜박이는 눈은 홍채의 부분들을 가릴 수 있기 때문에, 눈 깜박임의 검출 및 대응하는 눈 이미지의 제거는 홍채 세분화 및 홍채 인증 기법들의 품질을 개선할 수 있다. 또한, 눈 이미지에서 눈의 눈꺼풀 형상을 식별함으로써, 눈 이미지에서 눈의 눈꺼풀 부분들은 홍채 세분화 기법들에 대한 계산들의 양을 감소시키기 위해 제거될 수 있어서, 실질적으로 눈의 홍채 부분만이 생체 인증을 위해 사용된다.
[0016] 본 개시내용은 눈을 포함하는 눈 이미지 위에 눈 박스의 생성을 설명할 것이다. 다양한 실시예들에서, 눈 박스는 눈 이미지의 부분 위에 배치될 수 있다. 예컨대, 눈 이미지는 정지 이미지 또는 비디오로부터 획득될 수 있다. 눈-박스는, 복수의 방사상 라인들이 예컨대 눈-박스의 중심으로부터 눈 박스의 에지로 연장되면서 눈 이미지 위에 생성될 수 있다. 눈 박스의 상부 및 하부 에지들은 눈꺼풀(각각 상부 또는 하부)과 홍채 사이의 경계를 대략적으로 추적할 수 있다. 눈 박스는 눈꺼풀 형상 추정을 돕기 위해 사용될 수 있다.
[0017] 본원에 사용된 바와 같이, 비디오는 자신의 일반적인 의미로 사용되나 시각 이미지들의 시퀀스를 레코딩하는 것(그러나 이에 제한되지 않음)을 포함한다. 비디오의 각각의 이미지는 때때로 이미지 프레임 또는 간단히 프레임으로 지칭된다. 비디오는 오디오 채널과 함께 또는 오디오 채널 없이, 복수의 순차적인 프레임들을 포함할 수 있다. 비디오는 시간적으로 정렬된 복수의 프레임들을 포함할 수 있다. 따라서, 비디오의 이미지는 눈 이미지 프레임 또는 눈 이미지로 지칭될 수 있다.
[0018] 본 개시내용은 또한 눈 이미지로부터 눈꺼풀 형상의 추정의 예들을 설명할 것이다. 일부 구현들에서, 눈 박스를 사용하여, 후보 포인트들이 에지 검출기로 결정될 수 있다. 반복 프로세스는 곡선(예컨대, 포물선 라인)을 추정된 눈꺼풀 형상에 피팅하기 위해 이들 후보 포인트들의 서브세트를 무작위로 샘플링하기 위해 사용될 수 있다. 이 반복 프로세스에 의해 생성된 곡선들 중에서, 곡선들에 대한 스코어(score)들은 다양한 방법들(예컨대, 적합도 측정(measure of goodness of fit))을 사용하여 결정될 수 있다. 바람직한 곡선은, 곡선들 중 어느 것이 가장 높은 스코어를 가지는지 및/또는 곡선들 중 어느 것이 스코어 임계치를 초과하는지를 평가함으로써 결정될 수 있다. 바람직한 곡선으로부터 충분히 먼(예컨대, 임계 거리를 초과하는) 후보 포인트들은 "아웃라이어(outlier)" 포인트들로 고려되고 후속 피팅 또는 분석으로부터 배제될 수 있다. 나머지 후보 포인트들은 "인라이어(inlier)" 포인트들 인 것으로 고려될 수 있다. 일부 실시예들에서, 바람직한 곡선은 "인라이어" 포인트들인 것으로 고려되는 일부 또는 모든 포인트들을 사용하여 리피팅(refit)될 수 있고, 이는 (예컨대, 눈꺼풀의 포지션을 나타내지 않을 가능성이 있는 아웃라이어 포인트들을 배제함으로써) 눈꺼풀에 피팅하는 개선되거나 최적의 곡선을 제공할 수 있다.
예시적 눈 박스
[0019] 도 1은 눈꺼풀들(104), 공막(108)(눈의 "백색 부분"), 홍채(112), 및 동공(116)을 가진 눈(100)의 이미지를 예시한다. 곡선(116a)은 동공(116)과 홍채(112) 사이의 동공 경계를 도시하고, 그리고 곡선(112a)은 홍채(112)와 공막(108) 사이의 변연 경계를 도시한다. 눈꺼풀들(104)은 상부 눈꺼풀(104a) 및 하부 눈꺼풀(104b)을 포함한다.
[0020] 도 1은 또한 눈(100)의 눈 이미지에 위의 눈 박스(120)뿐 아니라 복수의 방사상 라인들(128a)의 예를 개략적으로 예시한다. 다양한 실시예들에서, 눈 박스(120)는 눈 박스(120)를 눈 이미지의 특정 부분들에 맵핑하는 프로세스들을 사용하여, 이를테면 이미지 프로세싱 알고리즘을 사용하여 눈 이미지에서 눈(100) 상에 오버레이(overlay)될 수 있다. 눈 박스(120)를 눈(100)의 이미지상에 오버레이하는 것은 또한 눈 박스(120)를 생성하거나 눈 박스(120)를 구성하는 것으로 지칭될 수 있다. 다른 예로서, 눈 박스(120)는 복수의 순차적인 프레임들을 통해 눈 박스(120)를 추적하고, 그리고 비디오가 시간에 걸쳐 진행됨에 따라 눈을 눈-박스(120)와 오버레이할 수 있는 프로세스들을 사용하여, 이를테면 비디오 프로세싱 알고리즘을 사용하여 비디오 상에 오버레이될 수 있다. 일부 구현들에서, 눈-박스(120)는, 변연 경계(112a) 또는 변연 경계(112a)의 근사화가 결정된 이후, 눈 이미지에서 눈(100) 상에 오버레이될 수 있다. 예컨대, 변연 경계(112a)를 결정한 이후, 눈-박스(120)는, 변연 경계가 눈 이미지상에 오버레이된 눈-박스(120)의 경계 내부에 있도록 배치될 수 있다. 눈꺼풀들(104)에 의해 커버되지 않은 홍채(112)의 지역은 눈-박스(120)의 경계 내에 있을 수 있다. 다른 예로서, 변연 경계(112a)의 근사화를 결정한 이후, 눈-박스(120)는, 변연 경계의 근사화가 눈 이미지상에 오버레이된 눈-박스(120)의 경계 내부에 있도록 배치될 수 있다. 눈꺼풀들(104)에 의해 커버되지 않은 홍채(112)의 지역 또는 눈꺼풀들(104)에 의해 커버되지 않은 홍채(112) 지역의 대부분은 눈-박스(120)의 경계 내에 있을 수 있다.
[0021] 눈-박스(120)는 직사각형 형상일 수 있다. 일부 구현들에서, 눈 박스(120)는 전체 홍채(112)를 포함하는 최소 사이즈 바운딩(bounding) 박스이도록 사이즈가 정해질 수 있다. 예컨대, 눈 박스(120)는, 눈 박스(120)의 수직 에지들(124a1, 124a2)이 홍채(112)의 변연 경계(112a)의 최외부 부분들에 접하도록 형상화될 수 있다. 눈 박스(120)는, 눈 박스(120)의 수평 에지(124b1(또는 124b2))가 실질적으로 상부 눈꺼풀(104a)(또는 하부 눈꺼풀(104b)) 및 홍채(112)의 경계 외측으로 연장되도록 형상화될 수 있다. 즉, 수평 에지(124b1(또는 124b2))는 그 경계를 교차할 수 있다. 그러나, 도 1에 도시된 바와 같이, 수평 에지(124b1(또는 124b2))는 임의의 포인트에서 경계를 교차할 필요가 없다. 유사하게, 눈 박스(120)는, 수평 에지(124b1(또는 124b2))가 그 경계를 따라 임의의 교차 포인트에서, 상부 눈꺼풀(104a)(또는 하부 눈꺼풀(104b)) 및 홍채(112)의 경계를 넘어 연장되도록 형상화될 수 있다. 따라서, 눈 박스(120)의 형상은 홍채(112)를 가리는 상부 눈꺼풀(104a) 또는 하부 눈꺼풀(104b)의 에지에 기반하여 변화할 수 있다. 일부 구현들에서, 눈 박스(120)는 정사각형이도록 절단된다. 홍채의 투시도가 결정적인 다른 구현들에서, 눈-박스는 평행사변형으로서 형상화될 수 있다. 예컨대, 평행 사변형은 홍채의 평면에 위치된 정사각형 눈-박스에 적용된 투시 변환으로부터 결정될 수 있다.
[0022] 도 1을 계속 참조하면, 복수의 방사상 라인들(128a)은 동공(116)으로부터(예컨대, 동공(116)의 중심으로부터 또는 중심 주위에서 발산됨) (상부 눈꺼풀(104a)에 대한) 눈 박스(120)의 최상부 에지(124b1)를 향해 또는 (하부 눈꺼풀(104b)에 대한) 눈 박스(120)의 최하부 에지(124b2)를 향해 생성될 수 있다. 복수의 방사상 라인들(128a)을 생성하는 것은 또한 복수의 방사상 라인들(128a)을 구성하는 것으로 지칭될 수 있다. 방사상 라인(128a)은 상부 눈꺼풀(104a)에 더 가까운 수평 에지(124b1)의 제1 픽셀로부터 하부 눈꺼풀(104b)에 더 가까운 수평 에지(124b2)의 최종 픽셀까지의 라인일 수 있다. 방사상 라인(128a)은 상부 눈꺼풀(104a)에 더 가까운 수평 에지(124b1)의 제2 픽셀로부터 하부 눈꺼풀(104b)에 더 가까운 수평 에지(124b2)의 n-1 픽셀까지의 라인일 수 있고, 여기서 n은 눈-박스(120)의 폭을 나타낸다.
[0023] (각각의 눈꺼풀에 대한) 방사상 라인들(128a)의 수는 픽셀들로 측정된 이미지의 폭만큼 많을 수 있거나, 이 폭의 서브샘플링일 수 있다. 예컨대, 샘플링 프로세스는 눈꺼풀 형상 추정에 사용될 특정 방사상 라인들을 선택하기 위해 사용될 수 있어서, 충분한 라인들이 우수한 피트를 눈꺼풀 형상에 제공하기 위해 눈꺼풀들을 가로지른다. 샘플링 프로세스는 눈꺼풀 형상이 특정 에러 임계치 내로 추정되는 것을 허용하는 폭 픽셀(예컨대, 2, 5, 10 또는 그 초과의 픽셀들) 임계치에 따라 샘플링할 수 있다. 7개의 방사상 라인들이 도 1에 도시되지만, 이는 예시를 위한 것이고, 다른 구현들에서, 임의의 적합한 수의 방사상 라인들(128a)이 눈 박스(120) 내에서 활용될 수 있다. 예컨대, 일 실시예에서, 방사상 라인들(128a)의 수는 눈 이미지를 가로지르는 폭에서의 픽셀들의 수일 수 있다. 다른 실시예들에서, 방사상 라인들(128a)의 수는 눈꺼풀 형상이 특정 에러 임계치 내로 추정되는 것을 허용하는 최소의 라인들의 수이도록 최적화될 수 있다. 다양한 실시예들에서, 3, 5, 7, 10, 15, 20, 30 또는 그 초과의 라인들이 사용될 수 있다. 라인들의 수는 (각각의 눈꺼풀에 대해) 통상적으로 180도 미만인, 눈 이미지에서 눈꺼풀에 의해 범위가 정해진 통상적인 각도 범위를 나타낼 수 있다.
[0024] 도 2는 눈(100) 및 눈꺼풀들(104)을 교차하는 복수의 수직 라인들(128b)을 포함하는 눈 박스(120)의 예를 개략적으로 예시한다. 복수의 수직 라인들(128b)은 복수의 방사상 라인들(128a) 대신 또는 이에 부가하여 사용될 수 있다. 복수의 수직 라인들(128a)은 동공(116)의 수평 이등분 라인(132)으로부터 발산되는, 눈 박스(120)의 수직 에지들(124a1, 124a2)과 평행하게 생성될 수 있다. 그런 경우에서, (각각의 눈꺼풀(104)에 대해) 라인들의 수는 (픽셀들 또는 임의의 다른 적절한 측정치, 이를테면 밀리미터의 측면에서) 이미지의 폭만큼 많을 수 있다. 라인들의 수는 또한 눈 이미지의 폭의 서브샘플링일 수 있다.
[0025] 다른 구현들에서, 눈꺼풀들(104)을 만나거나 가로지르도록 일반적으로 동공(116)(또는 수평 이등분 라인(132))으로부터 외향으로 연장되는 임의의 형상을 가진 라인이 사용될 수 있다. 따라서, 라인은 직선(방사상 또는 수직)일 필요가 있는 것이 아니라 곡선질 수 있거나 임의의 적절한 형상을 가질 수 있다.
[0026] 도시된 바와 같이, 도 1에 예시된 눈 박스(120)는 직사각형 형상이다. 그러나, 일부 구현들에서, 눈-박스(120)는 홍채(112)의 경계 둘레에 생성된 다각형 또는 기하학적 형상들(예컨대, 원형들, 달걀형들 등) 같은 형상들을 가질 수 있다. 예컨대, 6각형 형상은 눈-박스(120)에 사용될 수 있다. 따라서, "눈 박스"는 홍채(112)를 포함하도록 눈(100) 둘레에 생성된 임의의 다각형 형상 또는 기하학적 형상을 지칭할 수 있다. 그런 경우에서, 도 1의 복수의 방사상 라인들(128a) 또는 도 2의 복수의 수직 라인들(128b)과 유사한 것으로 고려될 수 있는 복수의 라인들은 그 다각형 형상의 중심 또는 중심 주위로부터 그 다각형 형상의 에지들까지 생성될 수 있다.
예시적 눈꺼풀 형상 추정
[0027] 도 3은 눈꺼풀 형상 추정의 예를 개략적으로 예시한다. 다양한 실시예들에서, 눈꺼풀 형상 추정은 또한 눈꺼풀 형상 결정으로 지칭될 수 있다. 눈꺼풀 형상 결정의 예는 도 1에 도시된 직사각형 눈-박스(120) 및 복수의 방사상 라인들(128a)을 사용하여 논의될 것이다. 그러나, 기법은 비-직사각형 눈-박스(120), 이를테면 6각형 눈-박스(120)를 사용하여 수행될 수 있다. 그리고 기법은 도 2에 도시된 복수의 수직 라인들(128b) 또는 임의의 형상의 라인을 사용하여 수행될 수 있다.
[0028] 각각의 방사상 라인(128a)에 대해 (상부 눈꺼풀(104a)의 형상을 추정하기 위한) 후보 포인트(136a) 또는 (하부 눈꺼풀(104b)의 형상을 추정하기 위한) 후보 포인트(136b)가 컴퓨팅(compute)될 수 있다. 후보 포인트(136a 또는 136b)는 눈꺼풀들(104a 또는 104b)의 에지의 부분을 따르는 포인트인 후보일 수 있다. 예컨대, 후보 포인트(136a)는 상부 눈꺼풀(104a)의 형상을 추정하기 위한 후보일 수 있다. 유사하게, 후보 포인트(136b)는 하부 눈꺼풀(104b)의 형상을 추정하기 위한 후보일 수 있다.
[0029] 이들 후보 포인트들을 결정하기 위해, 각각의 방사상 라인(128a)에 대해, 최대 도함수가 식별되는 포인트는 방사상 라인(128a)의 방향을 따를 수 있다. 일부 구현들에서, 각각의 수직 라인(128b)에 대해, 최대 도함수가 식별되는 포인트는 수직 라인(128b)의 방향을 따를 수 있다. 최대 도함수는 눈 이미지에서 에지들을 발견하기 위해 사용될 수 있고, 여기서 이미지 세기, 컬러, 휘도(luminance) 등에 큰 변화가 존재한다. 주어진 라인은, 도함수들이 큰 몇몇 포인트들, 예컨대 동공 경계(116a), 변연 경계(112a) 및 눈꺼풀(104a 또는 104b)을 가질 수 있다. 후보 포인트(136a 또는 136b)는 큰 도함수 값(예컨대 로컬 최대치) 및 동공(116)의 중심으로부터(또는 이등분 라인(132)으로부터) 가장 먼 거리를 가진 포인트로서 선택될 수 있다. 도함수는 수치적 방법들을 사용하여 결정될 수 있다. 예컨대, 일 실시예에서, 소벨(Sobel) 도함수 연산자(또는 이들의 선형 조합)는 방사상 라인(128a)을 따라 도함수를 결정하기 위해 사용된다. 또 다른 예로서, 가버 필터 콘볼루션(Gabor filter convolution)은 라인(128a)에 대한 도함수를 결정하기 위해 사용될 수 있다. 에지 검출 알고리즘(예컨대, 캐니(Canny) 에지 검출기)은 눈꺼풀들에 대한(또는 동공 및 변연 경계들에 대한) 후보 포인트들(136a 또는 136b)을 식별하기 위해 사용될 수 있다.
[0030] 다양한 실시예들에서, 최대 도함수를 결정하는 것은 이미지 프로세싱 필터를 복수의 방사상 라인들(128a)에 적용하는 것으로 보여질 수 있다. 예컨대, 필터는 이산 미분 연산자로서 나타내질 수 있다. 이 필터는 최대 도함수들(또는 이들의 근사화들)을 포함하는 이미지 프로세싱 결과를 생성하기 위해 눈 이미지로 콘볼빙(convolve)될 수 있다. 따라서, 일 실시예에서, 필터는 2차원들의 도함수 근사화 결과를 생성하기 위해 눈 이미지를 콘볼빙하는 2개의 3 x 3 커널(kernel)들을 사용하여 연산하는 소벨 필터일 수 있다. 그런 도함수 근사화는 크기 및 방향으로서 표현될 수 있다. 로컬적으로 최대 도함수 크기를 가진 방사상 라인들(128a) 또는 수직 라인들(128b)을 따른 포인트들은 (예컨대, 동공 경계들을 나타낼 수 있는 포인트들을 배제한 이후) 눈꺼풀들에 대한 후보 포인트들(136a 또는 136b)로서 선택될 수 있다. 따라서, 도 3은 상부 눈꺼풀(104a)에 대한 검출된 후보 포인트들(136a) 및 하부 눈꺼풀(104b)에 대한 검출된 후보 포인트들(136b)을 예시한다.
[0031] 눈꺼풀 형상을 추정하는 비-제한적 예시적 구현에서, 눈꺼풀 형상은 원뿔 형태, 이를테면 포물선에 의해 나타내질 수 있다. 아래에 논의된 바와 같이, 다른 구현들이 가능하다. 본원에 설명되는 하기의 피팅 프로세스는, 포물선이 눈꺼풀 형상을 나타내도록, 후보 포인트들의 원뿔 형태에 피팅하는 포물선을 참조하여 예시된다. 이것은 예시를 위한 것이고 제한인 것으로 의도되지 않는다. 다른 구현들에서, 임의의 적절한 수학적 포뮬레이션(formulation) 또는 곡선은 피팅 절차 동안 사용될 수 있다. 예컨대, 곡선은 비-선형 수학적 표현일 수 있다. 상이한 포뮬레이션들 또는 곡선들은 눈꺼풀들(104a 또는 104b)에 사용될 수 있다.
[0032] 도 3에 예시된 눈꺼풀 형상을 추정하는 예시적 구현에서 계속하면, 포물선은 3개(또는 그 초과)의 후보 포인트들(136a 또는 136b)을 통과하도록 피팅될 수 있다. 예컨대, 3개의 후보 포인트들(136a 또는 136b)의 무작위 서브세트는 (상부 눈꺼풀(104a)에 대한) 후보 포인트(136a) 또는 (하부 눈꺼풀(104b)에 대한) 후보 포인트(136b)의 리스트로부터 도출된다. 무작위 서브세트는 무작위 샘플링 프로세스 또는 방법을 통해 선택될 수 있다. 포물선 피트 곡선(140a)은 무작위 서브세트에서의 후보 포인트들(136a)을 사용하여 만들어질 수 있다. 일부 구현들에서, 다수의 포물선 피트 곡선들이 결정될 수 있다. 예시된 바와 같이, 포물선 피트 곡선(140b)은 후보 포인트들(136a)의 상이한 서브세트를 사용하여 상부 눈꺼풀(104a)의 다른 피트를 도시한다. 포물선 피트 곡선(140c 또는 140d)은 후보 포인트들(136b)의 무작위 서브세트를 사용하여 하부 눈꺼풀(104b)의 피트를 도시한다.
[0033] 후보 포인트들(136a)에 대한 포물선 피트 곡선(104a)을 결정하기 위해, 위에서 설명된 바와 같이, 후보 포인트들(136a)의 서브세트들의 무작위 샘플링이, 미리결정되거나 고정된 수의 반복들 동안 반복되어 포물선 라인(140a)을 피팅하기 위한 후보 포인트들(136a)을 결정할 수 있다. 다른 실시예들에서, 무작위 서브세트 샘플링은, 그 포물선 피트 곡선(140a) 상에(또는 이에 충분히 가깝게) 인라이어 후보 포인트들의 최소 수보다 많은 수를 가진 포물선 피트 곡선(140a)이 발견될 때까지 반복될 수 있다. 예컨대, 후보 포인트는, 그가 포물선 피트 곡선의 임계 거리 내에 위치되는 경우 인라이어로서 식별될 수 있다. 그러나 일 예로서, 그 거리는 0.5 내지 2.0 픽셀들의 범위에 있을 수 있다. 상이한 임계 거리들이 가능하다. 다양한 실시예들에서, 위의 내용(예컨대, 고정된 수의 반복들 및 최소 수의 인라이어 후보 포인트들)의 조합은 후보 포인트들(136a 또는 136b)의 무작위 서브세트 샘플링 동안 사용될 수 있다.
[0034] 일부 실시예들에서, 포물선 피트 곡선들(140a-140d)은 스코어링되고 스코어 임계치에 비교된다. 스코어 임계치는 특정 에러 임계치 내의 눈꺼풀(104) 형상의 정확한 추정을 표시할 수 있다. 소벨 도함수는 포물선 피트 곡선들(140a-140d)을 스코어링하기 위해 사용될 수 있다. 예컨대, 포물선 피트 곡선(140a)은 포물선 피트 곡선(140a)을 따르는 각각의 후보 포인트(136a)를 따라 소벨 도함수를 합산함으로써 스코어링될 수 있다. 스코어링의 다른 예로서, 포물선 피트 곡선(140a)은 포물선 피트 곡선(140a)에 의해 교차된(또는 포물선 피트 곡선(140a)에 충분히 가까운, 예컨대 다수의 픽셀들 내의) 총 후보 포인트들의 수를 카운팅함으로써 스코어링될 수 있다.
[0035] 포물선 피트 곡선들(140a-140d)에 대한 스코어들은 상부 눈꺼풀(104a) 또는 하부 눈꺼풀(104b)에 대한 바람직한 포물선 라인을 식별하기 위해 사용될 수 있다. 예컨대, 가장 높은 스코어를 가진 포물선 피트 곡선은 그 눈꺼풀(104a 또는 104b)에 대한 바람직한 포물선 피트 곡선을 결정하기 위해 사용될 수 있다. 예컨대, 포물선 피트 곡선(140a)이 포물선 피트 곡선(140b)보다 더 높은 스코어를 가지면, 포물선 피트 곡선(140a)은 상부 눈꺼풀(104a)의 바람직한 포물선 피트인 것으로 결정될 수 있다.
[0036] 바람직한 포물선 피트 곡선이 결정될 때(예컨대, 가장 높은 스코어를 가짐), 포물선 피팅은 바람직한 포물선 라인을 결정하기 위해 사용된 인라이어 포인트들 또는 후보 포인트들(136a 또는 136b)의 본래 서브세트뿐 아니라, 다른 후보 포인트들(136a 또는 136b) 또는 인라이어 포인트들 중 일부 또는 모두를 사용하여 반복될 수 있다. 그런 리피팅 프로세스는 눈꺼풀의 실제 측정과 비교될 때 눈꺼풀 형상의 더 정확한 추정을 제공할 수 있다. 이런 리피팅 프로세스의 완료 시, 바람직한 포물선 피트 곡선은 눈꺼풀 경계를 가장 잘 나타내는 것으로 결정되고 그 눈꺼풀 경계로서 선택될 수 있다.
[0037] 본원에 설명된 피팅 프로세스 동안, 인라이어 포인트들 또는 후보 포인트들의 무작위 서브세트에 대한 피트는 특정 눈꺼풀에 대해 잘못된 방향으로 곡선진 라인을 초래할 수 있다. 예컨대, 상부 눈꺼풀은 일반적으로 하향으로 곡선지고 하부 눈꺼풀은 일반적으로 상향으로 곡선진다. 피트 라인이 특정 눈꺼풀에 대한 잘못된 곡률(예컨대, 상부 눈꺼풀에 대한 상향 곡률 또는 하부 눈꺼풀에 대해 하향 곡률)을 가지면, 피트 라인은 스코어링 프로세스로부터 거절될 수 있고, 이에 의해 프로세싱 리소스들이 절약되고 프로세스의 효율성이 개선된다.
[0038] 따라서, 일부 실시예들에서, 피트 라인은 피트 라인의 곡률의 부호에 기반하여 거절될 수 있고; 상부 눈꺼풀(104a)에 대해서는 포지티브 곡률들이 거절될 수 있고 하부 눈꺼풀(104b)에 대해서는 네거티브 곡률들이 거절될 수 있다. 다양한 구현들에서, 피트 라인의 곡률은 피팅 프로세스의 부분으로서 결정되거나(예컨대, 특정 피팅 계수가 곡률을 나타낼 수 있음), 또는 피트 라인의 곡률은 피트 라인에 의해 나타내지는 함수의 2차 도함수를 취함으로써 결정될 수 있다.
[0039] 일부 구현들에서, 눈 이미지는 선택적으로 이미지로부터 고주파 노이즈를 제거하기 위해 필터로 전-처리될 수 있다. 필터는 저역 통과 필터 또는 형태학(morphological) 필터, 이를테면 오픈(open) 필터일 수 있다. 필터는 변연 경계로부터 고주파 노이즈를 제거할 수 있고, 이에 의해 눈꺼풀 형상 추정을 방해할 수 있는 노이즈가 제거된다.
[0040] 전술한 예들이 포물선을 눈꺼풀에 피팅하는 맥락에서 설명되었지만, 이는 예시를 위한 것이고 제한되는 것으로 의도되지 않는다. 다른 구현들에서, 눈꺼풀 형상에 대한 임의의 적절한 함수(functional) 형태는 피팅 절차 동안 사용될 수 있다. 상부 눈꺼풀(104a)에 대한 함수 형태는 하부 눈꺼풀(104b)에 대한 함수 형태와 상이할 수 있지만, 그럴 필요는 없다. 눈꺼풀에 대한 함수 형태는 원뿔 형태(특정 경우로서 포물선을 포함함), 다항식(예컨대, 원뿔 형태를 나타내는 2보다 더 높은 차수를 가짐), 스플라인(spline), 유리 함수, 또는 임의의 다른 적합한 함수일 수 있다. 추가로, 다른 구현들에서, 눈꺼풀 형상 추정 기법은 후보 포인트들(136a 또는 136b)을 눈꺼풀(104a 또는 104b)에 대한 함수 형태에 피팅하기 위해 RANSAC(Random Sample Consensus) 알고리즘을 사용할 수 있다. 눈꺼풀 형상 추정 기법은 눈꺼풀 형상을 후보 포인트들(136a 또는 136b)에 피팅하기 위해 다른 통계적 또는 최적화 알고리즘들을 사용할 수 있다.
예시적 눈꺼풀 형상 추정 프로세스
[0041] 도 4는 눈꺼풀 형상 추정의 예시적 프로세스(400)의 흐름도이다. 프로세스(400)는 하드웨어 프로세서, 예컨대 증강 현실 디바이스의 하드웨어 프로세스에 의해 구현될 수 있다. 프로세스(400)는 블록(404)에서 시작된다. 블록(408)에서, 눈 이미지가 수신된다. 눈 이미지는 이미지 캡처 디바이스, 머리 장착 디스플레이 시스템, 서버, 비-일시적 컴퓨터 판독가능 매체, 또는 클라이언트 컴퓨팅 디바이스(예컨대, 스마트폰)를 포함하는 다양한 소스들로부터 수신될 수 있다. 눈 이미지는 눈(100)의 눈꺼풀들(104), 공막(108)(눈의 "백색 부분"), 홍채(112), 및 동공(116)을 포함할 수 있다.
[0042] 블록(412)에서, 눈-박스(120)는 눈 이미지에서 눈(100) 위에 생성될 수 있다. 눈-박스(120)는 눈 이미지에서 눈(100) 위에 눈-박스(120)를 오버레잉함으로써 눈 이미지에서 눈(100) 위에 생성될 수 있다. 눈 박스(120)는 눈 박스(120)를 눈 이미지의 특정 부분들에 맵핑함으로써 눈 이미지상에 오버레이될 수 있다. 일부 구현들에서, 눈-박스(120)는 디스플레이 시스템, 이를테면 머리 장착 디스플레이 시스템에 의해 컴퓨테이셔널적으로 눈 이미지상에 오버레이될 수 있다. 눈-박스(120)는, 변연 경계(112a) 또는 변연 경계(112a)의 근사화가 결정된 이후, 눈 이미지의 눈(100) 상에 오버레이될 수 있다. 예컨대, 변연 경계(112a)를 결정한 이후, 눈-박스(120)는, 변연 경계(112a)가 눈 이미지상에 오버레이된 눈-박스(120)의 경계 내부에 있도록 오버레이될 수 있다. 눈꺼풀들(104)에 의해 커버되지 않은 홍채(112)의 지역은 눈-박스(120)의 경계 내에 있을 수 있다. 일부 구현들에서, 블록(412)은 선택적인데, 그 이유는 눈 이미지가 눈꺼풀 형상 추정을 위해 사용된 눈(100)의 특정 부분들만을 포함할 수 있기 때문이다. 일부 그런 구현들에서, 눈 이미지의 하나 또는 그 초과의 에지들은 눈-박스(120)의 각각의 에지들과 유사하게 기능한다.
[0043] 눈-박스(120)는 직사각형 형상일 수 있다. 눈 박스(120)는 전체 홍채(112)를 포함하는 최소 사이즈 바운딩 박스이도록 사이즈가 정해질 수 있다. 예컨대, 눈 박스(120)는, 도 1-도 2의 눈 박스(120)의 수직 에지들(124a1, 124a2)이 홍채(112)의 변연 경계(112a)의 최외부 부분들에 접하도록 형상화될 수 있다. 눈 박스(120)는, 눈 박스(120)의 수평 에지(124b1(또는 124b2))가 실질적으로 도 1-도 2의 상부 눈꺼풀(104a)(또는 하부 눈꺼풀(104b)) 및 홍채(112)의 경계 외측으로 연장되도록 형상화될 수 있다. 따라서, 눈 박스(120)의 형상은 홍채(112)를 가리고 있는 상부 눈꺼풀(104a) 또는 하부 눈꺼풀(104b)의 에지에 기반하여 변화할 수 있다.
[0044] 일부 실시예들에서, 블록(412)은 선택적일 수 있다. 수신된 눈 이미지는 눈(100)의 부분들만을 포함할 수 있다. 예컨대, 눈 이미지는 눈(100)의 눈꺼풀들(104), 공막(108), 홍채(112) 및 동공(116)의 부분들을 포함할 수 있다. 다른 예로서, 눈-박스(120)는 눈꺼풀들(104)에 의해 커버되지 않은 홍채(112)의 지역을 포함할 수 있다. 변연 경계(112a) 또는 변연 경계(112a)의 부분이 눈-박스(120)의 경계 내에 있다면, 눈 이미지에서 눈(100) 위에 눈-박스(120)를 생성하는 것은 선택적일 수 있다. 눈 이미지의 에지들은 눈-박스(120)의 에지들로서 고려될 수 있다. 수신된 눈 이미지는 눈-박스(120) 내부에 있는 것으로 고려되고, 에지들은 눈 이미지의 에지들에 대응한다.
[0045] 블록(416)에서, 복수의 방사상 라인들(128a)은 동공(116)으로부터(예컨대, 동공(116)의 중심으로부터 또는 중심 주위에서 발산됨) (상부 눈꺼풀(104a)에 대한) 눈 박스(120)의 최상부 에지(124b1)를 향해 또는 (하부 눈꺼풀(104b)에 대한) 눈 박스(120)의 최하부 에지(124b2)를 향해 생성될 수 있다. 방사상 라인(128a)은 상부 눈꺼풀(104a)에 더 가까운 수평 에지(124b1)의 제1 픽셀로부터 하부 눈꺼풀(104b)에 더 가까운 수평 에지(124b2)의 최종 픽셀까지의 라인일 수 있다. 방사상 라인(128a)은 상부 눈꺼풀(104a)에 더 가까운 수평 에지(124b1)의 제2 픽셀로부터 하부 눈꺼풀(104b)에 더 가까운 수평 에지(124b2)의 n-1 픽셀까지의 라인일 수 있고, n은 눈-박스(120)의 폭을 나타낸다.
[0046] (각각의 눈꺼풀에 대한) 방사상 라인들(128a)의 수는 픽셀들로 측정된 이미지의 폭만큼 많을 수 있거나, 이 폭의 서브샘플링일 수 있다. 예컨대, 눈꺼풀 형상에 우수한 피트를 제공하기 위해 충분한 라인들이 눈꺼풀들을 교차하도록, 눈꺼풀 형상 추정에 사용될 특정 방사상 라인들을 선택하기 위해 샘플링 프로세스가 사용될 수 있다. 다른 실시예들에서, 방사상 라인들(128a)의 수는 눈꺼풀 형상이 특정 에러 임계치 내로 추정되는 것을 허용하는 최소의 라인들의 수(예컨대, 3개)이도록 최적화될 수 있다. 라인들의 수는 (각각의 눈꺼풀에 대해) 통상적으로 180도 미만인, 눈 이미지에서 눈꺼풀에 의해 나타나는 통상적인 각도 범위를 나타낼 수 있다.
[0047] 블록(420)에서, 복수의 방사상 라인들(128a)에 대한 후보 포인트들(136a 또는 136b)이 결정될 수 있다. 후보 포인트들(136a 또는 136b)은 예컨대 에지 검출을 사용하여 결정될 수 있다. 에지 검출은 다양한 에지 검출기들, 에지 검출 알고리즘들 또는 필터들에 의해 적용될 수 있다. 예컨대, 캐니 에지 검출기는 이미지의 라인들의 에지들을 검출하기 위해 이미지에 적용될 수 있다. 에지들은 로컬 최대 도함수들에 대응하는 라인을 따라 위치된 포인트들이다. 검출된 포인트들은 후보 포인트들로서 지칭될 수 있다. 에지 검출기는 또한 후보 포인트들로부터 비-관심 포인트들을 검출하여 배제할 수 있다. 예컨대, 동공 경계(116a) 또는 변연 경계(112a)를 따르는 포인트들은 후보 포인트들로부터 배제될 수 있다. 선택적으로, 에지 검출을 적용하기 전에, 필터들은 눈 이미지에 적용되어 고주파 노이즈를 필터링할 수 있다. 예컨대, 형태학 오픈(morphological open) 필터가 눈 이미지에 적용될 수 있다.
[0048] 블록(424)에서, 눈꺼풀 형상 곡선은 후보 포인트들에 피팅된다. 눈꺼풀 형상 곡선은 포물선 형상인 포물선 피트 곡선(140a)일 수 있다. 포물선은 3개(또는 그 초과)의 후보 포인트들(136a)을 통과하도록 피팅될 수 있다. 예컨대, 3개의 후보 포인트들(136a)의 무작위 서브세트는 후보 포인트들(136a)의 리스트로부터 도출된다. 무작위 서브세트는 무작위 샘플링 프로세스 또는 방법을 통해 선택될 수 있다. 포물선 피트(140a)는 무작위 서브세트에서의 후보 포인트들을 사용하여 만들어질 수 있다. 포물선 피트 곡선(140c)은 후보 포인트들(136b)의 무작위 서브세트를 사용하여 하부 눈꺼풀(104b)의 피트를 도시한다.
[0049] 선택적으로, 판정 블록(428)에서, 눈꺼풀 형상 곡선이 바람직한 눈꺼풀 형상 곡선인지가 결정된다. 예컨대, 눈꺼풀 형상 곡선은 스코어링되고 스코어 임계치에 비교될 수 있다. 스코어 임계치는 특정 에러 임계치 내의 눈꺼풀(104) 형상의 정확한 추정을 표시할 수 있다. 소벨 도함수는 눈꺼풀 형상 곡선을 스코어링하기 위해 사용될 수 있다. 예컨대, 눈꺼풀 형상 곡선은 눈꺼풀 형상 곡선을 따르는 각각의 후보 포인트(136a 또는 136b)를 따른 소벨 도함수를 합산함으로써 스코어링될 수 있다. 스코어링의 다른 예로서, 눈꺼풀 형상 곡선은 눈꺼풀 형상 곡선에 의해 교차된(또는 눈꺼풀 형상 곡선에 충분히 가까운, 예컨대 다수의 픽셀들 내의) 총 후보 포인트들(136a 또는 136b)의 수를 카운팅함으로써 스코어링될 수 있다. 블록(424)에서 결정된 눈꺼풀 형상 곡선이 바람직한 눈꺼풀 형상 곡선이 아니면, 블록(424)은 반복된다. 블록(424)에서 결정된 눈꺼풀 형상 곡선이 바람직한 눈꺼풀 형상 곡선이면, 프로세스(400)는 블록(432)으로 진행된다.
[0050] 블록(432)에서, 바람직한 눈꺼풀 형상 곡선이 결정될 때, 눈꺼풀 형상 곡선의 피팅은 인라이어 포인트들을 사용하여 선택적으로 반복될 수 있다. 그런 리피팅 프로세스는 눈꺼풀(104)의 실제 측정과 비교될 때 눈꺼풀 형상의 더 정확한 추정을 제공할 수 있다. 이런 리피팅 프로세스의 완료 시, 리피팅 프로세스에 의해 피팅된 눈꺼풀 형상 곡선은 눈꺼풀 경계를 가장 잘 나타내는 것으로 결정되고 그 눈꺼풀 경계로서 선택될 수 있다. 그 후, 블록(436)에서, 프로세스(400)는 종료된다.
[0051] 도 5는 눈꺼풀 형상 추정의 다른 예시적 프로세스(500)의 흐름도이다. 프로세스(500)는 하드웨어 프로세서에 의해 구현될 수 있다. 프로세스(500)는 블록(504)에서 시작된다. 블록(508)에서, 눈 이미지가 수신된다. 눈 이미지는 이미지 캡처 디바이스, 머리 장착 디스플레이 시스템, 서버, 비-일시적 컴퓨터 판독가능 매체, 또는 클라이언트 컴퓨팅 디바이스(예컨대, 스마트폰)(그러나 이에 제한되지 않음)를 포함하는 다양한 소스들로부터 수신될 수 있다.
[0052] 블록(520)에서, 에지 검출은 눈 이미지에 적용되어 후보 포인트들(136a 또는 136b)을 결정할 수 있다. 에지 검출은 다양한 에지 검출기들, 에지 검출 알고리즘들 또는 필터들에 의해 적용될 수 있다. 예컨대, 캐니 에지 검출기는 이미지의 라인들의 에지들을 검출하기 위해 이미지에 적용될 수 있다. 에지들은 로컬 최대 도함수들에 대응하는 라인을 따라 위치된 포인트들일 수 있다. 검출된 포인트들은 후보 포인트들(136a 또는 136b)로서 지칭될 수 있다. 에지 검출기는 또한 후보 포인트들로부터 비-관심 포인트들을 검출하여 배제할 수 있다. 예컨대, 동공 경계(116a) 또는 변연 경계(112a)를 따르는 포인트들은 후보 포인트들(136a 또는 136b)로부터 배제될 수 있다. 선택적으로, 에지 검출을 적용하기 전에, 필터들은 눈 이미지에 적용되어 고주파 노이즈를 필터링할 수 있다. 예컨대, 형태학 필터가 눈 이미지에 적용될 수 있다.
[0053] 블록(524)에서, 눈꺼풀 형상 곡선(140a-140d)은 후보 포인트들(136a 또는 136b)에 피팅될 수 있다. 다양한 구현들에서, 눈꺼풀 형상 곡선(140a-140d)은 도 3을 참조하여 위에서 설명된 다양한 피팅 프로세스들을 따라 피팅될 수 있다. 그 후, 블록(536)에서, 프로세스(500)는 종료된다.
[0054] 다양한 실시예들에서, 프로세스들(400 또는 500)은 머리 장착 디스플레이 시스템의 하드웨어 프로세서에 의해 수행될 수 있다. 다른 실시예들에서, 컴퓨터-실행가능 명령들을 가진 원격 컴퓨팅 디바이스는 머리 장착 디스플레이 시스템이 프로세스들(400 또는 500)을 수행하게 할 수 있다. 프로세스들(400 또는 500)의 일부 실시예들에서, 엘리먼트들은 위에서 설명된 것과 다른 시퀀스들로 발생할 수 있다. 당업자는, 부가적인 변형들이 가능하고 본 개시내용의 범위 내에 있는 것을 인식할 것이다.
후보 포인트들로서 동공 경계 또는 변연 경계를 따르는 잠재적 후보 포인트들을 배제하는 예시적 눈꺼풀 형상 추정 프로세스
[0055] 일부 실시예들에서, 후보 포인트들(136a 또는 136b)로서 동공 경계(116a) 또는 변연 경계(112a)를 따르는 잠재적 후보 포인트들을 배제하는 것이 유리할 수 있다. 동공 경계(116a) 또는 변연 경계(112a)의 임계 거리(예컨대, 2 픽셀들) 상의 또는 내의 잠재적 후보 포인트들은 후보 포인트들(136a 또는 136b)로서 배제될 수 있다. 나머지 후보 포인트들(136a 또는 136b)은 상부 눈꺼풀 형상 또는 하부 눈꺼풀 형상을 결정하기 위해 사용될 수 있다. 눈꺼풀 형상을 결정하기 위해 사용된 후보 포인트들(136a 또는 136b)이 동공 경계(116a) 또는 변연 경계(112a)를 따르는 포인트들을 포함하면, 결정된 눈꺼풀 형상은 정확하지 않을 수 있다. 추가로, 정확한 눈꺼풀 형상, 예컨대 스코어 임계치 초과의 눈꺼풀 형상을 결정하기 위해, 후보 포인트들은 눈꺼풀에 대해 다수의 가능한 눈꺼풀 형상 곡선들을 결정하기 위해 여러번 샘플링되어야 할 수 있다. 눈꺼풀에 대해 다수의 가능한 눈꺼풀 형상 곡선들을 결정하는 것은 더 많은 계산들을 요구하고 덜 효율적일 수 있다.
[0056] 도 6은 후보 포인트들로서 동공 경계 또는 변연 경계를 따르는 잠재적 후보 포인트들을 배제하는 눈꺼풀 형상 추정의 예시적 프로세스(600)의 흐름도이다. 프로세스(600)는 604에서 시작된다. 블록(608)에서, 눈 이미지가 수신된다. 눈 이미지는 이미지 캡처 디바이스, 머리 장착 디스플레이 시스템, 서버, 비-일시적 컴퓨터 판독가능 매체, 또는 클라이언트 컴퓨팅 디바이스(예컨대, 스마트폰)로부터 수신될 수 있다. 눈 이미지에서 변연 경계(112a) 또는 눈 이미지에서 동공 경계(116a)는 블록(608)에서 수신되거나 결정될 수 있다. 블록(610)에서, 눈 이미지는 고주파 노이즈를 제거하기 위한 필터(예컨대, 형태학 오픈 필터)로 선택적으로 프로세싱될 수 있다.
[0057] 블록(612)에서, 눈-박스(120)는, (예컨대, 변연 경계(112a)와 동공 경계(116a) 사이의 영역에 의해 나타내어진) 홍채(112)가 눈-박스(120)의 경계 내측에 있도록, 눈 이미지상에 오버레이될 수 있다. 일부 구현들에서, 눈꺼풀들(104) 또는 눈꺼풀들(104)의 부분은 또한 눈-박스(120)의 경계 내측에 있을 수 있다. 눈 이미지는, 홍채(112)가 눈-박스의 경계 내측에 있도록 최소 이미지 사이즈를 가지게 절단될 수 있다. 눈-박스(120)의 형상은 상이한 구현들에서 상이할 수 있다. 예컨대, 눈-박스(120)는 직사각형 형상일 수 있다. 프로세스(400)의 블록(412)과 마찬가지로, 블록(612)은 선택적일 수 있다.
[0058] 블록(614)에서, 눈 이미지에서 에지들은 에지 검출기를 사용하여 검출될 수 있다. 눈 이미지에서 에지들은 일반적으로 동공 경계(116a), 변연 경계(112a), 및 눈꺼풀들(104)을 나타낼 수 있다. 에지 검출기는 캐니 에지 검출기일 수 있다. 눈 이미지에서 에지들은 눈 이미지에서 로컬 최대 도함수들일 수 있다. 일부 구현들에서, 로컬 최대 도함수들은 미리-컴퓨팅되고 룩-업 테이블에 저장될 수 있다.
[0059] 블록(616)에서, 복수의 방사상 라인들(128a) 또는 수직 라인들(128b)은 눈-박스(120) 내측에 생성될 수 있다. 방사상 라인들(128a)은 동공(116)의 중심 또는 중심 주위로부터 눈-박스(120)의 최상부 에지(124b1)를 향해 발산되고 상부 눈꺼풀(104a)을 결정하기 위해 사용될 수 있다. 일부 구현들에서, 수직 라인들(128b)은 이등분 라인(132)으로부터 최상부 에지(124b1)를 향해 발산되고 상부 눈꺼풀(104a)을 결정하기 위해 사용될 수 있다.
[0060] 블록(620)에서, 복수의 방사상 라인들(128a)에 대해 후보 포인트들(136a)이 결정될 수 있다. 방사상 라인(128a)의 후보 포인트(136a)는 눈 이미지에서 에지를 교차하는 방사상 라인(128a)의 포인트일 수 있다. 후보 포인트(136a)는 에지 검출기를 사용하여 결정될 수 있다. 눈 이미지에서 후보 포인트(136a)는 룩-업 테이블에 선택적으로 저장될 수 있는 눈 이미지의 로컬 최대 도함수를 가질 수 있다. 선택적으로, 잠재적 후보 포인트가 동공 경계(116a) 또는 변연 경계(112a)를 따르면, 잠재적 후보 포인트는 후보 포인트들(136a)로부터 배제될 수 있다. 잠재적 후보 포인트는 동공 경계(116a) 또는 변연 경계(112a)의 임계 거리(예컨대, 2 픽셀들) 상에 또는 내에 있을 수 있다. 나머지 후보 포인트들(136a)은 상부 눈꺼풀(104a)을 결정하기 위해 사용될 수 있다.
[0061] 블록(624)에서, 눈꺼풀 형상에 대한 수학적 피트는 후보 포인트들(136a)로부터 결정될 수 있다. 예컨대, RANSAC 또는 다른 최적화 또는 피팅 알고리즘이 사용될 수 있다. 하나의 예시적 구현에서, 몇몇 반복 횟수들 동안, 다음 동작들이 수행된다. 후보 포인트들(136a)의 서브세트가 선택될 수 있다. 눈꺼풀 형상 곡선이 선택된 후보 포인트들(136a)의 서브세트에 피팅될 수 있다. 포물선 형상을 가진 눈꺼풀 형상 곡선이 포물선 피트 곡선(140a)일 수 있다. 일부 구현들에서, 눈꺼풀 형상 곡선은 포물선 형상을 가지지 않는다. 눈꺼풀 형상 곡선과 교차하는(또는 포물선 피트 곡선의 임계 거리 내에 놓이는) 후보 포인트들(136a)의 수는 눈꺼풀 형상 곡선에 대한 스코어로서 결정될 수 있다. 일부 구현들에서, 눈꺼풀 형상 곡선에 대한 후보 포인트들(136a)의 평균 거리는 눈꺼풀 형상 곡선의 스코어로서 결정될 수 있다. 다음 반복 시, 후보 포인트들(136a)의 상이한 서브세트는 눈꺼풀 형상 곡선을 결정하기 위해 사용될 수 있다. 이들 동작들은 다수의 반복들 동안 반복될 수 있다. 반복들의 수는 고정된 수일 수 있거나, 또는 동작들은, 인라이어 후보 포인트들의 최대 수보다 많은 수를 가진 눈꺼풀 형상 곡선이 발견될 때까지 반복될 수 있다. 인라이어 후보 포인트는 눈꺼풀 형상 곡선의 임계 거리(예컨대, 다수의 픽셀들) 내에 있는 후보 포인트(136a)일 수 있다.
[0062] 블록(628)에서, 큰 스코어, 예컨대 가장 큰 스코어를 가진 눈꺼풀 형상 곡선은 초기 후보 눈꺼풀 형상 곡선으로서 선택될 수 있다. 일부 구현들에서, 초기 후보 눈꺼풀 형상 곡선은 눈꺼풀 형상을 정확하게 나타내는 것으로 고려되도록 충분히 높은(예컨대, 임계치 초과) 스코어를 가진다.
[0063] 선택적으로, 블록(632)에서, 초기 눈꺼풀 형상 후보 곡선에 대한 인라이어들이 식별될 수 있다. 예컨대, 인라이어들은 초기 눈꺼풀 형상 후보 곡선의 임계 거리(예컨대, 다수의 픽셀들) 상의 또는 내의 후보 포인트들(136a)을 포함할 수 있다. 나머지 후보 포인트들은 아웃라이어들이고 눈꺼풀 형상을 나타내지 않는 것으로서 폐기된다. 새로운 눈꺼풀 형상 곡선(예컨대, 새로운 포물선 피트 곡선(140a))은 인라이어 포인트들 중 일부 또는 모두를 피팅함으로써 결정될 수 있다. 결과적인 눈꺼풀 형상 곡선은 눈꺼풀의 형상에 대한 가장 우수한 추정으로 고려될 수 있다.
[0064] 프로세스(600)는 하부 눈꺼풀(104b)에 대해 반복될 수 있다. 예컨대, 프로세스(600)의 블록들(620, 624, 628 및 632)은 하부 눈꺼풀(104b)에 대해 반복될 수 있다. 상부 눈꺼풀(104a) 및 하부 눈꺼풀(104b)을 결정하는 순서는 상이한 구현들에서 상이할 수 있다. 예컨대, 상부 눈꺼풀(104a)의 형상은 하부 눈꺼풀(104b)의 형상이 결정되기 전에 결정될 수 있다. 다른 예로서, 하부 눈꺼풀(104b)의 형상은 상부 눈꺼풀(104a)의 형상이 결정되기 전에 결정될 수 있다. 또 다른 예로서, 상부 눈꺼풀(104a)의 형상 및 하부 눈꺼풀(104b)의 형상은 동시에 결정될 수 있다. 프로세스(600)는 블록(636)에서 종료된다.
비디오 프로세싱을 위한 눈꺼풀 형상 추정의 예시적 애플리케이션들
[0065] 본원에 개시된 눈꺼풀 형상 추정 기법들을 사용하는 시스템들 및 방법들은 비디오 이미저리의 맥락 내에서 이미지 프로세싱에서 종래의 문제들에 대한 다른 솔루션들을 처리하거나 개선할 수 있다. 부가적으로 이미지 프로세싱에서의 다른 문제들이 처리될 수 있다. 예컨대, 눈꺼풀 형상 추정 기법들은 비디오에서 프레임들의 이미지를 분류(예컨대, 눈의 홍채(112)를 식별)뿐 아니라, 비디오의 하나 또는 그 초과의 프레임들 내의 특정 객체 타입들의 로컬리제이션(예컨대, 상부 눈꺼풀(104a)의 위치)에 사용될 수 있다. 다른 예로서, 눈꺼풀 형상 추정 기법들은 (예컨대, 눈의 배향 또는 방향을 결정하는) 눈-추적의 애플리케이션을 위해 비디오에 적용될 수 있다.
[0066] 일부 그런 애플리케이션들에서, 아래에서 추가로 논의될 바와 같이, 착용가능 디스플레이 시스템은 착용가능 디스플레이 시스템에 동작가능하게 커플링된(예컨대, 부착되거나 포함된) 이미지 캡처 디바이스에 의해 획득된 비디오 데이터에 대해 눈꺼풀 형상 추정을 수행하는 프로세서를 포함할 수 있다. 이미지 캡처 디바이스는 눈꺼풀 형상 추정 기법들에 기반하여 눈 박스들(120)을 생성하거나 눈꺼풀 형상을 추정하는데 사용하기 위해 착용자의 눈의 비디오 또는 사용자의 몸체의 다른 컴포넌트들(예컨대, 손 또는 손가락)의 비디오를 획득할 수 있다.
[0067] 눈꺼풀 형상 추정 기법들의 사용은 유리하게 (예컨대, 착용가능 디스플레이 시스템의 이미지 캡처 디바이스로부터 획득된) 비디오에서 눈꺼풀들의 인식을 허용하고, 이는 생체 인증 정보 같은 비디오 내의 객체들의 개선된 인식 또는 분류를 허용할 수 있다. 예컨대, 종래의 홍채 세분화 기법은 눈의 세분화를 결정하는 데 어려움을 겪을 수 있다. 그러나, 본원에 설명된 눈꺼풀 형상 추정 기법들은 동공 경계(116a)와 변연 경계(112a) 사이를 더 잘 구별하기 위해 사용될 수 있는데, 그 이유는 (일반적으로) 홍채(112)의 부분이 눈꺼풀(104)에 의해 가려질 것인 반면, 동공(116)은 (일반적으로) 가져지지 않을 것이기 때문이다. 따라서, 도 1 - 도 4에 예시된 눈꺼풀 형상 추정 기법들은 눈꺼풀(104)에 의해 가려지지 않은 눈(100)의 부분들을 인식하기 위해 사용될 수 있고 생체 인증 추출에 사용되는 더 정확한 홍채 세분화를 제공할 수 있다.
예시적 착용가능 디스플레이 시스템
[0068] 일부 실시예들에서, 사용자 디바이스는 착용가능할 수 있고, 이는 유리하게 더 실감형 VR(virtual reality), AR(augmented reality) 경험을 제공할 수 있고, 여기서 디지털적으로 재생된 이미지들 또는 이들의 부분들은, 이들이 실제인 것으로 보이거나, 실제로서 인식될 수 있는 방식으로 착용자에게 제시된다.
[0069] 이론에 의해 제한되지 않고, 인간 눈이 통상적으로 심도 인식을 제공하기 위해 유한의 수의 심도 평면들을 해석할 수 있다는 것으로 여겨진다. 결과적으로, 인식된 심도의 매우 믿을만한 시뮬레이션은, 눈에, 이들 제한된 수의 심도 평면들 각각에 대응하는 이미지의 상이한 프리젠테이션들을 제공함으로써 달성될 수 있다. 예컨대, 도파관들의 스택을 포함하는 디스플레이들은 사용자, 또는 뷰어의 눈들의 전면에 포지셔닝되어 착용되도록 구성될 수 있다. 도파관들의 스택은 복수의 도파관들을 사용하여 광을, 이미지 주입 디바이스(예컨대, 이미지 정보를 하나 또는 그 초과의 광섬유들을 통해 파이핑하는 멀티플렉싱된 디스플레이의 이산 디스플레이들 또는 출력 단부들)로부터 특정 도파관과 연관된 심도 평면에 대응하는 특정 각도들(및 발산 양들)로 뷰어의 눈으로 지향시킴으로써 3-차원 인식을 눈/뇌에 제공하기 위해 활용될 수 있다.
[0070] 일부 실시예들에서, 도파관들의 2개의 스택들(뷰어의 각각의 눈에 대해 하나)은 각각의 눈에 상이한 이미지들을 제공하기 위해 활용될 수 있다. 일 예로서, 증강 현실 장면은, AR 기술의 착용자가 배경 내의 사람들, 나무들, 빌딩들, 및 콘크리트 플랫폼을 특징으로 하는 실세계 공원형 세팅을 보도록 할 수 있다. 이들 아이템들 외에, AR 기술의 착용자는 또한, 로봇 동상 및 호박벌이 실세계에 존재하지 않는다고 해도 그가 실세계 플랫폼상에 서있는 로봇 동상, 및 호박벌의 의인화인 것으로 보여지는 날고 있는 만화형 아바타 캐릭터를 보는 것을 인식할 수 있다. 도파관들의 스택(들)은 입력 이미지에 대응하는 광 필드를 생성하기 위해 사용될 수 있고 일부 구현들에서, 착용가능 디스플레이는 착용가능 광 필드 디스플레이를 포함한다. 광 필드 이미지들을 제공하기 위한 착용가능 디스플레이 디바이스 및 도파관 스택들의 예들은 미국 특허 공개 번호 제 2015/0016777호에 설명되고, 이 공개 특허는 이로써 인용에 의해 포함된 모든 것에 대해 그 전체가 본원에 통합된다.
[0071] 도 7은 VR, AR 또는 MR 경험을 디스플레이 시스템 착용자 또는 뷰어(704)에게 제시하기 위해 사용될 수 있는 착용가능 디스플레이 시스템(700)의 예를 예시한다. 착용가능 디스플레이 시스템(700)은 본원에 설명된 애플리케이션들 또는 실시예들 중 임의의 것(예컨대, 눈-박스 생성 또는 눈꺼풀 형상 추정)을 수행하도록 프로그래밍될 수 있다. 디스플레이 시스템(700)은 디스플레이(708), 및 그 디스플레이(708)의 기능을 지원하기 위한 다양한 기계적 및 전자적 모듈들 및 시스템들을 포함한다. 디스플레이(708)는 디스플레이 시스템 착용자 또는 뷰어(704)에 의해 착용가능하고 그리고 착용자(704)의 눈들의 전면에 디스플레이(708)를 포지셔닝하도록 구성된 프레임(712)에 커플링될 수 있다. 디스플레이(708)는 광 필드 디스플레이일 수 있다. 일부 실시예들에서, 스피커(716)는 프레임(712)에 커플링되고 사용자의 외이도(ear canal)에 인접하게 포지셔닝된다(일부 실시예들에서, 도시되지 않은 다른 스피커는 사용자의 다른 외이도에 인접하게 포지셔닝되어 스테레오/형상화가능 사운드 제어를 제공함). 디스플레이(708)는 다양한 구성들로 장착될 수 있는, 이를테면 프레임(712)에 고정되게 부착되거나, 사용자에 의해 착용된 헬멧 또는 모자에 고정되게 부착되거나, 헤드폰들에 내장되거나, 그렇지 않으면 사용자(704)에게 제거가능하게 부착되는(예컨대, 백팩(backpack)-스타일 구성으로, 벨트-커플링 스타일 구성으로) 로컬 데이터 프로세싱 모듈(724)에, 이를테면 유선 리드 또는 무선 연결성에 의해, 동작가능하게 커플링된다(720).
[0072] 로컬 프로세싱 및 데이터 모듈(724)은 하드웨어 프로세서뿐 아니라, 비-일시적 디지털 메모리, 이를테면 비-휘발성 메모리(예컨대, 플래시 메모리)를 포함할 수 있고, 이 둘 모두는 데이터의 프로세싱, 캐싱(caching) 및 저장을 돕기 위해 활용될 수 있다. 데이터는 (a) 센서들(예컨대 프레임(712)에 동작가능하게 커플링되거나 그렇지 않으면 착용자(704)에게 부착될 수 있음), 이를테면 이미지 캡처 디바이스들(이를테면 카메라들), 마이크로폰들, 관성 측정 유닛들, 가속도계들, 컴파스(compass)들, GPS 유닛들, 라디오 디바이스들, 및/또는 자이로들로부터 캡처되고; 그리고/또는 (b) 원격 프로세싱 모듈(728) 및/또는 원격 데이터 저장소(732)를 사용하여 포착되고 그리고/또는 프로세싱되고, 그런 프로세싱 또는 리트리벌(retrieval) 후 가능하게 디스플레이(708)에 전달되는 데이터를 포함한다. 로컬 프로세싱 및 데이터 모듈(724)은 통신 링크들(736, 740)에 의해, 이를테면 유선 또는 무선 통신 링크들을 통하여, 원격 프로세싱 모듈(728) 및 원격 데이터 저장소(732)에 동작가능하게 커플링될 수 있어서, 이들 원격 모듈들(728, 732)은 서로 동작가능하게 커플링되고 로컬 프로세싱 및 데이터 모듈(724)에 대한 리소스들로서 이용가능하다. 이미지 캡처 디바이스(들)는 눈꺼풀 형상 추정 절차들에 사용되는 눈 이미지들을 캡처하기 위해 사용될 수 있다.
[0073] 일부 실시예들에서, 원격 프로세싱 모듈(728)은 데이터 및/또는 이미지 정보, 이를테면 이미지 캡처 디바이스에 의해 캡처된 비디오 정보를 분석 및 프로세싱하도록 구성된 하나 또는 그 초과의 프로세서들을 포함할 수 있다. 비디오 데이터는 로컬 프로세싱 및 데이터 모듈(724) 및/또는 원격 데이터 저장소(732)에 로컬적으로 저장될 수 있다. 일부 실시예들에서, 원격 데이터 저장소(732)는 "클라우드" 리소스 구성에서 인터넷 또는 다른 네트워킹 구성을 통하여 이용가능할 수 있는 디지털 데이터 저장 설비를 포함할 수 있다. 일부 실시예들에서, 모든 데이터는 저장되고 모든 컴퓨테이션(computation)들은 로컬 프로세싱 및 데이터 모듈(724)에서 수행되고, 이는 원격 모듈로부터 완전히 자율적인 사용을 허용한다.
[0074] 일부 구현들에서, 로컬 프로세싱 및 데이터 모듈(724) 및/또는 원격 프로세싱 모듈(728)은 본원에 설명된 바와 같이 눈 박스를 생성하고 눈꺼풀 형상을 추정하는 실시예들을 수행하도록 프로그래밍된다. 예컨대, 로컬 프로세싱 및 데이터 모듈(724) 및/또는 원격 프로세싱 모듈(728)은 본원에 설명된 실시예들을 수행하도록 프로그래밍될 수 있다. 로컬 프로세싱 및 데이터 모듈(724) 및/또는 원격 프로세싱 모듈(728)은 생체 인증 추출시 본원에 개시된 눈꺼풀 형상 추정 기법들을 사용하여 예컨대 착용자(704)의 아이덴티티를 식별하거나 인증하거나, 또는 눈 시선 또는 포즈 추정시 예컨대 각각의 눈이 보고 있는 방향을 결정하도록 프로그래밍될 수 있다. 이미지 캡처 디바이스는 특정 애플리케이션에 대한 비디오(예컨대, 눈-추적 애플리케이션에 대해 착용자의 눈의 비디오 또는 제스처 식별 애플리케이션에 대해 착용자의 손 또는 손가락의 비디오)를 캡처할 수 있다. 비디오는 눈꺼풀 추정 기법들을 사용하여 프로세싱 모듈들(724, 728) 중 하나 또는 둘 모두에 의해 분석될 수 있다. 이런 분석으로, 프로세싱 모듈들(724, 728)은 눈꺼풀 형상 추정 또는 검출 및/또는 생체 인증 추출, 눈 포즈 결정 등을 수행할 수 있다. 일부 경우들에서, 눈꺼풀 형상 추정의 적어도 일부를 원격 프로세싱 모듈에(예컨대, "클라우드에") 오프-로딩(off-loading)하는 것은 컴퓨테이션들의 효율성 또는 스피드를 개선할 수 있다. 눈꺼풀 형상 추정에 대한 파라미터들(예컨대, 필터들의 가중치들, 바이어스 항들, 랜덤 서브세트 샘플링 팩터들, 수, 및 사이즈(예컨대, 소벨 도함수 연산자), 등)는 데이터 모듈들(724 및/또는 732)에 저장될 수 있다.
[0075] 이미지 프로세싱의 예시적 예로서, 프로세싱 모듈(724)은 이미지 캡처 디바이스로부터 수신된 눈 이미지로부터의 생체 인증 정보를 추출하고 수치 표현으로 포뮬레이팅(formulate)할 수 있다. 프로세싱 모듈(724)은 또한 수치 계산들을 수행하여 눈 이미지로부터 추출된 생체 인증 정보를 이미지 프로세싱 결과로 변환하는 전달 함수로서 눈 박스를 나타낼 수 있다. 차례로, 이미지 프로세싱 결과는 예컨대 본원에 설명된 눈꺼풀 형상 추정 방법에서의 추가 프로세싱을 위해 사용될 수 있다. 이미지 프로세싱 결과 및 전달 함수 둘 모두는 원격 데이터 저장소(732)에 저장될 수 있다. 이미지 프로세싱의 이런 예시적 예가 프로세싱 모듈(724)로 프로세싱되지만, 다양한 구현들에서, 원격 프로세싱 모듈(728)이 눈 이미지의 그런 이미지 프로세싱을 수행할 수 있다. 부가적으로, 프로세싱 모듈들(724, 728)은 눈 이미지의 그런 이미지 프로세싱을 함께 수행할 수 있다.
[0076] 비디오 분석의 결과들(예컨대, 눈꺼풀의 추정된 형상)은 부가적인 연산들 또는 프로세싱을 위해 프로세싱 모듈들(724, 728) 중 하나 또는 둘 모두에 의해 사용될 수 있다. 예컨대, 다양한 애플리케이션들에서, 생체 인증 식별, 눈-추적, 제스처들, 객체들, 포즈들의 인식 또는 분류 등은 착용가능 디스플레이 시스템(700)에 의해 사용될 수 있다. 예컨대, 착용자의 눈(들)의 비디오는 눈꺼풀 형상 추정에 사용될 수 있고, 차례로 프로세싱 모듈들(724, 728)에 의해 사용되어 디스플레이(708)를 통해 착용자(704)의 시선 방향을 결정할 수 있다. 착용가능 디스플레이 시스템(700)의 프로세싱 모듈들(724, 728)은 본원에 설명된 비디오 또는 이미지 프로세싱 애플리케이션들 중 임의의 것을 수행하기 위해 눈 박스 생성 또는 눈꺼풀 형상 추정의 하나 또는 그 초과의 실시예들로 프로그래밍될 수 있다.
부가적인 양상들
[0077] 본원에 설명된 눈꺼풀 형상 추정 기법들은 이미지(예컨대, 비디오 프레임)에 적용될 수 있다. 눈-박스 생성 및 눈꺼풀 형상 추정 둘 모두는 눈의 이미지를 프로세싱하기 위한 단일 프로세스 및/또는 방법론으로서 함께 보여질 수 있다.
[0078] 제1 양상에서, 눈꺼풀 형상 추정을 위한 방법이 개시된다. 방법은 하드웨어 프로세서의 제어하에 있고: 눈 이미지에서 눈 위에 눈 박스를 생성하는 단계 ― 눈 박스는 상부 에지 및 하부 에지를 가진, 형상이 직사각형이고, 상부 에지는 눈의 상부 눈꺼풀의 부분을 오버레이하고, 그리고 하부 에지는 눈의 하부 눈꺼풀의 부분을 오버레이함 ―; 눈-박스의 거의 중심으로부터 상부 에지 또는 하부 에지로 연장되는 복수의 방사상 라인들을 생성하고, 에지 검출기를 사용하여 복수의 방사상 라인들 상의 후보 포인트들을 결정하는 단계; 및 후보 포인트들의 서브세트로부터 포물선 피트 곡선을 결정하는 단계를 포함하고, 포물선 피트 곡선은 눈 이미지에서 눈의 눈꺼풀 형상의 추정이다.
[0079] 제2 양상에서, 양상 1의 방법으로서, 눈-박스는 정사각형 형상이다.
[0080] 제3 양상에서, 양상들 1-2 중 어느 하나의 방법으로서, 포물선 피트 곡선의 스코어가 임계 스코어를 초과하는 것을 결정하는 단계; 및 포물선 라인이 눈 이미지에서 눈의 눈꺼풀 형상의 바람직한 추정인 것을 결정하는 단계를 더 포함한다.
[0081] 제4 양상에서, 양상 3의 방법으로서, 포물선 피트 곡선의 스코어가 임계 스코어 초과인 것을 결정하는 단계는 포물선 피트 곡선을 교차하는 후보 포인트들의 수를 결정하는 단계를 포함한다.
[0082] 제5 양상에서, 양상 3의 방법으로서, 포물선 피트 곡선의 스코어를 결정하는 단계는 포물선 피트 곡선의 임계 거리 내에 있는 후보 포인트들의 수를 결정하는 단계를 포함한다.
[0083] 제6 양상에서, 양상들 1-5 중 어느 하나의 방법으로서, 에지 검출기를 사용하여 복수의 방사상 라인들 상의 후보 포인트들을 결정하는 단계는 에지 검출기를 사용하여 복수의 방사상 라인들의 서브세트 상의 후보 포인트들을 결정하는 단계를 포함한다.
[0084] 제7 양상에서, 머리 장착 디스플레이 시스템이 개시된다. 머리 장착 디스플레이는: 눈의 눈 이미지를 캡처하도록 구성된 이미지 캡처 디바이스; 비-일시적 메모리; 및 비-일시적 메모리와 통신하는 하드웨어 프로세서를 포함하고, 하드웨어 프로세서는: 이미지 캡처 디바이스로부터 눈 이미지를 수신하고; 눈 이미지에서 후보 포인트들을 결정하고; 그리고 후보 포인트들의 제1 서브세트를 사용하여 눈의 눈꺼풀 형상을 결정하도록 프로그래밍된다.
[0085] 제8 양상에서, 양상 7의 머리 장착 디스플레이 시스템으로서, 눈 이미지에서 후보 포인트들을 결정하는 것은 눈의 동공 및 눈의 홍채의 적어도 일부를 포함하는 눈 이미지의 부분을 식별하는 것을 포함한다.
[0086] 제9 양상에서, 양상 8의 머리 장착 디스플레이 시스템으로서, 눈 이미지의 부분을 식별하는 것은 눈 이미지에서 동공의 부분과 홍채의 부분 위에 눈-박스를 생성하는 것을 포함한다.
[0087] 제10 양상에서, 양상들 7-9 중 어느 하나의 머리 장착 디스플레이 시스템으로서, 비-일시적 메모리는 에지 검출기를 저장하도록 구성되고, 눈 이미지에서 후보 포인트들을 결정하는 것은: 눈의 홍채 둘레에 눈-박스를 생성하는 것 ― 눈-박스의 제1 에지는 눈의 변연 경계에 접함 ―; 눈-박스의 제2 에지로 연장되는 복수의 라인들을 생성하는 것; 및 에지 검출기를 사용하여 복수의 라인들 상의 후보 포인트들을 결정하는 것을 포함한다.
[0088] 제11 양상에서, 양상 10의 머리 장착 디스플레이 시스템으로서, 눈의 홍채 둘레에 눈-박스를 생성하는 것은 눈 이미지에서 눈 위에 눈-박스를 오버레이하는 것을 포함한다.
[0089] 제12 양상에서, 양상 10의 머리 장착 디스플레이 시스템으로서, 복수의 라인들은 복수의 방사상 라인들을 포함하고, 그리고 복수의 방사상 라인들은 눈-박스의 거의 중심으로부터 눈-박스의 제2 에지로 연장된다.
제13 양상에서, 양상 12의 머리 장착 디스플레이 시스템으로서, 눈의 동공은 눈-박스의 거의 중심에 있다.
[0090] 제14 양상에서, 양상 10-13 중 어느 하나의 머리 장착 디스플레이 시스템으로서, 복수의 라인들은 복수의 수직 라인들을 포함하고, 그리고 복수의 수직 라인들은 눈-박스의 이등분 라인으로부터 눈-박스의 제2 에지로 연장된다.
제15 양상에서, 양상 14의 머리 장착 디스플레이 시스템으로서, 이등분 라인들은 눈 이미지에서 눈의 동공을 통과한다.
[0091] 제16 양상에서, 양상들 10-15 중 어느 하나의 머리 장착 디스플레이 시스템으로서, 후보 포인트들은 복수의 라인들을 따라 로컬 최대 도함수들을 가진 포인트들을 포함한다.
[0092] 제17 양상에서, 양상들 10-16 중 어느 하나의 머리 장착 디스플레이 시스템으로서, 후보 포인트들은 동공 경계 또는 변연 경계를 따르지 않는다.
[0093] 제18 양상에서, 양상들 10-17 중 어느 하나의 방법으로서, 하드웨어 프로세서는 후보 포인트들을 결정하기 전에 형태학 필터를 눈 이미지에 적용하도록 추가로 프로그래밍된다.
[0094] 제19 양상에서, 양상들 7-18 중 어느 하나의 머리 장착 디스플레이 시스템으로서, 후보 포인트들의 제1 서브세트를 사용하여 눈꺼풀 형상을 결정하는 것은 후보 포인트들의 제1 서브세트를 사용하여 눈꺼풀 형상의 함수 형태를 결정하는 것을 포함한다.
[0095] 제20 양상에서, 양상 19의 머리 장착 디스플레이 시스템으로서, 함수 형태는 포물선 또는 다항식이다.
[0096] 제21 양상에서, 양상들 7-20 중 어느 하나의 머리 장착 디스플레이 시스템으로서, 후보 포인트들의 제1 서브세트를 사용하여 눈꺼풀 형상을 결정하는 것은, 결정된 눈꺼풀 형상이 네거티브 곡률을 가지며 결정된 눈꺼풀 형상이 상부 눈꺼풀의 추정인 경우 또는 결정된 눈꺼풀 형상이 포지티브 곡률을 가지며 결정된 눈꺼풀 형상이 하부 눈꺼풀의 추정인 경우, 후보 포인트들의 제2 서브세트를 사용하여 눈꺼풀 형상을 다시 결정하는 것을 포함한다.
[0097] 제22 양상에서, 눈꺼풀 형상 추정을 위한 방법이 개시된다. 방법은 하드웨어 프로세서의 제어하에 있고: 눈의 동공 및 홍채의 적어도 일부를 포함하는 눈 이미지의 부분을 식별하는 단계; 눈 이미지의 부분의 상부 에지 또는 하부 에지로 연장되는 복수의 라인들을 생성하는 단계; 에지 검출기를 사용하여 복수의 라인들 상의 후보 포인트들을 결정하는 단계; 및 후보 포인트들의 서브세트를 사용하여 눈꺼풀 형상을 결정하는 단계를 포함한다.
[0098] 제23 양상에서, 양상 22의 방법으로서, 후보 포인트들의 서브세트를 사용하여 눈꺼풀 형상을 결정하는 단계는: 후보 포인트들의 제1 서브세트를 사용하여 눈꺼풀 형상의 제1 함수 형태를 결정하는 단계; 후보 포인트들의 제2 서브세트를 사용하여 눈꺼풀 형상의 제2 함수 형태를 결정하는 단계; 눈꺼풀 형상의 제1 함수 형태의 스코어를 결정하는 단계; 눈꺼풀 형상의 제2 함수 형태의 스코어를 결정하는 단계; 및 제1 함수 형태의 스코어가 제2 함수 형태의 스코어보다 더 크면 눈꺼풀 형상의 바람직한 추정이 눈꺼풀 형상의 제1 함수 형태인 것을 결정하고, 그렇지 않은 경우 눈꺼풀 형상의 제2 함수 형태를 결정하는 단계를 포함한다.
[0099] 제24 양상에서, 양상들 22-23 중 어느 하나의 방법으로서, 후보 포인트들의 서브세트를 생성하기 위해 후보 포인트들을 무작위로 샘플링하는 단계를 더 포함한다.
[0100] 제25 양상에서, 양상 22-24 중 어느 하나의 방법으로서, 에지 검출기는 소벨 필터를 포함하고, 에지 검출기를 사용하여 복수의 라인들 상의 후보 포인트들을 결정하는 단계는: 도함수 근사화 이미지 결과를 생성하기 위해 눈 이미지로 소벨 필터를 콘볼빙하는 단계; 및 도함수 근사화 이미지 결과를 사용하여 후보 포인트들을 식별하는 단계를 포함한다.
[0101] 제26 양상에서, 양상들 22-25 중 어느 하나의 방법으로서, 눈 이미지의 부분을 식별하는 단계는 눈 이미지에서 눈 위에 눈-박스를 생성하는 단계를 포함한다.
[0102] 제27 양상에서, 눈 이미지를 프로세싱하기 위한 방법이 개시된다. 방법은 하드웨어 컴퓨터 프로세서의 제어하에서 수행되고: 눈 이미지에서 눈의 홍채를 바운딩하는 눈-박스의 상부 에지 또는 하부 에지로 연장되는 라인들을 생성하는 단계; 라인들에 대한 최대 도함수들의 후보 포인트들을 선택하는 단계; 및 눈 이미지에서 눈의 눈꺼풀의 형상에 매칭하는 가장 우수한-피트 곡선을 결정하는 단계를 포함한다.
[0103] 제28 양상에서, 양상 27의 방법으로서, 라인들은 눈 이미지에서 눈의 동공의 중심으로부터 눈 이미지에서 눈의 홍채를 바운딩하는 눈-박스의 상부 에지 또는 하부 에지로 연장되는 방사상 라인들을 포함하고, 후보 포인트들은 방사상 라인들에 대한 최대 평행 소벨 방향 도함수들이다.
[0104] 제29 양상에서, 양상 27-28 중 어느 하나의 방법으로서, 라인들은 수평 이등분 라인으로부터 눈 이미지에서 눈의 동공을 통해 눈 이미지에서 눈의 홍채를 바운딩하는 눈-박스의 상부 에지 또는 하부 에지로 연장되는 수직 라인들을 포함하고, 후보 포인트들은 수직 라인들에 대한 최대 수직 소벨 도함수들이다.
[0105] 제30 양상에서, 양상들 27-29 중 어느 하나의 방법으로서, 눈 이미지에서 눈의 눈꺼풀의 형상에 매칭하는 가장 우수한-피트 곡선을 결정하는 단계는: 후보 포인트들의 서브세트를 생성하기 위해 후보 포인트들을 무작위로 샘플링하는 단계; 후보 포인트들의 서브세트를 사용하여 눈꺼풀의 형상에 매칭하는 가장 우수한-피트 곡선을 결정하는 단계를 포함한다.
[0106] 제31 양상에서, 양상들 27-30 중 어느 하나의 방법으로서, 가장 우수한-피트 곡선은 가장 우수한-피트 곡선상에 또는 이에 가깝게 최대 수의 후보 포인트들을 가진다.
[0107] 제32 양상에서, 양상 31의 방법으로서, 가장 우수한-피트 곡선상의 또는 그에 가까운 후보 포인트들의 최대 수는 후보 포인트들 임계치의 최대 수를 초과한다.
[0108] 제33 양상에서, 양상들 27-30 중 어느 하나의 방법으로서, 가장 우수한-피트 곡선은 가장 우수한-피트 곡선을 따라 최대 통합 소벨 도함수를 가진다.
[0109] 제34 양상에서, 양상 33의 방법으로서, 가장 우수한-피트 곡선을 따른 최대 통합 소벨 도함수는 소벨 도함수 임계치를 초과한다.
[0110] 제35 양상에서, 양상들 27-34 중 어느 하나의 방법으로서, 후보 포인트들을 선택하기 전에 형태학 필터를 적용하는 단계를 더 포함한다.
[0111] 제36 양상에서, 양상 35의 방법으로서, 형태학 필터는 오픈 형태학 필터이다.
[0112] 제37 양상에서, 양상들 27-36 중 어느 하나의 방법으로서, 올바르지 않은 곡률을 가진 가장 우수한-피트 곡선의 후보 곡선을 거절하는 단계를 더 포함한다.
[0113] 제38 양상에서, 양상 37의 방법으로서, 가장 우수한-피트 곡선의 후보 곡선은, 후보 곡선이 포지티브 곡률을 가지면 올바르지 않은 곡률을 가지며, 눈꺼풀 형상은 상부 눈꺼풀이다.
[0114] 제39 양상에서, 양상 37의 방법으로서, 가장 우수한-피트 곡선의 후보 곡선은, 후보 곡선이 네거티브 곡률을 가지면 올바르지 않은 곡률을 가지며, 눈꺼풀 형상은 하부 눈꺼풀이다.
[0115] 제40 양상에서, 양상들 27-39 중 어느 하나의 방법으로서, 라인들에 대한 최대 도함수들을 미리-컴퓨팅하는 단계; 및 룩-업 테이블에 최대 도함수들을 저장하는 단계를 더 포함한다.
[0116] 제41 양상에서, 양상 40의 방법으로서, 라인들에 대한 최대 도함수들을 가진 후보 포인트들을 선택하는 단계는 룩-업 테이블을 사용하여 후보 포인트들을 선택하는 단계를 포함한다.
결론
[0117] 본원에 설명되고 그리고/또는 첨부 도면들에 도시된 프로세스들, 방법들 및 알고리즘들 각각은 하나 또는 그 초과의 물리적 컴퓨팅 시스템들, 하드웨어 컴퓨터 프로세서들, 주문형 회로 및/또는 특정 그리고 특별 컴퓨터 명령들을 실행하도록 구성된 전자 하드웨어에 의해 실행되는 코드 모듈들로 구현되고, 그리고 코드 모듈들에 의해 완전히 또는 부분적으로 자동화될 수 있다. 예컨대, 컴퓨팅 시스템들은 특정 컴퓨터 명령들 또는 특수 목적 컴퓨터들, 특수 목적 회로 등으로 프로그래밍된 범용 컴퓨터들(예컨대, 서버들)을 포함할 수 있다. 코드 모듈은 실행가능 프로그램으로 컴파일링되거나 링크되거나, 동적 링크 라이브러리에 설치되거나, 또는 해석된 프로그래밍 언어로 쓰여질 수 있다. 일부 구현들에서, 특정 동작들 및 방법들은 주어진 기능에 특정한 회로에 의해 수행될 수 있다.
[0118] 추가로, 본 개시내용의 기능성의 특정 구현들은 충분히 수학적으로, 컴퓨테이셔널적으로 또는 기술적으로 복잡하여, 예컨대 수반된 계산들의 볼륨 또는 복잡성으로 인해 또는 실질적으로 실시간으로 결과들을 제공하기 위해, (적절한 전문화된 실행가능 명령들을 활용하는) 주문형 하드웨어 또는 하나 또는 그 초과의 물리적 컴퓨팅 디바이스들이 그러한 기능성을 수행할 필요가 있을 수 있다. 예컨대, 비디오는 많은 프레임들(각각의 프레임은 수백만의 픽셀들을 가짐)을 포함할 수 있고, 상업적으로 합리적인 양의 시간 내에 원하는 이미지 프로세싱 임무 또는 애플리케이션을 제공하기 위해 특별하게 프로그래밍된 컴퓨터 하드웨어가 비디오 데이터를 프로세싱할 필요가 있다.
[0119] 코드 모듈들 또는 임의의 타입의 데이터는 임의의 타입의 비-일시적 컴퓨터-판독가능 매체, 이를테면 하드 드라이브들, 고체 상태 메모리, RAM(random access memory), ROM(read only memory), 광학 디스크, 휘발성 또는 비-휘발성 저장부, 동일물들의 조합들 등을 포함하는 물리적 컴퓨터 저장부 상에 저장될 수 있다. 방법들 및 모듈들(또는 데이터)은 또한 생성된 데이터 신호들로서(예컨대, 반송파 또는 다른 아날로그 또는 디지털 전파 신호의 부분으로서) 무선 기반 및 유선/케이블 기반 매체들을 포함하는 다양한 컴퓨터-판독가능 송신 매체들 상에서 송신될 수 있고, 다양한 형태들(예컨대, 단일 또는 멀티플렉싱된 아날로그 신호의 부분으로서, 또는 다수의 이산 디지털 패킷들 또는 프레임들로서)을 취할 수 있다. 개시된 프로세스들 또는 프로세스 단계들의 결과들은 임의의 타입의 비-일시적, 유형의 컴퓨터 저장부에 영구적으로 또는 다른 방식으로 저장될 수 있거나 또는 컴퓨터-판독가능 송신 매체를 통해 통신될 수 있다.
[0120] 본원에 설명되고 그리고/또는 첨부 도면들에 도시된 흐름도들에서의 임의의 프로세스들, 블록들, 상태들, 단계들, 또는 기능성들은 (예컨대, 로지컬 또는 산술적) 특정 기능들 또는 프로세스의 단계들을 구현하기 위한 하나 또는 그 초과의 실행가능 명령들을 포함하는 코드 모듈들, 세그먼트들 또는 코드의 부분들을 잠재적으로 표현하는 것으로 이해되어야 한다. 다양한 프로세스들, 블록들, 상태들, 단계들 또는 기능성들은 본원에 제공된 예시적 예들로부터 조합되거나, 재배열되거나, 부가되거나, 삭제되거나, 수정되거나 다르게 변화될 수 있다. 일부 실시예들에서, 부가적인 또는 상이한 컴퓨팅 시스템들 또는 코드 모듈들은 본원에 설명된 기능성들 중 일부 또는 모두를 수행할 수 있다. 본원에 설명된 방법들 및 프로세스들은 또한 임의의 특정 시퀀스로 제한되지 않고 이에 관련된 블록들, 단계들 또는 상태들은 적절한 시퀀스들로, 예컨대 직렬로, 병렬로, 또는 일부 다른 방식으로 수행될 수 있다. 임무들 또는 이벤트들은 개시된 예시적 실시예들에 부가되거나 제거될 수 있다. 게다가, 본원에 설명된 구현들에서 다양한 시스템 컴포넌트들의 분리는 예시 목적들을 위한 것이고 모든 구현들에서 그런 분리를 요구하는 것으로 이해되지 않아야 한다. 설명된 프로그램 컴포넌트들, 방법들 및 시스템들이 일반적으로 단일 컴퓨터 제품으로 함께 통합되거나 다수의 컴퓨터 제품들로 패키징될 수 있다는 것이 이해되야 한다. 많은 구현 변형들이 가능하다.
[0121] 프로세스들, 방법들 및 시스템들은 네트워크(또는 분산) 컴퓨팅 환경에서 구현될 수 있다. 네트워크 환경들은 전사적 컴퓨터 네트워크들, 인트라넷들, LAN(local area network)들, WAN(wide area network)들, PAN(personal area network)들, 클라우드 컴퓨팅 네트워크들, 크라우드-소스드(crowd-sourced) 컴퓨팅 네트워크들, 인터넷, 및 월드 와이드 웹(World Wide Web)을 포함한다. 네트워크는 유선 또는 무선 네트워크 또는 임의의 다른 타입의 통신 네트워크일 수 있다.
[0122] 본 개시내용의 시스템들 및 방법들 각각은 몇몇 혁신적인 양상들을 가지며, 본원에 개시된 바람직한 속성들을 위해 이 양상들 중 단지 하나가 전적으로 책임지거나 요구되지 않는다. 위에서 설명된 다양한 특징들 및 프로세스들은 서로 독립적으로 사용될 수 있거나, 또는 다양한 방식들로 조합될 수 있다. 모든 가능한 조합들 및 서브조합들은 본 개시내용의 범위 내에 속하도록 의도된다. 본 개시내용에 설명된 구현들에 대한 다양한 수정들은 당업자들에게 쉽게 자명할 수 있고, 그리고 본원에 정의된 일반적인 원리들은 본 개시내용의 사상 또는 범위를 벗어나지 않고 다른 구현들에 적용될 수 있다. 따라서, 청구항들은 본원에 도시된 구현들로 제한되는 것으로 의도되는 것이 아니라, 본 개시내용, 본원에 개시된 원리들 및 신규 특징들과 일치하는 가장 넓은 범위에 부합될 것이다.
[0123] 별개의 구현들의 맥락에서 이 명세서에 설명된 특정 특징들은 또한 단일 구현으로 결합하여 구현될 수 있다. 대조적으로, 단일 구현의 맥락에서 설명된 다양한 특징들은 또한 별도로 다수의 구현들로 또는 임의의 적절한 서브조합으로 구현될 수 있다. 게다가, 비록 특징들이 특정 조합들로 작용하고 심지어 처음에 그와 같이 청구되는 것으로 위에서 설명될 수 있지만, 청구된 조합으로부터의 하나 또는 그 초과의 특징들은 일부 경우들에서 조합으로부터 제거될 수 있고, 그리고 청구된 조합은 서브조합 또는 서브조합의 변형에 관련될 수 있다. 단일 특징 또는 특징들의 그룹이 모든 실시예에 필요하거나 필수적인 것이 아니다.
[0124] 특정하게 다르게 언급되지 않거나, 사용된 맥락 내에서 다르게 이해되지 않으면, 본원에 사용된 조건어, 이를테면 특히, "할 수 있다" 및 "예컨대" 등은, 일반적으로 특정 실시예들이 특정 특징들, 엘리먼트들 및/또는 단계들을 포함하지만, 다른 실시예들이 포함하지 않는 것을 전달하도록 의도된다. 따라서, 그런 조건어는 일반적으로, 특징들, 엘리먼트들 및/또는 단계들이 어쨌든 하나 또는 그 초과의 실시예들을 위해 요구되거나 또는 하나 또는 그 초과의 실시예들이 반드시 저자(author) 입력 또는 프롬프팅으로 또는 이들 없이, 이들 특징들, 엘리먼트들 및/또는 단계들이 임의의 특정 실시예에 포함되는지 임의의 특정 실시예에서 수행되는지를 판정하기 위한 로직을 포함하는 것을 의미하도록 의도되지 않는다. 용어 "포함하는", "갖는" 등은 동의어이고 오픈-엔디드(open-ended) 방식으로 포괄적으로 사용되고, 그리고 부가적인 엘리먼트들, 특징들, 작용들, 동작들 등을 배제하지 않는다. 또한, 용어 "또는"은 포괄적인 의미(및 배타적 의미가 아님)로 사용되어, 예컨대 엘리먼트들의 리스트를 연결하기 위해 사용될 때, 용어 "또는"은 리스트 내 엘리먼트들 중 하나, 몇몇 또는 모두를 의미한다. 게다가, 이 출원 및 첨부된 청구항들에 사용된 단수들은 다르게 특정되지 않으면 "하나 또는 그 초과" 또는 "적어도 하나"를 의미하는 것으로 이해될 것이다.
[0125] 본원에 사용된 바와 같이, 아이템들의 리스트 중 "적어도 하나"를 지칭하는 어구는 단일 부재들을 포함하는 이들 아이템들의 임의의 조합을 지칭한다. 예로서, "A, B 또는 C" 중 적어도 하나는 "A, B, C; A 및 B; A 및 C; B 및 C; 및 A, B 및 C를 커버하도록 의도된다. 특정하게 다르게 언급되지 않으면 "X, Y 및 Z 중 적어도 하나"라는 어구 같은 결합 어구는, 일반적으로 아이템, 용어 등이 X, Y 또는 Z 중 적어도 하나일 수 있다는 것을 전달하기 위해 사용되는 맥락으로 이해된다. 따라서, 그런 결합 언어는 일반적으로, 특정 실시예들이 X 중 적어도 하나, Y 중 적어도 하나 및 Z 중 적어도 하나가 각각 존재할 것을 요구하는 것을 의미하도록 의도되지 않는다.
[0126] 유사하게, 동작들이 특정 순서로 도면들에 도시되지만, 원하는 결과들을 달성하기 위해, 그런 동작들이 도시된 특정 순서 또는 순차적 순서로 수행되거나, 또는 모든 예시된 동작들이 수행될 필요가 없다는 것이 인식될 것이다. 추가로, 도면들은 흐름도 형태로 하나 또는 그 초과의 예시적 프로세스들을 개략적으로 도시할 수 있다. 그러나, 도시되지 않은 다른 동작들은 개략적으로 예시된 예시적 방법들 및 프로세스들에 통합될 수 있다. 예컨대, 하나 또는 그 초과의 부가적인 동작들은 예시된 동작들 중 임의의 동작 이전, 이후, 동시에, 또는 사이에 수행될 수 있다. 부가적으로, 동작들은 다른 구현들에서 재배열되거나 재정렬될 수 있다. 특정 환경들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 게다가, 위에서 설명된 구현들에서 다양한 시스템 컴포넌트들의 분리는 모든 구현들에서 그런 분리를 요구하는 것으로 이해되지 않아야 하고, 그리고 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로 단일 소프트웨어 제품으로 함께 통합될 수 있거나 다수의 소프트웨어 제품들로 패키징될 수 있다는 것이 이해되어야 한다. 부가적으로, 다른 실시예들은 다음 청구항들의 범위 내에 있다. 일부 경우들에서, 청구항들에 열거된 액션들은 상이한 순서로 수행될 수 있고 여전히 원하는 결과들을 달성할 수 있다.
Claims (26)
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 머리 장착 디스플레이 시스템으로서,
상기 머리 장착 디스플레이 시스템의 착용자의 눈의 눈 이미지에서 상기 착용자의 눈의 눈 포즈를 트래킹하기 위한 이미지 캡처 디바이스 ― 상기 눈 포즈는 상기 눈이 바라보는 방향을 포함함 ―;
상기 눈 이미지 및 에지 검출기를 저장하도록 구성된 비-일시적 메모리;
상기 눈 이미지에서의 상기 착용자의 상기 눈의 포즈에 기초하여 상기 머리 장착 디스플레이 시스템의 상기 착용자에게 가상 이미지 정보를 제공하기 위한 디스플레이; 및
상기 비-일시적 메모리와 통신하는 하드웨어 프로세서
를 포함하고,
상기 하드웨어 프로세서는:
상기 이미지 캡처 디바이스로부터 상기 눈 이미지를 수신하고;
상기 눈의 홍채 주변에 눈 박스를 생성하고 ― 상기 눈 박스의 제1 에지는 상기 눈의 변연(limbic) 경계에 접함 ―;
상기 눈 박스의 제2 에지로 연장하는 복수의 라인들을 생성하고;
상기 에지 검출기를 사용하여 상기 눈 이미지에서 상기 복수의 라인들 상의 후보 포인트들을 결정하고;
상기 후보 포인트들의 제1 서브세트를 사용하여 눈의 눈꺼풀 형상의 파라미터들을 결정하고;
상기 후보 포인트들의 상기 제1 서브세트를 사용하여 상기 눈의 눈꺼풀 형상을 결정하고;
상기 눈의 상기 눈꺼풀 형상의 상기 파라미터들을 사용하여 상기 눈의 눈 포즈를 결정하고;
상기 눈의 상기 눈 포즈를 사용하여 상기 머리 장착 디스플레이 시스템의 상기 착용자에게 제공될 상기 가상 이미지 정보를 결정하고; 그리고
상기 디스플레이로 하여금 상기 머리 장착 디스플레이 시스템의 상기 착용자에게 상기 가상 이미지 정보를 제공하도록 하는,
머리 장착 디스플레이 시스템. - 제7항에 있어서,
상기 눈 이미지에서 상기 후보 포인트들을 결정하는 것은 눈의 동공 및 눈의 홍채의 적어도 일부를 포함하는 상기 눈 이미지의 부분을 식별하는 것을 포함하는,
머리 장착 디스플레이 시스템. - 제8항에 있어서,
상기 눈 이미지의 부분을 식별하는 것은 상기 눈 이미지에서 상기 동공의 부분과 상기 홍채의 부분 위에 상기 눈 박스를 생성하는 것을 포함하는,
머리 장착 디스플레이 시스템. - 삭제
- 제7항에 있어서,
상기 눈의 홍채 둘레에 상기 눈 박스를 생성하는 것은 상기 눈 이미지에서 상기 눈 위에 눈 박스를 오버레이하는 것을 포함하는,
머리 장착 디스플레이 시스템. - 제7항에 있어서,
상기 복수의 라인들은 복수의 방사상 라인들을 포함하고, 그리고 상기 복수의 방사상 라인들은 상기 눈 박스의 거의 중심으로부터 상기 눈 박스의 상기 제2 에지로 연장되는,
머리 장착 디스플레이 시스템. - 제12항에 있어서,
상기 눈의 동공은 상기 눈 박스의 거의 중심에 있는,
머리 장착 디스플레이 시스템. - 제7항에 있어서,
상기 복수의 라인들은 복수의 수직 라인들을 포함하고, 그리고 상기 복수의 수직 라인들은 상기 눈 박스의 이등분 라인으로부터 상기 눈 박스의 상기 제2 에지로 연장되는,
머리 장착 디스플레이 시스템. - 제14항에 있어서,
상기 이등분 라인은 상기 눈 이미지에서 상기 눈의 동공을 통과하는,
머리 장착 디스플레이 시스템. - 제7항에 있어서,
상기 후보 포인트들은 상기 복수의 라인들을 따라 로컬 최대 도함수들을 가진 포인트들을 포함하는,
머리 장착 디스플레이 시스템. - 제7항에 있어서,
상기 후보 포인트들은 동공 경계 또는 변연 경계를 따르지 않는,
머리 장착 디스플레이 시스템. - 제7항에 있어서,
상기 하드웨어 프로세서는 상기 후보 포인트들을 결정하기 전에 형태학(morphological) 필터를 상기 눈 이미지에 적용하도록 추가로 프로그래밍되는,
머리 장착 디스플레이 시스템. - 제7항에 있어서,
상기 후보 포인트들의 상기 제1 서브세트를 사용하여 상기 눈의 눈꺼풀 형상을 결정하는 것은 상기 후보 포인트들의 상기 제1 서브세트를 사용하여 상기 눈꺼풀 형상의 함수(functional) 형태를 결정하는 것을 포함하는,
머리 장착 디스플레이 시스템. - 제19항에 있어서,
상기 함수 형태는 포물선 또는 다항식인,
머리 장착 디스플레이 시스템. - 제7항에 있어서,
상기 후보 포인트들의 상기 제1 서브세트를 사용하여 상기 눈의 눈꺼풀 형상을 결정하는 것은, 상기 결정된 눈꺼풀 형상이 네거티브 곡률을 가지며 상기 결정된 눈꺼풀 형상이 상부 눈꺼풀의 추정인 경우 또는 상기 결정된 눈꺼풀 형상이 포지티브 곡률을 가지며 상기 결정된 눈꺼풀 형상이 하부 눈꺼풀의 추정인 경우, 상기 후보 포인트들의 제2 서브세트를 사용하여 상기 눈꺼풀 형상을 다시 결정하는 것을 포함하는,
머리 장착 디스플레이 시스템. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562208142P | 2015-08-21 | 2015-08-21 | |
US62/208,142 | 2015-08-21 | ||
PCT/US2016/047183 WO2017034861A1 (en) | 2015-08-21 | 2016-08-16 | Eyelid shape estimation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180044346A KR20180044346A (ko) | 2018-05-02 |
KR102726941B1 true KR102726941B1 (ko) | 2024-11-05 |
Family
ID=
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010057682A (ja) * | 2008-09-03 | 2010-03-18 | Denso Corp | 瞳孔検出装置、瞳孔検出装置用プログラム及び瞳孔検出方法 |
JP2014145734A (ja) * | 2013-01-30 | 2014-08-14 | Nikon Corp | 情報入出力装置、及び情報入出力方法 |
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010057682A (ja) * | 2008-09-03 | 2010-03-18 | Denso Corp | 瞳孔検出装置、瞳孔検出装置用プログラム及び瞳孔検出方法 |
JP2014145734A (ja) * | 2013-01-30 | 2014-08-14 | Nikon Corp | 情報入出力装置、及び情報入出力方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10282611B2 (en) | Eyelid shape estimation | |
US11538280B2 (en) | Eyelid shape estimation using eye pose measurement | |
JP7136875B2 (ja) | 眼の特徴を用いる眼ポーズ識別 | |
JP7538186B2 (ja) | ロバストなバイオメトリックアプリケーションのための詳細な眼形状モデル | |
US20220301217A1 (en) | Eye tracking latency enhancements | |
KR102726941B1 (ko) | 눈꺼풀 형상 추정 |