KR20220129762A - Server, method and computer program for analyzing swing motion - Google Patents

Server, method and computer program for analyzing swing motion Download PDF

Info

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
Application number
KR1020210034451A
Other languages
Korean (ko)
Inventor
김우연
조지은
허윤범
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020210034451A priority Critical patent/KR20220129762A/en
Publication of KR20220129762A publication Critical patent/KR20220129762A/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/36Training appliances or apparatus for special sports for golf
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • A63B24/0006Computerised comparison for qualitative assessment of motion sequences or the course of a movement
    • G06K9/6201
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • A63B24/0006Computerised comparison for qualitative assessment of motion sequences or the course of a movement
    • A63B2024/0012Comparing movements or motion sequences with a registered reference
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2102/00Application of clubs, bats, rackets or the like to the sporting activity ; particular sports involving the use of balls and clubs, bats, rackets, or the like
    • A63B2102/32Golf
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/806Video cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/03Recognition of patterns in medical or anatomical images
    • G06V2201/033Recognition of patterns in medical or anatomical images of skeletal patterns

Abstract

A server for analyzing swing motion comprises: a joint extraction unit that extracts n joints of a human body from a captured image using a deep learning network and extracts coordinate values of the n joints for each frame; a conversion unit that converts the coordinate values of the n joints into joint feature vectors; a motion extraction unit that extracts a specific motion section among preset swing motion from the captured image; a motion feature value calculation unit that calculates a motion feature value on the basis of the joint feature vectors in the specific motion section; and a similarity computation unit that analyzes a similarity between specific motion and the preset swing motion on the basis of the motion feature value, and computes a motion similarity score.

Description

스윙 동작 분석 서버, 방법 및 컴퓨터 프로그램{SERVER, METHOD AND COMPUTER PROGRAM FOR ANALYZING SWING MOTION}Swing motion analysis server, method and computer program {SERVER, METHOD AND COMPUTER PROGRAM FOR ANALYZING SWING MOTION}

본 발명은 스윙 동작 분석 서버, 방법 및 컴퓨터 프로그램에 관한 것이다.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.

한국공개특허공보 제2020-0022788호 (2020. 3. 4. 공개)Korea Patent Publication No. 2020-0022788 (published on March 4. 2020) 한국공개특허공보 제2016-0121379호 (2016. 10. 19. 공개)Korea Patent Publication No. 2016-0121379 (published on October 19, 2016)

본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 운동 선수의 자세 및 동작을 검출하고 이전 동작과 현재 동작을 비교하여 운동 실력이 얼마나 향상되었는지에 대한 분석을 수행할 수 있는 스윙 동작 분석 서버를 제공하고자 한다. 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 motion analysis system 1 may include a photographing device 110 and a swing motion analysis server 120 . However, the above components 110 and 120 are merely illustrative of components that can be controlled by the swing motion analysis system 1 .

촬영 장치(110)는 골퍼의 스윙 동작을 촬영하기 위한 장치이다. 예를 들어, 촬영 장치(110)는 카메라 및 카메라를 포함하는 사용자 단말 등을 포함할 수 있다. 촬영 장치(110)는 영상의 프레임 안에 골퍼 및 골프채를 모두 포함시킨 골퍼의 스윙 동작을 촬영하고, 촬영된 영상을 스윙 동작 분석 서버(120)로 전송할 수 있다. 예를 들어, 촬영 장치(110)는 스윙 동작의 정면 및 측면이 연속된 이미지 프레임으로 이루어진 영상을 획득할 수 있고, 획득한 영상을 스윙 동작 분석 서버(120)로 전송할 수 있다. The photographing device 110 is a device for photographing a swing motion of a golfer. For example, the photographing apparatus 110 may include a camera and a user terminal including a camera. The photographing device 110 may photograph the swing motion of the golfer including both the golfer and the golf club in the frame of the image, and transmit the captured image to the swing motion analysis server 120 . For example, the photographing apparatus 110 may acquire an image including image frames in which the front and side surfaces of a swing motion are continuous, and may transmit the acquired image to the swing motion analysis server 120 .

스윙 동작 분석 서버(120)는 촬영 장치(110)로부터 수신한 골퍼의 스윙 영상에서 골퍼의 조인트 좌표값을 검출하고, 검출한 조인트 좌표값에 기초하여 조인트 특징 벡터를 추출하고, 프레임 변화에 따른 특징 벡터 간의 변화 패턴을 비교 및 분석할 수 있다. 스윙 동작 분석 서버(120)는 프레임 변화에 따른 특징 벡터 간의 변화 패턴에 기초하여 골퍼의 연속된 스윙 동작을 정밀하게 분석할 수 있다. The swing motion analysis server 120 detects the golfer's joint coordinate value from the golfer's swing image received from the photographing device 110 , extracts a joint feature vector based on the detected joint coordinate value, and features according to frame change Change patterns between vectors can be compared and analyzed. The swing motion analysis server 120 may precisely analyze the continuous swing motion of the golfer based on the change pattern between the feature vectors according to the frame change.

예를 들어, 스윙 동작 분석 서버(120)는 프레임 변화에 따른 특징 벡터 간의 변화 패턴을 통해 골퍼의 이전 동작과 현재 동작을 비교하고 분석할 수 있다. 이를 통해 골퍼의 골프 실력이 얼마나 향상되었는지에 대해서 파악할 수 있다.For example, the swing motion analysis server 120 may compare and analyze the previous motion and the current motion of the golfer through the change pattern between the feature vectors according to the frame change. Through this, it is possible to determine how much the golfer's golf skill has improved.

다른 예를 들어, 스윙 동작 분석 서버(120)는 특정 스윙 동작 및 연속된 스윙 동작을 전문가의 동작과 비교하고 분석하여 부족한 점을 확인하고 개선시킬 수 있다. As another example, the swing motion analysis server 120 compares and analyzes a specific swing motion and a continuous swing motion with the motion of an expert to identify and improve deficiencies.

네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(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 motion analysis server 120 includes a joint extraction unit 210 , a transformation unit 220 , a motion extraction unit 230 , a motion feature value calculation unit 240 , and a similarity calculation unit 250 . can do. In addition, the transform unit 220 may include a feature vector calculating unit 221 and a skeleton unit 222 , and the operation feature value calculating unit 240 includes a pattern calculating unit 241 and an arrangement relation unit 242 . can do. However, the above components 210 to 250 are merely illustrative of components that can be controlled by the swing motion analysis server 120 .

도 2의 스윙 동작 분석 서버(120)의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 예를 들어, 도 2에 도시된 바와 같이, 조인트 추출부(210), 변환부(220), 동작 추출부(230), 동작 특징값 연산부(240) 및 유사도 산출부(250)는 동시에 또는 시간 간격을 두고 연결될 수 있다. Each component of the swing motion analysis server 120 of FIG. 2 is generally connected through a network. For example, as shown in FIG. 2 , the joint extraction unit 210 , the transformation unit 220 , the motion extraction unit 230 , the motion feature value calculation unit 240 , and the similarity calculation unit 250 simultaneously or time They can be connected at intervals.

본 발명의 일 실시예에 따른 조인트 추출부(210)는 촬영 영상에서 딥러닝 네트워크를 이용하여 사람의 신체에 대한 n개의 조인트를 추출하고, n개의 조인트 좌표값을 프레임마다 추출할 수 있다. 예를 들어, 조인트 추출부(210)는 촬영 영상에서 딥러닝 네트워크를 이용하여 사람의 신체에 대한 17개의 조인트를 추출하고, 17개의 조인트를 2차원 좌표값으로 프레임마다 추출할 수 있다. The joint extractor 210 according to an embodiment of the present invention may extract n joints of a human body from a captured image using a deep learning network, and extract n joint coordinate values for each frame. For example, the joint extractor 210 may extract 17 joints of the human body from the captured image using a deep learning network, and extract the 17 joints as two-dimensional coordinate values for each frame.

도 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 joint extraction unit 210 has 16 points in the left and right pairs of eyes, ears, shoulders, elbows, wrists, pelvis, knees and ankles, and a nose is added for a total of 17 can be a dog

본 발명의 일 실시예에 따른 동작 추출부(230)는 촬영 영상에서 기설정된 골프 스윙 동작 중 특정 동작 구간을 추출할 수 있다. 예를 들어, 동작 추출부(230)는 촬영 영상에서 골프 스윙 동작(예: 어드레스, 백 스윙 탑, 임팩트 및 피니시)이 이루어지는 구간을 추출할 수 있다.The motion extraction unit 230 according to an embodiment of the present invention may extract a specific motion section from a preset golf swing motion from the captured image. For example, the motion extractor 230 may extract a section in which a golf swing motion (eg, address, back swing top, impact, and finish) is performed from the captured image.

도 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 motion extractor 230 extracts the entire swing section including the address (a) to the finish (d) from the captured image, or a specific posture, for example, only the back swing (b) of the swing section from the captured image. It is possible to extract the included section.

도 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 motion analysis server 120 may receive an image of a golf swing motion from the photographing device 110 , and extract the joint coordinate values from the joint extraction unit 210 , and a conversion unit ( 220), the joint coordinate value may be converted into a joint feature vector, and the motion feature value calculating unit 240 may calculate a motion feature value for a specific motion based on the joint feature vector, and the similarity calculator 250 may calculate the joint coordinate value. A similarity score may be calculated based on the motion feature value and compared with the motion of a reference image.

조인트 추출부(210)는 n개의 조인트를 사람의 신체 구조에 기초하여 기설정된 수의 그룹으로 구분할 수 있다. 예를 들어, 조인트 추출부(210)는 촬영 영상에서 추출한 17개의 조인트를 5개의 그룹으로 구분시킬 수 있다. 구체적으로, 조인트 추출부(210)는 사람의 신체 구조에 기초하여 왼팔, 오른팔, 왼다리, 오른다리 및 그 외 그룹으로 17개의 조인트를 각각 구분할 수 있다.The joint extractor 210 may classify the n joints into a preset number of groups based on the human body structure. For example, the joint extractor 210 may classify 17 joints extracted from the captured image into 5 groups. Specifically, the joint extractor 210 may classify each of the 17 joints into a left arm, a right arm, a left leg, a right leg, and other groups based on the human body structure.

변환부(220)는 n개의 조인트 좌표값을 조인트 특징 벡터로 변환할 수 있다. 예를 들어, 변환부(220)는 학습된 딥러닝 네트워크를 이용하여 촬영 영상에서 17개의 조인트 좌표값을 추출하고, 추출된 조인트 좌표값으로부터 프레임 변화에 따른 위치 변화 벡터를 산출하여 조인트 특징 벡터로 변환시킬 수 있다. The transform unit 220 may convert the n joint coordinate values into a joint feature vector. For example, the transform unit 220 extracts 17 joint coordinate values from the captured image using the learned deep learning network, calculates a position change vector according to frame change from the extracted joint coordinate value, and converts it into a joint feature vector. can be converted

동작 특징값 연산부(240)는 특정 동작 구간에서 조인트 특징 벡터에 기초하여 동작 특징값을 연산할 수 있다. 예를 들어, 동작 특징값 연산부(240)는 프레임 변화에 따른 조인트 특징 벡터의 변화 패턴에 기초하여 동작 특징값을 연산할 수 있다. The motion feature value calculator 240 may calculate the motion feature value based on the joint feature vector in a specific motion section. For example, the motion feature value calculating unit 240 may calculate the motion feature value based on a change pattern of the joint feature vector according to the frame change.

유사도 산출부(250)는 동작 특징값에 기초하여 기준 영상에서 기설정된 골프 스윙 동작 중 특정 동작과의 유사도를 분석하고 동작 유사도 점수를 산출할 수 있다. 예를 들어, 유사도 산출부(250)는 연산된 상반신 동작 특징값과 기준이 되는 영상에서 상반신 동작 특징값을 비교하여 상반신 동작의 유사도 점수를 산출할 수 있다. The similarity calculator 250 may analyze a similarity with a specific motion among preset golf swing motions in the reference image based on the motion feature value and calculate a motion similarity score. For example, the similarity calculator 250 may calculate a similarity score of the upper body motion by comparing the calculated upper body motion feature value with the upper body motion feature value in a reference image.

도 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 transform unit 220 may include a feature vector calculating unit 221 and a skeleton unit 222 .

먼저, 단계 S610에서 조인트 추출부(210)는 n개의 조인트를 그룹으로 구분할 수 있다. 예를 들어, 조인트 추출부(210)는 촬영 영상에서 추출한 17개의 조인트를 사람의 신체 구조에 기초하여 5개의 그룹으로 구분할 수 있다. 변환부(220)는 조인트 추출부(210)에서 구분한 그룹에 기초하여 후술하는 방법에 따라 그룹별 특징 벡터를 산출할 수 있다. First, in step S610, the joint extractor 210 may classify n joints into groups. For example, the joint extractor 210 may classify 17 joints extracted from the captured image into five groups based on the human body structure. The transform unit 220 may calculate a feature vector for each group according to a method to be described later based on the groups classified by the joint extractor 210 .

단계 S620에서 변환부(220)는 위치 변화 벡터를 산출할 수 있다. 본 발명의 일 실시예에 따른 변환부(220)는 n개의 조인트 좌표값의 프레임 변화에 따른 위치 변화 벡터를 산출하고, 위치 변화 벡터에 기초하여 조인트 특징 벡터를 산출하는 특징 벡터 산출부(221)를 포함할 수 있다. In step S620, the transform unit 220 may calculate a position change vector. The transform unit 220 according to an embodiment of the present invention calculates a position change vector according to frame change of n joint coordinate values, and a feature vector calculator 221 calculates a joint feature vector based on the position change vector. may include

예를 들어, 특징 벡터 산출부(221)는 프레임 변화에 따라 변화하는 조인트 좌표값 각각의 위치 변화량을 연산하여 위치 변화 벡터를 산출할 수 있다. 구체적으로, 특징 벡터 산출부(221)는 하기 수학식 1을 이용하여 프레임 변화에 따른 조인트 좌표값 각각의 위치 변화량을 연산하고, 조인트 좌표값 각각의 위치 변화 방향과 변화 크기를 저장할 수 있다. 특징 벡터 산출부(221)는 위치 변화 벡터 간(V1, V2)의 사이각(cos

Figure pat00001
)을 연산할 수 있다.For example, the feature vector calculator 221 may calculate a position change vector by calculating a position change amount of each joint coordinate value that changes according to a frame change. Specifically, the feature vector calculating unit 221 may calculate a position change amount of each joint coordinate value according to a frame change using Equation 1 below, and store the position change direction and the change magnitude of each joint coordinate value. The feature vector calculating unit 221 is configured to calculate an angle cos between the position change vectors (V 1 , V 2 ).
Figure pat00001
) can be calculated.

<수학식 1><Equation 1>

Figure pat00002
Figure pat00002

특징 벡터 산출부(221)는, 수학식 1을 참조하면, 위치 변화 벡터 간(V1, V2)의 내적을 두 위치 변화 벡터 크기의 합으로 나누어 두 위치 변화 벡터의 사이각(cos

Figure pat00003
)을 연산할 수 있다. 특징 벡터 산출부(221)는 현재 프레임의 조인트 좌표값을 기준(원점)으로 Y축과 평행하게 양수(+) 방향으로 가는 단위 벡터를 하나의 벡터로 설정하고, 이전 프레임과 현재 프레임의 위치 변화 벡터 간의 차이를 다른 하나의 벡터로 설정할 수 있다. 특징 벡터 산출부(221)는 두 위치 변화 벡터의 사이각(cos
Figure pat00004
)이 양수인 경우
Figure pat00005
을 방향값으로 연산하고, 음수인 경우
Figure pat00006
을 방향값으로 연산하여, 단위 벡터와 수평 방향으로 갈 때 가중치를 크게 반영시킬 수 있다. The feature vector calculating unit 221, referring to Equation 1, divides the dot product between the position change vectors (V 1 , V 2 ) by the sum of the magnitudes of the two position change vectors to divide the angle cos between the two position change vectors.
Figure pat00003
) can be calculated. The feature vector calculating unit 221 sets a unit vector going in a positive (+) direction parallel to the Y axis based on the joint coordinate value of the current frame as a single vector, and changes the position of the previous frame and the current frame. The difference between vectors can be set to one vector. The feature vector calculating unit 221 is an angle (cos) between the two position change vectors.
Figure pat00004
) is positive
Figure pat00005
is calculated as a direction value, and if negative
Figure pat00006
By calculating as a direction value, the weight can be largely reflected when going in the horizontal direction with the unit vector.

특징 벡터 산출부(221)는 수학식 1을 이용하여 17개 조인트 좌표값으로부터 프레임 변화에 따른 위치 변화 벡터를 산출하고, 위치 변화 벡터와 단위 벡터가 이루는

Figure pat00007
또는
Figure pat00008
의 값을 각도 값으로 저장하여 총 34개의 조인트 특징 벡터를 연산할 수 있다.The feature vector calculating unit 221 calculates a position change vector according to frame change from 17 joint coordinate values using Equation 1, and the position change vector and the unit vector form
Figure pat00007
or
Figure pat00008
A total of 34 joint feature vectors can be calculated by storing the value of .

단계 S630에서 변환부(220)는 인접 조인트를 정의할 수 있다. 본 발명의 일 실시예에 따른 변환부(220)는 그룹 내의 조인트 간의 거리값에 기초하여 인접 조인트를 정의하는 뼈대부(222)를 더 포함할 수 있다. In step S630, the conversion unit 220 may define an adjacent joint. The transformation unit 220 according to an embodiment of the present invention may further include a skeleton unit 222 defining an adjacent joint based on a distance value between the joints in the group.

다시 도 3을 참조하면, 예를 들어, 뼈대부(222)는 서로 인접하게 위치한 어깨 조인트(331)와 팔꿈치 조인트(332)를 인접 조인트로 정의할 수 있고, 팔꿈치 조인트(332)와 손목 조인트(333)를 인접 조인트로 정의할 수 있다. 또한, 뼈대부(222)는 서로 인접하게 위치한 골반 조인트(341)와 무릎 조인트(342)를 인접 조인트로 정의할 수 있고, 무릎 조인트(342)와 발목 조인트(343)를 인접 조인트로 정의할 수 있다. Referring back to FIG. 3, for example, the skeleton 222 may define the shoulder joint 331 and the elbow joint 332 positioned adjacent to each other as adjacent joints, and the elbow joint 332 and the wrist joint ( 333) can be defined as an adjacent joint. In addition, the skeleton 222 may define the pelvic joint 341 and the knee joint 342 positioned adjacent to each other as adjacent joints, and the knee joint 342 and the ankle joint 343 may be defined as adjacent joints. have.

뼈대부(222)는 하기 수학식 2를 이용하여 조인트 간의 벡터차(Dab)를 연산할 수 있다.The skeleton unit 222 may calculate the vector difference D ab between the joints using Equation 2 below.

<수학식 2><Equation 2>

Figure pat00009
Figure pat00009

Figure pat00010
Figure pat00010

뼈대부(222)는 수학식 2를 이용하여 a번째 조인트(Ja)와 b번째 조인트(Jb) 간의 벡터차(Dab)를 산출할 수 있다. 여기서, 벡터차(Dab)는 17*17의 행렬로 표현될 수 있다. 구체적으로, 벡터차(Dab) 행렬은 행과 열의 숫자가 같아 0의 값을 가지는(자기 자신과의 거리 차이인 경우) 행렬 17개와, 이 외 크기는 같고 부호는 반대인 136개 쌍의 행렬 272개로 이루어진다. The skeleton 222 may calculate the vector difference D ab between the a-th joint J a and the b-th joint J b using Equation 2 . Here, the vector difference (D ab ) may be expressed as a matrix of 17*17. Specifically, the vector difference (D ab ) matrix consists of 17 matrices having the same number of rows and columns and having a value of 0 (in the case of a distance difference from itself), and 136 pairs of matrices with the same size and opposite signs. It consists of 272 pieces.

또한, 뼈대부(222)는 사람의 신체 구조에 기초하여 조인트 간의 인접 조인트를 정의할 수 있다. 예를 들어, 뼈대부(222)는 인접하게 위치하지 않은 어깨 조인트(331)와 손목 조인트(333)를 신체 구조 상 인접 조인트로 정의할 수 있고, 골반 조인트(341)와 발목 조인트(343) 또한 인접 조인트로 정의할 수 있다. Also, the skeleton unit 222 may define adjacent joints between the joints based on the human body structure. For example, the skeleton 222 may define the shoulder joint 331 and the wrist joint 333 that are not located adjacent to each other as adjacent joints in the body structure, and the pelvic joint 341 and the ankle joint 343 are also It can be defined as an adjacent joint.

또한, 뼈대부(222)는 인접 조인트 간의 관계를 정의할 수 있다. 인접 조인트 간의 관계는 조인트 추출부(210)에서 구분한 그룹에 기초할 수 있다. 예를 들어, 뼈대부(222)는 서로 인접 조인트로 정의된 어깨 조인트(331), 팔꿈치 조인트(332) 및 손목 조인트(333)를 하나의 그룹인 왼팔(330)로 정의할 수 있고, 골판 조인트(341), 무릎 조인트(342) 및 발목 조인트(343)를 오른다리(340)로 정의할 수 있다. Also, the skeleton 222 may define a relationship between adjacent joints. The relationship between adjacent joints may be based on a group divided by the joint extraction unit 210 . For example, the skeletal part 222 may define the shoulder joint 331 , the elbow joint 332 , and the wrist joint 333 defined as adjacent joints as one group, the left arm 330 , and a bone joint joint. 341 , a knee joint 342 , and an ankle joint 343 may be defined as the right leg 340 .

다른 예를 들어, 뼈대부(222)는 왼팔(330) 그룹의 조인트(331, 332, 333)와 대칭되는 오른팔 그룹의 조인트(미도시)를 서로 대칭 관계로 정의할 수 있고, 오른다리(340) 그룹의 조인트(341, 342, 343)와 대칭되는 왼다리 그룹의 조인트(미도시)를 서로 대칭 관계로 정의할 수 있다. For another example, the skeleton 222 may define the joints 331 , 332 , 333 of the left arm 330 group and the joints (not shown) of the right arm group that are symmetric with each other in a symmetric relationship with each other, and the right leg 340 . ) group and the symmetrical joint (not shown) of the left leg group may be defined in a symmetrical relationship with each other.

본 발명의 일 실시예에 따른 특징 벡터 산출부(221)는 그룹 내의 조인트 좌표값에 대한 평균으로 각 그룹의 중심점을 산출하여 그룹 중심점의 프레임 변화에 따른 그룹 위치 변화 벡터를 산출하고, 그룹 위치 변화 벡터에 기초하여 조인트 특징 벡터를 산출할 수 있다.The feature vector calculator 221 according to an embodiment of the present invention calculates the center point of each group as an average of the joint coordinate values within the group, calculates a group position change vector according to the frame change of the group center point, and changes the group position A joint feature vector may be calculated based on the vector.

예를 들어, 특징 벡터 산출부(221)는 하기 수학식 3을 이용하여 각 그룹 중심점의 좌표값(C(x, y))을 산출할 수 있다For example, the feature vector calculator 221 may calculate the coordinate values C(x, y) of each group center point using Equation 3 below.

<수학식 3><Equation 3>

Figure pat00011
Figure pat00011

수학식 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 left arm 330 group including the shoulder joint 331 , the elbow joint 332 , and the wrist joint 333 , n is 3. The feature vector calculating unit 221 may calculate an average value (center point) of the joint coordinates within a group (center point) and an average value (center point) of the y values by using Equation (3).

특징 벡터 산출부(221)는 수학식 3을 이용하여 프레임 마다 각 그룹의 중심점(평균값)을 산출할 수 있다. 특징 벡터 산출부(221)는 프레임 변화에 따라 변화하는 그룹 중심점 각각의 위치 변화량을 연산하여 그룹 위치 변화 벡터를 산출할 수 있다. The feature vector calculator 221 may calculate the center point (average value) of each group for each frame using Equation 3 . The feature vector calculating unit 221 may calculate the group position change vector by calculating the position change amount of each of the group center points that change according to the frame change.

예를 들어, 특징 벡터 산출부(221)는 전술한 수학식 1을 이용하여 5개 그룹의 프레임 변화에 따라 변화하는 그룹 중심점의 위치 변화량을 각각 연산하여 5개의 그룹 위치 변화 벡터를 산출할 수 있다. 특징 벡터 산출부(221)는 산출된 5개의 그룹 위치 변화 벡터와 단위 벡터가 이루는

Figure pat00012
또는
Figure pat00013
의 값을 각도 값으로 저장하여 총 10개의 조인트 특징 벡터를 산출할 수 있다. For example, the feature vector calculating unit 221 may calculate the position change amount of the group center point that changes according to the frame change of the five groups using Equation 1 described above to calculate five group position change vectors. . The feature vector calculating unit 221 is formed by the calculated five group position change vectors and the unit vector.
Figure pat00012
or
Figure pat00013
A total of 10 joint feature vectors can be calculated by storing the value of .

단계 S640에서 변환부(220)는 뼈대 간 거리값 및 각도를 산출할 수 있다. 뼈대부(222)는 정의된 인접 조인트 간의 거리값에 기초하여 사람의 뼈대 간 거리값을 산출할 수 있다. In step S640, the conversion unit 220 may calculate a distance value and an angle between the skeletons. The skeleton unit 222 may calculate a distance value between bones of a person based on a defined distance value between adjacent joints.

다시 도 3을 참조하면, 뼈대부(222)는 그룹(예: 330) 내 인접 조인트(331, 332, 333) 간의 거리값을 산출할 수 있고, 그룹 간 인접 조인트 간의 거리값을 산출할 수 있고, 산출된 인접 조인트 간의 거리값들의 평균값을 산출할 수 있다. 뼈대부(222)는 산출된 거리값 및 평균값에 기초하여 인접 조인트로 정의된 조인트끼리 연결하여 뼈대(320)를 형성할 수 있다. 예를 들어, 뼈대부(222)는 17개의 조인트(310)를 연결하여 18개의 뼈대(320)를 형성할 수 있다. Referring back to FIG. 3 , the skeleton unit 222 may calculate a distance value between adjacent joints 331 , 332 , 333 within a group (eg, 330 ), and may calculate a distance value between adjacent joints between groups, and , an average value of the calculated distance values between adjacent joints may be calculated. The skeleton unit 222 may form the skeleton 320 by connecting joints defined as adjacent joints based on the calculated distance value and the average value. For example, the skeleton 222 may connect 17 joints 310 to form 18 skeletons 320 .

한편, 본 발명의 일 실시에에 따른 뼈대부(222)는 뼈대(320)의 평균 거리값에 기초하여 스케일 팩터(scale factor)를 정의할 수 있다. 스케일 팩터는 각각의 영상에서 추출된 조인트 간의 스케일을 맞추기 위한 작업이다. 같은 사람을 촬영한 영상일지라도 촬영 장치(110)와 피사체 간의 거리에 따라 영상 내 사람의 스케일이 각각 상이할 수 있으므로, 각 영상에서 추출한 조인트 좌표값에 기초한 특징 벡터 간의 스케일 차이가 발생할 수 있다. Meanwhile, the skeleton unit 222 according to an embodiment of the present invention may define a scale factor based on the average distance value of the skeleton 320 . The scale factor is an operation to match the scale between the joints extracted from each image. Even in an image of the same person, the scale of a person in the image may be different depending on the distance between the photographing device 110 and the subject, so a scale difference between feature vectors based on joint coordinate values extracted from each image may occur.

뼈대부(222)는 스케일 차이를 보정하기 위해 인접 조인트 간의 평균 거리값을 이용할 수 있다. 예를 들어, 뼈대부(222)는 형성된 총 18개 뼈대(320)의 평균 거리값을 산출할 수 있다. 뼈대부(222)는 산출된 뼈대(320)의 평균 거리값을 스케일 팩터로 정의하고, 뼈대(320)의 평균 거리값에 기초하여 영상 간의 스케일 차이를 보정할 수 있다. 구체적으로, 뼈대부(222)는 기준 영상에서 산출한 인접 조인트 간의 평균 거리값, 즉, 뼈대(320)의 평균 거리값을 1로 설정하고, 비교 영상에서 산출한 인접 조인트 간의 평균 거리값을 비교 영상의 스케일 팩터로 정의할 수 있다. The skeleton unit 222 may use the average distance value between adjacent joints to correct the scale difference. For example, the skeleton unit 222 may calculate an average distance value of a total of 18 skeletons 320 formed. The skeleton unit 222 may define the calculated average distance value of the skeleton 320 as a scale factor, and correct a scale difference between images based on the average distance value of the skeleton 320 . Specifically, the skeleton unit 222 sets the average distance value between adjacent joints calculated from the reference image, that is, the average distance value of the skeleton 320 to 1, and compares the average distance value between adjacent joints calculated from the comparison image. It can be defined as the scale factor of the image.

또한, 뼈대부(222)는 n개의 조인트 중 어느 하나를 기준 조인트로 설정하고, 기준 조인트와 다른 하나의 조인트 간의 사이각에 기초하여 사람의 뼈대(320) 간 각도를 산출할 수 있다. 즉, 뼈대부(222)는 조인트 간의 기울어진 정도를 산출할 수 있다.Also, the skeleton unit 222 may set any one of the n joints as a reference joint, and calculate an angle between the human skeletons 320 based on an angle between the reference joint and the other joint. That is, the skeleton 222 may calculate the degree of inclination between the joints.

다시 도 3을 참조하면, 예를 들어, 뼈대부(222)는 17개의 조인트(310) 중 임의의 두 조인트(예: 332, 333)를 선정하고, 임의의 두 조인트가 2차원 평면상에서 기울어진 정도(350)를 산출할 수 있다. 구체적으로, 뼈대부(222)는 임의로 선정한 두 조인트(332, 333) 중에서 인덱스 번호가 낮은 조인트(332)를 기준 조인트로 설정하고, 설정한 기준 조인트에서 Y축 양(+)의 방향으로 향하는 단위 벡터와 기준 조인트와 다른 조인트 간의 차 벡터가 이루는 사이각을 연산할 수 있다. Referring back to FIG. 3 , for example, the skeleton 222 selects any two joints (eg, 332 and 333 ) among the 17 joints 310 , and any two joints are inclined on a two-dimensional plane. A degree 350 can be calculated. Specifically, the skeleton unit 222 sets the joint 332 having a lower index number among the two arbitrarily selected joints 332 and 333 as the reference joint, and a unit directed in the Y-axis positive (+) direction from the set reference joint. The angle between the vector and the difference vector between the reference joint and the other joint can be calculated.

예를 들어, 뼈대부(222)는 전술한 수학식 1을 이용하여 사이각(cos

Figure pat00014
)을 연산할 수 있다. 뼈대부(222)는 연산된 사이각(cos
Figure pat00015
)을 sin
Figure pat00016
로 연산할 수 있다. 뼈대부(222)는 연산된 sin
Figure pat00017
에 기초하여 뼈대(320) 간 각도를 산출할 수 있다. 구체적으로, 뼈대부(222)는 두 조인트 간의 기울어진 정도가 Y축과 평행을 이룰수록 지면에 수직하다는 것을 파악할 수 있고, 지면과 평행하게 될수록 기울었다는 것을 파악할 수 있다. 즉, 지면과 수직에 가까울수록 연산된 sin
Figure pat00018
은 '0'에 가깝고, 지면과 수평을 이룰수록 연산된 sin
Figure pat00019
은 '1'에 가까워진다. 한편, 일 예로 전술한 벡터차(Dab)의 경우, 136개의 특징 벡터를 획득할 수 있다. For example, the skeletal part 222 is formed between the angle cos using Equation 1 described above.
Figure pat00014
) can be calculated. Skeleton 222 is the calculated in-between angle (cos)
Figure pat00015
) to sin
Figure pat00016
can be calculated with The skeleton 222 is the calculated sin
Figure pat00017
An angle between the skeletons 320 may be calculated based on . Specifically, the skeleton portion 222 can grasp that the degree of inclination between the two joints is parallel to the Y-axis, so that it is perpendicular to the ground, and it can be grasped that the degree of inclination between the two joints becomes parallel to the ground. That is, the closer to the vertical to the ground, the more the calculated sin
Figure pat00018
is close to '0', and the more horizontal it is with the ground, the more the calculated sin
Figure pat00019
is close to '1'. Meanwhile, as an example, in the case of the above-described vector difference D ab , 136 feature vectors may be obtained.

도 3에 도시된 실시예에서, 뼈대부(222)는 총 15개의 뼈대(320) 간 각도를 산출할 수 있다. 예를 들어, 뼈대부(222)는 연결된 뼈대의 중심 조인트(예: 332)를 기준으로 설정하고, 뼈대가 나아가는 방향의 두 조인트(331, 333)의 벡터가 이루는 사이각(350)을 연산할 수 있다. 뼈대부(222)는 두 벡터가 이루는 사이각(350) 중에서 더 작은 크기의 값에 기초하여 뼈대(320)간 각도를 산출할 수 있다. In the embodiment shown in FIG. 3 , the skeleton unit 222 may calculate an angle between a total of 15 skeletons 320 . For example, the skeleton unit 222 sets the center joint (eg, 332) of the connected skeleton as a reference, and calculates the angle 350 between the vectors of the two joints 331 and 333 in the direction in which the skeleton advances. can The skeleton unit 222 may calculate the angle between the skeletons 320 based on a smaller value among the angles 350 between the two vectors.

도 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 value calculating unit 240 may include a pattern calculating unit 241 and an arrangement relation unit 242 .

단계 S710에서 동작 특징값 연산부(240)는 프레임 변화에 따른 움직임 패턴값을 산출할 수 있다. 본 발명의 일 실시예에 따른 동작 특징값 연산부(240)는 위치 변화 벡터 및 그룹 위치 변화 벡터에 기초하여 조인트 및 그룹의 프레임 변화에 따른 움직임 패턴값을 산출하는 패턴 산출부(241)를 포함할 수 있다. 예를 들어, 패턴 산출부(241)는 하기 수학식 4를 이용하여 프레임 변화에 따른 조인트 및 그룹의 움직임 패턴값(Mi)을 산출할 수 있다. In step S710 , the motion feature value calculating unit 240 may calculate a motion pattern value according to a frame change. The motion feature value calculating unit 240 according to an embodiment of the present invention may include a pattern calculating unit 241 that calculates a motion pattern value according to a frame change of a joint and a group based on a position change vector and a group position change vector. can For example, the pattern calculator 241 may calculate the movement pattern value M i of the joint and group according to the frame change by using Equation 4 below.

<수학식 4><Equation 4>

Figure pat00020
Figure pat00020

Figure pat00021
Figure pat00021

수학식 4를 참조하면, 패턴 산출부(241)는 조인트의 방향성을 포함하는 sin값에 이전 프레임(k-1)과 현재 프레임(k)의 조인트 벡터 차를 곱하여, i번째 조인트 또는 그룹 중심점의 움직임 패턴값(Mi)을 산출할 수 있다. 움직임 패턴값(Mi)은 조인트 특징 벡터의 크기에 기초한다. 또한, 패턴 산출부(241)는 함수

Figure pat00022
,
Figure pat00023
를 이용하여 수평 방향 움직임보다 수직 방향 움직임에 따른 변화량을 더 크게 반영시킬 수 있다. Referring to Equation 4, the pattern calculating unit 241 multiplies the joint vector difference between the previous frame (k-1) and the current frame (k) by a sin value including the directionality of the joint, and calculates the value of the i-th joint or group center point. A movement pattern value M i may be calculated. The motion pattern value (M i ) is based on the magnitude of the joint feature vector. In addition, the pattern calculating unit 241 is a function
Figure pat00022
,
Figure pat00023
It is possible to reflect the amount of change caused by the vertical movement larger than the horizontal movement by using .

패턴 산출부(241)는 일정 주기 간격으로 프레임 변화에 따른 움직임 패턴값을 산출할 수 있고, 그룹 특성을 반영하여 그룹 마다 일정 주기 간격을 상이하게 설정할 수 있다. 예를 들어, 패턴 산출부(241)는 상대적으로 움직임 패턴이 고주파 특성을 나타내는 양 팔과 회전축 이외의 다리는 상대적으로 일정 주기 간격을 짧게 설정하여, 방향성이 변화되는 변곡점을 모두 포함시킬 수 있도록 한다. 다른 예를 들어, 패턴 산출부(241)는 상대적으로 움직임 패턴이 저주파 특성을 나타내는 회전축이 되는 다리는 상대적으로 일정 주기 간격을 길게 설정하여 노이즈에 의한 오류값을 제외시키고 전체 연속 동작에서 경향성을 파악할 수 있도록 한다. The pattern calculator 241 may calculate a movement pattern value according to a frame change at a predetermined interval, and may set a different predetermined interval for each group by reflecting group characteristics. For example, the pattern calculating unit 241 sets relatively short intervals for both arms and legs other than the rotation axis, in which the movement pattern exhibits high-frequency characteristics, so as to include all inflection points where the directionality is changed. . For another example, the pattern calculating unit 241 sets a relatively long period of a fixed period interval for the leg, which is a rotation axis in which the movement pattern exhibits low-frequency characteristics, to exclude error values due to noise and to grasp the trend in the entire continuous operation. make it possible

패턴 산출부(241)는 프레임 변화에 따른 움직임 패턴값을 산출하기 위한 일정 주기 간격을 그룹 별로 상이하게 설정함으로써, 전체 연속 동작에 포함되어 있는 그룹별 움직임 패턴을 보다 정확하게 분석할 수 있다. The pattern calculating unit 241 may more accurately analyze the movement pattern for each group included in the entire continuous operation by setting a predetermined period interval for calculating the movement pattern value according to the frame change to be different for each group.

단계 S720에서 동작 특징값 연산부(240)는 조인트 및 그룹 간의 배치 관계를 산출할 수 있다. 동작 특징값 연산부(240)는 뼈대 간 각도에 기초하여 그룹 내의 조인트 간의 배치 관계값 및 그룹 간의 배치 관계값을 산출하는 배치 관계부(242)를 더 포함할 수 있다. In step S720, the operation feature value calculating unit 240 may calculate the arrangement relationship between the joint and the group. The operation feature value calculating unit 240 may further include a disposition relation unit 242 that calculates a disposition relation value between joints in a group and a disposition relation value between groups based on the angle between the skeletons.

예를 들어, 배치 관계부(242)는 뼈대부(222)에서 산출된 인접 조인트 간의 기울임 정도, 뼈대(320) 간 각도를 이용하여 그룹 내 조인트(310) 간의 배치 관계값을 산출할 수 있다. 다시 도 3을 참조하면, 배치 관계부(242)는 왼팔(330)에 포함되어 있는 3개의 조인트(331, 332, 333) 중에서 인접 조인트가 2개인 팔꿈치 조인트(332)를 기준으로 양쪽 조인트(331, 333)를 연결하여 두 선분이 이루는 각도(350)의 값을 산출할 수 있다. 배치 관계부(242)는 산출된 각도(350)가 프레임 변화에 따라 어떻게 변화하는지 일정 주기를 기준으로 각속도(dφ)를 산출하여 그룹 내 조인트(310) 간의 배치 관계값을 산출할 수 있다. For example, the arrangement relation unit 242 may calculate the arrangement relation value between the joints 310 in the group by using the degree of inclination between adjacent joints calculated by the skeleton unit 222 and the angle between the skeletons 320 . Referring back to FIG. 3 , the arrangement relation part 242 includes both joints 331 based on the elbow joint 332 having two adjacent joints among the three joints 331 , 332 , 333 included in the left arm 330 . , 333) to calculate the value of the angle 350 formed by the two line segments. The arrangement relation unit 242 may calculate the arrangement relation value between the joints 310 in the group by calculating the angular velocity dφ based on a predetermined period of how the calculated angle 350 changes according to the frame change.

다른 예를 들어, 배치 관계부(242)는 뼈대부(222)에서 산출된 인접 그룹 간의 기울임 정도, 뼈대(320) 간 각도를 이용하여 그룹 간 조인트(310) 간의 배치 관계값을 산출할 수 있다. 도 3에 도시된 바와 같이, 팔 그룹과 다리 그룹의 조인트에서 그룹간 인접 조인트가 존재한다. 배치 관계부(242)는 그룹간 인접 조인트를 중심으로 두 뼈대 간의 각도를 산출하고, 일정 주기를 기준으로 프레임 변화에 따른 각속도(dφ)를 산출하여 그룹 간 조인트 간의 배치 관계값을 산출할 수 있다. As another example, the arrangement relation unit 242 may calculate the arrangement relation value between the joints 310 between groups using the degree of inclination between adjacent groups calculated by the skeleton unit 222 and the angle between the skeletons 320 . . As shown in FIG. 3 , in the joint of the arm group and the leg group, there is an adjacent joint between the groups. The arrangement relation unit 242 calculates the angle between the two skeletons based on the adjacent joint between the groups, and calculates the angular velocity (dφ) according to the frame change based on a certain period to calculate the arrangement relation value between the joints between the groups. .

또한, 배치 관계부(242)는 회전축의 프레임 변화에 따른 기울기 변화량을 산출하여 회전축의 배치 패턴을 분석할 수 있다. 예를 들어, 배치 관계부(242)는 회전의 축이 될 수 있는 두 조인트를 선택하고, 선택한 두 조인트를 연결한 선분의 기울기를 프레임 변화에 따라 추적할 수 있다. In addition, the arrangement relation unit 242 may analyze the arrangement pattern of the rotating shaft by calculating the amount of inclination change according to the frame change of the rotating shaft. For example, the arrangement relation unit 242 may select two joints that may be axes of rotation, and track the slope of a line segment connecting the two selected joints according to a frame change.

일반적으로, 골프의 경우, 왼발 또는 오른발을 중심축으로 하여 몸통을 회전하게 된다. 따라서, 배치 관계부(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 arrangement relation unit 242 may track how the inclination of a line segment connecting two joints, which may be an axis of rotation, changes according to a change in the frame. For example, the arrangement relation unit 242 may calculate the angular velocity dφ according to a frame change with respect to the inclination of the line segment connecting the right shoulder joint and the right ankle or the inclination of the line segment connecting the left shoulder and the left ankle. .

또한, 배치 관계부(242)는 조인트 간의 배치 패턴을 분석할 수 있다. 예를 들어, 배치 관계부(242)는 뼈대부(222)에서 산출된 벡터차(Dab)를 이용하여 조인트 간의 상대적 위치차가 변화하는 배치 패턴값을 연산할 수 있다. 배치 관계부(242)는 벡터차(Dab)의 프레임 변화에 따른 변화량(dDi)을 산출할 수 있다. Also, the arrangement relation unit 242 may analyze the arrangement pattern between the joints. For example, the arrangement relation unit 242 may use the vector difference D ab calculated by the skeleton unit 222 to calculate the arrangement pattern value in which the relative position difference between the joints changes. The arrangement relation unit 242 may calculate a change amount dDi according to a frame change of the vector difference D ab .

단계 S730에서 동작 특징값 연산부(240)는 동작 특징값을 산출할 수 있다. 예를 들어, 동작 특징값 연산부(240)는 움직임 패턴값을 동작 특징값으로 활용할 수 있고, 배치 관계값을 동작 특징값으로 활용할 수 있다. 동작 특징값 연산부(240)에서 산출된 동작 특징값은 후술하는 유사도 산출부(250)에서 기준 영상과 비교하여 산출된 동작 유사도 점수에 활용될 수 있다. In step S730, the operation characteristic value calculating unit 240 may calculate the operation characteristic value. For example, the motion characteristic value calculating unit 240 may utilize the motion pattern value as the motion characteristic value and the arrangement relation value as the motion characteristic value. The motion characteristic value calculated by the motion feature value calculating unit 240 may be used for the motion similarity score calculated by comparing it with a reference image by the similarity calculating unit 250 to be described later.

본 발명의 일 실시예에 따른 유사도 산출부(250)는 그룹 마다 기설정된 가중치를 각 부여하고, 가중치와 그룹의 움직임 패턴값 및 배치 관계값에 기초하여 동작 유사도 점수를 산출할 수 있다. The similarity calculating unit 250 according to an embodiment of the present invention may assign a preset weight to each group, and calculate a motion similarity score based on the weight, the group's movement pattern value, and the arrangement relation value.

예를 들어, 유사도 산출부(250)는 상반신 동작 유사도 점수(SMupper)를 하기 수학식 5을 이용하여 산출할 수 있다.For example, the similarity calculator 250 may calculate the upper body motion similarity score SM upper using Equation 5 below.

<수학식 5><Equation 5>

Figure pat00024
Figure pat00024

수학식 5를 참조하면, 유사도 산출부(250)는 스캐일 팩터(S)를 곱한 손목(wist), 팔꿈치(elbow), 어깨(shoulder) 조인트 각각의 움직임 패턴값(M)을 기준 영상(A)에서 추출한 값과 비교 영상(A')에서 추출한 값의 차이 값에, 상반신 그룹에 따른 가중치(a)를 곱한 배치 관계부(242)에서 산출한 양쪽 어깨와 각각의 손목이 이루는 배치 관계값(dφarm)과 양 팔 간의 배치 관계값(dφshoulder)의 기준 영상(A)에서 추출한 값과 비교 영상(A')에서 추출한 값의 차이 값을 더하여 상반신 동작 유사도 점수(SMupper)를 산출할 수 있다. 유사도 산출부(250)는 스윙 동작 중 어깨와 손이 진자 운동 중에 이루는 움직임을 측정할 수 있다. Referring to Equation 5, the similarity calculator 250 calculates the movement pattern value M of each wrist, elbow, and shoulder joint multiplied by the scale factor S as the reference image (A). The placement relationship value (dφ) between both shoulders and each wrist calculated by the placement relationship unit 242, which is obtained by multiplying the difference between the value extracted from and the value extracted from the comparison image (A') by the weight (a) according to the upper body group arm ) and the placement relationship value (dφ shoulder ) between the arms and the upper body motion similarity score (SM upper ) can be calculated by adding the difference value between the value extracted from the reference image (A) and the value extracted from the comparison image (A') . The similarity calculator 250 may measure the movement of the shoulder and the hand during the pendulum movement during the swing operation.

유사도 산출부(250)는 같은 방법으로 양 다리의 움직임 패턴값(Mlower)에 기초하여 하반신 동작 유사도 점수(SMlower)를 산출할 수 있고, 그룹 위치 변화 벡터로부터 산출한 그룹 중심점의 움직임 패턴값(Mbody)에 기초하여 무게중심 유사도 점수(SMbody)를 산출할 수 있다. The similarity calculating unit 250 may calculate a lower body motion similarity score (SM lower ) based on the movement pattern value (M lower ) of both legs in the same way, and the movement pattern value of the group center point calculated from the group position change vector Based on (M body ), a center of gravity similarity score (SM body ) may be calculated.

유사도 산출부(250)는 뼈대부(222)에서 산출한 뼈대 간 각도, 배치 관계부(242)에서 산출한 프레임 변화에 따른 회전축 기울기 변화량과 배치 관계값을 이용하여 특정 자세(예: 어드레스, 백 스윙, 임팩트, 피니시)에 대한 유사도 점수를 산출할 수 있다. The similarity calculating unit 250 uses the angle between the bones calculated by the skeleton unit 222, the amount of change in the rotation axis tilt according to the frame change calculated by the arrangement relation unit 242, and the arrangement relation value for a specific posture (eg, address, back swing, impact, and finish) can be calculated.

예를 들어, 유사도 산출부(250)는 어드레스 자세 유사도 점수(SSaddress)를 하기 수학식 6을 이용하여 산출할 수 있다. For example, the similarity calculator 250 may calculate the address posture similarity score SS address using Equation 6 below.

<수학식 6><Equation 6>

Figure pat00025
Figure pat00025

수학식 6을 참조하면, 유사도 산출부(250)는 양쪽 발, 양 어깨, 왼쪽 어깨와 왼쪽 골반, 오른쪽 어깨와 오른쪽 골반, 어깨와 손목 간의 프레임 변화에 따른 변화량(dDi)에 기초한 배치 관계값과, 양 어깨, 어깨와 발목 사이의 조인트간 기울기와, 팔꿈치를 중심 조인트로 하는 뼈대간 사이각을 이용하여 어드레스 자세 유사도 점수(SSaddress)를 산출할 수 있다. 여기서, 배치 관계값은 스케일의 영향을 받으므로 스케일 팩터(s)로 가중치를 상이하게 부여할 수 있다. 변환 상수(α, β, γ)는 배치 관계값, 기울기, 뼈대간 사이각 각각의 서로 다른 범위를 갖는 특징 벡터를 보정하기 위한 상수이다. Referring to Equation 6, the similarity calculator 250 calculates a disposition relationship value based on the amount of change (dDi) according to frame changes between both feet, both shoulders, left shoulder and left pelvis, right shoulder and right pelvis, shoulder and wrist, and , an address posture similarity score (SS address ) can be calculated using the inclination between the shoulders, the joints between the shoulders and the ankles, and the angle between the bones with the elbow as the central joint. Here, since the arrangement relation value is affected by the scale, different weights may be assigned to the scale factor (s). The transformation constants α, β, and γ are constants for correcting a feature vector having a different range for each of an arrangement relation value, a slope, and an angle between the skeletons.

유사도 산출부(250)는 왼쪽 손목과 왼쪽 어깨, 오른쪽 손목과 오른쪽 어깨, 왼쪽 팔꿈치와 왼쪽 어깨, 오른쪽 팔꿈치와 오른쪽 어깨, 오른쪽 어깨와 왼쪽 골반, 왼쪽 어깨와 오른쪽 골반 간의 프레임 변화에 따른 변화량에 기초한 배치 관계값과, 어깨와 발목 사이의 조인트간 기울기와, 팔꿈치를 중심 조인트로 하는 뼈대간 사이각을 이용하여 백 스윙 자세 유사도 점수(SSbackswing)를 산출할 수 있고, 같은 방법으로 배치 관계값, 조인트간 기울기, 뼈대간 사이각을 이용하여 임팩트 자세 유사도 점수(SSimpact) 및 피니시 자세 유사도 점수(SSfinish)를 각각 산출할 수 있다. The similarity calculator 250 is based on the amount of change according to the frame change between the left wrist and left shoulder, right wrist and right shoulder, left elbow and left shoulder, right elbow and right shoulder, right shoulder and left pelvis, and left shoulder and right pelvis. The backswing posture similarity score (SS backswing ) can be calculated using the placement relationship value, the inclination between the joints between the shoulder and the ankle, and the angle between the skeletons with the elbow as the center joint, and in the same way, the placement relationship value, The impact posture similarity score (SS impact ) and the finish posture similarity score (SS finish ) can be calculated using the inclination between joints and the angle between the bones, respectively.

또한, 본 발명의 일 실시예에 따른 유사도 산출부(250)는 회전축의 기울기 변화에 대응하는 특징 벡터에 가중치를 부여하여 회전 움직임 동작에 대한 유사도 점수를 산출할 수 있다. Also, the similarity calculating unit 250 according to an embodiment of the present invention may calculate a similarity score for a rotational motion operation by assigning a weight to a feature vector corresponding to a change in inclination of the rotation shaft.

유사도 산출부(250)는 배치 관계부(242)에서 산출한 회전축 기울기 변화량 중에 왼쪽 어깨와 왼쪽 발목이 이루는 왼쪽 회전축과 오른쪽 어깨와 오른쪽 발목이 이루는 오른쪽 회전축 기울기를 이용하여 스윙 무게 중심의 패턴 유사도 점수(STshift)를 산출할 수 있다. The similarity calculation unit 250 uses the slope of the left rotation axis formed by the left shoulder and the left ankle and the inclination of the right rotation axis formed between the right shoulder and the right ankle among the rotation axis inclination changes calculated by the arrangement relation unit 242 to score the pattern similarity score of the center of gravity of the swing. (ST shift ) can be calculated.

예를 들어, 유사도 산출부(250)는 하기 수학식 7을 이용하여 구간별 스윙 무게 중심의 패턴 유사도 점수를 산출하고 합하여 최종 무게 중심의 이동 패턴 유사도 점수(STshift)를 산출할 수 있다. For example, the similarity calculator 250 may calculate a pattern similarity score of the swing center of gravity for each section by using Equation 7 below, and calculate a final center of gravity movement pattern similarity score ST shift by summing them.

<수학식 7><Equation 7>

Figure pat00026
Figure pat00026

수학식 7을 참조하면, 유사도 산출부(250)는 골프 스윙 동작 중 어드레스에서 백 스윙까지의 구간과 백 스윙에서 피니시까지의 두 구간으로 나누어 스윙 무게 중심의 패턴 유사도 점수(STshift)를 산출할 수 있다. 유사도 산출부(250)는 구간에 따른 비교 가중치(τ)를 상이하게 설정할 수 있다. Referring to Equation 7, the similarity calculating unit 250 divides the golf swing into two sections from the address to the back swing and from the back swing to the finish to calculate the pattern similarity score (ST shift ) of the center of gravity of the swing. can The similarity calculator 250 may set a different comparison weight τ according to each section.

유사도 산출부(250)는 배치 관계부(242)에서 산출한 회전축 기울기 변화량 중에 좌우 어깨 연장선, 좌우 골반 연장선, 좌우 어깨와 골반의 연장선, 우측 어깨와 골반의 연장선, 좌측 어깨와 우측 골반의 연장선, 우측 어깨와 좌측 골반의 연장선을 축으로 이용하여 전술한 방법과 같이 몸통 회전 패턴 유사도 점수를 산출할 수 있다. The similarity calculator 250 includes the left and right shoulder extension lines, the left and right pelvis extension lines, the left and right shoulder and pelvis extension lines, the right shoulder and pelvis extension lines, the left shoulder and right pelvis extension lines, Using the extension line of the right shoulder and the left pelvis as axes, the similarity score of the trunk rotation pattern may be calculated as in the above-described method.

본 발명의 일 실시예에 따른 스윙 동작 분석 서버(120)는 촬영 영상에서 추출한 스윙 동작 구간을 사용자 단말에 실시간으로 전송할 수 있다. 스윙 동작 분석 서버(120)는 비교 영상의 스윙 동작 구간과 기준 영상의 스윙 동작 구간을 사용자 단말에 한 프레임으로 제공할 수 있다. The swing motion analysis server 120 according to an embodiment of the present invention may transmit the swing motion section extracted from the captured image to the user terminal in real time. The swing motion analysis server 120 may provide the swing motion section of the comparison image and the swing motion section of the reference image to the user terminal in one frame.

스윙 동작 분석 서버(120)는 산출된 유사도 점수를 점수표로 환산하여 사용자 단말에 제공할 수 있다. 예를 들어, 유사도 점수는 진자 움직임(SM), 구조(SS) 및 회전 패턴(ST)에 대한 유사도 점수를 합한 수치일수 있다. 이때, 스윙 동작 분석 서버(120)는 평가 기준에 따라 각 항목에 대한 가중치를 상이하게 설정하여 최종 유사도 점수를 사용자 단말에 제공할 수 있다. The swing motion analysis server 120 may convert the calculated similarity score into a score table and provide it to the user terminal. For example, the similarity score may be a sum of the similarity scores for the pendulum motion (SM), the structure (SS), and the rotation pattern (ST). In this case, the swing motion analysis server 120 may provide a final similarity score to the user terminal by differently setting weights for each item according to the evaluation criteria.

도 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.
제 1 항에 있어서,
상기 조인트 추출부는 상기 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.
제 2 항에 있어서,
상기 변환부는,
상기 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.
제 3 항에 있어서,
상기 특징 벡터 산출부는,
상기 그룹 내의 조인트 좌표값에 대한 평균으로 각 그룹의 중심점을 산출하여 상기 그룹의 중심점의 프레임 변화에 따른 그룹 위치 변화 벡터를 산출하고, 상기 그룹 위치 변화 벡터에 기초하여 상기 조인트 특징 벡터를 산출하는 것인, 스윙 동작 분석 서버.
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.
제 4 항에 있어서,
상기 변환부는,
상기 그룹 내의 조인트 간의 거리값에 기초하여 인접 조인트를 정의하고, 상기 인접 조인트 간의 거리값에 기초하여 상기 사람의 뼈대 간 거리값을 산출하는 뼈대부
를 더 포함하는 것인, 스윙 동작 분석 서버.
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.
제 5 항에 있어서,
상기 뼈대부는,
상기 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.
제 6 항에 있어서,
상기 동작 특징값 연산부는,
상기 위치 변화 벡터 및 상기 그룹 위치 변화 벡터에 기초하여 상기 조인트 및 상기 그룹의 프레임 변화에 따른 움직임 패턴값을 산출하는 패턴 산출부
를 포함하는 것인, 스윙 동작 분석 서버.
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.
제 7 항에 있어서,
상기 동작 특징값 연산부는,
상기 뼈대 간 각도에 기초하여 상기 그룹 내의 조인트 간의 배치 관계값 및 상기 그룹 간의 배치 관계값을 산출하는 배치 관계부
를 더 포함하는 것인, 스윙 동작 분석 서버.
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.
제 8 항에 있어서,
상기 유사도 산출부는,
상기 그룹 마다 기설정된 가중치를 각 부여하고, 상기 가중치와 상기 그룹의 움직임 패턴값 및 상기 배치 관계값에 기초하여 상기 동작 유사도 점수를 산출하는 것인, 스윙 동작 분석 서버.
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.
제 10 항에 있어서,
상기 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.
제 11 항에 있어서,
상기 조인트 특징 벡터로 변환하는 단계는,
상기 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.
제 12 항에 있어서,
상기 조인트 특징 벡터를 산출하는 단계는,
상기 그룹 내의 조인트 좌표값에 대한 평균으로 각 그룹의 중심점을 산출하여 상기 그룹의 중심점의 프레임 변화에 따른 그룹 위치 변화 벡터를 산출하고, 상기 그룹 위치 변화 벡터에 기초하여 상기 조인트 특징 벡터를 산출하는 것인, 스윙 동작 분석 방법.
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.
제 13 항에 있어서,
상기 조인트 특징 벡터로 변환하는 단계는,
상기 그룹 내의 조인트 간의 거리값에 기초하여 인접 조인트를 정의하고, 상기 인접 조인트 간의 거리값에 기초하여 상기 사람의 뼈대 간 거리값을 산출하는 단계
를 더 포함하는 것인, 스윙 동작 분석 방법.
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.
제 14 항에 있어서,
상기 사람의 뼈대 간 거리값을 산출하는 단계는,
상기 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.
제 15 항에 있어서,
상기 동작 특징값을 연산하는 단계는,
상기 위치 변화 벡터 및 상기 그룹 위치 변화 벡터에 기초하여 상기 조인트 및 상기 그룹의 프레임 변화에 따른 움직임 패턴값을 산출하는 단계
를 포함하는 것인, 스윙 동작 분석 방법.
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.
제 16 항에 있어서,
상기 동작 특징값을 연산하는 단계는,
상기 뼈대 간 각도에 기초하여 상기 그룹 내의 조인트 간의 배치 관계값 및 상기 그룹 간의 배치 관계값을 산출하는 단계
를 더 포함하는 것인, 스윙 동작 분석 방법.
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.
제 17 항에 있어서,
상기 유사도 점수를 산출하는 단계는,
상기 그룹 마다 기설정된 가중치를 각 부여하고, 상기 가중치와 상기 그룹의 움직임 패턴값 및 상기 배치 관계값에 기초하여 상기 동작 유사도 점수를 산출하는 것인, 스윙 동작 분석 방법.
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.
KR1020210034451A 2021-03-17 2021-03-17 Server, method and computer program for analyzing swing motion KR20220129762A (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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