KR101032509B1 - System and method of estimating real-time foot motion using kalman filter - Google Patents

System and method of estimating real-time foot motion using kalman filter Download PDF

Info

Publication number
KR101032509B1
KR101032509B1 KR1020090077580A KR20090077580A KR101032509B1 KR 101032509 B1 KR101032509 B1 KR 101032509B1 KR 1020090077580 A KR1020090077580 A KR 1020090077580A KR 20090077580 A KR20090077580 A KR 20090077580A KR 101032509 B1 KR101032509 B1 KR 101032509B1
Authority
KR
South Korea
Prior art keywords
coordinate system
foot
user
virtual
markers
Prior art date
Application number
KR1020090077580A
Other languages
Korean (ko)
Other versions
KR20110019948A (en
Inventor
정다운
윤용인
최종수
Original Assignee
중앙대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 중앙대학교 산학협력단 filed Critical 중앙대학교 산학협력단
Priority to KR1020090077580A priority Critical patent/KR101032509B1/en
Publication of KR20110019948A publication Critical patent/KR20110019948A/en
Application granted granted Critical
Publication of KR101032509B1 publication Critical patent/KR101032509B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Landscapes

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

Abstract

실시간으로 사용자 발의 모션를 추정하는 방법이 개시된다. 상기 방법은 가상 좌표계와 실제 좌표계 사이의 관계를 정의하는 단계; 상기 실제 좌표계에 존재하는 사용자 발에 부착된 적어도 두 개의 마커들을 칼만 필터를 이용하여 검출하는 단계; 상기 적어도 두 개의 마커들의 벡터를 상기 가상 좌표계에서 계산하는 단계; 상기 가상 좌표계에서 상기 적어도 두 개의 마커들에 대한 이전 이미지 및 현재 이미지를 기초로 상기 사용자 발의 회전각을 계산하는 단계; 상기 사용자 발의 회전각을 기초로 상기 가상 좌표계에서 상기 사용자 발의 가상 모델을 회전하는 단계; 및 상기 가상 좌표계와 상기 실제 좌표계 사이의 관계를 기초로 상기 회전된 사용자 발의 가상 모델을 상기 실제 좌표계로 변환하는 단계를 포함한다.A method of estimating motion of a user's foot in real time is disclosed. The method includes defining a relationship between a virtual coordinate system and an actual coordinate system; Detecting at least two markers attached to a user's foot in the actual coordinate system using a Kalman filter; Calculating a vector of the at least two markers in the virtual coordinate system; Calculating a rotation angle of the user's foot based on a previous image and a current image for the at least two markers in the virtual coordinate system; Rotating the virtual model of the user's foot in the virtual coordinate system based on the rotation angle of the user's foot; And converting the virtual model of the rotated user's foot into the actual coordinate system based on the relationship between the virtual coordinate system and the actual coordinate system.

칼만 필터, 실시간, 발, 추정, 모션, 포즈, 회전, 카메라 Kalman Filter, Real Time, Foot, Estimation

Description

칼만 필터를 이용한 실시간 발 모션 추정 시스템 및 그 방법{SYSTEM AND METHOD OF ESTIMATING REAL-TIME FOOT MOTION USING KALMAN FILTER}Real-time foot motion estimation system using Kalman filter and its method {SYSTEM AND METHOD OF ESTIMATING REAL-TIME FOOT MOTION USING KALMAN FILTER}

본 발명은 실시간으로 사용자 발의 모션을 추정하기 위한 기술에 관한 것이다.The present invention relates to a technique for estimating motion of a user's foot in real time.

사용자 발의 모션을 추정하는 것은 여러 용도로 활용될 수 있다. 예를 들어, 신발을 온라인으로 판매하는 경우, 사용자는 가상 신발을 착용함으로써 원하는 신발을 쉽게 고를 수 있는데, 이러한 경우, 사용자 발을 정확하게 추정할 수 있는 기술이 필요하다.Estimating the motion of the user's feet can be used for various purposes. For example, when selling shoes online, a user can easily select a desired shoe by wearing a virtual shoe, in which case, a technique for accurately estimating the user's foot is required.

사용자는 자신의 발을 여러 방향으로 회전시킬 수도 있으며, 일정한 위치에 두지 않는다. 이러한 경우에도, 사용자 발을 정확하게 추정할 수 있는 기술이 필요하다. 특히, 사용자가 자신의 발을 움직이는 경우, 움직이는 발을 실시간으로 추적할 수 있는 기술이 필요하다.The user can also rotate his foot in several directions and do not place it in a fixed position. Even in this case, a technique for accurately estimating a user's foot is needed. In particular, when the user moves his foot, there is a need for a technology that can track the moving foot in real time.

본 발명은 실시간으로 사용자 발을 추정하는 기술을 제공한다.The present invention provides a technique for estimating a user's foot in real time.

본 발명의 일실시예에 따른 실시간으로 사용자 발의 모션를 추정하는 방법은 가상 좌표계와 실제 좌표계 사이의 관계를 정의하는 단계; 상기 실제 좌표계에 존재하는 사용자 발에 부착된 적어도 두 개의 마커들을 칼만 필터를 이용하여 검출하는 단계; 상기 적어도 두 개의 마커들의 벡터를 상기 가상 좌표계에서 계산하는 단계; 상기 가상 좌표계에서 상기 적어도 두 개의 마커들에 대한 이전 이미지 및 현재 이미지를 기초로 상기 사용자 발의 회전각을 계산하는 단계; 상기 사용자 발의 회전각을 기초로 상기 가상 좌표계에서 상기 사용자 발의 가상 모델을 회전하는 단계; 및 상기 가상 좌표계와 상기 실제 좌표계 사이의 관계를 기초로 상기 회전된 사용자 발의 가상 모델을 상기 실제 좌표계로 변환하는 단계를 포함한다.According to an embodiment of the present invention, a method for estimating motion of a user's foot in real time may include defining a relationship between a virtual coordinate system and an actual coordinate system; Detecting at least two markers attached to a user's foot in the actual coordinate system using a Kalman filter; Calculating a vector of the at least two markers in the virtual coordinate system; Calculating a rotation angle of the user's foot based on a previous image and a current image for the at least two markers in the virtual coordinate system; Rotating the virtual model of the user's foot in the virtual coordinate system based on the rotation angle of the user's foot; And converting the virtual model of the rotated user's foot into the actual coordinate system based on the relationship between the virtual coordinate system and the actual coordinate system.

상기 가상 좌표계와 실제 좌표계 사이의 관계를 정의하는 단계는 그라운드 평면에 부착된 적어도 네 개의 마커들을 검출하고, 상기 네 개의 마커들을 이용하여 상기 가상 좌표계와 상기 실제 좌표계 사이의 관계를 정의하는 단계일 수 있다.The step of defining a relationship between the virtual coordinate system and the real coordinate system may include detecting at least four markers attached to the ground plane, and defining the relationship between the virtual coordinate system and the real coordinate system using the four markers. have.

상기 회전된 사용자 발의 가상 모델을 상기 실제 좌표계로 변환하는 단계는 수학식

Figure 112009051239542-pat00001
에 따라 상기 회전된 사용자 발의 가상 모델을 상기 실제 좌표계로 변환하는 단계이고,
Figure 112009051239542-pat00002
는 상기 사용자 발의 회전각이고,
Figure 112009051239542-pat00003
는 그라운드 평면의 중심점이고,
Figure 112009051239542-pat00004
Figure 112009051239542-pat00005
는 상기 가상 좌표계로 이동된 상기 적어도 두 개의 마커들 중 어느 하나의 마커에 대한 x 축값, z 축값이며,
Figure 112009051239542-pat00006
,
Figure 112009051239542-pat00007
,
Figure 112009051239542-pat00008
,
Figure 112009051239542-pat00009
이고,
Figure 112009051239542-pat00010
는 그라운드 평면의 노말 벡터와 상기 가상 좌표계의 x, y, z 축 사이의 회전각일 수 있다.Converting the virtual model of the rotated user's foot into the actual coordinate system is
Figure 112009051239542-pat00001
Converting the virtual model of the rotated user's foot into the actual coordinate system according to
Figure 112009051239542-pat00002
Is the rotation angle of the user's foot,
Figure 112009051239542-pat00003
Is the center point of the ground plane,
Figure 112009051239542-pat00004
And
Figure 112009051239542-pat00005
Is an x-axis value and a z-axis value for any one of the at least two markers moved in the virtual coordinate system,
Figure 112009051239542-pat00006
,
Figure 112009051239542-pat00007
,
Figure 112009051239542-pat00008
,
Figure 112009051239542-pat00009
ego,
Figure 112009051239542-pat00010
May be a rotation angle between the normal vector of the ground plane and the x, y, z axes of the virtual coordinate system.

상기 방법은 상기 실제 좌표계로 변환된 사용자 발의 가상 모델을 2차원 이미지로 변환하는 단계 및 상기 2차원 이미지를 디스플레이하는 단계를 더 포함할 수 있다.The method may further include converting the virtual model of the user's foot converted into the actual coordinate system into a two-dimensional image and displaying the two-dimensional image.

상기 사용자 발의 회전각을 계산하는 단계는 상기 사용자 발의 회전각을 계산하기 위하여 상기 적어도 두 개의 마커들의 벡터를 그라운드 평면으로 투영하는 단계를 포함할 수 있다.The calculating of the rotation angle of the user's foot may include projecting the vector of the at least two markers onto the ground plane to calculate the rotation angle of the user's foot.

상기 가상 좌표계와 상기 실제 좌표계 사이의 관계를 정의하는 단계는 상기 가상 좌표계와 상기 실제 좌표계 사이의 관계를 정의하기 위하여 그라운드 평면의 중심점으로부터 카메라 좌표계의 원점으로의 이동량 및 상기 카메라 좌표계의 원점으로부터 상기 가상 좌표계의 원점으로의 이동량을 계산하는 단계를 포함할 수 있다.The step of defining a relationship between the virtual coordinate system and the actual coordinate system may include: an amount of movement from a center point of a ground plane to an origin of a camera coordinate system and an origin of the camera coordinate system to define a relationship between the virtual coordinate system and the actual coordinate system. Computing the movement amount to the origin of the coordinate system.

상기 사용자 발의 회전각을 계산하는 단계는 상기 적어도 두 개의 마커들을 상기 가상 좌표계로 이동하는 단계를 포함할 수 있다.The calculating of the rotation angle of the user's foot may include moving the at least two markers to the virtual coordinate system.

상기 사용자 발의 회전각을 계산하는 단계는 상기 가상 좌표계로 이동된 상기 적어도 두 개의 마커들의 벡터를 투영하는 단계를 더 포함할 수 있다.The calculating of the rotation angle of the user's foot may further include projecting a vector of the at least two markers moved to the virtual coordinate system.

상기 사용자 발의 회전각을 계산하는 단계는 상기 사용자 발의 회전 방향을 파악하는 단계를 포함할 수 있다.The calculating of the rotation angle of the user foot may include determining a rotation direction of the user foot.

또한, 본 발명의 일실시예에 따른 실시간으로 사용자 발의 모션를 추정하는 장치는 가상 좌표계와 실제 좌표계 사이의 관계를 정의하는 정의부; 상기 실제 좌표계에 존재하는 사용자 발에 부착된 적어도 두 개의 마커들을 칼만 필터를 이용하여 검출하는 검출부; 상기 적어도 두 개의 마커들의 벡터를 상기 가상 좌표계에서 계산하는 벡터 계산부; 상기 가상 좌표계에서 상기 적어도 두 개의 마커들에 대한 이전 이미지 및 현재 이미지를 기초로 상기 사용자 발의 회전각을 계산하는 회전각 계산부; 상기 사용자 발의 회전각을 기초로 상기 가상 좌표계에서 상기 사용자 발의 가상 모델을 회전하는 회전부; 및 상기 가상 좌표계와 상기 실제 좌표계 사이의 관계를 기초로 상기 회전된 사용자 발의 가상 모델을 상기 실제 좌표계로 변환하는 변환부를 포함한다.In addition, the apparatus for estimating the motion of the user's foot in real time according to an embodiment of the present invention includes a definition unit for defining a relationship between the virtual coordinate system and the actual coordinate system; A detector for detecting at least two markers attached to a user's foot in the actual coordinate system using a Kalman filter; A vector calculator configured to calculate a vector of the at least two markers in the virtual coordinate system; A rotation angle calculator configured to calculate a rotation angle of the user's foot based on a previous image and a current image of the at least two markers in the virtual coordinate system; A rotating unit rotating the virtual model of the user's foot in the virtual coordinate system based on the rotation angle of the user's foot; And a converting unit converting the rotated virtual model of the rotated user's foot into the actual coordinate system based on the relationship between the virtual coordinate system and the actual coordinate system.

상기 변환부는 수학식

Figure 112009051239542-pat00011
에 따라 상기 회전된 사용자 발의 가상 모델을 상기 실제 좌표계로 변환하고,
Figure 112009051239542-pat00012
는 상기 사용자 발의 회전각이고,
Figure 112009051239542-pat00013
는 그라운드 평면의 중심점이고,
Figure 112009051239542-pat00014
Figure 112009051239542-pat00015
는 상기 가상 좌표계로 이동된 상기 적어도 두 개의 마커들 중 어느 하나의 마커에 대한 x 축값, z 축값이며,
Figure 112009051239542-pat00016
,
Figure 112009051239542-pat00017
,
Figure 112009051239542-pat00018
,
Figure 112009051239542-pat00019
이고,
Figure 112009051239542-pat00020
는 상기 그라운드 평면의 노말 벡터와 상기 가상 좌표계의 x, y, z 축 사이의 회전각일 수 있다.The conversion unit is
Figure 112009051239542-pat00011
Convert the virtual model of the rotated user's foot into the actual coordinate system according to
Figure 112009051239542-pat00012
Is the rotation angle of the user's foot,
Figure 112009051239542-pat00013
Is the center point of the ground plane,
Figure 112009051239542-pat00014
And
Figure 112009051239542-pat00015
Is an x-axis value and a z-axis value for any one of the at least two markers moved in the virtual coordinate system,
Figure 112009051239542-pat00016
,
Figure 112009051239542-pat00017
,
Figure 112009051239542-pat00018
,
Figure 112009051239542-pat00019
ego,
Figure 112009051239542-pat00020
May be a rotation angle between the normal vector of the ground plane and the x, y, z axes of the virtual coordinate system.

상기 정의부는 상기 가상 좌표계와 상기 실제 좌표계 사이의 관계를 정의하기 위하여 그라운드 평면의 중심점으로부터 카메라 좌표계의 원점으로의 이동량 및 상기 카메라 좌표계의 원점으로부터 상기 가상 좌표계의 원점으로의 이동량을 계산할 수 있다.The definition unit may calculate the amount of movement from the center point of the ground plane to the origin of the camera coordinate system and the amount of movement from the origin of the camera coordinate system to the origin of the virtual coordinate system to define the relationship between the virtual coordinate system and the actual coordinate system.

상기 회전각 계산부는 상기 사용자 발의 회전각을 계산하기 위하여 상기 적어도 두 개의 마커들의 벡터를 그라운드 평면으로 투영할 수 있다.The rotation angle calculator may project the vector of the at least two markers onto the ground plane to calculate the rotation angle of the user's foot.

상기 회전각 계산부는 상기 사용자 발의 회전각을 계산하기 위하여 상기 가상 좌표계로 이동된 상기 적어도 두 개의 마커들의 벡터를 투영할 수 있다.The rotation angle calculator may project a vector of the at least two markers moved to the virtual coordinate system to calculate the rotation angle of the user's foot.

본 발명의 일실시예에 따른 실시간 발 모션 추정 시스템은 사용자 발에 대한 복수의 이미지들을 생성하는 스테레오 카메라; 적어도 네 개의 마커들이 부착된 그라운드 평면; 상기 사용자 발에 부착되는 적어도 두 개의 마커들; 및 상기 실시간으로 사용자 발의 모션를 추정하는 장치를 포함한다. 여기서, 상기 실시간으로 사용자 발의 모션를 추정하는 장치는 상기 적어도 네 개의 마커들을 이용하여 가상 좌표계와 실제 좌표계 사이의 관계를 정의하고, 상기 실제 좌표계에 존재하는 사용 자 발에 부착된 적어도 두 개의 마커들을 칼만 필터를 이용하여 검출하고, 상기 가상 좌표계에서 상기 적어도 두 개의 마커들에 대한 이전 이미지 및 현재 이미지를 기초로 상기 사용자 발의 회전각을 계산하여 상기 사용자 발의 포즈를 추정한다.A real-time foot motion estimation system according to an embodiment of the present invention includes a stereo camera for generating a plurality of images of the user's foot; A ground plane to which at least four markers are attached; At least two markers attached to the user's foot; And an apparatus for estimating the motion of the user's foot in real time. Here, the apparatus for estimating the motion of the user's foot in real time defines the relationship between the virtual coordinate system and the real coordinate system using the at least four markers, and at least two markers attached to the user's foot existing in the real coordinate system. Detects using a filter, and estimates a pose of the user's foot by calculating a rotation angle of the user's foot based on a previous image and a current image of the at least two markers in the virtual coordinate system.

본 발명은 실시간으로 사용자 발을 추정하는 기술을 제공한다.The present invention provides a technique for estimating a user's foot in real time.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 발 모션(foot motion) 추정 시스템을 나타낸 도면이다.1 is a diagram illustrating a foot motion estimation system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 발 모션 추정 시스템은, 사용자 발 추정 장치, 적어도 두 개의 카메라들(스테레오 카메라) 및 적어도 네 개의 마커들이 부착된 그라운드 평면을 포함하고, 사용자 발에는 적어도 두 개의 마커들이 부착된다. 여기서, 그라운드 평면은 실제 좌표계의 기준면으로서 사용된다.Referring to FIG. 1, the foot motion estimation system of the present invention includes a user foot estimation device, a ground plane to which at least two cameras (stereo cameras) and at least four markers are attached, and at least two markers on the user's feet. Are attached. Here, the ground plane is used as a reference plane of the actual coordinate system.

그라운드 평면 및 사용자 발에 부착되는 마커들을 이용하여 실시간으로 발 모션을 추정하는 방법에 대해서는 아래에서 상세히 설명한다.A method of estimating foot motion in real time using markers attached to the ground plane and the user's foot is described in detail below.

1-1. 1-1. 마커Marker 검출( detection( MARKERMARKER DETECTIONDETECTION ))

도 2는 그라운드 평면에 부착된 네 개의 원형 마커들 및 사용자 발에 부착된 두 개의 원형 마커들에 대한 검출 결과를 나타낸다.2 shows detection results for four circular markers attached to the ground plane and two circular markers attached to the user's feet.

본 발명은 도 2에 도시된 것과 같이 백그라운드의 픽셀 엘리먼트들을 뺌으로써, 객체(그라운드 평면 또는 사용자 발) 이미지를 파악할 수 있다. 픽셀 엘리먼트들이 백그라운드에 속하는 것인지 또는 객체에 속하는 것인지는 이로젼(erosion) 또는 딜레이션 마스크(dilation mask)를 계산함으로써, 판단될 수 있다. 도 2에의 첫 번째 그림에서 백그라운드의 픽셀 엘리먼트들을 뺀 결과가 두 번째 그림이고, 세 번째 그림에서 백그라운드의 픽셀 엘리먼트들을 뺀 결과가 네 뻔째 그림이다.The present invention can grasp the object (ground plane or the user's foot) image by reading the pixel elements of the background as shown in FIG. 2. Whether pixel elements belong to a background or an object may be determined by calculating an erosion or a separation mask. The result of subtracting the pixel elements of the background from the first figure in FIG. 2 is the second figure, and the result of subtracting the pixel elements of the background from the third figure is the fourth figure.

또한, 이미 잘 알려진 다양한 방법들을 이용하여 두 번째, 네 번째 그림과 같은 이미지 시퀀스들을 분석하면, 그라운드 평면 및 사용자 발에 부착된 원형 마커들을 쉽게 찾아낼 수 있다. 이러한 원형 마커들은 카메라 캘리브레이션, 원점 좌표의 설정, 사용자 발의 변환(transformation) 및 회전(rotation) 등과 같은 여러 문제들을 해결하는 데에 핵심 정보로 사용된다. 특히, 본 발명은 2000년의 IEEE TRANSACTION ON PATTERN ANLAYSIS AND MACHINE INTELLIGENCE를 통하여 공개된 Zhang 알고리즘을 통하여 ZHANG 알고리즘을 이용하여 그라운드 평면에 있는 네 개의 원형 마커들로부터 카메라 캘리브레이션을 위한 값들을 계산할 수 있다.In addition, by analyzing image sequences such as the second and fourth pictures using various well-known methods, it is easy to find the circular markers attached to the ground plane and the user's foot. These circular markers are used as key information in solving various problems such as camera calibration, setting of origin coordinates, transformation and rotation of the user's foot. In particular, the present invention can calculate values for camera calibration from four circular markers in the ground plane using the ZHANG algorithm through Zhang algorithm published through IEEE TRANSACTION ON PATTERN ANLAYSIS AND MACHINE INTELLIGENCE in 2000.

1-2. 칼만 필터를 이용한 1-2. Kalman filter 마커들의Of markers 예측 및 추정 Forecast and estimate

사용자 발이 움직이는 경우, 마커들의 가려짐(occlusion) 현상이 발생한다. 이러한 가려짐 현상으로 인한 문제는 움직이는 사용자 발을 추적하기 위한 중요한 문제이다. 이 때, 본 발명은 칼만 필터를 이용하여 안정적으로 마커들을 추정하 고, 잡음들을 줄일 수 있다. When the user's foot moves, the occlusion of the markers occurs. The problem caused by this obstruction is an important problem for tracking the moving user's feet. In this case, the present invention can stably estimate the markers using a Kalman filter and reduce noises.

칼만 필터는 실시간으로 사용자 발을 추정하는 데에 좋은 기능을 수행할 수 있다. 칼만 필터링 알고리즘은 예측 단계, 측정 단계, 업데이트 단계로 이루어진다.The Kalman filter can do a good job of estimating the user's foot in real time. The Kalman filtering algorithm consists of a prediction phase, a measurement phase, and an update phase.

현재 프레임에서 검출된 마커의 상태 벡터를

Figure 112009051239542-pat00021
라고 하고, 다음 프레임에서 마커의 상태 벡터를
Figure 112009051239542-pat00022
라고 가정한다. 이 때, 예측 단계는
Figure 112009051239542-pat00023
및 상태 추정 에러의 공분산 행렬
Figure 112009051239542-pat00024
를 예측한다. 여기서, (-)는 측정에 의한 업데이트 단계가 완료되지 않았음을 가리킨다.The state vector of the marker detected in the current frame.
Figure 112009051239542-pat00021
The state vector of the marker
Figure 112009051239542-pat00022
Assume that At this time, the prediction step
Figure 112009051239542-pat00023
And covariance matrix of state estimation errors
Figure 112009051239542-pat00024
Predict. Here, (-) indicates that the update by measurement step is not completed.

상태 추정 에러의 공분산 행렬

Figure 112009051239542-pat00025
는 하기 수학식 1과 같이 나타낼 수 있다.Covariance Matrix of State Estimation Error
Figure 112009051239542-pat00025
Can be expressed as in Equation 1 below.

[수학식 1][Equation 1]

Figure 112009051239542-pat00026
Figure 112009051239542-pat00026

여기서, E[x]는 x의 평균이다.Where E [x] is the mean of x.

다음 프레임에서 마커의 상태 벡터

Figure 112009051239542-pat00027
및 상태 추정 에러의 공분산 행렬
Figure 112009051239542-pat00028
는 하기 수학식 2와 같이 표현된다.State vector of marker at next frame
Figure 112009051239542-pat00027
And covariance matrix of state estimation errors
Figure 112009051239542-pat00028
Is expressed as in Equation 2 below.

[수학식 2][Equation 2]

Figure 112009051239542-pat00029
Figure 112009051239542-pat00029

Figure 112009051239542-pat00030
Figure 112009051239542-pat00030

여기서,

Figure 112009051239542-pat00031
는 시스템의 모델 잡음을 나타내며,
Figure 112009051239542-pat00032
Figure 112009051239542-pat00033
의 공분산 행렬을 나타낸다.here,
Figure 112009051239542-pat00031
Represents the model noise of the system,
Figure 112009051239542-pat00032
silver
Figure 112009051239542-pat00033
Represents the covariance matrix of.

다음 프레임에서 마커의 상태 벡터

Figure 112009051239542-pat00034
가 예측되면, 본 발명은 측정 단계를 수행한다. 이 때, 측정 단계는 하기 수학식 3과 같이 나타낼 수 있다.State vector of marker at next frame
Figure 112009051239542-pat00034
If is predicted, the present invention performs the measurement step. In this case, the measuring step may be represented by Equation 3 below.

[수학식 3]&Quot; (3) "

Figure 112009051239542-pat00035
Figure 112009051239542-pat00035

여기서,

Figure 112009051239542-pat00036
는 마커에 대한 측정 벡터이고, H는 측정 벡터와 상태 벡터 사이의 관측 행렬이고,
Figure 112009051239542-pat00037
은 측정 에러를 의미한다. 여기서, 시스템의 모델 잡음
Figure 112009051239542-pat00038
및 측정 에러
Figure 112009051239542-pat00039
가 서로 상관되지 않는다고 가정한다.here,
Figure 112009051239542-pat00036
Is the measurement vector for the marker, H is the observation matrix between the measurement vector and the state vector,
Figure 112009051239542-pat00037
Means a measurement error. Where the model noise of the system
Figure 112009051239542-pat00038
And measurement errors
Figure 112009051239542-pat00039
Suppose is not correlated with each other.

최종적으로, 업데이트 단계는 상태 벡터에 대한 새로운 값들 및 측정 단계에 의해 추정된 값들로부터의 상태 추정 에러를 기초로 수행된다. 보다 구체적으로, 업데이트 단계는 하기 수학식 4와 같은 업데이트 방정식을 사용할 수 있다.Finally, the updating step is performed based on the new values for the state vector and the state estimation error from the values estimated by the measuring step. More specifically, the update step may use an update equation, such as Equation 4.

[수학식 5][Equation 5]

Figure 112009051239542-pat00040
Figure 112009051239542-pat00040

Figure 112009051239542-pat00041
Figure 112009051239542-pat00041

Figure 112009051239542-pat00042
Figure 112009051239542-pat00042

여기서, Rk는 측정 에러의 공분산 행렬이고, Kk는 칼만 게인이다. 칼만 게인은

Figure 112009051239542-pat00043
를 업데이트하기 위하여 측정된 값들 및 추정된 값들 사이의 차이들에 대해 적절한 가중치를 부여하는 기능을 수행한다.Where R k is the covariance matrix of the measurement error and K k is the Kalman gain. Kalman Gain
Figure 112009051239542-pat00043
It performs the function of assigning appropriate weights to the differences between the measured values and the estimated values in order to update.

결국, 본 발명은 실시간으로 사용자 발을 추적할 수 있도록 칼만 필터링 알고리즘을 이용하여 현재 프레임의 마커들로부터 다음 프레임의 마커들을 보다 효율적으로 추정할 수 있다.As a result, the present invention can more efficiently estimate the markers of the next frame from the markers of the current frame using the Kalman filtering algorithm to track the user's foot in real time.

2. 3차원 재구성(3D 2. 3D reconstruction (3D RECONSTRUCTIONRECONSTRUCTION ))

도 3은 그라운드 평면 위에 있는 네 개의 마커들을 통해 정의되는 교차점 및 사용자 발 위에 있는 두 개의 마커들을 통해 정의되는 중심선을 나타낸 도면이다.FIG. 3 is a diagram illustrating an intersection defined by four markers on the ground plane and a centerline defined by two markers on the user's feet.

두 개의 카메라들에 의해 생성되는 이미지들은 2차원 이미지들이므로, 3차원 입체를 만들기 위해서는 2차원 이미지들을 적절히 재구성해야 한다.Since the images generated by the two cameras are two-dimensional images, two-dimensional images must be properly reconstructed in order to create three-dimensional solids.

도 2와 관련하여, 도 2의 두 번째, 네 번째 그림과 같은 이미지 시퀀스들을 분석하면, 그라운드 평면 및 사용자 발에 부착된 마커들을 찾아낼 수 있음을 설명하였다. 그라운드 평면 및 사용자 발에 부착된 마커들을 통하여 이미지 시퀀스들을 입체적으로 재구성할 필요가 있다. 이 때, 3차원 재구성을 위한 기준이 정의되어야 하는데, 본 발명은 도 3에 도시된 것과 같이, 그라운드 평면 위에 있는 네 개의 마커들을 통해 정의되는 교차점 및 사용자 발 위에 있는 두 개의 마커들을 통해 정의되는 중심선을 정의할 수 있다.With reference to FIG. 2, it has been explained that analyzing image sequences such as the second and fourth pictures of FIG. 2 can find markers attached to the ground plane and the user's foot. There is a need to stereoscopically reconstruct image sequences through markers attached to the ground plane and the user's foot. At this time, a criterion for three-dimensional reconstruction should be defined, and the present invention is a centerline defined by two markers on the user's foot and an intersection defined by four markers on the ground plane as shown in FIG. 3. Can be defined.

2차원 이미지와 3차원 모델 사이의 관계에 대한 카메라 투영 매트릭스를 P라고 가정한다. 여기서, P는 대상 모델에 있는 점들의 좌표를 해당 이미지 평면에 투영하는 것과 관련되며, 하기 수학식 6과 같이 표현될 수 있다.Assume that the camera projection matrix for the relationship between the two-dimensional image and the three-dimensional model is P. Here, P is related to projecting the coordinates of the points in the target model to the image plane, can be expressed as shown in Equation 6 below.

[수학식 6]&Quot; (6) "

Figure 112009051239542-pat00044
Figure 112009051239542-pat00044

여기서, f는 카메라의 초점 거리이고, R과 T는 모델 프레임에 대한 카메라의 회전 매트릭스 및 변환(Translation) 매트릭스이다. 여기서, 카메라 투영 매트릭스 P는 하기 수학식 7와 같이 나타낼 수도 있다.Where f is the focal length of the camera and R and T are the camera's rotation matrix and translation matrix for the model frame. Here, the camera projection matrix P may be represented by Equation 7 below.

[수학식 7][Equation 7]

Figure 112009051239542-pat00045
Figure 112009051239542-pat00045

여기서, K는 카메라의 내부(intrinsic) 파라미터를 나타내며, R, T는 외부(extrinsic) 파라미터를 나타낸다. 이러한 카메라 투영 매트릭스 P를 통하여 이미지 시퀀스들과 3차원 좌표의 점들 사이의 관계가 정해지며, 본 발명은 카메라 투영 매트릭스 P를 이용하여 이미지 시퀀스들을 3차원 점들로 변환한다.Here, K denotes an intrinsic parameter of the camera, and R and T denote extrinsic parameters. This camera projection matrix P determines the relationship between the image sequences and the points of three-dimensional coordinates, and the present invention uses the camera projection matrix P to convert the image sequences into three-dimensional points.

또한, 이미지 시퀀스들로부터 얻어지는 3차원 재구성을 적절히 보상하기 위하여, 여러 기법들이 적용될 수 있으며, 특히 선형 삼각화 접근법(linear triangulation approach)이 사용될 수 있다. 이에 대한 설명은 생략한다.Also, in order to properly compensate for the three-dimensional reconstruction obtained from image sequences, various techniques can be applied, in particular a linear triangulation approach can be used. Description thereof will be omitted.

3. 사용자 발의 포즈 추정3. Estimate the pose of the user's foot

도 4는 사용자 발의 포즈를 추정하는 과정을 개념적으로 설명하기 위한 도면이다.4 is a diagram for conceptually explaining a process of estimating a pose of a user foot.

3차원 공간 좌표에서 객체의 포즈는 세 개의 축들 각각에 대한 회전에 따라 결정된다. 따라서, 본 발명은 세 개의 축들 각각에 대한 사용자 발의 회전각을 구하고, 그 회전각을 기초로 사용자 발의 포즈를 추정한다. The pose of the object in three-dimensional space coordinates is determined by the rotation about each of the three axes. Accordingly, the present invention obtains the rotation angle of the user's foot about each of the three axes, and estimates the pose of the user's foot based on the rotation angle.

본 발명은 다음과 같은 세 개의 단계들을 통하여 사용자 발의 포즈를 추정한다.The present invention estimates the pose of the user's foot through the following three steps.

첫 번째 단계는 도 4의 STEP 1에 도시된 것과 같이, 카메라 좌표계로부터 가상 좌표계로의 변위인 M을 계산하고, 그라운드 평면 위의 네 개의 마커들의 중심점으로부터 카메라 좌표계의 원점으로의 이동량인 T1을 계산한다. 그라운드 평면의 중심점은 사용자 발의 포즈를 추정하고, 사용자 발의 이동 변위를 가상 모델과 합성하기 위한 기준점이다.The first step is to calculate M, which is the displacement from the camera coordinate system to the virtual coordinate system, as shown in STEP 1 of FIG. do. The center point of the ground plane is a reference point for estimating the pose of the user's foot and synthesizing the displacement of the user's foot with the virtual model.

카메라 좌표와 가상 좌표 사이의 관계 및 그라운드 평면 위의 네 개의 마커들의 중심점으로부터 카메라 좌표의 원점으로의 이동량인 T1이 완전히 정의되면, 두 번째 단계는 도 4의 STEP 2에 도시된 것과 같이, 사용자 발에 부착된 두 개의 마커들로부터 기준점(그라운드 평면의 중심점)까지의 이동 변위를 추정하는 것이다. 첫 번째, 두 번째 단계를 통하여 두 개의 마커들의 정보는 실제의 이미지로부터 가상 좌표계로의 변위로 변환될 수 있다.If T1, the relationship between the camera coordinates and the virtual coordinates and the amount of movement from the center point of the four markers on the ground plane to the origin of the camera coordinates is fully defined, the second step is the user's foot, as shown in STEP 2 of FIG. It is to estimate the displacement of movement from the two markers attached to the reference point (center point of the ground plane). In the first and second steps, the information of the two markers can be converted into a displacement from the actual image to the virtual coordinate system.

세 번째 단계는 가상 좌표계로 변환된 두 개의 포인트들의 벡터를 이용하여 현재의 프레임과 이전 프레임 사이의 내적을 통하여 회전 각도를 계산하는 것이다.The third step is to calculate the rotation angle through the dot product between the current frame and the previous frame using a vector of two points transformed into a virtual coordinate system.

본 발명은 가상 좌표로부터 사용자 발의 실제 좌표로의 변환 과정을 T1, T2, M을 통하여 파악할 수 있고, 도 4의 STEP 3에 도시된 바와 같이, 회전 정보를 반영하고 있는 사용자 발 모델은 실제의 좌표계로 되돌아갈 수 있다. 아래에서 다시 설명하겠지만, 실제의 좌표계에서 회전 정보를 반영하고 있는 사용자 발 모델은 2차원 이미지로 변환되어 디스플레이된다.According to the present invention, a process of converting virtual coordinates into actual coordinates of a user's foot can be understood through T1, T2, and M. As shown in STEP 3 of FIG. 4, the user's foot model reflecting rotation information has an actual coordinate system. You can go back to As will be described again below, the user's foot model reflecting the rotation information in the actual coordinate system is converted into a 2D image and displayed.

3.1 그라운드 평면의 제어3.1 Control of the ground plane

사용자 발의 포즈를 추정하기 위한 기준 평면인 그라운드 평면의 중심점을 실제 좌표계에서 계산해야 한다. 그라운드 평면의 중심점은 네 개의 마커들의 x, y, z 성분의 전체 합에 따라 규준화된다. 하기 수학식 8에 의해 그라운드 평면의 중심점이 계산될 수 있다.The center point of the ground plane, which is the reference plane for estimating the pose of the user's foot, should be calculated in the actual coordinate system. The center point of the ground plane is normalized according to the total sum of the x, y, z components of the four markers. The center point of the ground plane may be calculated by Equation 8 below.

[수학식 8][Equation 8]

Figure 112009051239542-pat00046
Figure 112009051239542-pat00046

여기서, xi는 네 개의 포인트들을 나타내며,

Figure 112009051239542-pat00047
는 실제 좌표계에서 그라운드 평면의 중심점을 나타낸다. 여기서, 그라운드 평면의 중심점을 기준으로 삼아 이전 이미지 및 현재 이미지로부터 사용자 발의 포즈를 추정할 수 있기 때문에 사용자 발에 부착된 원형 마커들 및 그라운드 평면의 중심점은 가상 좌표계의 원점으로 이동해야 한다. 이 때,
Figure 112009051239542-pat00048
를 가상 좌표계의 원점으로 이동하는 행렬은 하기 수학식 9와 같이 나타낼 수 있다.Where x i represents four points,
Figure 112009051239542-pat00047
Represents the center point of the ground plane in the actual coordinate system. Here, since the pose of the user's foot can be estimated from the previous image and the current image based on the center point of the ground plane, the circular markers attached to the user's foot and the center point of the ground plane should move to the origin of the virtual coordinate system. At this time,
Figure 112009051239542-pat00048
Can be expressed by Equation 9 below.

[수학식 9][Equation 9]

Figure 112009051239542-pat00049
Figure 112009051239542-pat00049

동일한 방식으로, 네 개의 마커들도 Tmc에 의해 이동할 수 있으며, 네 개의 마커들 각각과 중심점 사이에는 벡터가 형성된다. 여기서, 그라운드 평면의 노말 벡터는 도 5와 같이 나타낼 수 있고, 가상 좌표계로 이동된 그라운드 평면의 노말 벡터 Vn는 수학식 10에 의해 정의될 수 있다.In the same way, four markers can also be moved by Tm c , and a vector is formed between each of the four markers and the center point. Here, the normal vector of the ground plane may be represented as shown in FIG. 5, and the normal vector Vn of the ground plane moved to the virtual coordinate system may be defined by Equation 10. FIG.

[수학식 11][Equation 11]

Figure 112009051239542-pat00050
Figure 112009051239542-pat00050

여기서, M1, M2 각각은 원형 마커들의 중심을 나타내며, Vn는 그라운드 평면의 노말 벡터이다. 도 5에 도시된 바와 같이, 그라운드 평면의 노말 벡터는 네 개의 마커들 중 왼쪽 두 개의 마커들에 대한 두 개의 벡터들 M1, M2을 외적(cross product)함으로써 계산된다.Here, M 1 and M 2 each represent the center of the circular markers, and Vn is the normal vector of the ground plane. As shown in FIG. 5, the normal vector of the ground plane is calculated by cross product of two vectors M 1 , M 2 for the left two of the four markers.

이 때, 그라운드 평면은 가상 좌표계의 x-z 평면과 수평하게 놓이지 않을 수 있다. 즉, 그라운드 평면의 노말 벡터와 가상 좌표계의 y 축은 평행하지 않을 수 있는데, 본 발명은 그라운드 평면의 노말 벡터와 가상 좌표계의 y 축이 평행하도록 그라운드 평면을 제어할 수 있다.In this case, the ground plane may not lie horizontally with the x-z plane of the virtual coordinate system. That is, the normal vector of the ground plane and the y axis of the virtual coordinate system may not be parallel. The present invention may control the ground plane such that the normal vector of the ground plane and the y axis of the virtual coordinate system are parallel to each other.

도 6은 그라운드 평면의 노말 벡터와 가상 좌표계의 y 축이 평행하도록 그라운드 평면을 제어하는 과정을 나타낸 도면이다.6 is a diagram illustrating a process of controlling the ground plane such that the normal vector of the ground plane and the y axis of the virtual coordinate system are parallel to each other.

도 6을 참조하면, 그라운드 평면을 가상 좌표계로 이동하는 경우, 가상 좌표게의 x-z 평면과 그라운드 평면이 평행하게 놓이지 않을 수 있음을 알 수 있다. 즉, 첫 번째 그림과 같이 존재하는 그라운드 평면이 두 번째 그림과 같이 가상 좌 표계로 이동한다고 가정하자. 이 때, 세 번째 그림에서 볼 수 있는 바와 같이, M1, M2 각각은 TmcM1, TmcM2으로 이동한다. 그리고, 네 번째 그림에서 볼 수 있는 바와 같이 그라운드 평면의 노말 벡터와 가상 좌표계의 y 축은 평행하지 않게 된다.Referring to FIG. 6, when the ground plane is moved to the virtual coordinate system, it can be seen that the xz plane and the ground plane of the virtual coordinate cradle may not be placed in parallel. In other words, assume that the ground plane existing as shown in the first figure moves to the virtual coordinate system as shown in the second figure. At this time, as can be seen in the third picture, and M 1, M 2, respectively, go to the Tm c M 1, Tm c M 2. As shown in the fourth figure, the normal vector of the ground plane and the y axis of the virtual coordinate system are not parallel.

그라운드 평면의 노말 벡터 상에 존재하는 임의의 점을 (a, b, c)라고 하는 경우, 가상 좌표계의 x, y, z 축에 대한 노말 벡터의 회전각

Figure 112009051239542-pat00051
은 하기 수학식 12와 같이 나타낼 수 있다.If any point on the normal vector of the ground plane is called (a, b, c), the angle of rotation of the normal vector with respect to the x, y, and z axes of the virtual coordinate system
Figure 112009051239542-pat00051
May be expressed as in Equation 12 below.

[수학식 12][Equation 12]

Figure 112009051239542-pat00052
Figure 112009051239542-pat00052

Figure 112009051239542-pat00053
Figure 112009051239542-pat00053

Figure 112009051239542-pat00054
Figure 112009051239542-pat00054

상기 수학식 6을 통해 계산되는 회전각을 이용하여 그라운드 평면의 노말 벡터와 가상 좌표계의 y 축은 평행하게 될 수 있고, 그 결과의 예는 도 7에 도시되어 있다.Using the rotation angle calculated through Equation 6, the normal vector of the ground plane and the y axis of the virtual coordinate system may be parallel, and an example of the result is shown in FIG. 7.

3.2 회전 정보의 획득3.2 Obtain Rotation Information

사용자 발의 포즈를 추정하기 위하여, 사용자의 발목 축을 기준으로 하여 사용자 발의 회전각 및 방향을 파악해야 한다. 마커의 위치는 사용자 발의 모션을 반영하기 때문에 마커의 위치를 선택하는 것은 매우 중요하다. 본 발명의 일실시예는 두 개의 마커들 중 하나의 마커는 사용자 발의 발목쪽에 부착하고, 나머지 하나는 사용자 발의 앞꿈치쪽에 부착한다. 그리고, 본 발명은 두 개의 마커들을 이용하여 사용자 발의 포즈를 추정할 수 있다. 본 발명의 알고리즘은 아래와 같다.In order to estimate the pose of the user's foot, the rotation angle and the direction of the user's foot should be determined based on the user's ankle axis. Since the position of the marker reflects the motion of the user's foot, selecting the position of the marker is very important. In one embodiment of the present invention, one of the two markers is attached to the ankle side of the user's foot, and the other is attached to the ankle side of the user's foot. In addition, the present invention may estimate the pose of the user's foot using two markers. The algorithm of the present invention is as follows.

(1) 가상 좌표계의 원점으로 이동(1) Move to the origin of the virtual coordinate system

도 8은 그라운드 평면이 제어된 이후에, 사용자 발에 부착된 마커들을 가상 좌표계로 이동한 결과의 예를 나타낸 도면이다.8 is a diagram illustrating an example of a result of moving markers attached to a user's foot to a virtual coordinate system after the ground plane is controlled.

도 8에 도시된 바와 같이, 사용자 발에 부착된 마커들은 원래의 위치로부터 가상 좌표계로의 이동 거리 Tmc만큼 가상 좌표계로 이동한다. 이 때, 두 개의 마커들의 이동에 대한 관계식은 하기 수학식 13과 같이 나타낼 수 있다.As shown in FIG. 8, the markers attached to the user's foot move in the virtual coordinate system by the moving distance Tm c from the original position to the virtual coordinate system. In this case, a relation for the movement of the two markers may be expressed by Equation 13 below.

[수학식 13][Equation 13]

Figure 112009051239542-pat00055
Figure 112009051239542-pat00055

Figure 112009051239542-pat00056
Figure 112009051239542-pat00056

여기서, Fh는 발목쪽에 있는 마커의 원래의 위치, F'h는 가상 좌표계로 이동된 발목쪽에 있는 마커의 위치, Fl는 앞꿈치쪽에 있는 마커의 원래의 위치, F'l는 가상 좌표계로 이동된 앞꿈치쪽에 있는 마커의 위치를 나타낸다.Where F h is the original position of the marker on the ankle side, F ' h is the position of the marker on the ankle side moved to the virtual coordinate system, F l is the original position of the marker on the front heel, and F' l is moved to the virtual coordinate system The position of the marker on the side of the anterior heel.

여기서, F'h는 사용자 발의 회전에 대한 기준으로 사용되어어야 하므로, 가상 좌표계에서 그라운드 평면의 노말 벡터와 F'h가 평행하게 이동하여야 한다. F'h가 이동하는 과정은 도 9에 도시되어 있으며, 그 이동에 따른 관계식은 하기 수학식 14과 같이 나타낼 수 있다.Since F ' h should be used as a reference for the rotation of the user's foot, the normal vector of the ground plane and F' h must move in parallel in the virtual coordinate system. A process of moving F ′ h is illustrated in FIG. 9, and a relational expression according to the movement may be expressed by Equation 14 below.

[수학식 14][Equation 14]

Figure 112009051239542-pat00057
Figure 112009051239542-pat00057

Figure 112009051239542-pat00058
Figure 112009051239542-pat00058

Figure 112009051239542-pat00059
Figure 112009051239542-pat00059

여기서,

Figure 112009051239542-pat00060
은 F'h에 대한 x 값이고,
Figure 112009051239542-pat00061
는 F'h에 대한 y 값이다.here,
Figure 112009051239542-pat00060
Is the x value for F ' h ,
Figure 112009051239542-pat00061
Is the y value for F ' h .

(2) 평면 투영(2) plane projection

발목 축의 회전 정보는 단지 평면 투영의 벡터를 추정하기 위하여 요구된다. 사용자 발이 언제나 그라운드에 붙어 있다고 가정하는 경우, 사용자 발에 부착된 마커들에 의해 정의되는 회전각 및 방향은 그 마커들 사이의 벡터를 투영함으로써 파악된다.Rotation information on the ankle axis is only needed to estimate the vector of the plane projection. Assuming that the user's foot is always on the ground, the rotation angle and direction defined by the markers attached to the user's foot are determined by projecting a vector between the markers.

도 10은 평면 투영을 개념적으로 설명하기 위한 도면이다.10 is a diagram for conceptually explaining planar projection.

도 10에서, F에서 F'를 뺀 결과가 벡터 A이고, 벡터 A는 평면과 수직이다.In Fig. 10, the result of subtracting F 'from F is vector A, and vector A is perpendicular to the plane.

이 때, F-V1F'=0이고, F-V2F'=0이며, V1 및 V2는 하기 수학식 9를 따른다.At this time, FV 1 F '= 0, FV 2 F' = 0, V 1 and V 2 follows the following equation (9).

[수학식 15][Equation 15]

Figure 112009051239542-pat00062
Figure 112009051239542-pat00062

상기 수학식 15는 하기 수학식 16과 같이 표현된다.Equation 15 is expressed as Equation 16 below.

[수학식 16][Equation 16]

Figure 112009051239542-pat00063
Figure 112009051239542-pat00063

이 때, F를 평면으로 투영한 결과는 하기 수학식 17과 같이 정의된다.At this time, the result of projecting F to the plane is defined as in Equation 17 below.

[수학식 17][Equation 17]

Figure 112009051239542-pat00064
Figure 112009051239542-pat00064

결국, 본 발명은 상기 수학식 17을 이용하여 사용자 발에 부착된 마커들을 그라운드 평면으로 투영할 수 있다. 그리고, 마커들이 그라운드 평면으로 투영된 경우, 투영된 마커들로 이루어지는 벡터를 이용하여 사용자 발의 회전각 및 방향을 파악할 수 있다.As a result, the present invention can project the markers attached to the foot of the user to the ground plane by using Equation 17. In addition, when the markers are projected onto the ground plane, the rotation angle and the direction of the user's foot may be grasped using a vector composed of the projected markers.

(3) 회전각의 계산(3) Calculation of rotation angle

도 11은 그라운드 평면으로 투영된 두 개의 벡터들의 회전각 및 방향을 나타낸 도면이다.11 is a view showing the rotation angle and direction of two vectors projected to the ground plane.

도 11에서, Fr'은 이전 이미지로부터 얻어진 벡터이고, Fc'은 현재 이미지로부터 얻어진 벡터이다. Fr' 및 Fc' 사이의 각도는 회전각을 의미하며, 하기 수학식 18과 같이 나타낼 수 있다.In FIG. 11, F r ′ is a vector obtained from a previous image and F c ′ is a vector obtained from a current image. An angle between F r 'and F c ' means a rotation angle, which can be expressed by Equation 18 below.

[수학식 18]Equation 18

Figure 112009051239542-pat00065
Figure 112009051239542-pat00065

상기 수학식 18을 기초로, 이전 이미지로부터 현재 이미지로의 회전각을 파악할 수 있으며, Fr' 및 Fc' 사이의 외적을 통하여 회전 방향이 시계 방향인지 또는 반시계 방향인지도 파악할 수 있다.Based on Equation 18, the rotation angle from the previous image to the current image can be determined, and whether the rotation direction is clockwise or counterclockwise can be determined through the cross product between F r 'and F c '.

3.3 가상의 발 모델의 포즈 추정3.3 Pose estimation of imaginary foot model

도 12는 가상 좌표계에서 가상의 발 모델의 포즈를 추정한 후, 그 가상의 발 모델을 원래의 좌표계로 변환하는 과정을 나타낸 도면이다.12 is a diagram illustrating a process of converting a virtual foot model into an original coordinate system after estimating a pose of a virtual foot model in a virtual coordinate system.

상술한 바와 같이, 이전 이미지 및 현재 이미지 사이의 관계에서 사용자 발의 회전각을 계산하게 되면, 도 12의 (a)에 도시된 바와 같이, 본 발명은 가상의 발 모델을 회전한다.As described above, when the rotation angle of the user's foot is calculated in the relationship between the previous image and the current image, as shown in FIG. 12A, the present invention rotates the virtual foot model.

또한, 본 발명은 도 12의 (b)에 도시된 바와 같이, 원래의 그라운드 평면과 가상 좌표계 사이의 관계를 계산한다. 보다 구체적으로, 원래의(가상 좌표계의 y축과 그라운드 평면의 노말 벡터가 평행하도록 제어되기 이전) 그라운드 평면과 가상 좌표계의 y 축 사이의 관계에 대해서는 상기 수학식 6을 통해 설명한 바 있으며, 상기 관계를 나타내는 TR은 하기 수학식 19와 같이 정의된다.In addition, the present invention calculates the relationship between the original ground plane and the virtual coordinate system, as shown in Fig. 12B. More specifically, the relationship between the original (before the y axis of the virtual coordinate system and the normal plane of the ground plane is controlled to be parallel) and the y axis of the virtual coordinate system has been described through Equation 6 above. T R which is denoted by Equation 19 is defined.

[수학식 19][Equation 19]

Figure 112009051239542-pat00066
Figure 112009051239542-pat00066

Figure 112009051239542-pat00067
Figure 112009051239542-pat00067

Figure 112009051239542-pat00068
Figure 112009051239542-pat00068

Figure 112009051239542-pat00069
Figure 112009051239542-pat00069

사용자 발의 회전각 및 원래의 그라운드 평면과 가상 좌표계의 y 축 사이의 관계를 파악함으로써, 사용자 발의 포즈를 추정하게 된다. 결국, 가상 좌표계 및 실제 좌표계의 관계 U는 하기 수학식 20과 같이 정리될 수 있고, 하기 수학식 20을 이용하여 가상 좌표계에서의 가상 모델은 실제 좌표계로 이동될 수 있다.By grasping the relationship between the rotation angle of the user's foot and the y-axis of the original ground plane and the virtual coordinate system, the pose of the user's foot is estimated. As a result, the relationship U between the virtual coordinate system and the actual coordinate system can be summarized as in Equation 20 below, and the virtual model in the virtual coordinate system can be moved to the actual coordinate system using Equation 20 below.

[수학식 20][Equation 20]

Figure 112009051239542-pat00070
Figure 112009051239542-pat00070

여기서, 이전 이미지 및 현재 이미지로부터 얻어지는 사용자 발의 회전각

Figure 112009051239542-pat00071
은 상기 수학식 18을 통하여 얻어질 수 있고, TR은 상기 수학식 19를 통해 얻어 질 수 있다. 그리고,
Figure 112009051239542-pat00072
Figure 112009051239542-pat00073
는 가상 좌표계로 이동된 두 개의 마커들 중 어느 하나의 마커에 대한 x 축값, z 축값이다.Here, the rotation angle of the user's foot obtained from the previous image and the current image
Figure 112009051239542-pat00071
May be obtained through Equation 18, and T R may be obtained through Equation 19. And,
Figure 112009051239542-pat00072
And
Figure 112009051239542-pat00073
Is the x-axis value and the z-axis value for either of the two markers moved in the virtual coordinate system.

또한, 최종적으로 실제의 좌표계로 가상 모델이 이동하면, 본 발명은 그 가상 모델을 투영 매트릭스를 이용하여 2차원 이미지로 변환하여, 디스플레이할 수 있다.In addition, when the virtual model finally moves to the actual coordinate system, the present invention can convert the virtual model into a two-dimensional image using a projection matrix and display it.

도 13은 실시간으로 사용자 발의 모션를 추정하는 방법을 나타낸 동작 흐름도이다.13 is a flowchart illustrating a method of estimating motion of a user foot in real time.

도 13을 참조하면, 본 발명은 스테레오 카메라에 의해 생성된 여러 이미지들을 사용자 발 추정 장치로 입력한다(1310).Referring to FIG. 13, in operation 1310, various images generated by a stereo camera are input to a user foot estimation apparatus.

이 때, 본 발명은 스테레오 카메라의 내부, 외부 파라미터를 도출하고, 상기 수학식 2에 기재된 카메라 투영 매트릭스를 계산하기 위하여 카메라 캘리브레이션을 수행한다(1320, 1330).In this case, the present invention performs camera calibration to derive the internal and external parameters of the stereo camera and to calculate the camera projection matrix described in Equation 2 (1320 and 1330).

또한, 본 발명은 그라운드 평면 또는 사용자 발에 부착된 마커들을 검출하고, 3차원 재구성을 수행한다(1340, 1350).In addition, the present invention detects markers attached to the ground plane or the user's foot and performs three-dimensional reconstruction (1340, 1350).

또한, 본 발명은 검출된 마커들의 개수가 4개인지 또는 2개인지 여부를 판단한다(1360). 여기서, 그라운드 평면에 부착된 마커들의 개수는 4개이고, 사용자 발에 부착된 마커들의 개수는 2개라고 가정한다.In operation 1360, the present invention determines whether the number of detected markers is four or two. Here, it is assumed that the number of markers attached to the ground plane is four, and the number of markers attached to the user's foot is two.

만약, 마커들의 개수가 4개라면, 본 발명은 그라운드 평면을 제어한 다(1371).If the number of markers is four, the present invention controls the ground plane (1371).

즉, 본 발명은 사용자 발의 포즈를 추정하기 위한 기준 평면인 그라운드 평면의 중심점

Figure 112009051239542-pat00074
을 실제 좌표계에서 계산하고,
Figure 112009051239542-pat00075
를 가상 좌표계의 원점으로 이동하는 행렬 Tmc를 계산한다. 이에 따라 실제 좌표계와 가상 좌표계 사이의 관계가 도출될 수 있다.That is, the present invention is the center point of the ground plane which is a reference plane for estimating the pose of the user's foot
Figure 112009051239542-pat00074
Is calculated in the actual coordinate system,
Figure 112009051239542-pat00075
Calculate the matrix Tm c that moves to the origin of the virtual coordinate system. Accordingly, the relationship between the actual coordinate system and the virtual coordinate system can be derived.

더구나, 본 발명은 그라운드 평면의 노말 벡터와 가상 좌표계의 y 축이 평행하게 되도록 그라운드 평면을 제어한다(1371). 이 때, 그라운드 평면의 노말 벡터 상에 존재하는 임의의 점을 (a, b, c)라고 하는 경우, 가상 좌표계의 x, y, z 축에 대한 노말 벡터의 회전각

Figure 112009051239542-pat00076
이 계산된다.Moreover, the present invention controls the ground plane such that the normal vector of the ground plane and the y axis of the virtual coordinate system are parallel (1371). In this case, when any point existing on the normal vector of the ground plane is (a, b, c), the rotation angle of the normal vector with respect to the x, y, z axes of the virtual coordinate system
Figure 112009051239542-pat00076
This is calculated.

또한, 본 발명은 실제 좌표계와 가상 좌표계 사이의 관계를 도출한다(1372). 즉, 본 발명은 상기 수학식 20에 기재된 U에서

Figure 112009051239542-pat00077
및 TR을 구할 수 있다. 또한,
Figure 112009051239542-pat00078
를 계산하는 데에 사용되는 T1도 구해진다.In addition, the present invention derives a relationship between the actual coordinate system and the virtual coordinate system (1372). That is, the present invention in U described in the above equation (20)
Figure 112009051239542-pat00077
And T R can be obtained. Also,
Figure 112009051239542-pat00078
The T 1 used to calculate is also obtained.

단계 1371 내지 단계 1372를 통하여 실제 좌표계 및 가상 좌표계 사이의 관계가 모두 파악된다. 따라서, 사용자 발의 회전 상태 및 사용자 발의 위치만을 파악할 수 있다면, 사용자 발의 포즈를 추정할 수 있게 된다.Through steps 1371 through 1372, both the relationship between the real coordinate system and the virtual coordinate system is known. Therefore, if only the rotational state of the user's foot and the position of the user's foot can be identified, the pose of the user's foot can be estimated.

단계 1360에서, 마커들의 개수가 2개라면, 본 발명은 사용자 발에 부착된 마커들의 벡터를 검출한다(1381).In step 1360, if the number of markers is two, the present invention detects a vector of markers attached to the user's foot (1381).

이 때, 존재하는 이미지의 개수가 1개인지 여부(이전의 이미지가 있는지 여부)를 판단하고(1382), 이전의 이미지가 있다면, 벡터는 가상 좌표계로 이동한다(1383). At this time, it is determined whether the number of existing images is one (the previous image exists) (1382), and if there is a previous image, the vector moves to the virtual coordinate system (1383).

그리고, 벡터가 가상 좌표계로 이동되면, 본 발명은 벡터를 가상 좌표계에서 투영한다(1384). 그리고, 본 발명은 이전 이미지와 현재 이미지에 대하여 벡터의 회전각을 계산하고(1385), 회전 방향을 결정한다(1386).If the vector is moved to the virtual coordinate system, the present invention projects the vector in the virtual coordinate system (1384). The present invention calculates the rotation angle of the vector with respect to the previous image and the current image (1385), and determines the rotation direction (1386).

회전각 및 회전 방향이 결정되면, 3D 모델은 그 회전각 및 회전 방향에 따라 회전하며, 회전된 3D 모델은 실제 좌표계로 변환된다(1391).Once the rotation angle and rotation direction are determined, the 3D model rotates according to the rotation angle and rotation direction, and the rotated 3D model is converted into an actual coordinate system (1391).

그리고, 본 발명은 실제 좌표계로 변환된 3D 모델을 기초로 2D 이미지를 생성하고(1392), 그 2D 이미지를 디스플레이한다.The present invention generates a 2D image (1392) based on the 3D model converted into the actual coordinate system (1392), and displays the 2D image.

도 14는 본 발명의 일실시예에 따른 실시간으로 사용자 발의 모션을 추정하는 방법을 나타낸 동작 흐름도이다.14 is a flowchart illustrating a method of estimating motion of a user's foot in real time according to an embodiment of the present invention.

도 13은 사용자 발이 정지하여 있거나, 거의 움직이지 않는 경우, 사용자 발의 모션을 추정하는 방법을 나타낸 것인 반면에, 도 14는 움직이는 사용자 발의 무션을 실시간으로 추정하는 방법을 나타낸다.FIG. 13 illustrates a method of estimating the motion of the user's foot when the user's foot is stationary or hardly moving, while FIG. 14 illustrates a method of estimating the motion of the moving user's foot in real time.

도 14를 참조하면, 본 발명은 단계 1411 내지 단계 1414의 초기화 과정을 수행한 이후에, 단계 1421 내지 단계 1431의 실시간 추정 과정을 수행한다.Referring to FIG. 14, after the initialization process of steps 1411 to 1414 is performed, the present invention performs the real-time estimation process of steps 1421 to 1431.

즉, 단계 1411에서 초기화가 완료되어 있지 않으면, 본 발명은 카메라 캘리브레이션을 수행한다(1412). 즉, 도 14에 구체적으로 도시되어 있지 않았지만, 본 발명은 카메라 투영 매트릭스를 계산한다.That is, if the initialization is not completed in step 1411, the present invention performs camera calibration (1412). That is, although not specifically illustrated in FIG. 14, the present invention calculates the camera projection matrix.

또한, 본 발명은 그라운드 평면에 부착된 네 개의 마커들을 이용하여 그라운드 평면을 제어한다(1413). 즉, 그라운드 평면의 중심점

Figure 112009051239542-pat00079
을 실제 좌표계에서 계산하고,
Figure 112009051239542-pat00080
를 가상 좌표계의 원점으로 이동하는 행렬 Tmc를 계산한다. 이에 따라 실제 좌표계와 가상 좌표계 사이의 관계가 도출될 수 있다. 또한, 그라운드 평면의 노말 벡터 상에 존재하는 임의의 점을 (a, b, c)라고 하는 경 우, 가상 좌표계의 x, y, z 축에 대한 노말 벡터의 회전각
Figure 112009051239542-pat00081
이 계산된다.In addition, the present invention controls the ground plane using four markers attached to the ground plane (1413). That is, the center point of the ground plane
Figure 112009051239542-pat00079
Is calculated in the actual coordinate system,
Figure 112009051239542-pat00080
Calculate the matrix Tm c that moves to the origin of the virtual coordinate system. Accordingly, the relationship between the actual coordinate system and the virtual coordinate system can be derived. Also, if any point on the normal vector of the ground plane is called (a, b, c), the angle of rotation of the normal vector with respect to the x, y, z axes of the virtual coordinate system
Figure 112009051239542-pat00081
This is calculated.

그라운드 평면의 제어가 완료된 경우, 본 발명은 본 발명은 실제 좌표계와 가상 좌표계 사이의 관계를 도출한다(1414). 즉, 본 발명은 상기 수학식 20에 기재된 U에서

Figure 112009051239542-pat00082
및 TR을 구할 수 있다. 또한,
Figure 112009051239542-pat00083
를 계산하는 데에 사용되는 T1도 구해진다. 결국, 초기화 과정을 통하여 실제 좌표계와 가상 좌표계 사이의 관계가 도출된다.When control of the ground plane is completed, the present invention derives the relationship between the actual coordinate system and the virtual coordinate system (1414). That is, the present invention in U described in the above equation (20)
Figure 112009051239542-pat00082
And T R can be obtained. Also,
Figure 112009051239542-pat00083
The T 1 used to calculate is also obtained. As a result, the relationship between the real coordinate system and the virtual coordinate system is derived through the initialization process.

초기화 과정이 완료되면, 본 발명은 칼만 필터를 이용하여 사용자 발에 부착된 두 개의 마커들을 검출한다(1421). 즉, 본 발명은 칼만 필터를 이용하여 보다 안정적이고, 잡음을 줄이면서 움직이는 마커들을 검출할 수 있다.When the initialization process is completed, the present invention detects two markers attached to the user's foot using the Kalman filter (1421). That is, the present invention can detect markers that are more stable and move while reducing noise by using a Kalman filter.

사용자 발에 부착된 두 개의 마커들이 검출되면, 본 발명은 카메라 캘리브레이션을 통해 얻어진 카메라 투영 매트릭스를 이용하여 3차원 재구성을 수행한다(1422).When two markers attached to the user's foot are detected, the present invention performs three-dimensional reconstruction using the camera projection matrix obtained through camera calibration (1422).

또한, 본 발명은 3차원 재구성을 수행한 이후에, 두 개의 마커들에 대한 벡터를 검출한다(1423).In addition, the present invention detects a vector for two markers after performing 3D reconstruction (1423).

이 때, 존재하는 이미지의 개수가 1개인지 여부(이전의 이미지가 있는지 여부)를 판단하고(1424), 이전의 이미지가 있다면, 벡터는 가상 좌표계로 이동한다(1425). In this case, it is determined whether the number of existing images is one (or whether there is a previous image) (1424), and if there is a previous image, the vector moves to the virtual coordinate system (1425).

그리고, 벡터가 가상 좌표계로 이동되면, 본 발명은 벡터를 가상 좌표계에서 투영한다(1426). 그리고, 본 발명은 이전 이미지와 현재 이미지에 대하여 벡터의 회전각을 계산하고(1427), 회전 방향을 결정한다(1428).If the vector is moved to the virtual coordinate system, the present invention projects the vector in the virtual coordinate system (1426). The present invention calculates the rotation angle of the vector with respect to the previous image and the current image (1427), and determines the rotation direction (1428).

회전각 및 회전 방향이 결정되면, 3D 모델은 그 회전각 및 회전 방향에 따라 회전하며, 회전된 3D 모델은 실제 좌표계로 변환된다(1429).Once the rotation angle and direction of rotation are determined, the 3D model rotates according to the rotation angle and direction of rotation, and the rotated 3D model is converted to an actual coordinate system (1429).

그리고, 본 발명은 실제 좌표계로 변환된 3D 모델을 기초로 2D 이미지를 생성하고(1430), 그 2D 이미지를 디스플레이한다(1431).The present invention generates a 2D image based on the 3D model converted into the actual coordinate system (1430) and displays the 2D image (1431).

본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The methods according to the invention can be implemented in the form of program instructions that can be executed by various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.

도 1은 본 발명의 일실시예에 따른 발 모션(foot motion) 추정 시스템을 나타낸 도면이다.1 is a diagram illustrating a foot motion estimation system according to an embodiment of the present invention.

도 2는 그라운드 평면에 부착된 네 개의 원형 마커들 및 사용자 발에 부착된 두 개의 원형 마커들에 대한 검출 결과를 나타낸다.2 shows detection results for four circular markers attached to the ground plane and two circular markers attached to the user's feet.

도 3은 그라운드 평면 위에 있는 네 개의 마커들을 통해 정의되는 교차점 및 사용자 발 위에 있는 두 개의 마커들을 통해 정의되는 중심선을 나타낸 도면이다.FIG. 3 is a diagram illustrating an intersection defined by four markers on the ground plane and a centerline defined by two markers on the user's feet.

도 4는 사용자 발의 포즈를 추정하는 과정을 개념적으로 설명하기 위한 도면이다.4 is a diagram for conceptually explaining a process of estimating a pose of a user foot.

도 5는 그라운드 평면의 노말 벡터를 나타낸 도면이다.5 shows a normal vector of the ground plane.

도 6은 그라운드 평면의 노말 벡터와 가상 좌표계의 y 축이 평행하도록 그라운드 평면을 제어하는 과정을 나타낸 도면이다.6 is a diagram illustrating a process of controlling the ground plane such that the normal vector of the ground plane and the y axis of the virtual coordinate system are parallel to each other.

도 7은 그라운드 평면의 노말 벡터와 가상 좌표계의 y 축은 평행하게 된 결과의 예를 나타낸 도면이다.7 is a diagram illustrating an example of a result in which the normal vector of the ground plane and the y axis of the virtual coordinate system are parallel to each other.

도 8은 그라운드 평면이 제어된 이후에, 사용자 발에 부착된 마커들을 가상 좌표계로 이동한 결과의 예를 나타낸 도면이다.8 is a diagram illustrating an example of a result of moving markers attached to a user's foot to a virtual coordinate system after the ground plane is controlled.

도 9는 사용자 발에 부착된 마커들을 가상 좌표계에서 평행하게 이동하는 과정을 나타낸 도면이다.9 is a diagram illustrating a process of moving markers attached to a user's foot in parallel in a virtual coordinate system.

도 10은 평면 투영을 개념적으로 설명하기 위한 도면이다.10 is a diagram for conceptually explaining planar projection.

도 11은 그라운드 평면으로 투영된 두 개의 벡터들의 회전각 및 방향을 나타 낸 도면이다.FIG. 11 is a diagram illustrating the rotation angle and direction of two vectors projected onto the ground plane.

도 12는 가상 좌표계에서 가상의 발 모델의 포즈를 추정한 후, 그 가상의 발 모델을 원래의 좌표계로 변환하는 과정을 나타낸 도면이다.12 is a diagram illustrating a process of converting a virtual foot model into an original coordinate system after estimating a pose of a virtual foot model in a virtual coordinate system.

도 13은 실시간으로 사용자 발의 모션를 추정하는 방법을 나타낸 동작 흐름도이다.13 is a flowchart illustrating a method of estimating motion of a user foot in real time.

도 14는 본 발명의 일실시예에 따른 실시간으로 사용자 발의 모션을 추정하는 방법을 나타낸 동작 흐름도이다.14 is a flowchart illustrating a method of estimating motion of a user's foot in real time according to an embodiment of the present invention.

Claims (17)

가상 좌표계와 실제 좌표계 사이의 관계를 정의하는 단계;Defining a relationship between the virtual coordinate system and the actual coordinate system; 스테레오 카메라를 이용하여 적어도 두 개의 마커들을 부착하고 있는 사용자 발에 대한 이미지를 생성하는 단계;Generating an image of a user's foot attaching at least two markers using a stereo camera; 상기 이미지를 기초로 상기 적어도 두 개의 마커들의 위치에 대한 k 번째 프레임에서의 상태 벡터를 검출하는 단계;Detecting a state vector in a k-th frame for the position of the at least two markers based on the image; 상기 적어도 두 개의 마커들의 위치에 대한 k 번째 프레임에서의 상태 벡터에 칼만 필터를 적용하여 k+1 번째 프레임에서의 상태 벡터를 예측하는 단계;Predicting a state vector in a k + 1 th frame by applying a Kalman filter to the state vector in a k th frame for the positions of the at least two markers; 상기 k+1 번째 프레임에서의 상태 벡터를 이용하여 상기 적어도 두 개의 마커들의 벡터-상기 두 개의 마커들의 벡터는 상기 가상 좌표계의 원점으로부터 상기 가상 좌표계에서 상기 두 개의 마커들의 좌표들까지의 벡터임-를 상기 가상 좌표계에서 계산하는 단계;A vector of the at least two markers using the state vector in the k + 1 th frame, wherein the vector of the two markers is a vector from the origin of the virtual coordinate system to the coordinates of the two markers in the virtual coordinate system Calculating a value in the virtual coordinate system; 상기 가상 좌표계에서 상기 적어도 두 개의 마커들에 대한 이전 이미지 및 현재 이미지를 기초로 상기 사용자 발의 회전각을 계산하는 단계;Calculating a rotation angle of the user's foot based on a previous image and a current image for the at least two markers in the virtual coordinate system; 상기 사용자 발의 회전각을 기초로 상기 가상 좌표계에서 상기 사용자 발의 가상 모델을 회전하는 단계; 및Rotating the virtual model of the user's foot in the virtual coordinate system based on the rotation angle of the user's foot; And 상기 가상 좌표계와 상기 실제 좌표계 사이의 관계를 기초로 상기 회전된 사용자 발의 가상 모델을 상기 실제 좌표계로 변환하는 단계Converting the virtual model of the rotated user's foot into the actual coordinate system based on the relationship between the virtual coordinate system and the actual coordinate system 를 포함하는 사용자 발의 가상 모델을 처리하는 방법.How to process the virtual model of the user foot comprising a. 제1항에 있어서,The method of claim 1, 상기 가상 좌표계와 실제 좌표계 사이의 관계를 정의하는 단계는Defining a relationship between the virtual coordinate system and the actual coordinate system 그라운드 평면에 부착된 적어도 네 개의 마커들을 검출하고, 상기 네 개의 마커들을 이용하여 상기 가상 좌표계와 상기 실제 좌표계 사이의 관계를 정의하는 단계인 사용자 발의 가상 모델을 처리하는 방법.Detecting at least four markers attached to a ground plane and defining the relationship between the virtual coordinate system and the actual coordinate system using the four markers. 제1항에 있어서,The method of claim 1, 상기 회전된 사용자 발의 가상 모델을 상기 실제 좌표계로 변환하는 단계는Converting the virtual model of the rotated user's foot into the actual coordinate system 수학식
Figure 112011022491093-pat00084
에 따라 상기 회전된 사용자 발의 가상 모델을 상기 실제 좌표계로 변환하는 단계이고,
Equation
Figure 112011022491093-pat00084
Converting the virtual model of the rotated user's foot into the actual coordinate system according to
Figure 112011022491093-pat00085
는 상기 사용자 발의 회전각이고,
Figure 112011022491093-pat00086
는 그라운드 평면의 중심점이고,
Figure 112011022491093-pat00087
Figure 112011022491093-pat00088
는 상기 가상 좌표계로 이동된 상기 적어도 두 개의 마커들 중 어느 하나의 마커에 대한 x 축값, z 축값이며,
Figure 112011022491093-pat00089
,
Figure 112011022491093-pat00090
,
Figure 112011022491093-pat00091
,
Figure 112011022491093-pat00092
이고,
Figure 112011022491093-pat00093
는 그라운드 평면의 노말 벡터와 상기 가상 좌표계의 x, y, z 축 사이의 회전각인 사용자 발의 가상 모델을 처리하는 방법.
Figure 112011022491093-pat00085
Is the rotation angle of the user's foot,
Figure 112011022491093-pat00086
Is the center point of the ground plane,
Figure 112011022491093-pat00087
And
Figure 112011022491093-pat00088
Is an x-axis value and a z-axis value for any one of the at least two markers moved in the virtual coordinate system,
Figure 112011022491093-pat00089
,
Figure 112011022491093-pat00090
,
Figure 112011022491093-pat00091
,
Figure 112011022491093-pat00092
ego,
Figure 112011022491093-pat00093
Is a rotation angle between the normal vector of the ground plane and the x, y, z axis of the virtual coordinate system.
제1항에 있어서,The method of claim 1, 상기 실제 좌표계로 변환된 사용자 발의 가상 모델을 2차원 이미지로 변환하는 단계Converting the virtual model of the user's foot converted into the actual coordinate system into a 2D image 를 더 포함하는 사용자 발의 가상 모델을 처리하는 방법.How to process the virtual model of the user foot further comprising. 제4항에 있어서,The method of claim 4, wherein 상기 2차원 이미지를 디스플레이하는 단계Displaying the two-dimensional image 를 더 포함하는 사용자 발의 가상 모델을 처리하는 방법.How to process the virtual model of the user foot further comprising. 제1항에 있어서,The method of claim 1, 상기 사용자 발의 회전각을 계산하는 단계는Calculating the rotation angle of the user foot 상기 사용자 발의 회전각을 계산하기 위하여 상기 적어도 두 개의 마커들의 벡터를 그라운드 평면으로 투영하는 단계Projecting a vector of the at least two markers into a ground plane to calculate a rotation angle of the user's foot 를 포함하는 사용자 발의 가상 모델을 처리하는 방법.How to process the virtual model of the user foot comprising a. 제1항에 있어서,The method of claim 1, 상기 가상 좌표계와 상기 실제 좌표계 사이의 관계를 정의하는 단계는Defining a relationship between the virtual coordinate system and the actual coordinate system 상기 가상 좌표계와 상기 실제 좌표계 사이의 관계를 정의하기 위하여 그라운드 평면의 중심점으로부터 카메라 좌표계의 원점으로의 이동량 및 상기 카메라 좌표계의 원점으로부터 상기 가상 좌표계의 원점으로의 이동량을 계산하는 단계Calculating the amount of movement from the center point of the ground plane to the origin of the camera coordinate system and the amount of movement from the origin of the camera coordinate system to the origin of the virtual coordinate system to define a relationship between the virtual coordinate system and the actual coordinate system 를 포함하는 실시간으로 사용자 발의 가상 모델을 처리하는 방법.How to process the virtual model of the user foot in real time comprising a. 제1항에 있어서,The method of claim 1, 상기 사용자 발의 회전각을 계산하는 단계는Calculating the rotation angle of the user foot 상기 적어도 두 개의 마커들을 상기 가상 좌표계로 이동하는 단계Moving the at least two markers to the virtual coordinate system 를 포함하는 사용자 발의 가상 모델을 처리하는 방법.How to process the virtual model of the user foot comprising a. 삭제delete 삭제delete 제1항 내지 제8항 중 어느 한 항의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.A computer-readable recording medium having recorded thereon a program for performing the method of any one of claims 1 to 8. 가상 좌표계와 실제 좌표계 사이의 관계를 정의하는 정의부;A definition unit defining a relationship between the virtual coordinate system and the actual coordinate system; 스테레오 카메라를 이용하여 적어도 두 개의 마커들을 부착하고 있는 사용자 발에 대한 이미지가 생성되고, 상기 이미지를 기초로 상기 적어도 두 개의 마커들의 위치에 대한 k 번째 프레임에서의 상태 벡터를 검출되면, 상기 적어도 두 개의 마커들의 위치에 대한 k 번째 프레임에서의 상태 벡터에 칼만 필터를 적용하여 k+1 번째 프레임에서의 상태 벡터를 예측하는 검출부;Using a stereo camera, an image of a user's foot attaching at least two markers is generated, and based on the image, a state vector in a k-th frame for the position of the at least two markers is detected. A detector for predicting a state vector in a k + 1th frame by applying a Kalman filter to the state vector in a k-th frame with respect to the positions of the two markers; 상기 k+1 번째 프레임에서의 상태 벡터를 이용하여 상기 적어도 두 개의 마커들의 벡터-상기 두 개의 마커들의 벡터는 상기 가상 좌표계의 원점으로부터 상기 가상 좌표계에서 상기 두 개의 마커들의 좌표들까지의 벡터임-를 상기 가상 좌표계에서 계산하는 벡터 계산부;A vector of the at least two markers using the state vector in the k + 1 th frame, wherein the vector of the two markers is a vector from the origin of the virtual coordinate system to the coordinates of the two markers in the virtual coordinate system A vector calculation unit for calculating a value in the virtual coordinate system; 상기 가상 좌표계에서 상기 적어도 두 개의 마커들에 대한 이전 이미지 및 현재 이미지를 기초로 상기 사용자 발의 회전각을 계산하는 회전각 계산부;A rotation angle calculator configured to calculate a rotation angle of the user's foot based on a previous image and a current image of the at least two markers in the virtual coordinate system; 상기 사용자 발의 회전각을 기초로 상기 가상 좌표계에서 상기 사용자 발의 가상 모델을 회전하는 회전부; 및A rotating unit rotating the virtual model of the user's foot in the virtual coordinate system based on the rotation angle of the user's foot; And 상기 가상 좌표계와 상기 실제 좌표계 사이의 관계를 기초로 상기 회전된 사용자 발의 가상 모델을 상기 실제 좌표계로 변환하는 변환부A converting unit converting the rotated virtual model of the user's foot into the actual coordinate system based on the relationship between the virtual coordinate system and the actual coordinate system 를 포함하는 사용자 발의 가상 모델을 처리하는 장치.Apparatus for processing a virtual model of a user foot comprising a. 제12항에 있어서,The method of claim 12, 상기 변환부는The conversion unit 수학식 에 따라 상기 회전된 사용자 발의 가상 모델을 상기 실제 좌표계로 변환하고,Equation Convert the virtual model of the rotated user's foot into the actual coordinate system according to
Figure 112011022491093-pat00095
는 상기 사용자 발의 회전각이고,
Figure 112011022491093-pat00096
는 그라운드 평면의 중심점이고,
Figure 112011022491093-pat00097
Figure 112011022491093-pat00098
는 상기 가상 좌표계로 이동된 상기 적어도 두 개의 마커들 중 어느 하나의 마커에 대한 x 축값, z 축값이며,
Figure 112011022491093-pat00099
,
Figure 112011022491093-pat00100
,
Figure 112011022491093-pat00101
,
Figure 112011022491093-pat00102
이고,
Figure 112011022491093-pat00103
는 상기 그라운드 평면의 노말 벡터와 상기 가상 좌표계의 x, y, z 축 사이의 회전각인 사용자 발의 가상 모델을 처리하는 장치.
Figure 112011022491093-pat00095
Is the rotation angle of the user's foot,
Figure 112011022491093-pat00096
Is the center point of the ground plane,
Figure 112011022491093-pat00097
And
Figure 112011022491093-pat00098
Is an x-axis value and a z-axis value for any one of the at least two markers moved in the virtual coordinate system,
Figure 112011022491093-pat00099
,
Figure 112011022491093-pat00100
,
Figure 112011022491093-pat00101
,
Figure 112011022491093-pat00102
ego,
Figure 112011022491093-pat00103
Is a rotation angle between the normal vector of the ground plane and the x, y, z axes of the virtual coordinate system.
제12항에 있어서,The method of claim 12, 상기 정의부는The definition part 상기 가상 좌표계와 상기 실제 좌표계 사이의 관계를 정의하기 위하여 그라운드 평면의 중심점으로부터 카메라 좌표계의 원점으로의 이동량 및 상기 카메라 좌표계의 원점으로부터 상기 가상 좌표계의 원점으로의 이동량을 계산하는 사용자 발의 가상 모델을 처리하는 장치.In order to define the relationship between the virtual coordinate system and the actual coordinate system, a virtual model of a user's foot that calculates the amount of movement from the center point of the ground plane to the origin of the camera coordinate system and the amount of movement from the origin of the camera coordinate system to the origin of the virtual coordinate system Device. 제12항에 있어서,The method of claim 12, 상기 회전각 계산부는The rotation angle calculation unit 상기 사용자 발의 회전각을 계산하기 위하여 상기 적어도 두 개의 마커들의 벡터를 그라운드 평면으로 투영하는 사용자 발의 가상 모델을 처리하는 장치.And a virtual model of the user's foot projecting the vector of the at least two markers to the ground plane to calculate the rotation angle of the user's foot. 삭제delete 삭제delete
KR1020090077580A 2009-08-21 2009-08-21 System and method of estimating real-time foot motion using kalman filter KR101032509B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090077580A KR101032509B1 (en) 2009-08-21 2009-08-21 System and method of estimating real-time foot motion using kalman filter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090077580A KR101032509B1 (en) 2009-08-21 2009-08-21 System and method of estimating real-time foot motion using kalman filter

Publications (2)

Publication Number Publication Date
KR20110019948A KR20110019948A (en) 2011-03-02
KR101032509B1 true KR101032509B1 (en) 2011-05-04

Family

ID=43929372

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090077580A KR101032509B1 (en) 2009-08-21 2009-08-21 System and method of estimating real-time foot motion using kalman filter

Country Status (1)

Country Link
KR (1) KR101032509B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9235895B2 (en) * 2011-12-13 2016-01-12 Hitachi, Ltd. Method for estimating direction of person standing still
GB2509783B (en) * 2013-01-15 2017-07-05 Holition Ltd Foot tracking
US9684928B2 (en) 2014-01-15 2017-06-20 Holition Limited Foot tracking

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030068444A (en) * 2002-02-12 2003-08-21 일본국(동경대학장소관) Method of processing passive optical motion capture data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030068444A (en) * 2002-02-12 2003-08-21 일본국(동경대학장소관) Method of processing passive optical motion capture data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"구조적 칼만 필터를 이용한 이동 물체의 추적", 정보과학회논문지: 소프트웨어 및 응용 제29권 제5·6호, pp. 319-325, 2002.6.
"모션 캡쳐를 위한 다시점 영상의 효율적인 분석법", 전자공학회논문지-SP, pp. 44-56, 2008.11.

Also Published As

Publication number Publication date
KR20110019948A (en) 2011-03-02

Similar Documents

Publication Publication Date Title
KR101776622B1 (en) Apparatus for recognizing location mobile robot using edge based refinement and method thereof
EP2671384B1 (en) Mobile camera localization using depth maps
KR101776621B1 (en) Apparatus for recognizing location mobile robot using edge based refinement and method thereof
KR101776620B1 (en) Apparatus for recognizing location mobile robot using search based correlative matching and method thereof
KR101725060B1 (en) Apparatus for recognizing location mobile robot using key point based on gradient and method thereof
JP6198230B2 (en) Head posture tracking using depth camera
TWI536318B (en) Depth measurement quality enhancement
JP4967062B2 (en) A method to estimate the appropriate motion of an object using optical flow, kinematics and depth information
JP2006509211A (en) Dynamic depth restoration from multiple synchronized video streams
JP6349418B2 (en) Object positioning by high-precision monocular movement
KR102455632B1 (en) Mehtod and apparatus for stereo matching
KR20120011653A (en) Image processing apparatus and method
KR20210058686A (en) Device and method of implementing simultaneous localization and mapping
KR101032509B1 (en) System and method of estimating real-time foot motion using kalman filter
JP2012181710A (en) Object tracking device, method and program
KR101626057B1 (en) Method and device for disparity estimation from three views
JP5656018B2 (en) Sphere detection method
KR101896183B1 (en) 3-d straight lines detection method for camera motion estimation
KR101828710B1 (en) Apparatus and method for object occlusion detection
KR101035793B1 (en) System and method of estimating foot motion
WO2018134866A1 (en) Camera calibration device
An et al. Tracking an RGB-D camera on mobile devices using an improved frame-to-frame pose estimation method
Pietzsch Planar features for visual slam
KR101034675B1 (en) Method of estimating human pose using unscented kalman filter based on numerical inverse kinematics, computer readable medium and server system
KR102555269B1 (en) Posture estimation fusion method and system using omnidirectional image sensor and inertial measurement sensor

Legal Events

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

Payment date: 20140326

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150417

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160325

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee