KR20200115729A - Method and apparatus of analyzing golf motion - Google Patents

Method and apparatus of analyzing golf motion Download PDF

Info

Publication number
KR20200115729A
KR20200115729A KR1020190030226A KR20190030226A KR20200115729A KR 20200115729 A KR20200115729 A KR 20200115729A KR 1020190030226 A KR1020190030226 A KR 1020190030226A KR 20190030226 A KR20190030226 A KR 20190030226A KR 20200115729 A KR20200115729 A KR 20200115729A
Authority
KR
South Korea
Prior art keywords
golf
image
motion
joint
user
Prior art date
Application number
KR1020190030226A
Other languages
Korean (ko)
Other versions
KR102353637B1 (en
Inventor
이상국
김대식
Original Assignee
이상국
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이상국 filed Critical 이상국
Priority to KR1020190030226A priority Critical patent/KR102353637B1/en
Publication of KR20200115729A publication Critical patent/KR20200115729A/en
Application granted granted Critical
Publication of KR102353637B1 publication Critical patent/KR102353637B1/en

Links

Images

Classifications

    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06T3/0031
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • 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/0009Computerised real time comparison with previous movements or motion sequences of the user
    • A63B2071/0622
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing
    • G06T2207/30048Heart; Cardiac

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Physical Education & Sports Medicine (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)

Abstract

The present invention relates to a golf motion analysis method for analyzing golf motion of a user. The method comprises the steps of: training an artificial neural network model in which golf motion is learned based on a first training golf image obtained by photographing golf motion and a second training golf image which is a skeleton image generated based on the first training golf image; receiving a user′s first golf image obtained by photographing user′s golf motion desired to be analyzed; generating the second golf image which is a skeleton image from the first golf image based on the artificial neural network model in which the golf motion is learned; and analyzing the user′s golf motion based on the second golf image. According to the present invention, the golf motion analysis method is capable of analyzing a mutual location relation between the user′s body and a golf club.

Description

골프 동작 분석 방법 및 장치{METHOD AND APPARATUS OF ANALYZING GOLF MOTION}Golf motion analysis method and apparatus {METHOD AND APPARATUS OF ANALYZING GOLF MOTION}

본 발명은 골프 동작 분석 방법 및 장치에 관한 것으로, 더욱 상세하게는 딥러닝 기술을 이용하여 사용자의 몸체에 대한 스켈레톤 정보와 함께 골프 클럽에 대한 스켈레톤 정보를 추출하여 사용자의 골프 동작을 분석하는 골프 동작 분석 방법 및 장치에 관한 것이다. The present invention relates to a golf motion analysis method and apparatus, and more particularly, a golf motion analyzing the user's golf motion by extracting the skeleton information on the user's body and the skeleton information on the golf club using deep learning technology. It relates to an analysis method and apparatus.

골프는 어드레스(address)부터 테이크백(take-back), 백스윙탑(backswing top), 다운스윙(downswing), 임팩트(impact), 팔로우스루(follow through) 및 피니쉬(finish)에 이르기까지 각 동작의 자세의 정확성이 요구되는 운동으로서, 사용자가 정확한 자세를 습득하기 위해서는 수많은 연습과 교정 과정의 반복이 요구된다. Golf is a game of every movement, from address to take-back, backswing top, downswing, impact, follow through and finish. As an exercise requiring accuracy of posture, numerous exercises and repetitions of correction processes are required in order for the user to acquire the correct posture.

이와 관련하여, 최근에는 종래의 전문가들의 코칭에 의해 이루어지던 교정 과정을 자가 학습으로 대체할 수 있도록 골프 동작을 분석해주는 다양한 시스템들이 도입되고 있으며, 특히, 최근에는 뎁스 카메라를 이용하여 취득된 영상으로부터 뎁스 정보를 추출하여 사용자의 골프 동작을 분석해주는 다양한 시스템들이 등장하고 있다. In this regard, in recent years, various systems for analyzing golf motions have been introduced to replace the correction process performed by conventional coaching by self-learning. In particular, recently, from images acquired using a depth camera Various systems are emerging that extract depth information and analyze the user's golf motion.

예를 들어, 등록특허공보 10-1394274호(B1)(이하, 특허문헌 1이라 함.)의 경우, 뎁스 카메라로부터 취득된 뎁스 영상으로부터 사용자 부분이 추출되고, 사용자 부분의 상단 또는 하단 영역을 통해 사용자의 머리, 하체, 몸통, 팔 등의 신체 부위를 검출함으로써 사용자의 골프 동작을 분석하는 방법을 개시하고 있다. 또한, 공개특허공보 10-2018-0062069호(이하, 특허문헌 2)의 경우, 뎁스 카메라를 이용하여 사용자의 골프 동작을 촬영함으로써 사용자의 스켈레톤 영상을 취득하고, 취득한 스켈레톤 영상에서 사용자의 각 관절에 대응되는 좌표를 추출하는 동시에, 골프 스윙시 사용자의 골프 동작을 보다 정밀하게 분석하기 위하여, 사용자의 손 동작을 감지하기 위한 관성 센서를 사용자의 손에 추가로 장착하고, 또한, 스윙 동작시에 골프 클럽의 빠른 움직임을 감지하기 하기 위하여 사용자의 골프 스윙을 고프레임으로 촬영하는 카메라를 설치하는 것을 개시하고 있다. For example, in the case of Korean Patent Publication No. 10-1394274 (B1) (hereinafter referred to as Patent Document 1), a user part is extracted from a depth image acquired from a depth camera, and through the upper or lower region of the user part. Disclosed is a method of analyzing a user's golf motion by detecting body parts such as a user's head, lower body, torso, and arms. In addition, in the case of Unexamined Patent Publication No. 10-2018-0062069 (hereinafter, Patent Document 2), the user's skeleton image is acquired by photographing the user's golf motion using a depth camera, and the obtained skeleton image is applied to each joint of the user. In order to extract the corresponding coordinates and analyze the user's golf motion more precisely during the golf swing, an inertial sensor for detecting the user's hand motion is additionally installed on the user's hand. Disclosed is to install a camera that photographs a user's golf swing at a high frame in order to detect the rapid movement of the club.

그러나, 특허문헌 1 및 2의 경우, 이를 구현하기 위해서는 고성능 컴퓨팅 장비가 포함된 시스템이 요구된다는 점에서 비용, 효율화 등의 측면에서 상용화의 한계를 가지고 있으며, 사전 학습이나 미리 정의된 신체 형태가 사용되는 것이 아닌 뎁스 카메라에 찍힌 사용자의 영상에 기초하여 분석을 하기 때문에 신체가 겹치는 부분(예를 들어, 정면 촬영시 어드레스 자세에서 팔과 상체가 겹치는 부분)에서 신체 부위를 정확히 분리해 내지 못하거나 팔의 굽혀진 각도를 정확히 인식하지 못하는 한계가 있었다. However, in the case of Patent Documents 1 and 2, commercialization is limited in terms of cost and efficiency in that a system including high-performance computing equipment is required to implement this, and prior learning or a predefined body shape is used. Because the analysis is based on the user's image captured by the depth camera, not the body part (e.g., the part where the arm and upper body overlap in the address posture when shooting in front), the body part cannot be accurately separated or the arm There was a limit in not being able to accurately recognize the bent angle of

등록특허공보 제10-1394274 B1Registered Patent Publication No. 10-1394274 B1 공개특허공보 제10-2018-0062069 AUnexamined Patent Publication No. 10-2018-0062069 A

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 본 발명의 일 목적은 딥러닝(deep learning) 기술을 이용하여 사용자의 몸체에 대한 스켈레톤 정보와 함께 골프 클럽에 대한 스켈레톤 정보를 추출하여 사용자의 골프 동작을 분석하는 골프 동작 분석 방법을 제공하는 것이다. The present invention is to solve the above problems, and an object of the present invention is to extract the skeleton information on the golf club together with the skeleton information on the user's body by using a deep learning technology. It is to provide a golf motion analysis method for analyzing motion.

본 발명의 일 목적은 상기 방법을 수행하는 장치를 제공하는 것이다.One object of the present invention is to provide an apparatus for performing the method.

상기 일 목적을 달성하기 위해, 본 발명의 실시예에 따른 골프 동작 분석 방법에 있어서, 골프 동작을 촬영한 제1 학습 골프 영상 및 상기 제1 학습 골프 영상에 기초하여 생성된 스켈레톤 영상인 제2 학습 골프 영상에 기초하여 골프 동작이 학습된 인공 신경망 모델을 학습시킨다. 분석하고자 하는 사용자의 골프 동작을 촬영한 사용자의 제1 골프 영상이 입력된다. 상기 골프 동작이 학습된 인공 신경망 모델에 기초하여, 상기 제1 골프 영상으로부터 스켈레톤 영상인 제2 골프 영상을 생성한다. 상기 제2 골프 영상에 기초하여 사용자의 골프 동작을 분석한다.In order to achieve the above object, in the golf motion analysis method according to an embodiment of the present invention, a first learning golf image photographing a golf motion and a second learning that is a skeleton image generated based on the first learning golf image Based on the golf image, an artificial neural network model in which golf motion is learned is trained. The user's first golf image, which has captured the user's golf motion to be analyzed, is input. A second golf image, which is a skeleton image, is generated from the first golf image based on the artificial neural network model from which the golf motion is learned. The user's golf motion is analyzed based on the second golf image.

상기 일 목적을 달성하기 위해, 본 발명의 실시예에 따른 골프 동작 분석 장치는 딥러닝을 이용한 골프 동작이 학습된 인공 신경망 모델에 기초하여, 분석하고자 하는 사용자의 골프 동작을 촬영한 적어도 하나의 제1 골프 영상으로부터 스켈레톤 영상인 제2 골프 영상을 생성하도록 구성된 스켈레톤 영상 생성부, 및 상기 제2 골프 영상에 표시되는 관절들 중 분석의 대상이 되는 관절을 추출하고, 추출된 관절의 좌표값을 이용하여 사용자의 골프 동작을 분석하도록 구성되는 동작 분석부를 포함한다.In order to achieve the above object, the golf motion analysis apparatus according to an embodiment of the present invention is based on an artificial neural network model in which a golf motion using deep learning is learned, and at least one device photographing a golf motion of a user to be analyzed. 1 A skeleton image generator configured to generate a second golf image, which is a skeleton image, from a golf image, and extracts a joint to be analyzed among the joints displayed in the second golf image, and uses the extracted coordinate values of the joints. It includes a motion analysis unit configured to analyze the user's golf motion.

상기와 같은 본 발명의 일 실시예에 따른 골프 동작 분석 방법 및 장치에서는, 딥러닝 기술을 이용한 미리 학습된 골프 스윙 모델에 기초하여 사용자의 골프 동작을 분석하기 때문에, 사용자의 골프 동작에 있어서, 신체가 겹쳐져 영상에 나타나지 않는 신체 부분에 대해서도 스켈레톤의 각 관절에 대응되는 좌표를 추출할 수 있다.In the golf motion analysis method and apparatus according to an embodiment of the present invention as described above, since the golf motion of the user is analyzed based on a pre-learned golf swing model using deep learning technology, the body Even for body parts that are overlapped and do not appear in the image, coordinates corresponding to each joint of the skeleton can be extracted.

또한, 본 발명의 일 실시예에 따른 골프 동작 분석 방법 및 장치에서는, 딥러닝 기술을 이용한 미리 학습된 골프 스윙 모델에 기초하여 사용자의 신체에 대한 스켈레톤 좌표 정보와 함께 골프 클럽에 대한 스켈레톤의 좌표를 추출함으로써, 사용자의 골프 동작에 있어서, 사용자의 신체와 골프 클럽의 상호 위치 관계 및 골프 클럽의 움직임에 대해서도 분석할 수 있다. In addition, in the golf motion analysis method and apparatus according to an embodiment of the present invention, the skeleton coordinate information of the user's body and the skeleton coordinates of the golf club are determined based on a pre-learned golf swing model using deep learning technology. By extracting, in the user's golf motion, it is possible to analyze the mutual positional relationship between the user's body and the golf club and the motion of the golf club.

도 1은 본 발명에 따른 사용자의 골프 동작을 분석하기 위한 골프 동작 분석 장치를 설명하기 위한 개념도이다.
도 2는 도 1에 도시된 골프 동작을 분석하는 장치를 설명하기 위한 블록도이다.
도 3은 골프 클럽 상에 미리 정의된 관절의 예시도이다.
도 4는 딥러닝 기술을 이용하여, 도 2의 사용자의 제1 골프 영상을 스켈레톤 영상인 제2 골프 영상으로 변환하는 장치를 학습시키는 것을 나타내는 블록도이다.
도 5는 도 2의 제2 골프 영상의 구분 동작별 프레임 영상을 나타낸 도면들이다.
도 6은 본 발명의 실시예에 따른 골프 동작 분석 방법을 나타낸 순서도이다.
도 7은 본 발명의 실시예들에 따른 골프 동작 분석 장치를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
1 is a conceptual diagram illustrating a golf motion analysis apparatus for analyzing a user's golf motion according to the present invention.
FIG. 2 is a block diagram illustrating an apparatus for analyzing a golf motion illustrated in FIG. 1.
3 is an exemplary diagram of a predefined joint on a golf club.
FIG. 4 is a block diagram illustrating training of an apparatus for converting a user's first golf image of FIG. 2 into a second golf image, which is a skeleton image, using deep learning technology.
5 is a diagram illustrating a frame image for each division operation of the second golf image of FIG. 2.
6 is a flow chart showing a golf motion analysis method according to an embodiment of the present invention.
7 is a block diagram illustrating a computing system including a golf motion analysis apparatus according to embodiments of the present invention.

본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며, 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니된다.With respect to the embodiments of the present invention disclosed in the text, specific structural or functional descriptions are exemplified only for the purpose of describing the embodiments of the present invention, and the embodiments of the present invention may be implemented in various forms, It should not be construed as being limited to the embodiments described in the text.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can apply various changes and have various forms, specific embodiments will be illustrated in the drawings and described in detail in the text. However, this is not intended to limit the present invention to a specific form of disclosure, it is to be understood as including all changes, equivalents, or substitutes included in the spirit and scope of the present invention.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms may be used for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle. Other expressions describing the relationship between components, such as "between" and "just between" or "adjacent to" and "directly adjacent to" should be interpreted as well.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as "comprise" or "have" are intended to designate the presence of a set feature, number, step, action, component, part, or combination thereof, and one or more other features or numbers It is to be understood that the possibility of addition or presence of, steps, actions, components, parts, or combinations thereof is not preliminarily excluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning of the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in this application. .

한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.Meanwhile, when a certain embodiment can be implemented differently, a function or operation specified in a specific block may occur differently from the order specified in the flowchart. For example, two consecutive blocks may actually be executed at the same time, or the blocks may be executed in reverse depending on a related function or operation.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. The same reference numerals are used for the same elements in the drawings, and duplicate descriptions for the same elements are omitted.

도 1은 본 발명에 따른 사용자의 골프 동작을 분석하기 위한 골프 동작 분석 장치를 설명하기 위한 개념도이다. 도 2는 도 1에 도시된 골프 동작을 분석하는 장치를 설명하기 위한 블록도이다. 1 is a conceptual diagram illustrating a golf motion analysis apparatus for analyzing a user's golf motion according to the present invention. FIG. 2 is a block diagram illustrating an apparatus for analyzing a golf motion illustrated in FIG. 1.

도 1 및 2를 참조하면, 본 실시예에 따른 골프 동작 분석 장치(100)는 유선 또는 무선으로 연결된 카메라부(10)로부터 수신된 사용자의 적어도 하나의 골프 영상에 기초로 하여, 사용자의 골프 동작을 분석하도록 구성된다. 상기 골프 동작 분석 장치(100)는, 골프 동작이 학습된 인공 신경망 모델에 기초하여 사용자의 골프 동작을 분석하도록 구성된다. 1 and 2, the golf motion analysis apparatus 100 according to the present embodiment is based on the user's golf motion based on at least one golf image of the user received from the camera unit 10 connected by wire or wirelessly. Is configured to analyze. The golf motion analysis apparatus 100 is configured to analyze a user's golf motion based on an artificial neural network model in which the golf motion is learned.

상기 카메라부(10)는 사용자의 골프 동작을 동영상으로 촬영가능하도록 구성된 단말로서, 일반 카메라, 깊이 영상을 촬영가능한 뎁스 카메라 또는 고속 촬영이 가능한 고프레임 카메라로 구성될 수 있다. 또한, 상기 카메라부(10)는 단일의 카메라로 구성되어, 배치된 위치에서 촬영한 하나의 골프 영상을 상기 골프 동작 분석 장치(100)로 송신하도록 구성되거나, 또는 복수의 카메라로 구성되어, 서로 다른 시점(view point)에서 사용자의 골프 동작을 촬영한 복수의 골프 영상을 상기 골프 동작 분석 장치(100)로 송신하도록 구성될 수 있다.The camera unit 10 is a terminal configured to capture a user's golf motion as a video, and may be configured with a general camera, a depth camera capable of capturing a depth image, or a high frame camera capable of high-speed shooting. In addition, the camera unit 10 is composed of a single camera, is configured to transmit one golf image captured at the arranged position to the golf motion analysis apparatus 100, or is composed of a plurality of cameras, It may be configured to transmit a plurality of golf images photographing the user's golf motion at different view points to the golf motion analysis apparatus 100.

또한, 상기 카메라부(10)는 카메라 기능이 지원되는 다양한 종류의 단말로, 예를 들어, 스마트폰, 태블릿 PC, 이동 전화기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 또는 웨어러블 장치 중 적어도 하나일 수 있다.In addition, the camera unit 10 is various types of terminals supporting camera functions, for example, smartphones, tablet PCs, mobile phones, desktop PCs, laptop PCs, netbook computers, workstations, servers, PDAs, PMPs. It may be at least one of a (portable multimedia player), an MP3 player, or a wearable device.

상기 골프 동작 분석 장치(100)는, 2차원 또는 3차원의 골프 동작이 학습된 인공 신경망 모델에 기초하여 사용자의 골프 동작을 분석하도록 구성된다. 예를 들어, 상기 골프 동작 분석 장치(100)가 2차원의 골프 동작이 학습된 인공 신경망 모델에 기초하는 경우, 상기 카메라부(10)는 상기 인공 신경망 모델을 학습시킨 골프 동작의 시점과 대응되는 특정의 시점에서 사용자의 골프 동작을 촬영할 필요가 있으며, 이 경우, 상기 카메라부(10)는 특정 위치에 고정되어 사용자의 골프 동작을 촬영하도록 구성된 고정식 단말일 수 있다. 또는 이와 달리, 상기 카메라부(10)는 이동식 단말일 수도 있으며, 이 경우, 사용자의 골프 동작을 촬영함에 있어, 상기 카메라부(10)에는 디스플레이 상에 촬영 시점에 대한 가이드 라인을 선 또는 윤곽 등으로 표시하도록 구성되어 촬영자가 상기 특정의 시점에서 촬영할 수 있도록 유도할 수 있다. 다만, 상기 카메라부(10)가 뎁스 카메라로 구성된 경우, 3차원의 골프 동작을 촬영가능하기 때문에, 어느 시점에서 촬영하더라도 상기 특정의 시점의 2차원의 골프 동작으로 변환이 가능하다. 따라서, 이 경우는 상기 카메라부(10)의 배치 위치가 특정의 위치로 제한되지 않으며, 사용자의 골프 동작을 촬영하는 동안에도 고정될 것이 요구되지 않는다.The golf motion analysis apparatus 100 is configured to analyze a user's golf motion based on an artificial neural network model in which a two-dimensional or three-dimensional golf motion is learned. For example, when the golf motion analysis apparatus 100 is based on an artificial neural network model in which a two-dimensional golf motion is learned, the camera unit 10 corresponds to a time point of the golf motion in which the artificial neural network model is trained. It is necessary to photograph the user's golf motion at a specific point in time. In this case, the camera unit 10 may be a fixed terminal configured to be fixed at a specific position to photograph the user's golf motion. Alternatively, the camera unit 10 may be a mobile terminal, and in this case, when photographing the user's golf motion, the camera unit 10 includes a line or outline of a guide line for the shooting point on the display. It is configured to be displayed as so that the photographer can take a picture at the specific point in time. However, when the camera unit 10 is configured with a depth camera, since it is possible to photograph a three-dimensional golf motion, it is possible to convert it into a two-dimensional golf motion at the specific point of view, even if photographed at any point in time. Accordingly, in this case, the arrangement position of the camera unit 10 is not limited to a specific position, and it is not required to be fixed even while photographing the user's golf motion.

또한, 상기 골프 동작 분석 장치(100)는, 서로 다른 시점에서의 2차원의 골프 동작이 학습된 복수의 인공 신경망 모델에 기초하여, 사용자의 골프 동작을 분석하도록 구성될 수도 있다. 이 경우, 상기 카메라부(10)는 복수의 카메라로 구성되어, 대응되는 각 시점에서 사용자의 골프 동작을 촬영하도록 구성될 수 있다. 즉, 상기 카메라부(10)는 서로 다른 시점에서의 사용자의 복수의 골프 영상들을 상기 골프 동작 분석 장치(100)에 송신하도록 구성된다. 다만, 이 경우에도, 상기 카메라부(10)가 뎁스 카메라로 구성된 경우에는, 촬영한 3차원의 골프 동작을 각 시점에 대응하는 복수의 2차원의 골프 동작으로 각각 변환가능하므로, 상기 카메라부(10)는 단일의 카메라로 구성될 수 있다.In addition, the golf motion analysis apparatus 100 may be configured to analyze a user's golf motion based on a plurality of artificial neural network models in which two-dimensional golf motions at different viewpoints are learned. In this case, the camera unit 10 may include a plurality of cameras, and may be configured to photograph a user's golf motion at each corresponding viewpoint. That is, the camera unit 10 is configured to transmit a plurality of golf images of the user at different viewpoints to the golf motion analysis apparatus 100. However, even in this case, when the camera unit 10 is configured as a depth camera, the three-dimensional golf motions photographed can be converted into a plurality of two-dimensional golf motions corresponding to each viewpoint, so that the camera unit ( 10) can be composed of a single camera.

이와 달리, 상기 골프 동작 분석 장치(100)는 3차원의 골프 동작이 학습된 인공 신경망 모델에 기초하여, 사용자의 골프 동작을 분석하도록 구성될 수 있으며, 이 경우, 상기 카메라부(10)의 촬영 시점은 특정의 시점으로 제한되지 않는다. 즉, 상기 카메라부(10)의 배치 위치는 특정의 위치로 제한되지 않으며, 사용자의 골프 동작을 촬영하는 동안에도 고정될 것이 요구되지 않는다. 이는 상기 카메라부(10)가 뎁스 카메라로 구성된 경우에도 마찬가지이다. Alternatively, the golf motion analysis apparatus 100 may be configured to analyze a user's golf motion based on an artificial neural network model in which a three-dimensional golf motion is learned. In this case, the camera unit 10 photographs The viewpoint is not limited to a specific viewpoint. That is, the arrangement position of the camera unit 10 is not limited to a specific position, and it is not required to be fixed even while photographing the user's golf motion. This is the same even when the camera unit 10 is configured as a depth camera.

상기 골프 동작 분석 장치(100)는 입력 버퍼(110), 적어도 하나의 프로세싱 소자(120) 및 출력 버퍼(130)를 포함한다. 또한, 상기 골프 동작 분석 장치(100)는 파라미터 버퍼(140) 및 메모리(150)를 더 포함할 수 있다. The golf motion analysis apparatus 100 includes an input buffer 110, at least one processing element 120, and an output buffer 130. In addition, the golf motion analysis apparatus 100 may further include a parameter buffer 140 and a memory 150.

상기 입력 버퍼(110)는 분석 대상이 되는 사용자의 골프 동작에 있어서, 적어도 하나 이상의 제1 골프 영상(VIMG1)을 수신한다. 예를 들어, 상기 입력 버퍼(110)는 적어도 하나의 프레임 버퍼를 포함할 수 있다. 상기 입력 버퍼(110)에 입력되는 상기 제1 골프 영상(VIMG1)은 상기 프로세싱 소자(120)에서 처리될 사용자의 골프 동작이 포함된 동영상으로서, 복수의 프레임 영상들을 포함하며, 각각의 프레임 영상은 특정 시간의 영상으로 구성된다. The input buffer 110 receives at least one first golf image VIMG1 in the golf motion of the user to be analyzed. For example, the input buffer 110 may include at least one frame buffer. The first golf image VIMG1 input to the input buffer 110 is a video including a user's golf motion to be processed by the processing element 120, and includes a plurality of frame images, each frame image It is composed of images of a specific time.

또한, 상기 골프 동작 분석 장치(100)는 상기 입력 버퍼(110) 이전에 상기 카메라부(10)로부터 수신한 사용자의 골프 영상이 상기 프로세싱 소자(120)에서 처리될 수 있도록 적합한 형태의 영상으로 변환시키도록 구성된 영상 변환부(미도시)를 더 포함할 수 있다. 예를 들어, 상기 프로세싱 소자(120)에서 특정의 시점의 2차원의 골프 동작이 학습된 인공 신경망 모델에 기초하여 골프 영상을 분석하도록 구성되는 경우, 상기 카메라부(10)에서 출력된 사용자의 골프 영상이 2차원인 경우에는 문제가 없으나(이 때는 상기 카메라부(10)에서 출력된 사용자의 골프 영상과 상기 제1 골프 영상(VIMG1)이 동일함.), 3차원인 경우에는 효과적인 분석을 위하여 2차원의 골프 동작이 학습된 특정의 시점의 2차원의 제1 골프 영상(VIMG1)으로 변환될 필요가 있다. In addition, the golf motion analysis apparatus 100 converts the user's golf image received from the camera unit 10 before the input buffer 110 into an image in a suitable format so that the processing element 120 can process it. It may further include an image conversion unit (not shown) configured to perform. For example, when the processing element 120 is configured to analyze a golf image based on an artificial neural network model in which a two-dimensional golf motion at a specific point of view is learned, the user's golf output from the camera unit 10 There is no problem when the image is two-dimensional (in this case, the golf image of the user output from the camera unit 10 and the first golf image VIMG1 are the same.), but in the case of a three-dimensional image, for effective analysis The two-dimensional golf motion needs to be converted into a two-dimensional first golf image VIMG1 at a specific point of view from which it is learned.

또는, 상기 프로세싱 소자(120)에서 서로 다른 시점에서의 2차원의 골프 동작이 학습된 복수의 인공 신경망 모델에 기초하여 골프 영상을 분석하도록 구성되는 경우, 대응되는 각 시점에서의 복수의 카메라에서 출력된 복수의 골프 영상이 2차원인 경우에는 문제가 없으나(이 때는 상기 카메라부(10)에서 출력된 사용자의 골프 영상과 상기 제1 골프 영상(VIMG1)이 동일함.), 상기 카메라부(10)로부터 하나의 3차원의 골프 영상이 출력된 경우, 효과적인 분석을 위하여 서로 다른 시점에서의 2차원의 골프 동작이 학습된 각 시점들에서의 2차원의 제1 골프 영상(VIMG1)로 변환될 필요가 있다.Alternatively, when the processing element 120 is configured to analyze a golf image based on a plurality of artificial neural network models in which two-dimensional golf motions at different viewpoints are learned, output from a plurality of cameras at each corresponding viewpoint There is no problem in the case where the plurality of golf images are two-dimensional (in this case, the golf image of the user output from the camera unit 10 and the first golf image VIMG1 are the same.), the camera unit 10 ), for effective analysis, a two-dimensional golf motion at different viewpoints needs to be converted into a two-dimensional first golf image VIMG1 at each learned viewpoint. There is.

또는 이와 달리, 상기 프로세싱 소자(120)에서 3차원의 골프 동작이 학습된 인공 신경망 모델에 기초하여 골프 영상을 분석하도록 구성되는 경우, 상기 카메라부(10)에서 출력된 사용자의 골프 영상이 3차원인 경우에는 문제가 없으나(이 때는 상기 카메라부(10)에서 출력된 사용자의 골프 영상과 상기 제1 골프 영상(VIMG1)이 동일함.), 2차원인 경우에는 효과적인 분석을 위하여 3차원의 제1 골프 영상(VIMG1)으로 변환될 필요가 있다. 이 경우, 스티칭(stitching) 등의 기술을 이용하여 서로 다른 시점에서의 복수의 2차원의 골프 영상들로부터 3차원의 제1 골프 영상(VIMG1)을 생성하거나, 또는 딥러닝 기술을 이용한 3차원의 골프 동작이 학습된 인공 신경망 모델을 통해, 2차원의 골프 동작에서 뎁스(depth)값을 추론하여 3차원으로 랜더링함으로써, 3차원의 제1 골프 영상(VIMG1)을 생성할 수 있다. 상기의 기술은 본 발명의 범위를 벗어나므로, 이에 대한 자세한 설명은 생략한다. Alternatively, if the processing element 120 is configured to analyze a golf image based on an artificial neural network model in which a 3D golf motion is learned, the golf image of the user output from the camera unit 10 is 3D. In the case of, there is no problem (in this case, the golf image of the user output from the camera unit 10 and the first golf image VIMG1 are the same), but in the case of two-dimensional, a three-dimensional first for effective analysis. 1 It needs to be converted to a golf video (VIMG1). In this case, a 3D first golf image VIMG1 is generated from a plurality of 2D golf images at different viewpoints using techniques such as stitching, or a 3D golf image using deep learning technology. A 3D first golf image VIMG1 may be generated by inferring a depth value from a 2D golf movement and rendering it in 3D through the artificial neural network model in which the golf movement is learned. Since the above description is outside the scope of the present invention, a detailed description thereof will be omitted.

따라서, 상기 영상 변환부(미도시)는 상기와 같이 상기 카메라부(10)에서 출력된 사용자의 골프 영상과 상기 프로세싱 소자(120)에서 분석되는 골프 영상 간에 2차원 또는 3차원의 형식에 있어 차이가 있을 경우, 효과적인 분석을 위하여 상기 카메라부(10)에서 출력된 사용자의 골프 영상을 적합한 형식의 제1 골프 영상(VIMG1)으로 변환하도록 구성된다. Therefore, the image conversion unit (not shown) differs in a two-dimensional or three-dimensional format between the golf image of the user output from the camera unit 10 and the golf image analyzed by the processing element 120 as described above. If there is, it is configured to convert the user's golf image output from the camera unit 10 into a first golf image VIMG1 in a suitable format for effective analysis.

즉, 상기 입력 버퍼(110)에 입력되는 상기 제1 골프 영상(VIMG1)의 각 프레임 영상에는, 상기 프로세싱 소자(120)에서 처리되는 사용자의 골프 영상의 2차원 또는 3차원의 형식에 따라, 사용자의 골프 동작에 있어서 사용자의 신체 및 골프 클럽에 대한 x좌표, y좌표의 좌표 정보 [f(x, y)]가 포함되거나, 또는, z좌표를 더 포함한 좌표 정보 [f(x, y, z)]가 포함될 수 있다. 또한, 상기 제1 골프 영상(VIMG1)의 각 프레임 영상에는, 그레이 스케일 값(또는 컬러 영상인 경우, R, G, B 값)에 대한 정보가 포함될 수 있다. That is, in each frame image of the first golf image VIMG1 input to the input buffer 110, according to a 2D or 3D format of the user's golf image processed by the processing element 120, the user In the golf motion of the user, coordinate information [f(x, y)] of the x-coordinate and y-coordinate of the user's body and golf club is included, or coordinate information [f(x, y, z) that further includes the z-coordinate )] may be included. In addition, each frame image of the first golf image VIMG1 may include information on a gray scale value (or R, G, and B values in the case of a color image).

본 실시예에서는 상기 입력 버퍼(110) 이전에 상기 카메라부(10)로부터 출력된 사용자의 골프 영상이 상기 프로세싱 소자(120)에서 처리될 수 있도록 적합한 형태의 영상으로 변환되는 것을 예로 설명하였으나, 이에 한정되지 않는다. 예를 들어, 상기 프로세싱 소자(120)가 상기 영상 변환부(미도시)를 포함하도록 구성되고, 상기 프로세싱 소자(120)에서 효과적인 분석을 위하여 상기 제1 골프 영상(VIMG1)을 적합한 형식의 골프 영상으로 변환하도록 구성될 수도 있다. In the present embodiment, it has been described as an example that the golf image of the user output from the camera unit 10 before the input buffer 110 is converted into an image in a suitable format so that the processing element 120 can process it. Not limited. For example, the processing element 120 is configured to include the image conversion unit (not shown), and the first golf image VIMG1 is converted to a golf image in a suitable format for effective analysis in the processing element 120 It may be configured to convert to.

상기 프로세싱 소자(120)는 골프 동작이 학습된 인공 신경망 모델에 기초하여 사용자의 골프 동작을 분석하도록 구성된다. 구체적으로, 상기 프로세싱 소자(120)는 상기 인공 신경망 모델에 기초하여, 수신된 상기 제1 골프 영상(VIMG1)으로부터 사용자의 골프 동작에 대응되는 스켈레톤 영상인 제2 골프 영상(VIMG2)을 생성하여 사용자의 신체 및 골프 클럽에 대한 각 관절에 대응되는 좌표를 추출하고, 어드레스(address)부터 테이크백(take-back), 백스윙탑(backswing top), 다운스윙(downswing), 임팩트(impact), 팔로우스루(follow through) 및 피니쉬(finish)까지의 골프 동작의 각 구분 동작에 있어서의 사용자의 신체 및 골프 클럽의 움직임 및 좌표의 위치를 추적하도록 구성된다. The processing element 120 is configured to analyze the user's golf motion based on the artificial neural network model in which the golf motion is learned. Specifically, the processing element 120 generates a second golf image VIMG2, which is a skeleton image corresponding to the user's golf motion, from the received first golf image VIMG1 based on the artificial neural network model. The coordinates corresponding to each joint for the body and golf club are extracted, and from address, take-back, backswing top, downswing, impact, follow-through It is configured to track the movement of the user's body and the golf club and the position of the coordinates in each division movement of the golf movement until the (follow through) and the finish (finish).

구체적으로, 상기 프로세싱 소자(120)는 스켈레톤 영상 생성부(121) 및 동작 분석부(123)를 포함한다.Specifically, the processing element 120 includes a skeleton image generation unit 121 and a motion analysis unit 123.

상기 스켈레톤 영상 생성부(121)는, 골프 동작이 학습된 인공 신경망 모델에 기초하여, 상기 입력버퍼(110)로부터 수신된 적어도 하나의 제1 골프 영상(VIMG1)으로부터 사용자의 골프 동작에 대응되는 스켈레톤 영상인 제2 골프 영상(VIMG2)을 생성하고, 사용자의 신체 및 골프 클럽에 대한 각 관절을 추출하여 상기 제2 골프 영상(VIMG2) 상에 표시하도록 구성된다. 예를 들어, 상기 스켈레톤 영상 생성부(121)는, 서로 다른 시점의 복수의 제1 골프 영상(VIMG1)이 수신되는 경우, 각 시점에서의 골프 동작이 학습된 복수의 인공 신경망 모델에 기초하여, 서로 다른 시점의 복수의 제2 골프 영상(VIMG2)을 생성할 수 있다.The skeleton image generator 121 includes a skeleton corresponding to the user's golf motion from the at least one first golf image VIMG1 received from the input buffer 110 based on the artificial neural network model in which the golf motion is learned. It is configured to generate a second golf image VIMG2, which is an image, extract each joint of the user's body and golf club, and display it on the second golf image VIMG2. For example, when a plurality of first golf images VIMG1 at different viewpoints are received, the skeleton image generation unit 121, based on a plurality of artificial neural network models in which golf motions at each viewpoint are learned, A plurality of second golf images VIMG2 having different viewpoints may be generated.

구체적으로, 상기 스켈레톤 영상 생성부(121)는 상기 제1 골프 영상(VIMG1)의 복수의 프레임 영상들 각각에 대한 특성을 추출하여 특성 맵(feature map)들을 생성하고, 이들을 연산하여, 상기 각각의 프레임 영상들에서 골프 동작에 있어서의 사용자의 신체의 20개의 관절뿐만 아니라 골프 클럽 상에 미리 정의된 관절에 대해서도 각각의 좌표를 추론하도록 구성된다. 여기서의 상기 미리 정의된 관절에 대해서는 후술하도록 한다. Specifically, the skeleton image generation unit 121 extracts characteristics of each of a plurality of frame images of the first golf image VIMG1 to generate feature maps, calculates them, and calculates the respective It is configured to infer coordinates of not only the 20 joints of the user's body in the golf motion from the frame images but also the joints predefined on the golf club. Here, the predefined joint will be described later.

한편, 상기 특성 맵의 생성 및 연산은 컨볼루션 신경망(convolution neural network; CNN) 및/ 또는 순환 신경망(recurrent neural network RNN)을 기반으로 구현되는 레이어, 정정 선형 유닛(rectified linear unit; RELU) 레이어, 풀링(pooling) 레이어, 바이어스 가산(bias add) 레이어, 소프트맥스(softmax) 레이어 등과 같은 다양한 연산 레이어들을 포함하는 연산 모델에 의해 구현될 수 있다. On the other hand, the generation and calculation of the feature map is a layer implemented based on a convolution neural network (CNN) and/or a recurrent neural network RNN, a rectified linear unit (RELU) layer, It can be implemented by a computational model including various computational layers such as a pooling layer, a bias add layer, and a softmax layer.

여기서, 인공 신경망(artificial neural network; ANN)이란 연결 선으로 연결된 많은 수의 인공 뉴런들을 사용하여 생물학적인 시스템의 계산 능력을 모방하는 소프트웨어나 하드웨어로 구현된 연산 모델을 나타낸다. 상기 인공 신경망에서는 생물학적인 뉴런의 기능을 단순화시킨 인공 뉴런을 사용하게 된다. 그리고 연결 강도를 갖는 연결 선을 통해 상호 연결시켜 인간의 인지 작용이나 학습 과정을 수행하게 된다. 즉, 상기 스켈레톤 영상 생성부(121)에서 이용되는 상기 연산 모델은 상기 인공 신경망을 이용하여 미리 학습된 상태의 연산 모델일 수 있다.Here, an artificial neural network (ANN) refers to a computational model implemented in software or hardware that mimics the computational power of a biological system using a large number of artificial neurons connected by connecting lines. In the artificial neural network, artificial neurons that have simplified the functions of biological neurons are used. In addition, human cognitive actions or learning processes are performed by connecting them to each other through a connection line having a connection strength. That is, the computational model used in the skeleton image generator 121 may be a computational model in a state that is previously learned using the artificial neural network.

상기 동작 분석부(123)는 상기 제2 골프 영상(VIMG2)에 표시되는 사용자의 신체 및 골프 클럽 상의 관절들 중, 분석의 대상이 되는 관절을 추출하고, 추출된 해당 관절의 좌표값을 이용하여 사용자의 골프 동작을 분석하도록 구성될 수 있다. 예를 들어, 상기 동작 분석부(123)는 어드레스부터 테이크백, 백스윙탑, 다운스윙, 임팩트, 팔로우스루 및 피니쉬까지의 골프 동작의 각 구분 동작별로 분석에 있어 기초가 되는 관절에 대한 미리 저장된 정보들을 참조하여, 해당 구분 동작시, 관련된 관절을 추출하도록 구성될 수 있다. 또한, 상기 동작 분석부(123)는 추출된 해당 관절의 좌표값을 이용하여 골프 동작 중 각 구분 동작, 예를 들어, 어드레스, 임팩트, 및 피니쉬와 같이 상태를 나타내는 구분 동작에서는 해당 관절의 절대 위치 및 다른 관절과의 상대 위치 등을 분석하고, 테이크백, 백스윙탑, 다운스윙, 팔로우스루와 같이 모션을 나타내는 구분 동작에서는 해당 관절의 이동 방향, 이동 속도, 이동한 궤적 등을 분석하도록 구성될 수 있다. 다만, 이에 제한되지 않는다.The motion analysis unit 123 extracts a joint to be analyzed from among the joints on the user's body and golf club displayed in the second golf image VIMG2, and uses the extracted coordinate values of the corresponding joint. It may be configured to analyze the user's golf motion. For example, the motion analysis unit 123 pre-stored information about a joint that is a basis for analysis for each divisional motion of golf motion from address to takeback, backswing top, downswing, impact, follow-through and finish. With reference to these, it may be configured to extract a related joint during a corresponding division operation. In addition, the motion analysis unit 123 uses the extracted coordinate values of the corresponding joint to determine the absolute position of the corresponding joint in each classification operation, for example, a classification operation indicating a state such as address, impact, and finish. And it can be configured to analyze the relative position with other joints, and analyze the movement direction, movement speed, and trajectory of movement of the corresponding joint in the divisional movements indicating motion such as takeback, backswing top, down swing, and follow-through. have. However, it is not limited thereto.

한편, 상기 제2 골프 영상(VIMG2)의 골프 동작 중 사용자의 신체 및 골프 클럽 상에 표시되는 각 관절들은 딥러닝을 이용한 골프 동작이 학습된 인공 신경망 모델에 기초한 것으로, 연속성있는 각각의 프레임 영상에 표시된 각 관절의 위치에 기초하여, 각 관절의 위치 또는 이동을 추론하기 때문에, 상기 제2 골프 영상(VIMG2)의 골프 동작 중 신체가 겹쳐져 영상에 나타나지 않는 부분의 관절에 대해서도 그 위치를 추출할 수 있다. 이에 따라, 본 발명의 일 실시예에 따른 프로세싱 소자(120)는, 사용자의 신체에 가려져 영상에 나타나지 않는 부분의 관절에 대해서도 추적이 가능하며, 특히 백뷰(back view) 시점에서 촬영된 팔로우스루 동작에 있어서, 사용자의 몸체에 가려져 영상에 나타나지 않는 손의 궤적나 골프 클럽의 궤적을 추적할 수 있다.Meanwhile, the joints displayed on the user's body and golf club among the golf movements of the second golf image VIMG2 are based on an artificial neural network model in which golf movements using deep learning have been learned, and each frame image with continuity is Since the position or movement of each joint is inferred based on the position of each joint displayed, the position can be extracted even for the joint of the part where the body overlaps and does not appear in the image during the golf motion of the second golf image VIMG2. have. Accordingly, the processing element 120 according to an embodiment of the present invention can track a joint of a part that is covered by the user's body and does not appear in the image, and in particular, a follow-through operation photographed at a back view point of view. In this case, a trajectory of a hand or a trajectory of a golf club that is covered by the user's body and does not appear in the image may be traced.

또한, 본 발명의 일 실시예에 따른 프로세싱 소자(120)는, 골프 동작이 학습된 인공 신경망 모델에 기초하여, 사용자의 신체에 대한 관절의 좌표 정보와 함께 골프 클럽에 대해 미리 정의된 관절의 좌표 정보를 추출함으로써, 사용자의 골프 동작에 있어서, 사용자의 신체와 골프 클럽의 상호 위치 관계 및 골프 클럽의 움직임에 대해서도 분석할 수 있다. 이와 관련하여, 도 3을 참조하여, 상기 미리 정의된 관절에 대해서 설명한다. In addition, the processing element 120 according to an embodiment of the present invention, based on the artificial neural network model in which golf motion is learned, coordinates of a joint predefined for a golf club together with coordinate information of a joint for a user's body By extracting the information, it is possible to analyze the mutual positional relationship between the user's body and the golf club and the movement of the golf club in the user's golf motion. In this regard, the predefined joint will be described with reference to FIG. 3.

도 3은 골프 클럽 상에 미리 정의된 관절의 예시도이다. 3 is an exemplary diagram of a predefined joint on a golf club.

도 3을 참조하면, 상기 골프 클럽 상에 사용자의 골프 그립이 끝나는 손잡이의 지점에 제1 관절(c1)이 정의되고, 샤프트의 길이 방향으로 중앙 위치에 제2 관절(c2)이 정의되고, 골프 클럽의 헤드에 제3 관절(c3)이 정의된다. 즉, 상기 제1 내지 제3 관절들(c1 내지 c3)의 좌표에 기초로 하여, 사용자의 골프 동작, 구체적으로 골프 클럽의 움직임을 분석할 수 있다. 예를 들어, 각 구분 동작에서의 손목과 샤프트 간의 각도를 측정하기 위하여, 상기 제1 관절(c1)의 좌표, 양 손목 관절의 좌표 및 상기 제2 관절(c2)의 좌표를 이용할 수 있다. 또한, 상기 제3 관절(c3)의 좌표를 이용하여 헤드의 위치, 속도, 및 궤적을 분석할 수 있다. 3, a first joint (c1) is defined on the golf club at a point of the handle where the user's golf grip ends, a second joint (c2) is defined at a central position in the longitudinal direction of the shaft, and golf A third joint (c3) is defined at the head of the club. That is, based on the coordinates of the first to third joints c1 to c3, the user's golf motion, specifically the motion of the golf club, may be analyzed. For example, in order to measure the angle between the wrist and the shaft in each division operation, the coordinates of the first joint c1, the coordinates of both wrist joints, and the coordinates of the second joint c2 may be used. In addition, the position, speed, and trajectory of the head may be analyzed using the coordinates of the third joint c3.

또한, 상기 골프 클럽의 움직임을 분석하기 위해, 추가로 골프 클럽 상의 샤프트의 헤드쪽 단부 지점에 제4 관절(c4)이 더 정의될 수 있다. 예를 들어, 각 구분 동작, 특히, 다운 스윙 또는 임팩트 동작에서의 샤프트의 휘는 정도를 측정하기 위하여, 상기 제1 관절(c1)의 좌표, 상기 제2 관절(c2)의 좌표 및 상기 제4 관절(c4)의 좌표를 이용할 수 있다. 구체적으로, 상기 제1 관절(c1)과 상기 제4 관절(c3)이 이루는 직선으로부터 상기 제2 관절(c2)이 떨어진 방향 및 거리를 측정함으로써, 골프 클럽의 진행 방향 및 휘는 정도를 측정할 수 있다. 이를 통해, 사용자의 골프 동작에 기초하여, 사용자가 사용하는 골프 클럽의 샤프트의 강도가 적합한지 여부를 판단할 수 있다. In addition, in order to analyze the movement of the golf club, a fourth joint c4 may be further defined at an end point of the shaft on the golf club toward the head. For example, in order to measure the degree of bending of the shaft in each divisional motion, in particular, a downswing or impact motion, the coordinates of the first joint c1, the coordinates of the second joint c2, and the fourth joint The coordinates in (c4) can be used. Specifically, by measuring the direction and distance of the second joint (c2) away from the straight line formed by the first joint (c1) and the fourth joint (c3), it is possible to measure the moving direction and the degree of bending of the golf club. have. Through this, it is possible to determine whether the strength of the shaft of the golf club used by the user is appropriate based on the user's golf motion.

또한, 임팩트 동작에서의 클럽 헤드가 열린 상태 또는 닫힌 상태로 볼을 맞췄는지를 측정하기 위하여, 상기 제3 관절(c3)의 좌표 및 제4 관절(c4)의 좌표를 이용할 수 있다. 예를 들어, 상기 제4 관절(c4)로부터의 상기 제3 관절(c3)의 상대 위치를 측정하거나, 또는 어드레스 동작과 임팩트 동작에서의 상기 제3 관절(c3)의 좌표 및 제4 관절(c4)의 좌표를 각각 비교함으로써, 임팩트 동작에서의 클럽 헤드의 상태를 분석할 수 있다. In addition, in order to measure whether the club head hits the ball in the open or closed state in the impact motion, the coordinates of the third joint c3 and the coordinates of the fourth joint c4 may be used. For example, measuring the relative position of the third joint (c3) from the fourth joint (c4), or the coordinates of the third joint (c3) and the fourth joint (c4) in an address operation and an impact operation. By comparing the coordinates of ), it is possible to analyze the state of the club head in the impact operation.

즉, 본 발명은 상기 제1 골프 영상(VIMG1)을 상기 제2 골프 영상(VIMG2)으로 변환시킴에 있어, 기초가 되는 골프 동작이 학습된 인공 신경망 모델을 생성함에 있어, 복수의 학습용의 골프 영상들 각각에 대하여 신체의 20개의 관절뿐만 아니라 골프 클럽 상의 미리 정의된 관절에 대해서도 학습시킴으로써, 사용자의 골프 동작을 분석함에 있어서, 사용자 신체의 움직임뿐만 아니라 사용자의 신체와 골프 클럽의 상호 위치 관계 및 골프 클럽의 움직임에 대해서도 분석할 수 있다.That is, in the present invention, in converting the first golf image VIMG1 to the second golf image VIMG2, in generating an artificial neural network model in which basic golf motions are learned, a plurality of golf images for learning By learning not only about the 20 joints of the body but also the predefined joints on the golf club for each of them, in analyzing the user's golf motion, the relationship between the user's body and the golf club's mutual position and golf You can also analyze the movement of the club.

본 발명의 일 실시예에서, 상기 프로세싱 소자(120)는 상술한 연산들을 수행하기 위해 중앙 처리 장치(central processing unit; CPU), 그래픽 처리 장치(graphic processing unit; GPU), 신경 처리 장치(neural processing unit; NPU), 디지털 신호 프로세서(digital signal processor; DSP), 영상 신호 프로세서(image signal processor; ISP) 등과 같은 다양한 처리 장치들 중 적어도 하나를 포함하여 구현될 수 있다. 실시예에 따라서, 상기 프로세싱 소자(120)는 상술한 처리 장치들 중 동일한 종류의(homogeneous) 처리 장치들을 복수 개 포함하거나, 서로 다른 종류의(heterogeneous) 처리 장치들을 복수 개 포함하여 구현될 수 있다.In an embodiment of the present invention, the processing element 120 includes a central processing unit (CPU), a graphic processing unit (GPU), and a neural processing unit to perform the above-described operations. It may be implemented by including at least one of various processing devices such as a unit (NPU), a digital signal processor (DSP), an image signal processor (ISP), and the like. Depending on the embodiment, the processing element 120 may be implemented by including a plurality of homogeneous processing devices among the above-described processing devices or a plurality of heterogeneous processing devices. .

본 발명의 일 실시예에서, 상기 프로세싱 소자(120)는 상술한 연산들을 병렬 처리하기 위해 복수의 프로세서 코어(processor core)들을 포함하여 구현될 수 있다.In one embodiment of the present invention, the processing element 120 may be implemented by including a plurality of processor cores to parallelize the above-described operations.

상기 출력 버퍼(130)는 상기 프로세싱 소자(120)에서 골프 동작이 학습된 인공 신경망 모델에 기초한 연산의 결과로서, 상기 제1 골프 영상(VIMG1)으로부터 생성한 상기 제2 골프 영상(VIMG2)을 저장 및 출력할 수 있다. 예를 들어, 상기 출력 버퍼(130)는 적어도 하나의 레지스터를 포함할 수 있다.The output buffer 130 stores the second golf image VIMG2 generated from the first golf image VIMG1 as a result of an operation based on an artificial neural network model in which a golf motion is learned by the processing element 120 And can be output. For example, the output buffer 130 may include at least one register.

상기 파라미터 버퍼(140)는 상기 프로세싱 소자(120)가 상술한 연산들을 수행하는데 이용되는 복수의 파라미터들 및/또는 복수의 하이퍼 파라미터(hyper parameter)들을 저장할 수 있다. 예를 들면, 상기 파라미터 버퍼(140)는 학습 과정에 의해 학습된 인공 신경망 모델의 파라미터들을 저장할 수 있다.The parameter buffer 140 may store a plurality of parameters and/or a plurality of hyper parameters used by the processing element 120 to perform the above-described operations. For example, the parameter buffer 140 may store parameters of an artificial neural network model learned by a learning process.

상기 메모리(150)는 상기 프로세싱 소자(120)에 의해 처리되었거나 처리될 예정인 데이터들을 임시로 또는 지속적으로 저장할 수 있다. 예를 들어, 상기 메모리(150)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 휘발성 메모리, 및 플래시 메모리(flash memory), PRAM(phase change random access memory), RRAM(resistance random access memory), NFGM(nano floating gate memory), PoRAM(polymer random access memory), MRAM(magnetic random access memory), FRAM(ferroelectric random access memory) 등과 같은 비휘발성 메모리 중 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따라서, 상기 메모리(150)는 SSD(solid state drive), eMMC(embedded multimedia card), UFS(universal flash storage) 등과 같은 대량 저장 장치의 형태로 구현될 수도 있다.The memory 150 may temporarily or continuously store data processed or to be processed by the processing element 120. For example, the memory 150 is a volatile memory such as dynamic random access memory (DRAM), static random access memory (SRAM), and the like, and flash memory, phase change random access memory (PRAM), and resistance (RRAM). random access memory), nano floating gate memory (NFGM), polymer random access memory (PoRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), and the like. According to an embodiment of the present invention, the memory 150 may be implemented in the form of a mass storage device such as a solid state drive (SSD), an embedded multimedia card (eMMC), and a universal flash storage (UFS).

도시하지는 않았으나, 본 실시예에 따른 골프 동작 분석 장치(100)는 구성요소들의 전반적인 동작을 제어하는 제어부, 특정 작업의 할당을 관리하는 작업 관리자 등을 더 포함할 수 있다.Although not shown, the golf motion analysis apparatus 100 according to the present embodiment may further include a control unit for controlling the overall operation of components, a task manager for managing assignment of specific tasks, and the like.

도 4는 딥러닝 기술을 이용하여, 도 2의 사용자의 제1 골프 영상을 스켈레톤 영상인 제2 골프 영상으로 변환하는 장치를 학습시키는 것을 나타내는 블록도이다. FIG. 4 is a block diagram illustrating training of an apparatus for converting a user's first golf image of FIG. 2 into a second golf image, which is a skeleton image, using deep learning technology.

도 4를 참조하면, 상기 프로세싱 소자(120)는 관절 추출 모델 학습부(125)를 더 포함할 수 있다. 상기 관절 추출 모델 학습부(125)는 복수의 제1 학습용 골프 영상(TVIMG1; TVIMG11, TVIMG12, ...)과 각각의 제1 학습용 골프 영상(TVIMG1)을 이용하여 생성한 복수의 제2 학습용 골프 영상(TVIMG2; TVIMG21, TVIMG22, ...)를 이용하여, 상기 인공 신경망 모델을 학습(training)시키도록 구성된다. Referring to FIG. 4, the processing element 120 may further include a joint extraction model learning unit 125. The joint extraction model learning unit 125 includes a plurality of first training golf images (TVIMG1; TVIMG11, TVIMG12, ...) and a plurality of second training golf images generated using each of the first training golf images (TVIMG1). It is configured to train the artificial neural network model by using an image (TVIMG2; TVIMG21, TVIMG22, ...).

상기 제1 학습용 골프 영상(TVIMG1)은 학습시키고자 하는 촬영 대상물인 골프 동작을 촬영한 비디오 영상으로서, 복수의 프레임 영상으로 구성되어 있다. 예를 들어, 2차원의 골프 동작이 학습된 인공 신경망 모델을 학습시키고자 하는 경우, 상기 제1 학습용 골프 영상(TVIMG1)은, 예를 들어 미리 정해진 특정의 시점에서 촬영된 골프 영상일 수 있다. 또는, 서로 다른 시점에서의 2차원의 골프 동작이 학습된 복수의 인공 신경망 모델을 학습시키고자 하는 경우, 상기 제1 학습용 골프 영상(TVIMG1)은, 예를 들어 미리 정해진 서로 다른 시점에서 촬영된 골프 영상들일 수 있다. 또한, 3차원의 골프 동작이 학습된 인공 신경망 모델을 학습시키고자 하는 경우, 상기 제1 학습용 골프 영상(TVIMG1)은, 예를 들어 뎁스 카메라로 촬영된 3차원의 골프 동작이 포함된 골프 영상이거나, 서로 다른 시점에서 촬영된 복수의 2차원의 골프 영상을 이용하여 스티칭하여 획득한 골프 영상이거나 또는 딥러닝 기술을 이용한 3차원의 골프 동작이 학습된 인공 신경망 모델을 통해, 2차원의 골프 동작에서 뎁스(depth)값을 추론하여 3차원으로 랜더링하여 생성한 골프 영상일 수 있다. The first golf image for learning TVIMG1 is a video image of a golf motion, which is an object to be captured, and is composed of a plurality of frame images. For example, when it is desired to train an artificial neural network model in which a two-dimensional golf motion is learned, the first training golf image TVIMG1 may be, for example, a golf image photographed at a predetermined specific viewpoint. Alternatively, in the case of training a plurality of artificial neural network models in which two-dimensional golf motions at different viewpoints are learned, the first training golf image TVIMG1 is, for example, golf photographed at different predetermined viewpoints. It can be images. In addition, when it is desired to train an artificial neural network model in which 3D golf movements are learned, the first training golf image TVIMG1 is, for example, a golf image including 3D golf movements photographed with a depth camera. , Golf images acquired by stitching using a plurality of two-dimensional golf images captured at different viewpoints, or through an artificial neural network model in which three-dimensional golf motions using deep learning technology are learned, in two-dimensional golf motions. It may be a golf image generated by inferring a depth value and rendering it in 3D.

상기 제2 학습용 골프 영상(TVIMG2)은 상기 제1 학습용 골프 영상(TVIMG1)을 이용하여 생성한 스켈레톤 영상으로서, 각각의 프레임 영상들에 골프 동작에 있어서의 신체의 20개의 관절뿐만 아니라 골프 클럽 상에 상기 미리 정의된 관절의 정보가 포함된다. 예를 들어, 상기 제2 학습용 골프 영상(TVIMG2)의 각각의 프레임 영상들을 생성함에 있어, 신체의 관절과 상기 골프 클럽 상의 미리 정의된 관절은 상기 제1 학습용 골프 영상(TVIMG1)을 기초로 관절 추적 소프트웨어를 적용하여 추출할 수 있다.The second golf image for learning TVIMG2 is a skeleton image generated using the first golf image for learning TVIMG1, and each frame image contains not only 20 joints of the body in golf motion, but also on a golf club. Information of the predefined joint is included. For example, in generating each frame image of the second learning golf image (TVIMG2), a joint of the body and a predefined joint on the golf club are tracked based on the first golf image for learning (TVIMG1). It can be extracted by applying software.

즉, 상기 관절 추출 모델 학습부(125)는 복수의 제1 학습용 골프 영상(TVIMG1) 및 각각의 제1 학습용 골프 영상(TVIMG1)에 대응하는 복수의 제2 학습용 골프 영상(TVIMG2)을 학습 데이터 세트로 이용하여, 지도학습(Supervised Learning)을 실행할 수 있다. 복수의 골프 영상에 대해 반복적으로 학습 데이터 세트를 얻고, 이를 반복하여 학습을 수행할 수 있다. 따라서, 학습 데이터 세트의 2차원 또는 3차원의 형식에 따라, 2차원 또는 3차원의 골프 동작이 학습된 인공 신경망 모델을 학습시킬 수 있으며, 또한, 특정의 시점에서의 2차원의 골프 동작이 학습된 인공 신경망 모델을 학습시키기 위해서는, 학습 데이터 세트는 특정 시점에서의 2차원의 골프 영상일 것이 요구된다. That is, the joint extraction model learning unit 125 sets a plurality of first training golf images TVIMG1 and a plurality of second training golf images TVIMG2 corresponding to each of the first training golf images TVIMG1 as a training data set. Using as, supervised learning can be performed. Learning data sets may be repeatedly obtained for a plurality of golf images, and learning may be performed by repeating them. Therefore, according to the 2D or 3D format of the training data set, it is possible to train an artificial neural network model in which 2D or 3D golf movements are learned, and also 2D golf movements at a specific point in time are learned. In order to train the artificial neural network model, the training data set is required to be a two-dimensional golf image at a specific point in time.

또한, 상기 관절 추출 모델 학습부(125)은, 상기 인공 신경망 모델을 학습(training)시킴에 있어서, 어드레스(address)부터 테이크백(take-back), 백스윙탑(backswing top), 다운스윙(downswing), 임팩트(impact), 팔로우스루(follow through) 및 피니쉬(finish)까지의 구분 동작 별로 골프 동작을 학습하도록 구성된다. 즉, 상기 제1 학습용 골프 영상(TVIMG1) 및 상기 제2 학습용 골프 영상(TVIMG2)을 학습 데이터 세트로 구성함에 있어서, 골프 동작의 구분 동작 별로 복수의 프레임 영상들을 분류시켜 학습 데이터 세트를 구성할 수 있다. 이에 따라, 구분 동작 별로 학습된 인공 신경망 모델을 생성할 수 있으며, 이에 기초하여, 상기 제1 골프 영상(VIMG1)으로부터 상기 제2 골프 영상(VIMG2)을 생성하여 사용자의 골프 동작의 각 구분 동작에 있어서의 사용자의 신체 및 골프 클럽의 움직임 및 관절의 좌표의 위치를 추적할 수 있다.In addition, the joint extraction model learning unit 125, in training the artificial neural network model, from an address to a take-back, a backswing top, and a downswing ), impact, follow through, and finish. That is, in configuring the first learning golf image (TVIMG1) and the second learning golf image (TVIMG2) as a learning data set, a learning data set can be configured by classifying a plurality of frame images for each classification operation of a golf motion. have. Accordingly, it is possible to generate an artificial neural network model that has been learned for each classification operation, and based on this, the second golf image VIMG2 is generated from the first golf image VIMG1 to correspond to each classification operation of the user's golf movement. It is possible to track the movement of the user's body and the golf club and the position of the coordinates of the joint.

도 5는 도 2의 제2 골프 영상(VIMG2)의 구분 동작별 프레임 영상을 나타낸 도면들이다. 5 is a diagram illustrating a frame image for each division operation of the second golf image VIMG2 of FIG. 2.

도 5의 (a) 내지 (g)를 참조하면, 어드레스부터 테이크백, 백스윙탑, 다운스윙, 임팩트, 팔로우스루 및 피니쉬의 각 구분 동작에 있어서의 사용자의 신체 및 골프 클럽의 관절이 표시된다. 도 5의 제2 골프 영상(VIMG2)은 촬영 대상물인 사용자의 골프 동작의 우측(right side)을 바라보는 시점을 도시하고 있으나, 이에 한정되지 않으며, 상기 인공 신경망 모델을 학습시킨 골프 영상의 촬영 시점에 따라 골프 동작의 후측(back side), 좌측(left side) 등을 바라보는 시점(view point)으로 출력될 수 있다.5A to 5G, the user's body and the joints of the golf club in each division operation of takeback, backswing top, downswing, impact, follow-through, and finish from address are displayed. The second golf image VIMG2 of FIG. 5 shows a viewpoint of a user looking at the right side of the user's golf motion as a photographing object, but is not limited thereto, and the photographing time of the golf image obtained by training the artificial neural network model Accordingly, it may be output as a view point of a back side, a left side, and the like of the golf motion.

도 6은 본 발명의 실시예에 따른 골프 동작 분석 방법을 나타낸 순서도이다. 6 is a flow chart showing a golf motion analysis method according to an embodiment of the present invention.

도 6을 참조하면, 인공 신경망 모델을 학습시키는 단계(S100), 사용자의 제1 골프 영상을 입력하는 단계(S200), 상기 인공 신경망 모델에 기초하여, 상기 제1 골프 영상으로부터 스켈레톤 영상인 제2 골프 영상을 생성하는 단계(S300), 및 상기 제2 골프 영상에 기초하여 사용자의 골프 동작을 분석하는 단계(S400)을 포함할 수 있다. Referring to FIG. 6, training an artificial neural network model (S100), inputting a user's first golf image (S200), and a second skeleton image from the first golf image based on the artificial neural network model. Generating a golf image (S300), and analyzing a user's golf motion based on the second golf image (S400).

상기 인공 신경망 모델을 학습시키는 학습 단계(S100)에서는, 골프 동작을 촬영한 복수의 제1 학습용 골프 영상(TVIMG1)과 각각의 제1 학습용 골프 영상(TVIMG1)을 이용하여 생성한 복수의 제2 학습용 골프 영상(TVIMG2)를 이용하여, 상기 인공 신경망 모델을 학습(training)시키도록 구성된다. In the learning step (S100) of training the artificial neural network model, a plurality of first training golf images (TVIMG1) photographing golf motions and a plurality of second training images generated using each of the first training golf images (TVIMG1) It is configured to train the artificial neural network model by using the golf image TVIMG2.

상기 제2 학습용 골프 영상(TVIMG2)은 상기 제1 학습용 골프 영상(TVIMG1)을 이용하여 생성한 스켈레톤 영상으로서, 각각의 프레임 영상들에 골프 동작에 있어서의 신체의 20개의 관절뿐만 아니라 골프 클럽 상에 상기 미리 정의된 관절의 정보가 포함된다. The second golf image for learning TVIMG2 is a skeleton image generated using the first golf image for learning TVIMG1, and each frame image contains not only 20 joints of the body in golf motion, but also on a golf club. Information of the predefined joint is included.

또한, 상기 인공 신경망 모델을 학습시키는 단계(S100)에서는, 복수의 제1 학습용 골프 영상(TVIMG1) 및 각각의 제1 학습용 골프 영상(TVIMG1)에 대응하는 복수의 제2 학습용 골프 영상(TVIMG2)을 학습 데이터 세트로 이용하여, 지도학습(Supervised Learning)이 실행될 수 있다. 복수의 골프 영상에 대해 반복적으로 학습 데이터 세트를 얻고, 이를 반복하여 학습을 수행할 수 있다. 따라서, 학습 데이터 세트의 2차원 또는 3차원의 형식에 따라, 2차원 또는 3차원의 골프 동작이 학습된 인공 신경망 모델을 학습시킬 수 있으며, 또한, 특정의 시점에서의 2차원의 골프 동작이 학습된 인공 신경망 모델을 학습시키기 위해서는, 학습 데이터 세트는 특정 시점에서의 2차원의 골프 영상일 것이 요구된다. In addition, in the training of the artificial neural network model (S100), a plurality of first training golf images TVIMG1 and a plurality of second training golf images TVIMG2 corresponding to each of the first training golf images TVIMG1 are provided. Using the learning data set, supervised learning can be performed. Learning data sets may be repeatedly obtained for a plurality of golf images, and learning may be performed by repeating them. Therefore, according to the 2D or 3D format of the training data set, it is possible to train an artificial neural network model in which 2D or 3D golf movements are learned, and also 2D golf movements at a specific point in time are learned. In order to train the artificial neural network model, the training data set is required to be a two-dimensional golf image at a specific point in time.

또한, 상기 인공 신경망 모델을 학습시키는 단계(S100)에서는, 상기 인공 신경망 모델을 학습(training)시킴에 있어서, 어드레스(address)부터 테이크백(take-back), 백스윙탑(backswing top), 다운스윙(downswing), 임팩트(impact), 팔로우스루(follow through) 및 피니쉬(finish)까지의 구분 동작 별로 골프 동작을 학습하도록 구성된다. 즉, 상기 제1 학습용 골프 영상(TVIMG1) 및 상기 제2 학습용 골프 영상(TVIMG2)을 학습 데이터 세트로 구성함에 있어서, 골프 동작의 구분 동작 별로 복수의 프레임 영상들을 분류시켜 학습 데이터 세트를 구성하여, 상기 인공 신경망 모델을 학습시킬 수 있다.In addition, in the step of training the artificial neural network model (S100), in training the artificial neural network model, from an address, a take-back, a backswing top, and a downswing (downswing), impact (impact), follow through (follow through) and finish (finish) are configured to learn golf movements for each divisional movement. That is, in configuring the first learning golf image (TVIMG1) and the second learning golf image (TVIMG2) as a learning data set, a learning data set is formed by classifying a plurality of frame images for each classification operation of golf movements, The artificial neural network model can be trained.

상기 사용자의 제1 골프 영상(VIMG1)을 입력하는 단계(S200)에서는, 분석하고자 하는 사용자의 골프 동작의 제1 골프 영상(VIMG1)이 입력된다. 상기 제1 골프 영상(VIMG1)은 상기 프로세싱 소자(120)에서 처리될 사용자의 골프 동작이 포함된 동영상으로서, 복수의 프레임 영상들을 포함하며, 각각의 프레임 영상은 특정 시간의 영상으로 구성된다. In step S200 of inputting the user's first golf image VIMG1, the first golf image VIMG1 of the user's golf motion to be analyzed is input. The first golf image VIMG1 is a video including a user's golf motion to be processed by the processing element 120, and includes a plurality of frame images, and each frame image is composed of an image of a specific time.

예를 들어, 2차원의 골프 동작이 학습된 인공 신경망 모델에 기초하여 골프 동작을 분석하는 경우, 상기 제1 골프 영상(VIMG1)은 학습된 인공 신경망 모델의 시점과 대응되는 특정의 시점에서의 사용자의 2차원의 골프 영상일 수 있다. 또한, 서로 다른 시점에서의 2차원의 골프 동작이 학습된 복수의 인공 신경망 모델에 기초하여 골프 동작을 분석하는 경우, 상기 제1 골프 영상(VIMG1)은 학습된 인공 신경망 모델들의 각 시점과 대응되는 서로 다른 시점에서의 사용자의 2차원의 골프 영상들일 수 있다. 또한, 3차원의 골프 동작이 학습된 인공 신경망 모델에 기초하여 골프 동작을 분석하는 경우, 상기 제1 골프 영상(VIMG1)은 3차원의 골프 영상일 수 있다.For example, when analyzing a golf motion based on an artificial neural network model in which a two-dimensional golf motion is learned, the first golf image VIMG1 is a user at a specific point of view corresponding to the point of view of the learned artificial neural network model. It may be a two-dimensional golf image. In addition, when analyzing a golf motion based on a plurality of artificial neural network models in which two-dimensional golf motions at different points of view are learned, the first golf image VIMG1 corresponds to each point of view of the learned artificial neural network models. These may be 2D golf images of the user at different viewpoints. In addition, when a golf motion is analyzed based on an artificial neural network model in which a three-dimensional golf motion is learned, the first golf image VIMG1 may be a three-dimensional golf image.

한편, 특정의 시점에서의 2차원의 골프 동작이 학습된 인공 신경망 모델에 기초하여 골프 동작을 분석하는 경우, 입력되는 상기 제1 골프 영상(VIMG1)이 사용자의 3차원의 골프 영상일 수 있으며, 이 경우, 상기 제1 골프 영상(VIMG1)을 상기 특정의 시점에서의 사용자의 2차원의 골프 영상으로 변환할 수 있다. 또한, 서로 다른 시점에서의 2차원의 골프 동작이 학습된 복수의 인공 신경망 모델에 기초하여 골프 동작을 분석하는 경우, 입력되는 상기 제1 골프 영상(VIMG1)이 사용자의 3차원의 골프 영상일 수 있으며, 이 경우, 상기 제1 골프 영상(VIMG1)을 상기 서로 다른 시점에서의 사용자의 2차원의 골프 영상들로 변환할 수 있다. 또한, 3차원의 골프 동작이 학습된 인공 신경망 모델에 기초하여 골프 동작을 분석하는 경우, 입력되는 상기 제1 골프 영상(VIMG1)이 사용자의 2차원의 골프 영상일 수 있으며, 이 경우 스티칭(stitching) 등의 기술을 이용하여 서로 다른 시점에서의 복수의 2차원의 골프 영상들로부터 3차원의 골프 영상으로 변환하거나 또는 딥러닝 기술을 이용한 3차원의 골프 동작이 학습된 인공 신경망 모델을 통해, 2차원의 골프 동작에서 뎁스(depth)값을 추론하여 3차원으로 랜더링함으로써, 3차원의 골프 영상으로 변환할 수 있다.Meanwhile, when analyzing a golf motion based on an artificial neural network model in which a two-dimensional golf motion at a specific viewpoint is learned, the inputted first golf image VIMG1 may be a three-dimensional golf image of the user, In this case, the first golf image VIMG1 may be converted into a two-dimensional golf image of the user at the specific viewpoint. In addition, when analyzing a golf motion based on a plurality of artificial neural network models in which two-dimensional golf motions at different viewpoints are learned, the inputted first golf image VIMG1 may be a three-dimensional golf image of the user. In this case, the first golf image VIMG1 may be converted into two-dimensional golf images of the user at different viewpoints. In addition, when analyzing a golf motion based on an artificial neural network model in which a three-dimensional golf motion is learned, the input first golf image VIMG1 may be a two-dimensional golf image of the user, and in this case, stitching ), etc., from a plurality of two-dimensional golf images at different viewpoints to a three-dimensional golf image, or through an artificial neural network model in which three-dimensional golf motions using deep learning technology are learned, 2 By inferring a depth value from a 3D golf motion and rendering it in 3D, it can be converted into a 3D golf image.

또한, 상기 제1 골프 영상(VIMG1)의 각 프레임 영상에는, 상기 프로세싱 소자(120)에서 처리되는 사용자의 골프 영상의 2차원 또는 3차원의 형식에 따라, 사용자의 골프 동작에 있어서 사용자의 신체 및 골프 클럽에 대한 x좌표, y좌표의 좌표 정보 [f(x, y)]가 포함되거나, 또는, z좌표를 더 포함한 좌표 정보 [f(x, y, z)]가 포함될 수 있다. 또한, 상기 제1 골프 영상(VIMG1)의 각 프레임 영상에는, 그레이 스케일 값(또는 컬러 영상인 경우, R, G, B 값)에 대한 정보가 포함될 수 있다. In addition, in each frame image of the first golf image VIMG1, according to a two-dimensional or three-dimensional format of the user's golf image processed by the processing element 120, the user's body and Coordinate information [f(x, y)] of the x-coordinate and y-coordinate of the golf club may be included, or coordinate information [f(x, y, z)] further including the z-coordinate may be included. In addition, each frame image of the first golf image VIMG1 may include information on a gray scale value (or R, G, and B values in the case of a color image).

상기 인공 신경망 모델에 기초하여, 상기 제1 골프 영상으로부터 스켈레톤 영상인 제2 골프 영상을 생성하는 단계(S300)에서는, 상기 골프 동작이 학습된 인공 신경망 모델에 기초하여, 상기 제1 골프 영상(VIMG1)으로부터 사용자의 골프 동작에 대응되는 스켈레톤 영상인 제2 골프 영상(VIMG2)을 생성하고, 사용자의 신체 및 골프 클럽에 대한 각 관절을 추출하여 상기 제2 골프 영상(VIMG2) 상에 표시하도록 구성된다. 예를 들어, 서로 다른 시점의 복수의 제1 골프 영상(VIMG1)이 수신되는 경우, 각 시점에서의 골프 동작이 학습된 복수의 인공 신경망 모델에 기초하여, 서로 다른 시점의 복수의 제2 골프 영상(VIMG2)이 생성될 수 있다.In the step (S300) of generating a second golf image, which is a skeleton image, from the first golf image based on the artificial neural network model, the first golf image VIMG1 ), a skeleton image corresponding to the user's golf motion, a second golf image VIMG2 is generated, and each joint for the user's body and golf club is extracted and displayed on the second golf image VIMG2. . For example, when a plurality of first golf images VIMG1 at different viewpoints are received, a plurality of second golf images at different viewpoints based on a plurality of artificial neural network models in which golf motions at each viewpoint are learned (VIMG2) can be created.

구체적으로, 상기 제2 골프 영상(VIMG2)을 생성함에 있어서, 상기 제1 골프 영상(VIMG1)의 복수의 프레임 영상들 각각에 대한 특성을 추출하여 특성 맵(feature map)들을 생성하고, 이들을 연산하여, 상기 각각의 프레임 영상들에서 골프 동작에 있어서의 사용자의 신체의 20개의 관절뿐만 아니라 골프 클럽 상에 미리 정의된 관절에 대해서도 각각의 좌표를 추론하도록 구성된다. Specifically, in generating the second golf image VIMG2, feature maps are generated by extracting characteristics of each of a plurality of frame images of the first golf image VIMG1, and calculating these , From each of the frame images, it is configured to infer coordinates of not only 20 joints of the user's body in golf motion, but also joints predefined on the golf club.

상기 제2 골프 영상에 기초하여 사용자의 골프 동작을 분석하는 단계(S400)에서는, 상기 제2 골프 영상(VIMG2)에 표시되는 사용자의 신체 및 골프 클럽 상의 관절들 중, 분석의 대상이 되는 관절을 추출하고, 추출된 해당 관절의 좌표값을 이용하여 사용자의 골프 동작을 분석하도록 구성된다. In the step of analyzing the user's golf motion based on the second golf image (S400), among the joints on the user's body and golf club displayed in the second golf image VIMG2, a joint to be analyzed is selected. It is configured to extract and analyze the user's golf motion by using the extracted coordinate values of the corresponding joint.

예를 들어, 어드레스부터 테이크백, 백스윙탑, 다운스윙, 임팩트, 팔로우스루 및 피니쉬까지의 골프 동작의 각 구분 동작별로 분석에 있어 기초가 되는 관절에 대한 미리 저장된 정보들을 참조하여, 해당 구분 동작시, 관련된 관절을 추출하고, 해당 관절의 절대 위치, 다른 관절과의 상대 위치, 이동 방향, 이동 속도, 및 이동한 궤적 등을 분석된다.For example, by referring to pre-stored information on the joints that are the basis for analysis for each classification movement of golf movements from address to takeback, backswing top, downswing, impact, follow-through and finish, when the corresponding classification operation , Related joints are extracted, and the absolute position of the joint, relative position with other joints, movement direction, movement speed, and movement trajectory are analyzed.

한편, 상기 제2 골프 영상(VIMG2)의 골프 동작 중 사용자의 신체 및 골프 클럽 상에 표시되는 각 관절들은 딥러닝을 이용한 골프 동작이 학습된 인공 신경망 모델에 기초한 것으로, 연속성있는 각각의 프레임 영상에 표시된 각 관절의 위치에 기초하여, 각 관절의 위치 또는 이동을 추론하기 때문에, 상기 제2 골프 영상(VIMG2)의 골프 동작 중 신체가 겹쳐져 영상에 나타나지 않는 부분의 관절에 대해서도 그 위치를 추출할 수 있다. Meanwhile, the joints displayed on the user's body and golf club among the golf movements of the second golf image VIMG2 are based on an artificial neural network model in which golf movements using deep learning have been learned, and each frame image with continuity is Since the position or movement of each joint is inferred based on the position of each joint displayed, the position can be extracted even for the joint of the part where the body overlaps and does not appear in the image during the golf motion of the second golf image VIMG2. have.

이에 따라, 본 발명의 일 실시예에 따른 골프 동작 분석 방법에서는, 사용자의 신체에 가려져 영상에 나타나지 않는 부분의 관절에 대해서도 추적이 가능하며, 특히 팔로우스루 동작에 있어서, 사용자의 몸체에 가려져 영상에 나타나지 않는 손의 궤적나 골프 클럽의 궤적을 추적할 수 있다.Accordingly, in the golf motion analysis method according to an embodiment of the present invention, it is possible to track joints in portions that are covered by the user's body and not appear in the image. In particular, in the follow-through operation, the body is covered by the user's body. You can track the trajectory of the hand that does not appear or the trajectory of the golf club.

또한, 본 발명의 일 실시예에 따른 골프 동작 분석 방법에서는, 골프 동작이 학습된 인공 신경망 모델에 기초하여, 사용자의 신체에 대한 관절의 좌표 정보와 함께 골프 클럽에 대해 미리 정의된 관절의 좌표 정보를 추출함으로써, 사용자의 골프 동작에 있어서, 사용자의 신체와 골프 클럽의 상호 위치 관계 및 골프 클럽의 움직임에 대해서도 분석할 수 있다. In addition, in the golf motion analysis method according to an embodiment of the present invention, based on the artificial neural network model in which the golf motion is learned, coordinate information of a joint predefined for a golf club together with coordinate information of a joint for a user's body By extracting, in the user's golf motion, it is possible to analyze the mutual positional relationship between the user's body and the golf club and the movement of the golf club.

도 7은 본 발명의 실시예들에 따른 골프 동작 분석 장치를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.7 is a block diagram illustrating a computing system including a golf motion analysis apparatus according to embodiments of the present invention.

도 7을 참조하면, 본 발명의 실시예들에 따른 골프 동작 분석 방법 및 장치는, 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램 코드를 포함하는 제품 등의 형태로 구현될 수도 있다. 상기 컴퓨터로 판독 가능한 프로그램 코드는 다양한 컴퓨터 또는 다른 데이터 처리 장치의 프로세서로 제공될 수 있다. 상기 컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 기록 매체일 수 있다. 상기 컴퓨터로 판독 가능한 기록 매체는 명령어 실행 시스템, 장비 또는 장치 내에 또는 이들과 접속되어 프로그램을 저장하거나 포함할 수 있는 임의의 유형적인 매체일 수 있다.Referring to FIG. 7, the golf motion analysis method and apparatus according to embodiments of the present invention may be implemented in the form of a product including a computer-readable program code stored in a computer-readable medium. The computer-readable program code may be provided by processors of various computers or other data processing devices. The computer-readable medium may be a computer-readable signal medium or a computer-readable recording medium. The computer-readable recording medium may be any tangible medium that can store or contain a program in or connected to an instruction execution system, equipment, or device.

상기 컴퓨팅 시스템(1000)은 프로세서(1010) 및 골프 동작 분석 장치(100)를 포함한다. 컴퓨팅 시스템(1000)은 통신(connectivity)부(1020), 저장부(1030), 사용자 인터페이스(1050) 및 전원 공급부(1060)를 더 포함할 수 있다.The computing system 1000 includes a processor 1010 and a golf motion analysis apparatus 100. The computing system 1000 may further include a connectivity unit 1020, a storage unit 1030, a user interface 1050, and a power supply unit 1060.

프로세서(1010)는 특정 계산들 또는 태스크들과 같은 다양한 컴퓨팅 기능들을 실행할 수 있다. 예를 들어, 프로세서(1010)는 CPU, 마이크로프로세서, AP(application processor) 등과 같은 임의의 프로세서일 수 있다. 프로세서(1010)는 컴퓨팅 시스템(1000)을 구동하기 위한 운영 체제(operating system; OS)를 실행할 수 있고, 인터넷 브라우저, 게임, 동영상, 카메라 등을 제공하는 다양한 어플리케이션들을 실행할 수 있다.Processor 1010 may perform various computing functions, such as specific calculations or tasks. For example, the processor 1010 may be an arbitrary processor such as a CPU, a microprocessor, or an application processor (AP). The processor 1010 may execute an operating system (OS) for driving the computing system 1000, and may execute various applications that provide Internet browsers, games, videos, cameras, and the like.

골프 동작 분석 장치(100)는 프로세서(1010)에 의해 제어된다. 골프 동작 분석 장치(100)는 도 2의 장치일 수 있으며, 도 1 내지 6을 참조하여 상술한 방식에 기초하여 동작하고 움직임 특성 네트워크 시스템을 형성할 수 있다. 실시예에 따라서, 골프 동작 분석 장치(100)의 일부는 프로세서(1010) 및/또는 저장부(1030)에 포함될 수 있다.The golf motion analysis apparatus 100 is controlled by the processor 1010. The golf motion analysis apparatus 100 may be the device of FIG. 2, and may operate based on the method described above with reference to FIGS. 1 to 6 and form a motion characteristic network system. Depending on the embodiment, a part of the golf motion analysis apparatus 100 may be included in the processor 1010 and/or the storage unit 1030.

통신부(1020)는 외부 장치와 통신을 수행할 수 있다. 예를 들어, 통신부(1020)는 범용 직렬 버스(Universal Serial Bus; USB) 통신, 이더넷(Ethernet) 통신, 근거리 무선 통신(Near Field Communication; NFC), 무선 식별(Radio Frequency Identification; RFID) 통신, 이동 통신(Mobile Telecommunication), 메모리 카드 통신 등을 수행할 수 있다.The communication unit 1020 may communicate with an external device. For example, the communication unit 1020 is a universal serial bus (USB) communication, Ethernet communication, near field communication (NFC), radio frequency identification (RFID) communication, mobile Communication (mobile telecommunication), memory card communication, etc. may be performed.

저장부(1030)는 프로세서(1010)에 의해 처리되는 데이터를 저장하거나, 동작 메모리(working memory)로서 작동할 수 있다. 저장부(1030)는 컴퓨팅 시스템(1000)을 부팅하기 위한 부트 이미지(boot image), 컴퓨팅 시스템(1000)을 구동하기 위한 상기 운영 체제와 관련된 파일 시스템(file system), 컴퓨팅 시스템(1000)과 연결되는 외부 장치와 관련된 장치 드라이버(device driver), 컴퓨팅 시스템(1000)에서 실행되는 상기 어플리케이션 등을 저장할 수 있다. 예를 들어, 저장부(1030)는 DRAM, SRAM 등과 같은 적어도 하나의 휘발성 메모리를 포함할 수도 있고, EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리, PRAM, RRAM, NFGM, PoRAM, MRAM, FRAM 등과 같은 적어도 하나의 비휘발성 메모리를 포함할 수도 있다.The storage unit 1030 may store data processed by the processor 1010 or may operate as a working memory. The storage unit 1030 is connected to a boot image for booting the computing system 1000, a file system related to the operating system for driving the computing system 1000, and the computing system 1000 A device driver related to an external device to be used, the application executed in the computing system 1000, and the like may be stored. For example, the storage unit 1030 may include at least one volatile memory such as DRAM, SRAM, etc., and EEPROM (Electrically Erasable Programmable Read-Only Memory), flash memory, PRAM, RRAM, NFGM, PoRAM, MRAM, It may also include at least one nonvolatile memory such as FRAM.

사용자 인터페이스(1050)는 키패드, 버튼, 마이크, 터치 스크린 등과 같은 하나 이상의 입력 장치, 및/또는 스피커, 디스플레이 장치 등과 같은 하나 이상의 출력 장치를 포함할 수 있다. 전원 공급부(1060)는 컴퓨팅 시스템(1000)의 동작 전압을 공급할 수 있다.The user interface 1050 may include one or more input devices such as keypads, buttons, microphones, and touch screens, and/or one or more output devices such as speakers and display devices. The power supply unit 1060 may supply an operating voltage of the computing system 1000.

일 실시예에서, 컴퓨팅 시스템(1000)은 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트 폰(smart phone), MP3 플레이어, PDA(personal digital assistant), PMP(portable multimedia player), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, IoT(internet of things) 기기, IoE(internet of everything) 기기, e-북(e-book), VR(virtual reality) 기기, AR(augmented reality) 기기 등과 같은 임의의 전자 기기 또는 휴대 기기일 수 있다.In one embodiment, the computing system 1000 includes a computer, a laptop, a cellular, a smart phone, an MP3 player, a personal digital assistant (PDA), a portable multimedia player (PMP), Digital TV, digital camera, portable game console, navigation device, wearable device, internet of things (IoT) device, internet of everything (IoE) device, e-book ), a virtual reality (VR) device, an augmented reality (AR) device, or the like.

본 발명의 실시예들에 따른 골프 동작 분석 방법 및 장치는, 컴퓨터에 의해 실행되는 프로그램 듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 두 포함한다.The golf motion analysis method and apparatus according to embodiments of the present invention may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable 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.

또한, 본 발명의 실시예들에 따른 골프 동작 분석 방법 및 장치는, 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드 디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.In addition, the golf motion analysis method and apparatus according to embodiments of the present invention may be implemented as a computer program (or computer program product) including instructions executable by a computer. The computer program includes programmable machine instructions processed by a processor, and may be implemented in a high-level programming language, an object-oriented programming language, an assembly language, or a machine language. . Further, the computer program may be recorded on a tangible computer-readable recording medium (eg, memory, hard disk, magnetic/optical medium or solid-state drive (SSD), etc.).

따라서, 본 발명의 실시예들에 따른 골프 동작 분석 방법 및 장치는, 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 마더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.Accordingly, the golf motion analysis method and apparatus according to the embodiments of the present invention may be implemented by executing the computer program as described above by the computing device. The computing device may include at least some of a processor, a Mary, a storage device, a high speed interface connected to the memory and a high speed expansion port, and a low speed interface connected to the low speed bus and the storage device. Each of these components is connected to each other using a variety of buses, and can be mounted on a common motherboard or in other suitable manner.

여기서, 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및/또는 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및/또는 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.Here, the processor can process commands within the computing device, such as displaying graphic information for providing a GUI (Graphic User Interface) on an external input or output device, such as a display connected to a high-speed interface. For example, instructions stored in memory or storage devices As another embodiment, multiple processors and/or multiple buses can be used with multiple memories and memory types as appropriate. Also, the processor may be implemented as a chipset formed by chips including a plurality of independent analog and/or digital processors.

또한, 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.Also, the memory stores information within the computing device. As an example, the memory may be composed of volatile memory units or a set of them. As another example, the memory may be composed of a nonvolatile memory unit or a set of them. Also, the memory may be another type of computer-readable medium such as a magnetic or optical disk.

그리고, 저장장치는 컴퓨팅 장치에게 대량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.In addition, the storage device may provide a large amount of storage space to the computing device. The storage device may be a computer-readable medium or a configuration including such a medium, for example, devices in a storage area network (SAN) or other configurations, a floppy disk device, a hard disk device, an optical disk device, Or it may be a tape device, a flash memory, or another semiconductor memory device or device array similar thereto.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.Although described above with reference to the preferred embodiments of the present invention, those skilled in the art will be able to variously modify and change the present invention within the scope not departing from the spirit and scope of the present invention described in the following claims. You will understand that you can.

10: 카메라부
100: 골프 동작 분석 장치
110: 입력 버퍼
120: 프로세싱 소자
121: 스켈레톤 영상 생성부
123: 동작 분석부
125: 관절 추출 모델 학습부
130: 출력 버퍼
140: 파라미터 버퍼
150: 메모리
10: camera unit
100: golf motion analysis device
110: input buffer
120: processing element
121: skeleton image generator
123: motion analysis unit
125: joint extraction model learning unit
130: output buffer
140: parameter buffer
150: memory

Claims (17)

사용자의 골프 동작을 분석하는 골프 동작 분석 방법에 있어서,
골프 동작을 촬영한 제1 학습용 골프 영상 및 상기 제1 학습용 골프 영상에 기초하여 생성된 스켈레톤 영상인 제2 학습용 골프 영상에 기초하여 골프 동작이 학습된 인공 신경망 모델을 학습시키는 단계;
분석하고자 하는 사용자의 골프 동작을 촬영한 사용자의 제1 골프 영상이 입력되는 단계;
상기 골프 동작이 학습된 인공 신경망 모델에 기초하여, 상기 제1 골프 영상으로부터 스켈레톤 영상인 제2 골프 영상을 생성하는 단계; 및
상기 제2 골프 영상에 기초하여 사용자의 골프 동작을 분석하는 단계를 포함하는 골프 동작 분석 방법.
In the golf motion analysis method for analyzing the user's golf motion,
Learning an artificial neural network model in which a golf motion is learned based on a first golf image for training photographing a golf motion and a second golf image for training, which is a skeleton image generated based on the first golf image for training;
Inputting a user's first golf image, which has captured the user's golf motion to be analyzed;
Generating a second golf image, which is a skeleton image, from the first golf image based on the artificial neural network model in which the golf motion is learned; And
Golf motion analysis method comprising the step of analyzing a user's golf motion based on the second golf image.
제1 항에 있어서,
상기 제2 학습용 골프 영상은 각각의 프레임 영상들에 골프 동작에 있어서의 신체의 관절뿐만 아니라 골프 클럽 상에 미리 정의된 관절의 정보를 포함하는 골프 동작 분석 방법.
The method of claim 1,
The second golf image for learning includes, in each of the frame images, not only a joint of a body in a golf motion, but also information of a joint predefined on a golf club.
제1 항에 있어서,
상기 제2 골프 영상에는 사용자의 골프 동작 중 신체의 관절 및 골프 클럽 상의 미리 정의된 관절이 표시되는 골프 동작 분석 장치.
The method of claim 1,
A golf motion analysis apparatus in which a joint of a body and a predefined joint on a golf club are displayed on the second golf image.
제2 항 또는 제3 항에 있어서,
상기 미리 정의된 관절은,
상기 골프 클럽 상에 골프 그립이 끝나는 손잡이의 지점에 정의된 제1 관절;
상기 골프 클럽의 샤프트의 길이 방향으로 중앙 위치에 정의된 제2 관절; 및
상기 골프 클럽의 헤드에 정의된 제3 관절을 포함하는 골프 동작 분석 방법.
The method according to claim 2 or 3,
The predefined joint,
A first joint defined at a point of a handle on the golf club at which a golf grip ends;
A second joint defined at a central position in the longitudinal direction of the shaft of the golf club; And
Golf motion analysis method including a third joint defined in the head of the golf club.
제4 항에 있어서,
상기 미리 정의된 관절은, 상기 골프 클럽 상의 샤프트의 헤드쪽 단부 지점에 정의된 제4 관절을 더 포함하는 골프 동작 분석 방법.
The method of claim 4,
The predefined joint further includes a fourth joint defined at a head end point of the shaft on the golf club.
제1 항에 있어서,
상기 인공 신경망 모델을 학습시키는 단계에 있어서, 상기 제1 학습용 골프 영상 및 상기 제2 학습용 골프 영상의 각각의 영상 프레임을 골프 동작의 어드레스(address)부터 테이크백(take-back), 백스윙탑(backswing top), 다운스윙(downswing), 임팩트(impact), 팔로우스루(follow through) 및 피니쉬(finish)까지의 구분 동작 별로 분류하여 상기 인공 신경망 모델을 학습시키는 골프 동작 분석 방법.
The method of claim 1,
In the step of training the artificial neural network model, each image frame of the first training golf image and the second training golf image is processed from an address of a golf motion to a take-back and a backswing. top), downswing, impact, follow through, and finish. Golf motion analysis method for training the artificial neural network model by classifying each motion.
제1 항에 있어서,
상기 인공 신경망 모델은 특정의 시점(view point)에서의 2차원의 골프 동작에 기초하여 학습되고, 입력되는 상기 제1 골프 영상은 상기 특정의 시점에서 촬영된 사용자의 2차원의 골프 영상인 골프 동작 분석 방법.
The method of claim 1,
The artificial neural network model is learned based on a two-dimensional golf motion at a specific view point, and the input first golf image is a golf motion, which is a two-dimensional golf image of the user photographed at the specific point of view. Analysis method.
제1 항에 있어서,
상기 인공 신경망 모델은 서로 다른 시점에서의 2차원의 골프 동작에 기초하여 학습된 복수 개로 구성되고, 입력되는 상기 제1 골프 영상은 상기 서로 다른 시점의 각 시점에서 촬영된 사용자의 복수의 2차원의 골프 영상들인 골프 동작 분석 방법.
The method of claim 1,
The artificial neural network model is composed of a plurality of pieces learned based on two-dimensional golf motions at different viewpoints, and the input first golf image is a plurality of two-dimensional images of the user captured at each viewpoint at the different viewpoints. Golf motion analysis method of golf images.
제1 항에 있어서,
상기 인공 신경망 모델은 3차원의 골프 동작에 기초하여 학습되고, 입력되는 상기 제1 골프 영상은 사용자의 3차원의 골프 영상인 골프 동작 분석 방법.
The method of claim 1,
The artificial neural network model is learned based on a three-dimensional golf motion, and the input first golf image is a three-dimensional golf image of a user.
제1 항에 있어서,
상기 인공 신경망 모델은 특정의 시점에서의 2차원의 골프 동작에 기초하여 학습되고, 입력되는 상기 제1 골프 영상이 사용자의 3차원의 골프 영상인 경우, 상기 제1 골프 영상으로부터 상기 제2 골프 영상을 생성하기 전에, 상기 제1 골프 영상을 상기 특정의 시점에서의 사용자의 2차원의 골프 영상으로 변환하는 골프 동작 분석 방법.
The method of claim 1,
The artificial neural network model is learned based on a two-dimensional golf motion at a specific point in time, and when the input first golf image is a user's three-dimensional golf image, the second golf image from the first golf image Before generating the golf motion analysis method of converting the first golf image into a two-dimensional golf image of the user at the specific viewpoint.
딥러닝을 이용한 골프 동작이 학습된 인공 신경망 모델에 기초하여, 분석하고자 하는 사용자의 골프 동작을 촬영한 적어도 하나의 제1 골프 영상으로부터 스켈레톤 영상인 제2 골프 영상을 생성하도록 구성된 스켈레톤 영상 생성부; 및
상기 제2 골프 영상에 표시되는 관절들 중 분석의 대상이 되는 관절을 추출하고, 추출된 관절의 좌표값을 이용하여 사용자의 골프 동작을 분석하도록 구성되는 동작 분석부를 포함하는 골프 동작 분석 장치.
A skeleton image generator configured to generate a second golf image, which is a skeleton image, from at least one first golf image photographing a golf motion of a user to be analyzed, based on an artificial neural network model in which golf motions using deep learning are learned; And
A golf motion analysis apparatus comprising a motion analysis unit configured to extract a joint to be analyzed from among the joints displayed in the second golf image, and analyze a user's golf motion using the extracted coordinate values of the joint.
제11 항에 있어서,
골프 동작을 촬영한 제1 학습용 골프 영상 및 상기 제1 학습용 골프 영상에 기초하여 생성된 스켈레톤 영상인 제2 학습용 골프 영상에 기초하여 골프 동작이 학습된 상기 인공 신경망 모델을 학습(training)시키도록 구성된 관절 추출 모델 학습부를 더 포함하는 골프 동작 분석 장치.
The method of claim 11,
It is configured to train the artificial neural network model in which golf motions are learned based on a first golf image for training photographing a golf motion and a second golf image for training, which is a skeleton image generated based on the first golf image for training. Golf motion analysis apparatus further comprising a joint extraction model learning unit.
제12 항에 있어서,
상기 관절 추출 모델 학습부는, 각각의 프레임 영상들에 골프 동작에 있어서의 신체의 관절뿐만 아니라 골프 클럽 상에 미리 정의된 관절의 정보가 포함된 상기 제2 학습용 골프 영상에 기초하여 상기 인공 신경망 모델을 학습시키도록 구성된 골프 동작 분석 장치.
The method of claim 12,
The joint extraction model learning unit generates the artificial neural network model on the basis of the second golf image for training, which includes information on a joint predefined on a golf club as well as a joint of a body in a golf motion in each frame image. Golf motion analysis device configured to learn.
제11 항에 있어서,
상기 제2 골프 영상에 표시되는 관절은, 사용자의 골프 동작 중 신체의 관절 및 골프 클럽 상의 미리 정의된 관절을 포함하는 골프 동작 분석 장치.
The method of claim 11,
A golf motion analysis apparatus including a joint of the body and a pre-defined joint on a golf club among the user's golf motions, which are displayed on the second golf image.
제13 항 또는 제14 항에 있어서,
상기 미리 정의된 관절은,
상기 골프 클럽 상에 골프 그립이 끝나는 손잡이의 지점에 정의된 제1 관절;
상기 골프 클럽의 샤프트의 길이 방향으로 중앙 위치에 정의된 제2 관절; 및
상기 골프 클럽의 헤드에 정의된 제3 관절을 포함하는 골프 동작 분석 장치.
The method of claim 13 or 14,
The predefined joint,
A first joint defined at a point of a handle on the golf club at which a golf grip ends;
A second joint defined at a central position in the longitudinal direction of the shaft of the golf club; And
Golf motion analysis apparatus including a third joint defined in the head of the golf club.
제15 항에 있어서,
상기 미리 정의된 관절은, 상기 골프 클럽 상의 샤프트의 헤드쪽 단부 지점에 정의된 제4 관절을 더 포함하는 골프 동작 분석 장치.
The method of claim 15,
The predefined joint further comprises a fourth joint defined at a head end point of the shaft on the golf club.
제12 항에 있어서,
상기 관절 추출 모델 학습부는, 상기 제1 학습용 골프 영상 및 상기 제2 학습용 골프 영상의 각각의 영상 프레임을 골프 동작의 어드레스(address)부터 테이크백(take-back), 백스윙탑(backswing top), 다운스윙(downswing), 임팩트(impact), 팔로우스루(follow through) 및 피니쉬(finish)까지의 구분 동작 별로 분류하여 상기 인공 신경망 모델을 학습시키도록 구성된 골프 동작 분석 장치.
The method of claim 12,
The joint extraction model learning unit includes a take-back, a backswing top, and a down of each image frame of the first training golf image and the second training golf image from an address of a golf motion. A golf motion analysis apparatus configured to train the artificial neural network model by classifying it by divisional motions such as downswing, impact, follow through, and finish.
KR1020190030226A 2019-03-17 2019-03-17 Method and apparatus of analyzing golf motion KR102353637B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190030226A KR102353637B1 (en) 2019-03-17 2019-03-17 Method and apparatus of analyzing golf motion

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190030226A KR102353637B1 (en) 2019-03-17 2019-03-17 Method and apparatus of analyzing golf motion

Publications (2)

Publication Number Publication Date
KR20200115729A true KR20200115729A (en) 2020-10-08
KR102353637B1 KR102353637B1 (en) 2022-01-21

Family

ID=72897274

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190030226A KR102353637B1 (en) 2019-03-17 2019-03-17 Method and apparatus of analyzing golf motion

Country Status (1)

Country Link
KR (1) KR102353637B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102241414B1 (en) * 2020-10-23 2021-04-19 아이디어링크 주식회사 Electronic device for providing a feedback for a specivic motion using a machine learning model a and machine learning model and method for operating thereof
WO2022080678A1 (en) * 2020-10-15 2022-04-21 주식회사 모아이스 Method, system, and non-transitory computer-readable recording medium for estimating information on golf swing posture
WO2022102958A1 (en) * 2020-11-16 2022-05-19 주식회사 모아이스 Method and system for estimating information related to golf swing, and non-transitory computer-readable recording medium
KR20220089861A (en) * 2020-12-22 2022-06-29 건국대학교 산학협력단 Motion recongnition method and device
WO2022149811A1 (en) * 2021-01-08 2022-07-14 주식회사 모아이스 Method and device for estimating information about golf swing, and non-transitory computer-readable recording medium
KR102491025B1 (en) * 2022-02-25 2023-01-20 (주)어나더리얼 A method for generating a training dataset

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130011478A (en) * 2011-07-21 2013-01-30 (주) 큐알온텍 System and method for analising swing of golf
KR101394274B1 (en) 2013-11-27 2014-05-13 (주) 골프존 Method for human body detection by analysis of depth information and apparatus for analyzing depth information for human body detection
KR101428922B1 (en) * 2013-04-19 2014-08-11 한밭대학교 산학협력단 Golf swing classification apparatus and method using fuzzy system
KR20160121379A (en) * 2015-04-09 2016-10-19 한국전자통신연구원 Apparatus and method for analyzing golf motion
KR20180062069A (en) 2016-11-30 2018-06-08 조선대학교산학협력단 Golf swing analysis system using inertial sensor and Multiple cameras and Golf swing analysis method using the same
KR20190019824A (en) * 2017-08-18 2019-02-27 강다겸 Method for providing posture guide and apparatus thereof
KR20190027222A (en) * 2017-09-06 2019-03-14 한국전자통신연구원 Training system based on learning and training service providing method thereof

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130011478A (en) * 2011-07-21 2013-01-30 (주) 큐알온텍 System and method for analising swing of golf
KR101428922B1 (en) * 2013-04-19 2014-08-11 한밭대학교 산학협력단 Golf swing classification apparatus and method using fuzzy system
KR101394274B1 (en) 2013-11-27 2014-05-13 (주) 골프존 Method for human body detection by analysis of depth information and apparatus for analyzing depth information for human body detection
KR20160121379A (en) * 2015-04-09 2016-10-19 한국전자통신연구원 Apparatus and method for analyzing golf motion
KR20180062069A (en) 2016-11-30 2018-06-08 조선대학교산학협력단 Golf swing analysis system using inertial sensor and Multiple cameras and Golf swing analysis method using the same
KR20190019824A (en) * 2017-08-18 2019-02-27 강다겸 Method for providing posture guide and apparatus thereof
KR20190027222A (en) * 2017-09-06 2019-03-14 한국전자통신연구원 Training system based on learning and training service providing method thereof

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022080678A1 (en) * 2020-10-15 2022-04-21 주식회사 모아이스 Method, system, and non-transitory computer-readable recording medium for estimating information on golf swing posture
KR102241414B1 (en) * 2020-10-23 2021-04-19 아이디어링크 주식회사 Electronic device for providing a feedback for a specivic motion using a machine learning model a and machine learning model and method for operating thereof
US11918883B2 (en) 2020-10-23 2024-03-05 IdeaLink Inc. Electronic device for providing feedback for specific movement using machine learning model and operating method thereof
WO2022102958A1 (en) * 2020-11-16 2022-05-19 주식회사 모아이스 Method and system for estimating information related to golf swing, and non-transitory computer-readable recording medium
KR20220066719A (en) * 2020-11-16 2022-05-24 주식회사 모아이스 Method, system and non-transitory computer-readable recording medium for estimating information on golf swing
KR20220089861A (en) * 2020-12-22 2022-06-29 건국대학교 산학협력단 Motion recongnition method and device
WO2022149811A1 (en) * 2021-01-08 2022-07-14 주식회사 모아이스 Method and device for estimating information about golf swing, and non-transitory computer-readable recording medium
KR102491025B1 (en) * 2022-02-25 2023-01-20 (주)어나더리얼 A method for generating a training dataset

Also Published As

Publication number Publication date
KR102353637B1 (en) 2022-01-21

Similar Documents

Publication Publication Date Title
KR102353637B1 (en) Method and apparatus of analyzing golf motion
JP7273880B2 (en) Virtual object driving method, device, electronic device and readable storage medium
Memo et al. Head-mounted gesture controlled interface for human-computer interaction
US11610331B2 (en) Method and apparatus for generating data for estimating three-dimensional (3D) pose of object included in input image, and prediction model for estimating 3D pose of object
CN108369643B (en) Method and system for 3D hand skeleton tracking
US11379996B2 (en) Deformable object tracking
CN107833271B (en) Skeleton redirection method and device based on Kinect
CN111402290B (en) Action restoration method and device based on skeleton key points
CN110827383B (en) Attitude simulation method and device of three-dimensional model, storage medium and electronic equipment
CN111208783B (en) Action simulation method, device, terminal and computer storage medium
CN111488824A (en) Motion prompting method and device, electronic equipment and storage medium
CN108284436B (en) Remote mechanical double-arm system with simulation learning mechanism and method
CN103955295A (en) Real-time grabbing method of virtual hand based on data glove and physical engine
CN113362452B (en) Hand posture three-dimensional reconstruction method and device and storage medium
CN113034652A (en) Virtual image driving method, device, equipment and storage medium
EP3987443A1 (en) Recurrent multi-task convolutional neural network architecture
US11721056B2 (en) Motion model refinement based on contact analysis and optimization
US20220362630A1 (en) Method, device, and non-transitory computer-readable recording medium for estimating information on golf swing
KR102250163B1 (en) Method and apparatus of converting 3d video image from video image using deep learning
CN110008873B (en) Facial expression capturing method, system and equipment
Usabiaga et al. Global hand pose estimation by multiple camera ellipse tracking
US20230285802A1 (en) Method, device, and non-transitory computer-readable recording medium for estimating information on golf swing
Kondori et al. A direct method for 3d hand pose recovery
KR20220086971A (en) Method and apparatus of tracking hand joint
KR102342760B1 (en) The golf image learning apparatus based on the artificial intelligence, and the method thereof and recording medium

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
Z072 Maintenance of patent after cancellation proceedings: certified copy of decision transmitted [new post grant opposition system as of 20170301]
Z131 Decision taken on request for patent cancellation [new post grant opposition system as of 20170301]
Z072 Maintenance of patent after cancellation proceedings: certified copy of decision transmitted [new post grant opposition system as of 20170301]