KR102388939B1 - 사용자의 움직임 보정을 위한 피드백 서비스 제공 방법 - Google Patents

사용자의 움직임 보정을 위한 피드백 서비스 제공 방법 Download PDF

Info

Publication number
KR102388939B1
KR102388939B1 KR1020210047210A KR20210047210A KR102388939B1 KR 102388939 B1 KR102388939 B1 KR 102388939B1 KR 1020210047210 A KR1020210047210 A KR 1020210047210A KR 20210047210 A KR20210047210 A KR 20210047210A KR 102388939 B1 KR102388939 B1 KR 102388939B1
Authority
KR
South Korea
Prior art keywords
information
swing
user
trajectory
motion
Prior art date
Application number
KR1020210047210A
Other languages
English (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 KR1020210047210A priority Critical patent/KR102388939B1/ko
Application granted granted Critical
Publication of KR102388939B1 publication Critical patent/KR102388939B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • A63B24/0006Computerised comparison for qualitative assessment of motion sequences or the course of a movement
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1121Determining geometric values, e.g. centre of rotation or angular range of movement
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1124Determining motor skills
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1126Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
    • A61B5/1128Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique using image analysis
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/74Details of notification to user or communication with user or patient ; user input means
    • A61B5/742Details of notification to user or communication with user or patient ; user input means using visual displays
    • A61B5/744Displaying an avatar, e.g. an animated cartoon character
    • 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
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0021Tracking a path or terminating locations
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B60/00Details or accessories of golf clubs, bats, rackets or the like
    • A63B60/46Measurement devices associated with golf clubs, bats, rackets or the like for measuring physical parameters relating to sporting activity, e.g. baseball bats with impact indicators or bracelets for measuring the golf swing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/36Training appliances or apparatus for special sports for golf
    • 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
    • A63B69/3623Training appliances or apparatus for special sports for golf for driving
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0622Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/34Smoothing or thinning of the pattern; Morphological operations; Skeletonisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • A63B24/0006Computerised comparison for qualitative assessment of motion sequences or the course of a movement
    • A63B2024/0012Comparing movements or motion sequences with a registered reference
    • A63B2024/0015Comparing movements or motion sequences with computerised simulations of movements or motion sequences, e.g. for generating an ideal template as reference to be achieved by the user
    • 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/0021Tracking a path or terminating locations
    • A63B2024/0028Tracking the path of an object, e.g. a ball inside a soccer pitch
    • 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/0021Tracking a path or terminating locations
    • A63B2024/0056Tracking a path or terminating locations for statistical or strategic analysis
    • 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/0087Electric or electronic controls for exercising apparatus of groups A63B21/00 - A63B23/00, e.g. controlling load
    • A63B2024/0096Electric or electronic controls for exercising apparatus of groups A63B21/00 - A63B23/00, e.g. controlling load using performance related parameters for controlling electronic or video games or avatars
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0622Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
    • A63B2071/06363D visualisation
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B2071/0647Visualisation of executed movements
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2102/00Application of clubs, bats, rackets or the like to the sporting activity ; particular sports involving the use of balls and clubs, bats, rackets, or the like
    • A63B2102/32Golf
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/05Image processing for measuring physical parameters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/30Speed
    • A63B2220/34Angular speed
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/40Acceleration
    • A63B2220/44Angular acceleration
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/803Motion sensors
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/807Photo cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Animal Behavior & Ethology (AREA)
  • Biophysics (AREA)
  • Veterinary Medicine (AREA)
  • Public Health (AREA)
  • Surgery (AREA)
  • Molecular Biology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Physiology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Dentistry (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Geometry (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Radiology & Medical Imaging (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 출원의 일 실시예는 스윙 연습기를 이용하는 사용자의 움직임에 대한 피드백을 그래픽으로 제공하는 방법을 제안한다.

Description

사용자의 움직임 보정을 위한 피드백 서비스 제공 방법{METHOD FOR PROVIDING FEEDBACK SERVICE FOR USER'S MOTION CORRECTION}
본 출원은 사용자의 움직임 보정을 위한 피드백 서비스 제공 방법에 관한 것이다.
특정 종목의 스포츠, 운동, 및/또는 경기(예: 골프)는 특정 동작(예: 골프 스윙 동작)을 요구하며, 특정 동작의 습득을 위해서는 긴 학습 시간과 함께 특정 동작의 연습을 위한 환경을 마련하기 위한 자본 및 노력이 소요된다.
아울러 최근 비대면 방식의 업무의 수행이 빈번해짐에 따라, 특정 종목의 스포츠, 운동, 및/또는 경기(예: 골프)의 전문가(또는, 프로 선수)와 직접 대면하여 특정 동작의 습득을 위한 지도를 받기 어려운 실정이다.
따라서, 특정 종목의 스포츠, 운동, 및/또는 경기(예: 골프)는 특정 동작 의 연습을 위해 소요되는 학습 시간, 자본, 및 노력을 경감하며 비대면 방식으로 특정 동작(예: 골프 스윙)에 대한 정확한 교습을 가능하게 하는 기술의 구현이 요구되는 시점이다.
본 출원의 일 실시예에 따르면, 일 과제는 스윙 연습기를 이용하는 사용자의 움직임에 대한 피드백을 그래픽으로 제공하는 방법을 제공하는 것에 있다.
특정 종목의 전문가 또는 프로 선수로부터 특정 동작에 대한 빅데이터를 기반으로 머신 러닝 모델을 생성하고, 생성된 머신 러닝 모델을 기반으로 사용자에 대한 피드백 서비스를 제공하여 학습 시간, 자본, 및 노력을 경감하며 비대면 방식으로 특정 동작(예: 골프 스윙)에 대한 정확한 교습을 가능하게 하는 전자 장치 및 동작 방법을 제공하는 것에 있다.
본 출원의 일 실시예에 따르면, 다른 과제는 피드백 시 사용자로부터 개선하기를 원하는 동작의 부분들에 대한 피드백을 수신하고, 수신된 피드백을 기반으로 가이드를 제공하여, 특정 동작(예: 골프 스윙)에 대한 정확한 교습을 가능하게 하는 전자 장치 및 동작 방법을 제공하는 것에 있다.
본 출원이 해결하고자 하는 과제가 상술한 과제로 제한되는 것은 아니며, 언급되지 아니한 과제들은 본 명세서 및 첨부된 도면으로부터 본 출원이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 출원의 일 실시예에 따르면, 전자 장치의 동작 방법으로서, 서버로부터 상기 서버에 축적된 특정 종목과 연관된 전문가 및/또는 프로 선수의 특정 동작과 연관된 복수의 골격에 대한 정보, 상기 특정 동작과 연관된 복수의 각속도에 대한 정보, 및/또는 상기 특정 동작과 연관된 복수의 평가 정보들을 트레이닝 데이터로하여 머신 러닝을 수행하여 생성된 머신 러닝 모델을 포함하는 프로그램을 수신하는 단계;를 포함하고, 상기 복수의 평가 정보들은 상기 특정 동작과 연관된 복수의 특성들 별 평가 레벨들에 대한 정보를 포함하고, 상기 머신 러닝 모델은 제 1 골격에 대한 정보 또는 제 1 각속도에 대한 정보 중 적어도 하나가 입력되는 것에 대한 응답으로, 상기 특정 동작과 연관된 상기 복수의 특성들에 대한 제 1 평가 레벨들을 출력하도록 설정되고, 상기 프로그램을 실행하고, 상기 프로그램의 실행에 기반하여 스윙 연습기로부터 상기 전자 장치의 사용자의 상기 특정 동작에 대한 제 2 각속도에 대한 정보를 수신하는 단계; 상기 프로그램의 실행에 기반하여 상기 사용자의 상기 특정 동작에 대한 촬영을 수행하고, 상기 촬영의 수행에 기반하여 획득된 복수의 이미지들을 기반으로 상기 사용자의 상기 특정 동작 시의 제 2 관절에 대한 정보를 획득하는 단계; 상기 제 2 각속도에 대한 정보 및/또는 상기 제 2 관절에 대한 정보를 기반으로 3D 애니메이션 객체를 포함하는 3D 그래픽 유저 인터페이스(GUI)를 표시하는 단계; 및 상기 제 2 각속도에 대한 정보 및/또는 상기 제 2 관절에 대한 정보를 상기 머신 러닝 모델에 입력한 것에 대한 응답으로, 상기 머신 러닝 모델로부터 출력되는 상기 특정 동작과 연관된 상기 복수의 특성들에 대한 제 2 평가 레벨들에 대한 정보를 상기 3D 그래픽 유저 인터페이스 상에 표시하는 단계;를 포함하는, 동작 방법이 제공될 수 있다.
본 출원의 일 실시예에 따르면, 전자 장치로서, 통신 회로; 및 적어도 하나의 프로세서;를 포함하고, 상기 적어도 하나의 프로세서는: 서버로부터 상기 서버에 축적된 특정 종목과 연관된 전문가 및/또는 프로 선수의 특정 동작과 연관된 복수의 골격에 대한 정보, 상기 특정 동작과 연관된 복수의 각속도에 대한 정보, 및/또는 상기 특정 동작과 연관된 복수의 평가 정보들을 트레이닝 데이터로하여 머신 러닝을 수행하여 생성된 머신 러닝 모델을 포함하는 프로그램을 수신하고, 상기 복수의 평가 정보들은 상기 특정 동작과 연관된 복수의 특성들 별 평가 레벨들에 대한 정보를 포함하고, 상기 머신 러닝 모델은 제 1 골격에 대한 정보 또는 제 1 각속도에 대한 정보 중 적어도 하나가 입력되는 것에 대한 응답으로, 상기 특정 동작과 연관된 상기 복수의 특성들에 대한 제 1 평가 레벨들을 출력하도록 설정되고, 상기 프로그램을 실행하고, 상기 프로그램의 실행에 기반하여 스윙 연습기로부터 상기 전자 장치의 사용자의 상기 특정 동작에 대한 제 2 각속도에 대한 정보를 수신하고, 상기 프로그램의 실행에 기반하여 상기 사용자의 상기 특정 동작에 대한 촬영을 수행하고, 상기 촬영의 수행에 기반하여 획득된 복수의 이미지들을 기반으로 상기 사용자의 상기 특정 동작 시의 제 2 관절에 대한 정보를 획득하고, 상기 제 2 각속도에 대한 정보 및/또는 상기 제 2 관절에 대한 정보를 기반으로 3D 애니메이션 객체를 포함하는 3D 그래픽 유저 인터페이스(GUI)를 표시하고, 상기 제 2 각속도에 대한 정보 및/또는 상기 제 2 관절에 대한 정보를 상기 머신 러닝 모델에 입력한 것에 대한 응답으로, 상기 머신 러닝 모델로부터 출력되는 상기 특정 동작과 연관된 상기 복수의 특성들에 대한 제 2 평가 레벨들에 대한 정보를 상기 3D 그래픽 유저 인터페이스 상에 표시하도록 설정된, 전자 장치가 제공될 수 있다.
과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 출원이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 출원의 일 실시예에 따르면, 일 특정 종목의 전문가 또는 프로 선수로부터 특정 동작에 대한 빅데이터를 기반으로 머신 러닝 모델을 생성하고, 생성된 머신 러닝 모델을 기반으로 사용자에 대한 피드백 서비스를 제공하여 학습 시간, 자본, 및 노력을 경감하며 비대면 방식으로 특정 동작(예: 골프 스윙)에 대한 정확한 교습을 가능하게 하는 전자 장치 및 동작 방법이 제공될 수 있다.
본 출원의 일 실시예에 따르면, 피드백 시 사용자로부터 개선하기를 원하는 동작의 부분들에 대한 피드백을 수신하고, 수신된 피드백을 기반으로 가이드를 제공하여, 특정 동작(예: 골프 스윙)에 대한 정확한 교습을 가능하게 하는 전자 장치 및 동작 방법이 제공될 수 있다.
다양한 실시예들에 따르면, 효과가 상술한 효과로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 출원이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 출원의 일 실시예에 따른 스마트 연습 시스템에 포함된 장치들의 일 예를 설명하기 위한 도면이다.
도 2는 본 출원의 일 실시예에 따른 서버의 일 예를 나타내는 블록도이다.
도 3은 본 출원의 일 실시예에 따른 전자 장치의 일 예를 나타내는 블록도이다.
도 4는 본 출원의 일 실시예에 따른 스윙 연습기의 일 예를 나타내는 블록도이다.
도 5는 본 출원의 일 실시예에 따른 서버의 동작의 일 예를 설명하기 위한 흐름도이다.
도 6은 본 출원의 일 실시예에 따른 서버의 특정 종목(예: 골프, 요가 등)의 스포츠, 운동, 및/또는 경기에서 요구되는 특정 동작에 대한 평가를 위한 머신 러닝 모델을 생성하는 동작의 일 예를 설명하기 위한 도면이다.
도 7은 본 출원의 일 실시예에 따른 생성된 머신 러닝 모델의 일 예를 설명하기 위한 도면이다.
도 8은 본 출원의 일 실시예에 따른 스마트 연습 시스템의 동작의 일 예를 설명하기 위한 흐름도이다.
도 9는 본 출원의 일 실시예에 따른 스마트 연습 시스템의 사용자의 골프 스윙을 분석하기 위한 동작의 일 예를 설명하기 위한 도면이다.
도 10은 본 출원의 일 실시예에 따른 전자 장치의 사용자의 골프 스윙을 나타내기 위한 3D 객체를 구현하여 제공하는 동작의 일 예를 설명하기 위한 도면이다.
도 11은 본 출원의 일 실시예에 따른 전자 장치의 머신 러닝 모델에 기반한 사용자의 골프 스윙에 대한 평가 정보(또는, 평가 레벨 정보)를 제공하는 동작의 일 예를 설명하기 위한 도면이다.
도 12는 본 출원의 일 실시예에 따른 스마트 연습 시스템의 동작의 다른 예를 설명하기 위한 흐름도이다.
도 13은 본 출원의 일 실시예에 따른 전자 장치의 사용자로부터 피드백을 수신하는 동작 및 피드백에 기반한 가이드 서비스를 제공하는 동작의 예를 설명하기 위한 도면이다.
도 14는 본 출원의 일 실시예에 따른 전자 장치의 사용자로 가이드를 제공하는 동작의 다른 예를 설명하기 위한 도면이다.
본 출원의 일 실시예에 따르면, 전자 장치의 동작 방법으로서, 서버로부터 상기 서버에 축적된 특정 종목과 연관된 전문가 및/또는 프로 선수의 특정 동작과 연관된 복수의 골격에 대한 정보, 상기 특정 동작과 연관된 복수의 각속도에 대한 정보, 및/또는 상기 특정 동작과 연관된 복수의 평가 정보들을 트레이닝 데이터로하여 머신 러닝을 수행하여 생성된 머신 러닝 모델을 포함하는 프로그램을 수신하는 단계;를 포함하고, 상기 복수의 평가 정보들은 상기 특정 동작과 연관된 복수의 특성들 별 평가 레벨들에 대한 정보를 포함하고, 상기 머신 러닝 모델은 제 1 골격에 대한 정보 또는 제 1 각속도에 대한 정보 중 적어도 하나가 입력되는 것에 대한 응답으로, 상기 특정 동작과 연관된 상기 복수의 특성들에 대한 제 1 평가 레벨들을 출력하도록 설정되고, 상기 프로그램을 실행하고, 상기 프로그램의 실행에 기반하여 스윙 연습기로부터 상기 전자 장치의 사용자의 상기 특정 동작에 대한 제 2 각속도에 대한 정보를 수신하는 단계; 상기 프로그램의 실행에 기반하여 상기 사용자의 상기 특정 동작에 대한 촬영을 수행하고, 상기 촬영의 수행에 기반하여 획득된 복수의 이미지들을 기반으로 상기 사용자의 상기 특정 동작 시의 제 2 관절에 대한 정보를 획득하는 단계; 상기 제 2 각속도에 대한 정보 및/또는 상기 제 2 관절에 대한 정보를 기반으로 3D 애니메이션 객체를 포함하는 3D 그래픽 유저 인터페이스(GUI)를 표시하는 단계; 및 상기 제 2 각속도에 대한 정보 및/또는 상기 제 2 관절에 대한 정보를 상기 머신 러닝 모델에 입력한 것에 대한 응답으로, 상기 머신 러닝 모델로부터 출력되는 상기 특정 동작과 연관된 상기 복수의 특성들에 대한 제 2 평가 레벨들에 대한 정보를 상기 3D 그래픽 유저 인터페이스 상에 표시하는 단계;를 포함하는, 동작 방법이 제공될 수 있다.
본 출원의 일 실시예에 따르면, 상기 특정 동작이 골프 스윙인 경우, 상기 복수의 특성들은 그립 종류, 어드레스, 백스윙 코킹, 다운 스윙, 임팩트, 팔로우 스윙, 또는 팔로우 톱 중 적어도 하나를 포함하는, 동작 방법이 제공될 수 있다.
본 출원의 일 실시예에 따르면, 상기 촬영의 수행에 기반하여 획득된 상기 복수의 이미지들의 비교 결과에 기반하여, 상기 골프 스윙의 궤적이 중단되는 시구간이 발생하는지 여부를 판단하는 단계; 및 상기 골프 스윙의 궤적이 중단되는 시구간이 발생되는 것으로 판단된 경우, 골프 스윙 재촬영을 위한 메시지를 표시하는 단계;를 더 포함하는, 동작 방법이 제공될 수 있다.
본 출원의 일 실시예에 따르면, 상기 복수의 이미지들로부터 상기 사용자에 대한 이미지를 추출하는 단계; 상기 사용자에 대한 이미지를 기반으로 상기 사용자에 대한 골격 모델을 생성하는 단계; 상기 골격 모델에 포함된 복수의 관절들 중 상기 골프 스윙과 연관된 적어 도 일부 관절의 위치에 대한 정보를 추출하는 단계;를 포함하고, 상기 적어도 일부 관절은 상기 복수의 관절들 중 머리, 양쪽 어깨, 허리, 및 양쪽 무릎의 관절을 포함하는, 동작 방법이 제공될 수 있다.
본 출원의 일 실시예에 따르면, 상기 복수의 이미지들로부터 상기 사용자와 연관된 특징 정보들을 추출하고, 추출된 특징 정보들을 기반으로 상기 사용자에 대응하는 3D 아바타를 생성하는 단계; 상기 제 2 관절의 위치에 대한 정보를 기반으로 상기 3D 아바타의 모션 정보를 생성하는 단계;를 포함하고, 상기 3D 아바타의 모션 정보는 지정된 시간 동안 상기 3D 아바타의 각 관절이 지정된 방향으로 지정된 속도로 움직이도록 제어하기 위한 정보이고, 상기 제 2 각속도에 대한 정보를 기반으로 골프 스윙 궤적에 대한 정보를 계산하고 골프 스윙 궤적에 대한 정보를 기반으로 스윙 궤적 애니메이션 정보를 생성하는 단계; 상기 모션 정보가 반영된 상기 3D 아바타 및 상기 스윙 궤적 애니메이션 정보를 포함하는 상기 3D 애니메이션 객체를 생성하는 단계;를 더 포함하는, 동작 방법이 제공될 수 있다.
본 출원의 일 실시예에 따르면, 컨텍스츄얼 정보를 획득하는 단계; 상기 컨텍스츄얼 정보는 날씨 또는 시간 중 적어도 하나를 포함하고, 상기 컨텍스츄얼 정보를 3D 그래픽 유저 인터페이스(GUI)에 포함된 구성들의 특성에 반영하는 단계;를 더 포함하는, 동작 방법이 제공될 수 있다.
본 출원의 일 실시예에 따르면, 상기 복수의 특성들에 대한 제 2 평가 레벨들에 대한 정보를 표시하는 중에, 상기 복수의 특성들 중 일 특성에 대한 제 3 평가 레벨을 제 4 평가 레벨로 변경하기 위한 입력을 수신하는 단계; 상기 변경하기 위한 입력에 기반하여 상기 3D 애니메이션 객체를 제 1 3D 애니메이션 객체로 변경하고, 상기 제 1 3D 애니메이션 객체를 표시하는 단계;를 더 포함하는, 동작 방법이 제공될 수 있다.
본 출원의 일 실시예에 따르면, 상기 3D 애니메이션 객체와 연관된 상기 모션 정보와 상기 스윙 궤적 애니메이션 정보 중 상기 변경될 일 특성에 대응하는, 상기 스윙 궤적 애니메이션 정보를 식별하는 단계; 상기 식별된 스윙 궤적 애니메이션 정보를 상기 변경된 제 4 평가 레벨에 기반하여 제 1 스윙 궤적 애니메이션 정보로 변경하는 단계; 및 상기 모션 정보 및 상기 제 1 스윙 궤적 애니메이션 정보에 기반하여 상기 제 1 3D 애니메이션 객체를 생성하는 단계;를 더 포함하는, 동작 방법이 제공될 수 있다.
본 출원의 일 실시예에 따르면, 상기 3D 애니메이션 객체에 기반한 제 1 스윙 궤적과 상기 제 1 3D 애니메이션 객체에 기반한 제 2 스윙 궤적을 비교한 결과에 기반하여, 상기 제 1 스윙 궤적과 상기 제 2 스윙 궤적이 다른 제 1 시구간에 대한 정보를 식별하는 단계; 상기 제 1 시구간에 대한 정보를 상기 스윙 연습기로 전송하는 단계;를 더 포함하고, 상기 스윙 연습기는 상기 제 1 시구간 동안 소리 또는 진동을 제공하도록 설정된, 동작 방법이 제공될 수 있다.
본 출원의 일 실시예에 따르면, 전자 장치로서, 통신 회로; 및 적어도 하나의 프로세서;를 포함하고, 상기 적어도 하나의 프로세서는: 서버로부터 상기 서버에 축적된 특정 종목과 연관된 전문가 및/또는 프로 선수의 특정 동작과 연관된 복수의 골격에 대한 정보, 상기 특정 동작과 연관된 복수의 각속도에 대한 정보, 및/또는 상기 특정 동작과 연관된 복수의 평가 정보들을 트레이닝 데이터로하여 머신 러닝을 수행하여 생성된 머신 러닝 모델을 포함하는 프로그램을 수신하고, 상기 복수의 평가 정보들은 상기 특정 동작과 연관된 복수의 특성들 별 평가 레벨들에 대한 정보를 포함하고, 상기 머신 러닝 모델은 제 1 골격에 대한 정보 또는 제 1 각속도에 대한 정보 중 적어도 하나가 입력되는 것에 대한 응답으로, 상기 특정 동작과 연관된 상기 복수의 특성들에 대한 제 1 평가 레벨들을 출력하도록 설정되고, 상기 프로그램을 실행하고, 상기 프로그램의 실행에 기반하여 스윙 연습기로부터 상기 전자 장치의 사용자의 상기 특정 동작에 대한 제 2 각속도에 대한 정보를 수신하고, 상기 프로그램의 실행에 기반하여 상기 사용자의 상기 특정 동작에 대한 촬영을 수행하고, 상기 촬영의 수행에 기반하여 획득된 복수의 이미지들을 기반으로 상기 사용자의 상기 특정 동작 시의 제 2 관절에 대한 정보를 획득하고, 상기 제 2 각속도에 대한 정보 및/또는 상기 제 2 관절에 대한 정보를 기반으로 3D 애니메이션 객체를 포함하는 3D 그래픽 유저 인터페이스(GUI)를 표시하고, 상기 제 2 각속도에 대한 정보 및/또는 상기 제 2 관절에 대한 정보를 상기 머신 러닝 모델에 입력한 것에 대한 응답으로, 상기 머신 러닝 모델로부터 출력되는 상기 특정 동작과 연관된 상기 복수의 특성들에 대한 제 2 평가 레벨들에 대한 정보를 상기 3D 그래픽 유저 인터페이스 상에 표시하도록 설정된, 전자 장치가 제공될 수 있다.
본 명세서에 기재된 실시예는 본 출원이 속하는 기술 분야에서 통상의 지식을 가진 자에게 다양한 실시예들에 따르면, 사상을 명확히 설명하기 위한 것이므로, 본 출원이 본 명세서에 기재된 실시예에 의해 한정되는 것은 아니며, 다양한 실시예들에 따르면, 범위는 다양한 실시예들에 따르면, 사상을 벗어나지 아니하는 수정예 또는 변형예를 포함하는 것으로 해석되어야 한다.
본 명세서에서 사용되는 용어는 본 출원에서의 기능을 고려하여 가능한 현재 널리 사용되고 있는 일반적인 용어를 선택하였으나 이는 본 출원이 속하는 기술 분야에서 통상의 지식을 가진 자의 의도, 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 다만, 이와 달리 특정한 용어를 임의의 의미로 정의하여 사용하는 경우에는 그 용어의 의미에 관하여 별도로 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가진 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석되어야 한다.
본 명세서에 첨부된 도면은 본 출원을 용이하게 설명하기 위한 것으로 도면에 도시된 형상은 다양한 실시예들에 따르면, 이해를 돕기 위하여 필요에 따라 과장되어 표시된 것일 수 있으므로 본 출원이 도면에 의해 한정되는 것은 아니다.
본 명세서에서 본 출원에 관련된 공지의 구성 또는 기능에 대한 구체적인 설명이 다양한 실시예들에 따르면, 요지를 흐릴 수 있다고 판단되는 경우에 이에 관한 자세한 설명은 필요에 따라 생략하기로 한다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나,""A, B 또는 C," "A, B 및 C 중 적어도 하나,"및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
1. 머신 러닝 모델에 기반한 스마트 연습 시스템
이하에서는 본 출원의 일 실시예에 따른 스마트 연습 시스템에 대해서 설명한다.
본 명세서에서 스마트 연습 시스템은 특정 종목(예: 골프, 요가 등)의 스포츠, 운동, 및/또는 경기에서 쓰이는 특정 동작(예: 스윙)에 대한 비대면 평가를 위한 시스템으로 정의될 수 있다. 예를 들어, 스마트 연습 시스템은 특정 종목(예: 골프, 요가 등)의 스포츠, 운동, 및/또는 경기에 대해서 사용자가 특정 동작(예: 스윙)을 연습하는 경우 사용자의 연습 이미지 및/또는 연습 영상을 획득하고, 이를 빅 데이터 및/또는 머신 러닝 모델에 기반하여 비대면으로 분석하여 전문적인 피드백을 제공하는 시스템으로 정의될 수 있다. 스마트 연습 시스템은 특정 종목의 스포츠, 운동, 및/또는 경기에 대한 전문가(또는, 프로 선수)(예: 골프 선수)로부터 특정 동작(또는, 움직임)(예: 골프 스윙 동작)에 대한 빅 데이터를 축적하고, 빅 데이터를 기반으로 사용자가 피드백 받기를 원하는 사용자의 특정 동작(또는, 움직임)을 평가하여 평가된 정보를 제공할 수 있다. 또, 스마트 연습 시스템은 평가된 정보의 제공을 효과적으로 전달하기 위해, 사용자의 특정 동작(또는, 움직임)(예: 골프 스윙 동작)을 나타내기 위한 3D 객체를 구현하고, 구현된 3D 객체 주변에 사용자의 특정 동작(또는, 움직임)에 대한 평가 정보(예: 스윙 궤적, 스윙과 관련된 특성들(예: 그립 종류, 어드레스 등) 별 평가 점수)를 표시할 수 있다. 또, 스마트 연습 시스템은 사용자로부터 사용자의 특정 동작(또는, 움직임) 중 개선하기를 원하는 일부 동작에 대한 정보를 수신하고, 수신된 정보를 기반으로 사용장의 일부 동작(또는, 움직임)을 개선하기 위한 가이드 정보(예: 변경된 스윙 궤적)를 제공할 수 있다.
이하에서는 스마트 연습 시스템에 대해서 더 구체적으로 설명한다.
2. 스마트 연습 시스템의 구성
도 1은 본 출원의 일 실시예에 따른 스마트 연습 시스템에 포함된 장치들의 일 예를 설명하기 위한 도면이다.
도 1을 참조하면, 스마트 연습 시스템은 서버(100), 전자 장치(200), 및 스윙 연습기(300)를 포함할 수 있다. 한편, 스마트 연습 시스템은 적절하게 시스템 타입(system type) 또는 온 디바이스 타입(on-device type)으로 구현될 수 있으므로, 이에 대해서는 "2.4 목차"에서 후술한다.
본 출원의 일 실시예에 따르면, 서버(100)는 특정 종목의 스포츠, 운동, 및/또는 경기에 대한 전문가(또는, 프로 선수)(예: 골프 선수)로부터 특정 동작(또는, 움직임)(예: 골프 스윙 동작)에 대한 빅 데이터를 축적할 수 있다. 서버(100)는 빅 데이터를 기반으로 사용자의 특정 종목의 스포츠, 운동, 및/또는 경기에 대한 특정 동작을 평가하기 위한 머신 러닝 모델을 생성할 수 있다. 서버(100)는 머신 러닝 모델을 포함하는 프로그램을 사용자의 전자 장치(200)로 전달하고, 상기 프로그램이 전달된 프로그램을 기반으로 사용자(100)에 대한 평가 정보를 제공하기 위한 3차원(3D) 인터페이스를 제공하도록 할 수 있다.
본 출원의 일 실시예에 따르면, 전자 장치(200)는 상기 서버(100)와 통신 가능하며, 사용자가 이용 가능한 다양한 종류의 전자 장치를 포함할 수 있다. 예를 들어, 상기 전자 장치(200)는 개인용 단말들(예: 스마트 폰 등), 고정된 위치에 구비되는 전자 장치들(예: PC 등), 이동 가능한 개인용 노트 북, 및 스마트 VR(virtual reality)/AR(augmented reality) 글래스(glass)를 포함할 수 있다. 사용자는 상기 전자 장치(200)를 이용하여 상술한 서버(100)에 접속하고, 서버(100)로부터 사용자의 특정 종목의 스포츠, 운동, 및/또는 경기에 대한 동작 또는 움직임에 대한 평가를 위한 프로그램을 수신할 수 있다. 전자 장치(200)는 수신된 프로그램에 기반하여 상기 사용자에 대한 동작 또는 움직임을 촬영하여, 촬영된 이미지로부터 사용자의 동작 또는 움직임 시의 관절들의 위치에 대한 정보를 분석할 수 있다. 또, 전자 장치(200)는 수신된 프로그램에 기반하여 스윙 연습기(300)의 이동에 따른 각속도에 대한 정보를 수신하여, 수신된 각속도에 대한 정보를 기반으로 스윙 연습기(300)의 이동 궤적에 대한 정보를 계산할 수 있다.
본 출원의 일 실시예에 따르면 스윙 연습기(300)는 특정 종목의 스포츠, 운동, 및/또는 경기(예: 골프)에서 이용되는 기구 및/또는 도구의 형상을 가지며, 사용자에 의해 움직이는 경우 이동 궤적을 검출하기 위한 각종 센서들을 포함할 수 있다. 스윙 연습기(300)는 사용자의 전자 장치(200)와 통신을 수행하며, 사용자에 의해 이동될 시 실시간으로 스윙 연습기(300)의 이동 궤적을 계산하기 위한 각종 센서들에 의해 검출된 정보(예: 각속도 정보)를 전자 장치(200)로 전송할 수 있다.
한편, 도 1에 도시된 스마트 연습 시스템에 포함된 장치들에 국한되지 않고, 스마트 연습 시스템은 더 많은 장치들 또는 더 적은 장치를 포함하도록 구현될 수도 있다.
2.1. 서버(100)의 구성들의 일 예
이하에서는 서버(100)의 동작을 수행하기 위한 구성들의 일 예에 대해서 설명한다.
도 2는 본 출원의 일 실시예에 따른 서버(100)의 일 예를 나타내는 블록도이다. 한편 도 2에 도시된 바에 국한되지 않고, 서버(100)는 도시된 구성들 보다 더 적은 구성 또는 더 많은 구성들을 포함할 수 있다. 예를 들어, 전자 장치(200)가 후술될 서버(100)에 포함된 적어도 하나의 구성(예: 머신 러닝 모델 모듈(124))을 더 포함하여 빅 데이터를 기반으로 머신 러닝 모델을 생성하는 동작을 수행하도록 구현될 수 있다.
한편, 이하에서 설명되는 서버(100)의 제 1 제어 회로(120)에 포함되는 모듈들(예: 인테페이스 제공 모듈(121) 등)은 상기 제 1 제어 회로(120)가 모듈과 연관된 동작을 수행하도록 제어할 수 있다. 다시 말해, 상기 모듈들은 상기 모듈과 연관된 동작을 수행하도록 제어하기 위한 프로그램, 컴퓨터 판독 가능한 코드, 프로세스 내지는 인스트럭션(instructions)들로 구현되며, 상기 모듈들이 상기 제 1 제어 회로(120)에 의해 실행되는 경우, 상기 제어 회로(120)가 상기 모듈과 연관된 동작을 수행하도록 제어할 수 있다.
도 2를 참조하면, 일 실시예에 따르면 서버(100)는 제 1 통신 회로(110), 인터페이스 제공 모듈(121), 정보 획득 모듈(122), 정보 분석 모듈(123), 및 머신 러닝 모듈(124)ㅇ을 포함하는 제 1 제어 회로(120), 및 데이터 베이스(125)를 포함할 수 있다.
상기 제 1 통신 회로(120)는 외부 기기와 통신할 수 있다. 예를 들면, 제 1 통신 회로(120)는 무선 통신 또는 유선 통신을 통해서 네트워크에 연결되어 외부 장치(예: 서버(100) 또는 전자 장치(200))와 통신을 설정하여 소정의 정보를 송신 및/또는 수신할 수 있다. 상기 무선 통신은, 예를 들면, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신을 포함할 수 있다. 한 실시예에 따르면, 무선 통신은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(Magnetic Secure Transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 한실시예에 따르면, 무선 통신은 GNSS를 포함할 수 있다. GNSS는, 예를 들면, GPS(Global Positioning System), Glonass(Global Navigation Satellite System), Beidou Navigation Satellite System(이하 "Beidou") 또는 Galileo, the European global satellite-based navigation system일 수 있다. 이하, 본 문서에서는, "GPS"는 "GNSS"와 상호 호환적으로 사용될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크(162)는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.
상기 제 1 제어 회로(120)는 서버(100)의 전반적인 동작을 제어할 수 있다. 이를 위해 제 1 제어 회로(120)는 각종 정보의 연산 및 처리를 수행하고 서버(100)의 구성 요소들(예: 제 1 통신 회로(110))의 동작을 제어할 수 있다. 제 1 제어 회로(120)는 하드웨어, 소프트웨어, 또는 이들의 조합에 따라 컴퓨터나 이와 유사한 장치로 구현될 수 있다. 하드웨어적으로 상기 제 1 제어 회로(120)는 전기적인 신호를 처리하여 제어 기능을 수행하는 전자 회로 형태(예: CPU 등)로 제공될 수 있으며, 소프트웨어적으로는 하드웨어적인 상기 제 1 제어 회로(120)를 구동시키는 프로그램 형태로 제공될 수 있다. 한편, 이하의 설명에서 특별한 언급이 없는 경우에는 서버(100)의 동작은 상기 제 1 제어 회로(120)의 제어에 의해 수행되는 것으로 해석될 수 있다.
상기 제 1 제어 회로(120)는 인터페이스 제공 모듈(121)을 포함하며, 인터페이스 제공 모듈(121)은 상기 서버(100)로 접속되는 전자 장치들(예: 200)로 서버(100)를 이용하기 위한 인터페이스를 제공할 수 있다. 이에 따라 전자 장치들(예: 200)은 인터페이스를 표시하고, 표시된 인터페이스를 통해서 서버(100)에 저장된 후술될 머신 러닝 모델을 포함하는 프로그램을 제공받을 수 있다. 이때, 인터페이스 제공 모듈(121)은 메모리에 저장된 사용자와 연관된 다양한 부가 정보(예: 계정 정보)를 기반으로 접속된 사용자의 전자 장치(200)를 인증하고, 인증이 완료되는 경우에 프로그램이 다운로드 가능하도록 제어할 수도 있다.
상기 제 1 제어 회로(101)는 정보 획득 모듈(122)을 포함하며, 정보 획득 모듈(122)은 상기 서버(100)에 특정 종목의 스포츠, 운동, 및/또는 경기에 대한 복수의 전문가들(또는, 프로 선수)(예: 골프 선수)의 특정 동작 또는 움직임(예: 스윙 동작)에 대한 빅 데이터를 획득할 수 있다. 예를 들어, 상기 빅 데이터는 상기 복수의 전문가들의 상기 특정 동작 또는 움직임에 대한 이미지, 상기 특정 동작 또는 움직임 시 스윙 연습기(200)를 이용한 각속도에 대한 정보, 및 평가 정보 등을 포함할 수 있다. 정보 획득 모듈(122)은 서버(100)에 접속되는 복수의 전문가들의 개인용 전자 장치들(예: 단말, PC 등) 각각으로부터 복수의 전문가들(또는, 프로 선수)(예: 골프 선수)의 특정 동작 또는 움직임(예: 스윙 동작)에 대한 정보를 수신할 수 있다.
상기 제 1 제어 회로(101)는 정보 분석 모듈(123)을 포함하며, 정보 분석 모듈(123)은 정보 획득 모듈(122)에 의해 획득된 빅 데이터를 머신 러닝을 위한 데이터로 분석하여 가공할 수 있다. 예를 들어, 정보 분석 모듈(123)은 정보 획득 모듈(122)에 의해 획득된 전문가의 특정 동작(예: 스윙)에 대한 이미지를 기반으로, 전문가의 특정 동작 시의 골격들의 위치에 대한 정보를 추출할 수 있다. 또 예를 들어, 정보 분석 모듈(123)은 획득된 전문가의 특정 동작(예: 스윙) 시의 각속도에 대한 정보를 기반으로, 특정 동작의 궤적에 대한 정보를 획득할 수 있다. 또 기재된 바에 국한되지 않고, 상기 정보 분석 모듈(123)의 구현 없이, 정보 획득 모듈(122)는 복수의 전문가들로부터 직접 특정 동작 시의 골격에 대한 정보, 및/또는 특정 동작 시의 궤적에 대한 정보를 획득할 수도 있다.
상기 제 1 제어 회로(101)는 머신 러닝 모듈(124)을 포함하며, 머신 러닝 모듈(124)은 특정 종목의 스포츠, 운동, 및/또는 경기에 대한 복수의 전문가들(또는, 프로 선수)(예: 골프 선수)의 특정 동작 또는 움직임(예: 스윙 동작)에 대한 빅 데이터를 상기 정보 분석 모듈(123)이 분석한 결과 정보를 기반으로, 서버(100)의 사용자의 특정 동작 또는 움직임에 대한 평가를 위한 머신 러닝 모델을 생성할 수 있다. 생성된 머신 러닝 모델은 사용자의 특정 동작 또는 움직임(예: 스윙) 시의 복수의 관절들에 대한 정보 및/또는 동작의 궤적(예: 스윙 궤적)에 대한 정보를 입력 받는 것에 대한 응답으로, 특정 동작의 복수의 특성들(예: 그립 종류, 어드레스 등)에 대한 평가 정보를 출력하도록 구현될 수 있다. 머신 러닝 모듈(124)에 기반한 머신 러닝 모델 생성 동작, 및 머신 러닝 모델에 대해서는 도 5 내지 도 7에서 후술한다.
상기 데이터베이스(125)는 각종 정보(예: 머신 러닝 모델, 전문가로부터 수신된 빅 데이터(big data), 사용자 정보 등의 다양한 부가 정보 등)를 저장할 수 있다. 데이터베이스는 데이터를 임시적으로 또는 반영구적으로 저장할 수 있다. 예를 들어, 서버(100)의 데이터베이스(125)에는 서버(100)를 구동하기 위한 운용 프로그램(OS: Operating System), 웹 사이트를 호스팅하기 위한 데이터나 프로그램 내지는 어플리케이션(예를 들어, 웹 어플리케이션)에 관한 데이터 등이 저장될 수 있다. 상기 데이터베이스(125)의 예로는 하드 디스크(HDD: Hard Disk Drive), SSD(Solid State Drive), 플래쉬 메모리(flash memory), 롬(ROM: Read-Only Memory), 램(RAM: Random Access Memory) 등이 있을 수 있다. 이러한 데이터베이스는 내장 타입 또는 탈부착 가능한 타입으로 제공될 수 있다.
2.2 전자 장치(200)의 구성의 일 예
이하에서는 전자 장치(200)의 구성의 일 예에 대해서 설명한다.
도 3은 본 출원의 일 실시예에 따른 전자 장치(200)의 일 예를 나타내는 블록도이다. 한편 도 3에 도시된 바에 국한되지 않고, 전자 장치(200)는 도시된 구성들 보다 더 적은 구성 또는 더 많은 구성들을 포함할 수 있다. 예를 들어, 전자 장치(200)는 서버(100)에 포함된 적어도 하나의 구성(예: 머신 러닝 모델 모듈(124))을 더 포함하여 빅 데이터를 기반으로 머신 러닝 모델을 생성하는 동작을 수행하도록 구현될 수 있다.
도 3을 참조하면, 일 실시예에 따르면 전자 장치(200)는 제 2 통신 회로(210), 제 2 제어 회로(220), 입력 장치(230), 디스플레이(240), 및 촬영 장치(250)를 포함할 수 있다.
상기 제 2 통신 회로(210)는 외부 장치들(예: 서버(100))과 통신을 설정할 수 있다. 상기 제 2 통신 회로(220)는 서버(100)와 통신 연결을 설정하여 접속하고, 상기 서버(100)로부터 사용자의 특정 종목의 운동(예: 골프)에 대한 특정 동작을 평가받기 위한 프로그램을 다운로드 받을 수(또는, 수신할 수) 있다. 상기 제 2 통신 회로(220)는 상술한 서버(100)의 제 1 통신 회로(110)와 같이 구현될 수 있으므로 중복되는 설명은 생략한다.
상기 제 2 제어 회로(220)는 전자 장치(200)의 전반적인 동작을 제어할 수 있다. 상기 제 2 제어 회로(220)는 상기 전자 장치(200)의 제 1 제어 회로(120)와 같이 구현될 수 있으므로, 중복되는 설명은 생략한다.
상기 입력 장치(230)는 사용자로부터 정보를 입력 받을 수 있다. 상기 입력 장치(230)는 사용자 입력을 받거나 또는 사용자에게 정보를 출력하는 각종 인터페이스나 연결 포트 등일 수 있다. 상기 입력 장치(230)는 입력 모듈과 출력 모듈로 구분될 수 있는데, 입력 모듈은 사용자로부터 사용자 입력을 수신한다. 사용자 입력은 키 입력, 터치 입력, 음성 입력을 비롯한 다양한 형태로 이루어질 수 있다. 이러한 사용자 입력을 받을 수 있는 입력 모듈의 예로는 전통적인 형태의 키패드나 키보드, 마우스는 물론, 사용자의 터치를 감지하는 터치 센서, 음성 신호를 입력받는 마이크, 영상 인식을 통해 제스처 등을 인식하는 카메라, 사용자 접근을 감지하는 조도 센서나 적외선 센서 등으로 구성되는 근접 센서, 가속도 센서나 자이로 센서 등을 통해 사용자 동작을 인식하는 모션 센서 및 그 외의 다양한 형태의 사용자 입력을 감지하거나 입력받는 다양한 형태의 입력 수단을 모두 포함하는 포괄적인 개념이다. 여기서, 터치 센서는 디스플레이 패널에 부착되는 터치 패널이나 터치 필름을 통해 터치를 감지하는 압전식 또는 정전식 터치 센서, 광학적인 방식에 의해 터치를 감지하는 광학식 터치 센서 등으로 구현될 수 있다. 이 경우, 상기 입력 장치(230)는 후술할 디스플레이(240) 내에 구현되어 사용자의 터치 입력을 수신할 수 있다. 다시 말해, 디스플레이(240)는, 상기 입력 장치(230)로서 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다. 이외에도 상기 입력 장치(230)는 자체적으로 사용자 입력을 감지하는 장치 대신 사용자 입력을 입력받는 외부의 입력 장치를 연결시키는 입력 인터페이스(USB 포트, PS/2 포트 등)의 형태로 구현될 수도 있다.
상기 디스플레이(240)는 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템 (MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 상기 디스플레이(240)는, 토픽 작성을 위한 인터페이스를 표시하고, 인터페이스 상에 추천 문장을 표시할 수 있다.
상기 촬영 장치(250)는 사용장의 특정 동작을 촬영할 수 있다. 촬영 장치(250)는 CCD(Charge-Coupled Device) 또는 CMOS(Complimentary Metal Oxide Semiconductor)로 구성되는 복수의 이미지 센서들을 포함하며, 촬영 시 수광하여 수광 량을 픽셀 별로 전기적인 정보로 변환하여 촬영을 수행할 수 있다.
2.3 스윙 연습기(300)의 구성의 일 예
이하에서는 스윙 연습기(300)의 구성의 일 예에 대해서 설명한다.
도 4는 본 출원의 일 실시예에 따른 스윙 연습기(300)의 일 예를 나타내는 블록도이다. 한편 도 4에 도시된 바에 국한되지 않고, 스윙 연습기(300)는 도시된 구성들 보다 더 적은 구성 또는 더 많은 구성들을 포함할 수 있다.
도 4를 참조하면, 스윙 연습기(300)는 그립(310), 샤프트(320), 헤드(330)를 포함한다. 헤드(330)는 몸체(331), 이동추(332), 자석(333), 조절수단(334), 캡(335), 복귀수단(336), 제어부(337), 저장부(338), 센서부(339), 스윙검출부(340), 통신모듈(341) 중 적어도 하나의 구성을 포함할 수 있다.
그립(310)은 스윙 연습기(300)를 사용하는 사용자가 파지할 수 있는 부분을 지시할 수 있다. 그립(310)은 샤프트 (320)의 일측 끝 부분에 위치할 수 있다. 샤프트(320)는 그립(310)과 헤드(330)를 관통하는 방향에 위치할 수 있다. 상기 그립(310) 내에는 후술될 스윙 각속도를 측정하기 위한 스윙검출부(340)가 구현될 수도 있다.
헤드(330)는 그립(310)과 반대 방향의 샤프트(320)의 일측 끝 부분에 위치할 수 있다. 헤드(330)에 포함된 몸체(331)는 내부에 이동추(332), 자석(333), 조절수단(334), 캡(335), 복귀수단(336), 제어부(337), 저장부(338), 센서부(339), 스윙검출부(340), 통신모듈(341) 중 적어도 하나를 포함할 수 있다.
이동추(332)는 헤드(330)의 몸체(331) 내부에 내장되어 있을 수 있다. 이동추(332)는 몸체(331) 내부의 슬라이딩 공간을 따라 움직일 수 있다. 이동추(332)의 측면에 복귀수단(336)을 장치하여 그립(310)을 잡고 스윙을 하게 되 면 원심력에 의해 상기 이동추(332)가 복귀수단(336)을 압축시키면서 이동하여 공간의 내측 캡(104)을 타격함으로써 타격음을 내도록 되어 있다.
타격 후에 이동추(332)는 압축되었던 복귀수단(336)의 탄성력에 의해 복귀하면서 자석(333)과 타격하여 동작이 완료되었음을 알리는 타격음을 발생시키도록 되어 있다.
자석(333)은 이동추(332)를 고정하는 역할을 할 수 있다. 구체적으로, 자석(333)은 스윙 동작에 의해 발생한 원심력을 이용해 자석(333)에 부착된 이동추(332)를 자석(333)으로부터 분리되도록 하는 한계점, 즉 한계원심력을 결정하는 역할을 할 수 있다. 조절수단(334)은 스윙 동작에 의해 발생한 원심력이 자석(333)에 부착된 이동추(332)를 자석(333)으로부터 분리되도록 하는 한계점을 조절하는 역할을 할 수 있다. 한계점을 조절하는 과정은 몸체(331)와 접하는 조절수단(334)이 몸체(331)에서 회전시킬 수 있다. 조절수단(334)은 상기 과정을 통해 이동추(332)와 몸체(331)에 설치된 자석(333) 사이의 거리를 가변시킬 수 있다. 즉, 조절수단(334)을 시계방향으로 회전시켜 후퇴시키면 몸체(331)에 고정된 자석(333)으로부터 이동추(332)가 멀어지기 때문에 자력의 범위에서 멀어지게 되므로 이동추(332)를 끌어당기려는 힘이 적어지게 되어 적은 원심 력으로도 이동추(332)를 캡(335) 쪽으로 이동시킬 수 있다. 반대로 조절수단(334)을 반시계방향으로 회전시켜 이동추(332)를 자석(333) 쪽으로 이동시키게 되면 자석(333)에 이동추(332)가 점점 가까워져 자력이 세지게 되 므로 자석(333)으로부터 이동추(332)를 분리하는데 보다 큰 원심력이 필요하여 더욱 빠른 스윙을 해야만 이동추(332)가 분리되어 타격음을 내게 되는 것이다. 캡(335)은 미리 정해진 기준 이상의 원심력으로 스윙이 된 경우 소리를 발생시키는 역할을 하는 구성일 수 있다. 이동추(332)가 스윙에 의한 원심력으로 인해 자석(333)으로부터 이탈하여 캡(335)에 부딪힐 경우 타격음 이 발생할 수 있다. 상기 타격음은 골프공을 칠 때 발생하는 타격음과 유사하여 골프공을 치는 느낌을 갖도록 할 수 있다. 복귀수단(336)은 타격 후에 원심력이 제거되는 경우, 이동추(332)를 원래의 위치로 복귀시키는 역할을 할 수 있다. 복귀수단(336)의 탄성과 자석(333)의 자력에 의해 이동추(332)는 다시 자석(333)과 근접한 위치로 복귀하게 된다. 이동추(332)는 복귀수단(336)의 탄성력에 의해 복귀하면서 자석(333)과 타격하여 동작이 완료되었음을 알 리는 타격음을 발생시킬 수 있다. 제어부(337)는 저장부(338), 센서부(339), 스윙검출부(340), 통신모듈(341) 중 적어도 하나를 제어할 수 있다.
저장부(338)는 센서부(339), 스윙검출부(340)에서 획득된 데이터를 저장할 수 있다. 저장부(338)는 스윙 연습기(300)의 스윙 궤적을 추적할 수 있는 데이터인 스윙 궤적 데이터, 스윙 연습기(300)의 스윙 속도를 수치화할 수 있는 데이터인 스윙 속도 데이터, 스윙검출부(340)는 스윙 연습기(300)의 스윙 가속도를 수치화할 수 있는 데이 터인 스윙 가속도 데이터, 조절수단(334)의 레벨 데이터 중 적어도 하나를 저장할 수 있다. 센서부(339)는 조절수단(334)의 레벨 데이터를 획득할 수 있다.
일 실시예로 센서부(339)는 자석(333)과 이동추(332)의 간격을 인지하는 센서를 통해 조절수단(334)의 레벨 데이터를 획득할 수 있다. 다른 실시예로, 센서부(339)는 자석(333)의 자력 세기를 측정할 수 있는 센서를 통해 조절수단(334)의 레벨 데 이터를 획득할 수 있다. 또 다른 실시예로, 센서부(339)는 조절수단(334)의 저항값 변화를 인지할 수 있는 센서를 통해 상기 조절수단(334)의 레벨 데이터를 획득할 수 있다.
스윙검출부(340)는 스윙 연습기(300)의 스윙 궤적을 추적할 수 있는 데이터인 스윙 궤적 데이터를 검출할 수 있다. 구체적으로, 스윙검출부(340)는 스윙 연습기(300)의 헤드(330) 부분에 내장되거나 부착되어 헤드(330)의 스윙 궤적 데이터를 검출할 수 있다. 예를 들어, 사용자가 스윙 연습기(300)로 스윙 연습을 할 경우 스윙 연습기(300)의 헤드(330) 부분의 궤적을 추적할 수 있다. 스윙검출부(340)는 스윙 연습기(300)의 스윙 각속도를 수치화할 수 있는 데이터인 스윙 각속도 데이터를 검출할 수 있다. 예를 들어, 상기 스윙검출부(340)는 9축 관석 측정 센서로서, 각각의 9개의 축 방향으로의 각속도 데이터를 검출할 수 있다. 통신모듈(341)은 스윙 연습기(300)의 스윙 궤적을 추적할 수 있는 데이터인 스윙 궤적 데이터, 스윙 연습기(300)의 스윙 속도를 수치화할 수 있는 데이터인 스윙 속도 데이터, 스윙검출부(340)는 스윙 연습기(300)의 스윙 각속도를 수치화할 수 있는 데이터인 스윙 각속도 데이터, 조절수단(334)의 레벨 데이터 중 적어도 하나를 사용자의 전자 자치(200)에 전송할 수 있다.
2.4. 스마트 연습 시스템의 구현 예
스마트 연습 시스템은 상술한 바와 같이 시스템 타입 또는 온 디바이스 타입으로 구현될 수 있다.
일 실시예에 따르면 상술한 바와 같이 스마트 연습 시스템이 서버(100) 및 전자 장치(200)로 구성되는 경우, 스마트 연습 시스템은 시스템 타입으로 정의될 수 있다. 다시 말해, 시스템 타입의 시스템은 데이터의 축적 및 머신 러닝 모델(330)의 생성이 일 구성(예: 서버(100))에서 수행되고, 이를 이용한 서비스의 수행(예: 사용자의 동작에 대한 피드백 제공)은 다른 구성(예: 전자 장치(200))에서 수행되는 타입의 시스템일 수 있다. 이 경우, 서버(100)는 생성된 머신 러닝 모델을 포함하는 프로그램을 전자 장치(200)로 제공하고, 전자 장치(200)는 프로그램을 실행하여 머신 러닝 모델을 이용할 수 있다.
또 일 실시예에 따르면, 상술한 구성들이 하나의 물리적 장치에 구현되는 경우, 스마트 연습 시스템은 온 디바이스(On-device) 타입으로 정의될 수 있다. 예를 들어, 서버(100)의 구성들이 전자 장치(200)에 구현 가능하며, 이 경우 스마트 연습 시스템은 온 디바이스(On-device)타입으로 정의될 수 있다. 이 경우, 전자 장치(200)가 머신 러닝 모델 생성을 자체적으로 수행하며, 이에 기반한 서비스의 수행(예: 스윙 동작에 대한 피드백 제공)을 수행할 수 있다.
또 기재된 바에 국한되지 않고, 스마트 연습 시스템은 바와 같이 시스템 타입과 온 디바이스 타입이 조합되는 하이브리드 타입으로 구현될 수 있다. 예를 들어, 서버(100)의 적어도 하나의 구성(예: 머신 러닝 모듈(124))이 전자 장치(200)에 구현되되 다른 구성(예: 데이터 베이스(125))은 서버(100)에 구현되는 형태는, 하이브리드 타입으로 정의될 수 있다.
3. 스마트 연습 시스템의 동작
이하에서는 스마트 연습 시스템을 구성하는 장치들(예: 서버(100), 전자 장치(200), 및 스윙 연습기(300))의 동작의 다양한 예들에 대해서 설명한다.
3.1. 제 1 실시예 <특정 동작 또는 움직임에 대한 평가 정보를 제공하기 위한 머신 러닝 모델 생성 동작>
일 실시예에 따르면, 서버(100)는 특정 종목(예: 골프, 요가 등)의 스포츠, 운동, 및/또는 경기에서 요구되는 특정 동작에 대한 전문가의 빅 데이터를 축적하고, 축적된 빅 데이터를 머신 러닝 모델을 생성하기 위한 데이터로 정규화 및/또는 가공할 수 있다. 서버(100)는 가공된 데이터를 기반으로 머신 러닝(machine learning)을 수행하여 머신 러닝 모델을 생성하고, 추후 서비스 제공(예: 특정 종목의 특정 동작에 대한 평가)을 받기를 원하는 사용자의 전자 장치(200)로 제공할 수 있다.
도 5는 본 출원의 일 실시예에 따른 서버(100)의 동작의 일 예를 설명하기 위한 흐름도이다. 다양한 실시예들에 따르면 서버(100)의 동작은 도 5에 도시되는 동작의 순서에 국한되지 않고, 도시되는 순서와 다른 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면, 도 5에 도시되는 스마트 연습 시스템의 동작 보다 더 많은 동작들이 수행되거나, 또는 더 적은 적어도 하나의 동작이 수행될 수도 있다. 이하에서는 도 6 내지 7을 참조하여 도 5에 대해서 설명한다.
도 6은 본 출원의 일 실시예에 따른 서버(100)의 특정 종목(예: 골프, 요가 등)의 스포츠, 운동, 및/또는 경기에서 요구되는 특정 동작에 대한 평가를 위한 머신 러닝 모델을 생성하는 동작의 일 예를 설명하기 위한 도면이다. 도 7은 본 출원의 일 실시예에 따른 생성된 머신 러닝 모델의 일 예를 설명하기 위한 도면이다.
일 실시예에 따르면, 서버(100)는 501 동작에서 특정 종목에 대한 복수의 선수들과 연관된 정보들을 획득할 수 있다. 예를 들어, 서버(100)는 특정 종목의 스포츠, 운동, 및/또는 경기에 대한 전문가(또는, 프로 선수)(예: 골프 선수)로부터 특정 동작(또는, 움직임)(예: 골프 스윙 동작)에 대한 정보를 수신하여 축적할 수 있다. 서버(100)(예: 정보 획득 모듈(122))는 각 종목들 별 전문가들(또는, 프로 선수)로 특정 동작에 대한 정보를 요청하고, 전문가들의 전자 장치로부터 정보를 수신할 수 있다. 상기 전문가들로부터 수신되는 정보는 도 6에 도시된 바와 같이 상기 특정 동작 또는 움직임(예: 스윙 동작)에 대한 이미지 또는 영상, 전문가의 상기 특정 동작 또는 움직임(예: 스윙 동작) 시 스윙 연습기(200)에 의해 검출된(예: 스윙 검출부(340)에 의해 검출된) 각속도에 대한 정보, 및 평가 정보를 포함할 수 있다. 상기 평가 정보는, 상기 전문가의 특정 동작에 대한 상기 전문가의 상기 특정 동작에 대해서 평가한 정보를 포함할 수 있다. 예를 들어 상기 특정 동작이 골프 스윙인 경우, 상기 전문가는 특정 동작 이후 상기 특정 동작에 대해서 "그립이 강하고, 어드레스가 정상이고, 팔로우 스윙이 적당하다"라는 코멘트를 남길 수 있다. 또 예를 들어, 상기 전문가는 그립 종류, 어드레스, 백스윙 코킹, 다운 스윙, 임팩트, 팔로우 스윙, 및 팔로우 톱과 같은 특성에 대한 평가 코멘트를 남길 수 있다. 서버(100)는 상술한 전문가의 이미지와 각속도에 대한 정보와 함께 상기 전문가에 의해 남겨진 코멘트를 평가 정보로서 수신할 수 있다. 이 경우, 서버(100)는 상술한 인터페이스 제공 모듈(121)을 이용하여 각각의 정보들(예: 이미지 또는 영상, 각속도, 평가 정보)을 수신하기 위한 인터페이스를 제공하고, 인터페이스를 통해서 각각의 정보를 업로드 받을 수 있다.
일 실시예에 따르면, 서버(100)는 502 동작에서 상기 정보들로부터 관절 위치에 대한 정보 및/또는 포즈에 대한 정보를 추출하고, 정규화하여 저장할 수 있다. 예를 들어, 서버(100)(예: 정보 분석 모듈(123))는 도 6에 도시된 바와 같이 수집된 정보들로부터 머신 러닝 모델 생성을 위한 정보들로 정규화, 가공, 및/또는 추출할 수 있다. 예를 들어, 상기 정보 분석 모듈(123)에 의해 획득된 머신 러닝 모델 생성을 위한 정보들은 관절 위치에 대한 정보와 포즈에 대한 정보(611), 궤적에 대한 정보(612), 및/또는 특징 정보(613)를 포함할 수 있다.
일 예로, 상기 정보 분석 모듈(123)은 전문가의 이미지로부터 관절들의 위치에 대한 정보를 추출하고, 포즈에 대한 정보를 추출할 수 있다. 상기 정보 분석 모듈(123)은 이미지로부터 피사체(예: 전문가)를 인식하고, 인식된 피사체를 골격화할 수 있다. 상기 정보 분석 모듈(123)은 골격화된 모델로부터 특정 동작 시 각 골격들(예: 어깨, 팔, 무릎 등)의 위치에 대한 정보를 실시간으로 검출하고, 검출된 골격들의 위치에 대한 정보를 기반으로 피사체의 포즈에 대한 정보를 추출할 수 있다. 이때, 정보 분석 모듈(123)은 동작들 별로 서로 다른 골격들의 위치에 대한 정보를 추출할 수 있다. 예를 들어, 정보 분석 모듈(123)은 특정 동작의 수행 시 주로 이용되는 골격의 위치에 대한 정보만을 추출함으로써 데이터의 양을 저감하여 머신 러닝의 운용 부담을 경감시킬 수 있다. 일 예로, 정보 분석 모듈(123)은 복수의 동작들 중 골프 스윙에 대해서는, 복수의 관절들 중 머리, 양쪽 어깨, 허리, 및 양쪽 무릎의 관절의 위치에 대한 정보만을 추출할 수 있다.
다른 예로, 상기 정보 분석 모듈(123)은 상기 각속도에 대한 정보로부터 9개의 축 별로 각속도에 대한 정보를 식별하고, 식별된 9개의 축 별로 각속도에 대한 정보를 기반으로 동작 또는 움직임의 궤적을 구현할 수 있다.
또 다른 예로, 상기 정보 분석 모듈(123)은 상기 평가 정보에 포함된 전문가의 코멘트로부터 특정 동작의 복수의 특성들 별로 복수의 평가 레벨에 대한 정보를 추출할 수 있다. 상기 복수의 특성들은 상기 특정 동작을 평가하기 위한 여러가지 항목들을 의미할 수 있다. 예를 들어, 상기 특정 동작이 골프 스윙인 경우, 상기 복수의 특성들은 그립 종류, 어드레스, 백스윙 코킹, 다운 스윙, 임팩트, 팔로우 스윙, 및 팔로우 톱을 포함할 수 있다. 이때, 상기 그립 종류에 대한 평가 레벨은 "스트롱", "표준", 및 "위크(week)"를 포함할 수 있다. 상기 어드레스에 대한 평가 레벨은 "오른발 뒤, "정상", 및 "왼발" 뒤를 포함할 수 있다. 상기 백스윙 코킹에 대한 평가 레벨은 "과도", "정상", 및 "미흡"을 포함할 수 있다. 상기 톱에 대한 평가 레벨은 "오버", "정상", 및 "미달"을 포함할 수 있다. 상기 다운 스윙에 대한 평가 레벨은 몸의 경우 "하체", "정상", 및 "상체만"을 포함하고, 코킹의 경우 "늦게 풀림", "정상", 및 "미리 풀림"을 포함할 수 있다. 상기 임팩트에 대한 평가 레벨은 페이스의 경우 "Close +", "Close", "정상", "Open", 및 "Open+"를 포함하고, 패스의 경우 "In2Out+", "In2Out", "스퀘어", "Out2In", 및 "Out2In+"를 포함할 수 있다. 팔로우 스윙에 대한 평가 레벨은 "따라감", "정상", 및"작음"을 포함할 수 있다. 팔로우 톱에 대한 평가 레벨은 "안넘어감", "넘어감", "정상", 및 "치킨"을 포함할 수 있다.
일 실시예에 따르면, 서버(100)는 503 동작에서 저장된 정보를 기반으로 학습을 수행하여 머신 러닝 모델을 생성할 수 있다. 예를 들어, 서버(100)는 상술한 정보들(예: 관절 위치에 대한 정보와 포즈에 대한 정보(611), 궤적에 대한 정보(612), 및/또는 특징 정보(613))을 트레이닝 데이터로 하여, 다양한 종류의 머신 러닝 알고리즘을 기반으로 머신 러닝을 수행할 수 있다. 상기 머신 러닝 알고리즘은 선형 회귀 알고리즘, 다항식 회귀(Polynomial Regression) 알고리즘, 분류 분석 알고리즘, 로지스틱 회귀와 같은 지도 학습(Supervised learning) 알고리즘, 준지도 학습(Semi-supervised learning) 알고리즘, 비지도(자율) 학습(Unsupervised learning) 알고리즘, 및 강화 학습(Reinforcement learning) 알고리즘을 포함하며, 기재된 바에 국한되지 않고 다양한 종류의 머신 러닝 알고리즘이 활용될 수 있다. 서버(100)는 관절 위치에 대한 정보와 포즈에 대한 정보(611) 및 궤적에 대한 정보(612) 중 적어도 하나를 인풋 데이터(input data)(640)로하여, 복수의 특성들(예: 제 1 특성(641)(예: 그립의 종류) 및 제 2 특성(642)(예: 어드레스) ??) 별 평가 레벨에 대한 정보를 아웃풋 데이터(output data)로 하여 머신 러닝을 수행할 수 있다. 예를 들어, 서버(100)는 축적된 방대한 양의 정보들 중 일 관절 위치에 대한 정보와 포즈에 대한 정보(611) 및 일 궤적에 대한 정보(612)에 대응하는 특정 특성(예: 그립)의 일 평가 레벨(예: 스트롱", "표준", 및 "위크(week)")에 대한 가중치를 부여할 수 있다. 이후, 서버(100)는 나머지 관절 위치에 대한 정보와 포즈에 대한 정보(611) 및 궤적에 대한 정보(612)에 대해서도 대응하는 특정 특성(예: 그립)의 일 평가 레벨 상기 가중치를 부여하는 동작을 계속해서 수행할 수 있다. 서버(100)는 상기 가중치 부여 동작의 결과로서, 머신 러닝 모델(630)을 생성하고, 생성된 머신 러닝 모델(630)은 각각의 관절 위치에 대한 정보와 포즈에 대한 정보 및 궤적에 대한 정보에 대응하여, 특정 동작의 특성에 대한 평가 레벨에 대해서 가중치를 계산하기 위한 매트릭스(matrix)를 포함할 수 있다. 결과적으로, 머신 러닝 모델(630)은 도 7에 도시된 바와 같이 사용자의 관절 정보 또는 궤적 정보를 입력(input) 받은 것에 대한 응답으로, 사용자의 동작(예: 골프 스윙)의 복수의 특성들(예: 그립 종류, 어드레스, 백스윙 코킹, 다운 스윙, 임팩트, 팔로우 스윙, 및 팔로우 톱)에 대한 평가 레벨 정보를 출력하도록 설정될 수 있다. 상기 평가 레벨 정보는 전술한 바와 같으므로 중복되는 설명은 생략한다.
생성된 머신 러닝 모델은 상술한 바와 같이 다양한 종목의 운동, 스포츠, 및/또는 경기(예: 골프, 및 요가)에 대한 평가 레벨 정보를 생성할 수 있으나, 이하에서는 설명의 편의를 위해서 골프에 대한 평가 레벨 정보를 제공하는 머신 러닝 모델인 것을 예로 들어 설명한다.
3.2 제 2 실시예 <전자 장치(200)의 사용자 스윙 이미지 및 각속도 정보에 기반한 평가 서비스 제공 동작>
전술한 스마트 연습 시스템의 동작들은 제 2 실시예에 준용될 수 있으므로, 중복되는 설명은 생략한다.
일 실시예에 따르면, 전자 장치(200)는 서버(100)로부터 상술한 머신 러닝 모델(630)을 포함하는 프로그램을 다운로드(또는, 수신)하고, 다운로드된 프로그램을 기반으로 사용자의 골프 스윙에 대한 평가 레벨 정보를 제공할 수 있다. 이때, 전자 장치(200)는 사용자의 골프 스윙을 나타내기 위한 3D 객체를 구현하여, 골프 스윙에 대한 정보를 효과적으로 제공할 수도 있다.
도 8은 본 출원의 일 실시예에 따른 스마트 연습 시스템의 동작의 일 예를 설명하기 위한 흐름도이다. 다양한 실시예들에 따르면 스마트 연습 시스템의 동작은 도 8에 도시되는 동작의 순서에 국한되지 않고, 도시되는 순서와 다른 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면, 도 8에 도시되는 스마트 교육 시스템의 동작 보다 더 많은 동작들이 수행되거나, 또는 더 적은 적어도 하나의 동작이 수행될 수도 있다. 이하에서는 도 9 내지 도 11을 참조하여 도 8에 대해서 설명한다.
도 9는 본 출원의 일 실시예에 따른 스마트 연습 시스템의 사용자의 골프 스윙을 분석하기 위한 동작의 일 예를 설명하기 위한 도면이다. 도 10은 본 출원의 일 실시예에 따른 전자 장치(200)의 사용자의 골프 스윙을 나타내기 위한 3D 객체를 구현하여 제공하는 동작의 일 예를 설명하기 위한 도면이다. 도 11은 본 출원의 일 실시예에 따른 전자 장치(200)의 머신 러닝 모델(630)에 기반한 사용자의 골프 스윙에 대한 평가 정보(또는, 평가 레벨 정보)를 제공하는 동작의 일 예를 설명하기 위한 도면이다.
일 실시예에 따르면, 서버(100)는 801 동작에서 머신 러닝 모델을 생성할 수 있다. 예를 들어, 서버(100)는 복수의 전문가들(또는, 프로 선수)(예: 골프 선수)의 특정 동작 또는 움직임(예: 스윙 동작)에 대한 빅 데이터(예: 특정 동작 또는 움직임에 대한 이미지, 상기 특정 동작 또는 움직임 시 스윙 연습기(200)를 이용한 각속도에 대한 정보, 및 평가 정보)를 축적하고, 빅 데이터를 가공하여 가공된 정보(예: 도 6의 관절 위치에 대한 정보와 포즈에 대한 정보(611), 궤적에 대한 정보(612), 및/또는 특징 정보(613))를 트레이닝 데이터로 하여 머신 러닝 모델(630)을 생성할 수 있다. 머신 러닝 모델(630)은 도 7에서 상술한 바와 같이, 사용자의 관절 정보 또는 궤적 정보를 입력(input) 받은 것에 대한 응답으로, 사용자의 동작(예: 골프 스윙)의 복수의 특성들(예: 그립 종류, 어드레스, 백스윙 코킹, 다운 스윙, 임팩트, 팔로우 스윙, 및 팔로우 톱)에 대한 평가 레벨 정보를 출력하도록 설정될 수 있다. 예를 들어, 상기 서버(100)의 동작 및 머신 러닝 모델(630)에 의해 평가된 평가 레벨 정보에 대한 설명은 "제 1 실시예"에서 상술한 바와 같으므로 중복되는 설명은 생략한다.
일 실시예에 따르면, 전자 장치(200)는 802 동작에서 서버(100)로 접속하고, 803 동작에서 서버(100)로부터 머신 러닝 모델을 수신하고, 804 동작에서 프로그램을 실행할 수 있다. 예를 들어, 골프 스윙에 대한 비대면 평가를 받기를 원하는 사용자는 전자 장치(200)를 이용하여 서버(100)로 접속할 수 있다. 전술한 바와 같이, 서버(100)는 인터페이스 제공 모듈(121)을 이용하여 사용자를 인증하는 경우, 도 9에 도시된 바와 같이 머신 러닝 모델(630)을 포함하는 프로그램(913)을 전자 장치(200)로 제공할 수 있다. 상기 프로그램은 머신 러닝 모델(630)을 이용하여 사용자의 골프 스윙에 대한 평가 정보(또는, 평가 레벨 정보)를 제공하도록 구현되었을 뿐만 아니라, 사용자의 스윙을 나타내기 위한 3차원(3D) GUI(graphic user interface)를 구성하도록 구현될 수 있다.
일 실시예에 따르면, 스윙 연습기(300)는 805 동작에서 사용자의 스윙의 각속도를 측정하고, 806 동작에서 측정된 각속도에 대한 정보를 전자 장치(200)로 전송할 수 있다. 예를 들어, 사용자는 상기 프로그램의 실행 이후 상기 스윙 연습기(300)를 이용하여 골프 스윙(911)을 수행하고, 스윙 연습기(300)는 전술한 스윙 검출부(340)를 이용하여 검출된 각속도에 대한 정보(912)를 전자 장치(200)로 전송할 수 있다. 이때, 스윙 연습기(300)는 상기 프로그램의 실행에 기반하여 전자 장치(200)로부터 웨이크-업(wake-up) 신호를 수신하고, 수신된 웨이크-업 신호에 대한 응답으로 구동을 개시할 수 있다. 상기 스윙 연습기(300)는 구동과 동시에 진동 및/또는 소리를 출력하여, 사용자로 하여금 골프 스윙 연습이 가능함을 알릴 수 있다. 전자 자치(200)는 상기 각속도에 대한 정보(912)를 기반으로 스윙 연습기(300)의 스윙 시 궤적에 대한 정보를 계산할 수 있다.
일 실시예에 따르면, 전자 장치(200)는 807 동작에서 실행된 프로그램에 기반하여, 사용자의 스윙과 연관된 이미지를 획득할 수 있다. 예를 들어, 전자 장치(200)는 프로그램의 실행에 기반하여 전술한 촬영 장치(250)를 구동하고, 구동?? 촬영 장치(250)를 이용하여 사용자의 골프 스윙(911)을 촬영할 수 있다. 전자 장치(200)는 상기 촬영 장치(250)를 이용하여 골프 스윙의 시작부터 종료까지의 전 시구간 동안 복수의 프레임 이미지들을 획득할 수 있다. 이때, 전자 장치(200)는 골프 스윙(911)의 전 시구간 중 일부 시구간이 촬영되지 않는 경우, 재스윙 및 재촬영을 사용자에게 요청할 수 있다. 예를 들어, 전자 장치(200)는 촬영 결과에 따라서 획득된 복수의 프레임 이미지들을 비교한 결과, 스윙의 궤적이 중단되는 시구간이 발생되는 경우 골프 스윙(911)의 전 시구간 중 일부 시구간이 촬영되지 않은 것으로 판단할 수 있다. 이 경우, 전자 장치(200)는 재스윙 및 재촬영을 위한 알림 메시지를 프로그램의 실행 화면 상에 표시할 수 있다.
일 실시예에 따르면, 전자 장치(200)는 808 동작에서 획득된 이미지로부터 관절에 대한 정보를 획득할 수 있다. 예를 들어, 전자 장치(200)는 사용자의 골프 스윙 이미지로부터 피사체를 추출하고, 추출된 피사체를 골격화하여 골격 모델을 생성할 수 있다. 전자 장치(200)는 골격 모델로부터 사용자의 골프 스윙 시의 골격의 위치에 대한 정보를 획득할 수 있다. 이때, 전자 장치(200)는 특정 동작들 별로 주로 이용되는 사용장의 골격의 위치에 대한 정보만을 추출할 수도 있다. 예를 들어, 전자 장치(200)는 골프 스윙 시 주로 이용되는 사용자의 골격의 위치에 대한 정보만(예: 복수의 관절들 중 머리, 양쪽 어깨, 허리, 및 양쪽 무릎의 관절의 위치에 대한 정보만을 추출할 수 있다.)을 추출할 수도 있다. 이에 따라, 머신 러닝 모델(630)을 이용하는 경우 이용되는 데이터의 양을 저감하여 전자 장치(200)의 운용 부담을 경감시킬 수 있다.
일 실시예에 따르면, 전자 장치(200)는 809 동작에서 각속도 및/또는 관절에 대한 정보를 기반으로 3D 인터페이스를 표시할 수 있다. 예를 들어, 전자 장치(200)(예: 제 2 제어 회로(220))는 실행된 프로그램에 기반하여, 도 10의 1001 내지 1002에 도시된 바와 같이 측정된 각속도 및/또는 관절에 대한 정보에 기반하여 3D 애니메이션 객체(1021)를 생성하고, 3D 애니메이션 객체(1021)를 기 구현된 3D GUI(1022)에 표시할 수 있다. 3D 애니메이션 객체(1021)는 사용자에 의해 수행된 골프 스윙(911)에 대응하는 모션으로 움직이는 사용자에 대응하는 3D 아바타를 의미할 수 있다. 이하에서는, 전자 장치(200)의 3D 애니메이션 객체(1021)를 생성하는 동작, 및 3D 애니메이션 객체(1021)를 기 구현된 3D GUI(1022)에 표시하는 동작의 예들에 대해서 설명한다/
일 실시예에 따르면, 전자 장치(200)는 프로그램의 실행에 기반하여, 촬영된 골프 스윙 이미지로부터 피사체(즉, 사용자)를 추출할 수 있다. 추출된 피사체로부터 사용자와 연관된 특징 정보들(예: 얼굴 표정, 키)을 추출하고, 기 입력되거나 기 획득된 사용자와 연관된 부가 정보(예: 사용자의 나이)를 반영하여 3D 아바타를 생성할 수 있다. 전자 장치(200)는 골프 스윙 동작 시의 관절의 위치에 대한 정보에 기반하여 3D 아바타의 모션 정보를 생성할 수 있다. 상기 3D 아바타의 모션 정보는 지정된 시간 동안 상기 3D 아바타의 각 관절이 지정된 방향으로 지정된 속도로 움직이도록 제어하기 위한 정보일 수 있다. 다시 말해, 3D 아바타의 모션 정보는 상기 3D 아바타가 사용자에 의해 실제 수행된 골프 스윙에 대응하는 움직임으로 움직이도록 제어하기 위한 정보일 수 있다. 또, 전자 장치(200)는 상기 각속도에 기반하여 골프 스윙 궤적에 대한 정보를 계산하고, 골프 스윙 궤적에 대한 정보를 기반으로 스윙 궤적 애니메이션 정보를 생성할 수 있다. 전자 장치(200)는 생성된 3D 아바타에 상기 3D 아바타의 모션 정보 및 상기 스윙 궤적 애니메이션 정보를 반영하여, 3D 애니메이션 객체(1021)를 생성할 수 있다. 상기 3D 애니메이션 객체(1021)는 도 10의 1002에 도시된 바와 같이, 모션 정보에 기반하여 움직이는 3D 아바타와 함께 3D 아바타가 움직이는 동안 상기 궤적 애니메이션 정보에 포함되는 표시되는 궤적을 포함할 수 있다. 이때, 표시되는 궤적은 스윙 방향(예: 뒷 방향, 또는 앞 방향)에 따라서 서로 다른 색으로 표시될 수 있다. 전자 장치(200)는 각속도의 분석 시 스윙 연습기(300)가 뒷 방향으로 스윙되는 시구간과, 앞 방향으로 스윙되는 시구간을 식별하고, 각 시구간에 대응하는 궤적의 색이 다르도록 상기 궤적 애니메이션 정보를 구성할 수 있다. 한편, 전자 장치(200)는 3D 애니메이션 객체(1021)의 표시 시 도 10의 1023에 도시된 바와 같이 평가 정보(또는, 평가 레벨 정보)를 함께 표시하거나, 도 10의 1024에 도시된 바와 같이 골프 스윙 궤적에 대한 정보와 관절의 위치에 대한 정보를 기반으로 골프 공의 비거리, 및 골프 공의 궤적을 계산하여 이를 표시할 수도 있다.
일 실시예에 따르면 전자 장치(200)는 도 10의 1002에 도시된 바와 같이 3D 애니메이션 객체(1021)를 표시하기 위한 3D GUI 환경(1022)을 구현할 수 있다. 상기 3D GUI 환경(1022)는 기 구현되며 복수의 3D GUI 환경들 중 사용장의 선택에 의해 일 GUI 환경이 선택될 수 있다. 상기 GUI 환경들은 필드, 각종 환경(예: 나무, 구름, 하늘)로 구성될 수 있다. 또, 전자 장치(200)는 현재 검출되는 컨텍스츄얼 정보(예: 날씨, 시간)를 선택된 GUI 환경에 반영하여, GUI 환경을 구성하는 구성들의 특성(예: 날씨, 해의 위치, 구름의 위치)을 조절할 수 있다.
한편, 도 10에 도시된 바에 국한되지 않고, 전자 장치(200)가 단말이 아닌 VR/AR 글래스로 구현되는 경우 3차원 AR/VR 환경을 생성하고 상기 생성된 3D 애니메이션 객체를 구현하여 표시할 수도 있다.
일 실시예에 따르면, 전자 장치(200)는 810 동작에서 각속도, 관절에 대한 정보 및 머신 러닝 모델(630)에 기반하여, 복수의 특성들 별 평가 정보를 제공할 수 있다. 예를 들어, 전자 장치(200)는 도 11의 1101에 도시된 바와 같이 각속도에 대한 정보로부터 계산되는 스윙 궤적에 대한 정보 또는 사용자의 관절 위치에 대한 정보 중 적어도 하나를 상기 머신 러닝 모델(630)에 입력(input)할 수 있다. 머신 러닝 모델(630)은 전술한 바와 같이 각각의 관절 위치에 대한 정보와 포즈에 대한 정보 및 궤적에 대한 정보에 대응하여, 특정 동작의 특성에 대한 평가 레벨에 대해서 가중치를 계산하기 위한 매트릭스(matrix)를 기반으로, 입력된 스윙 궤적에 대한 정보 또는 사용자의 관절 위치에 대한 정보에 대응하는 특정 동작의 특성에 대한 평가 레벨에 대한 가중치를 부여할 수 있다. 머신 러닝 모델(630)은 결과적으로 도 11의 1101에 도시된 바와 같이 스윙 포즈에 대한 평가 정보(예: 평가 레벨 정보)를 출력할 수 있다. 예를 들어, 머신 러닝 모델(630)은 도 11의 1102에 도시된 바와 같이 골프 스윙에 대한 복수의 특성들(예: 그립 종류, 어드레스, 백스윙 코킹, 다운 스윙, 임팩트, 팔로우 스윙, 및 팔로우 톱과 같은 특성) 각각에 대한 평가 레벨들(예: 표준, 정상, 미흡, 오버, 정상, Open, 스퀘어, 따라감, 안넘어감)을 출력할 수 있다. 전자 장치(200)는 프로그램의 실행 화면 상에 상기 출력된 평가 정보(예: 골프 스윙에 대한 복수의 특성들 각각에 대한 평가 레벨들)를 표시할 수 있다. 전술한 바와 같이, 전자 장치(200)는 3D 애니메이션 객체(1021)와 함께 상기 상기 출력된 평가 정보(예: 골프 스윙에 대한 복수의 특성들 각각에 대한 평가 레벨들)를 표시할 수도 있다.
일 실시예에 따르면 서버(100)는 상기 평가 정보의 제공에 따라서 사용자에 대한 리워드를 적립할 수 있다. 상기 리워드는 상기 프로그램의 평가 정보 제공 서비스를 이용하기 위한 비용으로서 이용될 수 있다. 예를 들어, 사용자는 서버(100)로부터 다운로드된 프로그램을 이용하여 상술한 바와 같이 평가 정보를 제공받을 때마다, 소정의 비용을 지불(예: 현금 결제, 또는 카드 결제)할 수 있다. 이때, 전자 장치(200)에 의해 제공된 사용자의 골프 스윙의 각 특성들(예: 그립 종류, 어드레스, 백스윙 코킹, 다운 스윙, 임팩트, 팔로우 스윙, 및 팔로우 톱과 같은 특성)의 평가 레벨과 기설정된 최적의 값(예: 표준, 정상 등)과의 차이값에 따라서 리워드가 적립될 수 있다. 예를 들어, 상기 사용자에 대한 각 특성들의 평가 레벨과 기설정된 최적의 값과의 차이가 적어질수록, 사용자에게 리워드가 적립될 수 있다. 일 예로, 전자 장치(200)는 이전 평가 정보에서 사용자의 골프 스윙의 백스윙 코킹 특성이 "미흡"인 것을 식별하고, 현재 평가 정보에서 사용자의 골프 스윙의 백스윙 코킹 특성이 "정상"인 것으로 식별하는 경우, 백스윙 코킹 특성의 최적의 값인 "정상"과 상기 사용자의 백스윙 코킹 특성의 평가 레벨(예: 미흡에서 정상)의 차이가 줄어든 것을 식별할 수 있다. 이에 따라, 전자 장치(200)는 상기 차이가 줄어든 것을 식별한 것에 기반하여 서버(100)로 사용자에 대한 리워드 적립을 요청할 수 있다. 서버(100)는 사용자에 대해서 적립된 리워드에 대한 정보를 저장하고, 이후 사용자가 프로그램을 사용하여 결제 수행 시 상기 저장된 리워드를 포인트로서 차감하게 하거나 하는 등의 방법으로 이용하도록 할 수 있다.
또 일 실시예에 따르면 전자 장치(200)는 프로그램의 실행에 기반하여 평가 정보를 제공할 복수의 전문가들 중 일 전문가를 선택하기 위한 인터페이스를 제공하고, 사용자로부터 복수의 전문가들 중 일 전문가의 선택을 수신할 수 있다. 전자 장치(200)는 상기 선택된 전문가로부터 제공된 정보들(예: 전문가의 이미지 정보, 각속도 데이터 등)에 기반하여 학습된 머신 러닝 모델을 이용하여, 상술한 바와 같이 사용자의 특정 동작에 대한 정보(예: 각속도에 대한 정보로부터 계산되는 스윙 궤적에 대한 정보 또는 사용자의 관절 위치에 대한 정보 중 적어도 하나)를 입력하여 평가 정보를 제공할 수 있다. 이때, 평가 정보의 이용에 기반하여, 서버(100)는 상기 전문가로 일정 비용을 제공할 수도 있다.
3.3. 제 3 실시예 <스윙 동작 평가 정보에 대한 사용자의 피드백을 기반으로, 골프 스윙을 가이드하기 위한 서비스 제공>
전술한 스마트 연습 시스템의 동작들은 제 3 실시예에 준용될 수 있으므로, 중복되는 설명은 생략한다.
일 실시예에 따르면, 전자 장치(200)는 전술한 바와 같이 머신 러닝 모델(630)을 기반으로 사용자의 골프 스윙에 대한 평가 레벨 정보를 제공할 수 있다. 전자 장치(200)는 사용자로부터 골프 스윙의 특정 특성(예: 백스윙 코킹)의 평가 레벨 정보(예: 미흡)를 다른 레벨 정보(예: 정상)로 변경하기 위한 피드백을 수신하고, 수신된 피드백에 기반하여 사용자의 골프 스윙을 향상시키기 위한 가이드 정보를 제공할 수 있다.
도 12는 본 출원의 일 실시예에 따른 스마트 연습 시스템의 동작의 다른 예를 설명하기 위한 흐름도이다. 다양한 실시예들에 따르면 스마트 연습 시스템의 동작은 도 12에 도시되는 동작의 순서에 국한되지 않고, 도시되는 순서와 다른 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면, 도 12에 도시되는 스마트 연습 시스템의 동작 보다 더 많은 동작들이 수행되거나, 또는 더 적은 적어도 하나의 동작이 수행될 수도 있다. 이하에서는 도 13 내지 도 14를 참조하여 도 12에 대해서 설명한다.
도 13은 본 출원의 일 실시예에 따른 전자 장치(200)의 사용자로부터 피드백을 수신하는 동작 및 피드백에 기반한 가이드 서비스를 제공하는 동작의 예를 설명하기 위한 도면이다. 도 14는 본 출원의 일 실시예에 따른 전자 장치(200)의 사용자로 가이드를 제공하는 동작의 다른 예를 설명하기 위한 도면이다.
이하에서는 제 2 실시예에 상술한 서버(100), 전자 장치(200), 및 스윙 연습기(300)의 동작에 대해서 중복되는 설명은 생략한다.
일 실시예에 따르면, 전자 장치(200)는 1201 동작에서 평가 정보에 포함된 복수의 특성들 중 일 특성에 대한 피드백 요청을 수신할 수 있다. 예를 들어, 전자 장치(200)는 도 13의 1301에 도시된 바와 같이 사용자의 동작(예: 골프 스윙)의 복수의 특성들(예: 그립 종류, 어드레스, 백스윙 코킹, 다운 스윙, 임팩트, 팔로우 스윙, 및 팔로우 톱)에 대한 평가 레벨 정보를 표시 중에, 골프 스윙의 특정 특성(예: 백스윙 코킹)의 평가 레벨 정보(예: 미흡)를 다른 레벨 정보(예: 정상)로 변경하기 위한 피드백을 수신할 수 있다. 일 예로, 전자 장치(200)는 백스윙 코킹의 "미흡"이라는 평가 레벨 정보에 대한 사용자의 터치를 수신하고, 터치가 유지된 상태에서 변경하기를 원하는(또는, 향상시키기를 원하는) 레벨인 "정상"이라는 평가 레벨 정보로 드래그하는 입력을 수신할 수 있다.
일 실시예에 따르면, 전자 장치(200)는 1202 동작에서 도 13의 1302에 도시된 바와 같이 수신된 피드백 요청에 기반하여 인터페이스 상에 제 1 궤적을 표시할 수 있다. 예를 들어, 전자 장치(200)는 기 생성된 3D 애니메이션 객체로부터 모션 정보 또는 스윙 궤적 정보를 추출할 수 있다. 전자 장치(200)는 추출된 모션 정보 또는 스윙 궤적 정보 중 현재 평가 레벨이 변경된 특성(예: 백스윙 코킹)에 대응하는 특정 정보(예: 스윙 궤적 정보)를 식별할 수 있다. 또, 전자 장치(200)는 변경 된 특성의 평가 레벨(예: 정상)를 기반으로 변경될 상기 식별된 특정 정보(예: 스윙 궤적 정보) 중 일부 시구간(예: 백 스윙 시의 시구간)의 정보를 식별하고, 식별된 특정 정보(예: 스윙 궤적 정보) 중 일부 시구간(예: 백 스윙 시의 시구간)의 정보를 변경하여 갱신된 3D 애니메이션 객체를 생성할 수 있다. 기재된 바에 국한되지 않고, 스윙 궤적 이외에도 변경된 특성이 모션 정보와 연관되는 경우, 전자 장치(200)는 모션 정보를 변경하여 갱신된 3D 애니메이션 객체를 생성할 수도 있다.
일 실시예에 따르면, 전자 장치(200)는 1203 동작에서 상기 제 1 궤적의 표시 중에, 사용자의 스윙을 재촬영하고, 재촬영된 이미지를 기반으로 제 2 궤적을 표시할 수 있다. 전자 장치(200)는 상기 사용자의 피드백에 대한 응답으로, 도 14의 1401에 도시된 바와 같이 사용자는 골프 스윙(1411)을 재수행할 수 있다. 전자 장치(200)는 사용자의 골프 스윙(1411)에 따라서, 이미지 및 각속도에 대한 정보(1412)를 재획득하고 이를 기반으로 3D 애니메이션 객체를 새로 생성할 수 있다. 전자 장치(200)의 3D 애니메이션 객체를 생성하는 동작은 제 2 실시예에서 상술한 바와 같으므로 중복되는 설명은 생략한다. 전자 장치(200)는 도 13의 1302에 도시된 바와 같이 후술될 재촬영된 사용자의 골프 스윙(1411)에 기반하여 새로 생성된 3D 애니메이션 객체에 의한 스윙 궤적(1321)과 갱신된 3D 애니메이션 객체에 의한 새로운 궤적(1322)을 함께 표시하여, 사용자가 골프 스윙을 보다 용이하게 개선하도록 할 수 있다.
일 실시예에 따르면, 전자 장치(200)는 1204 동작에서 제 1 궤적과 제 2 궤적이 다른 시구간에 대한 정보를 스윙 연습기(300)로 송신할 수 있다. 예를 들어, 전자 장치(200)는 도 14의 1401에 도시된 바와 같이 재촬영된 사용자의 골프 스윙에 기반하여 새로 생성된 3D 애니메이션 객체에 의한 스윙 궤적(1321)과 갱신된 3D 애니메이션 객체에 의한 새로운 궤적(1322)의 비교 결과에 기반하여, 스윙 궤적이 다른 시구간(t1)을 실시간으로 식별할 수 있다. 전자 장치(200)는 실시간으로 식별된 스윙 궤적이 다른 시구간(t1)에 대한 정보(1421)를 스윙 연습기(300)로 송신할 수 있다.
일 실시예에 따르면, 스윙 연습기(300)는 1205 동작에서 제 1 궤적과 제 2 궤적이 다른 시구간 동안 진동 및/또는 소리를 제공할 수 있다. 스윙 연습기(300)는 도 14의 1402에 도시된 바와 같이 수신된 스윙 궤적이 다른 시구간(t1)에 기반하여, 시구간(t1) 동안 실시간으로 소리 또는 진동을 제공할 수 있다. 이에 따라, 현재 골프 스윙을 수행하는 사용자가 고쳐야하는 스윙 구간을 용이하게 식별하도록 할 수 있다.

Claims (1)

  1. 전자 장치에 의해 수행되는 사용자의 움직임 보정을 위한 피드백 서비스 제공 방법으로서,
    서버로부터 상기 서버에 축적된 특정 종목과 연관된 전문가 및 프로 선수의 특정 동작과 연관된 복수의 골격에 대한 정보, 상기 특정 동작과 연관된 복수의 각속도에 대한 정보, 및 상기 특정 동작과 연관된 복수의 평가 정보들을 트레이닝 데이터로하여 머신 러닝을 수행하여 생성된 머신 러닝 모델을 포함하는 프로그램을 수신하는 단계;를 포함하고, 상기 복수의 평가 정보들은 상기 특정 동작과 연관된 복수의 특성들 별 평가 레벨들에 대한 정보를 포함하고, 상기 머신 러닝 모델은 제 1 골격에 대한 정보 또는 제 1 각속도에 대한 정보 중 적어도 하나가 입력되는 것에 대한 응답으로, 상기 특정 동작과 연관된 상기 복수의 특성들에 대한 제 1 평가 레벨들을 출력하도록 설정되고,
    상기 프로그램을 실행하고, 상기 프로그램의 실행에 기반하여 스윙 연습기로부터 상기 전자 장치의 사용자의 상기 특정 동작에 대한 제 2 각속도에 대한 정보를 수신하는 단계;
    상기 프로그램의 실행에 기반하여 상기 사용자의 상기 특정 동작에 대한 촬영을 수행하고, 상기 촬영의 수행에 기반하여 획득된 복수의 이미지들을 기반으로 상기 사용자의 상기 특정 동작 시의 제 2 관절에 대한 정보를 획득하는 단계;
    상기 제 2 각속도에 대한 정보 및 상기 제 2 관절에 대한 정보를 기반으로 제 1 3D 애니메이션 객체를 포함하는 3D 그래픽 유저 인터페이스(GUI)를 표시하는 단계; 및
    상기 제 2 각속도에 대한 정보 및 상기 제 2 관절에 대한 정보를 상기 머신 러닝 모델에 입력한 것에 대한 응답으로, 상기 머신 러닝 모델로부터 출력되는 상기 특정 동작과 연관된 상기 복수의 특성들에 대한 제 2 평가 레벨들에 대한 정보를 상기 3D 그래픽 유저 인터페이스 상에 표시하는 단계;를 포함하고,
    상기 특정 동작이 골프 스윙인 경우, 상기 복수의 특성들은 그립 종류, 어드레스, 백스윙 코킹, 다운 스윙, 임팩트, 팔로우 스윙, 또는 팔로우 톱 중 적어도 하나를 포함하고,
    상기 촬영의 수행에 기반하여 획득된 상기 복수의 이미지들의 비교 결과에 기반하여, 상기 골프 스윙의 궤적이 중단되는 시구간이 발생하는지 여부를 판단하는 단계; 및
    상기 골프 스윙의 궤적이 중단되는 시구간이 발생되는 것으로 판단된 경우, 골프 스윙 재촬영을 위한 메시지를 표시하는 단계;를 더 포함하고,
    상기 스윙 연습기는 샤프트, 상기 샤프트의 일측 끝 부분에 위치하는 그립 및 상기 샤프트의 타측 끝 부분에 위치하는 헤드를 포함하고,
    상기 그립은 9개의 축 방향으로의 각속도 데이터를 검출하는 9축 관성 측정 센서를 포함하는 스윙검출부를 포함하고,
    상기 제 2 각속도에 대한 정보는 상기 사용자가 상기 스윙 연습기를 이용하여 상기 특정 동작을 수행할 때의 상기 스윙검출부를 통해 획득되는 스윙 각속도 데이터를 포함하고,
    상기 복수의 이미지들로부터 상기 사용자에 대한 이미지를 추출하는 단계;
    상기 사용자에 대한 이미지를 기반으로 상기 사용자에 대한 골격 모델을 생성하는 단계;
    상기 골격 모델에 포함된 복수의 관절들 중 상기 골프 스윙과 연관된 적어 도 일부 관절의 위치에 대한 정보를 추출하는 단계;를 더 포함하고,
    상기 적어도 일부 관절은 상기 복수의 관절들 중 머리, 양쪽 어깨, 허리, 및 양쪽 무릎의 관절을 포함하고,
    상기 복수의 이미지들로부터 상기 사용자와 연관된 특징 정보들을 추출하고, 추출된 특징 정보들을 기반으로 상기 사용자에 대응하는 3D 아바타를 생성하는 단계;
    상기 제 2 관절의 위치에 대한 정보를 기반으로 상기 3D 아바타의 모션 정보를 생성하는 단계;를 더 포함하고,
    상기 3D 아바타의 모션 정보는 지정된 시간 동안 상기 3D 아바타의 각 관절이 지정된 방향으로 지정된 속도로 움직이도록 제어하기 위한 정보이고,
    상기 제 2 각속도에 대한 정보를 기반으로 골프 스윙 궤적에 대한 정보를 계산하고 골프 스윙 궤적에 대한 정보를 기반으로 제 1 스윙 궤적 애니메이션 정보를 생성하는 단계;
    상기 모션 정보가 반영된 상기 3D 아바타 및 상기 제 1 스윙 궤적 애니메이션 정보를 포함하는 상기 제 1 3D 애니메이션 객체를 생성하는 단계;를 더 포함하고,
    컨텍스츄얼 정보를 획득하는 단계; 및
    상기 컨텍스츄얼 정보를 상기 3D 그래픽 유저 인터페이스(GUI)에 포함된 구성들의 특성에 반영하는 단계;를 더 포함하고,
    상기 컨텍스츄얼 정보는 날씨 또는 시간 중 적어도 하나를 포함하고,
    상기 복수의 특성들에 대한 제 2 평가 레벨들에 대한 정보를 표시하는 중에, 상기 복수의 특성들 중 일 특성에 대한 제 3 평가 레벨을 제 4 평가 레벨로 변경하기 위한 입력을 수신하는 단계;
    상기 제 1 3D 애니메이션 객체와 연관된 상기 모션 정보와 상기 제 1 스윙 궤적 애니메이션 정보 중 상기 일 특성에 관한 정보를 식별하는 단계;
    상기 변경하기 위한 입력 및 상기 제 1 스윙 궤적 애니메이션 정보에 기반하여 제 2 스윙 궤적 애니메이션 정보를 생성하는 단계;
    상기 모션 정보 및 상기 제 2 스윙 궤적 애니메이션 정보에 기반하여 제 2 3D 애니메이션 객체를 생성하는 단계; 및
    상기 제 1 3D 애니메이션 객체를 상기 제 2 3D 애니메이션 객체로 변경하고, 상기 제 2 3D 애니메이션 객체를 표시하는 단계;를 더 포함하고,
    상기 제1 및 제2 스윙 궤적 애니메이션 정보는 상기 3D 아바타의 모션 정보를 기반으로 움직이는 상기 3D 아바타의 스윙이 표시되는 궤적을 포함하고, 상기 표시되는 궤적은 앞 방향 스윙 및 뒷 방향 스윙에 따라 서로 다른 색으로 표시되고,
    상기 제 2 스윙 궤적 애니메이션 정보는 상기 제 4 평가 레벨에 대응되는 제 1 궤적을 표시하고,
    상기 제 1 궤적의 표시 중 상기 스윙 연습기로부터 상기 사용자의 상기 특정 동작에 대한 제 3 각속도에 대한 정보를 수신하고, 상기 특정 동작에 대한 재촬영을 수행하고, 상기 재촬영의 수행에 기반하여 획득된 복수의 이미지들을 기반으로 상기 사용자의 상기 특정 동작 시의 제 3 관절에 대한 정보를 획득하는 단계; 및
    상기 제 3 각속도에 대한 정보 및 상기 제 3 관절에 대한 정보를 기반으로 제 3 3D 애니메이션 객체를 생성하여 상기 제 3 3D 애니메이션 객체 및 상기 제 1 궤적을 포함하는 상기 3D 그래픽 유저 인터페이스를 표시하는 단계;를 더 포함하고,
    상기 제 1 궤적 및 상기 제 3 3D 애니메이션 객체에 포함된 제 2 궤적 간에 서로 다른 시구간을 식별하는 단계; 및
    상기 서로 다른 시구간에 대한 정보를 상기 스윙 연습기로 송신하는 단계;를 더 포함하고,
    상기 스윙 연습기는 상기 서로 다른 시구간에 대한 정보를 기반으로 상기 서로 다른 시구간 동안 소리 또는 진동을 상기 사용자에게 제공하고,
    상기 헤드는 몸체를 포함하고,
    상기 몸체는 상기 몸체 내부의 슬라이딩 공간을 따라 움직이는 이동추를 포함하는,
    사용자의 움직임 보정을 위한 피드백 서비스 제공 방법.
KR1020210047210A 2020-10-23 2021-04-12 사용자의 움직임 보정을 위한 피드백 서비스 제공 방법 KR102388939B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210047210A KR102388939B1 (ko) 2020-10-23 2021-04-12 사용자의 움직임 보정을 위한 피드백 서비스 제공 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200138146A KR102241414B1 (ko) 2020-10-23 2020-10-23 머신 러닝 모델을 이용한 특정 움직임에 대한 피드백을 제공하는 전자 장치 및 그 동작 방법
KR1020210047210A KR102388939B1 (ko) 2020-10-23 2021-04-12 사용자의 움직임 보정을 위한 피드백 서비스 제공 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020200138146A Division KR102241414B1 (ko) 2020-10-23 2020-10-23 머신 러닝 모델을 이용한 특정 움직임에 대한 피드백을 제공하는 전자 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR102388939B1 true KR102388939B1 (ko) 2022-04-22

Family

ID=75718717

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200138146A KR102241414B1 (ko) 2020-10-23 2020-10-23 머신 러닝 모델을 이용한 특정 움직임에 대한 피드백을 제공하는 전자 장치 및 그 동작 방법
KR1020210047210A KR102388939B1 (ko) 2020-10-23 2021-04-12 사용자의 움직임 보정을 위한 피드백 서비스 제공 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020200138146A KR102241414B1 (ko) 2020-10-23 2020-10-23 머신 러닝 모델을 이용한 특정 움직임에 대한 피드백을 제공하는 전자 장치 및 그 동작 방법

Country Status (2)

Country Link
US (1) US11918883B2 (ko)
KR (2) KR102241414B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102611167B1 (ko) 2021-02-16 2023-12-11 (주)컬처릿 온라인 움직임 교정시스템
US11944870B2 (en) * 2022-03-31 2024-04-02 bOMDIC Inc. Movement determination method, movement determination device and computer-readable storage medium
WO2023224250A1 (ko) * 2022-05-16 2023-11-23 삼성전자주식회사 전자 장치 및 이의 제어 방법
WO2023243044A1 (ja) * 2022-06-16 2023-12-21 日本電信電話株式会社 修正箇所優先順位生成方法、修正箇所優先順位生成装置およびプログラム
KR102475470B1 (ko) * 2022-08-26 2022-12-08 임요셉 드론을 이용한 운동 영상 획득 시스템 및 드론을 이용한 운동 영상 획득 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140073664A (ko) * 2012-12-06 2014-06-17 한국전자통신연구원 사용자를 인지하는 3d 스크린골프 장치

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10569134B2 (en) * 2005-01-26 2020-02-25 K-Motion Interactive, Inc. Method and system for athletic motion analysis and instruction
JP2008528195A (ja) * 2005-01-26 2008-07-31 ベントレー・キネティクス・インコーポレーテッド 運動動作の分析及び指示のための方法及びシステム
US10529137B1 (en) * 2016-11-29 2020-01-07 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. Machine learning systems and methods for augmenting images
US10828549B2 (en) * 2016-12-30 2020-11-10 Intel Corporation Positional analysis using computer vision sensor synchronization
US11673024B2 (en) * 2018-01-22 2023-06-13 Pg Tech, Llc Method and system for human motion analysis and instruction
JP7262937B2 (ja) * 2018-06-29 2023-04-24 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
KR102125748B1 (ko) * 2018-08-23 2020-06-23 전자부품연구원 4d 아바타를 이용한 동작가이드장치 및 방법
KR102529604B1 (ko) * 2019-01-15 2023-05-08 양쉐인 정신운동 학습의 동시 피드백을 위한 증강된 인지 방법 및 장치
KR102353637B1 (ko) * 2019-03-17 2022-01-21 이상국 골프 동작 분석 방법 및 장치
KR102144634B1 (ko) * 2019-04-10 2020-08-13 박진성 실내 골프 연습장
US20210245005A1 (en) * 2019-10-02 2021-08-12 Focaltron Corporation Implementation of machine learning for skill-improvement through cloud computing and method therefor
US11721027B2 (en) * 2020-06-09 2023-08-08 Sony Group Corporation Transforming sports implement motion sensor data to two-dimensional image for analysis
US20220262013A1 (en) * 2021-02-17 2022-08-18 Golftec Enterprises, Llc Method for improving markerless motion analysis
US11615648B2 (en) * 2021-05-28 2023-03-28 Sportsbox.ai Inc. Practice drill-related features using quantitative, biomechanical-based analysis

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140073664A (ko) * 2012-12-06 2014-06-17 한국전자통신연구원 사용자를 인지하는 3d 스크린골프 장치

Also Published As

Publication number Publication date
US11918883B2 (en) 2024-03-05
US20220126190A1 (en) 2022-04-28
KR102241414B1 (ko) 2021-04-19

Similar Documents

Publication Publication Date Title
KR102388939B1 (ko) 사용자의 움직임 보정을 위한 피드백 서비스 제공 방법
KR102097190B1 (ko) 스마트 미러를 이용하여 실시간 운동 동작을 분석 및 디스플레이하기 위한 방법 및 이를 위한 스마트 미러
KR102141288B1 (ko) 홈 트레이닝 제공 방법 및 시스템
AU2017331639B2 (en) A system and method to analyze and improve sports performance using monitoring devices
US9448634B1 (en) System and method for providing rewards to a user in a virtual space based on user performance of gestures
US9604101B2 (en) Golf swing analysis device and golf swing analysis method
US8414393B2 (en) Game device, control method for a game device, and a non-transitory information storage medium
CN111488824A (zh) 运动提示方法、装置、电子设备和存储介质
CN106105184B (zh) 相机投影系统中的延时降低
US10097961B2 (en) Golf shot detection
CN105229666A (zh) 3d图像中的运动分析
KR101678136B1 (ko) 운동 궤적 분석을 이용한 훈련 방법 및 장치
JP7070435B2 (ja) 情報処理装置、情報処理方法、及びプログラム
KR20170129716A (ko) 성능 센서 데이터에 기초한 적응 훈련 프로그램의 공급을 포함하는 쌍방향 기능 훈련내용을 제공할 수 있도록 하는 구조, 장치 및 방법
US20200042795A1 (en) Method and mobile terminal for providing information based on image
KR20220052450A (ko) 골프 스윙 연습 보조 방법 및 장치
US11951407B2 (en) Screen soccer system and method of providing screen soccer
CN103988492A (zh) 视频馈给回放和分析
KR20140088286A (ko) Nui 장치를 이용한 온라인 게이트볼 게임 서비스 시스템 및 방법
KR20180015150A (ko) 쌍방향 기능 훈련 내용의 공급 적용을 포함하는, 신체적으로 수행된 기능의 분석이 가능하도록 구성된 구조 및 방법
Shahjalal et al. An approach to automate the scorecard in cricket with computer vision and machine learning
KR20090076540A (ko) 가상 캐릭터의 동작 애니메이션 재생 방법 및 시스템
US20210286983A1 (en) Estimation method, and computer-readable recording medium recording estimation program
KR20230175032A (ko) 알고리즘 기반의 골프 스윙 코칭 방법 및 장치
KR20220052452A (ko) 동작 정보를 기반으로 전문가의 코칭을 제공하는 방법 및 장치

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