KR20190143513A - Method and apparatus of recognizing a motion using the rectangular coordinate system - Google Patents

Method and apparatus of recognizing a motion using the rectangular coordinate system Download PDF

Info

Publication number
KR20190143513A
KR20190143513A KR1020180064575A KR20180064575A KR20190143513A KR 20190143513 A KR20190143513 A KR 20190143513A KR 1020180064575 A KR1020180064575 A KR 1020180064575A KR 20180064575 A KR20180064575 A KR 20180064575A KR 20190143513 A KR20190143513 A KR 20190143513A
Authority
KR
South Korea
Prior art keywords
motion
acceleration
axis
rotation
rotation radius
Prior art date
Application number
KR1020180064575A
Other languages
Korean (ko)
Inventor
송재윤
이성호
이종성
Original Assignee
주식회사 스탠딩에그
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 스탠딩에그 filed Critical 주식회사 스탠딩에그
Priority to KR1020180064575A priority Critical patent/KR20190143513A/en
Publication of KR20190143513A publication Critical patent/KR20190143513A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06K9/00335
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/02Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses
    • G01P15/08Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses with conversion into electric or magnetic values
    • G01P15/0888Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses with conversion into electric or magnetic values for indicating angular acceleration
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/14Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of gyroscopes
    • G06K9/46
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

The present invention relates to a motion recognition method, which comprises the steps of: obtaining an angular acceleration of a motion from a gyro sensor; obtaining the magnitude of the acceleration present on a plane perpendicular to the axis of rotation of the motion from the acceleration meter; calculating a rotation radius of the motion from the obtained angular acceleration and the magnitude of the acceleration; and determining the type of the motion by using the calculated rotation radius. The axis of rotation of the motion is characterized in that any one of the x-axis, y-axis, z-axis in the rectangular coordinate system. By obtaining the rotation radius from the sensor data and using the same for motion recognition, motions having similar sensor data can be more precisely distinguished.

Description

직교좌표계를 이용한 모션 인식 방법 및 장치{Method and apparatus of recognizing a motion using the rectangular coordinate system}Method and apparatus for recognizing a motion using the rectangular coordinate system

본 발명은 모션 인식 방법에 관한 것으로서, 더욱 상세하게는 센서 데이터로부터 회전 반지름을 구하여 모션 인식에 활용함으로써, 유사한 센서 데이터를 갖는 모션 간의 구분을 보다 정교하게 할 수 있는 모션 인식 방법 및 장치에 관한 것이다.The present invention relates to a motion recognition method. More particularly, the present invention relates to a motion recognition method and apparatus for more precisely distinguishing between motions having similar sensor data by obtaining a rotation radius from the sensor data and using the same for motion recognition. .

스마트폰, 스마트 워치, 구글 글래스 등을 포함한 웨어러블 디바이스에는 다양한 센서가 내장되어 있다. 내장된 센서에는 카메라 센서, 음향 센서, 근접 센서, 조도 센서, 중력 센서, 가속도 센서, 자계 센서, 가속도 센서 등이 있으며, 이외에 도 다양한 센서들이 존재한다. 이 중에서도 가속도 센서나 자이로 센서와 같이 사용자의 움직임에 따라서 수치가 변화하는 센서들을 모션 센서라고 한다.Wearable devices, including smartphones, smart watches, and Google Glass, have a variety of built-in sensors. Built-in sensors include camera sensors, acoustic sensors, proximity sensors, illuminance sensors, gravity sensors, acceleration sensors, magnetic field sensors, acceleration sensors, and more. Among these, sensors, such as acceleration sensors and gyro sensors, whose values change in accordance with a user's movement are called motion sensors.

가속도 센서는 속도의 변화량을 측정하는 센서를 말한다. 그리고 속도는 이동 거리의 변화를 나타내므로 이 관계를 이용하면 단위 시간당 이동 거리를 계산할 수 있다. 자이로 센서는 단위시간당 평균 각가속도를 측정하는 센서를 말한다. 이 때, 자이로 센서는 제어축에 따라서 각 축에 대한 각가속도 값을 측정하는데, 보통 직교하는 3축을 제어축으로 사용한다. 스마트폰에서 주로 쓰이는 3축 자이로 센서의 각 축에 대한 회전을 각각 피치(Pitch), 롤(Roll), 요(Yaw)라고 부른다. 자이로 센서는 단일 센서 중 가장 정확한 회전 변화량을 측정하는 것이 가능하지만 장시간 관점에서는 지속적으로 에러값이 누적되는 특징을 가지고 있다.An acceleration sensor is a sensor that measures a change in speed. And since the velocity represents the change in travel distance, this relationship can be used to calculate the travel distance per unit time. Gyro sensor refers to a sensor that measures the average angular acceleration per unit time. At this time, the gyro sensor measures the angular acceleration value for each axis according to the control axis. Usually, three orthogonal axes are used as the control axis. The three-axis gyro sensor used in smartphones is called pitch, roll, and yaw. The gyro sensor is capable of measuring the most accurate rotational variation among a single sensor, but has a feature that continuously accumulates error values from a long time point of view.

기존에는 가속도 센서의 센서 데이터와 자이로 센서의 센서 데이터로부터 얻어진 통계값을 모션 인식에 사용하였으나 유사한 센서 데이터를 갖는 모션들을 정확하게 구분하지 못하는 문제가 있었다.Conventionally, statistical values obtained from the sensor data of the acceleration sensor and the sensor data of the gyro sensor are used for motion recognition, but there is a problem in that the motions having similar sensor data cannot be accurately distinguished.

따라서, 본 발명이 해결하고자 하는 첫 번째 과제는 센서 데이터로부터 회전 반지름을 구하여 모션 인식에 활용함으로써, 유사한 센서 데이터를 갖는 모션을 보다 정교하게 구분할 수 있는 모션 인식 장치를 제공하는 것이다.Accordingly, the first problem to be solved by the present invention is to provide a motion recognition apparatus that can more accurately distinguish a motion having similar sensor data by obtaining a rotation radius from the sensor data and using it for motion recognition.

본 발명이 해결하고자 하는 두 번째 과제는 센서 데이터로부터 회전 반지름을 구하여 모션 인식에 활용함으로써, 유사한 센서 데이터를 갖는 모션을 보다 정교하게 구분할 수 있는 모션 인식 방법을 제공하는 것이다.A second problem to be solved by the present invention is to provide a motion recognition method that can more accurately distinguish a motion having similar sensor data by obtaining a rotation radius from the sensor data and using it for motion recognition.

또한, 상기된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.Further, the present invention provides a computer-readable recording medium having recorded thereon a program for executing the above method on a computer.

본 발명은 상기 첫 번째 과제를 달성하기 위하여, 자이로 센서로부터 얻은 모션의 각속도로부터 각가속도를 획득하고, 가속도 미터로부터 얻은 가속도로부터 상기 모션의 회전축에 수직인 평면상에 존재하는 가속도의 크기를 획득하고, 상기 획득한 각가속도와 상기 가속도의 크기로부터 산출된 상기 모션의 회전 반지름을 포함하는 모션 특징을 산출하는 특징 추출부; 상기 특징 추출부로부터 상기 모션 특징을 받아 머신 러닝을 하는 모션 학습부; 상기 모션 학습부의 결과를 저장하는 저장부; 및 상기 특징 추출부가 새로운 모션에 대한 모션 특징을 추출하면, 상기 모션 학습부의 결과와 비교하여 상기 새로운 모션의 종류를 판단하는 모션 판단부를 포함하고, 상기 모션의 회전축은 직교좌표계에서의 x축, y축, z축 중에 어느 하나인 것을 특징으로 하는 모션 인식 장치를 제공한다.In order to achieve the first object, the present invention obtains the angular acceleration from the angular velocity of the motion obtained from the gyro sensor, and obtains the magnitude of the acceleration present on a plane perpendicular to the axis of rotation of the motion from the acceleration obtained from the acceleration meter, A feature extractor configured to calculate a motion feature including a rotation radius of the motion calculated from the obtained angular acceleration and the magnitude of the acceleration; A motion learning unit receiving the motion feature from the feature extractor and performing machine learning; A storage unit which stores a result of the motion learning unit; And a motion determination unit configured to determine a type of the new motion by comparing with a result of the motion learning unit when the feature extractor extracts a motion feature for a new motion, wherein the axis of rotation of the motion is an x-axis, y in a rectangular coordinate system. It provides a motion recognition device characterized in that any one of the axis, z axis.

본 발명은 상기 두 번째 과제를 달성하기 위하여 자이로 센서로부터 얻은 모션의 각속도로부터 각가속도를 획득하는 단계; 가속도 미터로부터 얻은 가속도로부터 상기 모션의 회전축에 수직인 평면상에 존재하는 가속도의 크기를 획득하는 단계; 상기 획득된 각가속도와 상기 가속도의 크기로부터 상기 모션의 회전 반지름을 산출하는 단계; 및 상기 산출된 회전 반지름을 이용하여 상기 모션의 종류를 판단하는 단계를 포함하고, 상기 모션의 회전축은 직교좌표계에서의 x축, y축, z축 중에 어느 하나인 것을 특징으로 하는 모션 인식 방법을 제공한다.The present invention comprises the steps of obtaining the angular acceleration from the angular velocity of the motion obtained from the gyro sensor to achieve the second object; Obtaining the magnitude of the acceleration present on a plane perpendicular to the axis of rotation of the motion from the acceleration obtained from the acceleration meter; Calculating a rotation radius of the motion from the obtained angular acceleration and the magnitude of the acceleration; And determining the type of the motion using the calculated rotation radius, wherein the rotation axis of the motion is any one of an x axis, a y axis, and a z axis in a Cartesian coordinate system. to provide.

본 발명의 일 실시 예에 의하면, 상기 회전 반지름 외에 상기 모션의 가속도 또는 각속도로부터 적어도 하나 이상의 통계값을 산출하는 단계를 더 포함하고, 상기 모션의 종류를 판단하는 단계는 상기 산출된 통계값과 회전 반지름을 이용하여 상기 모션의 종류를 판단하는 것이 바람직하다.According to an embodiment of the present disclosure, the method may further include calculating at least one statistical value from the acceleration or the angular velocity of the motion in addition to the rotation radius, and determining the type of the motion may include calculating the calculated statistical value and rotation. It is preferable to determine the type of the motion using a radius.

또한, 상기 산출된 통계값과 회전 반지름을 이용하여 머신 러닝을 하는 단계; 및 상기 머신 러닝 결과를 저장하는 단계를 더 포함하고, 상기 모션의 종류를 판단하는 단계는 상기 저장된 머신 러닝 결과와 새로 입력된 모션에 대한 머신 러닝 결과를 비교하여 상기 새로 입력된 모션의 종류를 판단할 수 있다.In addition, machine learning using the calculated statistical value and the rotation radius; And storing the machine learning result, wherein the determining of the type of motion comprises comparing the stored machine learning result with a machine learning result for a newly input motion to determine the type of the newly input motion. can do.

상기 기술적 과제를 해결하기 위하여, 본 발명은 상기된 모션 인식 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다. In order to solve the above technical problem, the present invention provides a computer-readable recording medium that records a program for executing the above-described motion recognition method on a computer.

본 발명에 따르면, 센서 데이터로부터 회전 반지름을 구하여 모션 인식에 활용함으로써, 유사한 센서 데이터를 갖는 모션을 보다 정교하게 구분할 수 있다. According to the present invention, by obtaining a rotation radius from the sensor data to utilize in motion recognition, it is possible to more precisely distinguish the motion having similar sensor data.

도 1은 본 발명의 바람직한 일 실시 예에 따른 모션 인식 장치의 구성도이다.
도 2는 본 발명의 바람직한 일 실시 예에 따른 모션 인식 방법의 흐름도이다.
도 3는 본 발명의 다른 실시 예에 따른 모션 인식 방법의 흐름도이다.
도 4는 사용자가 바이셉스 컬을 할 때, 도 5는 프론트 레이즈을 할 때, 반지름의 값을 구한 결과를 도시한 것이다.
1 is a block diagram of a motion recognition apparatus according to an embodiment of the present invention.
2 is a flowchart illustrating a motion recognition method according to an exemplary embodiment of the present invention.
3 is a flowchart illustrating a motion recognition method according to another embodiment of the present invention.
Figure 4 shows the result of obtaining the value of the radius when the user performs the biceps curl, Figure 5 when the front raise.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be embodied in various different forms, and the present embodiments only make the disclosure of the present invention complete, and those of ordinary skill in the art to which the present invention belongs. It is provided to fully inform those skilled in the art of the scope of the invention, which is defined only by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, "comprises" and / or "comprising" does not exclude the presence or addition of one or more other components in addition to the mentioned components. Like reference numerals refer to like elements throughout.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used in a sense that can be commonly understood by those skilled in the art. In addition, terms that are defined in a commonly used dictionary are not ideally or excessively interpreted unless they are specifically defined clearly.

이하에서는 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 바람직한 일 실시 예에 따른 모션 인식 장치의 구성도이다.1 is a block diagram of a motion recognition apparatus according to an embodiment of the present invention.

도 1을 참조하면, 본 실시 예에 따른 모션 인식 장치는 특징 추출부(110), 모션 학습부(120), 저장부(130), 및 모션 판단부(140)로 구성된다.Referring to FIG. 1, the motion recognition apparatus according to the present embodiment includes a feature extractor 110, a motion learner 120, a storage 130, and a motion determiner 140.

본 발명에 따른 모션 인식 장치는 자이로 센서와 가속도 미터를 더 포함할 수 있다. 이때, 자이로 센서는 각속도 ω를 출력값으로 하고, 가속도 미터는 가속도 a를 출력값으로 한다. 경우에 따라서 자이로 센서는 각가속도를 출력값으로 할 수 있다.The motion recognition apparatus according to the present invention may further include a gyro sensor and an acceleration meter. At this time, the gyro sensor uses the angular velocity ω as the output value and the acceleration meter uses the acceleration a as the output value. In some cases, the gyro sensor may use the angular acceleration as an output value.

특징 추출부(110)는 자이로 센서로부터 얻은 모션의 각속도 ω로부터 각가속도를 획득하고, 가속도 미터로부터 얻은 가속도 a로부터 상기 모션의 회전축에 수직인 평면상에 존재하는 가속도의 크기를 획득하고, 상기 획득한 각가속도와 상기 가속도의 크기로부터 산출된 상기 모션의 회전 반지름을 포함하는 모션 특징을 산출한다.The feature extractor 110 obtains the angular acceleration from the angular velocity ω of the motion obtained from the gyro sensor, and obtains the magnitude of the acceleration existing on a plane perpendicular to the axis of rotation from the acceleration a obtained from the acceleration meter. A motion characteristic is calculated that includes the radius of rotation of the motion calculated from the angular acceleration and the magnitude of the acceleration.

상기 모션 특징이란 자이로 센서, 가속도 미터, 지자기 센서 등으로부터 입력된 센서 데이터가 다른 센서 데이터와 구별되는 특징을 말한다. 상기 모션 특징은 센서 데이터의 전체적인 부분을 표현하거나, 센서 데이터의 일부를 표현할 수 있다. 예를 들어, 모션 특징은 센서 데이터의 적어도 하나의 통계값을 포함할 수 있다. 예를 들어, 통계값은 샘플링된 소정의 개수의 센서 데이터의 최대값, 최소값, 중간값, 평균값, IQR(Interquartile Range) 값, RMS(Root Mean Square) 값 등을 포함할 수 있으나 이에 한정되지는 않는다. The motion feature refers to a feature in which sensor data input from a gyro sensor, an accelerometer, a geomagnetic sensor, or the like is distinguished from other sensor data. The motion feature may represent an entire portion of the sensor data or may represent a portion of the sensor data. For example, the motion feature may comprise at least one statistical value of sensor data. For example, the statistical value may include a maximum value, a minimum value, a median value, an average value, an interquartile range (IQR) value, a root mean square (RMS) value, and the like, of a predetermined number of sampled sensor data. Do not.

모션 학습부(120)는 특징 추출부(110)로부터 상기 모션 특징을 받아 머신 러닝을 수행한다.The motion learner 120 receives the motion feature from the feature extractor 110 and performs machine learning.

머신 러닝의 예로서, KNN(K-nearest neighbors) 알고리즘 또는 SVM(Support Vector Machines)를 들 수 있다. KNN 알고리즘에 의하여 복수 개의 모션 특징은 기 분류된 또는 학습된 모션 특징들과 비교되고, 동일 또는 유사한 경향을 갖는 집단으로 분류될 수 있다.Examples of machine learning include a K-nearest neighbors (KNN) algorithm or Support Vector Machines (SVM). By the KNN algorithm, a plurality of motion features may be compared with previously classified or learned motion features, and classified into groups having the same or similar tendency.

저장부(130)는 모션 학습부(120)의 분류 결과를 저장한다. 저장부(130)에 저장된 결과는 새로운 모션에 대하여 특징 추출부(110)가 추출한 모션 특징을 모션 학습부(120)가 머신 러닝한 결과와 비교되는데 사용된다.The storage unit 130 stores the classification result of the motion learning unit 120. The result stored in the storage unit 130 is used to compare the motion feature extracted by the feature extractor 110 with respect to the new motion with the result of the machine learning performed by the motion learner 120.

모션 판단부(140)는 새로운 모션에 대한 모션 특징에 대하여 머신 러닝을 한 결과와 저장부(130)에 저장된 결과를 비교하여 상기 새로운 모션의 종류를 판단한다. The motion determination unit 140 determines the type of the new motion by comparing the result of the machine learning with respect to the motion feature for the new motion and the result stored in the storage unit 130.

도 2는 본 발명의 바람직한 일 실시 예에 따른 모션 인식 방법의 흐름도이다.2 is a flowchart illustrating a motion recognition method according to an exemplary embodiment of the present invention.

도 2를 참조하면, 본 실시 예에 따른 모션 인식 방법은 도 1에 도시된 모션 인식 장치에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1에 도시된 모션 인식 장치에 관하여 이상에서 기술된 내용은 본 실시 예에 따른 모션 인식 방법에도 적용된다.Referring to FIG. 2, the motion recognition method according to the present embodiment includes steps that are processed in time series in the motion recognition apparatus illustrated in FIG. 1. Therefore, even if omitted below, the above descriptions of the motion recognition apparatus shown in FIG. 1 also apply to the motion recognition method according to the present embodiment.

210 단계에서 모션 인식 장치는 자이로 센서로부터 얻은 모션의 각속도로부터 각가속도를 획득하거나 직접 자이로 센서로부터 각가속도를 획득할 수 있다.In operation 210, the motion recognition apparatus may acquire an angular acceleration from the angular velocity of the motion obtained from the gyro sensor or directly obtain the angular acceleration from the gyro sensor.

각가속도는 다음과 같은 수학식 1을 만족한다.The angular acceleration satisfies Equation 1 below.

Figure pat00001
Figure pat00001

Figure pat00002
의 시간동안 시간 t+1에서의 각속도(
Figure pat00003
)와 시간 t에서의 각속도(
Figure pat00004
)의 차이는 시간 t에서의 각가속도(
Figure pat00005
)와 같다.
Figure pat00002
Angular velocity at time t + 1 for
Figure pat00003
) And the angular velocity at time t (
Figure pat00004
), The difference is the angular acceleration at time t (
Figure pat00005
)

Figure pat00006
가 일정하다고 가정하면, 다음의 수학식 2로 바꿔 쓸 수 있다.
Figure pat00006
If is assumed to be constant, it can be rewritten as Equation 2 below.

Figure pat00007
Figure pat00007

여기서,

Figure pat00008
는 1개 축의 각가속도, ω는 각속도, t는 시간, c는 상수이다. 상기 1개 축은 x축, y축, z축 중 어느 하나가 될 수 있으며, 각 축을 중심으로 한 회전은 피치(Pitch), 롤(Roll), 요(Yaw)로 정의할 수 있다.here,
Figure pat00008
Is the angular acceleration of one axis, ω is the angular velocity, t is the time, and c is the constant. The one axis may be any one of an x axis, a y axis, and a z axis, and a rotation about each axis may be defined as a pitch, a roll, or a yaw.

따라서, 모션의 각가속도는

Figure pat00009
의 시간동안 각속도의 차이에 비례한다.Therefore, the angular acceleration of the motion
Figure pat00009
It is proportional to the difference in angular velocity over time.

수학식 2에 따른 각가속도는 시간 t+1에서의 각속도(

Figure pat00010
)와 시간 t에서의 각속도(
Figure pat00011
)의 상대적 크기에 따라 계속 변화한다. 상기 상대적 크기에 따라 각가속도의 값은 양수, 음수, 또는 0이 될 수 있다. The angular acceleration according to Equation 2 is the angular velocity at time t + 1 (
Figure pat00010
) And the angular velocity at time t (
Figure pat00011
And continue to change with the relative size of the According to the relative magnitude, the value of the angular acceleration may be positive, negative, or zero.

220 단계에서 모션 인식 장치는 가속도 미터로부터 얻은 가속도로부터 상기 모션의 회전축에 수직인 평면상에 존재하는 가속도의 크기를 획득한다.In operation 220, the motion recognition apparatus obtains the magnitude of the acceleration existing on the plane perpendicular to the axis of rotation of the motion from the acceleration obtained from the acceleration meter.

이 때 상기 모션의 회전의 가속도는 중력 방향의 가속도의 영향을 제거한 후 상기 가속도의 크기를 구할 수 있다. 중력방향의 영향이 제거된 3개 축의 가속도가 센서 퓨전 알고리즘의 입력으로 사용되는 것이 바람직하다. 센서 퓨전 알고리즘은 칼만(kalman) 필터, 매드윅(madgwick) 필터, 또는 상보(complementary) 필터 등이 사용된다.At this time, the acceleration of the rotation of the motion can be obtained after removing the influence of the acceleration in the gravity direction to obtain the magnitude of the acceleration. It is preferable that the acceleration of the three axes from which the influence of the gravity direction is removed is used as the input of the sensor fusion algorithm. The sensor fusion algorithm may be a Kalman filter, a madgwick filter, or a complementary filter.

한편, 직교좌표계에서의 3개의 축 중에서 상기 모션이 회전하는 축 외의 다른 2개의 축(axis1, axis2)에서의 가속도의 크기는 다음과 같다.On the other hand, among the three axes in the Cartesian coordinate system, the magnitude of the acceleration in the other two axes (axis1, axis2) other than the axis in which the motion rotates is as follows.

Figure pat00012
Figure pat00012

여기서, a는 선가속도이다.Where a is the linear acceleration.

상기 모션이 회전하는 축이 X 축이라고 하면, 상기 모션이 회전하는 축 외의 다른 2개의 축은 Y축과 Z축이 될 수 있다.If the axis on which the motion rotates is the X axis, two axes other than the axis on which the motion rotates may be the Y axis and the Z axis.

230 단계에서 모션 인식 장치는 상기 획득한 각가속도와 상기 가속도의 크기로부터 산출된 상기 모션의 회전 반지름을 포함하는 모션 특징을 산출한다.In operation 230, the motion recognition apparatus calculates a motion feature including a rotation radius of the motion calculated from the obtained angular acceleration and the magnitude of the acceleration.

v=rω(v는 선속도, ω는 각속도)의 양변을 미분하면

Figure pat00013
(a는 선가속도,
Figure pat00014
는 각가속도)이 도출된다.Differentiate both sides of v = rω (v is linear velocity, ω is angular velocity)
Figure pat00013
(a is the linear acceleration,
Figure pat00014
Angular acceleration) is derived.

따라서, 반지름 r은 수학식 2와 수학식 3으로부터 다음의 수학식 4와 같이 도출된다.Therefore, the radius r is derived from Equations 2 and 3 as shown in Equation 4 below.

Figure pat00015
Figure pat00015

반지름 r은

Figure pat00016
가 0이거나 매우 작은 값을 가질 때, 무한대와 같이 큰 값을 갖게 된다. 또한, 시간 t+1에서의 각속도(
Figure pat00017
)와 시간 t에서의 각속도(
Figure pat00018
)의 상대적 크기에 따라서 반지름 r은 양의 값과 음의 값을 번갈아 가면서 나타나게 된다.Radius r is
Figure pat00016
Is 0 or has a very small value, it has a large value such as infinity. In addition, the angular velocity at time t + 1 (
Figure pat00017
) And the angular velocity at time t (
Figure pat00018
Depending on the relative magnitude of), the radius r appears alternately between positive and negative values.

따라서, 반지름 r을 양의 값으로 산출하기 위해 다음의 수학식 5로 다시 쓸 수 있다.Therefore, in order to calculate the radius r as a positive value, it can be rewritten as Equation 5 below.

Figure pat00019
Figure pat00019

임의의 임계값을 넘은 반지름은 극한값으로 분류하여 배제하고, 반지름 r을 양의 값으로 변환하면 도 4와 도 5와 같다.A radius exceeding an arbitrary threshold value is classified as an extreme value and excluded, and the radius r is converted into a positive value as shown in FIGS. 4 and 5.

도 4는 사용자가 바이셉스 컬을 할 때, 도 5는 프론트 레이즈을 할 때, 반지름의 값을 구한 결과를 도시한 것이다. FIG. 4 shows the result of obtaining the radius value when the user performs the biceps curl and FIG. 5 the front raise.

도 4와 도 5의 그래프는 수학식 5에 따라 1/50초(20ms)마다 반지름의 값을 구한 결과를 도시한 것이다.4 and 5 show the results of obtaining a radius value every 1/50 second (20 ms) according to Equation 5. FIG.

도 4와 도 5를 참조하면, 본 발명에 따른 모션 인식 방법을 거쳐 도출된 프론트 레이즈의 반지름 r값의 평균은 바이셉스 컬의 반지름 r값의 평균보다 큰 것을 알 수 있다. 바이셉스 컬의 반지름의 평균은 약 0.03이고, 프론트 레이즈의 반지름은 약 0.07로 약 2배이다.4 and 5, it can be seen that the average of the radius r value of the front raise derived through the motion recognition method according to the present invention is larger than the average of the radius r value of the biceps curl. The average radius of the biceps curl is about 0.03, and the radius of the front raise is about 0.07, which is about twice.

보다 상세하게 살펴보면, X,Y,Z축 중 어느 하나의 축을 모션의 회전축으로 결정할 수 있다. 모션의 회전축으로 결정된 축의 각속도를 자이로 센서로부터 구할 수 있다.In more detail, any one of the X, Y, and Z axes may be determined as the rotation axis of the motion. The angular velocity of the axis determined by the rotation axis of the motion can be obtained from the gyro sensor.

예를 들어, Y축을 모션의 회전축으로 결정하면 가속도는 X-Z 평면상의 가속도 성분을 이용한다. 이 경우 수학식 5를 다음과 같이 다시 쓸 수 있다.For example, if the Y axis is determined as the axis of rotation of motion, the acceleration uses the acceleration component on the X-Z plane. In this case, Equation 5 may be rewritten as follows.

Figure pat00020
Figure pat00020

aX와 aZ는 각각 가속도의 X축 성분과 Z축 성분이며, 각속도 ω는 Y축을 중심으로 회전하는 각의 각속도이다.a X and a Z are the X-axis component and the Z-axis component of the acceleration, respectively, and the angular velocity ω is the angular velocity of the rotating angle about the Y-axis.

상기 모션 특징은 상기 회전 반지름 외에 상기 모션의 가속도, 각속도로부터 적어도 하나 이상의 통계값을 더 포함할 수 있다.The motion feature may further include at least one statistical value from the acceleration and the angular velocity of the motion in addition to the rotation radius.

240 단계에서 모션 인식 장치는 상기 산출된 회전 반지름을 이용하여 상기 모션의 종류를 판단한다.In operation 240, the motion recognition apparatus determines the type of the motion by using the calculated rotation radius.

상기 회전 반지름 외에도 상기 모션 특징에 포함된 통계값을 더 이용하여 상기 모션의 종류를 판단하는 것이 바람직하다.In addition to the rotation radius, it is preferable to further determine the type of the motion by using a statistical value included in the motion feature.

도 3는 본 발명의 다른 실시 예에 따른 모션 인식 방법의 흐름도이다.3 is a flowchart illustrating a motion recognition method according to another embodiment of the present invention.

도 3을 참조하면, 본 실시 예에 따른 모션 인식 방법은 도 1에 도시된 모션 인식 장치에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1에 도시된 모션 인식 장치에 관하여 이상에서 기술된 내용은 본 실시 예에 따른 모션 인식 방법에도 적용된다.Referring to FIG. 3, the motion recognition method according to the present embodiment includes steps that are processed in time series in the motion recognition apparatus illustrated in FIG. 1. Therefore, even if omitted below, the above descriptions of the motion recognition apparatus shown in FIG. 1 also apply to the motion recognition method according to the present embodiment.

310 단계 내지 330 단계는 도 2의 210 단계 내지 230 단계와 동일하므로 설명을 생략하기로 한다.Steps 310 to 330 are the same as steps 210 to 230 of FIG. 2 and will not be described.

340 단계에서 모션 인식 장치는 상기 회전 반지름 외에 상기 모션의 가속도 또는 각속도로부터 적어도 하나 이상의 통계값을 산출한다.In operation 340, the motion recognition apparatus calculates at least one statistical value from the acceleration or the angular velocity of the motion in addition to the rotation radius.

350 단계에서 모션 인식 장치는 상기 회전 반지름과 상기 통계값을 이용하여 머신 러닝을 수행한다. 이때 수행된 머신 러닝 결과는 별도의 메모리에 저장되고, 이후 새로운 모션의 머신 러닝결과와 비교되는데 사용된다.In operation 350, the motion recognition apparatus performs machine learning using the rotation radius and the statistical value. The machine learning result performed at this time is stored in a separate memory and then used to be compared with the machine learning result of the new motion.

360 단계에서 모션 인식 장치는 350 단계에서 저장된 머신 러닝 결과와 새로 입력된 모션에 대한 머신 러닝 결과를 비교하여 상기 새로 입력된 모션의 종류를 판단한다.In operation 360, the motion recognition apparatus determines the type of the newly input motion by comparing the machine learning result stored in operation 350 with the machine learning result for the newly input motion.

사용자가 수행하는 운동 중 특히 두 개 이상의 접합부를 갖는 회전 운동은 중심이 불규칙하고 회전 운동의 선가속도도 불규칙하다. 따라서 회전의 중심이 크게 변화하지 않고 회전 운동의 선가속도도 크게 변화하지 않는 바이셉스 컬(biceps curl)이나 프론트 레이즈와 같은 회전 운동에 본 발명이 잘 적용될 수 있다. Among the movements performed by the user, in particular, the rotational movement having two or more joints is irregular in the center and the linear acceleration of the rotational movement is also irregular. Therefore, the present invention can be well applied to rotational movements such as biceps curl or front raise in which the center of rotation does not change significantly and the linear acceleration of the rotational movement does not change significantly.

본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field-programmable gate array) 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터,데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.The term '~ part' used in the present embodiment refers to software or a hardware component such as a field-programmable gate array (FPGA) or an ASIC, and '~ part' performs certain roles. However, '~' is not meant to be limited to software or hardware. '~ Portion' may be configured to be in an addressable storage medium or may be configured to play one or more processors. Thus, as an example, '~' means components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, procedures, and the like. Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functionality provided within the components and the 'parts' may be combined into a smaller number of components and the 'parts' or further separated into additional components and the 'parts'. In addition, the components and '~' may be implemented to play one or more CPUs in the device or secure multimedia card.

상술한 모든 기능은 상기 기능을 수행하도록 코딩된 소프트웨어나 프로그램 코드 등에 따른 마이크로프로세서, 제어기, 마이크로제어기, ASIC(Application Specific Integrated Circuit) 등과 같은 프로세서에 의해 수행될 수 있다. 상기 코드의 설계, 개발 및 구현은 본 발명의 설명에 기초하여 당업자에게 자명하다고 할 것이다.All of the above functions may be performed by a processor such as a microprocessor, a controller, a microcontroller, an application specific integrated circuit (ASIC), or the like according to software or program code coded to perform the function. The design, development and implementation of the code will be apparent to those skilled in the art based on the description of the present invention.

이상 본 발명에 대하여 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시켜 실시할 수 있음을 이해할 수 있을 것이다. 따라서 상술한 실시 예에 한정되지 않고, 본 발명은 이하의 특허청구범위의 범위 내의 모든 실시 예들을 포함한다고 할 것이다.Although the present invention has been described above with reference to the embodiments, it will be understood by those skilled in the art that the present invention may be variously modified and changed without departing from the spirit and scope of the present invention. I can understand. Therefore, the present invention is not limited to the above-described embodiment, and the present invention will include all embodiments within the scope of the following claims.

Claims (5)

자이로 센서로부터 모션의 각가속도를 획득하는 단계;
가속도 미터로부터 상기 모션의 회전축에 수직인 평면상에 존재하는 가속도의 크기를 획득하는 단계;
상기 획득된 각가속도와 상기 가속도의 크기로부터 상기 모션의 회전 반지름을 산출하는 단계; 및
상기 산출된 회전 반지름을 이용하여 상기 모션의 종류를 판단하는 단계를 포함하고,
상기 모션의 회전축은 직교좌표계에서의 x축, y축, z축 중에 어느 하나인 것을 특징으로 하는 모션 인식 방법.
Obtaining angular acceleration of motion from a gyro sensor;
Obtaining from the acceleration meter the magnitude of the acceleration present on a plane perpendicular to the axis of rotation of the motion;
Calculating a rotation radius of the motion from the obtained angular acceleration and the magnitude of the acceleration; And
Determining the type of the motion by using the calculated rotation radius;
The rotation axis of the motion is any one of the x-axis, y-axis, z-axis in the Cartesian coordinate system.
제1 항에 있어서,
상기 회전 반지름 외에 상기 모션의 가속도 또는 각속도로부터 적어도 하나 이상의 통계값을 산출하는 단계를 더 포함하고,
상기 모션의 종류를 판단하는 단계는,
상기 산출된 통계값과 회전 반지름을 이용하여 상기 모션의 종류를 판단하는 것을 특징으로 하는 모션 인식 방법.
According to claim 1,
Calculating at least one statistical value from the acceleration or the angular velocity of the motion in addition to the rotation radius,
Determining the type of motion,
And determining the type of the motion by using the calculated statistical value and the rotation radius.
제2 항에 있어서,
상기 산출된 통계값과 회전 반지름을 이용하여 머신 러닝을 하는 단계; 및
상기 머신 러닝 결과를 저장하는 단계를 더 포함하고,
상기 모션의 종류를 판단하는 단계는,
상기 저장된 머신 러닝 결과와 새로 입력된 모션에 대한 머신 러닝 결과를 비교하여 상기 새로 입력된 모션의 종류를 판단하는 것을 특징으로 하는 모션 인식 방법.
The method of claim 2,
Machine learning using the calculated statistical value and the rotation radius; And
Storing the machine learning results;
Determining the type of motion,
And comparing the stored machine learning result with the machine learning result for the newly input motion to determine the type of the newly input motion.
자이로 센서로부터 모션의 각가속도를 획득하고, 가속도 미터로부터 상기 모션의 회전축에 수직인 평면상에 존재하는 가속도의 크기를 획득하고, 상기 획득한 각가속도와 상기 가속도의 크기로부터 산출된 상기 모션의 회전 반지름을 포함하는 모션 특징을 산출하는 특징 추출부;
상기 특징 추출부로부터 상기 모션 특징을 받아 머신 러닝을 하는 모션 학습부;
상기 모션 학습부의 결과를 저장하는 저장부; 및
상기 특징 추출부가 새로운 모션에 대한 모션 특징을 추출하면, 상기 모션 학습부의 결과와 비교하여 상기 새로운 모션의 종류를 판단하는 모션 판단부를 포함하고,
상기 모션의 회전축은 직교좌표계에서의 x축, y축, z축 중에 어느 하나인 것을 특징으로 하는 모션 인식 장치.
Acquiring the angular acceleration of the motion from the gyro sensor, obtaining the magnitude of the acceleration existing on the plane perpendicular to the axis of rotation of the motion from the acceleration meter, and calculating the rotation radius of the motion calculated from the obtained angular acceleration and the magnitude of the acceleration. A feature extractor for calculating a motion feature comprising;
A motion learning unit receiving the motion feature from the feature extractor and performing machine learning;
A storage unit which stores a result of the motion learning unit; And
When the feature extractor extracts a motion feature for a new motion, and comprises a motion determination unit for determining the type of the new motion compared to the result of the motion learning unit,
And a rotation axis of the motion is any one of an x axis, a y axis, and a z axis in a Cartesian coordinate system.
제1 항 내지 제3 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 1 to 3.
KR1020180064575A 2018-06-04 2018-06-04 Method and apparatus of recognizing a motion using the rectangular coordinate system KR20190143513A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180064575A KR20190143513A (en) 2018-06-04 2018-06-04 Method and apparatus of recognizing a motion using the rectangular coordinate system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180064575A KR20190143513A (en) 2018-06-04 2018-06-04 Method and apparatus of recognizing a motion using the rectangular coordinate system

Publications (1)

Publication Number Publication Date
KR20190143513A true KR20190143513A (en) 2019-12-31

Family

ID=69051702

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180064575A KR20190143513A (en) 2018-06-04 2018-06-04 Method and apparatus of recognizing a motion using the rectangular coordinate system

Country Status (1)

Country Link
KR (1) KR20190143513A (en)

Similar Documents

Publication Publication Date Title
CN107636420B (en) Techniques for pedestrian dead reckoning
KR102433931B1 (en) Method and device for recognizing motion
CN106814753B (en) Target position correction method, device and system
KR101872907B1 (en) Motion analysis appratus and method using dual smart band
CN104850773A (en) User identity authentication method for intelligent mobile terminal
CN110109551B (en) Gesture recognition method, device, equipment and storage medium
EP3289435B1 (en) User interface control using impact gestures
KR101870542B1 (en) Method and apparatus of recognizing a motion
JP2017191426A (en) Input device, input control method, computer program, and storage medium
Iyer et al. Generalized hand gesture recognition for wearable devices in IoT: Application and implementation challenges
US20200257372A1 (en) Out-of-vocabulary gesture recognition filter
US10551195B2 (en) Portable device with improved sensor position change detection
KR20190143513A (en) Method and apparatus of recognizing a motion using the rectangular coordinate system
KR20190131723A (en) Method and apparatus of recognizing a motion including the sensor fusion algorithm
KR20190138240A (en) Method and apparatus of recognizing a motion using the radius of gyration
KR20200111075A (en) Method and apparatus of recognizing a motion using the radius of gyration
WO2018099089A1 (en) Method and device for recognizing stationary state
US20170192521A1 (en) Context aware movement recognition system
JP6147446B1 (en) Inertial sensor initialization using soft constraints and penalty functions
KR101958334B1 (en) Method and apparatus for recognizing motion to be considered noise
US10558270B2 (en) Method for determining non-contact gesture and device for the same
Wang et al. Posture recognition and adaptive step detection based on hand-held terminal
Marouane et al. Step and activity detection based on the orientation and scale attributes of the SURF algorithm
KR20190131740A (en) Method and apparatus for initializing a sensor by resetting the angle of a wearable device
Sun et al. Research on combination positioning based on natural features and gyroscopes for AR on mobile phones