KR20240053070A - 터치리스 이미지 기반 입력 인터페이스 - Google Patents

터치리스 이미지 기반 입력 인터페이스 Download PDF

Info

Publication number
KR20240053070A
KR20240053070A KR1020247011524A KR20247011524A KR20240053070A KR 20240053070 A KR20240053070 A KR 20240053070A KR 1020247011524 A KR1020247011524 A KR 1020247011524A KR 20247011524 A KR20247011524 A KR 20247011524A KR 20240053070 A KR20240053070 A KR 20240053070A
Authority
KR
South Korea
Prior art keywords
user
gesture
images
hand
input
Prior art date
Application number
KR1020247011524A
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 KR20240053070A publication Critical patent/KR20240053070A/ko

Links

Classifications

    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • 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
    • 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/013Eye tracking input arrangements
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • 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
    • 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
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0381Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

컴퓨팅 장치에서의 입력 감지 방법은 카메라로부터 사용자 손을 묘사하는 복수의 이미지를 수신하는 것을 포함한다. 복수의 이미지는 사용자 손에 의해 수행되는 미리 정의된 활성화 제스처를 포함하는 복수의 사용자 의도 파라미터를 감지하도록 처리된다. 제스처 입력 활성화 조건을 만족하는 복수의 사용자 의도 파라미터에 반응하여, 복수의 이미지들은 미리 정의된 입력 제스처와 일치하는 사용자의 손 동작을 검출하도록 처리된다. 미리 정의된 입력 제스처는 컴퓨터 제어 동작에 매핑되고, 컴퓨터 제어 동작은 미리 정의된 입력 제스처에 대응하여 수행된다.

Description

터치리스 이미지 기반 입력 인터페이스
본 출원은 2021년 9월 15일에 출원된 미국 가출원 제63/261,242호의 우선권을 주장하며, 그 전체가 모든 목적을 위해 본 문서에 참조로 통합되어 있다.
최근 수십 년간 컴퓨터 사용자 인터페이스는 주로 키보드, 마우스, 조이스틱 및 사용자가 물리적으로 조작/터치하는 기타 입력 주변기기에 의존해 왔다. 이러한 유형의 입력 메커니즘은 매우 효과적이며 여전히 어디에나 존재한다. 또한, 많은 최신 인터페이스는 터치 센서, 모션 센서, 오디오 인식, 캡처된 이미지, 예를 들어, 디스플레이된 콘텐츠에 대한 입력 위치를 나타내는 손 제스처 또는 자연스러운 입력의 해석을 활용한다. 이미지 기반 인터페이스와 관련하여, 이러한 시스템은 꾸준히 개선되고 있지만, 다양한 사용 사례 설정에서 정확한 인식/해석에 상당한 복잡성이 수반될 수 있다.
본 요약은 아래 상세 설명에서 더 자세히 설명되는 일부 개념을 간소화된 형태로 소개하기 위해 제공된다. 본 요약은 청구된 주제의 핵심 특징 또는 필수 특징을 식별하기 위한 것이 아니며, 청구된 주제의 범위를 제한하기 위한 것도 아니다. 또한, 청구된 주제는 본 개시의 어느 한 부분에서 언급된 단점의 일부 또는 전부를 해결하는 구현에 국한되지 않는다.
컴퓨팅 디바이스에서의 입력 감지 방법은 사용자 손을 묘사하는 복수의 이미지를 카메라로부터 수신하는 것을 포함한다. 복수의 이미지는 사용자 손에 의해 수행되는 미리 정의된 활성화 제스처를 포함하는 복수의 사용자 의도 파라미터를 감지하도록 처리된다. 제스처 입력 활성화 조건을 만족하는 복수의 사용자 의도 파라미터에 반응하여, 복수의 이미지들이 미리 정의된 입력 제스처와 일치하는 사용자의 손 동작을 감지하도록 처리된다. 미리 정의된 입력 제스처는 컴퓨터 제어 동작에 매핑되고, 컴퓨터 제어 동작은 미리 정의된 입력 제스처에 응답하여 수행된다.
본 발명의 내용에 포함됨.
도 1a 및 도 1b는 인간 사용자의 손을 묘사하는 복수의 이미지를 수신하는 컴퓨팅 장치를 개략적으로 도시한다.
도 2는 사용자 입력 감지를 위한 예시적인 방법을 도시한다.
도 3은 컴퓨팅 디바이스에 대한 사용자 입력에 대한 안정성 제어 동작을 설명하는 예시적인 처리 흐름을 도시한다.
도 4는 컴퓨팅 디바이스에 의해 수행되는 커서 락킹 동작에 사용될 수 있는 예시적인 앵커 포인트 락킹 결정 테이블을 도시한다.
도 5는 터치리스 인터액션 중 다양한 제스처에 사용될 수 있는 락킹 및 언락킹 시나리오의 예를 도시한다.
도 6은 의도하지 않은 멀티 클릭 사용자 입력을 억제하기 위해 컴퓨팅 디바이스에 의해 수행될 수 있는 동작을 설명하는 처리 흐름의 일 예를 도시한다.
도 7은 터치리스 인터액션 중에 커서를 이동하는 두 가지의 예시적인 락 및 스크롤 시나리오를 도시한다.
도 8은 인간 사용자를 묘사하는 이미지에 자르기 및/또는 확대/축소가 적용되는 예시적인 시나리오를 도시한다.
도 9는 터치리스 사용자 인터액션을 최적화하기 위해 컴퓨팅 시스템에 의해 컨텍스트 인식이 사용되는 예시적인 시나리오를 도시한다.
도 10은 컨텍스트 기반 제스처 매핑 방식의 예시를 도시한다.
도 11은 예시적인 컴퓨팅 시스템을 개략적으로 도시한다.
많은 사용자 인터페이스는 사용자가 키보드, 터치스크린 또는 기타 구조물에 접촉하여 인터페이스를 작동해야 한다. 일부 환경에서는 물리적 접촉의 필요성이 바람직하지 않을 수 있다. 예를 들어, 바이러스나 기타 병원균의 전염을 방지하기 위해, 비접촉식 인터페이스가 ATM, 정보 키오스크, POS 시스템 등과 같은 공유 기기에서 큰 이점이 될 수 있다. 비접촉식 인터페이스는 병원이나 수술실과 같은 무균 환경, 차고나 산업 현장처럼 오염이 심한 환경, 프레젠테이션 목적 등 원거리에서 기기를 제어하거나 혼합 현실 몰입형 게임 및 교육을 위한 높은 수준의 경험에도 유용하다. 또한 이전에는 터치리스 사용자 인터페이스를 위한 방안의 시도로 3차원(3D) 비행 시간 카메라, 적외선 센서, 자이로스코프 또는 기타 센서에 의존하는 독점적인 주변 장치를 추가해야 했기 때문에 터치리스 사용자 인터페이스를 구현하는데 복잡하고 비용이 많이 들었다.
따라서, 본 개시는 이미지 처리를 사용하여 사용자로부터 제스처 입력을 인식하고, 그러한 제스처 입력을 간단하고 비용 효율적인 방식으로 터치리스 사용자 인터페이스를 제어하기 위한 명령으로 변환하는 터치리스 사용자 인터페이스를 구현하기 위한 컴퓨팅 시스템 및 해당 컴퓨터로 구현되는 방법에 관한 것이다. 아래에서 자세히 설명하는 바와 같이, 터치리스 사용자 인터페이스와의 터치리스 인터액션을 개선하기 위해 다양한 최적화 작업이 수행될 수 있다. 터치리스 작동이 바람직한 경우가 많지만, 여기에 설명된 컴퓨팅 시스템은 기기 접촉을 피하는 것이 문제가 되지 않는 환경에서도 상당한 이점을 제공할 수 있다.
도 1a는 컴퓨팅 디바이스(100)가 인간 사용자(102)에 의해 제어되는 예시적인 시나리오를 개략적으로 도시한이다. 구체적으로, 인간 사용자는 손(104) 동작으로 컴퓨팅 장치에 입력을 제공한다. 사용자의 손 동작은 컴퓨팅 장치의 카메라(106)에 의해 감지된다. 이 예에서, 컴퓨팅 장치는 스크린 상의 그래픽 커서(108)의 디시플레이된 위치를 이동시켜 사용자의 손 동작에 반응한다. 이는 사용자 손으로부터 연장되는 점선(110A)으로 나타나 있는데, 시간에 따른 손 동작을 나타내고, 그래픽 커서로부터 연장되는 점선(HOB)은 시간에 따른 커서의 움직임을 나타낸다.
도 1에 도시된 컴퓨팅 디바이스는 예시를 위해 비제한적이고 매우 단순화된 것으로 이해될 것이다. 본 명세서에 설명된 기술들은 하나 이상의 컴퓨팅 디바이스로 이루어진 임의의 적합한 컴퓨팅 시스템에 의해 구현될 수 있으며, 각 컴퓨팅 디바이스는 임의의 적합한 기능, 하드웨어 구성 및 폼 팩터를 가질 수 있다. 일부 예들에서, 본원에 설명된 기술들은 도 11과 관련하여 아래에 설명된 컴퓨팅 시스템(1100)에 의해 구현될 수 있다.
사용자의 손 동작은 카메라(106)에 의해 포착된 이미지를 통해 감지된다. 이는 도 1b에 도시되어 있으며, 카메라(106)에 의해 캡처되고 사용자 손(104)을 묘사하는 세 개의 예시 이미지(112A-112C)를 나타낸다. 간략히 하기 위해, 이미지(112A-112C)에는 사용자 손과 사용자 손목의 일부만 도시되어 있다. 사용자 신체의 일부 또는 전부가 한 명 이상의 다른 사용자들, 배경 환경 세부 사항 등과 함께 본 명세서에 설명된 바와 같이 캡처된 이미지에 묘사될 수 있다는 것이 이해될 것이다.
도 1b에서, 이미지(112A-112C) 각각이 사용자의 손 동작 동안 서로 다른 시점에 포착된다. 따라서, 손은 각 이미지에서 서로 다른 위치에서 볼 수 있다. 이러한 방식으로, 컴퓨팅 장치는 복수의 이미지를 처리하여 사용자의 손 동작을 감지할 수 있으며, 아래에서 보다 상세하게 설명되는 바와 같이 그 동작에 적절하게 대응할 수 있다. 임의의 적절한 수의 서로 다른 이미지가 캡처될 수 있으며, 그러한 이미지들은 임의의 적절한 속도로 캡처될 수 있다는 것이 이해될 것이다.
터치리스 사용자 인터페이스를 제어하기 위해 처리되는 이미지들을 캡처하기 위해 임의의 유형의 광학 입력 메커니즘이 채용될 수 있다. 즉, 일부 예들에서는, 적색, 녹색, 청색(RGB) 컬러, 회색조 또는 다른 가시광 영역에서 작동하는 단순하고 널리 이용 가능한 2차원(2D) 카메라를 사용하는 것이 특히 유리할 것이다. 다시 말해, 카메라에 의해 캡처된 복수의 이미지는 RGB 색상 값을 갖는 2차원 이미지 픽셀 데이터를 포함할 수 있다. 본원에 설명된 기술은 컴퓨팅 장치의 통합 웹캠을 사용하여 구현될 수 있으며, 이는 외부 카메라를 획득 및 구성할 필요성을 완화한다. 아래에 설명되는 바와 같이, 이러한 시스템은 기존의 이미지 인식 구성요소를 활용할 수 있으며 깊이 기반 추적 및 기타 3D 시스템에서 발견되는 복잡성 및 비용의 상당 부분을 피할 수 있다. 또한, 일부 예에서, 이러한 시스템은 복잡한 애플리케이션 프로그래밍 인터페이스(API) 또는 소프트웨어 개발 키트(SDK) 통합이 필요 없는 "플러그 앤 플레이" 작동이 가능할 수 있다.
여기서 제스처의 인식은 컴퓨터 비전 및 딥 러닝의 조합을 활용하여 일반적으로 이용 가능한 2D 카메라만을 활용하는 전술한 터치리스, 비접촉식 사용자 인터페이스를 생성할 수 있다. 일예로, 컴퓨터 비전 및 심층 신경망(DNN) 학습을 사용하여 사람의 손과 손가락 위치를 감지한 다음 디스플레이된 사용자 인터페이스 요소(예를 들어, 스크린에 표시된 버튼)에 매핑할 수 있다. 설명된 컴퓨터 구현 방법은 다양한 환경 조건에서 제스처를 식별하기 위해 AI 모델과 포스트-네트워크 처리의 새로운 조합을 사용한다. 도 11과 관련하여 적합한 AI 및/또는 머신 러닝(ML) 기법의 비제한적인 예를 아래에 설명할 것이다. 예를 들어, 여러 사용자가 카메라 뷰 내에 있을 때 오른손과 왼손, 서로 다른 피부색, 장갑을 낀 손가락, 조명 조건, 주 상호작용과 보조 상호작용을 구별하기 위해 이러한 처리가 수행될 수 있다.
도 2는 컴퓨팅 디바이스에 입력을 제공하기 위한 예시적인 방법(200)을 도시한다. 방법(200)의 단계들은 하나 이상의 컴퓨팅 디바이스의 임의의 적합한 컴퓨팅 시스템에 의해 수행될 수 있다. 일예로서, 방법(200)은 도 11과 관련하여 아래에 설명되는 컴퓨팅 시스템(1100)에 의해 구현될 수 있다.
202에서, 방법(200)은 인간 사용자의 사용자 손을 묘사하는 복수의 이미지를 수신하는 것을 포함한다. 이는 도 1a 및 1b와 관련하여 전술한 바와 같이 실질적으로 수행될 수 있다. 보다 구체적으로, 복수의 이미지는 임의의 적합한 카메라 또는 카메라 어레이에 의해 캡처될 수 있다. 예를 들어, 카메라는 2D 웹캠 또는 쉽게 구할 수 있는 다른 '기성품' 카메라를 포함할 수 있다.
204에서, 방법(200)은 복수의 사용자 의도 파라미터를 감지하기 위해 복수의 이미지를 처리하는 것을 포함한다. 일반적으로, "사용자 의도 파라미터"는 사용자가 컴퓨팅 디바이스를 제어할 의도가 있는지 및/또는 컴퓨팅 디바이스가 사용자 손의 미래 동작을 제어 입력으로 처리해야 하는지 여부를 결정하는 데 사용할 수 있는 임의의 적절한 데이터 또는 컨텍스트를 말한다.
일예로서, 복수의 사용자 의도 파라미터는 사용자 손에 의해 수행되는 미리 정의된 활성화 제스처를 포함한다. 예를 들어, 활성화 제스처는 도 1a 및 1b에 도시된 바와 같이, 검지 손가락으로 컴퓨팅 디바이스를 가리키는 것을 포함할 수 있다. 보다 일반적으로, 사용자는 이미지 피드를 통해 캡처되는 터치리스 인터액션을 시작하려는 의도를 나타내는 활성화 제스처 또는 포즈, 또는 일련의 제스처 및 포즈를 수행할 수 있다. 컴퓨팅 시스템은 이미지 피드를 처리하여 사용자의 제스처(들)를 인식하고, 해당 제스처(들)가 적절한 활성화 제스처(들)에 해당하는지 확인하고, 인식된 활성화 제스처(들)에 따라 터치리스 인터액션을 시작하도록 구성된다. 즉, 컴퓨팅 시스템은 터치리스 사용자 입력을 기반으로 지정된 규칙 또는 조건이 충족될 때 사용자와 터치리스 사용자 인터페이스 간의 인터액션을 시작하도록 구성되며, 이를 "제스처 입력 활성화 조건"이라고 한다.
일부 예에서, 컴퓨팅 시스템은 손 제스처와 같은 개별 제스처를 사용자 의도 파라미터로서 인식하도록 구성될 수 있다. 일부 예에서, 컴퓨팅 시스템은 시선 추적, 머리 포즈 등과 결합된 손 제스처와 같은 다수의 신체 부위를 포함하는 멀티 모달 제스처를 인식하도록 구성될 수 있다. 일부 예에서, 컴퓨팅 시스템은 음성 인식과 같은 오디오 모달리티를 활용할 수 있다. 즉, 복수의 사용자 의도 파라미터는 인간 사용자의 감지된 음성, 가령, 컴퓨팅 시스템과 통신 결합된 마이크를 통해 감지된 음성을 포함할 수 있다.
사용자의 손 동작을 입력 제스처로 해석하기 전에 사용자의 의도를 평가함으로써 컴퓨팅 시스템에 의해 사용자의 손 동작을 의도하지 않은 제어 입력으로 해석하여 예기치 않은 동작이 발생하는 시나리오를 완화하는 데 도움이 될 수 있다. 예를 들어, 사용자가 인터페이스를 조작하려는 의도 없이 손을 움직이면서 다른 사람과 대화할 수 있다. 이는 또한 캡처된 이미지에 여러 사용자가 표시되고 사용자 중 한 명만(또는 아무도) 컴퓨팅 장치를 제어하려고 시도하는 시나리오를 완화할 수 있다. 이와 같이, 복수의 사용자 의도 파라미터는 인간 사용자의 인식된 신원을 포함할 수 있다. 예를 들어, 카메라에 의해 캡처된 복수의 이미지는 인간 사용자의 얼굴을 포함할 수 있으며, 따라서 인간 사용자의 신원은 얼굴 인식을 통해 인식될 수 있다. 또한, 또는 대안으로, 인간 사용자의 신원은 가령 음성 인식, 보안 인증(예를 들어, 사용자에게 비밀번호를 제공하거나 보안 챌린지에 응답하도록 요청), 피부 톤 분석 등과 같은 다른 적절한 방식으로 인식될 수 있다. 일반적으로, 본 명세서에 설명된 기술은 사전 구성된 고정 파라미터에 의존하거나, 인터액션 패턴을 연구하고 제스처 입력 활성화 조건이 충족되는지 여부를 실시간으로 동적으로 판단하는 AI 알고리즘에 의존할 수 있다.
보다 일반적으로, 복수의 사용자 의도 파라미터는 다음의 비제한적인 예들 중 어느 하나를 포함할 수 있다. 복수의 사용자 의도 파라미터는 복수의 이미지들에서 다수의 다른 감지된 인간 사용자들을 포함할 수 있다. 예를 들어, 용례에 따라, 일부 시나리오는 하나의 손과 하나의 사용자만을 요구하거나(예를 들어, 수술 중 이미지를 조작하는 외과의사), 다른 시나리오에서는 (예를 들어, 멀티플레이어 게임 시나리오에서는) 다수의 사용자 및 다수의 손을 요구할 수 있다. 따라서, 다양한 경우에, 제스처 입력 활성화 조건은 한 명의 사용자(예를 들어, 수술을 수행하는 외과의사)만 보이는 경우에만 충족되거나, 두 명 이상의 사용자가 보이는 경우(예를 들어, 멀티플레이어 게임 시나리오)에만 조건이 충족될 수 있다.
복수의 사용자 의도 파라미터는 컴퓨팅 시스템 시스템과의 인터액션이 시작되어야 하는지 또는 종료되어야 하는지를 결정하기 위해 미리 결정된 트리거링 시퀀스를 감지하는 것을 포함할 수 있다. 여기에는 전술한 바와 같이 미리 정의된, 예를 들어, 사용자가 손바닥을 위로 일정 간격 동안 들고 있는, 활성화 제스처를 수행하거나, 사용자가 실수로 트리거할 가능성이 상대적으로 낮은 보다 복잡한 제스처 시퀀스, 예를 들어, 손바닥을 위로 올리기, 피스 사인, 주먹 등을 수행하는 것을 포함할 수 있다. 일부 경우에, 트리거링 시퀀스는 사용자 신체의 하나 이상의 부분, 가령 양손 동작, 사용자의 머리의 움직임, 카메라에 대한 사용자의 몸통 또는 신체의 방향 등에 의해 수행되는 동작 또는 포즈를 포함할 수 있다. 즉, 복수의 사용자 의도 파라미터는 사용자 손 이외의 인간 사용자의 하나 이상의 추가 사용자 신체 부위의 포즈를 포함할 수 있다. 종료 시퀀스(예컨대, 컴퓨팅 시스템이 사용자의 손 동작을 제어 입력으로 해석하는 것을 중단하게 하는 시퀀스)는 사용자가 손바닥을 아래로 내리거나, 스크린에서 시선을 돌리거나, 이탈을 나타내는 다른 동작을 수행하는 것과 같이 간단할 수 있다.
복수의 사용자 의도 파라미터는, 예를 들어, 복수의 이미지가 인간 사용자의 눈을 묘사하는 경우, 사용자 눈의 감지된 시선 방향을 포함할 수 있다. 즉, 제스처 입력 활성화 조건은 사용자가 스크린을 응시하고 있는 경우에만 충족될 수 있는 반면, 사용자가 스크린으로부터 시선을 돌리고 있는 경우에는 조건이 충족되지 않을 수 있다. 그러나, 시선 감지가 모든 시나리오에서 적합하지 않을 수 있으며, 따라서 다른 사용자 의도 파라미터가 추가로 또는 대안으로 고려될 수 있다는 것이 이해될 것이다. 경우에 따라, 컴퓨팅 시스템은 배경 노이즈를 제거하기 위해 배경 분할 기술을 사용하여 이미지 처리가 활발한 움직임이 있는 전경의 배우에게만 초점을 맞출 수 있다.
복수의 사용자 의도 파라미터는, 카메라에 의해 포착된 복수의 이미지에 그러한 인식된 물체가 묘사되는 경우, 사용자가 손에 쥔 인식된 물체의 존재를 감지하는 것을 포함할 수 있다. 즉, 컴퓨팅 시스템은 환경 내에서 사용자의 의도를 평가하기 위해 물체 감지를 사용할 수 있다. 알려진 활동에서, 환경에서 특정한 파지된 물체를 감지하면 실행할 바람직한 동작(예를 들어, 미술에서 붓으로 넓은 획을 그리는 것과 가는 선을 연필로 그리는 것 또는 비행기에서 조종간을 움직이거나 레버를 누르는 것)을 나타낼 수 있다. 이를 통해 물리적으로 잡고 있는 물체를 완전히 기계적으로 계측하고 애플리케이션에 연결할 필요 없이 애플리케이션에서 올바른 활동을 트리거할 수 있다. 물체 감지는 잡힌 물체가 손의 일부를 부분적으로 가릴 때 의도를 추가로 평가하는데, 이는 눈에 보이는 그립이나 바디 포즈로 인해 의도한 동작이 제한될 수 있기 때문이다. 환경에서 행위자가 주로 사용하는 손인 스위칭 메커니즘으로 물체 감지를 또한 이용할 수 있다. 예를 들어, 외과의사가 주로 사용하는 손으로 트리거 동작 시퀀스를 시작한 다음 의료 기기를 집는 데 사용하는 경우, 주로 사용하는 손이 아닌 다른 손으로 사용자 인터페이스를 계속 제어할 수 있다.
일부 경우, 컴퓨팅 시스템은 사용자 동작의 속도 및/또는 일관성을 추적할 수 있다. 이는 특정 동작이 최적으로 의도된 동작과 비교하여 얼마나 잘 실행되었는지를 확인하기 위한 성능 평가로 사용될 수 있으며, 사용자의 신체 재활훈련을 위한 추천을 생성하는 데 사용될 수 있다. 시간이 지남에 따라 정기적으로 수집된 동작 데이터는 특정 사람에 맞게 의도를 감지하는 데 사용되는 DNN 모델을 재학습하거나 시간에 따른 동작 범위의 변화를 보정하는 데에도 사용할 수 있다.
컴퓨팅 시스템은 임의의 적절한 훈련 프로세스를 통해 생성된 임의의 유형의 신경망을 사용하여 제스처 인식을 수행하도록 구성될 수 있다. 예를 들어, 이미지 피드의 일련의 이미지들은 사용자의 손 및/또는 바디 포즈 및/또는 다른 특징을 추출하기 위해, 예를 들어 심층 신경망 처리를 사용하여 루프되고 연속적으로 처리될 수 있다. DNN 사전 학습된 바디 포즈 및 손 포즈 모델의 조합이 사용될 수 있다. DNN 모델의 약점(예를 들어, 팔꿈치가 보이지 않는 손을 감지할 수 없음)을 보완하기 위해 손의 모양과 색상을 기반으로 손을 감지하는 데 non-ML 알고리즘을 사용할 수 있다. 팔꿈치 관절이 없거나 조명 조건이 피부색 감지를 방해하여 손의 위치를 파악할 수 없는 경우, 사용자 지정 학습을 사용한 손 모양 감지를 사용할 수도 있다. 또한, 손 추론의 정확도가 낮은 경우, 컴퓨터 비전 기술을 사용하여 피부 톤과 얼룩의 가변성을 높일 수 있다. 사람이 주먹을 쥐는 방식은 손의 길이, 두께, 유연성 등 그 사람 손의 물리적 특성에 따라 사람마다 다르기 때문에, 손가락은 길이가 아닌 각도와 방향에 따라 루트 벡터 요소로 분해될 수 있다. 이를 통해 다양한 물리적 속성에 걸쳐 제스처의 정의를 정확하게 식별할 수 있다. 컴퓨팅 시스템은 제스처 인식에 적합한 ML 및 NN 기술을 사용하도록 구성될 수 있다.
전술한 바와 같이, 컴퓨팅 시스템은 선택적으로 사용자에 대한 고유 식별자를 생성하기 위해 얼굴 특징 또는 사용자 얼굴의 주요 포인트를 인식하기 위해 이미지 피드를 처리하도록 구성될 수 있다. 이러한 얼굴 특징 기반의 고유 사용자 식별을 통해 컴퓨팅 시스템은 협업적인 다중 사용자 터치리스 인터액션을 제공할 수 있을 수 있다. 이러한 방식으로 여러 다른 사용자를 고유하게 식별함으로써, 컴퓨팅 시스템은 동시에 수행되는 여러 다른 제스처를 인식하고 여러 다른 제스처를 다른 사용자들과 연관시키도록 구성될 수 있어 여러 사용자가 동시에 터치리스 사용자 인터페이스와 인터액션할 수 있게 한다. 예를 들어, 이러한 협업 인터액션에는 각각 양손을 사용하는 두 명의 사용자가 포함될 수 있으며, 컴퓨팅 시스템은 네 손을 모두 추적하고 해당 손의 제스처를 동시에 특정 사용자와 연관지을 수 있다. 한 가지 예로, 이러한 협업형 다중 사용자 터치리스 인터액션에는 네 손을 모두 사용하여 두 사람 사이에서 큰 깃발을 펼치는 시뮬레이션이 포함될 수 있다. 또 다른 간단한 예로는 컴퓨팅 시스템이 여러 플레이어를 인식하고 게임 내내 각 플레이어의 비협업적 행동을 추적할 수 있는 멀티플레이어 게임 시나리오가 있다.
이러한 얼굴 특징 기반 고유 사용자 식별은 카메라가 복수의 이미지들에서 사용자의 얼굴을 캡처할 수 있는 시나리오에 적용 가능하다는 것이 이해될 것이다. 사용자의 얼굴이 이미지 피드에 의해 캡처되지 않는 다른 시나리오에서, 컴퓨팅 시스템은 다른 사용자 식별 기법을 사용하도록 구성될 수 있다. 사용자 인증을 위해, 컴퓨팅 시스템은 사전 설정된 얼굴 키 포인트 또는 (예를 들어, 간단한 에어 서명을 수행하여) 개인을 고유하게 식별하는 다중 모델 바디 제스처와 일치하는 사람에 대해서만 인터액션을 락시킬 수도 있다. 이는 인가된 사용자만 컴퓨팅 장치를 제어할 수 있도록 하려는 경우에 바람직하다.
잠시 도 2로 잠시 돌아가서, 206에서, 방법(200)은 제스처 입력 활성화 조건을 만족하는 복수의 사용자 의도 파라미터에 반응하여, 복수의 이미지를 처리하여 미리 정의된 입력 제스처와 일치하는 사용자 손의 동작을 감지하는 것을 포함한다. 전술한 바와 같이, 제스처 입력 활성화 조건은, 예를 들어, 미리 정의된 입력 제스처, 시선 방향, 보이는 사용자의 수, 인식된 사용자의 신원 등을 감지하는 것에 기초하여, 사용자 의도 파라미터의 임의의 적절한 조합을 기반으로 충족될 수 있다. 구현에 따라 다른 사용자 의도 파라미터가 고려될 수 있음을 이해할 것이다. 일반적으로, 본 명세서에 설명된 기술은 미리 구성된 고정 파라미터에 의존하거나, 인터액션 패턴을 연구하고 제스처 입력 활성화 조건이 충족되는지 여부를 실시간으로 동적으로 결정하는 AI 알고리즘에 의존할 수 있다.
사용자의 손 동작은 임의의 적절한 방식으로 미리 정의된 입력 제스처에 매핑될 수 있다. 예를 들어, 검지 손가락으로 가리키기, 손바닥 내밀기, 손바닥 내리기, 피스 사인, 엄지와 새끼손가락을 서로 옆으로 뻗기 등과 같은 적절한 수 및 다양한 입력 제스처가 인식될 수 있다. 이러한 제스처는 일반적으로 캡처된 이미지의 컴퓨터 비전 분석을 통해 감지되며, 구현에 따라 적절한 방식으로 수행될 수 있다.
일부 경우, 컴퓨팅 시스템은 하나 이상의 스크린 상의 그래픽 커서들을 디스플레이할 수 있으며, 각 커서는 다른 사용자 손과 연관될 수 있다. 예를 들어, 하나의 사용자 손만 감지될 때 하나의 커서만 디스플레이된다. 예를 들어, 도 1a에 도시된 그래픽 커서(108)를 참조하라. 디스플레이된 각 커서는 사용자 동작에 의해 제어될 수 있다. 예를 들어, 사용자 손이 움직이면, 커서도 그에 따라 움직인다. 일부 경우에, 커서는 적어도 부분적으로 감지된 사용자의 손 동작에 기초하여 결정된 거리 및 방향으로 이동될 수 있다. 그러나 다른 시나리오에서는 아래에서 더 자세히 설명하는 바와 같이 커서 이동이 사용자의 손 동작과 적어도 부분적으로 별개일 수 있다. 둘 이상의 사용자가 있는 경우, 하나 이상의 커서가 디스플레이될 수 있다. 예를 들어, 시스템이 제2 인간 사용자의 제2 사용자 손과 연관된 스크린 상의 제2 그래픽 커서를 디스플레이한. 사용자는 터치리스 사용자 인터페이스에서 동작을 트리거하기 위해 컴퓨팅 시스템에 의해 처리되는 후속 제스처를 제공할 수 있다. 이러한 제스처 중 일부는 커서와 연관될 수 있다. 다른 제스처는 커서와 별개일 수 있다.
일 실시예에서, 사용자의 신체 또는 신체 부위(예컨대, 손)의 동작/위치는 원하는 UI 이벤트로 변환된다. 손가락과 같은 시각적 요소의 XY 좌표는 하나 이상의 UI 요소(커서, 버튼, 키패드 등)에 매핑될 수 있다. 해석의 한 가지 측면은 UI 요소 위에 마우스를 가져가는 데 소요되는 시간과 관련될 수 있다. 예를 들어, 임계 지속시간을 초과하는 호버링 시간은 사용자가 다른 요소로 이동하는 동안 단순히 지나치는 것이 아니라 디스플레이된 UI 요소를 작동시키려는 의도가 있다고 판단할 수 있다.
일부 예들에서, 종래의 2D 카메라를 사용하더라도, 제스처 인식 및/또는 다중 사용자 터치리스 입력 시나리오를 보조하기 위해 3D 정보가 근사화되거나 도출될 수 있다. 이러한 기술을 사용하는 경우, 사용자 신체 부위의 관절 쌍의 평균 길이가 얼마나 긴지 가정하여 2D 데이터에서 3D 정보(또는 Z 좌표 정보)를 근사할 수 있다. 보조 카메라를 사용하는 경우, 3D 위치 데이터가 융합되어 가려진 시야가 다른 카메라(들)에 의해 보완된다. 또한, 프레임 버퍼를 저장하여 예를 들어 이전에 팔꿈치가 보였으나 현재 스크린 밖으로 이동한 경우, 이전 프레임을 합성하여 위치상 프레임 밖의 어느 곳에 있는지 증강 및 추정하여 제스처 인식 및 기타 처리를 위한 사용자의 위치 데이터를 제공할 수 있다.
일부 경우, 아래에서 더 상세하게 논의될 바와 같이, 터치리스 사용자 인터페이스와의 터치리스 인터액션을 개선하기 위해 사용자 입력/제스처에 다양한 최적화가 적용될 수 있다. 예를 들어, 이러한 최적화 작업은 안정성 제어, 앵커 포인트 최적화 및 사용자 의도의 인식을 포함할 수 있지만 이에 국한되지 않는다.
지터는 마우스 포인터나 가리키는 손가락과 같은 인터액션의 초점이 너무 많이 점프하여 어떤 동작을 정확하게 수행할 수 없는 빈번한 문제이다. 또한 지터를 과도하게 보정하면 인터액션이 느리게 느껴지는 문제가 발생한다. 이러한 문제를 해결하기 위해 일부 예에서는, 컴퓨팅 시스템이 사용자 입력/제스처에 대한 안정성 제어 최적화를 수행하도록 구성될 수 있다. 즉, 스크린 상에 디스플레이된 커서의 움직임은 지터 평활화 값의 영향을 받을 수 있다.
도 3은 지터 평활화를 위한 예시적인 처리 흐름(300)을 도시한다. 컴퓨팅 시스템(302)은 디스플레이 크기, 카메라 해상도, 손 크기(또는 다른 신체 부위 크기)와 같은 동작 조건에 기초하여 사용자 입력 동작에 대한 초기 평활화 값을 계산하고 적용한다. 컴퓨팅 시스템은 지터를 줄이기 위해 사용자 입력 모션에 초기 평활화 값을 적용하도록 구성될 수 있다.
304에서, 컴퓨팅 시스템은 사용자 입력 동작이 수행되는 동안 사용자 입력 동작에 대한 업데이트된 지터 평활화 값을 계산한다. 이러한 평활화 값의 동적 재계산은 임의의 적절한 샘플링 레이트에 따라 반복될 수 있다.
단계 306에서, 컴퓨팅 시스템은 사용자 입력 동작이 빠른지(예를 들어, 임계 속도보다 큰지) 및/또는 긴 동작인지(예를 들어, 임계 거리보다 큰지) 결정하도록 구성된다. 그렇다면, 단계 308에서, 컴퓨팅 시스템은 평활화 값을 증가시키고 업데이트된 평활화 값을 사용자 입력 모션에 적용한다. 대안으로, 단계 310에서, 컴퓨팅 시스템은 사용자 입력 동작이 느린지(예를 들어, 임계 속도 미만인지) 및/또는 정밀한 동작인지(예를 들어, 임계 거리 미만인지)를 결정한다. 그렇다면, 312 단계에서, 컴퓨팅 시스템은 평활화 값을 감소시키고 업데이트된 평활화 값을 사용자 입력 모션에 적용한다. 이러한 동적 안정성 제어 최적화 작업은 예를 들어 사용자가 손 떨림 문제가 있거나 컴퓨팅 시스템의 재생률 또는 해상도가 너무 높은 경우 지터를 동적으로 보정하기 위해 수행될 수 있다. 즉, 디스플레이된 커서의 움직임은 초기 지터 평활화 값과 사용자 손의 이동 거리 및 사용자 손의 이동 속도 중 하나 또는 둘 모두를 기반으로 계산되는 업데이트된 지터 평활화 값에 의해 적어도 부분적으로 영향을 받을 수 있다.
일부 예들에서, 컴퓨팅 시스템은 사용자 입력/제스처에 기초하여 앵커 포인트 락킹 최적화 작업을 수행할 수 있다. 여기에는 사용자 손에 의해 수행되는 미리 정의된 입력 제스처가 끝날 때까지 스크린 상의 그래픽 커서의 디스플레이된 위치를 고정하는 것이 포함될 수 있다. 앵커 포인트는 스크린 좌표로 정의될 수 있으며, 동작이 수행될 때 커서의 X 및 Y 좌표가 디스플레이에 고정될 수 있다. 컴퓨팅 시스템은 사용자가 제스처를 형성하기 시작하는 것을 감지하는 컴퓨팅 시스템을 기반으로 커서(또는 다른 두드러진 UI 요소)의 위치를 앵커 포인트에 고정하도록 구성될 수 있다. 컴퓨팅 시스템은 사용자가 제스처 수행을 완료했음을 컴퓨팅 시스템이 감지할 때까지 커서(또는 다른 두드러진 UI 요소)를 앵커 포인트에 고정하도록 구성될 수 있다. 컴퓨팅 시스템은 선택된 사용자 인터액션에 가장 적합한 앵커 포인트를 동적으로 선택하도록 구성할 수 있다.
일부 예들에서, 컴퓨팅 시스템은 일부 제스처에 대해 앵커 포인트의 스크린 좌표에 커서를 고정할 수 있고, 컴퓨팅 시스템은 다른 제스처에 대해 앵커 포인트의 스크린 좌표에 커서를 고정하지 않을 수 있다. 예시적인 앵커 포인트 락킹 결정 테이블(400)이 도 4에 도시되어 있다. 도 4에 도시된 결정 테이블에 따르면, 한 예로서, 엄지와 검지 집기 제스처는 왼쪽 마우스 클릭 동작에 매핑된다. 엄지와 검지 집기 제스처의 앵커 포인트는 손목이다. 이 제스처의 경우, 제스처가 수행되는 동안 컴퓨팅 시스템은 커서를 손목 앵커 포인트에 고정한다. 또 다른 예로, 사용자가 손가락을 모아 마우스 가운데 스크롤 동작에 매핑되는 주먹 제스처를 할 수 있다. 주먹 제스처에 대한 앵커 포인트는 손목이다. 이 제스처의 경우, 제스처가 수행되는 동안 컴퓨팅 시스템은 커서를 손목 앵커 포인트에 고정한다. 또 다른 예로, (수직방향을 가리키는) 검지 위로 올리기 제스처는 드래그 앤 드롭 작업에 매핑된다. 검지 위로 올리기 제스처에 대한 앵커 포인트는 검지 손가락 끝이다. 이 제스처의 경우, 제스처가 수행되는 동안 컴퓨팅 시스템은 커서를 앵커 포인트에 고정하지 않는다. 또 다른 예로, 손바닥 펴기 제스처는 커서 이동 작업에 매핑된다. 손바닥 펴기 제스처에 대한 앵커 포인트는 사용자의 손바닥이다. 이 제스처의 경우, 제스처가 수행되는 동안 컴퓨팅 시스템은 커서를 앵커 포인트에 고정하지 않는다. 이러한 제스처는 비제한적인 예로 제공된다. 제스처가 수행되는 동안 커서(또는 다른 두드러진 UI 요소)를 앵커 포인트의 스크린 좌표에 선택적으로 고정하는 데 사용할 수 있는 임의의 적절한 앵커 포인트가 임의의 적합한 제스처에 포함될 수 있다.
예시적인 락킹 및 언락킹 시나리오가 도 5에 도시되어 있다. 구체적으로, 도 5는 락킹 프로세스 흐름(500) 및 논락킹 프로세스 흐름(502)을 도시한다. 도 5의 상단부에 도시된 락킹 시나리오(500)의 예에서, 사용자는 터치리스 사용자 인터페이스에서 커서의 움직임을 제어하기 위해 손을 흔든다. 이때, 커서는 사용자의 손목에 해당하는 앵커 포인트에 고정되지 않으므로 커서가 터치리스 사용자 인터페이스에서 움직일 수 있다. 다음으로, 사용자의 손은 엄지와 새끼손가락을 옆으로 뻗는 제스처를 수행하는 동작으로 전환된다. 제스처의 개시를 인식한 것을 기반으로 컴퓨팅 시스템은 제스처가 수행되는 동안 사용자 손의 손목에 해당하는 앵커 포인트에 커서를 고정한다. 컴퓨팅 시스템은 제스처를 인식하고 결정 테이블에서 룩업 작업을 수행하여 인식된 제스처에 따라 커서를 앵커 포인트에 고정해야 하는지 여부를 결정한다. 이 경우, 제스처는 커서의 스크린 좌표를 사용자 손목의 앵커 지점에 고정하는 것을 트리거한다. 다음으로, 사용자가 손을 모아 주먹을 쥐면 마우스 가운데 버튼 스크롤 제스처를 나타내며 제스처가 수행되는 동안 커서가 앵커 포인트에 고정된다.
도 5의 하부에 도시된 예시적인 언락킹 시나리오(502)에서, 터치리스 사용자 인터페이스 상에서 커서의 이동을 제어하기 위해 사용자가 손을 흔든다. 이때, 커서는 사용자의 손목에 해당하는 앵커 포인트에 고정되지 않으므로 커서가 터치리스 사용자 인터페이스에서 움직일 수 있다. 다음으로, 사용자의 손은 엄지와 새끼손가락을 옆으로 뻗는 제스처를 수행하는 동작으로 전환된다. 제스처의 개시를 인식한 것을 기반으로 컴퓨팅 시스템은 제스처가 수행되는 동안 사용자 손의 손목에 해당하는 앵커 포인트에 커서를 고정한다. 컴퓨팅 시스템은 제스처를 인식하고 결정 테이블에서 룩업 작업을 수행하여 인식된 제스처를 기반으로 커서를 앵커 포인트에 고정해야 하는지 여부를 결정한다. 이 경우, 제스처는 커서의 스크린 좌표를 사용자 손목의 앵커 지점에 고정하는 것을 트리거하지 않는다. 다음으로, 사용자의 손은 제스처가 수행되는 동안 커서가 앵커 포인트에 고정되지 않는 드래그 앤 드롭 작업에 해당하는 검지 위로 올리기 제스처를 취하고, 커서는 드래그 앤 드롭 작업이 수행되는 동안 터치리스 사용자 인터페이스 주변을 이동한다.
전술한 시나리오들은 컴퓨팅 시스템에 의해 수행될 수 있는 앵커 포인트 락킹 최적화 작업의 비제한적인 예로서 제공된다. 이러한 앵커 포인트 락킹 최적화 작업은 의도하지 않은 결과를 초래할 수 있는 우발적인 트리거 및/또는 부정확한 커서 제어를 방지하기 위해 수행될 수 있다.
터치리스 사용자 인터액션 중, 사용자의 손이 같은 곳에 머무르는 경우, 의도하지 않게 여러 입력 제스처(예를 들어, "클릭" 또는 "선택" 유형 입력)가 인식될 수 있다. 이러한 의도치 않은 입력은 터치리스 인터액션 중에 부정확한 제어와 사용자 불만을 야기할 수 있다. 일부 예들에서, 그러한 문제를 해결하기 위해, 컴퓨팅 시스템은 의도하지 않은 다중 클릭 사용자 입력을 억제하는 최적화 작업을 수행하도록 구성될 수 있다. 보다 일반적으로, 복수의 사용자 의도 파라미터는 마지막 사전 정의된 입력 제스처에 대한 응답으로 마지막 컴퓨터 제어 동작이 수행된 이후의 시간 길이, 예를 들어, 컴퓨터가 사용자 제스처에 대한 응답으로 마지막으로 "클릭" 동작을 수행한 이후 얼마나 지났는지의 시간 길이를 포함할 수 있다.
도 6과 관련하여, 의도하지 않은 반복적인 사용자 입력을 억제하기 위해 컴퓨팅 시스템에 의해 수행될 수 있는 최적화 작업을 설명하는 예시적인 처리 흐름(600)이 도시되어 있다. 도 6의 예는 특히 "클릭" 유형의 동작에 초점을 맞추고 있지만, 이는 비제한적이며, 오히려 도 6의 단계들은 사용자 제스처에 반응하여 수행되는 임의의 유형의 컴퓨터 동작에 대해 유사하게 수행될 수 있음이 이해될 것이다.
프로세스 흐름은 클릭 명령에 매핑되는 엄지 및 검지 집기 제스처와 같은 제스처가 감지되는 것으로 시작된다. 클릭 제스처가 감지되면, 그것이 첫 번째 클릭인 경우, 예를 들어, 디바이스가 전원이 켜진 이후, 휴지 상태에서 깨어난 이후, 특정 사용자가 로그인한 이후, 임계 시간이 경과한 이후 및/또는 다른 적절한 조건이 충족된 이후 감지된 첫 번째 클릭인 경우 602에서 결정된다. 첫 번째 클릭인 경우, 604에서 클릭이 트리거되며, 이는 클릭 명령이 실행됨을 의미한다.
첫 번째 클릭이 아닌 경우(예를 들어, 대신 두 번째 클릭인 경우), 사용자의 손이 여전히 동일한 제스처(예를 들어, 엄지와 검지 집기 제스처)를 유지하고 있는 경우 606에서 결정된다. 동일한 제스처가 여전히 유지되고 있으면, 608에서 클릭이 중지되며, 이는 클릭 명령이 내려지지 않았음을 의미한다. 그렇지 않고, 동일한 제스처가 여전히 유지되고 있지 않으면, 커서 이동 거리가 610에서 계산된다. 커서 이동 거리가 임계값 거리를 충족하면, 다른 클릭 명령이 내려진다. 그렇지 않고, 커서 이동 거리가 임계값 거리를 충족하지 않으면, 클릭이 중지되어 클릭 명령이 내려지지 않는다. 도 6에 도시된 예제 프로세스 흐름은 커서 및/또는 사용자 입력의 시간, 이동, 및 위치를 활용하여 어떤 클릭이 의도적인 클릭이고 어떤 클릭이 의도하지 않은 클릭인지 결정한다. 도 6에 도시된 예시적인 프로세스 흐름은 클릭 제스처가 감지될 때마다 컴퓨팅 시스템에 의해 수행되어 의도하지 않은 클릭 명령이 실행되는 것을 막을 수 있다.
어떤 경우에는, 터치리스 사용자 인터페이스가 사용자의 팔만으로는 탐색하기에는 너무 큰 디스플레이에 시각적으로 표시된다. 예를 들어, 이러한 사례는 대형 모니터 또는 사용자가 디스플레이에서 멀리 떨어져 있을 때 발생할 수 있다. 이러한 경우, 컴퓨팅 시스템은 커서 위치를 기준으로 손 위치에 의존하는 대신 락 앤 스크롤 작업의 형태로 최적화 작업을 수행하거나 인터랙션에 더 적합한 치수를 사용하도록 이미지 크기를 조정하는 크롭핑/주밍 기술을 수행하도록 구성할 수 있다. 도 7에는 락 앤 스크롤 시나리오의 두 가지 예가 나와 있고, 도 8에는 크롭/줌 기법이 나와 있다.
도 7의 상부에 도시된 제1 예시 시나리오(700)에서, 커서의 위치를 재배치하기 위해 락킹 제스처가 수행된다. 1 단계에서, 커서는 언락킹되고, 손은 경계 박스로 표시된 터치리스 사용자 인터페이스의 오른쪽 하단 인터액션 영역에서 커서를 움직일 수 있을 만큼만 도달한다. 터치리스 사용자 인터페이스의 다른 영역과 인터액션하기 위해, 2 단계에서, 사용자는 이 예제에서 주먹을 쥠으로써 락킹 제스처를 수행한다. 감지된 락킹 제스처에 따라, 커서 위치가 고정되고 터치리스 사용자 인터페이스가 고정된 커서 위치에 대해 이동된다. 특히, 인터액션 영역은 커서를 중심으로 터치리스 사용자 인터페이스의 왼쪽 하단에서 가운데로 이동된다. 3 단계에서, 사용자는 주먹 쥔 제스처를 유지하고 손의 위치를 이동하여 커서를 기준으로 인터랙션 영역을 이동한다. 4 단계에서는, 사용자가 손을 펴 커서의 위치를 언락킹하여 인터액션 영역 내에서 커서를 이동할 수 있도록 한다.
도 7의 하부에 도시된 두 번째 예시 시나리오(702)에서, 커서의 위치를 재배치하기 위해 포인트 제스처가 수행된다. 1 단계에서, 커서는 언락킹되고, 손은 경계 박스로 표시된 터치리스 사용자 인터페이스의 오른쪽 하단 인터액션 영역에서 커서를 움직일 수 있을 만큼만 도달한다. 2 단계에서 ,사용자는 검지로 포인팅 제스처를 수행하여 커서의 이동 방향(이 경우 위쪽)을 가리킨다. 3 단계에서는, 사용자가 포인팅 제스처를 중단할 때까지 커서가 포인팅된 방향으로 이동한다. 4 단계에서는, 포인팅 제스처에서 사용자의 손이 벌어지면 커서가 이동된 인터액션 영역 내에서 이동할 수 있도록 한다.
커서 락킹 및 이동을 위한 이러한 예시적인 최적화 작업은 터치리스 사용자 인터페이스와 인터액션할 때 사용자의 피로를 줄이기 위해 수행될 수 있다. 예를 들어, 사용자의 손을 지정된 위치에 고정할 필요 없이, 사용자는 커서를 제자리에 고정하고 손을 쉬게 할 수 있다.
도 8은 사용자와 컴퓨팅 디바이스 사이의 거리에 기초하여 크롭핑 및/또는 주밍이 적용되는 예시적인 시나리오를 도시한다. 구체적으로, 도 8은 컴퓨팅 장치의 카메라, 예컨대, 도 1a의 카메라(106)에 의해 캡처된 두 개의 상이한 이미지들(800A 및 800B)을 도시한다. 도 8에서, 인간 사용자의 바디(802)는 캡처된 이미지의 전체 크기와 비교하여 상대적으로 작은 크기를 가지며, 이는 사용자가 장치로부터 상대적으로 멀리 떨어져 있음을 나타낼 수 있다. 따라서, 이미지(800B)는 사용자(802)에 초점을 맞추도록 크롭핑/주밍되며, 이는 컴퓨팅 장치와의 상호작용을 용이하게 할 수 있다. 다시 말해, 복수의 이미지는 적어도 부분적으로는 복수의 이미지에서 인간 사용자의 가시적인 크기에 기초하여 크롭핑 및/또는 주밍될 수 있다.
일부 예들에서, 컴퓨팅 시스템은 시간 경과에 따른 사용자의 입력 세트를 추적하고, 응답성을 향상시키기 위해 컨텍스트 인식을 적용하도록 구성될 수 있다. 예를 들어, 애플리케이션이 퀵 서비스 주문 메뉴인 경우, "클릭" 동작의 위치는 시간에 따라 추적될 수 있으므로, 이전에 추적된 "클릭" 동작 지점으로부터 거리가 멀어질수록 커서 이동이 빨라지고, 알려진 "클릭" 동작 지점에 가까워질수록 커서 이동이 느려질 수 있다. 주문이 순차적인 여러 동작으로 구성된 경우, 시퀀스의 다음 동작을 예측하여 추천 동작으로 사용할 수 있다.
컴퓨팅 시스템에 의해 컨텍스트 인식이 사용되는 예시적인 시나리오가 도 9에 도시되어 있다. 컴퓨팅 시스템은 사용자가 시간이 경과함에 따라 가장 빈번하게 인터액션하는 터치리스 사용자 인터페이스의 영역을 학습하도록 구성될 수 있다. 구체적으로, 도 9는 사용자 인터액션의 그레이 스케일 히트 맵으로 묘사된 예시적인 인터페이스(900)를 도시하며, 인터액션이 가장 높은 영역은 더 밝은 색조로 표시되고, 인터액션이 낮은 영역은 더 어두운 색조로 이동한다. 또한, 컴퓨팅 시스템은 인터액션 시퀀스의 단계 순서와 해당 단계에 해당하는 인터페이스 영역을 시간이 지남에 따라 학습하도록 구성될 수 있다. 예를 들어, 도 9에서, 예시적인 터치리스 인터액션은 터치리스 인터액션을 수행하기 위해 영역 1-4와 순서대로 인터액션하는 것을 포함할 수 있다. 컴퓨팅 시스템은 터치리스 인터액션 중 터치 입력의 정확성을 향상시키기 위해 영역의 사용 빈도에 따라 커서 이동, 클릭 속도 등을 동적으로 조정하도록 구성될 수 있다.
도 2로 잠시 돌아가서, 도 208에서, 방법(200)은 미리 정의된 입력 제스처를 컴퓨터 제어 동작에 매핑하는 것을 포함한다. 보다 일반적으로, 컴퓨팅 시스템은 인식된 제스처를 컴퓨팅 시스템 및/또는 터치리스 사용자 인터페이스에 의해 수행/추적되는 동작, 작업 및/또는 이벤트에 매핑할 수 있다. 일부 예에서, 컴퓨팅 시스템은 이러한 매핑을 수행하기 위해 제스처를 컴퓨팅 동작, 작업 및/또는 이벤트와 연관시키는 데이터베이스(예를 들어, 룩업 테이블)를 사용할 수 있다. 임의의 적절한 제스처는 컴퓨팅 시스템의 저장 장치에 저장된 데이터베이스의 임의의 적절한 컴퓨팅 동작, 작업 및/또는 이벤트에 매핑될 수 있다.
UI 요소 위로 호버링하는 예로 돌아가서, 인식된 동작(예컨대, 임계 시간보다 더 오랫동안 UI 요소 위로 호버링되는 감지된 손가락)은 UI가 지원하는 이벤트에 매핑된다. 예컨대, 검지의 0.5초 이상 호버링하는 것은 키 프레스와 같다; 검지 및 중지가 0.5초 이상 호버링하는 것은 더블 클릭하는 것과 같다. 전체적으로 설명한 바와 같이, 많은 경우, 디스플레이를 사용하여 가령 사용자 손가락의 움직임/위치에 대한 시각적 피드백을 제공할 수 있다. UI 요소 위로 호버링하는 예에서, 디스플레이는 사용자의 손가락 끝이 디스플레이된 숫자 패드를 가로질러 이동한 후 디스플레이된 특정 숫자 위에 정착할 때 시각적으로 시각적 피드백을 제공할 수 있다. 임계 호버링 시간(예를 들어, 0.5초) 후에, 시스템은 해당 동작(임계값 초과 호버링)을 계산기 또는 기타 숫자 수신 애플리케이션에 입력하기 위해 해당 숫자를 선택하는 것으로 매핑한다. 다른 예에서는 디스플레이가 터치리스 사용자 입력에 대한 다른 형태의 시각적 피드백을 사용자에게 시각적으로 제공할 수 있다.
일부 예들에서, 컴퓨팅 시스템은 마우스, 키보드 및/또는 터치 동작에 대한 제스처의 맵핑을 조합하도록 구성될 수 있다. 일부 예들에서, 매핑은 시스템 전체에 적용될 수 있거나 개별 사용자에 대해 사용자 정의될 수 있다. 일부 예에서는, 게임 또는 업무용 애플리케이션에 대한 서로 다른 매핑과 같이 상황에 따라 매핑이 다를 수 있다. 예를 들어, 위에서 설명한 바와 같이, 본 명세서에 설명된 기술은 경우에 따라 다중 사용자 설정에 적용될 수 있다. 따라서, 미리 정의된 입력 제스처를 컴퓨터 제어 동작에 매핑하는 것은 제2 사용자의 제2 사용자 손 동작을 감지하는 것을 포함할 수 있다. 예를 들어, 두 손 동작이 함께 비디오 게임 제어 입력과 같은 단일 제어 동작에 매핑된다. 또 다른 예로, 화상 회의와 비디오 게임 애플리케이션에 대한 서로 다른 매핑과 같이 서로 다른 애플리케이션 프로그램에 서로 다른 매핑이 적용될 수 있다.
예시적인 매핑 방식이 예시적인 매핑 테이블(1000)을 나타내는 도 10에 도시되어 있다. 예시적인 매핑 방식에서, 엄지 및 검지 집기 제스처는 컴퓨팅 시스템에 의해 실행되는 모든 컴퓨팅 애플리케이션에 대한 왼쪽 마우스 클릭 명령에 매핑된다. 또한, 이 제스처는 작업 관련 컨텍스트에 대한 왼쪽 마우스 클릭 명령에 매핑된다. 주먹 제스처는 컴퓨팅 시스템에서 실행되는 모든 컴퓨팅 애플리케이션에 대한 마우스 가운데 스크롤 명령에 매핑된다. 또한, 이 제스처는 홈 관련 컨텍스트의 마우스 가운데 스크롤 명령에 매핑된다. 검지 손가락을 위로 향하는 제스처는 컴퓨팅 시스템에서 실행되는 "Alien attack" 비디오 게임 및 화상 통화 애플리케이션의 드래그 앤 드롭 명령에 매핑된다. 또한, 이 제스처는 업무 및 게임 컨텍스트에서 드래그 앤 드롭 작업에 매핑된다. 손바닥 펴기 제스처는 컴퓨팅 시스템에서 실행되는 모든 컴퓨팅 애플리케이션에 대한 마우스 커서 이동 명령에 매핑된다. 또한, 이 제스처는 홈 컨텍스트의 마우스 커서 이동 명령에 매핑된다. 도 10에 도시된 매핑 방식은 비제한적인 예시이다. 임의의 적절한 컨텍스트 기반 매핑 방식이 본 명세서에서 고려될 수 있다.
도 2로 잠시 돌아가서, 도 210에서, 컴퓨팅 시스템은 미리 정의된 입력 제스처에 대응하여 컴퓨터 제어 동작을 수행한다. 다시 말해, 컴퓨팅 시스템은 제스처에 매핑되는 적절한 컴퓨팅 애플리케이션 또는 터치리스 사용자 인터페이스에서 수행될 적절한 컴퓨팅 동작, 작업 및/또는 이벤트를 트리거한다. 일부 예에서, 컴퓨팅 시스템은 향후 터치리스 사용자 입력을 제공할 때 미래의 사용자 의도를 분석하는 데 사용하기 위해 수행된 동작, 작업 및/또는 이벤트를 기록하거나 로깅할 수 있다.
일부 실시예들에서, 본원에 설명된 시스템은 터치-프리 사용자 입력을 가능하게 하는 이점을 제공한다는 것이 인식될 것이다. 예를 들어, 본원에 설명된 기술들은 POS(point-of-sale)에서 구현되어, 수량, 품목 코드, 서명 및 결제 의사의 표시의 터치스크린/펜 기반 입력을 대체할 수 있다. 접촉이 필요하지 않은 기존 기능은 그대로 유지하면서 설명된 인터페이스와 원활하게 통합할 수 있다.
본원에 설명된 기술들은 점점 더 널리 보급되고 있는 AR/VR 기술들과 원활하게 통합될 수 있다. 예를 들어, 별도로 장착된 카메라 대신에, AR 및 VR 헤드셋dl 본원에 설명된 기능을 통합할 수 있다. 이러한 장치는 UI 요소를 외부 스크린에 디스플레이하는 대신 안경에 UI를 투사하고 사용자는 손과 손가락을 사용하여 UI와 인터액션할 수 있다.
본 논의에서는 "제스처"를 자주 언급하지만, 그러한 언어는 사용자 신체 부위의 단순한 위치/장소에도 확장되는 것으로 이해될 것이다. 예를 들어, 어떤 경우에는 특정 손/팔 동작을 통해 그러한 상태가 발생하는 것이 반드시 중요하지 않고, 사용자의 손가락 끝이 가령 특정 XY 위치/배치에 들어갔다는 것만 중요할 수 있다.
본 명세서에 설명된 방법 및 프로세스의 일부 또는 전부는 실행 가능한 애플리케이션, 네트워크 액세스 가능 서비스, 애플리케이션-프로그래밍 인터페이스(API), 라이브러리 및 기타 적합한 컴퓨터 자원 또는 컴퓨터 자원의 조합으로 구현될 수 있다.
도 11은 본 명세서에 설명된 기술들 중 일부 또는 전부를 수행하도록 구성된 컴퓨팅 시스템(1100)의 단순화된 표현을 개략적으로 도시한다. 컴퓨팅 시스템(1100)은 하나 이상의 개인용 컴퓨터, 네트워크 액세스 가능 서버 컴퓨터, 모바일 컴퓨팅 디바이스, 모바일 통신 디바이스(예컨대, 스마트폰), 사물 인터넷(loT) 디바이스, 임베디드 컴퓨팅 디바이스 및/또는 기타 컴퓨팅 디바이스의 형태를 취할 수 있다.
컴퓨팅 시스템(1100)은 로직 서브시스템(1102) 및 스토리지 서브시스템(1104)을 포함한다. 컴퓨팅 시스템(1100)은 선택적으로 디스플레이 서브시스템(1106), 입력 서브시스템(1108), 통신 서브시스템(1110) 및/또는 도 11에 도시되지 않은 다른 서브시스템을 포함할 수 있다.
로직 서브시스템(1102)은 컴퓨터 명령어를 실행하도록 구성된 하나 이상의 물리적 로직 디바이스를 포함한다. 예를 들어, 로직 서브시스템은 하나 이상의 소프트웨어 애플리케이션 또는 다른 실행 가능한 데이터 구성의 일부인 명령어를 실행하도록 구성된 하드웨어 요소를 포함할 수 있고/있거나 로직 서브시스템은 하드웨어 또는 펌웨어 명령어를 실행하도록 구성된 하나 이상의 하드웨어 또는 펌웨어 요소를 포함할 수 있다. 로직 서브시스템의 프로세서는 적절한 수의 코어를 가질 수 있으며 순차적, 병렬 및/또는 분산 처리를 통해 명령어를 실행할 수 있다. 로직 서브시스템의 개별 구성요소는 선택적으로 2 이상의 개별 장치에 분산될 수 있으며, 이들은 일부 경우 원격으로 배치될 수 있다. 경우에 따라, 로직 서브시스템의 일부가 가상화되어 원격으로 액세스 가능한 네트워크 컴퓨팅 디바이스, 예를 들어, 클라우드 컴퓨팅 구성에 의해 실행될 수 있다.
스토리지 서브시스템(1104)은 컴퓨터 정보, 예를 들어, 로직 서브시스템에 의해 실행 가능한 명령어 및/또는 다른 적절한 데이터를 일시적 및/또는 영구적으로 보유하도록 구성된 하나 이상의 물리적 스토리지 디바이스를 포함한다. 스토리지 서브시스템이 둘 이상의 디바이스를 포함하는 경우, 디바이스는 같은 위치에 있고/있거나 원격으로 위치할 수 있다. 스토리지 서브시스템(1104)은 휘발성, 비휘발성, 동적, 정적, 읽기/쓰기, 읽기 전용, 랜덤 액세스, 순차 액세스, 위치 어드레서블, 파일 어드레서블 및/또는 컨텐츠 어드레서블 디바이스를 포함할 수 있다. 스토리지 서브시스템(1104)은 이동식 및/또는 내장형 디바이스를 포함할 수 있다. 일부 경우, 로직 서브시스템에 의한 명령어의 실행은, 예를 들어, 새로운 데이터를 저장하기 위해 스토리지 서브시스템에 의해 저장된 데이터를 변경할 수 있다.
일부 경우, 로직 서브시스템(1102) 및/또는 스토리지 서브시스템(1104)의 일부 또는 모든 양상은 하나 이상의 하드웨어-로직 구성요소들로 함께 통합될 수 있다. 이러한 하드웨어-로직 구성요소들은, 예를 들어, 프로그램- 및 특정 용도용 집적 회로(PASIC/ASIC), 프로그램- 및 애플리케이션별 표준 제품(PSSP/ASSP), 시스템 온 칩(SOC) 및 복합 프로그래머블 로직 소자(CPLD)를 포함할 수 있다.
로직 서브시스템 및 스토리지 서브시스템은 하나 이상의 로직 머신을 협력적으로 구현할 수 있다. 본 명세서에서 사용되는 "머신"이라는 용어는 일반적으로 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 명령어 및/또는 컴퓨터 기능을 함께 제공하는 다른 구성요소들의 조합을 지칭하는 데 사용된다. 즉, '머신'은 결코 추상적인 개념이 아니며 항상 유형의 형태를 가지고 있다. 머신은 단일 컴퓨팅 장치에 의해 인스턴스화될 수도 있거나, 머신은 두 개 이상의 서로 다른 컴퓨팅 장치의 구성요소 간에 분산될 수도 있다. 머신에는 로컬 구성요소(예를 들어, 로컬 컴퓨터 프로세서에 의해 실행되는 소프트웨어 애플리케이션)가 원격 구성요소(예를 들어, 하나 이상의 원격 컴퓨팅 장치에서 제공하는 네트워크 액세스 가능 서비스)와 협력하는 로컬 구성요소가 포함될 수 있다.
머신은 최첨단 및/또는 미래의 머신 러닝(ML), 인공 지능(AI) 및/또는 자연어 처리(NLP) 기법의 임의의 적절한 조합을 사용하여 구현될 수 있다. 하나 이상의 머신의 구현에 통합될 수 있는 기술의 비제한적인 예로는 서포트 벡터 머신, 다층 신경망, (예를 들어, 이미지 및/또는 비디오 처리를 위한 공간 컨볼루션 신경망, 오디오 신호 및/또는 자연어 문장을 처리하기 위한 시간 컨볼루션 신경망, 및/또는 하나 이상의 시공간 차원에 걸쳐 피처를 컨볼루션 및 풀링하도록 구성된 기타 임의의 적합한 컨볼루션 신경망을 포함한) 컨볼루션 신경망, 순환 신경망(예를 들어, 장단기 기억 네트워크), 연관 메모리(예를 들어,, 룩업 테이블, 해시 테이블, 블룸 필터, 신경 튜링 머신 및/또는 신경 랜덤 액세스 메모리), 단어 임베딩 모델(예를 들어, GloVe 또는 Word2Vec), 비지도 공간 및/또는 클러스터링 방법(예를 들어, 최근접 알고리즘, 토폴로지 데이터 분석 및/또는 k-평균 클러스터링), 그래픽 모델(예를 들어, (히든) 마르코프 모델, 마르코프 랜덤 필드, (히든) 조건부 랜덤 필드 및/또는 AI 지식 기반), 및/또는 자연어 처리 기술(예를 들어, 토큰화, 어간 추출, 구 구조 구문 분석 및/또는 의존 구문 분석 및/또는 의도 인식, 세그먼트 모델 및/또는 슈퍼 세그먼트 모델(예를 들어, 히든 다이내믹 모델))이 있다.
일부 예들에서, 본 명세서에 설명된 방법 및 프로세스는 하나 이상의 미분 가능한 함수를 사용하여 구현될 수 있으며, 미분 가능한 함수의 기울기는 미분 가능한 함수의 입력 및/또는 출력과 관련하여(예를 들어, 훈련 데이터와 관련하여, 및/또는 목적 함수와 관련하여) 계산 및/또는 추정될 수 있다. 이러한 방법 및 프로세스는 적어도 부분적으로는 훈련 가능한 파라미터 세트에 의해 결정될 수 있다. 따라서, 특정 방법 또는 프로세스에 대한 훈련 가능한 파라미터는 방법 또는 프로세스의 기능을 지속적으로 개선하기 위해 적절한 훈련 절차를 통해 조정될 수 있다.
훈련 가능한 파라미터를 조정하기 위한 훈련 절차의 비제한적인 예로는, 지도 훈련(예컨대, 경사 하강 또는 임의의 다른 적절한 최적화 방법 사용), 제로 샷, 퓨-샷(few-shot), 비지도 학습 방법(예컨대, 비지도 클러스터링 방법에서 도출된 클래스에 기반한 분류), 강화 학습(예를 들어, 피드백에 기반한 심층 Q 학습) 및/또는 생성적 적대 신경망 훈련 방법, 신뢰 확산, RANSAC(Random Sample Consensus), 콘텍스트 밴딧 방법, 최대 우도법 및/또는 기댓값 최대화 등을 사용할 수 있다. 일부 예들에서, 본 명세서에 설명된 시스템의 복수의 방법, 프로세스 및/또는 구성요소는 복수의 구성요소의 집합적 기능의 성능을 측정하는 목적 함수와 관련하여(예를 들어, 강화 피드백과 관련하여 및/또는 라벨링된 훈련 데이터와 관련하여) 동시에 훈련될 수 있다. 복수의 방법, 프로세스 및/또는 구성요소를 동시에 훈련하는 것은 그러한 집합적 기능을 향상시킬 수 있다. 일부 예들에서, 하나 이상의 방법, 프로세스 및/또는 구성요소는 다른 구성요소와 독립적으로 훈련(예를 들어, 과거 데이터에 대한 오프라인 훈련)될 수 있다.
디스플레이 서브시스템(1106)은, 포함될 경우, 스토리지 서브시스템(1104)에 의해 보유되는 일부 또는 모든 데이터의 시각적 표현을 제시하는 데 사용될 수 있다. 일예로서, 시각적 표현은 인간 사용자에게 정보를 제시하고 선택적으로 인간 사용자로부터 입력을 수신하는 사용자 인터페이스의 형태를 취할 수 있다. 디스플레이 서브시스템(1106)은 사실상 임의의 적합한 유형의 디스플레이 기술을 활용하는 하나 이상의 디스플레이 디바이스를 포함할 수 있다.
입력 서브시스템(1108)은, 포함될 경우, 하나 이상의 입력 디바이스를 포함하거나 하나 이상의 입력 디바이스와 인터페이스할 수 있다. 입력 디바이스는 사용자 입력 디바이스 및/또는 센서 입력 디바이스를 포함할 수 있다. 사용자 입력 디바이스의 비제한적인 예는 키보드, 마우스, 또는 터치 스크린을 포함할 수 있다. 입력 서브시스템의 입력 디바이스는 통합 디바이스 및/또는 주변 디바이스를 포함할 수 있다.
통신 서브시스템(1110)은, 포함될 경우, 컴퓨팅 시스템(1100)의 일부 또는 모든 구성요소를 하나 이상의 다른 컴퓨터 구성요소들, 예컨대, 다른 컴퓨팅 디바이스들에 대응하는 컴퓨터 구성요소들과 통신적으로 결합하도록 구성될 수 있다. 통신 서브시스템(1110)은 임의의 적합한 데이터 통신 프로토콜과 호환되는 유선 및/또는 무선 통신 디바이스를 포함할 수 있다. 통신 서브시스템은 개인, 로컬 및/또는 광역 네트워크를 통한 통신을 위해 구성될 수 있다.
본원에 설명된 구성 및/또는 접근 방식은 본질적으로 예시적인 것이며, 수많은 변형이 가능하기 때문에, 이러한 특정 실시예 또는 예시들은 제한적인 의미에서 고려되어서는 안 된다는 것이 이해될 것이다. 본 명세서에 설명된 특정 루틴 또는 방법은 다수의 처리 전략 중 하나 이상을 나타낼 수 있다. 따라서, 예시 및/또는 설명된 다양한 행위는 예시 및/또는 설명된 순서대로, 다른 순서대로, 병행하여, 또는 생략되어 수행될 수 있다. 마찬가지로, 위에서 설명한 프로세스의 순서는 변경될 수 있다.
본 개시의 주제는 본원에 개시된 다양한 프로세스, 시스템 및 구성, 기타 특징, 기능, 행위 및/또는 속성의 모든 신규하고 명백하지 않은 조합 및 서브조합뿐만 아니라, 그 모든 균등물도 포함한다.

Claims (20)

  1. 컴퓨팅 장치에서 사용자 입력을 감지하는 방법으로서,
    카메라로부터 인간 사용자의 손을 묘사하는 복수의 이미지를 수신하는 단계;
    복수의 이미지를 처리하여 사용자 손에 의해 수행되는 미리 정의된 활성화 제스처를 포함한 복수의 사용자 의도 파라미터를 감지하는 단계;
    제스처 입력 활성화 조건을 만족하는 복수의 사용자 의도 파라미터에 반응해, 복수의 이미지를 처리하여 미리 정의된 입력 제스처와 일치하는 사용자의 손 동작을 감지하는 단계; 및
    미리 정의된 입력 제스처를 컴퓨터 제어 동작에 매핑하는 단계; 및
    미리 정의된 입력 제스처에 대한 응답으로 컴퓨터 제어 동작을 수행하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    카메라에 의해 캡처된 복수의 이미지는 RGB 색상 값을 갖는 2차원 이미지 픽셀 데이터를 포함하는 방법.
  3. 제2항에 있어서,
    카메라는 컴퓨팅 장치에 통합된 웹캠인 방법.
  4. 제1항에 있어서,
    복수의 이미지는 인간 사용자의 눈을 더 묘사하고, 복수의 사용자 의도 파라미터는 사용자 눈의 감지된 시선 방향을 더 포함하는 방법.
  5. 제1항에 있어서,
    복수의 사용자 의도 파라미터는 사용자 손 이외의 인간 사용자의 하나 이상의 추가 사용자 신체 부위의 포즈를 더 포함하는 방법.
  6. 제1항에 있어서,
    복수의 사용자 의도 파라미터는 복수의 이미지에서 감지된 다수의 다른 인간 사용자를 더 포함하는 방법.
  7. 제1항에 있어서,
    복수의 사용자 의도 파라미터는 인간 사용자의 인식된 신원을 더 포함하는 방법.
  8. 제7항에 있어서,
    복수의 이미지는 인간 사용자의 얼굴을 더 묘사하고, 얼굴 인식을 통해 인간 사용자의 신원이 인식되는 방법.
  9. 제1항에 있어서,
    복수의 이미지는 사용자 손에 쥔 인식된 물체를 더 묘사하고, 복수의 사용자 의도 파라미터는 인식된 물체가 감지된 것을 포함하는 방법.
  10. 제1항에 있어서,
    복수의 사용자 의도 파라미터는 인간 사용자의 음성을 감지한 것을 더 포함하는 방법.
  11. 제1항에 있어서,
    복수의 사용자 의도 파라미터는 마지막 사전 정의된 입력 제스처에 대한 응답으로 마지막 컴퓨터 제어 동작이 수행된 이후의 시간 길이를 더 포함하는 방법.
  12. 제1항에 있어서,
    미리 정의된 입력 제스처를 컴퓨터 제어 동작에 매핑하는 단계는 제2 인간 사용자의 제2 사용자의 손 동작을 감지하는 단계를 더 포함하는 방법.
  13. 제1항에 있어서,
    사용자 손과 연관된 스크린 상의 그래픽 커서를 디스플레이하는 단계를 더 포함하는 방법.
  14. 제13항에 있어서,
    제2 인간 사용자의 제2 사용자 손과 연관된 스크린 상의 제2 그래픽 커서를 디스플레이하는 단계를 더 포함하는 방법.
  15. 제13항에 있어서,
    적어도 부분적으로 감지된 사용자의 손 동작에 기초하여 결정된 거리 및 방향으로 스크린 상의 그래픽 커서의 디스플레이 위치를 이동시키는 단계를 더 포함하는 방법.
  16. 제15항에 있어서,
    스크린 상의 그래픽 커서의 디스플레이된 위치를 이동시키는 단계는 적어도 부분적으로 초기 지터 평활화 값 및 사용자 손의 이동 거리 및 사용자 손의 이동 속도 중 하나 또는 모두에 기초하여 계산된 업데이트된 지터 평활화 값에 의해 영향을 받는 방법.
  17. 제13항에 있어서,
    미리 정의된 입력 제스처가 끝날 때까지 스크린 상의 그래픽 커서의 디스플레이 위치를 고정시키는 단계를 더 포함하는 방법.
  18. 제1항에 있어서,
    복수의 이미지에서 인간 사용자의 가시적 크기에 적어도 부분적으로 기초하여 복수의 이미지를 자르거나 확대하는 단계를 더 포함하는 방법.
  19. 카메라;
    로직 서브시스템; 및
    카메라로부터, 인간 사용자의 손을 묘사하는 복수의 이미지를 수신하고; 복수의 이미지를 처리하여 사용자 손에 의해 수행되는 미리 정의된 활성화 제스처를 포함한 복수의 사용자 의도 파라미터를 감지하며; 제스처 입력 활성화 조건을 만족하는 복수의 사용자 의도 파라미터에 반응해, 복수의 이미지를 처리하여 미리 정의된 입력 제스처와 일치하는 사용자의 손 동작을 감지하고; 미리 정의된 입력 제스처를 컴퓨터 제어 동작에 매핑하며; 미리 정의된 입력 제스처에 대한 응답으로 컴퓨터 제어 동작을 수행하기 위해 로직 서브시스템이 실행할 수 있는 명령어를 보관하는 스토리지 서브시스템을 포함하는 컴퓨팅 장치.
  20. 컴퓨팅 장치에서 사용자 입력을 감지하는 방법으로서,
    컴퓨팅 장치의 통합 웹캠으로부터, 인간 사용자의 손을 묘사하는 복수의 이미지를 수신하는 단계;
    복수의 이미지를 처리하여 사용자 손에 의해 수행되는 미리 정의된 활성화 제스처를 감지하고, 인간 사용자 눈의 시선 방향이 컴퓨팅 장치의 디스플레이를 향해 지향되는 것을 감지하는 단계;
    제스처 입력 활성화 조건을 만족하는 복수의 사용자 의도 파라미터에 반응하여, 복수의 이미지를 처리하여 미리 정의된 입력 제스처와 일치하는 사용자의 손 동작을 감지하는 단계;
    감지된 사용자의 손 동작에 따라 적어도 부분적으로 결정된 거리 및 방향으로 스크린 상의 그래픽 커서의 디스플레이된 위치를 이동시키는 단계;
    미리 정의된 입력 제스처를 컴퓨터 제어 동작에 매핑하는 단계; 및
    미리 정의된 입력 제스처에 대한 응답으로 컴퓨터 제어 동작을 수행하는 단계를 포함하는 방법.
KR1020247011524A 2021-09-15 2022-09-14 터치리스 이미지 기반 입력 인터페이스 KR20240053070A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163261242P 2021-09-15 2021-09-15
US63/261,242 2021-09-15
PCT/US2022/076441 WO2023044352A1 (en) 2021-09-15 2022-09-14 Touchless image-based input interface

Publications (1)

Publication Number Publication Date
KR20240053070A true KR20240053070A (ko) 2024-04-23

Family

ID=85478951

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247011524A KR20240053070A (ko) 2021-09-15 2022-09-14 터치리스 이미지 기반 입력 인터페이스

Country Status (4)

Country Link
US (1) US20230085330A1 (ko)
KR (1) KR20240053070A (ko)
CN (1) CN118235103A (ko)
WO (1) WO2023044352A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118134607A (zh) * 2024-05-06 2024-06-04 深圳市锐凌光电有限公司 基于镜子屏的多用户信息推荐方法、系统、设备及介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793620B2 (en) * 2011-04-21 2014-07-29 Sony Computer Entertainment Inc. Gaze-assisted computer interface
WO2009042579A1 (en) * 2007-09-24 2009-04-02 Gesturetek, Inc. Enhanced interface for voice and video communications
US8555207B2 (en) * 2008-02-27 2013-10-08 Qualcomm Incorporated Enhanced input using recognized gestures
US8514251B2 (en) * 2008-06-23 2013-08-20 Qualcomm Incorporated Enhanced character input using recognized gestures
US20110279368A1 (en) * 2010-05-12 2011-11-17 Microsoft Corporation Inferring user intent to engage a motion capture system
TWI439888B (zh) * 2011-02-11 2014-06-01 Pixart Imaging Inc 應用於光學指標裝置之影像擷取裝置及其方法
JP6011165B2 (ja) * 2012-08-31 2016-10-19 オムロン株式会社 ジェスチャ認識装置、その制御方法、表示機器、および制御プログラム
JP2014048936A (ja) * 2012-08-31 2014-03-17 Omron Corp ジェスチャ認識装置、その制御方法、表示機器、および制御プログラム
US9459697B2 (en) * 2013-01-15 2016-10-04 Leap Motion, Inc. Dynamic, free-space user interactions for machine control
US20140267031A1 (en) * 2013-03-12 2014-09-18 Kenneth J. Huebner Spatially aware pointer for mobile appliances
US9529513B2 (en) * 2013-08-05 2016-12-27 Microsoft Technology Licensing, Llc Two-hand interaction with natural user interface
US20150123890A1 (en) * 2013-11-04 2015-05-07 Microsoft Corporation Two hand natural user input
US9383894B2 (en) * 2014-01-08 2016-07-05 Microsoft Technology Licensing, Llc Visual feedback for level of gesture completion
US20160224123A1 (en) * 2015-02-02 2016-08-04 Augumenta Ltd Method and system to control electronic devices through gestures
US10409443B2 (en) * 2015-06-24 2019-09-10 Microsoft Technology Licensing, Llc Contextual cursor display based on hand tracking
US11287945B2 (en) * 2016-09-08 2022-03-29 Chian Chiu Li Systems and methods for gesture input
US10861242B2 (en) * 2018-05-22 2020-12-08 Magic Leap, Inc. Transmodal input fusion for a wearable system
US11954242B2 (en) * 2021-01-04 2024-04-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
US11693482B2 (en) * 2021-05-28 2023-07-04 Huawei Technologies Co., Ltd. Systems and methods for controlling virtual widgets in a gesture-controlled device

Also Published As

Publication number Publication date
US20230085330A1 (en) 2023-03-16
WO2023044352A1 (en) 2023-03-23
CN118235103A (zh) 2024-06-21

Similar Documents

Publication Publication Date Title
JP7504180B2 (ja) ウェアラブルシステムのためのトランスモード入力融合
US20220261112A1 (en) Systems, devices, and methods for touch-free typing
US20210263593A1 (en) Hand gesture input for wearable system
EP3090331B1 (en) Systems with techniques for user interface control
KR20170009979A (ko) 터치 입력을 위한 방법 및 시스템
KR20240053070A (ko) 터치리스 이미지 기반 입력 인터페이스
Conci et al. Natural human-machine interface using an interactive virtual blackboard
Halarnkar et al. Gesture recognition technology: A review
US10095308B2 (en) Gesture based human machine interface using marker
Patil et al. Gesture Recognition for Media Interaction: A Streamlit Implementation with OpenCV and MediaPipe
Shree et al. A Virtual Assistor for Impaired People by using Gestures and Voice
Mangaiyarkarasi et al. Cursor control system using facial expressions for human-computer interaction
Deb et al. Designing an intelligent blink analyzer tool for effective human computer interaction through eye
Lee et al. Mouse operation on monitor by interactive analysis of intuitive hand motions
Ito et al. Ui design based on traditional japanese gesture
Islam et al. Developing a novel hands-free interaction technique based on nose and teeth movements for using mobile devices
Gorodnichy et al. Working with computer hands-free using Nouse perceptual vision interface
Chen Universal motion-based control and motion recognition
El Magrouni et al. Approach for the construction of gestural interfaces to control graphical interfaces based on artificial intelligence
Aggarwal et al. Gesture-Based Computer Control
US20230031200A1 (en) Touchless, Gesture-Based Human Interface Device
Nowosielski Swipe-like text entry by head movements and a single row keyboard
Chen et al. The integration method of multimodal human-computer interaction framework
Phursule et al. Virtual Mouse and Gesture Based Keyboard
Eliseeva et al. Gesture Recognizing Technology Development for Interaction with Mobile Devices