KR102636103B1 - Motion analysis method and device - Google Patents

Motion analysis method and device Download PDF

Info

Publication number
KR102636103B1
KR102636103B1 KR1020210142099A KR20210142099A KR102636103B1 KR 102636103 B1 KR102636103 B1 KR 102636103B1 KR 1020210142099 A KR1020210142099 A KR 1020210142099A KR 20210142099 A KR20210142099 A KR 20210142099A KR 102636103 B1 KR102636103 B1 KR 102636103B1
Authority
KR
South Korea
Prior art keywords
angular velocity
user
equipment
rotational angular
node
Prior art date
Application number
KR1020210142099A
Other languages
Korean (ko)
Other versions
KR20230057850A (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 KR1020210142099A priority Critical patent/KR102636103B1/en
Publication of KR20230057850A publication Critical patent/KR20230057850A/en
Priority to KR1020240017935A priority patent/KR20240019212A/en
Application granted granted Critical
Publication of KR102636103B1 publication Critical patent/KR102636103B1/en

Links

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
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • A63B24/0006Computerised comparison for qualitative assessment of motion sequences or the course of a movement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/34Smoothing or thinning of the pattern; Morphological operations; Skeletonisation
    • 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
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • A63B24/0006Computerised comparison for qualitative assessment of motion sequences or the course of a movement
    • A63B2024/0012Comparing movements or motion sequences with a registered reference
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2102/00Application of clubs, bats, rackets or the like to the sporting activity ; particular sports involving the use of balls and clubs, bats, rackets, or the like
    • A63B2102/32Golf
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/30Speed
    • A63B2220/34Angular speed
    • A63B2220/35Spin
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/806Video cameras

Abstract

일 실시예에 따른 동작 분석 방법은, 사용자의 운동 영상을 획득하는 단계; 뉴럴 네트워크 모델을 이용하여 상기 운동 영상 내 복수의 노드를 획득하는 단계; 및 상기 복수의 노드에 기초하여 상기 사용자의 동작을 분석하는 단계를 포함하고, 상기 복수의 노드는, 상기 사용자의 신체에 대한 신체 노드 및 상기 사용자가 이용하는 장비에 대한 장비 노드를 포함한다.A motion analysis method according to an embodiment includes acquiring a user's motion image; Obtaining a plurality of nodes in the motion image using a neural network model; and analyzing the user's motion based on the plurality of nodes, wherein the plurality of nodes include a body node for the user's body and an equipment node for equipment used by the user.

Description

동작 분석 방법 및 장치{MOTION ANALYSIS METHOD AND DEVICE}Motion analysis method and device {MOTION ANALYSIS METHOD AND DEVICE}

본 발명은 포즈 추정을 통한 사용자의 운동 동작 분석 방법 및 장치에 관한 것이다.The present invention relates to a method and device for analyzing a user's movement motion through pose estimation.

포즈 추정(pose estimation)은 영상에서 사람이나 물체의 포즈를 추론하는 컴퓨터 비전 기술이다. 포즈 추정은 일반적으로 객체 또는 사람에 대한 복수의 노드(node)를 식별하고, 식별된 노드의 위치를 추적함으로써 수행될 수 있다. 예를 들어, 인간의 경우 노드들은 팔꿈치 또는 무릎과 같은 주요 관절을 나타낼 수 있다.Pose estimation is a computer vision technology that infers the pose of a person or object from an image. Pose estimation can generally be performed by identifying a plurality of nodes for an object or person and tracking the positions of the identified nodes. For example, in humans, nodes may represent major joints such as the elbow or knee.

포즈 추정에는 뉴럴 네트워크 모델이 이용된다. 일반적으로 포즈 추정에 적합한 딥 러닝 아키텍처는 CNN(Convolutional Neural Network)의 변형을 기반으로 한다.A neural network model is used for pose estimation. In general, deep learning architectures suitable for pose estimation are based on variants of CNN (Convolutional Neural Network).

포즈 추정 기술은 스포츠 분야에서 사람의 동작을 분석하는데 이용될 수 있다. 다만, 러프한 형태로 인체 관절을 추정할 수 있기 때문에 종래의 방식은 손목 등의 관절의 정교한 움직임을 분석하기에는 한계가 있다. 특히, 골프 또는 야구와 같이 장비를 이용하는 스포츠에 있어서는 정교한 스윙 분석을 수행할 수 없다.Pose estimation technology can be used to analyze human movements in the sports field. However, because the human body's joints can be estimated in a rough form, the conventional method has limitations in analyzing precise movements of joints such as the wrist. In particular, sophisticated swing analysis cannot be performed in sports that use equipment such as golf or baseball.

위에서 설명한 배경기술은 발명자가 본원의 개시 내용을 도출하는 과정에서 보유하거나 습득한 것으로서, 반드시 본 출원 전에 일반 공중에 공개된 공지기술이라고 할 수는 없다.The background technology described above is possessed or acquired by the inventor in the process of deriving the disclosure of the present application, and cannot necessarily be said to be known technology disclosed to the general public before this application.

아래 실시예들은 비전 딥 러닝을 이용하여 운동 동작을 분석함에 있어서, 보다 정교한 분석을 수행하는 기술을 제공할 수 있다.The embodiments below can provide technology for performing more sophisticated analysis when analyzing exercise movements using vision deep learning.

구체적으로, 장비를 이용한 운동 동작을 분석함에 있어서, 손목의 정교한 움직임을 분석하는 기술을 제공할 수 있다.Specifically, when analyzing exercise movements using equipment, it is possible to provide technology for analyzing precise movements of the wrist.

다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.However, technical challenges are not limited to the above-mentioned technical challenges, and other technical challenges may exist.

일 실시예에 따른 동작 분석 방법은, 사용자의 운동 영상을 획득하는 단계; 뉴럴 네트워크 모델을 이용하여 상기 운동 영상 내 복수의 노드를 획득하는 단계; 및 상기 복수의 노드에 기초하여 상기 사용자의 동작을 분석하는 단계를 포함하고, 상기 복수의 노드는, 상기 사용자의 신체에 대한 신체 노드 및 상기 사용자가 이용하는 장비에 대한 장비 노드를 포함한다.A motion analysis method according to an embodiment includes acquiring a user's motion image; Obtaining a plurality of nodes in the motion image using a neural network model; and analyzing the user's motion based on the plurality of nodes, wherein the plurality of nodes include a body node for the user's body and an equipment node for equipment used by the user.

상기 뉴럴 네트워크 모델은, 운동 영상에서 신체 노드 및 장비 노드를 획득하도록, 신체 노드 및 장비 노드가 라벨링된 학습 영상을 이용하여 학습된 뉴럴 네트워크 모델일 수 있다.The neural network model may be a neural network model learned using training images in which body nodes and equipment nodes are labeled, so as to obtain body nodes and equipment nodes from exercise images.

상기 동작을 분석하는 단계는, 상기 신체 노드 및 상기 장비 노드에 기초하여 상기 사용자의 손목의 동작을 분석하는 단계를 포함할 수 있다.Analyzing the motion may include analyzing the motion of the user's wrist based on the body node and the equipment node.

상기 손목의 동작을 분석하는 단계는, 상기 장비 노드에 기초하여 상기 장비의 회전 각속도를 획득하는 단계; 상기 신체 노드에 기초하여 상기 사용자의 골반의 회전 각속도, 어깨의 회전 각속도 및 팔꿈치의 회전 각속도를 획득하는 단계; 상기 장비의 회전 각속도, 상기 골반의 회전 각속도, 상기 어깨의 회전 각속도 및 상기 팔꿈치의 회전 각속도에 기초하여 상기 사용자의 손목의 회전 각속도를 추정하는 단계를 포함할 수 있다.Analyzing the motion of the wrist may include obtaining a rotational angular velocity of the device based on the device node; Obtaining rotational angular velocities of the user's pelvis, shoulder, and elbow based on the body nodes; It may include estimating the rotational angular velocity of the user's wrist based on the rotational angular velocity of the equipment, the rotational angular velocity of the pelvis, the rotational angular velocity of the shoulder, and the rotational angular velocity of the elbow.

상기 동작 분석 방법은, 동작 분석 결과에 기초하여 데이터베이스에 저장된 참조 데이터 중 상기 사용자와 가장 유사한 참조 데이터를 획득하는 단계; 및 상기 유사한 참조 데이터에 기초하여 상기 사용자에게 피드백을 제공하는 단계를 포함할 수 있다.The motion analysis method includes obtaining reference data most similar to the user among reference data stored in a database based on motion analysis results; and providing feedback to the user based on the similar reference data.

일 실시예에 따른 동작 분석 장치는 메모리; 및 프로세서를 포함하고, 상기 프로세서는, 사용자의 운동 영상을 획득하고, 뉴럴 네트워크 모델을 이용하여 상기 운동 영상 내 복수의 노드를 획득하고, 상기 복수의 노드에 기초하여 상기 사용자의 동작을 분석하고, 상기 복수의 노드는, 상기 사용자의 신체에 대한 신체 노드 및 상기 사용자가 이용하는 장비에 대한 장비 노드를 포함할 수 있다.A motion analysis device according to one embodiment includes a memory; and a processor, wherein the processor acquires an exercise image of the user, obtains a plurality of nodes in the exercise image using a neural network model, and analyzes the user's motion based on the plurality of nodes, The plurality of nodes may include a body node for the user's body and an equipment node for equipment used by the user.

도 1은 일 실시예에 따른 동작 분석 시스템을 나타낸다.
도 2는 일 실시예에 따른 동작 분석 장치를 나타낸다.
도 3은 일 실시예에 따른 동작 분석 방법을 나타낸다.
도 4,도 5a 및 도5b는 동작 분석 방법을 상세히 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 동작 분석 방법에 이용되는 뉴럴 네트워크 모델의 학습 방법을 나타낸다.
1 shows a motion analysis system according to one embodiment.
Figure 2 shows a motion analysis device according to one embodiment.
Figure 3 shows a motion analysis method according to one embodiment.
Figures 4, 5a, and 5b are diagrams for explaining the motion analysis method in detail.
Figure 6 shows a method of learning a neural network model used in a motion analysis method according to an embodiment.

실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only and may be changed and implemented in various forms. Accordingly, the actual implementation form is not limited to the specific disclosed embodiments, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical idea described in the embodiments.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but these terms should be interpreted only for the purpose of distinguishing one component from another component. For example, a first component may be named a second component, and similarly, the second component may also be named a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is referred to as being “connected” to another component, it should be understood that it may be directly connected or connected to the other component, but that other components may exist in between.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as “comprise” or “have” are intended to designate the presence of the described features, numbers, steps, operations, components, parts, or combinations thereof, and are intended to indicate the presence of one or more other features or numbers, It should be understood that this does not exclude in advance the possibility of the presence or addition of steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art. Terms as defined in commonly used dictionaries should be interpreted as having meanings consistent with the meanings they have in the context of the related technology, and unless clearly defined in this specification, should not be interpreted in an idealized or overly formal sense. No.

이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the attached drawings. In the description with reference to the accompanying drawings, identical components will be assigned the same reference numerals regardless of the reference numerals, and overlapping descriptions thereof will be omitted.

도 1은 일 실시예에 따른 동작 분석 시스템을 나타낸다.1 shows a motion analysis system according to one embodiment.

동작 분석 시스템(10)은 사용자를 촬영한 운동 영상에 기초하여 사용자의 운동 동작을 분석하는 동작 분석 장치(100)를 포함할 수 있다. 동작 분석 장치(100)는 비전 딥 러닝을 이용한 포즈 추정 기술을 이용하여 영상 속 사용자의 동작을 분석할 수 있다.The motion analysis system 10 may include a motion analysis device 100 that analyzes the user's exercise motion based on a motion image captured of the user. The motion analysis device 100 can analyze the user's motion in the video using pose estimation technology using vision deep learning.

동작 분석 장치(100)는 뉴럴 네트워크 모델을 통해 포즈 추정 동작을 수행할 수 있다. 즉, 동작 분석 장치(100)는 운동 영상을 뉴럴 네트워크 모델에 입력하여 운동 영상 내 복수의 노드를 획득할 수 있다. 이때, 복수의 노드는 사용자의 신체에 대한 신체 노드 및 상기 사용자가 이용하는 장비에 대한 장비 노드를 포함할 수 있다.The motion analysis device 100 may perform a pose estimation operation through a neural network model. That is, the motion analysis device 100 may obtain a plurality of nodes in the motion image by inputting the motion image into a neural network model. At this time, the plurality of nodes may include a body node for the user's body and an equipment node for equipment used by the user.

동작 분석 장치(100)는 신체 노드 뿐만 아니라 사용자가 이용하는 장비에 대응하는 장비 노드를 추가로 획득할 수 있다. 예를 들어, 동작 분석 장치(100)는 사용자의 골프 스윙 영상에서 사용자의 신체에 대응하는 신체 노드 뿐만 아니라 사용자가 쥐고 있는 골프 클럽에 대응하는 장비 노드를 획득할 수 있다. 다른 예로, 동작 분석 장치(100)는 사용자가 야구 배트를 스윙하는 영상에서 야구 배트에 대응하는 장비 노드를 획득할 수 있다. 상술한 예에 한정되지 않고, 동작 분석 장치(100)는 운동 영상 내에서 사용자가 이용하는 다양한 종류의 장비에 대해, 장비에 대응하는 장비 노드를 획득할 수 있다.The motion analysis device 100 may additionally acquire an equipment node corresponding to the equipment used by the user in addition to the body node. For example, the motion analysis device 100 may obtain not only a body node corresponding to the user's body but also an equipment node corresponding to the golf club held by the user from the user's golf swing image. As another example, the motion analysis device 100 may obtain an equipment node corresponding to a baseball bat from an image of a user swinging a baseball bat. Without being limited to the above-described example, the motion analysis device 100 may obtain equipment nodes corresponding to various types of equipment used by the user in the exercise image.

동작 분석 장치(100)는 일련의 운동 영상으로부터 장비 노드를 추출하는 과정에서, 이전 프레임들(t-1, t-2, ??)의 장비 노드의 좌표를 통해, 현재 프레임(t) 내에 장비가 위치할 가능성이 있는 영역을 예측하고, 예측된 영역 내에서 장비 노드를 추출할 수 있다. 보다 구체적으로, 동작 분석 장치(100)는 이전 프레임에서 추출된 장비 노드로부터 미리 정해진 거리 내의 영역을 예측 영역으로 결정하고, 결정된 예측 영역에서 현재 프레임에 대한 장비 노드를 추출할 수 있다. 동작 분석 장치(100)는 영역 예측을 통해 장비 노드를 추출함으로써, 카메라 성능에 따라 클럽 헤드의 빠른 속도에 기반하여 클럽 형상이 흐릿하게 표현될 수 있는 상황에서 보다 강건하게 장비 노드를 추출할 수 있다. 이와 더불어 동작 분석 장치(100)는 영역 예측을 통해 소정 영역에 대해서만 장비 노드를 검출함으로써 연산 속도와 연산량을 저감할 수 있다.In the process of extracting a device node from a series of motion images, the motion analysis device 100 determines the device within the current frame (t) through the coordinates of the device node of the previous frames (t-1, t-2, ??). The area where is likely to be located can be predicted, and equipment nodes can be extracted within the predicted area. More specifically, the motion analysis device 100 may determine an area within a predetermined distance from the device node extracted in the previous frame as the prediction area, and extract the device node for the current frame from the determined prediction area. By extracting equipment nodes through area prediction, the motion analysis device 100 can extract equipment nodes more robustly in situations where the club shape may be expressed blurry based on the high speed of the club head depending on camera performance. . In addition, the motion analysis device 100 can reduce the computation speed and amount of computation by detecting equipment nodes only for a certain area through area prediction.

동작 분석 장치(100)는 장비 노드를 획득함으로써, 사용자의 동작에 대한 정교한 분석을 수행할 수 있다. 예를 들어, 동작 분석 장치(100)는 장비 노드를 추가로 이용함으로써 장비를 쥐고 있는 사용자의 손의 동작(예를 들어, 손목 스냅 각도 및/또는 각속도)를 정교하게 분석할 수 있다.The motion analysis device 100 can perform sophisticated analysis of the user's motion by acquiring the equipment node. For example, the motion analysis device 100 may precisely analyze the motion of the user's hand holding the device (eg, wrist snap angle and/or angular velocity) by additionally using a device node.

동작 분석 시스템(10)은 센서 장치(150)를 더 포함할 수 있다. 센서 장치(150)는 사용자가 장비를 이용하여 타격한 타구의 움직임을 검출할 수 있다. 예를 들어, 센서 장치(150)는 날아가는 볼(예를 들어, 골프 클럽으로 타격한 골프 공)의 속도 및/또는 회전을 검출할 수 있다. 또한, 센서 장치(150)는 사용자 장비의 스윙 속도를 검출할 수 있다. 예를 들어, 센서 장치(150)는 사용자 장비의 헤드(예를 들어, 골프 클럽의 헤드)의 속도를 검출할 수 있다.The motion analysis system 10 may further include a sensor device 150. The sensor device 150 can detect the movement of a batted ball hit by a user using the equipment. For example, sensor device 150 may detect the speed and/or rotation of a flying ball (e.g., a golf ball struck with a golf club). Additionally, sensor device 150 may detect the swing speed of the user equipment. For example, sensor device 150 may detect the speed of the head of user equipment (e.g., the head of a golf club).

동작 분석 장치(100)는 센서 장치(150)를 통해 검출된 데이터를 수신할 수 있고, 운동 동작 분석에 수신한 데이터를 이용할 수 있다. 예를 들어, 동작 분석 장치(100)는 센서 장치(150)를 통해 검출된 데이터와 포즈 추정을 통해 획득한 분석 결과를 조합하여 향상된 동작 분석 결과를 획득할 수 있다.The motion analysis device 100 can receive data detected through the sensor device 150 and use the received data to analyze exercise motion. For example, the motion analysis device 100 may obtain improved motion analysis results by combining data detected through the sensor device 150 and analysis results obtained through pose estimation.

다른 예로, 동작 분석 장치(100)는 센서 장치(150)를 통해 검출된 데이터에 기초하여 뉴럴 네트워크 모델을 학습하기 위한 데이터를 분류할 수 있다. 예를 들어, 센서 장치(150)를 통해 검출된 데이터에 기초하여 타구의 특성(예를 들어, 타구의 비거리 및/또는 타구의 휘어짐 정도)이 산출될 수 있고, 동작 분석 장치(100)는 타구의 특성에 따라 대응하는 입력 영상을 분류하여 학습 데이터로 활용할 수 있다.As another example, the motion analysis device 100 may classify data for learning a neural network model based on data detected through the sensor device 150. For example, the characteristics of the batted ball (e.g., the distance of the batted ball and/or the degree of deflection of the batted ball) may be calculated based on the data detected through the sensor device 150, and the motion analysis device 100 may The corresponding input image can be classified according to its characteristics and used as learning data.

센서 장치(150)는 동작 분석 시스템(10)의 필수적인 구성요소가 아닐 수 있으며, 동작 분석 시스템(10)은 동작 분석 장치(100)만으로 입력 영상에 기초하여 입력 영상 내 사용자의 운동 동작을 분석할 수 있다.The sensor device 150 may not be an essential component of the motion analysis system 10, and the motion analysis system 10 may analyze the user's exercise movements in the input image based on the input image with only the motion analysis device 100. You can.

일 실시예에 따르면, 동작 분석 시스템(10)의 분석 및 동작 분석 시스템(10)에 포함된 뉴럴 네트워크를 학습시키는 데에 활용되는 운동 영상은 3차원 영상이 활용될 수 있다. 보다 구체적으로, 동작 분석 시스템(10)은 3차원적으로 획득한 운동 영상 또는 2차원적으로 획득한 운동 영상에 대한 합성 영상을 통해 일련의 동작을 수행할 수 있다. 예를 들어, 동작 분석 장치(100)는 골프 스윙 영상을 분석하는 과정에서, 사용자의 정면 영상 및 우측면 영상(오른손잡이의 경우 타격하는 공의 진행 방향이 나타나는 영상)을 합성한 합성 영상을 활용하여 본 명세서를 통해 설명되는 일련의 동작 분석을 수행할 수 있다. 또한, 동작 분석 시스템(10)에 포함된 뉴럴 네트워크도 앞서 설명된 바와 같이 2차원 영상의 합성을 통해 생성된 3차원 영상을 활용하여 학습될 수 있다.According to one embodiment, the motion image used to analyze the motion analysis system 10 and learn the neural network included in the motion analysis system 10 may be a 3D image. More specifically, the motion analysis system 10 may perform a series of movements through a three-dimensionally acquired motion image or a composite image of a two-dimensionally acquired motion image. For example, in the process of analyzing a golf swing image, the motion analysis device 100 uses a composite image that combines the user's frontal image and right side image (an image showing the direction of the hitting ball in the case of a right-handed person). A series of motion analyzes described throughout this specification can be performed. Additionally, the neural network included in the motion analysis system 10 can also be learned using a 3D image generated through synthesis of 2D images, as described above.

3차원 영상은 획득된 2차원 영상을 촬영한 카메라의 위치 관계에 따라 수학적 연산에 기초하여 생성될 수 있다. 이외에도 3차원 영상은 사용자가 장비(예를 들어, 골프 클럽)를 휘두르는 과정에서 가려지지 않는 노드(장비 노드, 얼굴 노드, 우측 어깨 노드, 오른발 노드 등)를 기준으로 2차원 영상이 합성되는 프로세스를 통해 생성될 수 있다. 생성된 3차원 영상을 통해 장비의 3차원 위치가 결정될 수 있다.A 3D image can be generated based on mathematical operations according to the positional relationship of the camera that captured the acquired 2D image. In addition, 3D images are a process in which 2D images are synthesized based on nodes (equipment node, face node, right shoulder node, right foot node, etc.) that are not obscured in the process of the user swinging equipment (e.g., golf club). It can be created through The 3D position of the equipment can be determined through the generated 3D image.

도 2는 일 실시예에 따른 동작 분석 장치를 나타낸다.Figure 2 shows a motion analysis device according to one embodiment.

동작 분석 장치(100)는 메모리(200) 및 프로세서(250)를 포함할 수 있다.The motion analysis device 100 may include a memory 200 and a processor 250.

메모리(200)는 프로세서에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서의 동작 및/또는 프로세서의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.The memory 200 may store instructions (or programs) that can be executed by a processor. For example, the instructions may include instructions for executing the operation of the processor and/or the operation of each component of the processor.

메모리(200)는 휘발성 메모리 장치 또는 불휘발성 메모리 장치로 구현될 수 있다. 휘발성 메모리 장치는 DRAM(dynamic random access memory), SRAM(static random access memory), T-RAM(thyristor RAM), Z-RAM(zero capacitor RAM), 또는 TTRAM(Twin Transistor RAM)으로 구현될 수 있고, 불휘발성 메모리 장치는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(flash memory), MRAM(Magnetic RAM), CBRAM(Conductive Bridging RAM), FeRAM(Ferroelectric RAM), PRAM(Phase change RAM), RRAM(Resistive RAM)으로 구현될 수 있다.The memory 200 may be implemented as a volatile memory device or a non-volatile memory device. The volatile memory device may be implemented as dynamic random access memory (DRAM), static random access memory (SRAM), thyristor RAM (T-RAM), zero capacitor RAM (Z-RAM), or twin transistor RAM (TTRAM). Nonvolatile memory devices include Electrically Erasable Programmable Read-Only Memory (EEPROM), flash memory, Magnetic RAM (MRAM), Conductive Bridging RAM (CBRAM), Ferroelectric RAM (FeRAM), Phase change RAM (PRAM), and RRAM. It can be implemented as (Resistive RAM).

메모리(200)는 뉴럴 네트워크에 포함된 연산이 수행될 행렬을 저장할 수 있다. 메모리(200)는 프로세서(250)가 처리하여 생성된 연산 결과를 저장할 수 있다.The memory 200 may store a matrix on which operations included in the neural network will be performed. The memory 200 may store calculation results generated by processing by the processor 250.

프로세서(250)는 메모리(200)에 저장된 데이터를 처리할 수 있다. 프로세서(250)는 메모리(200)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(250)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.The processor 250 may process data stored in the memory 200. The processor 250 may execute computer-readable code (eg, software) stored in the memory 200 and instructions triggered by the processor 250.

프로세서(250)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램 및/또는 애플리케이션에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.The processor 250 may be a data processing device implemented in hardware that has a circuit with a physical structure for executing desired operations. For example, the intended operations may include code or instructions included in a program and/or application.

프로세서(250)는 중앙 처리 장치(central processing unit), 그래픽 처리 장치(graphics processing unit), 신경망 처리 장치(neural processing unit), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.The processor 250 includes a central processing unit, graphics processing unit, neural processing unit, multi-core processor, multiprocessor, and ASIC. (Application-Specific Integrated Circuit) and FPGA (Field Programmable Gate Array).

이하 설명되는 동작 분석 장치(100)의 동작들은 동작 분석 방법을 수행하기 위한 프로그램 및/또는 애플리케이션이 프로세서(250)를 통해 실행됨으로써 수행되는 동작들로 이해되어야 한다.The operations of the motion analysis device 100 described below should be understood as operations performed by executing a program and/or application for performing a motion analysis method through the processor 250.

도 3은 일 실시예에 따른 동작 분석 방법을 나타내고, 도 4, 도 5a 및 도 5b는 동작 분석 방법을 상세히 설명하기 위한 도면이다.Figure 3 shows a motion analysis method according to an embodiment, and Figures 4, 5a, and 5b are diagrams for explaining the motion analysis method in detail.

동작 분석 장치(100)는 사용자의 운동 영상에 기초하여 사용자의 운동 동작을 분석할 수 있다. 동작 분석 장치(100)는 포즈 추정을 수행하는 뉴럴 네트워크 모델을 이용하여 사용자의 운동 동작을 분석할 수 있다.The motion analysis device 100 may analyze the user's exercise motion based on the user's exercise image. The motion analysis device 100 may analyze the user's exercise motion using a neural network model that performs pose estimation.

동작 분석 장치(100)는 분석하고자 하는 사용자의 운동 영상을 획득할 수 있다(310). 동작 분석 장치(100)는 장비를 이용한 동작이 촬영된 영상을 획득할 수 있다. 예를 들어, 동작 분석 장치(100)는 사용자의 골프 스윙 영상, 야구 스윙 영상, 테니스 스윙 영상, 배드민턴 스윙 영상, 검도 영상 또는 펜싱 영상을 획득하여 사용자의 스윙 동작을 분석할 수 있다.The motion analysis device 100 may acquire a motion image of a user to be analyzed (310). The motion analysis device 100 can acquire images of motions using equipment. For example, the motion analysis device 100 may analyze the user's swing motion by acquiring the user's golf swing image, baseball swing image, tennis swing image, badminton swing image, kendo image, or fencing image.

동작 분석 장치(100)는 뉴럴 네트워크 모델을 이용하여 운동 영상 내 복수의 노드를 획득할 수 있다(320). 이때, 동작 분석 장치(100)가 획득하는 복수의 노드는 사용자의 신체에 대한 신체 노드 및 사용자가 이용하는 장비에 대한 장비 노드를 포함할 수 있다.The motion analysis device 100 may acquire a plurality of nodes in the motion image using a neural network model (320). At this time, the plurality of nodes acquired by the motion analysis device 100 may include a body node for the user's body and an equipment node for equipment used by the user.

신체 노드는 스켈레톤 모델을 구성하는 인체 관절 및 얼굴 주요 부위에 대응하는 노드들을 포함할 수 있다. 예를 들어, 신체 노드는 도 4에 도시된 바와 같이 18개의 노드(코, 목, 오른쪽 어깨, 오른쪽 팔꿈치, 오른쪽 손목, 왼쪽 어깨, 왼쪽 팔꿈치, 왼쪽 손목, 오른쪽 엉덩이, 오른쪽 무릎, 오른쪽 발목, 왼쪽 엉덩이, 왼쪽 무릎, 왼쪽 발목, 오른쪽 눈, 왼쪽 눈, 오른쪽 귀, 왼쪽 귀)를 포함할 수 있다. 신체 노드의 구성이 이에 한정되는 것으로 이해되면 안 되며, 신체 노드는 인체의 포즈를 나타내기에 주요한 지점에 위치하는 적절한 개수의 노드들을 포함할 수 있다. 또한, 도 4에 도시된 바와 같이, 신체 노드들 중 일부 쌍들은 서로 링크될 수 있다. 링크된 신체 노드 쌍은 각 신체 노드를 연결하는 벡터로 표현될 수 있다. 도 4는 비특허문헌(만들면서 배우는 파이토치 딥러닝, 오가와 유타로, 2021)에 포함된 도면일 수 일 수 있다.Body nodes may include nodes corresponding to human body joints and major facial areas that constitute the skeleton model. For example, the body nodes include 18 nodes (nose, neck, right shoulder, right elbow, right wrist, left shoulder, left elbow, left wrist, right hip, right knee, right ankle, left) as shown in Figure 4. May include hips, left knee, left ankle, right eye, left eye, right ear, left ear). The configuration of the body node should not be understood as limited to this, and the body node may include an appropriate number of nodes located at key points to represent the pose of the human body. Additionally, as shown in Figure 4, some pairs of body nodes may be linked to each other. A linked body node pair can be expressed as a vector connecting each body node. Figure 4 may be a drawing included in a non-patent document (PyTorch deep learning learned while making, Yutaro Ogawa, 2021).

장비 노드는 사용자가 이용하는 장비 위에 위치하는 노드일 수 있다. 예를 들어, 장비 노드는 스윙 장비의 헤드(예를 들어, 골프 클럽의 헤드, 야구 배트의 헤드)에 대응하는 노드를 포함할 수 있다. 즉, 도 5a에 도시된 바와 같이 장비 노드는 골프 클럽의 헤드에 대응하는 제8번 노드를 포함할 수 있다. 다른 예로, 장비 노드는 헤드에 대응하는 노드 뿐만 아니라, 스윙 장비의 중앙 점에 대응하는 노드를 더 포함할 수도 있다. 특히, 클럽이 쉽게 휘어지는 드라이버의 경우, 클럽 중앙에 대응하는 노드를 추가로 이용할 수 있다. 장비 노드가 이에 한정되는 것으로 이해되면 안 되며, 장비 노드는 사용자의 운동 동작 중 장비의 위치 및 움직임을 나타내기 위한 적절한 지점에 위치하는 하나 이상의 노드를 포함할 수 있다.The equipment node may be a node located on equipment used by the user. For example, an equipment node may include a node corresponding to the head of a swing equipment (e.g., the head of a golf club, the head of a baseball bat). That is, as shown in FIG. 5A, the equipment node may include an eighth node corresponding to the head of the golf club. As another example, the equipment node may further include a node corresponding to the center point of the swing equipment as well as a node corresponding to the head. In particular, in the case of a driver whose club bends easily, an additional node corresponding to the center of the club can be used. The equipment node should not be understood as being limited to this, and the equipment node may include one or more nodes located at appropriate points to indicate the position and movement of the equipment during the user's exercise movement.

동작 분석 장치(100)는 포즈 추정을 수행하는 뉴럴 네트워크 모델을 이용할 수 있다. 뉴럴 네트워크 모델은 입력된 영상에서 주요 포인트에 대응하는 복수의 노드를 검출하도록 학습된 뉴럴 네트워크 모델일 수 있다. 뉴럴 네트워크 모델은 운동 영상에서 신체 노드 및 장비 노드를 획득하도록, 신체 노드 및 장비 노드가 라벨링된 학습 영상을 이용하여 학습된 뉴럴 네트워크 모델일 수 있다.The motion analysis device 100 may use a neural network model that performs pose estimation. The neural network model may be a neural network model learned to detect a plurality of nodes corresponding to key points in the input image. The neural network model may be a neural network model learned using training images in which body nodes and equipment nodes are labeled, so as to obtain body nodes and equipment nodes from exercise images.

뉴럴 네트워크 모델은 CNN(Convolutional Neural Network) 또는 CNN이 변형된 모델일 수 있다. 다만, 이에 한정되는 것은 아니고, 뉴럴 네트워크 모델은 입력 영상에 대해 주요 포인트에 대응하는 복수의 노드를 검출하도록 학습될 수 있는 다양한 형태의 아키텍처를 가질 수 있다.The neural network model may be a Convolutional Neural Network (CNN) or a modified CNN. However, it is not limited to this, and the neural network model may have various types of architecture that can be learned to detect a plurality of nodes corresponding to key points in the input image.

동작 분석 장치(100)는 사용자가 선택한 운동의 종류(예를 들어, 골프 스윙 또는 야구 스윙) 및/또는 사용자가 선택한 장비의 종류(예를 들어, 퍼터, 아이언 또는 드라이버)에 기초하여 서로 다른 포즈 추정 뉴럴 네트워크 모델을 이용할 수 있다. 즉, 동작 분석 장치(100)는 사용자가 선택한 운동의 종류 및/또는 사용자가 선택한 장비의 종류에 따라 특정 운동의 종류 및/또는 장비의 종류에 대해 학습된 뉴럴 네트워크 모델을 이용할 수 있다. 동작 분석 장치(100)는 별도 사용자 입력 없이 입력된 운동 영상에 기초하여 운동의 종류 및/또는 장비의 종류를 추정하여, 해당하는 뉴럴 네트워크 모델을 이용할 수도 있다.The motion analysis device 100 may perform different poses based on the type of exercise selected by the user (e.g., golf swing or baseball swing) and/or the type of equipment (e.g., putter, iron, or driver) selected by the user. An estimated neural network model can be used. That is, the motion analysis device 100 may use a neural network model learned for a specific type of exercise and/or type of equipment depending on the type of exercise selected by the user and/or the type of equipment selected by the user. The motion analysis device 100 may estimate the type of exercise and/or the type of equipment based on the input exercise image without separate user input and use a corresponding neural network model.

동작 분석 장치(100)는 뉴럴 네트워크 모델을 이용하여 획득한 복수의 노드(신체 노드 및 장비 노드)에 기초하여 운동 영상 내 사용자의 동작(팔, 등, 장비, 다리 등의 움직임, 몸의 꼬임, 속도, 좌표 등)을 분석할 수 있다(330).The motion analysis device 100 is based on a plurality of nodes (body nodes and equipment nodes) acquired using a neural network model. The user's movements in the exercise video (movement of arms, back, equipment, legs, etc., body twists, etc.) speed, coordinates, etc.) can be analyzed (330).

동작 분석 장치(100)는 운동 영상의 각 프레임 별로 획득한 노드에 기초하여 신체 부위 및/또는 장비의 회전 각속도를 획득할 수 있다. 동작 분석 장치(100)는 프레임 간 시간 차이, 특정 신체 부위 및/또는 장비에 대응하는 두 노드 사이 거리, 및 두 노드의 프레임 간 이동 거리에 기초하여 신체 부위 및/또는 장비의 회전 각속도를 계산할 수 있다. 이때, 동작 분석 장치(100)는 센서 장치(150)를 통해 검출된 데이터를 추가로 이용하여 신체 부위 및/또는 장비의 회전 각속도를 계산할 수 있다. 예를 들어, 동작 분석 장치(100)는 센서 장치(150)를 통해 획득된 장비의 속도(예를 들어, 클럽 헤드 속도)와 장비 노드를 통해 계산된 클럽 헤드의 속도의 평균을 이용하여 장비의 회전 각속도를 계산할 수도 있다.The motion analysis device 100 may acquire the rotational angular velocity of the body part and/or equipment based on the nodes acquired for each frame of the exercise image. The motion analysis device 100 may calculate the rotational angular velocity of the body part and/or equipment based on the time difference between frames, the distance between two nodes corresponding to a specific body part and/or equipment, and the inter-frame movement distance of the two nodes. there is. At this time, the motion analysis device 100 may additionally use the data detected through the sensor device 150 to calculate the rotational angular velocity of the body part and/or equipment. For example, the motion analysis device 100 uses the average of the speed of the equipment (e.g., club head speed) obtained through the sensor device 150 and the speed of the club head calculated through the equipment node to determine the speed of the equipment. You can also calculate the rotational angular velocity.

일 예로, 도5a를 참조하면, 골반 회전 각속도(w9-10)는 골반 양쪽에 각각 대응하는 신체 노드인 제9번 및 제10번 노드에 기초하여 계산될 수 있고, 어깨 회전 각속도(w2-3)는 양쪽 어깨에 각각 대응하는 신체 노드인 제2번 및 제3번 노드에 기초하여 계산될 수 있고, 팔꿈치 회전 각속도(w4-5)는 양쪽 팔꿈치에 각각 대응하는 신체 노드인 제4번 및 제5번 노드에 기초하여 계산될 수 이따.As an example, referring to Figure 5A, the pelvic rotation angular velocity (w 9-10 ) can be calculated based on the 9th and 10th nodes, which are body nodes corresponding to each side of the pelvis, and the shoulder rotation angular velocity (w 2 -3 ) can be calculated based on the 2nd and 3rd body nodes corresponding to both shoulders, respectively, and the elbow rotation angular velocity (w 4-5 ) can be calculated based on the 4th body node corresponding to both elbows, respectively. Hereafter it can be calculated based on the first and fifth nodes.

손목 회전 각속도(w6-7)는 양쪽 손목에 각각 대응하는 신체 노드인 제6번 및 제7번 노드에 기초하여 계산될 수 있으나, 손목의 움직임(예를 들어, 손목 스냅)은 미세하기 때문에, 포즈 추정이 매우 정교하게 이루어지지 않는 경우 정확도가 떨어질 수 있다.The wrist rotation angular velocity (w 6-7 ) can be calculated based on the 6th and 7th body nodes corresponding to each wrist, but since the wrist movement (e.g., wrist snap) is subtle, , if pose estimation is not done very precisely, accuracy may decrease.

동작 분석 장치(100)는 장비 노드(제8번 노드) 및 장비를 쥐고 있는 손목 노드(제6번 노드)에 기초하여 장비 회전 각속도(w6-8)를 계산하고, 장비의 회전 각속도를 이용하여 손목 회전 각속도(w6-7)를 높은 정확도로 추정할 수 있다. 동작 분석 장치(100)는 수학식 1과 같이 장비 회전 각속도(w6-8), 골반 회전 각속도(w9-10), 어깨 회전 각속도(w2-3), 및 팔꿈치 회전 각속도(w4-5)에 기초하여 손목 회전 각속도(w6-7)를 추정할 수 있다.The motion analysis device 100 calculates the equipment rotational angular velocity (w 6-8 ) based on the equipment node (node 8) and the wrist node holding the equipment (node 6), and uses the rotational angular speed of the equipment. Thus, the wrist rotation angular velocity (w 6-7 ) can be estimated with high accuracy. The motion analysis device 100 calculates the equipment rotation angular velocity (w 6-8 ), the pelvic rotation angular velocity (w 9-10 ), the shoulder rotation angular velocity (w 2-3 ), and the elbow rotation angular velocity (w 4-) as shown in Equation 1. 5 ), the wrist rotation angular velocity (w 6-7 ) can be estimated.

Figure 112021121576717-pat00001
Figure 112021121576717-pat00001

이때, 입력 영상이 촬영된 각도에 따라, 팔꿈치 회전 각속도(w4-5) 대신 제2번 노드 및 제4번 노드로 연결된 강체(팔뚝)의 회전 각속도(w2-4)가 이용될 수도 있다. 이에 한정되는 것이 아니고, 모든 노드에 기초하여 계산될 수 있는 강체의 각속도는 일부가 선택되어 손목의 움직임을 분석하기 위해 이용될 수 있다.At this time, depending on the angle at which the input image was captured, the rotation angular velocity (w 2-4 ) of the rigid body (forearm) connected to the second and fourth nodes may be used instead of the elbow rotation angular velocity (w 4-5 ). . It is not limited to this, and some of the angular velocities of the rigid body that can be calculated based on all nodes can be selected and used to analyze the movement of the wrist.

동작 분석 장치(100)는 추정된 손목 회전 각속도(w6-7)가 다른 신체 부위의 각속도와 비교하여 손목 스냅이 과다한지 여부를 분석할 수 있고, 사용자가 이를 교정할 수 있도록 피드백을 제공할 수 있다.The motion analysis device 100 can analyze whether the wrist snap is excessive by comparing the estimated wrist rotation angular velocity ( w6-7 ) with the angular velocity of other body parts, and provide feedback so that the user can correct it. You can.

동작 분석 장치(100)는 일련의 시간동안 w6-7, w6-8 , w4-5, w2-3, w9-1의 변화 추이에 대한 정보를 제공할 수 있다. 보다 구체적으로, 동작 분석 장치(100)는 스윙이 진행되는 동안 개별 요소들의 각속도 변화 추이를 제공할 수 있다. 동작 분석 장치(100)는 스윙 과정에서 적절한 시점에 신체가 적절한 회전을 수행했는지, 팔 뿐만 아니라 몸통의 회전을 이용하여 스윙이 이루어지는지 여부에 대한 정보를 제공할 수 있다.The motion analysis device 100 may provide information on changes in w 6-7, w 6-8 , w 4-5, w 2-3 , and w 9-1 over a series of times. More specifically, the motion analysis device 100 may provide angular velocity change trends of individual elements while a swing is in progress. The motion analysis device 100 may provide information on whether the body performed an appropriate rotation at an appropriate time during the swing process and whether the swing is performed using rotation of the torso as well as the arms.

동작 분석 장치(100)는 장비 노드(제8번 노드) 및 손목 노드(제6번 노드 또는 제7번 노드)에 기초하여 손목의 코킹 각도를 계산할 수 있다. 동작 분석 장치(100)는 사용자에게 손목의 코킹 각도에 대한 피드백을 제공할 수 있다.The motion analysis device 100 may calculate the cocking angle of the wrist based on the equipment node (node 8) and the wrist node (node 6 or node 7). The motion analysis device 100 may provide feedback to the user about the cocking angle of the wrist.

동작 분석 장치(100)는 추정된 손목 회전 각속도(w6-7)가 다른 신체 부위의 각속도와 비교하여 손목 스냅이 과다한지 여부를 분석할 수 있고, 사용자가 이를 교정할 수 있도록 피드백을 제공할 수 있다.The motion analysis device 100 can analyze whether the wrist snap is excessive by comparing the estimated wrist rotation angular velocity ( w6-7 ) with the angular velocity of other body parts, and provide feedback so that the user can correct it. You can.

동작 분석 장치(100)는 동작 분석 결과에 기초하여 데이터베이스에 저장된 참조 데이터 중 상기 사용자와 가장 유사한 참조 데이터를 획득할 수 있다. 예를 들어, 동작 분석 장치(100)는 프로 선수의 스윙 영상을 분석한 결과를 참조 데이터로 보관할 수 있고, 사용자의 동작 분석 결과를 참조 데이터와 비교하여 가장 유사한 참조 데이터(예를 들어, 사용자와 가장 스윙의 유사도가 높은 프로의 스윙 분석 결과)를 획득할 수 있다. 보다 구체적으로, 동작 분석 장치(100)는 사용자의 동작을 정량화한 결과에 기초하여 가장 유사한 참조 데이터를 제공하거나, 하기에 설명된 바와 같이 피드백을 제공할 수 있다. 동작 분석 장치(100)가 사용자의 동작을 정량화하는 예시적인 방식은 도 5b를 통해 설명된다.The motion analysis device 100 may obtain reference data most similar to the user among reference data stored in a database based on the motion analysis results. For example, the motion analysis device 100 may store the results of analyzing a professional player's swing video as reference data, and compare the user's motion analysis results with the reference data to determine the most similar reference data (e.g., the user and You can obtain the swing analysis results of a professional with the highest swing similarity. More specifically, the motion analysis device 100 may provide the most similar reference data based on the results of quantifying the user's motion or provide feedback as described below. An exemplary manner in which the motion analysis device 100 quantifies the user's motion is described with reference to FIG. 5B.

동작 분석 장치(100)는 사용자의 동작 분석 결과와 참조 데이터 사이의 유사도에 기초하여 사용자에게 피드백을 제공할 수 있다. 예를 들어, 동작 분석 장치(100)는 사용자에게 사용자의 동작 분석 결과와 참조 데이터 간의 차이를 피드백으로 제공할 수 있다. 보다 구체적으로, 동작 분석 장치(100)는 A 사용자의 스윙 분석을 통해 유사도가 가장 높은 프로 선수인 타이거 우즈의 스윙 영상을 사용자에게 제공할 수 있다. 또한, 동작 분석 장치(100)는 타이거 우즈의 스윙 영상(참조 데이터)와 A 사용자의 동작 분석 결과 비교를 통해 코킹 각도의 차이, 스윙 속도의 차이, 어깨 회전/ 골반 회전의 적절성 여부 등 운동 동작과 관련된 임의의 분석 요소의 차이에 기초하여 사용자의 운동 동작 개선 방안에 대한 정보를 제공할 수 있다. 예를 들어, 동작 분석 장치(100)는 참조 데이터와의 비교를 통해 코킹 각을 일정 이상으로 늘리는 방안에 대한 정보를 사용자에게 제공할 수 있다. 동작 분석 장치(100)가 제공하는 정보는 코킹각과 관련된 개선 방향에 한정되는 것이 아니고, 과회전 여부, 신체 부위별 회전 속도, 회전 순서 등 임의의 운동과 관련된 정보를 제공할 수 있음은 통상의 기술자가 이해할 것이다.The motion analysis device 100 may provide feedback to the user based on the similarity between the user's motion analysis result and reference data. For example, the motion analysis device 100 may provide the user with the difference between the user's motion analysis result and reference data as feedback. More specifically, the motion analysis device 100 may provide the user with a swing image of Tiger Woods, a professional player with the highest similarity, through analysis of user A's swing. In addition, the motion analysis device 100 compares Tiger Woods' swing image (reference data) with user A's motion analysis results to determine exercise motions such as differences in cocking angles, differences in swing speeds, and whether shoulder rotation/pelvic rotation is appropriate. Information on ways to improve the user's exercise movements can be provided based on differences in any related analysis elements. For example, the motion analysis device 100 may provide the user with information on how to increase the cocking angle beyond a certain level through comparison with reference data. The information provided by the motion analysis device 100 is not limited to the direction of improvement related to the cocking angle, and can provide information related to any movement, such as whether there is over-rotation, rotation speed for each body part, and rotation order, according to a person skilled in the art. You will understand.

또한, 동작 분석 장치(100)는 참조 데이터에 저장된 프로 선수의 w6-7, w6-8 , w4-5, w2-3, w9-1사이의 실시간 비율 정보와 사용자의 w6-7, w6-8 , w4-5, w2-3, w9-1의 실시간 비율 정보에 기초하여 피드백 정보를 제공할 수 있다. 보다 구체적으로, 동작 분석 장치(100)는 프로 선수의 실시간 w6-7, w6-8 , w4-5, w2-3, w9-1의 비율 정보를 사용자의 실시간 w6-7, w6-8 , w4-5, w2-3, w9-1의 비율 정보와 비교함으로써, 사용자 신체의 개별 요소가 실시간으로 적절한 회전을 수행하고 있는지 판단하여 피드백 정보를 제공할 수 있다. 예를 들어, 동작 분석 장치(100)는 앞선 비교 과정을 통해 사용자가 다운스윙을 하는 특정 시점에 팔꿈치 회전 각속도 w4-5가 늦어지는 것으로 결정되는 경우, 이에 대한 피드백 정보(예: 팔꿈치 회전이 다운스윙 특정 시점에 0.011rad/s 만큼 늦어짐.)를 제공할 수 있다. 스윙의 경우, 신체 개별 요소의 회전이 적절히 조합되는 것이 중요하므로, 동작 분석 장치(100)는 앞서 설명된 비율 정보를 토대로 개별 요소의 회전의 적절성을 평가하여 피드백 정보를 제공함으로써, 자세 교정에 효과적인 수단을 제공할 수 있다.In addition, the motion analysis device 100 uses real-time ratio information between the professional player's w 6-7, w 6-8 , w 4-5, w 2-3 , and w 9-1 stored in the reference data and the user's w 6 Feedback information can be provided based on real-time ratio information of -7, w 6-8 , w 4-5, w 2-3 , and w 9-1 . More specifically, the motion analysis device 100 converts the professional player's real-time w 6-7, w 6-8 , w 4-5, w 2-3 , and w 9-1 ratio information into the user's real-time w 6-7. By comparing with the ratio information of w 6-8 , w 4-5, w 2-3 , and w 9-1 , it is possible to determine whether individual elements of the user's body are performing appropriate rotation in real time and provide feedback information . . For example, when the motion analysis device 100 determines through the previous comparison process that the elbow rotation angular velocity w 4-5 is slow at a specific point in time when the user is making a downswing, the motion analysis device 100 provides feedback information (e.g., the elbow rotation is slow). It can provide a delay of as much as 0.011rad/s at a certain point in the downswing. In the case of swing, it is important to properly combine the rotation of individual body elements, so the motion analysis device 100 evaluates the appropriateness of rotation of individual elements based on the ratio information described above and provides feedback information, which is effective in correcting posture. We can provide the means.

동작 분석 장치(100)는 스윙이 진행되는 동안 실시간 각속도의 적절성이 결정될 수 있고, 추이에 대한 정보를 제공할 수 있다. 보다 구체적으로, 동작 분석 장치(100)는 스윙이 진행되는 동안 개별 요소들의 각속도 변화 추이를 제공할 수 있다. 동작 분석 장치(100)는 스윙 과정에서 적절한 시점에 신체가 적절한 회전을 수행했는지, 팔 뿐만 아니라 몸통의 회전을 이용하여 스윙이 이루어지는지 여부에 대한 정보를 제공할 수 있다.The motion analysis device 100 can determine the appropriateness of real-time angular velocity while a swing is in progress and provide information about the trend. More specifically, the motion analysis device 100 may provide angular velocity change trends of individual elements while a swing is in progress. The motion analysis device 100 may provide information on whether the body performed an appropriate rotation at an appropriate time during the swing process and whether the swing is performed using rotation of the torso as well as the arms.

도 5b는 일 실시예에 따른 동작 분석 장치가 사용자의 동작을 정량화하는 방법을 예시적으로 도시하는 도면이다.FIG. 5B is a diagram illustrating a method by which a motion analysis device quantifies a user's motion according to an embodiment.

일 실시예에 따르면, 동작 분석 장치(100)는 동작에 대한 정량화를 통해, 참조 데이터를 제공하거나, 동작에 대한 피드백을 제공하거나, 동작에 대한 점수를 부여하는 게임 서비스를 제공할 수 있다.According to one embodiment, the motion analysis device 100 may provide a game service that provides reference data, feedback on motion, or gives scores for motion through quantification of motion.

예를 들어, 동작 분석 장치(100)는 사용자의 골프 스윙 영상을 정량화할 수 있다. 보다 구체적으로, 동작 분석 장치(100)는 스윙의 정면 영상 및 측면 영상을 활용하여 사용자의 골프 스윙을 정량화 할 수 있다.For example, the motion analysis device 100 may quantify an image of a user's golf swing. More specifically, the motion analysis device 100 can quantify the user's golf swing by utilizing the front and side images of the swing.

도 5b에 도시된 바와 같이, 동작 분석 장치(100)는 스윙 영상의 개별 노드를 활용하여 스윙을 정량화할 수 있는데, 노드 번호의 경우 앞선 도 5a를 통해 설명된 바와 동일할 수 있다.As shown in FIG. 5B, the motion analysis device 100 can quantify the swing using individual nodes of the swing image, and the node number may be the same as previously described with reference to FIG. 5A.

예시적으로, 동작 분석 장치(100)는 사용자의 스윙을 1) 코킹 각도, 2) 코킹 해제 시점, 3) 머리 움직임 유무, 4) 치킨윙 유무, 5) 백스윙 플레인(back swing plane), 6) 다운스윙 플레인(down swing plane), 6) 척추 각도, 7) 클럽 각도, 8) 백스윙 탑 위치 등의 요소로 정량화 할 수 있다. 예를 들어, 동작 분석 장치(100)는 클럽 헤드 노드(8)- 왼손 노드(7)- 왼팔꿈치 노드(5) 사이의 각도에 기초하여 코킹 각도를 결정할 수 있다. 또한, 동작 분석 장치(100)는 코킹 각도가 100도 이상으로 커지는 시점을 코킹 해제 시점으로 결정할 수 있다. 동작 분석 장치(100)는 머리 노드(1)가 척추 노드(노드 9 및 노드 10의 중간)에 대응되는 위치를 유지하는지 여부에 기초하여 머리 움직임 유무를 결정할 수 있다. 동작 분석 장치(100)는 왼쪽 어깨 노드(3) - 왼쪽 팔꿈치 노드(5) - 왼쪽 손목 노드(7)이 이루는 각도가 130도보다 작아지는 경우(클럽 헤드 노드(8)가 임팩트 직후 몸의 왼쪽을 벗어나 릴리즈 되는 시점 기준), 치킨윙이 이루어진 것으로 결정할 수 있다. 이외에도, 동작 분석 장치(100)는 (c)에 도시된 바와 같이 클럽 헤드 노드(8)의 궤적을 통해 결정되는 붉은색 궤적을 백스윙 플레인으로 결정할 수 있으며, 노란색 궤적을 다운스윙 플레인으로 결정할 수 있다.For example, the motion analysis device 100 measures the user's swing by: 1) cocking angle, 2) cocking release point, 3) presence or absence of head movement, 4) presence or absence of chicken wing, 5) back swing plane, 6) It can be quantified by factors such as down swing plane, 6) spine angle, 7) club angle, and 8) backswing top position. For example, the motion analysis device 100 may determine the cocking angle based on the angle between the club head node 8 - the left hand node 7 - the left elbow node 5. Additionally, the motion analysis device 100 may determine the time when the cocking angle increases to 100 degrees or more as the time to release the cocking. The motion analysis device 100 may determine the presence or absence of head movement based on whether the head node 1 maintains a position corresponding to the spinal node (midway between node 9 and node 10). The motion analysis device 100 operates when the angle formed by the left shoulder node (3), left elbow node (5), and left wrist node (7) becomes less than 130 degrees (the club head node (8) moves to the left side of the body immediately after impact. (based on the time of release), it can be determined that chicken wing has been achieved. In addition, the motion analysis device 100 may determine the red trajectory determined through the trajectory of the club head node 8 as the backswing plane, as shown in (c), and determine the yellow trajectory as the downswing plane. .

동작 분석 장치(100)는 장비 노드(클럽 헤드 노드(8))의 경로를 추적하여 스윙 플레인을 사용자에게 제공할 수 있다. 동작 분석 장치(100)는 클럽 헤드 노드(8) 외에도 클럽의 무게 중심 노드를 활용하여 스윙 플레인을 사용자에게 제공할 수 있다. 스윙 플레인은 구현에 따라 3차원 공간 상의 나선(spiral) 형태로 1차원 곡선 혹은 2차원 곡면의 형태로 제공될 수 있다. 또한, 동작 분석 장치(100)는 스윙 플레인을 스윙 영상에 합성하여 제공할 수 있으며, 스윙 플레인의 각도, 면적, 형태에 대한 정보를 제공함으로써 보다 직관적인 인터페이스를 제공할 수 있다.The motion analysis device 100 may track the path of the equipment node (club head node 8) and provide the swing plane to the user. The motion analysis device 100 may provide a swing plane to the user by utilizing the center of gravity node of the club in addition to the club head node 8. Depending on implementation, the swing plane may be provided in the form of a one-dimensional curve or a two-dimensional curved surface in the form of a spiral in three-dimensional space. Additionally, the motion analysis device 100 can provide a swing plane by combining it with a swing image, and can provide a more intuitive interface by providing information about the angle, area, and shape of the swing plane.

동작 분석 장치(100)는 머리 노드(1) - 골반 노드(9) - 오른발 노드(10)가 이루는 각도(노란색 점선이 이루는 각도)를 척추 각도로 결정할 수 있으며, 팔꿈치 노드(4) - 손목 노드(6) - 클럽 헤드 노드(8)의 각도를 클럽 각도로 결정할 수 있다.정량화 대상이 되는 요소 및 정량화하는 방법은 예시적인 것일 뿐, 본원 발명이 이에 한정되는 것이 아님은 통상의 기술자가 이해할 것이다.The motion analysis device 100 can determine the angle formed by the head node 1 - the pelvic node 9 - the right foot node 10 (the angle formed by the yellow dotted line) as the spine angle, and the elbow node 4 - the wrist node. (6) - The angle of the club head node 8 can be determined by the club angle. Those skilled in the art will understand that the elements subject to quantification and the method of quantification are illustrative and the present invention is not limited thereto. .

도 6은 일 실시예에 따른 동작 분석 방법에 이용되는 뉴럴 네트워크 모델의 학습 방법을 나타낸다.Figure 6 shows a method of learning a neural network model used in a motion analysis method according to an embodiment.

동작 분석 장치(100)는 운동 영상에서 사용자의 신체에 대한 신체 노드 및 상기 사용자가 이용하는 장비에 대한 장비 노드를 획득하도록, 신체 노드 및 장비 노드가 라벨링된 학습 영상을 이용하여 학습된 뉴럴 네트워크 모델을 이용할 수 있다.The motion analysis device 100 uses a neural network model learned using a training image labeled with body nodes and equipment nodes to obtain a body node for the user's body and an equipment node for the equipment used by the user from the exercise image. Available.

학습 영상은 장비를 쥐고 있는 신체가 촬영된 영상에 신체의 주요 포인트(예를 들어, 관절 및/또는 얼굴 주요 부위)에 대응하는 신체 노드 및 장비의 특정 위치에 대응하는 장비 노드를 라벨링함으로써 생성될 수 있다(610).Learning images can be created by labeling images of a body holding a device with body nodes corresponding to key points on the body (e.g., joints and/or key parts of the face) and device nodes corresponding to specific positions on the device. Can (610).

장비 노드는 장비의 끝 부분(예를 들어, 골프 클럽의 헤드)에 대응하는 위치로 지정될 수 있다. 장비 노드는 헤드에 대응하는 위치 뿐만 아니라, 스윙 장비의 중앙 점에 대응하는 위치에도 지정될 수 있다. 특히, 클럽이 쉽게 휘어지는 드라이버의 경우, 클럽 중앙에 대응하는 위치에 추가로 노드를 지정할 수 있다. 장비 노드가 지정되는 위치는 이에 한정되는 것이 아니고, 장비의 특성 등에 따라 운동 동작 중 장비의 위치 및 움직임을 나타내기 위한 적절한 지점에 지정될 수 있다.An equipment node may be designated as a location corresponding to the end of the equipment (e.g., the head of a golf club). Equipment nodes can be specified not only at positions corresponding to the head, but also at positions corresponding to the central point of the swing equipment. In particular, in the case of a driver whose club bends easily, an additional node can be designated at a location corresponding to the center of the club. The location where the equipment node is designated is not limited to this, and may be designated at an appropriate point to indicate the position and movement of the equipment during exercise operation, depending on the characteristics of the equipment.

학습 영상은 센서 장치(150)를 통해 검출된 데이터에 기초하여 타구의 특성(예를 들어, 타구의 비거리 및/또는 타구의 휘어짐 정도)에 따라 분류될 수 있고, 분류된 특성은 뉴럴 네트워크 모델의 학습을 위한 파라미터로 이용될 수 있다.The learning image may be classified according to the characteristics of the batted ball (e.g., the distance of the batted ball and/or the degree of deflection of the batted ball) based on the data detected through the sensor device 150, and the classified characteristics are of the neural network model. It can be used as a parameter for learning.

생성된 학습 영상을 통해 포즈 추정을 위한 뉴럴 네트워크 모델이 학습될 수 있다(630).A neural network model for pose estimation may be learned through the generated training image (630).

학습 영상은 운동의 종류(예를 들어, 골프 스윙 또는 야구 스윙) 및/또는 장비의 종류(예를 들어, 퍼터, 아이언 또는 드라이버)에 따라 분류될 수 있고, 분류된 학습 영상들은 운동의 종류 및/또는 장비의 종류에 따라 서로 다른 뉴럴 네트워크 모델의 학습에 이용될 수 있다.Learning videos may be classified according to the type of exercise (e.g., golf swing or baseball swing) and/or type of equipment (e.g., putter, iron, or driver), and the classified learning videos may include the type of exercise and /Or it can be used to learn different neural network models depending on the type of equipment.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented with hardware components, software components, and/or a combination of hardware components and software components. For example, the devices, methods, and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, and a field programmable gate (FPGA). It may be implemented using a general-purpose computer or a special-purpose computer, such as an array, programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and software applications running on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include. For example, a processing device may include multiple processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device. Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on a computer-readable recording medium.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. A computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination, and the program instructions recorded on the medium may be specially designed and constructed for the embodiment or may be known and available to those skilled in the art of computer software. It may be possible. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.

위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware devices described above may be configured to operate as one or multiple software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited drawings, those skilled in the art can apply various technical modifications and variations based on this. For example, the described techniques are performed in a different order than the described method, and/or components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or other components are used. Alternatively, appropriate results may be achieved even if substituted or substituted by an equivalent.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims also fall within the scope of the claims described below.

Claims (6)

사용자의 운동 영상을 획득하는 단계;
뉴럴 네트워크 모델을 이용하여 상기 운동 영상 내 복수의 노드를 획득하는 단계; 및
상기 복수의 노드에 기초하여 상기 사용자의 동작을 분석하는 단계
를 포함하고,
상기 복수의 노드는,
상기 사용자의 신체에 대한 신체 노드 및 상기 사용자가 이용하는 장비에 대한 장비 노드를 포함하고,
상기 동작을 분석하는 단계는,
상기 신체 노드 및 상기 장비 노드에 기초하여 상기 사용자의 손목의 동작을 분석하는 단계
를 포함하고,
상기 손목의 동작을 분석하는 단계는,
상기 장비 노드에 기초하여 상기 장비의 회전 각속도를 획득하는 단계;
상기 신체 노드에 기초하여 상기 사용자의 골반의 회전 각속도, 어깨의 회전 각속도 및 팔꿈치의 회전 각속도를 획득하는 단계;
상기 장비의 회전 각속도, 상기 골반의 회전 각속도, 상기 어깨의 회전 각속도 및 상기 팔꿈치의 회전 각속도에 기초하여 상기 사용자의 손목의 회전 각속도를 추정하는 단계
를 포함하고,
상기 각속도를 추정하는 단계는,
상기 장비의 회전 각속도와 상기 골반의 회전 각속도의 차분에 기초하여 상기 손목의 회전 각속도를 추정하는, 동작 분석 방법.
Obtaining a user's exercise image;
Obtaining a plurality of nodes in the motion image using a neural network model; and
Analyzing the user's actions based on the plurality of nodes
Including,
The plurality of nodes are,
Includes a body node for the user's body and an equipment node for equipment used by the user,
The step of analyzing the operation is,
Analyzing the motion of the user's wrist based on the body node and the equipment node
Including,
The step of analyzing the motion of the wrist is,
Obtaining a rotational angular velocity of the equipment based on the equipment node;
Obtaining rotational angular velocities of the user's pelvis, shoulder, and elbow based on the body nodes;
Estimating the rotational angular velocity of the user's wrist based on the rotational angular velocity of the equipment, the rotational angular velocity of the pelvis, the rotational angular velocity of the shoulder, and the rotational angular velocity of the elbow.
Including,
The step of estimating the angular velocity is,
A motion analysis method for estimating the rotational angular velocity of the wrist based on the difference between the rotational angular velocity of the equipment and the rotational angular velocity of the pelvis.
제1항에 있어서,
상기 뉴럴 네트워크 모델은,
운동 영상에서 신체 노드 및 장비 노드를 획득하도록, 신체 노드 및 장비 노드가 라벨링된 학습 영상을 이용하여 학습된 뉴럴 네트워크 모델인, 동작 분석 방법.
According to paragraph 1,
The neural network model is,
A motion analysis method, which is a neural network model learned using training images in which body nodes and equipment nodes are labeled to obtain body nodes and equipment nodes from exercise images.
삭제delete 제1항에 있어서,
상기 각속도를 추정하는 단계는,
수학식 1에 기초하여 상기 손목의 각속도를 추정하고,
상기 수학식 1은,
w6-7 = w6-8 - ( w4-5 + w2-3 + w9-10)이고,
상기 w6-7 는 손목 회전 각속도이고, 상기 w6-8는 장비 회전 각속도이고, 상기 w4-5는 팔꿈치 회전 각속도이고, 상기 w2-3는 어깨 회전 각속도이고, 상기 w9-10는 골반의 회전 각속도인, 동작 분석 방법.
According to paragraph 1,
The step of estimating the angular velocity is,
Estimate the angular velocity of the wrist based on Equation 1,
Equation 1 above is:
w 6-7 = w 6-8 - ( w 4-5 + w 2-3 + w 9-10 ),
The w 6-7 is the wrist rotation angular velocity, the w 6-8 is the equipment rotation angular velocity, the w 4-5 is the elbow rotation angular velocity, the w 2-3 is the shoulder rotation angular velocity, and the w 9-10 is the Motion analysis method, which is the rotational angular velocity of the pelvis.
제1항에 있어서,
상기 동작 분석 방법은,
동작 분석 결과에 기초하여 데이터베이스에 저장된 참조 데이터 중 상기 사용자와 가장 유사한 참조 데이터를 획득하는 단계; 및
상기 유사한 참조 데이터에 기초하여 상기 사용자에게 피드백을 제공하는 단계
를 포함하고,
상기 참조 데이터를 획득하는 단계는,
사용자와 가장 스윙의 유사도가 높은 프로의 스윙 분석 데이터를 상기 참조 데이터로 획득하고,
상기 피드백을 제공하는 단계는,
상기 획득한 스윙 분석 데이터를 제공하는, 동작 분석 방법.
According to paragraph 1,
The motion analysis method is,
Obtaining reference data most similar to the user among reference data stored in a database based on motion analysis results; and
providing feedback to the user based on the similar reference data.
Including,
The step of acquiring the reference data is,
Obtain the swing analysis data of a professional whose swing is most similar to the user as the reference data,
The step of providing the feedback is,
A motion analysis method that provides the obtained swing analysis data.
동작 분석 장치에 있어서,
메모리; 및
프로세서
를 포함하고,
상기 프로세서는,
사용자의 운동 영상을 획득하고,
뉴럴 네트워크 모델을 이용하여 상기 운동 영상 내 복수의 노드를 획득하고,
상기 복수의 노드에 기초하여 상기 사용자의 동작을 분석하고,
상기 복수의 노드는,
상기 사용자의 신체에 대한 신체 노드 및 상기 사용자가 이용하는 장비에 대한 장비 노드를 포함하고,
상기 프로세서는,
상기 신체 노드 및 상기 장비 노드에 기초하여 상기 사용자의 손목의 동작을 분석하고,
상기 프로세서는,
상기 장비 노드에 기초하여 상기 장비의 회전 각속도를 획득하는 단계;
상기 신체 노드에 기초하여 상기 사용자의 골반의 회전 각속도, 어깨의 회전 각속도 및 팔꿈치의 회전 각속도를 획득하고,
상기 장비의 회전 각속도, 상기 골반의 회전 각속도, 상기 어깨의 회전 각속도 및 상기 팔꿈치의 회전 각속도에 기초하여 상기 사용자의 손목의 회전 각속도를 추정하고,
상기 프로세서는,
상기 장비의 회전 각속도와 상기 골반의 회전 각속도의 차분에 기초하여 상기 손목의 회전 각속도를 추정하는, 동작 분석 장치.
In the motion analysis device,
Memory; and
processor
Including,
The processor,
Obtain the user's exercise video,
Obtaining a plurality of nodes in the exercise image using a neural network model,
Analyzing the user's actions based on the plurality of nodes,
The plurality of nodes are,
Includes a body node for the user's body and an equipment node for equipment used by the user,
The processor,
Analyzing the motion of the user's wrist based on the body node and the equipment node,
The processor,
Obtaining a rotational angular velocity of the equipment based on the equipment node;
Obtaining the rotational angular velocity of the user's pelvis, shoulder rotational angular velocity, and elbow rotational angular velocity based on the body node,
Estimating the rotational angular velocity of the user's wrist based on the rotational angular velocity of the equipment, the rotational angular velocity of the pelvis, the rotational angular velocity of the shoulder, and the rotational angular velocity of the elbow,
The processor,
A motion analysis device that estimates the rotational angular velocity of the wrist based on the difference between the rotational angular velocity of the equipment and the rotational angular velocity of the pelvis.
KR1020210142099A 2021-10-22 2021-10-22 Motion analysis method and device KR102636103B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210142099A KR102636103B1 (en) 2021-10-22 2021-10-22 Motion analysis method and device
KR1020240017935A KR20240019212A (en) 2021-10-22 2024-02-06 Motion analysis method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210142099A KR102636103B1 (en) 2021-10-22 2021-10-22 Motion analysis method and device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020240017935A Division KR20240019212A (en) 2021-10-22 2024-02-06 Motion analysis method and device

Publications (2)

Publication Number Publication Date
KR20230057850A KR20230057850A (en) 2023-05-02
KR102636103B1 true KR102636103B1 (en) 2024-02-08

Family

ID=86387819

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210142099A KR102636103B1 (en) 2021-10-22 2021-10-22 Motion analysis method and device
KR1020240017935A KR20240019212A (en) 2021-10-22 2024-02-06 Motion analysis method and device

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020240017935A KR20240019212A (en) 2021-10-22 2024-02-06 Motion analysis method and device

Country Status (1)

Country Link
KR (2) KR102636103B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020074596A1 (en) * 2018-10-09 2020-04-16 Brian Francis Mooney Coaching, assessing or analysing unseen processes in intermittent high-speed human motions, including golf swings

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101361165B1 (en) * 2012-07-12 2014-02-25 국민대학교산학협력단 The feedback apparatus and method for improving cocking loosening

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020074596A1 (en) * 2018-10-09 2020-04-16 Brian Francis Mooney Coaching, assessing or analysing unseen processes in intermittent high-speed human motions, including golf swings

Also Published As

Publication number Publication date
KR20240019212A (en) 2024-02-14
KR20230057850A (en) 2023-05-02

Similar Documents

Publication Publication Date Title
Zhang et al. Martial arts, dancing and sports dataset: A challenging stereo and multi-view dataset for 3d human pose estimation
US8175326B2 (en) Automated scoring system for athletics
KR102514697B1 (en) Apparatus and method for analyzing golf motion
US7404774B1 (en) Rule based body mechanics calculation
US10186041B2 (en) Apparatus and method for analyzing golf motion
WO2011009302A1 (en) Method for identifying actions of human body based on multiple trace points
JP2008307640A (en) Motion control system, motion control method, and motion control program
KR101428922B1 (en) Golf swing classification apparatus and method using fuzzy system
Aouaidjia et al. Efficient body motion quantification and similarity evaluation using 3-D joints skeleton coordinates
Chun et al. A sensor-aided self coaching model for uncocking improvement in golf swing
JP6677319B2 (en) Sports motion analysis support system, method and program
US11935330B2 (en) Object fitting using quantitative biomechanical-based analysis
Hwang et al. Athlete pose estimation by a global-local network
JPWO2015098420A1 (en) Image processing apparatus and image processing method
Ghosh et al. Stancescorer: A data driven approach to score badminton player
Luo et al. Vision-based movement recognition reveals badminton player footwork using deep learning and binocular positioning
Hegazy et al. Online detection and classification of in-corrected played strokes in table tennis using IR depth camera
Bačić Towards the next generation of exergames: Flexible and personalised assessment-based identification of tennis swings
KR102636103B1 (en) Motion analysis method and device
US20220362630A1 (en) Method, device, and non-transitory computer-readable recording medium for estimating information on golf swing
Kaichi et al. Image-based center of mass estimation of the human body via 3D shape and kinematic structure
Wang Research on the evaluation of sports training effect based on artificial intelligence technology
Ingwersen et al. Evaluating current state of monocular 3d pose models for golf
Zhao et al. Recognition of Volleyball Player's Arm Motion Trajectory and Muscle Injury Mechanism Analysis Based upon Neural Network Model
KR102342760B1 (en) The golf image learning apparatus based on the artificial intelligence, and the method thereof and recording medium

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant