KR101292467B1 - 손의 움직임에 지정된 제어 매개변수를 통해 사용자 인터페이스 상의 디스플레이된 이미지를 변경시키기 위한 시스템 및 방법 - Google Patents

손의 움직임에 지정된 제어 매개변수를 통해 사용자 인터페이스 상의 디스플레이된 이미지를 변경시키기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101292467B1
KR101292467B1 KR1020097002523A KR20097002523A KR101292467B1 KR 101292467 B1 KR101292467 B1 KR 101292467B1 KR 1020097002523 A KR1020097002523 A KR 1020097002523A KR 20097002523 A KR20097002523 A KR 20097002523A KR 101292467 B1 KR101292467 B1 KR 101292467B1
Authority
KR
South Korea
Prior art keywords
independent
image
background
hand
control parameter
Prior art date
Application number
KR1020097002523A
Other languages
English (en)
Other versions
KR20090047454A (ko
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 KR20090047454A publication Critical patent/KR20090047454A/ko
Application granted granted Critical
Publication of KR101292467B1 publication Critical patent/KR101292467B1/ko

Links

Images

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
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • 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/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)
  • Image Processing (AREA)

Abstract

시각적 디스플레이를 위한 가상 컨트롤러들이 설명된다. 한 구현에서, 카메라는 배경에 대해 손들의 이미지를 캡처한다. 이미지는 손 영역 및 배경 영역들로 세그먼트된다. 다양한 손 및 손가락 동작들은 배경의 부분들을 독립 영역들로 분리시키고, 다음, 시각적 디스플레이를 조작하기 위한 제어 매개변수들이 이들에 지정된다. 복수의 제어 매개변수들은 클릭킹, 선택하기, 실행하기, 수평 움직임, 수직 움직임, 스크롤, 드래깅, 회전 움직임, 줌, 최대화, 최소화, 파일 실행 기능, 및 메뉴 선택 실행하기의 동시적인 기능들을 포함하는 고급 제어(advanced control)를 위해, 두 손에 의해 형성된 복수의 독립 영역들의 속성과 관련될 수 있다.
시각적 디스플레이, 가상 컨트롤러, TAFFI, 제어 매개변수, 이미지, 손

Description

손의 움직임에 지정된 제어 매개변수를 통해 사용자 인터페이스 상의 디스플레이된 이미지를 변경시키기 위한 시스템 및 방법{VIRTUAL CONTROLLER FOR VISUAL DISPLAYS}
손동작 및 수신호는 인간의 표정 및 의사전달(communication)의 자연적 형태이다. 이러한 지식을 인간-컴퓨터 상호작용(human-computer interaction)에 적용한 것에 의해, 컴퓨터 입력으로서 인간 몸짓(human gesture)을 제공하는 시각-기반 컴퓨터 기술(vision-based computer technique)들의 발달이 이루어졌다. 컴퓨터 비전은 사람의 손 또는 몸의 방해받지 않는 동작들을 캡처하는 목적을 가진 인간 몸짓 입력 시스템(human gesture input system)의 구현을 제공하는 것이다. 다수의 시각-기반 기술들이 현재 개발되었지만, 부자연스러운 손짓 및 부가의 장비를 필요로 하는 불편한 훈련(awkward exercise)들을 수반한다. 이 기술들은 복잡하고 다루기 힘들 수 있어, 표준 컴퓨터-사용 위치(standard computer-use location)에서 떨어진 반복된 손동작들 때문에 효율성이 감소되는 결과를 가져올 수 있다.
현재의 컴퓨터 입력 방법들은 일반적으로 키보드를 이용한 텍스트 입력 및 마우스 또는 스타일러스를 통한 커서 조작(cursor manipulation) 모두를 포함한다. 키보드와 마우스 사이의 반복적인 전환은 시간이 지남에 따라 사용자들의 효율성을 감소시킨다. 컴퓨터 비전 기술들은 입력으로서 손동작을 활용함으로써 인간-컴퓨 터 입력 태스크의 비효율을 개선하려고 시도했다. 이러한 활용은 컴퓨터 사용 중에 일반적인 손 위치, 예를 들어 키보드에서 검출이 발생하는 경우 가장 효과적일 것이다. 현재의 시각-기반 컴퓨터 기술들 중 다수는 가리키는 손가락(pointed finger) 또는 펴진 손가락(outstretched finger)을 입력 동작으로서 이용한다. 키보드 위치에서 또는 키보드 위치 근처에서의 이러한 손짓의 검출의 어려움은, 가리키는 동작(pointing gesture)과 타이핑 중의 자연적인 손 위치(natural hand positioning)의 유사성에 의한 것이다.
현재 컴퓨터 비전 기술들의 대부분은 손짓 및 동작들을 감지하기 위한 동작 검출 및 추적 패러다임(gesture detection and tracking paradigm)을 이용한다. 이들 검출 및 추적 패러다임들은 복잡한 것으로, 손의 모양 및 위치를 복구(recover)하기 위해 정교한 패턴 인식 기술들을 이용한다. 검출 및 추적은 여러 요인들에 의해 제한되며, 이는 적당한 계산상의 복잡성(reasonable computational complexity)을 달성하는 데 있어서의 어려움, 인간의 손동작 및 손짓의 모호함에 따른 실제 검출에 있어서의 문제, 및 둘 이상의 사용자 상호작용을 가능하게 하는 기술들에 대한 지원의 결여를 포함한다.
<발명의 요약>
본 발명의 요약은 아래의 상세한 설명에서 더 상세히 설명되는 시각적 디스플레이를 위한 가상 컨트롤러의 간략한 특징 및 개념을 소개하기 위해 제공된 것이다. 이 발명의 요약은 청구된 본 발명의 본질적 특징을 식별하기 위한 것이 아니며, 또한 청구된 본 발명의 범위를 결정하는 데 사용되도록 하기 위한 것이 아니 다.
시각적 디스플레이를 위한 가상 컨트롤러의 한 구현에서, 카메라 또는 다른 센서가 배경에 대해 하나 이상의 손의 이미지를 검출한다. 이미지는 손 영역 및 배경 영역으로 분할되고(segmented), 다양한 간격으로, 닫힌 고리를 이루는 엄지와 손가락에 의해 이미지에 형성된 뚜렷하고 독립적인 배경 영역-"홀(holes)"-이 카운팅된다(counted)(예를 들어, 각 손에 의해 하나의 홀이 형성될 수 있다). 엄지와 집게손가락이 이러한 방식으로 사용되는 경우 "엄지 및 집게손가락 인터페이스(thumb and forefinger interface)"(TAFFI)라고 불린다. 다른 유형의 손 및 손가락 인터페이스들이 가능하다. 그러면, 적어도 하나의 제어 매개변수(control parameter)가 각 인식된 홀 또는 포착된 이미지의 배경의 독립 영역에 지정되고, 제어 매개변수는 통상적으로 사용자의 손이 화면 또는 모니터에 디스플레이된 이미지의 어떤 양상을 조작할 수 있도록 한다. 예를 들어, 마우스 클릭 기능은 손의 엄지와 집게손가락이 서로 접촉하여 시각적으로 독립적인 배경 영역을 형성할 때 제어 매개변수로 지정될 수 있다. 제어 매개변수들은, 제어 매개변수와 관련된 독립된 영역의 모양 및/또는 위치에서의 각각의 변화와 관련하여 또는 독립된 영역이 형성(formed)되거나 형성되지 않는 것(unformed)(엄지와 집게손가락이 접촉하는 경우 높은 상태(high state) 그리고 엄지와 집게손가락이 접촉하지 않는 경우 낮은 상태(low state))과 관련하여, 디스플레이된 이미지가 변경되도록 지정될 수 있다.
유사한 특징 및 컴포넌트들을 참조하기 위해 도면들 전체에 걸쳐 동일한 참 조 부호들이 사용된다.
도 1은 시각적 디스플레이를 위한 예시적인 가상 컨트롤러가 구현될 수 있는 예시적인 컴퓨터-기반 시스템에 대한 도면이다.
도 2는 예시적인 가상 컨트롤러 시스템의 블록도이다.
도 3은 도 2의 가상 컨트롤러 시스템의 예시적인 세그멘터(segmenter)에서 사용되는 이미지 세그먼테이션(segmentation)에 대한 도면이다.
도 4는 예시적인 엄지 및 집게손가락 인터페이스 제어에 대한 도면이다.
도 5는 손 및 손가락 동작으로 시각적 디스플레이를 제어하기 위한 예시적인 방법의 흐름도이다.
개관
본 명세서는 시각적 디스플레이를 위한 가상 컨트롤러를 설명한다. 한 구현에서, 예시적인 시스템은, 손 및 손가락 동작에 적용된 시각-기반 컴퓨터 기술들을 이용함으로써, 컴퓨터 모니터에서 전형적인 시각적 사용자 인터페이스(visual user interface)와 같은 디스플레이에 대한 탐색을 제공한다. 한 구현에서, 사용자는 키보드로 타이핑을 하고, 다음, 예를 들어, 키보드 타이핑을 멈추고 단지 (마치 작은 스타일러스를 들고 있는 것 같이) 한 손의 엄지와 손가락을 접촉시킴으로써 "엄지 및 집게손가락 인터페이스", 즉 "TAFFI"를 호출한다. 예시적인 시스템은 이 이벤트를 감지하고, 시각적 디스플레이 상의 이미지를 제어하기 위해, 손가락 동작에 의해 형성된 배경의 독립 영역의 속성들에 제어 매개변수들을 지정한다.
"가상(virtual)" 또는 "가상 컨트롤러(virtual controller)"는 사용자의 손과 물리적으로 접촉하는 장치의 부재(absence)를 말한다. 따라서, 한 구현에서, 가상 컨트롤러는 사용자의 손의 시각적 이미지로부터 하나 이상의 인터페이스를 얻기(derive) 위해 손과 키보드 위에 위치한 카메라 및 관련된 로직으로 이루어진다. 세그먼테이션은 손 객체들(hand objects)을 (예를 들어, 키보드를 포함하는) 배경으로부터 분리한다. 사용자가 집게손가락을 엄지에 접촉시키면(상기의 TAFFI) 시스템은 이 손동작에 의해 형성된 배경의 독립 영역을 인식하고, 표로 만든다(tabulate). 즉, 시스템은, 배경 영역의 타원형 "도넛홀(doughnut hole)"을 에워싸는 완전히 닫힌 "링(ring)"을 형성하도록 엄지와 집게손가락을 접촉시킴으로써 배경의 일부가 나머지 주 배경으로부터 시각적으로 고립되었음을 인식한다. 컴퓨터 카메라 이외의 수단에 의한 시각적 이미지의 검출도 가능하다. 예를 들어, 키보드 또는 책상(table)에 내장된 전극 또는 안테나들의 2D 배열은 정전기 또는 RF 기술들을 이용하여 손동작을 "이미지 할 수 있고", 카메라로부터 그 이미지를 포착하는 것과 유사한 방식으로 프로세스될 수 있다.
한 구현에서, 독립 배경 영역은, 손 영역들에 의해, 또는 한 변형에서, 이미지 내의 손 영역 및/또는 이미지 경계에 의해 배경의 다른 부분들로부터 시각적으로 연결되지 않거나 고립되는 경우, 별개의 시각적 객체로 간주된다. 손과 손가락들의 이미지(들)가 독립 배경 영역의 경계를 결정하기 위한 구분 엔티티(delimiting entity)인 경우, 대략적으로 엄지와 집게손가락이 접촉하는 순간에, 엄지와 집게손가락이 "닫힐(close)" 때(서로 접촉할 때) 형성되는 손의 엄지와 집 게손가락 사이의 타원 영역이 새로운 독립 배경 영역으로 카운트된다(counted). 새로운 독립 배경 영역은 연결된 컴포넌트(들) 분석(connected component(s) analysis) 기술 분야에서 "연결된 컴포넌트"로 간주될 수 있다. 이러한 연결된 컴포넌트들, 또는 새로운 독립 배경 영역-"홀(hole)들"-은 여기에서 "독립 배경 영역" 또는 단지 "독립 영역"으로 불릴 것이다. 이 용어는, 예를 들어 연결된 컴포넌트(들) 분석 기술 분야에서, 별개인(distinct) 것으로 간주되는 시각적 객체를 나타낸다는 것을 이해해야 한다.
엄지와 집게손가락이 "열리면(open)", 새로이 형성된 독립 배경 영역은 사라지고 다시 더 큰 독립 배경 영역의 일부가 된다.
연결된 컴포넌트 분석 기술 분야와 관련하여, 연결된 컴포넌트는 속성 유사성에 의해 함께 그루핑된(grouped together), 유사한 속성들을 가진 2진 이미지(binary image) 내의 픽셀들의 그룹이다. 각 연결된 컴포넌트는 종종 인간 관찰자에 의해 관찰된 별개의 시각적 객체들에 대응된다. 이미지의 손 또는 손가락 영역들의 부분에 의해 배경의 다른 부분들로부터 시각적으로 독립되는 배경의 각 부분은 독립 영역으로 정의될 수 있고, 또는, 연결된 컴포넌트 분석의 언어로, 배경 연결된 컴포넌트(background connected component)와 별개인 새로이 형성된 연결된 컴포넌트로 정의될 수 있다.
물론, 다른 구현들은 "홀" 또는 "독립 영역"을 형성하기 위해 손의 다른 손가락들의 움직임 또는 접촉을 이용할 수 있다. 따라서, "TAFFI"는 나머지 일반적인 배경으로부터 배경의 일부를 시각적으로 고립시키는 손가락(들) 및 손(들)의 구 성을 의미하는 것으로 유연하게 해석되어야 한다. 예를 들어, 엄지와 인간 손의 임의의 다른 손가락, 또는 엄지 없이 단지 2개의 손가락도 "TAFFI" 인터페이스를 형성할 수 있다. 그러나, 설명을 효율적으로 하기 위해, 구현들은 일반적으로 "엄지 및 집게손가락"에 대해 설명될 것이다.
검출 모듈이 일반적인 배경 영역으로부터 새로운 독립 배경 영역을 구별하면, 시스템은 새로이 인식된 독립 영역을, 사용자로 하여금 시각적 사용자 인터페이스 상의 디스플레이된 이미지를 조작할 수 있도록 하는 하나 이상의 제어 매개변수들과 관련시킨다. 시각적 사용자 인터페이스 상의 디스플레이된 이미지는 독립 배경 영역의 위치, 모양, 및 심지어 존재(existence)가 추적(tracked)됨에 따라 제어 매개변수를 통해 변경될 수 있다.
한 구현에서, 예시적인 시스템은 둘 이상의 독립 영역에 대한 검출을 제공하여, 하나 또는 두 개의 손이 관여할 수 있는 복수의 제어 매개변수를 통해, 디스플레이된 이미지에 대한 사용자 제어를 가능하게 한다. 복수의 제어 매개변수를 복수의 독립 영역들과 관련시키는 것은 각각 검출된 독립 영역의 모양, 위치, 및 존재의 변화와 관련된, 디스플레이된 이미지에 대한 제어를 가능하게 한다. 따라서, 디스플레이된 이미지에 대한 조작은 클릭킹(clicking), 선택하기(selecting), 실행하기(executing), 수평 움직임, 수직 움직임, 스크롤링(scrolling), 드래깅(dragging), 회전 움직임, 줌잉(zooming), 최대화하기 및 최소화하기, 파일 기능들, 메뉴 전개(menu deployment) 및 사용 등에 대한 제어를 포함할 수 있다. 또한, 제어 매개변수들은 복수의 인식된 독립 영역들 사이의 관계(relationships)에 지정(assign)될 수도 있다. 즉, 두 개의 독립 영역이 서로 관련되어 움직임(move in relation to each other)에 따라, 예를 들어, 다양한 제어 매개변수들이 그들 사이의 거리에 부착될(attached) 수 있다. 예를 들어, 각 손의 독립 영역들이 서로로부터 멀어짐에 따라 이미지는 확대되거나 신장될(stretch) 수 있고, 또는 독립 영역들 사이의 거리가 변하고 있는 차원(dimension) 또는 벡터로 신장될 수 있다.
가상 컨트롤러를 위한 설명된 시스템 및 방법들의 특징 및 개념들이 여러 다른 환경에서 구현될 수 있지만, 가상 컨트롤러의 구현은 다음의 예시적인 시스템 및 환경과 관련하여 설명된다.
예시적 환경
도 1은 위에서 소개된 엄지 및 집게손가락 인터페이스(TAFFI)와 같은 가상 컨트롤러 인터페이스 기술들이 구현될 수 있는 예시적인 시스템(100)을 도시한다. 예시적인 시스템(100)은 시각적 사용자 인터페이스(모니터, 스크린, 또는 "디스플레이"(103)) 상의 "디스플레이 이미지"(102), 컴퓨팅 장치(105)와 연결된 카메라(104), 마우스(106), 키보드(108), 정황상 도시된 사용자의 손(110)(물론, 시스템 하드웨어의 일부가 아님), 및 TAFFI로서 사용되는 사용자의 손(110(1))에 의해 형성된 시각적으로 독립된 영역(112)을 포함한다. 카메라는 예시적인 TAFFI 엔진(115)에 의해 이용될 손들의 캡처된 이미지(114)를 획득한다. (캡처된 이미지(114)는 설명적인 목적을 위해 도시된 것뿐이며, 예시적인 시스템(100)은 카메라가 캡처한 것을 표시할 필요가 없다.) TAFFI 엔진(115)을 호스팅(hosting)하는 컴퓨팅 장치(105)는, TAFFI 엔진(115)이 특정 손동작을 검출하고 이를 사용자 인터페 이스 입력으로서 사용할 수 있도록, 카메라(104)로부터의 입력을 성공적으로 통합할 수 있는 데스크톱, 랩톱, PDA, 또는 다른 컴퓨팅 장치(105)일 수 있다.
카메라(104)는, 다른 손(110(2))이 "통상적인(conventional)" (TAFFI가 아닌(non-TAFFI)) 타이핑 자세로 유지되는 동안, TAFFI를 포함하는 한 손(110(1))의 이미지를 캡처한다. 캡처된 이미지(114)는 TAFFI를 형성하는 손(110(1))에 대해 독립 영역(112)의 검출을 나타내지만, 추가적인 입력 기입(input entry) 위해 여전히 타이핑을 하거나 마우스를 사용하고 있는 손(110(2))에 대해서는 독립 영역의 검출을 나타내지 않는다. 카메라(104)에 의한 독립 영역(112)의 검출은 캡처된 이미지(114)에서 어두운 영역(darkened area)(112)으로서 표시된다. 이 캡처된 이미지(114)는 아래에서 더 상세히 설명될 프로세스의 단계를 나타내는 것으로, 여기서 예시적인 시스템(100)은 손(110) 및 배경을, 큰 배경 영역, 손 영역, 및 손(110(1))의 TAFFI에 의해 형성된 독립 영역(112)을 포함하는 작은 배경 영역과 같은 연속적인, 세그먼트된 영역들로 분리한다.
시스템(200)은 카메라(104) 또는 다른 센서에 의해 검출된 손동작 입력을 통해 시각적 사용자 인터페이스에 대한 제어를 제공하는 시각-기반("컴퓨터 비전") 시스템일 수 있다. 다시 말해, 예시적 시스템(100)은 웹-기반 디스플레이를 포함하는 컴퓨팅 장치에서 동작할 수 있는 다수의 다른 유형의 프로그램 또는 애플리케이션들의 시각적 사용자 인터페이스 디스플레이 출력을 제어할 수 있다. 따라서, 예시적 시스템(100)은, 시각적 사용자 인터페이스(102)에 디스플레이된 객체들의 선택, 이동, 및 변경 기능, 또는 텍스트 입력 기능까지도 포함하여, 마우스(106) 와 같은, 또 필요한 경우, 키보드(108)와 같은 일반적인 사용자 입력 장치를 대체할 수 있다.
가상 컨트롤러는 특정 손동작 및 움직임을 사용자 입력으로서 검출한다. 도시된 실시예에서, 검출을 위해 사용되는 카메라(104)는 손과 디스플레이(103)에 부착된 키보드 위의 어딘가에 위치한다. 이 위치에 놓인 카메라(104)는 적어도 키보드(108)의 대부분을 커버하는(cover) 시야를 가지며, 보통의 타이핑 위치에 있는 사용자의 손(110)의 평면에 대략적으로 초점이 맞춰진다. 한 구현에서, 적외선 또는 가시 LED(infrared or visible LED)와 같은 광은 손(110) 및 키보드(108)를 비추도록 놓일 수 있고 또한 주변 조명 변경의 영향을 완화시키도록 위치할 수 있다. 몇몇 경우에서, 카메라가 이미지를 얻는 데 추가적인 광이 필요하지 않도록 주변 광이 충분할 수 있다. 변형들에서, 카메라(104)가 위를 향하고 키보드(108) 위의 손동작 및 손의 움직임을 검출할 수 있도록, 카메라(104) 및/또는 추가적인 광은 키보드(108)의 다양한 키들 사이에 놓일 수 있다.
도시된 예시적인 시스템(100)에서 사용될 수 있는 카메라(104)의 예는 30Hz의 비율로 완전 해상도 그레이스케일 이미지들을 획득하는 LOGITECH 웹 카메라(104)이다(캘리포니아주, 프리몬트시). 카메라(104)는 키보드(108) 또는 디스플레이(103), 또는 적절한 다른 곳에 부착될 수 있다.
예시적인 시스템(100)에서, 사용자의 손(110(1))은 TAFFI를 형성할 수 있고, 이는 엄지와 집게손가락이 접촉할 때 나머지 배경 영역으로부터 독립된 시각적 영역을 형성한다. 한 구현에서, 잠재적 TAFFI 및 하나 이상의 독립 영역(112)들의 존재 또는 부재는, 양손(110)의 상태, 예를 들어, 손(110)이 타이핑을 하는지 또는 입력을 위한 동작을 형성하는지를 계속적으로 모니터하고 판정하기 위해, 컴퓨팅 장치(105)에 의해 실행되는 실시간 이미지 프로세싱 루틴에 의해 검출된다. 이 프로세싱 루틴은 사용자의 엄지와 집게손가락이 접촉하고 있는지를 먼저 결정할 수 있다. TAFFI 형성(formation)의 독립 영역(112)이 인식되도록 손가락들이 접촉하고 있으면, 접촉의 위치는 2차원적으로 추적될 수 있다. 예를 들어, 엄지와 집게손가락 접촉의 위치는 포인팅 화살표(pointing arrow)의 위치, 또는 커서 위치로서 컴퓨터(105)에 등록될(registered) 수 있다. 한 구현에서, TAFFI 형성 위치(formation position) 및 그와 관련된 독립 영역(112)에 대한 인식은 커서 위치를 구축하고 디스플레이된 이미지를 제어하기 위해 사용된다.
독립 영역(112)을 생성하는 빠른 손 움직임은 (어떤 시간 간격 내에서 독립 영역(112)이 형성되고, 제거되고(unformed), 또다시 형성됨) 마우스의 "클릭킹 (clicking)"을 흉내내거나(simulate) 모방하여(mimic) 사용자가 디스플레이된 항목을 선택할 수 있도록 한다. 독립 영역(112)의 빠른 형성, 제거(unforming), 및 재형성은 또한 사용자로 하여금 디스플레이된 이미지의 선택된 부분들을 드래그하거나 스크롤하고, 객체를 수평, 수직, 또는 대각선 방향으로 이동하고, 디스플레이된 이미지(102)를 회전하고, 줌(zoom)하는 등을 할 수 있도록 한다. 또한, 한 구현에서, 독립 영역(112)을 형성한 TAFFI를 카메라에 가까이 또는 카메라로부터 더 멀리 이동시키는 것은 디스플레이된 이미지의 줌인(zoom in) 및 줌 아웃(zoom out)을 생성할 수 있다.
복수의 TAFFI를 통한 디스플레이된 이미지에 대한 제어는 둘 이상의 손(110)과 관련될 수 있다. 도 1에 도시된 예시적 시스템(100)은, 다른 손(110(2))이 키보드(108)로 타이핑을 하고 다른 입력 태스크를 수행하는 동안, 한 손(110(1))의 TAFFI로부터 이미지 조작이 진행되는 TAFFI 제어의 실시예이다. 그러나 TAFFI 제어의 다른 실시예에서, 두 손(110)이 각각의 TAFFI를 형성할 수 있고, 이로써 카메라(104)에 의해 적어도 두 개의 독립 영역(112)에 대한 검출이 이루어지는 결과를 가져온다. 두 손 TAFFI(two-handed TAFFI)는 시각적 사용자 인터페이스의 미세 조정 탐색(fine-tuned navigation)을 위한 입력 제어를 제공할 수 있다. 두 손 접근법은 줌인, 줌 아웃, 및 회전 움직임에 더해 다방향성(multidirectional)의 이미지 조작을 제공하며, 여기서 서로 관련된 복수의 TAFFI의 독립 영역(112)들의 상호작용에 의해 조작은 더 정교하다.
예시적 시스템
도 2는 예시적 가상 컨트롤러 시스템(100)의 다양한 컴포넌트들을 도시한다. 도시된 가상 컨트롤러 시스템(100)의 구성은 단지 한 예시적 구성이다. 도시된 컴포넌트, 또는 다른 유사한 컴포넌트들의 다양한 구성이 본 발명의 범위 내에서 가능하다. 예시적인 가상 컨트롤러 시스템(100)은 하드웨어, 소프트웨어, 또는 하드웨어, 소프트웨어, 펌웨어 등의 결합으로 실행될 수 있는 TAFFI 엔진(115)과 같은 컴포넌트들을 갖는다.
예시적 시스템(100)은 카메라(104) 또는 다른 이미지 센서, 키보드(108), 및 디스플레이(103)와 같은 하드웨어(202)를 포함한다. TAFFI 엔진(115)은 이미지 세 그멘터(204), 독립 영역 추적기(independent area tracker)(206), 링킹 모듈(linking module)(210)을 포함하는 제어 매개변수 엔진(208)과 같은 다른 컴포넌트들을 포함한다.
한 구현에서, 카메라(104)는 배경에 대해 하나 이상의 손(110)으로 해석된 이미지를 검출한다. 캡처된 이미지(114)의 픽셀들은, 이미지의 배경 영역(들)으로부터 이미지의 손(110)을 구별하는 데 사용될, 대비되는 속성 값들을 포함한다. 배경으로부터 손을 대비시키기 위한 적절한 속성들은 밝기, 그레이스케일, 색 성분 강도(color component intensity), 색 평면 값(color plane value), 벡터 픽셀 값, 컬러맵 지수(colormap index value) 등을 포함할 수 있다. 변형들에서, 카메라(104)는, 예를 들어, 통상적인 가시 스펙트럼 대신 적외선 조명이 사용되었는지에 따라, 손 픽셀들을 배경 픽셀들로부터 구별하기 위해 이들 속성들 중 하나 또는 다른 것을 이용할 수 있다. 때때로, 적외선을 이용하여 캡처된 이미지(114)를 획득하는 것은, 인종, 선탠(suntan) 등의 차이에 의한 가시 스펙트럼 상에서의 피부 색 및 톤의 차이와 관련 없이, 대부분 사람들의 서로 다른 피부 톤의 손이 배경에 대해 유사한 콘트라스트(contrast)로 나타나게 되는 결과를 가져온다. 따라서, 이미지에서 배경에 대한 손의 검출은 가시적 피부 톤과 관계없이 적외선으로 쉽게 달성될 수 있다.
따라서, 세그멘터(204)는, 예를 들어 위에 설명된 속성들의 콘트라스트 또는 밝기 속성에 따른 2진 이미지 세그먼테이션에 의해, 캡처된 이미지(114)를 하나 이상의 손 영역(110) 및 배경 영역(들)으로 나눈다. 2진 이미지 세그먼테이션은 임 의의 다른 (전경(foreground)) 객체 또는 캡처된 이미지(114)에 존재하는 영역으로부터 배경 영역 픽셀들을 구별한다. 한 구현에서, 세그멘터(204)는 먼저 배경 영역에 대응되는 픽셀들을 결정함으로써 이미지를 분리한다. 배경 영역 픽셀들에는 각각 2진 "일"(1)과 같은 값이 지정된다. 캡처된 이미지(114)의 남아있는 픽셀들은 각각 "영"(0)과 같은 다른 값이 지정된다.
도 3은 세그멘터(204)에 의해 수행되는 2진 이미지 세그먼테이션의 예(300)를 도시한다. 캡처된 이미지(114)는 배경 객체(302) 및 전경에 있는 손 객체(304)를 포함한다. 세그먼트된 이미지들을 생성하기 위한 다양한 기술들이 존재하며, 이들은 대부분 본 기술분야에서 잘 알려진 것이다. 한 구현에서, 세그멘터(204)는 캡처된 이미지(114) 또는 예(300)에 존재하는 임의의 다른 객체 또는 영역의 픽셀들로부터 배경 영역 픽셀들을 식별한다. 2진 이미지에서 픽셀들을 구별하는 것은 배경에 대응되는 각 픽셀을 "온(on)" 또는 특정 값, 예를 들어 "1"로 간주함으로써 이루어진다. 그러면, 이미지 내의 모든 다른 픽셀 값들은 저장된 배경 이미지의 값에 비교될 수 있다. 대응되는 배경 픽셀 값보다 현저히 밝은 임의의 다른 픽셀 값은 새로운 영역 또는 이미지 객체의 일부로 간주되고, "오프(off)"로 레이블되거나, "0"과 같은 다른 값이 주어진다.
예(300)는 또한 색상차(color difference)로서, 이미지의 다른 영역들로부터 배경 영역(302)의 구별을 설명할 수 있다. 배경 영역(302)은 제1 값과 동등시된(equated) 더 어두운 색으로 도시된다. 더 밝은 색으로 도시된 손 객체(304)는 제2 값과 동등시되고(equated), 이로써 배경 영역(302)으로부터 구별된다.
다시 도 2를 보면, 독립 영역 추적기(206)는 고정된 시간 간격으로 배경의 독립 영역(112)들의 수를 결정한다. 배경이 아닌 손 영역(또는 이미지 경계)의 적어도 일부에 의해 배경의 다른 부분들로부터 시각적으로 독립된 배경의 각 부분은 독립 영역(112)으로 정의된다. 감지된 각 독립 영역(112)에 대해, 독립 영역 추적기(206)는 "0" 픽셀들에 의해 둘러싸인 "1" 픽셀들의 영역(즉, 주 배경을 구성하는 나머지 "1" 픽셀들과 더 이상 연속적으로 연결되지 않는 영역)을 찾는다. 다시 말해, TAFFI의 접촉하는 엄지와 집게손가락 동작에 의해 경계가 지어진(circumscribed) 고립된 배경의 영역들을 찾는다.
디스플레이(103) 상의 객체를 선택하기 위한 사용자의 의도를 나타내는, 배경의 개별 영역으로서의 독립 영역(112)의 정확한 검출은, 독립 영역이 카메라(104)에 의해 감지된 캡처된 이미지(114) 내에 완전히 포함되는 경우, 즉, 독립 영역(112)의 어떠한 부분도 캡처된 이미지(114)의 경계에 놓이지 않을 때에 보장될 수 있다.
그럼에도 불구하고, 한 구현에서, 독립 영역 추적기(206)의 변형은 독립 영역(112)의 일부가 "오프 스크린(off screen)"인 경우-캡처된 이미지(114)의 일부로서 포함되지 않은 경우-에도 독립 영역(112)을 감지할 수 있다. 이는 독립 영역(112)을, 손(110)의 일부 또는 캡처된 이미지(114)의 경계의 일부에 의해 주 배경으로부터 잘린(cut off) 배경의 영역으로 정의함으로써 이루어질 수 있다. 그러나 이는 배경의 독립 영역의 범위를 정하는(delimit) 방법의 변형일 뿐이다.
하나 이상의 독립 영역의 존재가 구축되고 나면, 링킹 모듈(210)은 사용자 인터페이스 상의 시각적 이미지 디스플레이(102)의 조작을 위한 제어 매개변수를 각각의 카운팅된(counted) 독립 영역과 관련시킨다. 조작은 시각적 사용자 인터페이스 내에서의 커서 제어를 포함하는 다수의 메커니즘을 포함할 수 있다. 시각적 이미지 디스플레이(102)의 커서 제어는 이루어질 수 있지만, 독립 영역이 검출되고 제어 매개변수와 관련되었을 때에만 이루어질 수 있다. 독립 영역의 검출이 중지되면, 제어 매개변수 관련(control parameter association)이 중지되고, 커서 제어 및 조작이 사용 불가능하게(disabled) 된다. 커서 제어는 마우스로부터의 입력을 흉내내는 "클릭킹(clicking)" 동작을 포함하는 다수의 조작들을 포함할 수 있다. 클릭킹 동작은 시각적 이미지 디스플레이(102)의 원하는 부분에 대한 선택, 추적 및 드래깅, 및 커서의 다방향성 움직임 및 제어를 제공한다.
링킹 모듈(210)은 특정 제어 매개변수와 손 또는 손가락 동작, 또는 동작 변화와의 관련(association)을 제공한다. 제어 매개변수가 손 또는 손가락 동작에 지정되거나 그와 관련되고 나면, 제어 매개변수 엔진(208)은 손동작과 제어 매개변수가 어떻게 서로 관련되는지 더 나타낼 수 있다(further nuance). 예를 들어, 단지 엄지와 집게손가락이 접촉하는 것이 "온-오프", 2진, 고-저(high-low), 또는 다른 두-상태 인터페이스(two-state interface) 또는 스위치(switch)로서 사용될 수 있다. 반면, 연속적으로 변할 수 있는 손동작 특성은, 예를 들어 연속체(continuum)에 걸친 디스플레이 이미지(102)의 점진적인 움직임과 같은, 디스플레이 이미지 조작에 대해 변경가능한 제어(variable control)를 제공하도록 지정될 수 있다.
예를 들어 대응되는 독립 영역의 모양 또는 위치의 변화와 관련하여 링킹 모듈(210)이 디스플레이된 이미지(102)의 제어에 변경가능한 제어 매개변수를 지정하면, 가변 양상(variability aspect)은 각 독립 영역에 속하는 모든 픽셀들의 평균 위치를 계산하고, 다음, 손이 TAFFI를 형성할 때 생성되는 모양의 위치의 변화를 추적함으로써 이루어질 수 있다. 손들의 움직임은 독립 영역의 타원형의 배향(orientation)을 변경시키고 지정된 제어 매개변수와 관련된 디스플레이 특성에 대응되는 변경들을 일으킨다.
디스플레이된 이미지에 대한 제어
도 4는 캡처된 이미지(114)와 관련하여 도시된 예시적인 TAFFI(400)를 나타낸다. 캡처된 이미지(114)의 도시된 부분은 배경 영역(302), 손 객체 영역(110), 독립 영역(112), 및 이미지 경계(408)를 포함한다. 각 영역들(302, 110, 및 406)은 별개의 연결된 영역(distinct connected areas), 또는 연결된 컴포넌트들로서 설명될 수 있다. TAFFI 엔진(115)은 독립 영역(112)을 다른 연결된 컴포넌트들(302 및 110)로부터 구별한다.
따라서, TAFFI 엔진(115)은 이미지의 연결된 컴포넌트들의 컴퓨팅(computation)을 시각적 디스플레이를 위한 가상 컨트롤러의 구현을 위한 기초로 이용할 수 있다. 더 상세히 말하면, 연결된 컴포넌트들은 모든 픽셀이 서브셋의 다른 모든 픽셀들과 "연결된(connected)", 픽셀들의 서브셋 또는 이미지의 영역이다. "연결된"이라는 용어는 집합(set)에 속하는 픽셀들을 가로지름으로써(traversing) 임의의 다른 픽셀로부터 모든 픽셀에 도달할 수 있는 픽셀들의 집 합을 나타낸다. 이미지 내의 연결된 컴포넌트들의 집합을 컴퓨팅하기 위한 효과적인 기술들이 현재 존재한다. 연결된 컴포넌트 기술들은 이미지 내의 모양들의 속성을 결정하기 위한 효과적인 수단일 수 있는데, 이들은 전체 이미지의 픽셀들 내의 많은 픽셀들을 포함하는 컴포넌트들의 작은 집합들에 대한 검토(examination)를 가능하게 하기 때문이다.
연결된 컴포넌트들을 컴퓨팅하는 것의 프로세스는 이질적인 연결된 컴포넌트(extraneous connected component)들의 검출을 발생시킬 수 있다. 이러한 불필요한 검출들은 TAFFI 또는 다른 예시적 인터페이스에 의해 형성된 관련된 독립 영역들의 결정을 혼동시킬 수 있고, 따라서 가상 컨트롤러의 구현을 방해할 수 있다. 한 구현에서, 추가의(extra) 연결된 컴포넌트에 대한 이질적인 검출은 미리 결정된 허용가능한 임계값보다 적은 수의 픽셀들을 갖는 연결된 컴포넌트들을 폐기(discard)함으로써 극복될 수 있다.
한 구현에서, TAFFI 엔진(115)은 인식된 독립 영역(112)이 이미지의 경계 내에 완전히, 즉, 배경 영역(302)의 범위 내에 완전히 포함됨을 확인한다. 때때로 충분한 크기이며 이미지의 경계(408)에 픽셀들이 포함되지 않는 독립 영역(112)에 대한 제한된 검출은 요구되는 독립 영역(406)들에 대한 신뢰할 수 있는 확인(identification)을 강화시킨다. 이 한 구현에서, 적절한 검출은 거짓 연결된 컴포넌트 후보(false connected component candidate), 또는 이미지 내에 완전히 포함되지 않고 이미지의 경계(408) 상에 부분들을 포함하는 것들을 피함으로써 달성된다.
또한, 다른 구현에서, TAFFI 엔진(115)은 캡처된 이미지(114) 내의 독립 영역(112)의 부분 및 이미지의 경계(408) 위에 오프 스크린으로 놓인 부분을 검출함으로써 독립 영역(112)을 검출한다. 이 구현에서, 연결된 컴포넌트 분석은 독립 영역(112)이 이미지의 경계(408)를 마주치고/거나 넘기 전까지 연속적인 한 계속된다. 이는 TAFFI를 형성하는 손 및 독립 영역(112)이 부분적으로만 카메라의 시야 내에 있고, 따라서 검출된 이미지 내에 부분적으로만 있는 경우에 발생할 수 있다.
한 구현에서, TAFFI 엔진(115)은 디스플레이된 이미지(102) 내에 커서 위치 및 커서 제어를 구축하기 위해 독립 영역(112)의 중심을 이용한다. TAFFI 엔진(115)은 각 인식된 독립 영역(112)에 대해 통계적 분석을 수행할 수 있고, 여기서 독립 영역 추적기(206)는 각 독립 영역(112)에 속하는 모든 픽셀들의 "중심(centroid)" 또는 평균 픽셀 위치를 컴퓨팅한다. 이 계산된 위치는 많은 픽셀 위치들의 합으로, 이 구현에 대해 안정성 및 정확성을 가져온다. 이 평균 픽셀 위치는 연결된 컴포넌트 컴퓨팅과 같은 단계에서 컴퓨팅될 수 있고, 낮은 프로세싱 비용으로 빠른 결과를 제공하는 효율적인 기술을 가져온다.
독립 영역의 나타남(appearance) 및 사라짐(disappearance)을 시각적 디스플레이를 제어하는 수단으로 간주함으로써, 한 구현에서 독립 영역(112)에 속하는 모든 픽셀들의 평균 픽셀 위치는, 독립 영역(112)이 반복 검출 프로세스의 한 간격 중에 새로이 검출되는 경우에만, 커서 위치 및 제어를 구축한다.
독립 영역(406)의 검출에 의한 커서 제어는 마우스 입력 장치(106)를 흉내낼 수 있다. 마우스와 유사하게, 커서 조작을 위한 관련된 움직임(relative motion) 은 TAFFI(400)에 의해 형성된 검출된 독립 영역(112)의 현재 및 과거 위치로부터 계산될 수 있다. 엄지와 집게손가락을 함께 모으는 것은, 마우스 입력 장치에서와 같이 쉬운 클러칭 거동(clutching behavior)을 가능하게 하는 자연적인 동작이다. TAFFI 검출과 함께 칼만 필터(Kalman filter)를 사용함으로써 시각적 디스플레이(103) 상의 커서의 움직임을 부드럽게 할 수 있다.
예시적인 TAFFI 엔진(115)은 임계값 시간 간격 내에서의 빠른 형성, 제거(unforming), 및 재형성(reforming)에 의해 디스플레이된 이미지(102)의 객체들을 선택하는 것을 지원한다. 이 동작들은 "선택" 또는 "실행" 기능을 위한 마우스 버튼의 "클릭킹"을 흉내내고, 선택된 객체에 대한 추적에서 이의 드래깅으로의 전환을 또한 지원할 수 있다. 예를 들어, 드래깅은 독립 영역(112)의 최후 형성(latest formation)을 즉시 따르는 "마우스-다운(mouse-down)" 이벤트를 흉내냄으로써 구현될 수 있다. 대응되는 "마우스-업(mouse-up)" 이벤트는 엄지와 집게손가락을 벌림으로써 독립 영역(112)이 사라지는 경우에 생성된다. 예를 들어, 독립 영역 형성의 순간에, 예를 들어 시각적 사용자 인터페이스 디스플레이 상의 문서의 스크롤 바와 같은 객체가 선택될 수 있다. 즉시 이 선택에 이어서, 독립 영역(112)을 형성하는 손의 위치는, 문서를 아래로 스크롤하기 위해 마우스(106)가 움직여지는 방식과 유사한 방식으로 움직여질 수 있다.
TAFFI 엔진(115)은 통상적인 마우스-기반 기능을 단지 흉내내는 것보다 많은, 시각적 디스플레이(102)에 대한 제어를 제공할 수 있다. 독립 영역(112)(연결된 컴포넌트)의 픽셀 위치들의 평균 및 공분산(covariance)은, 픽셀 위치들의 공분 산 행렬(covariance matrix)의 고유 벡터(eigenvector)를 계산함으로써, 독립 영역(112)의 모양의 적응된 타원형 모델(oriented ellipsoidal model)과 관련될 수 있다. 고유 벡터의 크기의 제곱근은 (장축 및 단축 크기(major and minor axes size)인) 공간적 범위(spatial extent)를 제공하고, 한편 타원의 배향은 고유 벡터의 아크탄젠트(arctangent)로서 결정되고 180-도까지의 모호성을 갖는다(up to a 180-degree ambiguity). 결과적인 모호성은 이전 프레임과의 배향의 차이를 최소화하기 위해, 계산된 배향 또는 +180 도 회전 배향을 취함으로써 처리될 수 있다.
TAFFI 엔진(115)은 예시적 TAFFI(400)에 의해 생성된 독립 영역(112)의 타원형 모델로부터 위치(position), 배향(orientation), 및 크기(scale)에서의 유사한 변화들을 계산할 수 있다. 다양한 구현에서, 크기에 있어서의 변화는 카메라를 향한 손의 움직임 및 카메라로부터 멀어지는 손의 움직임을 검출하는 데 사용될 수 있다. 이는 독립 영역(112)의 크기 및 모양이 허용 오차(tolerance) 내에서만 변하도록, 독립 영역(112)을 형성하는 사용자의 손이 일반적으로 카메라(104)로부터 고정된 범위 내에 유지된다고 가정하고, 이로써 배향에서 있어서의 시각적 변화들은 배경 영역(302)의 평면, 또는 키보드에 얼마간 제한된다. 한 구현에서, 상호작용 동안, 사용자가 카메라 또는 키보드에 대해 손을 위 아래로 움직임에 따라, 사용자가 독립 영역의 크기-TAFFI(400)에 의해 형성된 타원형 홀의 크기-를 유지해야 한다는 것이 매우 중요한 사항이다(즉, 몇몇 구현에서, 높이의 변화는 독립 영역의 모양의 실제 변화와 혼동된다). 다른 구현에서, TAFFI 엔진(115)은 컴퓨터 비전 로직(computer vision logic)를 이용하여, 손이 위 아래로 움직임에 따른 독립 영 역의 크기의 변화를 보완한다(compensate).
한 예시적인 구현에서, TAFFI 엔진(115)은, WINDOWS? LIVE VIRTUAL EARTH? 웹 서비스, 또는 유사한 인터넷 맵 서비스(워싱턴주, 레드몬드시)에 의해 제공되는 항공 영상(aerial imagery) 및 위성 영상(satellite imagery)에 대한 한 손 탐색(one-handed navigation)을 위해 독립 영역(112)의 타원형 모델을 이용한다. 가상 맵의 전체 시야(view)에 걸친 움직임에 의한 탐색은 테이블 또는 키보드와 같은 배경 영역(302)을 가로질러 움직이는 독립 영역(112)으로 TAFFI(400)에 의해 이루어질 수 있다. 전체 맵의 회전은 독립 영역(112)을 형성하는 손을 키보드의 2차원 평면 내에서 회전함으로써 이루어질 수 있고, 한편 줌인 및 줌 아웃 기능들은 손을 카메라에 가까이 또는 카메라로부터 멀리 움직임으로써 이루어진다.
TAFFI 엔진(115)은 커서 제어 및 탐색을 위해 둘 이상의 손의 사용을 구현할 수 있다. 프레임-투-프레임 대응(frame-to-frame correspondence) 전략은 각 독립 영역(112)이 입력을 위해 카메라에 의해 검출되는 제1, 제2, 제3 영역 등 중 하나로 연속적으로 추적되도록 한다. 카메라에 의해 검출되도록 배경 영역(302)에 대해 두 손을 위치시키는 것, 및 배경 영역(302)과 관련한 손들의 다음의 움직임은 독립 영역(406)들의 타원형 모델의 배향을 변경시키고, 링킹 모듈(210)에 의해 지정된 제어 매개변수를 통해 손 움직임들의 자세(position) 및 위치(location)와 관련된 시각적 사용자 인터페이스 디스플레이의 움직임을 일으킨다.
복수의 손 또는 손가락 동작에 대응되는 복수의 제어 매개변수들에 대한 동 시적인 추적은 다양한 두 손 상호작용(bimanual interaction)을 가능하게 한다. 인터넷 가상 맵 예를 다시 참조하여, 가상 맵에 대한 탐색을 위한 두 손 입력(two-handed input)은 디스플레이(103) 상의 맵 전망도(map view)의 회전, 번역(translation), 및 크기 조정(scaling)의 동시적인 변경을 가능하게 한다. 독립 영역(406)들을 위한 위치 추정치(location estimates)가 손들의 위치로부터 유도되므로, 두 손 기술(two-handed technique)은 한 손 기술(one-handed technique)보다 움짐임에 대한 더 안정적인 추정치들을 제공할 수 있다. 따라서, 두 손 기술은 시계 방향 및 반시계 방향 회전(여기서 두 손은 동시에 회전의 방향으로 움직임); 전체 시각적 사용자 인터페이스 디스플레이 시야(view)의 수직 또는 수평 방향으로의 움직임(여기서 두 손은 원하는 방향으로 움직임); 줌 기능들(여기서 시각적 사용자 인터페이스 디스플레이의 줌인은 두 손이 서로 가까이 시작하여 이후에 서로로부터 떨어지는경우에 이루어지고, 시각적 사용자 인터페이스 디스플레이의 줌 아웃은 분리되어 있는 시작 위치로부터 두 손을 다시 모음으로써 수행됨)을 제공한다.
독립 영역(112)의 타원형 모델로부터 컴퓨팅된, 위치(position), 배향, 및 크기에 있어서의 동시적인 변화는 표준 컴퓨팅 장치 환경 이외의 구현들에서 사용될 수 있다. 예를 들어, TAFFI 엔진(115)은 테이블 상의 카메라 및 프로젝터를 포함하는 인터랙티브 테이블 평면 시스템(control interactive table surface system)을 제어할 수 있지만, 마우스, 터치 스크린, 또는 키보드와 같은 통상적인 입력 장치들은 제어할 수 없다. 사용자는 테이블 평면 위에 손들을 위치시키고, 테이블 평면과 평면 상에 디스플레이된 재료(material)와의 상호작용 및 조작을 제 공하기 위해 독립 영역(406)들을 형성한다. 유사한 구현은 디스플레이 이미지를 벽에 투영시키는 시스템을 포함할 수 있고, 여기서 사용자는 TAFFI(400)로 동작하는 손 및 손가락들을 통해 디스플레이 이미지를 제어하고 상호작용할 수 있다. 예를 들어, TAFFI 엔진(115)은 사용자로 하여금 프로젝터 프리젠테이션 중에 슬라이드를 변경할 수 있도록 한다.
예시적 방법
도 5는 손 또는 손가락 동작을 통해 시각적 디스플레이를 제어하는 예시적 방법을 나타낸다. 흐름도에서, 동작들은 개별 블록들로 요약된다. 구현에 따라, 예시적 방법(500)은, 예를 들어, 예시적 가상 컨트롤러 시스템(100) 및/또는 예시적 TAFFI 엔진(115)에 의해, 하드웨어, 소프트웨어, 또는 하드웨어, 소프트웨어, 펌웨어 등의 조합으로 수행될 수 있다.
블록(502)에서, 배경에 대한 하나 이상의 손(110)들의 이미지가 카메라(104)에 의해 캡처된다. 콘트라스트, 색상, 또는 밝기는 손들과 주변 배경 영역 간의 구별을 가능하게 하는 픽셀 특성일 수 있다. 손은 대비되는 배경에 대해 더 쉽게 감지된다. 손을 감지하는 한 시나리오는 키보드(108)로 타이핑하고 있는 중에 있다. 카메라(104)는 손(110)들 및 배경 영역의 일부로서 감지되는 키보드(108)의 이미지를 캡처한다. 본 방법에서 적외선 LED 조명 또한 사용될 수 있고, 이는 대부분의 손들이 피부톤(skin tone)으로 유사하게 카메라(104)에 보이도록 제어된 조명을 제공한다.
블록(504)에서, 이미지는 2진 세그먼테이션에 의해 손 객체 및 배경 영역들 로 세그먼트된다. 예를 들어, 배경 영역 픽셀들은 이미지 내의 임의의 다른 객체 또는 영역의 픽셀들로부터 식별되고 구별된다. 다음, 배경 영역 픽셀들은 값으로 레이블된다(labeled). 이미지 내의 다른 객체 또는 영역들의 픽셀들은 이어서 식별되고 저장된 배경 이미지의 픽셀들의 값과 비교된다. 대응되는 배경 픽셀 값보다 두드러지게 밝은 임의의 픽셀 값은 새로운 영역 또는 이미지의 일부로 레이블되고, 배경 영역 픽셀들과 다른 값이 주어진다. 이미지의 서로 다른 영역들에 대한 구별 및 레이블링(labeling)이 이미지의 2진 세그먼테이션이다.
블록(506)에서, 배경의 독립 영역들 중 다수는 반복되는 검출 간격으로 카운팅된다. 독립 영역(406)들은 손 객체(110)들 중 하나의 적어도 일부에 의해 배경의 다른 부분들로부터 시각적으로 독립된 배경(302)의 각 부분으로서 정의된다. 예를 들어, 손이 엄지 및 집게손가락 인터페이스, 또는 TAFFI로서 동작할 때, 손의 엄지와 집게손가락은 일반적인 배경 영역의 나머지 부분으로부터 독립된 고립된 영역(enclosed area)을 형성한다. 고립된 영역은 새로운 독립 영역(112)을 형성하고, 여기에 시각적 디스플레이를 조작하기 위한 제어 매개변수가 부착될(attached) 수 있다. 한 구현에서, 방법은 검출된 독립 영역들이 정말로 독립적인지를 검사하고, 즉, 한 경우, 독립 영역이 이미지의 경계에 픽셀들을 갖는지를 검사한다.
블록(508)에서, 디스플레이 상의 이미지를 조작하기 위한 제어 매개변수는 각 카운팅된 독립 영역 또는 그 특성과 관련된다. 예를 들어, TAFFI로서 사용되는 손에 의해 생성된 독립 영역(112)은 카메라(104)에 의해 감지되고, 사용자로 하여금 사용자 인터페이스 디스플레이 상의 객체를 선택할 수 있도록 하는 제어 매개변 수와 상호관련된다(correlated). 다음, 제2 감지된 독립 영역(112)이 사용자 인터페이스 제어 매개변수와 상호관련되고, 사용자로 하여금 이전에 선택된 객체를 사용자 인터페이스 디스플레이 상의 다른 위치에 옮길 수 있도록 한다. 제1 및 제2 독립 영역을 감지하는 이 빠른 연속 과정(succession)은 독립 영역(406)들의 빠른 형성, 제거, 및 재형성에 의해 일어날 수 있고, 감지된 독립 영역(112)과 관련된 마우스와 같은(mouse-like) "클릭킹" 기능을 가져온다.
블록(510)에서, 디스플레이된 이미지는 제어 매개변수에 지정된 독립 영역의 특성에 있어서의 각 변화와 관련하여 제어 매개변수를 통해 변경된다. 예를 들어, 독립 영역(112)의 위치는 감지하는 카메라(104)와 관련하여 왼쪽 또는 오른쪽으로 이동할 수 있고 디스플레이된 이미지(102)는 그에 따를 수 있다. 감지된 독립 영역(112)과 제어 매개변수를 관련시키는 것은 TAFFI로 사용되고 있는 손들의 움직임, 위치, 및 관계(relation)에 따른, 디스플레이된 시각적 이미지(102)의 조작을 가능하게 한다.
상기 방법(500) 및 다른 관련된 방법들은 일반적으로 컴퓨터 실행가능 명령어들과 관련하여 구현될 수 있다. 일반적으로, 컴퓨터 실행가능 명령어들은 특정 기능을 수행하거나 특정 추상 데이터 유형들을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조, 프로시저, 모듈, 기능, 및 이와 유사한 것 등을 포함할 수 있다. 방법들은 또한 통신 네트워크를 통해 링크되어 있는 원격 프로세싱 장치들에 의해 기능들이 수행되는 분산 컴퓨팅 환경에서 실행될 수 있다. 분산 컴퓨팅 환경에서, 컴퓨터 실행가능 명령어들은 메모리 저장 장치들을 포함하는 로컬 및 원 격 컴퓨터 저장 매체 모두에 위치할 수 있다.
결론
예시적인 시스템 및 방법들이 구조적 특징 및/또는 방법론적 동작들에 잇어 구체적인 언어로 설명되었지만, 첨부된 청구항들에 정의된 본 발명은 반드시 설명된 특정 특징들 동작들에 제한되는 것이 아님을 이해해야 한다. 오히려, 특정 특징 및 동작들은 청구된 방법, 장치, 시스템 등을 구현하기 위한 예시적인 형태로서 개시된 것이다.

Claims (20)

  1. 카메라를 통해, 실질적으로 정적인 배경에 대해 하나 이상의 손의 이미지를 검출하는 단계;
    상기 이미지를 손 영역들 및 배경 영역들로 분할(segmenting)하는 단계;
    간격을 두고(at intervals), 상기 배경의 독립 영역(independent area)의 수를 카운팅(counting)하는 단계- 상기 배경의 다른 부분들로부터 시각적으로 독립된 상기 배경의 각 부분은 독립 영역으로서 정의되고, 상기 독립 영역 각각은 상기 손 영역들의 적어도 일부에 의해 상기 배경의 상기 다른 부분들로부터 시각적으로 분리됨-;
    사용자 인터페이스 상에 디스플레이된 이미지를 조작하기 위한 제어 매개변수(control parameter)를 각각의 카운팅된 독립 영역의 중심과 관련시키는 단계; 및
    상기 제어 매개변수와 관련된 상기 독립 영역의 모양 및 위치 중 적어도 하나에 있어서의 각각의 변화와 관련하여 상기 제어 매개변수를 통해 상기 디스플레이된 이미지를 변경하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 독립 영역이 다시 연결되었을 때, 제어 매개변수를 관련된 독립 영역으로부터 분리하는(dissociating) 단계를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 제어 매개변수는 독립 영역이 임계 시간 간격(threshold time interval) 내에서 형성(form), 제거(unform), 및 재형성(reform)될 때 마우스 버튼의 동작(actuation)을 에뮬레이트(emulate)하는 것을 포함하는 방법.
  4. 제1항에 있어서,
    상기 제어 매개변수는 마우스 포인터(mouse pointer)의 에뮬레이션(emulation) 및 움직임을 포함하는 방법.
  5. 제1항에 있어서,
    상기 제어 매개변수는 커서의 움직임을 포함하는 방법.
  6. 제1항에 있어서,
    상기 제어 매개변수는 상기 사용자 인터페이스와 관련한 상기 디스플레이된 이미지의 움직임을 포함하는 방법.
  7. 제6항에 있어서,
    상기 움직임은 수직 움직임, 수평 움직임, 또는 회전 움직임 중 하나를 포함하는 방법.
  8. 제1항에 있어서,
    상기 제어 매개변수는 상기 사용자 인터페이스 상의 상기 디스플레이된 이미지의 크기를 줌잉(zooming) 또는 축소시키는 것을 포함하는 방법.
  9. 제1항에 있어서,
    상기 제어 매개변수를 두 개의 독립 영역 사이의 관계와 관련시키는 단계를 더 포함하고, 각 독립 영역은 각 손의 이미지에 의해 형성되는 방법.
  10. 제9항에 있어서,
    상기 제어 매개변수는 상기 두 개의 독립 영역 사이의 거리 변화와 관련하여 상기 디스플레이된 이미지를 늘리는(stretching) 것을 포함하는 방법.
  11. 제9항에 있어서,
    두 개의 독립 영역 사이의 관계와 관련된 상기 제어 매개변수는,
    상기 두 개의 독립 영역 사이의 선의 회전과 관련하여 상기 디스플레이된 이미지를 회전시키는 것;
    두 독립 영역들 모두 유사한 호 방향(arc direction)으로 움직일 때 상기 디스플레이된 이미지를 시계 방향 또는 반시계 방향으로 회전시키는 것;
    두 개의 독립 영역이 동시에 같은 방향으로 움직일 때 전체 디스플레이된 이미지를 움직이는 것; 및
    독립 영역들 사이의 거리가 변할 때 상기 디스플레이된 이미지를 줌잉(zooming)하는 것
    중 하나를 제어하는 방법.
  12. 제1항에 있어서,
    상기 손 영역들 중 하나의 엄지 영역 또는 집게손가락 영역이 엄지 및 집게손가락 인터페이스(thumb and forefinger interface, TAFFI)를 정의하고, 상기 엄지 영역과 상기 집게손가락 영역은 시각적으로 서로 접촉하여, 독립 영역을 형성하도록 상기 배경의 일부분을 상기 배경의 다른 부분들로부터 시각적으로 분리(disconnect)하는 방법.
  13. 실질적으로 정적인 배경에 대해 하나 이상의 손을 포함하는 이미지를 검출하기 위한 이미지 센서;
    상기 이미지를 하나 이상의 손 영역들 및 상기 배경으로 분할하기 위한 이미지 분리기(image separator);
    간격을 두고, 상기 배경의 독립 영역들의 수를 카운팅하기 위한 계산 모듈- 상기 배경의 다른 부분들로부터 시각적으로 독립된 상기 배경의 각 부분은 독립 영역으로서 정의되고, 상기 독립 영역 각각은 상기 손 영역들의 적어도 일부에 의해 상기 배경의 상기 다른 부분들로부터 시각적으로 분리됨 -; 및
    사용자 인터페이스 상의 디스플레이된 이미지를 조작하기 위한 제어 매개변수를 각각 카운팅된 독립 영역의 중심과 관련시키기 위한 링킹 모듈(linking module)
    을 포함하고,
    상기 제어 매개변수와 관련된 상기 독립 영역의 모양 및 위치 중 적어도 하나에 있어서의 각각의 변화는 상기 제어 매개변수를 통해 상기 디스플레이된 이미지를 변경시키는
    시스템.
  14. 제13항에 있어서,
    상기 독립 영역이 다시 연결되면 상기 링킹 모듈은 각 제어 매개변수를 분리시키는(dissociate) 시스템.
  15. 제13항에 있어서,
    상기 링킹 모듈은, 독립 영역이 임계 시간 간격 내에서 형성, 제거, 및 재형성될 때 마우스 버튼의 동작을 에뮬레이트하는 제어 매개변수를 관련시키는 시스템.
  16. 제13항에 있어서,
    상기 링킹 모듈은, 마우스 포인터의 이미지, 커서의 이미지, 및 상기 디스플레이된 이미지의 적어도 일부로 이루어지는 시각적 지표(visiual indicator)들의 그룹으로부터 선택된 시각적 지표의 움직임을 에뮬레이트하는 제어 매개변수를 관련시키고, 상기 움직임은 수직 움직임, 수평 움직임, 회전 움직임, 줌인(zooming-in) 움직임, 및 줌 아웃(zooming-out) 움직임으로 이루어진 움직임들의 그룹으로부터 선택된 움직임을 포함하는 시스템.
  17. 제13항에 있어서,
    상기 링킹 모듈은 상기 제어 매개변수를 두 개의 독립 영역 사이의 관계와 관련시키고, 각 독립 영역은 각 손의 이미지에 의해 형성되는 시스템.
  18. 제17항에 있어서,
    상기 링킹 모듈은 상기 두 개의 독립 영역 사이의 거리 변화와 관련하여 상기 디스플레이된 이미지를 늘리는(stretch) 제어 매개변수를 관련시키는 시스템.
  19. 제17항에 있어서,
    상기 링킹 모듈은 상기 두 개의 독립 영역 사이의 선의 회전과 관련하여 상기 디스플레이된 이미지를 회전시키는 제어 매개변수를 관련시키는 시스템.
  20. 손의 움직임에 할당된(assigned) 제어 매개변수를 통해 사용자 인터페이스 상의 디스플레이된 이미지를 변경시키기 위한 시스템으로서,
    실질적으로 정적인 배경에 대해 하나 이상의 손의 이미지를 검출하기 위한 수단;
    상기 이미지를 하나 이상의 손 영역들 및 상기 배경으로 분할하기 위한 수단;
    고정된 간격으로, 상기 배경의 독립 영역들의 수를 카운팅하기 위한 수단- 상기 배경의 다른 부분들로부터 시각적으로 독립되고 손 영역의 적어도 일부에 의해 상기 배경의 상기 다른 부분들로부터 시각적으로 분리된 상기 배경의 각 부분은 독립 영역으로서 정의됨 -;
    사용자 인터페이스 상의 디스플레이된 이미지를 조작하기 위한 제어 매개변수를 각각 카운팅된 독립 영역의 중심과 관련시키고, 상기 제어 매개변수와 관련된 상기 독립 영역의 모양 및 위치 중 적어도 하나에 있어서의 각각의 변화와 관련하여 상기 제어 매개변수를 통해 상기 디스플레이된 이미지를 변경시키기 위한 수단
    을 포함하는 시스템.
KR1020097002523A 2006-08-08 2007-05-29 손의 움직임에 지정된 제어 매개변수를 통해 사용자 인터페이스 상의 디스플레이된 이미지를 변경시키기 위한 시스템 및 방법 KR101292467B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/463,183 2006-08-08
US11/463,183 US7907117B2 (en) 2006-08-08 2006-08-08 Virtual controller for visual displays
PCT/US2007/012546 WO2008018943A1 (en) 2006-08-08 2007-05-29 Virtual controller for visual displays

Publications (2)

Publication Number Publication Date
KR20090047454A KR20090047454A (ko) 2009-05-12
KR101292467B1 true KR101292467B1 (ko) 2013-08-05

Family

ID=39033312

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097002523A KR101292467B1 (ko) 2006-08-08 2007-05-29 손의 움직임에 지정된 제어 매개변수를 통해 사용자 인터페이스 상의 디스플레이된 이미지를 변경시키기 위한 시스템 및 방법

Country Status (14)

Country Link
US (4) US7907117B2 (ko)
EP (1) EP2049976B1 (ko)
JP (1) JP4965653B2 (ko)
KR (1) KR101292467B1 (ko)
CN (1) CN101501614B (ko)
BR (1) BRPI0714232B1 (ko)
CA (4) CA2880053C (ko)
IL (1) IL196018A (ko)
MX (1) MX2009000305A (ko)
MY (1) MY161823A (ko)
NO (1) NO20090116L (ko)
RU (1) RU2439653C2 (ko)
WO (1) WO2008018943A1 (ko)
ZA (1) ZA200810106B (ko)

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990639B2 (en) * 2002-02-07 2006-01-24 Microsoft Corporation System and process for controlling electronic components in a ubiquitous computing environment using multimodal integration
US8745541B2 (en) 2003-03-25 2014-06-03 Microsoft Corporation Architecture for controlling a computer using hand gestures
US7665041B2 (en) * 2003-03-25 2010-02-16 Microsoft Corporation Architecture for controlling a computer using hand gestures
US7038661B2 (en) * 2003-06-13 2006-05-02 Microsoft Corporation Pointing device and cursor for use in intelligent computing environments
US8133115B2 (en) 2003-10-22 2012-03-13 Sony Computer Entertainment America Llc System and method for recording and displaying a graphical path in a video game
US20050227217A1 (en) * 2004-03-31 2005-10-13 Wilson Andrew D Template matching on interactive surface
US7787706B2 (en) * 2004-06-14 2010-08-31 Microsoft Corporation Method for controlling an intensity of an infrared source used to detect objects adjacent to an interactive display surface
US7593593B2 (en) 2004-06-16 2009-09-22 Microsoft Corporation Method and system for reducing effects of undesired signals in an infrared imaging system
US8872899B2 (en) * 2004-07-30 2014-10-28 Extreme Reality Ltd. Method circuit and system for human to machine interfacing by hand gestures
US8114172B2 (en) 2004-07-30 2012-02-14 Extreme Reality Ltd. System and method for 3D space-dimension based image processing
US8681100B2 (en) 2004-07-30 2014-03-25 Extreme Realty Ltd. Apparatus system and method for human-machine-interface
US8560972B2 (en) 2004-08-10 2013-10-15 Microsoft Corporation Surface UI for gesture-based interaction
US20060071933A1 (en) 2004-10-06 2006-04-06 Sony Computer Entertainment Inc. Application binary interface for multi-pass shaders
US9128519B1 (en) 2005-04-15 2015-09-08 Intellectual Ventures Holding 67 Llc Method and system for state-based control of objects
US7636126B2 (en) 2005-06-22 2009-12-22 Sony Computer Entertainment Inc. Delay matching in audio/video systems
US7911444B2 (en) 2005-08-31 2011-03-22 Microsoft Corporation Input method for surface of interactive display
US9046962B2 (en) 2005-10-31 2015-06-02 Extreme Reality Ltd. Methods, systems, apparatuses, circuits and associated computer executable code for detecting motion, position and/or orientation of objects within a defined spatial region
US20070285554A1 (en) * 2005-10-31 2007-12-13 Dor Givon Apparatus method and system for imaging
US8060840B2 (en) * 2005-12-29 2011-11-15 Microsoft Corporation Orientation free user interface
US7880746B2 (en) 2006-05-04 2011-02-01 Sony Computer Entertainment Inc. Bandwidth management through lighting control of a user environment via a display device
US7965859B2 (en) 2006-05-04 2011-06-21 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
US7907117B2 (en) * 2006-08-08 2011-03-15 Microsoft Corporation Virtual controller for visual displays
US8212857B2 (en) * 2007-01-26 2012-07-03 Microsoft Corporation Alternating light sources to reduce specular reflection
US20080189661A1 (en) * 2007-02-06 2008-08-07 Jazzbo Technology Inc. Video user interface
US7979315B2 (en) * 2007-03-14 2011-07-12 Microsoft Corporation Virtual features of physical items
US20080229232A1 (en) * 2007-03-16 2008-09-18 Apple Inc. Full screen editing of visual media
US7954067B2 (en) * 2007-03-16 2011-05-31 Apple Inc. Parameter setting superimposed upon an image
US8230367B2 (en) 2007-09-14 2012-07-24 Intellectual Ventures Holding 67 Llc Gesture-based user interactions with status indicators for acceptable inputs in volumetric zones
JP4569613B2 (ja) * 2007-09-19 2010-10-27 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
US8073198B2 (en) * 2007-10-26 2011-12-06 Samsung Electronics Co., Ltd. System and method for selection of an object of interest during physical browsing by finger framing
US8159682B2 (en) 2007-11-12 2012-04-17 Intellectual Ventures Holding 67 Llc Lens system
US9171454B2 (en) * 2007-11-14 2015-10-27 Microsoft Technology Licensing, Llc Magic wand
US20100039500A1 (en) * 2008-02-15 2010-02-18 Matthew Bell Self-Contained 3D Vision System Utilizing Stereo Camera and Patterned Illuminator
US8259163B2 (en) 2008-03-07 2012-09-04 Intellectual Ventures Holding 67 Llc Display with built in 3D sensing
US20110102570A1 (en) * 2008-04-14 2011-05-05 Saar Wilf Vision based pointing device emulation
US8595218B2 (en) * 2008-06-12 2013-11-26 Intellectual Ventures Holding 67 Llc Interactive display management systems and methods
TW201005579A (en) * 2008-07-22 2010-02-01 Asustek Comp Inc Apparatus for reading electric document and method for operating electric document read
US20100031202A1 (en) * 2008-08-04 2010-02-04 Microsoft Corporation User-defined gesture set for surface computing
US8847739B2 (en) * 2008-08-04 2014-09-30 Microsoft Corporation Fusing RFID and vision for surface object tracking
CA2735992A1 (en) * 2008-09-04 2010-03-11 Extreme Reality Ltd. Method system and software for providing image sensor based human machine interfacing
US20100105479A1 (en) 2008-10-23 2010-04-29 Microsoft Corporation Determining orientation in an external reference frame
CN101727177B (zh) * 2008-10-30 2012-09-19 深圳富泰宏精密工业有限公司 鼠标模拟***及其应用方法
TWI486821B (zh) * 2008-11-28 2015-06-01 Chi Mei Comm Systems Inc 滑鼠類比系統及其應用方法
US20100241987A1 (en) * 2009-03-19 2010-09-23 Microsoft Corporation Tear-Drop Way-Finding User Interfaces
US8121640B2 (en) * 2009-03-19 2012-02-21 Microsoft Corporation Dual module portable devices
US8849570B2 (en) * 2009-03-19 2014-09-30 Microsoft Corporation Projected way-finding
US20100241999A1 (en) * 2009-03-19 2010-09-23 Microsoft Corporation Canvas Manipulation Using 3D Spatial Gestures
US8942428B2 (en) 2009-05-01 2015-01-27 Microsoft Corporation Isolate extraneous motions
US8181123B2 (en) * 2009-05-01 2012-05-15 Microsoft Corporation Managing virtual port associations to users in a gesture-based computing environment
US20100289912A1 (en) * 2009-05-14 2010-11-18 Sony Ericsson Mobile Communications Ab Camera arrangement with image modification
US9417700B2 (en) 2009-05-21 2016-08-16 Edge3 Technologies Gesture recognition systems and related methods
US20100309140A1 (en) * 2009-06-05 2010-12-09 Microsoft Corporation Controlling touch input modes
KR20110007806A (ko) * 2009-07-17 2011-01-25 삼성전자주식회사 카메라를 이용하여 손동작을 인식하는 장치 및 방법
US8438503B2 (en) 2009-09-02 2013-05-07 Universal Electronics Inc. System and method for enhanced command input
TWI371681B (en) * 2009-09-18 2012-09-01 Primax Electronics Ltd Notebook computer with multi-image capture function
KR101577106B1 (ko) 2009-09-21 2015-12-11 익스트림 리얼리티 엘티디. 인간 기계가 가전 기기와 인터페이싱하기 위한 방법, 회로, 장치 및 시스템
US8878779B2 (en) 2009-09-21 2014-11-04 Extreme Reality Ltd. Methods circuits device systems and associated computer executable code for facilitating interfacing with a computing platform display screen
GB2483168B (en) 2009-10-13 2013-06-12 Pointgrab Ltd Computer vision gesture based control of a device
KR101184460B1 (ko) * 2010-02-05 2012-09-19 연세대학교 산학협력단 마우스 포인터 제어 장치 및 방법
US8818027B2 (en) * 2010-04-01 2014-08-26 Qualcomm Incorporated Computing device interface
EP2378394A3 (en) * 2010-04-15 2015-03-25 Electronics and Telecommunications Research Institute User interface device and method for recognizing user interaction using same
JP2011234229A (ja) * 2010-04-28 2011-11-17 Olympus Imaging Corp 撮像装置
US10786736B2 (en) 2010-05-11 2020-09-29 Sony Interactive Entertainment LLC Placement of user information in a game space
US8396252B2 (en) 2010-05-20 2013-03-12 Edge 3 Technologies Systems and related methods for three dimensional gesture recognition in vehicles
US20110289462A1 (en) * 2010-05-20 2011-11-24 Microsoft Corporation Computing Device Magnification Gesture
CN101901052B (zh) * 2010-05-24 2012-07-04 华南理工大学 双手互为参考的目标控制方法
FR2960986A1 (fr) 2010-06-04 2011-12-09 Thomson Licensing Procede de selection d’un objet dans un environnement virtuel
US9009594B2 (en) 2010-06-10 2015-04-14 Microsoft Technology Licensing, Llc Content gestures
US9132352B1 (en) * 2010-06-24 2015-09-15 Gregory S. Rabin Interactive system and method for rendering an object
WO2012030872A1 (en) 2010-09-02 2012-03-08 Edge3 Technologies Inc. Method and apparatus for confusion learning
US8666144B2 (en) 2010-09-02 2014-03-04 Edge 3 Technologies, Inc. Method and apparatus for determining disparity of texture
US8655093B2 (en) 2010-09-02 2014-02-18 Edge 3 Technologies, Inc. Method and apparatus for performing segmentation of an image
US8582866B2 (en) 2011-02-10 2013-11-12 Edge 3 Technologies, Inc. Method and apparatus for disparity computation in stereo images
US8963836B2 (en) 2010-09-17 2015-02-24 Tencent Technology (Shenzhen) Company Limited Method and system for gesture-based human-machine interaction and computer-readable medium thereof
CN102402279B (zh) * 2010-09-17 2016-05-25 腾讯科技(深圳)有限公司 基于手势的人机交互方法及***
US20120084737A1 (en) 2010-10-01 2012-04-05 Flextronics Id, Llc Gesture controls for multi-screen hierarchical applications
US20130285908A1 (en) * 2011-01-06 2013-10-31 Amir Kaplan Computer vision based two hand control of content
JP2014504074A (ja) 2011-01-23 2014-02-13 エクストリーム リアリティー エルティーディー. 立体三次元イメージおよびビデオを生成する方法、システム、装置、および、関連する処理論理回路
US8970589B2 (en) 2011-02-10 2015-03-03 Edge 3 Technologies, Inc. Near-touch interaction with a stereo camera grid structured tessellations
WO2012135153A2 (en) * 2011-03-25 2012-10-04 Oblong Industries, Inc. Fast fingertip detection for initializing a vision-based hand tracker
US9189825B2 (en) * 2011-04-12 2015-11-17 Lg Electronics Inc. Electronic device and method for displaying stereoscopic image
WO2012145011A1 (en) * 2011-04-22 2012-10-26 Hewlett-Packard Development Company, L.P. Systems and methods for displaying data on large interactive devices
GB2491473B (en) * 2011-05-31 2013-08-14 Pointgrab Ltd Computer vision based control of a device using machine learning
JP5845002B2 (ja) 2011-06-07 2016-01-20 ソニー株式会社 画像処理装置および方法、並びにプログラム
US20130009989A1 (en) * 2011-07-07 2013-01-10 Li-Hui Chen Methods and systems for image segmentation and related applications
US8971572B1 (en) 2011-08-12 2015-03-03 The Research Foundation For The State University Of New York Hand pointing estimation for human computer interaction
US8842057B2 (en) * 2011-09-27 2014-09-23 Z124 Detail on triggers: transitional states
US9672609B1 (en) 2011-11-11 2017-06-06 Edge 3 Technologies, Inc. Method and apparatus for improved depth-map estimation
US8811938B2 (en) 2011-12-16 2014-08-19 Microsoft Corporation Providing a user interface experience based on inferred vehicle state
WO2013095679A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Computing system utilizing coordinated two-hand command gestures
WO2013095677A1 (en) 2011-12-23 2013-06-27 Intel Corporation Computing system utilizing three-dimensional manipulation command gestures
WO2013095678A1 (en) 2011-12-23 2013-06-27 Intel Corporation Mechanism to provide feedback regarding computing system command gestures
WO2013095671A1 (en) 2011-12-23 2013-06-27 Intel Corporation Transition mechanism for computing system utilizing user sensing
KR20130078490A (ko) * 2011-12-30 2013-07-10 삼성전자주식회사 전자 장치 및 그의 제어 방법
US20150220149A1 (en) * 2012-02-14 2015-08-06 Google Inc. Systems and methods for a virtual grasping user interface
CN102609093A (zh) * 2012-02-16 2012-07-25 中国农业大学 用手势控制视频播放的方法及装置
US8938124B2 (en) 2012-05-10 2015-01-20 Pointgrab Ltd. Computer vision based tracking of a hand
ES2443265B1 (es) * 2012-08-16 2014-11-13 Eads Construcciones Aeronauticas, S.A. Banco de fabricación o verificación de mazos eléctricos
GB2507963A (en) * 2012-11-14 2014-05-21 Renergy Sarl Controlling a Graphical User Interface
TWI502519B (zh) * 2012-11-21 2015-10-01 Wistron Corp 手勢辨識模組及手勢辨識方法
US20140152566A1 (en) * 2012-12-05 2014-06-05 Brent A. Safer Apparatus and methods for image/sensory processing to control computer operations
KR20140085055A (ko) * 2012-12-27 2014-07-07 삼성전자주식회사 전자 장치 및 그의 제어 방법
US10721448B2 (en) 2013-03-15 2020-07-21 Edge 3 Technologies, Inc. Method and apparatus for adaptive exposure bracketing, segmentation and scene organization
US20140282224A1 (en) * 2013-03-15 2014-09-18 Qualcomm Incorporated Detection of a scrolling gesture
US9201589B2 (en) 2013-05-21 2015-12-01 Georges Antoine NASRAOUI Selection and display of map data and location attribute data by touch input
US9696812B2 (en) * 2013-05-29 2017-07-04 Samsung Electronics Co., Ltd. Apparatus and method for processing user input using motion of object
GB201314984D0 (en) 2013-08-21 2013-10-02 Sony Comp Entertainment Europe Head-mountable apparatus and systems
EP2846243B1 (en) * 2013-09-04 2019-08-14 Matthias Rath Graphical user interface providing virtual super-zoom functionality
US9727915B2 (en) * 2013-09-26 2017-08-08 Trading Technologies International, Inc. Methods and apparatus to implement spin-gesture based trade action parameter selection
ITCO20130068A1 (it) * 2013-12-18 2015-06-19 Nu Tech S A S Di De Michele Marco & Co Metodo per fornire comandi d'utente ad un elaboratore elettronico e relativi programma per elaborare e circuito elettronico.
US11435895B2 (en) 2013-12-28 2022-09-06 Trading Technologies International, Inc. Methods and apparatus to enable a trading device to accept a user input
WO2015102658A1 (en) * 2014-01-03 2015-07-09 Intel Corporation Systems and techniques for user interface control
KR20160037508A (ko) * 2014-09-29 2016-04-06 삼성전자주식회사 디스플레이 장치 및 그의 표시 방법
DE102014226553A1 (de) * 2014-12-19 2016-06-23 Robert Bosch Gmbh Verfahren zum Betreiben einer Eingabevorrichtung, Eingabevorrichtung, Kraftfahrzeug
CN104850340B (zh) 2015-01-30 2018-11-30 小米科技有限责任公司 触控显示屏上的文档显示方法及装置
CN106406507B (zh) * 2015-07-30 2020-03-27 株式会社理光 图像处理方法以及电子设备
CN105159524A (zh) 2015-08-03 2015-12-16 小米科技有限责任公司 界面显示方法及装置
CA3045008A1 (en) * 2016-02-29 2017-09-08 Smart Lamp, Inc. D/B/A Lampix Method and apparatus for providing user interfaces with computerized systems and interacting with a virtual environment
TWI695296B (zh) * 2016-04-29 2020-06-01 姚秉洋 內建感應器及光源模組之鍵盤裝置
US11182853B2 (en) 2016-06-27 2021-11-23 Trading Technologies International, Inc. User action for continued participation in markets
CN110719760A (zh) 2017-05-26 2020-01-21 柯惠Lp公司 用于成像装置的控制器
US11360558B2 (en) 2018-07-17 2022-06-14 Apple Inc. Computer systems with finger devices
KR102164706B1 (ko) * 2018-07-19 2020-10-12 한남대학교 산학협력단 초고속 문서작성을 위한 손가락 제스처 인식 기반 마우스
TWI710973B (zh) * 2018-08-10 2020-11-21 緯創資通股份有限公司 手勢識別方法、手勢識別模組及手勢識別系統
CN110286780B (zh) * 2019-06-26 2022-06-07 西南民族大学 一种基于机器视觉的机电混合式无人值守计算机操作装置
US11430414B2 (en) 2019-10-17 2022-08-30 Microsoft Technology Licensing, Llc Eye gaze control of magnification user interface
US11360587B1 (en) 2020-04-07 2022-06-14 Apple Inc. Deployment systems for computer system finger devices
US20240069643A1 (en) * 2022-08-31 2024-02-29 Youjean Cho Physical gesture interaction with objects based on intuitive design
US12019773B2 (en) 2022-08-31 2024-06-25 Snap Inc. Timelapse of generating a collaborative object

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115482A (en) 1996-02-13 2000-09-05 Ascent Technology, Inc. Voice-output reading system with gesture-based navigation
US6417836B1 (en) 1999-08-02 2002-07-09 Lucent Technologies Inc. Computer input device having six degrees of freedom for controlling movement of a three-dimensional object
JP2002259046A (ja) 2001-02-28 2002-09-13 Tomoya Sonoda 空中で手描きした文字・記号入力システム
JP2006059147A (ja) 2004-08-20 2006-03-02 Kiyomi Nakamura コンピュータ入力方法と装置

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US484568A (en) * 1892-10-18 Farm-gate
US4843568A (en) 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
JPH0736142B2 (ja) 1991-10-10 1995-04-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 移動指示手段の運動停止を認識する方法および情報処理装置
US5483261A (en) 1992-02-14 1996-01-09 Itu Research, Inc. Graphical input controller and method with rear screen image detection
US5594469A (en) * 1995-02-21 1997-01-14 Mitsubishi Electric Information Technology Center America Inc. Hand gesture machine control system
US6002808A (en) * 1996-07-26 1999-12-14 Mitsubishi Electric Information Technology Center America, Inc. Hand gesture control system
US6720949B1 (en) 1997-08-22 2004-04-13 Timothy R. Pryor Man machine interfaces and applications
US6195104B1 (en) 1997-12-23 2001-02-27 Philips Electronics North America Corp. System and method for permitting three-dimensional navigation through a virtual reality environment using camera-based gesture inputs
US6181343B1 (en) 1997-12-23 2001-01-30 Philips Electronics North America Corp. System and method for permitting three-dimensional navigation through a virtual reality environment using camera-based gesture inputs
US6269172B1 (en) 1998-04-13 2001-07-31 Compaq Computer Corporation Method for tracking the motion of a 3-D figure
US6950534B2 (en) 1998-08-10 2005-09-27 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6204852B1 (en) 1998-12-09 2001-03-20 Lucent Technologies Inc. Video hand image three-dimensional computer interface
JP2000298544A (ja) * 1999-04-12 2000-10-24 Matsushita Electric Ind Co Ltd 入出力装置と入出力方法
US6771834B1 (en) * 1999-07-02 2004-08-03 Intel Corporation Method for segmenting a digital image
RU2175143C1 (ru) 2000-04-04 2001-10-20 Свириденко Андрей Владимирович Способ дистанционного управления
US6624833B1 (en) 2000-04-17 2003-09-23 Lucent Technologies Inc. Gesture-based input interface system with shadow detection
US6531999B1 (en) 2000-07-13 2003-03-11 Koninklijke Philips Electronics N.V. Pointing direction calibration in video conferencing and other camera-based system applications
US6795068B1 (en) 2000-07-21 2004-09-21 Sony Computer Entertainment Inc. Prop input device and method for mapping an object from a two-dimensional camera image to a three-dimensional space for controlling action in a game program
US7095401B2 (en) 2000-11-02 2006-08-22 Siemens Corporate Research, Inc. System and method for gesture interface
US6600475B2 (en) 2001-01-22 2003-07-29 Koninklijke Philips Electronics N.V. Single camera system for gesture-based input and target indication
US6804396B2 (en) 2001-03-28 2004-10-12 Honda Giken Kogyo Kabushiki Kaisha Gesture recognition system
US6888960B2 (en) 2001-03-28 2005-05-03 Nec Corporation Fast optimal linear approximation of the images of variably illuminated solid objects for recognition
US6943774B2 (en) * 2001-04-02 2005-09-13 Matsushita Electric Industrial Co., Ltd. Portable communication terminal, information display device, control input device and control input method
US6539931B2 (en) 2001-04-16 2003-04-01 Koninklijke Philips Electronics N.V. Ball throwing assistant
US6594616B2 (en) 2001-06-18 2003-07-15 Microsoft Corporation System and method for providing a mobile input device
US7007236B2 (en) 2001-09-14 2006-02-28 Accenture Global Services Gmbh Lab window collaboration
JP2003131785A (ja) * 2001-10-22 2003-05-09 Toshiba Corp インタフェース装置および操作制御方法およびプログラム製品
AU2003217587A1 (en) 2002-02-15 2003-09-09 Canesta, Inc. Gesture recognition system using depth perceptive sensors
GB0204652D0 (en) 2002-02-28 2002-04-10 Koninkl Philips Electronics Nv A method of providing a display gor a gui
US7821541B2 (en) 2002-04-05 2010-10-26 Bruno Delean Remote control apparatus using gesture recognition
US20030214481A1 (en) 2002-05-14 2003-11-20 Yongming Xiong Finger worn and operated input device and method of use
US20040001113A1 (en) 2002-06-28 2004-01-01 John Zipperer Method and apparatus for spline-based trajectory classification, gesture detection and localization
US6996460B1 (en) 2002-10-03 2006-02-07 Advanced Interfaces, Inc. Method and apparatus for providing virtual touch interaction in the drive-thru
US9177387B2 (en) 2003-02-11 2015-11-03 Sony Computer Entertainment Inc. Method and apparatus for real time motion capture
US7665041B2 (en) 2003-03-25 2010-02-16 Microsoft Corporation Architecture for controlling a computer using hand gestures
JP4355341B2 (ja) 2003-05-29 2009-10-28 本田技研工業株式会社 深度データを用いたビジュアルトラッキング
US7038661B2 (en) 2003-06-13 2006-05-02 Microsoft Corporation Pointing device and cursor for use in intelligent computing environments
US7411575B2 (en) * 2003-09-16 2008-08-12 Smart Technologies Ulc Gesture recognition method and touch system incorporating the same
KR100588042B1 (ko) 2004-01-14 2006-06-09 한국과학기술연구원 인터액티브 프레젠테이션 시스템
WO2005084209A2 (en) 2004-02-27 2005-09-15 University Of Florida Research Foundation, Inc. Interactive virtual characters for training including medical diagnosis training
US20050212753A1 (en) 2004-03-23 2005-09-29 Marvit David L Motion controlled remote controller
WO2005104010A2 (en) 2004-04-15 2005-11-03 Gesture Tek, Inc. Tracking bimanual movements
US7593593B2 (en) 2004-06-16 2009-09-22 Microsoft Corporation Method and system for reducing effects of undesired signals in an infrared imaging system
US7710395B2 (en) 2004-07-14 2010-05-04 Alken, Inc. Head-mounted pointing and control device
WO2006020305A2 (en) 2004-07-30 2006-02-23 Apple Computer, Inc. Gestures for touch sensitive input devices
US8560972B2 (en) 2004-08-10 2013-10-15 Microsoft Corporation Surface UI for gesture-based interaction
US7359564B2 (en) 2004-10-29 2008-04-15 Microsoft Corporation Method and system for cancellation of ambient light using light frequency
WO2006058129A2 (en) 2004-11-23 2006-06-01 Hillcrest Laboratories, Inc. Semantic gaming and application transformation
US7492367B2 (en) 2005-03-10 2009-02-17 Motus Corporation Apparatus, system and method for interpreting and reproducing physical motion
WO2006099597A2 (en) 2005-03-17 2006-09-21 Honda Motor Co., Ltd. Pose estimation based on critical point analysis
KR100687737B1 (ko) * 2005-03-19 2007-02-27 한국전자통신연구원 양손 제스쳐에 기반한 가상 마우스 장치 및 방법
US7907117B2 (en) 2006-08-08 2011-03-15 Microsoft Corporation Virtual controller for visual displays
JP4926799B2 (ja) 2006-10-23 2012-05-09 キヤノン株式会社 情報処理装置、情報処理方法
US8005263B2 (en) * 2007-10-26 2011-08-23 Honda Motor Co., Ltd. Hand sign recognition using label assignment
EP2203893A4 (en) 2007-10-30 2014-05-07 Hewlett Packard Development Co INTERACTIVE DISPLAY SYSTEM WITH GROUP GESTURE DETECTION
US20090221368A1 (en) 2007-11-28 2009-09-03 Ailive Inc., Method and system for creating a shared game space for a networked game

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115482A (en) 1996-02-13 2000-09-05 Ascent Technology, Inc. Voice-output reading system with gesture-based navigation
US6417836B1 (en) 1999-08-02 2002-07-09 Lucent Technologies Inc. Computer input device having six degrees of freedom for controlling movement of a three-dimensional object
JP2002259046A (ja) 2001-02-28 2002-09-13 Tomoya Sonoda 空中で手描きした文字・記号入力システム
JP2006059147A (ja) 2004-08-20 2006-03-02 Kiyomi Nakamura コンピュータ入力方法と装置

Also Published As

Publication number Publication date
CA2880053C (en) 2016-08-23
IL196018A0 (en) 2009-09-01
US20110025601A1 (en) 2011-02-03
MY161823A (en) 2017-05-15
CA2880054C (en) 2016-08-23
US20080036732A1 (en) 2008-02-14
CA2880052C (en) 2017-06-27
BRPI0714232B1 (pt) 2018-09-18
US8049719B2 (en) 2011-11-01
JP4965653B2 (ja) 2012-07-04
CA2654744C (en) 2015-10-06
KR20090047454A (ko) 2009-05-12
ZA200810106B (en) 2010-02-24
CN101501614A (zh) 2009-08-05
WO2008018943A1 (en) 2008-02-14
US20120105315A1 (en) 2012-05-03
BRPI0714232A2 (pt) 2013-01-15
US20090208057A1 (en) 2009-08-20
RU2439653C2 (ru) 2012-01-10
CN101501614B (zh) 2012-04-18
CA2880053A1 (en) 2008-02-14
RU2009104062A (ru) 2010-08-20
EP2049976B1 (en) 2018-03-07
EP2049976A1 (en) 2009-04-22
MX2009000305A (es) 2009-01-26
IL196018A (en) 2012-06-28
CA2654744A1 (en) 2008-02-14
US8552976B2 (en) 2013-10-08
JP2010500645A (ja) 2010-01-07
EP2049976A4 (en) 2013-06-19
CA2880052A1 (en) 2008-02-14
NO20090116L (no) 2009-01-09
US8115732B2 (en) 2012-02-14
BRPI0714232A8 (pt) 2017-01-17
US7907117B2 (en) 2011-03-15
CA2880054A1 (en) 2008-02-14

Similar Documents

Publication Publication Date Title
KR101292467B1 (ko) 손의 움직임에 지정된 제어 매개변수를 통해 사용자 인터페이스 상의 디스플레이된 이미지를 변경시키기 위한 시스템 및 방법
US11048333B2 (en) System and method for close-range movement tracking
US9910498B2 (en) System and method for close-range movement tracking
US10001838B2 (en) Feature tracking for device input
US20110102570A1 (en) Vision based pointing device emulation
GB2490199A (en) Two hand control of displayed content
WO2005091125A2 (en) System and method for inputing user commands to a processor
WO2022267760A1 (zh) 按键功能执行方法、装置、设备及存储介质
Zhang et al. A virtual keyboard implementation based on finger recognition
Annachhatre et al. Virtual Mouse Using Hand Gesture Recognition-A Systematic Literature Review
Patil et al. Mouse on Finger Tips using ML and AI
Pame et al. A Novel Approach to Improve User Experience of Mouse Control using CNN Based Hand Gesture Recognition
Costanzo et al. Virtualboard: Real-time visual gesture recognition for natural human-computer interaction
TW201925989A (zh) 互動系統
Genç Vision-based hand interface systems in human computer interaction

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170704

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 6