KR20220067741A - 영상 기반 골프 자세 분석을 위한 파이프라인 및 이를 이용한 자세 교정 방법 - Google Patents
영상 기반 골프 자세 분석을 위한 파이프라인 및 이를 이용한 자세 교정 방법 Download PDFInfo
- Publication number
- KR20220067741A KR20220067741A KR1020200154286A KR20200154286A KR20220067741A KR 20220067741 A KR20220067741 A KR 20220067741A KR 1020200154286 A KR1020200154286 A KR 1020200154286A KR 20200154286 A KR20200154286 A KR 20200154286A KR 20220067741 A KR20220067741 A KR 20220067741A
- Authority
- KR
- South Korea
- Prior art keywords
- joint
- matrix
- golf
- posture analysis
- posture
- Prior art date
Links
Images
Classifications
-
- 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
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1116—Determining posture transitions
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1121—Determining geometric values, e.g. centre of rotation or angular range of movement
- A61B5/1122—Determining geometric values, e.g. centre of rotation or angular range of movement of movement trajectories
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1126—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
- A61B5/1128—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique using image analysis
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B69/00—Training appliances or apparatus for special sports
- A63B69/36—Training appliances or apparatus for special sports for golf
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B2503/00—Evaluating a particular growth phase or type of persons or animals
- A61B2503/10—Athletes
-
- 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
- A63B2024/0015—Comparing movements or motion sequences with computerised simulations of movements or motion sequences, e.g. for generating an ideal template as reference to be achieved by the user
-
- 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
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Animal Behavior & Ethology (AREA)
- Surgery (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Molecular Biology (AREA)
- General Physics & Mathematics (AREA)
- Dentistry (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Physiology (AREA)
- Pathology (AREA)
- Physical Education & Sports Medicine (AREA)
- Software Systems (AREA)
- Radiology & Medical Imaging (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
골프 자세 분석 장치에 있어서, 명령어들을 저장하는 메모리, 및 명령어들을 실행함으로써: 분석 대상자의 스윙 영상으로부터 분석 대상자의 주요 관절들의 3차원 위치를 나타내는 관절 좌표 행렬을 추출하고, 주요 관절들 중 왼발 관절 및 오른발 관절이 나란히 정면을 향하도록 관절 좌표 행렬에 대한 회전 변환을 수행하여 정면 관절 행렬을 생성하고, 주요 관절들의 중심 관절에서 주요 관절들의 나머지 관절들로 향하는 방향을 나타내는 관절 방향 정보에 기초하여 정면 관절 행렬에 대한 재가공을 수행하여 재가공 관절 행렬을 생성하고, 재가공 관절 행렬이 골프 스윙을 구성하는 구분 동작들 중 어느 동작과 가장 유사한지를 나타내는 유사도 정보에 기초하여 스윙 영상을 프레임 단위로 분류한 이후 프레임들의 시퀀스 흐름에 따라 구분 동작들에 따른 구분 영상들로 분할하고, 구분 영상들을 구분 동작들에 대한 기준 영상들과 통계적으로 비교하여 구분 영상들 각각에 관한 자세 분석 점수를 산출하는 프로세서를 포함하는, 골프 자세 분석 장치가 개시된다.
Description
본 발명은 영상 기반 골프 자세 분석을 위한 파이프라인 및 이를 이용한 자세 교정 방법에 관한 것이다. 보다 상세하게는, 본 발명은 스윙 영상을 기반으로 분석 대상자의 3차원 관절 좌표를 추출하여 스윙 자세를 분석하는 파이프라인과, 이를 이용해 스윙 자세를 교정하는 방법에 관한 것이다.
기존의 영상 기반의 골프 자세 교정 기술은 카메라 프리뷰를 통해 들어오는 영상 정보를 이용해 분석 대상자의 2차원 관절 좌표를 추출한 후, 이를 바탕으로 자세 분석이 진행될 수 있다. 하지만 2차원 관절 좌표 기반의 골프 자세 분석은 분석 대상자의 스윙을 촬영하는 카메라가 위치하는 각도에 따라 같은 자세임에도 추출된 관절 좌표의 차이가 크기 때문에, 분석 기준을 일반화하는 것이 어려울 수 있다. 따라서 정면, 측면, 상면 등 촬영하는 각도 및 방향을 제한함으로써 관절 좌표 편차를 줄여 문제를 해결하는 방식이 일반적으로 활용될 수 있다. 그러나 이렇게 외부 조건을 제한하는 방법은 사용자가 카메라를 설치하는 공간과 그 위치에 대한 제약을 주기 때문에, 사용자의 경험을 해칠 수 있다.
그리고, 골프 자세 교정을 위해 추출된 분석 대상자의 2차원 관절 좌표와 사전에 정의된 스켈레톤 데이터의 위치 정보와의 캘리브레이션을 통해 분석 정보를 생성하는 방법이 많이 연구되고 있다. 다만, 해당 방법에 의하면 같은 자세이더라도 운동 방향(촬영 방향)과 촬영된 거리에 따라 추출된 관절의 좌표가 표준 관절 데이터의 위치 정보와 현저히 달라질 수 있으며, 이러한 방식의 경우 정확성이 보장되지 않을 수 있다.
하나의 골프 스윙은 여러 단계의 자세가 순차적으로 구성되어 있다. 각 단계별 골프 자세 교정을 위해 영상의 프레임별로 각 프레임이 어떤 단계의 자세인지 분류하는 기술이 많이 연구되고 있다. 앞서 언급한 위치정보를 활용한 자세 구분이 가장 일반적이며, 이러한 방식의 경우 계산량이 적지만 외부 조건에 영향을 크게 받기 때문에 정확성을 보장하는 것이 어려울 수 있다.
많이 사용되는 또 다른 방식은 학습을 통해 이루어질 수 있다. 즉, 데이터를 다량으로 수집한 뒤 골프 단계별 자세를 구분해 낼 수 있는 분류기(Classifier)를 설계하는 방식이 활용될 수 있다. 이를 위해 이미지 분류(Image Classification) 방법 등 주로 이미지에서 특징을 추출해 구분하는 기법들이 이용될 수 있다. 이러한 방법들에 의하면 외부 조건을 만족할 때 프레임 별 골프 자세가 구분될 수 있지만, 골프는 순차적인 자세 단계로 구성되어 있다는 점이 반영되지 못하기 때문에 정확성이 우수하다고 판단하기는 어려울 수 있다.
이에, 카메라의 위치 및 방향 등 외부 조건을 제한하여 사용자의 경험을 해치지 않으며, 골프 자세의 순차적인 특성을 반영하여 정확한 자세 분석을 제공하는 영상 기반의 자세 분석 파이프라인과 이를 이용한 자세 교정 방법을 개발하는 것이 요구될 수 있다.
본 발명에 의해 해결하고자 하는 기술적 과제는, 분석 대상자를 촬영하기 위한 카메라의 설치 위치에 관하여 정면, 측면 등 외부 조건을 제한하여 사용성을 해하지 않으며, 분석 대상자가 정밀한 자세 교정을 받을 수 있도록 영상 기반으로 사람의 3차원 관절 좌표를 추출하여 골프 자세를 분석하는 파이프라인과, 이를 이용해 자세를 교정하는 방법을 제공하는 것이다.
전술한 기술적 과제를 해결하기 위한 수단으로서, 본 발명의 일 측면에 따른 골프 자세 분석 장치는, 명령어들을 저장하는 메모리; 및 상기 명령어들을 실행함으로써: 분석 대상자의 스윙 영상으로부터 상기 분석 대상자의 주요 관절들의 3차원 위치를 나타내는 관절 좌표 행렬을 추출하고, 상기 주요 관절들 중 왼발 관절 및 오른발 관절이 나란히 정면을 향하도록 상기 관절 좌표 행렬에 대한 회전 변환을 수행하여 정면 관절 행렬을 생성하고, 상기 주요 관절들의 중심 관절에서 상기 주요 관절들의 나머지 관절들로 향하는 방향을 나타내는 관절 방향 정보에 기초하여 상기 정면 관절 행렬에 대한 재가공을 수행하여 재가공 관절 행렬을 생성하고, 상기 재가공 관절 행렬이 골프 스윙을 구성하는 구분 동작들 중 어느 동작과 가장 유사한지를 나타내는 유사도 정보에 기초하여 상기 스윙 영상을 프레임 단위로 분류한 이후 프레임들의 시퀀스 흐름에 따라 상기 구분 동작들에 따른 구분 영상들로 분할하고, 상기 구분 영상들을 상기 구분 동작들에 대한 기준 영상들과 통계적으로 비교하여 상기 구분 영상들 각각에 관한 자세 분석 점수를 산출하는 프로세서; 를 포함한다.
본 발명의 다른 측면에 따른 메모리에 저장되는 명령어들을 실행하는 프로세서에 의해 수행되는 골프 자세 분석 방법은, 분석 대상자의 스윙 영상으로부터 상기 분석 대상자의 주요 관절들의 3차원 위치를 나타내는 관절 좌표 행렬을 추출하는 단계; 상기 주요 관절들 중 왼발 관절 및 오른발 관절이 나란히 정면을 향하도록 상기 관절 좌표 행렬에 대한 회전 변환을 수행하여 정면 관절 행렬을 생성하는 단계; 상기 주요 관절들의 중심 관절에서 상기 주요 관절들의 나머지 관절들로 향하는 방향을 나타내는 관절 방향 정보에 기초하여 상기 정면 관절 행렬에 대한 재가공을 수행하여 재가공 관절 행렬을 생성하는 단계; 상기 재가공 관절 행렬이 골프 스윙을 구성하는 구분 동작들 중 어느 동작과 가장 유사한지를 나타내는 유사도 정보에 기초하여 상기 스윙 영상을 프레임 단위로 분류한 이후 프레임들의 시퀀스 흐름에 따라 상기 구분 동작들에 따른 구분 영상들로 분할하는 단계; 및 상기 구분 영상들을 상기 구분 동작들에 대한 기준 영상들과 통계적으로 비교하여 상기 구분 영상들 각각에 관한 자세 분석 점수를 산출하는 단계; 를 포함한다.
본 발명에 따른 골프 자세 분석 장치 및 방법에 의하면, 골프 자세를 분석하는 파이프라인 및 이를 이용한 자세 교정 방법이 제공되어, 다양한 어플리케이션에서 사용성에 제한을 받지 않고 골프 자세 교정용으로 사용될 수 있다. 또한 골프 자세의 중요 구분 동작들을 자동으로 추출해 주고, 추출된 영상의 자세와 표준 자세를 비교하여 분석 정보를 제공함으로써, 교습자가 스스로 자신의 자세에서 고쳐야 할 부분을 인지하고 올바른 자세를 취할 수 있도록 유도하는 것이 가능해질 수 있다.
도 1은 일부 실시예에 따른 골프 자세 분석 장치를 구성하는 요소들 및 골프 자세 분석 장치에서 수행되는 자세 분석 파이프라인을 설명하기 위한 도면이다.
도 2는 일부 실시예에 따른 관절 좌표 행렬에 대한 회전 변환을 수행하여 정면 관절 행렬을 생성하는 과정을 설명하기 위한 도면이다.
도 3은 일부 실시예에 따른 관절 좌표 행렬 및 정면 관절 행렬에 대한 시각화 결과를 나타내는 도면이다.
도 4는 일부 실시예에 따른 골프 스윙을 구성하는 구분 동작들을 설명하기 위한 도면이다.
도 5는 일부 실시예에 따른 재가공 관절 행렬을 생성하는 방식 및 스윙 영상을 구분 동작들에 따른 구분 영상들로 분할하는 방식을 설명하기 위한 도면이다.
도 6은 일부 실시예에 따른 관절 좌표 행렬, 정면 관절 행렬 및 유사도 정보를 2차원으로 투영한 결과를 설명하기 위한 도면이다.
도 7은 일부 실시예에 따른 거리 학습에 의해 트리플렛 네트워크가 학습된 결과를 설명하기 위한 도면이다.
도 8은 일부 실시예에 따른 SVM 분류기에 의해 스윙 영상이 분류되는 정확도를 설명하기 위한 도면이다.
도 9는 일부 실시예에 따른 스윙 영상이 구분 동작들에 따른 구분 영상들로 분할된 결과를 나타내는 도면이다.
도 10은 일부 실시예에 따른 스윙 영상을 구분 동작들에 따른 구분 영상들로 분할하는 구체적인 과정을 설명하기 위한 도면이다.
도 11은 일부 실시예에 따른 스윙 영상을 구분 영상들로 분할하는 과정에서 활용되는 가공 테이블을 설명하기 위한 도면이다.
도 12는 일부 실시예에 따른 스윙 영상을 구분 영상들로 분할하는 과정에서 노이즈에 의해 발생되는 구분 동작 누락 구간 및 빈 구간을 대체하는 방식을 설명하기 위한 도면이다.
도 13은 일부 실시예에 따른 구분 영상들의 대표 프레임들을 나타내는 도면이다.
도 14는 일부 실시예에 따른 자세 분석 점수를 산출하는 과정에서 고려되는 자세 분석 기준 및 자세 분석 부위를 설명하기 위한 도면이다.
도 15는 일부 실시예에 따른 자세 분석 점수를 산출하기 위해 기준 영상들로부터 형성되는 정규 분포를 설명하기 위한 도면이다.
도 16은 일부 실시예에 따른 자세 분석 기준 및 자세 분석 부위에 대한 세부 분석 점수가 제공되는 방식을 설명하기 위한 도면이다.
도 17은 일부 실시예에 따른 골프 자세 분석 방법을 구성하는 단계들을 나타내는 흐름도이다.
도 2는 일부 실시예에 따른 관절 좌표 행렬에 대한 회전 변환을 수행하여 정면 관절 행렬을 생성하는 과정을 설명하기 위한 도면이다.
도 3은 일부 실시예에 따른 관절 좌표 행렬 및 정면 관절 행렬에 대한 시각화 결과를 나타내는 도면이다.
도 4는 일부 실시예에 따른 골프 스윙을 구성하는 구분 동작들을 설명하기 위한 도면이다.
도 5는 일부 실시예에 따른 재가공 관절 행렬을 생성하는 방식 및 스윙 영상을 구분 동작들에 따른 구분 영상들로 분할하는 방식을 설명하기 위한 도면이다.
도 6은 일부 실시예에 따른 관절 좌표 행렬, 정면 관절 행렬 및 유사도 정보를 2차원으로 투영한 결과를 설명하기 위한 도면이다.
도 7은 일부 실시예에 따른 거리 학습에 의해 트리플렛 네트워크가 학습된 결과를 설명하기 위한 도면이다.
도 8은 일부 실시예에 따른 SVM 분류기에 의해 스윙 영상이 분류되는 정확도를 설명하기 위한 도면이다.
도 9는 일부 실시예에 따른 스윙 영상이 구분 동작들에 따른 구분 영상들로 분할된 결과를 나타내는 도면이다.
도 10은 일부 실시예에 따른 스윙 영상을 구분 동작들에 따른 구분 영상들로 분할하는 구체적인 과정을 설명하기 위한 도면이다.
도 11은 일부 실시예에 따른 스윙 영상을 구분 영상들로 분할하는 과정에서 활용되는 가공 테이블을 설명하기 위한 도면이다.
도 12는 일부 실시예에 따른 스윙 영상을 구분 영상들로 분할하는 과정에서 노이즈에 의해 발생되는 구분 동작 누락 구간 및 빈 구간을 대체하는 방식을 설명하기 위한 도면이다.
도 13은 일부 실시예에 따른 구분 영상들의 대표 프레임들을 나타내는 도면이다.
도 14는 일부 실시예에 따른 자세 분석 점수를 산출하는 과정에서 고려되는 자세 분석 기준 및 자세 분석 부위를 설명하기 위한 도면이다.
도 15는 일부 실시예에 따른 자세 분석 점수를 산출하기 위해 기준 영상들로부터 형성되는 정규 분포를 설명하기 위한 도면이다.
도 16은 일부 실시예에 따른 자세 분석 기준 및 자세 분석 부위에 대한 세부 분석 점수가 제공되는 방식을 설명하기 위한 도면이다.
도 17은 일부 실시예에 따른 골프 자세 분석 방법을 구성하는 단계들을 나타내는 흐름도이다.
이하에서는 도면을 참조하여 본 발명의 실시예들이 상세하게 설명될 것이다. 이하에서의 설명은 실시예들을 구체화하기 위한 것일 뿐, 본 발명에 따른 권리범위를 제한하거나 한정하기 위한 것은 아니다. 본 발명에 관한 기술 분야에서 통상의 지식을 가진 자가 발명의 상세한 설명 및 실시예들로부터 용이하게 유추할 수 있는 것은 본 발명에 따른 권리범위에 속하는 것으로 해석되어야 한다.
본 발명에서 사용되는 용어는 본 발명에 관한 기술 분야에서 널리 사용되는 일반적인 용어로 기재되었으나, 본 발명에서 사용되는 용어의 의미는 해당 분야에 종사하는 기술자의 의도, 새로운 기술의 출현, 심사기준 또는 판례 등에 따라 달라질 수 있다. 일부 용어는 출원인에 의해 임의로 선정될 수 있고, 이 경우 임의로 선정되는 용어의 의미가 상세하게 설명될 것이다. 본 발명에서 사용되는 용어는 단지 사전적 의미만이 아닌, 명세서의 전반적인 맥락을 반영하는 의미로 해석되어야 한다.
본 발명에서 사용되는 '구성된다' 또는 '포함한다' 와 같은 용어는 명세서에 기재되는 구성 요소들 또는 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 일부 구성 요소들 또는 단계들은 포함되지 않는 경우, 및 추가적인 구성 요소들 또는 단계들이 더 포함되는 경우 또한 해당 용어로부터 의도되는 것으로 해석되어야 한다.
본 발명에서 사용되는 '제 1' 또는 '제 2' 와 같은 서수를 포함하는 용어는 다양한 구성 요소들 또는 단계들을 설명하기 위해 사용될 수 있으나, 해당 구성 요소들 또는 단계들은 서수에 의해 한정되지 않아야 한다. 서수를 포함하는 용어는 하나의 구성 요소 또는 단계를 다른 구성 요소들 또는 단계들로부터 구별하기 위한 용도로만 해석되어야 한다.
이하에서는 도면을 참조하여 본 발명의 실시예들이 상세하게 설명될 것이다. 본 발명에 관한 기술 분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 대해서는 자세한 설명이 생략된다.
도 1은 일부 실시예에 따른 골프 자세 분석 장치를 구성하는 요소들 및 골프 자세 분석 장치에서 수행되는 자세 분석 파이프라인을 설명하기 위한 도면이다.
도 1의 (a)를 참조하면, 골프 자세 분석 장치(100)를 구성하는 요소들을 나타내는 블록도가 도시되어 있고, 도 1의 (b)를 참조하면, 골프 자세 분석 장치(100)에서 수행되는 자세 분석 파이프라인이 도시되어 있다.
도 1의 (a)에서, 골프 자세 분석 장치(100)는 메모리(110) 및 프로세서(120)를 포함할 수 있다. 다만 이에 제한되는 것은 아니고, 도 1의 (a)에 도시되는 요소들 외에 다른 범용적인 요소들이 골프 자세 분석 장치(100)에 더 포함될 수 있다.
골프 자세 분석 장치(100)는 분석 대상자의 스윙 영상을 입력받아 그에 대한 처리 과정을 거쳐, 스윙 영상으로부터 분할되는 구분 영상들 각각에 관한 자세 분석 점수를 산출하여 출력할 수 있다. 데이터 입출력 및 처리 과정은 메모리(110)에 저장되는 명령어들을 실행하는 프로세서(120)에 의해 수행될 수 있다.
골프 자세 분석 장치(100)는 스윙 영상을 입력받아 자세 분석 점수를 출력하기 위한 컴퓨팅 디바이스일 수 있다. 골프 자세 분석 장치(100)에서 수행되는 데이터 입출력 및 처리 과정은 모바일/웹 애플리케이션 또는 컴퓨터 프로그램으로 구현될 수 있고, 골프 자세 분석 장치(100)는 이를 실행할 수 있다. 예를 들면, 골프 자세 분석 장치(100)는 PC, 스마트폰 및 태블릿 PC와 같은 형태로 구현될 수 있다. 다만 이에 제한되는 것은 아니고 골프 자세 분석 장치(100)는 프로세싱 성능을 구비하는 다양한 전자 디바이스의 형태로 구현될 수 있다.
골프 자세 분석 장치(100)는 각종 데이터, 명령어들, 적어도 하나의 프로그램 또는 소프트웨어를 저장하기 위한 수단으로서 메모리(110)를 포함할 수 있고, 명령어들 또는 적어도 하나의 프로그램을 실행함으로써 각종 데이터에 대한 처리를 수행하기 위한 수단으로서 프로세서(120)를 포함할 수 있다.
메모리(110)는 스윙 영상을 입력받아 자세 분석 점수를 출력하기 위한 각종 명령어들을 저장할 수 있다. 예를 들면, 메모리(110)는 컴퓨터 프로그램 또는 모바일/웹 애플리케이션과 같은 소프트웨어를 구성하는 명령어들을 저장할 수 있다. 또한, 메모리(110)는 애플리케이션 또는 프로그램의 실행에 필요한 각종 데이터를 저장할 수 있다.
메모리(110)는 ROM, PROM, EPROM, EEPROM, 플래시 메모리, PRAM, MRAM, RRAM, FRAM 등과 같은 비휘발성 메모리로 구현될 수 있고, 또는 DRAM, SRAM, SDRAM, PRAM, RRAM, FeRAM 등의 휘발성 메모리로 구현될 수 있다. 또한, 메모리(110)는 HDD, SSD, SD, Micro-SD 등으로 구현될 수도 있다.
프로세서(120)는 메모리(110)에 저장되는 명령어들을 실행함으로써 스윙 영상을 입력받아 자세 분석 점수를 출력할 수 있다. 프로세서(120)는 이를 위한 일련의 처리 과정들을 수행할 수 있다. 또한, 프로세서(120)는 골프 자세 분석 장치(100)를 제어하기 위한 전반적인 기능을 수행할 수 있고, 골프 자세 분석 장치(100) 내부의 각종 연산들을 처리할 수 있다.
프로세서(120)는 다수의 논리 게이트들의 어레이 또는 범용적인 마이크로 프로세서로 구현될 수 있다. 프로세서(120)는 단일의 프로세서 또는 복수의 프로세서들로 구성될 수 있다. 프로세서(120)는 명령어들을 저장하는 메모리(110)와 별개의 구성이 아닌, 메모리(110)와 함께 일체로 구성될 수도 있다. 예를 들면, 프로세서(120)는 골프 자세 분석 장치(100) 내에 구비되는 CPU, GPU 및 AP 중 적어도 하나의 형태로 구현될 수 있다.
프로세서(120)는, 메모리(110)에 저장되는 명령어들을 실행함으로써, 분석 대상자의 스윙 영상으로부터 분석 대상자의 주요 관절들의 3차원 위치를 나타내는 관절 좌표 행렬을 추출할 수 있다.
분석 대상자의 스윙 영상은 카메라 등을 통해 분석 대상자의 골프 스윙을 촬영한 영상을 의미할 수 있다. 스윙 영상은 복수의 프레임들로 이루어질 수 있다. 스윙 영상의 프레임들 각각에 대해 분석 대상자를 인식하는 과정, 및 분석 대상자로부터 골프 스윙에 관여하는 주요 관절들의 3차원 좌표를 추출하는 과정이 수행될 수 있다.
관절 좌표 행렬의 추출은 3차원 포즈 추정 기술을 기반으로 수행될 수 있다. 3차원 포즈 추정 기술에 의하면, 스윙 영상의 각 프레임으로부터 주요 관절들, 예를 들면 골프 스윙에 관여하는 17개의 관절들의 3차원 좌표들이 추출되어, 17행 3열의 크기를 갖는 관절 좌표 행렬이 생성될 수 있다. 한편, 관절 좌표 행렬은 스윙 영상을 구성하는 프레임들 각각에 대해 생성될 수 있다.
프로세서(120)는, 메모리(110)에 저장되는 명령어들을 실행함으로써, 주요 관절들 중 왼발 관절 및 오른발 관절이 나란히 정면을 향하도록 관절 좌표 행렬에 대한 회전 변환을 수행하여 정면 관절 행렬을 생성할 수 있다.
골프 자세 분석 장치(100)는 분석 대상자의 스윙 영상을 분석할 때 카메라의 촬영 위치나 각도를 제한하지 않고, 그로 인해 분석 대상자의 사용자 경험이 저해되지 않을 수 있다. 이를 위해, 즉 스윙 영상이 촬영되는 위치나 각도를 제한하지 않기 위해 관절 좌표 행렬에 대한 회전 변환이 활용될 수 있다. 즉, 스윙 영상이 어떤 위치나 각도에서 촬영되더라도, 관절 좌표 행렬에 회전 변환이 적용될 수 있으므로, 촬영 위치나 각도에 무관하게 동일한 방향의 정면 관절 행렬이 생성될 수 있다.
정면 관절 행렬을 생성하기 위한 회전 변환의 기준은 왼발 관절일 수 있다. 예를 들면, 관절 좌표 행렬의 주요 관절들 중 다양한 관절이 회전 변환의 기준이 될 수 있으나, 골프 스윙 자세의 정면에서는 왼발 및 오른발이 가로축 상에 나란하게 위치할 수 있으므로, 왼발 관절을 기준으로 나머지 관절들을 회전시키는 변환이 채택될 수 있다. 이를 위해, 왼발 관절을 원점 상에 위치시키는 평행 변환이 선행하여 수행될 수 있으며, 평행 변환 및 회전 변환은 관절 좌표 행렬에 대한 각종 행렬 연산에 의해 수행될 수 있다.
프로세서(120)는, 메모리(110)에 저장되는 명령어들을 실행함으로써, 주요 관절들의 중심 관절에서 주요 관절들의 나머지 관절들로 향하는 방향을 나타내는 관절 방향 정보에 기초하여 정면 관절 행렬에 대한 재가공을 수행하여 재가공 관절 행렬을 생성할 수 있다.
중심 관절은 주요 관절들 중 중심 부근에 위치하는 관절을 의미할 수 있다. 예를 들면, 17개의 주요 관절들 중 엉덩이 관절이 중심 관절에 해당할 수 있다. 회전 변환을 수행하는 과정에서 왼발 관절이 원점에 위치했었으나, 왼발 관절 대신 엉덩이 관절이 중심 관절로 설정되는 경우, 그로부터 나머지 관절들이 위치하는 방향이 보다 다양한 영역에 분포하여, 3차원 공간의 3개 축들의 음수, 양수에 의한 8개의 공간에 관절들이 골고루 나뉘어 위치할 수 있다. 즉, 중심 관절의 설정에 의해 나머지 관절들이 위치하는 방향이 더욱 명확하게 구별될 수 있다.
정면 관절 행렬을 재가공 관절 행렬로 재가공하는 과정에서, 중심 관절에서 나머지 관절들로 향하는 벡터들이 정규화되어, 벡터들의 길이가 단위 길이로 변환될 수 있다. 예를 들면, 17행 3열로 구성되는 정면 관절 행렬에서, 엉덩이 관절에 해당하는 좌표 벡터를 중심으로 하여, 나머지 관절들로 향하는 차이값 벡터들이 계산될 수 있고, 차이값 벡터들에 대한 L2-정규화의 결과로 생성되는 단위 방향 벡터들이 17행 3열의 재가공 관절 행렬을 형성할 수 있다.
재가공 관절 행렬은 정면 관절 행렬 대비 주요 관절들이 배치되는 방향의 분포를 보다 명확하게 제시할 수 있다. 즉, 왼발 관절이 기준이 되는 경우 나머지 관절들 모두 유사한 방향에 배치되지만, 엉덩이 관절을 기준으로 하게 되면 나머지 관절들이 보다 다양한 범위와 방향에 배치되므로, 이후의 학습 및 분류 과정에서 관절들의 위치 및 방향이 보다 정밀하게 분석될 수 있다.
프로세서(120)는, 메모리(110)에 저장되는 명령어들을 실행함으로써, 재가공 관절 행렬이 골프 스윙을 구성하는 구분 동작들 중 어느 동작과 가장 유사한지를 나타내는 유사도 정보에 기초하여 스윙 영상을 프레임 단위로 분류한 이후 프레임들의 시퀀스 흐름에 따라 구분 동작들에 따른 구분 영상들로 분할할 수 있다.
골프 스윙은 구분 동작들로 구분될 수 있다. 예를 들면, 후술할 바와 같이 골프 스윙은 연속하는 8개의 동작 단계들로 구성될 수 있다. 관절들이 위치하는 관절 방향 정보가 반영된 재가공 관절 행렬에 기초하여 분석 대상자의 스윙 영상이 구분 동작들에 따른 구분 영상들로 분할될 수 있다. 예를 들면, 스윙 영상의 프레임들이 8개의 구분 동작들에 따라 8개의 구분 영상들로 분할될 수 있다.
분석 대상자의 스윙 영상이 구분 영상들로 분할되는 과정에서 유사도 정보가 활용될 수 있다. 유사도 정보는 스윙 영상의 각 프레임에서의 재가공 관절 행렬이 구분 동작들 중 어떤 동작과 가장 유사한지를 나타낼 수 있다. 이를 위해, 후술할 바와 같이, 스윙 영상의 프레임들에 대응되는 재가공 관절 행렬들을 서로 다른 클러스터들로 분리하도록 거리 학습(metric learning)되는 트리플렛 네트워크 및 분리되는 클러스터에 대응되는 유사도 정보에 기초하여 스윙 영상을 프레임 단위로 분류하도록 학습되는 SVM 분류기가 활용될 수 있고, 프레임 단위의 분류 이후에 다시 프레임들로 구성되는 시퀀스의 흐름에 따라 스윙 영상이 구분 영상들로 분할될 수 있다.
프로세서(120)는, 메모리(110)에 저장되는 명령어들을 실행함으로써, 구분 영상들을 구분 동작들에 대한 기준 영상들과 통계적으로 비교하여 구분 영상들 각각에 관한 자세 분석 점수를 산출할 수 있다.
분석 대상자의 스윙 영상이 구분 영상들로 분할되면, 분할된 각 구분 영상들을 기준 영상들과 비교하여 자세 분석 점수가 산출될 수 있다. 예를 들면, 스윙 영상이 8개의 구분 영상들로 분할될 수 있고, 구분 영상들 각각에서 하나씩의 대표 프레임이 선별되어 8개의 대표 프레임들이 추출되면, 이들을 기준 영상들과 통계적으로 비교하는 방식으로 자세 분석 점수가 산출될 수 있다.
기준 영상들은 자세 분석 점수를 산출하기 위한 기준이 되는 영상들을 의미하는 것으로서, 예를 들면 프로 골프 선수들의 스윙 영상을 기반으로 생성될 수 있다. 통계적 방식의 비교는 통계 기법을 활용한 정량적 수치 분석을 의미할 수 있다. 예를 들면, 다량의 기준 영상들로부터 8개의 대표 프레임들을 추출하고, 그로부터 다시 정면 관절 행렬과 같은 데이터를 수집하여, 수집된 데이터의 분포를 통계적 비교를 위한 기준으로 설정하는 방식이 활용될 수 있다.
전술한 바와 같은 골프 자세 분석 장치(100)에서의 프로세서(120)의 처리 과정에 의하면, 분석 대상자의 스윙 영상에 대한 자세 분석이 골프 스윙의 구분 동작별로 이루어질 수 있으므로, 골프 자세 분석 장치(100)의 사용자로서 분석 대상자는 자신의 스윙 영상에서 고쳐야할 부분을 스스로 확인하여 이를 교정할 수 있다. 특히, 골프 자세 분석 장치(100)에서는 스윙 영상을 촬영할 때 카메라의 촬영 위치나 방향이 특정 위치나 방향으로 제한되지 않으므로, 보다 개선된 사용자 경험이 제공될 수 있다.
도 1의 (b)에는 골프 자세 분석 장치(100)에서 수행되는 파이프라인이 도시되어 있다.
도 1의 (b)는 영상 기반 골프 자세 분석을 위한 파이프라인 및 이를 이용한 자세 교정 방법에 관한 것으로서, 그에 따르면, 외부 조건을 제한하여 사용자의 경험을 해치지 않고 골프 자세의 순차적인 특성을 반영하여 정확한 자세 분석을 제공하는 영상 기반 자세 분석 파이프라인과 이를 이용한 교정 방법이 제안될 수 있다. 본 발명의 영상 기반 자세 분석 및 교정 파이프라인에서는 단계 101 내지 단계 106의 모듈들이 순차적으로 진행될 수 있다.
단계 102의 관절 좌표 데이터 추출 모듈에서는 3D 관절 좌표 데이터가 추출될 수 있고, 단계 103에서는 정규화 및 정면 회전 변환을 통해 카메라의 방향에 무관하게 일관된 분석이 가능해질 수 있다. 단계 104에서는 팔, 머리 등 사용자의 관절 방향의 유사성을 학습하여 각 프레임별 자세를 분류하는 모듈이 동작할 수 있고, 단계 105에서는 골프 스윙이 순차적인 자세로 구성되어 있는 점을 고려하여 영상 시퀀스를 각 스윙의 단계로 분할하는 모듈이 동작할 수 있고, 단계 106에서는 분할된 관절들에 대해 표준 관절 자세와 비교하여 분석 정보를 생성하는 모듈이 동작할 수 있다.
구체적으로, 단계 101에서 분석 대상자의 스윙 영상이 입력되면, 단계 102에서 입력된 스윙 영상에서 3D 관절 좌표를 인식하고 추출하는 과정이 진행될 수 있다. 이 때 3D 관절 좌표 인식 및 추출 모듈은 3D Pose Estimation 기술 기반의 포즈 추정 방식을 이용하여, 입력된 스윙 영상을 픽셀 단위로 분석하여 분석 대상자와 분석 대상자의 3D 관절 데이터를 추출할 수 있다.
단계 102에서 분석 대상자의 3D 관절 좌표 데이터가 추출되면, 사람의 체형이 각기 다른 것을 고려하여 관절을 정규화하고 정면으로 회전하는 단계 103이 진행되어, 일관된 자세 분석이 제공될 수 있다. 단계 103에 대해서는 다음의 도 2가 참조될 수 있다.
도 2는 일부 실시예에 따른 관절 좌표 행렬에 대한 회전 변환을 수행하여 정면 관절 행렬을 생성하는 과정을 설명하기 위한 도면이다.
단계 103 및 도 2와 관련하여, 프로세서(120)는, 정면 관절 행렬 Krotated를 생성할 때, 왼발 관절이 원점에 위치하도록 관절 좌표 행렬 K에 대한 평행 변환을 수행할 수 있고, 오른발 관절이 가로축 상에 위치하도록 회전 변환을 수행할 수 있다.
단계 103의 정규화 및 정면 회전 단계에서는 회전 변환을 위해 고정 축이 설정될 수 있고 고정 축을 기준으로 평행 변환이 수행될 수 있다. 평행 변환 후에는 기준 벡터와 고정 축을 기준으로 회전시킬 벡터와의 각도를 계산한 후 회전 변환이 수행될 수 있다.
도 2의 (a)에 도시된 평행 변환 과정(210)에서와 같이, 골프 자세의 정면은 양 발이 일직선 상에 위치하는 상태를 의미하므로, 회전 변환을 위해 왼발 좌표(c 0 )를 고정 축으로 하여 X축 및 Y축으로 평행 변환한 후, 신체 관절의 Z축 방향의 최솟값이 0이 되도록 Z축 평행 변환이 수행될 수 있다. 이 때 평행 변환의 범위는 도시된 바와 같이 M일 수 있고, 모든 관절 좌표가 M만큼 평행 변환될 수 있다.
평행 변환 과정(210) 이후, 도 2의 (b) 및 (c)에 도시된 회전 변환 과정(220, 230)에서와 같이, 기준이 되는 Y축 법선 벡터(u)와 고정 축을 기준으로 회전 시킬 벡터(v)와의 각도(θz)를 계산한 이후 Z축을 기준으로 회전 변환이 수행될 수 있다. 회전 변환 과정은 아래와 같이 식으로 표현될 수 있다.
[식 1]
식 1에서, 입력되는 분석 대상자의 스윙 영상의 한 프레임에서 추출된 관절 좌표 행렬 K를 정면 회전한 Krotated는 3차원 축(X, Y, Z)으로 평행 변환한 K와, Y축 법선 벡터(u)와 회전시키고자 하는 기준 벡터(v)와의 각도(θz)를 구한 후, 관절 좌표 행렬 K를 각도(θz)만큼 Z축 회전 변환한 행렬로 정의될 수 있다. 정면 변환의 결과에 대해서는 도 3이 참조될 수 있다.
도 3은 일부 실시예에 따른 관절 좌표 행렬 및 정면 관절 행렬에 대한 시각화 결과를 나타내는 도면이다.
도 3에는 분석 대상자의 스윙 영상의 한 프레임(311, 321, 331), 관절 좌표 행렬 K에 대한 시각화 자료(312, 322, 332) 및 관절 좌표 행렬 K에 대한 정면 변환의 결과로 생성되는 정면 관절 행렬 Krotated에 대한 시각화 자료(313, 323, 333)이 도시되어 있다.
도 3의 (a)는 분석 대상자를 정면에서 촬영한 스윙 영상에 관한 것이고, 도 3의 (b)는 분석 대상자를 측면(45˚)에서 촬영한 스윙 영상에 관한 것이고, 도 3의 (c)는 분석 대상자를 측면(90˚)에서 촬영한 스윙 영상에 관한 것이다. 시각화 자료(312, 322, 332)에서와 같이 다양한 각도의 스윙 영상들에서 관절 좌표 행렬 K가 생성될 수 있고, 시각화 자료(313, 323, 333)에서와 같이 정면 변환의 결과로 동일한 방향의 정면 관절 행렬 Krotated이 생성될 수 있다.
도 1의 단계 104와 관련하여, 골프 스윙의 구분 동작들에 대해서는 도 4가 참조될 수 있다.
도 4는 일부 실시예에 따른 골프 스윙을 구성하는 구분 동작들을 설명하기 위한 도면이다.
도 4에는 일반적으로 골프 스윙을 구분하는 (a) address 단계부터 (h) finish 단계까지의 동작 8단계(400)가 도시되어 있다. 동작 8단계(400)에서는 자세의 명확한 표시를 위해 관절 간의 연결이 연결선으로 형상화되어 있다. 도시된 바와 같이 골프의 전체적인 스윙 동작은 8단계 동작의 연속으로 구성될 수 있다.
앞서 추출된 관절 좌표가 정면 회전된 정면 관절 행렬 Krotated임을 고려하면, 실제 세계에서와 팔, 머리 등의 관절의 방향 및 각도 등과 유사한 정보가 획득될 수 있다. 또한, 도 1의 단계 104에서는 스윙의 8단계 자세를 효율적으로 구분하기 위해 추출된 3차원 관절 데이터, 즉 정면 관절 행렬 Krotated를 재가공하는 단계가 포함될 수 있다.
도 1의 단계 104에서 관절 자세 분류 단계는 영상 시퀀스의 각 프레임 별로 진행될 수 있다. 이에 대해서는 도 5가 참조될 수 있다.
도 5는 일부 실시예에 따른 재가공 관절 행렬을 생성하는 방식 및 스윙 영상을 구분 동작들에 따른 구분 영상들로 분할하는 방식을 설명하기 위한 도면이다.
도 5에는 정면 관절 행렬 Krotated에 기반하여 관절 각도 및 방향 정보에 관한 재가공 관절 행렬 KA를 생성하는 모듈(510), 재가공 관절 행렬 KA에 기반하여 유사도 정보 SK를 생성하는 모듈(520) 및 유사도 정보 SK에 기반하여 스윙 단계를 분류하는 모듈(530)을 포함하는 관절 자세 분류 모듈(500)이 도시되어 있고, 모듈(520) 및 모듈(530)이 프로 골프 선수의 스윙 영상에서의 정면 관절 행렬 Krotated에 의해 학습될 수 있음이 도시되어 있다.
구체적으로, 스윙 단계를 효과적으로 분류하기 위해 도 1의 단계 103에서 추출된 정면 관절 행렬 Krotated를 가공하는 학습 과정 및 이를 기반으로 새로운 데이터가 입력되었을 때 데이터를 가공하고 분류하기 위한 분류 과정이 제시될 수 있다. 학습 과정에 대해서는 도 6이 참조될 수 있다.
도 6은 일부 실시예에 따른 관절 좌표 행렬, 정면 관절 행렬 및 유사도 정보를 2차원으로 투영한 결과를 설명하기 위한 도면이다.
도 6에는 분석 대상자의 스윙 영상을 구성하는 복수의 프레임들, 예를 들면 1600개의 프레임들이 골프 스윙의 구분 동작들 8단계 중 어떤 단계로 구분되는지에 관한 정면 관절 행렬 Krotated의 관점에서의 2차원 시각화 자료(610), 재가공 관절 행렬 KA의 관점에서의 2차원 시각화 자료(620) 및 유사도 정보 SK의 관점에서의 2차원 시각화 자료(630)가 도시되어 있다.
도 1의 단계 104 및 도 6과 관련하여, 프로세서(120)는, 재가공 관절 행렬 KA를 생성할 때, 주요 관절들 중 엉덩이 관절을 중심 관절로 설정하고, 엉덩이 관절에서 나머지 관절들로 향하는 벡터들에 대한 L2 정규화에 의해 생성되는 정규화 벡터들로 재가공 관절 행렬 KA를 생성할 수 있다.
시각화 자료(620)에서의 재가공 관절 행렬 KA 및 시각화 자료(630)에서의 유사도 정보 SK를 생성하기 위한 학습 과정은, 도 5의 모듈(500)에서와 같이, i) 프로의 스윙 영상에서 추출되는 정면 관절 행렬 Krotated를 관절의 방향을 고려하여 재가공하는 재가공 관절 행렬 KA 생성 단계, ii) 관절의 방향을 고려한 재가공 관절 행렬 KA을 바탕으로 스윙 단계별 유사성을 학습하여 클러스터를 형성하는 단계, iii) 학습된 유사성 모델을 이용하여 유사도 정보 SK를 생성하는 단계, iv) 스윙 단계별 유사도 정보 SK를 이용하여 스윙 단계 분류 모델을 생성하는 단계, 및 v) 학습된 분류 모델을 이용하여 스윙 단계를 분류하는 단계로 구성될 수 있다.
i) 프로의 스윙 영상에서 추출되는 정면 관절 행렬 Krotated를 관절의 방향을 고려하여 재가공하는 재가공 관절 행렬 KA 생성 단계에서는, 스윙 자세를 8단계로 효과적으로 구분하기 위해 관절의 방향을 고려하여 정면 관절 행렬 Krotated이 새로운 변수인 재가공 관절 행렬 KA로 재가공될 수 있다. 관절의 방향을 고려하여 새로운 변수로 재가공하는 과정은 아래의 식을 통해 설명될 수 있다.
[식 2]
식 2에서, 정면 관절 행렬 Krotated를 관절의 방향을 고려하여 재가공한 재가공 관절 행렬 KA는 엉덩이 중심 벡터(c0)와 다른 모든 관절 벡터 (ci)의 차이 벡터(ri)의 L2 정규화 벡터(L2 normalized vector)를 17 x 3으로 갖는 행렬로 정의될 수 있다. 이 때 i는 0≤i≤16 범위의 정수일 수 있다.
2차원 시각화 자료(610)는 기존의 관절 위치 정보에 관한 정면 관절 행렬 Krotated를, 2차원 시각화 자료(620)는 관절의 방향을 고려하여 관절 데이터를 재가공한 재가공 관절 행렬 KA를 차원 축소 기법인 T-SNE(T-distributed Stochastic Neighbor Embedding)를 이용하여 2차원으로 투영한 결과를 나타낼 수 있다.
도 4의 (a) address 및 (f) impact 의 자세가 상대적으로 유사하다는 점에서, 2차원 시각화 자료(610)의 영역(611)에서 (a) address 부분(적색) 및 (f) impact 부분(자색)이 서로 가까운 위치에 있음이 확인될 수 있다. 또한, 도 4의 (e) downswing 의 자세는 (b), (c), (d)의 자세와 상대적으로 유사하기 때문에, 2차원 시각화 자료(610)의 영역(612)에서 (b), (c), (d) 및 (e)가 고르게 분산되어 있음이 확인될 수 있다.
이와는 달리, 재가공 관절 행렬 KA에 관한 2차원 시각화 자료(620)의 경우, 영역(621)에서 (a) 및 (f)가 서로 분리되어 있음이 확인될 수 있으며, 영역(622)에서도 (b), (c), (d) 및 (e)가 분산되는 정도, 즉 엔트로피가 줄어들었음이 확인될 수 있다.
ii) 관절의 방향을 고려한 재가공 관절 행렬 KA을 바탕으로 스윙 단계별 유사성을 학습하여 클러스터를 형성하는 단계에서는, 각 스윙 자세 단계에서의 재가공 관절 행렬 KA에서 특징(feature)을 추출하고, 추출된 특징의 유사성(similarity)을 검토하여 샘플을 분리해주는 거리 학습(metric learning)이 사용될 수 있다. 거리 학습의 목적은 샘플을 서로 다른 특징으로 구분하고자 할 때 유사한 구조로 인해 가까운 거리에 있는 데이터를 서로 분리시키는 데 있다.
ii) 관절의 방향을 고려한 재가공 관절 행렬 KA을 바탕으로 스윙 단계별 유사성을 학습하여 클러스터를 형성하는 단계, 및 도 5 내지 6과 관련하여, 프로세서(120)는, 구분 영상들로 분할할 때, 재가공 관절 행렬 KA로부터 추출되는 피쳐들에 기초하여 재가공 관절 행렬 KA의 프레임별 샘플들을 서로 다른 클러스터들로 분리하도록 학습되는 트리플렛 네트워크를 활용하여 유사도 정보 SK를 생성할 수 있다.
또한 위와 관련하여, 트리플렛 네트워크는, 프로 골프 선수들의 스윙 영상들을 학습 데이터셋으로 하고, 샘플들 중 동일 클러스터의 샘플들 간의 거리는 가깝게 하고 샘플들 중 서로 다른 클러스터의 샘플들 간의 거리는 멀게 하는 손실 함수를 갖는 거리 학습(metric learning)에 의해 학습될 수 있다.
구체적으로, 거리 학습에서는 트리플렛(triplet)의 관계에서 거리(metric)와 임베딩(embedding)이 계산될 수 있다. 즉, 트리플렛 네트워크의 기준 데이터(Anchor), 동일 클래스의 데이터(Positive) 및 다른 클래스의 데이터(negative)에 관하여, 데이터(Anchor)로부터 근사한 데이터(Positive)는 가깝게, 근사하지 않은 데이터(negative)는 멀게 하여 적절한 분리 공간에 배치하는 방식이 활용될 수 있다. 이와 같은 트리플렛 네트워크를 구현하는 손실 함수(loss function)는 아래와 같이 유클리드 거리(Euclidean distance)를 사용하여 설명될 수 있다.
[식 3]
식 3에서는, 입력 데이터(Anchor) A는 프로 골프 선수 영상 1400개에서 추출한 재가공 관절 행렬 KA이며, 클래스는 스윙 8단계로 레이블링된 데이터를 의미할 수 있다. 학습 진행의 경우, A가 선택되고, A와 동일한 클래스와 다른 클래스 중에서 각각 랜덤하게 데이터(P, N)을 선택될 수 있고, 이후 임베딩 함수를 통해 출력된 값인 f(A), f(P) 및 f(N)을 이용하여, A로부터 P와 N까지의 유클리드 거리가 계산될 수 있다. 이 때 f(A) 및 f(P) 간의 거리가 f(A) 및 f(N) 간의 거리보다 일정 여백(α)만큼 가깝게 만드는 것이 위 손실 함수 L(A, P, N)의 핵심일 수 있다.
일반적으로는, 손실 함수는 CNN(convolutional neural network)을 통해 추출된 피쳐들 간의 유사성을 판단하여 거리 학습을 진행하여 분류 모델을 생성할 때 활용될 수 있다. 예를 들면, FaceNet과 같은 얼굴 분류 모델에서 CNN을 통해 사람 얼굴의 이미지로부터 피쳐들이 추출되고, 그 피쳐들 간의 유사성이 판단되어 사람의 얼굴이 분류될 수 있다.
다만 본 발명에서는 위와 같은 CNN을 통해 추출된 이미지가 아닌, 벡터의 길이를 단위 길이로 일정하게 하는 정규화가 적용된 재가공 관절 행렬 KA이 임베딩되어 입력 데이터로 사용됨에 따라 성능 향상이 이루어질 수 있다. 또한, 일반적인 분류 모델이 사용되는 것이 아닌, 스윙의 8단계별로 재가공 관절 행렬 KA를 분류하기 위해 유사성을 학습하여 피쳐 공간에서의 거리를 조절해주는 트리플렛 네트워크가 적용됨에 따라, 후술할 바와 같이 분류 단계의 정확도가 더욱 향상될 수 있다.
트리플렛 네트워크의 학습에 관한 구체적인 내용 및 그 결과에 대해서는 도 7이 참조될 수 있다.
도 7은 일부 실시예에 따른 거리 학습에 의해 트리플렛 네트워크가 학습된 결과를 설명하기 위한 도면이다.
도 7에는 트리플렛 네트워크에 대한 거리 학습의 결과를 설명하기 위한 그래프(700)가 도시되어 있다. 그래프(700)에서 그 결과가 도시되는 거리 학습은 프로 골프 선수의 골프 영상 1400개를 학습 데이터셋으로 할 수 있고, 또한 거리 학습 과정에서는 8단계 스윙 자세에 관한 재가공 관절 행렬 KA이 활용될 수 있다.
거리 학습에 의해 학습되는 트리플렛 네트워크는 3개의 레이어들로 구성되는 다층 퍼셉트론(MLP, MultiLayer Perceptron)으로 구성될 수 있고, 학습 레이트(learning rate)는 e-4, 옵티마이저(optimizer)는 Adam, 드롭아웃(dropout)은 0.1, 활성화 함수(activation function)는 swish가 활용될 수 있으며, 학습은 13,000 epoch(1 epoch = 10 steps) 동안 진행될 수 있다.
그래프(700)에 도시된 바와 같이, 가로축의 epoch이 진행되면서 세로축에서 검증 손실(validation loss)이 학습 손실(training loss)과 유사하게 수렴하는 경향이 확인될 수 있다. 즉, 모델이 과적합(overfitting)이나 과소적합(underfitting) 없이 적절하게 학습되었음이 확인될 수 있다.
그래프(700)에서와 같이 거리 학습에 의한 트리플렛 네트워크의 학습이 완료되는 경우, 학습 완료된 트리플렛 네트워크를 활용하여 유사도 정보 SK가 생성될 수 있다.
즉, iii) 학습된 유사성 모델을 이용하여 유사도 정보 SK를 생성하는 단계와 관련하여, 다시 도 6의 (c)에 도시된 2차원 시각화 자료(630)를 참조하면, 학습 완료된 트리플렛 네트워크에 의해 출력되는 유사도 정보 SK가 2차원으로 투영된 결과가 도시되어 있다. 2차원 시각화 자료(630)에서는, 스윙의 각 단계별 피쳐들을 추출하고, 추출된 피쳐들의 유사성을 바탕으로 학습을 진행한 결과, 유사도 정보 SK가 각 단계별로 클러스터를 형성하고 있음이 확인될 수 있다.
이후, 유사도 정보 SK를 활용하여 분석 대상자의 스윙 영상을 구분 영상들로 분할하는 과정의 정확도에 대해서는, 도 8이 참조될 수 있다.
도 8은 일부 실시예에 따른 SVM 분류기에 의해 스윙 영상이 분류되는 정확도를 설명하기 위한 도면이다.
iv) 스윙 단계별 유사도 정보 SK를 이용하여 스윙 단계 분류 모델을 생성하는 단계, 및 도 8과 관련하여, 프로세서(120)는, 구분 영상들로 분할할 때, 유사도 정보 SK에 기초하여 스윙 영상을 구성하는 프레임들을 분류하도록 학습되는 SVM 분류기를 활용하여 프레임들을 구분 영상들로 분할할 수 있다.
즉, iv) 스윙 단계별 유사도 정보 SK를 이용하여 스윙 단계 분류 모델을 생성하는 단계와 관련하여, 이전 단계에서 스윙 단계별로 추출된 피쳐들의 유사도 정보 SK가 각 단계별로 클러스터를 형성하도록 만들어졌기 때문에, K-NN(K-Nearest Neighbors), SVM(Support Vector Machine) 등의 다양한 분류 기법에 의해 스윙 영상이 구분 영상들로 분할될 수 있다.
본 단계에서는 입력 벡터를 유사도 정보 SK로 사용하여 8단계의 스윙 자세를 분류하는 방법으로 SVM 분류 기법이 사용될 수 있다. SVM은 각 클래스 간의 마진(margin)을 최대화하는 최적의 결정 경계(decision boundary)를 정의하는 모델로서, 8단계 스윙별 유사도 정보 SK를 분류하는 최적의 평면을 찾는 것을 목적으로 할 수 있다.
본 발명에서는 1400개의 프로 골프 선수의 스윙 영상을 바탕으로 하는 8단계 스윙 자세의 유사도 정보 SK가 SVM 분류기의 입력 벡터로 제공될 수 있다. 하이퍼파라미터(hyperparameter)는 그리드 서치(grid search)로 분류기의 성능을 최대화하도록 설정될 수 있다. 그 결과, 스윙 자세를 분류하는 SVM 분류기의 정확도는 96%로 측정되었고, 도 8의 그래프(800)에서와 같이, 각 단계별로도 높은 정확도가 보장됨이 확인될 수 있다.
SVM 분류기를 활용하여 분석 대상자의 스윙 영상을 프레임별로 분류한 결과에 대해서는 도 9가 참조될 수 있다.
도 9는 일부 실시예에 따른 스윙 영상이 각 프레임별로 분류된 결과를 나타내는 도면이다.
도 9에는 스윙 영상이 구분 영상들로 분할된 결과를 나타내는 그래프(910) 및 스윙 자세에 대한 구분 동작들의 인덱스(920)가 도시되어 있다. 즉, v) 학습된 분류 모델을 이용하여 스윙 단계를 분류하는 단계와 관련하여, 그래프(910)는 이전 단계에서 학습 완료된 SVM 분류기를 활용하고 스윙 영상 1개를 입력으로 하여, 스윙 영상의 매 프레임별로 분류된 자세를 그래프화한 것을 의미할 수 있다. 그래프(910)는 프로 골프 선수 타이거 우즈의 스윙 영상을 입력으로 하여 분류된 결과를 나타낼 수 있다.
그래프(910)에서 X축은 입력되는 스윙 영상의 프레임 번호를, Y축은 인덱스(920)에 도시되어 있는 8개의 스윙 자세의 번호(0번: address 내지 7번: finish)를 의미할 수 있다. X축의 값이 스윙 영상의 시작인 0번 프레임부터 스윙 영상의 끝인 1600번 프레임까지 증가하는 동안, Y축의 값은 0부터 7까지 계단식으로 증가하는 형태를 띠는 것이 바람직할 수 있다.
그래프(910)에서는 3: top 구간에서 7:finish 구간과의 노이즈를 보이는 것을 제외하면, 전체적으로 계단식으로 증가하는 추세가 확인될 수 있고, 그로부터 프레임 단위의 자세 분류기를 연속된 프레임들의 모음인 영상 단위에도 적용 가능하다는 점이 확인될 수 있다. 이는 이전 단계의 거리 학습에 의해 트리플렛 네트워크가 골프 자세별로 같은 자세는 가깝게, 다른 자세는 멀게 조절하여 서로간의 거리를 최대화하였기 때문이고, 이는 다시 마진을 최대화하여 SVM 분류기가 최적의 성능을 내도록 하였기 때문일 수 있다.
앞서 설명된 학습에 관한 단계들, 즉 i) 프로의 스윙 영상에서 추출되는 정면 관절 행렬 Krotated를 관절의 방향을 고려하여 재가공하는 재가공 관절 행렬 KA 생성 단계, ii) 관절의 방향을 고려한 재가공 관절 행렬 KA을 바탕으로 스윙 단계별 유사성을 학습하여 클러스터를 형성하는 단계, iii) 학습된 유사성 모델을 이용하여 유사도 정보 SK를 생성하는 단계, iv) 스윙 단계별 유사도 정보 SK를 이용하여 스윙 단계 분류 모델을 생성하는 단계, 및 v) 학습된 분류 모델을 이용하여 스윙 단계를 분류하는 단계 이후에는, 학습 결과물을 활용한 분류 과정이 수행될 수 있다.
분류 과정은 ① 프로의 스윙 영상에서 추출된 정면 관절 행렬 Krotated를 관절의 방향을 고려하여 재가공하여 재가공 관절 행렬 KA을 생성하는 단계, ② 학습된 유사성 모델, 즉 거리 학습된 트리플렛 네트워크를 이용하여 유사도 정보 SK를 생성하는 단계, 및 ③ 유사도 정보 SK에 기초하여 학습된 SVM 분류기를 이용하여 스윙 단계를 분류하는 단계로 구성될 수 있다.
위와 같은 분류 과정은, 도 5에서도 도시된 바와 같이, 앞서 설명된 학습에 관한 단계들의 일부와 동일한 단계를 의미할 수 있다.
한편, 그래프(910)의 700 프레임 내지 800 프레임 구간, 즉 3: top 구간에서 발생한 노이즈와 관련하여, 노이즈는 잘못된 단계로 분류되는 경우를 의미할 수 있고, 이는 3D 관절 좌표 추출 및 인식 과정 또는 프레임별 관절 자세 분류 과정에서 발생한 기계적 오류일 수 있다. 또한, 아마추어의 스윙의 경우, 스윙 자세의 미숙함으로 인해 노이즈가 발생할 수도 있다.
따라서, 운동 단계 분할 과정, 즉 도 1의 (b)의 단계 105를 통해 스윙 자세의 순차적인 특징을 고려하여 노이즈를 제거하고 운동 단계를 효과적으로 분할하는 것이 가능해질 수 있다. 이에 대해서는 도 10이 참조될 수 있다.
도 10은 일부 실시예에 따른 스윙 영상을 구분 동작들에 따른 구분 영상들로 분할하는 구체적인 과정을 설명하기 위한 도면이다.
도 10에는 운동 단계 분할 과정, 즉 도 1의 (b)의 단계 105를 구성하는 단계 1010 내지 단계 1060이 도시되어 있다. 운동 단계 분할 과정은 영상 단위의 분류된 자세 배열을 입력으로 할 수 있다. 분류된 자세 배열이란 후술할 도 11의 가공 데이터(1110)로 가공되기 이전의 배열 데이터로서, 학습 완료된 SVM 분류기에 의해 각 프레임이 8단계의 자세 중 어떤 자세에 대응되는지를 매칭시키는 방식으로 생성될 수 있다.
운동 단계 분할 과정에 관한 단계 1010 내지 단계 1060과 관련하여, 프로세서(120)는, 구분 영상들로 분할할 때, 스윙 영상을 구성하는 프레임들을 구분 동작들을 기준으로 가공하여 가공 테이블을 생성할 수 있고(단계 1020), 가공 테이블에서 동일한 구분 동작으로 집계되는 프레임들 중 프레임 개수가 가장 큰 프레임들을 각각의 구분 영상들로 할당할 수 있고(단계 1030), 노이즈에 의해 발생되는 구분 동작 누락 구간 및 빈 구간을 대체하는 누락 구간 채움 및 빈 구간 채움을 수행하여 구분 영상들을 완성할 수 있다(단계 1040 및 단계 1050).
운동 단계 분할 과정에 관한 단계 1010 내지 단계 1060에 관한 보다 구체적인 내용에 대해서는 도 11이 참조될 수 있다.
도 11은 일부 실시예에 따른 스윙 영상을 구분 영상들로 분할하는 과정에서 활용되는 가공 테이블을 설명하기 위한 도면이다.
분류된 자세 배열은 학습 완료된 SVM 분류기에 의해 각 프레임이 8단계의 자세 중 어떤 자세에 대응되는지를 매칭시키는 방식으로 생성되는 것으로서, 자세 단계(phase), 개수(count), 시작 프레임 번호(start idx) 및 끝 번호(end idx)를 갖는 배열을 의미할 수 있다. 단계 1010에서 분류된 자세 배열이 입력되면, 이에 대한 데이터 가공을 수행하는 단계 1020가 진행될 수 있다.
가공 데이터(1110)는 도 6의 2차원 시각화 자료(610)를 가공한 예시로서, 단계 1020의 결과로 생성될 수 있으며, 연산량을 크게 감소시킬 수 있다. 즉, 최장 증가 부분 수열을 만드는 알고리즘을 적용하면, 가공 이전의 분류된 자세 배열 대비 가공 데이터(1110)의 알고리즘 적용 효율이 향상될 수 있다. 현재 알려진 최장 증가 부분 수열의 가장 효율적인 알고리즘의 계싼 복잡도는 O(nlog(n))이며, 가공 데이터(1110)의 길이로서 7+α가 될 수 있고, α는 노이즈의 개수일 수 있다. 즉, n은 노이즈 수에 비례하며, 입력 영상의 프레임 길이, 예를 들면 1600보다 n이 작을 수 있다.
예를 들면, 계산 복잡도에 따르면, 도 6의 2차원 시각화 자료(610)를 가공하지 않았다면 n은 프레임수(=1600)이므로 최대 5000번의 연산이 수행되는 것이지만, 가공 데이터(1110)와 같이 가공되는 경우 n은 노이즈 수에 따라 약 200 정도의 값이 된다고 가정하면, 가공에 소요되는 1600회의 연산과, n=200에 대한 약 460번의 연산이 수행되어, 전체 약 2060회의 연산만이 요구될 수 있다. 따라서, 가공 데이터(1110)의 생성에 의하면 전체 연산량이 대폭 감소할 수 있다.
도 10의 단계 1030과 관련하여 도 11의 누계 데이터(1120)를 참조하면, 누계 데이터(1120)는 가공 데이터(1110)의 프레임 개수(count)를 누계하여 형성될 수 있다. 이와 같은 누계 데이터(1120)를 기반으로 최장 증가 부분 수열을 찾는 과정이 수행될 수 있다.
최장 증가 부분 수열을 찾는 것은, 주어진 수열에서 증가하는 순서대로 숫자를 선택하면서 최대 길이를 갖는 부분 수열을 찾는 것을 의미할 수 있다. 이는 자세 단계(phase)가 오름차순으로 최대 길이를 가지면서, 각 자세 단계마다 누계가 최대가 되는 부분 수열을 찾는 문제로 해석될 수 있다. 따라서, 최장 증가 부분 수열(1130)에서와 같이, 선별된 자세 단계(phase)는 해당 단계가 가장 오래 유지되는 구간일 수 있고, 이들을 중심으로 양 옆의 노이즈를 제거하는 방식으로, 노이즈가 쉽게 제거될 수 있다.
도 10의 단계 1040 및 단계 1050은 증가 부분 수열(1130)을 기반으로 노이즈를 제거하는 단계로서, 이에 대해서는 도 12가 참조될 수 있다.
도 12는 일부 실시예에 따른 스윙 영상을 구분 영상들로 분할하는 과정에서 노이즈에 의해 발생되는 구분 동작 누락 구간 및 빈 구간을 대체하는 방식을 설명하기 위한 도면이다.
도 12에는 노이즈가 심하게 발생된 경우에 누락 구간 채움 및 빈 구간 채움에 의해 노이즈를 제거하는 과정을 나타내는 그래프(1210) 내지 그래프(1240)가 도시되어 있고, 노이즈 제거 완료 이후 대표 프레임의 선별에 관한 그래프(1250)가 도시되어 있다.
도 10의 단계 1040에서는 선별된 자세 중 누락된 자세 단계를 채워 넣는 것을 특징으로 할 수 있다. 누락된 구간이 한 프레임보다 큰 경우 누락된 자세로 채워 넣는 방식으로 누락 구간이 해결될 수 있다. 또는, 누락된 자세는 있으나 그 구간이 한 프레임보다 작은 경우 양 옆의 자세 구간의 일부를 누락된 자세로 변경하는 방식으로 누락 구간이 해결될 수 있다.
예를 들면, 그래프(1210)에 대해 그래프(1220)에서와 같이 최장 증가 부분 수열이 생성되어 자세 단계가 선별되었으나, 그래프(1230)에서와 같이 자세 구간 자체가 누락된 경우, 즉 그래프(1230)에서 4번 자세(downswing) 전체가 누락된 경우에 4번 자세 구간을 채워 넣는 누락 구간 채움을 수행하여 노이즈가 처리될 수 있다.
또한, 도 10의 단계 1050에서와 같은 빈 구간 채움 또한 수행될 수 있다. 빈 구간 채움은 골프 자세의 시계열적인 특성을 반영하여 양 옆 시퀀스를 확인하고 빈 구간에 채워넣을 자세 단계가 결정될 수 있다. 예를 들면, 그래프(1240)에서 2번 자세(backswing) 및 3번 자세(top) 사이에 빈 구간이 존재하므로, 이 구간을 2번 자세 및 3번 자세로 적절히 배분하는 방식으로 빈 구간 채움이 수행될 수 있다.
위와 같은 누락 구간 채움 및 빈 구간 채움에 의하면 노이즈가 제거된 완전한 계단 형태가 그래프(1240)에서와 같이 획득될 수 있으며, 입력되는 분석 대상자의 스윙 영상이 골프 스윙의 8단계의 구간으로 완전하게 분할될 수 있다. 또한 노이즈 제거와 관련하여, 스윙 영상을 프레임 단위로 분류하는 SVM 분류기 등의 선행 모듈들에서 발생한 노이즈가, 시퀀스의 흐름에 따라 구분 영상들로 분할하는 모듈에 의해 처리될 수 있으므로, 본 발명의 파이프라인의 정확도가 더욱 향상될 수 있다.
한편, 도 10의 단계 1060은 분할된 자세 8단계 구간에서 각 동작을 대표하는 프레임을 찾는 것을 목적으로 할 수 있다. 다양한 방법들이 있을 수 있으나, 본 예시에서는 각 자세 단계 구간에서 중간에 위치하는 프레임이 대표 프레임으로 출력될 수 있다. 예를 들면, 그래프(1250)에서와 같이 각 구간의 중간에 해당하는 번호의 프레임이 대표 프레임으로 지정될 수 있다.
이후, 지정된 대표 프레임들이 출력될 수 있으며, 대표 프레임들의 출력에 대해서는 도 13이 참조될 수 있다.
도 13은 일부 실시예에 따른 구분 영상들의 대표 프레임들을 나타내는 도면이다.
도 13에는 스윙의 8단계를 나타내는 대표 프레임(1310) 내지 대표 프레임(1380)이 도시되어 있다. 대표 프레임(1310) 내지 대표 프레임(1380)은 측면에서 촬영된 프로 골퍼의 스윙 영상으로부터 추출된 것이며, 측면에서 촬영된 경우라 할지라도, 도 1의 (b)의 단계 101 내지 단계 105를 수행할 경우, 전술한 바와 같이 촬영 위치나 각도와는 무관하게 스윙 영상이 8단계로 분할될 수 있고, 그로부터 대표 프레임들이 추출될 수 있다.
도 1의 (b)의 단계 106에서 수행되는 자세 분석 정보 생성 단계에 대해서는 도 14가 참조될 수 있다.
도 14는 일부 실시예에 따른 자세 분석 점수를 산출하는 과정에서 고려되는 자세 분석 기준 및 자세 분석 부위를 설명하기 위한 도면이다.
도 1의 (b)의 단계 106 및 도 14와 관련하여, 프로세서(120)는, 자세 분석 점수를 산출할 때, 구분 영상들 각각으로부터 대표 프레임을 선별할 수 있고, 대표 프레임에 기초하여 구분 동작들을 기준으로 분류되는 자세 분석 기준 및 자세 분석 부위에 따른 세부 분석 점수를 산출할 수 있다.
도시된 바와 같이, 표(1400)에는 분석 구간으로서 8단계의 구분 동작들(1430), 구분 동작들(1430)을 기준으로 분류되는 자세 분석 기준(1420) 및 자세 분석 부위(1410)가 포함될 수 있다. 구분 동작들(1430), 자세 분석 기준(1420) 및 자세 분석 부위(1410)는 Dr. Golfman 교재를 기반으로 재구성된 정보를 나타낼 수 있다. 즉, 도 1의 (b)의 단계 106은 표(1400)의 기준을 바탕으로 추출된 3차원 관절 데이터를 분석하는 것을 특징으로 할 수 있다.
도 1의 (b)의 단계 106에서, 자세 분석 정보 생성 단계는 단계 105의 출력인 대표 프레임 번호에 해당하는 정면 관절 행렬 Krotated을 입력으로 하여 분석 정보를 생성할 수 있다. 즉, 도 13에 예시된 8개의 대표 프레임들의 정면 관절 행렬 Krotated을 입력으로 하여 분석이 진행될 수 있다.
정면 관절 행렬 Krotated은 정규화 및 고정된 축으로 평행 변환된 것이므로, 위치 기반의 비교 분석이 수행될 수 있으나, 좌표 사이의 위치를 비교하는 것은 정규화 및 변환에서 발생한 오차에 큰 영향을 받을 수 있다. 따라서, 본 발명에서는 좌표 기반의 비교가 아닌 비율과 차이를 변수로 가공하여, 비율 변수를 기반으로 하는 통계적 기법을 이용하여 자세 분석 정보가 생성될 수 있다. 즉, 1400개의 골프 프로 영상 샘플이 정규 분포로 형성하는 각 분석 정보별 비율 변수로 가공될 수 있다.
한편, 기준 영상들, 즉 프로 골프 선수의 영상들로 정규 분포를 형성하는 과정에 대해서는 도 15가 참조될 수 있다.
도 15는 일부 실시예에 따른 자세 분석 점수를 산출하기 위해 기준 영상들로부터 형성되는 정규 분포를 설명하기 위한 도면이다.
도 15에는 6 시그마 모델의 정규 분포(1500)가 도시되어 있다. 샘플 데이터로 분포를 형성할 때, 6 시그마 수준에서 정상적인 자세가 발생할 수 있도록 샘플 데이터의 이상치가 제거될 수 있다. 6 시그마 관리는 정규 분포 상에서 평균을 중심으로 전후 6 시그마 내로 들어올 확률이 99.9966%가 되도록 하는 것을 의미할 수 있다. 따라서, 골프 프로 영상 1400개 중, 이상적인 자세가 아닌 골퍼, 즉 왼손잡이나 자세가 특이한 선수들의 영상은 제외될 수 있다. 이를 통해 6 시그마 내로 정석으로 불리는 자세들이 들어올 수 있도록 조정될 수 있다.
기준 영상들, 즉 프로 골프 선수의 영상들에 의해 형성되는 정규 분포를 활용하여 세부 분석 점수를 산출하는 과정에 관해서는, 즉, 도 1의 (b)의 단계 106 및 도 15와 관련하여, 프로세서(120)는, 세부 분석 점수를 산출할 때, 기준 영상들에 의해 형성되는 정규 분포 상에서의 대표 프레임의 정면 관절 행렬 Krotated에 의해 형성되는 비율 변수의 위치에 기초하여 자세 분석 기준 및 자세 분석 부위에 대한 표준 점수(Z-score)를 산출할 수 있고, 표준 점수(Z-score)를 정규 분포의 6 시그마와 비교하여 세부 분석 점수를 산출할 수 있다.
이로써, 프로 자세의 3차원 관절 좌표를 이용하여 각 분석 정보별 정규 분포를 형성하였고, 사용자의 관절 자세를 분석할 때에는 이 분포에서 상하한(USL, LSL)에 들어오는지에 대한 정보로 문제 여부가 판단될 수 있다. 또한, 샘플이 분포의 중심에서 떨어져 있는 정도를 점수화하여 사용자(분석 대상자)에게 프로 자세와 사용자의 자세의 차이 정도를 수치화하여 제시될 수 있다. 점수화 방식은 아래와 같이 표현될 수 있다.
[식 4]
식 4에서, 도 14의 자세 분석 부위(1410)의 i번째 부위 및 자세 분석 기준(1420)의 j번째 분석 기준에 해당하는 정규 분포를 이용하여 그에 해당하는 점수가 도출될 수 있다. 사용자의 3차원 관절 좌표인 정면 관절 행렬 Krotated에서 분석 기준에 해당하는 변수 xij를 계산하고, 이는 다시 정규 분포의 Z-score(zij)로 변환될 수 있다.
Z-score는 샘플의 분포의 중심에서 떨어진 정도를 의미할 수 있고, Z-score의 절댓값(abs(zij))에서 6 시그마가 나누어질 수 있다. 즉, 6 시그마 이내로 들어온다면 50점 이상이 되고, 분포의 중심에 가까울수록 100점에 가깝게 계산될 수 있다. 또한, 규격 상하한선 외에 존재한다면 50점 이하로 계산되며, 분포의 중심에서 멀어질수록 0점에 가까워질 수 있다. 점수의 최하점은 10점으로 설정될 수 있고, 각 분류별 총 점수(totalScorei)는 분석 기준의 점수(scoreij)의 평균으로 계산될 수 있다.
자세 분석 기준(1420) 및 자세 분석 부위(1410)에 따른 세부 분석 점수의 산출 결과에 대해서는 도 16이 참조될 수 있다.
도 16은 일부 실시예에 따른 자세 분석 기준 및 자세 분석 부위에 대한 세부 분석 점수가 제공되는 방식을 설명하기 위한 도면이다.
도 16에는 각 분석 분류별 분석 점수를 표현하는 방법의 예시로서 결과 화면(1600)이 도시되어 있다. 결과 화면(1600)의 (a)는 도 14의 분석 분류, 즉 자세 분석 부위(1410)를 나타낼 수 있고, 결과 화면(1600)의 (b)는 식 4에서 도출된 분석 분류별 총 점수(totalScorei)를 나타낼 수 있다. 사용자는 각 신체 부위별 자세의 점수를 확인하여 문제점을 인지하도록 유도될 수 있다. 결과 화면(1600)의 (c)에서는 분석 분류별 총 점수(totalScorei)의 평균에 해당하는 총 점수(totalScore)가 확인될 수 있다.
본 발명에서는 골프 자세를 분석하는 파이프라인 및 이를 이용한 자세 교정 방법이 제공되어, 많은 어플리케이션에서 사용성에 제한을 받지 않고 골프 자세를 교정하는 용도로 사용될 수 있다. 또한 본 발명은 골프 자세의 중요 구분 동작들이 자동으로 추출해 주고, 추출된 영상의 자세와 표준 자세를 비교하여 분석 정보를 제공함으로써, 교습자가 스스로 자신의 자세에서 고쳐야 할 부분을 인지하고 올바른 자세를 취할 수 있도록 유도할 수 있다.
도 17은 일부 실시예에 따른 골프 자세 분석 방법을 구성하는 단계들을 나타내는 흐름도이다.
도 17을 참조하면, 골프 자세 분석 방법은 단계 1710 내지 단계 1750을 포함할 수 있다. 다만 이에 제한되는 것은 아니고, 도 17에 도시된 단계들 외에 다른 범용적인 단계들이 골프 자세 분석 방법에 더 포함될 수 있다.
도 17의 골프 자세 분석 방법은 도 1 내지 도 16을 통해 설명되는 골프 자세 분석 장치에서 시계열적으로 처리되는 단계들로 구성될 수 있다. 따라서, 이하에서 골프 자세 분석 방법에 대해 생략되는 내용이라 할지라도, 이상에서 골프 자세 분석 장치에 대해 설명되는 내용은 골프 자세 분석 방법에 대해서도 동일하게 적용될 수 있다.
도 17의 골프 자세 분석 방법은, 도 1의 (b)에 도시되어 있는 파이프라인과 실질적으로 동일한 것으로서, 다만 그 표현 방식만을 달리하는 것으로 해석될 수 있다.
골프 자세 분석 방법은 메모리(110)에 저장되는 명령어들을 실행하는 프로세서(120)에 의해 수행될 수 있다.
단계 1710에서, 골프 자세 분석 장치(100)는, 분석 대상자의 스윙 영상으로부터 분석 대상자의 주요 관절들의 3차원 위치를 나타내는 관절 좌표 행렬을 추출할 수 있다.
단계 1720에서, 골프 자세 분석 장치(100)는, 주요 관절들 중 왼발 관절 및 오른발 관절이 나란히 정면을 향하도록 관절 좌표 행렬에 대한 회전 변환을 수행하여 정면 관절 행렬을 생성할 수 있다.
골프 자세 분석 장치(100)는, 정면 관절 행렬을 생성할 때, 왼발 관절이 원점에 위치하도록 관절 좌표 행렬에 대한 평행 변환을 수행할 수 있고, 오른발 관절이 가로축 상에 위치하도록 회전 변환을 수행할 수 있다.
단계 1730에서, 골프 자세 분석 장치(100)는, 주요 관절들의 중심 관절에서 주요 관절들의 나머지 관절들로 향하는 방향을 나타내는 관절 방향 정보에 기초하여 정면 관절 행렬에 대한 재가공을 수행하여 재가공 관절 행렬을 생성할 수 있다.
골프 자세 분석 장치(100)는, 재가공 관절 행렬을 생성할 때, 주요 관절들 중 엉덩이 관절을 중심 관절로 설정할 수 있고, 엉덩이 관절에서 나머지 관절들로 향하는 벡터들에 대한 L2 정규화에 의해 생성되는 정규화 벡터들로 재가공 관절 행렬을 생성할 수 있다.
단계 1740에서, 골프 자세 분석 장치(100)는, 재가공 관절 행렬이 골프 스윙을 구성하는 구분 동작들 중 어느 동작과 가장 유사한지를 나타내는 유사도 정보에 기초하여 스윙 영상을 프레임 단위로 분류한 이후 프레임들의 시퀀스 흐름에 따라 구분 동작들에 따른 구분 영상들로 분할할 수 있다.
골프 자세 분석 장치(100)는, 구분 영상들로 분할할 때, 재가공 관절 행렬로부터 추출되는 피쳐들에 기초하여 재가공 관절 행렬의 프레임별 샘플들을 서로 다른 클러스터들로 분리하도록 학습되는 트리플렛 네트워크를 활용하여 유사도 정보를 생성할 수 있다.
트리플렛 네트워크는, 프로 골프 선수들의 스윙 영상들을 학습 데이터셋으로 하고, 샘플들 중 동일 클러스터의 샘플들 간의 거리는 가깝게 하고 샘플들 중 서로 다른 클러스터의 샘플들 간의 거리는 멀게 하는 손실 함수를 갖는 거리 학습(metric learning)에 의해 학습될 수 있다.
골프 자세 분석 장치(100)는, 구분 영상들로 분할할 때, 유사도 정보에 기초하여 스윙 영상을 구성하는 프레임들을 분류하도록 학습되는 SVM 분류기를 활용하여 프레임들을 구분 영상들로 분할할 수 있다.
골프 자세 분석 장치(100)는, 구분 영상들로 분할할 때, 스윙 영상을 구성하는 프레임들을 구분 동작들을 기준으로 가공하여 가공 테이블을 생성할 수 있고, 가공 테이블에서 동일한 구분 동작으로 집계되는 프레임들 중 프레임 개수가 가장 큰 프레임들을 각각의 구분 영상들로 할당할 수 있고, 노이즈에 의해 발생되는 구분 동작 누락 구간 및 빈 구간을 대체하는 누락 구간 채움 및 빈 구간 채움을 수행하여 구분 영상들을 완성할 수 있다.
단계 1750에서, 골프 자세 분석 장치(100)는, 구분 영상들을 구분 동작들에 대한 기준 영상들과 통계적으로 비교하여 구분 영상들 각각에 관한 자세 분석 점수를 산출할 수 있다.
골프 자세 분석 장치(100)는, 자세 분석 점수를 산출할 때, 구분 영상들 각각으로부터 대표 프레임을 선별할 수 있고, 대표 프레임에 기초하여 구분 동작들을 기준으로 분류되는 자세 분석 기준 및 자세 분석 부위에 따른 세부 분석 점수를 산출할 수 있다.
골프 자세 분석 장치(100)는, 세부 분석 점수를 산출할 때, 기준 영상들에 의해 형성되는 정규 분포 상에서의 대표 프레임의 정면 관절 행렬에 의해 형성되는 비율 변수의 위치에 기초하여 자세 분석 기준 및 자세 분석 부위에 대한 표준 점수(Z-score)를 산출할 수 있고, 표준 점수(Z-score)를 정규 분포의 6 시그마와 비교하여 세부 분석 점수를 산출할 수 있다.
한편, 도 17의 골프 자세 분석 방법은, 그 방법을 실행하는 명령어들을 포함하는 적어도 하나의 프로그램 또는 소프트웨어가 기록되는 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다.
컴퓨터로 판독 가능한 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령어의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드가 포함될 수 있다.
이상에서 본 발명의 실시예들이 상세하게 설명되었으나 본 발명에 따른 권리범위가 이에 한정되는 것은 아니고, 다음의 청구범위에 기재되어 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명에 따른 권리범위에 포함되는 것으로 해석되어야 한다.
Claims (18)
- 골프 자세 분석 장치에 있어서,
명령어들을 저장하는 메모리; 및
상기 명령어들을 실행함으로써:
분석 대상자의 스윙 영상으로부터 상기 분석 대상자의 주요 관절들의 3차원 위치를 나타내는 관절 좌표 행렬을 추출하고,
상기 주요 관절들 중 왼발 관절 및 오른발 관절이 나란히 정면을 향하도록 상기 관절 좌표 행렬에 대한 회전 변환을 수행하여 정면 관절 행렬을 생성하고,
상기 주요 관절들의 중심 관절에서 상기 주요 관절들의 나머지 관절들로 향하는 방향을 나타내는 관절 방향 정보에 기초하여 상기 정면 관절 행렬에 대한 재가공을 수행하여 재가공 관절 행렬을 생성하고,
상기 재가공 관절 행렬이 골프 스윙을 구성하는 구분 동작들 중 어느 동작과 가장 유사한지를 나타내는 유사도 정보에 기초하여 상기 스윙 영상을 프레임 단위로 분류한 이후 프레임들의 시퀀스 흐름에 따라 상기 구분 동작들에 따른 구분 영상들로 분할하고,
상기 구분 영상들을 상기 구분 동작들에 대한 기준 영상들과 통계적으로 비교하여 상기 구분 영상들 각각에 관한 자세 분석 점수를 산출하는 프로세서; 를 포함하는, 골프 자세 분석 장치.
- 제 1 항에 있어서,
상기 프로세서는, 상기 정면 관절 행렬을 생성할 때,
상기 왼발 관절이 원점에 위치하도록 상기 관절 좌표 행렬에 대한 평행 변환을 수행하고,
상기 오른발 관절이 가로축 상에 위치하도록 상기 회전 변환을 수행하는, 골프 자세 분석 장치.
- 제 1 항에 있어서,
상기 프로세서는, 상기 재가공 관절 행렬을 생성할 때,
상기 주요 관절들 중 엉덩이 관절을 상기 중심 관절로 설정하고,
상기 엉덩이 관절에서 상기 나머지 관절들로 향하는 벡터들에 대한 L2 정규화에 의해 생성되는 정규화 벡터들로 상기 재가공 관절 행렬을 생성하는, 골프 자세 분석 장치.
- 제 1 항에 있어서,
상기 프로세서는, 상기 구분 영상들로 분할할 때,
상기 재가공 관절 행렬로부터 추출되는 피쳐들에 기초하여 상기 재가공 관절 행렬의 프레임별 샘플들을 서로 다른 클러스터들로 분리하도록 학습되는 트리플렛 네트워크를 활용하여 상기 유사도 정보를 생성하는, 골프 자세 분석 장치.
- 제 4 항에 있어서,
상기 트리플렛 네트워크는, 프로 골프 선수들의 스윙 영상들을 학습 데이터셋으로 하고, 상기 샘플들 중 동일 클러스터의 샘플들 간의 거리는 가깝게 하고 상기 샘플들 중 서로 다른 클러스터의 샘플들 간의 거리는 멀게 하는 손실 함수를 갖는 거리 학습(metric learning)에 의해 학습되는, 골프 자세 분석 장치.
- 제 4 항에 있어서,
상기 프로세서는, 상기 구분 영상들로 분할할 때,
상기 유사도 정보에 기초하여 상기 스윙 영상을 구성하는 프레임들을 분류하도록 학습되는 SVM 분류기를 활용하여 상기 프레임들을 상기 구분 영상들로 분할하는, 골프 자세 분석 장치.
- 제 1 항에 있어서,
상기 프로세서는, 상기 구분 영상들로 분할할 때,
상기 스윙 영상을 구성하는 프레임들을 상기 구분 동작들을 기준으로 가공하여 가공 테이블을 생성하고,
상기 가공 테이블에서 동일한 구분 동작으로 집계되는 프레임들 중 프레임 개수가 가장 큰 프레임들을 각각의 상기 구분 영상들로 할당하고,
노이즈에 의해 발생되는 구분 동작 누락 구간 및 빈 구간을 대체하는 누락 구간 채움 및 빈 구간 채움을 수행하여 상기 구분 영상들을 완성하는, 골프 자세 분석 장치.
- 제 1 항에 있어서,
상기 프로세서는, 상기 자세 분석 점수를 산출할 때,
상기 구분 영상들 각각으로부터 대표 프레임을 선별하고,
상기 대표 프레임에 기초하여 상기 구분 동작들을 기준으로 분류되는 자세 분석 기준 및 자세 분석 부위에 따른 세부 분석 점수를 산출하는, 골프 자세 분석 장치.
- 제 8 항에 있어서,
상기 프로세서는, 상기 세부 분석 점수를 산출할 때,
상기 기준 영상들에 의해 형성되는 정규 분포 상에서의 상기 대표 프레임의 정면 관절 행렬에 의해 형성되는 비율 변수의 위치에 기초하여 상기 자세 분석 기준 및 상기 자세 분석 부위에 대한 표준 점수(Z-score)를 산출하고,
상기 표준 점수(Z-score)를 상기 정규 분포의 6 시그마와 비교하여 상기 세부 분석 점수를 산출하는, 골프 자세 분석 장치.
- 메모리에 저장되는 명령어들을 실행하는 프로세서에 의해 수행되는 골프 자세 분석 방법에 있어서,
분석 대상자의 스윙 영상으로부터 상기 분석 대상자의 주요 관절들의 3차원 위치를 나타내는 관절 좌표 행렬을 추출하는 단계;
상기 주요 관절들 중 왼발 관절 및 오른발 관절이 나란히 정면을 향하도록 상기 관절 좌표 행렬에 대한 회전 변환을 수행하여 정면 관절 행렬을 생성하는 단계;
상기 주요 관절들의 중심 관절에서 상기 주요 관절들의 나머지 관절들로 향하는 방향을 나타내는 관절 방향 정보에 기초하여 상기 정면 관절 행렬에 대한 재가공을 수행하여 재가공 관절 행렬을 생성하는 단계;
상기 재가공 관절 행렬이 골프 스윙을 구성하는 구분 동작들 중 어느 동작과 가장 유사한지를 나타내는 유사도 정보에 기초하여 상기 스윙 영상을 프레임 단위로 분류한 이후 프레임들의 시퀀스 흐름에 따라 상기 구분 동작들에 따른 구분 영상들로 분할하는 단계; 및
상기 구분 영상들을 상기 구분 동작들에 대한 기준 영상들과 통계적으로 비교하여 상기 구분 영상들 각각에 관한 자세 분석 점수를 산출하는 단계; 를 포함하는, 골프 자세 분석 방법.
- 제 10 항에 있어서,
상기 정면 관절 행렬을 생성하는 단계는,
상기 왼발 관절이 원점에 위치하도록 상기 관절 좌표 행렬에 대한 평행 변환을 수행하는 단계; 및
상기 오른발 관절이 가로축 상에 위치하도록 상기 회전 변환을 수행하는 단계를 포함하는, 골프 자세 분석 방법.
- 제 10 항에 있어서,
상기 재가공 관절 행렬을 생성하는 단계는,
상기 주요 관절들 중 엉덩이 관절을 상기 중심 관절로 설정하는 단계; 및
상기 엉덩이 관절에서 상기 나머지 관절들로 향하는 벡터들에 대한 L2 정규화에 의해 생성되는 정규화 벡터들로 상기 재가공 관절 행렬을 생성하는 단계를 포함하는, 골프 자세 분석 방법.
- 제 10 항에 있어서,
상기 구분 영상들로 분할하는 단계는,
상기 재가공 관절 행렬로부터 추출되는 피쳐들에 기초하여 상기 재가공 관절 행렬의 프레임별 샘플들을 서로 다른 클러스터들로 분리하도록 학습되는 트리플렛 네트워크를 활용하여 상기 유사도 정보를 생성하는 단계를 포함하는, 골프 자세 분석 방법.
- 제 13 항에 있어서,
상기 트리플렛 네트워크는, 프로 골프 선수들의 스윙 영상들을 학습 데이터셋으로 하고, 상기 샘플들 중 동일 클러스터의 샘플들 간의 거리는 가깝게 하고 상기 샘플들 중 서로 다른 클러스터의 샘플들 간의 거리는 멀게 하는 손실 함수를 갖는 거리 학습(metric learning)에 의해 학습되는, 골프 자세 분석 방법.
- 제 13 항에 있어서,
상기 구분 영상들로 분할하는 단계는,
상기 유사도 정보에 기초하여 상기 스윙 영상을 구성하는 프레임들을 분류하도록 학습되는 SVM 분류기를 활용하여 상기 프레임들을 상기 구분 영상들로 분할하는 단계를 포함하는, 골프 자세 분석 방법.
- 제 10 항에 있어서,
상기 구분 영상들로 분할하는 단계는,
상기 스윙 영상을 구성하는 프레임들을 상기 구분 동작들을 기준으로 가공하여 가공 테이블을 생성하는 단계;
상기 가공 테이블에서 동일한 구분 동작으로 집계되는 프레임들 중 프레임 개수가 가장 큰 프레임들을 각각의 상기 구분 영상들로 할당하는 단계; 및
노이즈에 의해 발생되는 구분 동작 누락 구간 및 빈 구간을 대체하는 누락 구간 채움 및 빈 구간 채움을 수행하여 상기 구분 영상들을 완성하는 단계를 포함하는, 골프 자세 분석 방법.
- 제 10 항에 있어서,
상기 자세 분석 점수를 산출하는 단계는,
상기 구분 영상들 각각으로부터 대표 프레임을 선별하는 단계; 및
상기 대표 프레임에 기초하여 상기 구분 동작들을 기준으로 분류되는 자세 분석 기준 및 자세 분석 부위에 따른 세부 분석 점수를 산출하는 단계를 포함하는, 골프 자세 분석 방법.
- 제 17 항에 있어서,
상기 세부 분석 점수를 산출하는 단계는,
상기 기준 영상들에 의해 형성되는 정규 분포 상에서의 상기 대표 프레임의 정면 관절 행렬에 의해 형성되는 비율 변수의 위치에 기초하여 상기 자세 분석 기준 및 상기 자세 분석 부위에 대한 표준 점수(Z-score)를 산출하는 단계; 및
상기 표준 점수(Z-score)를 상기 정규 분포의 6 시그마와 비교하여 상기 세부 분석 점수를 산출하는 단계를 포함하는, 골프 자세 분석 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200154286A KR102554552B1 (ko) | 2020-11-18 | 2020-11-18 | 영상 기반 골프 자세 분석을 위한 파이프라인 및 이를 이용한 자세 교정 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200154286A KR102554552B1 (ko) | 2020-11-18 | 2020-11-18 | 영상 기반 골프 자세 분석을 위한 파이프라인 및 이를 이용한 자세 교정 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220067741A true KR20220067741A (ko) | 2022-05-25 |
KR102554552B1 KR102554552B1 (ko) | 2023-07-11 |
Family
ID=81800327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200154286A KR102554552B1 (ko) | 2020-11-18 | 2020-11-18 | 영상 기반 골프 자세 분석을 위한 파이프라인 및 이를 이용한 자세 교정 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102554552B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102696833B1 (ko) * | 2024-02-15 | 2024-08-23 | 젠핏엑스 주식회사 | 골프 코칭 방법 |
KR102696820B1 (ko) * | 2024-02-15 | 2024-08-23 | 젠핏엑스 주식회사 | 골프 코칭 방법 |
KR102696846B1 (ko) * | 2024-02-15 | 2024-09-25 | 젠핏엑스 주식회사 | 골프 코칭 방법 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102692067B1 (ko) * | 2023-09-13 | 2024-08-07 | 젠핏엑스 주식회사 | 골프 코칭 방법 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005270484A (ja) * | 2004-03-26 | 2005-10-06 | Sumitomo Rubber Ind Ltd | キャリブレーション方法 |
JP2005288014A (ja) * | 2004-04-05 | 2005-10-20 | Interstructure Co Ltd | フォーム評価システム及び方法 |
KR20090084576A (ko) * | 2008-02-01 | 2009-08-05 | 문명철 | 골프스윙의 자세분석 시스템 및 이를 이용한 자세분석 방법 |
KR20160121379A (ko) * | 2015-04-09 | 2016-10-19 | 한국전자통신연구원 | 골프 동작 분석 장치 및 방법 |
KR20170052616A (ko) * | 2014-10-10 | 2017-05-12 | 후지쯔 가부시끼가이샤 | 기억 매체, 스킬 판정 방법, 스킬 판정 장치 및 서버 |
KR101889617B1 (ko) | 2016-12-20 | 2018-08-17 | 충남대학교산학협력단 | 골프 스윙자세 분석 및 교정을 위한 연습시스템 |
KR101906148B1 (ko) | 2017-03-31 | 2018-10-11 | (주)리커시브소프트 | 멀티 웨어러블 센서 기반의 싱크로나이제이션 체크를 통한 골프 스윙 자세 교정 디바이스 및 시스템, 그리고 이의 제어 방법 |
-
2020
- 2020-11-18 KR KR1020200154286A patent/KR102554552B1/ko active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005270484A (ja) * | 2004-03-26 | 2005-10-06 | Sumitomo Rubber Ind Ltd | キャリブレーション方法 |
JP2005288014A (ja) * | 2004-04-05 | 2005-10-20 | Interstructure Co Ltd | フォーム評価システム及び方法 |
KR20090084576A (ko) * | 2008-02-01 | 2009-08-05 | 문명철 | 골프스윙의 자세분석 시스템 및 이를 이용한 자세분석 방법 |
KR20170052616A (ko) * | 2014-10-10 | 2017-05-12 | 후지쯔 가부시끼가이샤 | 기억 매체, 스킬 판정 방법, 스킬 판정 장치 및 서버 |
KR20160121379A (ko) * | 2015-04-09 | 2016-10-19 | 한국전자통신연구원 | 골프 동작 분석 장치 및 방법 |
KR101889617B1 (ko) | 2016-12-20 | 2018-08-17 | 충남대학교산학협력단 | 골프 스윙자세 분석 및 교정을 위한 연습시스템 |
KR101906148B1 (ko) | 2017-03-31 | 2018-10-11 | (주)리커시브소프트 | 멀티 웨어러블 센서 기반의 싱크로나이제이션 체크를 통한 골프 스윙 자세 교정 디바이스 및 시스템, 그리고 이의 제어 방법 |
Non-Patent Citations (1)
Title |
---|
조재현 등, Skeleton Joints 기반 행동 분류 모델 설계, 한국정보처리학회 2019년도 추계학술발표대회(2019.11.01.)* * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102696833B1 (ko) * | 2024-02-15 | 2024-08-23 | 젠핏엑스 주식회사 | 골프 코칭 방법 |
KR102696820B1 (ko) * | 2024-02-15 | 2024-08-23 | 젠핏엑스 주식회사 | 골프 코칭 방법 |
KR102696846B1 (ko) * | 2024-02-15 | 2024-09-25 | 젠핏엑스 주식회사 | 골프 코칭 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR102554552B1 (ko) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102554552B1 (ko) | 영상 기반 골프 자세 분석을 위한 파이프라인 및 이를 이용한 자세 교정 방법 | |
Valle et al. | Multi-task head pose estimation in-the-wild | |
Kamel et al. | Deep convolutional neural networks for human action recognition using depth maps and postures | |
Wang et al. | Semi-supervised video object segmentation with super-trajectories | |
Yang et al. | Stacked hourglass network for robust facial landmark localisation | |
CN106778854B (zh) | 基于轨迹和卷积神经网络特征提取的行为识别方法 | |
Hua et al. | Online object tracking with proposal selection | |
CN104376576B (zh) | 一种目标跟踪方法及装置 | |
US9836640B2 (en) | Face detector training method, face detection method, and apparatuses | |
US8548195B2 (en) | Tracking method and device adopting a series of observation models with different life spans | |
CN112819852A (zh) | 对基于姿态的运动进行评估 | |
CN114787865A (zh) | 轻追踪:用于在线自顶向下人体姿态追踪的系统和方法 | |
WO2020050111A1 (ja) | 動作認識方法及び装置 | |
EP3540574B1 (en) | Eye tracking method, electronic device, and non-transitory computer readable storage medium | |
Kviatkovsky et al. | Online action recognition using covariance of shape and motion | |
CN108647571A (zh) | 视频动作分类模型训练方法、装置及视频动作分类方法 | |
WO2023109361A1 (zh) | 用于视频处理的方法、系统、设备、介质和产品 | |
CN114495266A (zh) | 非站立姿态检测方法、装置、计算机设备及存储介质 | |
CN104732247B (zh) | 一种人脸特征定位方法 | |
Banerjee et al. | Learning unseen emotions from gestures via semantically-conditioned zero-shot perception with adversarial autoencoders | |
Li | A method for recognising wrong actions of martial arts athletes based on keyframe extraction | |
Neskorodieva et al. | Real-time Classification, Localization and Tracking System (Based on Rhythmic Gymnastics) | |
Jeffries | Sports analytics with computer vision | |
CN113158870A (zh) | 2d多人姿态估计网络的对抗式训练方法、系统及介质 | |
Rahman et al. | Using the YOLO Network's Games Object to Classify Sports |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |