KR20230079135A - 아이웨어 왜곡 보정 - Google Patents

아이웨어 왜곡 보정 Download PDF

Info

Publication number
KR20230079135A
KR20230079135A KR1020237014204A KR20237014204A KR20230079135A KR 20230079135 A KR20230079135 A KR 20230079135A KR 1020237014204 A KR1020237014204 A KR 1020237014204A KR 20237014204 A KR20237014204 A KR 20237014204A KR 20230079135 A KR20230079135 A KR 20230079135A
Authority
KR
South Korea
Prior art keywords
covered
face
boundary
eyewear
lens
Prior art date
Application number
KR1020237014204A
Other languages
English (en)
Inventor
이얄 잭
가이 멜라메드
Original Assignee
스냅 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 스냅 인코포레이티드 filed Critical 스냅 인코포레이티드
Publication of KR20230079135A publication Critical patent/KR20230079135A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/62Retouching, i.e. modification of isolated colours only or in isolated picture areas only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • G06T5/006
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • G06T3/0093
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing
    • G06T2207/30041Eye; Retina; Ophthalmic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Signal Processing (AREA)
  • Geometry (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Eye Examination Apparatus (AREA)

Abstract

아이웨어에 의해 도입되는 이미지들에서의 왜곡(즉, 눈을 둘러싸는 얼굴 영역이, 커버되지 않은 얼굴 영역의 경계와 매치하지 않는 경계를 갖는 경우)을 보정하기 위한 프로세스들을 포함하는 시스템들, 방법들, 및 비-일시적인 컴퓨터 판독 가능 매체들이 개시된다. 보정은 아이웨어에 의해 커버된 얼굴 영역들 및 아이웨어에 의해 커버되지 않는 얼굴 영역들을 검출하도록 이미지들을 세그먼트화하는 것 및 커버된 얼굴 경계를 커버되지 않은 얼굴 경계에 매치시키기 위해 커버된 얼굴 영역들을 변경하는 것을 포함한다. 변경들은 머신 러닝 모델을 사용하여 프로세싱하는 것, 굴절 방지 알고리즘들을 적용하는 것, 커버되지 않은 얼굴 영역의 경계들에 매치하도록 커버된 얼굴 영역을 스케일링하는 것, 또는 이들의 조합을 포함한다.

Description

아이웨어 왜곡 보정
[0001] 본 출원은 2020년 9월 30일자로 출원된 미국 출원 일련 번호 제17/039,334호에 대한 우선권을 주장하며, 그 내용들은 인용에 의해 본원에 완전히 포함된다.
[0002] 본 개시내용은 이미지 프로세싱에 관한 것으로, 더욱 상세하게는, 아이웨어(eyewear)에 의해 도입되는 왜곡을 보정하기 위해 이미지들을 프로세싱하는 것에 관한 것이다.
[0003] 아이웨어는 착용자의 시력을 개선하기 위해 광을 굴절시키는 프리즘들로서 역할을 하는 렌즈들을 포함한다. 굴절은 다른 사람이 볼 때 착용자의 눈들(및 렌즈들에 의해 커버되는 주변 영역들)로 하여금 왜곡되게 하는 왜곡을 도입하고, 그 결과, 착용자의 눈들은 렌즈들에 의해 커버되지 않는 그들의 머리의 나머지 부분과 비례하지 않게 나타나게 된다. 이러한 왜곡은 착용자의 이미지들에서도 또한 분명하다.
[0004] 묘화하는 도면들은 하나 이상의 구현예들을, 단지 제한들로서가 아니라, 단지 예로서 묘사한다. 도면들에서, 동일 참조 번호들은 동일한 또는 유사한 엘리먼트들을 지칭하는데, 동일한 또는 유사한 엘리먼트들 사이를 구별하기 위해 문자 지정이 추가된다. 동일한 또는 유사한 엘리먼트들이 일괄적으로 지칭되는 경우 또는 동일한 또는 유사한 엘리먼트들 중 불특정한 엘리먼트를 지칭하는 경우, 문자 지정은 생략될 수 있다.
[0005] 도 1a는, 코너에 가시 광 카메라를 그리고 안경다리 상에 스피커를 포함하는 아이웨어 디바이스의 예시적인 하드웨어 구성예의 측면도이다.
[0006] 도 1b 및 도 1c는, 두 개의 상이한 타입들의 이미지 디스플레이들을 포함하는, 도 1a의 아이웨어 디바이스의 예시적인 하드웨어 구성들의 배면도(rear view)들이다.
[0007] 도 2는 가시 광 카메라, 머리 움직임 추적기, 및 회로 보드를 묘사하는 도 1a의 아이웨어 디바이스의 코너의 상면 단면도(top cross-sectional view)이다.
[0008] 도 3a는 다양한 네트워크들을 통해 연결되는 아이웨어 디바이스, 모바일 디바이스, 및 서버 시스템을 포함하는 예시적인 이미지 캡처, 프로세싱, 및 디스플레이 시스템의 하이 레벨 기능 블록 다이어그램이다.
[0009] 도 3b는 도 3a의 오디오 비주얼라이저 시스템(audio visualizer system)의 서버 시스템에 대한 하드웨어 구성의 예의 단순화된 블록 다이어그램이다.
[0010] 도 4는 모바일 디바이스에 대한 하드웨어 구성의 단순화된 블록 다이어그램이다.
[0011] 도 5a, 도 5b, 도 5c 및 도 5d는 아이웨어에 의해 도입되는 왜곡을 제거하기 위한 예시적인 단계들의 플로우차트들이다.
[0012] 도 6a 및 도 6b는 렌즈들에 기인하는 이미지 확대를 묘사하는 종래 기술의 예시들이다.
[0013] 도 6c는 아이웨어에 의해 도입되는 왜곡을 제거하기 위한 기술을 묘사하는 예시이다.
[0014] 도 7a는 아이웨어에 의해 도입되는 왜곡을 예시하는 종래 기술에 따른 이미지의 예시이다.
[0015] 도 7b는 아이웨어에 의해 도입되는 왜곡의 제거에서의 예시적인 단계를 묘사하는 예시이다.
[0016] 도 7c 및 도 7d는 아이웨어에 의해 도입되는 왜곡을 보정하는 변경된 아이웨어 영역들을 갖는 두 개의 결과적으로 나타나는 이미지들의 예시들이다.
[0017] 다음의 상세한 설명은 아이웨어에 의해 도입되는 이미지들(스틸 또는 비디오)에서의 왜곡을 보정하기 위한 예들(즉, 아이웨어 렌즈에 의해 커버되는 눈 주변의 얼굴 영역들이, 커버되지 않은 얼굴 영역의 커버되지 않은 얼굴 경계와 매치하지 않는 커버된 얼굴 경계를 갖는 경우)을 포함한다. 보정은 아이웨어에 의해 커버된 얼굴 영역들 및 아이웨어에 의해 커버되지 않는 얼굴 영역들을 검출하도록 이미지들을 세그먼트화하는 것 및 커버된 얼굴 경계를 커버되지 않은 얼굴 경계에 매치시키기 위해 커버된 얼굴 영역들을 변경하는 것을 포함한다. 변경들은 머신 러닝 모델을 사용하여 프로세싱하는 것, 굴절 방지 알고리즘(anti-refraction algorithm)들을 적용하는 것, 커버되지 않은 얼굴 영역의 경계들에 매치하도록 커버된 얼굴 영역을 스케일링(scaling)하는 것, 또는 이들의 조합을 포함한다.
[0018] 다음의 상세한 설명에서, 관련 교시들의 완전한 이해를 제공하기 위해, 예들을 통해 다수의 구체적인 세부사항들이 기재된다. 그러나, 본 교시들이 그러한 세부사항들 없이 실시될 수 있다는 것이 기술 분야의 숙련된 자들에게 명백해야 한다. 다른 경우들에, 본 교시들의 양상들을 불필요하게 모호하게 하는 것을 방지하기 위해, 널리 공지된 방법들, 프로시저들, 컴포넌트들, 및 회로부(circuitry)의 설명이, 상세하게는 아니지만, 상대적으로 높은 레벨에서 기술된다.
[0019] 본원에서 사용되는 바와 같은 용어 "커플링되는(coupled)"은, 하나의 시스템 엘리먼트에 의해 생성되는 또는 공급되는 전기적 신호들이 다른 커플링된 엘리먼트에 전달되게 하는 임의의 논리적, 광학적, 물리적 또는 전기적 연결, 링크 등을 가리킨다. 달리 설명하지 않는 한, 커플링된 엘리먼트들 또는 디바이스들은 반드시 서로 직접적으로 연결되는 것은 아니며 전기적 신호들을 수정, 조작 또는 반송할 수 있는 중간 컴포넌트들, 엘리먼트들 또는 통신 매체들에 의해 분리될 수 있다. 용어 "상에(on)"는 엘리먼트에 의해 직접적으로 지지되는 것 또는 엘리먼트에 통합되는 또는 엘리먼트에 의해 지지되는 다른 엘리먼트를 통해 엘리먼트에 의해 간접적으로 지지되는 것을 의미한다. 본원에서 사용될 때, 용어 "약"은 언급된 양으로부터 ±10 %를 의미한다.
[0020] 예컨대 도면들 중 임의의 것에서 도시되는 모바일 디바이스들, 아이웨어 디바이스들, 연관된 컴포넌트들 및 카메라를 통합하는 임의의 완전한 디바이스들의 방위들은, 예시 및 논의 목적들을 위해, 단지 예로서 주어진다. 동작에서, 특정한 프로그래밍을 위해, 디바이스들은 특정한 애플리케이션에 적절한 임의의 다른 방향, 예를 들면, 위, 아래, 측면 방향(sideway)들, 또는 임의의 다른 방위로 배향될 수 있다. 또한, 본원에서 사용되는 경우, 전방(front), 후방(rear), 안쪽(inward), 바깥쪽(outward), 향하여(toward), 좌측(left), 우측(right), 횡방향(lateral), 종방향(longitudinal), 위(up), 아래(down), 상위(upper), 하위(lower), 최상부(top), 저부(bottom) 및 측면(side)과 같은 임의의 방향 용어는 단지 예로서 사용되며, 본원에서 달리 설명되는 바와 같이 구성되는 임의의 카메라 또는 카메라의 컴포넌트의 방향 또는 방위에 관해 제한하는 것은 아니다.
[0021] 예들의 목적들, 이점들 및 신규의 피처들은 후속하는 설명에서 부분적으로 기술될 것이며, 부분적으로는, 다음의 그리고 첨부의 도면들의 검토시 기술 분야의 숙련된 자들에게 명백하게 될 것이거나 또는 예들의 생성 또는 동작에 의해 학습될 수 있다. 본 주제의 목적들 및 이점들은, 특히 첨부된 청구항들에서 지적되는 방법론들, 수단들 및 조합들에 의해 실현되고 달성될 수 있다.
[0022] 이제, 첨부의 도면들에서 예시되고 하기에서 논의되는 예들에 대한 참조가 상세하게 이루어진다.
[0023] 도 1a는 이미지들을 수집하고, 옵션 사항으로(optionally) 프로세싱하기 위한 아이웨어 디바이스(100) 형태의 모바일 디바이스의 예시적인 하드웨어 구성을 묘사한다. 모바일 디바이스는 이동 전화기 또는 태블릿과 같은 다른 형태들을 취할 수 있다. 추가적으로, 아이웨어 디바이스(100)는 다른 형태들을 취할 수 있고, 예를 들면, 헤드기어, 헤드셋 또는 헬멧과 같은 다른 타입들의 프레임워크들을 통합할 수 있다. 아이웨어 디바이스(100)는 뷰잉 영역(viewing area)(예를 들면, 시야) 내의 이미지들을 캡처하기 위한 적어도 하나의 가시 광 카메라(114)를 코너(110B) 상에서 포함한다. 예시된 아이웨어 디바이스(100)는 스피커(115) 및 마이크(116)를 또한 포함한다.
[0024] 가시 광 카메라(114)는 가시 광 범위 파장에 민감하다. 예에서 도시되는 바와 같이, 가시 광 카메라(114)는 광학 어셈블리(180B)를 통해 보이고 있는 장면의 이미지들을 캡처하도록 구성되는 착용자의 관점에서 전방을 향하는 시야를 갖는다. 그러한 가시 광 카메라(114)의 예들은, 640p(예를 들면, 총 0.3 메가픽셀들에 대한 640×480), 720p, 또는 1080p(또는 그 이상)와 같은 고해상도 상보형 금속 산화물 반도체(complementary metal-oxide-semiconductor; CMOS) 이미지 센서 및 비디오 그래픽 어레이(video graphic array; VGA) 카메라를 포함한다. 아이웨어 디바이스(100)는 가시 광 카메라(114)로부터 이미지 센서 데이터를 캡처하고, 그리고 옵션 사항으로 다른 데이터 예컨대 지오로케이션 데이터 및 (마이크(116)를 통해) 오디오 데이터를 캡처하고, 하나 이상의 프로세서들을 사용하여 데이터를 디지털화하고, 그리고 디지털화된 데이터를 메모리에 저장한다. 용어 "시야"는, 가시 광 카메라(114)를 사용하여 캡처되는 정보를 제시하는 모바일 디바이스의 디스플레이 상에서 또는 광학 어셈블리들(180)을 통해, 모바일 디바이스의 유저가 그의 또는 그녀의 눈들을 사용하여 볼 수 있는 뷰잉 영역을 설명한다.
[0025] 가시 광 카메라(114)는, 장면의 이미지가 캡처되는 때 및 장소에 대응하는 타임스탬프 및 로케이션 좌표들의 디지털 프로세싱 및 추가를 위해, 이미지 프로세서(도 3a의 엘리먼트(312))에 커플링될 수 있다. 이미지 프로세서(312)는 가시 광 카메라(114)로부터 신호들을 수신하고 가시 광 카메라(114)로부터의 그들 신호들을 메모리(도 3a의 엘리먼트(334))에서의 저장에 적절한 포맷으로 프로세싱하는 회로부를 포함한다. 타임스탬프는, 가시 광 카메라(114)의 동작을 제어하는 이미지 프로세서(312) 또는 다른 프로세서에 의해 추가될 수 있다. 이미지 프로세서(312)는, 예를 들면, 글로벌 포지셔닝 시스템(도 3a의 엘리먼트(331))으로부터 수신되는 로케이션 좌표들을 추가적으로 추가할 수 있다.
[0026] 마이크(116)는 오디오가 캡처되는 때 나타내는 타임스탬프의 디지털 프로세싱 및 추가를 위해 오디오 프로세서(도시되지 않음)에 커플링될 수 있다. 오디오 프로세서는 마이크(116)로부터(또는 메모리로부터) 신호들을 수신하고 그들 신호들을 메모리(334)에서의 저장 또는 스피커(115)에 의한 제시에 적절한 포맷으로 프로세싱하는 회로부를 포함한다. 타임스탬프는, 스피커(115) 및 마이크(116)의 동작을 제어하는 오디오 프로세서 또는 다른 프로세서에 의해 추가될 수 있다.
[0027] 도 1a, 도 1b 및 도 1c에서 도시되는 바와 같이, 아이웨어 디바이스(100)는 유저의 코에 대해 적응되는 브리지(106)를 통해 좌측 테두리(107A)가 우측 테두리(107B)에 연결된 프레임(105)을 포함한다. 좌측 및 우측 테두리들(107A-B)은 개개의 광학 어셈블리(180A-B)를 유지하는 개개의 어퍼처들(175A-B)을 포함한다. 좌측 및 우측 안경다리들(125A-B)은, 예를 들면, 개개의 좌측 및 우측 코너들(110A-B)을 통해 프레임(105)의 개개의 측면부 측(lateral side)들(170A-B)로부터 연장된다. 각각의 안경다리(125A-B)는 개개의 힌지(126A-B)를 통해 프레임(105)에 연결된다. 프레임(105), 코너들(110), 및 안경다리들(125A-B)을 형성하는 기판 또는 재료들은 플라스틱, 아세테이트, 금속, 또는 이들의 조합을 포함할 수 있다. 코너들(110A-B)은 프레임(105) 또는 안경다리들(125A-B)에 통합되거나 또는 연결될 수 있다.
[0028] 두 개의 광학 어셈블리들(180A-B)을 갖는 것으로 도시되지만, 아이웨어 디바이스(100)는 다른 배열들, 예컨대 단일의 어셈블리 또는 세 개의 광학 어셈블리들을 포함할 수 있거나, 또는 광학 어셈블리(180A-B)는 애플리케이션 또는 아이웨어 디바이스(100)의 의도된 유저에 따라 상이한 배열을 가질 수 있다.
[0029] 예컨대 도 1b에서 묘사되는 일 예에서, 각각의 광학 어셈블리(180A-B)는 디스플레이 매트릭스(171) 및 광학 레이어 또는 레이어들(176A-N)을 포함한다. 디스플레이 매트릭스(171)는 액정 디스플레이(liquid crystal display; LCD), 유기 발광 다이오드(organic light-emitting diode; OLED) 디스플레이, 또는 다른 그러한 디스플레이를 포함할 수 있다. 광학 레이어 또는 레이어들(176)은, 렌즈들, 광학 코팅들, 프리즘들, 미러들, 도파관들, 광학 스트립들, 및 임의의 조합의 다른 광학 컴포넌트들을 포함할 수 있다. 본원에서 사용되는 바와 같이, 용어 렌즈는 광으로 하여금 수렴/발산하게 하는 또는 수렴 또는 발산을 거의 또는 전혀 야기하지 않는 굴곡된 또는 편평한 표면들을 갖는 투명한 또는 반투명한 조각(piece)들의 유리 또는 플라스틱을 포괄하도록 의도된다.
[0030] 광학 레이어들(176A-N)은 적절한 사이즈 및 구성을 가지며 디스플레이 매트릭스로부터 광을 수신하기 위한 제1 표면 및 유저의 눈에 광을 방출하기 위한 제2 표면을 포함하는 프리즘을 포함할 수 있다. 광학 레이어들(176A-N)의 프리즘은, 유저의 눈이 대응하는 좌측 및 우측 테두리들(107A-B)을 통해 보고 있을 때 유저가 프리즘의 제2 표면을 보는 것을 허용하도록, 좌측 및 우측 테두리들(107A-B)에서 형성되는 개개의 어퍼처들(175A-B)의 전체 또는 적어도 일부 위로 연장된다. 광학 레이어들(176A-N)의 프리즘의 제1 표면은 프레임(105)으로부터 상방을 향하고 디스플레이 매트릭스는, 디스플레이 매트릭스에 의해 방출되는 광자들 및 광이 제1 표면에 충돌하도록, 프리즘 위에 놓인다. 프리즘은 광이 프리즘 내에서 굴절되고 광학 레이어들(176A-N)의 프리즘의 제2 표면에 의해 유저의 눈을 향해 지향되도록 사이즈가 정해지고 형상이 정해진다. 이와 관련하여, 광학 레이어들(176A-N)의 프리즘의 제2 표면은 눈의 중심을 향하여 광을 지향시키도록 볼록할 수 있다. 프리즘은 디스플레이 매트릭스(171)에 의해 투영되는 이미지, 및 프리즘을 통해 이동하는 광을 확대하기 위해 옵션 사항으로 사이즈가 정해지고 형상이 정해질 수 있고, 그 결과, 제2 표면으로부터 보이는 이미지는 디스플레이 매트릭스(171)로부터 방출되는 이미지보다 하나 이상의 차원들에서 더 크다.
[0031] 예컨대 도 1c에서 묘사되는 다른 예에서, 광학 어셈블리(180A-B)의 이미지 디스플레이 디바이스는 투영 이미지 디스플레이(projection image display)를 포함한다. 예시된 투영 이미지 디스플레이는 아이웨어 디바이스(100)의 코너들(110A-B) 중 하나에 인접하게 배치되는 레이저 프로젝터(150)(예를 들면, 스캐닝 미러 또는 검류계(galvanometer)를 사용하는 3 컬러 레이저 프로젝터) 및 광학 어셈블리(180A-B)의 렌즈의 폭에 걸쳐 또는 렌즈의 전방 표면(front surface)과 후방 표면(rear surface) 사이의 렌즈의 깊이에 걸쳐 떨어져 이격되는 광학 스트립들(155A-N)을 포함한다.
[0032] 레이저 프로젝터(150)에 의해 투영되는 광자들이 광학 어셈블리들(180A 및 180B)의 렌즈를 가로질러 이동함에 따라, 광자들은 광학 스트립들(155A-N)과 조우한다. 특정한 광자가 특정한 광학 스트립과 조우하는 경우, 광자는 유저의 눈을 향해 방향이 재지향되거나, 또는 그것은 다음 번 광학 스트립으로 전달된다. 레이저 프로젝터(150)의 변조, 및 광학 스트립들의 변조의 조합은 특정한 광자들 또는 광의 빔들을 제어한다. 일 예에서, 프로세서는 기계적, 음향적, 또는 전자기적 신호들을 개시하는 것에 의해 광학 스트립들(155A-N)을 제어한다.
[0033] 일 예에서, 아이웨어 디바이스(100)의 광학 어셈블리(180A-B) 상에서의 생성된 가시 출력은 광학 어셈블리들(180A-B)을 통과하는 시야의 적어도 일부를 오버레이(overlay)하는 오버레이 이미지를 포함한다. 일 예에서, 광학 어셈블리들(180A-B)은, 착용자가 광학 어셈블리의 렌즈들을 통해 보고 있는 장면(또는 장면 내의 피처들) 상에서 오버레이 이미지를 오버레이로서 제시하는 씨쓰루 디스플레이(see-through display)들이다. 다른 예에서, 광학 어셈블리들(180A-B)은, 디스플레이들 상에서의 유저에 대한 제시를 위해 아이웨어 디바이스의 카메라들(114)에 의해 캡처되는 실시간 이미지들과 오버레이를 결합하는 것에 의해 오버레이 이미지를 제시하는 씨쓰루 디스플레이들이 아니다(예를 들면, 불투명 디스플레이들이다).
[0034] 상기에서 언급되는 바와 같이, 아이웨어 디바이스(100)는, 예를 들면, 아이웨어 디바이스(100) 그 자체 또는 시스템의 다른 부분에서, 프로세서 및 메모리에 커플링된다. 아이웨어 디바이스(100) 또는 시스템은, 눈의 캡처된 이미지들을 프로세싱하여 눈 움직임을 추적하기 위해, 예를 들면, 시스템의 커플링된 메모리 및 프로세서에 의해, 눈의 캡처되는 이미지들을 후속하여 프로세싱할 수 있다. 캡처된 이미지들의 그러한 프로세싱은 유저 눈의 움직임을 식별하기 위한 스캔경로를 확립한다. 스캔경로는 눈의 캡처된 반사 변화들에 기초하여 눈 움직임의 시퀀스 또는 일련의 눈 움직임을 포함한다. 눈 움직임은 전형적으로 그러한 시선 고정(fixation)들 및 단속적 운동(saccade)들 ― 각각, 눈 시선이 특정한 포지션에 멈출 때, 및 눈 시선이 다른 포지션으로 이동할 때 ― 로 분할된다. 결과적으로 나타나는 일련의 시선 고정들 및 단속적 운동들은 스캔경로로 칭해진다. 원활 추종 운동(smooth pursuit)은 움직이고 있는 오브젝트를 따라가는 눈을 설명한다. 시선 고정의 눈 움직임들은 미세한 단속적 운동: 시도된 시선 고정 동안 발생하는 작고 비자발적인 단속적 운동들을 포함한다. 그 다음, 스캔경로들이 활용되어 시야 조정을 결정한다.
[0035] 캘리브레이션 동안 눈 방향 데이터베이스가 확립될 수 있다. 캘리브레이션 동안 개개의 관심 포인트들의 공지된 고정 포지션이 공지되어 있기 때문에, 그 스캔경로 데이터베이스는 이전에 획득된 캘리브레이션 이미지들에 대한 유사성들을 확립하기 위해 사용될 수 있다. 관심 포인트의 공지된 고정 포지션이 캘리브레이션 이미지로부터 공지되고 시선 방향 데이터베이스에 기록되기 때문에, 아이웨어 디바이스(100)는 눈의 현재 캡처된 이미지들을 눈 방향 데이터베이스와 비교하는 것에 의해 유저의 눈이 보고 있는 곳을 결정할 수 있다. 현재 캡처된 이미지와 가장 많이 닮은 캘리브레이션 이미지(들)는, 현재 캡처된 이미지에 대한 눈 방향의 양호한 근사치로서 활용되는 관심 포인트의 공지된 고정 포지션을 가질 수 있다.
[0036] 도 2는 우측 가시 광 카메라(114), 머리 움직임 추적기(109), 및 마이크(116)를 묘사하는 도 1a의 아이웨어 디바이스(100)의 코너의 상면 단면도이다. 좌측 가시 광 카메라의 구성 및 배치는, 연결들 및 커플링이 좌측 측면부 측(170A) 상에 있다는 것을 제외하면, 우측 가시 광 카메라(114)와 실질적으로 유사하다.
[0037] 우측 코너(110B)는 코너 본체(corner body) 및 코너 캡(corner cap)을 포함하는데, 코너 캡은 도 2의 단면에서 생략되어 있다. 도시되는 바와 같이, 아이웨어 디바이스(100)는, 우측 가시 광 카메라(114), 마이크(들), (예를 들면, Bluetooth™(블루투스)를 통한 무선 단거리 네트워크 통신을 위한) 저전력 무선 회로부, (예를 들면, WiFi(와이파이)를 통한 무선 로컬 영역 네트워크 통신을 위한) 고속 무선 회로부에 대한 컨트롤러 회로들을 구비하는, 플렉시블 인쇄 회로 보드(printed circuit board; PCB)(240)일 수 있는 회로 보드를 포함한다. 우측 힌지(126B)는 우측 코너(110B)를 아이웨어 디바이스(100)의 우측 안경다리(125C)에 연결한다. 일부 예들에서, 우측 가시 광 카메라(114)의 컴포넌트들, 플렉시블 PCB(140), 또는 다른 전기 커넥터들 또는 콘택들은 우측 안경다리(125C) 또는 우측 힌지(126B) 상에 로케이팅될 수 있다.
[0038] 머리 움직임 추적기(109)는 예를 들면, 관성 측정 유닛(inertial measurement unit; IMU)을 포함한다. IMU는, 가속도계들 및 자이로스코프들을 사용하여, 때로는 자력계들의 조합을 또한 사용하여, 신체의 특정한 힘, 각속도, 때로는 신체를 둘러싸는 자기장을 측정하고 보고하는 전자 디바이스이다. IMU는 하나 이상의 가속도계들을 사용하여 선형 가속도를 그리고 하나 이상의 자이로스코프들을 사용하여 회전 레이트를 검출하는 것에 의해 작동한다. IMU들의 전형적인 구성들은 세 개의 축들: 좌우 움직임에 대한 수평 축(X), 상하 움직임에 대한 수직 축(Y), 및 상하 움직임에 대한 깊이 또는 거리 축(Z) 각각에 대한 축마다의 하나의 가속도계, 자이로, 및 자력계를 포함한다. 자이로스코프는 중력 벡터를 검출한다. 자력계는 진행 방향 기준을 생성하는 나침반과 같은 자기장(예를 들면, 남쪽, 북쪽 등을 향함)에서의 회전을 정의한다. 세 개의 가속도계들은 지면, 아이웨어 디바이스(100), 또는 아이웨어 디바이스(100)를 착용하는 유저를 기준으로 정의될 수 있는, 상기에서 정의되는 수평, 수직, 및 깊이 축을 따른 가속도를 검출한다.
[0039] 아이웨어 디바이스(100)는, 머리 움직임 추적기(109)를 통해, 유저의 머리의 머리 움직임을 추적하는 것에 의해 아이웨어 디바이스(100)의 유저의 움직임을 검출한다. 머리 움직임은 이미지 디스플레이 상에서의 초기 디스플레이된 이미지의 제시 동안 초기 머리 방향으로부터의 수평 축, 수직 축, 또는 이들의 조합에 대한 머리 방향의 변동을 포함한다. 일 예에서, 머리 움직임 추적기(109)를 통해, 유저의 머리의 머리 움직임을 추적하는 것은, 관성 측정 유닛을 통해, 수평 축(예를 들면, X 축), 수직 축(예를 들면, Y 축), 또는 이들의 조합(예를 들면, 횡단 또는 대각선 움직임)에 대한 초기 머리 방향을 측정하는 것을 포함한다. 머리 움직임 추적기(109)를 통해, 유저의 머리의 움직임을 추적하는 것은, 관성 측정 유닛을 통해, 초기 디스플레이된 이미지의 제시 동안 수평 축, 수직 축 또는 이들의 조합에 대한 연속적인 머리 방향을 측정하는 것을 더 포함한다.
[0040] 도 3a는 예시적인 이미지 캡처, 프로세싱, 및 디스플레이 시스템(300)의 하이 레벨 기능 블록 다이어그램이다. 이미지 캡처, 프로세싱, 및 디스플레이 시스템(300)은, 예에서 아이웨어 디바이스(100)인 모바일 디바이스를 포함한다. 모바일 디바이스는 하나 이상의 무선 네트워크들 또는 무선 링크들을 통해 다른 모바일 디바이스들(390) 또는 서버 시스템들(398)과 통신할 수 있다. 이미지 캡처, 프로세싱, 및 디스플레이 시스템(300)은 다른 모바일 디바이스들(390) 및 서버 시스템들(398)을 더 포함한다. 모바일 디바이스(390)는 스마트폰, 태블릿, 랩탑 컴퓨터, 액세스 포인트, 또는, 예를 들면, 저전력 무선 연결(325) 및 고속 무선 연결(337)을 사용하여 아이웨어 디바이스(100)와 연결될 수 있는 임의의 다른 그러한 디바이스일 수 있다. 모바일 디바이스(390)는 네트워크(395)를 통해 서버 시스템(398)에 연결된다. 네트워크(395)는 유선 및 무선 연결들의 임의의 조합을 포함할 수 있다.
[0041] 아이웨어 디바이스(100)는 가시 광 카메라(114), 스피커(115), 마이크(116), 유저 인터페이스(301), 광학 어셈블리(180)의 이미지 디스플레이, 이미지 디스플레이 드라이버(342), 이미지 프로세서(312), 오디오 프로세서(313), 저전력 회로부(320), 및 고속 회로부(330)를 포함하고 이들을 지원한다. 아이웨어 디바이스(100)에 대해 도 3a에서 도시되는 컴포넌트들은 안경다리들의 하나 이상의 회로 보드들, 예를 들면, PCB 또는 플렉시블 PCB 상에서 로케이팅된다. 대안적으로 또는 추가적으로, 묘사된 컴포넌트들은 아이웨어 디바이스(100)의 코너들, 프레임들, 힌지들, 또는 브리지에서 로케이팅될 수 있다. 메모리(334)는, 이미지 캡처, 프로세싱, 및 디스플레이를 위해 본원에서 설명되는 기능들을 수행하기 위해, 피처 분석기(344), 피처 모델(345), 및 얼굴 정렬 프로그래밍(346)을 포함한다. 메모리(334)는 이미지 프로세서(312) 및 이미지 디스플레이 드라이버(342)를 사용하여 디스플레이들(180A 및 180B) 상에 오버레이 이미지들을 렌더링하기 위한 렌더링 엔진(348)을 추가적으로 포함한다.
[0042] 피처 분석기(344)는 아이웨어 디바이스(100)로 하여금 아이웨어 디바이스(100)를 통해 보이는 장면으로부터 식별되는 오브젝트들 및 양상들을 프로세싱하게 하는 명령들을 구현한다. 피처 모델(345)은 오브젝트들(예컨대, 얼굴들, 안경, 커버된 얼굴 영역들, 커버되지 않은 얼굴 영역들 등) 및 양상들(예컨대, 움직임, 직선의 라인들, 굴곡된 라인들, 재료들)을 식별하도록 트레이닝되는 머신 러닝 모델이다. 얼굴 정렬 프로그래밍(346)은 아이웨어 디바이스(100)로 하여금 아이웨어 렌즈에 의해 커버되는 얼굴의 영역들과 아이웨어 렌즈에 의해 커버되지 않는 얼굴의 영역들 사이의 경계 불일치를 식별 및 보정하게 하는 명령들을 구현한다.
[0043] 도 3a에서 도시되는 바와 같이, 고속 회로부(330)는 고속 프로세서(343), 메모리(334), 및 고속 무선 회로부(336)를 포함한다. 일 예에서, 이미지 디스플레이 드라이버(342)는 광학 어셈블리(180)의 이미지 디스플레이를 구동하기 위해 고속 프로세서(343)에 의해 동작된다. 고속 프로세서(343)는 아이웨어 디바이스(100)에 의해 필요로 되는 임의의 일반적인 컴퓨팅 시스템의 고속 통신들 및 동작을 관리할 수 있는 임의의 프로세서일 수 있다. 고속 프로세서(343)는 고속 무선 회로부(336)를 사용하여 고속 무선 연결(337) 상에서 무선 로컬 영역 네트워크(wireless local area network; WLAN)로의 고속 데이터 전송들을 관리하는 데 필요한 프로세싱 리소스들을 포함한다. 일부 예들에서, 고속 프로세서(343)는 LINUX 오퍼레이팅 시스템 또는 아이웨어 디바이스(100)의 다른 그러한 오퍼레이팅 시스템과 같은 오퍼레이팅 시스템을 실행하고 오퍼레이팅 시스템은 실행을 위해 메모리(334)에 저장된다. 임의의 다른 책임들에 더하여, 고속 프로세서(343)는 아이웨어 디바이스(100)에 대한 소프트웨어 아키텍처를 실행하여 고속 무선 회로부(336)와의 데이터 전송들을 관리한다. 일부 예들에서, 고속 무선 회로부(336)는, 본원에서 Wi-Fi로서 또한 지칭되는, 전기 전자 기술자 협회(Institute of Electrical and Electronic Engineers; IEEE) 802.11 통신 표준들을 구현하도록 구성된다. 다른 예들에서, 고속 무선 회로부(336)는 다른 고속 통신들 표준들을 구현한다.
[0044] 아이웨어 디바이스(100)의 저전력 무선 회로부(324) 및 고속 무선 회로부(336)는 단거리 트랜스시버들(Bluetooth™) 및 무선 와이드, 로컬, 또는 와이드 영역 네트워크 트랜스시버들(예를 들면, 셀룰러 또는 WiFi)을 포함할 수 있다. 저전력 무선 연결(325) 및 고속 무선 연결(337)을 통해 통신하는 트랜스시버들을 포함하는 모바일 디바이스(390)는, 네트워크(395)의 다른 엘리먼트들이 그럴 수 있는 것처럼, 아이웨어 디바이스(100)의 아키텍처의 세부사항들을 사용하여 구현될 수 있다.
[0045] 메모리(334)는, 다른 것들 중에서도, 가시 광 카메라(114) 및 이미지 프로세서(312)에 의해 생성되는 카메라 데이터뿐만 아니라, 광학 어셈블리(180)의 이미지 디스플레이 상에서 이미지 디스플레이 드라이버(342)에 의해 디스플레이를 위해 생성되는 이미지들 및 마이크(116) 및 오디오 프로세서(313)에 의해 생성되는 오디오 데이터를 비롯하여, 다양한 데이터 및 애플리케이션들을 저장할 수 있는 스토리지 디바이스를 포함한다. 메모리(334)가 고속 회로부(330)와 통합되는 것으로 도시되지만, 다른 예들에서, 메모리(334)는 아이웨어 디바이스(100)의 독립적인 독립형 엘리먼트일 수 있다. 일부 예들에서, 전기적 라우팅 라인들은, 이미지 프로세서(312)/오디오 프로세서(313) 또는 저전력 프로세서(324)로부터 메모리(334)로의 고속 프로세서(343)를 포함하는 칩을 통한 연결을 제공할 수 있다. 다른 예들에서, 고속 프로세서(343)는 저전력 프로세서(324)가 메모리(334)를 수반하는 판독 또는 기록 동작이 필요로 되는 임의의 시간에 고속 프로세서(343)를 부팅하도록 메모리(334)의 주소 지정(addressing)을 관리할 수 있다.
[0046] 아이웨어 디바이스(100)는 글로벌 포지셔닝 시스템(331), 나침반(332), 및 관성 측정 유닛(333)을 더 포함한다. GPS(331)는 GPS 위성들로부터 지오로케이션 및 시간 정보를 수신하는 위성 기반의 라디오 내비게이션 시스템(satellite-based radio navigation system)에서의 사용을 위한 수신기이다. 나침반(332)은 지리적 기본 방향들(또는 포인트들)을 기준으로 방향을 제공한다. IMU(333)는, 가속도계들, 자이로스코프들, 및 자력계들의 조합을 사용하여 힘, 각속도, 방위, 또는 이들의 조합을 측정하고 보고하는 전자 디바이스이다.
[0047] 아이웨어 디바이스(100)는 호스트 컴퓨터와 연결될 수 있다. 예를 들면, 아이웨어 디바이스(100)는 고속 무선 연결(337)을 통해 모바일 디바이스(390)와 페어링할 수 있거나 또는 네트워크(395)를 통해 서버 시스템(398)에 연결될 수 있다. 일 예에서, 아이웨어 디바이스(100)는, 카메라(114)를 통해, 장면의 이미지를 캡처하고 피처 모델(364)을 트레이닝시키기 위한 서버 시스템(398)으로 포워딩하기 위해 이미지들을 호스트 컴퓨터로 전송한다. 다른 예에서, 아이웨어 디바이스(100)는 호스트 컴퓨터로부터 이미지들 및 명령들을 수신한다.
[0048] 아이웨어 디바이스(100)는 다른 출력 컴포넌트 및 입력 컴포넌트들을 더 포함한다. 다른 출력 컴포넌트들은 음향 컴포넌트들(예를 들면, 스피커들(115)), 햅틱 컴포넌트들(예를 들면, 진동 모터), 및 다른 신호 생성기들을 포함한다. 아이웨어 디바이스(100), 모바일 디바이스(390), 및 서버 시스템(398)의 입력 컴포넌트들은 영숫자 입력 컴포넌트들(예를 들면, 키보드, 영숫자 입력을 수신하도록 구성되는 터치스크린, 광-광학 키보드(photo-optical keyboard), 또는 다른 영숫자 입력 컴포넌트들), 포인트 기반의 입력 컴포넌트들(예를 들면, 마우스, 터치패드, 트랙볼, 조이스틱, 모션 센서, 또는 다른 포인팅 기기들), 촉각 입력 컴포넌트들(예를 들면, 물리적 버튼, 터치들 또는 터치 제스처들의 로케이션 및 힘을 제공하는 터치스크린, 또는 다른 촉각 입력 컴포넌트들), 오디오 입력 컴포넌트들(예를 들면, 마이크(116)) 등을 포함할 수 있다.
[0049] 이미지 캡처, 프로세싱, 및 디스플레이 시스템(300)은 추가적인 주변장치 디바이스 엘리먼트들(319)을 옵션 사항으로 포함할 수 있다. 그러한 주변장치 디바이스 엘리먼트들(319)은 생체 인식 센서(biometric sensor)들, 추가적인 센서들, 또는 아이웨어 디바이스(100)와 통합되는 디스플레이 엘리먼트들을 포함할 수 있다. 예를 들면, 주변장치 디바이스 엘리먼트들(319)은 출력 컴포넌트들, 모션 컴포넌트들, 포지션 컴포넌트들, 또는 본원에서 설명되는 임의의 다른 그러한 엘리먼트들을 포함하는 임의의 I/O 컴포넌트들을 포함할 수 있다.
[0050] 예를 들면, 이미지 캡처, 프로세싱, 및 디스플레이 시스템(300)의 생체 인식 컴포넌트들은, 표현들(예를 들면, 손 표현들, 얼굴 표정들, 목소리 표현(vocal expression)들, 신체 제스처들, 또는 시선 추적)을 검출하고, 생체 신호(biosignal)들(예를 들면, 혈압, 심박수, 체온, 땀, 또는 뇌파들)을 측정하고, 사람을 식별(예를 들면, 보이스 식별, 망막 식별, 얼굴 식별, 지문 식별, 또는 뇌파도 기반의 식별)하는 등을 위한 컴포넌트들을 포함한다. 모션 컴포넌트들은 가속도 센서 컴포넌트들(예를 들면, 가속도계), 중력 센서 컴포넌트들, 회전 센서 컴포넌트들(예를 들면, 자이로스코프) 등을 포함한다. 포지션 컴포넌트들은 로케이션 좌표들을 생성하기 위한 로케이션 센서 컴포넌트들(예를 들면, 글로벌 포지셔닝 시스템(Global Positioning System; GPS) 수신기 컴포넌트), 포지셔닝 시스템 좌표들을 생성하기 위한 WiFi 또는 Bluetooth™ 트랜스시버들, 고도 센서 컴포넌트들(예를 들면, 고도가 유도될 수 있는 기압을 검출하는 고도계들 또는 기압계들), 방위 센서 컴포넌트들(예를 들면, 자력계들) 등을 포함한다. 그러한 포지셔닝 시스템 좌표들은 저전력 무선 회로부(324) 또는 고속 무선 회로부(336)를 통해 모바일 디바이스(390)로부터 무선 연결들(325 및 337)을 통해 또한 수신될 수 있다.
[0051] 일 예에서, 이미지 프로세서(312)는, 동작하기 위해 마이크로프로세서에 의해 사용되는 휘발성 메모리와 함께, 가시 광 카메라(114)로부터의 이미지 센서 데이터를 프로세싱하도록 커스터마이징되는 마이크로프로세서 집적 회로(integrated circuit; IC)를 포함한다. 데이터를 프로세싱하는 것에 대해 전력을 인가할 때 이미지 프로세서(312)가 필요로 하는 시간의 양을 감소시키기 위해, 불휘발성 리드 온리 메모리(read only memory; ROM)가, 이미지 프로세서(312)를 동작시키기 위한 또는 부팅하기 위한 명령들과 함께, IC 상에 통합될 수 있다. 이 ROM은 가시 광 카메라(114)로부터 센서 데이터를 수집하기 위한 기본 기능성을 제공하는 데 필요한 최소 사이즈와 매치하도록 최소화될 수 있고, 그 결과, 부팅 시간에서 지연들을 야기할 어떠한 추가적인 기능성도 존재하지 않는다. ROM은 이미지 프로세서(312)의 마이크로프로세서의 휘발성 메모리에 대한 직접 메모리 액세스(direct memory access; DMA)를 가지고 구성될 수 있다. DMA는, 이미지 프로세서(312)의 메인 컨트롤러의 동작과는 독립적으로, ROM으로부터 이미지 프로세서(312)의 시스템 메모리로의 데이터의 메모리 대 메모리 전송을 허용한다. 이 부트 ROM에 DMA를 제공하는 것은, 이미지 프로세서(312)의 전력 인가로부터 가시 광 카메라(114)로부터의 센서 데이터가 프로세싱되고 저장될 수 있을 때까지의 시간을 양을 추가로 감소시킨다. 일부 예들에서, 가시 광 카메라(114)로부터의 카메라 신호의 최소 프로세싱은 이미지 프로세서(312)에 의해 수행되고, 추가적인 프로세싱은 모바일 디바이스(390) 또는 서버 시스템(398) 상에서 동작하는 애플리케이션들에 의해 수행될 수 있다.
[0052] 저전력 회로부(320)는 저전력 프로세서(322) 및 저전력 무선 회로부(324)를 포함한다. 저전력 회로부(320)의 이들 엘리먼트들은 별개의 엘리먼트들로서 구현될 수 있거나 또는 단일의 IC 상에서 단일의 칩 상의 시스템의 일부로서 구현될 수 있다. 저전력 프로세서(324)는 아이웨어 디바이스(100)의 다른 엘리먼트들을 관리하기 위한 로직을 포함한다. 저전력 프로세서(324)는 저전력 무선 연결(325)을 통해 모바일 디바이스(390)로부터 입력 신호들 또는 명령 통신들을 수신하도록 구성된다. 그러한 명령들과 관련되는 추가적인 세부사항들은 하기에서 추가로 설명된다. 저전력 무선 회로부(324)는 단거리 네트워크를 통해 저전력 무선 통신 시스템을 구현하기 위한 회로 엘리먼트들을 포함한다. Bluetooth™ 저에너지로서 또한 공지되어 있는 Bluetooth™ Smart(블루투스 스마트)는 저전력 무선 회로부(324)를 구현하기 위해 사용될 수 있는 저전력 무선 통신 시스템의 하나의 표준 구현예이다. 다른 예들에서, 다른 저전력 통신 시스템들이 사용될 수 있다.
[0053] 모바일 디바이스(390) 및 네트워크(395)의 엘리먼트들, 저전력 무선 연결(325), 및 고속 무선 아키텍처(337)는, 예를 들면, 도 4에 설명되는 모바일 디바이스(390)의 단거리 XCVR들 및 WWAN XCVR들을 활용하는 모바일 디바이스(390)의 아키텍처의 세부사항들을 사용하여 구현될 수 있다.
[0054] 도 3b에서 도시되는 바와 같이, 서버 시스템(398)은, 예를 들면, 프로세서(360), 메모리(362), 및 네트워크(395)를 통해 모바일 디바이스(390) 및 아이웨어 디바이스(100)와 통신하기 위한 네트워크 통신 인터페이스(361)를 포함하는 서비스 또는 네트워크 컴퓨팅 시스템의 일부로서의 하나 이상의 컴퓨팅 디바이스들일 수 있다. 메모리(362)는 피처 모델(364) 및 신경망 프로그래밍(365)을 포함한다. 프로세서(360)에 의한 신경망 프로그래밍(365)의 실행은, 본원에서 설명되는 기능들 중 일부를 수행하도록 서버 시스템(398)을 구성한다.
[0055] 일 예에서, 서버 시스템(398)은, 모바일 디바이스(390)를 통해 아이웨어 디바이스(100)로부터, 모바일 디바이스(390)로부터, 또는 피처 모델(364)을 트레이닝시키기 위한 신경망 프로그래밍(365)에 의한 사용을 위한 다른 디바이스들로부터 장면의 이미지들을, 네트워크(395)를 통해, 수신한다. 서버 시스템(398)은 얼굴 피처들, 아이웨어, 커버된 얼굴 영역들, 및 커버되지 않은 얼굴 영역들을 식별함에 있어서의 사용을 위해 트레이닝된 피처 모델을 아이웨어 디바이스(100) 또는 모바일 디바이스(390)로 전송한다. 적절한 신경망은 다음의 아키텍처들 VGG16, VGG19, ResNet50, Inception V3, 및 Xception, 또는 다른 CNN 아키텍처들 중 하나에 기초하는 컨볼루션 신경망(convolutional neural network; CNN)이다.
[0056] 일 예에서, 머신 러닝 기술들(예를 들면, 딥 러닝)이 사용되어 이미지에서 오브젝트들을 로케이팅한다. 딥 러닝은, 선형 및 비선형 변환들을 포함하는 다수의 프로세싱 레이어들을 갖는 심층 그래프(deep graph)를 사용하여 데이터의 하이 레벨 추상화들을 모델링하기 위한 알고리즘들의 세트를 사용하는 머신 러닝의 서브세트이다. 머신 러닝 네트워크의 학습 및 업데이팅을 통해 수정될 초기 피처들 및 네트워크 가중치들이 많은 머신 러닝 시스템들의 씨드가 되지만, 딥 러닝 네트워크는 분석을 위한 "양호한" 피처들을 식별하기 위해 그 자신을 트레이닝시킨다. 다중 레이어 아키텍처를 사용하여, 딥 러닝 기술들을 활용하는 머신들은 종래의 머신 러닝 기술들을 사용하는 머신들보다 원시 데이터를 더 잘 프로세싱할 수 있다. 고도로 상관된 값들 또는 독특한 테마들의 그룹들에 대한 데이터를 검사하는 것은 평가 또는 추상화의 상이한 레이어들을 사용하여 용이하게 된다.
[0057] CNN들은, 데이터세트들에서 적절한 오브젝트들 및 영역들의 검출, 세그먼트화, 및 인식을 위해 딥 러닝에서 사용되는 인터커넥트된 데이터의 생물학적으로 영감을 받은 네트워크들이다. CNN들은 다수의 어레이들의 형태의 원시 데이터를 평가하여, 그 데이터를 일련의 스테이지들에서 분해하고, 학습된 피처들에 대해 그 데이터를 검사한다.
[0058] 일 예에서, 이미지 분석은 CNN을 사용하여 실행된다. CNN은 입력 이미지를 수신하고 학습된 피처들을 식별하기 위해 컨볼루션 레이어에서 이미지를 추상화한다. 제2 컨볼루션 레이어에서, 이미지는, 학습된 피처들 각각이 개개의 서브 이미지에서 강조되는 복수의 이미지들로 변환된다. 이미지들은 이미지들의 관심 피처들에 초점을 맞추도록 추가로 프로세싱된다. 그 다음, 결과적으로 나타나는 이미지들은, 이미지들의 사이즈를 감소시키는 풀링 레이어를 통해 프로세싱되어 관심 피처들을 포함하는 이미지들의 부분들을 분리한다. 컨볼루션 신경망의 출력들은 마지막 비출력 레이어로부터 값들을 수신하고 마지막 비출력 레이어로부터 수신되는 데이터에 기초하여 이미지를 분류한다.
[0059] 아이웨어 디바이스(100)의 피처 모델(345)은 서버 시스템(398)의 피처 모델(364)의 미러 이미지일 수 있다. 아이웨어 디바이스(100)의 피처 모델(345)은 리드 온리 메모리(ROM), 소거 가능한 프로그래머블 리드 온리 메모리(erasable programmable read-only memory; EPROM), 또는 고속 회로부(330)의 플래시 메모리에 로컬하게 저장된다.
[0060] 도 4는 도 3a의 이미지 캡처, 프로세싱, 및 디스플레이 시스템(300)에 대한 프로세싱을 제공하는 모바일 디바이스(390)의 일 예의 하이 레벨 기능 블록 다이어그램이다. 피처 분석기(344), 피처 모델(345), 얼굴 정렬 프로그래밍(346), 및 채팅 애플리케이션(chat application)과 같은 다른 애플리케이션들과 함께 로딩되는 렌더링 엔진(348)을 구비하는 터치스크린 타입의 모바일 디바이스(390)의 엘리먼트들이 도시되어 있다. 사용될 수 있는 터치 스크린 타입 모바일 디바이스들의 예들은 스마트폰, 개인 휴대형 정보 단말(personal digital assistant; PDA), 태블릿 컴퓨터, 랩탑 컴퓨터, 또는 다른 휴대용 디바이스를 포함한다(그러나 이들로 제한되지는 않는다). 그러나, 터치 스크린 타입 디바이스들의 구조 및 동작은 예로서 제공되며; 본원에서 설명되는 바와 같은 본 기술은 이들로 제한되도록 의도되지는 않는다. 따라서, 이 논의의 목적들을 위해, 도 4는 콘텐츠를 디스플레이하고 유저 입력을 유저 인터페이스로서(또는 그 일부로서) 수신하기 위한 터치 스크린 디스플레이를 구비하는 예시적인 모바일 디바이스(390)의 블록 다이어그램 예시를 제공한다. 모바일 디바이스(390)는 가시 광 카메라(들)와 같은 카메라(들)(470), 및 마이크(471)를 또한 포함한다.
[0061] 도 4에서 도시되는 바와 같이, 모바일 디바이스(390)는 광역 무선 이동 통신 네트워크를 통한 디지털 무선 통신들을 위해, WWAN XCVR들로서 도시되는 적어도 하나의 디지털 트랜스시버(XCVR)(410)를 포함한다. 모바일 디바이스(390)는 추가적인 디지털 또는 아날로그 트랜스시버들, 예컨대 NFC, VLC, DECT, ZigBee(지그비), Bluetooth™(블루투스), 또는 WiFi를 통한, 예컨대 단거리 네트워크 통신을 위한 단거리 XCVR들(420)을 또한 포함한다. 예를 들면, 단거리 XCVR들(420)은, WiMAX(와이맥스) 및 IEEE 802.11 하에서의 와이파이 표준들 중 하나와 같은, 무선 로컬 영역 네트워크들에서 구현되는 통신의 하나 이상의 표준 통신 프로토콜들과 호환되는 타입의 임의의 이용 가능한 양방향 무선 로컬 영역 네트워크(WLAN) 트랜스시버의 형태를 취할 수 있다.
[0062] 모바일 디바이스(390)의 포지셔닝을 위한 로케이션 좌표들을 생성하기 위해, 모바일 디바이스(390)는 글로벌 포지셔닝 시스템(global positioning system; GPS) 수신기(331)를 포함할 수 있다. 대안적으로 또는 추가적으로, 모바일 디바이스(390)는 포지셔닝을 위한 로케이션 좌표들을 생성하기 위해 단거리 XCVR들(420) 및 WWAN XCVR들(410) 중 하나 또는 둘 모두를 활용할 수 있다. 예를 들면, 셀룰러 네트워크, WiFi, 또는 Bluetooth™(블루투스) 기반의 포지셔닝 시스템들은, 특히 조합하여 사용될 때, 매우 정확한 로케이션 좌표들을 생성할 수 있다. 그러한 로케이션 좌표들은 XCVR들(420)을 통해 하나 이상의 네트워크 연결들을 통해 아이웨어 디바이스(100)로 송신될 수 있다. 추가적으로, 모바일 디바이스(390)는 방향 정보를 결정하기 위한 나침반(332) 및 관성 측정 유닛(333)을 포함할 수 있다.
[0063] 트랜스시버들(410, 420)(네트워크 통신 인터페이스들)은 현대 모바일 네트워크들에 의해 활용되는 다양한 디지털 무선 통신 표준들 중 하나 이상을 준수한다. WWAN 트랜스시버들(410)의 예들은, 예를 들면 그리고 제한 없이, 3GPP 타입 2(또는 3GPP2) 및 때때로 "4G"로서 지칭되는 LTE를 포함하는 코드 분할 다중 액세스(Code Division Multiple Access; CDMA) 및 3세대 파트너십 프로젝트(3rd Generation Partnership Project; 3GPP) 네트워크 기술들에 따라 동작하도록 구성되는 트랜스시버들을 포함한다(그러나 이들로 제한되지는 않는다). 예를 들면, 트랜스시버들(410, 420)은 디지털화된 오디오 신호들, 스틸 이미지 및 비디오 신호들, 디스플레이를 위한 웹페이지 정보뿐만 아니라 웹 관련 입력들을 포함하는 정보의 양방향 무선 통신, 및 유저 인증 전략들을 위한 모바일 디바이스(390)로의/로부터의 다양한 타입들의 모바일 메시지 통신들을 제공한다.
[0064] 모바일 디바이스(390)는, CPU(430)로서 도시되는, 마이크로프로세서를 더 포함한다. 프로세서는 하나 이상의 프로세싱 기능들, 전형적으로 다양한 데이터 프로세싱 기능들을 수행하도록 구조화되고 배열되는 엘리먼트들을 갖는 회로이다. 이산 로직 컴포넌트들이 사용될 수 있지만, 예들은 프로그래머블 CPU를 형성하는 컴포넌트들을 활용한다. 마이크로프로세서는, 예를 들면, CPU의 기능들을 수행하기 위해 전자 엘리먼트들을 통합하는 하나 이상의 집적 회로(IC) 칩들을 포함한다. 프로세서(430)는, 예를 들면, 오늘날 모바일 디바이스들 및 다른 휴대용 전자 디바이스들에서 일반적으로 사용되는 바와 같은 임의의 공지된 또는 이용 가능한 마이크로프로세서 아키텍처, 예컨대 ARM 아키텍처를 사용하는 축약형 명령 세트 컴퓨팅(Reduced Instruction Set Computing; RISC)에 기초할 수 있다. 스마트폰, 랩탑 컴퓨터, 및 태블릿에서 CPU(430) 또는 프로세서 하드웨어를 형성하기 위해 다른 프로세서 회로부가 사용될 수 있다.
[0065] 마이크로프로세서(430)는, 예를 들면, 프로세서(430)에 의해 실행 가능한 명령들 또는 프로그래밍에 따라, 다양한 동작들을 수행하도록 모바일 디바이스(390)를 구성하는 것에 의해 모바일 디바이스(390)를 위한 프로그래머블 호스트 컨트롤러로서 역할을 한다. 예를 들면, 그러한 동작들은 모바일 디바이스의 다양한 일반적인 동작들뿐만 아니라, 이미지가 캡처될 때 디바이스의 로케이션을 결정하는 것 및 이미지 오버레이들을 생성 및 제시할 때 디바이스의 로케이션 및 방위를 결정하는 것에 관련되는 동작들을 포함할 수 있다. 하드웨어에 내장된 로직(hardwired logic)의 사용에 의해 프로세서가 구성될 수 있지만, 모바일 디바이스들 내의 전형적인 프로세서들은 프로그래밍의 실행에 의해 구성되는 일반적인 프로세싱 회로들이다.
[0066] 모바일 디바이스(390)는 데이터 및 프로그래밍을 저장하기 위한 메모리 또는 스토리지 디바이스 시스템을 포함한다. 예에서, 메모리 시스템은 플래시 메모리(440A) 및 랜덤 액세스 메모리(random access memory; RAM)(440B)를 포함할 수 있다. RAM(440B)은, 예를 들면, 작업 데이터 프로세싱 메모리로서, 프로세서(430)에 의해 핸들링되고 있는 명령들 및 데이터를 위한 단기간 스토리지로서 역할을 한다. 플래시 메모리(440A)는 전형적으로 장기간 스토리지를 제공한다.
[0067] 디바이스의 타입에 따라, 모바일 디바이스(390)는, 피처 분석기(344), 피처 모델(345), 얼굴 정렬 프로그래밍(346), 및 렌더링 엔진(348)을 포함할 수 있는 특정한 애플리케이션들 실행하기 위한 모바일 오퍼레이팅 시스템을 저장하고 실행한다. 그러나, 일부 구현예들에서, 프로그래밍은 펌웨어 또는 펌웨어 및 애플리케이션 레이어의 조합으로 구현될 수 있다. 예를 들면, 이미지들을 획득하기 위한, 피처들을 식별하기 위한, 피처들을 분석하기 위한, 얼굴 피처들을 정렬하기 위한, 그리고 오버레이를 생성하기 위한 명령들은 펌웨어(예를 들면, 전용 GPU 또는 VPU SOC를 가짐)에서 존재할 수 있다. 유저에게 보이는 출력을 생성하기 위한 명령들은 애플리케이션에서 존재할 수 있다. 피처 분석기(344), 얼굴 정렬 프로그래밍(346), 및 다른 애플리케이션들과 같은 애플리케이션들은 네이티브(native) 애플리케이션, 하이브리드 애플리케이션, 또는 모바일 디바이스(390) 상에서 실행되는 웹 애플리케이션(예를 들면, 웹 브라우저에 의해 실행되는 동적 웹페이지)일 수 있다. 모바일 오퍼레이팅 시스템들의 예들은 Google Android(구글 안드로이드), Apple iOS(애플 아이오에스)(I-Phone(아이폰) 또는 iPad(아이패드) 디바이스들), Windows Mobile(윈도우즈 모바일), Amazon Fire OS(아마존 파이어 오에스), RIM BlackBerry(림 블랙베리) 오퍼레이팅 시스템 등을 포함한다.
[0068] 도 5a, 도 5b, 도 5c, 및 도 5d는, 이미지 프로세싱 디바이스(예를 들면, 아이웨어 디바이스(100), 모바일 디바이스(390), 또는 아이웨어 렌즈들에 기인하는 이미지들에서의 얼굴 왜곡을 이미지 프로세싱할 수 있는 퍼스널 컴퓨터와 같은 다른 전자 디바이스)의 예시적인 동작을 각각 예시하는 플로우차트들(500, 520, 540, 및 560)이다. 얼굴 왜곡은 아이웨어의 렌즈에 의해 야기되는 굴절에 기인하는데, 이것은 도 6a 및 도 6b를 참조하여 설명된다. 설명된 방법들을 사용한 초기 이미지들 및 이미지 보정의 예시들이 도 7a 내지 도 7d에서 묘사되어 있다. 순차적으로 발생하는 것으로 도시되어 있지만, 플로우차트들(500, 520, 540, 또는 560)의 블록들 중 하나 이상은 구현에 따라 재순서화될 수 있거나 또는 병렬화될 수 있다.
[0069] 블록(502)에서, 이미지 프로세싱 디바이스는 아이웨어(100)를 착용하는 대상자(subject)의 얼굴(700)(도 7a)을 포함하는 이미지를 획득한다. 이미지 프로세싱 디바이스는 디바이스의 카메라로부터, 디바이스의 메모리로부터, 또는 네트워크 연결을 통해 다른 디바이스로부터 이미지를 획득할 수 있다. 이미지 프로세싱 디바이스는 이미지를 메모리에 저장할 수 있다. 일 예에서, 이미지를 획득하는 것은 증강 현실 광학 어셈블리를 구비하는 아이웨어 디바이스의 카메라 시스템을 사용하여 이미지를 캡처하는 것을 포함한다. 이 예에 따르면, 카메라 시스템의 시야는 증강 현실 광학 어셈블리를 통과하는 시야와 중첩된다.
[0070] 획득된 이미지에서의 아이웨어(100)는, 눈(704)(우안(704a) 및 좌안(704b))을 둘러싸는 얼굴의 영역을 덮는 커버리지 영역을 정의하는 렌즈(702)(우측 렌즈(702a) 및 좌측 렌즈(702b))를 포함하는데, 여기서 렌즈는 커버리지 영역 내의 얼굴의 영역을 왜곡하여, 렌즈의 커버리지 영역 내에서 커버된 얼굴 영역(706)(우측 영역(706a) 및 좌측 영역(706b))을 생성한다. 도 7b에서 예시되는 바와 같이, 커버된 얼굴 영역(706b)은 포인트(710a)(커버된 얼굴의 에지(edge)가 렌즈의 상부 에지(upper edge)와 교차하는 곳)와 710b(커버된 얼굴의 에지가 렌즈의 하부 에지(lower edge)와 교차하는 곳) 사이에서, 포인트(712a)(커버되지 않은 얼굴의 에지가 프레임의 상부 에지와 교차하는 곳)와 712b(커버되지 않은 얼굴의 에지가 프레임의 하부 에지와 교차 곳) 사이의 커버리지 영역 밖에 있는 얼굴의 커버되지 않은 얼굴 경계(712c)와 정렬되지 않는, 커버된 얼굴 경계(710c)를 갖는다.
[0071] 블록(504)에서, 이미지 프로세싱 디바이스는 얼굴(700) 및 렌즈의 커버리지 영역을 검출하기 위해, 획득된 이미지를 세그먼트화한다. 이미지 프로세싱 디바이스는 세그먼트화 동안 (커버리지 영역 내의) 커버된 얼굴 영역을 추가로 식별할 수 있다. 일 예에서, 세그먼트화하는 것은 공지된 컴퓨터 비전 또는 머신 러닝 모델들(예를 들면, CNN)을 사용하여 행해진다. 모델들은 주석이 달리지 않은 이미지들을 사용하여 트레이닝될 수 있거나 또는 수백 또는 수천 또는 그 이상의 주석이 달린 이미지들을 사용하여 트레이닝될 수 있다. 일 예에서, 주석들은 머리카락, 안경(렌즈들 및 프레임들), 눈들, 눈썹들 및 피부과 같은 전경들 엘리먼트들의 픽셀 정확도 로케이션들을 포함한다. 안경을 검출하는 것 및 이미지들로부터의 세그먼트화는 『Glasses Detection and Segmentation from Face Portrait Image Master's Thesis at the Graz University of Technology in Graz, Austria by Paul Urtahler (December 2008)』에서 설명되는데, 이 문헌은 인용에 의해 본원에 완전히 포함된다.
[0072] 블록(506)에서, 이미지 프로세싱 디바이스는, 커버된 얼굴 경계(710c)를 커버되지 않은 얼굴 경계(712c)에 매치시키도록, 렌즈(702)의 검출된 커버리지 영역 내의 커버된 얼굴 영역(706)을 변경한다. 커버된 얼굴 영역을 변경하기 위한 세 가지 예들이 개개의 도 7b 내지 도 7d에서 설명되어 있다.
[0073] 블록(508)에서, 이미지 프로세싱 디바이스는 변경된 커버된 얼굴 영역을 디스플레이한다. 일 예에서, 모바일 디바이스(390)의 프로세서(403)는 디스플레이 드라이버를 통해 터치스크린 디스플레이 상에서 변경된 커버된 얼굴 영역과 함께 원래의 이미지를 디스플레이한다. 다른 예에서, 아이웨어 디바이스(100)의 프로세서(343)는 이미지 프로세서(312) 및 이미지 디스플레이 드라이버(342)를 통해 이미지 디스플레이(180) 상에서 변경된 커버리지 얼굴 영역을 디스플레이한다. 변경된 커버리지 얼굴 영역은 아이웨어 디바이스(100)를 통해 보이고 있는 아이웨어 착용자의 얼굴 상에서 제시될 수 있다. 이 예에 따르면, 이미지 프로세서(312)는 변경된 커버된 얼굴 영역으로부터 오버레이 이미지들을 생성하고 렌즈의 검출된 커버리지 영역 내에서 증강 현실 광학 어셈블리 상에 오버레이 이미지들을 제시한다.
[0074] 일 예에서, 획득된 이미지는 일련의 순차적인 이미지들 중 하나이고 블록들(502-508)을 참조하여 상기에서 설명되는 프로세스는 일련의 순차적인 이미지들의 각각의 후속하는 이미지에 대해 반복된다.
[0075] 도 5b는 검출된 커버리지 영역을 변경하기 위한 예시적인 단계들의 플로우차트(520)를 묘사한다. 블록(522)에서, 서버 시스템(398)은 머신 러닝 모델을 트레이닝시킨다. 일 예에서, 머신 러닝 모델은, 커버된 얼굴 경계를 왜곡하는 렌즈들을 포함하는 아이웨어를 착용한 다른 얼굴들을 갖는 복수의 이미지들 및 커버된 얼굴 경계를 왜곡하지 않는 아이웨어를 착용한 다른 얼굴들을 갖는 대응하는 복수의 이미지들을 사용하여 트레이닝된다. 트레이닝을 위해 사용되는 이미지들은 주석이 달릴 수 있거나 또는 주석이 달리지 않을 수 있다.
[0076] 블록(524)에서, 이미지 프로세싱 디바이스는 머신 러닝 모델을 적용한다. 일 예에서, 검출된 커버된 얼굴 영역 및 검출된 얼굴은 머신 러닝 모델에 대한 입력들로서 제공되는데, 이들은 출력으로서 변경된 커버된 얼굴 영역을 생성한다. 변경된 커버된 얼굴 영역은 왜곡되지 않는다(도 7d 참조).
[0077] 블록(526)에서, 이미지 프로세싱 디바이스는 커버된 얼굴 영역을 변경된 커버된 얼굴 영역으로 교체한다. 일 예에서, 모바일 디바이스(390)의 프로세서(430)는, 터치스크린 디스플레이의 드라이버를 통해, 커버된 얼굴 영역을 변경된 커버된 얼굴 영역으로 교체한다(도 7d 참조). 다른 예에서, 아이웨어 디바이스(100)의 프로세서(343)는 이미지 프로세서(312) 및 이미지 디스플레이 드라이버(343)를 사용하여 커버된 얼굴 영역을 교체한다.
[0078] 도 5c는 검출된 커버리지 영역을 변경하기 위한 다른 예시적 단계들의 플로우차트(540)를 묘사한다.
[0079] 블록(542)에서, 이미지 프로세싱 디바이스는 검출된 커버된 얼굴 영역에 굴절 방지 알고리즘을 적용하여, 변경된 커버된 얼굴 영역을 생성한다. 굴절 방지 알고리즘은 도 6a 내지 도 6c를 참조하여 설명되는 굴절을 상쇄한다. 본원의 설명으로부터 기술 분야에서 숙련된 자에 의해 적절한 굴절 방지 알고리즘들이 이해될 것이다.
[0080] 블록(544)에서, 이미지 프로세싱 디바이스는 커버된 얼굴 영역을 변경된 커버된 얼굴 영역으로 교체한다. 일 예에서, 모바일 디바이스(390)의 프로세서(430)는, 터치스크린 디스플레이의 드라이버를 통해, 커버된 얼굴 영역을 변경된 커버된 얼굴 영역으로 교체한다. 다른 예에서, 아이웨어 디바이스(100)의 프로세서(343)는 이미지 프로세서(312) 및 이미지 디스플레이 드라이버(343)를 사용하여 커버된 얼굴 영역을 교체한다.
[0081] 도 5d는 검출된 커버리지 영역을 변경하기 위한 다른 예시적 단계들의 플로우차트(560)를 묘사한다.
[0082] 블록(562)에서, 이미지 프로세싱 디바이스는, 커버된 얼굴 경계가 렌즈의 상부 에지와 교차하는, 커버된 얼굴 경계(710c)의 내부 상부 에지(710a)를 식별한다. 블록(564)에서, 이미지 프로세싱 디바이스는, 커버된 얼굴 경계가 렌즈의 하부 에지와 교차하는, 커버된 얼굴 경계의 내부 하부 에지를 식별한다. 블록(566)에서, 이미지 프로세싱 디바이스는, 커버되지 않은 얼굴 경계가 렌즈의 상부 에지와 교차하는, 커버되지 않은 얼굴 경계의 외부 상부 에지를 식별한다. 블록(568)에서, 이미지 프로세싱 디바이스는, 커버되지 않은 얼굴 경계가 렌즈의 하부 에지와 교차하는, 커버되지 않은 얼굴 경계의 외부 하부 에지를 식별한다. 일 예에서, 이미지 프로세싱 디바이스는 에지들을 식별하도록 구성되는 컴퓨터 비전 알고리즘을 적용하는 것에 의해 에지들을 식별한다. 다른 예에서, 이미지 프로세싱 디바이스는 아이웨어, 커버된 얼굴 경계들, 및 커버되지 않은 얼굴 경계들을 식별하도록 구성되는 컨볼루션 신경망을 적용하는 것에 의해 에지들을 식별한다.
[0083] 블록(570)에서, 이미지 프로세싱 디바이스는, 내부 상부 에지가 외부 상부 에지와 매치하는 것 또는 내부 하부 에지가 외부 하부 에지와 매치하는 것 중 적어도 하나가 이루어질 때까지, 커버된 얼굴 경계를 수평 방향으로 스케일링한다. 일 예에서, 이미지 프로세싱 디바이스는 커버된 얼굴 영역에 선형 또는 다른 다항식 레벨 기반의 스트레칭(polynomial level based stretching)(도 7c 참조)을 적용하는 것에 의해 이미지를 스케일링한다.
[0084] 이제, 도 6a를 참조하면, 렌즈(702)는 두 개의 구면 표면(spherical surface)들에 의해 경계가 정해지는 투명 재료로 만들어지는 얇은 렌즈이다. 두 개의 구면 표면들이 있기 때문에, 두 개의 곡률 중심들(C1 및 C2) 및 상응하여 두 개의 곡률 반경들(R1 및 R2)이 있다. 곡률 중심들을 연결하는 라인은 렌즈의 주축(principal axis)으로 지칭된다. 주축 상에 놓이는 얇은 렌즈의 중심(P)은 광학기기 중심(optic center)으로 지칭된다.
[0085] 굴절률(n1)의 매질(예를 들면, 공기)에 배치되는 굴절률(n2)의 매질로 구성되는 얇은 렌즈를 고려한다. R1 및 R2는, 각각, 광선 진입 표면 및 광선 진출 표면의 곡률 반경들이고, P는 광학기기 중심이라고 하자.
[0086] 주축 상에 있는 포인트 오브젝트(O)를 고려한다. 광선(OP)은 일반적으로 구면 표면에 떨어지고 편향 없이 렌즈를 통과한다. 광선(OA)은 P에 매우 가까운 A에 떨어진다. 광선은 광선 진입 렌즈 표면 및 광선 진출 렌즈 표면에서 굴절되어, I에서 이미지의 왜곡된 버전을 형성한다.
[0087] 구면 표면에서의 굴절에 대한 일반적인 수학식은 수학식 1에 의해 주어진다.
[0088]
Figure pct00001
[0089] 공기 중에서 사용되는 렌즈의 경우, 수학식 1이 사용되어 수학식 2에서 나타내어지는 렌즈 제조사 수학식(lens maker formula)을 유도할 수 있다.
[0090]
Figure pct00002
[0091] 도 6b는 두 개의 렌즈들(A와 B)을 묘사한다. 초점 거리(f1 및 f2)를 각각 갖는 두 개의 렌즈들(A 및 B)은 서로 접촉하여 배치되어 있다. 오브젝트는 공통 주축 상에서 제1 렌즈(A)의 초점을 넘어 O에서 배치되어 있다.
[0092] 렌즈(A)는 I1에서 이미지를 생성한다. 이 이미지(I1)는 제2 렌즈(B)에 대한 오브젝트로서 역할을 한다. 최종 이미지는 도 6b에서 도시되는 바와 같이 I에서 생성된다. 렌즈들이 얇기 때문에, 공통 광학 중심(P)이 선택된다. 배율(power)의 관점들에서, 접촉하는 렌즈들의 조합의 배율은 개개의 렌즈들의 배율들의 대수적 합이다.
[0093] 도 6c는 제2 렌즈 대신 이미지 프로세서(602)를 묘사한다. 이미지 프로세서(602)는 제1 렌즈에 의해 도입되는 굴절을 상쇄시키는 굴절 방지 알고리즘을 구현하도록 구성된다. 굴절 방지 알고리즘은 렌즈 제조사의 수학식의 역(inverse) 또는 렌즈에 의해 도입되는 굴절을 제거하기 위한 다른 적절한 알고리즘일 수 있다. 이미지 프로세서(602)는 아이웨어(100), 모바일 디바이스(390), 또는 서버 시스템(398)의 프로세서를 사용하여 구현될 수 있다.
[0094] 피처 분석기(344), 피처 모델(345), 얼굴 정렬 프로그래밍(346), 및 아이웨어 디바이스(100), 모바일 디바이스(390), 및 서버 시스템(398)에 대한 렌더링 엔진(348)을 위한 프로그래밍과 같은 본원에서 설명되는 방법들 중 임의의 것은, 앞서 설명되는 바와 같은 하나 이상의 애플리케이션들에서 또는 하나 이상의 방법들에서 방법 단계들로서 구체화될 수 있다. 일부 예들에 따르면, "애플리케이션", "애플리케이션들", 또는 "펌웨어"는 소프트웨어 또는 하드웨어 명령들로 구체화되는 로직과 같은, 프로그램에서 정의되는 기능들을 실행하는 프로그램(들)이다. 다양한 방식들로 구조화되는 애플리케이션들 중 하나 이상을 생성하기 위해, 다양한 프로그래밍 언어들, 예컨대 객체 지향 프로그래밍 언어들(예를 들면, Objective-C(오브젝티브 C), Java(자바) 또는 C++) 또는 절차적 프로그래밍 언어들(예를 들면, C 또는 어셈블리어)이 활용될 수 있다. 특정일 예에서, 써드파티 애플리케이션(예를 들면, 특정한 플랫폼의 판매 업체 이외의 엔티티에 의해 ANDROID™(안드로이드) 또는 IOS™(아이오에스) 소프트웨어 개발 키트(software development kit; SDK)를 사용하여 개발되는 애플리케이션)은 IOS™, ANDROID™, WINDOWS®(윈도우즈) 폰, 또는 다른 모바일 오퍼레이팅 시스템과 같은 모바일 오퍼레이팅 시스템 상에서 실행되는 모바일 소프트웨어일 수 있다. 이 예에서 써드파티 애플리케이션은 본원에서 설명되는 기능성을 용이하게 하기 위해 오퍼레이팅 시스템에 의해 제공되는 애플리케이션 프로그래밍 인터페이스(application programming interface; API) 호출(call)들을 호출할 수 있다. 애플리케이션들은 임의의 타입의 컴퓨터 판독 가능 매체 또는 컴퓨터 스토리지 디바이스에 저장될 수 있고 하나 이상의 범용 컴퓨터들에 의해 실행될 수 있다. 또한, 본원에서 개시되는 방법들 및 프로세스들은 특수 컴퓨터 하드웨어 또는 주문형 집적 회로(application specific integrated circuit; ASIC), 필드 프로그래머블 게이트 어레이(field programmable gate array; FPGA) 또는 복합 프로그래머블 로직 디바이스(complex programmable logic device; CPLD)에서 대안적으로 구체화될 수 있다.
[0095] 기술의 프로그램 양상들은, 전형적으로, 한 타입의 머신 판독 가능 매체 상에서 반송되는 또는 한 타입의 머신 판독 가능 매체에서 포함되는 실행 가능 코드 및 연관된 데이터의 형태의 "제품들" 또는 "제조 물품들"로서 생각될 수 있다. 예를 들면, 프로그래밍 코드는 내비게이션, 눈 추적 또는 본원에서 설명되는 다른 기능들을 위한 코드를 포함할 수 있다. "저장" 타입 미디어들은, 컴퓨터들, 프로세서들 등의 임의의 또는 모든 유형의 메모리, 또는 연관된 모듈들, 예컨대, 소프트웨어 프로그래밍을 위한 임의의 시간에 비-일시적인 스토리지를 제공할 수 있는, 다양한 반도체 메모리들, 테이프 드라이브들, 디스크 드라이브들 등을 포함한다. 소프트웨어의 모두 또는 일부들은, 가끔은, 인터넷 또는 다양한 다른 원격 통신 네트워크들을 통해 전달될 수 있다. 그러한 통신들은, 예를 들면, 하나의 컴퓨터 또는 프로세서로부터 다른 것으로의, 예를 들면, 서비스 제공자의 호스트 컴퓨터 또는 서버 시스템(398)으로부터 아이웨어 디바이스(100) 및 모바일 디바이스(390)의 컴퓨터 플랫폼들로의 소프트웨어의 로딩을 가능하게 할 수 있다. 따라서, 프로그래밍, 미디어 콘텐츠 또는 메타데이터 파일들을 보유할 수 있는 다른 타입의 미디어는, 예컨대, 유선 및 광학적 지상 회선 네트워크들을 통해 그리고 다양한 공중 링크들을 통해, 로컬 디바이스들 사이의 물리적 인터페이스들에 걸쳐 사용되는 광학적, 전기적, 및 전자기적 파들을 포함한다. 그러한 파들을 반송하는 물리적 엘리먼트들, 예컨대 유선 또는 무선 링크들, 광학적 링크들 등도, 소프트웨어를 보유하는 미디어로서 또한 간주될 수 있다. 본원에서 사용될 때, "비-일시적인", "유형의", 또는 "저장" 매체들로 제한되지 않는 한, 컴퓨터 또는 머신 "판독 가능 매체"와 같은 용어들은, 실행을 위해 프로세서에 명령들 또는 데이터를 제공하는 데 참가하는 임의의 매체를 가리킨다.
[0096] 그러므로, 머신 판독 가능 매체는 많은 형태들의 유형의 저장 매체를 취할 수 있다. 불휘발성 저장 매체들은, 예컨대 도면들에서 도시되는 클라이언트 디바이스, 미디어 게이트웨이, 트랜스코더 등을 구현하기 위해 사용될 수 있는, 예를 들면, 광학 또는 자기 디스크들, 예컨대 임의의 컴퓨터(들) 등에서의 스토리지 디바이스들 중 임의의 것을 포함한다. 휘발성 저장 매체들은 동적 메모리, 예컨대 그러한 컴퓨터 플랫폼의 메인 메모리를 포함한다. 유형의 송신 매체들은 동축 케이블들; 컴퓨터 시스템 내의 버스를 포함하는 배선들을 비롯한, 구리 배선 및 광섬유들을 포함한다. 반송파 송신 매체들은 전기 또는 전자기 신호들, 또는 라디오 주파수(RF) 및 적외선(infrared; IR) 데이터 통신들 동안 생성되는 것들과 같은 음파 또는 광파의 형태를 취할 수 있다. 따라서, 컴퓨터 판독 가능 매체들의 일반적인 형태들은 예를 들면 다음의 것을 포함한다: 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 임의의 다른 자기 매체, CD-ROM, DVD 또는 DVD-ROM, 임의의 다른 광학 매체, 펀치 카드들 종이 테이프, 홀들의 패턴들을 갖는 임의의 다른 물리적 저장 매체, RAM, PROM 및 EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 데이터 또는 명령들을 운반하는 반송파, 그러한 반송파를 운반하는 케이블들 또는 링크들, 또는 컴퓨터가 프로그래밍 코드 및 데이터를 판독할 수 있는 임의의 다른 매체. 컴퓨터 판독 가능 매체들의 이들 형태들 중 많은 것들은 하나 이상의 명령들의 하나 이상의 시퀀스들을 실행을 위해 프로세서로 전달하는 데 수반될 수 있다.
[0097] 보호의 범위는 오로지 지금 후속되는 청구항들에 의해서만 제한된다. 그 범위는 본 명세서 및 후속하는 심사 이력을 고려하여 해석될 때 청구항들에서 사용되는 언어의 통상적인 의미와 일치하는 만큼 넓게 되도록 그리고 모든 구조적 및 기능적 등가물들을 포함하도록 의도되며 그렇게 해석되어야 한다. 그럼에도 불구하고, 청구항들 중 어느 것도 특허법의 101조, 102조, 또는 103조의 요건을 충족하지 못하는 주제를 포괄하도록 의도되지 않으며, 그들이 그러한 방식으로 해석되어서도 안된다. 그러한 주제의 어떠한 의도되지 않은 포괄도 이로써 거절된다.
[0098] 바로 위에서 언급되는 바를 제외하면, 언급된 또는 설명된 어떤 것도, 그것이 청구항들에서 기재되는지 또는 기재되지 않는지의 여부에 관계 없이, 임의의 컴포넌트, 단계, 피처, 목적, 이익, 이점, 또는 등가물의 공중에 대한 전용을 야기하도록 의도되지 않거나 또는 그 전용을 야기하도록 해석되지 않아야 한다.
[0099] 본원에서 사용되는 용어들 및 표현들은, 특정한 의미들이 본원에서 달리 기재되는 경우를 제외하면, 조사 및 연구의 그들의 대응하는 개개의 영역들과 관련하여 그러한 용어들 및 표현들에 부여되는 일반적인 의미를 갖는다는 것이 이해될 것이다. 제1 및 제2 등과 같은 관계 용어들은, 전적으로, 하나의 엔티티 또는 액션을 다른 것으로부터, 그러한 엔티티들 또는 액션들 사이의 임의의 실제의 그러한 관계 또는 순서를 반드시 요구하거나 또는 암시하지 않으면서, 구별하기 위해 사용될 수 있다. 용어들 "포함한다(comprises)", "포함하는(comprising)", "포함한다(includes)", "포함하는(including)", 또는 이들의 임의의 다른 변형어는 비배타적인 포함을 포괄하도록 의도되며, 그 결과, 엘리먼트들 또는 단계들의 목록을 포함하는(comprises) 또는 포함하는(includes) 프로세스, 방법, 물품, 또는 장치는 그들 엘리먼트들 또는 단계들만을 포함하는 것이 아니라, 그러한 프로세스, 방법, 물품, 또는 장치에 내재하는 또는 명시적으로 나열되지 않은 다른 엘리먼트들 또는 단계들을 포함할 수 있다. "a(일)" 또는 "an(일)"이 선행하는 엘리먼트는, 추가적인 제약들 없이, 그 엘리먼트를 포함하는 프로세스, 방법, 물품, 또는 장치에서의 추가적인 동일한 엘리먼트들의 존재를 배제하지는 않는다.
[0100] 달리 명시되지 않는 한, 후속하는 청구항들을 비롯하여, 본 명세서에 기재되는 임의의 및 모든 측정치들, 값들, 평가(rating)들, 포지션들, 크기들, 사이즈들, 및 다른 명세들은, 정확한 것이 아니라, 대략적인 것이다. 그러한 양들은, 그들이 관련되는 기능들과 그리고 그들이 속하는 기술 분야에서 관례적인 것과 일치하는 합리적인 범위를 가지도록 의도된다. 예를 들면, 명시적으로 달리 언급되지 않는 한, 파라미터 값 등은 언급된 양에서 ±10 %만큼 변할 수 있다.
[0101] 또한, 전술한 발명을 실시하기 위한 구체적인 내용(Detailed Description)에서, 개시내용을 간소화하는 목적을 위해 다양한 피처들은 다양한 예들에서 함께 그룹화된다. 개시내용의 이 방법은, 청구된 예들이 각각의 청구항에서 명시적으로 기재되는 것보다 더 많은 피처들을 요구한다는 의도를 반영하는 것으로 해석되어서는 안된다. 오히려, 후속하는 청구항들이 반영하는 바와 같이, 보호될 주제는 임의의 단일의 개시된 예의 모든 피처들보다 더 적은 피처들 내에 놓여 있다. 따라서, 다음의 청구항들은 발명을 실시하기 위한 구체적인 내용에 이로써 통합되는데, 각각의 청구항은 별개로 청구된 주제로서 자체적으로 존재한다.
[0102] 전술한 내용이 최선의 모드인 것으로 간주되는 것들 및 다른 예들을 설명하였지만, 그 내에서 다양한 수정들이 이루어질 수 있다는 것 및 본원에서 개시되는 주제는 다양한 형태들 및 예들에서 구현될 수 있다는 것, 및 그들은 다양한 애플리케이션들 ― 그들 중 일부만이 본원에서 설명되었음 ― 에서 적용될 수 있다는 것이 이해된다. 본 개념들의 진정한 범위 내에 속하는 임의의 및 모든 수정예들 및 변형예들을 청구한다는 것이 다음의 청구항들에 의해 의도된다.

Claims (20)

  1. 아이웨어(eyewear)에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 방법으로서,
    아이웨어를 착용하는 대상자(subject)의 얼굴을 포함하는 이미지를 획득하는 단계 ― 상기 아이웨어는 상기 얼굴의 영역을 커버하는 커버리지 영역을 정의하는 렌즈를 포함하고, 상기 렌즈는 상기 커버리지 영역 내의 상기 얼굴의 영역을 왜곡하여, 상기 렌즈의 상기 커버리지 영역 내에서 커버된 얼굴 영역을 생성하고, 상기 커버된 얼굴 영역은 커버된 얼굴 경계를 가지며, 상기 커버된 얼굴 경계는 상기 커버리지 영역 밖의, 상기 얼굴의 커버되지 않은 얼굴 경계와 정렬되지 않음 ―;
    상기 얼굴 및 상기 렌즈의 상기 커버리지 영역을 검출하기 위해, 상기 획득된 이미지를 세그먼트화(segmenting)하는 단계;
    상기 커버된 얼굴 경계를 상기 커버되지 않은 얼굴 경계에 매치시키기 위해 상기 렌즈의 상기 검출된 커버리지 영역 내의 상기 커버된 얼굴 영역을 변경하는 단계; 및
    상기 획득된 이미지를 상기 변경된 커버된 얼굴 영역과 함께 디스플레이하는 단계를 포함하는,
    아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 방법.
  2. 제1항에 있어서,
    상기 변경하는 단계는:
    검출된 상기 커버된 얼굴 영역 및 검출된 상기 얼굴에 머신 러닝 모델을 적용하여 상기 변경된 커버된 얼굴 영역을 생성하는 단계 ― 상기 변경된 커버된 얼굴 영역은 왜곡되지 않으며, 그리고 상기 머신 러닝 모델은, 상기 커버된 얼굴 경계를 왜곡하는 렌즈들을 포함하는 아이웨어를 착용한 다른 얼굴들을 갖는 복수의 이미지들 및 상기 커버된 얼굴 경계를 왜곡하지 않는 아이웨어를 착용한 다른 얼굴들을 갖는 대응하는 복수의 이미지들을 사용하여 트레이닝됨 ―; 및
    상기 커버된 얼굴 영역을 상기 변경된 커버된 얼굴 영역으로 교체하는 단계를 포함하는,
    아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 방법.
  3. 제1항에 있어서,
    상기 변경하는 단계는:
    검출된 상기 커버된 얼굴 영역에 굴절 방지 알고리즘(anti-refraction algorithm)을 적용하여, 변경된 커버된 얼굴 영역을 생성하는 단계; 및
    상기 커버된 얼굴 영역을 상기 변경된 커버된 얼굴 영역으로 교체하는 단계를 포함하는,
    아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 방법.
  4. 제1항에 있어서,
    상기 변경하는 단계는:
    상기 커버된 얼굴 경계가 상기 렌즈의 상부 에지(upper edge)와 교차하는, 상기 커버된 얼굴 경계의 내부 상부 에지를 식별하는 단계;
    상기 커버된 얼굴 경계가 상기 렌즈의 하부 에지(lower edge)와 교차하는, 상기 커버된 얼굴 경계의 내부 하부 에지를 식별하는 단계;
    상기 커버되지 않은 얼굴 경계가 상기 렌즈의 상부 에지와 교차하는, 상기 커버되지 않은 얼굴 경계의 외부 상부 에지를 식별하는 단계;
    상기 커버되지 않은 얼굴 경계가 상기 렌즈의 하부 에지와 교차하는, 상기 커버되지 않은 얼굴 경계의 외부 하부 에지를 식별하는 단계; 및
    상기 내부 상부 에지가 상기 외부 상부 에지와 매치하는 것 또는 상기 내부 하부 에지가 상기 외부 하부 에지와 매치하는 것 중 적어도 하나가 이루어질 때까지, 상기 커버된 얼굴 경계를 수평 방향으로 스케일링(scaling)하는 단계를 포함하는,
    아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 방법.
  5. 제4항에 있어서,
    상기 스케일링은 상기 커버된 얼굴 영역에 다항식 스트레칭(polynomial stretching)을 적용하는,
    아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 방법.
  6. 제1항에 있어서,
    상기 세그먼트화는 단계는 상기 커버된 얼굴 영역을 식별하는 단계를 더 포함하는,
    아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 방법.
  7. 제1항에 있어서,
    상기 획득하는 단계는 증강 현실 광학 어셈블리를 구비하는 아이웨어 디바이스의 카메라 시스템으로부터 이미지를 획득하는 단계를 포함하고, 상기 카메라 시스템의 시야는 상기 증강 현실 광학 어셈블리를 통과하는 시야와 중첩되고,
    상기 방법은:
    상기 변경된 커버된 얼굴 영역으로부터 적어도 하나의 오버레이(overlay) 이미지를 생성하는 단계; 및
    상기 렌즈의 상기 검출된 커버리지 영역 내에서 상기 증강 현실 광학 어셈블리 상에 상기 적어도 하나의 오버레이 이미지를 제시하는 단계를 더 포함하는,
    아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 방법.
  8. 제1항에 있어서,
    상기 이미지는 일련의 순차적 이미지들 중 하나이고,
    상기 방법은, 상기 일련의 순차적 이미지들의 각각의 후속하는 이미지에 대해:
    상기 얼굴 및 상기 렌즈의 상기 커버리지 영역을 검출하기 위해, 상기 후속하는 이미지를 세그먼트화하는 단계;
    상기 커버된 얼굴 경계를 상기 커버되지 않은 얼굴 경계에 매치시키기 위해 상기 렌즈의 상기 검출된 커버리지 영역 내의 상기 커버된 얼굴 영역을 변경하는 단계; 및
    상기 후속하는 이미지를 상기 변경된 커버된 얼굴 영역과 함께 디스플레이하는 단계를 더 포함하는,
    아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 방법.
  9. 아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 시스템으로서,
    아이웨어를 착용하는 대상자의 얼굴을 포함하는 이미지를 획득하도록 구성되는 이미지 캡처 디바이스 ― 상기 아이웨어는 상기 얼굴의 영역을 커버하는 커버리지 영역을 정의하는 렌즈를 포함하고, 상기 렌즈는 상기 커버리지 영역 내의 상기 얼굴의 영역을 왜곡하여, 상기 렌즈의 상기 커버리지 영역 내에서 커버된 얼굴 영역을 생성하고, 상기 커버된 얼굴 영역은 커버된 얼굴 경계를 가지며, 상기 커버된 얼굴 경계는 상기 커버리지 영역 밖의, 상기 얼굴의 커버되지 않은 얼굴 경계와 정렬되지 않음 ―;
    상기 이미지 캡처 디바이스에 커플링되는 프로세서 ― 상기 프로세서는, 상기 얼굴 및 상기 렌즈의 상기 커버리지 영역을 검출하기 위해 상기 획득된 이미지를 세그먼트화하도록 그리고 상기 커버된 얼굴 경계를 상기 커버되지 않은 얼굴 경계에 매치시키기 위해 상기 렌즈의 상기 검출된 커버리지 영역 내의 상기 커버된 얼굴 영역을 변경하도록 구성됨 ―; 및
    상기 프로세서에 커플링되는 디스플레이 ― 상기 디스플레이는 상기 획득된 이미지를 상기 변경된 커버된 얼굴 영역과 함께 디스플레이하도록 구성됨 ― 를 포함하는,
    아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 시스템.
  10. 제9항에 있어서,
    상기 커버된 얼굴 경계를 왜곡하는 렌즈들을 포함하는 아이웨어를 착용한 다른 얼굴들을 갖는 복수의 이미지들 및 상기 커버된 얼굴 경계를 왜곡하지 않는 아이웨어를 착용한 다른 얼굴들을 갖는 대응하는 복수의 이미지들을 사용하여 트레이닝되는 머신 러닝 모델을 더 포함하고;
    상기 커버된 얼굴 영역을 변경하기 위해, 상기 프로세서는:
    검출된 상기 커버된 얼굴 영역 및 검출된 상기 얼굴에 상기 머신 러닝 모델을 적용하여 상기 변경된 커버된 얼굴 영역을 생성하도록; 그리고
    상기 커버된 얼굴 영역을 상기 변경된 커버된 얼굴 영역으로 교체하도록 구성되는,
    아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 시스템.
  11. 제9항에 있어서,
    상기 커버된 얼굴 영역을 변경하기 위해, 상기 프로세서는:
    검출된 상기 커버된 얼굴 영역에 굴절 방지 알고리즘을 적용하여, 변경된 커버된 얼굴 영역을 생성하도록; 그리고
    상기 커버된 얼굴 영역을 상기 변경된 커버된 얼굴 영역으로 교체하도록 구성되는,
    아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 시스템.
  12. 제9항에 있어서,
    상기 커버된 얼굴 영역을 변경하기 위해, 상기 프로세서는:
    상기 커버된 얼굴 경계가 상기 렌즈의 상부 에지와 교차하는, 상기 커버된 얼굴 경계의 내부 상부 에지를 식별하도록;
    상기 커버된 얼굴 경계가 상기 렌즈의 하부 에지와 교차하는, 상기 커버된 얼굴 경계의 내부 하부 에지를 식별하도록;
    상기 커버되지 않은 얼굴 경계가 상기 렌즈의 상부 에지와 교차하는, 상기 커버되지 않은 얼굴 경계의 외부 상부 에지를 식별하도록;
    상기 커버되지 않은 얼굴 경계가 상기 렌즈의 하부 에지와 교차하는, 상기 커버되지 않은 얼굴 경계의 외부 하부 에지를 식별하도록; 그리고
    상기 내부 상부 에지가 상기 외부 상부 에지와 매치하는 것 또는 상기 내부 하부 에지가 상기 외부 하부 에지와 매치하는 것 중 적어도 하나가 이루어질 때까지, 상기 커버된 얼굴 경계를 수평 방향으로 스케일링하도록 구성되는,
    아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 시스템.
  13. 제12항에 있어서,
    상기 커버된 얼굴 영역을 스케일링하기 위해, 상기 프로세서는 상기 커버된 얼굴 영역에 다항식 스트레칭을 적용하도록 구성되는,
    아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 시스템.
  14. 제9항에 있어서,
    상기 프로세서는 상기 커버된 얼굴 영역을 식별하기 위해 상기 획득된 이미지를 세그먼트화하도록 추가로 구성되는,
    아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 시스템.
  15. 제9항에 있어서,
    상기 이미지를 획득하기 위한 카메라 시스템 및 증강 현실 광학 어셈블리를 구비하는 아이웨어 디바이스 ― 상기 카메라 시스템의 시야는 상기 증강 현실 광학 어셈블리를 통과하는 시야와 중첩됨 ― 를 더 포함하고;
    상기 프로세서는 상기 변경된 커버된 얼굴 영역으로부터 적어도 하나의 오버레이 이미지를 생성하도록 그리고 상기 렌즈의 상기 검출된 커버리지 영역 내에서 상기 증강 현실 광학 어셈블리 상에 상기 적어도 하나의 오버레이 이미지를 제시하도록 추가로 구성되는,
    아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 시스템.
  16. 제9항에 있어서,
    상기 이미지는 일련의 순차적인 이미지들 중 하나이고;
    상기 프로세서는, 상기 일련의 순차적인 이미지들의 각각의 후속하는 이미지에 대해, 상기 얼굴 및 상기 렌즈의 상기 커버리지 영역을 검출하기 위해 상기 후속하는 이미지를 세그먼트화하도록 그리고 상기 커버된 얼굴 경계를 상기 커버되지 않은 얼굴 경계에 매치시키기 위해 상기 렌즈의 상기 검출된 커버리지 영역 내의 상기 커버된 얼굴 영역을 변경하도록 구성되고; 그리고
    상기 디스플레이는, 상기 일련의 순차적인 이미지들의 각각의 후속하는 이미지에 대해, 상기 후속하는 이미지를 상기 변경된 커버된 얼굴 영역과 함께 디스플레이하도록 구성되는,
    아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 시스템.
  17. 아이웨어에 기인하는 이미지들에서의 얼굴 왜곡을 해결하기 위한 비-일시적인 컴퓨터 판독 가능 매체로서,
    상기 비-일시적인 컴퓨터 판독 가능 매체는, 프로세서에 의해 수행될 때, 기능들을 수행하도록 상기 프로세서를 구성하는 명령들을 포함하고,
    상기 기능들은:
    아이웨어를 착용하는 대상자의 얼굴을 포함하는 이미지를 획득하는 기능 ― 상기 아이웨어는 상기 얼굴의 영역을 커버하는 커버리지 영역을 정의하는 렌즈를 포함하고, 상기 렌즈는 상기 커버리지 영역 내의 상기 얼굴의 영역을 왜곡하여, 상기 렌즈의 상기 커버리지 영역 내에서 커버된 얼굴 영역을 생성하고, 상기 커버된 얼굴 영역은 커버된 얼굴 경계를 가지며, 상기 커버된 얼굴 경계는 상기 커버리지 영역 밖의, 상기 얼굴의 커버되지 않은 얼굴 경계와 정렬되지 않음 ―;
    상기 얼굴 및 상기 렌즈의 상기 커버리지 영역을 검출하기 위해, 상기 획득된 이미지를 세그먼트화하는 기능;
    상기 커버된 얼굴 경계를 상기 커버되지 않은 얼굴 경계에 매치시키기 위해 상기 렌즈의 상기 검출된 커버리지 영역 내의 상기 커버된 얼굴 영역을 변경하는 기능; 및
    상기 획득된 이미지를 상기 변경된 커버된 얼굴 영역과 함께 디스플레이하는 기능을 포함하는,
    비-일시적인 컴퓨터 판독 가능 매체.
  18. 제17항에 있어서,
    상기 명령들은:
    검출된 상기 커버된 얼굴 영역 및 검출된 상기 얼굴에 머신 러닝 모델을 적용하여 상기 변경된 커버된 얼굴 영역을 생성하는 기능 ― 상기 변경된 커버된 얼굴 영역은 왜곡되지 않으며, 그리고 상기 머신 러닝 모델은, 상기 커버된 얼굴 경계를 왜곡하는 렌즈들을 포함하는 아이웨어를 착용한 다른 얼굴들을 갖는 복수의 이미지들 및 상기 커버된 얼굴 경계를 왜곡하지 않는 아이웨어를 착용한 다른 얼굴들을 갖는 대응하는 복수의 이미지들을 사용하여 트레이닝됨 ―; 및
    상기 커버된 얼굴 영역을 상기 변경된 커버된 얼굴 영역으로 교체하는 기능
    을 수행하도록 상기 프로세서를 추가로 구성하는,
    비-일시적인 컴퓨터 판독 가능 매체.
  19. 제17항에 있어서,
    상기 명령들은:
    검출된 상기 커버된 얼굴 영역에 굴절 방지 알고리즘을 적용하여, 변경된 커버된 얼굴 영역을 생성하는 기능; 및
    상기 커버된 얼굴 영역을 상기 변경된 커버된 얼굴 영역으로 교체하는 기능
    을 수행하도록 상기 프로세서를 추가로 구성하는,
    비-일시적인 컴퓨터 판독 가능 매체.
  20. 제17항에 있어서,
    상기 명령들은:
    상기 커버된 얼굴 경계가 상기 렌즈의 상부 에지와 교차하는, 상기 커버된 얼굴 경계의 내부 상부 에지를 식별하는 기능;
    상기 커버된 얼굴 경계가 상기 렌즈의 하부 에지와 교차하는, 상기 커버된 얼굴 경계의 내부 하부 에지를 식별하는 기능;
    상기 커버되지 않은 얼굴 경계가 상기 렌즈의 상부 에지와 교차하는, 상기 커버되지 않은 얼굴 경계의 외부 상부 에지를 식별하는 기능;
    상기 커버되지 않은 얼굴 경계가 상기 렌즈의 하부 에지와 교차하는, 상기 커버되지 않은 얼굴 경계의 외부 하부 에지를 식별하는 기능; 및
    상기 내부 상부 에지가 상기 외부 상부 에지와 매치하는 것 또는 상기 내부 하부 에지가 상기 외부 하부 에지와 매치하는 것 중 적어도 하나가 이루어질 때까지, 상기 커버된 얼굴 경계를 수평 방향으로 스케일링하는 기능
    을 수행하도록 상기 프로세서를 추가로 구성하는,
    비-일시적인 컴퓨터 판독 가능 매체.
KR1020237014204A 2020-09-30 2021-09-22 아이웨어 왜곡 보정 KR20230079135A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/039,334 2020-09-30
US17/039,334 US11334972B2 (en) 2020-09-30 2020-09-30 Eyewear distortion correction
PCT/US2021/051454 WO2022072191A1 (en) 2020-09-30 2021-09-22 Eyewear distortion correction

Publications (1)

Publication Number Publication Date
KR20230079135A true KR20230079135A (ko) 2023-06-05

Family

ID=78372120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237014204A KR20230079135A (ko) 2020-09-30 2021-09-22 아이웨어 왜곡 보정

Country Status (5)

Country Link
US (2) US11334972B2 (ko)
EP (1) EP4222690A1 (ko)
KR (1) KR20230079135A (ko)
CN (1) CN116324891A (ko)
WO (1) WO2022072191A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11900725B2 (en) * 2021-12-02 2024-02-13 Optum, Inc. Authentication and facial recognition through analysis of optometric prescription data

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1105980C (zh) * 1998-02-03 2003-04-16 西乡刚 眼镜试戴模拟方法
JP2008250407A (ja) 2007-03-29 2008-10-16 Nikon Corp 画像処理プログラムおよび画像処理装置
JP6307805B2 (ja) * 2013-07-24 2018-04-11 富士通株式会社 画像処理装置、電子機器、眼鏡特性判定方法および眼鏡特性判定プログラム
JP2015064768A (ja) 2013-09-25 2015-04-09 キヤノンマーケティングジャパン株式会社 撮像装置、画像修正装置およびその制御方法とプログラム
JP6244885B2 (ja) 2013-12-19 2017-12-13 株式会社バッファロー 画像処理装置、画像処理方法、及びプログラム
US9824271B2 (en) 2014-06-25 2017-11-21 Kodak Alaris Inc. Adaptable eye artifact identification and correction system
FR3053509B1 (fr) * 2016-06-30 2019-08-16 Fittingbox Procede d’occultation d’un objet dans une image ou une video et procede de realite augmentee associe
JP6899097B2 (ja) 2017-12-29 2021-07-07 京セラドキュメントソリューションズ株式会社 画像処理装置、画像処理方法及び画像処理プログラム

Also Published As

Publication number Publication date
US20220230284A1 (en) 2022-07-21
WO2022072191A1 (en) 2022-04-07
US20220101499A1 (en) 2022-03-31
EP4222690A1 (en) 2023-08-09
CN116324891A (zh) 2023-06-23
US11334972B2 (en) 2022-05-17

Similar Documents

Publication Publication Date Title
US11500536B2 (en) Neural network system for gesture, wear, activity, or carry detection on a wearable or mobile device
US11900729B2 (en) Eyewear including sign language to speech translation
US11755102B2 (en) User interface interaction paradigms for eyewear device with limited field of view
US11747915B2 (en) Smart ring for manipulating virtual objects displayed by a wearable device
US20230110964A1 (en) Object selection based on eye tracking in wearable device
US11830494B2 (en) Wearable speech input-based vision to audio interpreter
KR20230017837A (ko) 분화를 포함하는 안경류
US20220230284A1 (en) Eyewear distortion correction
US11948262B2 (en) Geospatial image surfacing and selection
US11454816B1 (en) Segmented illumination display
US20210294102A1 (en) Context-based image state selection
US11927830B2 (en) Eyewear display having offset bonding
US11789527B1 (en) Eyewear device external face tracking overlay generation
WO2022072205A1 (en) Image capture eyewear with automatic image sending to recipients determined based on context
KR20240051196A (ko) 디스플레이 상의 중첩을 위해 음성 신호들을 움직일 수 있는 입술들의 이미지들로 트랜슬레이션하는 안경류