KR20220129762A - Server, method and computer program for analyzing swing motion - Google Patents
Server, method and computer program for analyzing swing motion Download PDFInfo
- Publication number
- KR20220129762A KR20220129762A KR1020210034451A KR20210034451A KR20220129762A KR 20220129762 A KR20220129762 A KR 20220129762A KR 1020210034451 A KR1020210034451 A KR 1020210034451A KR 20210034451 A KR20210034451 A KR 20210034451A KR 20220129762 A KR20220129762 A KR 20220129762A
- Authority
- KR
- South Korea
- Prior art keywords
- joint
- motion
- calculating
- value
- group
- 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
- A63B69/00—Training appliances or apparatus for special sports
- A63B69/36—Training appliances or apparatus for special sports for golf
-
- 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
-
- G06K9/6201—
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/469—Contour-based spatial representations, e.g. vector-coding
-
- 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
- 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/80—Special sensors, transducers or devices therefor
- A63B2220/806—Video cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/03—Recognition of patterns in medical or anatomical images
- G06V2201/033—Recognition of patterns in medical or anatomical images of skeletal patterns
Abstract
Description
본 발명은 스윙 동작 분석 서버, 방법 및 컴퓨터 프로그램에 관한 것이다.The present invention relates to a swing motion analysis server, method and computer program.
골프는 골프채를 회전시켜 공을 정확하게 타격하는 스포츠이다. 골퍼에게는 골프 스윙에 있어서 주요 구간별로 정확한 자세를 취하는 것이 매우 중요하다.Golf is a sport in which the golf club is rotated to hit the ball accurately. For golfers, it is very important to take an accurate posture for each major section of the golf swing.
일반적으로, 골프 스윙은 크게 4동작으로 구분될 수 있다. 예를 들어, 골프 스윙은 스윙을 하려고 발의 위치를 정하고 공에 클럽 페이스를 겨누는 어드레스, 클럽을 후방으로 들어올리는 백 스윙, 클럽 헤드가 공을 가격하는 임팩트, 스윙의 마감 자세인 피니시로 구분될 수 있다. 골프 스윙의 실력을 향상시키기 위해서는 전술한 4동작 모두 각각 정확하게 자세를 취하기 위한 훈련을 해야 한다.In general, the golf swing can be largely divided into four movements. For example, a golf swing can be divided into an address where the feet are positioned to swing and the club face is aimed at the ball, the back swing that lifts the club backwards, the impact of the club head hitting the ball, and the finish, which is the closing position of the swing. have. In order to improve the skill of the golf swing, it is necessary to train each of the above-mentioned four movements to correctly take a posture.
종래의 사람의 자세 및 동작을 분석하는 기술은 사람의 신체에 센서를 부착하여 사람의 움직임에 따른 주요 부위(예: 관절 등)를 측정하고 검출한다. A conventional technique for analyzing a person's posture and motion measures and detects a major part (eg, a joint, etc.) according to a person's movement by attaching a sensor to the human body.
그러나, 종래 기술은 사람의 움직임을 추적하는 분석만 수행하고 있을 뿐, 이전 동작과 현재 동작을 비교하여 실력이 얼마나 향상되었는지에 대한 분석은 미비하다. 또한, 특정 동작을 수행함에 있어서 개선시켜야 할 문제점을 확인할 수 있는 방법도 존재하지 않는다. However, in the prior art, only an analysis of tracking a person's motion is performed, and an analysis of how much skill is improved by comparing the previous motion with the current motion is insufficient. Also, there is no method for identifying a problem to be improved in performing a specific operation.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 운동 선수의 자세 및 동작을 검출하고 이전 동작과 현재 동작을 비교하여 운동 실력이 얼마나 향상되었는지에 대한 분석을 수행할 수 있는 스윙 동작 분석 서버를 제공하고자 한다. The present invention is to solve the problems of the prior art described above, a swing motion analysis server capable of detecting the posture and motion of an athlete and comparing the previous motion with the current motion to analyze how much the athletic ability has improved. would like to provide
또한, 특정 스윙 동작을 수행함에 있어서 부족한 점을 확인하고 개선시킬 수 있는 스윙 동작 분석 서버를 제공하고자 한다. In addition, an object of the present invention is to provide a swing motion analysis server that can identify and improve deficiencies in performing a specific swing motion.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problems to be achieved by the present embodiment are not limited to the technical problems described above, and other technical problems may exist.
상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 스윙 동작 분석 서버에 있어서, 촬영 영상에서 딥러닝 네트워크를 이용하여 사람의 신체에 대한 n개의 조인트를 추출하고, 상기 n개의 조인트 좌표값을 프레임마다 추출하는 조인트 추출부; 상기 n개의 조인트 좌표값을 조인트 특징 벡터로 변환하는 변환부; 상기 촬영 영상에서 기설정된 스윙 동작 중 특정 동작 구간을 추출하는 동작 추출부; 상기 특정 동작 구간에서 상기 조인트 특징 벡터에 기초하여 동작 특징값을 연산하는 동작 특징값 연산부; 상기 동작 특징값에 기초하여 기준 영상에서 상기 기설정된 스윙 동작 중 특정 동작과의 유사도를 분석하고 동작 유사도 점수를 산출하는 유사도 산출부를 포함하는, 스윙 동작 분석 서버를 제공 할 수 있다. As a means for achieving the above-described technical problem, an embodiment of the present invention, in a swing motion analysis server, extracts n joints for a human body from a captured image using a deep learning network, and the n a joint extraction unit for extracting joint coordinate values for each frame; a transformation unit that converts the n joint coordinate values into joint feature vectors; a motion extraction unit for extracting a specific motion section from a preset swing motion from the captured image; an operation characteristic value calculating unit for calculating operation characteristic values based on the joint characteristic vector in the specific operation section; It is possible to provide a swing motion analysis server comprising a similarity calculator configured to analyze a similarity with a specific motion among the preset swing motions in a reference image based on the motion feature value and calculate a motion similarity score.
본 발명의 다른 실시예는, 스윙 동작 분석 방법에 있어서, 촬영 영상에서 딥러닝 네트워크를 이용하여 사람의 신체에 대한 n개의 조인트를 추출하고, 상기 n개의 조인트 좌표값을 프레임마다 추출하는 단계; 상기 n개의 조인트 좌표값을 조인트 특징 벡터로 변환하는 단계; 상기 촬영 영상에서 기설정된 골프 스윙 동작 중 특정 동작 구간을 추출하는 단계; 상기 특정 동작 구간에서 상기 조인트 특징 벡터에 기초하여 동작 특징값을 연산하는 단계; 상기 동작 특징값에 기초하여 기준 영상에서 상기 기설정된 골프 스윙 동작 중 특정 동작과의 유사도를 분석하고 동작 유사도 점수를 산출하는 단계를 포함하는, 스윙 동작 분석 방법을 제공할 수 있다. Another embodiment of the present invention provides a swing motion analysis method, comprising: extracting n joints of a human body from a captured image using a deep learning network, and extracting the n joint coordinate values for each frame; converting the n joint coordinate values into joint feature vectors; extracting a specific motion section from a preset golf swing motion from the captured image; calculating a motion feature value based on the joint feature vector in the specific motion section; It is possible to provide a swing motion analysis method comprising analyzing a similarity with a specific motion among the preset golf swing motions in a reference image based on the motion characteristic value and calculating a motion similarity score.
본 발명의 또 다른 실시예는, 스윙 동작을 분석하는 명령어들의 시퀀스를 포함하는 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램에 있어서, 상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 촬영 영상에서 딥러닝 네트워크를 이용하여 사람의 신체에 대한 n개의 조인트를 추출하고, 상기 n개의 조인트 좌표값을 프레임마다 추출하고, 상기 n개의 조인트 좌표값을 조인트 특징 벡터로 변환하고, 상기 촬영 영상에서 기설정된 스윙 동작 중 특정 동작 구간을 추출하고, 상기 특정 동작 구간에서 상기 조인트 특징 벡터에 기초하여 동작 특징값을 연산하고, 상기 동작 특징값에 기초하여 기준 영상에서 상기 기설정된 스윙 동작 중 특정 동작과의 유사도를 분석하고 동작 유사도 점수를 산출하도록 하는 명령어들의 시퀀스를 포함하는, 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램을 제공할 수 있다. Another embodiment of the present invention, in a computer program stored in a computer-readable recording medium including a sequence of instructions for analyzing a swing motion, when the computer program is executed by a computing device, a deep learning network in the captured image extracting n joints for the human body using the A motion section is extracted, a motion characteristic value is calculated based on the joint feature vector in the specific motion section, and a similarity with a specific motion among the preset swing motions is analyzed in a reference image based on the motion feature value. A computer program stored in a computer-readable medium including a sequence of instructions for calculating a similarity score may be provided.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are merely exemplary, and should not be construed as limiting the present invention. In addition to the exemplary embodiments described above, there may be additional embodiments described in the drawings and detailed description.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 골퍼의 스윙 동작을 촬영한 영상에서 조인트 좌표값을 검출하고, 검출한 조인트 좌표값에 기초하여 조인트 특징 벡터를 추출하고, 프레임 변화에 따른 특징 벡터 간의 변화 패턴을 분석하여 골퍼의 이전 동작과 현재 동작을 비교할 수 있다. 이를 통해 운동 선수의 실력이 얼마나 향상되었는지에 대한 분석을 정확하게 수행할 수 있다.According to any one of the above-described problem solving means of the present invention, a joint coordinate value is detected from an image of a golfer's swing motion, a joint feature vector is extracted based on the detected joint coordinate value, and a feature according to a frame change By analyzing the change pattern between vectors, it is possible to compare the golfer's previous motion with the current motion. This makes it possible to accurately analyze how much an athlete has improved.
또한, 특정 스윙 동작 및 연속된 스윙 동작을 전문가가 수행한 동작과 비교하고 분석하여 부족한 점을 확인하고 개선시킬 수 있다.In addition, by comparing and analyzing specific swing motions and continuous swing motions with motions performed by experts, deficiencies can be identified and improved.
도 1은 본 발명의 일 실시예에 따른 스윙 동작 분석 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 스윙 동작 분석 서버의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 조인트를 설명하기 위한 예시적인 도면이다.
도 4는 본 발명의 일 실시예에 따른 골프 스윙 동작의 주요 자세를 설명하기 위한 예시적인 도면이다.
도 5는 본 발명의 일 실시예에 따른 스윙 동작 분석 서버의 흐름도를 설명하기 위한 예시적인 도면이다.
도 6은 본 발명의 일 실시예에 따른 변환부의 순서도를 설명하기 위한 예시적인 도면이다.
도 7은 본 발명의 일 실시예에 따른 동작 특징값 연산부의 순서도를 설명하기 위한 예시적인 도면이다.
도 8은 본 발명의 일 실시예에 따른 스윙 동작 분석 방법의 순서도이다.1 is a block diagram of a swing motion analysis system according to an embodiment of the present invention.
2 is a configuration diagram of a swing motion analysis server according to an embodiment of the present invention.
3 is an exemplary view for explaining a joint according to an embodiment of the present invention.
4 is an exemplary view for explaining a main posture of a golf swing operation according to an embodiment of the present invention.
5 is an exemplary diagram for explaining a flowchart of a swing motion analysis server according to an embodiment of the present invention.
6 is an exemplary diagram for explaining a flowchart of a conversion unit according to an embodiment of the present invention.
7 is an exemplary diagram for explaining a flowchart of an operation feature value calculating unit according to an embodiment of the present invention.
8 is a flowchart of a swing motion analysis method according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. However, the present invention may be embodied in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Throughout the specification, when a part is "connected" with another part, this includes not only the case of being "directly connected" but also the case of being "electrically connected" with another element interposed therebetween. . Also, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated, and one or more other features However, it is to be understood that the existence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded in advance.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.In this specification, a "part" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. In addition, one unit may be implemented using two or more hardware, and two or more units may be implemented by one hardware.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.Some of the operations or functions described as being performed by the terminal or device in this specification may be instead performed by a server connected to the terminal or device. Similarly, some of the operations or functions described as being performed by the server may also be performed in a terminal or device connected to the corresponding server.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다. 본원에서는 설명의 편의를 위해 골프를 예시로 들어 설명하겠지만, 골프 외에 스윙 동작이 있는 스포츠에는 모두 본원 발명이 적용될 수 있다. 예를 들어, 야구, 테니스, 배드민턴 등의 운동에도 적용 가능하다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. Herein, golf will be described as an example for convenience of description, but the present invention may be applied to any sport having a swing motion other than golf. For example, it is applicable to sports such as baseball, tennis, and badminton.
도 1은 본 발명의 일 실시예에 따른 스윙 동작 분석 시스템의 구성도이다. 도 1을 참조하면, 스윙 동작 분석 시스템(1)은 촬영 장치(110)와 스윙 동작 분석 서버(120)를 포함할 수 있다. 다만 위 구성 요소들(110, 120)은 스윙 동작 분석 시스템(1)에 의하여 제어될 수 있는 구성요소들을 예시적으로 도시한 것일 뿐이다. 1 is a block diagram of a swing motion analysis system according to an embodiment of the present invention. Referring to FIG. 1 , a swing
촬영 장치(110)는 골퍼의 스윙 동작을 촬영하기 위한 장치이다. 예를 들어, 촬영 장치(110)는 카메라 및 카메라를 포함하는 사용자 단말 등을 포함할 수 있다. 촬영 장치(110)는 영상의 프레임 안에 골퍼 및 골프채를 모두 포함시킨 골퍼의 스윙 동작을 촬영하고, 촬영된 영상을 스윙 동작 분석 서버(120)로 전송할 수 있다. 예를 들어, 촬영 장치(110)는 스윙 동작의 정면 및 측면이 연속된 이미지 프레임으로 이루어진 영상을 획득할 수 있고, 획득한 영상을 스윙 동작 분석 서버(120)로 전송할 수 있다. The photographing
스윙 동작 분석 서버(120)는 촬영 장치(110)로부터 수신한 골퍼의 스윙 영상에서 골퍼의 조인트 좌표값을 검출하고, 검출한 조인트 좌표값에 기초하여 조인트 특징 벡터를 추출하고, 프레임 변화에 따른 특징 벡터 간의 변화 패턴을 비교 및 분석할 수 있다. 스윙 동작 분석 서버(120)는 프레임 변화에 따른 특징 벡터 간의 변화 패턴에 기초하여 골퍼의 연속된 스윙 동작을 정밀하게 분석할 수 있다. The swing
예를 들어, 스윙 동작 분석 서버(120)는 프레임 변화에 따른 특징 벡터 간의 변화 패턴을 통해 골퍼의 이전 동작과 현재 동작을 비교하고 분석할 수 있다. 이를 통해 골퍼의 골프 실력이 얼마나 향상되었는지에 대해서 파악할 수 있다.For example, the swing
다른 예를 들어, 스윙 동작 분석 서버(120)는 특정 스윙 동작 및 연속된 스윙 동작을 전문가의 동작과 비교하고 분석하여 부족한 점을 확인하고 개선시킬 수 있다. As another example, the swing
네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다.A network refers to a connection structure that allows information exchange between each node, such as terminals and servers, and includes a local area network (LAN), a wide area network (WAN), and the Internet (WWW: World). Wide Web), wired and wireless data communication networks, telephone networks, wired and wireless television networks, and the like. Examples of wireless data communication networks include 3G, 4G, 5G, 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), World Interoperability for Microwave Access (WIMAX), Wi-Fi, Bluetooth communication, infrared communication, ultrasound communication, Visible Light Communication (VLC), LiFi, and the like, but are not limited thereto.
도 2는 본 발명의 일 실시예에 따른 스윙 동작 분석 서버의 구성도이다. 도 2를 참조하면, 스윙 동작 분석 서버(120)는 조인트 추출부(210), 변환부(220), 동작 추출부(230), 동작 특징값 연산부(240) 및 유사도 산출부(250)를 포함할 수 있다. 또한, 변환부(220)는 특징 벡터 산출부(221)와 뼈대부(222)를 포함할 수 있고, 동작 특징값 연산부(240)는 패턴 산출부(241)와 배치 관계부(242)를 포함할 수 있다. 다만 위 구성 요소들(210 내지 250)은 스윙 동작 분석 서버(120)에 의하여 제어될 수 있는 구성요소들을 예시적으로 도시한 것일 뿐이다. 2 is a configuration diagram of a swing motion analysis server according to an embodiment of the present invention. Referring to FIG. 2 , the swing
도 2의 스윙 동작 분석 서버(120)의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 예를 들어, 도 2에 도시된 바와 같이, 조인트 추출부(210), 변환부(220), 동작 추출부(230), 동작 특징값 연산부(240) 및 유사도 산출부(250)는 동시에 또는 시간 간격을 두고 연결될 수 있다. Each component of the swing
본 발명의 일 실시예에 따른 조인트 추출부(210)는 촬영 영상에서 딥러닝 네트워크를 이용하여 사람의 신체에 대한 n개의 조인트를 추출하고, n개의 조인트 좌표값을 프레임마다 추출할 수 있다. 예를 들어, 조인트 추출부(210)는 촬영 영상에서 딥러닝 네트워크를 이용하여 사람의 신체에 대한 17개의 조인트를 추출하고, 17개의 조인트를 2차원 좌표값으로 프레임마다 추출할 수 있다. The
도 3은 본 발명의 일 실시예에 따른 조인트를 설명하기 위한 예시적인 도면이다. 도 3을 참조하면, 조인트 추출부(210)에서 추출한 조인트(310)는 눈, 귀, 어깨, 팔꿈치, 손목, 골반, 무릎 및 발목이 좌우 쌍으로 16개의 포인트를 이루고, 코가 추가되어 총 17개가 될 수 있다. 3 is an exemplary view for explaining a joint according to an embodiment of the present invention. Referring to FIG. 3 , the joint 310 extracted from the
본 발명의 일 실시예에 따른 동작 추출부(230)는 촬영 영상에서 기설정된 골프 스윙 동작 중 특정 동작 구간을 추출할 수 있다. 예를 들어, 동작 추출부(230)는 촬영 영상에서 골프 스윙 동작(예: 어드레스, 백 스윙 탑, 임팩트 및 피니시)이 이루어지는 구간을 추출할 수 있다.The
도 4는 본 발명의 일 실시예에 따른 골프 스윙 동작의 주요 자세를 설명하기 위한 예시적인 도면이다. 도 4를 참조하면, 일반적으로 골프 스윙 동작은 크게 4개의 자세로 구분될 수 있다. 예를 들어, 골프 스윙 동작은 어드레스(a), 백 스윙(백스윙 탑, b), 임팩트(c), 피니시(d)로 구분될 수 있다. 어드레스(a) 자세는 스윙을 하려고 발의 위치를 정하고 공에 클럽 페이스를 겨누는 자세이고, 백 스윙(b) 자세는 클럽을 후방으로 들어 올리는 자세로 어깨의 회전이 클수록 비거리가 증대된다. 임팩트(c) 자세는 클럽 헤드가 공을 가격하는 순간의 자세이고, 피니시(d)는 스윙의 마감 자세로 이 때 체중은 왼발 쪽으로 90% 이상 이동되어야 한다.4 is an exemplary view for explaining a main posture of a golf swing operation according to an embodiment of the present invention. Referring to FIG. 4 , in general, a golf swing operation may be divided into four postures. For example, a golf swing motion may be divided into an address (a), a back swing (backswing top, b), an impact (c), and a finish (d). The address (a) posture is a posture in which the feet are positioned to swing and the club face is aimed at the ball, and the back swing (b) posture is a posture in which the club is lifted backwards, and the greater the shoulder rotation, the greater the flying distance. Impact (c) posture is the posture at the moment the club head hits the ball, and finish (d) is the swing closing posture.
예를 들어, 동작 추출부(230)는 촬영 영상에서 어드레스(a)부터 피니시(d)까지 포함하는 전체 스윙 구간을 추출하거나, 촬영 영상에서 스윙 구간 중 특정 자세, 일 예로 백 스윙(b) 만을 포함하는 구간을 추출할 수 있다. For example, the
도 5는 본 발명의 일 실시예에 따른 스윙 동작 분석 서버의 흐름도를 설명하기 위한 예시적인 도면이다. 도 5를 참조하면, 스윙 동작 분석 서버(120)는 촬영 장치(110)로부터 골프 스윙 동작을 촬영한 영상을 전송 받아, 조인트 추출부(210)에서 조인트 좌표값을 추출할 수 있고, 변환부(220)에서 조인트 좌표값을 조인트 특징 벡터로 변환할 수 있고, 동작 특징값 연산부(240)에서 조인트 특징 벡터에 기초하여 특정 동작에 대한 동작 특징값을 연산할 수 있고, 유사도 산출부(250)에서 동작 특징값에 기초하여 유사도 점수를 산출하여 기준이 되는 영상의 동작과 비교할 수 있다. 5 is an exemplary diagram for explaining a flowchart of a swing motion analysis server according to an embodiment of the present invention. Referring to FIG. 5 , the swing
조인트 추출부(210)는 n개의 조인트를 사람의 신체 구조에 기초하여 기설정된 수의 그룹으로 구분할 수 있다. 예를 들어, 조인트 추출부(210)는 촬영 영상에서 추출한 17개의 조인트를 5개의 그룹으로 구분시킬 수 있다. 구체적으로, 조인트 추출부(210)는 사람의 신체 구조에 기초하여 왼팔, 오른팔, 왼다리, 오른다리 및 그 외 그룹으로 17개의 조인트를 각각 구분할 수 있다.The
변환부(220)는 n개의 조인트 좌표값을 조인트 특징 벡터로 변환할 수 있다. 예를 들어, 변환부(220)는 학습된 딥러닝 네트워크를 이용하여 촬영 영상에서 17개의 조인트 좌표값을 추출하고, 추출된 조인트 좌표값으로부터 프레임 변화에 따른 위치 변화 벡터를 산출하여 조인트 특징 벡터로 변환시킬 수 있다. The
동작 특징값 연산부(240)는 특정 동작 구간에서 조인트 특징 벡터에 기초하여 동작 특징값을 연산할 수 있다. 예를 들어, 동작 특징값 연산부(240)는 프레임 변화에 따른 조인트 특징 벡터의 변화 패턴에 기초하여 동작 특징값을 연산할 수 있다. The motion
유사도 산출부(250)는 동작 특징값에 기초하여 기준 영상에서 기설정된 골프 스윙 동작 중 특정 동작과의 유사도를 분석하고 동작 유사도 점수를 산출할 수 있다. 예를 들어, 유사도 산출부(250)는 연산된 상반신 동작 특징값과 기준이 되는 영상에서 상반신 동작 특징값을 비교하여 상반신 동작의 유사도 점수를 산출할 수 있다. The
도 6은 본 발명의 일 실시예에 따른 변환부의 순서도를 설명하기 위한 예시적인 도면이다. 변환부(220)는 특징 벡터 산출부(221)와 뼈대부(222)를 포함할 수 있다. 6 is an exemplary diagram for explaining a flowchart of a conversion unit according to an embodiment of the present invention. The
먼저, 단계 S610에서 조인트 추출부(210)는 n개의 조인트를 그룹으로 구분할 수 있다. 예를 들어, 조인트 추출부(210)는 촬영 영상에서 추출한 17개의 조인트를 사람의 신체 구조에 기초하여 5개의 그룹으로 구분할 수 있다. 변환부(220)는 조인트 추출부(210)에서 구분한 그룹에 기초하여 후술하는 방법에 따라 그룹별 특징 벡터를 산출할 수 있다. First, in step S610, the
단계 S620에서 변환부(220)는 위치 변화 벡터를 산출할 수 있다. 본 발명의 일 실시예에 따른 변환부(220)는 n개의 조인트 좌표값의 프레임 변화에 따른 위치 변화 벡터를 산출하고, 위치 변화 벡터에 기초하여 조인트 특징 벡터를 산출하는 특징 벡터 산출부(221)를 포함할 수 있다. In step S620, the
예를 들어, 특징 벡터 산출부(221)는 프레임 변화에 따라 변화하는 조인트 좌표값 각각의 위치 변화량을 연산하여 위치 변화 벡터를 산출할 수 있다. 구체적으로, 특징 벡터 산출부(221)는 하기 수학식 1을 이용하여 프레임 변화에 따른 조인트 좌표값 각각의 위치 변화량을 연산하고, 조인트 좌표값 각각의 위치 변화 방향과 변화 크기를 저장할 수 있다. 특징 벡터 산출부(221)는 위치 변화 벡터 간(V1, V2)의 사이각(cos)을 연산할 수 있다.For example, the
<수학식 1><
특징 벡터 산출부(221)는, 수학식 1을 참조하면, 위치 변화 벡터 간(V1, V2)의 내적을 두 위치 변화 벡터 크기의 합으로 나누어 두 위치 변화 벡터의 사이각(cos)을 연산할 수 있다. 특징 벡터 산출부(221)는 현재 프레임의 조인트 좌표값을 기준(원점)으로 Y축과 평행하게 양수(+) 방향으로 가는 단위 벡터를 하나의 벡터로 설정하고, 이전 프레임과 현재 프레임의 위치 변화 벡터 간의 차이를 다른 하나의 벡터로 설정할 수 있다. 특징 벡터 산출부(221)는 두 위치 변화 벡터의 사이각(cos)이 양수인 경우 을 방향값으로 연산하고, 음수인 경우 을 방향값으로 연산하여, 단위 벡터와 수평 방향으로 갈 때 가중치를 크게 반영시킬 수 있다. The feature
특징 벡터 산출부(221)는 수학식 1을 이용하여 17개 조인트 좌표값으로부터 프레임 변화에 따른 위치 변화 벡터를 산출하고, 위치 변화 벡터와 단위 벡터가 이루는 또는 의 값을 각도 값으로 저장하여 총 34개의 조인트 특징 벡터를 연산할 수 있다.The feature
단계 S630에서 변환부(220)는 인접 조인트를 정의할 수 있다. 본 발명의 일 실시예에 따른 변환부(220)는 그룹 내의 조인트 간의 거리값에 기초하여 인접 조인트를 정의하는 뼈대부(222)를 더 포함할 수 있다. In step S630, the
다시 도 3을 참조하면, 예를 들어, 뼈대부(222)는 서로 인접하게 위치한 어깨 조인트(331)와 팔꿈치 조인트(332)를 인접 조인트로 정의할 수 있고, 팔꿈치 조인트(332)와 손목 조인트(333)를 인접 조인트로 정의할 수 있다. 또한, 뼈대부(222)는 서로 인접하게 위치한 골반 조인트(341)와 무릎 조인트(342)를 인접 조인트로 정의할 수 있고, 무릎 조인트(342)와 발목 조인트(343)를 인접 조인트로 정의할 수 있다. Referring back to FIG. 3, for example, the
뼈대부(222)는 하기 수학식 2를 이용하여 조인트 간의 벡터차(Dab)를 연산할 수 있다.The
<수학식 2><Equation 2>
뼈대부(222)는 수학식 2를 이용하여 a번째 조인트(Ja)와 b번째 조인트(Jb) 간의 벡터차(Dab)를 산출할 수 있다. 여기서, 벡터차(Dab)는 17*17의 행렬로 표현될 수 있다. 구체적으로, 벡터차(Dab) 행렬은 행과 열의 숫자가 같아 0의 값을 가지는(자기 자신과의 거리 차이인 경우) 행렬 17개와, 이 외 크기는 같고 부호는 반대인 136개 쌍의 행렬 272개로 이루어진다. The
또한, 뼈대부(222)는 사람의 신체 구조에 기초하여 조인트 간의 인접 조인트를 정의할 수 있다. 예를 들어, 뼈대부(222)는 인접하게 위치하지 않은 어깨 조인트(331)와 손목 조인트(333)를 신체 구조 상 인접 조인트로 정의할 수 있고, 골반 조인트(341)와 발목 조인트(343) 또한 인접 조인트로 정의할 수 있다. Also, the
또한, 뼈대부(222)는 인접 조인트 간의 관계를 정의할 수 있다. 인접 조인트 간의 관계는 조인트 추출부(210)에서 구분한 그룹에 기초할 수 있다. 예를 들어, 뼈대부(222)는 서로 인접 조인트로 정의된 어깨 조인트(331), 팔꿈치 조인트(332) 및 손목 조인트(333)를 하나의 그룹인 왼팔(330)로 정의할 수 있고, 골판 조인트(341), 무릎 조인트(342) 및 발목 조인트(343)를 오른다리(340)로 정의할 수 있다. Also, the
다른 예를 들어, 뼈대부(222)는 왼팔(330) 그룹의 조인트(331, 332, 333)와 대칭되는 오른팔 그룹의 조인트(미도시)를 서로 대칭 관계로 정의할 수 있고, 오른다리(340) 그룹의 조인트(341, 342, 343)와 대칭되는 왼다리 그룹의 조인트(미도시)를 서로 대칭 관계로 정의할 수 있다. For another example, the
본 발명의 일 실시예에 따른 특징 벡터 산출부(221)는 그룹 내의 조인트 좌표값에 대한 평균으로 각 그룹의 중심점을 산출하여 그룹 중심점의 프레임 변화에 따른 그룹 위치 변화 벡터를 산출하고, 그룹 위치 변화 벡터에 기초하여 조인트 특징 벡터를 산출할 수 있다.The
예를 들어, 특징 벡터 산출부(221)는 하기 수학식 3을 이용하여 각 그룹 중심점의 좌표값(C(x, y))을 산출할 수 있다For example, the
<수학식 3><Equation 3>
수학식 3에서 n은 그룹 내에 포함된 조인트의 수를 나타낸다. 예를 들어, 어깨 조인트(331), 팔꿈치 조인트(332) 및 손목 조인트(333)를 포함하는 왼팔(330) 그룹의 경우 n은 3이다. 특징 벡터 산출부(221)는 수학식 3을 이용하여 그룹 내 조인트 좌표 x값의 평균값(중심점)과 y값의 평균값(중심점)을 각각 산출할 수 있다. In Equation 3, n represents the number of joints included in the group. For example, in the case of the
특징 벡터 산출부(221)는 수학식 3을 이용하여 프레임 마다 각 그룹의 중심점(평균값)을 산출할 수 있다. 특징 벡터 산출부(221)는 프레임 변화에 따라 변화하는 그룹 중심점 각각의 위치 변화량을 연산하여 그룹 위치 변화 벡터를 산출할 수 있다. The
예를 들어, 특징 벡터 산출부(221)는 전술한 수학식 1을 이용하여 5개 그룹의 프레임 변화에 따라 변화하는 그룹 중심점의 위치 변화량을 각각 연산하여 5개의 그룹 위치 변화 벡터를 산출할 수 있다. 특징 벡터 산출부(221)는 산출된 5개의 그룹 위치 변화 벡터와 단위 벡터가 이루는 또는 의 값을 각도 값으로 저장하여 총 10개의 조인트 특징 벡터를 산출할 수 있다. For example, the feature
단계 S640에서 변환부(220)는 뼈대 간 거리값 및 각도를 산출할 수 있다. 뼈대부(222)는 정의된 인접 조인트 간의 거리값에 기초하여 사람의 뼈대 간 거리값을 산출할 수 있다. In step S640, the
다시 도 3을 참조하면, 뼈대부(222)는 그룹(예: 330) 내 인접 조인트(331, 332, 333) 간의 거리값을 산출할 수 있고, 그룹 간 인접 조인트 간의 거리값을 산출할 수 있고, 산출된 인접 조인트 간의 거리값들의 평균값을 산출할 수 있다. 뼈대부(222)는 산출된 거리값 및 평균값에 기초하여 인접 조인트로 정의된 조인트끼리 연결하여 뼈대(320)를 형성할 수 있다. 예를 들어, 뼈대부(222)는 17개의 조인트(310)를 연결하여 18개의 뼈대(320)를 형성할 수 있다. Referring back to FIG. 3 , the
한편, 본 발명의 일 실시에에 따른 뼈대부(222)는 뼈대(320)의 평균 거리값에 기초하여 스케일 팩터(scale factor)를 정의할 수 있다. 스케일 팩터는 각각의 영상에서 추출된 조인트 간의 스케일을 맞추기 위한 작업이다. 같은 사람을 촬영한 영상일지라도 촬영 장치(110)와 피사체 간의 거리에 따라 영상 내 사람의 스케일이 각각 상이할 수 있으므로, 각 영상에서 추출한 조인트 좌표값에 기초한 특징 벡터 간의 스케일 차이가 발생할 수 있다. Meanwhile, the
뼈대부(222)는 스케일 차이를 보정하기 위해 인접 조인트 간의 평균 거리값을 이용할 수 있다. 예를 들어, 뼈대부(222)는 형성된 총 18개 뼈대(320)의 평균 거리값을 산출할 수 있다. 뼈대부(222)는 산출된 뼈대(320)의 평균 거리값을 스케일 팩터로 정의하고, 뼈대(320)의 평균 거리값에 기초하여 영상 간의 스케일 차이를 보정할 수 있다. 구체적으로, 뼈대부(222)는 기준 영상에서 산출한 인접 조인트 간의 평균 거리값, 즉, 뼈대(320)의 평균 거리값을 1로 설정하고, 비교 영상에서 산출한 인접 조인트 간의 평균 거리값을 비교 영상의 스케일 팩터로 정의할 수 있다. The
또한, 뼈대부(222)는 n개의 조인트 중 어느 하나를 기준 조인트로 설정하고, 기준 조인트와 다른 하나의 조인트 간의 사이각에 기초하여 사람의 뼈대(320) 간 각도를 산출할 수 있다. 즉, 뼈대부(222)는 조인트 간의 기울어진 정도를 산출할 수 있다.Also, the
다시 도 3을 참조하면, 예를 들어, 뼈대부(222)는 17개의 조인트(310) 중 임의의 두 조인트(예: 332, 333)를 선정하고, 임의의 두 조인트가 2차원 평면상에서 기울어진 정도(350)를 산출할 수 있다. 구체적으로, 뼈대부(222)는 임의로 선정한 두 조인트(332, 333) 중에서 인덱스 번호가 낮은 조인트(332)를 기준 조인트로 설정하고, 설정한 기준 조인트에서 Y축 양(+)의 방향으로 향하는 단위 벡터와 기준 조인트와 다른 조인트 간의 차 벡터가 이루는 사이각을 연산할 수 있다. Referring back to FIG. 3 , for example, the
예를 들어, 뼈대부(222)는 전술한 수학식 1을 이용하여 사이각(cos)을 연산할 수 있다. 뼈대부(222)는 연산된 사이각(cos)을 sin로 연산할 수 있다. 뼈대부(222)는 연산된 sin에 기초하여 뼈대(320) 간 각도를 산출할 수 있다. 구체적으로, 뼈대부(222)는 두 조인트 간의 기울어진 정도가 Y축과 평행을 이룰수록 지면에 수직하다는 것을 파악할 수 있고, 지면과 평행하게 될수록 기울었다는 것을 파악할 수 있다. 즉, 지면과 수직에 가까울수록 연산된 sin은 '0'에 가깝고, 지면과 수평을 이룰수록 연산된 sin은 '1'에 가까워진다. 한편, 일 예로 전술한 벡터차(Dab)의 경우, 136개의 특징 벡터를 획득할 수 있다. For example, the
도 3에 도시된 실시예에서, 뼈대부(222)는 총 15개의 뼈대(320) 간 각도를 산출할 수 있다. 예를 들어, 뼈대부(222)는 연결된 뼈대의 중심 조인트(예: 332)를 기준으로 설정하고, 뼈대가 나아가는 방향의 두 조인트(331, 333)의 벡터가 이루는 사이각(350)을 연산할 수 있다. 뼈대부(222)는 두 벡터가 이루는 사이각(350) 중에서 더 작은 크기의 값에 기초하여 뼈대(320)간 각도를 산출할 수 있다. In the embodiment shown in FIG. 3 , the
도 7은 본 발명의 일 실시예에 따른 동작 특징값 연산부의 순서도를 설명하기 위한 예시적인 도면이다. 동작 특징값 연산부(240)는 패턴 산출부(241)와 배치 관계부(242)를 포함할 수 있다. 7 is an exemplary diagram for explaining a flowchart of an operation feature value calculating unit according to an embodiment of the present invention. The operation feature
단계 S710에서 동작 특징값 연산부(240)는 프레임 변화에 따른 움직임 패턴값을 산출할 수 있다. 본 발명의 일 실시예에 따른 동작 특징값 연산부(240)는 위치 변화 벡터 및 그룹 위치 변화 벡터에 기초하여 조인트 및 그룹의 프레임 변화에 따른 움직임 패턴값을 산출하는 패턴 산출부(241)를 포함할 수 있다. 예를 들어, 패턴 산출부(241)는 하기 수학식 4를 이용하여 프레임 변화에 따른 조인트 및 그룹의 움직임 패턴값(Mi)을 산출할 수 있다. In step S710 , the motion feature
<수학식 4><Equation 4>
수학식 4를 참조하면, 패턴 산출부(241)는 조인트의 방향성을 포함하는 sin값에 이전 프레임(k-1)과 현재 프레임(k)의 조인트 벡터 차를 곱하여, i번째 조인트 또는 그룹 중심점의 움직임 패턴값(Mi)을 산출할 수 있다. 움직임 패턴값(Mi)은 조인트 특징 벡터의 크기에 기초한다. 또한, 패턴 산출부(241)는 함수 , 를 이용하여 수평 방향 움직임보다 수직 방향 움직임에 따른 변화량을 더 크게 반영시킬 수 있다. Referring to Equation 4, the
패턴 산출부(241)는 일정 주기 간격으로 프레임 변화에 따른 움직임 패턴값을 산출할 수 있고, 그룹 특성을 반영하여 그룹 마다 일정 주기 간격을 상이하게 설정할 수 있다. 예를 들어, 패턴 산출부(241)는 상대적으로 움직임 패턴이 고주파 특성을 나타내는 양 팔과 회전축 이외의 다리는 상대적으로 일정 주기 간격을 짧게 설정하여, 방향성이 변화되는 변곡점을 모두 포함시킬 수 있도록 한다. 다른 예를 들어, 패턴 산출부(241)는 상대적으로 움직임 패턴이 저주파 특성을 나타내는 회전축이 되는 다리는 상대적으로 일정 주기 간격을 길게 설정하여 노이즈에 의한 오류값을 제외시키고 전체 연속 동작에서 경향성을 파악할 수 있도록 한다. The
패턴 산출부(241)는 프레임 변화에 따른 움직임 패턴값을 산출하기 위한 일정 주기 간격을 그룹 별로 상이하게 설정함으로써, 전체 연속 동작에 포함되어 있는 그룹별 움직임 패턴을 보다 정확하게 분석할 수 있다. The
단계 S720에서 동작 특징값 연산부(240)는 조인트 및 그룹 간의 배치 관계를 산출할 수 있다. 동작 특징값 연산부(240)는 뼈대 간 각도에 기초하여 그룹 내의 조인트 간의 배치 관계값 및 그룹 간의 배치 관계값을 산출하는 배치 관계부(242)를 더 포함할 수 있다. In step S720, the operation feature
예를 들어, 배치 관계부(242)는 뼈대부(222)에서 산출된 인접 조인트 간의 기울임 정도, 뼈대(320) 간 각도를 이용하여 그룹 내 조인트(310) 간의 배치 관계값을 산출할 수 있다. 다시 도 3을 참조하면, 배치 관계부(242)는 왼팔(330)에 포함되어 있는 3개의 조인트(331, 332, 333) 중에서 인접 조인트가 2개인 팔꿈치 조인트(332)를 기준으로 양쪽 조인트(331, 333)를 연결하여 두 선분이 이루는 각도(350)의 값을 산출할 수 있다. 배치 관계부(242)는 산출된 각도(350)가 프레임 변화에 따라 어떻게 변화하는지 일정 주기를 기준으로 각속도(dφ)를 산출하여 그룹 내 조인트(310) 간의 배치 관계값을 산출할 수 있다. For example, the
다른 예를 들어, 배치 관계부(242)는 뼈대부(222)에서 산출된 인접 그룹 간의 기울임 정도, 뼈대(320) 간 각도를 이용하여 그룹 간 조인트(310) 간의 배치 관계값을 산출할 수 있다. 도 3에 도시된 바와 같이, 팔 그룹과 다리 그룹의 조인트에서 그룹간 인접 조인트가 존재한다. 배치 관계부(242)는 그룹간 인접 조인트를 중심으로 두 뼈대 간의 각도를 산출하고, 일정 주기를 기준으로 프레임 변화에 따른 각속도(dφ)를 산출하여 그룹 간 조인트 간의 배치 관계값을 산출할 수 있다. As another example, the
또한, 배치 관계부(242)는 회전축의 프레임 변화에 따른 기울기 변화량을 산출하여 회전축의 배치 패턴을 분석할 수 있다. 예를 들어, 배치 관계부(242)는 회전의 축이 될 수 있는 두 조인트를 선택하고, 선택한 두 조인트를 연결한 선분의 기울기를 프레임 변화에 따라 추적할 수 있다. In addition, the
일반적으로, 골프의 경우, 왼발 또는 오른발을 중심축으로 하여 몸통을 회전하게 된다. 따라서, 배치 관계부(242)는 회전의 축이 될 수 있는 두 조인트를 연결한 선분의 기울기를 프레임 변화에 따라 어떻게 변화하는지 추적할 수 있다. 예를 들어, 배치 관계부(242)는 오른쪽 어깨 조인트와 오른쪽 발목을 연결한 선분의 기울기 또는 왼쪽 어깨와 왼쪽 발목을 연결한 선분의 기울기에 대한 프레임 변화에 따른 각속도(dφ)를 산출할 수 있다. In general, in the case of golf, the body rotates with the left foot or the right foot as a central axis. Accordingly, the
또한, 배치 관계부(242)는 조인트 간의 배치 패턴을 분석할 수 있다. 예를 들어, 배치 관계부(242)는 뼈대부(222)에서 산출된 벡터차(Dab)를 이용하여 조인트 간의 상대적 위치차가 변화하는 배치 패턴값을 연산할 수 있다. 배치 관계부(242)는 벡터차(Dab)의 프레임 변화에 따른 변화량(dDi)을 산출할 수 있다. Also, the
단계 S730에서 동작 특징값 연산부(240)는 동작 특징값을 산출할 수 있다. 예를 들어, 동작 특징값 연산부(240)는 움직임 패턴값을 동작 특징값으로 활용할 수 있고, 배치 관계값을 동작 특징값으로 활용할 수 있다. 동작 특징값 연산부(240)에서 산출된 동작 특징값은 후술하는 유사도 산출부(250)에서 기준 영상과 비교하여 산출된 동작 유사도 점수에 활용될 수 있다. In step S730, the operation characteristic
본 발명의 일 실시예에 따른 유사도 산출부(250)는 그룹 마다 기설정된 가중치를 각 부여하고, 가중치와 그룹의 움직임 패턴값 및 배치 관계값에 기초하여 동작 유사도 점수를 산출할 수 있다. The
예를 들어, 유사도 산출부(250)는 상반신 동작 유사도 점수(SMupper)를 하기 수학식 5을 이용하여 산출할 수 있다.For example, the
<수학식 5><Equation 5>
수학식 5를 참조하면, 유사도 산출부(250)는 스캐일 팩터(S)를 곱한 손목(wist), 팔꿈치(elbow), 어깨(shoulder) 조인트 각각의 움직임 패턴값(M)을 기준 영상(A)에서 추출한 값과 비교 영상(A')에서 추출한 값의 차이 값에, 상반신 그룹에 따른 가중치(a)를 곱한 배치 관계부(242)에서 산출한 양쪽 어깨와 각각의 손목이 이루는 배치 관계값(dφarm)과 양 팔 간의 배치 관계값(dφshoulder)의 기준 영상(A)에서 추출한 값과 비교 영상(A')에서 추출한 값의 차이 값을 더하여 상반신 동작 유사도 점수(SMupper)를 산출할 수 있다. 유사도 산출부(250)는 스윙 동작 중 어깨와 손이 진자 운동 중에 이루는 움직임을 측정할 수 있다. Referring to Equation 5, the
유사도 산출부(250)는 같은 방법으로 양 다리의 움직임 패턴값(Mlower)에 기초하여 하반신 동작 유사도 점수(SMlower)를 산출할 수 있고, 그룹 위치 변화 벡터로부터 산출한 그룹 중심점의 움직임 패턴값(Mbody)에 기초하여 무게중심 유사도 점수(SMbody)를 산출할 수 있다. The
유사도 산출부(250)는 뼈대부(222)에서 산출한 뼈대 간 각도, 배치 관계부(242)에서 산출한 프레임 변화에 따른 회전축 기울기 변화량과 배치 관계값을 이용하여 특정 자세(예: 어드레스, 백 스윙, 임팩트, 피니시)에 대한 유사도 점수를 산출할 수 있다. The
예를 들어, 유사도 산출부(250)는 어드레스 자세 유사도 점수(SSaddress)를 하기 수학식 6을 이용하여 산출할 수 있다. For example, the
<수학식 6><Equation 6>
수학식 6을 참조하면, 유사도 산출부(250)는 양쪽 발, 양 어깨, 왼쪽 어깨와 왼쪽 골반, 오른쪽 어깨와 오른쪽 골반, 어깨와 손목 간의 프레임 변화에 따른 변화량(dDi)에 기초한 배치 관계값과, 양 어깨, 어깨와 발목 사이의 조인트간 기울기와, 팔꿈치를 중심 조인트로 하는 뼈대간 사이각을 이용하여 어드레스 자세 유사도 점수(SSaddress)를 산출할 수 있다. 여기서, 배치 관계값은 스케일의 영향을 받으므로 스케일 팩터(s)로 가중치를 상이하게 부여할 수 있다. 변환 상수(α, β, γ)는 배치 관계값, 기울기, 뼈대간 사이각 각각의 서로 다른 범위를 갖는 특징 벡터를 보정하기 위한 상수이다. Referring to Equation 6, the
유사도 산출부(250)는 왼쪽 손목과 왼쪽 어깨, 오른쪽 손목과 오른쪽 어깨, 왼쪽 팔꿈치와 왼쪽 어깨, 오른쪽 팔꿈치와 오른쪽 어깨, 오른쪽 어깨와 왼쪽 골반, 왼쪽 어깨와 오른쪽 골반 간의 프레임 변화에 따른 변화량에 기초한 배치 관계값과, 어깨와 발목 사이의 조인트간 기울기와, 팔꿈치를 중심 조인트로 하는 뼈대간 사이각을 이용하여 백 스윙 자세 유사도 점수(SSbackswing)를 산출할 수 있고, 같은 방법으로 배치 관계값, 조인트간 기울기, 뼈대간 사이각을 이용하여 임팩트 자세 유사도 점수(SSimpact) 및 피니시 자세 유사도 점수(SSfinish)를 각각 산출할 수 있다. The
또한, 본 발명의 일 실시예에 따른 유사도 산출부(250)는 회전축의 기울기 변화에 대응하는 특징 벡터에 가중치를 부여하여 회전 움직임 동작에 대한 유사도 점수를 산출할 수 있다. Also, the
유사도 산출부(250)는 배치 관계부(242)에서 산출한 회전축 기울기 변화량 중에 왼쪽 어깨와 왼쪽 발목이 이루는 왼쪽 회전축과 오른쪽 어깨와 오른쪽 발목이 이루는 오른쪽 회전축 기울기를 이용하여 스윙 무게 중심의 패턴 유사도 점수(STshift)를 산출할 수 있다. The
예를 들어, 유사도 산출부(250)는 하기 수학식 7을 이용하여 구간별 스윙 무게 중심의 패턴 유사도 점수를 산출하고 합하여 최종 무게 중심의 이동 패턴 유사도 점수(STshift)를 산출할 수 있다. For example, the
<수학식 7><Equation 7>
수학식 7을 참조하면, 유사도 산출부(250)는 골프 스윙 동작 중 어드레스에서 백 스윙까지의 구간과 백 스윙에서 피니시까지의 두 구간으로 나누어 스윙 무게 중심의 패턴 유사도 점수(STshift)를 산출할 수 있다. 유사도 산출부(250)는 구간에 따른 비교 가중치(τ)를 상이하게 설정할 수 있다. Referring to Equation 7, the
유사도 산출부(250)는 배치 관계부(242)에서 산출한 회전축 기울기 변화량 중에 좌우 어깨 연장선, 좌우 골반 연장선, 좌우 어깨와 골반의 연장선, 우측 어깨와 골반의 연장선, 좌측 어깨와 우측 골반의 연장선, 우측 어깨와 좌측 골반의 연장선을 축으로 이용하여 전술한 방법과 같이 몸통 회전 패턴 유사도 점수를 산출할 수 있다. The
본 발명의 일 실시예에 따른 스윙 동작 분석 서버(120)는 촬영 영상에서 추출한 스윙 동작 구간을 사용자 단말에 실시간으로 전송할 수 있다. 스윙 동작 분석 서버(120)는 비교 영상의 스윙 동작 구간과 기준 영상의 스윙 동작 구간을 사용자 단말에 한 프레임으로 제공할 수 있다. The swing
스윙 동작 분석 서버(120)는 산출된 유사도 점수를 점수표로 환산하여 사용자 단말에 제공할 수 있다. 예를 들어, 유사도 점수는 진자 움직임(SM), 구조(SS) 및 회전 패턴(ST)에 대한 유사도 점수를 합한 수치일수 있다. 이때, 스윙 동작 분석 서버(120)는 평가 기준에 따라 각 항목에 대한 가중치를 상이하게 설정하여 최종 유사도 점수를 사용자 단말에 제공할 수 있다. The swing
도 8은 본 발명의 일 실시예에 따른 스윙 동작 분석 방법의 순서도이다. 도 8에 도시된 스윙 동작 분석 방법은 도 1 내지 도 7에 도시된 실시예에 따라 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 7에 도시된 실시예에 따른 스윙 동작 분석 서버에서 스윙 동작을 분석하는 방법에도 적용된다. 8 is a flowchart of a swing motion analysis method according to an embodiment of the present invention. The swing motion analysis method illustrated in FIG. 8 includes steps processed in time series according to the embodiments illustrated in FIGS. 1 to 7 . Therefore, even if omitted below, it is also applied to the method of analyzing the swing motion in the swing motion analysis server according to the embodiment shown in FIGS. 1 to 7 .
단계 S810에서 스윙 동작 분석 서버는 촬영 영상에서 딥러닝 네트워크를 이용하여 사람의 신체에 대한 n개의 조인트를 추출하고, n개의 조인트 좌표값을 프레임마다 추출할 수 있다.In step S810, the swing motion analysis server may extract n joints of the human body from the captured image using a deep learning network, and extract n joint coordinate values for each frame.
단계 S820에서 스윙 동작 분석 서버는 n개의 조인트 좌표값을 조인트 특징 벡터로 변환할 수 있다.In step S820, the swing motion analysis server may convert n joint coordinate values into joint feature vectors.
단계 S830에서 스윙 동작 분석 서버는 촬영 영상에서 기설정된 골프 스윙 동작 중 특정 동작 구간을 추출할 수 있다.In step S830, the swing motion analysis server may extract a specific motion section from among preset golf swing motions from the captured image.
단계 S840에서 스윙 동작 분석 서버는 특정 동작 구간에서 조인트 특징 벡터에 기초하여 동작 특징값을 연산할 수 있다.In step S840, the swing motion analysis server may calculate a motion feature value based on the joint feature vector in a specific motion section.
단계 S850에서 스윙 동작 분석 서버는 동작 특징값에 기초하여 기설정된 골프 스윙 동작 중 특정 동작과의 유사도를 분석하고 동작 유사도 점수를 산출할 수 있다.In step S850, the swing motion analysis server may analyze the similarity with a specific motion among preset golf swing motions based on the motion characteristic value and calculate a motion similarity score.
상술한 설명에서, 단계 S810 내지 S80는 본 발명의 구현 예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다. In the above description, steps S810 to S80 may be further divided into additional steps or combined into fewer steps according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between the steps may be switched.
도 1 내지 도 8을 통해 설명된 스윙 동작 분석 서버에서 스윙 동작을 분석하는 방법은 컴퓨터에 의해 실행되는 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어들을 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 8을 통해 설명된 스윙 동작 분석 서버에서 스윙 동작을 분석하는 방법은 컴퓨터에 의해 실행되는 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다. The method of analyzing the swing motion in the swing motion analysis server described through FIGS. 1 to 8 is in the form of a computer program stored in a computer readable recording medium executed by a computer or a recording medium including instructions executable by the computer. can also be implemented. In addition, the method of analyzing the swing motion in the swing motion analysis server described through FIGS. 1 to 8 may be implemented in the form of a computer program stored in a computer-readable recording medium that is executed by a computer.
컴퓨터 판독 가능 기록매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 기록매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.A computer-readable recording medium may be any available medium that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable recording medium may include a computer storage medium. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The foregoing description of the present invention is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and likewise components described as distributed may also be implemented in a combined form.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.
1: 스윙 동작 분석 시스템
110: 촬영 장치
120: 스윙 동작 분석 서버
210: 조인트 추출부
220: 변환부
230: 동작 추출부
240: 동작 특징값 연산부
250: 유사도 산출부1: Swing motion analysis system
110: photographing device
120: swing motion analysis server
210: joint extraction unit
220: conversion unit
230: motion extraction unit
240: operation feature value calculation unit
250: similarity calculator
Claims (19)
촬영 영상에서 딥러닝 네트워크를 이용하여 사람의 신체에 대한 n개의 조인트를 추출하고, 상기 n개의 조인트 좌표값을 프레임마다 추출하는 조인트 추출부;
상기 n개의 조인트 좌표값을 조인트 특징 벡터로 변환하는 변환부;
상기 촬영 영상에서 기설정된 스윙 동작 중 특정 동작 구간을 추출하는 동작 추출부;
상기 특정 동작 구간에서 상기 조인트 특징 벡터에 기초하여 동작 특징값을 연산하는 동작 특징값 연산부;
상기 동작 특징값에 기초하여 기준 영상에서 상기 기설정된 스윙 동작 중 특정 동작과의 유사도를 분석하고 동작 유사도 점수를 산출하는 유사도 산출부
를 포함하는, 스윙 동작 분석 서버.
In the swing motion analysis server,
a joint extraction unit that extracts n joints of a human body from a captured image using a deep learning network, and extracts the n joint coordinate values for each frame;
a transformation unit that converts the n joint coordinate values into joint feature vectors;
a motion extraction unit for extracting a specific motion section from a preset swing motion from the captured image;
an operation characteristic value calculating unit for calculating operation characteristic values based on the joint characteristic vector in the specific operation section;
A similarity calculating unit that analyzes a degree of similarity with a specific motion among the preset swing motions in a reference image based on the motion feature value and calculates a motion similarity score
Including, swing motion analysis server.
상기 조인트 추출부는 상기 n개의 조인트를 상기 사람의 신체 구조에 기초하여 기설정된 수의 그룹으로 구분하는 것인, 스윙 동작 분석 서버.
The method of claim 1,
The joint extraction unit will classify the n joints into a predetermined number of groups based on the human body structure, swing motion analysis server.
상기 변환부는,
상기 n개의 조인트 좌표값의 프레임 변화에 따른 위치 변화 벡터를 산출하고, 상기 위치 변화 벡터에 기초하여 상기 조인트 특징 벡터를 산출하는 특징 벡터 산출부
를 포함하는 것인, 스윙 동작 분석 서버.
3. The method of claim 2,
The conversion unit,
A feature vector calculating unit that calculates a position change vector according to a frame change of the n joint coordinate values, and calculates the joint feature vector based on the position change vector
That comprising a, swing motion analysis server.
상기 특징 벡터 산출부는,
상기 그룹 내의 조인트 좌표값에 대한 평균으로 각 그룹의 중심점을 산출하여 상기 그룹의 중심점의 프레임 변화에 따른 그룹 위치 변화 벡터를 산출하고, 상기 그룹 위치 변화 벡터에 기초하여 상기 조인트 특징 벡터를 산출하는 것인, 스윙 동작 분석 서버.
4. The method of claim 3,
The feature vector calculation unit,
Calculating the center point of each group as an average of the joint coordinate values within the group, calculating a group position change vector according to a frame change of the center point of the group, and calculating the joint feature vector based on the group position change vector In, swing behavior analysis server.
상기 변환부는,
상기 그룹 내의 조인트 간의 거리값에 기초하여 인접 조인트를 정의하고, 상기 인접 조인트 간의 거리값에 기초하여 상기 사람의 뼈대 간 거리값을 산출하는 뼈대부
를 더 포함하는 것인, 스윙 동작 분석 서버.
5. The method of claim 4,
The conversion unit,
The skeleton unit defines an adjacent joint based on a distance value between the joints in the group, and calculates a distance value between the bones of the person based on the distance value between the adjacent joints
Which will further include, swing motion analysis server.
상기 뼈대부는,
상기 n개의 조인트 중 어느 하나를 기준 조인트로 설정하고, 상기 기준 조인트와 다른 하나의 조인트 간의 사이각에 기초하여 상기 사람의 뼈대 간 각도를 산출하는 것인, 스윙 동작 분석 서버.
6. The method of claim 5,
The skeleton part,
Setting any one of the n joints as a reference joint, and calculating the angle between the bones of the person based on the angle between the reference joint and the other joint, swing motion analysis server.
상기 동작 특징값 연산부는,
상기 위치 변화 벡터 및 상기 그룹 위치 변화 벡터에 기초하여 상기 조인트 및 상기 그룹의 프레임 변화에 따른 움직임 패턴값을 산출하는 패턴 산출부
를 포함하는 것인, 스윙 동작 분석 서버.
7. The method of claim 6,
The operation characteristic value calculation unit,
A pattern calculation unit for calculating a movement pattern value according to a frame change of the joint and the group based on the position change vector and the group position change vector
That comprising a, swing motion analysis server.
상기 동작 특징값 연산부는,
상기 뼈대 간 각도에 기초하여 상기 그룹 내의 조인트 간의 배치 관계값 및 상기 그룹 간의 배치 관계값을 산출하는 배치 관계부
를 더 포함하는 것인, 스윙 동작 분석 서버.
8. The method of claim 7,
The operation characteristic value calculation unit,
A placement relationship unit for calculating a placement relationship value between joints in the group and a placement relationship value between the groups based on the angle between the skeletons
Which will further include, swing motion analysis server.
상기 유사도 산출부는,
상기 그룹 마다 기설정된 가중치를 각 부여하고, 상기 가중치와 상기 그룹의 움직임 패턴값 및 상기 배치 관계값에 기초하여 상기 동작 유사도 점수를 산출하는 것인, 스윙 동작 분석 서버.
9. The method of claim 8,
The similarity calculator,
A swing motion analysis server that assigns a preset weight to each group, and calculates the motion similarity score based on the weight, the group's motion pattern value, and the placement relationship value.
촬영 영상에서 딥러닝 네트워크를 이용하여 사람의 신체에 대한 n개의 조인트를 추출하고, 상기 n개의 조인트 좌표값을 프레임마다 추출하는 단계;
상기 n개의 조인트 좌표값을 조인트 특징 벡터로 변환하는 단계;
상기 촬영 영상에서 기설정된 스윙 동작 중 특정 동작 구간을 추출하는 단계;
상기 특정 동작 구간에서 상기 조인트 특징 벡터에 기초하여 동작 특징값을 연산하는 단계;
상기 동작 특징값에 기초하여 기준 영상에서 상기 기설정된 스윙 동작 중 특정 동작과의 유사도를 분석하고 동작 유사도 점수를 산출하는 단계
를 포함하는, 스윙 동작 분석 방법.
In the swing motion analysis method,
extracting n joints of a human body using a deep learning network from the captured image, and extracting the n joint coordinate values for each frame;
converting the n joint coordinate values into joint feature vectors;
extracting a specific motion section from among preset swing motions from the captured image;
calculating a motion feature value based on the joint feature vector in the specific motion section;
analyzing a similarity with a specific motion among the preset swing motions in a reference image based on the motion feature value and calculating a motion similarity score
Including, swing motion analysis method.
상기 n개의 조인트 좌표값을 프레임마다 추출하는 단계는 상기 n개의 조인트를 상기 사람의 신체 구조에 기초하여 기설정된 수의 그룹으로 구분하는 것인, 스윙 동작 분석 방법.
11. The method of claim 10,
The step of extracting the n joint coordinate values for each frame is to divide the n joints into a predetermined number of groups based on the body structure of the person, swing motion analysis method.
상기 조인트 특징 벡터로 변환하는 단계는,
상기 n개의 조인트 좌표값의 프레임 변화에 따른 위치 변화 벡터를 산출하고, 상기 위치 변화 벡터에 기초하여 상기 조인트 특징 벡터를 산출하는 단계
를 포함하는 것인, 스윙 동작 분석 방법.
12. The method of claim 11,
Transforming the joint feature vector into the joint feature vector comprises:
calculating a position change vector according to a frame change of the n joint coordinate values, and calculating the joint feature vector based on the position change vector
That comprising a, swing motion analysis method.
상기 조인트 특징 벡터를 산출하는 단계는,
상기 그룹 내의 조인트 좌표값에 대한 평균으로 각 그룹의 중심점을 산출하여 상기 그룹의 중심점의 프레임 변화에 따른 그룹 위치 변화 벡터를 산출하고, 상기 그룹 위치 변화 벡터에 기초하여 상기 조인트 특징 벡터를 산출하는 것인, 스윙 동작 분석 방법.
13. The method of claim 12,
Calculating the joint feature vector comprises:
Calculating the center point of each group as an average of the joint coordinate values within the group, calculating a group position change vector according to a frame change of the center point of the group, and calculating the joint feature vector based on the group position change vector In and swing motion analysis method.
상기 조인트 특징 벡터로 변환하는 단계는,
상기 그룹 내의 조인트 간의 거리값에 기초하여 인접 조인트를 정의하고, 상기 인접 조인트 간의 거리값에 기초하여 상기 사람의 뼈대 간 거리값을 산출하는 단계
를 더 포함하는 것인, 스윙 동작 분석 방법.
14. The method of claim 13,
Transforming the joint feature vector into the joint feature vector comprises:
defining an adjacent joint based on a distance value between the joints in the group, and calculating a distance value between the bones of the person based on the distance value between the adjacent joints
Which will further include, swing motion analysis method.
상기 사람의 뼈대 간 거리값을 산출하는 단계는,
상기 n개의 조인트 중 어느 하나를 기준 조인트로 설정하고, 상기 기준 조인트와 다른 하나의 조인트 간의 사이각에 기초하여 상기 사람의 뼈대 간 각도를 산출하는 것인, 스윙 동작 분석 방법.
15. The method of claim 14,
The step of calculating the distance value between the bones of the person,
Any one of the n joints is set as a reference joint, and the angle between the skeletons of the person is calculated based on the angle between the reference joint and the other joint.
상기 동작 특징값을 연산하는 단계는,
상기 위치 변화 벡터 및 상기 그룹 위치 변화 벡터에 기초하여 상기 조인트 및 상기 그룹의 프레임 변화에 따른 움직임 패턴값을 산출하는 단계
를 포함하는 것인, 스윙 동작 분석 방법.
16. The method of claim 15,
The step of calculating the operation characteristic value is,
Calculating a movement pattern value according to a frame change of the joint and the group based on the position change vector and the group position change vector
That comprising a, swing motion analysis method.
상기 동작 특징값을 연산하는 단계는,
상기 뼈대 간 각도에 기초하여 상기 그룹 내의 조인트 간의 배치 관계값 및 상기 그룹 간의 배치 관계값을 산출하는 단계
를 더 포함하는 것인, 스윙 동작 분석 방법.
17. The method of claim 16,
The step of calculating the operation characteristic value is,
calculating a placement relationship value between joints in the group and a placement relationship value between the groups based on the angle between the skeletons
Which will further include, swing motion analysis method.
상기 유사도 점수를 산출하는 단계는,
상기 그룹 마다 기설정된 가중치를 각 부여하고, 상기 가중치와 상기 그룹의 움직임 패턴값 및 상기 배치 관계값에 기초하여 상기 동작 유사도 점수를 산출하는 것인, 스윙 동작 분석 방법.
18. The method of claim 17,
Calculating the similarity score comprises:
A method for analyzing swing motion, in which a preset weight is given to each group, and the motion similarity score is calculated based on the weight, the group's movement pattern value, and the arrangement relationship value.
상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
촬영 영상에서 딥러닝 네트워크를 이용하여 사람의 신체에 대한 n개의 조인트를 추출하고, 상기 n개의 조인트 좌표값을 프레임마다 추출하고,
상기 n개의 조인트 좌표값을 조인트 특징 벡터로 변환하고,
상기 촬영 영상에서 기설정된 스윙 동작 중 특정 동작 구간을 추출하고,
상기 특정 동작 구간에서 상기 조인트 특징 벡터에 기초하여 동작 특징값을 연산하고,
상기 동작 특징값에 기초하여 기준 영상에서 상기 기설정된 스윙 동작 중 특정 동작과의 유사도를 분석하고 동작 유사도 점수를 산출하도록 하는 명령어들의 시퀀스를 포함하는, 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.A computer program stored on a computer-readable medium comprising a sequence of instructions for analyzing a swing motion, the computer program comprising:
When the computer program is executed by a computing device,
Extracting n joints of the human body using a deep learning network from the captured image, and extracting the n joint coordinate values for each frame,
Transform the n joint coordinate values into joint feature vectors,
Extracting a specific motion section among preset swing motions from the captured image,
calculating a motion feature value based on the joint feature vector in the specific motion section,
and a sequence of instructions for analyzing a similarity with a specific motion among the preset swing motions in a reference image based on the motion feature value and calculating a motion similarity score.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210034451A KR20220129762A (en) | 2021-03-17 | 2021-03-17 | Server, method and computer program for analyzing swing motion |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210034451A KR20220129762A (en) | 2021-03-17 | 2021-03-17 | Server, method and computer program for analyzing swing motion |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220129762A true KR20220129762A (en) | 2022-09-26 |
Family
ID=83452537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210034451A KR20220129762A (en) | 2021-03-17 | 2021-03-17 | Server, method and computer program for analyzing swing motion |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220129762A (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160121379A (en) | 2015-04-09 | 2016-10-19 | 한국전자통신연구원 | Apparatus and method for analyzing golf motion |
KR20200022788A (en) | 2018-08-23 | 2020-03-04 | 전자부품연구원 | Device and method for analyzing motion |
-
2021
- 2021-03-17 KR KR1020210034451A patent/KR20220129762A/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160121379A (en) | 2015-04-09 | 2016-10-19 | 한국전자통신연구원 | Apparatus and method for analyzing golf motion |
KR20200022788A (en) | 2018-08-23 | 2020-03-04 | 전자부품연구원 | Device and method for analyzing motion |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11745055B2 (en) | Method and system for monitoring and feed-backing on execution of physical exercise routines | |
JP6703199B2 (en) | Operating state evaluation system, operating state evaluation device, operating state evaluation server, operating state evaluation method, and operating state evaluation program | |
JP6207510B2 (en) | Apparatus and method for analyzing golf swing | |
US7857708B2 (en) | Golf swing-diagnosing system | |
US10186041B2 (en) | Apparatus and method for analyzing golf motion | |
Bezodis et al. | Contributions of the non-kicking-side arm to rugby place-kicking technique | |
Brouwer et al. | 3D trunk orientation measured using inertial measurement units during anatomical and dynamic sports motions | |
WO2019116495A1 (en) | Technique recognition program, technique recognition method, and technique recognition system | |
Li et al. | Baseball swing pose estimation using openpose | |
US20220161117A1 (en) | Framework for recording and analysis of movement skills | |
Cole et al. | The X-factor and its relationship to golfing performance | |
Luo et al. | Vision-based movement recognition reveals badminton player footwork using deep learning and binocular positioning | |
Huang et al. | A golf swing analysis system using wii balance board and kinect sensors for novice players | |
McPhee | A review of dynamic models and measurements in golf | |
Busquets et al. | High bar swing performance in novice adults: effects of practice and talent | |
KR20220129762A (en) | Server, method and computer program for analyzing swing motion | |
Wang | Research on the evaluation of sports training effect based on artificial intelligence technology | |
JP2021191356A (en) | Correction content learning device, operation correction device and program | |
Li | Tennis Technology Recognition and Training Attitude Analysis Based on Artificial Intelligence Sensor | |
KR102636103B1 (en) | Motion analysis method and device | |
Pan et al. | Biomechanical analysis of shooting performance for basketball players based on computer vision | |
WO2023047621A1 (en) | Information processing system, information processing method, and program | |
Llanos et al. | Computer-assisted Table Tennis Posture Analysis using Machine Learning | |
CN111754620B (en) | Human body space motion conversion method, conversion device, electronic equipment and storage medium | |
Aihara et al. | Development of Monocular Vision-Based Tracking Method for Wheelchair Sports |