KR102514697B1 - Apparatus and method for analyzing golf motion - Google Patents

Apparatus and method for analyzing golf motion Download PDF

Info

Publication number
KR102514697B1
KR102514697B1 KR1020160006966A KR20160006966A KR102514697B1 KR 102514697 B1 KR102514697 B1 KR 102514697B1 KR 1020160006966 A KR1020160006966 A KR 1020160006966A KR 20160006966 A KR20160006966 A KR 20160006966A KR 102514697 B1 KR102514697 B1 KR 102514697B1
Authority
KR
South Korea
Prior art keywords
image
user
motion
depth
depth image
Prior art date
Application number
KR1020160006966A
Other languages
Korean (ko)
Other versions
KR20160121379A (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 US15/078,280 priority Critical patent/US10186041B2/en
Publication of KR20160121379A publication Critical patent/KR20160121379A/en
Application granted granted Critical
Publication of KR102514697B1 publication Critical patent/KR102514697B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • A63B24/0006Computerised comparison for qualitative assessment of motion sequences or the course of a movement
    • 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/0062Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B60/00Details or accessories of golf clubs, bats, rackets or the like
    • A63B60/46Measurement devices associated with golf clubs, bats, rackets or the like for measuring physical parameters relating to sporting activity, e.g. baseball bats with impact indicators or bracelets for measuring the golf swing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/36Training appliances or apparatus for special sports for golf
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/806Video cameras

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Psychiatry (AREA)

Abstract

효율적으로 고속 촬영을 구현하였으며, 스켈레톤 정보 추출로 동작을 세밀하게 분석함으로써 사용자에게 보다 정확하고 다양한 정보를 제공할 수 있는 골프 동작 분석 기술이 개시된다. 이를 위해, 본 발명의 일 실시예에 따른 골프 동작 분석 방법은 카메라부의 영상 센서에서 사용자의 동작에 대한 2차원 영상을 획득하는 단계; 2차원 영상을 획득하는 것과 시간적으로 교대로 카메라부의 깊이 센서에서 2차원 영상의 각 픽셀에 대한 깊이 값을 포함하는 뎁스 영상을 획득하는 단계; 소정 시각에 획득한 기준 2차원 영상 혹은 기준 뎁스 영상에 대응하는 대응 뎁스 영상 혹은 대응 2차원 영상을 생성하는 촬영 속도 증가 단계; 기준 2차원 영상 및 대응 뎁스 영상 혹은 기준 뎁스 영상 및 대응 2차원 영상을 동작 분석을 위한 출력 데이터로 출력하는 단계; 출력 데이터에 대한 분석을 통해 사용자의 스켈레톤 정보를 추출하는 단계; 및 스켈레톤 정보에 기반하여 사용자의 동작을 표시부에 표시하는 단계를 포함하는 것을 특징으로 한다. A golf motion analysis technique capable of efficiently implementing high-speed shooting and providing more accurate and diverse information to a user by analyzing motions in detail by extracting skeleton information is disclosed. To this end, a golf motion analysis method according to an embodiment of the present invention includes acquiring a two-dimensional image of a user's motion from an image sensor of a camera unit; obtaining a depth image including a depth value for each pixel of the 2D image from a depth sensor of a camera unit temporally alternately with obtaining a 2D image; a photographing speed increasing step of generating a corresponding depth image or a corresponding 2D image corresponding to a reference 2D image or a reference depth image acquired at a predetermined time; outputting the reference 2D image and the corresponding depth image or the reference depth image and the corresponding 2D image as output data for motion analysis; extracting user's skeleton information through analysis of the output data; and displaying the user's motion on a display unit based on the skeleton information.

Description

골프 동작 분석 장치 및 방법{APPARATUS AND METHOD FOR ANALYZING GOLF MOTION}Apparatus and method for analyzing golf motion {APPARATUS AND METHOD FOR ANALYZING GOLF MOTION}

본 발명은 골프 동작 분석 장치 및 방법에 관한 것으로, 특히 본 발명은 효율적으로 고속 촬영을 구현하였으며, 스켈레톤 정보 추출로 동작을 세밀하게 분석함으로써 사용자에게 보다 정확하고 다양한 정보를 제공할 수 있는 골프 동작 분석 장치 및 방법에 관한 것이다. The present invention relates to an apparatus and method for analyzing golf motions, and in particular, the present invention effectively implements high-speed shooting and analyzes golf motions that can provide more accurate and diverse information to users by analyzing motions in detail by extracting skeleton information. It relates to an apparatus and method.

골프는 힘보다 자세가 중요한 운동이다. 골프의 자세는 근육 기억법(Muslce Memory)을 통해 내재화되는데, 정확히 자세를 내재화시키기 위해서는 연습과 교정의 과정이 부단히 반복되어야 한다.Golf is a sport where posture is more important than strength. The golf posture is internalized through muscle memory, and in order to accurately internalize the posture, the process of practice and correction must be constantly repeated.

한편, 종래 전문가들의 코칭에 의해 이루어지던 교정 과정이 자가 학습에 의해 이루어질 수 있도록 도와주고 있는 것이 최근 도입되고 있는 카메라 기반 골프 동작 분석 시스템들이다. 이러한 카메라 기반 골프 동작 분석 시스템은 골프 동작을 촬영하는 카메라부와 촬영된 영상을 분석하는 분석부로 이루어지는데, 종래의 카메라 기반 골프 동작 분석 시스템에는 몇 가지 문제점들이 있었다.On the other hand, recently introduced camera-based golf motion analysis systems are helping the correction process performed by coaching by experts to be performed by self-learning. Such a camera-based golf motion analysis system includes a camera unit for photographing golf motions and an analysis unit for analyzing captured images. However, there are several problems in the conventional camera-based golf motion analysis system.

먼저, 골프 스윙 중 일부 동작은 고속으로 진행되는데 종래 카메라 기반 골프 동작 분석 시스템은 카메라 촬영속도의 한계로 이러한 일부 고속 동작을 제대로 촬영하지 못하는 문제가 있었다. 이러한 문제를 개선하기 위해 고속 카메라를 적용한 골프 동작 분석 시스템이 개발되기도 하였으나 이 또한 비용적인 측면에서 상용화의 한계를 가지고 있었다.First, some motions of the golf swing proceed at high speed, but the conventional camera-based golf motion analysis system has a problem in that some of the high-speed motions cannot be properly filmed due to the limitation of camera shooting speed. In order to improve these problems, a golf motion analysis system using a high-speed camera was developed, but this also had limitations in commercialization in terms of cost.

골프 스윙에서의 일부 고속 동작에 따른 문제는 분석부에서도 나타났다. 사용자에게 실시간 정보를 제공하기 위해서는 분석부가 카메라의 촬영속도 이상의 영상 처리 성능을 보유하고 있어야 하는데, 컴퓨팅 장비가 이러한 영상 처리 성능을 보유하지 못해 사용자에게 실시간 정보를 제공하지 못하는 문제가 있었다. 이러한 문제의 개선을 위해 고성능 컴퓨팅 장비가 포함된 시스템이 제시되기도 하였으나 이 또한 비용, 효율화 등의 측면에서 상용화의 한계를 가지고 있었다.Problems with some high-speed motions in the golf swing also appeared in the analysis unit. In order to provide real-time information to the user, the analysis unit must have image processing performance equal to or higher than the shooting speed of the camera. However, since the computing equipment does not have such image processing performance, there is a problem in that the real-time information cannot be provided to the user. To improve these problems, a system including high-performance computing equipment has been proposed, but this also has limitations in commercialization in terms of cost and efficiency.

종래 시스템은 촬영된 영상을 분석하는 기법에 있어서도 한계를 가지고 있었는데, 이는 시스템이 영상에서 추출하는 정보가 동작 분석에는 적합하지 않았기 때문이다. 예를 들어, 종래 시스템은 신체의 외곽 라인을 인식하여 신체 부위를 추출하고 이렇게 특정된 신체 부위들의 위치에 선 혹은 도형을 표시하는 방식으로 골프 동작을 분석하였다. 그런데, 이러한 방식에 의하면 신체가 겹치는 부분(예를 들어, 정면 촬영시 어드레스 자세에서 팔과 상체가 겹치는 부분)에서 신체 부위를 정확히 분리해 내지 못하거나 팔의 굽혀진 각도를 정확히 인식하지 못하는 한계가 있었다.Conventional systems have limitations in the technique of analyzing captured images, because the information extracted from the images by the system is not suitable for motion analysis. For example, conventional systems analyze golf motions by recognizing outlines of the body, extracting body parts, and displaying lines or figures at positions of the body parts specified in this way. However, according to this method, there is a limitation in that the body part cannot be accurately separated from the part where the body overlaps (for example, the part where the arm and the upper body overlap in the address posture during frontal shooting) or the bent angle of the arm cannot be accurately recognized. there was.

관련하여 한국공개특허 제2012-0021848호는 '골프스윙의 자세분석 시스템'을 개시한다.In relation, Korean Patent Publication No. 2012-0021848 discloses a 'system for analyzing the posture of a golf swing'.

본 발명의 목적은 효율적으로 고속 촬영을 구현한 골프 동작 분석 시스템을 제공하는 것이다. An object of the present invention is to provide a golf motion analysis system that efficiently implements high-speed shooting.

그리고, 본 발명은 사용자의 동작을 세밀하게 분석함으로써 사용자에게 보다 정확하고 다양한 정보를 제공하는 것을 목적으로 한다. In addition, an object of the present invention is to provide more accurate and diverse information to the user by analyzing the user's motion in detail.

또한, 본 발명은 고속 동작을 포함하고 있는 골프 스윙의 분석에 있어서, 사용자에게 실시간 정보를 제공하면서도 고속 동작 구간에 대한 안정적인 분석을 가능케 하는 것을 목적으로 한다.Another object of the present invention is to enable stable analysis of high-speed motion sections while providing real-time information to users in the analysis of golf swings including high-speed motions.

상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 골프 동작 분석 방법은 카메라부의 영상 센서에서 사용자의 동작에 대한 2차원 영상을 획득하는 단계; 상기 2차원 영상을 획득하는 것과 시간적으로 교대로 상기 카메라부의 깊이 센서에서 상기 2차원 영상의 각 픽셀에 대한 깊이 값을 포함하는 뎁스 영상을 획득하는 단계; 소정 시각에 획득한 기준 2차원 영상 혹은 기준 뎁스 영상에 대응하는 대응 뎁스 영상 혹은 대응 2차원 영상을 생성하는 촬영 속도 증가 단계; 상기 기준 2차원 영상 및 상기 대응 뎁스 영상 혹은 상기 기준 뎁스 영상 및 상기 대응 2차원 영상을 동작 분석을 위한 출력 데이터로 출력하는 단계; 상기 출력 데이터에 대한 분석을 통해 상기 사용자의 스켈레톤 정보를 추출하는 단계; 및 상기 스켈레톤 정보에 기반하여 상기 사용자의 동작을 표시부에 표시하는 단계를 포함한다. A golf motion analysis method according to an embodiment of the present invention for achieving the above object includes acquiring a two-dimensional image of a user's motion from an image sensor of a camera unit; acquiring a depth image including a depth value for each pixel of the 2D image from a depth sensor of the camera unit temporally alternately with acquiring the 2D image; a photographing speed increasing step of generating a corresponding depth image or a corresponding 2D image corresponding to a reference 2D image or a reference depth image acquired at a predetermined time; outputting the reference 2D image and the corresponding depth image or the reference depth image and the corresponding 2D image as output data for motion analysis; extracting skeleton information of the user through analysis of the output data; and displaying the motion of the user on a display unit based on the skeleton information.

이 때, 상기 촬영 속도 증가 단계는, 상기 깊이 센서가 제1 시각에 제1 뎁스 영상을 획득하는 단계; 상기 영상 센서가 제1 시각 이후의 제2 시각에 상기 기준 2차원 영상으로 제1 2차원 영상을 획득하는 단계; 상기 제1 뎁스 영상을 상기 영상 센서의 시점으로 투사하여 상기 제1 시각의 제2 뎁스 영상을 생성하는 단계; 상기 제1 2차원 영상과 상기 제2 뎁스 영상 사이의 모션 벡터를 추정하는 단계; 상기 모션 벡터를 이용하여 상기 제2 뎁스 영상으로부터 상기 제2 시각에서의 투사된 제3 뎁스 영상을 렌더링하는 단계; 및 상기 제3 뎁스 영상을 상기 깊이 센서 시점으로 투사하여 상기 대응 뎁스 영상으로 상기 제2 시각에서의 제4 뎁스 영상을 생성하는 단계를 포함하며, 상기 출력하는 단계에서는 상기 제1 2차원 영상과 상기 제4 뎁스 영상을 출력 데이터로 출력할 수 있다. In this case, the increasing of the photographing speed may include obtaining a first depth image at a first time by the depth sensor; obtaining, by the image sensor, a first 2D image as the reference 2D image at a second time after the first time; generating a second depth image of the first view by projecting the first depth image to the viewpoint of the image sensor; estimating a motion vector between the first 2D image and the second depth image; rendering a third depth image projected at the second viewpoint from the second depth image by using the motion vector; and projecting the third depth image to the depth sensor viewpoint to generate a fourth depth image at the second viewpoint using the corresponding depth image, wherein in the outputting, the first 2-dimensional image and the The fourth depth image may be output as output data.

이 때, 상기 촬영 속도 증가 단계는, 상기 영상 센서가 제1 시각에 제1 2차원 영상을 획득하는 단계; 상기 깊이 센서가 제1 시각 이후의 제2 시각에 상기 기준 뎁스 영상으로 제1 뎁스 영상을 획득하는 단계; 상기 제1 뎁스 영상을 상기 영상 센서의 시점으로 투사하여 제2 뎁스 영상을 생성하는 단계; 상기 제1 2차원 영상과 상기 제2 뎁스 영상 사이의 모션 벡터를 추정하는 단계; 및 상기 모션 벡터를 이용하여 상기 제1 2차원 영상으로부터 상기 대응 2차원 영상으로 상기 제2 시각에서의 제2 2차원 영상을 렌더링하는 단계를 포함하며, 상기 출력하는 단계에서는 상기 제1 뎁스 영상과 상기 제2 2차원 영상을 출력 데이터로 출력할 수 있다.At this time, the step of increasing the photographing speed may include acquiring a first 2-dimensional image at a first time by the image sensor; obtaining, by the depth sensor, a first depth image as the reference depth image at a second time after the first time; generating a second depth image by projecting the first depth image to the viewpoint of the image sensor; estimating a motion vector between the first 2D image and the second depth image; and rendering a second 2D image at the second viewpoint from the first 2D image to the corresponding 2D image using the motion vector, wherein in the outputting the first depth image and the corresponding 2D image The second 2D image may be output as output data.

이 때, 상기 스켈레톤 정보를 추출하는 단계는, 상기 출력 데이터의 픽셀 데이터를 추출하는 단계; 상기 픽셀 데이터에 기초하여, 상기 사용자에 해당하는 영역의 픽셀을 선정하는 사용자 영역화 단계; 사용자 영역화 된 픽셀들 각각에 대하여 스켈레톤 관절에 해당하는지에 대한 확률 분포값을 산정하는 단계; 상기 확률 분포값에 따라, 소정의 픽셀들에 대하여 스켈레톤 관절로 정의하는 단계; 상기 스켈레톤 관절로 정의된 소정의 픽셀들에서의 중심점을 정의하는 단계; 및 상기 중심점에 기초하여 상기 스켈레톤 정보를 완성하여 추출하는 단계를 포함할 수 있다. At this time, the step of extracting the skeleton information may include extracting pixel data of the output data; a user areaization step of selecting a pixel of an area corresponding to the user based on the pixel data; Calculating a probability distribution value for each of the user-area pixels corresponding to a skeleton joint; defining predetermined pixels as skeleton joints according to the probability distribution values; defining a center point of predetermined pixels defined as the skeleton joint; and completing and extracting the skeleton information based on the center point.

이 때, 상기 스켈레톤 관절을 정의하는 단계 및 상기 중심점을 정의하는 단계는, 상기 픽셀 데이터의 해상도를 낮추는 단계; 낮은 해상도에 기초하여 스켈레톤 관절 및 중심점을 정의하는 단계; 상기 픽셀 데이터의 해상도를 높이는 단계; 상기 낮은 해상도에 기초하여 도출된 중심점에서의 소정 거리만큼의 영역을 설정하는 단계; 및 상기 영역내에서의 픽셀에 기초하여 스켈레톤 관절 및 중심점을 재차 정의하는 단계를 포함할 수 있다. At this time, the step of defining the skeleton joint and the step of defining the center point may include lowering the resolution of the pixel data; Defining skeleton joints and center points based on low resolution; increasing the resolution of the pixel data; setting an area of a predetermined distance from the center point derived based on the low resolution; and re-defining a skeleton joint and a center point based on pixels within the region.

이 때, 상기 픽셀 데이터는 각 픽셀의 깊이 정보, RGB값, 및 조도 값 중 적어도 하나일 수 있다. In this case, the pixel data may be at least one of depth information, RGB values, and illuminance values of each pixel.

이 때, 상기 출력하는 단계에서는, 상기 사용자의 동작 속도에 따라 동작 분석을 위한 출력 데이터의 양을 조절할 수 있다.At this time, in the outputting step, the amount of output data for motion analysis may be adjusted according to the motion speed of the user.

이 때, 상기 출력하는 단계에서, 상기 사용자의 동작 속도가 기 설정된 수치 미만인 경우, 상기 기준 2차원 영상 및 상기 대응 뎁스 영상 혹은 상기 기준 뎁스 영상 및 상기 대응 2차원 영상 중 전부를 실시간으로 동작 분석을 위한 출력 데이터로 출력하고, 상기 사용자의 동작 속도가 기 설정된 수치 이상인 경우, 상기 기준 2차원 영상 및 상기 대응 뎁스 영상 혹은 상기 기준 뎁스 영상 및 상기 대응 2차원 영상 중 일부를 추출하여 동작 분석을 위한 출력 데이터로 출력할 수 있다.At this time, in the outputting step, when the motion speed of the user is less than a preset value, motion analysis of all of the reference 2D image and the corresponding depth image or the reference depth image and the corresponding 2D image in real time When the motion speed of the user is equal to or greater than a predetermined value, the reference 2D image and the corresponding depth image or a part of the reference depth image and the corresponding 2D image are extracted and output for motion analysis data can be output.

이 때, 상기 출력하는 단계에서, 상기 사용자의 동작 속도가 기 설정된 수치 이상이어서, 상기 기준 2차원 영상 및 상기 대응 뎁스 영상 혹은 상기 기준 뎁스 영상 및 상기 대응 2차원 영상 중 일부를 추출하여 동작 분석을 위한 출력 데이터로 출력한 경우, 잔여 데이터를 저장 후 상기 사용자의 동작 속도가 기 설정된 수치 미만으로 변경된 경우 동작 분석을 위한 출력 데이터로 출력할 수 있다. At this time, in the outputting step, if the motion speed of the user is greater than or equal to a predetermined value, extracting the reference 2D image and the corresponding depth image or a part of the reference depth image and the corresponding 2D image to perform motion analysis In the case of outputting the output data for motion analysis, when the motion speed of the user is changed to less than a predetermined value after storing the remaining data, it may be output as output data for motion analysis.

이 때, 상기 표시하는 단계에서는, 상기 사용자의 동작 중 기 설정된 기준 동작과 소정치 이상 다른 상기 사용자의 동작을 표시할 수 있다. At this time, in the displaying step, among the user's motions, a motion of the user different from a preset reference motion by a predetermined value or more may be displayed.

그리고, 상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 골프 동작 분석 방법은 카메라부의 영상 센서에서 사용자의 골프 동작에 대한 2차원 영상을 획득하는 단계; 상기 카메라부의 깊이 센서에서 상기 2차원 영상의 각 픽셀에 대한 깊이 값을 포함하는 뎁스 영상을 획득하는 단계; 상기 2차원 영상 및 상기 뎁스 영상을 기초로 한 분석을 통해 상기 사용자의 스켈레톤 정보를 추출하는 단계; 및 상기 2차원 영상 및 상기 스켈레톤 정보에 기초하여 상기 사용자의 관절 위치를 표시부에 표시하는 단계를 포함한다. In addition, a golf motion analysis method according to an embodiment of the present invention for achieving the above object includes acquiring a two-dimensional image of a user's golf motion from an image sensor of a camera unit; obtaining a depth image including a depth value for each pixel of the 2D image from a depth sensor of the camera unit; extracting skeleton information of the user through analysis based on the 2D image and the depth image; and displaying the user's joint position on a display unit based on the 2D image and the skeleton information.

이 때, 상기 뎁스 영상을 획득하는 단계에서는, 상기 2차원 영상을 획득하는 것과 교대로 상기 뎁스 영상을 획득하도록 진행되며, 소정 시각에 획득한 기준 2차원 영상 혹은 기준 뎁스 영상에 대응하는 대응 뎁스 영상 혹은 대응 2차원 영상을 생성하는 촬영 속도 증가 단계를 더 포함할 수 있다. At this time, in the step of obtaining the depth image, the depth image is obtained alternately with acquiring the 2D image, and a reference 2D image obtained at a predetermined time or a corresponding depth image corresponding to the reference depth image Alternatively, a photographing speed increasing step of generating a corresponding 2D image may be further included.

이 때, 상기 추출하는 단계에서는, 상기 사용자의 스켈레톤 정보로 스켈레톤 머리 정보를 포함하여 추출하고, 상기 표시하는 단계에서는, 상기 사용자의 골프 동작 중 어드레스 구간으로부터 임팩트 구간까지의 머리 이동을 표시할 수 있다. At this time, in the extracting step, the user's skeleton information includes skeleton head information and is extracted, and in the displaying step, head movement from the address section to the impact section of the user's golf motion may be displayed. .

이 때, 상기 추출하는 단계에서는, 상기 출력 데이터에 대한 분석을 통해 상기 사용자의 발목 관절의 위치 값에 기반하여 발 간격에 해당하는 값을 계산하고, 상기 표시하는 단계에서는, 상기 사용자의 골프 동작에서 상기 발 간격을 표시할 수 있다.At this time, in the step of extracting, a value corresponding to the foot interval is calculated based on the position value of the ankle joint of the user through analysis of the output data, and in the step of displaying, in the golf motion of the user The foot spacing may be displayed.

이 때, 상기 추출하는 단계에서는, 상기 사용자의 무게중심의 좌표와 오른발 혹은 왼발 관절의 좌표를 계산하고, 상기 표시하는 단계에서는, 상기 사용자의 골프 동작 중 백스윙 구간 혹은 다운스윙 구간에서 상기 무게중심 및 상기 오른발 혹은 왼발 관절의 위치를 표시할 수 있다. At this time, in the step of extracting, the coordinates of the center of gravity of the user and the coordinates of the joint of the right or left foot are calculated, and in the step of displaying, the center of gravity and The positions of the joints of the right foot or the left foot may be displayed.

이 때, 상기 추출하는 단계에서는, 어깨, 팔꿈치, 손 관절의 좌표에 기반하여 팔각도에 해당되는 값을 계산하고, 상기 표시하는 단계에서는, 상기 사용자의 골프 동작 중 임팩트 구간에서 상기 어깨, 팔꿈치, 손 관절을 이은 선을 표시할 수 있다. At this time, in the step of extracting, a value corresponding to the arm angle is calculated based on the coordinates of the joints of the shoulder, elbow, and hand, and in the step of displaying, the shoulder, elbow, and hand in the impact section of the user's golf motion. A line connecting the joints can be displayed.

이 때, 상기 추출하는 단계에서는, 머리 및 좌우측 골반의 좌표에 기초하여 역척추각에 해당되는 값을 계산하고, 상기 표시하는 단계에서는, 상기 사용자의 골프 동작 중 백스윙 구간에서 왼발 혹은 오른발과 좌우측 골반의 중점을 이은 선을 표시할 수 있다. At this time, in the step of extracting, a value corresponding to the inverted spine angle is calculated based on the coordinates of the head and the left and right pelvis, and in the step of displaying, the left foot or right foot and the left and right pelvis in the backswing section of the user's golf motion A line connecting the midpoint of can be displayed.

또한, 상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 골프 동작 분석 장치는 사용자의 동작에 대한 2차원 영상을 획득하는 영상 센서 및 상기 2차원 영상을 획득하는 것과 시간적으로 교대로 상기 2차원 영상의 각 픽셀에 대한 깊이 값을 포함하는 뎁스 영상을 획득하는 깊이 센서를 포함하는 카메라부; 상기 카메라부에서 소정 시각에 획득한 기준 2차원 영상 혹은 기준 뎁스 영상에 대응하는 대응 뎁스 영상 혹은 대응 2차원 영상을 생성하는 제어부; 상기 기준 2차원 영상 및 상기 대응 뎁스 영상 혹은 상기 기준 뎁스 영상 및 상기 대응 2차원 영상을 출력 데이터로 출력하는 출력부; 상기 출력 데이터에 대한 분석을 통해 상기 사용자의 스켈레톤 정보를 추출하는 추출부; 및 상기 스켈레톤 정보에 기반하여 상기 사용자의 동작을 표시하는 표시부를 포함한다.In addition, an apparatus for analyzing golf motion according to an embodiment of the present invention for achieving the above object is an image sensor that acquires a two-dimensional image of a user's motion. and a camera unit including a depth sensor which obtains a depth image including a depth value for each pixel of the 2D image alternately with the 2D image in time; a control unit generating a corresponding depth image or a corresponding 2-dimensional image corresponding to a reference 2-dimensional image or a reference depth image acquired by the camera unit at a predetermined time; an output unit outputting the reference 2D image and the corresponding depth image or the reference depth image and the corresponding 2D image as output data; an extractor configured to extract skeleton information of the user through analysis of the output data; and a display unit displaying the motion of the user based on the skeleton information.

본 발명에 따르면, 효율적으로 고속 촬영을 구현한 골프 동작 분석 시스템을 제공할 수 있다. According to the present invention, it is possible to provide a golf motion analysis system that efficiently implements high-speed shooting.

그리고, 본 발명은 스켈레톤 정보를 추출하여 동작을 세밀하게 분석함으로써 사용자에게 보다 정확하고 다양한 정보를 제공할 수 있다. In addition, the present invention can provide more accurate and diverse information to the user by extracting skeleton information and analyzing motions in detail.

또한, 본 발명은 고속 동작을 포함하고 있는 골프 스윙의 분석에 있어서, 사용자에게 실시간 정보를 제공하면서도 고속 동작 구간에 대한 안정적인 분석을 가능케 한다.In addition, in the analysis of a golf swing including a high-speed motion, the present invention enables stable analysis of a high-speed motion section while providing real-time information to the user.

도 1은 본 발명의 실시예에 따른 골프 동작 분석 방법을 설명하기 위한 플로우챠트이다.
도 2는 본 발명의 실시예에 따른 골프 동작 분석 방법에 있어서, 카메라부의 깊이 센서 및 영상 센서의 영상 획득 타이밍에 대하여 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 골프 동작 분석 방법에 있어서, 촬영 속도를 증가하기 위한 단계를 추가 설명하기 위한 플로우챠트의 일 실시예이다.
도 4는 본 발명의 실시예에 따른 골프 동작 분석 방법에 있어서, 촬영 속도를 증가하기 위한 단계를 추가 설명하기 위한 플로우챠트의 다른 실시예이다.
도 5는 본 발명의 실시예에 따른 골프 동작 분석 방법에 있어서, 스켈레톤 정보 추출 단계를 보다 구체적으로 설명하기 위한 플로우챠트이다.
도 6 및 도 7은 스켈레톤 정보 추출 단계에 있어서, 사용자 영역화 단계를 설명하기 위한 도면이다.
도 8은 스켈레톤 정보 추출 단계에 있어서, 확률 분포를 산정하는 방법을 설명하기 위한 도면이다.
도 9는 스켈레톤 정보 추출 단계의 계산량을 줄이기 위한 다중 스케일 기법을 설명하기 위한 도면이다.
도 10 내지 도 12는 사용자의 동작 속도에 따른 본 발명의 모드 변경에 대하여 설명하기 위한 도면이다.
도 13은 본 발명의 실시예에 따른 골프 동작 분석 방법에 있어서, 표시부에의 표시의 예시를 나타낸 도면이다.
도 14 내지 도 16은 분석된 사용자의 동작이 기준 동작에 맞는 경우와 맞지 않았을 경우의 표시부에서의 표시의 예시를 나타낸 것이다.
도 17은 표시하는 단계에서 발 간격을 표시하는 일 예이다.
도 18 및 도 19는 사용자의 동작 분석을 통해 스웨이(Sway)를 판별하는 일 예를 도시한 것이다.
도 20 및 도 21은 사용자의 동작 분석을 통해 행잉 백(Hanging Back)을 판별하는 일 예를 도시한 것이다.
도 22 및 도 23은 사용자의 동작 분석을 통해 치킨 윙(Chicken wing)을 판별하는 일 예를 도시한 것이다.
도 24 및 도 25는 사용자의 동작 분석을 통해 역척추각(Reverse spine angle)을 판별하는 일 예를 도시한 것이다.
도 26은 사용자의 동작 분석을 통해 슬라이드(Slide)를 판별하는 일 예를 도시한 것이다.
도 27 및 도 28은 사용자의 동작 분석을 통해 평평한 어깨(Flat shoulder plane)을 판별하는 일 예를 도시한 것이다.
도 29는 사용자의 동작 분석을 통해 머리가 고정되어 있는지를 판별하는 일 예를 도시한 것이다.
도 30은 본 발명의 실시예에 따른 골프 동작 분석 장치의 구성을 나타낸 블록도이다.
1 is a flowchart for explaining a golf motion analysis method according to an embodiment of the present invention.
2 is a diagram for explaining image acquisition timing of a depth sensor and an image sensor of a camera unit in a golf motion analysis method according to an embodiment of the present invention.
3 is an embodiment of a flowchart for further explaining a step for increasing a shooting speed in a golf motion analysis method according to an embodiment of the present invention.
4 is another embodiment of a flowchart for further explaining a step for increasing a shooting speed in a golf motion analysis method according to an embodiment of the present invention.
5 is a flowchart for explaining in detail the skeleton information extraction step in the golf motion analysis method according to an embodiment of the present invention.
6 and 7 are diagrams for explaining a user areaization step in the skeleton information extraction step.
8 is a diagram for explaining a method of calculating a probability distribution in a skeleton information extraction step.
9 is a diagram for explaining a multi-scale technique for reducing the amount of calculation in a skeleton information extraction step.
10 to 12 are diagrams for explaining the mode change according to the user's operating speed according to the present invention.
13 is a diagram illustrating an example of display on a display unit in a golf motion analysis method according to an embodiment of the present invention.
14 to 16 illustrate examples of display on the display unit when the analyzed user's motion matches the reference motion or when it does not.
17 is an example of displaying the foot spacing in the displaying step.
18 and 19 illustrate an example of determining a Sway through analysis of a user's motion.
20 and 21 illustrate an example of determining hanging back through analysis of a user's motion.
22 and 23 show an example of determining a chicken wing through motion analysis of a user.
24 and 25 illustrate an example of determining a reverse spine angle through motion analysis of a user.
26 illustrates an example of determining a slide through analysis of a user's motion.
27 and 28 illustrate an example of determining a flat shoulder plane through motion analysis of a user.
29 illustrates an example of determining whether a user's head is fixed through motion analysis.
30 is a block diagram showing the configuration of a golf motion analysis device according to an embodiment of the present invention.

본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.The present invention will be described in detail with reference to the accompanying drawings. Here, repeated descriptions, well-known functions that may unnecessarily obscure the subject matter of the present invention, and detailed descriptions of configurations are omitted. Embodiments of the present invention are provided to more completely explain the present invention to those skilled in the art. Accordingly, the shapes and sizes of elements in the drawings may be exaggerated for clarity.

이하, 본 발명의 일 실시예에 따른 골프 동작 분석 방법에 대하여 설명하도록 한다. Hereinafter, a golf motion analysis method according to an embodiment of the present invention will be described.

도 1은 본 발명의 실시예에 따른 골프 동작 분석 방법을 설명하기 위한 플로우챠트이다.1 is a flowchart for explaining a golf motion analysis method according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 따른 골프 동작 분석 방법은 먼저, 카메라부의 영상 센서에서 사용자의 동작에 대한 2차원 영상을 획득한다(S100).Referring to FIG. 1 , in the golf motion analysis method according to an embodiment of the present invention, first, a two-dimensional image of a user's motion is obtained from an image sensor of a camera unit (S100).

그리고, S100 단계에서 2차원 영상을 획득하는 것과 시간적으로 교대로 상기 카메라부의 깊이 센서에서 상기 2차원 영상의 각 픽셀에 대한 깊이 값을 포함하는 뎁스 영상을 획득한다(S200). 도 2는 본 발명의 실시예에 따른 골프 동작 분석 방법에 있어서, 카메라부의 깊이 센서 및 영상 센서의 영상 획득 타이밍에 대하여 설명하기 위한 도면이다. 도 2에서 각 화살표는 영상을 획득하는 시점을 표현하는 것이며, S100 단계와 S200 단계를 통해 깊이 센서와 영상 센서가 시간적으로 상호 교대하여 영상을 획득하는 개념이 도시되어 있다. 예를 들어, 만약 시간 t-1 에서 2차원 영상이 획득되었다면 시간 t 에서는 뎁스 영상이 획득되며, 만약 시간 t-1에서 뎁스 영상이 획득되었다면 시간 t 에서는 2차원 영상이 획득될 수 있다.In addition, a depth image including a depth value for each pixel of the 2D image is acquired from the depth sensor of the camera part alternately with the acquisition of the 2D image in step S100 (S200). 2 is a diagram for explaining image acquisition timing of a depth sensor and an image sensor of a camera unit in a golf motion analysis method according to an embodiment of the present invention. In FIG. 2 , each arrow represents a time point for acquiring an image, and the concept of obtaining an image by temporally alternating the depth sensor and the image sensor through steps S100 and S200 is illustrated. For example, if a 2D image is obtained at time t-1, a depth image is obtained at time t, and if a depth image is acquired at time t-1, a 2D image may be obtained at time t.

이 후, 소정 시각에 획득한 기준 2차원 영상 혹은 기준 뎁스 영상에 대응하는 대응 뎁스 영상 혹은 대응 2차원 영상을 생성한다(S300). 즉, S300 단계에서 카메라부는 영상 센서로부터 획득한 2차원 영상, 예를 들어, RGB 영상과 깊이 센서로부터 획득한 뎁스 영상을 합성하여 각 영상의 프레임율(frame rate, 시간당 프레임 수)을 증가시킬 수 있다. 카메라부는 교대 촬영에 의해 번갈아 가며 획득되는 제1 2차원 영상과 제1 뎁스 영상 각각에 대해 대응하는 제2 뎁스 영상과 제2 2차원 영상을 합성하여 함께 출력함으로써, 실제적인 촬영속도를 두 배 증가시킬 수 있다.Thereafter, a corresponding depth image or a corresponding 2D image corresponding to the reference 2D image or the reference depth image acquired at a predetermined time is generated (S300). That is, in step S300, the camera unit synthesizes the 2D image obtained from the image sensor, for example, the RGB image and the depth image obtained from the depth sensor, and increases the frame rate (frame rate per hour) of each image. there is. The camera unit synthesizes the second depth image and the second 2D image corresponding to each of the first 2D image and the first depth image alternately obtained by alternate shooting, and outputs them together, thereby doubling the actual shooting speed. can make it

S300 단계 이후에는, 기준 2차원 영상 및 대응 뎁스 영상 혹은 기준 뎁스 영상 및 대응 2차원 영상을 동작 분석을 위한 출력 데이터로 출력한다(S400). 이 때, S400 단계에서는 사용자의 동작 속도에 따라 동작 분석을 위한 출력 데이터의 양을 조절할 수 있다. 이의 구체적인 내용에 대하여는 도 10 내지 도 12와 함께 후술하도록 한다. After step S300, the reference 2D image and the corresponding depth image or the reference depth image and the corresponding 2D image are output as output data for motion analysis (S400). At this time, in step S400, the amount of output data for motion analysis may be adjusted according to the user's motion speed. Details thereof will be described later along with FIGS. 10 to 12 .

이 후, S400 단계의 출력 데이터에 대한 분석을 통해 상기 사용자의 스켈레톤 정보를 추출한다(S500). 이 때, 스켈레톤 정보는, 스켈레톤 관절 정보 및 스켈레톤 머리 정보를 포함할 수 있다. 스켈레톤 관절 정보로는 예를 들어, 목, 좌우 어깨, 좌우 팔꿈치, 좌우 손목, 좌우 엉치, 좌우 무릎, 좌우 발목에 대한 정보들이 포함될 수 있다. 그리고, RDF(Randomized Decision Forest) 기법을 이용하여 스켈레톤 정보를 추출할 수 있다. 픽셀 데이터로부터 배경 영역과 사용자 영역을 깊이 정보 값에 기초하여 설정하고, 설정된 사용자 영역 내로 데이터 범위가 축소된 픽셀데이터만을 기초하여 설정된 사용자 영역 내의 픽셀이 사용자 신체 내의 스켈레톤 관절들에 해당될 스켈레톤 관절들에 대한 확률 분포를 도출하고, 높은 확률 분포 값의 스켈레톤 관절을 픽셀의 영역으로 분류하여 사용자 신체 내의 특정 위치에 해당하는 픽셀을 추정할 수 있다.Thereafter, the skeleton information of the user is extracted through analysis of the output data of step S400 (S500). In this case, the skeleton information may include skeleton joint information and skeleton head information. Skeleton joint information may include, for example, information on the neck, left and right shoulders, left and right elbows, left and right wrists, left and right hips, left and right knees, and left and right ankles. In addition, skeleton information may be extracted using a randomized decision forest (RDF) technique. Skeleton joints in which the background area and the user area are set based on the depth information value from the pixel data, and the pixels in the user area set based only on the pixel data in which the data range is reduced within the set user area correspond to the skeleton joints in the user's body. It is possible to estimate a pixel corresponding to a specific position in the user's body by deriving a probability distribution for , and classifying a skeleton joint with a high probability distribution value as a region of a pixel.

S500 단계에서는, 사용자의 스켈레톤 정보로 머리 정보를 포함하여 추출하고, 출력 데이터에 대한 분석을 통해 사용자의 발목 관절의 위치 값에 기반하여 발 간격에 해당하는 값을 계산할 수 있다. 그리고, S500 단계에서는, 사용자의 무게중심의 좌표와 오른발 혹은 왼발 관절의 좌표를 계산하고, 어깨, 팔꿈치, 손 관절의 좌표에 기반하여 팔각도에 해당되는 값을 계산하며, 머리 및 좌우측 골반의 좌표에 기초하여 역척추각에 해당되는 값을 계산할 수 있다. 또한, S500 단계에서는, 머리, 좌우측 골반, 좌우측 어깨의 좌표에 기반하여 머리와 골반을 연결하는 선과 양 어깨를 연결하는 선 사이의 각도를 계산하고, 출력 데이터의 픽셀 데이터에 기반하여 3차원 포인트 클라우드를 계산할 수 있다. In step S500, head information is extracted as the user's skeleton information, and a value corresponding to the foot interval can be calculated based on the position value of the user's ankle joint through analysis of the output data. And, in step S500, the coordinates of the user's center of gravity and the coordinates of the right or left foot joints are calculated, the value corresponding to the arm angle is calculated based on the coordinates of the shoulder, elbow, and hand joints, and the coordinates of the head and left and right pelvis Based on this, the value corresponding to the inverted spinal angle can be calculated. In addition, in step S500, the angle between the line connecting the head and the pelvis and the line connecting both shoulders is calculated based on the coordinates of the head, left and right pelvis, and left and right shoulders, and a 3D point cloud is generated based on the pixel data of the output data. can be calculated.

그리고, 스켈레톤 정보에 기반하여 상기 사용자의 동작을 표시부에 표시한다(S600). S600 단계에서는 사용자의 동작 중 기 설정된 기준 동작과 소정치 이상 다른 상기 사용자의 동작을 표시부에 표시할 수 있다. 그리고 S600 단계에서는, 사용자의 골프 동작 중 어드레스 구간으로부터 임팩트 구간까지의 머리 이동을 표시할 수 있고, 사용자의 골프 동작에서 상기 발 간격을 표시할 수 있다. 또한, S600 단계에서는, 사용자의 골프 동작 중 백스윙 구간 혹은 다운스윙 구간에서 상기 무게중심 및 상기 오른발 혹은 왼발 관절의 위치를 표시할 수 있고, 사용자의 골프 동작 중 임팩트 구간에서 상기 어깨, 팔꿈치, 손 관절을 이은 선을 표시할 수 있으며, 사용자의 골프 동작 중 백스윙 구간에서 왼발 혹은 오른발과 좌우측 골반의 중점을 이은 선을 표시할 수 있다. 또한, S600 단계에서는, 사용자의 골프 동작 중 백스윙탑 구간에서 머리와 골반을 연결하는 선과, 양 어깨를 연결하는 선을 표시할 수 있고, 표시부에 3차원 포인트 클라우드로 상기 스켈레톤 정보를 표시할 수 있다. Then, based on the skeleton information, the user's motion is displayed on the display unit (S600). In step S600, among the user's motions, the user's motions different from the preset reference motions by a predetermined value or more may be displayed on the display unit. In step S600, head movement from the address section to the impact section during the user's golf action may be displayed, and the foot distance may be displayed during the user's golf action. In addition, in step S600, the center of gravity and the positions of the right or left foot joints may be displayed in the backswing section or downswing section of the user's golf motion, and the shoulder, elbow, and hand joints in the impact section of the user's golf motion may be displayed, and a line connecting the midpoint of the left or right foot and the left and right pelvis in the backswing section of the user's golf motion may be displayed. In addition, in step S600, a line connecting the head and the pelvis and a line connecting both shoulders may be displayed in the backswing top section of the user's golf motion, and the skeleton information may be displayed as a 3D point cloud on the display unit. .

본 발명의 실시예에 따른 골프 동작 분석 방법은 도 1의 S100 단계, S200 단계, S500 단계 및 S600 단계를 포함하여 수행될 수 있다. 즉, 본 발명의 다른 실시예에 따른 골프 동작 분석 방법은 카메라부의 영상 센서에서 사용자의 골프 동작에 대한 2차원 영상을 획득하는 단계, 카메라부의 깊이 센서에서 2차원 영상의 각 픽셀에 대한 깊이 값을 포함하는 뎁스 영상을 획득하는 단계, 2차원 영상 및 뎁스 영상을 기초로 한 분석을 통해 사용자의 스켈레톤 정보를 추출하는 단계, 및 2차원 영상 및 스켈레톤 정보에 기초하여 사용자의 관절 위치를 표시부에 표시하는 단계를 포함할 수 있다. The golf motion analysis method according to an embodiment of the present invention may be performed including steps S100, S200, S500, and S600 of FIG. 1 . That is, a golf motion analysis method according to another embodiment of the present invention includes acquiring a 2D image of a user's golf motion from an image sensor of a camera unit, and obtaining a depth value for each pixel of the 2D image from a depth sensor of the camera unit. Obtaining a depth image including a depth image, extracting user's skeleton information through analysis based on the two-dimensional image and the depth image, and displaying the user's joint position on the display unit based on the two-dimensional image and the skeleton information steps may be included.

이하에서는 도 1의 S300 단계에 따른 촬영 속도 증가를 위한 방법을 보다 구체적으로 설명하도록 한다. Hereinafter, a method for increasing the shooting speed according to step S300 of FIG. 1 will be described in more detail.

도 3은 본 발명의 실시예에 따른 골프 동작 분석 방법에 있어서, 촬영 속도를 증가하기 위한 단계를 추가 설명하기 위한 플로우챠트의 일 실시예이다. 3 is an embodiment of a flowchart for further explaining a step for increasing a shooting speed in a golf motion analysis method according to an embodiment of the present invention.

도 3을 참조하면, S300 단계의 일 실시예에서는 먼저, 깊이 센서가 제1 시각에 제1 뎁스 영상을 획득하고(S311), 영상 센서가 제1 시각 이후의 제2 시각에 기준 2차원 영상으로 제1 2차원 영상을 획득한다(S312). 이의 S311 단계 및 S312 단계에서 획득한 제1 뎁스 영상 및 제1 2차원 영상은 상기 S100 단계와 S200 단계를 통해 획득한 뎁스 영상 및 2차원 영상일 수 있다. Referring to FIG. 3 , in an embodiment of step S300, first, the depth sensor acquires a first depth image at a first time point (S311), and the image sensor converts a reference 2D image into a reference 2D image at a second time point after the first time point (S311). A first 2-dimensional image is acquired (S312). The first depth image and the first 2D image obtained in steps S311 and S312 may be the depth image and the 2D image obtained through steps S100 and S200.

S312 단계 이 후, 제1 뎁스 영상을 상기 영상 센서의 시점으로 투사하여 상기 제1 시각의 제2 뎁스 영상을 생성한다(S313).After step S312, a first depth image is projected to the viewpoint of the image sensor to generate a second depth image of the first viewpoint (S313).

그리고, 1 2차원 영상과 제2 뎁스 영상 사이의 모션 벡터를 추정한다(S314).Then, a motion vector between the first 2D image and the second depth image is estimated (S314).

이 후, 모션 벡터를 이용하여 상기 제2 뎁스 영상으로부터 상기 제2 시각에서의 투사된 제3 뎁스 영상을 렌더링한다(S315).Thereafter, a third depth image projected at the second viewpoint is rendered from the second depth image using the motion vector (S315).

그리고, 제3 뎁스 영상을 상기 깊이 센서 시점으로 투사하여 상기 대응 뎁스 영상으로 상기 제2 시각에서의 제4 뎁스 영상을 생성한다(S316). 도 1의 S400 단계에서는 상기 제1 2차원 영상과 상기 제4 뎁스 영상을 출력 데이터로 출력할 수 있다. Then, a third depth image is projected to the depth sensor viewpoint, and a fourth depth image at the second viewpoint is generated as the corresponding depth image (S316). In step S400 of FIG. 1 , the first 2D image and the fourth depth image may be output as output data.

도 4는 본 발명의 실시예에 따른 골프 동작 분석 방법에 있어서, 촬영 속도를 증가하기 위한 단계를 추가 설명하기 위한 플로우챠트의 다른 실시예이다.4 is another embodiment of a flowchart for further explaining a step for increasing a shooting speed in a golf motion analysis method according to an embodiment of the present invention.

도 4를 참조하면, S300 단계의 다른 실시예에서는 먼저, 영상 센서가 제1 시각에 제1 2차원 영상을 획득하고(S321), 깊이 센서가 제1 시각 이후의 제2 시각에 기준 뎁스 영상으로 제1 뎁스 영상을 획득한다(S322). 이의 S321 단계 및 S322 단계에서 획득한 제1 2차원 영상 및 제1 뎁스 영상은 상기 S100 단계와 S200 단계를 통해 획득한 뎁스 영상 및 2차원 영상일 수 있다.Referring to FIG. 4 , in another embodiment of step S300, first, an image sensor acquires a first 2D image at a first time point (S321), and a depth sensor converts a reference depth image to a second time point after the first time point (S321). A first depth image is acquired (S322). The first 2D image and the first depth image obtained in steps S321 and S322 may be the depth image and the 2D image obtained through steps S100 and S200.

S322 단계 이 후, 제1 뎁스 영상을 상기 영상 센서의 시점으로 투사하여 제2 뎁스 영상을 생성한다(S323).After step S322, a second depth image is generated by projecting the first depth image to the viewpoint of the image sensor (S323).

그리고, 제1 2차원 영상과 상기 제2 뎁스 영상 사이의 모션 벡터를 추정한다(S324).Then, a motion vector between the first 2D image and the second depth image is estimated (S324).

이 후, 모션 벡터를 이용하여 상기 제1 2차원 영상으로부터 상기 대응 2차원 영상으로 상기 제2 시각에서의 제2 2차원 영상을 렌더링한다(S325). 도 1의 S400 단계에서는 상기 제1 뎁스 영상과 상기 제2 2차원 영상을 출력 데이터로 출력할 수 있다. Thereafter, a second 2D image at the second viewpoint is rendered from the first 2D image to the corresponding 2D image using the motion vector (S325). In step S400 of FIG. 1 , the first depth image and the second 2D image may be output as output data.

S313 단계 및 S323 단계는 깊이 센서의 내부 파라미터를 활용하여 뎁스 영상의 각 픽셀에 대응하는 3차원 좌표를 계산하는 방법일 수 있다. 이 경우, 3차원 좌표를 영상 센서와 깊이 센서 사이의 외부 파라미터를 활용하여 영상 센서의 영상 평면(Image Plane)으로 투사한다.Steps S313 and S323 may be a method of calculating 3D coordinates corresponding to each pixel of the depth image by using internal parameters of the depth sensor. In this case, 3D coordinates are projected onto the image plane of the image sensor by utilizing external parameters between the image sensor and the depth sensor.

S314 단계 및 S324 단계에서는 제1 2차원 영상과 투사된 제2 뎁스 영상 사이의 모션 정보를 추정할 수 있다. 일 실시예에 있어서, 제1 RGB 영상의 각 픽셀에 대하여 뎁스 영상의 탐색 영역 내에 존재하는 픽셀들과 매칭을 수행하여 모션 벡터를 계산할 수 있다. 두 영상의 모달리티(Modality)가 다르므로 매칭 대상인 두 패치 사이의 상호 정보량(Mutual Information)을 사용하여 대응 관계를 찾아낼 수 있다:In steps S314 and S324, motion information between the first 2D image and the projected second depth image may be estimated. In an embodiment, a motion vector may be calculated by matching each pixel of the first RGB image with pixels existing in a search area of the depth image. Since the modality of the two images is different, a corresponding relationship can be found using the mutual information between the two matching patches:

Figure 112016006444728-pat00001
.
Figure 112016006444728-pat00001
.

상기 S315 단계 및 S325 단계에서는 시간 t-1 에서의 영상과 모션 정보를 사용하여 시간 t 에서의 영상을 렌더링을 통해 생성할 수 있다:In steps S315 and S325, the image at time t can be generated through rendering using the image and motion information at time t-1:

Figure 112016006444728-pat00002
.
Figure 112016006444728-pat00002
.

여기서 x 는 픽셀 좌표이며, m(x) 는 픽셀 x 에서의 모션 벡터이다.where x is the pixel coordinate and m(x) is the motion vector at pixel x .

이하에서는 도 1의 S500 단계에 따른 스켈레톤 정보 추출의 단계를 보다 구체적으로 설명하도록 한다. Hereinafter, the step of extracting skeleton information according to step S500 of FIG. 1 will be described in more detail.

도 5는 본 발명의 실시예에 따른 골프 동작 분석 방법에 있어서, 스켈레톤 정보 추출 단계를 보다 구체적으로 설명하기 위한 플로우챠트이다. 5 is a flowchart for explaining in detail the skeleton information extraction step in the golf motion analysis method according to an embodiment of the present invention.

도 5를 참조하면, 도 1의 S400을 통해 획득한 출력 데이터에서 픽셀 데이터를 추출한다(S511). 이 때, 픽셀 데이터는 각 픽셀의 깊이 정보, RGB값, 및 조도 값 중 적어도 하나일 수 있다. Referring to FIG. 5 , pixel data is extracted from output data acquired through S400 of FIG. 1 (S511). In this case, the pixel data may be at least one of depth information, RGB values, and illuminance values of each pixel.

그리고, 픽셀 데이터에 기초하여, 사용자에 해당하는 영역의 픽셀을 선정한다(S512). S512 단계는 사용자 영역화 단계이며, 도 6 및 도 7을 참조하면, 사용자 영역화 된 것의 예시들이 도시된다. S512 단계는 다양한 방법에 의해 구현될 수 있다. 예를 들어, 각 픽셀의 거리 값의 최대 값과 최소 값 사이의 분포를 얻고, 학습된 특정 분포의 값들의 군을 사용자 영역으로 추정할 수 있다. Then, based on the pixel data, a pixel of an area corresponding to the user is selected (S512). Step S512 is a step of user domain. Referring to FIGS. 6 and 7 , examples of user domains are shown. Step S512 may be implemented in various ways. For example, a distribution between a maximum value and a minimum distance value of each pixel may be obtained, and a group of learned values of a specific distribution may be estimated as a user area.

S512 단계 이후, 사용자 영역화 된 픽셀들 각각에 대하여 스켈레톤 관절에 해당하는지에 대한 확률 분포값을 산정한다(S513). S513 단계에서 확률 분포 값을 얻는 방법은, Randomized Decision Forest(이하, RDF) 기법에 의할 수 있다. 상기 RDF에 기초한 확률 분포 값은, 하나 이상의 결정 트리를 순회하여 리프 노드에 저장되어 있는 확률 분포 값을 합산하여 얻어진다. 결정 트리는 루트 노드 및 상기 루트 노드(root node)로부터 1차 분류된 제 1 자식 노드 및 상기 제 1 자식 노드로부터 분류된 제 2 자식 노드와 같은 방식으로 여러 단계로 분류된 자식 노드를 트리 형식으로 포함한다. 가장 하부에 위치하는 자식 노드를 리프 노드(leaf node)로 정의한다. 상위 노드의 하부 노드로의 분리는 하나 이상의 픽셀 정보에 기초한 특징 변수와 미리 정의된 문턱치 변수를 포함하는 노드 분리 변수에 의한다. 도 8은 확률 분포를 산정하는 방법을 설명하기 위한 도면으로, 입력 뎁스 영상과 테스트 픽셀이 주어진 경우 결정 트리를 통해 확률 분포를 얻는 과정을 도시한 것이다. After step S512, a probability distribution value for whether each of the user-area pixels corresponds to a skeleton joint is calculated (S513). A method of obtaining a probability distribution value in step S513 may be based on a Randomized Decision Forest (RDF) technique. The probability distribution value based on the RDF is obtained by traversing one or more decision trees and summing the probability distribution values stored in leaf nodes. The decision tree includes a root node and child nodes classified in several steps in the same manner as a first child node first classified from the root node and a second child node classified from the first child node in a tree form. do. A child node located at the bottom is defined as a leaf node. Separation of an upper node into a lower node is performed by a node separation variable including a feature variable based on one or more pixel information and a predefined threshold variable. 8 is a diagram for explaining a method of calculating a probability distribution, and shows a process of obtaining a probability distribution through a decision tree when an input depth image and a test pixel are given.

뎁스 영상 I 와 픽셀 x 가 결정 트리에 주어졌다고 가정하면, 루트 노드에서부터 시작하여 리프 노드에 도달할 때까지 다음과 같은 약-분류 규칙(weak classification rule)을 각각의 노드에 대해 반복 적용하여 트리를 순회(traverse)한다:Assuming that a depth image I and a pixel x are given to a decision tree, the following weak classification rule is repeatedly applied to each node starting from the root node until reaching the leaf node to construct the tree traverse:

Figure 112016006444728-pat00003
Figure 112016006444728-pat00003

특징(feature)으로는 다음과 같은 간단한 뎁스 비교 특징을 사용한다:As a feature, we use a simple depth comparison feature:

Figure 112016006444728-pat00004
Figure 112016006444728-pat00004

여기서 θ = (u, v) 는 두 옵셋(offset) 벡터로 이루어진 특징 변수(feature parameter)를 의미한다. 우리는 트리 t 의 리프 노드에서 관절 클래스들에 대한 이산 확률 분포(discrete probability distribution)인 Pt(c|I,x)를 얻게 되는데, 랜덤 포레스트의 모든 트리에 대해 이러한 분포를 결합하여 다음과 같은 최종 분포를 계산한다:Here, θ = (u, v) means a feature parameter composed of two offset vectors. We obtain a discrete probability distribution, Pt(c|I,x), over the joint classes at the leaf nodes of tree t. By combining these distributions over all trees in the random forest, we get the following final Calculate the distribution:

Figure 112016006444728-pat00005
Figure 112016006444728-pat00005

랜덤 포레스트를 학습하는 알고리즘은 다음과 같다. 각각의 트리에 대해서 기존 학습 영상 데이터에서 교체를 포함하여(with replacement) 균일하게(uniformly) 샘플링하여 새로운 학습 영상 데이터를 구성한다. 이러한 새로운 학습 데이터를 사용하여 특정한 정지 조건(stopping criteria)이 만족될 때까지 다음과 같은 절차를 재귀적으로(recursively) 적용하여 트리를 확장시킨다:The algorithm to learn the random forest is as follows. For each tree, new training image data is constructed by uniformly sampling with replacement from existing training image data. Using these new training data, the tree is extended by recursively applying the following procedure until certain stopping criteria are satisfied:

a. 특징 변수 θ 와 문턱치 변수 τ 로 구성된 노드 분리 변수 φ = (θ, τ) 의 집합을 랜덤하게 생성한다.a. A set of node separation variables φ = (θ, τ) composed of feature variables θ and threshold variables τ is randomly generated.

b. 각각의 분리 변수 φ 에 대하여 학습 데이터 Q = {(I, x)} 를 다음과 같이 좌/우 집합으로 분리한다:b. For each split variable φ, split the training data Q = {(I, x)} into left/right sets as follows:

Figure 112016006444728-pat00006
Figure 112016006444728-pat00006

c. 분리 변수에 대응하는 좌/우 집합에 대하여 다음과 같은 정보량 증가치(information gain)을 계산한다:c. Calculate the following information gain for the left/right set corresponding to the split variable:

Figure 112016006444728-pat00007
Figure 112016006444728-pat00007

여기에서 H(Q) 는 집합 Q 의 정규화된 히스토그램 PQ 의 Shannon 엔트로피를 나타낸다.Here, H(Q) represents the Shannon entropy of the normalized histogram PQ of the set Q.

d. 최대 정보량 증가치를 가지는 노드 분리 변수를 선택하고 이를 현재 노드에 할당한다:d. Select the node separation variable with the largest amount of information increment and assign it to the current node:

Figure 112016006444728-pat00008
Figure 112016006444728-pat00008

e. 만약 최대 정보량 증가치가 사전에 정의된 문턱치보다 작거나 트리에서의 현재 노드에 대한 깊이가 최대값에 도달하였다면 알고리즘을 중단하고 트리를 반환한다. 그렇지 않다면 위의 단계 a-d를 왼쪽 및 오른쪽 노드에 재귀적으로 적용한다.e. If the maximum information increment is less than a predefined threshold or if the depth of the current node in the tree reaches the maximum value, the algorithm stops and the tree is returned. Otherwise, apply steps a-d above recursively to the left and right nodes.

S513 단계를 통해 산정된 확률 분포값에 따라, 소정의 픽셀들에 대하여 스켈레톤 관절로 정의한다(S514).According to the probability distribution value calculated through step S513, predetermined pixels are defined as skeleton joints (S514).

그리고, 스켈레톤 관절로 정의된 소정의 픽셀들에서의 중심점을 정의한다(S515).Then, the center point of predetermined pixels defined as the skeleton joint is defined (S515).

S514 단계 및 S515 단계는, 상기 픽셀 데이터의 해상도를 낮추는 단계, 낮은 해상도에 기초하여 스켈레톤 관절 및 중심점을 정의하는 단계, 상기 픽셀 데이터의 해상도를 높이는 단계, 상기 낮은 해상도에 기초하여 도출된 중심점에서의 소정 거리만큼의 영역을 설정하는 단계, 및 상기 영역내에서의 픽셀에 기초하여 스켈레톤 관절 및 중심점을 재차 정의하는 단계가 진행되어 스켈레톤 관절 및 중심점을 정의할 수 있다. 도 9는 스켈레톤 정보 추출 단계의 계산량을 줄이기 위한 다중 스케일 기법을 설명하기 위한 도면으로, 해상도 조절에 의하여 스켈레톤 관절 및 중심점을 정의하는 단계의 예시를 나타낸다. 저해상도에서 적은 수의 픽셀에 기초하여 RDF 방법에 의해 중심점을 찾고, 중심점으로부터 일정 영역에 대해서만 고해상도로 RDF 방법에 의해 중심점을 찾는 방법으로서, 분석 신뢰도의 변동 없이, 사용되는 픽셀의 수를 줄여 효율을 증대할 수 있다.Steps S514 and S515 include lowering the resolution of the pixel data, defining a skeleton joint and a center point based on the lower resolution, increasing the resolution of the pixel data, and a center point derived based on the lower resolution. The step of setting a region by a predetermined distance and the step of re-defining a skeleton joint and a center point based on pixels within the region may be performed to define the skeleton joint and center point. 9 is a diagram for explaining a multi-scale technique for reducing the amount of calculation in a skeleton information extraction step, and shows an example of a step of defining skeleton joints and center points by adjusting resolution. A method of finding the center point by the RDF method based on a small number of pixels at low resolution and finding the center point by the RDF method at high resolution only for a certain area from the center point. can increase

한편, 제어부는 RDF의 계산 효율을 증대하기 위해 제 n차 자식 노드에 있어서의 각각의 확률 분포 값이 미리 정한 값을 넘지 않는 노드는 더 이상 분류하지 아니하도록 하는 방법으로서, 모든 결정 트리에서 리프 노드 값을 얻는 것이 아닌 높은 확률 값의 노드에서만 리프 노드 값을 도출하는 방법을 적용할 수 있다.On the other hand, in order to increase the computational efficiency of RDF, the controller no longer classifies nodes in which each probability distribution value in the nth child node does not exceed a predetermined value, and is a method for classifying leaf nodes in all decision trees. A method of deriving a leaf node value can be applied only to a node with a high probability value rather than obtaining a value.

좀더 자세히 설명하면, 스켈레톤 추출 알고리즘에서 랜덤 포레스트의 역할은 입력 영상의 각각의 픽셀에 대해 특정한 스켈레톤 관절에 대응하는 확률 값을 계산하는 것이다. 이는 각각의 결정 트리를 순회(traverse)하여 리프 노드에 저장되어 있는 확률 값을 합산함으로써 얻어진다. 이러한 확률 값은 관절별 확률 밀도 함수에 대한 3차원 점 각각의 공헌도를 의미한다. 캐스케이드 기법의 기본적인 아이디어는 작은 공헌도를 가지는 점들을 무시하는 것이다. 그러한 작은 공헌도의 점들에 대해서는 결정 트리를 완전히 순회할 필요가 없으므로, 리프 노드에 도달하기 전에 랜덤 포레스트 계산을 종료할 수 있다. 그러한 아이디어를 구현하기 위해 다음과 같이 결정 트리 t 의 각각의 노드 n 에 대한 auxiliary 확률 벡터 Ptn을 재귀적으로 정의한다:More specifically, the role of the random forest in the skeleton extraction algorithm is to calculate a probability value corresponding to a specific skeleton joint for each pixel of the input image. This is obtained by traversing each decision tree and summing the probability values stored in the leaf nodes. These probability values mean the contribution of each 3D point to the probability density function for each joint. The basic idea of the cascade method is to ignore points with small contributions. For points of such small contribution, it is not necessary to traverse the decision tree completely, so the random forest computation can be terminated before reaching a leaf node. To implement that idea, we recursively define an auxiliary probability vector Ptn for each node n in decision tree t as follows:

Figure 112016006444728-pat00009
Figure 112016006444728-pat00009

여기에서 Pt 는 원래의 랜덤 포레스트 분류기의 리프 노드에 저장되어 있는 확률 분포를, 그리고 Pt l 과 Pt r 은 각각 노드 n 의 두 자식 노드에 대한 auxiliary 확률 벡터를 나타낸다. 입력 뎁스 I 와 픽셀 x 에 대한 랜덤 포레스트 계산 과정 중 노드 n 에 도달 하여 Pt n(c) = ρ 라고 가정하면, 이는 현재 노드 n에서 어떠한 경로를 선택하든 관절 클래스 c 에 대한 확률 Pt(c|I,x) 이 ρ 를 넘지 않는다는 것을 의미한다. 따라서 만약 ρ 가 사전에 정의된 작은 문턱치 ρnode 보다 작다면, 캐스케이드 알고리즘은 계산량을 줄이기 위해 트리 순회를 더 이상 진행시키지 않고 0의 확률값을 반환하게 된다.Here, Pt is the probability distribution stored in the leaf node of the original random forest classifier, and P t l and P t r represent auxiliary probability vectors for the two child nodes of node n, respectively. Assuming that P t n (c) = ρ after reaching node n during the process of calculating the random forest for input depth I and pixel x, this means that whatever path is selected from the current node n, the probability Pt(c| I,x) does not exceed ρ. Therefore, if ρ is smaller than the predefined small threshold value ρ node , the cascade algorithm returns a probability value of 0 without further traversing the tree to reduce the amount of computation.

한편, 제어부는 모든 스켈레톤 관절 클래스를 하나의 관절 클래스로 결합함에 의한 관절 또는 비관절 클래스로 분류하는 거절 트리를 추가 정의하며, 상기 거절 트리를 RDT의 도입 트리로 사용하고, 거절 트리에 따른 출력 확률이 미리 정한 값보다 큰 경우에 RDT를 진행하는 방법을 적용할 수 있다.On the other hand, the controller additionally defines a rejection tree that classifies all skeleton joint classes into joint or non-joint classes by combining them into one joint class, uses the rejection tree as an introduction tree of the RDT, and output probability according to the rejection tree. When this value is greater than a predetermined value, a method of proceeding with RDT can be applied.

구체적으로 설명하면, 상기한 캐스케이드 아이디어를 트리 레벨로 확장한 것이다. 기본적인 아이디어는 빠른 종료 확인의 역할을 하는 새로운 분류기를 정의하고 이를 랜덤 포레스트의 앞 단에 위치시키는 것이다. 새로운 분류기로 인한 추가적인 계산량 부담을 줄이기 위해서, 이러한 분류기는 간단한 구조를 가져야 하며, 또한 빠른 테스트가 가능해야 한다. 이를 위해 우리는 입력 픽셀을 관절 혹은 비-관절 클래스로 분류하는 랜덤화된 결정 트리를 정의하고, 이를 거절 트리(rejection tree)라 정의한다. 이러한 이진 결정 트리(binary decision tree)는 앞 절에서 랜덤 포레스트를 위해 도입한 학습 데이터에서 모든 스켈레톤 관절 클래스를 하나의 관절 클래스로 결합하여 사용함으로써 학습이 가능하다. 거절 트리의 출력 확률을 P0(c|I,x) 라고 하자. 개발된 트리 캐스케이드 기법은 P0(c|I,x) 가 작은 문턱치 ρtree 보다 클 때에만 랜덤 포레스트 계산을 수행한다. 스켈레톤 관절 포인트로부터 멀리 떨어져 있는 많은 픽셀들에 대해서 이 확률값은 추가적인 랜덤 포레스트 계산에 있어서 이러한 픽셀들을 무시해도 될 정도로 작은 값을 가진다.Specifically, the above cascade idea is expanded to a tree level. The basic idea is to define a new classifier that serves as a quick exit check and place it at the front of the random forest. In order to reduce the additional computational burden due to the new classifier, such a classifier should have a simple structure and be able to be tested quickly. To this end, we define a randomized decision tree that classifies input pixels into joint or non-joint classes, and we define this as a rejection tree. This binary decision tree can be learned by combining all skeleton joint classes into one joint class in the training data introduced for random forest in the previous section. Let P 0 (c|I,x) be the output probability of the rejection tree. The developed tree cascade method performs random forest calculation only when P 0 (c|I,x) is greater than the small threshold ρ tree . For many pixels far from the skeleton joint points, this probability is small enough to ignore these pixels in the further random forest calculation.

이 후, 중심점에 기초하여 상기 스켈레톤 정보를 완성하여 추출한다(S516).Then, based on the center point, the skeleton information is completed and extracted (S516).

이하에서는 사용자의 동작 속도에 따라 본 발명의 실시예에 따른 골프 동작 분석 방법에 있어서, 출력 데이터를 출력할 때의 모드 변경에 대하여 설명하도록 한다. Hereinafter, in the golf motion analysis method according to an embodiment of the present invention according to the user's motion speed, a mode change when output data is output will be described.

도 10 내지 도 12는 사용자의 동작 속도에 따른 본 발명의 모드 변경에 대하여 설명하기 위한 도면이다. 10 to 12 are diagrams for explaining the mode change according to the user's operating speed according to the present invention.

도 10을 참조하면, 사용자의 동작 속도가 기 설정된 수치 미만인 경우, 기준 2차원 영상 및 대응 뎁스 영상 혹은 기준 뎁스 영상 및 대응 2차원 영상 중 전부를 실시간으로 동작 분석을 위한 출력 데이터로 출력할 수 있다. 이는 실시간 동작인식 모드로 카메라부를 통해 n hz로 사용자를 촬영하고 촬영된 정보가 바로 상기 제어부를 거쳐 실시간으로 분석될 수 있다. 따라서 영상 저장 메모리나 결과 저장 메모리를 사용하지 않는다. 해당 모드의 장점은 사용자의 동작을 실시간으로 확인할 수 있다. 본 발명의 제어부는 이러한 실시간 동작인식모드에서의 사용자 동작을 분석해서 고속 동작을 취할 준비가 되어 있는지 여부를 실시간으로 확인할 수 있다는 것이다. 더 구체적일 예로서, 상기 고속 동작 중 하나인 골프 스윙이 이루어 지기 전에 두 손을 모아 클럽을 쥐는 어드레스자세를 취하게 되는데, 제어부가 상기 어드레스자세를 실시간으로 분석하여 사용자가 어드레스 자세를 취하고 있다면 곧 고속동작이 이루어질 것이라 예측할 수 있다. Referring to FIG. 10 , when the motion speed of the user is less than a predetermined value, all of the reference 2D image and the corresponding depth image or the reference depth image and the corresponding 2D image may be output as output data for motion analysis in real time. . In this real-time motion recognition mode, the user can be photographed at n hz through the camera unit, and the photographed information can be analyzed in real time through the controller. Therefore, image storage memory or result storage memory is not used. The advantage of this mode is that the user's motion can be checked in real time. The control unit of the present invention analyzes the user's motion in the real-time motion recognition mode and can check in real time whether or not the user is ready to take a high-speed motion. As a more specific example, before a golf swing, which is one of the high-speed motions, takes an address posture in which the club is grasped with both hands together. It can be predicted that high-speed operation will take place.

도 11을 참조하면, 사용자의 동작 속도가 기 설정된 수치 이상인 경우, 기준 2차원 영상 및 대응 뎁스 영상 혹은 기준 뎁스 영상 및 대응 2차원 영상 중 일부를 추출하여 동작 분석을 위한 출력 데이터로 출력할 수 있다. 이는 고속 동작인식모드로 촬영된 영상이 실시간으로 작동하기 위해서는 고속 촬영 주기 시간 안에 영상처리, 동작인식을 모두 적용시켜 결과를 출력해야 하는데 이는 현실적으로 힘들기 때문에 이의 모드에서는 고속으로 촬영된 영상을 저장하고 그 일부를 실시간 동작인식 결과 분석에 활용한다. 예를 들어, 사용자가 고속 동작을 취하고 있을 때 카메라부는 실시간 모드보다 빠른 주기(2n hz)로 촬영을 하고 이를 영상 저장 메모리에 저장한다. 저장된 영상 저장 메모리 중 홀수 번째 영상만 추출하여 상기 제어부에서 영상처리 및 동작인식을 수행할 수 있다. 동작인식결과는 상기 결과 저장메모리에 저장됨과 동시에 표시부에 의해 실시간으로 출력될 수 있다. 상기 첫 번째 모드와 다른 점은 고속의 영상을 추후 분석을 할 수 있도록 영상 저장 메모리에 저장한다는 점, 저장된 고속의 영상 중 일부를 분석한 결과를 출력함과 동시에 결과 메모리에 저장해 둔다는 점에 있다. 고속 동작인식모드의 장점은 첫 번째로 사용자가 고속동작을 종료했는지 여부를 확인하여 종료되었다면 고속 동작인식모드를 종료함으로써 카메라부가 효율적으로 필요부분만 고속으로 촬영하도록 할 수 있고, 두 번째로 영상 저장 메모리, 결과 저장 메모리에도 고속동작부분만 저장되어 메모리를 효율적으로 관리할 수 있다는 것이다.Referring to FIG. 11 , when the user's motion speed is equal to or greater than a preset value, a reference 2D image and a corresponding depth image or a part of the reference depth image and the corresponding 2D image may be extracted and output as output data for motion analysis. . This is because in order for the image captured in the high-speed motion recognition mode to operate in real time, it is necessary to apply both image processing and motion recognition within the high-speed recording cycle time and output the result. A part of it is used for real-time motion recognition result analysis. For example, when the user is performing a high-speed operation, the camera unit takes pictures at a faster cycle (2n hz) than the real-time mode and stores them in an image storage memory. The control unit may perform image processing and motion recognition by extracting only odd-numbered images from the stored image storage memory. The motion recognition result may be stored in the result storage memory and outputted in real time by the display unit. The difference from the first mode is that high-speed images are stored in the image storage memory for later analysis, and the results of analyzing some of the stored high-speed images are output and stored in the result memory at the same time. . The advantage of the high-speed motion recognition mode is, firstly, it checks whether the user has finished the high-speed motion, and if it has ended, the high-speed motion recognition mode is terminated so that the camera can efficiently capture only the necessary part at high speed, and secondly, the image is saved. Memory and result storage Even in the memory, only the high-speed operation part is stored, so the memory can be managed efficiently.

도 12를 참조하면, 사용자의 동작 속도가 기 설정된 수치 이상이어서, 기준 2차원 영상 및 대응 뎁스 영상 혹은 기준 뎁스 영상 및 대응 2차원 영상 중 일부를 추출하여 동작 분석을 위한 출력 데이터로 출력한 경우, 잔여 데이터를 저장 후 사용자의 동작 속도가 기 설정된 수치 미만으로 변경된 경우 동작 분석을 위한 출력 데이터로 출력할 수 있다. 이는 잔여 고속동작분석 모드로 카메라부를 통해 촬영한 상기 고속동작 전체를 분석하고, 상기 결과 저장 메모리에는 상기 고속동작 전체를 분석한 결과가 저장되며, 상기 분석된 결과를 출력할 수 있다. 표시부는 잔여 고속동작분석 모드에서 사용자가 골프 스윙이 끝났음을 알리는 피니쉬 자세 후에 잔여고속동작을 분석함과 동시에 사용자의 스윙을 느린 화면으로 재생해서 제공할 수 있다. 또한, 표시부는 모범이 되는 골프 스윙을 느린 화면으로 재생할 수 있으며, 골프에 관련된 팁들을 보여줄 수도 있다. 이와 같은 표시를 통해 잔여 고속동작들이 분석될 때까지의 대기 시간에 대한 사용자가 체감 시간을 줄여 줄 수 있다.Referring to FIG. 12, when the user's motion speed is equal to or greater than a predetermined value, a reference 2D image and a corresponding depth image or a part of the reference depth image and the corresponding 2D image are extracted and output as output data for motion analysis. After storing the residual data, when the user's motion speed is changed to less than a predetermined value, it may be output as output data for motion analysis. This analyzes the entire high-speed motion photographed through the camera unit in the remaining high-speed motion analysis mode, stores the result of analyzing the entire high-speed motion in the result storage memory, and outputs the analyzed result. In the remaining high-speed motion analysis mode, the display unit may analyze the remaining high-speed motion after the user's finish posture indicating that the golf swing is over and reproduce and provide the user's swing as a slow screen. In addition, the display unit can reproduce a model golf swing on a slow screen, and can also show tips related to golf. Through such a display, the user's perceived time for the waiting time until the remaining high-speed motions are analyzed can be reduced.

이하에서는 본 발명의 실시예에 따른 골프 동작 분석 방법에 있어서, 스켈레톤 정보에 기반하여 사용자의 동작을 표시부에 표시하는 단계에 대하여 구체적으로 설명하도록 한다. Hereinafter, in the golf motion analysis method according to an embodiment of the present invention, the step of displaying the user's motion on the display unit based on the skeleton information will be described in detail.

도 13은 본 발명의 실시예에 따른 골프 동작 분석 방법에 있어서, 표시부에의 표시의 예시를 나타낸 도면이다. 13 is a diagram illustrating an example of display on a display unit in a golf motion analysis method according to an embodiment of the present invention.

도 13을 참조하면, 표시부에는 사용자의 골프 동작의 각 단계별(ADDRESS, TAKE-BACK, BACKSWING TOP, DOWNSWING, IMPACT, FOLLOW THROUGH, FINISH)로 사용자의 동작 촬영 2차원 영상에 스켈레톤 정보가 표시될 수 있다. 그리고, 동작에 있어서의 머리 위치 변화 즉, 머리가 고정되었는지와 리딩 팔의 각도를 표시할 수 있다. 또한, 골프 동작에 있어서 주요한 포인트(ex; 발 넓이, 머리 고정, 균형) 및 주의해야할 포인트(ex; 스웨이, 행잉 백, 역척추각, 슬라이드) 즉, 골프 동작 교정을 위한 분석 결과들이 표시부에 표시될 수 있다. 예를 들어, 제어부는 스켈레톤 관절 및 스켈레톤 머리 정보를 추출할 수 있는데, 표시부는 이러한 스켈레톤 관절의 위치를 2차원 영상 상에 포인트(점)로서 표시할 수 있다. 또한, 표시부는 스켈레톤 머리의 위치를 원으로서 표시할 수 있다.Referring to FIG. 13 , skeleton information may be displayed on a two-dimensional image of the user's action at each step (ADDRESS, TAKE-BACK, BACKSWING TOP, DOWNSWING, IMPACT, FOLLOW THROUGH, FINISH) of the user's golf motion on the display unit. . In addition, it is possible to indicate a change in head position in motion, that is, whether the head is fixed or not and the angle of the leading arm. In addition, the main points in golf motion (ex; foot width, head fixation, balance) and points to pay attention to (ex; sway, hanging back, reverse spine angle, slide), that is, the analysis results for golf motion correction are displayed on the display. It can be. For example, the control unit may extract information on the skeleton joint and the skeleton head, and the display unit may display the location of the skeleton joint as a point on a 2D image. Also, the display unit may display the location of the skeleton head as a circle.

또한, 실시예에 따라서는 둘 이상의 스켈레톤 관절 혹은 스켈레톤 머리를 연결하는 선을 2차원 영상 상에 표시할 수도 있다. 예를 들어, 표시부는 양어깨 관절, 양팔 관절 및 손목 관절 포인트를 연결하는 선 또는 도형을 2차원 영상 상에 표시할 수 있다. 제어부가 구간별로 골프 동작을 구분하는 경우, 표시부는 어드레스 구간 혹은 임팩트 구간에서 취득된 2차원 영상 상에 양어깨, 양팔 관절 및 손목 관절 포인트를 연결하는 선 또는 도형을 표시할 수 있는데, 이는 어드레스 구간 및 임팩트 구간에서 양어깨 및 양팔이 이루는 각도가 일정한 형태의 역삼각형을 이루도록 하는 안내선 역할을 한다.Also, depending on embodiments, lines connecting two or more skeleton joints or skeleton heads may be displayed on a 2D image. For example, the display unit may display lines or figures connecting points of both shoulder joints, both arms joints, and wrist joints on a 2D image. When the controller classifies the golf motion for each section, the display unit may display lines or figures connecting points of both shoulders, arms, and wrist joints on the two-dimensional image obtained in the address section or the impact section, which is the address section. And in the impact section, the angle formed by both shoulders and arms serves as a guide line to form an inverted triangle of a certain shape.

스켈레톤 관절 포인트 사이에 연결된 선 또는 도형의 위치 혹은 형상은 제어부에 의해 미리 설정된 기준과 비교될 수 있다. 이러한 비교 결과에 따라, 표시부는 선 또는 도형의 색상 혹은 표현 방식을 다르게 표시할 수 있다.The position or shape of the line or figure connected between the skeleton joint points may be compared with a criterion set in advance by the controller. According to the comparison result, the display unit may display the color or expression method of the line or figure differently.

예를 들어, 제어부는 팔꿈치를 기준으로 어깨-팔꿈치-손목이 이루는 각도를 계산할 수 있는데, 이때, 계산된 각도가 기준 범위 이내에 있으면 해당 스켈레톤 관절을 연결하는 선을 녹색으로 표시할 수 있다. 그렇지 않은 경우, 제어부는 기준 범위를 벗어난 정도에 따라, 해당 선을 황색 혹은 적색으로 표시할 수 있다.For example, the controller may calculate an angle formed by the shoulder-elbow-wrist based on the elbow. At this time, if the calculated angle is within a reference range, the line connecting the corresponding skeleton joint may be displayed in green. Otherwise, the controller may display the corresponding line in yellow or red depending on the degree of deviation from the reference range.

스켈레톤 머리의 위치를 표시하는 원에 대해서도 원의 위치가 기준 범위 이내에 있으면 해당 스켈레톤 머리를 나타내는 원의 색상을 녹색으로 표시하고, 그렇지 않은 경우, 기준 범위를 벗어난 정도에 따라 해당 선을 황색 혹은 적색으로 표시할 수 있다. 도 14 내지 도 16은 분석된 사용자의 동작이 기준 동작에 맞는 경우와 맞지 않았을 경우의 표시부에서의 표시의 예시를 나타낸 것이다. 도 14에서는 사용자의 머리 위치가 정상범주이기 때문에 실선 원으로 표현하고, 도 15 및 도 16에서는 사용자의 머리 위치가 정상범주를 벗어났기 때문에 점선원으로 표현된다. 제어부가 구간별로 골프 동작을 구분하는 경우, 표시부는 각 구간 사이의 스켈레톤 관절 및 스켈레톤 머리의 위치 변화량(이동 거리)을 표시할 수 있다. 예를 들어, 표시부는 어드레스 구간으로부터 임팩트 구간까지의 스켈레톤 머리의 위치 변화량을 표시할 수 있다. 한편, 제어부가 스켈레톤 정보에 있어서 3차원 위치 정보를 추출할 수 있기 때문에 이러한 위치 변화량은 3차원 위치 변화량일 수 있다.Regarding the circle indicating the position of the skeleton head, if the position of the circle is within the standard range, the color of the circle representing the skeleton head is displayed in green. can be displayed 14 to 16 illustrate examples of display on the display unit when the analyzed user's motion matches the reference motion or when it does not. In FIG. 14, since the position of the user's head is within the normal range, it is represented by a solid circle, and in FIGS. 15 and 16, since the position of the user's head is out of the normal range, it is represented by a dotted circle. When the controller classifies the golf motion for each section, the display unit may display a positional change amount (movement distance) of the skeleton joint and the skeleton head between each section. For example, the display unit may display a position change amount of the skeleton head from the address section to the impact section. On the other hand, since the control unit can extract 3D location information from skeleton information, such a location change amount may be a 3D location change amount.

도 17은 표시하는 단계에서 발 간격을 표시하는 일 예이다. 골프 동작에 있어서, 발 넓이는 기본적으로 어깨 넓이 정도를 유지해야하기 때문에 표현되는 것으로 계산은 다음에 기초하여 이루어진다. 17 is an example of displaying the foot spacing in the displaying step. In the golf motion, the width of the foot is expressed because it is basically required to maintain the width of the shoulder, and the calculation is made based on the following.

- 양 발 관절의 3D 좌표:

Figure 112016006444728-pat00010
,
Figure 112016006444728-pat00011
- 3D coordinates of the joints of both feet:
Figure 112016006444728-pat00010
,
Figure 112016006444728-pat00011

- 양 어깨 관절의 3D 좌표:

Figure 112016006444728-pat00012
,
Figure 112016006444728-pat00013
- 3D coordinates of both shoulder joints:
Figure 112016006444728-pat00012
,
Figure 112016006444728-pat00013

- 판별식:

Figure 112016006444728-pat00014
- discriminant:
Figure 112016006444728-pat00014

도 18 및 도 19는 사용자의 동작 분석을 통해 스웨이(Sway)를 판별하는 일 예를 도시한 것이다. 스웨이는 백스윙 중에 하체가 목표점으로부터 과도하게 움직여 무게중심이 발 뒤쪽 바깥으로 나가는 것을 의미한다. 도 18은 바른자세, 도 19는 스웨이를 표현한 것으로, 계산은 다음에 기초하여 이루어진다. 18 and 19 illustrate an example of determining a Sway through analysis of a user's motion. Sway means that the lower body moves excessively from the target point during the backswing and the center of gravity moves outward behind the foot. Fig. 18 shows the right posture and Fig. 19 shows the sway. The calculation is based on the following.

- 포인트 클라우드:

Figure 112016006444728-pat00015
- Point cloud:
Figure 112016006444728-pat00015

- 무게 중심의 3D 좌표:

Figure 112016006444728-pat00016
- 3D coordinates of the center of gravity:
Figure 112016006444728-pat00016

- 오른발 관절의 3D 좌표:

Figure 112016006444728-pat00017
- 3D coordinates of the right foot joint:
Figure 112016006444728-pat00017

- 판별식:

Figure 112016006444728-pat00018
- discriminant:
Figure 112016006444728-pat00018

도 20 및 도 21은 사용자의 동작 분석을 통해 행잉 백(Hanging Back)을 판별하는 일 예를 도시한 것이다. 행잉백은 다운스윙을 할 때 체중을 리드하는 쪽으로 보내지 못하는 것을 의미한다. 도 20은 바른자세 도 21은 행잉백을 표현한 것으로, 계산은 다음에 기초하여 이루어진다. 20 and 21 illustrate an example of determining hanging back through analysis of a user's motion. Hanging back means not sending your weight to the lead on the downswing. Fig. 20 shows the right posture and Fig. 21 expresses the hanging bag, and the calculation is made based on the following.

- 포인트 클라우드:

Figure 112016006444728-pat00019
- Point cloud:
Figure 112016006444728-pat00019

- 무게 중심의 3D 좌표:

Figure 112016006444728-pat00020
- 3D coordinates of the center of gravity:
Figure 112016006444728-pat00020

- 왼발 관절의 3D 좌표:

Figure 112016006444728-pat00021
- 3D coordinates of the joint of the left foot:
Figure 112016006444728-pat00021

- 판별식:

Figure 112016006444728-pat00022
- discriminant:
Figure 112016006444728-pat00022

도 22 및 도 23은 사용자의 동작 분석을 통해 치킨 윙(Chicken wing)을 판별하는 일 예를 도시한 것이다. 치킨 윙은 임팩트 시에 팔꿈치가 펴지지 않는 것을 의미한다. 도 22는 바른자세, 도 23은 치킨 윙을 표현한 것으로, 계산은 다음에 기초하여 이루어진다. 22 and 23 show an example of determining a chicken wing through motion analysis of a user. Chicken wings mean the elbow doesn't straighten at impact. Figure 22 is an expression of the right posture, Figure 23 is a chicken wing, the calculation is made based on the following.

- 왼어깨의 3D 좌표:

Figure 112016006444728-pat00023
- 3D coordinates of the left shoulder:
Figure 112016006444728-pat00023

- 왼팔꿈치의 3D 좌표:

Figure 112016006444728-pat00024
- 3D coordinates of the left elbow:
Figure 112016006444728-pat00024

- 왼손의 3D 좌표:

Figure 112016006444728-pat00025
- 3D coordinates of the left hand:
Figure 112016006444728-pat00025

- 어깨-팔꿈치 직선과 팔꿈치-손 직선이 이루는 각도:

Figure 112016006444728-pat00026
- The angle formed by the shoulder-elbow straight line and the elbow-hand straight line:
Figure 112016006444728-pat00026

- 판별식:

Figure 112016006444728-pat00027
- discriminant:
Figure 112016006444728-pat00027

- 위의 과정을 오른쪽에 대해서도 반복- Repeat the above process for the right side

도 24 및 도 25는 사용자의 동작 분석을 통해 역척추각(Reverse spine angle)을 판별하는 일 예를 도시한 것이다. 역척추각은 백스윙 중에 상체가 과도하게 뒤로 제껴지는 것을 의미한다. 도 24는 바른자세, 도 25는 역척추각을 표현한 것으로, 계산은 다음에 기초하여 이루어진다. 24 and 25 illustrate an example of determining a reverse spine angle through motion analysis of a user. A reverse vertebral angle means that the upper body is excessively deflected backward during the backswing. Figure 24 shows the upright posture and Figure 25 represents the inverted spine angle, and the calculation is made based on the following.

- 머리의 3D 좌표:

Figure 112016006444728-pat00028
- 3D coordinates of the head:
Figure 112016006444728-pat00028

- 왼쪽 골반의 3D 좌표:

Figure 112016006444728-pat00029
- 3D coordinates of the left pelvis:
Figure 112016006444728-pat00029

- 오른쪽 골반의 3D 좌표:

Figure 112016006444728-pat00030
- 3D coordinates of the right pelvis:
Figure 112016006444728-pat00030

- 골반 중심의 3D 좌표:

Figure 112016006444728-pat00031
- 3D coordinates of the center of the pelvis:
Figure 112016006444728-pat00031

- 판별식:

Figure 112016006444728-pat00032
- discriminant:
Figure 112016006444728-pat00032

도 26은 사용자의 동작 분석을 통해 슬라이드(Slide)를 판별하는 일 예를 도시한 것이다. 슬라이드는 임팩트 시에 하체가 목표방향으로 과도하게 측면이동 하는 것을 의미한다. 도 26은 슬라이드를 표현한 것으로, 계산은 다음에 기초하여 이루어진다.26 illustrates an example of determining a slide through analysis of a user's motion. Slide refers to excessive lateral movement of the lower body in the target direction during impact. Figure 26 is a representation of a slide, and calculations are made based on the following.

- 왼쪽 골반의 3D 좌표:

Figure 112016006444728-pat00033
- 3D coordinates of the left pelvis:
Figure 112016006444728-pat00033

- 오른쪽 골반의 3D 좌표:

Figure 112016006444728-pat00034
- 3D coordinates of the right pelvis:
Figure 112016006444728-pat00034

- 골반 중심의 3D 좌표:

Figure 112016006444728-pat00035
- 3D coordinates of the center of the pelvis:
Figure 112016006444728-pat00035

- 왼발 관절의 3D 좌표:

Figure 112016006444728-pat00036
- 3D coordinates of the joint of the left foot:
Figure 112016006444728-pat00036

- 판별식:

Figure 112016006444728-pat00037
- discriminant:
Figure 112016006444728-pat00037

도 27 및 도 28은 사용자의 동작 분석을 통해 평평한 어깨(Flat shoulder plane)을 판별하는 일 예를 도시한 것이다. 평평한 어깨는 백스윙의 탑에서 어깨가 지면과 평행을 이루는 것을 의미한다. 도 27은 바른자세, 도 28은 평평한 어깨를 표현한 것으로, 계산은 다음에 기초하여 이루어진다. 27 and 28 illustrate an example of determining a flat shoulder plane through motion analysis of a user. Flat shoulders mean the shoulders are parallel to the ground at the top of the backswing. Fig. 27 shows the right posture, and Fig. 28 shows the flat shoulders, and the calculation is made based on the following.

- 머리의 3D 좌표:

Figure 112016006444728-pat00038
- 3D coordinates of the head:
Figure 112016006444728-pat00038

- 골반 중심의 3D 좌표:

Figure 112016006444728-pat00039
- 3D coordinates of the center of the pelvis:
Figure 112016006444728-pat00039

- 왼쪽 어깨의 3D 좌표:

Figure 112016006444728-pat00040
- 3D coordinates of the left shoulder:
Figure 112016006444728-pat00040

- 오른쪽 어깨의 3D 좌표:

Figure 112016006444728-pat00041
- 3D coordinates of the right shoulder:
Figure 112016006444728-pat00041

- 머리-골반 직선과 양 어깨 직선이 이루는 각도:

Figure 112016006444728-pat00042
- The angle formed by the head-pelvic straight line and the shoulder straight line:
Figure 112016006444728-pat00042

- 판별식:

Figure 112016006444728-pat00043
- discriminant:
Figure 112016006444728-pat00043

도 29는 사용자의 동작 분석을 통해 머리가 고정되어 있는지를 판별하는 일 예를 도시한 것이다. 골프 동작 중 어드레스-백스윙-백스윙탑-다운스윙-임팩트의 과정 중에 머리의 위치가 되도록이면 변하지 않아야 한다. 도 29에서는 사용자의 머리 위치에 머리 위치의 변화를 표시할 수 있으며, 계산은 다음에 기초하여 이루어진다. 29 illustrates an example of determining whether a user's head is fixed through motion analysis. During the process of address-backswing-backswing-top-downswing-impact during golf motions, the position of the head should not change as much as possible. In FIG. 29, the change of the head position can be displayed on the user's head position, and the calculation is made based on the following.

- 어드레스 시점에서의 머리의 3D 좌표:

Figure 112016006444728-pat00044
- 3D coordinates of the head at address:
Figure 112016006444728-pat00044

- 백스윙탑 시점에서의 머리의 3D 좌표:

Figure 112016006444728-pat00045
- 3D coordinates of the head at the top of the backswing:
Figure 112016006444728-pat00045

- 임팩트 시점에서의 머리의 3D 좌표:

Figure 112016006444728-pat00046
- 3D coordinates of the head at the time of impact:
Figure 112016006444728-pat00046

- 판별식:

Figure 112016006444728-pat00047
- discriminant:
Figure 112016006444728-pat00047

이러한 본 발명에 따른 골프 동작 분석 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.  상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.  컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 모든 형태의 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.  이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The golf motion analysis method according to the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the medium may be those specially designed and configured for the present invention or those known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes all types of hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, etc. Examples of program instructions may include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes generated by a compiler. These hardware devices may be configured to act as one or more software modules to perform the operations of the present invention, and vice versa.

본 발명의 원리들의 교시들은 하드웨어와 소프트웨어의 조합으로서 구현될 수 있다. 또한, 소프트웨어는 프로그램 저장부 상에서 실재로 구현되는 응용 프로그램으로서 구현될 수 있다. 응용 프로그램은 임의의 적절한 아키텍쳐를 포함하는 머신에 업로드되고 머신에 의해 실행될 수 있다. 바람직하게는, 머신은 하나 이상의 중앙 처리 장치들(CPU), 컴퓨터 프로세서, 랜덤 액세스 메모리(RAM), 및 입/출력(I/O) 인터페이스들과 같은 하드웨어를 갖는 컴퓨터 플랫폼 상에 구현될 수 있다. 또한, 컴퓨터 플랫폼은 운영 체제 및 마이크로 명령 코드를 포함할 수 있다. 여기서 설명된 다양한 프로세스들 및 기능들은 마이크로 명령 코드의 일부 또는 응용 프로그램의 일부, 또는 이들의 임의의 조합일 수 있고, 이들은 CPU를 포함하는 다양한 처리 장치에 의해 실행될 수 있다. 추가로, 추가 데이터 저장부 및 프린터와 같은 다양한 다른 주변 장치들이 컴퓨터 플랫폼에 접속될 수 있다.The teachings of the principles of the present invention may be implemented as a combination of hardware and software. Also, the software may be implemented as an application program actually implemented on the program storage unit. An application program may be uploaded to and executed by a machine having any suitable architecture. Preferably, the machine may be implemented on a computer platform having hardware such as one or more central processing units (CPU), a computer processor, random access memory (RAM), and input/output (I/O) interfaces. . Additionally, the computer platform may include an operating system and microinstruction code. The various processes and functions described herein may be part of microinstruction code or part of an application program, or any combination thereof, which may be executed by various processing units, including a CPU. Additionally, various other peripherals may be connected to the computer platform, such as additional data storage and printers.

첨부 도면들에서 도시된 구성 시스템 컴포넌트들 및 방법들의 일부가 바람직하게는 소프트웨어로 구현되므로, 시스템 컴포넌트들 또는 프로세스 기능 블록들 사이의 실제 접속들은 본 발명의 원리들이 프로그래밍되는 방식에 따라 달라질 수 있다는 점이 추가로 이해되어야 한다. 여기서의 교시들이 주어지면, 관련 기술분야의 당업자는 본 발명의 원리들의 이들 및 유사한 구현예들 또는 구성들을 참작할 수 있을 것이다.It should be noted that, as some of the constituent system components and methods shown in the accompanying drawings are preferably implemented in software, the actual connections between system components or process function blocks may vary depending on how the principles of the present invention are programmed. need to be further understood. Given the teachings herein, those skilled in the art will be able to contemplate these and similar implementations or configurations of the principles of the present invention.

이하에서는 본 발명의 실시예에 따른 골프 동작 분석 장치의 구성 및 동작에 대하여 설명하도록 한다. Hereinafter, the configuration and operation of the apparatus for analyzing golf motions according to an embodiment of the present invention will be described.

도 30은 본 발명의 실시예에 따른 골프 동작 분석 장치의 구성을 나타낸 블록도이다. 30 is a block diagram showing the configuration of a golf motion analysis device according to an embodiment of the present invention.

도 30을 참조하면, 본 발명의 실시예에 따른 골프 동작 분석 장치(100)는 카메라부(110), 제어부(120), 출력부(130), 추출부(140) 및 표시부(150)를 포함하여 구성될 수 있다. 이의 골프 동작 분석 장치(100)는 도 1 내지 도 29와 함께 설명한 기술 내용을 공유하며, 이하에서는 주요 기술 내용 중심으로 설명하도록 한다. Referring to FIG. 30 , the golf motion analysis apparatus 100 according to an embodiment of the present invention includes a camera unit 110, a control unit 120, an output unit 130, an extraction unit 140, and a display unit 150. can be configured. This golf motion analysis device 100 shares the technical contents described with FIGS. 1 to 29, and will be described below with a focus on the main technical contents.

카메라부(110)는 사용자의 동작에 대한 2차원 영상을 획득하는 영상 센서 및 상기 2차원 영상을 획득하는 것과 시간적으로 교대로 상기 2차원 영상의 각 픽셀에 대한 깊이 값을 포함하는 뎁스 영상을 획득하는 깊이 센서를 포함한다. The camera unit 110 acquires an image sensor that acquires a 2D image of a user's motion and a depth image including a depth value for each pixel of the 2D image alternately with the acquisition of the 2D image in time It includes a depth sensor that

제어부(120)는 카메라부(110)에서 소정 시각에 획득한 기준 2차원 영상 혹은 기준 뎁스 영상에 대응하는 대응 뎁스 영상 혹은 대응 2차원 영상을 생성한다.The controller 120 generates a corresponding depth image or a corresponding 2D image corresponding to the reference 2D image or the reference depth image acquired by the camera unit 110 at a predetermined time.

출력부(130)는 기준 2차원 영상 및 상기 대응 뎁스 영상 혹은 상기 기준 뎁스 영상 및 상기 대응 2차원 영상을 출력 데이터로 출력한다. The output unit 130 outputs the reference 2D image and the corresponding depth image or the reference depth image and the corresponding 2D image as output data.

추출부(140)는 출력 데이터에 대한 분석을 통해 상기 사용자의 스켈레톤 정보를 추출한다. The extraction unit 140 extracts the user's skeleton information through analysis of the output data.

표시부(150)는 스켈레톤 정보에 기반하여 상기 사용자의 동작을 표시한다. The display unit 150 displays the user's motion based on the skeleton information.

한편, 표시부(150)는 카메라부(110)로부터 획득된 2차원 영상을 연속으로 표시함으로써 사용자의 골프 동작에 대한 연속 동작-동영상-을 표시할 수 있다.On the other hand, the display unit 150 may display a continuous motion-video-of the user's golf motion by continuously displaying the 2D image obtained from the camera unit 110.

제어부(120)는 카메라부(110)로부터 획득된 뎁스 영상으로부터 3차원 포인트 클라우드(3D point cloud)를 추출하고, 표시부(150)는 이러한 3차원 포인트 클라우드를 화면으로 출력할 수 있다.The controller 120 may extract a 3D point cloud from the depth image obtained from the camera unit 110, and the display unit 150 may output the 3D point cloud on a screen.

뎁스 영상은 D(x,y) 라는 2차원 함수로서 (x,y) 라는 pixel coordinate로부터 D 라는 그 픽셀에 해당하는 실제 물체까지의 물리적 거리를 대응시키는 함수로 정의될 수 있다.The depth image is a two-dimensional function called D(x,y) and can be defined as a function corresponding to a physical distance from a pixel coordinate called (x,y) to a real object corresponding to the pixel called D.

이 때 뎁스 영상에 대한 카메라 파라메터(camera parameter)가 알려졌다면, 이를 활용해서 각 픽셀에 대응하는 3차원 포인트의 3차원 좌표를 계산할 수 있다.At this time, if a camera parameter for the depth image is known, a 3D coordinate of a 3D point corresponding to each pixel may be calculated using this.

간단한 바늘구멍 사진기(pinhole camera) 모델을 가정하고, 카메라의 초점거리(focal length)을 f, 주점(principal point)의 픽셀 좌표를 (px, py)라고 한다면, 3차원 포인트 (X, Y, Z)와 뎁스 영상으로 투사된 2차원 픽셀 좌표 (x, y)와의 관계는 다음과 같이 표시될 수 있다.Assuming a simple pinhole camera model, if the focal length of the camera is f and the pixel coordinates of the principal point are (px, py), a 3-dimensional point (X, Y, Z ) and the two-dimensional pixel coordinates (x, y) projected onto the depth image can be expressed as follows.

Figure 112016006444728-pat00048
Figure 112016006444728-pat00048

이는 다음과 같은 두 개의 식으로 정리된다.This is summarized in the following two equations.

Figure 112016006444728-pat00049
Figure 112016006444728-pat00049

따라서 뎁스 영상의 픽셀 (x, y)의 뎁스 D 가 주어졌다면, 그 픽셀에 대응하는 3차원 포인트의 좌표는 다음과 같이 계산된다.Therefore, if the depth D of the pixel (x, y) of the depth image is given, the coordinates of the 3D point corresponding to the pixel are calculated as follows.

Figure 112016006444728-pat00050
Figure 112016006444728-pat00050

제어부(120)가 이러한 과정을 통해 3차원 포인트 클라우드 추출하여 표시부(150)로 전달하면 표시부(150)는 이러한 3차원 포인트 클라우드를 화면으로 출력하게 된다. 이 때, 표시부(150)는 사용자의 조작 입력(예를 들어, 마우스 입력)에 따라 3차원 포인트 클라우드의 표시 시점을 다르게 제어할 수 있다.When the control unit 120 extracts the 3D point cloud through this process and transmits it to the display unit 150, the display unit 150 outputs the 3D point cloud to the screen. In this case, the display unit 150 may differently control the display time point of the 3D point cloud according to the user's manipulation input (eg, mouse input).

골프 동작 분석에서 허리를 굽히고, 팔이 어떤 각도를 유지하고 있는지 등의 정보 또한 중요한데, 이는 정면에 대한 2차원 영상만으로는 판단하기 쉽지 않은 요소들이다. 본 발명에 따르면 제어부(120)가 3차원 포인트 클라우드를 계산하고, 표시부(150)가 이를 시각화 해주기 때문에 위와 같은 정보를 사용자에게 쉽게 전달할 수 있다.In the analysis of golf motion, information such as bending the waist and maintaining the angle of the arms is also important, and these are factors that are not easy to determine with only the two-dimensional image of the front. According to the present invention, since the control unit 120 calculates a 3D point cloud and the display unit 150 visualizes it, the above information can be easily conveyed to the user.

이상에서와 같이 본 발명에 따른 골프 동작 분석 방법 및 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, the golf motion analysis method and apparatus according to the present invention are not limited to the configuration and method of the embodiments described above, but the above embodiments can be modified in various ways. All or part of them may be selectively combined.

100; 골프 동작 분석 장치
110; 카메라부
120; 제어부
130; 출력부
140; 추출부
150; 표시부
100; Golf motion analysis device
110; camera part
120; control unit
130; output
140; extraction unit
150; display part

Claims (20)

카메라부의 영상 센서에서 사용자의 동작에 대한 2차원 영상을 획득하는 단계;
상기 2차원 영상을 획득하는 것과 시간적으로 교대로 상기 카메라부의 깊이 센서에서 상기 2차원 영상의 각 픽셀에 대한 깊이 값을 포함하는 뎁스 영상을 획득하는 단계;
소정 시각에 획득한 기준 2차원 영상 혹은 기준 뎁스 영상에 대응하는 대응 뎁스 영상 혹은 대응 2차원 영상을 생성하는 촬영 속도 증가 단계;
상기 기준 2차원 영상 및 상기 대응 뎁스 영상 혹은 상기 기준 뎁스 영상 및 상기 대응 2차원 영상을 동작 분석을 위한 출력 데이터로 출력하는 단계;
상기 출력 데이터에 대한 분석을 통해 상기 사용자의 스켈레톤 정보를 추출하는 단계; 및
상기 스켈레톤 정보에 기반하여 상기 사용자의 동작을 표시부에 표시하는 단계를 포함하는 것을 특징으로 하는 골프 동작 분석 방법.
obtaining a 2D image of a user's motion from an image sensor of a camera unit;
acquiring a depth image including a depth value for each pixel of the 2D image from a depth sensor of the camera unit temporally alternately with acquiring the 2D image;
a photographing speed increasing step of generating a corresponding depth image or a corresponding 2D image corresponding to a reference 2D image or a reference depth image acquired at a predetermined time;
outputting the reference 2D image and the corresponding depth image or the reference depth image and the corresponding 2D image as output data for motion analysis;
extracting skeleton information of the user through analysis of the output data; and
and displaying the motion of the user on a display unit based on the skeleton information.
청구항 1에 있어서,
상기 촬영 속도 증가 단계는,
상기 깊이 센서가 제1 시각에 제1 뎁스 영상을 획득하는 단계;
상기 영상 센서가 제1 시각 이후의 제2 시각에 상기 기준 2차원 영상으로 제1 2차원 영상을 획득하는 단계;
상기 제1 뎁스 영상을 상기 영상 센서의 시점으로 투사하여 상기 제1 시각의 제2 뎁스 영상을 생성하는 단계;
상기 제1 2차원 영상과 상기 제2 뎁스 영상 사이의 모션 벡터를 추정하는 단계;
상기 모션 벡터를 이용하여 상기 제2 뎁스 영상으로부터 상기 제2 시각에서의 투사된 제3 뎁스 영상을 렌더링하는 단계; 및
상기 제3 뎁스 영상을 상기 깊이 센서 시점으로 투사하여 상기 대응 뎁스 영상으로 상기 제2 시각에서의 제4 뎁스 영상을 생성하는 단계를 포함하며,
상기 출력하는 단계에서는 상기 제1 2차원 영상과 상기 제4 뎁스 영상을 출력 데이터로 출력하는 것을 특징으로 하는 골프 동작 분석 방법.
The method of claim 1,
In the step of increasing the shooting speed,
obtaining, by the depth sensor, a first depth image at a first time;
obtaining, by the image sensor, a first 2D image as the reference 2D image at a second time after the first time;
generating a second depth image of the first view by projecting the first depth image to the viewpoint of the image sensor;
estimating a motion vector between the first 2D image and the second depth image;
rendering a third depth image projected at the second viewpoint from the second depth image by using the motion vector; and
Projecting the third depth image to the depth sensor viewpoint to generate a fourth depth image at the second viewpoint using the corresponding depth image;
In the outputting step, the first two-dimensional image and the fourth depth image are output as output data.
청구항 1에 있어서,
상기 촬영 속도 증가 단계는,
상기 영상 센서가 제1 시각에 제1 2차원 영상을 획득하는 단계;
상기 깊이 센서가 제1 시각 이후의 제2 시각에 상기 기준 뎁스 영상으로 제1 뎁스 영상을 획득하는 단계;
상기 제1 뎁스 영상을 상기 영상 센서의 시점으로 투사하여 제2 뎁스 영상을 생성하는 단계;
상기 제1 2차원 영상과 상기 제2 뎁스 영상 사이의 모션 벡터를 추정하는 단계; 및
상기 모션 벡터를 이용하여 상기 제1 2차원 영상으로부터 상기 대응 2차원 영상으로 상기 제2 시각에서의 제2 2차원 영상을 렌더링하는 단계를 포함하며,
상기 출력하는 단계에서는 상기 제1 뎁스 영상과 상기 제2 2차원 영상을 출력 데이터로 출력하는 것을 특징으로 하는 골프 동작 분석 방법.
The method of claim 1,
In the step of increasing the shooting speed,
obtaining, by the image sensor, a first 2-dimensional image at a first time;
obtaining, by the depth sensor, a first depth image as the reference depth image at a second time after the first time;
generating a second depth image by projecting the first depth image to the viewpoint of the image sensor;
estimating a motion vector between the first 2D image and the second depth image; and
rendering a second 2-dimensional image at the second point of view from the first 2-dimensional image to the corresponding 2-dimensional image using the motion vector;
In the outputting step, the first depth image and the second two-dimensional image are output as output data.
청구항 1에 있어서,
상기 스켈레톤 정보를 추출하는 단계는,
상기 출력 데이터의 픽셀 데이터를 추출하는 단계;
상기 픽셀 데이터에 기초하여, 상기 사용자에 해당하는 영역의 픽셀을 선정하는 사용자 영역화 단계;
사용자 영역화 된 픽셀들 각각에 대하여 스켈레톤 관절에 해당하는지에 대한 확률 분포값을 산정하는 단계;
상기 확률 분포값에 따라, 소정의 픽셀들에 대하여 스켈레톤 관절로 정의하는 단계;
상기 스켈레톤 관절로 정의된 소정의 픽셀들에서의 중심점을 정의하는 단계; 및
상기 중심점에 기초하여 상기 스켈레톤 정보를 완성하여 추출하는 단계를 포함하는 것을 특징으로 하는 골프 동작 분석 방법.
The method of claim 1,
The step of extracting the skeleton information,
extracting pixel data of the output data;
a user areaization step of selecting a pixel of an area corresponding to the user based on the pixel data;
Calculating a probability distribution value for each of the user-area pixels corresponding to a skeleton joint;
defining predetermined pixels as skeleton joints according to the probability distribution values;
defining a center point of predetermined pixels defined as the skeleton joint; and
and completing and extracting the skeleton information based on the center point.
청구항 4에 있어서,
상기 스켈레톤 관절을 정의하는 단계 및 상기 중심점을 정의하는 단계는,
상기 픽셀 데이터의 해상도를 낮추는 단계;
낮은 해상도에 기초하여 스켈레톤 관절 및 중심점을 정의하는 단계;
상기 픽셀 데이터의 해상도를 높이는 단계;
상기 낮은 해상도에 기초하여 도출된 중심점에서의 소정 거리만큼의 영역을 설정하는 단계; 및
상기 영역내에서의 픽셀에 기초하여 스켈레톤 관절 및 중심점을 재차 정의하는 단계를 포함하는 것을 특징으로 하는 골프 동작 분석 방법.
The method of claim 4,
The step of defining the skeleton joint and the step of defining the center point,
lowering the resolution of the pixel data;
Defining skeleton joints and center points based on low resolution;
increasing the resolution of the pixel data;
setting an area of a predetermined distance from the center point derived based on the low resolution; and
and re-defining a skeleton joint and a central point based on pixels within the region.
청구항 4에 있어서,
상기 픽셀 데이터는 각 픽셀의 깊이 정보, RGB값, 및 조도 값 중 적어도 하나인 것을 특징으로 하는 골프 동작 분석 방법.
The method of claim 4,
Wherein the pixel data is at least one of depth information, RGB values, and illuminance values of each pixel.
청구항 1에 있어서,
상기 출력하는 단계에서는,
상기 사용자의 동작 속도에 따라 동작 분석을 위한 출력 데이터의 양을 조절하는 것을 특징으로 하는 골프 동작 분석 방법.
The method of claim 1,
In the output step,
The method of analyzing golf motion, characterized in that adjusting the amount of output data for motion analysis according to the motion speed of the user.
청구항 1에 있어서,
상기 출력하는 단계에서,
상기 사용자의 동작 속도가 기 설정된 수치 미만인 경우, 상기 기준 2차원 영상 및 상기 대응 뎁스 영상 혹은 상기 기준 뎁스 영상 및 상기 대응 2차원 영상 중 전부를 실시간으로 동작 분석을 위한 출력 데이터로 출력하고,
상기 사용자의 동작 속도가 기 설정된 수치 이상인 경우, 상기 기준 2차원 영상 및 상기 대응 뎁스 영상 혹은 상기 기준 뎁스 영상 및 상기 대응 2차원 영상 중 일부를 추출하여 동작 분석을 위한 출력 데이터로 출력하는 것을 특징으로 하는 골프 동작 분석 방법.
The method of claim 1,
In the outputting step,
When the motion speed of the user is less than a predetermined value, outputting the reference 2D image and the corresponding depth image or all of the reference depth image and the corresponding 2D image as output data for motion analysis in real time;
When the motion speed of the user is equal to or greater than a predetermined value, extracting the reference 2D image and the corresponding depth image or a part of the reference depth image and the corresponding 2D image and outputting the result as output data for motion analysis. Golf motion analysis method.
청구항 8에 있어서,
상기 출력하는 단계에서,
상기 사용자의 동작 속도가 기 설정된 수치 이상이어서, 상기 기준 2차원 영상 및 상기 대응 뎁스 영상 혹은 상기 기준 뎁스 영상 및 상기 대응 2차원 영상 중 일부를 추출하여 동작 분석을 위한 출력 데이터로 출력한 경우, 잔여 데이터를 저장 후 상기 사용자의 동작 속도가 기 설정된 수치 미만으로 변경된 경우 동작 분석을 위한 출력 데이터로 출력하는 것을 특징으로 하는 골프 동작 분석 방법.
The method of claim 8,
In the outputting step,
When the user's motion speed is equal to or greater than a predetermined value, the reference 2D image and the corresponding depth image or a part of the reference depth image and the corresponding 2D image are extracted and output as output data for motion analysis. A golf motion analysis method characterized in that after storing the data, when the user's motion speed is changed to less than a preset value, outputting the data as output data for motion analysis.
청구항 1에 있어서,
상기 표시하는 단계에서는,
상기 사용자의 동작 중 기 설정된 기준 동작과 소정치 이상 다른 상기 사용자의 동작을 표시하는 것을 특징으로 하는 골프 동작 분석 방법.
The method of claim 1,
In the display step,
A method for analyzing golf motion, characterized in that displaying a motion of the user that is different from a preset reference motion among the motions of the user by a predetermined value or more.
카메라부의 영상 센서에서 사용자의 골프 동작에 대한 2차원 영상을 획득하는 단계;
상기 카메라부의 깊이 센서에서 상기 2차원 영상의 각 픽셀에 대한 깊이 값을 포함하는 뎁스 영상을 획득하는 단계;
상기 2차원 영상 및 상기 뎁스 영상을 기초로 한 출력 데이터에 대한 분석을 통해 상기 사용자의 스켈레톤 정보를 추출하는 단계; 및
상기 2차원 영상 및 상기 스켈레톤 정보에 기초하여 상기 사용자의 관절 위치를 표시부에 표시하는 단계를 포함하고,
상기 뎁스 영상을 획득하는 단계에서는,
상기 2차원 영상을 획득하는 것과 교대로 상기 뎁스 영상을 획득하도록 진행되며,
소정 시각에 획득한 기준 2차원 영상 혹은 기준 뎁스 영상에 대응하는 대응 뎁스 영상 혹은 대응 2차원 영상을 생성하는 촬영 속도 증가 단계를 더 포함하는 것을 특징으로 하는 골프 동작 분석 방법.
obtaining a two-dimensional image of a user's golf motion from an image sensor of a camera unit;
obtaining a depth image including a depth value for each pixel of the 2D image from a depth sensor of the camera unit;
extracting skeleton information of the user through analysis of output data based on the 2D image and the depth image; and
Displaying the user's joint position on a display unit based on the two-dimensional image and the skeleton information;
In the step of acquiring the depth image,
It proceeds to acquire the depth image alternately with acquiring the two-dimensional image,
The golf motion analysis method further comprising a photographing speed increasing step of generating a corresponding depth image or a corresponding 2D image corresponding to a reference 2D image or a reference depth image obtained at a predetermined time.
삭제delete 청구항 11에 있어서,
상기 추출하는 단계에서는, 상기 사용자의 스켈레톤 정보로 스켈레톤 머리 정보를 포함하여 추출하고,
상기 표시하는 단계에서는, 상기 사용자의 골프 동작 중 어드레스 구간으로부터 임팩트 구간까지의 머리 이동을 표시하는 것을 특징으로 하는 골프 동작 분석 방법.
The method of claim 11,
In the step of extracting, the user's skeleton information includes skeleton head information and is extracted;
In the displaying, head movement from an address section to an impact section of the golf motion of the user is displayed.
청구항 11에 있어서,
상기 추출하는 단계에서는, 상기 출력 데이터에 대한 분석을 통해 상기 사용자의 발목 관절의 위치 값에 기반하여 발 간격에 해당하는 값을 계산하고,
상기 표시하는 단계에서는, 상기 사용자의 골프 동작에서 상기 발 간격을 표시하는 것을 특징으로 하는 골프 동작 분석 방법.
The method of claim 11,
In the extracting step, a value corresponding to the foot distance is calculated based on the position value of the user's ankle joint through analysis of the output data;
The method of analyzing golf motion, characterized in that in the displaying, the foot distance is displayed in the golf motion of the user.
청구항 11에 있어서,
상기 추출하는 단계에서는, 상기 사용자의 무게중심의 좌표와 오른발 혹은 왼발 관절의 좌표를 계산하고,
상기 표시하는 단계에서는, 상기 사용자의 골프 동작 중 백스윙 구간 혹은 다운스윙 구간에서 상기 무게중심 및 상기 오른발 혹은 왼발 관절의 위치를 표시하는 것을 특징으로 하는 골프 동작 분석 방법.
The method of claim 11,
In the extracting step, the coordinates of the center of gravity of the user and the coordinates of the right or left foot joint are calculated,
In the displaying, the center of gravity and the positions of the joints of the right foot or the left foot are displayed in a backswing section or a downswing section of the user's golf motion.
청구항 11에 있어서,
상기 추출하는 단계에서는, 어깨, 팔꿈치, 손 관절의 좌표에 기반하여 팔각도에 해당되는 값을 계산하고,
상기 표시하는 단계에서는, 상기 사용자의 골프 동작 중 임팩트 구간에서 상기 어깨, 팔꿈치, 손 관절을 이은 선을 표시하는 것을 특징으로 하는 골프 동작 분석 방법.
The method of claim 11,
In the extracting step, a value corresponding to the arm angle is calculated based on the coordinates of the shoulder, elbow, and hand joints,
In the displaying, a line connecting the shoulder, elbow, and hand joints in an impact section of the golf motion of the user is displayed.
청구항 11에 있어서,
상기 추출하는 단계에서는, 머리 및 좌우측 골반의 좌표에 기초하여 역척추각에 해당되는 값을 계산하고,
상기 표시하는 단계에서는, 상기 사용자의 골프 동작 중 백스윙 구간에서 왼발 혹은 오른발과 좌우측 골반의 중점을 이은 선을 표시하는 것을 특징으로 하는 골프 동작 분석 방법.
The method of claim 11,
In the extracting step, a value corresponding to the inverted spine angle is calculated based on the coordinates of the head and the left and right pelvis,
In the displaying step, a line connecting the left or right foot and the midpoint of the left and right pelvis in the backswing section of the user's golf motion is displayed.
청구항 11에 있어서,
상기 추출하는 단계에서는, 머리, 좌우측 골반, 좌우측 어깨의 좌표에 기반하여 머리와 골반을 연결하는 선과 양 어깨를 연결하는 선 사이의 각도를 계산하고,
상기 표시하는 단계에서는, 상기 사용자의 골프 동작 중 백스윙탑 구간에서 머리와 골반을 연결하는 선과, 양 어깨를 연결하는 선을 표시하는 것을 특징으로 하는 골프 동작 분석 방법.
The method of claim 11,
In the extracting step, an angle between a line connecting the head and the pelvis and a line connecting both shoulders is calculated based on the coordinates of the head, left and right pelvis, and left and right shoulders,
In the displaying, a line connecting the head and the pelvis and a line connecting both shoulders are displayed in the backswing top section of the user's golf motion.
청구항 11에 있어서,
상기 추출하는 단계에서는, 상기 출력 데이터의 픽셀 데이터에 기반하여 3차원 포인트 클라우드를 계산하고,
상기 표시하는 단계에서는, 표시부에 3차원 포인트 클라우드로 상기 스켈레톤 정보를 표시하는 것을 특징으로 하는 골프 동작 분석 방법.
The method of claim 11,
In the extracting step, a 3D point cloud is calculated based on pixel data of the output data;
In the displaying, the skeleton information is displayed as a 3D point cloud on a display unit.
사용자의 동작에 대한 2차원 영상을 획득하는 영상 센서 및 상기 2차원 영상을 획득하는 것과 시간적으로 교대로 상기 2차원 영상의 각 픽셀에 대한 깊이 값을 포함하는 뎁스 영상을 획득하는 깊이 센서를 포함하는 카메라부;
상기 카메라부에서 소정 시각에 획득한 기준 2차원 영상 혹은 기준 뎁스 영상에 대응하는 대응 뎁스 영상 혹은 대응 2차원 영상을 생성하는 제어부;
상기 기준 2차원 영상 및 상기 대응 뎁스 영상 혹은 상기 기준 뎁스 영상 및 상기 대응 2차원 영상을 출력 데이터로 출력하는 출력부;
상기 출력 데이터에 대한 분석을 통해 상기 사용자의 스켈레톤 정보를 추출하는 추출부; 및
상기 스켈레톤 정보에 기반하여 상기 사용자의 동작을 표시하는 표시부를 포함하는 것을 특징으로 하는 골프 동작 분석 장치.
An image sensor for acquiring a 2D image of a user's motion and a depth sensor for acquiring a depth image including a depth value for each pixel of the 2D image alternately and temporally with the acquisition of the 2D image camera unit;
a control unit generating a corresponding depth image or a corresponding 2-dimensional image corresponding to a reference 2-dimensional image or a reference depth image acquired by the camera unit at a predetermined time;
an output unit outputting the reference 2D image and the corresponding depth image or the reference depth image and the corresponding 2D image as output data;
an extractor configured to extract skeleton information of the user through analysis of the output data; and
and a display unit for displaying the motion of the user based on the skeleton information.
KR1020160006966A 2015-04-09 2016-01-20 Apparatus and method for analyzing golf motion KR102514697B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/078,280 US10186041B2 (en) 2015-04-09 2016-03-23 Apparatus and method for analyzing golf motion

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150050019 2015-04-09
KR20150050019 2015-04-09

Publications (2)

Publication Number Publication Date
KR20160121379A KR20160121379A (en) 2016-10-19
KR102514697B1 true KR102514697B1 (en) 2023-03-29

Family

ID=57251010

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160006966A KR102514697B1 (en) 2015-04-09 2016-01-20 Apparatus and method for analyzing golf motion

Country Status (1)

Country Link
KR (1) KR102514697B1 (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190030947A (en) 2017-09-15 2019-03-25 (주) 아이디 Interactive curved hologram-based public display system with lenticular lens
KR101982679B1 (en) * 2017-10-31 2019-05-27 대구대학교 산학협력단 Method for estimating joint angle of user using a gradient of golf club
CN109508688B (en) * 2018-11-26 2023-10-13 平安科技(深圳)有限公司 Skeleton-based behavior detection method, terminal equipment and computer storage medium
KR102353637B1 (en) * 2019-03-17 2022-01-21 이상국 Method and apparatus of analyzing golf motion
KR20210039875A (en) * 2019-10-02 2021-04-12 주식회사 모아이스 Method, device and non-transitory computer-readable recording medium for estimating information about golf swing
KR102357117B1 (en) * 2020-01-09 2022-01-27 주식회사 엘지유플러스 Method and apparatus for multi-playing videos
KR102413988B1 (en) * 2020-08-31 2022-06-29 주식회사 모아이스 Method, device and non-transitory computer-readable recording medium for estimating information about golf swing
KR20220049736A (en) * 2020-10-15 2022-04-22 주식회사 모아이스 Method, system and non-transitory computer-readable recording medium for estimating information on golf swing pose
KR102594249B1 (en) 2020-11-18 2023-10-26 한국전자통신연구원 Method and apparatus for Virtual training based on tangible interaction
KR102554552B1 (en) * 2020-11-18 2023-07-11 정의정 Pipeline for video based golf posture analysis and posture correction technique using thereof
KR20220100476A (en) * 2021-01-08 2022-07-15 주식회사 모아이스 Method, device and non-transitory computer-readable recording medium for estimating information about golf swing
KR20220129762A (en) 2021-03-17 2022-09-26 주식회사 케이티 Server, method and computer program for analyzing swing motion
KR102358331B1 (en) * 2021-09-08 2022-02-08 아이디어링크 주식회사 Method and apparatus for assisting exercise posture correction using action muscle information according to movement
KR20230142164A (en) * 2022-04-01 2023-10-11 주식회사 Lg 경영개발원 An artificial intelligence apparatus for recognizing structural formula image and method for the same
KR102685401B1 (en) * 2022-12-28 2024-07-17 한국신체정보(주) Device for evaluating movement of user using matching between skeleton information and virtual objects

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101394279B1 (en) * 2013-12-16 2014-05-13 (주) 골프존 Method for recognition of user's motion by analysis of depth image and apparatus for analyzing user's motion using the same
KR101394276B1 (en) * 2013-12-31 2014-05-13 (주) 골프존 Image generating method for analysis of user's golf swing motion through depth image analysis, and method and apparatus for analysis of golf swing motion using the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140073664A (en) * 2012-12-06 2014-06-17 한국전자통신연구원 3d screen golf apparatus for recognizing user's appearance and pose

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101394279B1 (en) * 2013-12-16 2014-05-13 (주) 골프존 Method for recognition of user's motion by analysis of depth image and apparatus for analyzing user's motion using the same
KR101394276B1 (en) * 2013-12-31 2014-05-13 (주) 골프존 Image generating method for analysis of user's golf swing motion through depth image analysis, and method and apparatus for analysis of golf swing motion using the same

Also Published As

Publication number Publication date
KR20160121379A (en) 2016-10-19

Similar Documents

Publication Publication Date Title
KR102514697B1 (en) Apparatus and method for analyzing golf motion
US10186041B2 (en) Apparatus and method for analyzing golf motion
Xu et al. Denserac: Joint 3d pose and shape estimation by dense render-and-compare
US9330470B2 (en) Method and system for modeling subjects from a depth map
US9159134B2 (en) Method and apparatus for estimating a pose
JP5820366B2 (en) Posture estimation apparatus and posture estimation method
CN105930767B (en) A kind of action identification method based on human skeleton
JP7311640B2 (en) Behavior prediction method and device, gait recognition method and device, electronic device, and computer-readable storage medium
US9842405B2 (en) Visual target tracking
US8577084B2 (en) Visual target tracking
CN106600626B (en) Three-dimensional human motion capture method and system
US8577085B2 (en) Visual target tracking
WO2017092196A1 (en) Method and apparatus for generating three-dimensional animation
CN110544301A (en) Three-dimensional human body action reconstruction system, method and action training system
KR20110139694A (en) Method and system for gesture recognition
US8565477B2 (en) Visual target tracking
JP2019096113A (en) Processing device, method and program relating to keypoint data
WO2017161734A1 (en) Correction of human body movements via television and motion-sensing accessory and system
KR102371127B1 (en) Gesture Recognition Method and Processing System using Skeleton Length Information
KR20200022788A (en) Device and method for analyzing motion
CN110298279A (en) A kind of limb rehabilitation training householder method and system, medium, equipment
JP5503510B2 (en) Posture estimation apparatus and posture estimation program
JP2007004718A (en) Image generation device and image generation method
KR102573796B1 (en) Apparatus and method for determining musculoskeletal disease
US20230285802A1 (en) Method, device, and non-transitory computer-readable recording medium for estimating information on golf swing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right