KR101406855B1 - 다차원 입력장치를 이용한 컴퓨터 시스템 - Google Patents

다차원 입력장치를 이용한 컴퓨터 시스템 Download PDF

Info

Publication number
KR101406855B1
KR101406855B1 KR1020130042216A KR20130042216A KR101406855B1 KR 101406855 B1 KR101406855 B1 KR 101406855B1 KR 1020130042216 A KR1020130042216 A KR 1020130042216A KR 20130042216 A KR20130042216 A KR 20130042216A KR 101406855 B1 KR101406855 B1 KR 101406855B1
Authority
KR
South Korea
Prior art keywords
input device
marker
rotation
markers
corner points
Prior art date
Application number
KR1020130042216A
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 한국과학기술연구원
Priority to KR1020130042216A priority Critical patent/KR101406855B1/ko
Application granted granted Critical
Publication of KR101406855B1 publication Critical patent/KR101406855B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

카메라를 통해 인식되어 컴퓨터 시스템의 제어 입력으로 입력될 수 있는 입력장치는, 사용자가 파지할 수 있는 파지부와, 상기 파지부에 결합되며, 그 표면에 마커가 도식된 마커부를 포함하고, 상기 카메라를 통해 수집된 영상에서 상기 마커의 위치를 추출하여 입력장치의 회전 및 위치 변화를 산출할 수 있도록 한다. 컴퓨터 시스템은 상기 입력장치와, 상기 입력장치의 영상을 수집하는 카메라와, 각종 데이터를 처리하는 계산장치와 상기 계산장치에 의해 처리된 데이터를 출력하는 출력장치를 포함하고, 상기 카메라에서 수집된 상기 입력장치의 영상에서 상기 마커의 위치를 추출하여 입력장치의 회전 및 위치 변화를 계산하고, 상기 계산장치는 상기 입력장치의 회전 및 위치 변화를 제어 입력으로 하여 데이터를 처리한다.

Description

다차원 입력장치를 이용한 컴퓨터 시스템{Computer system using Multi-dimensional input device}
본 발명은 다차원 입력장치와, 그를 이용한 컴퓨터 시스템 및 그 제어 입력 방법에 관한 것으로서, 더욱 상세하게는 자유로운 움직임을 통해 컴퓨터 시스템에 다차원의 제어 입력이 가능한 다차원 입력장치와, 그를 이용한 컴퓨터 시스템 및 그 제어 입력 방법에 관한 것이다.
컴퓨터 시스템의 발달로, 컴퓨터 시스템이 제공하는 가상 현실 환경에서의 복수의 파라미터를 동시 제어할 수 있는 다차원 입력장치가 제공되고 있다.
다차원 입력장치란 예를 들어, 모니터 등의 출력 장치에 디스플레이되는 객체를 이동(x, y, z 축 방향의 이동) 및 회전(롤, 피치, 요의 회전)시키는 6 자유도 동작의 동시 제어 등과 같이 복수의 파라미터에 대한 동시 제어를 가능하게 하는 입력장치이다.
다차원 입력장치로서 특허문헌 1은 스틱형 입력 장치를 개시하고 있으며, 특허문헌 2는 휠 버튼형 입력장치를 개시하고 있다.
하지만, 스틱형 또는 휠 버튼형 다차원 입력장치는 센싱 구조상 이동/회전 입력이 서로 간섭되고, 여러 방향으로의 동시 입력이 불가능하다. 또한, 입력의 세기가 속도로 변환되어야 하므로 위치/회전 이동의 제어가 불편하여 실질적으로 6 자유도 제어가 용이하지 않다는 문제점이 있다.
자유로운 6 자유도 제어를 위해 사용자의 손의 움직임을 추적하여 객체를 이동/회전시키는 방법 소위 손/손가락 추적(hand/finger tracking) 방법 등이 고려되고 있으나, 이러한 방법은 손의 형상에 기반하므로 손동작에 따라 손의 위치 추정이 부정확할 수 있다는 문제점이 있다. 또한, 손/손가락 추적 방법에서는 객체의 선택 등을 위한 별도의 이벤트를 발생시키는 것이 용이하지 않다.
미국특허 제7,296,463호 미국특허공개 제2006/0250353호
본 발명은 상술한 종래기술의 문제점을 해결하기 위한 것으로서, 자유로운 움직임이 가능하고, 그 움직임이 그대로 또는 스케일링되어 시스템의 제어 입력으로 반영됨에 따라서 직관성과 사용성이 높은 사용자 인터페이스를 제공하며, 비전 처리에 의한 컴퓨팅 부하가 작으면서도 정확한 입력 값을 획득할 수 있는 다차원 입력장치와, 그를 이용한 컴퓨터 시스템 및 그 제어 방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위하여, 본 발명의 일 측면에 따르면, 카메라를 통해 인식되어 컴퓨터 시스템의 제어 입력으로 입력될 수 있는 입력장치로서, 사용자가 파지할 수 있는 파지부와, 상기 파지부에 결합되며, 그 표면에 마커(marker)가 도식된 마커부를 포함하고, 상기 카메라를 통해 수집된 영상에서 상기 마커의 위치를 추출하여 입력장치의 회전 및 위치 변화를 산출할 수 있도록 하는 입력장치가 제공된다.
일 실시예에 따르면, 상기 마커부에는 복수의 마커가 형성된다.
또한, 상기 마커는 코너점을 가지는 도형 형태로 형성될 수도 있다.
또한, 입력장치에는 서로 이격된 복수의 마커부가 구비될 수도 있다.
또한, 상기 마커부 각각에는 복수의 마커가 형성되고, 상기 복수의 마커가 마커부마다 상이한 패턴을 형성하도록 할 수도 있다.
또한, 상기 마커부는 다면체 형태로 형성되고, 상기 복수의 마커는 상기 다면체의 복수의 면에 형성되며, 각 면마다 상이한 패턴을 형성할 수도 있다.
또한, 일 실시예에 따르면, 상기 파지부는 일자 형태로 형성되고, 두 개의 마커부가 각각 상기 파지부의 양단부에 부착된다.
또한, 상기 파지부에는 이벤트 입력을 입력할 수 있는 이벤트 입력 수단이 구비될 수도 있다.
본 발명의 다른 측면에 따르면, 상기 입력장치와, 상기 입력장치의 영상을 수집하는 카메라와, 각종 데이터를 처리하는 계산장치와 상기 계산장치에 의해 처리된 데이터를 출력하는 출력장치를 포함하고, 상기 카메라에서 수집된 상기 입력장치의 영상에서 상기 마커의 위치를 추출하여 입력장치의 회전 및 위치 변화를 계산하고, 상기 계산장치는 상기 입력장치의 회전 및 위치 변화를 제어 입력으로 하여 데이터를 처리하는 컴퓨터 시스템이 제공된다.
본 발명의 다른 측면에 따르면, 사용자가 파지할 수 있는 파지부와, 상기 파지부에 결합되며, 그 표면에 마커가 도식된 마커부를 포함하는 입력장치를 이용한 컴퓨터 시스템의 제어 입력 방법으로서, 카메라를 통해 수집된 상기 입력장치의 영상에서 상기 마커의 위치를 추출하여 입력장치의 회전 및 위치 변화를 산출하고, 상기 입력장치의 회전 및 위치 변화에 대응하는 제어 입력을 형성하는 컴퓨터 시스템의 제어 입력 방법이 제공된다.
일 실시예에 따르면, 상기 마커는 코너점을 가지는 도형 형태로 형성되고, 상기 카메라에 의해 포착된 상기 입력 장치의 영상에서 상기 코너점의 위치를 추출하고, 추출한 코너점의 위치와 상기 입력장치가 기준 위치에 위치할 때의 상기 코너점의 위치를 비교하여 상기 입력장치의 회전 및 위치 변화를 산출한다.
또한, 상기 입력장치에는 서로 이격된 복수의 마커부가 구비되고, 상기 마커부는 다면체 형태로 형성되며, 상기 복수의 마커는 상기 다면체의 복수의 면에 형성되며, 각 면마다 상이한 패턴을 형성하고, 상기 카메라에 의해 포착된 상기 입력 장치의 영상에서 코너점들의 위치를 모두 추출하고, 기저장된 상기 복수의 마커의 패턴과, 추출된 코너점들이 형성하는 패턴을 비교하여, 추출한 코너점들이 상기 마커부의 어느 면에 위치한 코너점인지 여부를 판정하고, 추출한 코너점들의 위치와, 상기 입력장치가 기준 위치에 위치할 때의 상기 추출한 코너점의 위치를 비교하여 상기 입력장치의 회전 및 위치 변화를 산출할 수도 있다.
또한, 마커가 형성된 면들을 복수의 그룹들로 그룹화하고, 그룹별로 입력장치의 회전 및 위치 변화를 각각 산출하고, 그룹별로 산출된 결과를 통합하여 하나의 입력장치의 회전 및 위치 변화량을 확정할 수도 있다.
또한, 상기 그룹들은 복수의 면을 하나로 그룹화한 그룹을 포함할 수도 있다.
또한, 하나로 그룹화된 복수의 면들은 서로 다른 마커부에 형성된 면들일 수도 있다.
도 1은 본 발명의 일 실시예에 따른 입력장치의 사시도이다.
도 2(a)는 도 1의 입력장치에 도식된 마커의 패턴을 일부 도시한 것이다.
도 2(b)는 도 2(a)와는 다른 실시예에 따른 마커의 패턴을 도시한 것이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 컴퓨터 시스템을 도시한 것으로, 입력장치를 이용하여 출력장치에 출력되는 그래픽을 회전 및 위치 이동시키는 모습을 도시한 것이다.
도 5는 도 1의 입력장치에서 마커들이 그룹을 표시한 도면이다.
도 6은 기준 위치에 위치한 입력장치를 카메라로 포착한 모습을 도시한 것이다.
도 7은 도 6과 다른 위치로 회전 및 위치 변화한 입력장치를 카메라로 포착한 모습을 도시한 것이다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 하나의 실시예로서 설명되는 것이며, 이것에 의해 본 발명의 기술적 사상과 그 핵심 구성 및 작용은 제한되지 않는다.
입력장치
도 1은 본 발명의 일 실시예에 따른 입력장치(1)의 사시도이다.
도 1에 도시된 바와 같이, 입력장치(1)는 일자형으로 형성되어 사용자가 파지할 수 있는 파지부(10)와, 상기 파지부(10)의 양 단부에 각각 결합되는 두 개의 마커부(20, 30)를 포함한다.
본 실시예에 따른 마커부(20, 30)는 정육면체 형상으로서, 그 일면이 파지부(10)의 단부에 결합되고, 나머지 5개 면들은 외부로 노출된다. 두 개의 마커부(20, 30)는 대응하는 면(예를 들어, 면(22)와 면(32))이 같은 방향을 향하도록 배치되어 있다.
도 1에 도시된 바와 같이, 외부로 노출된 마커부(20, 30)의 표면에는 정사각형 형태의 복수 개의 마커(200)가 격자형의 패턴을 형성하도록 도식된다.
본 실시예에 따르면, 복수의 마커(200)는 마커부(20, 30) 마다 상이한 패턴으로 배열되며, 바람직하게는 복수의 마커(200)는 외부로 노출된 각 면마다 상이한 패턴을 형성하도록 배열된다. 도 2는 외부로 노출되는 마커부(20)의 일부 면(21, 22, 23)에 도식된 마커(200)의 패턴을 도시한 것이다.
도 2(a)에 도시된 바와 같이, 면(21)에는 네 개의 마커(200)가 서로 이격되어 코너 부근에 배치되고, 면(22)에는 세 개의 마커(200)가 대각선 방향으로 배치되며, 면(23)에는 두 개의 마커(200)가 중앙에 일렬로 배치되고, 하나의 마커(200)가 코너 쪽에 배치됨으로써, 세 개의 면에는 각각 다른 패턴의 마커 배열이 만들어진다.
도면에서는 도시하지는 않았지만, 마커부(20)의 다른 두 면(24, 25)에도 복수의 마커(200)가 상기 세 면(21, 22, 23)과는 다른 패턴으로 도식되어 있으며, 마커부(30)의 외부로 노출된 다섯 면(31 내지 35)들 각각에도 마커부(20)와는 다른 패턴으로 배열된 복수의 마커(200)가 도식된다.
후술하는 바와 같이, 서로 다른 마커(200)의 패턴 배열은 입력장치(1)의 이동 및 회전을 계산하기 위해 추출되는 마커(200)가 마커부(20, 30)의 어떤 면에 위치하는 마커인지 구분할 수 있도록 해준다.
마커부(20)의 각 면에 형성되는 마커(200)의 개수와 그가 형성하는 패턴의 모양은 도 2(a) 등에 의해 한정되지는 않는다는 것이 먼저 이해되어야 할 것이다.
예를 들어, 도 2(b)는 다른 실시예에 따른 마커 배열을 도시한 것이다. 마커부(20)의 각 면(21, 22, 23)에는 도 2(b)에 도시된 바와 같이, 두 개의 회전/이동 검출용 마커(201)가 중앙에 형성되고, 각 면을 구분하기 위한 코드로 작용하는 코드 마커(202, 203, 204)가 각 면마다 다른 패턴으로 형성될 수도 있다.
마커(201)는 입력장치(1)의 회전 및 이동 정도를 검출하기 위해 이용되는 마커로서 마커부의 각 면마다 동일한 형태로 형성된다. 후술하는 바와 같이, 카메라를 통해 수집된 영상에서 마커(201)의 코너점을 추출하고 그 좌표를 통해 입력장치(1)의 회전 및 이동 정도를 계산할 수 있는데, 이를 위해서는 추출된 마커(201)가 마커부의 어느 면에 위치한 것인지 여부를 먼저 판정하여야 한다.
본 실시예에 따르면 코드 마커(202, 203, 204)가 마커부의 각 면마다 상이한 패턴을 형성하고 있으므로, 그 패턴 비교를 통해 마커(201)가 어느 면에 위치한 것인지 여부를 판정할 수 있다.
도 2(a)의 실시예에서는, 마커(200)가 각 면마다 상이한 패턴으로 배열되어 회전/이동 검출용 마커와 코드 마커의 역할을 동시에 수행하는 반면, 도 2(b)의 실시예에서는 회전/이동 검출용 마커와 코드 마커가 분리되어 있는 것이다.
본 실시예에 따르면 마커(200)의 위치를 좌표화하는데 필요한 계산량을 줄이기 위해, 마커부(20, 30)가 정육면체 형태로 형성되고, 마커(200)는 사각형 모양으로 형성되어 격자 형태로 배열되지만, 반드시 이에 한정되는 것은 아니다.
마커는 코너점(예를 들어, 사각형의 꼭지점)을 가지는 도형 형태로 형성될 수도 있고, 마커부는 다른 다면체 형태로 형성될 수도 있다.
또한, 본 실시예에 따르면 사용자의 파지를 용이하게 하고 사용성을 높이기 위해 파지부(10)가 일자 형태로 형성되어 전체적으로 입력장치(1)가 펜 형태를 가지지만, 이에 한정되는 것도 아니다.
파지부(10)는 사용자가 용이하게 파지할 수 있는 임의의 형태를 가질 수 있으며, 사용자가 파지부(10)를 파지할 때 가려지지 않는 위치에 복수의 마커부를 결합하여 입력장치(1)를 구성할 수도 있다.
후술하는 바와 같이, 파지부(10)와 마커부(20, 30)로 구성된 입력장치(1)는 주로 입력장치(1)의 회전 및 이동에 대응하여 출력장치에 디스플레이되는 객체 이미지를 회전 및 이동시키는 용도로 사용될 수 있다. 따라서, 객체 이미지를 선택하는 등의 이벤트를 발생시키기 위한 이벤트 입력 수단(미도시)이 파지부(10)에 형성될 수도 있다. 이벤트 입력 수단은 예를 들어 기존 마우스 등과 같은 입력장치에 일반적으로 이용되는 버튼형, 휠형 및 터치 패드 형 이벤트 입력 수단일 수 있다.
파지부(10)의 내부에는 컴퓨터 시스템과 통신하기 위한 통신 모듈 등 각종 전자 장비가 포함될 수도 있다.
컴퓨터 시스템
도 3 및 도 4는 본 발명의 일 실시예에 따른 컴퓨터 시스템을 도시한 것이다.
컴퓨터 시스템은 출력장치로서 모니터(2)를 구비하고, 입력장치(1)를 촬영하여 그 영상을 얻기 위한 카메라(3)를 포함한다. 또한, 도시하지는 않았지만, 컴퓨터 시스템은 각종 데이터를 처리하기 위한 계산장치와, 데이터를 저장하기 위한 메모리를 구비한다.
모니터(2)는 가상의 3차원 공간(5)을 그래픽으로 출력하며, 각종 객체를 3차원 그래픽(4)으로 출력한다.
사용자가 입력장치(1)를 카메라(3) 앞에 위치시키면, 카메라(3)는 입력장치(1)를 촬영하여 그 영상 이미지를 얻는다.
계산장치는 카메라(3)에서 수집된 입력장치(1)의 영상에서 마커(200)의 위치를 추출하고 입력장치의 회전 및 위치 변화를 계산한다. 상기 계산장치는 계산된 입력장치(1)의 회전 및 위치 변화를 제어 입력으로 하여 데이터를 처리하고, 그 결과를 모니터(2)를 통해 출력한다.
도 3 및 도 4는 입력장치(1)를 이용하여 모니터(2) 상의 그래픽(4)을 회전 및 위치 이동시키는 모습을 도시한 것이다.
사용자가 카메라(3) 앞에 입력장치(1)를 위치시키면, 계산장치는 모니터(2) 상의 그래픽(4)과 입력장치(1)를 동기화시킨다.
그래픽(4)은 컴퓨터의 커서(cursor) 등과 같이, 컴퓨터 시스템을 시작하면 입력장치(1)와 자동으로 동기화되어 입력장치(1)의 회전 및 위치 이동에 대응하여 움직이는 객체일 수도 있고, 사용자가 선택 이벤트를 입력하여야 선택될 수 있는 객체일 수도 있다.
예를 들어, 사용자가 입력장치(1)와 자동으로 동기화되어 있는 커서를 움직여 사과 모양의 그래픽(4)에 위치시키고, 파지부(10)에 있는 버튼형 이벤트 입력 수단을 클릭하는 동작을 취해 그래픽(4)을 선택함으로써 입력장치(1)와 그래픽(4)을 동기화할 수 있다.
도 4에 도시된 바와 같이, 사용자가 입력장치(1)를 회전 및 위치 이동시키면, 입력장치(1)와 동기화된 그래픽(4)이 그에 대응하여 회전 및 위치 이동하게 된다.
여기서 사용된 '동기화'라는 용어는 입력장치(1)의 움직임과 그래픽(4)의 움직임을 연동하는 것만으로 한정 해석되어서는 안 된다.
입력장치(1)의 움직임은 그래픽(4)의 이동 외에도 컴퓨터 시스템의 임의의 기능과 동기화될 수 있다. 즉, 입력장치(1)의 움직임은 컴퓨터 시스템의 임의의 기능을 수행하기 위한 제어 명령이 될 수 있다. 예를 들어, 사용자가 입력장치(1)를 이용해 특정 제스처를 수행하는 경우 특정 기능이 활성화되도록 할 수도 있다(사용자가 펜 형태인 입력장치(1)를 이용해 자신의 사인(sign)을 완성하면 특정 어플리케이션이 실행되도록 하는 등이 이에 해당한다).
입력장치(1)의 움직임과 그래픽(4)의 움직임을 동기화하기 위해서는, 입력장치(1)의 움직임을 정확하게 계산할 수 있어야 한다.
본 실시예에 따르면, 카메라(3)를 통해 수집된 입력장치(1)의 영상에서 마커(200)를 추출하고 그 위치를 통해 입력장치(1)의 이동 및 회전 정도를 계산한다.
하나의 카메라(3)를 통해 수집된 영상에는 입력장치(1)의 마커부(20, 30))의 모든 면이 동시에 찍힐 수는 없기 때문에, 본 실시예에 따르면 마커부(20, 30)의 면들을 복수의 그룹으로 그룹화하고, 그룹별로 입력장치(1)의 회전 및 위치 변화를 각각 산출한 뒤, 그룹별로 산출된 결과를 통합하여 입력장치(1)의 회전 및 위치 변화량을 확정한다. 이때, 입력장치(1)의 회전 및 위치 변화량의 확정에는 그룹은 카메라(3)에 찍힌 그룹들만이 사용된다.
도 5는 그룹화된 마커부(20, 30)를 표시한 도면이다.
도 5에 도시된 바와 같이, 마커부(20, 30)의 양단부에 형성된 두 면들을 각각 한 개의 그룹으로 지정하고, 마커부(20, 30)에서 같은 방향으로 향하는 면들을 하나의 그룹으로 지정한다.
구체적으로, 면(21)이 1그룹, 면(22)과 면(32)이 2그룹, 면(23)과 면(33)이 3그룹, 면(24)과 면(34)이 4그룹, 면(25)과 면(35)이 5그룹, 면(31)이 6그룹으로 그룹화되어, 총 6개 그룹이 형성된다.
6개 그룹에는 2 내지 5그룹과 같이, 서로 다른 마커부(20, 30)에 형성된 복수의 면을 하나로 그룹화한 그룹이 포함된다.
입력장치(1)가 카메라(3)로부터 멀어지게 되면, 한 개의 면, 예를 들어 마커(200)의 코너점들 사이의 거리는 매우 가까워진다. 마커의 회전 및 위치 변화 값은 코너점 사이의 거리 등에 의해 계산되는데, 코너점들 사이의 거리가 가까울 수록 이 값은 코너점 추출 오차에 민감해진다.
본 실시예에 따르면, 서로 이격된 두 마커부(20, 30)에 형성된 면을 하나의 그룹으로 하여 코너점의 위치를 추출하므로, 작은 크기의 마커를 사용하면서도 충분히 이격된 코너점들을 확보할 수 있다. 이를 회전 및 위치 변화 값 산출에 이용할 경우 코너점 추출 오차에 둔감하게 되어, 한 면에 위치하여 서로 인접한 코너점들만을 이용하는 경우보다 정확한 값을 얻을 수 있다.
입력장치(1)의 회전 및 위치 변화를 각각 산출하기 위하여 기준 위치를 정한다. 본 실시예에 따르면, 입력장치(1)가 카메라(3)로부터 소정 거리 떨어진 위치에서 면(22)과 면(32)이 카메라(3)에 정면으로 향한 위치를 기준 위치로 지정한다.
도 6은 입력장치(1)가 기준 위치에 위치했을 때 카메라(3)를 통해 촬영된 이미지를 도시한 것이다.
기준 위치에서 마커들의 모든 코너점(도 6에서 점으로 표시)들의 위치는 좌표화되어 메모리에 저장되어 있다. 또한, 마커부의 각 면에서 마커들이 형성하는 고유한 패턴 정보 역시 메모리에 저장되어 있다.
도 6에서는 면(22)과 면(32)만이 도시되어 있지만, 마커부의 다른 면들에 형성된 마커들의 모든 코너점들의 좌표와, 그 패턴 정보 역시 모두 메모리에 저장되어 있다는 것이 이해되어야 할 것이다.
도 7은 사용자가 입력장치(1)를 이동 및 회전시킨 상태를 도시한 것이다.
계산장치는 도 7에 도시된 바와 같은 입력장치(1)의 이미지에서 어두운 부분으로 표시된 마커들을 추출해낸다. 이어서, 이미지에 나타난 마커들의 모든 코너점을 추출하여 좌표화한다.
2그룹에 속하는 면(22)과 면(32)에서는 면(22)에서 총 10개의 코너점(211' 내지 220')이 추출되고, 면(32)에서 총 14개의 코너점(311' 내지 324')이 추출된다. 1그룹에 속하는 면(21)에서는 총 16개의 코너점이 추출된다. 또한, 3그룹에 속하는 면(23)과 면(33)에서는 면(23)에서 총 9개의 코너점이 추출되고, 면(33)에서 총 10개의 코너점이 추출된다(도 7에서 점으로 표시한 부분이 코너점에 해당함).
앞서 설명한 바와 같이, 각 면에 형성된 마커들은 다른 패턴으로 배열되므로, 각 면에서 추출된 코너점들은 해당 코너점을 가지는 마커들의 패턴에 대응한 패턴을 형성한다.
카메라(3)에 포착된 이미지에서 추출한 코너점들이 형성하는 패턴은 비록 실제 입력장치(1)에 형성된 마커들의 패턴과 비교할 때, 모양이 찌그러지는 등 형상 변화는 있지만, 그 패턴이 가지는 고유한 규칙성은 변하지 않는다(예를 들어, 면(22)에서 마커가 형성하는 세 개의 사각형이 대각선으로 배치되는 패턴의 규칙성을 도 7의 코너점(211' 내지 220') 역시 그대로 가진다).
따라서, 계산장치는 추출된 코너점들이 형성하는 패턴을 메모리의 저장된 마커들의 패턴과 비교함으로써, 해당 코너점이 마커부(20, 30)의 어느 면에 위치한 코너점인지 여부를 판별할 수 있다.
아울러 계산장치는 코너점들이 형성한 패턴과, 코너점들의 좌표의 상대적 위치를 고려하여, 각 코너점들을 기준 위치에서의 각 코너점들과 일대일로 매칭시킨다. 도 6 및 도 7에서는 서로 매칭된 코너점들에 동일한 부재 번호가 부여되고, 도 6에서 변화된 위치를 표시하기 위해 도 7에서는 부재 번호에 프라임(') 기호가 표시되었다.
이어서 계산장치는 매칭된 코너점들의 좌표를 비교하여 입력장치(1)의 회전 및 위치 변화를 산출한다. 본 실시예에서는 입력장치(1)의 회전 및 위치 변화 계산을 위해 카메라와 카메라가 촬영하는 객체의 변환 관계를 나타내는 호모그라피(homography) 알고리즘을 이용한다.
만약, 고정된 평면이 카메라 이미지상에 존재하면서, 카메라의 위치 및 각도가 변할 때 그에 따른 이미지의 변환 관계는 하기 [수학식 1]에 의해 나타낼 수 있다.
[수학식 1]
Figure 112013033448022-pat00001
여기서, Hab는 카메라 위치 a에서 b로의 호모그라피 행렬이고, Pa는 카메라 위치 a에서 점 P를 찍었을 때의 위치이며, Pb는 카메라 위치 b에서 점 P를 찍었을 때의 위치이다.
본 실시예의 경우 카메라는 고정되어 있고, 입력장치(1)(즉, 마커)가 움직이는 경우이므로, 위 식을 역산하면 마커의 위치 및 각도 변화를 추출할 수 있다.
구체적으로, 상기 [수학식 1]에서 h33은 1로 둘 수 있으며, 하기 [수학식 2] 및 [수학식 3]과 같이 xb, yb를 쓸 수 있다.
[수학식 2]
Figure 112013033448022-pat00002
[수학식 3]
Figure 112013033448022-pat00003
호모그라피 알고리즘을 적용하기 위해서는 최소 4개의 코너점 정보가 필요하므로, 4개의 코너점 좌표를 이용해 입력장치(1)의 회전 및 위치 변화를 산출하는 경우를 먼저 설명한다.
상술한 바와 같이, 본 실시예에 따르면 마커부(20, 30)의 면들을 복수의 그룹으로 그룹화하고, 그룹별로 입력장치(1)의 회전 및 위치 변화를 각각 산출한 뒤, 그룹별로 산출된 결과를 통합하여 입력장치(1)의 회전 및 위치 변화량을 확정한다. 따라서, 호모그라피 알고리즘도 그룹별로 적용된다.
먼저, 2그룹에 속한 두 면(22, 32)에서, 입력장치(1)가 기준 위치에 있을 때(도 6), 코너점(214, 215, 316, 317)의 좌표를 각각 (xa1, ya1), (xa2, ya2), (xa3, ya3), (xa4, ya4)라고 한다. 본 실시예에 따르면, 코너점(214, 215, 316, 317)의 좌표는 3차원 공간상에 지정되는 것으로, z좌표를 포함하지만 설명의 편의를 위해 여기서는 x, y 좌표만을 고려한다.
상술한 과정을 통해 카메라(3)에 포착된 이미지(도 7)에서 코너점(214', 215', 316', 317')이 코너점(214, 215, 316, 317)에 매칭된다.
계산장치에서 계산된 코너점(214', 215', 316', 317')의 좌표를 각각 (xb1, yb1), (xb2, yb2), (xb3, yb3), (xb4, yb4)라고 하면, 상기 [수학식 3]의 관계에 따라, 첨점들의 좌표는 하기 [수학식 4]로 표현할 수 있다.
[수학식 4]
Figure 112013033448022-pat00004
위 식에서 호모그라피 행렬(H)을 이용하면, 입력장치(1)의 이동 및 회전값을 구할 수 있다.
구체적으로, 호모그라피 행렬(H)과, 입력장치의 회전 변환 행렬 및 위치 변환 벡터의 관계는 하기 [수학식 5]와 같다.
[수학식 5]
Figure 112013033448022-pat00005
여기서, R은 회전 변환 행렬이고, t는 위치 변환 벡터이며, n은 마커가 존재하는 면의 수직 벡터이고, d는 카메라와, 기준 위치에서의 해당 마커가 존재하는 면과의 거리이다.
상기 [수학식 5]에서 미지수는 R에서 9개이고, t의 3개로 총 12이다. 먼저 [수학식 5]에서 좌우의 행렬의 요소는 총 9개이므로 9개의 등식을 얻을 수 있고, R은 회전 변환 행렬로, 그 행렬을 이루는 벡터의 크기는 1이므로, 다음 [수학식 6]과 같이 나머지 3개의 등식을 얻을 수 있다.
[수학식 6]
Figure 112013033448022-pat00006
12원 2차 방정식의 해를 얻음으로써, R(회전 변환 행렬)와 t(위치 변환 벡터)의 값을 얻을 수 있다.
위와 같은 호모그라피 알고리즘은 카메라(3)에 획득된 이미지에서 4개 보다 많은 코너점이 추출된 경우에도 확장하여 적용 가능하다.
예를 들어, 도 7의 2그룹에 속한 두 면(22, 32)에서, 5개의 코너점(214', 215', 316', 317', 318')이 추출된 경우, 각 코너점의 좌표를 각각 (xb1, yb1), (xb2, yb2), (xb3, yb3), (xb4, yb4), (xb5, yb5)라고 하고, 상기 코너점이 매칭되는 입력장치(1)가 기준 위치에 있을 때(도 6)의, 코너점(214, 215, 316, 317, 318)의 좌표를 각각 (xa1, ya1), (xa2, ya2), (xa3, ya3), (xa4, ya4), (xa5, ya5)라고 하면, [수학식 4]는 하기 [수학식 7]과 같이 확장된다.
[수학식 7]
Figure 112013033448022-pat00007
상기 [수학식 4]는 행렬(A)의 역산을 통해 H를 구할 수 있으나, 상기 [수학식 7]은 역산을 통해 H를 계산할 수 없다.
따라서, 본 실시예에 따르면, 에러 벡터(error vector)를 고려한 소위 리니어 스퀘어 에스티메이션(Linear Square Estimation)(LSE)을 이용한다.
LSE를 이용하면, 호모그라피 행렬(H)은 하기 [수학식 8]과 같이 나타낼 수 있다.
[수학식 8]
Figure 112013033448022-pat00008
상기에서는 본 실시예에서는 5개의 코너점이 추출된 경우를 예시적으로 설명하였지만, 호모그라피 알고리즘은 그 이상의 코너점이 추출된 경우에도 적용 가능하다는 것이 이해될 것이다. 코너점의 수가 증가할수록 행렬(Aaug)은 그 열의 수가 증가하게 될 것이다.
본 실시예에 따르면, 카메라(3)에 포착된 이미지로부터 추출된 코너점 모두가 입력장치(1)의 회전 및 위치 변화 값을 계산하는데 이용된다. 즉, 이미지에서 4개의 코너점이 추출되었다면, 4개의 코너점에 호모그라피 알고리즘을 적용하고, 10개의 코너점이 추출되었다면 10개의 코너점에 호모그라피 알고리즘을 적용한다. 도 7에 도시된 상태에 따르면, 2그룹에 속하는 24개의 코너점(211' 내지 220', 311' 내지 324') 전부에 대해 호모그라피 알고리즘이 적용된다.
본 실시예에 따르면 호모그라피 알고리즘을 적용하므로, 카메라(3)에 의해 포착된 이미지로부터 4개 이상의 코너점 정보만 추출할 수 있다면 입력장치(1)의 회전 및 위치 변화값을 계산할 수 있게 된다. 또한, 4개 보다 많은 수의 코너점이 추출되는 경우에도 입력장치(1)의 회전 및 위치 변화값을 계산하기 위한 부하가 크게 증가하지 않는다는 장점이 있다.
한편, 상기한 호모그라피 알고리즘은 도 7에서 포착된 1그룹 내지 3그룹에 대해서 별도로 수행된다.
계산장치는 1 내지 3그룹에서 계산된 입력장치(1)의 회전 및 위치 변화 값을 통합하여 최적 값을 계산하고, 최적 값을 입력장치(1)의 최종 회전 및 위치 변화 값으로 설정하여 입력장치(1)와 동기화된 그래픽(4)을 그에 대응하여 회전 및 위치 이동시킨다.
구체적으로, 각 그룹으로부터 계산된 회전 및 위치 변화 정보는 하기 [수학식 9] 및 [수학식 10]을 통해 통합된다.
[수학식 9]
Figure 112013033448022-pat00009
[수학식 10]
Figure 112013033448022-pat00010
여기서, k는 4개 이상의 코너점이 추출된 그룹의 개수이고, Ri는 4개 이상의 코너점이 추출된 i번째 그룹에서 추출한 장치의 회전변환 행렬이고, ti는 4개 이상의 코너점이 추출된 i번째 그룹에서 추출한 장치의 위치변환 벡터이다.
σ는 각 그룹들의 오차 분포의 표준 편차이다. 표준편차(σ)는 카메라(3)와 입력장치(1)의 거리(d), 카메라 이미지 평면과 마커 그룹을 포함한 평면이 이루는 각도(θ, φ, Ψ)로 결정되는 함수 σ(d, θ, φ, Ψ)이다. 표준편차(σ)는 매우 정밀한 측정장치를 이용해 입력장치(1)의 이동 및 회전을 측정하는 동시에, 상술한 호모그라피 알고리즘을 이용해 계산한 입력장치(1)의 이동 및 회전을 측정하여 두 계산값의 편차를 계산함으로써 얻어진다. 표준편차(σ)는 각 그룹별로 추출되며, 미리 측정되어 메모리에 저장된다.
상기 [수학식 9]와 [수학식 10]에서 σR는 회전 변환 정보 오차의 표준편차이고, σt는 위치 변환 정보 오차의 표준 편차이다.

Claims (15)

  1. 입력 장치;
    상기 입력 장치의 영상을 수집하는 카메라;
    각종 데이터를 처리하는 계산장치를 포함하고,
    상기 입력 장치는,
    사용자가 파지할 수 있는 파지부;
    상기 파지부에 결합되며, 그 표면에 복수의 마커(marker)가 도식된 복수의 마커부를 포함하고,
    상기 복수의 마커는 코너점을 가지는 도형 형태로 형성되고,
    상기 복수의 마커부는 상기 파지부의 각 단부에 결합되어, 사용자가 상기 파지부를 파지할 때 가려지지 않는 위치에서 서로 분리 배치되며,
    상기 카메라에 의해 포착된 상기 입력 장치의 영상에서 상기 코너점의 위치를 모두 추출하고,
    추출한 코너점들의 위치와, 상기 입력장치가 기준 위치에 위치할 때의 상기 추출한 코너점의 위치를 비교하여 상기 입력장치의 회전 및 위치 변화를 산출하는 것을 특징으로 하는 컴퓨터 시스템.
  2. 제1항에 있어서,
    상기 복수의 마커는 마커부마다 상이한 패턴을 형성하는 것을 특징으로 하는 컴퓨터 시스템.
  3. 제1항에 있어서,
    상기 계산장치에 의해 처리된 데이터를 출력하는 출력장치를 더 포함하고,
    상기 계산장치는 상기 입력장치의 회전 및 위치 변화를 제어 입력으로 하여 데이터를 처리하는 것을 특징으로 하는 컴퓨터 시스템.
  4. 제2항에 있어서,
    상기 마커부는 다면체 형태로 형성되고,
    상기 복수의 마커는,
    상기 다면체의 복수의 면에 형성되며, 각 면마다 상이한 패턴을 형성하는 것을 특징으로 하는 컴퓨터 시스템.
  5. 제4항에 있어서,
    기저장된 상기 복수의 마커의 패턴과, 추출된 코너점들이 형성하는 패턴을 비교하여, 추출한 코너점들이 상기 마커부의 어느 면에 위치한 코너점인지 여부를 판정하고,
    추출한 코너점들의 위치와, 상기 입력장치가 기준 위치에 위치할 때의 상기 추출한 코너점의 위치를 비교하여 상기 입력장치의 회전 및 위치 변화를 산출하는 것을 특징으로 하는 컴퓨터 시스템.
  6. 제5항에 있어서,
    마커가 형성된 면들을 복수의 그룹들로 그룹화하고,
    그룹별로 입력장치의 회전 및 위치 변화를 각각 산출하고, 그룹별로 산출된 결과를 통합하여 하나의 입력장치의 회전 및 위치 변화량을 확정하는 것을 특징으로 하는 컴퓨터 시스템.
  7. 제6항에 있어서,
    상기 그룹들은 복수의 면을 하나로 그룹화한 그룹을 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  8. 제7항에 있어서,
    하나로 그룹화된 복수의 면들은 서로 다른 마커부에 형성된 면들인 것을 특징으로 하는 컴퓨터 시스템.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR1020130042216A 2013-04-17 2013-04-17 다차원 입력장치를 이용한 컴퓨터 시스템 KR101406855B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130042216A KR101406855B1 (ko) 2013-04-17 2013-04-17 다차원 입력장치를 이용한 컴퓨터 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130042216A KR101406855B1 (ko) 2013-04-17 2013-04-17 다차원 입력장치를 이용한 컴퓨터 시스템

Publications (1)

Publication Number Publication Date
KR101406855B1 true KR101406855B1 (ko) 2014-06-13

Family

ID=51132716

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130042216A KR101406855B1 (ko) 2013-04-17 2013-04-17 다차원 입력장치를 이용한 컴퓨터 시스템

Country Status (1)

Country Link
KR (1) KR101406855B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018206675A1 (de) * 2018-04-30 2019-10-31 Deutsche Bahn Aktiengesellschaft Verfahren zur Ansteuerung einer Maschine mittels mindestens einer Raumkoordinate als Ansteuergröße sowie Ansteuerungssystem einer Maschine
DE102018206676A1 (de) * 2018-04-30 2019-10-31 Deutsche Bahn Aktiengesellschaft Verfahren zur Interaktion einer Zeigevorrichtung mit einem auf einer Projektionsfläche eines virtuellen Desktops angeordneten Zielpunkts sowie hierzu eingerichtete Zeigevorrichtung
JP7336553B2 (ja) 2022-02-07 2023-08-31 三菱電機Itソリューションズ株式会社 処理実行装置、処理実行方法及び処理実行プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009134677A (ja) * 2007-02-28 2009-06-18 Fuji Xerox Co Ltd ジェスチャインターフェースシステム、ジェスチャ入力用ワンド、アプリケーション制御方法、カメラ校正方法、及び制御プログラム
KR20100107976A (ko) * 2009-03-27 2010-10-06 호서대학교 산학협력단 3차원 사용자 인터페이스 장치 및 그 방법
KR20110025674A (ko) * 2008-05-30 2011-03-10 소니 컴퓨터 엔터테인먼트 아메리카 엘엘씨 영상 분석 및 초음파 통신을 사용하여 컨트롤러의 3 차원 위치 판단
KR101216065B1 (ko) 2011-09-16 2012-12-27 한국과학기술원 마커 장갑의 움직임을 3차원으로 인식하는 카메라 기반 원격조정 장치로 자원 개발 로봇을 구동하는 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009134677A (ja) * 2007-02-28 2009-06-18 Fuji Xerox Co Ltd ジェスチャインターフェースシステム、ジェスチャ入力用ワンド、アプリケーション制御方法、カメラ校正方法、及び制御プログラム
KR20110025674A (ko) * 2008-05-30 2011-03-10 소니 컴퓨터 엔터테인먼트 아메리카 엘엘씨 영상 분석 및 초음파 통신을 사용하여 컨트롤러의 3 차원 위치 판단
KR20100107976A (ko) * 2009-03-27 2010-10-06 호서대학교 산학협력단 3차원 사용자 인터페이스 장치 및 그 방법
KR101216065B1 (ko) 2011-09-16 2012-12-27 한국과학기술원 마커 장갑의 움직임을 3차원으로 인식하는 카메라 기반 원격조정 장치로 자원 개발 로봇을 구동하는 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018206675A1 (de) * 2018-04-30 2019-10-31 Deutsche Bahn Aktiengesellschaft Verfahren zur Ansteuerung einer Maschine mittels mindestens einer Raumkoordinate als Ansteuergröße sowie Ansteuerungssystem einer Maschine
DE102018206676A1 (de) * 2018-04-30 2019-10-31 Deutsche Bahn Aktiengesellschaft Verfahren zur Interaktion einer Zeigevorrichtung mit einem auf einer Projektionsfläche eines virtuellen Desktops angeordneten Zielpunkts sowie hierzu eingerichtete Zeigevorrichtung
DE102018206676B4 (de) 2018-04-30 2021-11-04 Deutsche Bahn Aktiengesellschaft Verfahren zur Interaktion einer Zeigevorrichtung mit einem auf einer Projektionsfläche eines virtuellen Desktops angeordneten Zielpunkts
JP7336553B2 (ja) 2022-02-07 2023-08-31 三菱電機Itソリューションズ株式会社 処理実行装置、処理実行方法及び処理実行プログラム

Similar Documents

Publication Publication Date Title
WO2021103648A1 (zh) 手部关键点检测方法、手势识别方法及相关装置
EP3629129A1 (en) Method and apparatus of interactive display based on gesture recognition
CN105074617B (zh) 三维用户界面装置和三维操作处理方法
Kalantari et al. A new solution to the relative orientation problem using only 3 points and the vertical direction
EP2903256B1 (en) Image processing device, image processing method and program
US20130106833A1 (en) Method and apparatus for optical tracking of 3d pose using complex markers
JP2016109630A (ja) 情報処理装置、情報処理方法、プログラム
JP6487642B2 (ja) 手指形状の検出方法、そのプログラム、そのプログラムの記憶媒体、及び、手指の形状を検出するシステム。
Fujimoto et al. Geometrically-correct projection-based texture mapping onto a deformable object
CN107532885A (zh) 光图案中的强度变化用于体积中的物体的深度绘制
WO2002037466A1 (en) Electronic user worn interface device
JP6054831B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2018119833A (ja) 情報処理装置、システム、推定方法、コンピュータプログラム、及び記憶媒体
CN109952552A (zh) 视觉提示系统
KR20100090401A (ko) 증강 현실 환경에서의 공간 상호 작용 방법 및 시스템
KR101406855B1 (ko) 다차원 입력장치를 이용한 컴퓨터 시스템
CN108305321A (zh) 一种基于双目彩色成像系统的立体人手3d骨架模型实时重建方法和装置
Yin et al. Estimation of the fundamental matrix from uncalibrated stereo hand images for 3D hand gesture recognition
JP2018142109A (ja) 表示制御プログラム、表示制御方法および表示制御装置
CN110222651A (zh) 一种人脸姿态检测方法、装置、终端设备及可读存储介质
JP5083715B2 (ja) 三次元位置姿勢計測方法および装置
JP5863984B2 (ja) ユーザインタフェース装置及びユーザインタフェース方法
KR20200073031A (ko) 높은 정확도를 갖는 손 동작 추적을 위한 3차원 손 모델 제작 방법
CN108829248A (zh) 一种基于用户表现模型矫正的移动目标选择方法及系统
EP3416097B1 (en) Template creation apparatus, object recognition processing apparatus, template creation method, and program

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: 20170601

Year of fee payment: 4