KR102636103B1 - 동작 분석 방법 및 장치 - Google Patents
동작 분석 방법 및 장치 Download PDFInfo
- 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
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 180
- 238000004458 analytical method Methods 0.000 title claims abstract description 129
- 238000003062 neural network model Methods 0.000 claims abstract description 32
- 210000000707 wrist Anatomy 0.000 claims description 34
- 210000004197 pelvis Anatomy 0.000 claims description 10
- 238000012549 training Methods 0.000 claims description 5
- 238000000034 method Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 5
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 210000003127 knee Anatomy 0.000 description 3
- 238000011002 quantification Methods 0.000 description 3
- 241000287828 Gallus gallus Species 0.000 description 2
- 210000003423 ankle Anatomy 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 210000002683 foot Anatomy 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000004886 head movement Effects 0.000 description 2
- 210000001624 hip Anatomy 0.000 description 2
- 229910052742 iron Inorganic materials 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- YYJNOYZRYGDPNH-MFKUBSTISA-N fenpyroximate Chemical compound C=1C=C(C(=O)OC(C)(C)C)C=CC=1CO/N=C/C=1C(C)=NN(C)C=1OC1=CC=CC=C1 YYJNOYZRYGDPNH-MFKUBSTISA-N 0.000 description 1
- 210000000245 forearm Anatomy 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 210000002414 leg Anatomy 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/23—Recognition of whole body movements, e.g. for sport training
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0003—Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
- A63B24/0006—Computerised comparison for qualitative assessment of motion sequences or the course of a movement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/34—Smoothing or thinning of the pattern; Morphological operations; Skeletonisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0003—Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
- A63B24/0006—Computerised comparison for qualitative assessment of motion sequences or the course of a movement
- A63B2024/0012—Comparing movements or motion sequences with a registered reference
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B2102/00—Application 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/32—Golf
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B2220/00—Measuring of physical parameters relating to sporting activity
- A63B2220/30—Speed
- A63B2220/34—Angular speed
- A63B2220/35—Spin
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B2220/00—Measuring of physical parameters relating to sporting activity
- A63B2220/80—Special sensors, transducers or devices therefor
- A63B2220/806—Video cameras
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Psychiatry (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Social Psychology (AREA)
- Physical Education & Sports Medicine (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
- Image Analysis (AREA)
Abstract
일 실시예에 따른 동작 분석 방법은, 사용자의 운동 영상을 획득하는 단계; 뉴럴 네트워크 모델을 이용하여 상기 운동 영상 내 복수의 노드를 획득하는 단계; 및 상기 복수의 노드에 기초하여 상기 사용자의 동작을 분석하는 단계를 포함하고, 상기 복수의 노드는, 상기 사용자의 신체에 대한 신체 노드 및 상기 사용자가 이용하는 장비에 대한 장비 노드를 포함한다.
Description
본 발명은 포즈 추정을 통한 사용자의 운동 동작 분석 방법 및 장치에 관한 것이다.
포즈 추정(pose estimation)은 영상에서 사람이나 물체의 포즈를 추론하는 컴퓨터 비전 기술이다. 포즈 추정은 일반적으로 객체 또는 사람에 대한 복수의 노드(node)를 식별하고, 식별된 노드의 위치를 추적함으로써 수행될 수 있다. 예를 들어, 인간의 경우 노드들은 팔꿈치 또는 무릎과 같은 주요 관절을 나타낼 수 있다.
포즈 추정에는 뉴럴 네트워크 모델이 이용된다. 일반적으로 포즈 추정에 적합한 딥 러닝 아키텍처는 CNN(Convolutional Neural Network)의 변형을 기반으로 한다.
포즈 추정 기술은 스포츠 분야에서 사람의 동작을 분석하는데 이용될 수 있다. 다만, 러프한 형태로 인체 관절을 추정할 수 있기 때문에 종래의 방식은 손목 등의 관절의 정교한 움직임을 분석하기에는 한계가 있다. 특히, 골프 또는 야구와 같이 장비를 이용하는 스포츠에 있어서는 정교한 스윙 분석을 수행할 수 없다.
위에서 설명한 배경기술은 발명자가 본원의 개시 내용을 도출하는 과정에서 보유하거나 습득한 것으로서, 반드시 본 출원 전에 일반 공중에 공개된 공지기술이라고 할 수는 없다.
아래 실시예들은 비전 딥 러닝을 이용하여 운동 동작을 분석함에 있어서, 보다 정교한 분석을 수행하는 기술을 제공할 수 있다.
구체적으로, 장비를 이용한 운동 동작을 분석함에 있어서, 손목의 정교한 움직임을 분석하는 기술을 제공할 수 있다.
다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.
일 실시예에 따른 동작 분석 방법은, 사용자의 운동 영상을 획득하는 단계; 뉴럴 네트워크 모델을 이용하여 상기 운동 영상 내 복수의 노드를 획득하는 단계; 및 상기 복수의 노드에 기초하여 상기 사용자의 동작을 분석하는 단계를 포함하고, 상기 복수의 노드는, 상기 사용자의 신체에 대한 신체 노드 및 상기 사용자가 이용하는 장비에 대한 장비 노드를 포함한다.
상기 뉴럴 네트워크 모델은, 운동 영상에서 신체 노드 및 장비 노드를 획득하도록, 신체 노드 및 장비 노드가 라벨링된 학습 영상을 이용하여 학습된 뉴럴 네트워크 모델일 수 있다.
상기 동작을 분석하는 단계는, 상기 신체 노드 및 상기 장비 노드에 기초하여 상기 사용자의 손목의 동작을 분석하는 단계를 포함할 수 있다.
상기 손목의 동작을 분석하는 단계는, 상기 장비 노드에 기초하여 상기 장비의 회전 각속도를 획득하는 단계; 상기 신체 노드에 기초하여 상기 사용자의 골반의 회전 각속도, 어깨의 회전 각속도 및 팔꿈치의 회전 각속도를 획득하는 단계; 상기 장비의 회전 각속도, 상기 골반의 회전 각속도, 상기 어깨의 회전 각속도 및 상기 팔꿈치의 회전 각속도에 기초하여 상기 사용자의 손목의 회전 각속도를 추정하는 단계를 포함할 수 있다.
상기 동작 분석 방법은, 동작 분석 결과에 기초하여 데이터베이스에 저장된 참조 데이터 중 상기 사용자와 가장 유사한 참조 데이터를 획득하는 단계; 및 상기 유사한 참조 데이터에 기초하여 상기 사용자에게 피드백을 제공하는 단계를 포함할 수 있다.
일 실시예에 따른 동작 분석 장치는 메모리; 및 프로세서를 포함하고, 상기 프로세서는, 사용자의 운동 영상을 획득하고, 뉴럴 네트워크 모델을 이용하여 상기 운동 영상 내 복수의 노드를 획득하고, 상기 복수의 노드에 기초하여 상기 사용자의 동작을 분석하고, 상기 복수의 노드는, 상기 사용자의 신체에 대한 신체 노드 및 상기 사용자가 이용하는 장비에 대한 장비 노드를 포함할 수 있다.
도 1은 일 실시예에 따른 동작 분석 시스템을 나타낸다.
도 2는 일 실시예에 따른 동작 분석 장치를 나타낸다.
도 3은 일 실시예에 따른 동작 분석 방법을 나타낸다.
도 4,도 5a 및 도5b는 동작 분석 방법을 상세히 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 동작 분석 방법에 이용되는 뉴럴 네트워크 모델의 학습 방법을 나타낸다.
도 2는 일 실시예에 따른 동작 분석 장치를 나타낸다.
도 3은 일 실시예에 따른 동작 분석 방법을 나타낸다.
도 4,도 5a 및 도5b는 동작 분석 방법을 상세히 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 동작 분석 방법에 이용되는 뉴럴 네트워크 모델의 학습 방법을 나타낸다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 동작 분석 시스템을 나타낸다.
동작 분석 시스템(10)은 사용자를 촬영한 운동 영상에 기초하여 사용자의 운동 동작을 분석하는 동작 분석 장치(100)를 포함할 수 있다. 동작 분석 장치(100)는 비전 딥 러닝을 이용한 포즈 추정 기술을 이용하여 영상 속 사용자의 동작을 분석할 수 있다.
동작 분석 장치(100)는 뉴럴 네트워크 모델을 통해 포즈 추정 동작을 수행할 수 있다. 즉, 동작 분석 장치(100)는 운동 영상을 뉴럴 네트워크 모델에 입력하여 운동 영상 내 복수의 노드를 획득할 수 있다. 이때, 복수의 노드는 사용자의 신체에 대한 신체 노드 및 상기 사용자가 이용하는 장비에 대한 장비 노드를 포함할 수 있다.
동작 분석 장치(100)는 신체 노드 뿐만 아니라 사용자가 이용하는 장비에 대응하는 장비 노드를 추가로 획득할 수 있다. 예를 들어, 동작 분석 장치(100)는 사용자의 골프 스윙 영상에서 사용자의 신체에 대응하는 신체 노드 뿐만 아니라 사용자가 쥐고 있는 골프 클럽에 대응하는 장비 노드를 획득할 수 있다. 다른 예로, 동작 분석 장치(100)는 사용자가 야구 배트를 스윙하는 영상에서 야구 배트에 대응하는 장비 노드를 획득할 수 있다. 상술한 예에 한정되지 않고, 동작 분석 장치(100)는 운동 영상 내에서 사용자가 이용하는 다양한 종류의 장비에 대해, 장비에 대응하는 장비 노드를 획득할 수 있다.
동작 분석 장치(100)는 일련의 운동 영상으로부터 장비 노드를 추출하는 과정에서, 이전 프레임들(t-1, t-2, ??)의 장비 노드의 좌표를 통해, 현재 프레임(t) 내에 장비가 위치할 가능성이 있는 영역을 예측하고, 예측된 영역 내에서 장비 노드를 추출할 수 있다. 보다 구체적으로, 동작 분석 장치(100)는 이전 프레임에서 추출된 장비 노드로부터 미리 정해진 거리 내의 영역을 예측 영역으로 결정하고, 결정된 예측 영역에서 현재 프레임에 대한 장비 노드를 추출할 수 있다. 동작 분석 장치(100)는 영역 예측을 통해 장비 노드를 추출함으로써, 카메라 성능에 따라 클럽 헤드의 빠른 속도에 기반하여 클럽 형상이 흐릿하게 표현될 수 있는 상황에서 보다 강건하게 장비 노드를 추출할 수 있다. 이와 더불어 동작 분석 장치(100)는 영역 예측을 통해 소정 영역에 대해서만 장비 노드를 검출함으로써 연산 속도와 연산량을 저감할 수 있다.
동작 분석 장치(100)는 장비 노드를 획득함으로써, 사용자의 동작에 대한 정교한 분석을 수행할 수 있다. 예를 들어, 동작 분석 장치(100)는 장비 노드를 추가로 이용함으로써 장비를 쥐고 있는 사용자의 손의 동작(예를 들어, 손목 스냅 각도 및/또는 각속도)를 정교하게 분석할 수 있다.
동작 분석 시스템(10)은 센서 장치(150)를 더 포함할 수 있다. 센서 장치(150)는 사용자가 장비를 이용하여 타격한 타구의 움직임을 검출할 수 있다. 예를 들어, 센서 장치(150)는 날아가는 볼(예를 들어, 골프 클럽으로 타격한 골프 공)의 속도 및/또는 회전을 검출할 수 있다. 또한, 센서 장치(150)는 사용자 장비의 스윙 속도를 검출할 수 있다. 예를 들어, 센서 장치(150)는 사용자 장비의 헤드(예를 들어, 골프 클럽의 헤드)의 속도를 검출할 수 있다.
동작 분석 장치(100)는 센서 장치(150)를 통해 검출된 데이터를 수신할 수 있고, 운동 동작 분석에 수신한 데이터를 이용할 수 있다. 예를 들어, 동작 분석 장치(100)는 센서 장치(150)를 통해 검출된 데이터와 포즈 추정을 통해 획득한 분석 결과를 조합하여 향상된 동작 분석 결과를 획득할 수 있다.
다른 예로, 동작 분석 장치(100)는 센서 장치(150)를 통해 검출된 데이터에 기초하여 뉴럴 네트워크 모델을 학습하기 위한 데이터를 분류할 수 있다. 예를 들어, 센서 장치(150)를 통해 검출된 데이터에 기초하여 타구의 특성(예를 들어, 타구의 비거리 및/또는 타구의 휘어짐 정도)이 산출될 수 있고, 동작 분석 장치(100)는 타구의 특성에 따라 대응하는 입력 영상을 분류하여 학습 데이터로 활용할 수 있다.
센서 장치(150)는 동작 분석 시스템(10)의 필수적인 구성요소가 아닐 수 있으며, 동작 분석 시스템(10)은 동작 분석 장치(100)만으로 입력 영상에 기초하여 입력 영상 내 사용자의 운동 동작을 분석할 수 있다.
일 실시예에 따르면, 동작 분석 시스템(10)의 분석 및 동작 분석 시스템(10)에 포함된 뉴럴 네트워크를 학습시키는 데에 활용되는 운동 영상은 3차원 영상이 활용될 수 있다. 보다 구체적으로, 동작 분석 시스템(10)은 3차원적으로 획득한 운동 영상 또는 2차원적으로 획득한 운동 영상에 대한 합성 영상을 통해 일련의 동작을 수행할 수 있다. 예를 들어, 동작 분석 장치(100)는 골프 스윙 영상을 분석하는 과정에서, 사용자의 정면 영상 및 우측면 영상(오른손잡이의 경우 타격하는 공의 진행 방향이 나타나는 영상)을 합성한 합성 영상을 활용하여 본 명세서를 통해 설명되는 일련의 동작 분석을 수행할 수 있다. 또한, 동작 분석 시스템(10)에 포함된 뉴럴 네트워크도 앞서 설명된 바와 같이 2차원 영상의 합성을 통해 생성된 3차원 영상을 활용하여 학습될 수 있다.
3차원 영상은 획득된 2차원 영상을 촬영한 카메라의 위치 관계에 따라 수학적 연산에 기초하여 생성될 수 있다. 이외에도 3차원 영상은 사용자가 장비(예를 들어, 골프 클럽)를 휘두르는 과정에서 가려지지 않는 노드(장비 노드, 얼굴 노드, 우측 어깨 노드, 오른발 노드 등)를 기준으로 2차원 영상이 합성되는 프로세스를 통해 생성될 수 있다. 생성된 3차원 영상을 통해 장비의 3차원 위치가 결정될 수 있다.
도 2는 일 실시예에 따른 동작 분석 장치를 나타낸다.
동작 분석 장치(100)는 메모리(200) 및 프로세서(250)를 포함할 수 있다.
메모리(200)는 프로세서에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서의 동작 및/또는 프로세서의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
메모리(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)으로 구현될 수 있다.
메모리(200)는 뉴럴 네트워크에 포함된 연산이 수행될 행렬을 저장할 수 있다. 메모리(200)는 프로세서(250)가 처리하여 생성된 연산 결과를 저장할 수 있다.
프로세서(250)는 메모리(200)에 저장된 데이터를 처리할 수 있다. 프로세서(250)는 메모리(200)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(250)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.
프로세서(250)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램 및/또는 애플리케이션에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.
프로세서(250)는 중앙 처리 장치(central processing unit), 그래픽 처리 장치(graphics processing unit), 신경망 처리 장치(neural processing unit), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
이하 설명되는 동작 분석 장치(100)의 동작들은 동작 분석 방법을 수행하기 위한 프로그램 및/또는 애플리케이션이 프로세서(250)를 통해 실행됨으로써 수행되는 동작들로 이해되어야 한다.
도 3은 일 실시예에 따른 동작 분석 방법을 나타내고, 도 4, 도 5a 및 도 5b는 동작 분석 방법을 상세히 설명하기 위한 도면이다.
동작 분석 장치(100)는 사용자의 운동 영상에 기초하여 사용자의 운동 동작을 분석할 수 있다. 동작 분석 장치(100)는 포즈 추정을 수행하는 뉴럴 네트워크 모델을 이용하여 사용자의 운동 동작을 분석할 수 있다.
동작 분석 장치(100)는 분석하고자 하는 사용자의 운동 영상을 획득할 수 있다(310). 동작 분석 장치(100)는 장비를 이용한 동작이 촬영된 영상을 획득할 수 있다. 예를 들어, 동작 분석 장치(100)는 사용자의 골프 스윙 영상, 야구 스윙 영상, 테니스 스윙 영상, 배드민턴 스윙 영상, 검도 영상 또는 펜싱 영상을 획득하여 사용자의 스윙 동작을 분석할 수 있다.
동작 분석 장치(100)는 뉴럴 네트워크 모델을 이용하여 운동 영상 내 복수의 노드를 획득할 수 있다(320). 이때, 동작 분석 장치(100)가 획득하는 복수의 노드는 사용자의 신체에 대한 신체 노드 및 사용자가 이용하는 장비에 대한 장비 노드를 포함할 수 있다.
신체 노드는 스켈레톤 모델을 구성하는 인체 관절 및 얼굴 주요 부위에 대응하는 노드들을 포함할 수 있다. 예를 들어, 신체 노드는 도 4에 도시된 바와 같이 18개의 노드(코, 목, 오른쪽 어깨, 오른쪽 팔꿈치, 오른쪽 손목, 왼쪽 어깨, 왼쪽 팔꿈치, 왼쪽 손목, 오른쪽 엉덩이, 오른쪽 무릎, 오른쪽 발목, 왼쪽 엉덩이, 왼쪽 무릎, 왼쪽 발목, 오른쪽 눈, 왼쪽 눈, 오른쪽 귀, 왼쪽 귀)를 포함할 수 있다. 신체 노드의 구성이 이에 한정되는 것으로 이해되면 안 되며, 신체 노드는 인체의 포즈를 나타내기에 주요한 지점에 위치하는 적절한 개수의 노드들을 포함할 수 있다. 또한, 도 4에 도시된 바와 같이, 신체 노드들 중 일부 쌍들은 서로 링크될 수 있다. 링크된 신체 노드 쌍은 각 신체 노드를 연결하는 벡터로 표현될 수 있다. 도 4는 비특허문헌(만들면서 배우는 파이토치 딥러닝, 오가와 유타로, 2021)에 포함된 도면일 수 일 수 있다.
장비 노드는 사용자가 이용하는 장비 위에 위치하는 노드일 수 있다. 예를 들어, 장비 노드는 스윙 장비의 헤드(예를 들어, 골프 클럽의 헤드, 야구 배트의 헤드)에 대응하는 노드를 포함할 수 있다. 즉, 도 5a에 도시된 바와 같이 장비 노드는 골프 클럽의 헤드에 대응하는 제8번 노드를 포함할 수 있다. 다른 예로, 장비 노드는 헤드에 대응하는 노드 뿐만 아니라, 스윙 장비의 중앙 점에 대응하는 노드를 더 포함할 수도 있다. 특히, 클럽이 쉽게 휘어지는 드라이버의 경우, 클럽 중앙에 대응하는 노드를 추가로 이용할 수 있다. 장비 노드가 이에 한정되는 것으로 이해되면 안 되며, 장비 노드는 사용자의 운동 동작 중 장비의 위치 및 움직임을 나타내기 위한 적절한 지점에 위치하는 하나 이상의 노드를 포함할 수 있다.
동작 분석 장치(100)는 포즈 추정을 수행하는 뉴럴 네트워크 모델을 이용할 수 있다. 뉴럴 네트워크 모델은 입력된 영상에서 주요 포인트에 대응하는 복수의 노드를 검출하도록 학습된 뉴럴 네트워크 모델일 수 있다. 뉴럴 네트워크 모델은 운동 영상에서 신체 노드 및 장비 노드를 획득하도록, 신체 노드 및 장비 노드가 라벨링된 학습 영상을 이용하여 학습된 뉴럴 네트워크 모델일 수 있다.
뉴럴 네트워크 모델은 CNN(Convolutional Neural Network) 또는 CNN이 변형된 모델일 수 있다. 다만, 이에 한정되는 것은 아니고, 뉴럴 네트워크 모델은 입력 영상에 대해 주요 포인트에 대응하는 복수의 노드를 검출하도록 학습될 수 있는 다양한 형태의 아키텍처를 가질 수 있다.
동작 분석 장치(100)는 사용자가 선택한 운동의 종류(예를 들어, 골프 스윙 또는 야구 스윙) 및/또는 사용자가 선택한 장비의 종류(예를 들어, 퍼터, 아이언 또는 드라이버)에 기초하여 서로 다른 포즈 추정 뉴럴 네트워크 모델을 이용할 수 있다. 즉, 동작 분석 장치(100)는 사용자가 선택한 운동의 종류 및/또는 사용자가 선택한 장비의 종류에 따라 특정 운동의 종류 및/또는 장비의 종류에 대해 학습된 뉴럴 네트워크 모델을 이용할 수 있다. 동작 분석 장치(100)는 별도 사용자 입력 없이 입력된 운동 영상에 기초하여 운동의 종류 및/또는 장비의 종류를 추정하여, 해당하는 뉴럴 네트워크 모델을 이용할 수도 있다.
동작 분석 장치(100)는 뉴럴 네트워크 모델을 이용하여 획득한 복수의 노드(신체 노드 및 장비 노드)에 기초하여 운동 영상 내 사용자의 동작(팔, 등, 장비, 다리 등의 움직임, 몸의 꼬임, 속도, 좌표 등)을 분석할 수 있다(330).
동작 분석 장치(100)는 운동 영상의 각 프레임 별로 획득한 노드에 기초하여 신체 부위 및/또는 장비의 회전 각속도를 획득할 수 있다. 동작 분석 장치(100)는 프레임 간 시간 차이, 특정 신체 부위 및/또는 장비에 대응하는 두 노드 사이 거리, 및 두 노드의 프레임 간 이동 거리에 기초하여 신체 부위 및/또는 장비의 회전 각속도를 계산할 수 있다. 이때, 동작 분석 장치(100)는 센서 장치(150)를 통해 검출된 데이터를 추가로 이용하여 신체 부위 및/또는 장비의 회전 각속도를 계산할 수 있다. 예를 들어, 동작 분석 장치(100)는 센서 장치(150)를 통해 획득된 장비의 속도(예를 들어, 클럽 헤드 속도)와 장비 노드를 통해 계산된 클럽 헤드의 속도의 평균을 이용하여 장비의 회전 각속도를 계산할 수도 있다.
일 예로, 도5a를 참조하면, 골반 회전 각속도(w9-10)는 골반 양쪽에 각각 대응하는 신체 노드인 제9번 및 제10번 노드에 기초하여 계산될 수 있고, 어깨 회전 각속도(w2-3)는 양쪽 어깨에 각각 대응하는 신체 노드인 제2번 및 제3번 노드에 기초하여 계산될 수 있고, 팔꿈치 회전 각속도(w4-5)는 양쪽 팔꿈치에 각각 대응하는 신체 노드인 제4번 및 제5번 노드에 기초하여 계산될 수 이따.
손목 회전 각속도(w6-7)는 양쪽 손목에 각각 대응하는 신체 노드인 제6번 및 제7번 노드에 기초하여 계산될 수 있으나, 손목의 움직임(예를 들어, 손목 스냅)은 미세하기 때문에, 포즈 추정이 매우 정교하게 이루어지지 않는 경우 정확도가 떨어질 수 있다.
동작 분석 장치(100)는 장비 노드(제8번 노드) 및 장비를 쥐고 있는 손목 노드(제6번 노드)에 기초하여 장비 회전 각속도(w6-8)를 계산하고, 장비의 회전 각속도를 이용하여 손목 회전 각속도(w6-7)를 높은 정확도로 추정할 수 있다. 동작 분석 장치(100)는 수학식 1과 같이 장비 회전 각속도(w6-8), 골반 회전 각속도(w9-10), 어깨 회전 각속도(w2-3), 및 팔꿈치 회전 각속도(w4-5)에 기초하여 손목 회전 각속도(w6-7)를 추정할 수 있다.
이때, 입력 영상이 촬영된 각도에 따라, 팔꿈치 회전 각속도(w4-5) 대신 제2번 노드 및 제4번 노드로 연결된 강체(팔뚝)의 회전 각속도(w2-4)가 이용될 수도 있다. 이에 한정되는 것이 아니고, 모든 노드에 기초하여 계산될 수 있는 강체의 각속도는 일부가 선택되어 손목의 움직임을 분석하기 위해 이용될 수 있다.
동작 분석 장치(100)는 추정된 손목 회전 각속도(w6-7)가 다른 신체 부위의 각속도와 비교하여 손목 스냅이 과다한지 여부를 분석할 수 있고, 사용자가 이를 교정할 수 있도록 피드백을 제공할 수 있다.
동작 분석 장치(100)는 일련의 시간동안 w6-7, w6-8 , w4-5, w2-3, w9-1의 변화 추이에 대한 정보를 제공할 수 있다. 보다 구체적으로, 동작 분석 장치(100)는 스윙이 진행되는 동안 개별 요소들의 각속도 변화 추이를 제공할 수 있다. 동작 분석 장치(100)는 스윙 과정에서 적절한 시점에 신체가 적절한 회전을 수행했는지, 팔 뿐만 아니라 몸통의 회전을 이용하여 스윙이 이루어지는지 여부에 대한 정보를 제공할 수 있다.
동작 분석 장치(100)는 장비 노드(제8번 노드) 및 손목 노드(제6번 노드 또는 제7번 노드)에 기초하여 손목의 코킹 각도를 계산할 수 있다. 동작 분석 장치(100)는 사용자에게 손목의 코킹 각도에 대한 피드백을 제공할 수 있다.
동작 분석 장치(100)는 추정된 손목 회전 각속도(w6-7)가 다른 신체 부위의 각속도와 비교하여 손목 스냅이 과다한지 여부를 분석할 수 있고, 사용자가 이를 교정할 수 있도록 피드백을 제공할 수 있다.
동작 분석 장치(100)는 동작 분석 결과에 기초하여 데이터베이스에 저장된 참조 데이터 중 상기 사용자와 가장 유사한 참조 데이터를 획득할 수 있다. 예를 들어, 동작 분석 장치(100)는 프로 선수의 스윙 영상을 분석한 결과를 참조 데이터로 보관할 수 있고, 사용자의 동작 분석 결과를 참조 데이터와 비교하여 가장 유사한 참조 데이터(예를 들어, 사용자와 가장 스윙의 유사도가 높은 프로의 스윙 분석 결과)를 획득할 수 있다. 보다 구체적으로, 동작 분석 장치(100)는 사용자의 동작을 정량화한 결과에 기초하여 가장 유사한 참조 데이터를 제공하거나, 하기에 설명된 바와 같이 피드백을 제공할 수 있다. 동작 분석 장치(100)가 사용자의 동작을 정량화하는 예시적인 방식은 도 5b를 통해 설명된다.
동작 분석 장치(100)는 사용자의 동작 분석 결과와 참조 데이터 사이의 유사도에 기초하여 사용자에게 피드백을 제공할 수 있다. 예를 들어, 동작 분석 장치(100)는 사용자에게 사용자의 동작 분석 결과와 참조 데이터 간의 차이를 피드백으로 제공할 수 있다. 보다 구체적으로, 동작 분석 장치(100)는 A 사용자의 스윙 분석을 통해 유사도가 가장 높은 프로 선수인 타이거 우즈의 스윙 영상을 사용자에게 제공할 수 있다. 또한, 동작 분석 장치(100)는 타이거 우즈의 스윙 영상(참조 데이터)와 A 사용자의 동작 분석 결과 비교를 통해 코킹 각도의 차이, 스윙 속도의 차이, 어깨 회전/ 골반 회전의 적절성 여부 등 운동 동작과 관련된 임의의 분석 요소의 차이에 기초하여 사용자의 운동 동작 개선 방안에 대한 정보를 제공할 수 있다. 예를 들어, 동작 분석 장치(100)는 참조 데이터와의 비교를 통해 코킹 각을 일정 이상으로 늘리는 방안에 대한 정보를 사용자에게 제공할 수 있다. 동작 분석 장치(100)가 제공하는 정보는 코킹각과 관련된 개선 방향에 한정되는 것이 아니고, 과회전 여부, 신체 부위별 회전 속도, 회전 순서 등 임의의 운동과 관련된 정보를 제공할 수 있음은 통상의 기술자가 이해할 것이다.
또한, 동작 분석 장치(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)는 앞서 설명된 비율 정보를 토대로 개별 요소의 회전의 적절성을 평가하여 피드백 정보를 제공함으로써, 자세 교정에 효과적인 수단을 제공할 수 있다.
동작 분석 장치(100)는 스윙이 진행되는 동안 실시간 각속도의 적절성이 결정될 수 있고, 추이에 대한 정보를 제공할 수 있다. 보다 구체적으로, 동작 분석 장치(100)는 스윙이 진행되는 동안 개별 요소들의 각속도 변화 추이를 제공할 수 있다. 동작 분석 장치(100)는 스윙 과정에서 적절한 시점에 신체가 적절한 회전을 수행했는지, 팔 뿐만 아니라 몸통의 회전을 이용하여 스윙이 이루어지는지 여부에 대한 정보를 제공할 수 있다.
도 5b는 일 실시예에 따른 동작 분석 장치가 사용자의 동작을 정량화하는 방법을 예시적으로 도시하는 도면이다.
일 실시예에 따르면, 동작 분석 장치(100)는 동작에 대한 정량화를 통해, 참조 데이터를 제공하거나, 동작에 대한 피드백을 제공하거나, 동작에 대한 점수를 부여하는 게임 서비스를 제공할 수 있다.
예를 들어, 동작 분석 장치(100)는 사용자의 골프 스윙 영상을 정량화할 수 있다. 보다 구체적으로, 동작 분석 장치(100)는 스윙의 정면 영상 및 측면 영상을 활용하여 사용자의 골프 스윙을 정량화 할 수 있다.
도 5b에 도시된 바와 같이, 동작 분석 장치(100)는 스윙 영상의 개별 노드를 활용하여 스윙을 정량화할 수 있는데, 노드 번호의 경우 앞선 도 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)의 궤적을 통해 결정되는 붉은색 궤적을 백스윙 플레인으로 결정할 수 있으며, 노란색 궤적을 다운스윙 플레인으로 결정할 수 있다.
동작 분석 장치(100)는 장비 노드(클럽 헤드 노드(8))의 경로를 추적하여 스윙 플레인을 사용자에게 제공할 수 있다. 동작 분석 장치(100)는 클럽 헤드 노드(8) 외에도 클럽의 무게 중심 노드를 활용하여 스윙 플레인을 사용자에게 제공할 수 있다. 스윙 플레인은 구현에 따라 3차원 공간 상의 나선(spiral) 형태로 1차원 곡선 혹은 2차원 곡면의 형태로 제공될 수 있다. 또한, 동작 분석 장치(100)는 스윙 플레인을 스윙 영상에 합성하여 제공할 수 있으며, 스윙 플레인의 각도, 면적, 형태에 대한 정보를 제공함으로써 보다 직관적인 인터페이스를 제공할 수 있다.
동작 분석 장치(100)는 머리 노드(1) - 골반 노드(9) - 오른발 노드(10)가 이루는 각도(노란색 점선이 이루는 각도)를 척추 각도로 결정할 수 있으며, 팔꿈치 노드(4) - 손목 노드(6) - 클럽 헤드 노드(8)의 각도를 클럽 각도로 결정할 수 있다.정량화 대상이 되는 요소 및 정량화하는 방법은 예시적인 것일 뿐, 본원 발명이 이에 한정되는 것이 아님은 통상의 기술자가 이해할 것이다.
도 6은 일 실시예에 따른 동작 분석 방법에 이용되는 뉴럴 네트워크 모델의 학습 방법을 나타낸다.
동작 분석 장치(100)는 운동 영상에서 사용자의 신체에 대한 신체 노드 및 상기 사용자가 이용하는 장비에 대한 장비 노드를 획득하도록, 신체 노드 및 장비 노드가 라벨링된 학습 영상을 이용하여 학습된 뉴럴 네트워크 모델을 이용할 수 있다.
학습 영상은 장비를 쥐고 있는 신체가 촬영된 영상에 신체의 주요 포인트(예를 들어, 관절 및/또는 얼굴 주요 부위)에 대응하는 신체 노드 및 장비의 특정 위치에 대응하는 장비 노드를 라벨링함으로써 생성될 수 있다(610).
장비 노드는 장비의 끝 부분(예를 들어, 골프 클럽의 헤드)에 대응하는 위치로 지정될 수 있다. 장비 노드는 헤드에 대응하는 위치 뿐만 아니라, 스윙 장비의 중앙 점에 대응하는 위치에도 지정될 수 있다. 특히, 클럽이 쉽게 휘어지는 드라이버의 경우, 클럽 중앙에 대응하는 위치에 추가로 노드를 지정할 수 있다. 장비 노드가 지정되는 위치는 이에 한정되는 것이 아니고, 장비의 특성 등에 따라 운동 동작 중 장비의 위치 및 움직임을 나타내기 위한 적절한 지점에 지정될 수 있다.
학습 영상은 센서 장치(150)를 통해 검출된 데이터에 기초하여 타구의 특성(예를 들어, 타구의 비거리 및/또는 타구의 휘어짐 정도)에 따라 분류될 수 있고, 분류된 특성은 뉴럴 네트워크 모델의 학습을 위한 파라미터로 이용될 수 있다.
생성된 학습 영상을 통해 포즈 추정을 위한 뉴럴 네트워크 모델이 학습될 수 있다(630).
학습 영상은 운동의 종류(예를 들어, 골프 스윙 또는 야구 스윙) 및/또는 장비의 종류(예를 들어, 퍼터, 아이언 또는 드라이버)에 따라 분류될 수 있고, 분류된 학습 영상들은 운동의 종류 및/또는 장비의 종류에 따라 서로 다른 뉴럴 네트워크 모델의 학습에 이용될 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (6)
- 사용자의 운동 영상을 획득하는 단계;
뉴럴 네트워크 모델을 이용하여 상기 운동 영상 내 복수의 노드를 획득하는 단계; 및
상기 복수의 노드에 기초하여 상기 사용자의 동작을 분석하는 단계
를 포함하고,
상기 복수의 노드는,
상기 사용자의 신체에 대한 신체 노드 및 상기 사용자가 이용하는 장비에 대한 장비 노드를 포함하고,
상기 동작을 분석하는 단계는,
상기 신체 노드 및 상기 장비 노드에 기초하여 상기 사용자의 손목의 동작을 분석하는 단계
를 포함하고,
상기 손목의 동작을 분석하는 단계는,
상기 장비 노드에 기초하여 상기 장비의 회전 각속도를 획득하는 단계;
상기 신체 노드에 기초하여 상기 사용자의 골반의 회전 각속도, 어깨의 회전 각속도 및 팔꿈치의 회전 각속도를 획득하는 단계;
상기 장비의 회전 각속도, 상기 골반의 회전 각속도, 상기 어깨의 회전 각속도 및 상기 팔꿈치의 회전 각속도에 기초하여 상기 사용자의 손목의 회전 각속도를 추정하는 단계
를 포함하고,
상기 각속도를 추정하는 단계는,
상기 장비의 회전 각속도와 상기 골반의 회전 각속도의 차분에 기초하여 상기 손목의 회전 각속도를 추정하는, 동작 분석 방법. - 제1항에 있어서,
상기 뉴럴 네트워크 모델은,
운동 영상에서 신체 노드 및 장비 노드를 획득하도록, 신체 노드 및 장비 노드가 라벨링된 학습 영상을 이용하여 학습된 뉴럴 네트워크 모델인, 동작 분석 방법.
- 삭제
- 제1항에 있어서,
상기 각속도를 추정하는 단계는,
수학식 1에 기초하여 상기 손목의 각속도를 추정하고,
상기 수학식 1은,
w6-7 = w6-8 - ( w4-5 + w2-3 + w9-10)이고,
상기 w6-7 는 손목 회전 각속도이고, 상기 w6-8는 장비 회전 각속도이고, 상기 w4-5는 팔꿈치 회전 각속도이고, 상기 w2-3는 어깨 회전 각속도이고, 상기 w9-10는 골반의 회전 각속도인, 동작 분석 방법. - 제1항에 있어서,
상기 동작 분석 방법은,
동작 분석 결과에 기초하여 데이터베이스에 저장된 참조 데이터 중 상기 사용자와 가장 유사한 참조 데이터를 획득하는 단계; 및
상기 유사한 참조 데이터에 기초하여 상기 사용자에게 피드백을 제공하는 단계
를 포함하고,
상기 참조 데이터를 획득하는 단계는,
사용자와 가장 스윙의 유사도가 높은 프로의 스윙 분석 데이터를 상기 참조 데이터로 획득하고,
상기 피드백을 제공하는 단계는,
상기 획득한 스윙 분석 데이터를 제공하는, 동작 분석 방법. - 동작 분석 장치에 있어서,
메모리; 및
프로세서
를 포함하고,
상기 프로세서는,
사용자의 운동 영상을 획득하고,
뉴럴 네트워크 모델을 이용하여 상기 운동 영상 내 복수의 노드를 획득하고,
상기 복수의 노드에 기초하여 상기 사용자의 동작을 분석하고,
상기 복수의 노드는,
상기 사용자의 신체에 대한 신체 노드 및 상기 사용자가 이용하는 장비에 대한 장비 노드를 포함하고,
상기 프로세서는,
상기 신체 노드 및 상기 장비 노드에 기초하여 상기 사용자의 손목의 동작을 분석하고,
상기 프로세서는,
상기 장비 노드에 기초하여 상기 장비의 회전 각속도를 획득하는 단계;
상기 신체 노드에 기초하여 상기 사용자의 골반의 회전 각속도, 어깨의 회전 각속도 및 팔꿈치의 회전 각속도를 획득하고,
상기 장비의 회전 각속도, 상기 골반의 회전 각속도, 상기 어깨의 회전 각속도 및 상기 팔꿈치의 회전 각속도에 기초하여 상기 사용자의 손목의 회전 각속도를 추정하고,
상기 프로세서는,
상기 장비의 회전 각속도와 상기 골반의 회전 각속도의 차분에 기초하여 상기 손목의 회전 각속도를 추정하는, 동작 분석 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210142099A KR102636103B1 (ko) | 2021-10-22 | 2021-10-22 | 동작 분석 방법 및 장치 |
KR1020240017935A KR20240019212A (ko) | 2021-10-22 | 2024-02-06 | 동작 분석 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210142099A KR102636103B1 (ko) | 2021-10-22 | 2021-10-22 | 동작 분석 방법 및 장치 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020240017935A Division KR20240019212A (ko) | 2021-10-22 | 2024-02-06 | 동작 분석 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230057850A KR20230057850A (ko) | 2023-05-02 |
KR102636103B1 true KR102636103B1 (ko) | 2024-02-08 |
Family
ID=86387819
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210142099A KR102636103B1 (ko) | 2021-10-22 | 2021-10-22 | 동작 분석 방법 및 장치 |
KR1020240017935A KR20240019212A (ko) | 2021-10-22 | 2024-02-06 | 동작 분석 방법 및 장치 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020240017935A KR20240019212A (ko) | 2021-10-22 | 2024-02-06 | 동작 분석 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR102636103B1 (ko) |
Citations (1)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101361165B1 (ko) * | 2012-07-12 | 2014-02-25 | 국민대학교산학협력단 | 코킹 풀림 개선을 위한 피드백 장치 및 방법 |
-
2021
- 2021-10-22 KR KR1020210142099A patent/KR102636103B1/ko active IP Right Grant
-
2024
- 2024-02-06 KR KR1020240017935A patent/KR20240019212A/ko active Application Filing
Patent Citations (1)
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 |
---|---|
KR20230057850A (ko) | 2023-05-02 |
KR20240019212A (ko) | 2024-02-14 |
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 (ko) | 골프 동작 분석 장치 및 방법 | |
US10186041B2 (en) | Apparatus and method for analyzing golf motion | |
Kelly et al. | A virtual coaching environment for improving golf swing technique | |
Aouaidjia et al. | Efficient body motion quantification and similarity evaluation using 3-D joints skeleton coordinates | |
WO2011009302A1 (zh) | 一种基于多跟踪点的人体动作识别方法 | |
JP6484858B2 (ja) | 画像処理装置及び画像処理方法 | |
KR101428922B1 (ko) | 퍼지 시스템을 이용한 골프 스윙 분류 장치 및 방법 | |
JP2008307640A (ja) | 運動制御システム、運動制御方法および運動制御プログラム | |
Chun et al. | A sensor-aided self coaching model for uncocking improvement in golf swing | |
US11620858B2 (en) | Object fitting using quantitative biomechanical-based analysis | |
Hwang et al. | Athlete pose estimation by a global-local network | |
JP6677319B2 (ja) | スポーツ動作解析支援システム、方法およびプログラム | |
Ghosh et al. | Stancescorer: A data driven approach to score badminton player | |
US20220362630A1 (en) | Method, device, and non-transitory computer-readable recording medium for estimating information on golf swing | |
Gao et al. | Markerless racket pose detection and stroke classification based on stereo vision for table tennis robots | |
Hegazy et al. | Online detection and classification of in-corrected played strokes in table tennis using IR depth camera | |
KR102636103B1 (ko) | 동작 분석 방법 및 장치 | |
Menon et al. | A machine learning framework for shuttlecock tracking and player service fault detection | |
He et al. | Mathematical modeling and simulation of table tennis trajectory based on digital video image processing | |
Kaichi et al. | Image-based center of mass estimation of the human body via 3D shape and kinematic structure | |
US20230285802A1 (en) | Method, device, and non-transitory computer-readable recording medium for estimating information on golf swing | |
Sarwar et al. | Skeleton Based Keyframe Detection Framework for Sports Action Analysis: Badminton Smash Case | |
KR102342760B1 (ko) | 인공지능 기반의 골프 영상 학습장치, 그 방법 및 그 기록매체 |
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 |