[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR102466989B1 - Expert matching method and system based on similarity between gold swing data - Google Patents

Expert matching method and system based on similarity between gold swing data Download PDF

Info

Publication number
KR102466989B1
KR102466989B1 KR1020200090969A KR20200090969A KR102466989B1 KR 102466989 B1 KR102466989 B1 KR 102466989B1 KR 1020200090969 A KR1020200090969 A KR 1020200090969A KR 20200090969 A KR20200090969 A KR 20200090969A KR 102466989 B1 KR102466989 B1 KR 102466989B1
Authority
KR
South Korea
Prior art keywords
golf swing
expert
data
motion
image
Prior art date
Application number
KR1020200090969A
Other languages
Korean (ko)
Other versions
KR20220011997A (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 KR1020200090969A priority Critical patent/KR102466989B1/en
Publication of KR20220011997A publication Critical patent/KR20220011997A/en
Application granted granted Critical
Publication of KR102466989B1 publication Critical patent/KR102466989B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions
    • 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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • G06K9/6201
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Multimedia (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Psychiatry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

본 발명의 실시예에 따른 골프 스윙 데이터 기반 전문가 매칭 방법은 영상 입력 모듈에 의해, 사용자 집단 및 전문가 집단의 골프 스윙 영상을 획득하는 단계; 골프 스윙 데이터 산출 모듈에 의해, 상기 골프 스윙 영상 속 객체의 움직임을 기반으로 골프 스윙 데이터를 산출하는 단계; 및 전문가 매칭 모듈에 의해, 사용자의 골프 스윙 데이터와 전문가의 골프 스윙 데이터 간의 유사도를 기반으로 상기 사용자와 상기 전문가를 서로 매칭시키는 단계를 포함한다.An expert matching method based on golf swing data according to an embodiment of the present invention includes acquiring golf swing images of a user group and an expert group by an image input module; calculating golf swing data based on motion of an object in the golf swing image by a golf swing data calculation module; and matching, by an expert matching module, the user and the expert based on a similarity between the user's golf swing data and the expert's golf swing data.

Description

골프 스윙 데이터의 유사도를 기반으로 한 전문가 매칭 방법 및 시스템{EXPERT MATCHING METHOD AND SYSTEM BASED ON SIMILARITY BETWEEN GOLD SWING DATA}Expert matching method and system based on similarity of golf swing data {EXPERT MATCHING METHOD AND SYSTEM BASED ON SIMILARITY BETWEEN GOLD SWING DATA}

본 발명은 골프 스윙 데이터의 유사도를 기반으로 한 전문가 매칭 방법 및 시스템에 관한 것이다.The present invention relates to an expert matching method and system based on similarity of golf swing data.

최근 스크린 골프장이 증가하면서 일반 골프 플레이어 수도 증가하고 있으며, 이에 따라 본인의 골프 스윙 자세를 분석하고 이를 기반으로 교육을 받고자 하는 수요 역시 점차 증가하고 있다.With the recent increase in screen golf courses, the number of general golf players is also increasing, and accordingly, the demand for analyzing one's own golf swing posture and receiving training based on it is also gradually increasing.

종래의 골프 스윙분석에는 Event-based Motion Capture 장비가 사용되었는데, 해당 장비는 매우 고가이며 국내에 사용하는 사람이 매우 적었기 때문에 일반인들이 이러한 장비를 용이하게 접하고 사용하는데 무리가 있었다.Event-based motion capture equipment was used for conventional golf swing analysis, but the equipment was very expensive and there were very few people using it in Korea, so it was difficult for the general public to easily access and use such equipment.

뿐만 아니라 해당 장비로 본인의 골프 스윙 자세를 분석한다 할지라도 단순히 분석된 데이터를 골프 강사에게 제시하고, 골프 강사는 해당 데이터를 참고하여 교육을 수행하는데 그치는 실정이었다.In addition, even if the user's golf swing posture is analyzed with the corresponding equipment, the analyzed data is simply presented to the golf instructor, and the golf instructor simply performs training by referring to the data.

일반적으로 골프를 배우는 사람의 입장에서는 골프 강사 혹은 멘토를 선택할 때 강사의 경력 및 레슨 가격 등 단편적으로 나열된 정보만을 가지고 판단하여야 하는데, 이렇게 해서 정해진 강사는 자신만의 정해진 코칭 방향으로 레슨을 이끌어 가기 때문에 개인 별 최적의 레슨이 불가능하였다. 이에 따라 본인의 골프 스윙 자세와 유사한 스윙 자세를 갖는 골프 강사를 선택하여 교육을 받고자 할지라도 그러한 강사를 찾는데 많은 어려움이 따르고 있었다.In general, from the point of view of a golf learner, when choosing a golf instructor or mentor, you must make a judgment based on only fragmentary information such as the instructor's experience and lesson price. Optimal lessons for each individual were not possible. Accordingly, even if a person wants to receive training by selecting a golf instructor having a swing posture similar to the golf swing posture of the user, it is difficult to find such an instructor.

대한민국 등록특허공보 제10-1399655호Republic of Korea Patent Registration No. 10-1399655 대한민국 공개특허공보 제10-2012-0132281호Republic of Korea Patent Publication No. 10-2012-0132281

본 발명의 실시예는 주변에서 쉽게 접할 수 있는 영상 기록 장치로 사용자의 골프 스윙 영상을 기록하고 이를 기반으로 사용자의 골프 스윙 자세를 분석하며, 사용자의 골프 스윙 자세와 유사한 골프 강사를 매칭 받을 수 있는 골프 스윙 데이터의 유사도를 기반으로 한 전문가 매칭 방법 및 시스템을 제공하는 것을 목적으로 한다.An embodiment of the present invention records an image of a user's golf swing with a video recording device that can be easily accessed in the surroundings, analyzes the user's golf swing posture based on this, and can be matched with a golf instructor similar to the user's golf swing posture. An object of the present invention is to provide an expert matching method and system based on the similarity of golf swing data.

한편, 본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.On the other hand, the technical problems to be achieved in the present invention are not limited to the above-mentioned technical problems, and other technical problems not mentioned will be clear to those skilled in the art from the description below. You will be able to understand.

본 발명의 실시예에 따른 골프 스윙 데이터 기반 전문가 매칭 방법은 영상 입력 모듈에 의해, 사용자 집단 및 전문가 집단의 골프 스윙 영상을 획득하는 단계; 골프 스윙 데이터 산출 모듈에 의해, 상기 골프 스윙 영상 속 객체의 움직임을 기반으로 골프 스윙 데이터를 산출하는 단계; 및 전문가 매칭 모듈에 의해, 사용자의 골프 스윙 데이터와 전문가의 골프 스윙 데이터 간의 유사도를 기반으로 상기 사용자와 상기 전문가를 서로 매칭시키는 단계를 포함한다.An expert matching method based on golf swing data according to an embodiment of the present invention includes acquiring golf swing images of a user group and an expert group by an image input module; calculating golf swing data based on motion of an object in the golf swing image by a golf swing data calculation module; and matching, by an expert matching module, the user and the expert based on a similarity between the user's golf swing data and the expert's golf swing data.

상기 a) 단계는: a-1) 영상 입력부에 의해, 사용자 집단 및 전문가 집단의 골프 스윙 영상을 획득하는 단계; 및 a-2) 영상 프레임 획득부에 의해, 상기 골프 스윙 영상으로부터 복수의 골프 스윙 영상 프레임을 생성하는 단계를 포함할 수 있다.Step a) may include: a-1) acquiring golf swing images of the user group and the expert group by means of an image input unit; and a-2) generating a plurality of golf swing image frames from the golf swing image by an image frame acquiring unit.

상기 b) 단계는: b-1) 움직임 객체 추출부에 의해, 상기 골프 스윙 영상에서 움직이는 객체를 추출하는 단계; b-2) 움직임 데이터 산출부에 의해, 상기 움직이는 객체 각각의 움직임 경로 및 움직임 강도를 포함하는 움직임 데이터를 산출하는 단계; b-3) 제1 골프 스윙 데이터 산출부에 의해, 사용자의 골프 스윙 영상으로부터 추출된 움직임 데이터를 기반으로 상기 사용자의 골프 스윙 데이터인 제1 골프 스윙 벡터를 산출하는 단계; 및 b-4) 제2 골프 스윙 데이터 산출부에 의해, 전문가의 골프 스윙 영상으로부터 추출된 움직임 데이터를 기반으로 상기 전문가의 골프 스윙 데이터인 제2 골프 스윙 벡터를 산출하는 단계를 포함할 수 있다.Step b) may include: b-1) extracting a moving object from the golf swing image by a motion object extraction unit; b-2) calculating motion data including motion paths and motion strengths of each of the moving objects by a motion data calculation unit; b-3) calculating, by a first golf swing data calculation unit, a first golf swing vector that is golf swing data of the user based on motion data extracted from a golf swing image of the user; and b-4) calculating, by a second golf swing data calculation unit, a second golf swing vector, which is golf swing data of the expert, based on motion data extracted from the expert's golf swing image.

상기 c) 단계는: c-1) 군집 데이터 생성부에 의해, 복수의 제1 골프 스윙 벡터를 군집화 하여 사용자 군집 데이터를 생성하고, 복수의 제2 골프 스윙 벡터를 군집화 하여 전문가 군집 데이터를 생성하는 단계; c-2) 제1 정규화부에 의해, 상기 사용자 군집 데이터 내에서의 상기 제1 골프 스윙 벡터의 우월도를 기반으로 제1 정규화 벡터를 산출하는 단계; c-3) 제2 정규화부에 의해, 상기 전문가 군집 데이터 내에서의 상기 제2 골프 스윙 벡터의 우월도를 기반으로 제2 정규화 벡터를 산출하는 단계; c-4) 유사도 산출부에 의해, 각각의 상기 제1 정규화 벡터와 각각의 상기 제2 정규화 벡터 간의 유사도를 비교하는 단계; 및 c-5) 전문가 매칭부에 의해, 상기 제1 정규화 벡터와 상기 제2 정규화 벡터 간의 유사도를 기반으로 사용자와 전문가를 매칭시키는 단계를 포함할 수 있다.Step c) includes: c-1) generating user cluster data by clustering a plurality of first golf swing vectors and generating expert cluster data by clustering a plurality of second golf swing vectors by a cluster data generator; step; c-2) calculating, by a first normalizer, a first normalization vector based on the degree of dominance of the first golf swing vector in the user cluster data; c-3) calculating a second normalization vector based on the degree of dominance of the second golf swing vector in the expert cluster data by a second normalizer; c-4) comparing similarities between each of the first normalization vectors and each of the second normalization vectors by a similarity calculating unit; and c-5) matching the user and the expert based on the degree of similarity between the first normalization vector and the second normalization vector by an expert matching unit.

상기 b-1) 단계는: b-1-1) 차분 영상 프레임 생성 유닛에 의해, 각 골프 스윙 영상 프레임과 배경 이미지 간의 화소값 차이를 산출하여 연속되는 차분 영상 프레임들을 생성하는 단계; b-1-2) 차영상 생성 유닛에 의해, 상기 연속되는 차분 영상 프레임들 간의 화소값 차이를 산출하여 골프 스윙 차영상을 생성하는 단계; b-1-3) 평균 화소 크기 산출 유닛에 의해, 상기 골프 스윙 차영상의 화소값을 기반으로 상기 골프 스윙 차영상의 평균 화소 크기를 산출하는 단계; b-1-4) 움직임 객체 존재 여부 판단 유닛에 의해, 상기 골프 스윙 차영상의 평균 화소 크기를 설정된 임계값과 비교하여 움직이는 객체가 존재하는지 판단하는 단계; 및 b-1-5) 움직임 객체 추출 유닛에 의해, 합성곱 신경망을 기반으로 상기 골프 스윙 영상에서 움직이는 객체를 추출하는 단계를 포함할 수 있다.Step b-1) includes: b-1-1) generating successive difference image frames by calculating a pixel value difference between each golf swing image frame and a background image by a difference image frame generation unit; b-1-2) calculating, by a difference image generation unit, a pixel value difference between the successive difference image frames to generate a golf swing difference image; b-1-3) calculating, by an average pixel size calculation unit, an average pixel size of the golf swing difference image based on pixel values of the golf swing difference image; b-1-4) determining whether a moving object exists by comparing an average pixel size of the golf swing difference image with a set threshold value by a moving object presence determination unit; and b-1-5) extracting, by a motion object extraction unit, a moving object from the golf swing image based on a convolutional neural network.

상기 b-2) 단계는: b-2-1) 화소값 추출 유닛에 의해, 상기 각 골프 스윙 영상 프레임의 화소값들 중 상기 각 객체의 이전 위치를 기준으로 설정 영역 내의 화소값들을 추출하는 단계; b-2-2) 객체 위치 이동 유닛에 의해, 상기 각 객체의 위치를 상기 이전 위치로부터 상기 설정 영역 내의 화소값들의 무게 중심의 좌표로 이동시키는 단계; b-2-3) 수렴 판단 유닛에 의해, 상기 무게 중심의 좌표와 상기 이전 위치 간의 차이값을 기반으로 상기 각 객체의 위치 이동이 수렴되는지 판단하는 단계; b-2-4) 수렴 판단 유닛에 의해, 상기 각 객체의 위치 이동이 수렴되지 않은 것으로 판단되면, 상기 b-2-1) 내지 b-2-3) 단계를 반복하는 단계; b-2-5) 움직임 경로 추적 유닛에 의해, 상기 각 객체의 위치 이동이 수렴되는 것으로 판단되면, 상기 각 객체의 수렴된 위치에 따라 상기 각 객체의 움직임 경로를 추적하는 단계; 및 b-2-6) 움직임 강도 산출 유닛에 의해, 설정된 시간 동안 상기 각 객체가 상기 움직임 경로를 따라 움직인 거리를 통해 상기 객체의 움직임 강도를 산출하는 단계를 포함할 수 있다.Step b-2) includes: b-2-1) extracting, by a pixel value extraction unit, pixel values within a set area based on the previous position of each object among the pixel values of each golf swing image frame; ; b-2-2) moving, by an object position moving unit, the position of each object from the previous position to the coordinates of the center of gravity of the pixel values in the setting area; b-2-3) determining, by a convergence determination unit, whether the positional movement of each object converges based on the difference between the coordinates of the center of gravity and the previous position; b-2-4) repeating steps b-2-1) to b-2-3) if it is determined by the convergence determination unit that the movement of each object is not converged; b-2-5) tracking the motion path of each object according to the converged position of each object when it is determined that the position movement of each object is converged by the motion path tracking unit; and b-2-6) calculating, by a motion strength calculating unit, the motion strength of the object through a distance that each object has moved along the motion path for a set period of time.

본 발명의 실시예에 따른 컴퓨터로 읽을 수 있는 기록 매체는 상기 골프 스윙 데이터 기반 전문가 매칭 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 기록 매체이다.A computer-readable recording medium according to an embodiment of the present invention is a recording medium on which a program for executing the golf swing data-based expert matching method by a computer is recorded.

본 발명의 실시예에 따른 골프 스윙 데이터 기반 전문가 매칭 시스템은 사용자 집단 및 전문가 집단의 골프 스윙 영상을 획득하도록 구성되는 영상 입력 모듈; 상기 골프 스윙 영상 속 객체의 움직임을 기반으로 골프 스윙 데이터를 산출하도록 구성되는 골프 스윙 데이터 산출 모듈; 및 사용자의 골프 스윙 데이터와 전문가의 골프 스윙 데이터 간의 유사도를 기반으로 상기 사용자와 상기 전문가를 서로 매칭시키도록 구성되는 전문가 매칭 모듈을 포함한다.An expert matching system based on golf swing data according to an embodiment of the present invention includes an image input module configured to acquire golf swing images of a user group and an expert group; a golf swing data calculation module configured to calculate golf swing data based on motion of an object in the golf swing image; and an expert matching module configured to match the user with the expert based on a similarity between the user's golf swing data and the expert's golf swing data.

상기 영상 입력 모듈은: 사용자 집단 및 전문가 집단의 골프 스윙 영상을 획득하도록 구성되는 영상 입력부; 및 상기 골프 스윙 영상으로부터 복수의 골프 스윙 영상 프레임을 생성하도록 구성되는 영상 프레임 획득부를 포함할 수 있다.The image input module may include: an image input unit configured to acquire golf swing images of a user group and an expert group; and an image frame acquisition unit configured to generate a plurality of golf swing image frames from the golf swing image.

상기 골프 스윙 데이터 산출 모듈은: 상기 골프 스윙 영상에서 움직이는 객체를 추출하도록 구성되는 움직임 객체 추출부; 상기 움직이는 객체 각각의 움직임 경로 및 움직임 강도를 포함하는 움직임 데이터를 산출하도록 구성되는 움직임 데이터 산출부; 사용자의 골프 스윙 영상으로부터 추출된 움직임 데이터를 기반으로 상기 사용자의 골프 스윙 데이터인 제1 골프 스윙 벡터를 산출하도록 구성되는 제1 골프 스윙 데이터 산출부; 및 전문가의 골프 스윙 영상으로부터 추출된 움직임 데이터를 기반으로 상기 전문가의 골프 스윙 데이터인 제2 골프 스윙 벡터를 산출하도록 구성되는 제2 골프 스윙 데이터 산출부를 포함할 수 있다.The golf swing data calculation module may include: a motion object extractor configured to extract a moving object from the golf swing image; a motion data calculator configured to calculate motion data including motion paths and motion strengths of each of the moving objects; a first golf swing data calculation unit configured to calculate a first golf swing vector that is golf swing data of the user based on motion data extracted from a golf swing image of the user; and a second golf swing data calculation unit configured to calculate a second golf swing vector, which is golf swing data of the expert, based on motion data extracted from the expert's golf swing image.

상기 전문가 매칭 모듈은: 복수의 제1 골프 스윙 벡터를 군집화 하여 사용자 군집 데이터를 생성하고, 복수의 제2 골프 스윙 벡터를 군집화 하여 전문가 군집 데이터를 생성하도록 구성되는 군집 데이터 생성부; 상기 사용자 군집 데이터 내에서의 상기 제1 골프 스윙 벡터의 우월도를 기반으로 제1 정규화 벡터를 산출하도록 구성되는 제1 정규화부; 상기 전문가 군집 데이터 내에서의 상기 제2 골프 스윙 벡터의 우월도를 기반으로 제2 정규화 벡터를 산출하도록 구성되는 제2 정규화부; 각각의 상기 제1 정규화 벡터와 각각의 상기 제2 정규화 벡터 간의 유사도를 비교하도록 구성되는 유사도 산출부; 및 상기 제1 정규화 벡터와 상기 제2 정규화 벡터 간의 유사도를 기반으로 사용자와 전문가를 매칭시키도록 구성되는 전문가 매칭부를 포함할 수 있다.The expert matching module includes: a cluster data generation unit configured to generate user cluster data by clustering a plurality of first golf swing vectors and to generate expert cluster data by clustering a plurality of second golf swing vectors; a first normalization unit configured to calculate a first normalization vector based on a degree of dominance of the first golf swing vector in the user cluster data; a second normalization unit configured to calculate a second normalization vector based on a degree of dominance of the second golf swing vector in the expert cluster data; a similarity calculator configured to compare similarities between each of the first normalization vectors and each of the second normalization vectors; and an expert matching unit configured to match a user and an expert based on a similarity between the first normalization vector and the second normalization vector.

본 발명의 실시예에 따른 골프 스윙 데이터의 유사도를 기반으로 한 전문가 매칭 방법 및 시스템은 주변에서 쉽게 접할 수 있는 영상 기록 장치로 사용자의 골프 스윙 영상을 기록하고 이를 기반으로 사용자의 골프 스윙 자세를 분석하며, 사용자의 골프 스윙 자세와 유사한 골프 강사를 매칭 받을 수 있다.An expert matching method and system based on the similarity of golf swing data according to an embodiment of the present invention records an image of a user's golf swing with an image recording device that is easily accessible and analyzes the posture of the user's golf swing based on this. and can be matched with a golf instructor similar to the user's golf swing posture.

한편, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.On the other hand, the effects obtainable in the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below. You will be able to.

도 1은 본 발명의 실시예에 따른 골프 스윙 데이터 기반 전문가 매칭 시스템의 구성도이다.
도 2는 본 발명의 실시예에 따른 골프 스윙 데이터 기반 전문가 매칭 방법의 흐름도이다.
도 3은 본 발명의 실시예에 따른 영상 입력 모듈의 구성도이다.
도 4는 S100 단계를 보다 상세히 나타낸 흐름도이다.
도 5는 본 발명의 실시예에 따른 골프 스윙 데이터 산출 모듈의 구성도이다.
도 6은 S200 단계를 보다 상세히 나타낸 흐름도이다.
도 7은 본 발명의 실시예에 따른 움직임 객체 추출부의 구성도이다.
도 8은 S210 단계를 보다 상세히 나타낸 흐름도이다.
도 9는 본 발명의 실시예에 따른 움직임 데이터 산출부의 구성도이다.
도 10 내지 도 12는 움직임 데이터 산출부에 의한 동작을 설명하기 위한 개념도이다.
도 13은 S220 단계를 보다 상세히 나타낸 흐름도이다.
도 14는 본 발명의 실시예에 따른 전문가 매칭 모듈의 구성도이다.
도 15는 S300 단계를 보다 상세히 나타낸 흐름도이다.
1 is a block diagram of an expert matching system based on golf swing data according to an embodiment of the present invention.
2 is a flowchart of an expert matching method based on golf swing data according to an embodiment of the present invention.
3 is a configuration diagram of an image input module according to an embodiment of the present invention.
4 is a flowchart illustrating step S100 in more detail.
5 is a configuration diagram of a golf swing data calculation module according to an embodiment of the present invention.
6 is a flowchart illustrating step S200 in more detail.
7 is a configuration diagram of a motion object extraction unit according to an embodiment of the present invention.
8 is a flowchart illustrating step S210 in more detail.
9 is a configuration diagram of a motion data calculation unit according to an embodiment of the present invention.
10 to 12 are conceptual diagrams for explaining the operation of the motion data calculation unit.
13 is a flowchart illustrating step S220 in more detail.
14 is a configuration diagram of an expert matching module according to an embodiment of the present invention.
15 is a flowchart illustrating step S300 in more detail.

본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되는 실시 예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Other advantages and features of the present invention, and methods for achieving them, will become clear with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms, but only the present embodiments make the disclosure of the present invention complete, and the common knowledge in the art to which the present invention belongs It is provided to fully inform the holder of the scope of the invention, and the present invention is only defined by the scope of the claims.

만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 가진다. 일반적인 사전들에 의해 정의된 용어들은 관련된 기술 그리고/혹은 본 출원의 본문에 의미하는 것과 동일한 의미를 갖는 것으로 해석될 수 있고, 그리고 여기서 명확하게 정의된 표현이 아니더라도 개념화되거나 혹은 과도하게 형식적으로 해석되지 않을 것이다.Even if not defined, all terms (including technical or scientific terms) used herein have the same meaning as generally accepted by common technology in the prior art to which this invention belongs. Terms defined by general dictionaries may be interpreted to have the same meaning as they have in the related art and/or the text of the present application, and are not conceptualized or overly formalized, even if not expressly defined herein. won't

본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 이 동사의 다양한 활용형들 예를 들어, '포함', '포함하는', '포함하고', '포함하며' 등은 언급된 조성, 성분, 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 조성, 성분, 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. 본 명세서에서 '및/또는' 이라는 용어는 나열된 구성들 각각 또는 이들의 다양한 조합을 가리킨다.Terms used in this specification are for describing embodiments and are not intended to limit the present invention. In this specification, singular forms also include plural forms unless specifically stated otherwise in a phrase. As used in the specification, 'comprise' and/or various conjugations of this verb, such as 'comprise', 'comprising', 'comprising', 'comprising', etc., refer to a mentioned composition, ingredient, component, Steps, acts and/or elements do not preclude the presence or addition of one or more other compositions, ingredients, components, steps, acts and/or elements. In this specification, the term 'and/or' refers to each of the listed elements or various combinations thereof.

한편, 본 명세서 전체에서 사용되는 '~부', '~기', '~블록', '~모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부', '~기', '~블록', '~모듈' 등이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부', '~기', '~블록', '~모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.Meanwhile, terms such as '~unit', '~group', '~block', and '~module' used throughout this specification may mean a unit that processes at least one function or operation. For example, it can mean software, hardware components such as FPGAs or ASICs. However, '~ unit', '~ group', '~ block', '~ module', etc. are not meant to be limited to software or hardware. '~unit', '~group', '~block', '~module' may be configured to be in an addressable storage medium or configured to reproduce one or more processors.

이하, 본 명세서의 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings of this specification.

도 1은 본 발명의 실시예에 따른 골프 스윙 데이터 기반 전문가 매칭 시스템(10)의 구성도이다. 도 1을 참조하면, 본 발명의 일 실시예에 따른 골프 스윙 데이터 기반 전문가 매칭 시스템(10)은 영상 입력 모듈(100), 골프 스윙 데이터 산출 모듈(200) 및 전문가 매칭 모듈(300)을 포함한다.1 is a block diagram of an expert matching system 10 based on golf swing data according to an embodiment of the present invention. Referring to FIG. 1 , an expert matching system 10 based on golf swing data according to an embodiment of the present invention includes an image input module 100, a golf swing data calculation module 200, and an expert matching module 300. .

도 2는 본 발명의 실시예에 따른 골프 스윙 데이터 기반 전문가 매칭 방법(S10)의 흐름도이다. 도 2를 참조하면, 본 발명의 실시예에 따른 골프 스윙 데이터 기반 전문가 매칭 방법(S10)은 영상 입력 모듈에 의해, 사용자 집단 및 전문가 집단의 골프 스윙 영상을 획득하는 단계(S100), 골프 스윙 데이터 산출 모듈에 의해, 상기 골프 스윙 영상 속 객체의 움직임을 기반으로 골프 스윙 데이터를 산출하는 단계(S200) 및 전문가 매칭 모듈에 의해, 사용자의 골프 스윙 데이터와 전문가의 골프 스윙 데이터 간의 유사도를 기반으로 상기 사용자와 상기 전문가를 서로 매칭시키는 단계(S300)를 포함한다.2 is a flowchart of an expert matching method S10 based on golf swing data according to an embodiment of the present invention. Referring to FIG. 2 , the golf swing data-based expert matching method (S10) according to an embodiment of the present invention includes acquiring golf swing images of a user group and an expert group by an image input module (S100), golf swing data Calculating golf swing data based on the motion of the object in the golf swing image by the calculation module (S200) and by the expert matching module, based on the similarity between the user's golf swing data and the expert's golf swing data Matching the user and the expert with each other (S300).

도 3은 본 발명의 실시예에 따른 영상 입력 모듈(100)의 구성도이다. 도 2를 참조하면, 영상 입력 모듈(100)은 영상 입력부(110) 및 영상 프레임 획득부(120)를 포함할 수 있다.3 is a configuration diagram of the image input module 100 according to an embodiment of the present invention. Referring to FIG. 2 , the image input module 100 may include an image input unit 110 and an image frame acquisition unit 120 .

영상 입력 모듈(100)은 사용자 집단 및 전문가 집단의 골프 스윙 영상을 획득하도록 구성될 수 있다. 사용자는 아마추어 선수 혹은 일반 골프 플레이어일 수 있고, 전문가는 프로 골프 선수일 수 있다. 이하에서, 골프 플레이어는 아마추어 선수, 일반 골프 플레이어 및 프로 골프 선수를 모두 지칭하는 용어로 사용한다.The image input module 100 may be configured to acquire golf swing images of a user group and an expert group. The user may be an amateur player or a general golf player, and the expert may be a professional golf player. Hereinafter, golf player is used as a term referring to amateur players, general golf players, and professional golf players.

영상 입력부(110)는 사용자 또는 전문가의 골프 스윙 영상을 획득하도록 구성될 수 있다. 사용자 또는 전문가의 골프 스윙 영상 획득 시에는 디지털 카메라를 포함한 일반적인 영상 획득 장치의 녹화 기능을 통해 사용자의 골프 스윙 영상을 획득할 수 있다. 또한, 동영상 스트리밍 사이트, 블로그, 인터넷 등 정보통신망을 통해 골프 스윙 영상을 전송받거나 다운로드 받는 방법으로도 골프 스윙 영상을 획득할 수 있다. 영상 프레임 획득부(120)는 영상 입력부(110)에 의해 획득한 골프 스윙 영상을 기반으로 복수의 골프 스윙 영상 프레임을 생성하도록 구성될 수 있다.The image input unit 110 may be configured to obtain an image of a user's or expert's golf swing. When obtaining an image of a user's or expert's golf swing, the image of the user's golf swing may be obtained through a recording function of a general image capture device including a digital camera. In addition, the golf swing image may be obtained by transmitting or downloading the golf swing image through an information communication network such as a video streaming site, a blog, or the Internet. The image frame acquisition unit 120 may be configured to generate a plurality of golf swing image frames based on the golf swing image acquired by the image input unit 110 .

도 4는 S100 단계를 보다 상세히 나타낸 흐름도이다. 도 4를 참조하면, S100단계는 영상 입력부에 의해, 사용자 집단 및 전문가 집단의 골프 스윙 영상을 획득하는 단계(S110) 및 영상 프레임 획득부에 의해, 상기 골프 스윙 영상으로부터 복수의 골프 스윙 영상 프레임을 생성하는 단계(S120)를 포함할 수 있다.4 is a flowchart illustrating step S100 in more detail. Referring to FIG. 4 , in step S100, an image input unit acquires golf swing images of a user group and an expert group (S110), and a plurality of golf swing image frames are acquired from the golf swing images by an image frame acquisition unit. A generating step (S120) may be included.

도 5는 본 발명의 실시예에 따른 골프 스윙 데이터 산출 모듈(200)의 구성도이다. 도 5을 참조하면, 골프 스윙 데이터 산출 모듈(200)은 움직임 객체 추출부(210), 움직임 데이터 산출부(220), 제1 골프 스윙 데이터 산출부(230) 및 제2 골프 스윙 데이터 산출부(240)를 포함할 수 있다.5 is a configuration diagram of a golf swing data calculation module 200 according to an embodiment of the present invention. Referring to FIG. 5 , the golf swing data calculation module 200 includes a motion object extraction unit 210, a motion data calculation unit 220, a first golf swing data calculation unit 230, and a second golf swing data calculation unit ( 240) may be included.

도 6은 S200 단계를 보다 상세히 나타낸 흐름도이다. 도 6을 참조하면, S200 단계는 움직임 객체 추출부에 의해, 상기 골프 스윙 영상에서 움직이는 객체를 추출하는 단계(S210), 움직임 데이터 산출부에 의해, 상기 움직이는 객체 각각의 움직임 경로 및 움직임 강도를 포함하는 움직임 데이터를 산출하는 단계(S220), 제1 골프 스윙 데이터 산출부에 의해, 사용자의 골프 스윙 영상으로부터 추출된 움직임 데이터를 기반으로 상기 사용자의 골프 스윙 데이터인 제1 골프 스윙 벡터를 산출하는 단계(S230) 및 제2 골프 스윙 데이터 산출부에 의해, 전문가의 골프 스윙 영상으로부터 추출된 움직임 데이터를 기반으로 상기 전문가의 골프 스윙 데이터인 제2 골프 스윙 벡터를 산출하는 단계(S240)를 포함할 수 있다.6 is a flowchart illustrating step S200 in more detail. Referring to FIG. 6 , step S200 includes a step of extracting a moving object from the golf swing image by a motion object extractor (S210), and a motion path and motion intensity of each moving object by a motion data calculator. Calculating motion data to be performed (S220); Calculating, by a first golf swing data calculator, a first golf swing vector that is the user's golf swing data based on the motion data extracted from the user's golf swing image. (S230) and calculating, by a second golf swing data calculation unit, a second golf swing vector that is golf swing data of the expert based on the motion data extracted from the golf swing image of the expert (S240). have.

도 7은 본 발명의 실시예에 따른 움직임 객체 추출부(210)의 구성도이다. 도 7을 참조하면, 움직임 객체 추출부(210)는 골프 스윙 영상에서 움직이는 객체를 추출하도록 구성될 수 있다. 움직임 객체 추출부(210)는 차분 영상 프레임 생성 유닛(211), 차영상 생성 유닛(212), 평균 화소 크기 산출 유닛(213), 움직임 객체 존재 여부 판단 유닛(214) 및 움직임 객체 추출 유닛(215)을 포함할 수 있다.7 is a configuration diagram of a motion object extractor 210 according to an embodiment of the present invention. Referring to FIG. 7 , the motion object extractor 210 may be configured to extract a moving object from a golf swing image. The motion object extractor 210 includes a difference image frame generation unit 211, a difference image generation unit 212, an average pixel size calculation unit 213, a motion object presence/absence determination unit 214, and a motion object extraction unit 215. ) may be included.

차분 영상 프레임 생성 유닛(211)은 각 골프 스윙 영상 프레임과 배경 이미지 간의 화소값 차이를 산출하여 연속되는 차분 영상 프레임들을 생성하도록 구성될 수 있다. 차분 영상 프레임 생성 유닛(211)은 예를 들어 하기 [수식 1]에 따라 차분 영상 프레임을 생성할 수 있다.The difference image frame generating unit 211 may be configured to generate successive difference image frames by calculating a pixel value difference between each golf swing image frame and the background image. The difference image frame generating unit 211 may generate a difference image frame according to [Equation 1] below, for example.

[수식 1][Formula 1]

P[F(t)] = P[I(t)] - P[B]P[F(t)] = P[I(t)] - P[B]

상기 [수식 1]에서, P[F(t)]는 차분 영상 프레임, P[I(t)]는 골프 스윙 영상 프레임, P[B]는 배경 영상 프레임이다.In [Equation 1], P[F(t)] is a difference image frame, P[I(t)] is a golf swing image frame, and P[B] is a background image frame.

차영상 생성 유닛(212)은 연속되는 차분 영상 프레임들 간의 화소값 차이를 산출하여 골프 스윙 차영상을 생성하도록 구성될 수 있다. 차영상 생성 유닛(212)은 예를 들어 하기 [수식 2]에 따라 골프 스윙 차영상을 생성할 수 있다.The difference image generation unit 212 may be configured to generate a golf swing difference image by calculating a pixel value difference between successive difference image frames. The difference image generation unit 212 may generate a golf swing difference image according to, for example, the following [Equation 2].

[수식 2][Formula 2]

△P[F(t,t+1)] = P[F(t)] - P[F(t+1)]ΔP[F(t,t+1)] = P[F(t)] - P[F(t+1)]

상기 [수식 2]에서 △P[F(t,t+1)]는 골프 스윙 차영상, P[F(t)]는 시간 t 에서의 차분 영상 프레임, P[F(t+1)]는 시간 (t+1) 에서의 차분 영상 프레임이다.In [Equation 2], ΔP[F(t,t+1)] is a golf swing difference image, P[F(t)] is a difference image frame at time t, and P[F(t+1)] is is the difference image frame at time (t+1).

평균 화소 크기 산출 유닛(213)은 상기 골프 스윙 차영상의 화소값을 기반으로 상기 골프 스윙 차영상의 평균 화소 크기를 산출하도록 구성될 수 있다.The average pixel size calculation unit 213 may be configured to calculate an average pixel size of the golf swing difference image based on pixel values of the golf swing difference image.

평균 화소 크기 산출 유닛(213)은 예를 들어, 하기 [수식 3]에 따라 골프 스윙 차영상의 평균 화소 크기를 산출할 수 있다.The average pixel size calculation unit 213 may calculate the average pixel size of the golf swing difference image according to, for example, the following [Equation 3].

[수식 3][Formula 3]

│△P[F(t,t+1)]│ = │P[F(t)] - P[F(t+1)]││ΔP[F(t,t+1)]│ = │P[F(t)] - P[F(t+1)]│

상기 [수식 3]에서 │△P[F(t,t+1)]│는 골프 스윙 차영상의 평균 화소 크기, P[F(t)]는 시간 t 에서의 차분 영상 프레임, P[F(t+1)]는 시간 (t+1)에서의 차분 영상 프레임이다.In [Equation 3], │ΔP[F(t,t+1)]│ is the average pixel size of the golf swing difference image, P[F(t)] is the difference image frame at time t, P[F( t+1)] is a difference image frame at time (t+1).

움직임 객체 존재 여부 판단 유닛(214)은 상기 골프 스윙 차영상의 평균 화소 크기를 설정된 임계값과 비교하여 움직이는 객체가 존재하는지 판단하도록 구성될 수 있다.The moving object existence determination unit 214 may be configured to compare an average pixel size of the golf swing difference image with a set threshold value to determine whether a moving object exists.

움직임 객체 존재 여부 판단 유닛(214)은 예를 들어 하기 [수식 4]에 따라 움직임 객체가 존재하는지 판단할 수 있다.The motion object presence/absence determination unit 214 may determine whether a motion object exists according to [Equation 4] below, for example.

[수식 4][Formula 4]

│△P[F(t,t+1)]│ = │P[F(t)] - P[F(t+1)]│ > Threshold│ΔP[F(t,t+1)]│ = │P[F(t)] - P[F(t+1)]│ > Threshold

상기 [수식 4]에서, │△P[F(t,t+1)]│는 골프 스윙 차영상의 평균 화소 크기, P[F(t)]는 시간 t 에서의 차분 영상 프레임, P[F(t+1)]는 시간 (t+1)에서의 차분 영상 프레임, Threshold 는 설정된 임계값이다.In [Equation 4], │ΔP[F(t,t+1)]│ is the average pixel size of the golf swing difference image, P[F(t)] is the difference image frame at time t, P[F (t+1)] is a difference image frame at time (t+1), and Threshold is a set threshold.

움직임 객체 존재 여부 판단 유닛(214)은 골프 스윙 차영상의 평균 화소 크기가 설정된 임계값 보다 크면 움직이는 객체가 존재하는 것으로 판단하고, 골프 스윙 차영상의 평균 화소 크기가 설정된 임계값 이하이면 움직이는 객체가 존재하지 않는 것으로 판단할 수 있다.The moving object existence determination unit 214 determines that a moving object exists when the average pixel size of the golf swing difference image is greater than a set threshold, and determines that a moving object exists when the average pixel size of the golf swing difference image is less than the set threshold. It can be determined that it does not exist.

움직임 객체 추출 유닛(215)은 합성곱 신경망을 기반으로 골프 스윙 영상에서 움직이는 객체가 차지하는 영역인 움직임 영역을 구분하고, 이러한 움직이는 객체를 추출하도록 구성될 수 있다. 합성곱 신경망은 골프 플레이어와 골프공 및 골프채를 포함하는 각 객체의 움직임 영역을 구분하도록 구성될 수 있다.The moving object extracting unit 215 may be configured to classify a motion area, which is an area occupied by a moving object, in a golf swing image based on a convolutional neural network, and extract the moving object. The convolutional neural network may be configured to distinguish motion areas of each object including a golf player, a golf ball, and a golf club.

보다 상세히 말하면, 움직임 객체 추출 유닛(215)은 골프 스윙 영상 프레임들로부터 판별된 각 사물(골프공, 골프채 등) 또는 골프 플레이어가 골프 스윙 영상 프레임별로 유연하게 연결되는지 판별하여 각각의 골프공과 골프채, 골프 플레이어 등의 객체가 움직이는 영역을 구분할 수 있다.In more detail, the motion object extracting unit 215 determines whether each object (eg, a golf ball, golf club, etc.) or golf player determined from the golf swing image frames is flexibly connected for each golf swing image frame, and determines whether each golf ball and golf club, A region in which an object such as a golf player moves may be distinguished.

예를 들어, 합성곱 신경망은 YOLOv3 신경망에 의해 오브젝트 탐지와 분류를 수행하여, 별도의 수작업으로 제작된 필터없이 높은 정확도와 빠른 속도로 오브젝트를 추적할 수 있다. YOLOv3 신경망은 물체 위치와 범위 계산과 물체 분류를 한 번에 실행하는 통합 인식을 구현하는 신경망으로, 이미지를 그리드로 나눈 뒤, 그리드를 합성곱 신경망에 통과시켜 그리드에 어떤 오브젝트가 존재하는지와 그 경계가 어디인지를 알아내고, 이를 모아서 전체 이미지에서 객체가 어느 위치에 존재하는지를 최종적으로 알아내며, 고속 추론이 가능한 신경망을 말한다.For example, a convolutional neural network performs object detection and classification by means of a YOLOv3 neural network, and can track an object with high accuracy and high speed without a separate hand-made filter. YOLOv3 neural network is a neural network that implements integrated recognition that performs object position and range calculation and object classification at once. It is a neural network capable of high-speed inference, which finds out where is, collects them, and finally finds out where the object exists in the entire image.

도 8은 S210 단계를 보다 상세히 나타낸 흐름도이다. 도 8을 참조하면, S210 단계는 차분 영상 프레임 생성 유닛에 의해, 각 골프 스윙 영상 프레임과 배경 이미지 간의 화소값 차이를 산출하여 연속되는 차분 영상 프레임들을 생성하는 단계(S211), 차영상 생성 유닛에 의해, 상기 연속되는 차분 영상 프레임들 간의 화소값 차이를 산출하여 골프 스윙 차영상을 생성하는 단계(S212), 평균 화소 크기 산출 유닛에 의해, 상기 골프 스윙 차영상의 화소값을 기반으로 상기 골프 스윙 차영상의 평균 화소 크기를 산출하는 단계(S213), 움직임 객체 존재 여부 판단 유닛에 의해, 상기 골프 스윙 차영상의 평균 화소 크기를 설정된 임계값과 비교하여 움직이는 객체가 존재하는지 판단하는 단계(S214) 및 움직임 객체 추출 유닛에 의해, 합성곱 신경망을 기반으로 상기 골프 스윙 영상에서 움직이는 객체를 추출하는 단계(S215)를 포함할 수 있다.8 is a flowchart illustrating step S210 in more detail. Referring to FIG. 8 , step S210 is a step of generating successive difference image frames by calculating a pixel value difference between each golf swing image frame and a background image by a difference image frame generation unit (S211), to a difference image generation unit generating a golf swing difference image by calculating pixel value differences between successive difference image frames (S212), by an average pixel size calculating unit, the golf swing based on the pixel values of the golf swing difference image Calculating an average pixel size of the difference image (S213), comparing the average pixel size of the golf swing difference image with a set threshold value by a moving object presence determination unit to determine whether a moving object exists (S214) and extracting, by a moving object extracting unit, a moving object from the golf swing image based on a convolutional neural network (S215).

도 9는 본 발명의 실시예에 따른 움직임 데이터 산출부(220)의 구성도이다. 도 9를 참조하면, 움직임 데이터 산출부(220)는 움직이는 객체 각각의 움직임 경로 및 움직임 강도를 포함하는 움직임 데이터를 산출하도록 구성될 수 있다. 예를 들어, 움직임 데이터는 골프 플레이어에 대한 클럽 패스(경로), 페이스 앵글, 다이나믹 로프트, 어택 앵글, 런치 앵글, 클럽 스피드, 캐리, 스매쉬 팩터, 골프공 경로, 골프공 속도 및 골프공 스핀량을 포함할 수 있다.9 is a configuration diagram of the motion data calculation unit 220 according to an embodiment of the present invention. Referring to FIG. 9 , the motion data calculation unit 220 may be configured to calculate motion data including a motion path and motion intensity of each moving object. For example, motion data includes club pass (path), face angle, dynamic loft, attack angle, launch angle, club speed, carry, smash factor, golf ball path, golf ball speed, and golf ball spin for a golf player. can do.

움직임 데이터 산출부(220)는 화소값 추출 유닛(221), 객체 위치 이동 유닛(222), 수렴 판단 유닛(223), 움직임 경로 추적 유닛(224) 및 움직임 강도 산출 유닛(225)을 포함할 수 있다.The motion data calculation unit 220 may include a pixel value extraction unit 221, an object position movement unit 222, a convergence determination unit 223, a motion path tracking unit 224, and a motion intensity calculation unit 225. have.

도 10 내지 도 12는 움직임 데이터 산출부(220)에 의한 동작을 설명하기 위한 개념도이다. 도 9 내지 도 12를 참조하면, 화소값 추출 유닛(221)은 각 골프 스윙 영상 프레임의 화소값들 중 각 객체의 이전 위치를 기준으로 설정 영역 내의 화소값들을 추출하도록 구성될 수 있다. 보다 상세히 말하면, 화소값 추출 유닛(221)은 각 객체의 현재 위치에서 설정 반경(R) 이내에 들어오는 화소값들 (x1,y1), (x2,y2), ..., (xn,yn) (n은 설정 반경 이내의 화소들의 개수)을 추출할 수 있다. 10 to 12 are conceptual diagrams for explaining operations by the motion data calculation unit 220 . Referring to FIGS. 9 to 12 , the pixel value extraction unit 221 may be configured to extract pixel values in a set area based on the previous position of each object among pixel values of each golf swing image frame. In more detail, the pixel value extraction unit 221 extracts pixel values (x1,y1), (x2,y2), ..., (xn,yn) ( n is the number of pixels within a set radius) may be extracted.

객체 위치 이동 유닛(222)은 각 객체의 위치를 이전 위치로부터 설정 영역 내의 화소값들의 무게 중심의 좌표로 이동시키도록 구성될 수 있다. 보다 상세히 말하면, 객체 위치 이동 유닛(222)은 각 객체의 위치를 이전 위치(10)로부터 설정 영역(15) 내의 화소값들의 무게 중심(20)의 좌표(Σxi/n, Σyi/n) (n은 설정 반경 이내의 화소들의 개수, i는 설정 영역 내 화소들의 순번으로 1 내지 n의 정수)로 현재 위치를 이동시킬 수 있다.The object position moving unit 222 may be configured to move the position of each object from the previous position to the coordinates of the center of gravity of the pixel values in the setting area. More specifically, the object position moving unit 222 moves the position of each object from the previous position 10 to the coordinates (Σxi/n, Σyi/n) of the center of gravity 20 of the pixel values in the setting area 15 (n is the number of pixels within the set radius, i is an integer from 1 to n in the order of pixels within the set area).

수렴 판단 유닛(223)은 무게 중심의 좌표와 이전 위치 간의 차이값을 기반으로 각 객체의 위치 이동이 수렴되는지 판단하도록 구성될 수 있다. 또한, 수렴 판단 유닛(223)은 각 객체의 위치 이동이 수렴되지 않은 것으로 판단되면, 화소값 추출 유닛(221) 및 객체 위치 이동 유닛(222)에 의한 동작을 반복하도록 구성될 수 있다.The convergence determination unit 223 may be configured to determine whether the positional movement of each object converges based on the difference value between the coordinates of the center of gravity and the previous position. In addition, the convergence determination unit 223 may be configured to repeat operations by the pixel value extraction unit 221 and the object position movement unit 222 when it is determined that the positional movement of each object has not converged.

보다 상세히 말하면, 수렴 판단 유닛(223)은 설정 영역(15) 내의 화소값들의 무게 중심(20)의 좌표와 각 객체의 이전 위치(10) 간의 차이값을 기반으로 각 객체의 위치 이동이 수렴되는지 판단할 수 있다. 또한, 수렴 판단 유닛(223)은 각 객체의 위치 이동이 수렴되지 않은 것으로 판단되면, 각 객체의 위치가 수렴될 때까지 화소값 추출 유닛(221) 및 객체 위치 이동 유닛(222)에 의한 과정을 반복할 수 있다. 각 객체의 위치가 설정 영역(15) 내의 화소값들의 무게 중심(도 10의 도면 부호 20)으로 이동되면, 해당 이동된 위치(좌표)가 다시 각 객체의 이전 위치(도 11의 도면부호 20')가 된다.More specifically, the convergence determination unit 223 determines whether the positional movement of each object converges based on the difference between the coordinates of the center of gravity 20 of the pixel values in the setting area 15 and the previous position 10 of each object. can judge In addition, the convergence determination unit 223 performs the process by the pixel value extraction unit 221 and the object position movement unit 222 until the position of each object converges when it is determined that the position movement of each object has not converged. can be repeated When the position of each object is moved to the center of gravity (reference numeral 20 in FIG. 10) of the pixel values in the setting area 15, the moved position (coordinates) returns to the previous position of each object (reference numeral 20' in FIG. 11). ) becomes

따라서, 화소값 추출 유닛(221)은 다시 각 골프 스윙 영상 프레임의 화소값들 중 각 객체의 이전 위치(20')를 기준으로 설정 영역(25) 내의 화소값들(예를 들어, 이전 위치에서 설정 반경 이내에 들어오는 데이터들)을 추출한다.Therefore, the pixel value extracting unit 221 determines the pixel values in the setting area 25 (e.g., at the previous position) based on the previous position 20' of each object among the pixel values of each golf swing image frame. Data coming within a set radius) is extracted.

다음으로, 객체 위치 이동 유닛(222)는 각 객체의 위치를 이전 위치(20')로부터 설정 영역(25) 내의 화소값들의 무게 중심(30)의 좌표로 이동시킨다.Next, the object position moving unit 222 moves the position of each object from the previous position 20' to the coordinates of the center of gravity 30 of the pixel values in the setting area 25.

또한, 수렴 판단 유닛(223)은 설정 영역(25) 내의 화소값들의 무게 중심(30)의 좌표와 각 객체의 이전 위치(20') 간의 차이값을 기반으로 각 객체의 위치 이동이 수렴되는지 판단한다.In addition, the convergence determination unit 223 determines whether the positional movement of each object converges based on the difference between the coordinates of the center of gravity 30 of the pixel values in the setting area 25 and the previous position 20' of each object. do.

다시 각 객체의 위치가 설정 영역(25) 내의 화소값들의 무게 중심(도 11의 도면부호 30)으로 이동되면, 해당 이동된 위치(좌표)가 각 객체의 이전 위치(도 8의 도면부호 30')가 된다.If the position of each object is moved to the center of gravity (reference numeral 30 in FIG. 11) of the pixel values in the setting area 25 again, the moved position (coordinates) is the previous position of each object (reference numeral 30' in FIG. 8). ) becomes

수렴 판단 유닛(223)은 예를 들어, 각 객체의 이전 위치(30')를 기준으로 하는 설정 영역(35) 내의 화소값들의 무게 중심(40)의 좌표와 각 객체의 이전 위치(30') 간의 차이값(거리)(D)이 기준 거리 미만이면, 각 객체의 위치 이동이 수렴되는 것으로 판단할 수 있다.The convergence determination unit 223 determines, for example, the coordinates of the center of gravity 40 of the pixel values in the setting area 35 based on the previous position 30' of each object and the previous position 30' of each object. If the difference value (distance) (D) between the objects is less than the reference distance, it may be determined that the positional movement of each object converges.

움직임 경로 추적 유닛(224)은 각 객체의 위치 이동이 수렴되는 것으로 판단되면, 각 객체의 수렴된 위치에 따라 각 객체의 움직임 경로를 추적하도록 구성될 수 있다.The motion path tracking unit 224 may be configured to track the motion path of each object according to the converged position of each object when it is determined that the positional movement of each object converges.

움직임 강도 산출 유닛(225)은 설정된 시간 동안 각 객체가 상기 움직임 경로를 따라 움직인 거리를 통해 객체의 움직임 강도를 산출하도록 구성될 수 있다. 예를 들어, 디지털 카메라에 의해 영상을 획득할 경우 각 프레임 간에는 디지털 카메라의 종류에 따라 설정된 시간 간격을 갖게 된다. 따라서, 설정된 개수의 프레임에 걸친 골프채 헤드의 이동 거리를 계산하면 골프채 헤드의 속도, 즉 움직임 강도를 알 수 있다.The motion intensity calculating unit 225 may be configured to calculate the motion intensity of the object through a distance that each object moves along the motion path for a set period of time. For example, when an image is acquired by a digital camera, a set time interval is provided between each frame according to the type of the digital camera. Therefore, by calculating the movement distance of the golf club head over the set number of frames, the speed of the golf club head, that is, the movement intensity, can be known.

예를 들어, 골프 스윙 데이터 산출 모듈(200)을 통해 골프 스윙 영상을 분석하여 움직임 데이터를 기반으로 특정 사용자 A에 대한 제1 골프 스윙 벡터를 산출할 수 있다. 이때 사용자 A의 제1 골프 스윙 벡터는 클럽 패스(경로), 페이스 앵글, 다이나믹 로프트, 어택 앵글, 런치 앵글, 클럽 스피드, 캐리, 스매쉬 팩터, 골프공 경로, 골프공 속도 및 골프공 스핀량을 벡터의 성분으로 포함할 수 있다.For example, a first golf swing vector for a specific user A may be calculated based on motion data by analyzing a golf swing image through the golf swing data calculation module 200 . At this time, the first golf swing vector of user A is the club path (path), face angle, dynamic loft, attack angle, launch angle, club speed, carry, smash factor, golf ball path, golf ball speed, and golf ball spin amount of the vector. components may be included.

도 13은 S220 단계의 흐름도이다. 도 13을 참조하면, S220 단계는 화소값 추출 유닛에 의해, 상기 각 골프 스윙 영상 프레임의 화소값들 중 상기 각 객체의 이전 위치를 기준으로 설정 영역 내의 화소값들을 추출하는 단계(S221), 객체 위치 이동 유닛에 의해, 상기 각 객체의 위치를 상기 이전 위치로부터 상기 설정 영역 내의 화소값들의 무게 중심의 좌표로 이동시키는 단계(S222), 수렴 판단 유닛에 의해, 상기 무게 중심의 좌표와 상기 이전 위치 간의 차이값을 기반으로 상기 각 객체의 위치 이동이 수렴되는지 판단하는 단계(S223), 수렴 판단 유닛에 의해, 상기 각 객체의 위치 이동이 수렴되지 않은 것으로 판단되면, 상기 S221 내지 S223 단계를 반복하는 단계(S224), 움직임 경로 추적 유닛에 의해, 상기 각 객체의 위치 이동이 수렴되는 것으로 판단되면, 상기 각 객체의 수렴된 위치에 따라 상기 각 객체의 움직임 경로를 추적하는 단계(S225) 및 움직임 강도 산출 유닛에 의해, 설정된 시간 동안 상기 각 객체가 상기 움직임 경로를 따라 움직인 거리를 통해 상기 객체의 움직임 강도를 산출하는 단계(S226)를 포함할 수 있다.13 is a flowchart of step S220. Referring to FIG. 13 , in step S220 , a step of extracting, by a pixel value extraction unit, pixel values within a set area based on the previous position of each object among the pixel values of each golf swing image frame (S221), the object moving the position of each object from the previous position to the coordinates of the center of gravity of the pixel values in the setting area by a position moving unit (S222); by a convergence determination unit, the coordinates of the center of gravity and the previous position (S223) determining whether the positional movement of each object converges based on the difference value between the above steps. Step (S224), if it is determined that the position movement of each object is converged by the motion path tracking unit, tracking the motion path of each object according to the converged position of each object (S225) and the motion intensity Calculating, by a calculation unit, the motion intensity of each object through a distance that each object has moved along the motion path for a set time period ( S226 ).

도 14는 본 발명의 실시예에 따른 전문가 매칭 모듈(300)의 구성도이다. 도 14를 참조하면, 전문가 매칭 모듈(300)은 사용자의 골프 스윙 데이터와 전문가의 골프 스윙 데이터 간의 유사도를 기반으로 사용자와 전문가를 서로 매칭시키도록 구성될 수 있다. 전문가 매칭 모듈(300)은 군집 데이터 생성부(310), 제1 정규화부(320), 제2 정규화부(330), 유사도 산출부(340) 및 전문가 매칭부(350)를 포함할 수 있다.14 is a configuration diagram of an expert matching module 300 according to an embodiment of the present invention. Referring to FIG. 14 , the expert matching module 300 may be configured to match a user and an expert based on a similarity between the user's golf swing data and the expert's golf swing data. The expert matching module 300 may include a cluster data generator 310, a first normalizer 320, a second normalizer 330, a similarity calculator 340, and an expert matcher 350.

군집 데이터 생성부(310)는 복수의 제1 골프 스윙 벡터를 군집화 하여 사용자 군집 데이터를 생성하고, 복수의 제2 골프 스윙 벡터를 군집화 하여 전문가 군집 데이터를 생성하도록 구성될 수 있다. 즉, 군집 데이터 생성부(310)는 복수의 사용자 각각으로부터 산출된 제1 골프 스윙 벡터를 모두 포함하는 사용자 군집 데이터를 생성할 수 있다. 또한, 복수의 전문가 각각으로부터 산출된 제2 골프 스윙 벡터를 모두 포함하는 전문가 군집 데이터를 생성할 수 있다. The cluster data generator 310 may be configured to generate user cluster data by clustering a plurality of first golf swing vectors and expert cluster data by clustering a plurality of second golf swing vectors. That is, the cluster data generator 310 may generate user cluster data including all first golf swing vectors calculated from each of a plurality of users. In addition, expert cluster data including all second golf swing vectors calculated from each of a plurality of experts may be generated.

제1 정규화부(320)는 상기 사용자 군집 데이터 내에서의 상기 제1 골프 스윙 벡터의 우월도를 기반으로 제1 정규화 벡터를 산출하도록 구성될 수 있다.The first normalization unit 320 may be configured to calculate a first normalization vector based on the degree of dominance of the first golf swing vector in the user cluster data.

예를 들어, 제1 골프 스윙 벡터의 성분으로 클럽 스피드 및 골프공 속도에 관한 정보가 포함될 수 있으며, 이 경우 사용자 군집 데이터에는 복수의 사용자들의 클럽 스피드 및 골프공 속도에 관한 정보가 포함될 수 있다. 복수의 사용자들의 클럽 스피드 및 골프공 속도는 정규 분포를 갖게 될 것이므로, 제1 정규화부는 클럽 스피드 및 골프공 속도에 대한 정규 분포에서 특정 사용자의 클럽 스피드 및 골프공 속도의 우월도를 기반으로 정규화 벡터를 산출할 수 있다. 이때, 우월도는 특정 사용자의 클럽 스피드 및 골프공 속도가 정규 분포에서 상위 몇 %에 해당하는지를 기반으로 산출될 수 있으며, 정규 분포 중 상위권에 속할수록 우월도가 높게 산출되는 것은 자명할 것이다.For example, club speed and golf ball speed information may be included as components of the first golf swing vector, and in this case, user cluster data may include club speed and golf ball speed information of a plurality of users. Since the club speeds and golf ball speeds of a plurality of users will have a normal distribution, the first normalization unit uses a normalization vector based on the superiority of club speeds and golf ball speeds of a specific user in the normal distribution for club speeds and golf ball speeds. can be calculated. At this time, the superiority can be calculated based on the upper percentage of the club speed and golf ball speed of a specific user in the normal distribution, and it will be obvious that the higher the superiority is calculated, the higher the normal distribution.

다시 말해, 클럽 스피드 및 골프공 속도가 제1 골프 스윙 벡터의 성분이고, 특정 사용자의 클럽 스피드가 상위 20%이고, 골프공 속도가 상위 30%인 경우, 제1 골프 스윙 벡터는 (클럽 스피드, 골프공 속도)가 되고, 제1 정규화 벡터는 (0.8, 0.7)로 산출될 수 있다.In other words, if the club speed and golf ball speed are components of the first golf swing vector, the club speed of a particular user is in the top 20%, and the golf ball speed is in the top 30%, the first golf swing vector is (club speed, golf ball velocity), and the first normalization vector can be calculated as (0.8, 0.7).

제2 정규화부(330)는 전문가 군집 데이터 내에서의 상기 제2 골프 스윙 벡터의 우월도를 기반으로 제2 정규화 벡터를 산출하도록 구성될 수 있다. 제1 정규화부(320)에서 설명한 바와 같이 제2 정규화부(330)에서는 특정 전문가에 대한 제2 정규화 벡터를 산출할 수 있다.The second normalization unit 330 may be configured to calculate a second normalization vector based on the degree of dominance of the second golf swing vector in expert cluster data. As described in the first normalization unit 320, the second normalization unit 330 may calculate a second normalization vector for a specific expert.

실제 예를 들면, 제1 골프 스윙 벡터 및 제2 골프 스윙 벡터의 성분으로 클럽 스피드를 포함시킬 수 있다. 이때 사용자 A의 클럽 스피드가 시속 100km이고, 전문가 B의 클럽 스피드가 시속 140km라고 가정하자. 사용자 A의 클럽 스피드는 사용자 군집 내에서 상위 10%에 해당하여 제1 정규화 벡터로 환산하면 0.9가 산출될 수 있다. 또한, 전문가 B의 클럽 스피드는 비록 사용자 A의 클럽 스피드 보다는 빠를 지라도 전문가 군집 내에서 상위 20%에 해당하여 제2 정규화 벡터로 환산하면 0.8이 산출될 수 있다. For example, club speed may be included as a component of the first golf swing vector and the second golf swing vector. Assume that user A's club speed is 100 km/h and expert B's club speed is 140 km/h. The club speed of user A corresponds to the top 10% in the user group, so 0.9 can be calculated when converted into the first normalization vector. In addition, even though expert B's club speed is faster than user A's club speed, it corresponds to the top 20% in the expert cluster, so 0.8 can be calculated when converted into the second normalization vector.

유사도 산출부(340)는 각각의 상기 제1 정규화 벡터와 각각의 상기 제2 정규화 벡터 간의 유사도를 비교하도록 구성될 수 있다. 보다 상세히 말하면, 유사도 산출부(340)는 제1 정규화 벡터와 제2 정규화 벡터 간의 코사인 유사도(cosine similarity)를 계산하여 유사도를 비교할 수 있다. 코사인 유사도는 하기 [수식 5]에 의해 산출될 수 있다.The similarity calculator 340 may be configured to compare similarities between each of the first normalization vectors and each of the second normalization vectors. More specifically, the similarity calculation unit 340 may compare the similarity by calculating cosine similarity between the first normalization vector and the second normalization vector. Cosine similarity can be calculated by [Equation 5] below.

[수식 5][Formula 5]

Figure 112020076550122-pat00001
Figure 112020076550122-pat00001

이때, A 및 B는 제1 정규화 벡터 및 제2 정규화 벡터에 포함된 벡터 성분이다.In this case, A and B are vector components included in the first normalization vector and the second normalization vector.

예를 들어, 제1 정규화 벡터 및 제2 정규화 벡터의 성분으로 클럽 스피드 및 비거리가 포함될 수 있으며, 이들 사이의 코사인 유사도를 계산하여 각 정규화 벡터 간의 유사도를 비교할 수 있다.For example, club speed and flight distance may be included as components of the first normalization vector and the second normalization vector, and the similarity between the respective normalization vectors may be compared by calculating the cosine similarity between them.

실제 예를 들면, 사용자 A의 제1 정규화 벡터가 (0.8, 0.4)이고, 전문가 B의 제2 정규화 벡터가 (0.5, 0.7)이고, 전문가 C의 제2 정규화 벡터가 (0.7, 0.5)인 경우, 상기 [수식 5]에 각각의 벡터 성분을 대입하여 계산하면 사용자 A와 전문가 B의 유사도보다 사용자 A와 전문가 C 간의 유사도가 더 높은 것을 알 수 있다.For example, if the first normalization vector of user A is (0.8, 0.4), the second normalization vector of expert B is (0.5, 0.7), and the second normalization vector of expert C is (0.7, 0.5). , When calculating by substituting each vector component into [Equation 5], it can be seen that the similarity between user A and expert C is higher than that between user A and expert B.

전문가 매칭부(350)는 상기 제1 정규화 벡터와 상기 제2 정규화 벡터 간의 유사도를 기반으로 사용자와 전문가를 매칭시키도록 구성될 수 있다. 예를 들어, 위의 경우 사용자 A에는 전문가 B가 아닌 전문가 C가 매칭될 수 있다.The expert matching unit 350 may be configured to match a user and an expert based on a similarity between the first normalization vector and the second normalization vector. For example, in the above case, user A may be matched with expert C instead of expert B.

도 15는 S300 단계의 흐름도이다. 도 15를 참조하면, S300 단계는 군집 데이터 생성부에 의해, 복수의 제1 골프 스윙 벡터를 군집화하여 사용자 군집 골프 스윙 벡터를 생성하고, 복수의 제2 골프 스윙 벡터를 군집화하여 전문가 군집 골프 스윙 벡터를 생성하는 단계(S310), 제1 정규화부에 의해, 상기 사용자 군집 골프 스윙 벡터 내에서의 상기 제1 골프 스윙 벡터의 우월도를 기반으로 제1 정규화 벡터를 산출하는 단계(S320), 제2 정규화부에 의해, 상기 전문가 군집 골프 스윙 벡터 내에서의 상기 제2 골프 스윙 벡터의 우월도를 기반으로 제2 정규화 벡터를 산출하는 단계(S330), 유사도 산출부에 의해, 각각의 상기 제1 정규화 벡터와 각각의 상기 제2 정규화 벡터 간의 유사도를 비교하는 단계(S340) 및 전문가 매칭부에 의해, 상기 제1 정규화 벡터와 상기 제2 정규화 벡터 간의 유사도를 기반으로 사용자와 전문가를 매칭시키는 단계(S350)를 포함할 수 있다.15 is a flowchart of step S300. Referring to FIG. 15 , in step S300, a plurality of first golf swing vectors are clustered to generate user cluster golf swing vectors, and a plurality of second golf swing vectors are clustered by the cluster data generator to generate expert cluster golf swing vectors. generating (S310), calculating, by a first normalizer, a first normalized vector based on the degree of dominance of the first golf swing vector within the user cluster golf swing vector (S320); Calculating, by a normalization unit, a second normalization vector based on the degree of dominance of the second golf swing vector within the expert group golf swing vector (S330); Comparing the degree of similarity between the vector and each second normalization vector (S340) and matching the user and the expert based on the degree of similarity between the first normalization vector and the second normalization vector by an expert matching unit (S350). ) may be included.

본 발명의 실시예에 따른 골프 스윙 데이터의 유사도를 기반으로 한 전문가 매칭 방법 및 시스템은 주변에서 쉽게 접할 수 있는 영상 기록 장치로 사용자의 골프 스윙 영상을 기록하고 이를 기반으로 사용자의 골프 스윙 자세를 분석하며, 사용자의 골프 스윙 자세와 유사한 골프 강사를 매칭 받을 수 있다.An expert matching method and system based on the similarity of golf swing data according to an embodiment of the present invention records an image of a user's golf swing with an image recording device that can be easily accessed in the vicinity, and analyzes the posture of the user's golf swing based on this. and can be matched with a golf instructor similar to the user's golf swing posture.

이상에서 실시예를 통해 본 발명을 설명하였으나, 위 실시예는 단지 본 발명의 사상을 설명하기 위한 것으로 이에 한정되지 않는다. 통상의 기술자는 전술한 실시예에 다양한 변형이 가해질 수 있음을 이해할 것이다. 본 발명의 범위는 첨부된 특허청구범위의 해석을 통해서만 정해진다.Although the present invention has been described through examples above, the above examples are only for explaining the idea of the present invention and are not limited thereto. A person skilled in the art will understand that various modifications can be made to the above-described embodiments. The scope of the present invention is defined only through the interpretation of the appended claims.

10: 골프 스윙 데이터 기반 전문가 매칭 시스템
100: 영상 입력 모듈 110: 영상 입력부
120: 영상 프레임 획득부 200: 골프 스윙 데이터 산출 모듈
210: 움직임 객체 추출부 211: 차분 영상 프레임 생성 유닛
212: 차영상 생성 유닛 213: 평균 화소 크기 산출 유닛
214: 움직임 객체 존재 여부 판단 유닛
215: 움직임 객체 추출 유닛 220: 움직임 데이터 산출부
221: 화소값 추출 유닛 222: 객체 위치 이동 유닛
223: 수렴 판단 유닛 224: 움직임 경로 추적 유닛
225: 움직임 강도 산출 유닛 230: 제1 골프 스윙 데이터 산출부
240: 제2 골프 스윙 데이터 산출부
300: 전문가 매칭 모듈 310: 군집 데이터 생성부
320: 제1 정규화부 330: 제2 정규화부
340: 유사도 산출부 350: 전문가 매칭부
10: Expert matching system based on golf swing data
100: video input module 110: video input unit
120: image frame acquisition unit 200: golf swing data calculation module
210: motion object extraction unit 211: difference image frame generation unit
212 difference image generation unit 213 average pixel size calculation unit
214: moving object existence determination unit
215: motion object extraction unit 220: motion data calculation unit
221: pixel value extraction unit 222: object position movement unit
223 convergence determination unit 224 movement path tracking unit
225: motion intensity calculation unit 230: first golf swing data calculation unit
240: second golf swing data calculator
300: expert matching module 310: cluster data generator
320: first normalization unit 330: second normalization unit
340: similarity calculation unit 350: expert matching unit

Claims (11)

a) 영상 입력 모듈에 의해, 사용자 집단 및 전문가 집단의 골프 스윙 영상을 획득하는 단계;
b) 골프 스윙 데이터 산출 모듈에 의해, 상기 골프 스윙 영상 속 객체의 움직임을 기반으로 골프 스윙 데이터를 산출하는 단계; 및
c) 전문가 매칭 모듈에 의해, 사용자의 골프 스윙 데이터와 전문가의 골프 스윙 데이터 간의 유사도를 기반으로 상기 사용자와 상기 전문가를 서로 매칭시키는 단계를 포함하고,
상기 b) 단계는:
b-1) 움직임 객체 추출부에 의해, 상기 골프 스윙 영상에서 움직이는 객체를 추출하는 단계; 및
b-2) 움직임 데이터 산출부에 의해, 상기 움직이는 객체 각각의 움직임 경로 및 움직임 강도를 포함하는 움직임 데이터를 산출하는 단계를 포함하고,
상기 b-1) 단계는:
b-1-1) 차분 영상 프레임 생성 유닛에 의해, 각 골프 스윙 영상 프레임과 배경 이미지 간의 화소값 차이를 산출하여 연속되는 차분 영상 프레임들을 생성하는 단계;
b-1-2) 차영상 생성 유닛에 의해, 상기 연속되는 차분 영상 프레임들 간의 화소값 차이를 산출하여 골프 스윙 차영상을 생성하는 단계;
b-1-3) 평균 화소 크기 산출 유닛에 의해, 상기 골프 스윙 차영상의 화소값을 기반으로 상기 골프 스윙 차영상의 평균 화소 크기를 산출하는 단계;
b-1-4) 움직임 객체 존재 여부 판단 유닛에 의해, 상기 골프 스윙 차영상의 평균 화소 크기를 설정된 임계값과 비교하여 움직이는 객체가 존재하는지 판단하는 단계; 및
b-1-5) 움직임 객체 추출 유닛에 의해, 합성곱 신경망을 기반으로 상기 골프 스윙 영상에서 움직이는 객체를 추출하는 단계를 포함하고,
상기 b-2) 단계는:
b-2-1) 화소값 추출 유닛에 의해, 상기 각 골프 스윙 영상 프레임의 화소값들 중 상기 각 객체의 이전 위치를 기준으로 설정 영역 내의 화소값들을 추출하는 단계;
b-2-2) 객체 위치 이동 유닛에 의해, 상기 각 객체의 위치를 상기 이전 위치로부터 상기 설정 영역 내의 화소값들의 무게 중심의 좌표로 이동시키는 단계;
b-2-3) 수렴 판단 유닛에 의해, 상기 무게 중심의 좌표와 상기 이전 위치 간의 차이값을 기반으로 상기 각 객체의 위치 이동이 수렴되는지 판단하는 단계;
b-2-4) 수렴 판단 유닛에 의해, 상기 각 객체의 위치 이동이 수렴되지 않은 것으로 판단되면, 상기 b-2-1) 내지 b-2-3) 단계를 반복하는 단계;
b-2-5) 움직임 경로 추적 유닛에 의해, 상기 각 객체의 위치 이동이 수렴되는 것으로 판단되면, 상기 각 객체의 수렴된 위치에 따라 상기 각 객체의 움직임 경로를 추적하는 단계; 및
b-2-6) 움직임 강도 산출 유닛에 의해, 설정된 시간 동안 상기 각 객체가 상기 움직임 경로를 따라 움직인 거리를 통해 상기 객체의 움직임 강도를 산출하는 단계를 포함하는 골프 스윙 데이터 기반 전문가 매칭 방법.
a) acquiring golf swing images of a user group and an expert group by an image input module;
b) calculating golf swing data based on motion of an object in the golf swing image by a golf swing data calculation module; and
c) matching, by an expert matching module, the user and the expert based on a similarity between the user's golf swing data and the expert's golf swing data;
Step b) is:
b-1) extracting a moving object from the golf swing image by a motion object extractor; and
b-2) calculating motion data including motion paths and motion strengths of each of the moving objects by a motion data calculation unit;
Step b-1) is:
b-1-1) calculating, by a difference image frame generating unit, a pixel value difference between each golf swing image frame and a background image to generate successive difference image frames;
b-1-2) calculating, by a difference image generation unit, a pixel value difference between the successive difference image frames to generate a golf swing difference image;
b-1-3) calculating, by an average pixel size calculation unit, an average pixel size of the golf swing difference image based on pixel values of the golf swing difference image;
b-1-4) determining whether a moving object exists by comparing an average pixel size of the golf swing difference image with a set threshold value by a moving object presence determination unit; and
b-1-5) extracting, by a motion object extraction unit, a moving object from the golf swing image based on a convolutional neural network;
Step b-2) is:
b-2-1) extracting, by a pixel value extraction unit, pixel values within a set area based on the previous position of each object among the pixel values of each golf swing image frame;
b-2-2) moving, by an object position moving unit, the position of each object from the previous position to the coordinates of the center of gravity of the pixel values in the setting area;
b-2-3) determining, by a convergence determination unit, whether the positional movement of each object converges based on the difference between the coordinates of the center of gravity and the previous position;
b-2-4) repeating steps b-2-1) to b-2-3) if it is determined by the convergence determination unit that the movement of each object is not converged;
b-2-5) tracking the motion path of each object according to the converged position of each object when it is determined that the position movement of each object is converged by the motion path tracking unit; and
b-2-6) calculating, by a motion strength calculation unit, the motion strength of each object through a distance that each object has moved along the motion path during a set period of time.
제1항에 있어서,
상기 a) 단계는:
a-1) 영상 입력부에 의해, 사용자 집단 및 전문가 집단의 골프 스윙 영상을 획득하는 단계; 및
a-2) 영상 프레임 획득부에 의해, 상기 골프 스윙 영상으로부터 복수의 골프 스윙 영상 프레임을 생성하는 단계를 포함하는 골프 스윙 데이터 기반 전문가 매칭 방법.
According to claim 1,
Step a) is:
a-1) acquiring golf swing images of a user group and an expert group by means of an image input unit; and
a-2) Golf swing data-based expert matching method comprising generating a plurality of golf swing image frames from the golf swing image by an image frame acquisition unit.
제2항에 있어서,
상기 b) 단계는:
b-3) 제1 골프 스윙 데이터 산출부에 의해, 사용자의 골프 스윙 영상으로부터 추출된 움직임 데이터를 기반으로 상기 사용자의 골프 스윙 데이터인 제1 골프 스윙 벡터를 산출하는 단계; 및
b-4) 제2 골프 스윙 데이터 산출부에 의해, 전문가의 골프 스윙 영상으로부터 추출된 움직임 데이터를 기반으로 상기 전문가의 골프 스윙 데이터인 제2 골프 스윙 벡터를 산출하는 단계를 포함하는 골프 스윙 데이터 기반 전문가 매칭 방법.
According to claim 2,
Step b) is:
b-3) calculating, by a first golf swing data calculation unit, a first golf swing vector that is golf swing data of the user based on motion data extracted from a golf swing image of the user; and
b-4) calculating, by a second golf swing data calculation unit, a second golf swing vector, which is golf swing data of the expert, based on motion data extracted from the golf swing image of the expert; Expert Matching Method.
제3항에 있어서,
상기 c) 단계는:
c-1) 군집 데이터 생성부에 의해, 복수의 제1 골프 스윙 벡터를 군집화 하여 사용자 군집 데이터를 생성하고, 복수의 제2 골프 스윙 벡터를 군집화 하여 전문가 데이터를 생성하는 단계;
c-2) 제1 정규화부에 의해, 상기 사용자 군집 데이터 내에서의 상기 제1 골프 스윙 벡터의 우월도를 기반으로 제1 정규화 벡터를 산출하는 단계;
c-3) 제2 정규화부에 의해, 상기 전문가 군집 데이터 내에서의 상기 제2 골프 스윙 벡터의 우월도를 기반으로 제2 정규화 벡터를 산출하는 단계;
c-4) 유사도 산출부에 의해, 각각의 상기 제1 정규화 벡터와 각각의 상기 제2 정규화 벡터 간의 유사도를 비교하는 단계; 및
c-5) 전문가 매칭부에 의해, 상기 제1 정규화 벡터와 상기 제2 정규화 벡터 간의 유사도를 기반으로 사용자와 전문가를 매칭시키는 단계를 포함하는 골프 스윙 데이터 기반 전문가 매칭 방법.
According to claim 3,
Step c) is:
c-1) generating user cluster data by clustering a plurality of first golf swing vectors, and generating expert data by clustering a plurality of second golf swing vectors, by a cluster data generator;
c-2) calculating, by a first normalizer, a first normalization vector based on the degree of dominance of the first golf swing vector in the user cluster data;
c-3) calculating a second normalization vector based on the degree of dominance of the second golf swing vector in the expert cluster data by a second normalizer;
c-4) comparing similarities between each of the first normalization vectors and each of the second normalization vectors by a similarity calculating unit; and
c-5) matching a user and an expert based on a degree of similarity between the first normalization vector and the second normalization vector by an expert matching unit; and golf swing data-based expert matching.
삭제delete 삭제delete 컴퓨터로 읽을 수 있는 기록 매체에 있어서,
제1항 내지 제4항 중 어느 한 항에 따른 골프 스윙 데이터 기반 전문가 매칭 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 기록 매체.
In the computer-readable recording medium,
A recording medium on which a program for executing the golf swing data-based expert matching method according to any one of claims 1 to 4 by a computer is recorded.
사용자 집단 및 전문가 집단의 골프 스윙 영상을 획득하도록 구성되는 영상 입력 모듈;
상기 골프 스윙 영상 속 객체의 움직임을 기반으로 골프 스윙 데이터를 산출하도록 구성되는 골프 스윙 데이터 산출 모듈; 및
사용자의 골프 스윙 데이터와 전문가의 골프 스윙 데이터 간의 유사도를 기반으로 상기 사용자와 상기 전문가를 서로 매칭시키도록 구성되는 전문가 매칭 모듈을 포함하고,
상기 골프 스윙 데이터 산출 모듈은:
상기 골프 스윙 영상에서 움직이는 객체를 추출하도록 구성되는 움직임 객체 추출부; 및
상기 움직이는 객체 각각의 움직임 경로 및 움직임 강도를 포함하는 움직임 데이터를 산출하도록 구성되는 움직임 데이터 산출부를 포함하고,
상기 움직임 객체 추출부는:
각 골프 스윙 영상 프레임과 배경 이미지 간의 화소값 차이를 산출하여 연속되는 차분 영상 프레임들을 생성하도록 구성되는 차분 영상 프레임 생성 유닛;
상기 연속되는 차분 영상 프레임들 간의 화소값 차이를 산출하여 골프 스윙 차영상을 생성하도록 구성되는 차영상 생성 유닛;
상기 골프 스윙 차영상의 화소값을 기반으로 상기 골프 스윙 차영상의 평균 화소 크기를 산출하도록 구성되는 평균 화소 크기 산출 유닛;
상기 골프 스윙 차영상의 평균 화소 크기를 설정된 임계값과 비교하여 움직이는 객체가 존재하는지 판단하도록 구성되는 움직임 객체 존재 여부 판단 유닛; 및
합성곱 신경망을 기반으로 상기 골프 스윙 영상에서 움직이는 객체를 추출하도록 구성되는 움직임 객체 추출 유닛을 포함하고,
상기 움직임 데이터 산출부는:
상기 각 골프 스윙 영상 프레임의 화소값들 중 상기 각 객체의 이전 위치를 기준으로 설정 영역 내의 화소값들을 추출하도록 구성되는 화소값 추출 유닛;
상기 각 객체의 위치를 상기 이전 위치로부터 상기 설정 영역 내의 화소값들의 무게 중심의 좌표로 이동시키도록 구성되는 객체 위치 이동 유닛;
상기 무게 중심의 좌표와 상기 이전 위치 간의 차이값을 기반으로 상기 각 객체의 위치 이동이 수렴되는지 판단하도록 구성되는 수렴 판단 유닛;
상기 수렴 판단 유닛에 의해 상기 각 객체의 위치 이동이 수렴되는 것으로 판단되면, 상기 각 객체의 수렴된 위치에 따라 상기 각 객체의 움직임 경로를 추적하도록 구성되는 움직임 경로 추적 유닛; 및
설정된 시간 동안 상기 각 객체가 상기 움직임 경로를 따라 움직인 거리를 통해 상기 객체의 움직임 강도를 산출하도록 구성되는 움직임 강도 산출 유닛을 포함하는 골프 스윙 데이터 기반 전문가 매칭 시스템.
an image input module configured to acquire golf swing images of a user group and an expert group;
a golf swing data calculation module configured to calculate golf swing data based on motion of an object in the golf swing image; and
an expert matching module configured to match the user and the expert with each other based on a similarity between the user's golf swing data and the expert's golf swing data;
The golf swing data calculation module:
a motion object extraction unit configured to extract a moving object from the golf swing image; and
a motion data calculation unit configured to calculate motion data including motion paths and motion strengths of each of the moving objects;
The motion object extraction unit:
a difference image frame generating unit, configured to generate successive difference image frames by calculating a pixel value difference between each golf swing image frame and a background image;
a difference image generation unit configured to generate a golf swing difference image by calculating a pixel value difference between the successive difference image frames;
an average pixel size calculating unit, configured to calculate an average pixel size of the golf swing difference image based on pixel values of the golf swing difference image;
a moving object existence determination unit configured to compare an average pixel size of the golf swing difference image with a set threshold value to determine whether a moving object exists; and
a motion object extraction unit configured to extract a moving object from the golf swing image based on a convolutional neural network;
The motion data calculator:
a pixel value extracting unit configured to extract pixel values in a set area based on a previous position of each object from among pixel values of each golf swing image frame;
an object position shifting unit configured to move the position of each object from the previous position to the coordinates of the center of gravity of the pixel values in the setting area;
a convergence determination unit configured to determine whether the positional movement of each object converges based on a difference value between the coordinates of the center of gravity and the previous position;
a motion path tracking unit configured to track a motion path of each object according to the converged position of each object when it is determined that the position movement of each object is converged by the convergence determination unit; and
and a motion strength calculation unit configured to calculate a motion strength of each object through a distance that each object has moved along the motion path for a set period of time.
제8항에 있어서,
상기 영상 입력 모듈은:
사용자 집단 및 전문가 집단의 골프 스윙 영상을 획득하도록 구성되는 영상 입력부; 및
상기 골프 스윙 영상으로부터 복수의 골프 스윙 영상 프레임을 생성하도록 구성되는 영상 프레임 획득부를 포함하는 골프 스윙 데이터 기반 전문가 매칭 시스템.
According to claim 8,
The video input module:
an image input unit configured to acquire golf swing images of a user group and an expert group; and
A golf swing data-based expert matching system comprising an image frame acquisition unit configured to generate a plurality of golf swing image frames from the golf swing image.
제9항에 있어서,
상기 골프 스윙 데이터 산출 모듈은:
사용자의 골프 스윙 영상으로부터 추출된 움직임 데이터를 기반으로 상기 사용자의 골프 스윙 데이터인 제1 골프 스윙 벡터를 산출하도록 구성되는 제1 골프 스윙 데이터 산출부; 및
전문가의 골프 스윙 영상으로부터 추출된 움직임 데이터를 기반으로 상기 전문가의 골프 스윙 데이터인 제2 골프 스윙 벡터를 산출하도록 구성되는 제2 골프 스윙 데이터 산출부를 포함하는 골프 스윙 데이터 기반 전문가 매칭 시스템.
According to claim 9,
The golf swing data calculation module:
a first golf swing data calculation unit configured to calculate a first golf swing vector that is golf swing data of the user based on motion data extracted from a golf swing image of the user; and
A golf swing data-based expert matching system comprising a second golf swing data calculation unit configured to calculate a second golf swing vector, which is golf swing data of the expert, based on motion data extracted from a golf swing image of the expert.
제10항에 있어서,
상기 전문가 매칭 모듈은:
복수의 제1 골프 스윙 벡터를 군집화 하여 사용자 군집 데이터를 생성하고, 복수의 제2 골프 스윙 벡터를 군집화 하여 전문가 군집 데이터를 생성하도록 구성되는 군집 데이터 생성부;
상기 사용자 군집 골프 스윙 벡터 내에서의 상기 제1 골프 스윙 벡터의 우월도를 기반으로 제1 정규화 벡터를 산출하도록 구성되는 제1 정규화부;
상기 전문가 군집 골프 스윙 벡터 내에서의 상기 제2 골프 스윙 벡터의 우월도를 기반으로 제2 정규화 벡터를 산출하도록 구성되는 제2 정규화부;
각각의 상기 제1 정규화 벡터와 각각의 상기 제2 정규화 벡터 간의 유사도를 비교하도록 구성되는 유사도 산출부; 및
상기 제1 정규화 벡터와 상기 제2 정규화 벡터 간의 유사도를 기반으로 사용자와 전문가를 매칭시키도록 구성되는 전문가 매칭부를 포함하는 골프 스윙 데이터 기반 전문가 매칭 시스템.
According to claim 10,
The expert matching module:
a cluster data generation unit configured to generate user cluster data by clustering a plurality of first golf swing vectors and expert cluster data by clustering a plurality of second golf swing vectors;
a first normalization unit configured to calculate a first normalization vector based on a degree of dominance of the first golf swing vector within the user cluster golf swing vectors;
a second normalization unit configured to calculate a second normalization vector based on a degree of dominance of the second golf swing vector within the expert cluster golf swing vectors;
a similarity calculator configured to compare similarities between each of the first normalization vectors and each of the second normalization vectors; and
and an expert matching unit configured to match a user and an expert based on a similarity between the first normalization vector and the second normalization vector.
KR1020200090969A 2020-07-22 2020-07-22 Expert matching method and system based on similarity between gold swing data KR102466989B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200090969A KR102466989B1 (en) 2020-07-22 2020-07-22 Expert matching method and system based on similarity between gold swing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200090969A KR102466989B1 (en) 2020-07-22 2020-07-22 Expert matching method and system based on similarity between gold swing data

Publications (2)

Publication Number Publication Date
KR20220011997A KR20220011997A (en) 2022-02-03
KR102466989B1 true KR102466989B1 (en) 2022-11-14

Family

ID=80268878

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200090969A KR102466989B1 (en) 2020-07-22 2020-07-22 Expert matching method and system based on similarity between gold swing data

Country Status (1)

Country Link
KR (1) KR102466989B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101399655B1 (en) * 2013-04-12 2014-05-30 한밭대학교 산학협력단 Somatotype swing analysis apparatus, system and method for managing golf lesson thereof

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101227569B1 (en) 2011-05-26 2013-01-29 한국과학기술연구원 Body Segments Localization Device and Method for Analyzing Motion of Golf Swing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101399655B1 (en) * 2013-04-12 2014-05-30 한밭대학교 산학협력단 Somatotype swing analysis apparatus, system and method for managing golf lesson thereof

Also Published As

Publication number Publication date
KR20220011997A (en) 2022-02-03

Similar Documents

Publication Publication Date Title
US11544928B2 (en) Athlete style recognition system and method
Huang et al. Tracknet: A deep learning network for tracking high-speed and tiny objects in sports applications
Lu et al. Range-sample depth feature for action recognition
US12046038B2 (en) System and method for generating visual analytics and player statistics
Theagarajan et al. Soccer: Who has the ball? Generating visual analytics and player statistics
US9639746B2 (en) Systems and methods of detecting body movements using globally generated multi-dimensional gesture data
Liu et al. Pose-guided R-CNN for jersey number recognition in sports
KR101428922B1 (en) Golf swing classification apparatus and method using fuzzy system
Szűcs et al. Body part extraction and pose estimation method in rowing videos
CN112232258A (en) Information processing method and device and computer readable storage medium
Yang et al. Research on face recognition sports intelligence training platform based on artificial intelligence
Liang A video images-aware knowledge extraction method for intelligent healthcare management of basketball players
KR102466989B1 (en) Expert matching method and system based on similarity between gold swing data
GB2430830A (en) Image sequence movement analysis system using object model, likelihood sampling and scoring
Bandara et al. Strokes classification in cricket batting videos
US20210322852A1 (en) Determining trajectory of a ball from two-dimensional media-content using computer vision
CN110969133B (en) Intelligent data acquisition method for table tennis game video
CN115205961A (en) Badminton motion recognition method and device, electronic equipment and storage medium
Zhou Computational Analysis of Table Tennis Games from Real-Time Videos Using Deep Learning
Chen et al. Research on Table Tennis Swing Recognition Based on Lightweight OpenPose
Meng Deep Learning Algorithm and Video Image Processing-based Basketball Training System
CN118968028A (en) Ping-pong ball drop point detection method, system and storage medium applying intelligent ball serving machine
Deng et al. Decision support model for student physical exercise health promotion based on artificial neural network
Hsu et al. Application of Skeleton Image Detection in Basketball Free Throw Posture Research
Moodley A model for cricket stroke recognition using computer vision methods

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant