KR20180088306A - 센서 좌표계를 게임 존에 캘리브레이션하는 방법 및 장치 - Google Patents

센서 좌표계를 게임 존에 캘리브레이션하는 방법 및 장치 Download PDF

Info

Publication number
KR20180088306A
KR20180088306A KR1020180009643A KR20180009643A KR20180088306A KR 20180088306 A KR20180088306 A KR 20180088306A KR 1020180009643 A KR1020180009643 A KR 1020180009643A KR 20180009643 A KR20180009643 A KR 20180009643A KR 20180088306 A KR20180088306 A KR 20180088306A
Authority
KR
South Korea
Prior art keywords
game
points
sensing image
moving component
coordinate system
Prior art date
Application number
KR1020180009643A
Other languages
English (en)
Other versions
KR101979246B1 (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 KR20180088306A publication Critical patent/KR20180088306A/ko
Application granted granted Critical
Publication of KR101979246B1 publication Critical patent/KR101979246B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

실시예들은 3차원 공간에서 이동 가능한 이동 컴포넌트 및 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 하나를 포함한 센싱 이미지를 획득하는 센서; 상기 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션하는 캘리브레이션부; 상기 3차원 공간 상에 4개의 포인트를 결정하고 게임 존을 설정하는 게임 존 설정부; 및 상기 이동 컴포넌트를 상기 게임 존에서 인식하여 게임을 진행하는 게임 진행부를 포함하며, 상기 4개의 포인트의 좌표는 상기 캘리브레이션된 좌표계 상의 좌표인 장치; 및 상기 장치와 통신하고; 상기 장치로부터 이동 명령을 수신하는 경우 상기 이동 명령에 따라 이동하도록 구성된 이동 컴포넌트를 포함하는 시스템에 관한 것이다.

Description

센서 좌표계를 게임 존에 캘리브레이션하는 방법 및 장치{METHOD AND APPARATUS FOR FOR CALIBRATING SENSOR COORDINATE SYSTEM WITH GAME ZONE}
본 발명의 실시예들은 센서 좌표계를 게임 존에 캘리브레이션하는 것에 관한 것으로서, 보다 상세하게는 센서 좌표계를 객체를 지지하는 일 면에 캘리브레이션 한 뒤, 게임 존을 설정하고 게임 존 상에 위치한 객체를 인식하여 게임을 진행하는 것에 관한 것이다
최근 3D 센서를 이용하여 객체 및 객체의 움직임을 인식하고 이에 대한 정보를 제공하는 기술이 활발히 연구되고 있다. 특히, 객체(예를 들어, 사람의 신체의 일부 또는 로봇 등을 포함)를 3D 센서를 통해 인식하고, 이에 대응하여 다양한 게임을 진행하는 게임 인터랙션 기술이 활발히 개발되고 있다.
이러한 게임 인터랙션 기술은 기존의 입력 장치(예를 들어, 마우스, 키보드 등)를 통해서만 게임을 진행할 수 있었던 기존의 게임 장치에 비해 다양한 입력 신호를 게임 장치에 입력할 수 있고, 특히 익숙하고 직관적인 사용자의 신체 움직임을 다양한 입력 신호로 입력할 수 있어, 사용자의 편의성 측면에서 장점이 있다.
그러나, 사용자 신체 및/또는 움직임의 위치가 게임에 정확하게 적용되지 않을 경우 사용자가 의도한 결과가 수행되지 않을 가능성이 있다. 따라서, 3D 센서가 인식한 사용자 신체 및 움직임의 위치를 게임에 보다 정확하게 적용할 수 있도록 캘리브레이션하는 기술이 필요하다.
특허공개공보 제10-2014-0141174호
본 발명의 실시예에 따르면, 센서 좌표계를 객체를 지지하는 일 면에 캘리브레이션 한 뒤, 게임 존을 설정하여 게임 존 상에 위치한 객체를 인식하여 게임을 진행하는 방법 및 장치가 제공된다.
나아가, 상기 장치 및 상기 장치와 통신 가능한 이동 컴포넌트를 포함한, 객체 인식에 따른 게임 진행이 가능한 시스템이 제공된다.
본 발명의 일 측면에 따른 객체 인식에 따른 게임 진행 방법은 센서 좌표계를 게임 존에 캘리브레이션하는 장치에 의해 수행되며, 상기 방법은: 3차원 공간의 일 면에서 이동 가능한 이동 컴포넌트 및 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 하나를 포함한 제1 센싱 이미지를 획득하는 단계; 상기 제1 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션하는 단계; 상기 3차원 공간 상에 적어도 4개의 포인트를 결정하고 게임 존을 설정하는 단계; 및 게임을 진행하기 위해 상기 이동 컴포넌트를 상기 게임 존에서 인식하는 단계를 포함할 수 있다. 여기서, 상기 4개의 포인트의 좌표는 상기 캘리브레이션된 좌표계 상의 좌표이다.
일 실시예에서, 상기 캘리브레이션하는 단계는 상기 제1 센싱 이미지가 상기 일 면을 포함하는지 결정하는 단계; 상기 일 면의 법선 벡터를 산출하는 단계; 및 상기 센서 좌표계의 일 축을 상기 일 면의 법선 벡터와 평행하게 캘리브레이션하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제1 센싱 이미지가 상기 일 면을 포함하는지 결정하는 단계는 상기 제1 센싱 이미지에 대한 포인트 클라우드(point cloud)를 생성하는 단계; 상기 제1 센싱 이미지에 대한 포인트 클라우드를 미리 저장된, 상기 일 면에 대한 하나 이상의 후보에 대한 포인트 클라우드와 매칭하는 단계; 및 상기 매칭에 의해 매칭된 포인트를 통해 상기 센싱 이미지가 상기 일 면을 포함하는 지를 결정하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 캘리브레이션하는 단계는 상기 제1 센싱 이미지가 상기 일 면을 포함하지 않는 경우, 상기 제1 센싱 이미지에 포함된 이동 컴포넌트의 위치에 기초하여 상기 일 면의 법선 벡터를 산출하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 캘리브레이션하는 단계는 상기 이동 컴포넌트가 적어도 한 번 이동 방향을 변화하게 하는 이동 명령을 상기 이동 컴포넌트로 전송하는 단계; 상기 센서를 통해 상기 이동 컴포넌트의 이동 궤적을 트래킹하여 상기 이동 컴포넌트의 위치 궤적에 포함된 적어도 3개의 포인트를 결정하는 단계; 및 상기 적어도 3개의 포인트에 기초하여 상기 이동 컴포넌트를 지지한 일 면의 평면 방정식을 산출하고, 상기 일 면의 법선 벡터를 산출하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 3차원 공간 상에 4개의 포인트를 결정하고 게임 존을 설정하는 단계는 상기 적어도 3개의 포인트에 기초하여 결정하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 이동 컴포넌트를 인식하여 게임을 진행하는 단계는 상기 게임 존에서의 이동 컴포넌트를 포함한 제2 센싱 이미지를 상기 센서를 통해 획득하는 단계; 상기 제2 센싱 이미지를 필터링하는 단계; 및 상기 필터링된 제2 센싱 이미지에 기초하여 상기 이동 컴포넌트를 인식하는 단계를 포함할 수 있다.
일 실시예에서, 상기 일 면을 필터링하는 단계는 상기 센서의 위치로부터 소정 높이 이하의 포인트를 필터링하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 일 면을 필터링하는 단계는 상기 게임 존 상에서 적어도 3개의 포인트를 결정하고, 상기 게임 존 상의 적어도 3개의 포인트를 포함한 평면을 결정하는 단계; 및 상기 평면으로부터 소정 범위 내 포인트를 필터링하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 이동 컴포넌트를 인식하는 단계는 상기 필터링된 포인트 수가 임계치 이상인 경우 해당되는 복수의 포인트에 기초하여 이동 컴포넌트를 인식하는 단계를 더 포함할 수 있다.
본 발명의 다른 일 측면에 따른 컴퓨터 판독가능 기록 매체는 컴퓨터에 의해 판독 가능하고, 상기 컴퓨터에 의해 동작 가능한 프로그램 명령어를 저장할 수 있다. 여기서, 프로그램 명령어는 상기 컴퓨터의 프로세서에 의해 실행되는 경우 상술한 실시예들에 따른 센서 좌표계를 게임 존에 캘리브레이션하는 방법을 수행하게 할 수 있다.
본 발명의 또 다른 일 측면에 따른 센서 좌표계를 게임 존에 캘리브레이션하는 장치는 상기 3차원 공간에서 이동 가능한 이동 컴포넌트 및 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 하나를 포함한 센싱 이미지를 획득하는 센서; 상기 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션하는 캘리브레이션부; 상기 3차원 공간 상에 4개의 포인트를 결정하고 게임 존을 설정하는 게임 존 설정부; 및 게임을 진행하기 위해 상기 이동 컴포넌트를 상기 게임 존에서 인식하는 게임 진행부를 포함할 수 있다. 여기서, 상기 4개의 포인트의 좌표는 상기 캘리브레이션된 좌표계 상의 좌표이다.
본 발명의 또 다른 일 측면에 따른 객체 인식에 따른 게임을 진행하는 시스템은: 상기 3차원 공간에서 이동 가능한 이동 컴포넌트 및 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 하나를 포함한 센싱 이미지를 획득하는 센서; 상기 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션하는 캘리브레이션부; 상기 3차원 공간 상에 4개의 포인트를 결정하고 게임 존을 설정하는 게임 존 설정부; 및 상기 이동 컴포넌트를 상기 게임 존에서 인식하여 게임을 진행하는 게임 진행부를 포함하며, 상기 4개의 포인트의 좌표는 상기 캘리브레이션된 좌표계 상의 좌표인 장치; 및 상기 장치와 통신하고; 상기 장치로부터 이동 명령을 수신하는 경우 상기 이동 명령에 따라 이동하도록 구성된 이동 컴포넌트를 포함할 수 있다.
본 발명의 실시예에 따르면, 센서 좌표계를 객체를 지지하는 일 면에 미리 캘리브레이션하여 센서에 의해 인식되는 객체의 위치를 보다 정확하게 산출하고, 이를 게임 진행에 적용할 수 있다.
나아가, 별도의 입력 장치가 없어도 사용자의 직관적인 움직임을 통해 게임에 대한 다양한 입력을 수행할 수 있어 사용자 편의성 측면에서 이점이 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은, 본 발명의 일 실시예에 따른, 센서 좌표계를 게임 존에 캘리브레이션하는 장치(100)의 평면 개념도를 도시한 도면이다.
도 2는, 본 발명의 일 실시예에 따른, 게임 존 상의 객체를 인식하여 게임을 진행하는 시스템(1000)을 도시한 도면이다.
도 3은, 본 발명의 일 실시예에 따른, 센서 좌표계를 게임 존에 캘리브레이션하는 방법의 흐름도를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른, 센서 좌표계를 게임 존이 설정될 일 면과 캘리브레이션하는 과정을 묘사한 도면이다.
도 5는, 본 발명의 실시예들에 따른, 센싱 이미지에 일 면이 포함되지 않은 경우, 게임 존이 설정될 일 면을 산출하는 과정을 묘사한 도면이다.
도 6은, 본 발명의 일 실시예에 따른, 게임 좌표계를 설정하는 과정을 묘사한 도면이다.
실시예들은 여기에 첨부된 도면들을 참조하여 설명될 것이다 그러나, 여기에 개시된 원리들은 많은 상이한 형태로 구현될 수도 있으며 여기에서 기재된 실시예로 제한되어 생각되지 않아야 한다. 발명의 상세한 설명에서, 잘 알려진 특징 및 기술에 대한 상세한 설명이 실시예의 특징을 불필요하게 불명확하게 하는 것을 피하기 위해 생략될 수도 있다.
여기서 사용되는 전문 용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지 않는다. 때마다 적절하게, 단수에서 사용되는 용어들은 또한 복수의 것을 포함하고 그 역도 마찬가지이다. 명세서에서 사용되는 “포함하는”의 의미는 특정 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분을 구체화하며, 다른 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분의 존재나 부가를 제외시키는 것은 아니다. "하나의" 와 같은 사용은 여기서 "하나 이상"의 의미로 사용하는 것이 명백하게 부적절한 경우를 제외하고는 "하나 이상"을 의미한다. 용어 "또는" 의 사용은 다르게 기술되지 않는 한 "및/또는"을 의미한다.
이하에서, 도면을 참조하여 본 발명의 실시예들에 대하여 상세히 살펴본다.
도 1은, 본 발명의 일 실시예에 따른, 센서 좌표계를 게임 존(game zone)에 캘리브레이션하는 장치(100)의 평면 개념도를 도면이고, 도 2는, 본 발명의 일 실시예에 따른, 게임 존 상의 객체를 인식하여 게임을 진행하는 시스템의 개념도를 도시한 도면이다.
상기 시스템은 센서 좌표계를 게임 존(game zone)에 캘리브레이션하는 장치(100) 및 상기 장치(100)와 통신하도록 구성된 이동 컴포넌트(200)를 포함한다. 상기 장치(100)는 객체 인식에 따른 인터페이스 기능을 수행하기 위한 장치로서, 센서(10), 및 처리부(30) 를 포함한다.
실시예들에 따른 상기 장치(100) 및 시스템(1000)은 전적으로 하드웨어이거나, 또는 부분적으로 하드웨어이고 부분적으로 소프트웨어인 측면을 가질 수 있다. 예컨대, 특정 형식 및 내용의 데이터를 처리하거나 또는/또한 전자통신 방식으로 주고받기 위한 하드웨어 및 이에 관련된 소프트웨어를 통칭할 수 있다. 본 명세서에서 "부(unit)", "모듈(module)", "장치" 또는 "시스템" 등은 하드웨어, 하드웨어와 소프트웨어의 조합, 또는 소프트웨어 등 컴퓨터 관련 엔티티(entity)를 지칭한다. 예를 들어, 본 명세서에서 부, 모듈, 장치 또는 시스템 등은 실행중인 프로세스, 프로세서, 객체(object), 실행 파일(executable), 실행 스레드(thread of execution), 프로그램(program), 및/또는 컴퓨터(computer)일 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 컴퓨터에서 실행중인 애플리케이션(application) 및 컴퓨터의 양쪽이 모두 본 명세서의 부, 모듈, 장치 또는 시스템 등에 해당할 수 있다.
센서(10)는 객체 및 객체의 움직임을 인식하는 하나의 수단으로서, 센서가 인식 가능한 영역(이하, “인식 가능 영역”)에 있는 객체를 감지하고 인식할 수 있다. 이로 인해, 객체 인식에 따른 게임을 진행할 수 있다.
또한, 상기 센서(10)는 객체를 지지하는 일 면을 인식할 수 있다. 이로 인해, 상기 장치(100)는 객체를 지지하는 일 면과 센서 좌표계를 캘리브레이션할 수 있다. 이에 대해서는, 도 3을 참조하여 아래에서 보다 상세하게 서술된다.
일 실시예에서, 상기 센서(10)는 객체 및 색상을 인식하는 3차원 RGB-D 센서(3D depth sensor)일 수 있다. 3차원 RGB-D 센서는 인식 가능한 영역에서의 색상 데이터(예를 들어, 컬러 이미지) 및 깊이 데이터(예를 들어, 상기 컬러 이미지의 깊이 맵(depth map))를 획득할 수 있다. 예를 들어, 3차원 RGB-D 센서는 m*n*(x,y,z)로 구성된 데이터를 획득하며, 여기서 m, n은 해상도, x, y, z는 포인트의 좌표를 나타낸다. 일부 실시예에서, 3차원 RGB-D 센서는 깊이 센서(depth sensor)와 RGB 센서를 포함할 수 있다. 다른 일부 실시예에서, RGB 센서는 색상 카메라(color camera)를 포함할 수 있다.
일 실시예에서, 깊이 센서는 CMOS 센서와 결합된 적외선 레이저 프로젝터(Infrared laser projector)로 구성될 수 있으며 하나의 카메라에서 무수한 적외선 빔을 쏘고 반사되는 적외선을 통하여 어떠한 밝기 조건에서도 3차원을 감지할 수 있다. 또한, 가로와 세로 방향뿐만 아니라 센서와 멀고 가까운 거리까지 감지해 객체가 어디있는지 어떻게 행동하는지, 파악할 수 있다.
깊이 센서가 적외선 적외선 레이저 프로젝터를 통해 깊이 정보를 얻어내는 방법은 Time of Flight 방식이 일반적이나, 적외선 패턴(Structured light)을 대상물에 투영하고 스테레오 매칭(Stereo matching)을 통해 깊이를 계산할 수도 있다. 다른 실시예에서 Stream sequence에서 Blob labeling 기법을 이용하여 거리 단차가 발생하는 동적 물체에 대하여 객체를 검출하며, 공간상의 위치를 추정하고 각 동적 물체에 대하여 id를 부여할 수도 있다.
일 실시예에서, RGB 센서는 적색(Red), 녹색(Green), 청색(Blue)의 3색을 이용하여 피사체 즉 객체 및 콘텐츠 화면의 색상 정보를 수집한다. 상기 장치(100)는 RGB 센서를 통하여 객체를 서로 구분하기도 하며, 바닥, 콘텐츠 화면 등과 같은 객체 주변의 환경을 구분할 수 있다.
위에서 서술한 3차원 RGB-D 센서 및 이를 구성하는 깊이 센서와 RGB 센서는 단지 예시적인 것으로서, 객체, 객체의 움직임 및 콘텐츠 화면을 인식할 수 있는 다양한 센서들이 사용될 수 있다.
다른 실시예에서, 상기 장치(100)는 센서(10)의 센싱 각도를 조정하기 위해 움직일 수 있는 연결부를 더 포함할 수 있다. 이로 인해, 센서(10)의 인식 가능 영역을 유연하게 설정할 수 있다.
처리부(30)는 센서(10)에 의해 획득된 객체 및 주변 환경의 3차원 깊이 데이터 및 색상 데이터에 기반하여, 센서 좌표계를 게임 존에 캘리브레이션하고, 인식된 객체에 따라 게임을 진행하는 동작 등과 같은 상기 장치(100)의 전반적인 동작을 처리하며, MCU(Micro Control Unit), CPU(Central Processing Unit)와 같은 일종의 응용 프로세서(AP, Application Processor)로 구현될 수 있다. 일 실시예에서, 처리부(30)는 캘리브레이션부(31), 게임 존 설정부(33) 및 게임 진행부(35)를 포함할 수 있다. 처리부(30)의 동작에 대해서는 도 2를 참조하여 아래에서 보다 상세하게 서술된다.
일 실시예에서, 상기 장치(100)는 저장부(40)를 더 포함할 수 있다. 저장부(40)는 본 실시예를 구현하기 위한 프로그램 명령어를 저장하는 하나의 수단으로서, 동적 RAM(dynamic RAM) 또는 정적 RAM(static RAM)과 같은 RAM(random access memory), ROM(read-only memory), ERPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 및 NVRAM(non-volatile RAM) 등을 포함할 수 있으나, 이에 제한되진 않는다. 위의 메모리 유형은 단지 예시적인 것으로서, 컴퓨터 프로그램의 저장을 위해 사용할 수 있는 저장부(40)의 유형을 제한하진 않는다.
이동 컴포넌트(200)는 상기 장치(100)와 통신 가능하도록 구성되고, 상기 장치(100)로부터 이동에 연관된 명령을 수신하면 그에 따라 이동할 수 있는 이동부를 포함한 외부 컴포넌트이다. 일부 실시예에서, 상기 이동 컴포넌트(200)는 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 3개의 위치를 포인팅하게 하는 이동 명령 또는 게임 시나리오에 따른 이동 명령을 수신할 수 있다.
일 실시예에서, 이동 컴포넌트(200)는 도 2에 도시된 바와 같은 로봇 형태의 컴포넌트일 수 있다. 그러나, 이는 단지 예시적인 것으로서, 상기 장치(100)와 통신 가능하며 이동할 수 있는 다양한 형태일 수 있다.
상기 장치(100) 및 시스템(1000)은 다른 구성요소를 포함할 수도 있다는 것이 당업자에게 명백할 것이다. 예를 들어, 데이터 엔트리를 위한 입력 장치, 인쇄 또는 다른 데이터 표시를 위한 출력 장치, 및 본 명세서에 서술된 동작에 필요한 다른 하드웨어 요소를 포함할 수도 있다. 일부 실시예에서, 상기 시스템은 상기 장치(100)에 대한 외부 장치(예를 들어, 스마트 폰, 이동 컴포넌트(200)) 사이를 연결하는 네트워크, 네트워크 인터페이스 및 프로토콜 등을 더 포함할 수 있다.
도 3은, 본 발명의 일 실시예에 따른, 센서 좌표계를 게임 존에 캘리브레이션하는 방법의 흐름도를 도시한 도면이다. 상기 방법은 상기 3차원 공간에서 이동 가능한 이동 컴포넌트 및 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 하나를 포함한 제1 센싱 이미지를 획득하는 단계(S110), 상기 제1 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션하는 단계(S131), 상기 3차원 공간 상에 4개의 포인트를 결정하고 게임 존(game zone)을 설정하는 단계(S133); 및 게임을 진행하기 위해 상기 이동 컴포넌트를 상기 게임 존에서 인식하는 단계(S135)를 포함할 수 있다.
일 실시예에서, 상기 장치(100)는 센서(10)를 통해 3 차원 공간에서 객체 및 상기 객체를 지지하는 일 면 중 적어도 하나를 포함한 센싱 이미지를 획득한다(S110). 여기서, 객체는 상기 장치(100)와 통신 가능하고, 이동 가능하도록 구성된 이동 컴포넌트(200)의 일부 또는 전부 및/또는 사람의 신체의 일부 또는 전부일 수 있다.
그러면, 캘리브레이션부(31)는 객체 및 상기 객체를 지지하는 일 면 중 적어도 하나를 포함한 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션한다(S131).
도 4는 본 발명의 일 실시예에 따른, 센서 좌표계를 게임 존이 설정될 일 면과 캘리브레이션하는 과정을 묘사한 도면이다.
일 실시예에서, 캘리브레이션부(31)는 센서에 의해 획득된 센싱 정보가 게임 존이 설정될 일 면을 포함하는지를 결정한다. 상기 게임 존이 설정될 일 면은 굴곡이 없거나 거의 없는 면(surface)으로서, 바닥, 책상 등을 포함할 수 있다. 그러나, 이는 단지 예시적인 것으로서, 사람, 동물, 이동 컴포넌트(200) 등과 같은 객체를 지지할 수 있는 다양한 일 면이 사용될 수 있다. 이하, 설명의 명료성을 위해 일 면을 바닥으로 대표하여 서술한다.
일 실시예에서, 캘리브레이션부(31)는 센서에 의해 획득된 센싱 정보에 대한 포인트를 산출하여 상기 센싱 정보가 게임 존이 설정될 바닥 면을 포함하는지를 결정한다.
일 예에서, 캘리브레이션부(31)는 센서(10)로부터 객체가 포함된 센싱 이미지를 제공받아 상기 센싱 이미지에 대한 포인트 클라우드(point cloud)를 생성한다(이 과정은 스캐닝 과정으로 지칭될 수 있다). 센서(10)에 의해 획득된 상기 장치(100)의 주위 환경에 대한 이미지 정보와 3차원 깊이 정보에 기초하여 센싱 이미지에 대한 3차원 포인트 클라우드를 생성한다. 이 때, 센싱 이미지에 대한 포인트 클라우드 중 특징점(feature point)을 선정할 수 있다. 예를 들어, 센싱 이미지에 대한 포인트 클라우드에서 색상이 변하는 부분 또는 외측면이 굴곡지거나 급격히 변형되는 지점과 같이 형상을 비교하는데 효율적인 지점을 특징점으로 설정할 수 있으며, 특징점 선정은 종래에 일반적으로 사용되는 특징점 선정 알고리즘을 사용할 수 있다.
이어서, 특징점 매칭에 기초하여 상기 이미지에 대한 포인트 클라우드와 미리 저장된, 일 면의 후보군 모델에 대한 포인트 클라우드를 매칭한다(이 과정은 매칭 과정으로 지칭될 수 있다). 일 예에서, 모델에 대한 포인트 클라우드는 객체를 지지할 수 있는 일 면(즉, 후보군 모델)에 대한 포인트 클라우드(예를 들어, 바닥 면에 대한 포인터 클라우드, 책상 면에 대한 포인터 클라우드 등)를 포함할 수 있다. 여기서, 모델에 대한 포인트 클라우드는 이미지로부터 객체를 검출하기 위해 미리 저장된 비교 대상으로서, 객체에 대응하는 형상의 모델을 촬영하여 생성된다. 일부 실시예에서, 상기 장치(100)는 외부 데이터베이스로부터 미리 생성된 모델에 대한 포인트 클라우드를 획득할 수 있다.
캘리브레이션부(31)는 특징점 매칭에 기초하여 상기 센싱 이미지에 대한 포인트 클라우드와 미리 저장된 모델에 대한 포인트 클라우드를 매칭한 뒤, 상기 특징점 매칭에 의해 매칭된 포인트들을 통해 이미지가 해당 객체를 포함하는 지를 결정한다.
또한, 일부 예들에서 매칭 과정은 모델에 대한 포인트 클라우드에서 특징점을 선정한 이후에, 모델에 대한 포인트 클라우드 및/또는 센싱 이미지에 대한 포인트 클라우드에 대하여 공간을 분할하고 샘플링하는 것과 같은 필터링 단계를 더 포함할 수도 있다.
일 실시예에서, 캘리브레이션부(31)는 포인트 클라우드 라이브러리(Point Cloud Library)를 통해 포인트 클라우드를 생성하고 특징점을 선정함으로써 센싱 이미지가 바닥을 포함하는 지를 결정하는 단계를 수행할 수 있다.
다른 실시예에서, 상기 장치(100)는 하나 이상의 센서(10)를 포함할 수 있다. 이 경우, 캘리브레이션부(31)는 최소 자승(least square) 방법을 이용하여 센싱 이미지가 바닥을 포함하는 지를 결정할 수 있다.
일 실시예에서, 캘리브레이션부(31)는 바닥이 포함된 센싱 이미지에 대한 포인트 클라우드를 생성하고, 미리 저장된 후보군 모델에 대한 포인트 클라우드를 센싱 이미지와 각각 매칭한다. 일부 실시예에서, 상기 매칭 과정은 특징점을 추출하여 수행될 수 있다. 센싱 이미지는 바닥을 포함하고 있으므로, 후보군 모델 중 바닥 모델에 대한 포인트 클라우드와 매칭될 것이다. 이런 매칭 결과에 기초하여, 센싱 이미지가 바닥을 포함하는 지를 결정할 수 있다.
상기 센싱 이미지가 바닥을 포함하는 것으로 결정된 경우, 캘리브레이션부(31)는 이어서 바닥의 법선 벡터를 산출한다. 캘리브레이션부(31)는 바닥에 해당되는 포인트들의 좌표에 기초하여 일 면의 법선 벡터를 산출한다. 일부 실시예에서, 계산의 편의성을 위해 소정 간격 이상의 높이 좌표(예를 들어, z좌표)를 갖는 포인트들을 필터링한 뒤 법선 벡터를 산출할 수 있다.
그러면, 캘리브레이션부(31)는 미리 설정된 센서 좌표계의 일 축을 산출된 일 면의 법선 벡터와 평행하게 캘리브레이션한다. 도 4를 참조하면, 캘리브레이션부(31)는 센서 좌표계의 수직 축(예컨대, z축)의 방향 벡터를 법선 벡터와 평행하게 캘리브레이션한다.
일 실시예에서, 캘리브레이션부(31)는 상기 일 면의 법선 벡터를 z축, 센서의 초점에서 렌즈로 향하는 정면 방향의 방향 벡터를 x축, 그리고 센서 좌표계의 영점을 영점으로 갖는 월드 좌표계를 생성할 수도 있다. 이로 인해, 캘리브레이션 이전에 일 면과 상이한 좌표 축을 가진 센서 좌표계는 상기 장치(100)의 주위 환경을 나타내는 월드 좌표계와 캘리브레이션될 수 있다.
일부 실시예에서, 캘리브레이션부(31)는 법선 벡터 및 공통된 영점에 기초하여 월드 좌표계와 센서 좌표계 사이에 변환 매트릭스를 산출할 수 있다.
도 5는, 본 발명의 실시예들에 따른, 센싱 이미지에 일 면이 포함되지 않은 경우, 게임 존이 설정될 일 면을 산출하는 과정을 묘사한 도면이다.
일 실시예에서, 센싱 이미지가 바닥을 포함하지 않는다고 결정되는 경우, 캘리브레이션부(31)는 센싱 이미지에 포함된 객체의 위치에 기초하여 바닥 면의 법선 벡터를 산출할 수 있다. 일부 실시예에서, 캘리브레이션부(31)는 센싱 이미지에 포함된 이동 컴포넌트(200)의 위치에 기초하여 바닥 면의 법선 벡터를 산출할 수 있다.
캘리브레이션부(31)는 이동 컴포넌트(200)가 상기 이동 컴포넌트(200)를 지지하는 바닥 면 중 적어도 3개의 위치 포인트를 포인팅하게 하는 이동 명령을 상기 이동 컴포넌트(200)로 전송한다. 상기 적어도 3개의 위치 포인트는 지지하는 바닥 면을 결정할 수 있는 포인트로서, 일 직선 상에 모든 포인트가 있는 것을 제외한다. 즉, 상기 이동 명령은 이동 컴포넌트(200)가 적어도 1번의 이동 방향을 변하게 하는 명령을 포함한다.
여기서, 이동 방향이 변하는 것은 이동 방향에 기초한 직선의 방정식의 기울기의 절대값이 이동 방향의 변화 전후로 상이한 것을 나타낸다. 예를 들어, 방향 변화 전의 기울기가 +a이고, 방향 변화 후의 기울기가 -a인 경우, 적어도 1번의 이동 방향이 변하는 것에 해당되지 않는다.
도 5a를 참조하면, 캘리브레이션부(31)는 1번의 이동 방향을 변하게 하는 이동 명령을 이동 컴포넌트(200)로 전송한다. 이 경우, 이동 명령은 가로 이동 거리(P1-P2), 세로 이동 거리(P2-P3) 및 방향 변화 각도(90°)에 연관된 데이터를 포함한다.
도 5b를 참조하면, 캘리브레이션부(31)는 2번의 이동 방향을 변하게 하는 이동 명령을 이동 컴포넌트(200)로 전송한다. 이 경우, 이동 명령은 세로 이동 거리(P1-P2 및 P3-P4), 가로 이동 거리(P2-P3) 및 방향 변화 각도(90°)에 연관된 데이터를 포함한다.
캘리브레이션부(31)는 이동 컴포넌트(200)를 포함한 센싱 이미지의 정보(m*n*(x,y,z))에 기초하여 이동 컴포넌트(200)를 계속적으로 인식하고(즉, 이동 궤적을 트래킹하고), 이동 컴포넌트(200)의 이동 궤적에 대한 이동 방정식(즉, 바닥 면 상의 직선 방정식)을 산출한다. 캘리브레이션부(31)가 이동 컴포넌트(200)를 인식하는 과정은 위에서 서술된, 바닥 면을 인식하는 과정과 유사하므로, 자세한 설명은 생략한다.
도 5a를 참조하면, 이동 컴포넌트의 처음 방향(P1-P2)은 나중 방향(P2-P3)과 상이하다. 이 경우, 캘리브레이션부(31)는 이동 컴포넌트(200)의 이동 시작 포인트(P1), 방향 변화 포인트(P2), 및 이동 종료 포인트(P3)를 바닥 면의 평면 방정식을 산출하기 위해 이용할 수 있다. 평면 방정식은 법선 벡터를 나타내는 성분을 포함하므로, 캘리브레이션부(31)는 바닥 면의 법선 벡터를 이동 컴포넌트 인식을 통해 산출할 수 있다.
도 5b를 참조하면, 이동 컴포넌트의 처음 방향(P1-P2), 중간 방향(p2-P3), 및 나중 방향(P3-P4)은 각각 상이하다. 이 경우, 캘리브레이션부(31)는 이동 컴포넌트(200)의 이동 시작 포인트(P1), 제1 방향 변화 포인트(P2), 제2 방향 변화 포인트(P3) 및 이동 종료 포인트(P4)를 바닥 면의 평면 방정식을 산출하기 위해 이용할 수 있다.
일 실시예에서, 센싱 이미지가 바닥 또는 객체를 포함하지 않는다고 결정된 경우, 상기 장치(100)는 콘텐츠 화면이 주사될 적합한 다른 바닥을 추출하기 위해 이동할 수 있다. 일부 실시예에서, 상기 장치(100)는 게임 존이 설정될 적합한 영역이 없다는 것을 사용자에게 알릴 수 있다.
도 6은, 본 발명의 일 실시예에 따른, 게임 좌표계를 설정하는 과정을 도시한 도면이다. 일부 실시예에서, 이동 명령에 포함된 방향 변화 각도가 90°인 경우, 캘리브레이션부(31)는 게임 좌표계의 좌표축을 이동 컴포넌트(200)의 이동 궤적 중 적어도 일부에 대응하도록 변환할 수 있다.
도 6을 참조하면, 이동 명령에 포함된 방향 변화 각도가 90°이므로, 게임 좌표계의 x축 및 y축을 이동 컴포넌트의 이동 궤적(P2-P1 및 P2-P3)에 각각 대응하도록 변환할 수 있다. 이로 인해, 나중에 객체를 인식하여 게임을 진행하는 경우, 인식된 객체의 위치를 바로 게임 좌표계 상의 좌표로 산출할 수 있다.
게임 존 설정부(33)는 3차원 공간 상에 적어도 4개의 포인트를 결정하고, 상기 4개의 포인트를 범위로 하는 게임 존(game zone)을 설정한다. 여기서, 적어도 4개의 포인트의 위치는 캘리브레이션된 좌표계(즉, 게임 좌표계)로 표현된다.
일 실시예에서, 게임 존 설정부(33)는 z좌표를 동일하게 하면서, 랜덤하게 적어도 4개의 포인트를 결정할 수 있다.
다른 일 실시예에서, 게임 존 설정부(33)는 바닥 면의 평면 방정식을 산출하기 위해 이용된 적어도 3개의 포인트에 기초하여 게임 존을 설정하기 위한 적어도 4개의 포인트를 결정할 수 있다.
도 5a를 참조하면, 게임 존 설정부(33)는 바닥 면의 평면 방정식을 산출하기 위해 이용된 3개의 포인트(P1-P3)를 적어도 4개의 포인트 중 3개로 결정하고, 가로 거리 또는 세로 거리를 산출하여 나머지 포인트(P4)의 좌표를 산출할 수 있다.
도 5b를 참조하면, 게임 존 설정부(33)는 바닥 면의 평면 방정식을 산출하기 위해 이용된 4개의 포인트(P1-P4)를 이용하여 바로 게임 존을 설정할 수 있다.
또 다른 일 실시예에서, 게임 존 설정부(33)는 게임 존 설정부(33)는 이동 컴포넌트(200)를 인식하여 게임 존을 설정한다. 상기 실시예에서, 이동 컴포넌트(200)로 게임 존을 설정하기 위한 이동 명령을 전송한다. 이동 명령은 적어도 이동 컴포넌트(200)가 적어도 2번의 방향을 바꾸도록 하게 한다. 예를 들어, 이동 명령은 도 5b에 도시된 바와 같이 이동 컴포넌트(200)가 이동하도록 하게 하는 명령일 수 있다. 또한, 이동 명령은 게임 존의 가로, 세로 간격, 꼭지점의 위치 좌표 등에 연관된 정보를 포함할 수 있다. 일부 실시예에서, 게임 존 설정부(33)는 미리 설정된 게임에 기초하여 게임 존을 설정하기 위한 여러 데이터를 이동 명령에 포함시킨다.
게임 존 설정부(33)는 센서를 통해 상기 이동 컴포넌트의 이동 궤적을 트래킹하여 상기 이동 컴포넌트의 이동 궤적에 포함된 포인트 중 적어도 4개의 위치를 산출하고, 상기 적어도 4개의 포인트를 범위로 하는 게임 존을 설정한다. 이동 궤적을 트래킹하여 적어도 4개의 위치를 산출하는 과정은 센싱 이미지가 바닥 면을 포함하지 않는 경우 바닥의 평면 방정식을 산출하기 위해 적어도 3개의 위치 포인트를 결정하는 과정과 동작 원리가 유사하므로, 자세한 설명은 생략한다.
다른 실시예에서, 게임 존은 다른 객체(예를 들어, 지시봉)을 통해 설정될 수도 있다.
게임 진행부(35)는 미리 저장된 게임 프로그램을 실행하고, 센서(10)를 통해 게임 존 상에 위치하는 이동 컴포넌트(200), 사람 등과 같은 객체를 인식하여 미리 저장된 게임 프로그램을 진행한다.
게임 진행부(35)는 상기 게임 존에서의 이동 컴포넌트(200)를 포함한 센싱 이미지를 상기 센서(10)를 통해 획득하고, 센싱 이미지가 바닥 면을 포함하는 경우 상기 바닥 면을 필터링한다.
일 실시예에서, 게임 진행부(35)는 센서(10)에서 소정 높이 이하의 포인트를 필터링하여 센싱 이미지로부터 바닥 면을 제거한다. 예를 들어, 센서(10)의 높이가 150cm인 경우, 게임 진행부(35)는 센서(10)로부터 140cm 이하의 높이 좌표를 갖는 포인트를 필터링하고, 10 cm 이상의 높이 좌표를 갖는 포인트를 이동 컴포넌트를 인식하는데 사용한다.
다른 실시예에서, 게임 진행부(35)는 게임 존 상에서 적어도 3개의 포인트를 결정하고, 상기 적어도 3개의 포인트를 포함한 평면을 결정한다. 여기서, 게임 존 상의 적어도 3개의 포인트의 높이 좌표 값은 서로 동일하며, 평면 좌표 값은 게임 존 범위 내에서 랜덤하게 결정된다.
그러면, 게임 진행부(35)는 상기 평면으로부터 소정 범위 내 포인트를 필터링하고, 필터링된 포인트의 수가 임계치 이상인 경우 해당되는 복수의 포인트를 이동 컴포넌트로 인식한다.
예를 들어, 게임 진행부(35)는 평면 결정 이후에, 게임 존 상의 이동 컴포넌트(200)를 포함한 센싱 이미지에 대한 포인트 클라우드를 생성하고, 상기 센싱 이미지에 대한 포인트 클라우드를 상기 평면으로부터 소정 범위로 필터링한다. 예컨대, 게임 진행부(35)는 높이 좌표 값이 100cm인 임의의 3점을 선정하고, 해당 평면을 결정한다. 이어서, 해당 평면으로부터 50cm 아래의 범위 내의 포인트만을 사용하기 위해 범위 밖에 위치하는 포인트는 필터링을 통해 제거한다. 일부 실시예에서, 상기 소정의 필터링 범위는 해당 평면으로부터 위의 범위를 포함할 수 있다.
일부 실시예에서, 게임 진행부(35)는 포인트 클라우드 라이브러리를 통하여 바닥 면을 인식하고 이를 제거할 수 있다. 이 동작 원리는 위에서 서술한, 센싱 이미지가 바닥 면을 포함하는지 결정하는 동작 원리와 유사하므로, 자세한 설명은 생략한다.
위에서 서술한 실시예를 통해, 이동 컴포넌트(200)를 지지하는 바닥 면이 센싱 이미지에서 필터링된다. 게임 진행부(35)는 필터링된 센싱 이미지에 대한 포인트(즉, 필터링된 포인트 클라우드)의 수가 임계치 이상인 경우 해당 포인트 클라우드를 이동 컴포넌트로 인식한다.
센싱 이미지가 이동 컴포넌트 및/또는 사람을 지지하는 바닥 면을 포함하지 않게 센서(10)의 각도가 설정된 경우, 게임 진행부(35)는 상기 일 면을 필터링하는 과정이 없이 객체를 인식하는 과정을 수행할 수 있다.
게임 진행부(35)는 해당되는 복수의 포인트(즉, 해당 포인트 클라우드)의 평면 좌표(x, y)에 기초하여 이동 컴포넌트가 게임 존에서 어디에 위치하는지 알 수 있다.
또한, 게임 진행부(35)는 포인트 클라우드 간의 간격에 기초하여 객체를 구분할 수 있다. 예를 들어, 포인트 클라우드 간의 간격이 소정 거리 이하 인 경우, 하나의 객체로 결정하고, 반면 소정 거리 이상인 경우, 상이한 객체(예: 이동 컴포넌트(200) 및 사람)로 결정한다.
위와 같이 바닥, 사람 및/또는 이동 컴포넌트(200)와 같은 객체 인식 과정을 통해, 게임 진행부(35)는 객체 인식과 상호 작용하는 다양한 게임을 진행할 수 있다.
일 실시예에서, 게임 진행부(35)는 이동 컴포넌트(200)가 정사각형이 가로, 세로 4개씩 구성된 격자 무늬의 맵을 이동하고, 사람은 이동 컴포넌트(200)의 이동 경로를 따라 이동하는 게임을 진행할 수 있다.
예를 들어, 이동 컴포넌트(200)가 격자 위의 미리 설정된 시작 위치에서 도착 위치를 지나 격자 무늬 외부로 빠져 나간다. 그 후, 사용자는 이동 컴포넌트(200)가 이동한 경로를 따라서 이동한다. 이 때, 상기 장치(100)가 센서를 통해 사용자가 정해진 경로를 이탈하는 것을 인식하면, 사용자에게 경로 이탈 알림을 제공한다.
사용자는 경로 이탈 알림을 제공받으면 다시 처음 위치에서부터 경로 이동을 개시한다. 게임 진행부(35)는 소정 시간 안에 이동 완료 시 게임이 성공하였음을 사용자에게 알릴 수 있다.
일부 실시예에서, 게임 진행부(35)는 상기 격자 무늬를 게임 존 상에 가상으로 설정할 수 있다.
도 3를 참조하여 위에서 서술된 단계들은 단지 예시적인 것으로, 상기 장치(100)의 설정 상태에 따라 순서가 상이할 수도, 생략될 수도, 또는 변경될 수도 있다.
이상에서 설명한 실시예들에 따른 센서 좌표계를 게임 존에 캘리브레이션하는 방법 및 장치에 의한 동작은, 적어도 부분적으로 컴퓨터 프로그램으로 구현될 수 있다. 여기서, 본 실시예를 구현하기 위한 프로그램은 컴퓨팅 장치에서 실행될 수 있는 기능적인 프로그램 명령어, 및 코드들의 형태로 구성된다. 상기 서술된 동작 및 그들에 연관된 부(unit), 모듈 등은 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합 내에서 구현될 수도 있다. 예를 들어, 소프트웨어 모듈은 프로그램 코드를 포함하는 컴퓨터-판독가능 매체로 구성되는 프로그램 제품과 함께 구현되고, 이는 기술된 임의의 또는 모든 단계, 동작, 또는 과정을 수행하기 위한 프로세서에 의해 실행될 수 있다.
본 실시예를 구현하기 위한 기능적인 프로그램 명령어, 및 코드, 예컨대 센서 좌표계를 게임 존에 캘리브레이션하는 장치(100)의 프로세서에 의해 실행되는 경우 센서 좌표계를 게임 존에 캘리브레이션하는 방법을 수행하는 프로그램 명령어는 본 실시예가 속하는 기술 분야의 통상의 기술자에 의해 용이하게 이해될 수 있을 것이다.
또한, 센서 좌표계를 게임 존에 캘리브레이션하는 방법 및 장치에 의한 동작은 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 실시예들에 따른 센서 좌표계를 게임 존에 캘리브레이션하는 방법 및 장치에 의한 동작을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등을 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다.
이상에서 살펴본 본 발명은 도면에 도시된 실시예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.

Claims (13)

  1. 센서 좌표계를 게임 존에 캘리브레이션하는 장치에 의해 수행되는 센서 좌표계를 게임 존에 캘리브레이션하는 방법으로서,
    3차원 공간의 일 면에서 이동 가능한 이동 컴포넌트 및 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 하나를 포함한 제1 센싱 이미지를 획득하는 단계;
    상기 제1 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션하는 단계;
    상기 3차원 공간 상에 적어도 4개의 포인트를 결정하고 게임 존을 설정하는 단계; 및
    게임을 진행하기 위해 상기 이동 컴포넌트를 상기 게임 존에서 인식하는 단계를 포함하며,
    상기 4개의 포인트의 좌표는 상기 캘리브레이션된 좌표계 상의 좌표인 방법.
  2. 제1항에 있어서,
    상기 캘리브레이션하는 단계는,
    상기 제1 센싱 이미지가 상기 일 면을 포함하는지 결정하는 단계;
    상기 일 면의 법선 벡터를 산출하는 단계; 및
    상기 센서 좌표계의 일 축을 상기 일 면의 법선 벡터와 평행하게 캘리브레이션하는 단계를 포함하는 방법.
  3. 제2항에 있어서,
    상기 제1 센싱 이미지가 상기 일 면을 포함하는지 결정하는 단계는,
    상기 제1 센싱 이미지에 대한 포인트 클라우드(point cloud)를 생성하는 단계;
    상기 제1 센싱 이미지에 대한 포인트 클라우드를 미리 저장된, 상기 일 면에 대한 하나 이상의 후보에 대한 포인트 클라우드와 매칭하는 단계; 및
    상기 매칭에 의해 매칭된 포인트를 통해 상기 센싱 이미지가 상기 일 면을 포함하는 지를 결정하는 단계를 더 포함하는 방법.
  4. 제2항에 있어서,
    상기 캘리브레이션하는 단계는,
    상기 제1 센싱 이미지가 상기 일 면을 포함하지 않는 경우, 상기 제1 센싱 이미지에 포함된 이동 컴포넌트의 위치에 기초하여 상기 일 면의 법선 벡터를 산출하는 단계를 더 포함하는 방법.
  5. 제4항에 있어서,
    상기 캘리브레이션하는 단계는,
    상기 이동 컴포넌트가 적어도 한 번 이동 방향을 변화하게 하는 이동 명령을 상기 이동 컴포넌트로 전송하는 단계;
    상기 센서를 통해 상기 이동 컴포넌트의 이동 궤적을 트래킹하여 상기 이동 컴포넌트의 위치 궤적에 포함된 적어도 3개의 포인트를 결정하는 단계; 및
    상기 적어도 3개의 포인트에 기초하여 상기 이동 컴포넌트를 지지한 일 면의 평면 방정식을 산출하고, 상기 일 면의 법선 벡터를 산출하는 단계를 더 포함하는 방법.
  6. 제5항에 있어서,
    상기 3차원 공간 상에 4개의 포인트를 결정하고 게임 존을 설정하는 단계는,
    상기 적어도 3개의 포인트에 기초하여 결정하는 단계를 더 포함하는 방법.
  7. 제2항에 있어서,
    상기 이동 컴포넌트를 인식하여 게임을 진행하는 단계는,
    상기 게임 존 범위의 이동 컴포넌트 및 상기 이동 컴포넌트를 지지한 일 면을 포함한 제2 센싱 이미지를 상기 센서를 통해 획득하는 단계;
    상기 제2 센싱 이미지에서 상기 일 면을 필터링하는 단계; 및
    상기 필터링된 제2 센싱 이미지에 기초하여 상기 이동 컴포넌트를 인식하는 단계를 포함하는 방법.
  8. 제7항에 있어서,
    상기 일 면을 필터링하는 단계는,
    상기 센서의 위치로부터 소정 높이 이하의 포인트를 필터링하는 단계를 더 포함하는 방법.
  9. 제7항에 있어서,
    상기 일 면을 필터링하는 단계는,
    상기 게임 존 상에서 적어도 3개의 포인트를 결정하고, 상기 게임 존 상의 적어도 3개의 포인트를 포함한 평면을 결정하는 단계; 및
    상기 평면으로부터 소정 범위 내 포인트를 필터링하는 단계를 더 포함하는 방법.
  10. 제9항에 있어서,
    상기 이동 컴포넌트를 인식하는 단계는,
    상기 필터링된 포인트 수가 임계치 이상인 경우 해당되는 복수의 포인트에 기초하여 이동 컴포넌트를 인식하는 단계를 더 포함하는 방법.
  11. 컴퓨터에 의해 판독 가능하고, 상기 컴퓨터에 의해 동작 가능한 프로그램 명령어를 저장하는 컴퓨터 판독가능한 기록매체로서, 상기 프로그램 명령어가 상기 컴퓨터의 프로세서에 의해 실행되는 경우 제1항 내지 제10항 중 어느 하나의 항에 따른 객체 인식에 따른 인터페이스 기능을 수행하는 방법을 수행하게 하는 컴퓨터 판독가능 기록매체.
  12. 객체 인식에 따른 게임을 진행하는 장치로서,
    상기 3차원 공간에서 이동 가능한 이동 컴포넌트 및 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 하나를 포함한 센싱 이미지를 획득하는 센서;
    상기 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션하는 캘리브레이션부;
    상기 3차원 공간 상에 4개의 포인트를 결정하고 게임 존을 설정하는 게임 존 설정부; 및
    게임을 진행하기 위해 상기 이동 컴포넌트를 상기 게임 존에서 인식하는 게임 진행부를 포함하며,
    상기 4개의 포인트의 좌표는 상기 캘리브레이션된 좌표계 상의 좌표인 장치.
  13. 객체 인식에 따른 게임을 진행하는 시스템으로서,
    상기 3차원 공간에서 이동 가능한 이동 컴포넌트 및 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 하나를 포함한 센싱 이미지를 획득하는 센서; 상기 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션하는 캘리브레이션부; 상기 3차원 공간 상에 4개의 포인트를 결정하고 게임 존을 설정하는 게임 존 설정부; 및 상기 이동 컴포넌트를 상기 게임 존에서 인식하여 게임을 진행하는 게임 진행부를 포함하며, 상기 4개의 포인트의 좌표는 상기 캘리브레이션된 좌표계 상의 좌표인 장치; 및
    상기 장치와 통신하고; 상기 장치로부터 이동 명령을 수신하는 경우 상기 이동 명령에 따라 이동하도록 구성된 이동 컴포넌트를 포함하는 시스템.
KR1020180009643A 2017-01-26 2018-01-25 센서 좌표계를 게임 존에 캘리브레이션하는 방법 및 장치 KR101979246B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170012605 2017-01-26
KR1020170012605 2017-01-26

Publications (2)

Publication Number Publication Date
KR20180088306A true KR20180088306A (ko) 2018-08-03
KR101979246B1 KR101979246B1 (ko) 2019-05-16

Family

ID=63250169

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180009643A KR101979246B1 (ko) 2017-01-26 2018-01-25 센서 좌표계를 게임 존에 캘리브레이션하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101979246B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220017697A (ko) * 2020-08-05 2022-02-14 한국기술교육대학교 산학협력단 복수의 센서간 캘리브레이션 방법 및 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032123A (ja) * 2000-07-19 2002-01-31 Matsushita Electric Ind Co Ltd 移動作業ロボット
JP2008264947A (ja) * 2007-04-20 2008-11-06 Toyota Motor Corp 平面検出方法、及び移動ロボット
KR20110020961A (ko) * 2009-08-25 2011-03-04 삼성전자주식회사 모바일 플랫폼의 동적 물체 검출 및 추적 방법
WO2013111229A1 (ja) * 2012-01-23 2013-08-01 日本電気株式会社 カメラ校正装置、カメラ校正方法およびカメラ校正用プログラム
KR20140141174A (ko) 2013-05-31 2014-12-10 한국과학기술원 3차원 객체 인식을 위한 rgb-d 영상 기반 객체 구역화 및 인식 방법 및 장치
KR20160034756A (ko) * 2014-09-22 2016-03-30 주식회사 에스원 깊이영상 기반 노멀정보를 이용한 바닥검출 장치 및 그 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032123A (ja) * 2000-07-19 2002-01-31 Matsushita Electric Ind Co Ltd 移動作業ロボット
JP2008264947A (ja) * 2007-04-20 2008-11-06 Toyota Motor Corp 平面検出方法、及び移動ロボット
KR20110020961A (ko) * 2009-08-25 2011-03-04 삼성전자주식회사 모바일 플랫폼의 동적 물체 검출 및 추적 방법
WO2013111229A1 (ja) * 2012-01-23 2013-08-01 日本電気株式会社 カメラ校正装置、カメラ校正方法およびカメラ校正用プログラム
KR20140141174A (ko) 2013-05-31 2014-12-10 한국과학기술원 3차원 객체 인식을 위한 rgb-d 영상 기반 객체 구역화 및 인식 방법 및 장치
KR20160034756A (ko) * 2014-09-22 2016-03-30 주식회사 에스원 깊이영상 기반 노멀정보를 이용한 바닥검출 장치 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220017697A (ko) * 2020-08-05 2022-02-14 한국기술교육대학교 산학협력단 복수의 센서간 캘리브레이션 방법 및 장치

Also Published As

Publication number Publication date
KR101979246B1 (ko) 2019-05-16

Similar Documents

Publication Publication Date Title
KR101881620B1 (ko) 게임플레이에서의 3차원 환경 모델 사용
US8401225B2 (en) Moving object segmentation using depth images
US20150002419A1 (en) Recognizing interactions with hot zones
US20110292036A1 (en) Depth sensor with application interface
US11847796B2 (en) Calibrating cameras using human skeleton
TWI696906B (zh) 處理地板之方法
JP6054831B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
Ye et al. 6-DOF pose estimation of a robotic navigation aid by tracking visual and geometric features
US10778902B2 (en) Sensor control device, object search system, object search method, and program
JP2016170610A (ja) 三次元モデル処理装置およびカメラ校正システム
US11282222B2 (en) Recording medium, object detection apparatus, object detection method, and object detection system
KR101469099B1 (ko) 사람 객체 추적을 통한 자동 카메라 보정 방법
CN109313822B (zh) 基于机器视觉的虚拟墙构建方法及装置、地图构建方法、可移动电子设备
EP3910451B1 (en) Display systems and methods for aligning different tracking means
KR101979246B1 (ko) 센서 좌표계를 게임 존에 캘리브레이션하는 방법 및 장치
Gonzalez-Jimenez et al. Improving 2d reactive navigators with kinect
US20230224576A1 (en) System for generating a three-dimensional scene of a physical environment
KR102000674B1 (ko) 센서 좌표계와 콘텐츠 주사 영역을 캘리브레이션하는 방법 및 장치
Acevedo Cruz Calibration of a multi-kinect system
van Liere et al. An Experimental Comparison of Three Optical Trackers for Model Based Pose Determination in Virtual Reality.
US20210343040A1 (en) Object tracking
KR20240043315A (ko) 직육면체를 검출하여 증강현실 게임 공간을 구성하는 장치 및 방법
de Campos Real Time Stereo Cameras System Calibration Tool and Attitude and Pose Computation with Low Cost Cameras
Havasi et al. Calibrationless sensor fusion using linear optimization for depth matching
Janszen et al. Master Thesis Improving robustness of pose estimation in AR using motion segmentation

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