KR20210000671A - 헤드 포즈 추정 - Google Patents

헤드 포즈 추정 Download PDF

Info

Publication number
KR20210000671A
KR20210000671A KR1020200073717A KR20200073717A KR20210000671A KR 20210000671 A KR20210000671 A KR 20210000671A KR 1020200073717 A KR1020200073717 A KR 1020200073717A KR 20200073717 A KR20200073717 A KR 20200073717A KR 20210000671 A KR20210000671 A KR 20210000671A
Authority
KR
South Korea
Prior art keywords
sensing device
face
determining
mouth
point
Prior art date
Application number
KR1020200073717A
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 KR20210000671A publication Critical patent/KR20210000671A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • G06K9/00248
    • G06K9/00281
    • G06K9/00335
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • 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
    • G06V40/166Detection; Localisation; Normalisation using acquisition arrangements
    • 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/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/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/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

센싱 디바이스에 대한 사용자의 헤드 포즈를 추정하기 위한 방법 및 장치. 센싱 디바이스는 이미지에서 사용자의 안면을 검출한다. 센싱 디바이스는 검출된 안면의 개개의 피처들에 대응하는 이미지의 복수의 지점들을 추가로 식별한다. 복수의 지점들은 제 1 안면 피처의 위치에 대응하는 적어도 제 1 지점을 포함한다. 센싱 디바이스는 이미지의 제 1 지점과 나머지 지점들 중 하나 이상의 지점들 사이의 거리에 적어도 부분적으로 기초하여 센싱 디바이스에 대한 안면의 포지션을 결정한다. 예를 들어, 센싱 디바이스는 센싱 디바이스에 대한 사용자의 안면의 피치, 요, 거리, 또는 위치를 결정할 수도 있다.

Description

헤드 포즈 추정{HEAD POSE ESTIMATION}
본 실시형태들은 일반적으로 헤드 포즈 (head pose) 추정을 위한 디바이스들 및 시스템들에 관한 것이다.
사용자 헤드 포즈 정보는 서비스를 제공하고, 정보를 출력 및/또는 취출하고, 미디어 컨텐츠를 디스플레이 및/또는 재생하는 등에 의해 사용자와 상호작용할 수도 있는 다양한 시스템 및 디바이스에서 많은 사용들 및 애플리케이션들을 갖는다. 헤드 포즈 정보는 전자 시스템 또는 디바이스와 연관된 기준 지점에 대한 사용자의 헤드의 포지션을 표시할 수도 있다. 예를 들어, 기준 지점은 사용자의 헤드 및/또는 안면의 이미지를 캡처하거나, 그렇지 않으면 전자 시스템 또는 디바이스를 대신하여 사용자의 존재를 검출하는데 사용되는 카메라 또는 이미지 캡처 디바이스에 대응할 수도 있다. 사용자의 헤드 포즈는 전자 시스템 또는 디바이스가 특정 사용자로부터의 사용자 입력들에 어떻게 응답하는지에 영향을 미칠 수도 있다.
이 개요는 하기 상세한 설명에서 추가로 설명되는 개념의 선택을 간략화된 형태로 도입하기 위해 제공된다. 이 개요는 청구항 청구물의 핵심적인 피처들 또는 필수적인 피처들을 식별하도록 의도되는 것도 아니고, 청구된 청구물의 범위를 제한하도록 의도되는 것도 아니다.
헤드 포즈 추정을 위한 방법 및 장치가 개시된다. 본 개시의 청구물의 하나의 혁신적인 양태는 센싱 디바이스에 의해 사용자의 헤드 포즈를 결정하는 방법으로 구현될 수 있다. 일부 실시형태들에서, 방법은 이미지에서 안면을 검출하는 단계, 검출된 안면의 개개의 피처들에 대응하는 이미지에서 복수의 지점들을 식별하는 단계로서, 복수의 지점들은 제 1 안면 피처의 위치에 대응하는 적어도 제 1 지점을 포함하는, 상기 복수의 지점들을 식별하는 단계, 및 이미지의 제 1 지점과 나머지 지점들 중 하나 이상의 지점들 사이의 거리에 적어도 부분적으로 기초하여 센싱 디바이스에 대한 안면의 포지션을 결정하는 단계를 포함할 수도 있다.
본 실시형태들은 예로서 설명되며 첨부 도면들의 도들에 의해 제한되는 것으로 의도되지 않는다.
도 1 은 본 실시형태들이 구현될 수도 있는 예시의 환경을 나타낸다.
도 2 는 일부 실시형태들에 따른, 센싱 디바이스의 블록 다이어그램을 나타낸다.
도 3 은 일부 실시형태들에 따른, 헤드 포즈 추정 회로의 블록 다이어그램을 나타낸다.
도 4 는 일부 실시형태들에 따른, 센싱 디바이스에 의해 캡처될 수 있는 예시의 이미지를 나타낸다.
도 5 는 일부 실시형태들에 따른, 센싱 디바이스의 또 다른 블록 다이어그램을 나타낸다.
도 6 은 일부 실시형태들에 따른, 센싱 디바이스에 의해 사용자의 헤드 포즈를 결정하기 위한 예시의 동작을 도시하는 예시적인 플로우챠트이다.
도 7 은 일부 실시형태들에 따른, 캡처된 이미지에서 안면의 피치를 결정하기 위한 예시의 동작을 도시하는 예시적인 플로우챠트이다.
도 8 은 일부 실시형태들에 따른, 캡처된 이미지에서 안면의 요 (yaw) 를 결정하기 위한 예시의 동작을 도시하는 예시적인 플로우챠트이다.
도 9 는 일부 실시형태들에 따른, 캡처된 이미지에서 안면의 거리를 결정하기 위한 예시의 동작을 도시하는 예시적인 플로우챠트이다.
다음의 설명에서, 본 개시의 철저한 이해를 제공하기 위해 특정 컴포넌트들, 회로들, 및 프로세스들의 예들과 같은 많은 특정 상세들이 기술된다. 본 명세서에 사용된 바와 같은 용어 "커플링된" 은 하나 이상의 개재 컴포넌트들 또는 회로들에 직접 접속되거나 또는 이를 통해 접속된 것을 의미한다. 또한, 다음의 설명에서 및 설명의 목적으로, 개시의 양태들의 철저한 이해를 제공하기 위해 특정 명명법이 기술된다. 그러나, 이 특정 상세들은 예시의 실시형태들을 실시하는데 필요하지 않을 수도 있음이 당업자에게 명백할 것이다. 다른 경우들에서, 잘 알려진 회로들 및 디바이스들은 본 개시를 모호하게 하는 것을 회피하기 위해 블록 다이어그램 형태로 나타낸다. 이어지는 상세한 설명의 일부 부분은 컴퓨터 메모리 내의 데이터 비트에 대한 동작의 절차, 로직 블록, 프로세싱 및 다른 상징적 표현에 관하여 제시된다. 회로 엘리먼트들 또는 소프트웨어 블록들 사이의 상호접속은 버스들 또는 단일 신호 라인들로 나타낼 수도 있다. 버스들의 각각은 대안으로 단일 신호 라인일 수도 있고, 단일 신호 라인들의 각각은 대안으로 버스들일 수도 있으며, 단일 라인 또는 버스는 컴포넌트들 사이의 통신을 위한 무수히 많은 물리적 또는 논리적 메커니즘들 중 어느 하나 이상을 나타낼 수도 있다.
다음의 논의로부터 명백한 바와 같이 달리 구체적으로 언급되지 않는 한, 본 출원 전체에 걸쳐, "액세스하는것", "수신하는 것", "전송하는 것", "사용하는 것", "선택하는 것", "결정하는 것", "정규화하는 것", "승산하는 것", "평균화하는 것", "모니터링하는 것", "비교하는 것", "적용하는 것", "업데이트하는 것", "측정하는 것", "도출하는 것" 등과 같은 용어들을 활용한 논의는, 컴퓨터 시스템의 레지스터 및 메모리 내의 물리적 (전자적) 양으로서 표현된 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 다른 그러한 정보 저장, 송신 또는 디스플레이 디바이스 내의 물리적 양으로서 유사하게 표현된 다른 데이터로 조작 또는 변환하는, 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 액션들 및 프로세스들을 지칭한다.
본 명세서에 설명된 기법들은 특정 방식으로 구현되는 것으로 구체적으로 설명되지 않는 한, 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수도 있다. 모듈들 또는 컴포넌트들로서 설명된 임의의 피처들은 또한 집적 로직 디바이스에서 함께 구현되거나 또는 이산이지만 상호동작가능한 로직 디바이스들로서 별도로 구현될 수도 있다. 소프트웨어로 구현되면, 기법들은, 실행될 때, 상술한 방법들 중 하나 이상을 수행하는 명령들을 포함하는 비일시적 컴퓨터 판독가능 데이터 저장 매체에 의해 적어도 부분적으로 실현될 수도 있다. 비일시적 컴퓨터 판독가능 저장 매체는 패키징 재료들을 포함할 수도 있는 컴퓨터 프로그램 제품의 일부를 형성할 수도 있다.
비일시적 프로세서 판독가능 저장 매체는 동기식 랜덤 액세스 메모리 (SDRAM) 와 같은 랜덤 액세스 메모리 (DRAM), 판독 전용 메모리 (ROM), 비휘발성 랜덤 액세스 메모리 (NVRAM), 전기적 소거가능 프로그램가능 판독 전용 메모리 (EEPROM), 플래시 메모리, 다른 알려진 저장 매체 등을 포함할 수도 있다. 부가적으로 또는 대안으로, 기법들은 컴퓨터 또는 다른 프로세서에 의해 액세스, 판독 및/또는 실행될 수 있고 명령들 또는 데이터 구조들의 형태로 코드를 반송 또는 통신하는 프로세서 판독가능 통신 매체에 의해 적어도 부분적으로 실현될 수도 있다.
본 명세서에 개시된 실시형태들과 관련하여 기재된 다양한 예시적인 논리 블록, 모듈, 회로, 및 명령은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 본 명세서에서 사용된 바와 같이, 용어 "프로세서" 는 메모리에 저장된 하나 이상의 소프트웨어 프로그램들의 스크립트 또는 명령을 실행할 수 있는 임의의 범용 프로세서, 종래의 프로세서, 제어기, 마이크로 제어기 및/또는 상태 머신을 지칭할 수도 있다. 본 명세서에서 사용된 바와 같이, 용어 "센싱 디바이스" 는 디바이스의 사용자를 검출하고 및/또는 사용자 입력들을 센싱할 수 있는 임의의 디바이스를 지칭할 수도 있다. 센싱 디바이스의 예는, 스마트 스피커, 홈 자동화 디바이스, 음성 커맨드 디바이스, 가상 어시스턴트, 개인용 컴퓨팅 디바이스 (예를 들어, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿, 웹 브라우저, 및 개인용 디지털 보조기 (PDA)), 데이터 입력 디바이스 (예를 들어, 원격 제어기 및 마우스), 데이터 출력 디바이스 (예를 들어, 디스플레이 스크린 및 프린터), 원격 단말기, 키오스크, 비디오 게임 머신 (예를 들어, 비디오 게임 콘솔, 휴대용 게임 디바이스 등), 통신 디바이스 (예를 들어, 스마트 폰과 같은 셀룰러 폰), 및 미디어 디바이스 (예를 들어, 레코더, 에디터, 및 플레이어, 예컨대 텔레비전, 셋탑 박스, 뮤직 플레이어, 디지털 포토 프레임, 및 디지털 카메라) 등을 포함할 수도 있지만, 이에 제한되지 않는다.
도 1 은 본 실시형태들이 구현될 수도 있는 예시의 환경 (100) 을 나타낸다. 환경 (100) 은 사용자 (101) 및 센싱 디바이스 (110) 를 포함한다. 센싱 디바이스 (110) 는 시야 (FOV)(102) 내에 하나 이상의 사용자들 (예컨대 사용자 (101)) 의 존재를 검출할 수도 있고 센싱 디바이스 (110) 에 대한 각각의 사용자의 헤드의 포즈 또는 포지션을 결정할 수도 있다. 일부 구현들에서, 센싱 디바이스 (110) 는 또한 사용자의 헤드 포즈에 적어도 부분적으로 기초하여 사용자 (101) 에 의한 사용자 입력들을 검출하고 이에 응답할 수도 있다.
센싱 디바이스 (110) 는 하나 이상의 센서들 (112), 헤드 포즈 결정 모듈 (114), 및 사용자 인터페이스 (116) 를 포함한다. 센서 (112) 는 사용자 입력들을 수신하고 및/또는 주변 환경에 관한 데이터 (예를 들어, 이미지, 비디오, 오디오 레코딩 등) 를 수집하도록 구성될 수도 있다. 예시의 적합한 센서는 카메라, 용량성 센서, 마이크로폰 등을 포함하지만 이에 제한되지 않는다. 일부 양태들에서, 센서들 (112)(예를 들어, 카메라) 중 하나 이상은 사용자 (101) 의 이미지 및/또는 비디오를 캡처하도록 구성될 수도 있다. 예를 들어, 카메라는 센싱 디바이스 (110) 의 FOV (102) 내의 임의의 오브젝트를 포함하는 장면의 이미지 (예를 들어, 스틸 프레임 이미지 및/또는 비디오) 를 캡처하도록 구성될 수도 있다.
헤드 포즈 결정 모듈 (114) 은 센서들 (112) 에 의해 캡처된 이미지들을 프로세싱하여 사용자 (101) 의 헤드 포즈를 결정할 수도 있다. 일부 실시형태들에서, 헤드-포즈 결정 모듈 (114) 은 이미지들로부터 추출된 안면 랜드마크 정보에 적어도 부분적으로 기초하여 사용자의 헤드 포즈를 추정할 수도 있다. 안면 랜드마크 정보는 눈, 입 및/또는 코를 포함하지만 이에 제한되지 않는 하나 이상의 안면 피처들의 개개의 위치 (예를 들어, 픽셀 위치 또는 좌표) 를 표시할 수도 있다. 이러한 안면 랜드마크 정보는 (예를 들어, 적어도 코가 보여질 수 있는) 사용자의 안면의 거의 정면 뷰를 포함하는 임의의 이미지로부터 추출될 수도 있다. 일부 양태들에서, 헤드 포즈 결정 모듈 (114) 은 캡처된 이미지에서 안면 피처의 존재 및 위치를 추론하기 위해 하나 이상의 뉴럴 네트워크 모델들을 구현할 수도 있다. 뉴럴 네트워크 모델은 딥 러닝을 통해, 각각의 안면의 특징적인 피처 (예를 들어, 눈, 입, 코 등) 를 포함하는, 인간의 안면을 인식하도록 훈련될 수도 있다.
딥 러닝은 특정 형태의 머신 러닝이고, 여기에서는 훈련 페이즈가 다중 계층들에 걸쳐 수행되어, 각각의 연속적인 계층에서 더 추상적인 세트의 규칙들을 생성한다. 딥 러닝 아키텍처는 (예를 들어, 생물학적 신경계와 유사한) 정보가 프로세싱되는 방식으로 인해 인공 뉴럴 네트워크로서 종종 지칭된다. 예를 들어, 딥 러닝 아키텍처의 각각의 계층은 다수의 인공 뉴런들로 구성될 수도 있다. 뉴런은 입력 데이터 (예를 들어, 원시 데이터) 가 하나의 계층에서 다른 계층으로 전달될 수 있도록 다양한 층에 걸쳐 상호접속될 수도 있다. 보다 구체적으로, 뉴런들의 각 계층은 궁극적으로 원하는 출력 (예를 들어, 답변) 을 야기하게 될 입력 데이터에 대해 상이한 유형의 변환을 수행할 수도 있다. 뉴런의 상호접속된 프레임워크는 뉴럴 네트워크 모델로서 지칭될 수도 있다. 따라서, 뉴럴 네트워크 모델은 예를 들어, 인간 안면과 같은 특정 오브젝트 또는 피처를 기술하는데 사용될 수 있는 규칙들의 세트를 포함할 수도 있다.
일부 실시형태들에서, 헤드 포즈 결정 모듈 (114) 은 검출된 안면 피처들 사이의 상대적 거리에 기초하여 사용자의 헤드의 포즈 또는 포지션을 결정할 수도 있다. 사용자의 헤드의 피치가 증가함에 따라 (예를 들어, 하늘을 향하여 젖혀짐), 안면의 상부 부분은 압축되는 한편 안면의 하부 부분은 2 차원 (2D) 이미지에서 더욱 확연해진다. 예를 들어, 사용자의 헤드가 뒤로 젖혀질 때, 코에서 입까지의 픽셀 거리는 코에서 눈까지의 픽셀 거리보다 클 수도 있다. 또한, 사용자의 헤드의 요가 증가함에 따라 (예를 들어, 오른 쪽을 향해 돌림), 안면의 우측은 압축되는 한편 안면의 좌측은 2D 이미지에서 더욱 확연해진다는 것이 주목된다. 예를 들어, 사용자의 헤드가 오른쪽으로 돌려질 때, 코에서 안면의 왼쪽 절반의 하나 이상의 피처들까지의 픽셀 거리는 코에서 안면의 오른쪽 절반의 (예를 들어, 안면 대칭으로 인해) 유사한 피처들까지의 픽셀 거리보다 클 수도 있다. 본 개시의 양태들은 사용자의 헤드 포즈를 결정하기 위한 기준 지점으로서 코가 사용될 수도 있음을 인식한다.
사용자 인터페이스 (116) 는 사용자 (101) 가 센싱 디바이스 (110) 또는 센싱 디바이스 (110) 에 커플링된 전자 시스템 (단순화를 위해 나타내지 않음) 을 동작시키고, 이와 상호작용하거나 그렇지 않으면 이를 사용하는 인터페이스를 제공할 수도 있다. 예를 들어, 사용자 인터페이스 (116) 는 하나 이상의 스피커들, 디스플레이들 또는 다른 매체 출력 디바이스들을 포함할 수도 있다. 일부 실시형태들에서, 사용자 인터페이스 (116) 는 헤드 포즈 결정 모듈 (114) 에 의해 생성된 헤드 포즈 정보에 적어도 부분적으로 기초하여 사용자 입력들을 동적으로 센싱 및/또는 이 입력들에 응답할 수도 있다. 일부 양태들에서, 사용자 인터페이스 (116) 는 예를 들어, 그래픽 사용자 인터페이스 (GUI) 를 내비게이팅하고, 새로운 컨텐츠를 디스플레이하고, 커서 이동을 추적하는 등을 위해 디스플레이를 동적으로 업데이트함으로써 사용자 입력들에 응답할 수도 있다. 일부 다른 양태들에서, 사용자 인터페이스 (116) 는 소정의 사용자 입력들에 응답하여 탐색 쿼리를 생성할 수도 있다.
우발적인 GUI 업데이트 및/또는 의도되지 않은 탐색을 방지하기 위해, 사용자 인터페이스 (116) 는 사용자 (101) 로부터의 사용자 입력들을 프로세싱하기 전에 사용자가 센싱 디바이스 (110) 와 능동적으로 관여되거나 이 디바이스 (110) 에 주의를 기울이는 것을 보장할 수도 있다. 일부 실시형태들에서, 사용자 인터페이스 (116) 는 헤드 포즈 결정 모듈 (114) 에 의해 생성된 헤드 포즈 정보에 적어도 부분적으로 기초하여 사용자 (101) 의 주의력을 결정할 수도 있다. 예를 들어, 사용자 인터페이스 (116) 는 사용자 (101) 가 센싱 디바이스 (110) 를 마주보고 있거나, 바라보고 있거나, 또는 이를 보고 있는 경우, 사용자 (101) 가 주의를 기울이고 있는 것 같다고 (그리고 이에 따라 센싱 디바이스 (110) 와 상호작용하려고 한다고) 결정할 수도 있다. 따라서, 사용자 인터페이스 (116) 는 사용자 (101) 가 센싱 디바이스 (110) 에 주의를 기울이고 있을 때에만 사용자 입력들을 센싱 또는 프로세스하거나 이 입력들에 응답할 수도 있다.
상술한 바와 같이, 헤드 포즈 추정은 컴퓨터 비전 시스템 및 디바이스에서 많은 사용들 및 애플리케이션들을 갖는다. 예를 들어, 많은 사물 인터넷 (Internet of Things; IoT) 시스템은 (예를 들어, 데이터를 서버 또는 클라우드 컴퓨팅 환경으로 전송할 필요없이) 로컬 데이터 프로세싱이 가능한 저전력 센서들 및/또는 디바이스들을 구현한다. 저전력 요건을 만족하기 위해, 많은 IoT 디바이스들이 제한되거나 최소의 계산 복잡성으로 동작하도록 구성된다. 또한, 많은 헤드 포즈 추정 기법들은 (예를 들어, 상이한 제조사들로부터) 상이한 카메라 구성들을 갖는 광범위한 디바이스들에 걸쳐 구현된다. 무수히 많은 디바이스들에 걸쳐 강력한 성능을 보장하기 위해, 본 개시의 양태들은 카메라-애그노스틱 (camera-agnostci) 인 헤드 포즈 추정 기법을 제공한다.
다른 장점들 중에서도, 본 실시형태들은 카메라 교정 (calibration) 없이 헤드 포즈 추정을 위한 강력한 접근법을 제공한다. 일부 실시형태들에서, 헤드 포즈 결정 모듈 (114) 은 카메라에 대한 안면의 변환 및 회전 벡터를 추정하지 않으면서 사용자의 헤드 포즈를 추정할 수도 있다. 보다 구체적으로, 일부 양태들에서, 헤드 포즈 결정 모듈 (114) 은 사용자의 안면의 이미지부터 추출된 안면 랜드마크 정보만을 사용하여 사용자의 헤드 포즈를 추정할 수도 있다. 따라서, 본 실시형태들은 센싱 디바이스들 및/또는 그 디바이스의 상이한 인스턴스들에 걸쳐 달라질 수도 있는 카메라의 고유 파라미터들 (예컨대, 초점 길이 및 주점) 의 지식을 필요로 하지 않는다. 따라서, 본 실시형태들은 카메라의 고유 파라미터들의 선험적 지식이 없는 임의의 카메라-기반 센싱 디바이스에 의해 구현될 수도 있다.
도 2 는 일부 실시형태들에 따른, 센싱 디바이스 (200) 의 블록 다이어그램을 나타낸다. 센싱 디바이스 (200) 는 도 1 의 센싱 디바이스 (110) 의 일 실시형태일 수도 있다. 센싱 디바이스 (200) 는 카메라 (210), 뉴럴 네트워크 (220), 헤드 포즈 추정기 (230), 및 사용자 인터페이스 (240) 를 포함한다. 도 2 의 실시형태에서, 카메라 (210) 는 센싱 디바이스 (200) 의 일부로서 도시된다. 다른 실시형태들에서, 카메라 (210) 는 센싱 디바이스 (200) 와 이격될 (예를 들어, 커플링될) 수도 있다.
카메라 (210) 는 센싱 디바이스 (200) 를 둘러싸는 환경의 하나 이상의 이미지들 (201) 을 캡처하도록 구성된다. 카메라 (210) 는 도 1 의 센서들 (112) 중 하나 이상의 일 실시형태일 수도 있다. 따라서, 카메라 (210) 는 센싱 디바이스 (200) 의 FOV 내의 장면의 이미지들 (예를 들어, 스틸 프레임 이미지들 및/또는 비디오) 을 캡처하도록 구성될 수도 있다. 예를 들어, 카메라 (210) 는 하나 이상의 광학 센서들 (예를 들어, 포토다이오드, CMOS 이미지 센서 어레이, CCD 어레이, 및/또는 가시 스펙트럼, 적외선 스펙트럼 및/또는 자외선 스펙트럼에서 광의 파장을 검출할 수 있는 임의의 다른 센서들) 을 포함할 수도 있다.
뉴럴 네트워크 (220) 는 캡처된 이미지들 (201) 로부터 안면 랜드마크 데이터 (202) 를 추출하도록 구성된다. 뉴럴 네트워크 (220) 는 사용자 검출 모듈 (222) 및 피처 추출 모듈 (224) 을 포함한다. 사용자 검출 모듈 (222) 은 캡처된 이미지들 (201) 에서 하나 이상의 사용자들의 존재를 검출할 수도 있다. 예를 들어, 사용자 검출 모듈 (222) 은 임의의 알려진 안면 검출 알고리즘 및/또는 기법을 사용하여 사용자의 존재를 검출할 수도 있다. 일부 실시형태들에서, 뉴럴 네트워크 (220) 는 캡처된 이미지들 (201) 에서 인간의 안면에 관한 추론을 생성하기 위해 하나 이상의 뉴럴 네트워크 모델들을 구현할 수도 있다. 일부 실시형태들에서, 뉴럴 네트워크 모델들은 사용자의 안면의 2D 이미지들로부터 하나 이상의 안면 피처들 (예를 들어, 눈, 코, 입, 귀, 눈썹, 치아, 입술, 턱, 뺨, 수염, 콧수염 등) 을 식별하도록 훈련될 수도 있다.
피처 추출 모듈 (224) 은 식별된 사용자의 안면으로부터 하나 이상의 피처 벡터들을 결정할 수도 있다. 피처 벡터들 각각은 캡처된 이미지 (201) 에서 개개의 안면 피처의 위치 (예를 들어, 픽셀 위치) 를 식별할 수도 있다. 예시의 피처 벡터들은 왼쪽 눈 벡터, 오른쪽 눈 벡터, 왼쪽 입 벡터, 오른쪽 입 벡터, 및 코 벡터를 포함할 수도 있지만 이에 제한되지 않는다. 왼쪽 눈 벡터는 사용자의 왼쪽 눈의 위치를 기술하고, 오른쪽 눈 벡터는 사용자의 오른쪽 눈의 위치를 기술하고, 왼쪽 입 벡터는 사용자의 입의 왼쪽 부분의 위치를 기술하고, 오른쪽 입 벡터는 사용자의 입의 오른쪽 부분의 위치를 기술하며, 코 벡터는 사용자의 코의 위치를 기술한다.
헤드 포즈 추정기 (230) 는 뉴럴 네트워크 (220) 로부터 (안면 랜드마크 데이터 (202) 로서) 피처 벡터들을 수신한다. 헤드 포즈 추정기 (230) 는 수신된 피처 벡터에 기초하여 헤드 포즈 데이터 (203) 를 생성하도록 구성된다. 일부 실시형태들에서, 헤드 포즈 추정기 (230) 는 피처 벡터들 중 2 이상의 피처 벡터들 사이의 상대적 거리에 기초하여 사용자의 헤드 포즈를 추정할 수도 있다. 예를 들어, 일부 양태들에서, 헤드 포즈 추정기 (230) 는 코 벡터에서 나머지 피처 벡터들 중 하나 이상의 피처 벡터들까지의 거리에 기초하여 사용자의 헤드의 포즈 또는 포지션을 결정할 수도 있다. 헤드 포즈 추정기 (230) 는 적어도 피치 추정 모듈 (232) 및 요 추정 모듈 (234) 을 포함할 수도 있다.
피치 추정 모듈 (232) 은 2 이상의 피처 벡터들 사이의 상대적 거리에 기초하여 사용자의 헤드의 피치를 결정한다. 예를 들어, 사용자의 헤드의 피치가 증가함에 따라 (예를 들어, 하늘을 향해 젖혀짐), 코에서 입까지의 거리는 코에서 눈까지의 거리에 비해 증가할 수도 있다. 다른 한편으로, 사용자의 헤드의 피치가 감소함에 따라 (예를 들어, 지상을 향해 젖혀짐), 코에서 입까지의 거리는 코에서 눈까지의 거리에 비해 감소할 수도 있다. 따라서, 일부 실시형태들에서, 피치 추정 모듈 (232) 은 코 벡터에서 왼쪽 눈 벡터와 오른쪽 눈 벡터 사이의 중간지점 및 왼쪽 입 벡터와 오른쪽 입 벡터 사이의 중간지점의 각각까지의 거리들에 기초하여 사용자의 헤드의 피치를 결정할 수도 있다.
요 추정 모듈 (235) 은 2 이상의 피처 벡터들 사이의 상대적 거리들에 기초하여 사용자의 헤드의 요를 결정한다. 예를 들어, 사용자의 헤드의 요가 증가함에 따라 (예를 들어, 오른쪽을 향해 돌림), 코에서 안면 좌측의 피처까지의 거리는 코에서 안면 우측의 유사한 피처까지의 거리에 비해 증가한다. 다른 한편으로, 사용자의 헤드의 요가 감소함에 따라 (예를 들어, 왼쪽을 향해 돌림), 코에서 안면 좌측의 피처까지의 거리는 코에서 안면 우측의 유사한 피처까지의 거리에 비해 감소한다. 따라서, 일부 실시형태들에서, 요 추정 모듈 (234) 은 코 벡터에서 왼쪽 눈 벡터와 왼쪽 입 벡터 사이의 중간지점 및 오른쪽 눈 벡터와 오른쪽 입 벡터 사이의 중간지점의 각각까지의 거리들에 기초하여 사용자의 헤드의 요를 결정할 수도 있다.
사용자 인터페이스 (240) 는 헤드 포즈 데이터 (203) 에 적어도 부분적으로 기초하여 센싱 디바이스 (200) 의 동작을 제어 또는 조정할 수도 있다. 사용자 인터페이스 (240) 는 도 1 의 사용자 인터페이스 (116) 의 일 실시형태일 수도 있다. 따라서, 사용자 인터페이스 (240) 는 사용자가 센싱 디바이스 (200) 또는 센싱 디바이스 (200) 에 커플링된 전자 시스템 (단순화를 위해 나타내지 않음) 을 동작시키거나, 이와 상호작용하거나, 또는 그렇지 않으면 이를 사용하는 인터페이스를 제공할 수도 있다. 예를 들어, 사용자 인터페이스 (240) 는 하나 이상의 스피커들, 디스플레이들 또는 다른 매체 출력 디바이스들을 포함할 수도 있다. 일부 실시형태들에서, 사용자 인터페이스 (240) 는 헤드 포즈 데이터 (203) 에 적어도 부분적으로 기초하여 사용자 입력들을 동적으로 센싱 및/또는 이 입력들에 응답할 수도 있다.
일부 구현들에서, 센싱 디바이스 (200) 는 스마트 스피커 (의 일부) 일 수도 있다. 예를 들어, 사용자는 정보 (예를 들어, 레시피, 명령, 디렉션 등) 에 대해 스마트 스피커에 쿼리하여, 미디어 컨텐츠 (예를 들어, 뮤직, 비디오, 오디오북 등) 를 재생하거나, 또는 사용자의 홈 또는 오피스 환경에서의 다양한 디바이스들 (예를 들어, 조명, 온도, 차고 문, 및 다른 홈 자동화 디바이스) 을 제어할 수도 있다. 이러한 쿼리들은 예를 들어 구두 커맨드 또는 명령의 형태로 사용자의 음성에 의해 트리거될 수도 있다. 스마트 스피커가 거짓 또는 우발적인 음성 쿼리를 프로세싱하는 것을 방지하기 위해, 스마트 스피커는 사용자가 디바이스에 주의를 기울일 때만 사용자를 청취 및/또는 사용자에 응답하도록 구성될 수도 있다. 일부 실시형태들에서, 스마트 스피커는 헤드 포즈 데이터 (203) 에 적어도 부분적으로 기초하여 사용자의 주의력을 결정할 수도 있다.
일부 다른 구현들에서, 센싱 디바이스 (200) 는 스마트 도어벨 (의 일부) 일 수도 있다. 예를 들어, 방문자가 스마트 도어벨이 장착된 집에 접근할 때, 스마트 도어벨은 방문자의 이미지 및/또는 비디오를 기록하고 미디어를 네트워크 또는 클라우드 기반 서비스에 업로드하여 스마트 도어벨의 소유자가 기록된 이미지 및/또는 비디오를 볼 수도 있다. 많은 스마트 도어벨들은 하나 이상의 통행인을 포함할 수도 있는 FOV 내에서 전체 장면을 기록하도록 구성된다. 프라이버시 문제로 인해, 스마트 도어벨은 배경에서 임의의 안면을 난독화하면서 집의 방문자(들)만을 기록하도록 구성될 수도 있다. 일부 실시형태들에서, 스마트 도어벨은 헤드 포즈 데이터 (203) 에 적어도 부분적으로 기초하여 기록될 안면 (예를 들어, 도어벨을 마주보는 사람) 을 결정할 수도 있다.
또한, 일부 구현들에서, 센싱 디바이스는 스마트 안경 (의 일부) 일 수도 있다. 예를 들어, 스마트 안경은 사용자를 마주보거나 사용자와 상호작용하지 않는 사람(들)을 포함할 수도 있는, 사용자가 보고 있는 장면에 관한 정보를 포함하는 헤드업 디스플레이 (HUD) 및/또는 증강 현실 (AR) 을 사용자 (또는 착용자) 에게 제공할 수도 있다. 정보는 장면의 이미지 및/또는 비디오를 네트워크 또는 클라우드 기반 서비스로 전송함으로써 생성된다. 프라이버시 문제로 인해, 스마트 안경은 사용자가 상호작용하지 않을 수도 있는 임의의 사람(들)의 안면을 난독화하면서 사용자로부터의 임계 거리 내에서 및/또는 사용자를 마주보는 사람(들)만을 기록하도록 구성될 수도 있다. 또한, 시각 장애를 보조하도록 설계된 디바이스에 있어서, 스마트 안경은 사용자를 마주보는 사람(들)이 직접 사용자의 정면, 왼쪽 또는 오른쪽에 있다는 통지를 사용자에게 제공하도록 구성될 수도 있다. 일부 실시형태들에서, 스마트 안경은 헤드 포즈 데이터 (203) 에 적어도 부분적으로 기초하여 안면의 상대적 위치들 및/또는 기록될 안면을 결정할 수도 있다.
도 3 은 일부 실시형태들에 따른, 헤드 포즈 추정 회로 (300) 의 블록 다이어그램을 나타낸다. 헤드 포즈 추정 회로 (300) 는 도 2 의 헤드 포즈 추정기 (230) 의 일 실시형태일 수도 있다. 헤드 포즈 추정 회로 (300) 는 다수의 중간지점 계산기들 (310(A)-310(D))(또는 단일 중간지점 계산기의 다중 인스턴스들), 다수의 코에 대한 거리 (distanc-to-nose; DTN) 계산기들 (320(A)-320(D))(또는 단일 DTN 계산기의 다중 인스턴스들), 피치 검출기 (330), 요 검출기 (340) 및 거리 검출기 (350) 를 포함한다.
헤드 포즈 추정 회로 (300) 는 카메라에 의해 캡처된 이미지로부터 추출된 안면 랜드마크 데이터 (301) 에 기초하여 카메라에 대한 사용자의 헤드의 피치 (302), 요 (303) 및/또는 거리 (304) 를 결정하도록 구성된다. 안면 랜드마크 데이터 (301) 는 (예를 들어, 도 2 에 설명된 바와 같은) 하나 이상의 뉴럴 모델들을 사용하여 이미지로부터 추론될 수도 있다. 도 3 의 실시형태에서, 안면 랜드마크 데이터 (301) 는 코 벡터 (
Figure pat00001
), 왼쪽 눈 벡터 (
Figure pat00002
), 오른쪽 눈 벡터 (
Figure pat00003
), 왼쪽 입 벡터 (
Figure pat00004
) 및 오른쪽 입 벡터 (
Figure pat00005
) 를 포함하도록 나타나 있다. 다른 실시형태들에서, 안면 랜드마크 데이터 (301) 는 도 3 에 도시된 것들 중 임의의 것을 포함하고 및/또는 배제하는 더 적거나 더 많은 피처 벡터들을 포함할 수도 있다.
피처 벡터들 (
Figure pat00006
,
Figure pat00007
,
Figure pat00008
,
Figure pat00009
, 및
Figure pat00010
) 의 각각은 대응하는 안면 피처와 연관되는 기본 이미지에서 개개의 지점 (예를 들어, 픽셀 또는 픽셀들의 서브세트) 을 표시한다. 보다 구체적으로, 각각의 피처 벡터는 2D 공간에서의 특정 위치를 가리킬 수도 있다. 예를 들어, 피처 벡터는 데카르트 좌표들 (x, y) 의 세트로 기술되거나 표현될 수도 있다. 따라서, 벡터
Figure pat00011
는 사용자의 코의 위치를 가리킬 수도 있고, 벡터
Figure pat00012
는 사용자의 왼쪽 눈의 위치를 가리킬 수도 있고, 벡터
Figure pat00013
는 사용자의 오른쪽 눈의 위치를 가리킬 수도 있고, 벡터
Figure pat00014
는 사용자의 입의 좌측 부분 (예를 들어, 코너) 의 위치를 가리킬 수도 있으며, 벡터
Figure pat00015
는 사용자의 입의 오른쪽 부분 (예를 들어, 코너) 의 위치를 가리킬 수도 있다.
중간지점 계산기들 (310(A)-310(D)) 의 각각은 상이한 한쌍의 피처 벡터들 (
Figure pat00016
,
Figure pat00017
,
Figure pat00018
,
Figure pat00019
, 및
Figure pat00020
) 을 수신하고 이들 사이의 중간지점을 계산하도록 구성된다. 예를 들어, 제 1 중간지점 계산기 (310(A)) 는 왼쪽 눈 벡터
Figure pat00021
와 오른쪽 눈 벡터
Figure pat00022
사이의 중간지점 (
Figure pat00023
) 을 계산할 수도 있고 (예를 들어,
Figure pat00024
), 제 2 중간지점 계산기 (310(B)) 는 왼쪽 입 벡터
Figure pat00025
와 오른쪽 입 벡터
Figure pat00026
사이의 중간지점 (
Figure pat00027
) 을 계산할 수도 있고 (예를 들어,
Figure pat00028
), 제 3 중간지점 계산기 (310(C)) 는 왼쪽 눈 벡터
Figure pat00029
와 왼쪽 입 벡터
Figure pat00030
사이의 중간지점 (
Figure pat00031
) 을 계산할 수도 있으며 (예를 들어,
Figure pat00032
), 제 4 중간지점 계산기 (310(D)) 는 오른쪽 눈 벡터
Figure pat00033
와 오른쪽 입 벡터
Figure pat00034
사이의 중간지점 (
Figure pat00035
) 을 계산할 수도 있다 (예를 들어,
Figure pat00036
).
DTN 계산기들 (320(A)-320(D)) 의 각각은 중간지점들 (
Figure pat00037
,
Figure pat00038
,
Figure pat00039
,
Figure pat00040
) 의 개개의 중간지점을 수신하고 코 벡터
Figure pat00041
에서 개개의 중간지점까지의 거리를 계산하도록 구성된다. 예를 들어, 제 1 DTN 계산기 (320(A)) 는 코 벡터
Figure pat00042
에서 왼쪽 눈과 오른쪽 눈 사이의 중간지점
Figure pat00043
까지의 거리 (
Figure pat00044
) 를 계산할 수도 있고 (예를 들어,
Figure pat00045
), 제 2 DTN 계산기 (320(B)) 는 코 벡터
Figure pat00046
에서 입의 왼쪽 부분과 오른쪽 부분 사이의 중간지점
Figure pat00047
까지의 거리 (
Figure pat00048
) 를 계산할 수도 있고 (예를 들어,
Figure pat00049
), 제 3 DTN 계산기 (320(C)) 는 코 벡터
Figure pat00050
에서 왼쪽 눈과 입의 왼쪽 부분 사이의 중간지점
Figure pat00051
까지의 거리 (
Figure pat00052
) 를 계산할 수도 있고 (예를 들어,
Figure pat00053
), 제 4 DTN 계산기 (320(D)) 는 코 벡터
Figure pat00054
에서 오른 쪽 눈과 입의 오른쪽 부분 사이의 중간지점
Figure pat00055
까지의 거리 (
Figure pat00056
) 를 계산할 수도 있다 (예를 들어,
Figure pat00057
).
피치 검출기 (330) 는 거리들
Figure pat00058
Figure pat00059
에 기초하여 사용자의 헤드의 피치 (302) 를 결정하도록 구성된다. 도 4 의 예시의 이미지 (400) 를 참조하면, 거리들 (
Figure pat00060
Figure pat00061
) 은 사용자가 카메라 또는 센싱 디바이스를 직접 마주보고 있을 때 주어진 비를 갖는다는 것을 알 수 있다. 사용자가 그의 또는 그녀의 헤드를 뒤로 젖힘에 따라 (예를 들어 피치가 증가), 코에서 입까지의 거리 (
Figure pat00062
) 는 증가할 수도 있고 및/또는 코에서 눈까지의 거리 (
Figure pat00063
) 는 감소할 수도 있다. 사용자가 그의 또는 그녀의 헤드를 앞으로 젖힘에 따라 (예를 들어 피치가 감소), 코에서 입까지의 거리 (
Figure pat00064
) 는 감소할 수도 있고 및/또는 코에서 눈까지의 거리 (
Figure pat00065
) 는 증가할 수도 있다. 따라서, 피치 (302) 는 거리들 (
Figure pat00066
Figure pat00067
) 의 비로서 표현될 수 있다:
Figure pat00068
요 검출기 (340) 는 거리들 (
Figure pat00069
Figure pat00070
) 에 기초하여 사용자의 헤드의 요 (303) 를 결정하도록 구성된다. 도 4 의 예시의 이미지 (400) 를 참조하면, 거리들 (
Figure pat00071
Figure pat00072
) 은 사용자가 카메라 또는 센싱 디바이스를 직접 마주보고 있을 때 주어진 비를 갖는다는 것을 알 수 있다. 사용자가 그의 또는 그녀의 헤드를 오른쪽으로 돌림에 따라 (예를 들어, 요가 증가), 코에서 안면의 좌측까지의 거리 (
Figure pat00073
) 는 증가할 수도 있고 및/또는 코에서 안면의 우측까지의 거리 (
Figure pat00074
) 는 감소할 수도 있다. 사용자가 그의 또는 그녀의 헤드를 왼쪽으로 돌림에 따라 (예를 들어, 요가 감소), 코에서 안면의 좌측까지의 거리 (
Figure pat00075
) 는 감소할 수도 있고 및/또는 코에서 안면의 우측까지의 거리 (
Figure pat00076
) 는 증가할 수도 있다. 따라서, 요 (303) 는 거리들 (
Figure pat00077
Figure pat00078
) 의 비로서 표현될 수 있다.
Figure pat00079
요 검출기 (350) 는 거리들 (
Figure pat00080
,
Figure pat00081
,
Figure pat00082
, 및
Figure pat00083
) 에 기초하여 사용자의 헤드의 거리 (304) 를 결정하도록 구성된다. 도 4 의 예시의 이미지 (400) 를 참조하면, 결합 거리들 (
Figure pat00084
및/또는
Figure pat00085
) 은 대략 사용자와 카메라 사이의 거리에 비례함을 알 수 있다. 사용자가 카메라로부터 더 멀리 이동함에 따라 (예를 들어, 거리가 증가), 눈에서 입까지의 거리 (
Figure pat00086
) 는 감소하고 및/또는 사용자의 안면의 좌측에서 사용자의 안면의 우측까지의 거리 (
Figure pat00087
) 는 감소할 수도 있다. 사용자가 카메라에 더 가까이 이동함에 따라 (예를 들어, 거리가 감소), 눈과 입 사이의 거리 (
Figure pat00088
) 는 증가하고 및/또는 사용자의 안면의 좌측과 우측 사이의 거리 (
Figure pat00089
) 는 증가할 수도 있다. 그러나, 사용자의 헤드의 피치는 눈과 입 사이의 전체 거리 (
Figure pat00090
) 에 영향을 미칠 수도 있고, 사용자의 헤드의 요는 사용자의 안면의 좌측과 우측 사이의 전체 거리 (
Figure pat00091
) 에 영향을 미칠 수도 있다. 따라서, 거리 (304) 는 결합 거리들 (
Figure pat00092
또는
Figure pat00093
) 의 최대치에 대한 비율로서 표현될 수 있다:
Figure pat00094
.
추정된 거리 (304) 는 사용자의 헤드와 카메라 사이의 상대적 거리 (예를 들어, 비례) 를 나타낸다. 예를 들어, 거리 값은 사용자가 카메라에 더 가까이 있을 때 일반적으로 더 크고, 사용자가 카메라에서 더 멀리 있을 때 일반적으로 더 작다. 사용자의 헤드와 카메라 사이의 절대 거리를 결정하기 위해, 추정된 거리 (304) 는 카메라에 대한 알려진 거리와 연관된 스칼라 량으로 승산될 수도 있다. 일부 양태들에서, 스칼라 량은 카메라 및/또는 센싱 디바이스의 제조사에 의해 미리결정될 수도 있다. 일부 다른 양태들에서, 스칼라 량은 센싱 디바이스의 사용자에 의해 추정될 수도 있다. 또한, 일부 양태들에서, 스칼라 량은 센싱 디바이스의 동작 동안 교정될 수도 있다.
예를 들어, 카메라는 사용자가 센싱 디바이스를 유지 및/또는 동작시키는 (예를 들어, 터치하는) 동안 사용자의 헤드의 이미지를 캡처할 수도 있다. 본 개시의 양태는 사용자가 센싱 디바이스와 접촉할 때 사용자 헤드가 카메라의 임계 거리 (예를 들어, 팔 길이보다 크지 않음) 내에 있을 것임을 인식한다. 따라서, 일부 실시형태들에서, 센싱 디바이스는 사용자가 센싱 디바이스를 동작시키는 동안 취득된 이미지들을 사용하여 스칼라 량을 교정할 수도 있다. 스칼라 양은 귀-대-귀 측정, 턱-대-헤어 측정, 및/또는 사용자의 안면 또는 헤드의 총 면적에 기초한 추정들을 포함하지만 이에 제한되지 않는 임의의 알려진 거리 추정 기법들을 사용하여 계산될 수도 있다. 스칼라 량은 센싱 디바이스의 후속 동작 동안 카메라가 사용자의 헤드의 새로운 이미지를 캡처할 때마다 (예를 들어, 실행 평균에 기초하여) 추가로 업데이트될 수도 있다. 일부 실시형태들에서, 스칼라 량은 추가로 (예를 들어, 사용자의 헤드뿐만 아니라) 캡처된 이미지에서 다른 오브젝트들 및/또는 피처들의 절대 거리를 결정하는데 사용될 수도 있다.
헤드 포즈 추정 회로 (300) 는 도 3 (예를 들어, 피치 (302), 요 (303) 및 거리 (304)) 에 나타낸 것보다 더 적거나 더 많은 헤드 포즈 데이터를 생성하도록 구성될 수도 있다. 예를 들어, 일부 실시형태들에서, 헤드 포즈 추정 회로 (300) 는 추가로 카메라 또는 센싱 디바이스에 대한 안면의 위치를 결정할 수도 있다. 위치 정보는 이미지 (400) 의 치수에 관하여 피처 벡터들 (
Figure pat00095
,
Figure pat00096
,
Figure pat00097
,
Figure pat00098
,
Figure pat00099
) 의 하나 이상의 피처 벡터들의 위치에 기초하여 결정될 수도 있다. 피처 벡터가 이미지 (400) 의 오른쪽 에지보다 왼쪽 에지를 향해 더 가까이 포지셔닝되는 경우, 사용자는 카메라의 오른쪽에 위치될 수도 있다. 피처 벡터가 이미지 (400) 의 왼쪽 에지보다 오른쪽 에지를 향해 더 가까이 포지셔닝되는 경우, 사용자는 카메라의 왼쪽에 위치될 수도 있다. 다른 헤드 포즈 데이터는 또한 개시의 범위를 벗어나지 않으면서 피처 벡터들 (
Figure pat00100
,
Figure pat00101
,
Figure pat00102
,
Figure pat00103
,
Figure pat00104
) 을 사용하여 결정될 수도 있다.
도 5 는 일부 실시형태들에 따른, 센싱 디바이스 (500) 의 또 다른 블록 다이어그램을 나타낸다. 센싱 디바이스 (500) 는 도 2 의 센싱 디바이스 (200) 및/또는 도 1 의 센싱 디바이스 (110) 의 일 실시형태일 수도 있다. 센싱 디바이스 (500) 는 센서 인터페이스 (510), 프로세서 (520) 및 메모리 (530) 를 포함한다.
센서 인터페이스 (510) 는 센싱 디바이스 (500) 에 커플링된 하나 이상의 센서들과 통신하는데 사용될 수도 있다. 예시의 센서는 카메라, 용량성 센서, 마이크로폰 등을 포함할 수도 있지만 이에 제한되지 않는다. 일부 구현들에서, 센서 인터페이스 (510) 는 센싱 디바이스 (500) 의 카메라 (예를 들어, 도 2 의 카메라 (210)) 와 통신하도록 구성될 수도 있다. 예를 들어, 센서 인터페이스 (510) 는 센싱 디바이스 (500) 를 마주보는 장면의 이미지를 캡처하기 위해 카메라로 신호를 송신하고 카메라로부터 신호를 수신할 수도 있다.
메모리 (530) 는 또한 적어도 다음의 소프트웨어 (SW) 모듈들을 저장할 수도 있는 비일시적 컴퓨터 판독가능 매체 (예를 들어, EPROM, EEPROM, 플래시 메모리, 하드 드라이브 등과 같은 하나 이상의 비휘발성 메모리 엘리먼트들) 을 포함할 수도 있다:
Figure pat00105
카메라에 의해 캡처된 하나 이상의 이미지들에서 사용자를 검출하고 사용자의 이미지로부터 안면 랜드마크 데이터를 추출하기 위한 안면 검출 SW 모듈 (531).
Figure pat00106
안면 랜드마크 데이터에 기초하여 카메라에 대한 사용자의 헤드의 포즈 또는 포지션을 추정하기 위한 헤드 포즈 추정 SW 모듈 (532) 로서,
Figure pat00107
안면 랜드마크 데이터에 기초하여 사용자의 헤드의 피치를 결정하기 위한 피치 추정 서브-모듈 (533);
Figure pat00108
안면 랜드마크 데이터에 기초하여 사용자의 헤드의 요를 결정하기 위한 요 추정 서브-모듈 (534);
Figure pat00109
안면 랜드마크 데이터에 기초하여 사용자의 헤드의 거리를 결정하기 위한 거리 추정 서브-모듈 (535); 및
Figure pat00110
안면 랜드마크 데이터에 기초하여 사용자의 헤드의 위치를 결정하기 위한 위치 추정 서브-모듈 (536) 을 더 포함하는, 상기 헤드 포즈 추정 SW 모듈 (532); 및
Figure pat00111
헤드 포즈 데이터에 적어도 부분적으로 기초하여, 센싱 디바이스 (500) 또는 센싱 디바이스 (500) 에 커플링된 전자 시스템의 동작을 동적으로 제어 또는 조정하기 위한 사용자 인터페이스 SW 모듈 (537).
각각의 소프트웨어 모듈은 프로세서 (520) 에 의해 실행될 때, 센싱 디바이스 (500) 가 대응 기능들을 수행하게 하는 명령들을 포함한다. 따라서 메모리 (530) 의 비일시 컴퓨터 판독가능 매체는 도 6 내지 도 9 에 관하여 하기에서 설명되는 동작들의 전부 또는 일부를 수행하기 위한 명령들을 포함한다.
프로세서 (520) 는 센싱 디바이스 (500) 에 저장된 하나 이상의 소프트웨어 프로그램들의 스크립트들 또는 명령들을 실행할 수 있는 임의의 적합한 하나 이상의 프로세서들일 수도 있다. 예를 들어, 프로세서 (520) 는 카메라에 의해 캡처된 하나 이상의 이미지들에서 사용자를 검출하고 사용자의 이미지로부터 안면 랜드마크 데이터를 추출하기 위해 안면 검출 SW 모듈 (531) 를 실행할 수도 있다. 프로세서 (520) 는 또한 안면 랜드마크 데이터에 기초하여 카메라에 대한 사용자의 헤드의 포즈 또는 포지션을 추정하기 위해 헤드 포즈 추정 SW 모듈 (532) 을 실행할 수도 있다. 또한, 프로세서 (520) 는 헤드 포즈 데이터에 적어도 부분적으로 기초하여, 센싱 디바이스 (500) 또는 센싱 디바이스 (500) 에 커플링된 전자 시스템의 동작을 동적으로 제어 또는 조정하기 위해 사용자 인터페이스 SW 모듈 (537) 을 실행할 수도 있다.
헤드 포즈 추정 SW 모듈 (532) 을 실행함에 있어서, 프로세서 (520) 는 추가로 피치 추정 서브-모듈 (533), 요 추정 서브-모듈 (534), 거리 추정 서브-모듈 (535) 및/또는 위치 추정 서브-모듈 (536) 을 실행할 수도 있다. 프로세서 (520) 는 안면 랜드마크 데이터에 기초하여 사용자의 헤드의 피치를 결정하기 위해 피치 추정 서브-모듈 (533) 을 실행할 수도 있다. 프로세서 (520) 는 또한 안면 랜드마크 데이터에 기초하여 사용자의 헤드의 요를 결정하기 위해 요 추정 서브-모듈 (534) 을 실행할 수도 있다. 추가로, 프로세서 (520) 는 안면 랜드마크 데이터에 기초하여 사용자의 헤드의 거리를 결정하기 위해 거리 추정 서브-모듈 (535) 을 실행할 수도 있다. 또한, 프로세서 (520) 는 안면 랜드마크 데이터에 기초하여 사용자의 헤드의 위치를 결정하기 위해 위치 추정 서브-모듈 (536) 을 실행할 수도 있다.
도 6 은 일부 실시형태들에 따른, 센싱 디바이스에 의해 사용자의 헤드 포즈를 결정하기 위한 예시의 동작 (600) 을 도시하는 예시적인 플로우챠트이다. 예를 들어 도 1 을 참조하면, 동작 (600) 은 센싱 디바이스 (110) 에 대한 사용자의 헤드의 포즈 또는 포지션을 결정하기 위해 센싱 디바이스 (110) 에 의해 수행될 수도 있다.
센싱 디바이스는 추가로 캡처된 이미지에서 안면을 검출할 수도 있다 (610). 이미지는 센싱 디바이스에서 또는 센싱 디바이스에 커플링된 카메라에 의해 캡처된 스틸 프레임 이미지들 및/또는 비디오를 포함할 수도 있다. 예를 들어, 센싱 디바이스는 임의의 알려진 안면 검출 알고리즘 및/또는 기법을 사용하여 하나 이상의 사용자들의 존재를 검출할 수도 있다. 일부 실시형태들에서, 뉴럴 네트워크 (220) 는 캡처된 이미지들 (201) 에서 인간의 안면에 관한 추론을 생성하기 위해 하나 이상의 뉴럴 네트워크 모델들을 구현할 수도 있다. 일부 실시형태들에서, 뉴럴 네트워크 모델들은 사용자의 안면의 2D 이미지들로부터 하나 이상의 안면 피처들 (예를 들어, 눈, 코, 입 등) 을 식별하도록 훈련될 수도 있다.
센싱 디바이스는 또한 검출된 안면의 개개의 피처들에 대응하는 이미지의 복수의 지점들을 추가로 식별한다 (620). 일부 실시형태들에서, 복수의 지점들은 사용자의 코의 위치에 대응하는 적어도 제 1 지점을 포함할 수도 있다. 예를 들어, 센싱 디바이스는 식별된 사용자의 안면으로부터 하나 이상의 피처 벡터들을 결정할 수도 있다. 피처 벡터들 각각은 캡처된 이미지 (201) 에서 개개의 안면 피처의 위치 (예를 들어, 픽셀 위치) 를 식별할 수도 있다. 예시의 피처 벡터들은 왼쪽 눈 벡터, 오른쪽 눈 벡터, 왼쪽 입 벡터, 오른쪽 입 벡터, 및 코 벡터를 포함할 수도 있지만 이에 제한되지 않는다.
센싱 디바이스는 그 후 이미지의 제 1 지점과 나머지 지점들 중 하나 이상의 지점들 사이의 거리에 적어도 부분적으로 기초하여 센싱 디바이스에 대한 안면의 포지션을 결정할 수도 있다 (630). 일부 실시형태들에서, 센싱 디바이스는 코 벡터에서 왼쪽 눈 벡터와 오른쪽 눈 벡터 사이의 중간지점 및 왼쪽 입 벡터와 오른쪽 입 벡터 사이의 중간지점의 각각까지의 거리들에 기초하여 사용자의 헤드의 피치를 결정할 수도 있다. 일부 다른 실시형태들에서, 센싱 디바이스는 코 벡터에서 왼쪽 눈 벡터와 왼쪽 입 벡터 사이의 중간지점 및 오른쪽 눈 벡터와 오른쪽 입 벡터 사이의 중간지점의 각각까지의 거리들에 기초하여 사용자의 헤드의 요를 결정할 수도 있다.
도 7 은 일부 실시형태들에 따른, 캡처된 이미지에서 안면의 피치를 결정하기 위한 예시의 동작 (700) 을 도시하는 예시적인 플로우챠트이다. 예를 들어 도 3 을 참조하면, 동작 (700) 은 헤드 포즈 추정 회로 (300) 에 의해 수행될 수도 있다.
헤드 포즈 추정 회로는 먼저 안면 랜드마크 데이터를 수신할 수도 있다 (710). 일부 실시형태들에서, 안면 랜드마크 데이터는 적어도 코 벡터, 왼쪽 눈 벡터 (
Figure pat00112
), 오른쪽 눈 벡터 (
Figure pat00113
), 왼쪽 입 벡터 (
Figure pat00114
) 및 오른쪽 입 벡터 (
Figure pat00115
) 를 포함할 수도 있다. 피처 벡터들 (
Figure pat00116
,
Figure pat00117
,
Figure pat00118
,
Figure pat00119
, 및
Figure pat00120
) 의 각각은 대응하는 안면 피처와 연관되는 기본 이미지에서 개개의 지점을 표시한다.
헤드 포즈 추정 회로는 이미지에서 왼쪽 눈과 오른쪽 눈 사이의 제 1 중간지점 (
Figure pat00121
) 을 계산할 수도 있다 (720). 예를 들어, 도 3 에 나타낸 바와 같이, 제 1 중간지점 계산기 (310(A)) 는 왼쪽 눈 벡터
Figure pat00122
와 오른쪽 눈 벡터
Figure pat00123
사이의 중간지점
Figure pat00124
을 계산할 수도 있다 (예를 들어,
Figure pat00125
).
헤드 포즈 추정 회로는 이미지에서 입의 왼쪽 부분과 오른쪽 부분 사이의 제 2 중간지점 (
Figure pat00126
) 을 계산할 수도 있다 (730). 예를 들어, 도 3 에 나타낸 바와 같이, 제 2 중간지점 계산기 (310(B)) 는 왼쪽 입 벡터
Figure pat00127
와 오른쪽 입 벡터
Figure pat00128
사이의 중간지점 (
Figure pat00129
) 을 계산할 수도 있다 (예를 들어,
Figure pat00130
).
헤드 포즈 추정 회로는 또한 이미지에서의 코부터 제 1 중간지점 (
Figure pat00131
) 까지의 거리
Figure pat00132
를 계산할 수도 있다 (740). 예를 들어, 도 3 에 나타낸 바와 같이, 제 1 DTN 계산기 (320 (A)) 는 코 벡터
Figure pat00133
에서 왼쪽 눈과 오른쪽 눈 사이의 중간지점
Figure pat00134
까지의 거리
Figure pat00135
를 계산할 수도 있다 (예를 들어,
Figure pat00136
).
헤드 포즈 추정 회로는 또한 이미지에서의 코부터 제 2 중간지점
Figure pat00137
까지의 거리
Figure pat00138
를 계산할 수도 있다 (750). 예를 들어, 도 3 에 나타낸 바와 같이, 제 2 DTN 계산기 (320 (B)) 는 코 벡터
Figure pat00139
에서 입의 왼쪽 부분과 오른쪽 부분 사이의 중간지점
Figure pat00140
까지의 거리
Figure pat00141
를 계산할 수도 있다 (예를 들어,
Figure pat00142
).
헤드 포즈 추정 회로는 그 후 거리들
Figure pat00143
Figure pat00144
의 비에 기초하여 안면의 피치를 결정할 수도 있다 (760). 예를 들어, 도 3 에 나타낸 바와 같이, 피치 검출기 (330) 는 코에서 입까지의 거리
Figure pat00145
를 코에서 눈까지의 거리
Figure pat00146
와 비교함으로써 사용자의 헤드 또는 안면의 피치를 결정할 수도 있다:
Figure pat00147
도 8 은 일부 실시형태들에 따른, 캡처된 이미지에서 안면의 요를 결정하기 위한 예시의 동작 (800) 을 도시하는 예시적인 플로우챠트이다. 예를 들어 도 3 을 참조하면, 동작 (800) 은 헤드 포즈 추정 회로 (300) 에 의해 수행될 수도 있다.
헤드 포즈 추정 회로는 먼저 안면 랜드마크 데이터를 수신할 수도 있다 (810). 일부 실시형태들에서, 안면 랜드마크 데이터는 적어도 코 벡터, 왼쪽 눈 벡터 (
Figure pat00148
), 오른쪽 눈 벡터 (
Figure pat00149
), 왼쪽 입 벡터 (
Figure pat00150
) 및 오른쪽 입 벡터 (
Figure pat00151
) 를 포함할 수도 있다. 피처 벡터들 (
Figure pat00152
,
Figure pat00153
,
Figure pat00154
,
Figure pat00155
, 및
Figure pat00156
) 의 각각은 대응하는 안면 피처와 연관되는 기본 이미지에서 개개의 지점을 표시한다.
헤드 포즈 추정 회로는 이미지에서 왼쪽 눈과 입의 왼쪽 부분 사이의 제 1 중간지점 (
Figure pat00157
) 을 계산할 수도 있다 (820). 예를 들어, 도 3 에 나타낸 바와 같이, 제 3 중간지점 계산기 (310(C)) 는 왼쪽 눈 벡터
Figure pat00158
와 왼쪽 입 벡터
Figure pat00159
사이의 중간지점
Figure pat00160
을 계산할 수도 있다 (예를 들어,
Figure pat00161
).
헤드 포즈 추정 회로는 이미지에서 왼쪽 눈과 입의 왼쪽 부분 사이의 제 2 중간지점 (
Figure pat00162
) 을 계산할 수도 있다 (830). 예를 들어, 도 3 에 나타낸 바와 같이, 제 4 중간지점 계산기 (310(D)) 는 오른쪽 눈 벡터
Figure pat00163
와 오른쪽 입 벡터
Figure pat00164
사이의 중간지점
Figure pat00165
을 계산할 수도 있다 (예를 들어,
Figure pat00166
).
헤드 포즈 추정 회로는 또한 이미지에서의 코부터 제 1 중간지점
Figure pat00167
까지의 거리
Figure pat00168
를 계산할 수도 있다 (840). 예를 들어, 도 3 에 나타낸 바와 같이, 제 3 DTN 계산기 (320(C)) 는 코 벡터
Figure pat00169
에서 왼쪽 눈과 입의 왼쪽 부분 사이의 중간지점
Figure pat00170
까지의 거리
Figure pat00171
를 계산할 수도 있다 (예를 들어,
Figure pat00172
).
헤드 포즈 추정 회로는 또한 이미지에서의 코부터 제 2 중간지점
Figure pat00173
까지의 거리
Figure pat00174
를 계산할 수도 있다 (850). 예를 들어, 도 3 에 나타낸 바와 같이, 제 4 DTN 계산기 (320(D)) 는 코 벡터
Figure pat00175
에서 왼쪽 눈과 입의 오른쪽 부분 사이의 중간지점
Figure pat00176
까지의 거리
Figure pat00177
를 계산할 수도 있다 (예를 들어,
Figure pat00178
).
헤드 포즈 추정 회로는 그 후 거리들
Figure pat00179
Figure pat00180
의 비에 기초하여 안면의 요를 결정할 수도 있다 (860). 예를 들어, 도 3 에 나타낸 바와 같이, 요 검출기 (340) 는 코에서 안면의 좌측까지의 거리
Figure pat00181
를 코에서 안면의 우측까지의 거리
Figure pat00182
와 비교함으로써 사용자의 헤드 또는 안면의 피치를 결정할 수도 있다:
Figure pat00183
도 9 는 일부 실시형태들에 따른, 캡처된 이미지에서 안면의 거리를 결정하기 위한 예시의 동작 (900) 을 도시하는 예시적인 플로우챠트이다. 예를 들어 도 3 을 참조하면, 동작 (900) 은 헤드 포즈 추정 회로 (300) 에 의해 수행될 수도 있다.
헤드 포즈 추정 회로는 먼저 안면 랜드마크 데이터를 수신할 수도 있다 (910). 일부 실시형태들에서, 안면 랜드마크 데이터는 적어도 코 벡터, 왼쪽 눈 벡터 (
Figure pat00184
), 오른쪽 눈 벡터 (
Figure pat00185
), 왼쪽 입 벡터 (
Figure pat00186
) 및 오른쪽 입 벡터 (
Figure pat00187
) 를 포함할 수도 있다. 피처 벡터들 (
Figure pat00188
,
Figure pat00189
,
Figure pat00190
,
Figure pat00191
, 및
Figure pat00192
) 의 각각은 대응하는 안면 피처와 연관되는 기본 이미지에서 개개의 지점을 표시한다.
헤드 포즈 추정 회로는 이미지에서 왼쪽 눈과 오른쪽 눈 사이의 제 1 중간지점 (
Figure pat00193
) 을 계산할 수도 있다 (920). 예를 들어, 도 3 에 나타낸 바와 같이, 제 1 중간지점 계산기 (310(A)) 는 왼쪽 눈 벡터
Figure pat00194
와 오른쪽 눈 벡터
Figure pat00195
사이의 중간지점
Figure pat00196
을 계산할 수도 있다 (예를 들어,
Figure pat00197
).
헤드 포즈 추정 회로는 이미지에서 입의 왼쪽 부분과 오른쪽 부분 사이의 제 2 중간지점 (
Figure pat00198
) 을 계산할 수도 있다 (930). 예를 들어, 도 3 에 나타낸 바와 같이, 제 2 중간지점 계산기 (310(B)) 는 왼쪽 입 벡터
Figure pat00199
와 오른쪽 입 벡터
Figure pat00200
사이의 중간지점
Figure pat00201
을 계산할 수도 있다 (예를 들어,
Figure pat00202
).
헤드 포즈 추정 회로는 이미지에서 왼쪽 눈과 입의 왼쪽 부분 사이의 제 3 중간지점 (
Figure pat00203
) 을 계산할 수도 있다 (940). 예를 들어, 도 3 에 나타낸 바와 같이, 제 3 중간지점 계산기 (310(C)) 는 왼쪽 눈 벡터
Figure pat00204
와 왼쪽 입 벡터
Figure pat00205
사이의 중간지점
Figure pat00206
을 계산할 수도 있다 (예를 들어,
Figure pat00207
).
헤드 포즈 추정 회로는 이미지에서 오른쪽 눈과 입의 오른쪽 부분 사이의 제 4 중간지점 (
Figure pat00208
) 을 계산할 수도 있다 (950). 예를 들어, 도 3 에 나타낸 바와 같이, 제 4 중간지점 계산기 (310(D)) 는 오른쪽 눈 벡터
Figure pat00209
와 오른쪽 입 벡터
Figure pat00210
사이의 중간지점
Figure pat00211
을 계산할 수도 있다 (예를 들어,
Figure pat00212
).
헤드 포즈 추정 회로는 또한 이미지에서의 코부터 제 1 중간지점들
Figure pat00213
,
Figure pat00214
,
Figure pat00215
, 및
Figure pat00216
까지의 개개의 거리들 (
Figure pat00217
,
Figure pat00218
,
Figure pat00219
, 및
Figure pat00220
) 을 계산할 수도 있다 (960). 예를 들어, 도 3 에 나타낸 바와 같이, DTN 계산기들 (320(A)-320 (D)) 의 각각은 코 벡터
Figure pat00221
및 중간지점들
Figure pat00222
,
Figure pat00223
,
Figure pat00224
, 및
Figure pat00225
의 개개의 중간지점을 수신할 수도 있고, 추가로 거리들 (
Figure pat00226
,
Figure pat00227
,
Figure pat00228
, 및
Figure pat00229
) 의 개개의 거리를 계산할 수도 있다 (예를 들어,
Figure pat00230
,
Figure pat00231
,
Figure pat00232
,
Figure pat00233
).
헤드 포즈 추정 회로는 그 후 결합 거리들
Figure pat00234
또는
Figure pat00235
중 큰 것에 기초하여 안면의 거리를 결정할 수도 있다 (970). 예를 들어, 도 3 에 나타낸 바와 같이, 거리 검출기 (350) 는 눈과 입 사이의 거리 (
Figure pat00236
) 를 사용자의 안면의 좌측과 우측 사이의 거리 (
Figure pat00237
) 와 비교함으로써 사용자의 헤드 또는 안면의 거리를 결정할 수도 있다:
Figure pat00238
당업자는 정보 및 신호가 임의의 다양한 상이한 기술 및 기법을 이용하여 표현될 수도 있음을 인식할 것이다. 예를 들어, 위의 설명 전반에 걸쳐 언급될 수도 있는 데이터, 명령, 커맨드, 정보, 신호, 비트, 심볼, 및 칩은 전압, 전류, 전자기파, 자기장 또는 자기입자, 광학장 또는 광학 입자, 또는 이들의 임의의 조합에 의해 표현될 수도 있다.
또한, 당업자는 본 명세서에 개시된 양태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들 양자의 조합으로서 구현될 수도 있음을 인식할 것이다. 하드웨어 및 소프트웨어의 이러한 상호교환가능성을 명백하게 예시하기 위하여, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 일반적으로 그들의 기능성에 관하여 설명되었다. 그러한 기능성이 하드웨어 또는 소프트웨어로 구현될지 여부는, 전체 시스템에 부과된 특정 애플리케이션 및 설계 제약에 달려 있다. 당업자는 설명된 기능성을 각각의 특정 애플리케이션에 대해 다른 방식으로 구현할 수도 있지만, 이러한 구현 결정이 개시의 범위를 벗어나게 하는 것으로 해석되지 않아야 한다.
본 명세서에 개시된 양태들과 관련하여 설명된 방법, 시퀀스 또는 알고리즘은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들 2 개의 조합에서 직접 구현될 수도 있다. 소프트웨어 모듈이 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 착탈식 디스크, CD-ROM 또는 본 기술분야에서 공지된 임의의 다른 형태의 저장 매체 내에 존재할 수도 있다. 예시적 저장 매체는 프로세서가 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있도록 프로세서에 커플링된다. 대안으로, 저장 매체는 프로세서에 통합될 수도 있다.
전술한 명세서에서, 실시형태들은 그 특정 예들을 참조하여 설명되었다. 그러나, 첨부된 청구항들에서 기술된 바와 같이 개시의 넓은 범위를 벗어나지 않으면서 다양한 수정 및 변경이 이루어질 수도 있음이 자명할 것이다. 따라서, 명세서 및 도면들은 제한적이기보다는 예시적인 것으로 간주되어야 한다.

Claims (20)

  1. 센싱 디바이스에 의해 사용자의 헤드 포즈를 결정하는 방법으로서,
    이미지에서 상기 사용자의 안면을 검출하는 단계;
    검출된 상기 안면의 개개의 피처들에 대응하는 상기 이미지에서 복수의 지점들을 식별하는 단계로서, 상기 복수의 지점들은 제 1 안면 피처의 위치에 대응하는 적어도 제 1 지점을 포함하는, 상기 복수의 지점들을 식별하는 단계; 및
    상기 이미지의 제 1 지점과 나머지 지점들 중 하나 이상의 지점들 사이의 거리에 적어도 부분적으로 기초하여 상기 센싱 디바이스에 대한 상기 안면의 포지션을 결정하는 단계를 포함하는, 센싱 디바이스에 의해 사용자의 헤드 포즈를 결정하는 방법.
  2. 제 1 항에 있어서,
    상기 제 1 안면 피처는 코이고, 상기 나머지 지점들은 입 또는 눈의 위치들에 대응하는, 센싱 디바이스에 의해 사용자의 헤드 포즈를 결정하는 방법.
  3. 제 2 항에 있어서,
    상기 결정하는 단계는,
    상기 제 1 지점과 상기 입 및 눈과 연관된 한 쌍의 지점들 사이의 거리들의 비에 기초하여 상기 센싱 디바이스에 대한 상기 안면의 피치를 결정하는 단계를 포함하는, 센싱 디바이스에 의해 사용자의 헤드 포즈를 결정하는 방법.
  4. 제 3 항에 있어서,
    상기 피치를 결정하는 단계는,
    왼쪽 눈의 위치와 오른쪽 눈의 위치 사이의 제 1 중간지점을 계산하는 단계;
    상기 입의 왼쪽 부분의 위치와 상기 입의 오른쪽 부분의 위치 사이의 제 2 중간지점을 계산하는 단계; 및
    상기 제 1 지점에서 상기 제 1 및 제 2 중간지점들 각각까지의 거리들의 비에 기초하여 상기 안면의 피치를 결정하는 단계를 포함하는, 센싱 디바이스에 의해 사용자의 헤드 포즈를 결정하는 방법.
  5. 제 2 항에 있어서,
    상기 결정하는 단계는,
    상기 제 1 지점과 상기 입 및 눈과 연관된 한 쌍의 지점들 사이의 거리들의 비에 기초하여 상기 센싱 디바이스에 대한 상기 안면의 요를 결정하는 단계를 포함하는, 센싱 디바이스에 의해 사용자의 헤드 포즈를 결정하는 방법.
  6. 제 5 항에 있어서,
    상기 요를 결정하는 단계는,
    왼쪽 눈의 위치와 상기 입의 왼쪽 부분의 위치 사이의 제 3 중간지점을 계산하는 단계;
    오른쪽 눈의 위치와 상기 입의 오른쪽 부분의 위치 사이의 제 4 중간지점을 계산하는 단계; 및
    상기 제 1 지점에서 상기 제 3 및 제 4 중간지점들 각각까지의 거리들의 비에 기초하여 상기 안면의 요를 결정하는 단계를 포함하는, 센싱 디바이스에 의해 사용자의 헤드 포즈를 결정하는 방법.
  7. 제 2 항에 있어서,
    상기 결정하는 단계는,
    상기 제 1 지점과 상기 입 및 눈과 연관된 2 이상의 쌍들의 지점들 사이의 거리들의 비율로서 상기 센싱 디바이스에 대한 상기 안면의 거리를 결정하는 단계를 포함하는, 센싱 디바이스에 의해 사용자의 헤드 포즈를 결정하는 방법.
  8. 제 7 항에 있어서,
    상기 안면의 거리를 결정하는 단계는,
    왼쪽 눈의 위치와 오른쪽 눈의 위치 사이의 제 1 중간지점을 계산하는 단계;
    상기 입의 왼쪽 부분의 위치와 상기 입의 오른쪽 부분의 위치 사이의 제 2 중간지점을 계산하는 단계;
    상기 왼쪽 눈의 위치와 상기 입의 왼쪽 부분의 위치 사이의 제 3 중간지점을 계산하는 단계;
    상기 오른쪽 눈의 위치와 상기 입의 오른쪽 부분의 위치 사이의 제 4 중간지점을 계산하는 단계; 및
    상기 제 1 지점에서 상기 제 1 및 제 2 중간지점들 각각까지의 거리들의 비율로서 또는 상기 제 1 지점에서 상기 제 3 및 제 4 중간지점들 각각까지의 거리들의 비율로서 상기 안면의 거리를 결정하는 단계를 포함하는, 센싱 디바이스에 의해 사용자의 헤드 포즈를 결정하는 방법.
  9. 제 8 항에 있어서,
    상기 안면의 거리를 결정하는 단계는,
    상기 제 1 지점에서 상기 제 1 중간지점 및 상기 제 2 중간지점 각각까지의 제 1 결합 거리를 계산하는 단계;
    상기 제 1 지점에서 상기 제 3 중간지점 및 상기 제 4 중간지점 각각까지의 제 2 결합 거리를 계산하는 단계; 및
    상기 제 1 결합 거리 또는 제 2 결합 거리 중 더 큰 것에 기초하여 상기 안면의 거리를 결정하는 단계를 더 포함하는, 센싱 디바이스에 의해 사용자의 헤드 포즈를 결정하는 방법.
  10. 제 1 항에 있어서,
    상기 결정하는 단계는,
    사용자가 상기 센싱 디바이스와 접촉하는 동안 상기 사용자의 하나 이상의 이미지들을 수신하는 단계;
    상기 사용자의 하나 이상의 이미지들에 기초하여 스칼라 량 (scalar quantity) 을 결정하는 단계; 및
    상기 스칼라 량에 적어도 부분적으로 기초하여 수신된 상기 이미지에서 상기 안면의 포지션을 결정하는 단계를 포함하는, 센싱 디바이스에 의해 사용자의 헤드 포즈를 결정하는 방법.
  11. 센싱 디바이스로서,
    프로세싱 회로부; 및
    명령들을 저장하는 메모리를 포함하고, 상기 명령들은,
    상기 프로세싱 회로부에 의해 실행될 때, 상기 센싱 디바이스로 하여금,
    이미지에서 안면을 검출하게 하고;
    검출된 상기 안면의 개개의 피처들에 대응하는 상기 이미지에서 복수의 지점들을 식별하게 하는 것으로서, 상기 복수의 지점들은 제 1 안면 피처의 위치에 대응하는 적어도 제 1 지점을 포함하는, 상기 복수의 지점들을 식별하게 하고; 그리고
    상기 이미지의 제 1 지점과 나머지 지점들 중 하나 이상의 지점들 사이의 거리에 적어도 부분적으로 기초하여 상기 센싱 디바이스에 대한 상기 안면의 포지션을 결정하게 하는, 센싱 디바이스.
  12. 제 11 항에 있어서,
    상기 제 1 안면 피처는 코이고, 상기 나머지 지점들은 입 또는 눈의 위치들에 대응하는, 센싱 디바이스.
  13. 제 12 항에 있어서,
    상기 안면의 포지션을 결정하기 위한 상기 명령들의 실행은, 상기 센싱 디바이스로 하여금:
    왼쪽 눈의 위치와 오른쪽 눈의 위치 사이의 제 1 중간지점을 계산하게 하고;
    상기 입의 왼쪽 부분의 위치와 상기 입의 오른쪽 부분의 위치 사이의 제 2 중간지점을 계산하게 하며; 그리고
    상기 제 1 지점에서 상기 제 1 및 제 2 중간지점들 각각까지의 거리들의 비에 기초하여 상기 센싱 디바이스에 대해 상기 안면의 피치를 결정하게 하는, 센싱 디바이스.
  14. 제 12 항에 있어서,
    상기 안면의 포지션을 결정하기 위한 상기 명령들의 실행은, 상기 센싱 디바이스로 하여금:
    왼쪽 눈의 위치와 상기 입의 왼쪽 부분의 위치 사이의 제 3 중간지점을 계산하게 하고;
    오른쪽 눈의 위치와 상기 입의 오른쪽 부분의 위치 사이의 제 4 중간지점을 계산하게 하며; 그리고
    상기 제 1 지점에서 상기 제 3 및 제 4 중간지점들 각각까지의 거리들의 비에 기초하여 상기 센싱 디바이스에 대해 상기 안면의 요를 결정하게 하는, 센싱 디바이스.
  15. 제 12 항에 있어서,
    상기 안면의 포지션을 결정하기 위한 상기 명령들의 실행은, 상기 센싱 디바이스로 하여금:
    왼쪽 눈의 위치와 오른쪽 눈의 위치 사이의 제 1 중간지점을 계산하게 하고;
    상기 입의 왼쪽 부분의 위치와 상기 입의 오른쪽 부분의 위치 사이의 제 2 중간지점을 계산하게 하고;
    상기 왼쪽 눈의 위치와 상기 입의 왼쪽 부분의 위치 사이의 제 3 중간지점을 계산하게 하고;
    상기 오른쪽 눈의 위치와 상기 입의 오른쪽 부분의 위치 사이의 제 4 중간지점을 계산하게 하며;
    상기 제 1 중간지점에서 상기 제 1 지점까지 및 상기 제 1 지점에서 상기 제 2 중간지점까지의 제 1 결합 거리를 계산하게 하고;
    상기 제 3 중간지점에서 상기 제 1 지점까지 및 상기 제 1 지점에서 상기 제 4 중간지점까지의 제 2 결합 거리를 계산하게 하며; 그리고
    상기 제 1 결합 거리 또는 제 2 결합 거리 중 더 큰 것에 기초하여 상기 센싱 디바이스로부터 상기 안면의 거리를 결정하게 하는, 센싱 디바이스.
  16. 제 11 항에 있어서,
    상기 안면의 포지션을 결정하기 위한 상기 명령들의 실행은, 상기 센싱 디바이스로 하여금:
    사용자가 상기 센싱 디바이스와 접촉하는 동안 상기 사용자의 하나 이상의 이미지들을 수신하게 하고;
    상기 사용자의 하나 이상의 이미지들에 기초하여 스칼라 량을 결정하게 하며; 그리고
    상기 스칼라 량에 적어도 부분적으로 기초하여 수신된 상기 이미지에서 상기 안면의 포지션을 결정하게 하는, 센싱 디바이스.
  17. 시스템으로서,
    장면의 이미지를 캡처하도록 구성된 카메라; 및
    센싱 디바이스를 포함하고, 상기 센싱 디바이스는,
    캡처된 상기 이미지에서 안면을 검출하고;
    검출된 상기 안면의 개개의 피처들에 대응하는 상기 이미지에서 복수의 지점들을 식별하는 것으로서, 상기 복수의 지점들은 제 1 안면 피처의 위치에 대응하는 적어도 제 1 지점을 포함하는, 상기 복수의 지점들을 식별하고; 그리고
    상기 이미지의 제 1 지점과 나머지 지점들 중 하나 이상의 지점들 사이의 거리에 적어도 부분적으로 기초하여 상기 카메라에 대한 상기 안면의 포지션을 결정하도록 구성되는, 시스템.
  18. 제 17 항에 있어서,
    상기 센싱 디바이스는,
    왼쪽 눈의 위치와 오른쪽 눈의 위치 사이의 제 1 중간지점을 계산하고;
    입의 왼쪽 부분의 위치와 상기 입의 오른쪽 부분의 위치 사이의 제 2 중간지점을 계산하며; 그리고
    상기 제 1 지점에서 상기 제 1 및 제 2 중간지점들 각각까지의 거리들의 비에 기초하여 상기 카메라에 대한 상기 안면의 피치를 결정함으로써
    상기 안면의 포지션을 결정하는 것인, 시스템.
  19. 제 17 항에 있어서,
    상기 센싱 디바이스는,
    왼쪽 눈의 위치와 입의 왼쪽 부분의 위치 사이의 제 3 중간지점을 계산하고;
    오른쪽 눈의 위치와 상기 입의 오른쪽 부분의 위치 사이의 제 4 중간지점을 계산하며; 그리고
    상기 제 1 지점에서 상기 제 3 및 제 4 중간지점들 각각까지의 거리들의 비에 기초하여 상기 카메라에 대한 상기 안면의 요를 결정함으로써
    상기 안면의 포지션을 결정하는 것인, 시스템.
  20. 제 17 항에 있어서,
    상기 센싱 디바이스는,
    왼쪽 눈의 위치와 오른쪽 눈의 위치 사이의 제 1 중간지점을 계산하고;
    입의 왼쪽 부분의 위치와 상기 입의 오른쪽 부분의 위치 사이의 제 2 중간지점을 계산하고;
    상기 왼쪽 눈의 위치와 상기 입의 왼쪽 부분의 위치 사이의 제 3 중간지점을 계산하고;
    상기 오른쪽 눈의 위치와 상기 입의 오른쪽 부분의 위치 사이의 제 4 중간지점을 계산하고;
    상기 제 1 중간지점에서 상기 제 1 지점까지 및 상기 제 1 지점에서 상기 제 2 중간지점까지의 제 1 결합 거리를 계산하고;
    상기 제 3 중간지점에서 상기 제 1 지점까지 및 상기 제 1 지점에서 상기 제 4 중간지점까지의 제 2 결합 거리를 계산하며; 그리고
    상기 제 1 결합 거리 또는 제 2 결합 거리 중 더 큰 것에 기초하여 상기 카메라로부터 상기 안면의 거리를 결정함으로써
    상기 안면의 포지션을 결정하는 것인, 시스템.
KR1020200073717A 2019-06-24 2020-06-17 헤드 포즈 추정 KR20210000671A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/450,832 US11120569B2 (en) 2019-06-24 2019-06-24 Head pose estimation
US16/450,832 2019-06-24

Publications (1)

Publication Number Publication Date
KR20210000671A true KR20210000671A (ko) 2021-01-05

Family

ID=71096597

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200073717A KR20210000671A (ko) 2019-06-24 2020-06-17 헤드 포즈 추정

Country Status (3)

Country Link
US (1) US11120569B2 (ko)
EP (1) EP3757878A1 (ko)
KR (1) KR20210000671A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3091610B1 (fr) * 2019-01-08 2021-05-28 Surys Procédé de traitement d’images numériques
US12026302B2 (en) * 2022-06-24 2024-07-02 Apple Inc. Controlling a device setting using head pose
CN117275069B (zh) * 2023-09-26 2024-06-04 华中科技大学 基于可学习向量与注意力机制的端到端头部姿态估计方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7391888B2 (en) * 2003-05-30 2008-06-24 Microsoft Corporation Head pose assessment methods and systems
CN103093490B (zh) * 2013-02-02 2015-08-26 浙江大学 基于单个视频摄像机的实时人脸动画方法
WO2016078728A1 (en) * 2014-11-21 2016-05-26 Metaio Gmbh Method and system for determining spatial coordinates of a 3d reconstruction of at least part of a real object at absolute spatial scale
CN106991367B (zh) * 2016-01-21 2019-03-19 腾讯科技(深圳)有限公司 确定人脸转动角度的方法和装置
US9959455B2 (en) * 2016-06-30 2018-05-01 The United States Of America As Represented By The Secretary Of The Army System and method for face recognition using three dimensions
US10089543B2 (en) * 2016-07-29 2018-10-02 Honda Motor Co., Ltd. System and method for detecting distraction and a downward vertical head pose in a vehicle
US10956719B2 (en) * 2018-11-30 2021-03-23 Qualcomm Incorporated Depth image based face anti-spoofing

Also Published As

Publication number Publication date
US20200402253A1 (en) 2020-12-24
US11120569B2 (en) 2021-09-14
EP3757878A1 (en) 2020-12-30

Similar Documents

Publication Publication Date Title
TWI724736B (zh) 圖像處理方法及裝置、電子設備、儲存媒體和電腦程式
US9696859B1 (en) Detecting tap-based user input on a mobile device based on motion sensor data
JP7556161B2 (ja) エクステンデッドリアリティ環境における画像キャプチャ
US9729865B1 (en) Object detection and tracking
US9177224B1 (en) Object recognition and tracking
CN110544272B (zh) 脸部跟踪方法、装置、计算机设备及存储介质
EP3757878A1 (en) Head pose estimation
US9256324B2 (en) Interactive operation method of electronic apparatus
US9298974B1 (en) Object identification through stereo association
US9303982B1 (en) Determining object depth information using image data
CN116324878A (zh) 针对图像效果的分割
US20200202856A1 (en) Vision-based presence-aware voice-enabled device
JP2016515242A (ja) 校正不要な注視点推定の方法と装置
US20170178356A1 (en) System and method to modify display of augmented reality content
US9047504B1 (en) Combined cues for face detection in computing devices
CN112329740A (zh) 图像处理方法、装置、存储介质和电子设备
KR101647969B1 (ko) 사용자 시선을 검출하기 위한 사용자 시선 검출 장치 및 그 방법과, 그 방법을 실행하기 위한 컴퓨터 프로그램
WO2020001016A1 (zh) 运动图像生成方法、装置、电子设备及计算机可读存储介质
WO2023168957A1 (zh) 姿态确定方法、装置、电子设备、存储介质及程序
CN111684782B (zh) 电子设备及其控制方法
CN111797873A (zh) 场景识别方法、装置、存储介质及电子设备
CN111986229A (zh) 视频目标检测方法、装置及计算机系统
US9857869B1 (en) Data optimization
CN105608469A (zh) 图像分辨率的确定方法及装置
US11586279B2 (en) Display apparatus and control method thereof