KR101979246B1 - Method and apparatus for for calibrating sensor coordinate system with game zone - Google Patents

Method and apparatus for for calibrating sensor coordinate system with game zone Download PDF

Info

Publication number
KR101979246B1
KR101979246B1 KR1020180009643A KR20180009643A KR101979246B1 KR 101979246 B1 KR101979246 B1 KR 101979246B1 KR 1020180009643 A KR1020180009643 A KR 1020180009643A KR 20180009643 A KR20180009643 A KR 20180009643A KR 101979246 B1 KR101979246 B1 KR 101979246B1
Authority
KR
South Korea
Prior art keywords
game
points
sensing image
moving component
game zone
Prior art date
Application number
KR1020180009643A
Other languages
Korean (ko)
Other versions
KR20180088306A (en
Inventor
백경근
강성규
노학종
Original Assignee
(주)로보케어
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)로보케어 filed Critical (주)로보케어
Publication of KR20180088306A publication Critical patent/KR20180088306A/en
Application granted granted Critical
Publication of KR101979246B1 publication Critical patent/KR101979246B1/en

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

Abstract

실시예들은 3차원 공간에서 이동 가능한 이동 컴포넌트 및 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 하나를 포함한 센싱 이미지를 획득하는 센서; 상기 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션하는 캘리브레이션부; 상기 3차원 공간 상에 4개의 포인트를 결정하고 게임 존을 설정하는 게임 존 설정부; 및 상기 이동 컴포넌트를 상기 게임 존에서 인식하여 게임을 진행하는 게임 진행부를 포함하며, 상기 4개의 포인트의 좌표는 상기 캘리브레이션된 좌표계 상의 좌표인 장치; 및 상기 장치와 통신하고; 상기 장치로부터 이동 명령을 수신하는 경우 상기 이동 명령에 따라 이동하도록 구성된 이동 컴포넌트를 포함하는 시스템에 관한 것이다.Embodiments include a sensor for obtaining a sensing image including at least one of a movable component movable in three-dimensional space and a surface supporting the movable component; A calibration unit for calibrating a sensor coordinate system on the one surface based on the sensing image; A game zone setting unit for determining four points on the three-dimensional space and setting a game zone; And a game progress unit for recognizing the moving component in the game zone and playing the game, wherein the coordinates of the four points are coordinates on the calibrated coordinate system; And communicating with the device; And a moving component configured to move in accordance with the move command when receiving a move command from the device.

Description

센서 좌표계를 게임 존에 캘리브레이션하는 방법 및 장치{METHOD AND APPARATUS FOR FOR CALIBRATING SENSOR COORDINATE SYSTEM WITH GAME ZONE}METHOD AND APPARATUS FOR FOR CALIBRATING SENSOR COORDINATE SYSTEM WITH GAME ZONE BACKGROUND OF THE INVENTION [0001]

본 발명의 실시예들은 센서 좌표계를 게임 존에 캘리브레이션하는 것에 관한 것으로서, 보다 상세하게는 센서 좌표계를 객체를 지지하는 일 면에 캘리브레이션 한 뒤, 게임 존을 설정하고 게임 존 상에 위치한 객체를 인식하여 게임을 진행하는 것에 관한 것이다Embodiments of the present invention relate to calibrating a sensor coordinate system in a game zone, more specifically, after calibrating a sensor coordinate system on one side supporting an object, setting a game zone and recognizing an object located on the game zone It's about playing the game

최근 3D 센서를 이용하여 객체 및 객체의 움직임을 인식하고 이에 대한 정보를 제공하는 기술이 활발히 연구되고 있다. 특히, 객체(예를 들어, 사람의 신체의 일부 또는 로봇 등을 포함)를 3D 센서를 통해 인식하고, 이에 대응하여 다양한 게임을 진행하는 게임 인터랙션 기술이 활발히 개발되고 있다. Recently, a technology for recognizing the movement of an object and an object using the 3D sensor and providing information thereon has been actively studied. Particularly, a game interaction technique for recognizing an object (for example, a part of a person's body or a robot, etc.) through a 3D sensor and playing a variety of games corresponding thereto is actively being developed.

이러한 게임 인터랙션 기술은 기존의 입력 장치(예를 들어, 마우스, 키보드 등)를 통해서만 게임을 진행할 수 있었던 기존의 게임 장치에 비해 다양한 입력 신호를 게임 장치에 입력할 수 있고, 특히 익숙하고 직관적인 사용자의 신체 움직임을 다양한 입력 신호로 입력할 수 있어, 사용자의 편의성 측면에서 장점이 있다.Such a game interaction technology can input various input signals to a game device as compared with an existing game device that can only be played through an existing input device (e.g., a mouse, a keyboard, etc.) Can be input as various input signals, which is advantageous in terms of user convenience.

그러나, 사용자 신체 및/또는 움직임의 위치가 게임에 정확하게 적용되지 않을 경우 사용자가 의도한 결과가 수행되지 않을 가능성이 있다. 따라서, 3D 센서가 인식한 사용자 신체 및 움직임의 위치를 게임에 보다 정확하게 적용할 수 있도록 캘리브레이션하는 기술이 필요하다.However, there is a possibility that the user's intended result will not be performed if the position of the user's body and / or movement is not applied accurately to the game. Therefore, there is a need for a technique of calibrating the position of the user's body and movement recognized by the 3D sensor so as to be more accurately applied to the game.

특허공개공보 제10-2014-0141174호Patent Publication No. 10-2014-0141174

본 발명의 실시예에 따르면, 센서 좌표계를 객체를 지지하는 일 면에 캘리브레이션 한 뒤, 게임 존을 설정하여 게임 존 상에 위치한 객체를 인식하여 게임을 진행하는 방법 및 장치가 제공된다. According to an embodiment of the present invention, there is provided a method and apparatus for performing a game by recognizing an object located on a game zone by setting a game zone after calibrating the sensor coordinate system on one side supporting the object.

나아가, 상기 장치 및 상기 장치와 통신 가능한 이동 컴포넌트를 포함한, 객체 인식에 따른 게임 진행이 가능한 시스템이 제공된다.Further, there is provided a system capable of playing a game according to object recognition, including a moving component capable of communicating with the apparatus and the apparatus.

본 발명의 일 측면에 따른 객체 인식에 따른 게임 진행 방법은 센서 좌표계를 게임 존에 캘리브레이션하는 장치에 의해 수행되며, 상기 방법은: 3차원 공간의 일 면에서 이동 가능한 이동 컴포넌트 및 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 하나를 포함한 제1 센싱 이미지를 획득하는 단계; 상기 제1 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션하는 단계; 상기 3차원 공간 상에 적어도 4개의 포인트를 결정하고 게임 존을 설정하는 단계; 및 게임을 진행하기 위해 상기 이동 컴포넌트를 상기 게임 존에서 인식하는 단계를 포함할 수 있다. 여기서, 상기 4개의 포인트의 좌표는 상기 캘리브레이션된 좌표계 상의 좌표이다.According to one aspect of the present invention, a game progression method according to object recognition is performed by a device for calibrating a sensor coordinate system in a game zone, the method comprising: moving a mobile component and a moving component on one side of a three- Acquiring a first sensing image including at least one of the first and second sensing images; Calibrating a sensor coordinate system on the one surface based on the first sensing image; Determining at least four points on the three-dimensional space and setting a game zone; And recognizing the moving component in the game zone to proceed with the game. Here, the coordinates of the four points are the coordinates on the calibrated coordinate system.

일 실시예에서, 상기 캘리브레이션하는 단계는 상기 제1 센싱 이미지가 상기 일 면을 포함하는지 결정하는 단계; 상기 일 면의 법선 벡터를 산출하는 단계; 및 상기 센서 좌표계의 일 축을 상기 일 면의 법선 벡터와 평행하게 캘리브레이션하는 단계를 포함할 수 있다.In one embodiment, the calibrating step comprises: determining whether the first sensing image comprises the one side; Calculating a normal vector of the one surface; And calibrating one axis of the sensor coordinate system in parallel with the normal vector of the one surface.

일 실시예에서, 상기 제1 센싱 이미지가 상기 일 면을 포함하는지 결정하는 단계는 상기 제1 센싱 이미지에 대한 포인트 클라우드(point cloud)를 생성하는 단계; 상기 제1 센싱 이미지에 대한 포인트 클라우드를 미리 저장된, 상기 일 면에 대한 하나 이상의 후보에 대한 포인트 클라우드와 매칭하는 단계; 및 상기 매칭에 의해 매칭된 포인트를 통해 상기 센싱 이미지가 상기 일 면을 포함하는 지를 결정하는 단계를 더 포함할 수 있다.In one embodiment, the step of determining whether the first sensing image includes the one side comprises: generating a point cloud for the first sensing image; Matching a point cloud for the first sensed image with a previously stored point cloud for one or more candidates for the one surface; And determining through the matching point by the matching whether the sensing image includes the one side.

일 실시예에서, 상기 캘리브레이션하는 단계는 상기 제1 센싱 이미지가 상기 일 면을 포함하지 않는 경우, 상기 제1 센싱 이미지에 포함된 이동 컴포넌트의 위치에 기초하여 상기 일 면의 법선 벡터를 산출하는 단계를 더 포함할 수 있다.In one embodiment, the step of calibrating comprises calculating the normal vector of the one side based on the position of the moving component included in the first sensing image, if the first sensing image does not include the one side As shown in FIG.

일 실시예에서, 상기 캘리브레이션하는 단계는 상기 이동 컴포넌트가 적어도 한 번 이동 방향을 변화하게 하는 이동 명령을 상기 이동 컴포넌트로 전송하는 단계; 상기 센서를 통해 상기 이동 컴포넌트의 이동 궤적을 트래킹하여 상기 이동 컴포넌트의 위치 궤적에 포함된 적어도 3개의 포인트를 결정하는 단계; 및 상기 적어도 3개의 포인트에 기초하여 상기 이동 컴포넌트를 지지한 일 면의 평면 방정식을 산출하고, 상기 일 면의 법선 벡터를 산출하는 단계를 더 포함할 수 있다.In one embodiment, the step of calibrating comprises the steps of: transmitting a move command to the moving component causing the moving component to change the direction of movement at least once; Tracking movement trajectories of the moving component through the sensor to determine at least three points included in the position trajectory of the moving component; And calculating a plane equation of one surface supporting the moving component based on the at least three points, and calculating a normal vector of the one surface.

일 실시예에서, 상기 3차원 공간 상에 4개의 포인트를 결정하고 게임 존을 설정하는 단계는 상기 적어도 3개의 포인트에 기초하여 결정하는 단계를 더 포함할 수 있다.In one embodiment, determining four points on the three-dimensional space and setting a game zone may further comprise determining based on the at least three points.

일 실시예에서, 상기 이동 컴포넌트를 인식하여 게임을 진행하는 단계는 상기 게임 존에서의 이동 컴포넌트를 포함한 제2 센싱 이미지를 상기 센서를 통해 획득하는 단계; 상기 제2 센싱 이미지를 필터링하는 단계; 및 상기 필터링된 제2 센싱 이미지에 기초하여 상기 이동 컴포넌트를 인식하는 단계를 포함할 수 있다.In one embodiment, the step of recognizing the moving component and proceeding with the game comprises the steps of acquiring, through the sensor, a second sensing image including a moving component in the game zone; Filtering the second sensing image; And recognizing the moving component based on the filtered second sensing image.

일 실시예에서, 상기 일 면을 필터링하는 단계는 상기 센서의 위치로부터 소정 높이 이하의 포인트를 필터링하는 단계를 더 포함할 수 있다.In one embodiment, filtering the one surface may further comprise filtering a point below a predetermined height from the position of the sensor.

일 실시예에서, 상기 일 면을 필터링하는 단계는 상기 게임 존 상에서 적어도 3개의 포인트를 결정하고, 상기 게임 존 상의 적어도 3개의 포인트를 포함한 평면을 결정하는 단계; 및 상기 평면으로부터 소정 범위 내 포인트를 필터링하는 단계를 더 포함할 수 있다.In one embodiment, filtering the one side comprises determining at least three points on the game zone and determining a plane comprising at least three points on the game zone; And filtering points within the predetermined range from the plane.

일 실시예에서, 상기 이동 컴포넌트를 인식하는 단계는 상기 필터링된 포인트 수가 임계치 이상인 경우 해당되는 복수의 포인트에 기초하여 이동 컴포넌트를 인식하는 단계를 더 포함할 수 있다.In one embodiment, the step of recognizing the moving component may further comprise the step of recognizing the moving component based on the plurality of points of interest when the number of filtered points is equal to or greater than the threshold.

본 발명의 다른 일 측면에 따른 컴퓨터 판독가능 기록 매체는 컴퓨터에 의해 판독 가능하고, 상기 컴퓨터에 의해 동작 가능한 프로그램 명령어를 저장할 수 있다. 여기서, 프로그램 명령어는 상기 컴퓨터의 프로세서에 의해 실행되는 경우 상술한 실시예들에 따른 센서 좌표계를 게임 존에 캘리브레이션하는 방법을 수행하게 할 수 있다.A computer-readable recording medium according to another aspect of the present invention is a computer-readable storage medium capable of storing program instructions operable by the computer. Here, the program instructions may be executed by a processor of the computer to perform a method of calibrating a sensor coordinate system according to the above embodiments to a game zone.

본 발명의 또 다른 일 측면에 따른 센서 좌표계를 게임 존에 캘리브레이션하는 장치는 상기 3차원 공간에서 이동 가능한 이동 컴포넌트 및 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 하나를 포함한 센싱 이미지를 획득하는 센서; 상기 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션하는 캘리브레이션부; 상기 3차원 공간 상에 4개의 포인트를 결정하고 게임 존을 설정하는 게임 존 설정부; 및 게임을 진행하기 위해 상기 이동 컴포넌트를 상기 게임 존에서 인식하는 게임 진행부를 포함할 수 있다. 여기서, 상기 4개의 포인트의 좌표는 상기 캘리브레이션된 좌표계 상의 좌표이다. An apparatus for calibrating a sensor coordinate system in a game zone according to another aspect of the present invention includes a sensor for obtaining a sensing image including at least one of a movable component movable in the three-dimensional space and a surface supporting the movable component; A calibration unit for calibrating a sensor coordinate system on the one surface based on the sensing image; A game zone setting unit for determining four points on the three-dimensional space and setting a game zone; And a game progress unit for recognizing the moving component in the game zone to proceed with the game. Here, the coordinates of the four points are the coordinates on the calibrated coordinate system.

본 발명의 또 다른 일 측면에 따른 객체 인식에 따른 게임을 진행하는 시스템은: 상기 3차원 공간에서 이동 가능한 이동 컴포넌트 및 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 하나를 포함한 센싱 이미지를 획득하는 센서; 상기 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션하는 캘리브레이션부; 상기 3차원 공간 상에 4개의 포인트를 결정하고 게임 존을 설정하는 게임 존 설정부; 및 상기 이동 컴포넌트를 상기 게임 존에서 인식하여 게임을 진행하는 게임 진행부를 포함하며, 상기 4개의 포인트의 좌표는 상기 캘리브레이션된 좌표계 상의 좌표인 장치; 및 상기 장치와 통신하고; 상기 장치로부터 이동 명령을 수신하는 경우 상기 이동 명령에 따라 이동하도록 구성된 이동 컴포넌트를 포함할 수 있다.According to another aspect of the present invention, there is provided a system for playing a game according to object recognition, comprising: a sensor for acquiring a sensing image including at least one of a movable component movable in the three-dimensional space and a surface supporting the movable component; A calibration unit for calibrating a sensor coordinate system on the one surface based on the sensing image; A game zone setting unit for determining four points on the three-dimensional space and setting a game zone; And a game progress unit for recognizing the moving component in the game zone and playing the game, wherein the coordinates of the four points are coordinates on the calibrated coordinate system; And communicating with the device; And a moving component configured to move in accordance with the move command when receiving a move command from the device.

본 발명의 실시예에 따르면, 센서 좌표계를 객체를 지지하는 일 면에 미리 캘리브레이션하여 센서에 의해 인식되는 객체의 위치를 보다 정확하게 산출하고, 이를 게임 진행에 적용할 수 있다.According to the embodiment of the present invention, the position of the object recognized by the sensor can be calculated more precisely by preliminarily calibrating the sensor coordinate system on one surface supporting the object, and applied to the progress of the game.

나아가, 별도의 입력 장치가 없어도 사용자의 직관적인 움직임을 통해 게임에 대한 다양한 입력을 수행할 수 있어 사용자 편의성 측면에서 이점이 있다. Furthermore, even if there is no separate input device, various inputs to the game can be performed through the intuitive movement of the user, which is advantageous in terms of user convenience.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description of the claims.

도 1은, 본 발명의 일 실시예에 따른, 센서 좌표계를 게임 존에 캘리브레이션하는 장치(100)의 평면 개념도를 도시한 도면이다.
도 2는, 본 발명의 일 실시예에 따른, 게임 존 상의 객체를 인식하여 게임을 진행하는 시스템(1000)을 도시한 도면이다.
도 3은, 본 발명의 일 실시예에 따른, 센서 좌표계를 게임 존에 캘리브레이션하는 방법의 흐름도를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른, 센서 좌표계를 게임 존이 설정될 일 면과 캘리브레이션하는 과정을 묘사한 도면이다.
도 5는, 본 발명의 실시예들에 따른, 센싱 이미지에 일 면이 포함되지 않은 경우, 게임 존이 설정될 일 면을 산출하는 과정을 묘사한 도면이다.
도 6은, 본 발명의 일 실시예에 따른, 게임 좌표계를 설정하는 과정을 묘사한 도면이다.
1 is a diagram showing a planar conceptual diagram of an apparatus 100 for calibrating a sensor coordinate system to a game zone according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a system 1000 for recognizing an object on a game zone and proceeding with a game according to an embodiment of the present invention.
3 is a flowchart illustrating a method of calibrating a sensor coordinate system in a game zone according to an embodiment of the present invention.
4 is a view illustrating a process of calibrating a sensor coordinate system according to an embodiment of the present invention with respect to a side where a game zone is to be set.
FIG. 5 is a diagram illustrating a process of calculating one side on which a game zone is set when one side is not included in the sensing image according to the embodiments of the present invention.
FIG. 6 is a diagram illustrating a process of setting a game coordinate system according to an embodiment of the present invention.

실시예들은 여기에 첨부된 도면들을 참조하여 설명될 것이다 그러나, 여기에 개시된 원리들은 많은 상이한 형태로 구현될 수도 있으며 여기에서 기재된 실시예로 제한되어 생각되지 않아야 한다. 발명의 상세한 설명에서, 잘 알려진 특징 및 기술에 대한 상세한 설명이 실시예의 특징을 불필요하게 불명확하게 하는 것을 피하기 위해 생략될 수도 있다.Embodiments will now be described with reference to the accompanying drawings, however, the principles disclosed herein may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the description of the invention, a detailed description of well-known features and techniques may be omitted to avoid unnecessarily obscuring the features of the embodiments.

여기서 사용되는 전문 용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지 않는다. 때마다 적절하게, 단수에서 사용되는 용어들은 또한 복수의 것을 포함하고 그 역도 마찬가지이다. 명세서에서 사용되는 “포함하는”의 의미는 특정 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분을 구체화하며, 다른 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분의 존재나 부가를 제외시키는 것은 아니다. "하나의" 와 같은 사용은 여기서 "하나 이상"의 의미로 사용하는 것이 명백하게 부적절한 경우를 제외하고는 "하나 이상"을 의미한다. 용어 "또는" 의 사용은 다르게 기술되지 않는 한 "및/또는"을 의미한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the invention. As appropriate, the terms used in the singular include also plural, and vice versa. Means that a particular feature, region, integer, step, operation, element and / or component is specified and that the presence or absence of other features, regions, integers, steps, operations, elements, and / It does not exclude addition. Use " one " means " more than one " unless the use of the term " one or more " The use of the term " or " means " and / or " unless otherwise stated.

이하에서, 도면을 참조하여 본 발명의 실시예들에 대하여 상세히 살펴본다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

도 1은, 본 발명의 일 실시예에 따른, 센서 좌표계를 게임 존(game zone)에 캘리브레이션하는 장치(100)의 평면 개념도를 도면이고, 도 2는, 본 발명의 일 실시예에 따른, 게임 존 상의 객체를 인식하여 게임을 진행하는 시스템의 개념도를 도시한 도면이다. 1 is a schematic plan view of an apparatus 100 for calibrating a sensor coordinate system in a game zone according to an embodiment of the present invention. FIG. 2 is a conceptual diagram of a system for recognizing an object on a zone and proceeding with a game.

상기 시스템은 센서 좌표계를 게임 존(game zone)에 캘리브레이션하는 장치(100) 및 상기 장치(100)와 통신하도록 구성된 이동 컴포넌트(200)를 포함한다. 상기 장치(100)는 객체 인식에 따른 인터페이스 기능을 수행하기 위한 장치로서, 센서(10), 및 처리부(30) 를 포함한다.The system includes an apparatus 100 for calibrating a sensor coordinate system into a game zone and a mobile component 200 configured to communicate with the apparatus 100. [ The apparatus 100 is an apparatus for performing an interface function according to object recognition, and includes a sensor 10 and a processing unit 30.

실시예들에 따른 상기 장치(100) 및 시스템(1000)은 전적으로 하드웨어이거나, 또는 부분적으로 하드웨어이고 부분적으로 소프트웨어인 측면을 가질 수 있다. 예컨대, 특정 형식 및 내용의 데이터를 처리하거나 또는/또한 전자통신 방식으로 주고받기 위한 하드웨어 및 이에 관련된 소프트웨어를 통칭할 수 있다. 본 명세서에서 "부(unit)", "모듈(module)", "장치" 또는 "시스템" 등은 하드웨어, 하드웨어와 소프트웨어의 조합, 또는 소프트웨어 등 컴퓨터 관련 엔티티(entity)를 지칭한다. 예를 들어, 본 명세서에서 부, 모듈, 장치 또는 시스템 등은 실행중인 프로세스, 프로세서, 객체(object), 실행 파일(executable), 실행 스레드(thread of execution), 프로그램(program), 및/또는 컴퓨터(computer)일 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 컴퓨터에서 실행중인 애플리케이션(application) 및 컴퓨터의 양쪽이 모두 본 명세서의 부, 모듈, 장치 또는 시스템 등에 해당할 수 있다.The apparatus 100 and system 1000 according to embodiments may be entirely hardware, or may be partially hardware, and partially software. For example, hardware and related software may be collectively referred to as processing and / or transmitting / receiving data in a specific format and contents. A "unit," "module," "device," or "system" or the like in this specification refers to a computer-related entity such as a hardware, a combination of hardware and software, or software. A processor, an object, an executable, a thread of execution, a program, and / or a computer, for example, a computer, but is not limited to, a computer. For example, both an application running on a computer and a computer may correspond to a part, module, device or system of the present specification.

센서(10)는 객체 및 객체의 움직임을 인식하는 하나의 수단으로서, 센서가 인식 가능한 영역(이하, “인식 가능 영역”)에 있는 객체를 감지하고 인식할 수 있다. 이로 인해, 객체 인식에 따른 게임을 진행할 수 있다. The sensor 10 is one means of recognizing the movement of the object and the object, and can sense and recognize the object in the sensor recognizable area (hereinafter, " recognizable area "). As a result, the game according to the object recognition can proceed.

또한, 상기 센서(10)는 객체를 지지하는 일 면을 인식할 수 있다. 이로 인해, 상기 장치(100)는 객체를 지지하는 일 면과 센서 좌표계를 캘리브레이션할 수 있다. 이에 대해서는, 도 3을 참조하여 아래에서 보다 상세하게 서술된다. In addition, the sensor 10 may recognize one side supporting the object. This allows the device 100 to calibrate the surface supporting the object and the sensor coordinate system. This will be described in more detail below with reference to Fig.

일 실시예에서, 상기 센서(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)를 포함할 수 있다.In one embodiment, the sensor 10 may be a 3D depth sensor that recognizes objects and colors. The three-dimensional RGB-D sensor may obtain color data (e.g., a color image) and depth data (e.g., a depth map of the color image) in a recognizable area. For example, a 3D RGB-D sensor acquires data composed of m * n * (x, y, z), where m, n are resolution, and x, y and z represent coordinates of a point. In some embodiments, the 3D RGB-D sensor may include a depth sensor and an RGB sensor. In some other embodiments, the RGB sensor may include a color camera.

일 실시예에서, 깊이 센서는 CMOS 센서와 결합된 적외선 레이저 프로젝터(Infrared laser projector)로 구성될 수 있으며 하나의 카메라에서 무수한 적외선 빔을 쏘고 반사되는 적외선을 통하여 어떠한 밝기 조건에서도 3차원을 감지할 수 있다. 또한, 가로와 세로 방향뿐만 아니라 센서와 멀고 가까운 거리까지 감지해 객체가 어디있는지 어떻게 행동하는지, 파악할 수 있다. In one embodiment, the depth sensor may comprise an infrared laser projector coupled to a CMOS sensor, which can shoot a myriad of infrared beams from a single camera and sense three dimensions in any brightness condition through reflected infrared light have. In addition, you can detect both the horizontal and vertical as well as the distance and proximity of the sensor to see where the object is and how it behaves.

깊이 센서가 적외선 적외선 레이저 프로젝터를 통해 깊이 정보를 얻어내는 방법은 Time of Flight 방식이 일반적이나, 적외선 패턴(Structured light)을 대상물에 투영하고 스테레오 매칭(Stereo matching)을 통해 깊이를 계산할 수도 있다. 다른 실시예에서 Stream sequence에서 Blob labeling 기법을 이용하여 거리 단차가 발생하는 동적 물체에 대하여 객체를 검출하며, 공간상의 위치를 추정하고 각 동적 물체에 대하여 id를 부여할 수도 있다.Time-of-flight method is generally used to acquire depth information through a depth-of-field infrared (IR) laser projector, but it is also possible to project the structured light onto an object and calculate the depth through stereo matching. In another embodiment, it is possible to detect an object with respect to a dynamic object where a distance step occurs by using a blob labeling technique in a stream sequence, estimate the spatial position, and assign an id to each dynamic object.

일 실시예에서, RGB 센서는 적색(Red), 녹색(Green), 청색(Blue)의 3색을 이용하여 피사체 즉 객체 및 콘텐츠 화면의 색상 정보를 수집한다. 상기 장치(100)는 RGB 센서를 통하여 객체를 서로 구분하기도 하며, 바닥, 콘텐츠 화면 등과 같은 객체 주변의 환경을 구분할 수 있다. In one embodiment, the RGB sensor collects color information of a subject, i.e., an object and a content screen, using three colors of red, green, and blue. The apparatus 100 may distinguish objects from each other through RGB sensors, and may distinguish environments around objects such as the floor, the content screen, and the like.

위에서 서술한 3차원 RGB-D 센서 및 이를 구성하는 깊이 센서와 RGB 센서는 단지 예시적인 것으로서, 객체, 객체의 움직임 및 콘텐츠 화면을 인식할 수 있는 다양한 센서들이 사용될 수 있다.The three-dimensional RGB-D sensor described above and the depth sensor and the RGB sensor constituting the three-dimensional RGB-D sensor are merely examples, and various sensors capable of recognizing an object, an object motion, and a content screen can be used.

다른 실시예에서, 상기 장치(100)는 센서(10)의 센싱 각도를 조정하기 위해 움직일 수 있는 연결부를 더 포함할 수 있다. 이로 인해, 센서(10)의 인식 가능 영역을 유연하게 설정할 수 있다.In another embodiment, the device 100 may further include a moveable connection for adjusting the sensing angle of the sensor 10. [ As a result, the recognizable area of the sensor 10 can be flexibly set.

처리부(30)는 센서(10)에 의해 획득된 객체 및 주변 환경의 3차원 깊이 데이터 및 색상 데이터에 기반하여, 센서 좌표계를 게임 존에 캘리브레이션하고, 인식된 객체에 따라 게임을 진행하는 동작 등과 같은 상기 장치(100)의 전반적인 동작을 처리하며, MCU(Micro Control Unit), CPU(Central Processing Unit)와 같은 일종의 응용 프로세서(AP, Application Processor)로 구현될 수 있다. 일 실시예에서, 처리부(30)는 캘리브레이션부(31), 게임 존 설정부(33) 및 게임 진행부(35)를 포함할 수 있다. 처리부(30)의 동작에 대해서는 도 2를 참조하여 아래에서 보다 상세하게 서술된다. The processing unit 30 calibrates the sensor coordinate system in the game zone based on the 3D depth data and the color data of the object and the surrounding environment acquired by the sensor 10, And may be implemented as a kind of application processor (AP) such as an MCU (Micro Control Unit) and a CPU (Central Processing Unit). In one embodiment, the processing section 30 may include a calibration section 31, a game zone setting section 33, and a game progress section 35. The operation of the processing unit 30 will be described in more detail below with reference to Fig.

일 실시예에서, 상기 장치(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)의 유형을 제한하진 않는다.In one embodiment, the apparatus 100 may further include a storage unit 40. The storage unit 40 is a means for storing program instructions for implementing the present embodiment and includes a random access memory (RAM) such as dynamic RAM (dynamic RAM) or static RAM but are not limited to, memory, erasable programmable read-only memory (ERPROM), electrically erasable programmable read-only memory (EEPROM), and non-volatile random access memory (NVRAM). The above memory types are merely exemplary and do not limit the type of storage 40 that may be used for storage of computer programs.

이동 컴포넌트(200)는 상기 장치(100)와 통신 가능하도록 구성되고, 상기 장치(100)로부터 이동에 연관된 명령을 수신하면 그에 따라 이동할 수 있는 이동부를 포함한 외부 컴포넌트이다. 일부 실시예에서, 상기 이동 컴포넌트(200)는 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 3개의 위치를 포인팅하게 하는 이동 명령 또는 게임 시나리오에 따른 이동 명령을 수신할 수 있다.The mobile component 200 is an external component that is configured to be capable of communicating with the device 100 and that includes a mobile unit that is capable of moving upon receipt of an instruction associated with movement from the device 100. [ In some embodiments, the moving component 200 may receive a move command or a move command according to a game scenario that causes at least three of the sides supporting the moving component to point.

일 실시예에서, 이동 컴포넌트(200)는 도 2에 도시된 바와 같은 로봇 형태의 컴포넌트일 수 있다. 그러나, 이는 단지 예시적인 것으로서, 상기 장치(100)와 통신 가능하며 이동할 수 있는 다양한 형태일 수 있다. In one embodiment, the moving component 200 may be a robot-like component as shown in FIG. However, it is to be understood that this is merely exemplary and that the device 100 may be of various forms capable of communicating with and being mobile.

상기 장치(100) 및 시스템(1000)은 다른 구성요소를 포함할 수도 있다는 것이 당업자에게 명백할 것이다. 예를 들어, 데이터 엔트리를 위한 입력 장치, 인쇄 또는 다른 데이터 표시를 위한 출력 장치, 및 본 명세서에 서술된 동작에 필요한 다른 하드웨어 요소를 포함할 수도 있다. 일부 실시예에서, 상기 시스템은 상기 장치(100)에 대한 외부 장치(예를 들어, 스마트 폰, 이동 컴포넌트(200)) 사이를 연결하는 네트워크, 네트워크 인터페이스 및 프로토콜 등을 더 포함할 수 있다. It will be apparent to those skilled in the art that the apparatus 100 and the system 1000 may include other components. For example, an input device for data entry, an output device for printing or other data display, and other hardware elements necessary for the operations described herein. In some embodiments, the system may further include a network, a network interface, and a protocol for connecting between an external device (e.g., smart phone, mobile component 200) for the device 100 and the like.

도 3은, 본 발명의 일 실시예에 따른, 센서 좌표계를 게임 존에 캘리브레이션하는 방법의 흐름도를 도시한 도면이다. 상기 방법은 상기 3차원 공간에서 이동 가능한 이동 컴포넌트 및 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 하나를 포함한 제1 센싱 이미지를 획득하는 단계(S110), 상기 제1 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션하는 단계(S131), 상기 3차원 공간 상에 4개의 포인트를 결정하고 게임 존(game zone)을 설정하는 단계(S133); 및 게임을 진행하기 위해 상기 이동 컴포넌트를 상기 게임 존에서 인식하는 단계(S135)를 포함할 수 있다. 3 is a flowchart illustrating a method of calibrating a sensor coordinate system in a game zone according to an embodiment of the present invention. The method includes obtaining (S110) a first sensing image including at least one of a movable component movable in the three-dimensional space and a surface supporting the moving component, a sensor coordinate system based on the first sensing image (S131), determining four points on the three-dimensional space and setting a game zone (S133); And recognizing (S135) the moving component in the game zone to proceed with the game.

일 실시예에서, 상기 장치(100)는 센서(10)를 통해 3 차원 공간에서 객체 및 상기 객체를 지지하는 일 면 중 적어도 하나를 포함한 센싱 이미지를 획득한다(S110). 여기서, 객체는 상기 장치(100)와 통신 가능하고, 이동 가능하도록 구성된 이동 컴포넌트(200)의 일부 또는 전부 및/또는 사람의 신체의 일부 또는 전부일 수 있다. In one embodiment, the apparatus 100 acquires a sensing image including at least one of an object in the three-dimensional space and a surface supporting the object through the sensor (S110). Here, the object may be part or all of the mobile component 200 that is communicable with the device 100 and is configured to be mobile, and / or some or all of the body of the person.

그러면, 캘리브레이션부(31)는 객체 및 상기 객체를 지지하는 일 면 중 적어도 하나를 포함한 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션한다(S131).Then, the calibration unit 31 calibrates the sensor coordinate system on the one side based on the sensing image including at least one of the object and one surface supporting the object (S131).

도 4는 본 발명의 일 실시예에 따른, 센서 좌표계를 게임 존이 설정될 일 면과 캘리브레이션하는 과정을 묘사한 도면이다. 4 is a view illustrating a process of calibrating a sensor coordinate system according to an embodiment of the present invention with respect to a side where a game zone is to be set.

일 실시예에서, 캘리브레이션부(31)는 센서에 의해 획득된 센싱 정보가 게임 존이 설정될 일 면을 포함하는지를 결정한다. 상기 게임 존이 설정될 일 면은 굴곡이 없거나 거의 없는 면(surface)으로서, 바닥, 책상 등을 포함할 수 있다. 그러나, 이는 단지 예시적인 것으로서, 사람, 동물, 이동 컴포넌트(200) 등과 같은 객체를 지지할 수 있는 다양한 일 면이 사용될 수 있다. 이하, 설명의 명료성을 위해 일 면을 바닥으로 대표하여 서술한다.In one embodiment, the calibration unit 31 determines whether the sensing information obtained by the sensor includes one side on which the game zone is to be set. One side on which the game zone is to be set is a surface with little or no bending, and may include a floor, a desk, and the like. However, it should be understood that this is merely exemplary and that various aspects may be used to support objects such as people, animals, moving components 200, and the like. Hereinafter, for the sake of clarity of explanation, one side will be represented on the bottom.

일 실시예에서, 캘리브레이션부(31)는 센서에 의해 획득된 센싱 정보에 대한 포인트를 산출하여 상기 센싱 정보가 게임 존이 설정될 바닥 면을 포함하는지를 결정한다. In one embodiment, the calibration unit 31 calculates a point for the sensing information obtained by the sensor, and determines whether the sensing information includes a floor on which the game zone is to be set.

일 예에서, 캘리브레이션부(31)는 센서(10)로부터 객체가 포함된 센싱 이미지를 제공받아 상기 센싱 이미지에 대한 포인트 클라우드(point cloud)를 생성한다(이 과정은 스캐닝 과정으로 지칭될 수 있다). 센서(10)에 의해 획득된 상기 장치(100)의 주위 환경에 대한 이미지 정보와 3차원 깊이 정보에 기초하여 센싱 이미지에 대한 3차원 포인트 클라우드를 생성한다. 이 때, 센싱 이미지에 대한 포인트 클라우드 중 특징점(feature point)을 선정할 수 있다. 예를 들어, 센싱 이미지에 대한 포인트 클라우드에서 색상이 변하는 부분 또는 외측면이 굴곡지거나 급격히 변형되는 지점과 같이 형상을 비교하는데 효율적인 지점을 특징점으로 설정할 수 있으며, 특징점 선정은 종래에 일반적으로 사용되는 특징점 선정 알고리즘을 사용할 수 있다.In one example, the calibration unit 31 receives a sensing image including an object from the sensor 10 and generates a point cloud for the sensed image (this process may be referred to as a scanning process) . Dimensional point cloud for the sensed image based on image information about the environment of the device 100 obtained by the sensor 10 and 3D depth information. At this time, a feature point of the point cloud for the sensing image can be selected. For example, it is possible to set as a feature point a point that is effective in comparing shapes such as a point where the color changes or a point where the outer surface is bent or abruptly deformed in the point cloud with respect to the sensing image. A selection algorithm can be used.

이어서, 특징점 매칭에 기초하여 상기 이미지에 대한 포인트 클라우드와 미리 저장된, 일 면의 후보군 모델에 대한 포인트 클라우드를 매칭한다(이 과정은 매칭 과정으로 지칭될 수 있다). 일 예에서, 모델에 대한 포인트 클라우드는 객체를 지지할 수 있는 일 면(즉, 후보군 모델)에 대한 포인트 클라우드(예를 들어, 바닥 면에 대한 포인터 클라우드, 책상 면에 대한 포인터 클라우드 등)를 포함할 수 있다. 여기서, 모델에 대한 포인트 클라우드는 이미지로부터 객체를 검출하기 위해 미리 저장된 비교 대상으로서, 객체에 대응하는 형상의 모델을 촬영하여 생성된다. 일부 실시예에서, 상기 장치(100)는 외부 데이터베이스로부터 미리 생성된 모델에 대한 포인트 클라우드를 획득할 수 있다. Then, based on feature point matching, a point cloud for the image and a point cloud for a candidate candidate model, which are stored in advance, are matched (this process can be referred to as a matching process). In one example, a point cloud for a model includes a point cloud (e.g., a pointer cloud to a floor surface, a pointer cloud to a desk surface, etc.) for one side can do. Here, the point cloud for the model is generated by photographing a model of a shape corresponding to the object, which is a previously stored comparison object for detecting an object from the image. In some embodiments, the device 100 may obtain a point cloud for a pre-generated model from an external database.

캘리브레이션부(31)는 특징점 매칭에 기초하여 상기 센싱 이미지에 대한 포인트 클라우드와 미리 저장된 모델에 대한 포인트 클라우드를 매칭한 뒤, 상기 특징점 매칭에 의해 매칭된 포인트들을 통해 이미지가 해당 객체를 포함하는 지를 결정한다. The calibration unit 31 matches the point cloud for the sensed image with the point cloud for the previously stored model based on the feature point matching and determines whether the image includes the corresponding object through the matching points by the feature point matching do.

또한, 일부 예들에서 매칭 과정은 모델에 대한 포인트 클라우드에서 특징점을 선정한 이후에, 모델에 대한 포인트 클라우드 및/또는 센싱 이미지에 대한 포인트 클라우드에 대하여 공간을 분할하고 샘플링하는 것과 같은 필터링 단계를 더 포함할 수도 있다.Also, in some instances, the matching process further includes filtering, such as segmenting and sampling the point cloud for the point cloud for the model and / or for the point cloud for the model after selecting the feature point for the model It is possible.

일 실시예에서, 캘리브레이션부(31)는 포인트 클라우드 라이브러리(Point Cloud Library)를 통해 포인트 클라우드를 생성하고 특징점을 선정함으로써 센싱 이미지가 바닥을 포함하는 지를 결정하는 단계를 수행할 수 있다.In one embodiment, the calibration unit 31 may perform a step of determining whether the sensing image includes a bottom by generating a point cloud through a point cloud library and selecting a feature point.

다른 실시예에서, 상기 장치(100)는 하나 이상의 센서(10)를 포함할 수 있다. 이 경우, 캘리브레이션부(31)는 최소 자승(least square) 방법을 이용하여 센싱 이미지가 바닥을 포함하는 지를 결정할 수 있다. In another embodiment, the device 100 may include one or more sensors 10. In this case, the calibration unit 31 may determine whether the sensing image includes a bottom using a least square method.

일 실시예에서, 캘리브레이션부(31)는 바닥이 포함된 센싱 이미지에 대한 포인트 클라우드를 생성하고, 미리 저장된 후보군 모델에 대한 포인트 클라우드를 센싱 이미지와 각각 매칭한다. 일부 실시예에서, 상기 매칭 과정은 특징점을 추출하여 수행될 수 있다. 센싱 이미지는 바닥을 포함하고 있으므로, 후보군 모델 중 바닥 모델에 대한 포인트 클라우드와 매칭될 것이다. 이런 매칭 결과에 기초하여, 센싱 이미지가 바닥을 포함하는 지를 결정할 수 있다. In one embodiment, the calibration unit 31 generates a point cloud for the sensing image including the floor, and matches the point cloud for the previously stored candidate group with the sensing image, respectively. In some embodiments, the matching process may be performed by extracting feature points. Since the sensing image includes the floor, it will match with the point cloud for the floor model of the candidate group model. Based on this matching result, it can be determined whether the sensed image includes a bottom.

상기 센싱 이미지가 바닥을 포함하는 것으로 결정된 경우, 캘리브레이션부(31)는 이어서 바닥의 법선 벡터를 산출한다. 캘리브레이션부(31)는 바닥에 해당되는 포인트들의 좌표에 기초하여 일 면의 법선 벡터를 산출한다. 일부 실시예에서, 계산의 편의성을 위해 소정 간격 이상의 높이 좌표(예를 들어, z좌표)를 갖는 포인트들을 필터링한 뒤 법선 벡터를 산출할 수 있다. If it is determined that the sensing image includes the bottom, the calibration unit 31 then calculates the normal vector of the bottom. The calibration unit 31 calculates a normal vector of one surface based on the coordinates of the points corresponding to the bottom. In some embodiments, normal vectors may be computed after filtering points with elevation coordinates (e.g., z coordinates) above a predetermined interval for ease of computation.

그러면, 캘리브레이션부(31)는 미리 설정된 센서 좌표계의 일 축을 산출된 일 면의 법선 벡터와 평행하게 캘리브레이션한다. 도 4를 참조하면, 캘리브레이션부(31)는 센서 좌표계의 수직 축(예컨대, z축)의 방향 벡터를 법선 벡터와 평행하게 캘리브레이션한다. Then, the calibration unit 31 calibrates one axis of the preset sensor coordinate system in parallel with the calculated normal vector of the one surface. Referring to Fig. 4, the calibration unit 31 calibrates the direction vector of the vertical axis (e.g., z axis) of the sensor coordinate system in parallel with the normal vector.

일 실시예에서, 캘리브레이션부(31)는 상기 일 면의 법선 벡터를 z축, 센서의 초점에서 렌즈로 향하는 정면 방향의 방향 벡터를 x축, 그리고 센서 좌표계의 영점을 영점으로 갖는 월드 좌표계를 생성할 수도 있다. 이로 인해, 캘리브레이션 이전에 일 면과 상이한 좌표 축을 가진 센서 좌표계는 상기 장치(100)의 주위 환경을 나타내는 월드 좌표계와 캘리브레이션될 수 있다.In one embodiment, the calibration unit 31 generates a world coordinate system having the normal vector of the surface on the z-axis, the direction vector in the front direction that directs the focus of the sensor from the sensor to the x-axis, and the zero point of the sensor coordinate system as a zero point You may. For this reason, a sensor coordinate system having a coordinate axis different from that of one side before calibration can be calibrated with a world coordinate system representing the environment of the apparatus 100.

일부 실시예에서, 캘리브레이션부(31)는 법선 벡터 및 공통된 영점에 기초하여 월드 좌표계와 센서 좌표계 사이에 변환 매트릭스를 산출할 수 있다. In some embodiments, the calibration unit 31 may calculate a transformation matrix between the world coordinate system and the sensor coordinate system based on a normal vector and a common zero point.

도 5는, 본 발명의 실시예들에 따른, 센싱 이미지에 일 면이 포함되지 않은 경우, 게임 존이 설정될 일 면을 산출하는 과정을 묘사한 도면이다. FIG. 5 is a diagram illustrating a process of calculating one side on which a game zone is set when one side is not included in the sensing image according to the embodiments of the present invention.

일 실시예에서, 센싱 이미지가 바닥을 포함하지 않는다고 결정되는 경우, 캘리브레이션부(31)는 센싱 이미지에 포함된 객체의 위치에 기초하여 바닥 면의 법선 벡터를 산출할 수 있다. 일부 실시예에서, 캘리브레이션부(31)는 센싱 이미지에 포함된 이동 컴포넌트(200)의 위치에 기초하여 바닥 면의 법선 벡터를 산출할 수 있다. In one embodiment, when it is determined that the sensing image does not include the bottom, the calibration unit 31 may calculate the bottom normal vector based on the position of the object included in the sensing image. In some embodiments, the calibration unit 31 may calculate the normal vector of the floor surface based on the position of the moving component 200 included in the sensed image.

캘리브레이션부(31)는 이동 컴포넌트(200)가 상기 이동 컴포넌트(200)를 지지하는 바닥 면 중 적어도 3개의 위치 포인트를 포인팅하게 하는 이동 명령을 상기 이동 컴포넌트(200)로 전송한다. 상기 적어도 3개의 위치 포인트는 지지하는 바닥 면을 결정할 수 있는 포인트로서, 일 직선 상에 모든 포인트가 있는 것을 제외한다. 즉, 상기 이동 명령은 이동 컴포넌트(200)가 적어도 1번의 이동 방향을 변하게 하는 명령을 포함한다. The calibration unit 31 transmits a move command to the moving component 200 to cause the moving component 200 to point at least three of the bottom surfaces supporting the moving component 200. [ The at least three location points are points that can determine the supporting floor, excluding all points on a straight line. That is, the move command includes an instruction that causes the moving component 200 to change at least one direction of movement.

여기서, 이동 방향이 변하는 것은 이동 방향에 기초한 직선의 방정식의 기울기의 절대값이 이동 방향의 변화 전후로 상이한 것을 나타낸다. 예를 들어, 방향 변화 전의 기울기가 +a이고, 방향 변화 후의 기울기가 -a인 경우, 적어도 1번의 이동 방향이 변하는 것에 해당되지 않는다. Here, the change in the moving direction indicates that the absolute value of the slope of the equation of the straight line based on the moving direction is different before and after the change in the moving direction. For example, when the slope before the direction change is + a and the slope after the direction change is -a, it does not correspond to at least one moving direction change.

도 5a를 참조하면, 캘리브레이션부(31)는 1번의 이동 방향을 변하게 하는 이동 명령을 이동 컴포넌트(200)로 전송한다. 이 경우, 이동 명령은 가로 이동 거리(P1-P2), 세로 이동 거리(P2-P3) 및 방향 변화 각도(90°)에 연관된 데이터를 포함한다. Referring to FIG. 5A, the calibration unit 31 transmits a movement command for changing the movement direction of one movement to the movement component 200. In this case, the movement command includes data related to the horizontal movement distance (P1-P2), the vertical movement distance (P2-P3) and the direction change angle (90 deg.

도 5b를 참조하면, 캘리브레이션부(31)는 2번의 이동 방향을 변하게 하는 이동 명령을 이동 컴포넌트(200)로 전송한다. 이 경우, 이동 명령은 세로 이동 거리(P1-P2 및 P3-P4), 가로 이동 거리(P2-P3) 및 방향 변화 각도(90°)에 연관된 데이터를 포함한다. Referring to FIG. 5B, the calibration unit 31 transmits a movement command to the movement component 200 to change the movement direction of the second movement. In this case, the movement command includes data related to the vertical movement distances P1-P2 and P3-P4, the horizontal movement distance P2-P3 and the direction change angle 90 °.

캘리브레이션부(31)는 이동 컴포넌트(200)를 포함한 센싱 이미지의 정보(m*n*(x,y,z))에 기초하여 이동 컴포넌트(200)를 계속적으로 인식하고(즉, 이동 궤적을 트래킹하고), 이동 컴포넌트(200)의 이동 궤적에 대한 이동 방정식(즉, 바닥 면 상의 직선 방정식)을 산출한다. 캘리브레이션부(31)가 이동 컴포넌트(200)를 인식하는 과정은 위에서 서술된, 바닥 면을 인식하는 과정과 유사하므로, 자세한 설명은 생략한다. The calibration unit 31 continuously recognizes the moving component 200 based on the information m * n * (x, y, z) of the sensing image including the moving component 200 (I.e., a linear equation on the bottom surface) with respect to the moving locus of the moving component 200. The process of the calibration unit 31 recognizing the moving component 200 is similar to the process of recognizing the bottom surface described above, and thus a detailed description will be omitted.

도 5a를 참조하면, 이동 컴포넌트의 처음 방향(P1-P2)은 나중 방향(P2-P3)과 상이하다. 이 경우, 캘리브레이션부(31)는 이동 컴포넌트(200)의 이동 시작 포인트(P1), 방향 변화 포인트(P2), 및 이동 종료 포인트(P3)를 바닥 면의 평면 방정식을 산출하기 위해 이용할 수 있다. 평면 방정식은 법선 벡터를 나타내는 성분을 포함하므로, 캘리브레이션부(31)는 바닥 면의 법선 벡터를 이동 컴포넌트 인식을 통해 산출할 수 있다.Referring to Figure 5A, the initial direction (P1-P2) of the moving component is different from the latter direction (P2-P3). In this case, the calibration unit 31 may use the movement start point P1, the direction change point P2, and the movement end point P3 of the moving component 200 to calculate the bottom plane equations. Since the plane equation includes a component representing a normal vector, the calibration unit 31 can calculate the normal vector of the bottom plane through the motion component recognition.

도 5b를 참조하면, 이동 컴포넌트의 처음 방향(P1-P2), 중간 방향(p2-P3), 및 나중 방향(P3-P4)은 각각 상이하다. 이 경우, 캘리브레이션부(31)는 이동 컴포넌트(200)의 이동 시작 포인트(P1), 제1 방향 변화 포인트(P2), 제2 방향 변화 포인트(P3) 및 이동 종료 포인트(P4)를 바닥 면의 평면 방정식을 산출하기 위해 이용할 수 있다. 5B, the initial direction (P1-P2), the middle direction (p2-P3), and the later direction (P3-P4) of the moving component are different from each other. In this case, the calibration unit 31 calculates the movement start point P1, the first direction change point P2, the second direction change point P3, and the movement end point P4 of the moving component 200, It can be used to calculate the plane equations.

일 실시예에서, 센싱 이미지가 바닥 또는 객체를 포함하지 않는다고 결정된 경우, 상기 장치(100)는 콘텐츠 화면이 주사될 적합한 다른 바닥을 추출하기 위해 이동할 수 있다. 일부 실시예에서, 상기 장치(100)는 게임 존이 설정될 적합한 영역이 없다는 것을 사용자에게 알릴 수 있다. In one embodiment, if it is determined that the sensed image does not include a floor or an object, the device 100 may move to extract a suitable other floor to which the content screen is to be scanned. In some embodiments, the device 100 may inform the user that there is no suitable zone for the game zone to be set.

도 6은, 본 발명의 일 실시예에 따른, 게임 좌표계를 설정하는 과정을 도시한 도면이다. 일부 실시예에서, 이동 명령에 포함된 방향 변화 각도가 90°인 경우, 캘리브레이션부(31)는 게임 좌표계의 좌표축을 이동 컴포넌트(200)의 이동 궤적 중 적어도 일부에 대응하도록 변환할 수 있다.FIG. 6 is a diagram illustrating a process of setting a game coordinate system according to an embodiment of the present invention. In some embodiments, when the direction change angle included in the movement command is 90 degrees, the calibration unit 31 may convert the coordinate axes of the game coordinate system to correspond to at least a part of the movement trajectory of the moving component 200. [

도 6을 참조하면, 이동 명령에 포함된 방향 변화 각도가 90°이므로, 게임 좌표계의 x축 및 y축을 이동 컴포넌트의 이동 궤적(P2-P1 및 P2-P3)에 각각 대응하도록 변환할 수 있다. 이로 인해, 나중에 객체를 인식하여 게임을 진행하는 경우, 인식된 객체의 위치를 바로 게임 좌표계 상의 좌표로 산출할 수 있다.Referring to FIG. 6, since the direction change angle included in the movement command is 90 degrees, the x-axis and the y-axis of the game coordinate system can be converted to correspond to the movement trajectories (P2-P1 and P2-P3) of the moving component, respectively. Accordingly, when a game is recognized after an object is recognized at a later time, the position of the recognized object can be calculated directly as coordinates on the game coordinate system.

게임 존 설정부(33)는 3차원 공간 상에 적어도 4개의 포인트를 결정하고, 상기 4개의 포인트를 범위로 하는 게임 존(game zone)을 설정한다. 여기서, 적어도 4개의 포인트의 위치는 캘리브레이션된 좌표계(즉, 게임 좌표계)로 표현된다.The game zone setting unit 33 determines at least four points on the three-dimensional space, and sets a game zone having the four points as a range. Here, the positions of at least four points are represented by a calibrated coordinate system (i.e., game coordinate system).

일 실시예에서, 게임 존 설정부(33)는 z좌표를 동일하게 하면서, 랜덤하게 적어도 4개의 포인트를 결정할 수 있다. In one embodiment, the game zone setting unit 33 can determine at least four points at random while making the z coordinates the same.

다른 일 실시예에서, 게임 존 설정부(33)는 바닥 면의 평면 방정식을 산출하기 위해 이용된 적어도 3개의 포인트에 기초하여 게임 존을 설정하기 위한 적어도 4개의 포인트를 결정할 수 있다. In another embodiment, the game zone setting unit 33 can determine at least four points for setting the game zone based on at least three points used to calculate the bottom surface plane equation.

도 5a를 참조하면, 게임 존 설정부(33)는 바닥 면의 평면 방정식을 산출하기 위해 이용된 3개의 포인트(P1-P3)를 적어도 4개의 포인트 중 3개로 결정하고, 가로 거리 또는 세로 거리를 산출하여 나머지 포인트(P4)의 좌표를 산출할 수 있다.Referring to FIG. 5A, the game zone setting unit 33 determines three points (P1-P3) used for calculating the bottom plane equations to be three out of at least four points, And the coordinates of the remaining point P4 can be calculated.

도 5b를 참조하면, 게임 존 설정부(33)는 바닥 면의 평면 방정식을 산출하기 위해 이용된 4개의 포인트(P1-P4)를 이용하여 바로 게임 존을 설정할 수 있다.Referring to FIG. 5B, the game zone setting unit 33 can immediately set a game zone using four points (P1-P4) used for calculating the plane equation of the bottom surface.

또 다른 일 실시예에서, 게임 존 설정부(33)는 게임 존 설정부(33)는 이동 컴포넌트(200)를 인식하여 게임 존을 설정한다. 상기 실시예에서, 이동 컴포넌트(200)로 게임 존을 설정하기 위한 이동 명령을 전송한다. 이동 명령은 적어도 이동 컴포넌트(200)가 적어도 2번의 방향을 바꾸도록 하게 한다. 예를 들어, 이동 명령은 도 5b에 도시된 바와 같이 이동 컴포넌트(200)가 이동하도록 하게 하는 명령일 수 있다. 또한, 이동 명령은 게임 존의 가로, 세로 간격, 꼭지점의 위치 좌표 등에 연관된 정보를 포함할 수 있다. 일부 실시예에서, 게임 존 설정부(33)는 미리 설정된 게임에 기초하여 게임 존을 설정하기 위한 여러 데이터를 이동 명령에 포함시킨다. In another embodiment, the game zone setting unit 33 recognizes the moving component 200 and sets the game zone. In the above embodiment, a movement command for setting a game zone is transmitted to the moving component 200. [ The move command causes at least the moving component 200 to change direction at least two times. For example, the move command may be an instruction that causes the moving component 200 to move, as shown in FIG. 5B. In addition, the movement command may include information related to the horizontal and vertical intervals of the game zone, the position coordinates of the vertex, and the like. In some embodiments, the game zone setting unit 33 includes various data for setting a game zone based on a preset game in the movement command.

게임 존 설정부(33)는 센서를 통해 상기 이동 컴포넌트의 이동 궤적을 트래킹하여 상기 이동 컴포넌트의 이동 궤적에 포함된 포인트 중 적어도 4개의 위치를 산출하고, 상기 적어도 4개의 포인트를 범위로 하는 게임 존을 설정한다. 이동 궤적을 트래킹하여 적어도 4개의 위치를 산출하는 과정은 센싱 이미지가 바닥 면을 포함하지 않는 경우 바닥의 평면 방정식을 산출하기 위해 적어도 3개의 위치 포인트를 결정하는 과정과 동작 원리가 유사하므로, 자세한 설명은 생략한다. The game zone setting unit 33 tracks the movement trajectory of the moving component through the sensor to calculate at least four positions among the points included in the movement trajectory of the moving component, . The process of tracking the moving locus to calculate at least four positions is similar in operation principle to the process of determining at least three position points in order to calculate the plane equation of the floor when the sensing image does not include the floor surface. Is omitted.

다른 실시예에서, 게임 존은 다른 객체(예를 들어, 지시봉)을 통해 설정될 수도 있다. In another embodiment, the game zone may be set via another object (e.g., a pointer).

게임 진행부(35)는 미리 저장된 게임 프로그램을 실행하고, 센서(10)를 통해 게임 존 상에 위치하는 이동 컴포넌트(200), 사람 등과 같은 객체를 인식하여 미리 저장된 게임 프로그램을 진행한다. The game progress unit 35 executes a game program stored in advance and recognizes an object such as a moving component 200, a person or the like located on the game zone through the sensor 10, and proceeds with a previously stored game program.

게임 진행부(35)는 상기 게임 존에서의 이동 컴포넌트(200)를 포함한 센싱 이미지를 상기 센서(10)를 통해 획득하고, 센싱 이미지가 바닥 면을 포함하는 경우 상기 바닥 면을 필터링한다. The game progress unit 35 acquires a sensing image including the moving component 200 in the game zone through the sensor 10, and filters the bottom surface when the sensing image includes a floor surface.

일 실시예에서, 게임 진행부(35)는 센서(10)에서 소정 높이 이하의 포인트를 필터링하여 센싱 이미지로부터 바닥 면을 제거한다. 예를 들어, 센서(10)의 높이가 150cm인 경우, 게임 진행부(35)는 센서(10)로부터 140cm 이하의 높이 좌표를 갖는 포인트를 필터링하고, 10 cm 이상의 높이 좌표를 갖는 포인트를 이동 컴포넌트를 인식하는데 사용한다.In one embodiment, the game progress section 35 filters points below the predetermined height in the sensor 10 to remove the bottom surface from the sensed image. For example, when the height of the sensor 10 is 150 cm, the game progress unit 35 filters the point having the height coordinate of 140 cm or less from the sensor 10, and moves the point having the height coordinate of 10 cm or more, .

다른 실시예에서, 게임 진행부(35)는 게임 존 상에서 적어도 3개의 포인트를 결정하고, 상기 적어도 3개의 포인트를 포함한 평면을 결정한다. 여기서, 게임 존 상의 적어도 3개의 포인트의 높이 좌표 값은 서로 동일하며, 평면 좌표 값은 게임 존 범위 내에서 랜덤하게 결정된다. In another embodiment, the game progress section 35 determines at least three points on the game zone and determines the plane containing the at least three points. Here, the height coordinate values of at least three points on the game zone are equal to each other, and the plane coordinate value is randomly determined within the game zone range.

그러면, 게임 진행부(35)는 상기 평면으로부터 소정 범위 내 포인트를 필터링하고, 필터링된 포인트의 수가 임계치 이상인 경우 해당되는 복수의 포인트를 이동 컴포넌트로 인식한다. Then, the game progress unit 35 filters the points within the predetermined range from the plane, and recognizes the plurality of points as moving components when the number of filtered points is equal to or larger than the threshold value.

예를 들어, 게임 진행부(35)는 평면 결정 이후에, 게임 존 상의 이동 컴포넌트(200)를 포함한 센싱 이미지에 대한 포인트 클라우드를 생성하고, 상기 센싱 이미지에 대한 포인트 클라우드를 상기 평면으로부터 소정 범위로 필터링한다. 예컨대, 게임 진행부(35)는 높이 좌표 값이 100cm인 임의의 3점을 선정하고, 해당 평면을 결정한다. 이어서, 해당 평면으로부터 50cm 아래의 범위 내의 포인트만을 사용하기 위해 범위 밖에 위치하는 포인트는 필터링을 통해 제거한다. 일부 실시예에서, 상기 소정의 필터링 범위는 해당 평면으로부터 위의 범위를 포함할 수 있다. For example, the game progress section 35 may generate a point cloud for the sensing image including the moving component 200 on the game zone after the plane determination, and set the point cloud for the sensing image to a predetermined range from the plane Filter. For example, the game progress unit 35 selects any three points having a height coordinate value of 100 cm, and determines the corresponding plane. Then, points that are out of range to use only points within 50 cm from the plane are removed through filtering. In some embodiments, the predetermined filtering range may include a range from above the corresponding plane.

일부 실시예에서, 게임 진행부(35)는 포인트 클라우드 라이브러리를 통하여 바닥 면을 인식하고 이를 제거할 수 있다. 이 동작 원리는 위에서 서술한, 센싱 이미지가 바닥 면을 포함하는지 결정하는 동작 원리와 유사하므로, 자세한 설명은 생략한다.In some embodiments, the game progress unit 35 may recognize the floor surface through the point cloud library and remove it. This operation principle is similar to the above-described operation principle for determining whether the sensing image includes the bottom surface, and thus a detailed description thereof will be omitted.

위에서 서술한 실시예를 통해, 이동 컴포넌트(200)를 지지하는 바닥 면이 센싱 이미지에서 필터링된다. 게임 진행부(35)는 필터링된 센싱 이미지에 대한 포인트(즉, 필터링된 포인트 클라우드)의 수가 임계치 이상인 경우 해당 포인트 클라우드를 이동 컴포넌트로 인식한다. Through the embodiment described above, the floor supporting the moving component 200 is filtered in the sensing image. The game progress unit 35 recognizes the point cloud as a moving component when the number of points (i.e., the filtered point cloud) for the filtered sensing image is equal to or larger than the threshold value.

센싱 이미지가 이동 컴포넌트 및/또는 사람을 지지하는 바닥 면을 포함하지 않게 센서(10)의 각도가 설정된 경우, 게임 진행부(35)는 상기 일 면을 필터링하는 과정이 없이 객체를 인식하는 과정을 수행할 수 있다.If the angle of the sensor 10 is set so that the sensing image does not include the moving component and / or the floor supporting the person, the game progress unit 35 recognizes the object without filtering the one side Can be performed.

게임 진행부(35)는 해당되는 복수의 포인트(즉, 해당 포인트 클라우드)의 평면 좌표(x, y)에 기초하여 이동 컴포넌트가 게임 존에서 어디에 위치하는지 알 수 있다. The game progress unit 35 can know where the moving component is located in the game zone based on the plane coordinates (x, y) of the corresponding plurality of points (i.e., the corresponding point cloud).

또한, 게임 진행부(35)는 포인트 클라우드 간의 간격에 기초하여 객체를 구분할 수 있다. 예를 들어, 포인트 클라우드 간의 간격이 소정 거리 이하 인 경우, 하나의 객체로 결정하고, 반면 소정 거리 이상인 경우, 상이한 객체(예: 이동 컴포넌트(200) 및 사람)로 결정한다.In addition, the game progress unit 35 can classify the objects based on the interval between the point clouds. For example, if the interval between point clouds is less than a predetermined distance, it is determined to be one object, while if it is more than a predetermined distance, it is determined to be a different object (e.g., moving component 200 and person).

위와 같이 바닥, 사람 및/또는 이동 컴포넌트(200)와 같은 객체 인식 과정을 통해, 게임 진행부(35)는 객체 인식과 상호 작용하는 다양한 게임을 진행할 수 있다.Through the above-described object recognition process such as floor, person, and / or moving component 200, the game progress unit 35 can play various games that interact with object recognition.

일 실시예에서, 게임 진행부(35)는 이동 컴포넌트(200)가 정사각형이 가로, 세로 4개씩 구성된 격자 무늬의 맵을 이동하고, 사람은 이동 컴포넌트(200)의 이동 경로를 따라 이동하는 게임을 진행할 수 있다. In one embodiment, the game progress unit 35 moves a game in which the moving component 200 moves a grid-like map consisting of four squares horizontally and vertically, and a person moves along the movement path of the moving component 200 You can proceed.

예를 들어, 이동 컴포넌트(200)가 격자 위의 미리 설정된 시작 위치에서 도착 위치를 지나 격자 무늬 외부로 빠져 나간다. 그 후, 사용자는 이동 컴포넌트(200)가 이동한 경로를 따라서 이동한다. 이 때, 상기 장치(100)가 센서를 통해 사용자가 정해진 경로를 이탈하는 것을 인식하면, 사용자에게 경로 이탈 알림을 제공한다. For example, the moving component 200 exits the grating through the arrival position at a predetermined starting position on the grating. Thereafter, the user moves along the path along which the moving component 200 has moved. At this time, if the device 100 recognizes that the user deviates from the predetermined path through the sensor, it provides the user with a path deviation notification.

사용자는 경로 이탈 알림을 제공받으면 다시 처음 위치에서부터 경로 이동을 개시한다. 게임 진행부(35)는 소정 시간 안에 이동 완료 시 게임이 성공하였음을 사용자에게 알릴 수 있다.When the user receives the path deviation notification, the user starts the path movement from the first position again. The game progress unit 35 may notify the user that the game has been successfully completed within a predetermined time.

일부 실시예에서, 게임 진행부(35)는 상기 격자 무늬를 게임 존 상에 가상으로 설정할 수 있다.In some embodiments, the game progress section 35 may set the plaid pattern to be virtual on the game zone.

도 3를 참조하여 위에서 서술된 단계들은 단지 예시적인 것으로, 상기 장치(100)의 설정 상태에 따라 순서가 상이할 수도, 생략될 수도, 또는 변경될 수도 있다. The steps described above with reference to FIG. 3 are exemplary only, and the order may be different, omitted, or changed depending on the setting state of the apparatus 100. [

이상에서 설명한 실시예들에 따른 센서 좌표계를 게임 존에 캘리브레이션하는 방법 및 장치에 의한 동작은, 적어도 부분적으로 컴퓨터 프로그램으로 구현될 수 있다. 여기서, 본 실시예를 구현하기 위한 프로그램은 컴퓨팅 장치에서 실행될 수 있는 기능적인 프로그램 명령어, 및 코드들의 형태로 구성된다. 상기 서술된 동작 및 그들에 연관된 부(unit), 모듈 등은 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합 내에서 구현될 수도 있다. 예를 들어, 소프트웨어 모듈은 프로그램 코드를 포함하는 컴퓨터-판독가능 매체로 구성되는 프로그램 제품과 함께 구현되고, 이는 기술된 임의의 또는 모든 단계, 동작, 또는 과정을 수행하기 위한 프로세서에 의해 실행될 수 있다. The method of calibrating the sensor coordinate system in the game zone and the operation by the apparatus according to the embodiments described above can be implemented at least partially in a computer program. Here, the program for implementing the present embodiment is configured in the form of functional program instructions and codes that can be executed in the computing device. The above-described operations and their associated units, modules, etc., may be implemented within software, firmware, hardware, or any combination thereof. For example, a software module may be implemented with a program product comprised of a computer-readable medium including program code, which may be executed by a processor for performing any or all of the steps, operations, or procedures described herein .

본 실시예를 구현하기 위한 기능적인 프로그램 명령어, 및 코드, 예컨대 센서 좌표계를 게임 존에 캘리브레이션하는 장치(100)의 프로세서에 의해 실행되는 경우 센서 좌표계를 게임 존에 캘리브레이션하는 방법을 수행하는 프로그램 명령어는 본 실시예가 속하는 기술 분야의 통상의 기술자에 의해 용이하게 이해될 수 있을 것이다. Program instructions that perform a method of calibrating a sensor coordinate system to a game zone, when executed by a processor of the apparatus 100 for calibrating a sensor coordinate system to a game zone, But can be readily understood by those skilled in the art to which this embodiment belongs.

또한, 센서 좌표계를 게임 존에 캘리브레이션하는 방법 및 장치에 의한 동작은 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 실시예들에 따른 센서 좌표계를 게임 존에 캘리브레이션하는 방법 및 장치에 의한 동작을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등을 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다.In addition, the method of calibrating the sensor coordinate system in the game zone and the operation by the apparatus can be recorded on a computer-readable recording medium. A method for calibrating a sensor coordinate system according to embodiments to a game zone and a program for implementing the operation by the apparatus are recorded and a computer readable recording medium includes any type of recording apparatus in which data readable by a computer is stored . Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. The computer readable recording medium may also be distributed over a networked computer system so that computer readable code is stored and executed in a distributed manner.

이상에서 살펴본 본 발명은 도면에 도시된 실시예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.While the invention has been shown and described with reference to certain embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. However, it should be understood that such modifications are within the technical scope of the present invention. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

Claims (13)

센서 좌표계를 게임 존에 캘리브레이션하는 장치에 의해 수행되는 센서 좌표계를 게임 존에 캘리브레이션하는 방법으로서,
3차원 공간의 일 면에서 이동 가능한 이동 컴포넌트 및 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 하나를 포함한 제1 센싱 이미지를 획득하는 단계;
상기 제1 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션하는 단계;
상기 3차원 공간 상에 적어도 4개의 포인트를 결정하고 게임 존을 설정하는 단계; 및
게임을 진행하기 위해 상기 이동 컴포넌트를 상기 게임 존에서 인식하는 단계를 포함하며,
상기 4개의 포인트의 좌표는 상기 캘리브레이션된 좌표계 상의 좌표인 방법.
1. A method of calibrating a sensor coordinate system performed by an apparatus for calibrating a sensor coordinate system in a game zone,
Obtaining a first sensing image including at least one of a movable component movable in one side of the three-dimensional space and a side supporting the moving component;
Calibrating a sensor coordinate system on the one surface based on the first sensing image;
Determining at least four points on the three-dimensional space and setting a game zone; And
And recognizing the moving component in the game zone to proceed with the game,
Wherein the coordinates of the four points are the coordinates on the calibrated coordinate system.
제1항에 있어서,
상기 캘리브레이션하는 단계는,
상기 제1 센싱 이미지가 상기 일 면을 포함하는지 결정하는 단계;
상기 일 면의 법선 벡터를 산출하는 단계; 및
상기 센서 좌표계의 일 축을 상기 일 면의 법선 벡터와 평행하게 캘리브레이션하는 단계를 포함하는 방법.
The method according to claim 1,
Wherein the calibrating comprises:
Determining if the first sensing image includes the one side;
Calculating a normal vector of the one surface; And
And calibrating one axis of the sensor coordinate system parallel to the normal vector of the one surface.
제2항에 있어서,
상기 제1 센싱 이미지가 상기 일 면을 포함하는지 결정하는 단계는,
상기 제1 센싱 이미지에 대한 포인트 클라우드(point cloud)를 생성하는 단계;
상기 제1 센싱 이미지에 대한 포인트 클라우드를 미리 저장된, 상기 일 면에 대한 하나 이상의 후보에 대한 포인트 클라우드와 매칭하는 단계; 및
상기 매칭에 의해 매칭된 포인트를 통해 상기 센싱 이미지가 상기 일 면을 포함하는 지를 결정하는 단계를 더 포함하는 방법.
3. The method of claim 2,
Wherein determining if the first sensing image includes the one side comprises:
Generating a point cloud for the first sensing image;
Matching a point cloud for the first sensed image with a previously stored point cloud for one or more candidates for the one surface; And
And determining through the matching point by the matching whether the sensing image includes the one side.
제2항에 있어서,
상기 캘리브레이션하는 단계는,
상기 제1 센싱 이미지가 상기 일 면을 포함하지 않는 경우, 상기 제1 센싱 이미지에 포함된 이동 컴포넌트의 위치에 기초하여 상기 일 면의 법선 벡터를 산출하는 단계를 더 포함하는 방법.
3. The method of claim 2,
Wherein the calibrating comprises:
If the first sensing image does not include the one side, calculating a normal vector of the one side based on the position of the moving component included in the first sensing image.
제4항에 있어서,
상기 캘리브레이션하는 단계는,
상기 이동 컴포넌트가 적어도 한 번 이동 방향을 변화하게 하는 이동 명령을 상기 이동 컴포넌트로 전송하는 단계;
상기 센서를 통해 상기 이동 컴포넌트의 이동 궤적을 트래킹하여 상기 이동 컴포넌트의 위치 궤적에 포함된 적어도 3개의 포인트를 결정하는 단계; 및
상기 적어도 3개의 포인트에 기초하여 상기 이동 컴포넌트를 지지한 일 면의 평면 방정식을 산출하고, 상기 일 면의 법선 벡터를 산출하는 단계를 더 포함하는 방법.
5. The method of claim 4,
Wherein the calibrating comprises:
Transmitting a move command to the mobile component causing the mobile component to change its direction of movement at least once;
Tracking movement trajectories of the moving component through the sensor to determine at least three points included in the position trajectory of the moving component; And
Further comprising: calculating a plane equation of one surface supporting the moving component based on the at least three points, and calculating a normal vector of the one surface.
제5항에 있어서,
상기 3차원 공간 상에 4개의 포인트를 결정하고 게임 존을 설정하는 단계는,
상기 적어도 3개의 포인트에 기초하여 결정하는 단계를 더 포함하는 방법.
6. The method of claim 5,
Determining four points on the three-dimensional space and setting a game zone,
And determining based on the at least three points.
제2항에 있어서,
상기 이동 컴포넌트를 상기 게임 존에서 인식하는 단계는,
상기 게임 존 범위의 이동 컴포넌트 및 상기 이동 컴포넌트를 지지한 일 면을 포함한 제2 센싱 이미지를 상기 센서를 통해 획득하는 단계;
상기 제2 센싱 이미지에서 상기 일 면을 필터링하는 단계; 및
상기 필터링된 제2 센싱 이미지에 기초하여 상기 이동 컴포넌트를 인식하는 단계를 포함하는 방법.
3. The method of claim 2,
Wherein the step of recognizing the moving component in the game zone comprises:
Acquiring a second sensing image including the moving component of the game zone range and one side supporting the moving component through the sensor;
Filtering the one side in the second sensing image; And
And recognizing the moving component based on the filtered second sensing image.
제7항에 있어서,
상기 일 면을 필터링하는 단계는,
상기 센서의 위치로부터 소정 높이 이하의 포인트를 필터링하는 단계를 더 포함하는 방법.
8. The method of claim 7,
Wherein filtering the one side comprises:
Further comprising filtering a point below a predetermined height from the position of the sensor.
제7항에 있어서,
상기 일 면을 필터링하는 단계는,
상기 게임 존 상에서 적어도 3개의 포인트를 결정하고, 상기 게임 존 상의 적어도 3개의 포인트를 포함한 평면을 결정하는 단계; 및
상기 평면으로부터 소정 범위 내 포인트를 필터링하는 단계를 더 포함하는 방법.
8. The method of claim 7,
Wherein filtering the one side comprises:
Determining at least three points on the game zone and determining a plane including at least three points on the game zone; And
Further comprising filtering points within the predetermined range from the plane.
제9항에 있어서,
상기 이동 컴포넌트를 인식하는 단계는,
상기 필터링된 포인트 수가 임계치 이상인 경우 해당되는 복수의 포인트에 기초하여 이동 컴포넌트를 인식하는 단계를 더 포함하는 방법.
10. The method of claim 9,
Wherein recognizing the moving component comprises:
And recognizing the moving component based on the corresponding plurality of points when the number of filtered points is equal to or greater than the threshold.
컴퓨터에 의해 판독 가능하고, 상기 컴퓨터에 의해 동작 가능한 프로그램 명령어를 저장하는 컴퓨터 판독가능한 기록매체로서, 상기 프로그램 명령어가 상기 컴퓨터의 프로세서에 의해 실행되는 경우 제1항 내지 제10항 중 어느 하나의 항에 따른 센서 좌표계를 게임 존에 캘리브레이션하는 방법을 수행하게 하는 컴퓨터 판독가능 기록매체.A computer-readable medium having stored thereon program instructions readable by a computer and operable by the computer, the program instructions being executable by a processor of the computer, In a game zone, a sensor coordinate system corresponding to the game zone. 객체 인식에 따른 게임을 진행하는 장치로서,
3차원 공간에서 이동 가능한 이동 컴포넌트 및 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 하나를 포함한 센싱 이미지를 획득하는 센서;
상기 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션하는 캘리브레이션부;
상기 3차원 공간 상에 4개의 포인트를 결정하고 게임 존을 설정하는 게임 존 설정부; 및
게임을 진행하기 위해 상기 이동 컴포넌트를 상기 게임 존에서 인식하는 게임 진행부를 포함하며,
상기 4개의 포인트의 좌표는 상기 캘리브레이션된 좌표계 상의 좌표인 장치.
An apparatus for playing a game according to object recognition,
A sensor for obtaining a sensing image including at least one of a movable component movable in three-dimensional space and a surface supporting the movable component;
A calibration unit for calibrating a sensor coordinate system on the one surface based on the sensing image;
A game zone setting unit for determining four points on the three-dimensional space and setting a game zone; And
And a game progress unit for recognizing the moving component in the game zone to proceed with the game,
Wherein the coordinates of the four points are the coordinates on the calibrated coordinate system.
객체 인식에 따른 게임을 진행하는 시스템으로서,
3차원 공간에서 이동 가능한 이동 컴포넌트 및 상기 이동 컴포넌트를 지지하는 일 면 중 적어도 하나를 포함한 센싱 이미지를 획득하는 센서; 상기 센싱 이미지에 기초하여 센서 좌표계를 상기 일 면에 캘리브레이션하는 캘리브레이션부; 상기 3차원 공간 상에 4개의 포인트를 결정하고 게임 존을 설정하는 게임 존 설정부; 및 상기 이동 컴포넌트를 상기 게임 존에서 인식하여 게임을 진행하는 게임 진행부를 포함하며, 상기 4개의 포인트의 좌표는 상기 캘리브레이션된 좌표계 상의 좌표인 장치; 및
상기 장치와 통신하고; 상기 장치로부터 이동 명령을 수신하는 경우 상기 이동 명령에 따라 이동하도록 구성된 이동 컴포넌트를 포함하는 시스템.
A system for playing a game according to object recognition,
A sensor for obtaining a sensing image including at least one of a movable component movable in three-dimensional space and a surface supporting the movable component; A calibration unit for calibrating a sensor coordinate system on the one surface based on the sensing image; A game zone setting unit for determining four points on the three-dimensional space and setting a game zone; And a game progress unit for recognizing the moving component in the game zone and playing the game, wherein the coordinates of the four points are coordinates on the calibrated coordinate system; And
Communicate with the device; And a moving component configured to move in accordance with the move command when receiving a move command from the device.
KR1020180009643A 2017-01-26 2018-01-25 Method and apparatus for for calibrating sensor coordinate system with game zone KR101979246B1 (en)

Applications Claiming Priority (2)

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

Publications (2)

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

Family

ID=63250169

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180009643A KR101979246B1 (en) 2017-01-26 2018-01-25 Method and apparatus for for calibrating sensor coordinate system with game zone

Country Status (1)

Country Link
KR (1) KR101979246B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102472004B1 (en) * 2020-08-05 2022-11-28 한국기술교육대학교 산학협력단 calibration method and apparatus among mutiple sensors

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032123A (en) 2000-07-19 2002-01-31 Matsushita Electric Ind Co Ltd Moving work robot
JP2008264947A (en) 2007-04-20 2008-11-06 Toyota Motor Corp Plane sensing method and mobile robot
WO2013111229A1 (en) 2012-01-23 2013-08-01 日本電気株式会社 Camera calibration device, camera calibration method, and camera calibration program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101619076B1 (en) * 2009-08-25 2016-05-10 삼성전자 주식회사 Method of detecting and tracking moving object for mobile platform
KR101486543B1 (en) 2013-05-31 2015-01-26 한국과학기술원 Method and apparatus for recognition and segmentation object for 3d object recognition
KR101620632B1 (en) * 2014-09-22 2016-05-12 주식회사 에스원 Bottom detection method and apparatus using the normal information based depth image

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032123A (en) 2000-07-19 2002-01-31 Matsushita Electric Ind Co Ltd Moving work robot
JP2008264947A (en) 2007-04-20 2008-11-06 Toyota Motor Corp Plane sensing method and mobile robot
WO2013111229A1 (en) 2012-01-23 2013-08-01 日本電気株式会社 Camera calibration device, camera calibration method, and camera calibration program

Also Published As

Publication number Publication date
KR20180088306A (en) 2018-08-03

Similar Documents

Publication Publication Date Title
KR101881620B1 (en) Using a three-dimensional environment model in gameplay
US8401225B2 (en) Moving object segmentation using depth images
US9075434B2 (en) Translating user motion into multiple object responses
US20150002419A1 (en) Recognizing interactions with hot zones
US20110292036A1 (en) Depth sensor with application interface
US11847796B2 (en) Calibrating cameras using human skeleton
TWI696906B (en) Method for processing a floor
JP6054831B2 (en) Image processing apparatus, image processing method, and image processing program
Ye et al. 6-DOF pose estimation of a robotic navigation aid by tracking visual and geometric features
Pagliari et al. Kinect fusion improvement using depth camera calibration
US10778902B2 (en) Sensor control device, object search system, object search method, and program
JP2016170610A (en) Three-dimensional model processing device and camera calibration system
US11282222B2 (en) Recording medium, object detection apparatus, object detection method, and object detection system
KR101469099B1 (en) Auto-Camera Calibration Method Based on Human Object Tracking
CN109313822B (en) Virtual wall construction method and device based on machine vision, map construction method and movable electronic equipment
KR101979246B1 (en) Method and apparatus for for calibrating sensor coordinate system with game zone
EP3910451A1 (en) Display systems and methods for aligning different tracking means
Gonzalez-Jimenez et al. Improving 2d reactive navigators with kinect
CN109416251B (en) Virtual wall construction method and device based on color block labels, map construction method and movable electronic equipment
US20230224576A1 (en) System for generating a three-dimensional scene of a physical environment
KR102000674B1 (en) Method and apparatus for calibrating content projecting area with sensor coordinate system
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 (en) Apparatus and method for constructing augmented reality game space through cuboid detection

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