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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/08—Auctions
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0003—Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B69/00—Training appliances or apparatus for special sports
- A63B69/36—Training appliances or apparatus for special sports for golf
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G06K9/6201—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/254—Analysis of motion involving subtraction of images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/23—Recognition of whole body movements, e.g. for sport training
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
본 발명은 골프 스윙 데이터의 유사도를 기반으로 한 전문가 매칭 방법 및 시스템에 관한 것이다.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.
본 발명의 실시예는 주변에서 쉽게 접할 수 있는 영상 기록 장치로 사용자의 골프 스윙 영상을 기록하고 이를 기반으로 사용자의 골프 스윙 자세를 분석하며, 사용자의 골프 스윙 자세와 유사한 골프 강사를 매칭 받을 수 있는 골프 스윙 데이터의 유사도를 기반으로 한 전문가 매칭 방법 및 시스템을 제공하는 것을 목적으로 한다.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
도 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
영상 입력 모듈(100)은 사용자 집단 및 전문가 집단의 골프 스윙 영상을 획득하도록 구성될 수 있다. 사용자는 아마추어 선수 혹은 일반 골프 플레이어일 수 있고, 전문가는 프로 골프 선수일 수 있다. 이하에서, 골프 플레이어는 아마추어 선수, 일반 골프 플레이어 및 프로 골프 선수를 모두 지칭하는 용어로 사용한다.The
영상 입력부(110)는 사용자 또는 전문가의 골프 스윙 영상을 획득하도록 구성될 수 있다. 사용자 또는 전문가의 골프 스윙 영상 획득 시에는 디지털 카메라를 포함한 일반적인 영상 획득 장치의 녹화 기능을 통해 사용자의 골프 스윙 영상을 획득할 수 있다. 또한, 동영상 스트리밍 사이트, 블로그, 인터넷 등 정보통신망을 통해 골프 스윙 영상을 전송받거나 다운로드 받는 방법으로도 골프 스윙 영상을 획득할 수 있다. 영상 프레임 획득부(120)는 영상 입력부(110)에 의해 획득한 골프 스윙 영상을 기반으로 복수의 골프 스윙 영상 프레임을 생성하도록 구성될 수 있다.The
도 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
도 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
차분 영상 프레임 생성 유닛(211)은 각 골프 스윙 영상 프레임과 배경 이미지 간의 화소값 차이를 산출하여 연속되는 차분 영상 프레임들을 생성하도록 구성될 수 있다. 차분 영상 프레임 생성 유닛(211)은 예를 들어 하기 [수식 1]에 따라 차분 영상 프레임을 생성할 수 있다.The difference image
[수식 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
[수식 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
평균 화소 크기 산출 유닛(213)은 예를 들어, 하기 [수식 3]에 따라 골프 스윙 차영상의 평균 화소 크기를 산출할 수 있다.The average pixel
[수식 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
움직임 객체 존재 여부 판단 유닛(214)은 예를 들어 하기 [수식 4]에 따라 움직임 객체가 존재하는지 판단할 수 있다.The motion object presence/
[수식 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
움직임 객체 추출 유닛(215)은 합성곱 신경망을 기반으로 골프 스윙 영상에서 움직이는 객체가 차지하는 영역인 움직임 영역을 구분하고, 이러한 움직이는 객체를 추출하도록 구성될 수 있다. 합성곱 신경망은 골프 플레이어와 골프공 및 골프채를 포함하는 각 객체의 움직임 영역을 구분하도록 구성될 수 있다.The moving
보다 상세히 말하면, 움직임 객체 추출 유닛(215)은 골프 스윙 영상 프레임들로부터 판별된 각 사물(골프공, 골프채 등) 또는 골프 플레이어가 골프 스윙 영상 프레임별로 유연하게 연결되는지 판별하여 각각의 골프공과 골프채, 골프 플레이어 등의 객체가 움직이는 영역을 구분할 수 있다.In more detail, the motion
예를 들어, 합성곱 신경망은 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
움직임 데이터 산출부(220)는 화소값 추출 유닛(221), 객체 위치 이동 유닛(222), 수렴 판단 유닛(223), 움직임 경로 추적 유닛(224) 및 움직임 강도 산출 유닛(225)을 포함할 수 있다.The motion
도 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
객체 위치 이동 유닛(222)은 각 객체의 위치를 이전 위치로부터 설정 영역 내의 화소값들의 무게 중심의 좌표로 이동시키도록 구성될 수 있다. 보다 상세히 말하면, 객체 위치 이동 유닛(222)은 각 객체의 위치를 이전 위치(10)로부터 설정 영역(15) 내의 화소값들의 무게 중심(20)의 좌표(Σxi/n, Σyi/n) (n은 설정 반경 이내의 화소들의 개수, i는 설정 영역 내 화소들의 순번으로 1 내지 n의 정수)로 현재 위치를 이동시킬 수 있다.The object
수렴 판단 유닛(223)은 무게 중심의 좌표와 이전 위치 간의 차이값을 기반으로 각 객체의 위치 이동이 수렴되는지 판단하도록 구성될 수 있다. 또한, 수렴 판단 유닛(223)은 각 객체의 위치 이동이 수렴되지 않은 것으로 판단되면, 화소값 추출 유닛(221) 및 객체 위치 이동 유닛(222)에 의한 동작을 반복하도록 구성될 수 있다.The
보다 상세히 말하면, 수렴 판단 유닛(223)은 설정 영역(15) 내의 화소값들의 무게 중심(20)의 좌표와 각 객체의 이전 위치(10) 간의 차이값을 기반으로 각 객체의 위치 이동이 수렴되는지 판단할 수 있다. 또한, 수렴 판단 유닛(223)은 각 객체의 위치 이동이 수렴되지 않은 것으로 판단되면, 각 객체의 위치가 수렴될 때까지 화소값 추출 유닛(221) 및 객체 위치 이동 유닛(222)에 의한 과정을 반복할 수 있다. 각 객체의 위치가 설정 영역(15) 내의 화소값들의 무게 중심(도 10의 도면 부호 20)으로 이동되면, 해당 이동된 위치(좌표)가 다시 각 객체의 이전 위치(도 11의 도면부호 20')가 된다.More specifically, the
따라서, 화소값 추출 유닛(221)은 다시 각 골프 스윙 영상 프레임의 화소값들 중 각 객체의 이전 위치(20')를 기준으로 설정 영역(25) 내의 화소값들(예를 들어, 이전 위치에서 설정 반경 이내에 들어오는 데이터들)을 추출한다.Therefore, the pixel
다음으로, 객체 위치 이동 유닛(222)는 각 객체의 위치를 이전 위치(20')로부터 설정 영역(25) 내의 화소값들의 무게 중심(30)의 좌표로 이동시킨다.Next, the object
또한, 수렴 판단 유닛(223)은 설정 영역(25) 내의 화소값들의 무게 중심(30)의 좌표와 각 객체의 이전 위치(20') 간의 차이값을 기반으로 각 객체의 위치 이동이 수렴되는지 판단한다.In addition, the
다시 각 객체의 위치가 설정 영역(25) 내의 화소값들의 무게 중심(도 11의 도면부호 30)으로 이동되면, 해당 이동된 위치(좌표)가 각 객체의 이전 위치(도 8의 도면부호 30')가 된다.If the position of each object is moved to the center of gravity (
수렴 판단 유닛(223)은 예를 들어, 각 객체의 이전 위치(30')를 기준으로 하는 설정 영역(35) 내의 화소값들의 무게 중심(40)의 좌표와 각 객체의 이전 위치(30') 간의 차이값(거리)(D)이 기준 거리 미만이면, 각 객체의 위치 이동이 수렴되는 것으로 판단할 수 있다.The
움직임 경로 추적 유닛(224)은 각 객체의 위치 이동이 수렴되는 것으로 판단되면, 각 객체의 수렴된 위치에 따라 각 객체의 움직임 경로를 추적하도록 구성될 수 있다.The motion
움직임 강도 산출 유닛(225)은 설정된 시간 동안 각 객체가 상기 움직임 경로를 따라 움직인 거리를 통해 객체의 움직임 강도를 산출하도록 구성될 수 있다. 예를 들어, 디지털 카메라에 의해 영상을 획득할 경우 각 프레임 간에는 디지털 카메라의 종류에 따라 설정된 시간 간격을 갖게 된다. 따라서, 설정된 개수의 프레임에 걸친 골프채 헤드의 이동 거리를 계산하면 골프채 헤드의 속도, 즉 움직임 강도를 알 수 있다.The motion
예를 들어, 골프 스윙 데이터 산출 모듈(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
도 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
군집 데이터 생성부(310)는 복수의 제1 골프 스윙 벡터를 군집화 하여 사용자 군집 데이터를 생성하고, 복수의 제2 골프 스윙 벡터를 군집화 하여 전문가 군집 데이터를 생성하도록 구성될 수 있다. 즉, 군집 데이터 생성부(310)는 복수의 사용자 각각으로부터 산출된 제1 골프 스윙 벡터를 모두 포함하는 사용자 군집 데이터를 생성할 수 있다. 또한, 복수의 전문가 각각으로부터 산출된 제2 골프 스윙 벡터를 모두 포함하는 전문가 군집 데이터를 생성할 수 있다. The
제1 정규화부(320)는 상기 사용자 군집 데이터 내에서의 상기 제1 골프 스윙 벡터의 우월도를 기반으로 제1 정규화 벡터를 산출하도록 구성될 수 있다.The
예를 들어, 제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
실제 예를 들면, 제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
[수식 5][Formula 5]
이때, 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
도 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
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
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)
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.
상기 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.
상기 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.
상기 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.
제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.
상기 영상 입력 모듈은:
사용자 집단 및 전문가 집단의 골프 스윙 영상을 획득하도록 구성되는 영상 입력부; 및
상기 골프 스윙 영상으로부터 복수의 골프 스윙 영상 프레임을 생성하도록 구성되는 영상 프레임 획득부를 포함하는 골프 스윙 데이터 기반 전문가 매칭 시스템.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.
상기 골프 스윙 데이터 산출 모듈은:
사용자의 골프 스윙 영상으로부터 추출된 움직임 데이터를 기반으로 상기 사용자의 골프 스윙 데이터인 제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.
상기 전문가 매칭 모듈은:
복수의 제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.
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)
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)
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 |
-
2020
- 2020-07-22 KR KR1020200090969A patent/KR102466989B1/en active IP Right Grant
Patent Citations (1)
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 |