[go: up one dir, main page]

KR20210128943A - Apparatus and method for comparing and correcting sports posture using neural network - Google Patents

Apparatus and method for comparing and correcting sports posture using neural network Download PDF

Info

Publication number
KR20210128943A
KR20210128943A KR1020210050217A KR20210050217A KR20210128943A KR 20210128943 A KR20210128943 A KR 20210128943A KR 1020210050217 A KR1020210050217 A KR 1020210050217A KR 20210050217 A KR20210050217 A KR 20210050217A KR 20210128943 A KR20210128943 A KR 20210128943A
Authority
KR
South Korea
Prior art keywords
posture
information
user
correcting
neural network
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020210050217A
Other languages
Korean (ko)
Other versions
KR102594938B1 (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 초록소프트 주식회사
Publication of KR20210128943A publication Critical patent/KR20210128943A/en
Application granted granted Critical
Publication of KR102594938B1 publication Critical patent/KR102594938B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • A63B24/0006Computerised comparison for qualitative assessment of motion sequences or the course of a movement
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/49Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes
    • 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
    • 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
    • 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/80Special sensors, transducers or devices therefor
    • A63B2220/806Video cameras
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

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

Abstract

본 발명의 일 실시예에 따라 서버에 의해 수행되는, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법에 있어서, (a) 사용자 단말로부터 수신된 운동 동영상으로부터 모션 인식 모델을 통해 사용자의 자세 정보를 추출하는 단계; (b) 운동 동영상에 대응되는 기 저장된 교정 정보를 검색하고, 자세 정보와 교정 정보를 비교하여 시간별 오차값을 산출하는 단계; 및 (c) 시간별 오차값에 대한 보정 정보를 생성하여, 사용자 단말로 제공하는 단계;를 포함하고, 자세 정보는 운동 동영상에 포함된 사용자로부터 적어도 하나 이상의 특정 신체부위의 각도 및 길이를 시간별로 산출한 정보이고, 교정 정보는 운동 동영상과 연관된 전문가에 의해 산출된 자세 정보이고, 보정 정보는 사용자의 자세를 교정하기 위한 정보를 뜻한다.In a method for correcting a sports posture using an artificial neural network, performed by a server according to an embodiment of the present invention, (a) extracting posture information of a user through a motion recognition model from an exercise video received from a user terminal to do; (b) retrieving pre-stored correction information corresponding to the motion video, and calculating an error value for each time by comparing the posture information and the correction information; and (c) generating correction information for an error value for each time and providing the correction information to the user terminal, wherein the posture information calculates the angle and length of at least one specific body part from the user included in the exercise video for each time. information, the correction information is posture information calculated by an expert associated with an exercise video, and the correction information refers to information for correcting a user's posture.

Description

인공신경망을 이용한 스포츠 자세를 비교 및 교정하는 장치 및 방법{APPARATUS AND METHOD FOR COMPARING AND CORRECTING SPORTS POSTURE USING NEURAL NETWORK}Apparatus and method for comparing and correcting sports posture using artificial neural network {APPARATUS AND METHOD FOR COMPARING AND CORRECTING SPORTS POSTURE USING NEURAL NETWORK}

본 발명은 인공신경망 모델 중 하나인 포즈 에스티메이션(Pose Estimation) 모델을 이용하여 스포츠에 참가중인 선수의 운동 자세를 분석하거나 교정하고, 더 나아가 프로 선수들의 운동 자세와 비교 후 교정을 위한 결과를 산출하기 위한 시스템에 관한 것이다. The present invention analyzes or corrects the exercise posture of an athlete participating in sports using a pose estimation model, which is one of the artificial neural network models, and further calculates the result for correction after comparing with the exercise posture of professional players It is about a system for

종래에는 사용자들의 운동을 도와주는 다양한 인공지능 서비스가 제공되고 있다. 하지만, 대부분의 서비스는 홈트레이닝과 관련된 서비스로서, 사용자의 운동 자세를 교정 및 분석하기보단 단순한 횟수의 카운팅을 도와주는 도우미의 역할에 그치고 있는 상황이다.Conventionally, various artificial intelligence services that help users exercise are provided. However, most of the services are related to home training, and rather than correcting and analyzing the user's exercise posture, they are only serving as a helper who helps simple counting of the number of times.

예를 들어, 홈트레이닝 외에 실질적으로 사용자의 자세를 분석하거나 교정이 필요한 대표 분야로 골프가 있으나, 골프의 경우 많은 전문기기를 필요로 하고, 교정이 교과서적인 자세에 국한되어 있다는 점에서 사용자들에 대한 진입장벽이 높은 상황이다.For example, golf is a representative field that actually needs to analyze or correct a user's posture other than home training. Barriers to entry are high.

한편, 컴퓨터 비젼(computer vision)의 한 분야인 포즈 에스티메이션(pose estimation)은 사물의 위치(position)와 방향(orientation)을 추정하고, 탐지하는 인공지능 분야로서, 키포인트(key point)가 되는 사람의 관절 위치를 탐지하여 움직임을 분석하는 기술이다. 하지만, 실제로 포즈 에스티메이션 기술이 적용된 운동 보조프로그램이 존재하고 있지 않아, 일반인들에게는 사용되고 있지는 않은 상황이다.On the other hand, pose estimation, a field of computer vision, is an artificial intelligence field that estimates and detects the position and orientation of an object, and a person who becomes a key point It is a technology that analyzes movement by detecting the joint position of However, since there is no exercise assistance program to which the pose estimation technology is applied, it is not being used by the general public.

본 발명은 상기한 문제점을 해결하기 위해, 인공신경망 기술인 포즈 에스티메이트 모델을 이용하여, 운동을 수행하는 사용자의 자세를 교정할 수 있는 적용종목을 확장하여 진입장벽을 낮추는 것을 목적으로 한다.An object of the present invention is to lower the entry barrier by expanding the applications that can correct the posture of the user performing the exercise by using the pose estimate model, which is an artificial neural network technology, in order to solve the above problems.

또한, 사용자들이 참고하고자 하는 운동 선수의 자세를 비교 및 분석함으로써, 동경하는 운동 선수에게 한 발짝 다가갈 수 있도록 돕는 것을 목적으로 한다.In addition, it aims to help users take one step closer to the athlete they admire by comparing and analyzing the posture of the athlete they want to refer to.

상기와 같은 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른, 서버에 의해 수행되는, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법에 있어서, (a) 사용자 단말로부터 수신된 운동 동영상으로부터 모션 인식 모델을 통해 사용자의 자세 정보를 추출하는 단계; (b) 운동 동영상에 대응되는 기 저장된 교정 정보를 검색하고, 자세 정보와 교정 정보를 비교하여 시간별 오차값을 산출하는 단계; 및 (c) 시간별 오차값에 대한 보정 정보를 생성하여, 사용자 단말로 제공하는 단계;를 포함하고, 자세 정보는 운동 동영상에 포함된 사용자로부터 적어도 하나 이상의 특정 신체부위의 각도 및 길이를 시간별로 산출한 정보이고, 교정 정보는 운동 동영상과 연관된 전문가에 의해 산출된 자세 정보이고, 보정 정보는 사용자의 자세를 교정하기 위한 정보를 뜻할 수 있다.In a method for correcting a sports posture using an artificial neural network, performed by a server, according to an embodiment of the present invention for achieving the above technical problem, (a) motion from an exercise video received from a user terminal extracting the user's posture information through the recognition model; (b) retrieving pre-stored correction information corresponding to the motion video, and calculating an error value for each time by comparing the posture information and the correction information; and (c) generating correction information for an error value for each time and providing the correction information to the user terminal, wherein the posture information calculates the angle and length of at least one specific body part from the user included in the exercise video for each time. information, the correction information may be posture information calculated by an expert associated with an exercise video, and the correction information may refer to information for correcting a user's posture.

또한, 모션 인식 모델은 포즈 에스티메이션 모델(pose estimation model)이 적용될 수 있다.Also, a pose estimation model may be applied to the motion recognition model.

또한, 모션 인식 모델은 (a1) 운동 동영상으로부터 사용자를 인식하여, 사용자의 특정 신체부위에 대응되는 키포인트를 산출하는 단계; (a2) 각각의 키포인트에 대한 좌표값을 생성하는 단계; 및 (a3) 복수의 상기 좌표값에 대한 각도 및 길이의 변화를 시간 단위로 산출하여, 사용자의 자세 정보를 생성하는 단계;를 포함할 수 있다.In addition, the motion recognition model comprises the steps of (a1) recognizing a user from a motion video, and calculating a key point corresponding to a specific body part of the user; (a2) generating a coordinate value for each key point; and (a3) calculating changes in angles and lengths with respect to the plurality of coordinate values in units of time to generate the user's posture information.

또한, (a1) 단계는 운동 동영상에서 둘 이상의 사람이 인식되면, 각 사람마다 서로 다른 식별자를 부여하고, (a3) 단계는 서로 다른 식별자에 대응되는 사람의 자세 정보를 각각 산출할 수 있다.In addition, in step (a1), when two or more people are recognized in the exercise video, different identifiers are assigned to each person, and in step (a3), posture information of the person corresponding to the different identifiers may be calculated.

또한, (a) 단계는 모션 인식 모델은 운동 동영상에 포함된 사용자를 인식하고, 경계 박스(bounding box)를 생성하고, 상기 경계 박스 내부의 사용자의 포즈를 기 설정된 시간 단위로 추정하여, 자세 정보를 산출할 수 있다.In addition, in step (a), the motion recognition model recognizes the user included in the exercise video, generates a bounding box, and estimates the user's pose in the bounding box in a preset time unit, and posture information can be calculated.

또한, (b) 단계 이전에 사용자 단말로 운동 동영상과 연관된 전문가의 리스트를 전달하고, 사용자 단말이 특정 전문가를 선택하면, (b) 단계는 특정 전문가와 매핑되어 기 저장된 교정 정보를 자세 정보와 비교할 수 있다.In addition, before step (b), a list of experts associated with the exercise video is delivered to the user terminal, and when the user terminal selects a specific expert, step (b) is mapped with a specific expert and compares pre-stored correction information with posture information. can

또한, (b) 단계는 (b1) 자세 정보를 기 설정된 시간 단위로 구간을 나누고, 각각의 구간이 포함되는 상기 운동 자세와 대응되는 상기 교정 정보를 매핑하는 단계; (b2) 자세 정보 및 교정 정보의 각각 포함된 사람의 동일한 부위에 대한 키포인트를 매칭하는 단계; 및 (b3) 동일한 부위로 서로 매칭된 각각의 상기 키포인트의 좌표값을 기반으로 오차값을 산출하는 단계;를 포함할 수 있다.In addition, the step (b) comprises the steps of: (b1) dividing the posture information by a preset time unit, and mapping the correction information corresponding to the exercise posture including each section; (b2) matching key points for the same part of a person included in each of the posture information and the correction information; and (b3) calculating an error value based on the coordinate values of each of the key points matched with each other in the same region.

또한, 자세 정보가 복수의 사람에 대한 정보로 구성되면, (b2) 단계는 장기 교정 정보에 포함된 전문가의 키포인트에 대한 위치 및 방향과 가장 높은 유사도를 갖는 사람을 선정하여 키포인트를 매칭할 수 있다.In addition, if the posture information consists of information about a plurality of people, step (b2) selects a person with the highest similarity to the location and direction of the key point of the expert included in the long-term correction information to match the key point. .

또한, (b3) 단계는 전문가와 동일하게 매칭된 사용자의 키포인트의 좌표값을 기 설정된 공식에 대입하여 오차값으로 지정할 수 있다.In addition, in step (b3), the coordinate value of the user's key point matched in the same way as the expert may be substituted into a preset formula and designated as an error value.

또한, 기 설정된 공식은 사용자 및 전문가의 키포인트를 연결하여 생성된 직선의 기울기 및 각도를 산출하고, 사용자 및 전문가의 자세가 얼마나 일치하는지 여부를 오차값으로 산출한다.In addition, the preset formula calculates the inclination and angle of a straight line generated by connecting key points of the user and the expert, and calculates as an error value whether the postures of the user and the expert match.

또한, (c) 단계는 오차값에 기반하여, 시간 단위로 사용자의 자세를 전문가의 자세와 동일하게 보정하기 위한 텍스트, 영상, 소리 중 적어도 하나로 구성된 보정 정보를 생성할 수 있다.In addition, in step (c), based on the error value, correction information including at least one of text, image, and sound for correcting the posture of the user to be the same as that of the expert in units of time may be generated.

또한, 보정 정보는 오차값을 통해 산출된 각각의 운동 자세에 대한 점수, 기 분석된 운동 동영상과 (a) 단계에서 수신된 운동 동영상을 비교한 영상 정보 및 사용자의 운동 자세를 보정하기 위한 조언 정보 중 적어도 하나로 구성될 수 있다.In addition, the correction information includes the score for each exercise posture calculated through the error value, image information comparing the previously analyzed exercise video with the exercise video received in step (a), and advice information for correcting the user's exercise posture It may consist of at least one of

또한, (c) 단계 이후 자세 정보 및 보정 정보를 기반으로 모션 인식 모델의 딥러닝을 업데이트할 수 있다.In addition, after step (c), it is possible to update the deep learning of the motion recognition model based on the posture information and the correction information.

또한, 인공신경망을 이용하여 스포츠 자세를 교정하는 장치에 있어서, 인공신경망을 이용하여 스포츠 자세를 교정하는 프로그램이 저장된 메모리 및 메모리에 저장된 프로그램을 실행하여 인공신경망을 이용하여 스포츠 자세를 교정하는 프로세서를 포함하되, 프로세서는 사용자 단말로부터 수신된 운동 동영상으로부터 모션 인식 모델을 통해 사용자의 자세 정보를 추출하고, 운동 동영상에 대응되는 기 저장된 교정 정보를 검색하고, 자세 정보와 교정 정보를 비교하여 시간별 오차값을 산출하고, 시간별 오차값에 대한 보정 정보를 생성하여, 사용자 단말로 제공하고, 자세 정보는 운동 동영상에 포함된 사용자로부터 적어도 하나 이상의 특정 신체부위의 각도 및 길이를 시간별로 산출한 정보이고, 교정 정보는 운동 동영상과 연관된 전문가에 의해 산출된 자세 정보이고, 보정 정보는 사용자의 자세를 교정하기 위한 정보일 수 있다.In addition, in the apparatus for correcting a sports posture using an artificial neural network, a memory in which a program for correcting a sports posture using an artificial neural network is stored and a processor for correcting a sports posture using an artificial neural network by executing the program stored in the memory Including, the processor extracts the user's posture information through the motion recognition model from the exercise video received from the user terminal, searches for pre-stored correction information corresponding to the exercise video, and compares the posture information with the correction information to obtain an error value for each time calculates, generates correction information for the error value for each time, and provides it to the user terminal, and the posture information is information obtained by calculating the angle and length of at least one specific body part from the user included in the exercise video by time, and correction The information may be posture information calculated by an expert associated with an exercise video, and the correction information may be information for correcting a user's posture.

또한, 제 1 항에 의한 인공신경망을 이용하여 스포츠 자세를 교정하는 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독가능 저장매체일 수 있다.In addition, it may be a computer-readable storage medium in which a program for performing a method of correcting a sports posture using an artificial neural network according to claim 1 is recorded.

본 발명의 일 실시예에 따른, 인공신경망 기술인 포즈 에스티메이트 모델을 이용하여, 운동을 수행하는 사용자의 자세를 교정할 수 있는 적용종목을 확장하여 진입장벽을 낮출 수 있다.By using the pose estimate model, which is an artificial neural network technology, according to an embodiment of the present invention, it is possible to lower the entry barrier by expanding the applications that can correct the posture of the user performing the exercise.

또한, 사용자들이 참고하고자 하는 운동 선수의 자세를 비교 및 분석함으로써, 동경하는 운동 선수에게 한 발짝 다가갈 수 있도록 도울 수 있다.Also, by comparing and analyzing the postures of athletes that users want to reference, it is possible to help them take one step closer to the athletes they admire.

도 1은 본 발명의 일 실시예에 따른, 인공신경망을 이용하여 스포츠 자세를 교정하기 위한 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른, 인공신경망을 이용하여 스포츠 자세를 교정하는 서버의 구성을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법을 나타낸 동작흐름도이다.
도 4는 본 발명의 일 실시예에 따른, 인공신경망을 통해 사용자의 자세를 인식하는 방법을 나타낸 동작흐름도이다.
도 5a 내지 도 5c는 본 발명의 일 실시예에 따른, 인공신경망을 통해 사용자의 자세를 인식하는 과정을 설명하기 위한 예시도이다.
도 6은 본 발명의 일 실시예에 따른, 오차값을 산출하기 위한 방법을 나타낸 동작흐름도이다.
도 7a 내지 도 7b는 본 발명의 일 실시예에 따른, 오차값을 산출하는 과정을 설명하기 위한 예시도이다.
도 8a 내지 도 8c는 본 발명의 일 실시예에 따른, 보정 정보를 제공하는 방법에 대한 예시도이다.
1 is a diagram showing the configuration of a system for correcting a sports posture using an artificial neural network, according to an embodiment of the present invention.
2 is a diagram showing the configuration of a server for correcting a sports posture using an artificial neural network, according to an embodiment of the present invention.
3 is an operation flowchart illustrating a method of correcting a sports posture using an artificial neural network, according to an embodiment of the present invention.
4 is an operation flowchart illustrating a method of recognizing a user's posture through an artificial neural network, according to an embodiment of the present invention.
5A to 5C are exemplary diagrams for explaining a process of recognizing a user's posture through an artificial neural network, according to an embodiment of the present invention.
6 is an operation flowchart illustrating a method for calculating an error value according to an embodiment of the present invention.
7A to 7B are exemplary views for explaining a process of calculating an error value according to an embodiment of the present invention.
8A to 8C are diagrams illustrating a method of providing correction information according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement them. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Throughout the specification, when a part is "connected" with another part, this includes not only the case of being "directly connected" but also the case of being "electrically connected" with another element interposed therebetween. . Also, when a part "includes" a component, it means that other components may be further included, rather than excluding other components, unless otherwise stated, and one or more other features However, it is to be understood that the existence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded in advance.

이하의 실시예는 본 발명의 이해를 돕기 위한 상세한 설명이며, 본 발명의 권리 범위를 제한하는 것이 아니다. 따라서 본 발명과 동일한 기능을 수행하는 동일 범위의 발명 역시 본 발명의 권리 범위에 속할 것이다.The following examples are detailed descriptions to help the understanding of the present invention, and do not limit the scope of the present invention. Accordingly, an invention of the same scope performing the same function as the present invention will also fall within the scope of the present invention.

도 1은 본 발명의 일 실시예에 따른, 인공신경망을 이용하여 스포츠 자세를 교정하기 위한 시스템의 구성을 나타낸 도면이다.1 is a diagram showing the configuration of a system for correcting a sports posture using an artificial neural network, according to an embodiment of the present invention.

도 1을 참조하면, 시스템은 서버(100) 및 사용자 단말(200)로 구성된다. 이때, 각 장치는 통신망을 통해 유선 또는 무선으로 상호 연결될 수 있다.Referring to FIG. 1 , the system includes a server 100 and a user terminal 200 . In this case, each device may be interconnected by wire or wirelessly through a communication network.

본 발명의 일 실시예에 따라, 서버(100)는 사용자 단말(200)로부터 운동 동영상을 수신하고, 인공신경망을 이용하여 동영상 속 사용자의 자세 정보를 산출하게 된다.According to an embodiment of the present invention, the server 100 receives the exercise video from the user terminal 200 and calculates the posture information of the user in the video using an artificial neural network.

이때, 인공신경망이란 예를 들어 모션 인식 모델의 한 종류인 포즈 에스티메이션 모델(pose estimation model)이 이용될 수 있다. 또한, 자세 정보란 운동 동영상에 포함된 사용자의 적어도 하나 이상의 특정 신체부위를 인식하고, 상기 특정 신체부위의 각도 및 길이(또는 속도 및 방향 등)를 시간 단위로 산출한 정보에 해당될 수 있다. 이때, 포즈 에스티메이션 모델은 HPll Human pose, COCO, Leeds Sports Poses 데이터를 자세 정보로 이용할 수 있다.In this case, the artificial neural network may be, for example, a pose estimation model, which is a type of a motion recognition model. Also, the posture information may correspond to information in which at least one specific body part of the user included in the exercise video is recognized, and the angle and length (or speed and direction, etc.) of the specific body part are calculated in units of time. In this case, the pose estimation model may use HPll Human pose, COCO, and Leeds Sports Poses data as posture information.

또한, 서버(100)는 산출된 자세 정보와 기 저장된 교정 정보를 비교함으로써, 오차에 대한 보정 정보를 생성하여 사용자 단말(200)로 전달하는 것을 특징으로 한다.In addition, the server 100 compares the calculated posture information with the pre-stored correction information, and generates correction information for the error and transmits it to the user terminal 200 .

이때, 교정 정보란 동 동영상과 연관된 전문가에 의해 산출된 자세 정보를 뜻하고, 보정 정보란 사용자의 자세를 교정하기 위한 정보를 뜻한다.In this case, the correction information refers to posture information calculated by an expert associated with the moving picture, and the correction information refers to information for correcting a user's posture.

예를 들어, 사용자가 배구의 서브 자세에 대한 교정을 수행하고 싶은 경우 서브 자세를 촬영한 영상은 운동 동영상에 해당될 수 있다. 여기서, 서버(100)가 사용자를 인식하고, 사용자가 서브를 수행하는 과정에서 인식되는 관절과 뼈대의 움직임에 대한 정보를 자세 정보로 산출하게 된다. 또한, 실제 배구 선수의 서브동작으로부터 산출된 자세 정보는 교정 정보에 해당되고, 사용자의 서브 동작이 선수의 서브 동작과의 오차값을 낮출 수 있도록 생성된 정보(이는 텍스트, 소리, 이미지 등 다양한 방법으로 구현될 수 있다.)를 보정 정보에 해당하게 된다.For example, when a user wants to correct a sub posture of volleyball, an image of the sub posture may correspond to an exercise video. Here, the server 100 recognizes the user, and calculates information on the movements of joints and bones recognized in the process of the user performing a serve as posture information. In addition, the posture information calculated from the sub-motion of the actual volleyball player corresponds to the correction information, and information generated so that the user's sub-motion can lower the error value from the sub-motion of the player (this is text, sound, image, etc. various methods ) corresponds to the correction information.

본 발명의 일 실시예에 따라, 서버(100)는 사용자 단말(200)로부터 획득된 운동 동영상으로부터 모션 인식 모델을 이용하여 자세 정보를 산출하고, 기 저장된 교정 정보와 비교하여 보정 정보를 산출하는 것을 특징으로 한다.According to an embodiment of the present invention, the server 100 calculates posture information using a motion recognition model from an exercise video obtained from the user terminal 200, and compares it with pre-stored correction information to calculate correction information. characterized.

앞서 서술한 바와 같이 동영상 내에서 사용자의 자세를 인식하기 위해 포즈 에스티메이션 모델이 이용될 수 있다. 구체적으로, 포즈 에스티메이션 기술은 이미지에서 Part affinity fields와 Part confidence map검출함으로써 영상(이미지) 속 사람의 관절을 찾아주게 된다. 이후, 포즈 에스티메이션 모델은 각각의 관절 간의 관계성을 찾아 매칭해주는 역할을 수행한다. 이때, 입력값은 이미지이며, 출려값은 관절을 구성하는 좌표에 해당될 수 있다. As described above, a pose estimation model may be used to recognize a user's posture in a video. Specifically, the pose estimation technology finds the human joint in the image (image) by detecting the part affinity fields and the part confidence map in the image. Thereafter, the pose estimation model plays a role of finding and matching the relationship between each joint. In this case, the input value may be an image, and the churyeo value may correspond to the coordinates constituting the joint.

예를 들어, 이미지를 입력값으로 선택하고, 출력값을 인식된 사용자의 관절 18개(임시의 개수)에 대한 키포인트로 설정하여 CNN모델(포즈 에스티메이션 모델)에 적용한다고 가정할 수 있다. 이 모델은 특정 이미지를 입력하면 특정 이미지 상의 사용자 및 그의 관절에 대한 키포인트를 인식하게 된다.For example, it can be assumed that an image is selected as an input value, the output value is set as a key point for 18 recognized user's joints (temporary number), and applied to the CNN model (pose estimation model). This model recognizes keypoints for the user and his joints on the specific image by inputting a specific image.

이러한 인식 과정에서, 포즈 에스티메이션 모델은 키포인트 18개에 대한 콘볼루션(convolution) 연산을 수행하여 관절 간의 관계정보를 추출하게 된다. 또한, 산출된 관절 간의 관계 정보에 기초하여 연관성이 높은 키포인트를 각각 결합하여 뼈대를 생성하게 된다. 최종적으로 관절 간의 관계정보 및 키포인트 간의 결합된 정보를 이용하여, 도 5b에 도시된 것과 같이 이미지 상에 뼈대를 결합하여 표시하게 된다. 이를 바탕으로, 이미지 속 사용자의 각 관절 위치 및 이동 등에 대한 정보를 산출할 수 있게 된다. In this recognition process, the pose estimation model performs a convolution operation on 18 keypoints to extract relationship information between joints. In addition, based on the calculated relationship information between the joints, each key point with high correlation is combined to generate a skeleton. Finally, by using the joint information between the joints and the combined information between the key points, as shown in FIG. 5B, the skeleton is displayed on the image by combining it. Based on this, information on the position and movement of each joint of the user in the image can be calculated.

그러나, 기술의 발전에 따라 고도화된 인식 모델이 개발되면, 해당 모델로 교체되어 이용될 수 있다.However, when an advanced recognition model is developed according to the development of technology, it may be replaced with the corresponding model and used.

본 발명의 일 실시예에 따라, 사용자 단말(200)은 사용자의 운동 동영상을 서버(100)로 전달하고, 그에 대한 보정 정보를 수신하는 것을 특징으로 한다.According to an embodiment of the present invention, the user terminal 200 transmits the user's exercise video to the server 100 and receives correction information therefor.

이때, 선택적 실시예에 따라, 사용자 단말(200)은 자신이 원하는 운동 동영상에 대한 비교군(전문가)을 선택하거나, 비교용 동영상을 서버(100)로 추가로 제공할 수 있다.In this case, according to an optional embodiment, the user terminal 200 may select a comparison group (expert) for a desired exercise video or additionally provide a comparison video to the server 100 .

또한, 추가 실시예로, 사용자 단말이 모바일 환경에서 구동되는 경우 운동 동영상은 모바일 단말에 포함되어 있는 카메라를 통해 실시간으로 촬영된 영상으로 이용될 수도 있다.Also, as an additional embodiment, when the user terminal is driven in a mobile environment, the exercise video may be used as an image captured in real time through a camera included in the mobile terminal.

또한, 사용자 단말(200)로 인공신경망을 이용하여 스포츠 자세를 교정하는 애플리케이션은 사용자 단말(200)에 내장된 애플리케이션이거나, 애플리케이션 배포 서버로부터 다운로드되어 사용자 단말(200)에 설치된 애플리케이션일 수 있다.In addition, the application for correcting sports posture using an artificial neural network as the user terminal 200 may be an application built into the user terminal 200 or an application downloaded from an application distribution server and installed in the user terminal 200 .

한편, 사용자 단말(200)은 유무선 통신 환경에서 단말 애플리케이션을 이용할 수 있는 통신 단말기를 의미한다. 여기서 사용자 단말(200)은 사용자의 휴대용 단말기일 수 있다. 도 1에서는 사용자 단말(200)이 휴대용 단말기의 일종인 스마트폰(smart phone)으로 도시되었지만, 본 발명의 사상은 이에 제한되지 아니하며, 상술한 바와 같이 단말 애플리케이션을 탑재할 수 있는 단말에 대해서 제한 없이 차용될 수 있다.Meanwhile, the user terminal 200 refers to a communication terminal capable of using a terminal application in a wired/wireless communication environment. Here, the user terminal 200 may be a user's portable terminal. In FIG. 1 , the user terminal 200 is illustrated as a smart phone, which is a type of portable terminal, but the inventive concept is not limited thereto. can be borrowed

한편, 통신망은 사용자 단말(200)이 서버(100)에 접속(이는 반대의 경우로 차용될 수 있다.)한 후 데이터를 송수신할 수 있도록 접속 경로를 제공하는 통신망을 의미한다. 통신망은 예컨대 LANs(Local Area Networks), WANs(Wide Area Networks), MANs(Metropolitan Area Networks), ISDNs(Integrated Service Digital Networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.On the other hand, the communication network means a communication network that provides an access path so that the user terminal 200 can transmit and receive data after accessing the server 100 (this can be borrowed in the opposite case). The communication network is, for example, a wired network such as LANs (Local Area Networks), WANs (Wide Area Networks), MANs (Metropolitan Area Networks), ISDNs (Integrated Service Digital Networks), etc., or wireless networks such as wireless LANs, CDMA, Bluetooth, and satellite communication. However, the scope of the present invention is not limited thereto.

도 2는 본 발명의 일 실시예에 따른, 인공신경망을 이용하여 스포츠 자세를 교정하는 서버의 구성을 나타낸 도면이다.2 is a diagram showing the configuration of a server for correcting a sports posture using an artificial neural network, according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에 따른 서버(100)는 통신 모듈(110), 메모리(120), 프로세서(130), 데이터베이스(140), 자세 인식 모듈(150), 자세 비교 모듈(160) 및 보정 정보 생성 모듈(170)을 포함한다.Referring to FIG. 2 , the server 100 according to an embodiment of the present invention includes a communication module 110 , a memory 120 , a processor 130 , a database 140 , a posture recognition module 150 , and a posture comparison module. 160 and a correction information generating module 170 .

상세히, 통신 모듈(110)은 통신망과 연동하여 서버(100) 및 사용자 단말(200) 간의 송수신 신호를 패킷 데이터 형태로 제공하는 데 필요한 통신 인터페이스를 제공한다. 나아가, 통신 모듈(110)은 사용자 단말(200)로부터 데이터 요청을 수신하고, 이에 대한 응답으로서 데이터를 송신하는 역할을 수행할 수 있다.In detail, the communication module 110 provides a communication interface necessary to provide a transmission/reception signal between the server 100 and the user terminal 200 in the form of packet data by interworking with a communication network. Furthermore, the communication module 110 may perform a role of receiving a data request from the user terminal 200 and transmitting data in response thereto.

여기서, 통신 모듈(110)은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.Here, the communication module 110 may be a device including hardware and software necessary for transmitting and receiving signals such as control signals or data signals through wired/wireless connection with other network devices.

메모리(120)는 인공신경망을 이용하여 스포츠 자세를 교정하기 위한 프로그램이 기록된다. 또한, 프로세서(130)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 여기서, 메모리(120)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.In the memory 120, a program for correcting a sports posture using an artificial neural network is recorded. In addition, the processor 130 performs a function of temporarily or permanently storing the processed data. Here, the memory 120 may include magnetic storage media or flash storage media, but the scope of the present invention is not limited thereto.

프로세서(130)는 일종의 중앙처리장치로서 인공신경망을 이용하여 스포츠 자세를 교정하는 전체 과정을 제어한다. 프로세서(130)가 수행하는 각 단계에 대해서는 도 3을 참조하여 후술하기로 한다.The processor 130 controls the entire process of correcting the sports posture by using an artificial neural network as a kind of central processing unit. Each step performed by the processor 130 will be described later with reference to FIG. 3 .

여기서, 프로세서(130)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.Here, the processor 130 may include all kinds of devices capable of processing data, such as a processor. Here, the 'processor' may refer to a data processing device embedded in hardware, for example, having a physically structured circuit to perform a function expressed as a code or an instruction included in a program. As an example of the data processing apparatus embedded in the hardware as described above, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated (ASIC) circuit) and a processing device such as a field programmable gate array (FPGA), but the scope of the present invention is not limited thereto.

데이터베이스(140)는 운동 동영상으로부터 추출된 자세 정보와 비교될 교정 정보에 대한 데이터가 저장된다. 또한, 선택적 실시예에 따라, 사용자 단말(200)에 대한 사용자 정보, 운동 동영상으로부터 추출된 자세 정보 및 보정 정보를 생성하기 위한 데이터가 더 저장될 수 있다. The database 140 stores data on the correction information to be compared with the posture information extracted from the exercise video. In addition, according to an optional embodiment, data for generating user information about the user terminal 200 , posture information extracted from an exercise video, and correction information may be further stored.

비록 도 2에는 도시하지 아니하였으나, 교정 정보에 대한 데이터 중 일부는 데이터베이스(140)와 물리적 또는 개념적으로 분리된 데이터베이스(미도시)에 저장될 수 있다.Although not shown in FIG. 2 , some of the data for the calibration information may be stored in a database (not shown) physically or conceptually separated from the database 140 .

자세 인식 모듈(150)은 사용자 단말(200)로부터 수신된 운동 동영상으로부터 자세 정보를 산출하게 된다. 구체적으로, 자세 인식 모듈(150)은 동영상 속에서 사람을 인식하고, 관절 및 뼈대의 움직임(속도, 방향 등)을 시간의 흐름에 맞게 데이터화 하여 자세 정보로서 생성한다.The posture recognition module 150 calculates posture information from the exercise video received from the user terminal 200 . Specifically, the posture recognition module 150 recognizes a person in a moving picture, and converts the movement (speed, direction, etc.) of joints and bones into data according to the passage of time and generates it as posture information.

자세 비교 모듈(160)은 자세 인식 모듈(150)이 생성한 자세 정보와 데이터베이스(140)에 기 저장된 교정 정보와 비교하여 오차값을 생성하게 된다. 예를 들어, 오차값은 자세 정보와 교정 정보에 포함된 사람의 동일한 관절 및 뼈대의 움직임(속도, 방향 등)의 차이에 대한 정보가 될 수 있다.The posture comparison module 160 compares the posture information generated by the posture recognition module 150 with the correction information previously stored in the database 140 to generate an error value. For example, the error value may be information about a difference in movement (speed, direction, etc.) of the same joint and bone of a person included in the posture information and the correction information.

보정 정보 생성 모듈(170)은 자세 비교 모듈(160)이 산출한 오차값을 이용하여, 자세 정보에 포함된 사용자가 교정 정보와 일치 할 수 있는 가이드라인을 생성하게 된다. 이때, 가이드라인은 텍스트, 소리, 이미지 및 동영상 등으로 구성될 수 있고, 필요에 따라 외부서버로부터 데이터를 수신하여 생성할 수도 있다.The correction information generating module 170 uses the error value calculated by the posture comparison module 160 to generate a guideline through which the user included in the posture information can match the correction information. In this case, the guideline may be composed of text, sound, image, and video, and may be generated by receiving data from an external server if necessary.

도 3은 본 발명의 일 실시예에 따른, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법을 나타낸 동작흐름도이다.3 is an operation flowchart illustrating a method of correcting a sports posture using an artificial neural network, according to an embodiment of the present invention.

도 3을 참조하면, 서버(100)는 운동 동영상으로부터 자세 정보를 추출한다(S110).Referring to FIG. 3 , the server 100 extracts posture information from the exercise video ( S110 ).

구체적으로 서버(100)는 사용자 단말(200)로부터 수신된 운동 동영상으로부터 모션 인식 모델을 통해 사용자의 자세 정보를 추출하게 된다.Specifically, the server 100 extracts the user's posture information through the motion recognition model from the exercise video received from the user terminal 200 .

이때, 앞서 서술한 바와 같이 모션 인식 모델은 포즈 에스티메이션 모델이 적용될 수 있으며, 자세 정보를 추출하는 구체적인 방법은 후술할 도 4를 통해 설명하도록 한다.In this case, as described above, a pose estimation model may be applied to the motion recognition model, and a detailed method of extracting posture information will be described with reference to FIG. 4 to be described later.

다음으로 서버(100)는 자세 정보에 대응되는 교정 정보를 검색하고, 시간별 오차값을 산출한다(S120).Next, the server 100 searches for correction information corresponding to the posture information and calculates an error value for each time ( S120 ).

구체적으로 서버(100)는 운동 동영상에 대응되는 기 저장된 교정 정보를 검색하고, 자세 정보와 교정 정보를 비교하여 시간별 오차값을 산출한다.Specifically, the server 100 searches for pre-stored correction information corresponding to the exercise video, compares the posture information with the correction information, and calculates an error value for each time.

이때, 오차값을 산출하는 구체적인 방법은 후술할 도 6을 통해 설명하도록 한다.In this case, a detailed method of calculating the error value will be described with reference to FIG. 6 to be described later.

한편, 단계(S120) 이전에 서버(100)가 사용자 단말(200)로 운동 동영상과 연관된 전문가의 리스트를 전달할 수 있다. 또한, 사용자 단말(200)의 사용자는 수신한 전문가의 리스트에서 자신이 원하는 특정 전문가를 선택하여 서버(100)로 알리게 된다. 예를 들어, 사용자가 축구에 대한 자세를 교정하고 싶은 경우 서버(100)로 축구 영상을 제공하고, 서버(100)는 과거 혹은 현재 활동 중인 선수의 리스트를 사용자에게 전달하게 된다.Meanwhile, before step S120 , the server 100 may transmit a list of experts associated with the exercise video to the user terminal 200 . In addition, the user of the user terminal 200 selects a specific expert desired by the user from the received expert list and informs the server 100 . For example, when a user wants to correct his or her posture for soccer, a soccer image is provided to the server 100 , and the server 100 delivers a list of past or currently active players to the user.

이후, 서버(100)는 특정 전문가와 매핑되어 기 저장된 교정 정보를 자세 정보와 비교하게 된다. 또한, 선택적 실시예로 단계(S110)에서 사용자 단말(200)이 운동 동영상과 함께 전문가의 동영상을 서버(100)로 전달하고, 단계(S120)에서 서버(100)는 운동 동영상과 전문가의 동영상을 비교할 수도 있다.Thereafter, the server 100 is mapped with a specific expert and compares the pre-stored correction information with the posture information. In addition, as an optional embodiment, in step (S110), the user terminal 200 transmits the video of the expert together with the exercise video to the server 100, and in step (S120), the server 100 transmits the video of the exercise and the video of the expert. You can also compare.

마지막으로 서버(100)는 시간별 오차값에 대한 보정 정보를 생성하고, 이를 사용자 단말(200)로 전달한다(S130).Finally, the server 100 generates correction information for each time error value, and transmits it to the user terminal 200 ( S130 ).

구체적으로 서버(100)는 시간별 오차값에 대한 보정 정보를 생성하여, 사용자 단말(200)로 제공하게 된다.Specifically, the server 100 generates correction information for an error value for each time and provides it to the user terminal 200 .

이때, 서버(100)는 오차값에 기반하여, 시간 단위로 상기 사용자의 자세를 상기 전문가의 자세와 동일하게 보정하기 위한 텍스트, 영상, 소리 중 적어도 하나로 구성된 상기 보정 정보를 생성하게 된다. 예를 들어, 관절과 뼈대를 인식하여 이미지로 표시한 동영상을 통해, 시간별 관절이나 뼈대의 위치를 텍스트로 지시하거나, 사용자의 자세와 특정 전문가의 자세를 겹친 이미지로 생성하여 보정 정보를 생성할 수 있다.At this time, the server 100 generates the correction information composed of at least one of text, image, and sound for correcting the posture of the user to be the same as that of the expert in units of time, based on the error value. For example, through a video that recognizes joints and bones and displays them as images, you can indicate the positions of joints or bones by time with text, or create correction information by superimposing the user's posture and the posture of a specific expert as an image. have.

또한, 단계(S130) 이후 서버(100)는 자세 정보 및 보정 정보를 기반으로 모션 인식 모델의 딥러닝을 업데이트를 수행하게 된다. 이를 통해, 운동 동영상에서 자세 정보에 대한 정밀도를 높이거나, 자세 정보와 교정 정보를 비교하는 과정에서 오차값에 대한 정확도를 높이게 된다.In addition, after step S130, the server 100 updates the deep learning of the motion recognition model based on the posture information and the correction information. Through this, the precision of the posture information in the exercise video is increased, or the accuracy of the error value in the process of comparing the posture information and the correction information is increased.

도 4는 본 발명의 일 실시예에 따른, 인공신경망을 통해 사용자의 자세를 인식하는 방법을 나타낸 동작흐름도이다.4 is an operation flowchart illustrating a method of recognizing a user's posture through an artificial neural network, according to an embodiment of the present invention.

도 4를 참조하면, 서버(100)는 운동 동영상으로부터 사용자 인식하고, 키포인트를 산출한다(S111).Referring to FIG. 4 , the server 100 recognizes the user from the exercise video and calculates a key point ( S111 ).

구체적으로, 운동 동영상으로부터 사용자를 인식하여, 사용자의 특정 신체부위에 대응되는 키포인트를 산출하게 된다.Specifically, by recognizing the user from the exercise video, a key point corresponding to a specific body part of the user is calculated.

도 5a를 참조하면, 사용자의 특정 신체부위는 눈, 코 및 입과 같이 고정되어 기준이 될 수 있는 부위와 손목, 팔꿈치, 어깨, 무릎 등의 관절이 해당될 수 있다. 따라서, 서버(100)는 인식된 사용자로 하여금 인식된 신체의 움직임을 원활하게 처리하기 위해 키포인트(210)로 지정하게 된다. 이때, 서버(100)는 각각의 키포인트(210)에 번호를 지정하여 서로 구분하고, 신체적으로 인접한 키포인트(210) 간을 연결하여 뼈대(220)를 구분하게 된다. 이때, 인식된 뼈대(220)는 사용자의 움직임을 산출하기 위해 이용된다.Referring to FIG. 5A , a specific body part of a user may correspond to a fixed reference part, such as an eye, nose, and mouth, and a joint such as a wrist, elbow, shoulder, or knee. Accordingly, the server 100 designates the recognized user as the key point 210 in order to smoothly process the recognized body movement. At this time, the server 100 assigns a number to each key point 210 to distinguish it from each other, and connects the physically adjacent key points 210 to distinguish the skeleton 220 . At this time, the recognized skeleton 220 is used to calculate the user's movement.

이때, 모션 인식 모델은 이하의 2가지 방법에 기초하여 사용자를 인식하게 된다.In this case, the motion recognition model recognizes the user based on the following two methods.

먼저, 탑-다운(top-dwon) 방식을 사용하는 경우 사람을 우선 인식(detection)하고, 바운딩 박스 안에서 사용자의 포즈를 추정할 수 있다. 이는 높은 정확도를 갖지만, 인식되는 속도가 느려질 수 있는 단점을 가진다.First, when a top-dwon method is used, a person is first detected and the user's pose can be estimated within the bounding box. Although this has high accuracy, it has a disadvantage that the recognition speed may be slowed down.

다음으로, 바텀-업(bottom-up) 방식을 사용하는 경우 키포인트(key point, 본 발명에서는 관절(210)을 키포인트로 지정한다.)를 모두 추정하고, 각각의 상관관계를 분석하여 포즈를 추정하게 된다. 이는 빠른 인식 속도를 갖기에 실시간 적용이 가능하지만, 정확도가 탑-다운 방식보다 낮을 수 있다.Next, when using the bottom-up method, all key points (key points, in the present invention, the joints 210 are designated as key points) are estimated, and the pose is estimated by analyzing each correlation. will do This can be applied in real time because it has a fast recognition speed, but the accuracy may be lower than that of the top-down method.

따라서, 구현하려는 운영하는 서버(100)의 처리 속도에 맞는 모델을 적용하게 된다.Accordingly, a model suitable for the processing speed of the operating server 100 to be implemented is applied.

한편, 뼈대(220)를 생성하는 방법을 간략하게 설명하면, 키포인트(210)에 대해서 콘볼루션(convolution) 연산을 수행함으로써, 각각의 관절 간의 관계정보를 추출한다.On the other hand, briefly describing the method of generating the skeleton 220, by performing a convolution operation on the key point 210, the relationship information between each joint is extracted.

다음으로 포즈 에스티메이션 모델은 산출된 관절 간의 관계 정보를 바탕으로 키포인트(210)를 결합함으로써 뼈대(220)를 생성하게 된다.Next, the pose estimation model generates the skeleton 220 by combining the key points 210 based on the calculated relationship information between the joints.

다음으로 서버(100)는 각각의 키포인트(210)에 대한 좌표값을 생성한다(S112).Next, the server 100 generates a coordinate value for each key point 210 (S112).

예를 들어, 도 5b를 참고하면, 골프를 치는 사용자의 관절을 인식하여 키포인트(210)를 지정하고, 각각의 키포인트 간의 좌표값(230)을 산출하게 된다.For example, referring to FIG. 5B , a key point 210 is designated by recognizing the user's joints playing golf, and a coordinate value 230 between each key point is calculated.

마지막으로 서버(100)는 복수의 상기 좌표값에 대한 각도 및 길이의 변화를 시간 단위로 산출하여, 사용자의 자세 정보를 생성한다(S113).Finally, the server 100 generates the user's posture information by calculating changes in angles and lengths of the plurality of coordinate values in units of time (S113).

이때, 서버(100)는 운동 동영상을 기 설정된 재생 시간(혹은 프레임)을 기준으로 분할하여 각각의 상황에 대한 시나리오를 설계하게 된다. 예를 들어, 도 7a에 도시된 바와 같이 야구 선수가 배트를 휘두르는 장면을 (1)~(5)의 장면으로 나누고 각 상황을 지정하게 된다. 이는 추후 진행되는 교정 정보와의 비교를 위한 것이다. 이를테면, (1)번 자세는 교정 정보의 Stance에 대응되는 교정 정보와 비교하게 되고, (4)번 자세는 Bat acceletation에 대응되는 교정 정보와 비교하게 된다. 이러한 방법을 통해 자세 정보와 교정 정보 간의 정확한 매칭을 노릴 수 있게 된다.In this case, the server 100 divides the exercise video based on a preset playback time (or frame) to design a scenario for each situation. For example, as shown in FIG. 7A , a scene in which a baseball player swings a bat is divided into scenes (1) to (5) and each situation is designated. This is for comparison with the calibration information to be carried out later. For example, the posture (1) is compared with the correction information corresponding to the stance of the correction information, and the posture (4) is compared with the correction information corresponding to the bat acceletation. Through this method, it is possible to aim for accurate matching between the posture information and the correction information.

선택적 실시예로 단계(S111)에서 서버(100)는 운동 동영상으로부터 둘 이상의 사람이 인식되면, 각 사람마다 서로 다른 식별자를 부여하게 된다. 이를 통해, 서버(100)는 단계(S113)에서 서로 다른 식별자에 대응되는 사람의 자세 정보를 각각 산출하게 된다. 이때, 선택적 실시예로, 서버(100)는 각각의 식별자가 부여된 자세 정보를 사용자 단말(200)로 제공하고, 교정 정보와 비교할 자세 정보를 선택받을 수 있다.In an optional embodiment, when two or more people are recognized from the exercise video in step S111, the server 100 assigns a different identifier to each person. Through this, the server 100 calculates each person's posture information corresponding to different identifiers in step S113. In this case, in an optional embodiment, the server 100 may provide the posture information to which each identifier is assigned to the user terminal 200 , and may receive a selection of posture information to be compared with the correction information.

한편, 단계(S111) 내지 단계(S113)에서 설명한 방법은 바텀-업(bottom-up) 방식에 대응될 수 있다. 이는 사용자로부터 키포인트(210)를 모두 추정하고, 각각의 상관관계를 분석하여 포즈를 추정하게 된다. 이는 후술할 탑-다운 방식보다 정확도가 낮으나, 빠른 인식 속도를 갖기에 실시간 적용이 가능하여, 모바일 등의 환경에서도 사용될 수 있는 강점을 가진다. 다른 방법은 탑-다운(top-dwon) 방식을 사용할 수 있다. 이는, 도 5c에 도시된 바와 같이 모션 인식 모델이 운동 동영상에 포함된 사용자를 인식하여, 경계 박스(bounding box, 240)를 생성하고, 경계 박스(240) 내부의 사용자의 포즈를 기 설정된 시간 단위로 추정하여 자세 정보를 산출하게 된다. 탑-다운 방식은 높은 정확도를 갖지만, 인식되는 속도가 느려질 수 있는 단점을 가진다. 따라서, 서비스의 제공주체는 필요에 따라 바텀-업 방식이나 탑-다운 방식 중 어느 하나를 선택하여 적용하며 된다.Meanwhile, the method described in steps S111 to S113 may correspond to a bottom-up method. In this way, all key points 210 are estimated from the user, and the pose is estimated by analyzing each correlation. This has lower accuracy than the top-down method, which will be described later, but has a fast recognition speed, so it can be applied in real time, so it has the advantage of being able to be used in environments such as mobile. Another method may use a top-down (top-dwon) method. This is, as shown in FIG. 5c, the motion recognition model recognizes the user included in the motion video, generates a bounding box 240, and sets the user's pose inside the bounding box 240 in a preset time unit. Posture information is calculated by estimating . The top-down method has high accuracy, but has a disadvantage that the recognition speed may be slow. Therefore, the service provider selects and applies either the bottom-up method or the top-down method as needed.

도 6은 본 발명의 일 실시예에 따른, 오차값을 산출하기 위한 방법을 나타낸 동작흐름도이다.6 is an operation flowchart illustrating a method for calculating an error value according to an embodiment of the present invention.

도 6을 참조하면, 서버(100)는 자세 정보를 기 설정된 시간 단위로 구간을 나누고, 각각의 구간이 포함되는 운동 자세와 대응되는 교정 정보를 매핑한다(S121).Referring to FIG. 6 , the server 100 divides the posture information into sections by preset time units, and maps the exercise postures included in each section and the corresponding correction information ( S121 ).

이는 앞서 서술한 바와 같이 도 7a와 같이 자세 정보를 시간이나 프레임 단위로 나누게 된다. As described above, the posture information is divided into units of time or frames as shown in FIG. 7A.

추가 실시예로, 운동 동영상에 포함된 사용자가 전문가의 교정 정보와 비교가 어려운 경우 사용자 단말(200)로 다른 운동 동영상을 요청할 수 있다. 예를 들어, 운동 동영상 속 사용자의 자세를 인식할 수 없거나, 기 저장된 교정 정보의 전문가가 생성한 포즈(혹은 구도)가 너무 차이가 큰 경우 원활한 비교를 위해 사용자 단말(200)로 다시 촬영된 운동 동영상을 요구하게 된다. 이때, 서버(100)는 사용자 단말(200)로 비교 대상이 될 특정 전문가의 동영상을 제공하여 비교에 필요한 적절한 구도를 제시할 수도 있다.As a further embodiment, when it is difficult for the user included in the exercise video to compare with the expert's correction information, the user terminal 200 may request another exercise video. For example, if the user's posture in the exercise video cannot be recognized or the pose (or composition) created by the expert of the pre-stored correction information is too different, the exercise re-recorded by the user terminal 200 for smooth comparison You will be asked for a video. In this case, the server 100 may provide a video of a specific expert to be compared to the user terminal 200 to present an appropriate composition for comparison.

다음으로 서버(100)는 자세 정보 및 교정 정보의 각각 포함된 사람의 동일한 부위에 대한 키포인트(210)를 매칭한다(S122).Next, the server 100 matches the key point 210 for the same part of the person included in each of the posture information and the correction information (S122).

선택적 실시예로 자세 정보(혹은 전문가의 동영상)가 복수의 사람에 대한 정보로 구성될 수 있다. 이때, 서버(100)는 교정 정보에 포함된 전문가의 키포인트(210)에 대한 위치 및 방향과 가장 높은 유사도를 갖는 사람을 선정하여 키포인트(210)를 매칭하여 불필요한 데이터를 삭제하게 된다.In an optional embodiment, the posture information (or a video of an expert) may be composed of information about a plurality of people. At this time, the server 100 selects a person with the highest similarity to the location and direction of the expert key point 210 included in the calibration information, matches the key point 210, and deletes unnecessary data.

마지막으로 서버(100)는 키포인트(210)의 좌표값(230)을 기반으로 오차값으로 산출한다(S123). Finally, the server 100 calculates an error value based on the coordinate value 230 of the key point 210 (S123).

구체적으로 서버(100)는 동일한 부위로 서로 매칭된 각각의 상기 키포인트의 좌표값(230)을 기반으로 오차값으로 산출하게 된다.Specifically, the server 100 calculates an error value based on the coordinate values 230 of each of the key points matched with each other as the same part.

예를 들어, 서버(100)는 전문가와 동일하게 매칭된 사용자의 키포인트(210)의 좌표값(230)을 기 설정된 공식에 대입하여, 오차값을 산출하게 된다.For example, the server 100 substitutes the coordinate value 230 of the key point 210 of the user matched in the same way as the expert into a preset formula to calculate an error value.

이때, 기 설정된 공식은 도 7b에 도시된 바와 같이 사용자 및 전문가의 키포인트(210)를 연결하여 생성된 직선(뼈대(220))의 기울기 및 각도를 산출하고, 사용자 및 전문가의 자세가 얼마나 일치하는지 여부를 상기 오차값으로 산출하게 된다.At this time, the preset formula calculates the inclination and angle of a straight line (skeleton 220) generated by connecting the key points 210 of the user and the expert as shown in FIG. 7B, and how much the postures of the user and the expert match. Whether or not is calculated as the error value.

예를 들어, 도 7b에는 사용자의 Pose1과 Pose2로 움직이면서, 팔에 대응되는 뼈대(220)에는 각각 직선1 및 직선2로 변화하게 된다.For example, in FIG. 7B , while moving in the user's Pose1 and Pose2, the skeleton 220 corresponding to the arm changes to a straight line 1 and a straight line 2, respectively.

이때, 직선1과 직선2는 아래의 공식을 갖게 된다.At this time, the straight line 1 and the straight line 2 have the following formula.

Figure pat00001
Figure pat00001

또한, 움직임을 판별하기 위해서는 직선1이 직선2로 변화하는 과정에서 오차값으로 기울기와 각도의 변화 및 각각의 스코어를 산출하게 된다.In addition, in order to determine the movement, the change in inclination and angle and each score are calculated as an error value in the process of changing the straight line 1 to the straight line 2.

먼저, 기울기 차이는 아래의 공식을 따른다.First, the slope difference follows the formula below.

Figure pat00002
Figure pat00002

기울기에 따른 매칭 스코어는 아래의 3가지 공식을 따르게 된다.The matching score according to the slope follows the following three formulas.

Figure pat00003
Figure pat00003

다음으로 각도에 관한 공식은 아래의 3가지를 따른다.Next, the following three formulas for angles are followed.

Figure pat00004
Figure pat00004

상기의 공식을 통해 각각의 키포인트(210)마다의 사용자와 전문가 간의 매칭 스코어나, 팔의 각도 차이 등을 산출하게 된다. 이때, 상기에 제시된 기 설정된 공식은 뼈대나 관절의 위치나 각도에 적용할 수 있는 예시이다. 필요에 따라, 속도나 방향과 관련된 공식이 더 적용될 수 있고, 이들 모두를 아우를 수 있는 공식이 적용될 수도 있다.Through the above formula, a matching score between a user and an expert for each key point 210, a difference in arm angle, and the like are calculated. In this case, the preset formula presented above is an example that can be applied to the position or angle of the skeleton or joint. If necessary, a formula related to speed or direction may be further applied, and a formula covering all of them may be applied.

도 8a 내지 도 8c는 본 발명의 일 실시예에 따른, 보정 정보를 제공하는 방법에 대한 예시도이다.8A to 8C are diagrams illustrating a method of providing correction information according to an embodiment of the present invention.

이때, 보정 정보는 오차값을 통해 산출된 각각의 운동 자세에 대한 점수, 기 분석된 운동 동영상과 단계(S110)에서 수신된 운동 동영상을 비교한 영상 정보 및 사용자의 운동 자세를 보정하기 위한 조언 정보 중 적어도 하나로 구성될 수 있다.At this time, the correction information includes the score for each exercise posture calculated through the error value, image information comparing the previously analyzed exercise video with the exercise video received in step S110, and advice information for correcting the user's exercise posture. It may consist of at least one of

먼저 도 8a를 참조하면, 사용자 단말(200)으 통해 사용자에게 제공되는 보정 정보의 예시를 나타낸 것이다. First, referring to FIG. 8A , an example of correction information provided to a user through the user terminal 200 is shown.

디스플레이의 제 1 영역(311)에는 운동 동영상에 대한 분석 정보를 영상으로 나타낼 수 있다. 예를 들어, 타자가 배트를 휘두르는 장면과 키포인트(210) 및 뼈대(220)를 합성하여, 표시하게 된다.In the first area 311 of the display, analysis information on the exercise video may be displayed as an image. For example, the scene in which the batter swings the bat, the key point 210 and the skeleton 220 are synthesized and displayed.

디스플레이의 제 2 영역(313)에는 각각의 키포인트(210)마다 전문가와 일치 여부를 산출한 오차값이 표시될 수 있다.In the second area 313 of the display, an error value obtained by calculating whether or not the expert matches each key point 210 may be displayed.

그리고, 이들의 종합 점수(312)가 디스플레이의 일 영역에 표시된다.And, their overall score 312 is displayed in one area of the display.

다음으로 도 8b는 사용자가 동일한 운동 자세에 대한 운동 동영상을 주기적으로 업데이트하는 경우 제공될 수 있는 보정 정보이다.Next, FIG. 8B is correction information that may be provided when a user periodically updates an exercise video for the same exercise posture.

예를 들어, 매 횟수마다 얻게 된 종합 점수(312)를 그래프(321)로 나, 이전에 업로드 된 운동 영상을 최근 업로드된 순서대로 화면의 제 3 영역(322)에 표시할 수 있다.For example, the total score 312 obtained for each number may be displayed as a graph 321 , and previously uploaded exercise images may be displayed on the third area 322 of the screen in the order in which they were recently uploaded.

선택적 실시예로, 도 8b의 제 3 영역(322)에 표시되듯 운동 동영상과 전문가의 교정 정보가 포함된 동영상을 함께 재생하여 실시간으로 비교할 수 있는 환경을 제공할 수도 있다.As an optional embodiment, as shown in the third area 322 of FIG. 8B , an environment for real-time comparison may be provided by playing an exercise video and a video including correction information of an expert together.

마지막으로 도 8c는 종합 그래프(321)를 세분화한 것으로 다양한 정보를 제공할 수도 있다.Finally, FIG. 8C is a subdivision of the synthesis graph 321 , and various information may be provided.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a dispersed form, and likewise components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

100: 서버
200: 사용자 단말
100: server
200: user terminal

Claims (15)

서버에 의해 수행되는, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법에 있어서,
(a) 사용자 단말로부터 수신된 운동 동영상으로부터 모션 인식 모델을 통해 사용자의 자세 정보를 추출하는 단계;
(b) 상기 운동 동영상에 대응되는 기 저장된 교정 정보를 검색하고, 상기 자세 정보와 교정 정보를 비교하여 시간별 오차값을 산출하는 단계; 및
(c) 상기 시간별 오차값에 대한 보정 정보를 생성하여, 상기 사용자 단말로 제공하는 단계;를 포함하고,
상기 자세 정보는 상기 운동 동영상에 포함된 사용자로부터 적어도 하나 이상의 특정 신체부위의 각도 및 길이를 시간별로 산출한 정보이고,
상기 교정 정보는 상기 운동 동영상과 연관된 전문가에 의해 산출된 상기 자세 정보이고,
상기 보정 정보는 상기 사용자의 자세를 교정하기 위한 정보를 뜻하는 것인, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법.
In a method of correcting a sports posture using an artificial neural network, performed by a server,
(a) extracting the user's posture information through the motion recognition model from the exercise video received from the user terminal;
(b) retrieving pre-stored correction information corresponding to the exercise video, and calculating an error value for each time by comparing the posture information with the correction information; and
(c) generating correction information for the error value for each time and providing it to the user terminal;
The posture information is information obtained by calculating the angle and length of at least one specific body part from the user included in the exercise video for each time period,
The correction information is the posture information calculated by an expert associated with the exercise video,
The correction information means information for correcting the user's posture, a method of correcting a sports posture using an artificial neural network.
제 1 항에 있어서,
상기 모션 인식 모델은 포즈 에스티메이션 모델(pose estimation model)이 적용되는 것인, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법.
The method of claim 1,
The method for correcting a sports posture using an artificial neural network, wherein the motion recognition model is to which a pose estimation model is applied.
제 2 항에 있어서,
상기 모션 인식 모델은
(a1) 상기 운동 동영상으로부터 상기 사용자를 인식하여, 상기 사용자의 특정 신체부위에 대응되는 키포인트를 산출하는 단계;
(a2) 각각의 상기 키포인트에 대한 좌표값을 생성하는 단계; 및
(a3) 복수의 상기 좌표값에 대한 각도 및 길이의 변화를 시간 단위로 산출하여, 상기 사용자의 자세 정보를 생성하는 단계;를 포함하는 것인, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법.
3. The method of claim 2,
The motion recognition model is
(a1) recognizing the user from the exercise video, calculating a key point corresponding to a specific body part of the user;
(a2) generating a coordinate value for each of the key points; and
(a3) calculating changes in angles and lengths for a plurality of the coordinate values in units of time, and generating the user's posture information;
제 3 항에 있어서,
상기 (a1) 단계는 상기 운동 동영상에서 둘 이상의 사람이 인식되면, 각 사람마다 서로 다른 식별자를 부여하고, 상기 (a3) 단계는 상기 서로 다른 식별자에 대응되는 상기 사람의 자세 정보를 각각 산출하는 것인, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법.
4. The method of claim 3,
In the step (a1), when two or more people are recognized in the exercise video, a different identifier is given to each person, and the step (a3) is to calculate the posture information of the person corresponding to the different identifiers, respectively A method of correcting sports posture using artificial neural networks.
제 1 항에 있어서,
상기 (a) 단계는
상기 모션 인식 모델은 상기 운동 동영상에 포함된 상기 사용자를 인식하고, 경계 박스(bounding box)를 생성하고, 상기 경계 박스 내부의 사용자의 포즈를 기 설정된 시간 단위로 추정하여, 상기 자세 정보를 산출하는 것인, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법.
The method of claim 1,
The step (a) is
The motion recognition model recognizes the user included in the motion video, generates a bounding box, and estimates the user's pose in the bounding box in a preset time unit to calculate the posture information A method of correcting sports posture using an artificial neural network.
제 1 항에 있어서,
상기 (b) 단계 이전에
상기 사용자 단말로 상기 운동 동영상과 연관된 상기 전문가의 리스트를 전달하고, 상기 사용자 단말이 특정 전문가를 선택하면,
상기 (b) 단계는
상기 특정 전문가와 매핑되어 기 저장된 상기 교정 정보를 상기 자세 정보와 비교하는 것인, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법.
The method of claim 1,
before step (b)
When a list of experts associated with the exercise video is transmitted to the user terminal, and the user terminal selects a specific expert,
Step (b) is
A method of correcting a sports posture using an artificial neural network, which is to compare the pre-stored correction information mapped with the specific expert with the posture information.
제 3 항에 있어서,
상기 (b) 단계는
(b1) 상기 자세 정보를 기 설정된 시간 단위로 구간을 나누고, 각각의 구간이 포함되는 자세와 대응되는 상기 교정 정보를 매핑하는 단계;
(b2) 상기 자세 정보 및 교정 정보의 각각 포함된 사람의 동일한 부위에 대한 상기 키포인트를 매칭하는 단계; 및
(b3) 동일한 부위로 서로 매칭된 각각의 상기 키포인트의 좌표값을 기반으로 상기 오차값을 산출하는 단계;를 포함하는 것인, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법.
4. The method of claim 3,
Step (b) is
(b1) dividing the posture information by a preset time unit, and mapping the corrective information corresponding to the posture included in each section;
(b2) matching the keypoint to the same part of the person included in each of the posture information and the correction information; and
(b3) calculating the error value based on the coordinate values of each of the key points matched with each other in the same part; a method of correcting a sports posture using an artificial neural network, including a.
제 7 항에 있어서,
상기 자세 정보가 복수의 사람에 대한 정보로 구성되면,
상기 (b2) 단계는
장기 교정 정보에 포함된 상기 전문가의 키포인트에 대한 위치 및 방향과 가장 높은 유사도를 갖는 사람을 선정하여 상기 키포인트를 매칭하는 것인, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법.
8. The method of claim 7,
When the posture information consists of information about a plurality of people,
The step (b2) is
A method of correcting a sports posture using an artificial neural network, which matches the key point by selecting a person having the highest similarity to the position and direction of the expert's key point included in the long-term correction information.
제 7 항에 있어서,
상기 (b3) 단계는
상기 전문가와 동일하게 매칭된 상기 사용자의 상기 키포인트의 좌표값을 기 설정된 공식에 대입하여 상기 오차값을 산출하는 것인, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법.
8. The method of claim 7,
The step (b3) is
A method of correcting a sports posture using an artificial neural network, which calculates the error value by substituting the coordinate value of the key point of the user matched identically with the expert into a preset formula.
제 7 항에 있어서,
상기 기 설정된 공식은 상기 사용자 및 전문가의 키포인트를 연결하여 생성된 직선의 기울기 및 각도를 산출하고, 상기 사용자 및 전문가의 자세가 얼마나 일치하는지 여부를 상기 오차값으로 산출하는 것인, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법.
8. The method of claim 7,
The preset formula calculates the slope and angle of a straight line created by connecting the key points of the user and the expert, and calculates how much the postures of the user and the expert match as the error value, using an artificial neural network How to correct sports posture.
제 1 항에 있어서,
상기 (c) 단계는
상기 오차값에 기반하여, 시간 단위로 상기 사용자의 자세를 상기 전문가의 자세와 동일하게 보정하기 위한 텍스트, 영상, 소리 중 적어도 하나로 구성된 상기 보정 정보를 생성하는 것인, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법.
The method of claim 1,
Step (c) is
Sports posture using an artificial neural network to generate the correction information consisting of at least one of text, image, and sound for correcting the posture of the user to be the same as the posture of the expert in units of time based on the error value how to correct it.
제 1 항에 있어서,
상기 보정 정보는 상기 오차값을 통해 산출된 각각의 운동 자세에 대한 점수, 기 분석된 상기 운동 동영상과 상기 (a) 단계에서 수신된 상기 운동 동영상을 비교한 영상 정보 및 상기 사용자의 운동 자세를 보정하기 위한 조언 정보 중 적어도 하나로 구성되는 것인, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법.
The method of claim 1,
The correction information includes a score for each exercise posture calculated through the error value, image information comparing the previously analyzed exercise video with the exercise video received in step (a), and correcting the user's exercise posture A method of correcting a sports posture using an artificial neural network, which consists of at least one of the advice information for doing.
제 1 항에 있어서,
상기 (c) 단계 이후
상기 자세 정보 및 보정 정보를 기반으로 상기 모션 인식 모델의 딥러닝을 업데이트하는 것인, 인공신경망을 이용하여 스포츠 자세를 교정하는 방법.
The method of claim 1,
After step (c)
A method of correcting a sports posture using an artificial neural network, which updates the deep learning of the motion recognition model based on the posture information and the correction information.
인공신경망을 이용하여 스포츠 자세를 교정하는 장치에 있어서,
상기 인공신경망을 이용하여 스포츠 자세를 교정하는 프로그램이 저장된 메모리 및
상기 메모리에 저장된 프로그램을 실행하여 상기 인공신경망을 이용하여 스포츠 자세를 교정하는 프로세서를 포함하되,
상기 프로세서는 사용자 단말로부터 수신된 운동 동영상으로부터 모션 인식 모델을 통해 사용자의 자세 정보를 추출하고, 상기 운동 동영상에 대응되는 기 저장된 교정 정보를 검색하고, 상기 자세 정보와 교정 정보를 비교하여 시간별 오차값을 산출하고, 상기 시간별 오차값에 대한 보정 정보를 생성하여, 상기 사용자 단말로 제공하고, 상기 자세 정보는 상기 운동 동영상에 포함된 사용자로부터 적어도 하나 이상의 특정 신체부위의 각도 및 길이를 시간별로 산출한 정보이고, 상기 교정 정보는 상기 운동 동영상과 연관된 전문가에 의해 산출된 상기 자세 정보이고, 상기 보정 정보는 상기 사용자의 자세를 교정하기 위한 정보인 것인, 인공신경망을 이용하여 스포츠 자세를 교정하는 장치
In the apparatus for correcting sports posture using an artificial neural network,
a memory in which a program for correcting sports posture using the artificial neural network is stored; and
A processor for correcting a sports posture using the artificial neural network by executing the program stored in the memory,
The processor extracts the user's posture information through a motion recognition model from the exercise video received from the user terminal, searches for pre-stored correction information corresponding to the exercise video, and compares the posture information with the correction information to obtain an error value for each time Calculating, generating correction information for the error value for each time, and providing it to the user terminal, wherein the posture information is calculated by calculating the angle and length of at least one specific body part from the user included in the exercise video by time information, the correction information is the posture information calculated by an expert associated with the exercise video, and the correction information is information for correcting the posture of the user, an apparatus for correcting a sports posture using an artificial neural network
제 1 항에 의한 인공신경망을 이용하여 스포츠 자세를 교정하는 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독가능 저장매체.
A computer-readable storage medium in which a program for performing a method of correcting a sports posture using an artificial neural network according to claim 1 is recorded.
KR1020210050217A 2020-04-17 2021-04-19 Apparatus and method for comparing and correcting sports posture using neural network Active KR102594938B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200046454 2020-04-17
KR20200046454 2020-04-17

Publications (2)

Publication Number Publication Date
KR20210128943A true KR20210128943A (en) 2021-10-27
KR102594938B1 KR102594938B1 (en) 2023-10-31

Family

ID=78287357

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210050217A Active KR102594938B1 (en) 2020-04-17 2021-04-19 Apparatus and method for comparing and correcting sports posture using neural network

Country Status (1)

Country Link
KR (1) KR102594938B1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102429422B1 (en) * 2021-11-15 2022-08-04 주식회사 테스트웍스 Bike Fitting Method, Device And Computer Program Using Neural Network Model
KR102578469B1 (en) * 2022-08-23 2023-09-14 주식회사 엘리펀트에이아이 Systme for providing posture and motion correction information of user using expert posture and motion analysis imformation
KR20230146792A (en) * 2022-04-13 2023-10-20 창원대학교 산학협력단 Method, apparatus and system for providing guide information for correcting chopsticks posture
KR102593279B1 (en) * 2022-12-15 2023-10-24 에버엑스 주식회사 Method and system for posture estimation and motion analysis
WO2023219393A1 (en) * 2022-05-10 2023-11-16 삼성전자주식회사 Electronic device and control method therefor
US20240073354A1 (en) * 2022-08-26 2024-02-29 Lim Joseph Method of providing synthetic video based on exercise video
KR102668498B1 (en) * 2023-05-31 2024-05-24 씨아이넷 주식회사 Method, apparatus and program for exercise management service based on exercise video
KR20240106294A (en) 2022-12-29 2024-07-08 인천대학교 산학협력단 Automated motor function diagnosis service system and method based on user interaction
US12125576B2 (en) 2022-12-15 2024-10-22 Everex Method and system for providing exercise therapy using artificial intelligence posture estimation model and motion analysis model
KR102726100B1 (en) * 2023-09-27 2024-11-05 에버엑스 주식회사 Method and system for providing artificial intelligence-based posture and joint motion inspection services

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20250104009A (en) 2023-12-29 2025-07-08 인천대학교 산학협력단 Dynamic similarity measurement method and apparatus for motion comparison

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180104466A (en) * 2017-03-13 2018-09-21 주식회사 인프로 Golf swing posture correction device
KR101931784B1 (en) * 2018-08-29 2018-12-21 주식회사 큐랩 Virtual fitness system for multi-user
KR20190019824A (en) * 2017-08-18 2019-02-27 강다겸 Method for providing posture guide and apparatus thereof
KR20200022788A (en) * 2018-08-23 2020-03-04 전자부품연구원 Device and method for analyzing motion
KR20200025290A (en) * 2018-08-30 2020-03-10 충북대학교 산학협력단 System and method for analyzing exercise posture
KR102239135B1 (en) 2020-11-10 2021-04-12 이상학 Posture correction device for exercise using image

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180104466A (en) * 2017-03-13 2018-09-21 주식회사 인프로 Golf swing posture correction device
KR20190019824A (en) * 2017-08-18 2019-02-27 강다겸 Method for providing posture guide and apparatus thereof
KR20200022788A (en) * 2018-08-23 2020-03-04 전자부품연구원 Device and method for analyzing motion
KR101931784B1 (en) * 2018-08-29 2018-12-21 주식회사 큐랩 Virtual fitness system for multi-user
KR20200025290A (en) * 2018-08-30 2020-03-10 충북대학교 산학협력단 System and method for analyzing exercise posture
KR102239135B1 (en) 2020-11-10 2021-04-12 이상학 Posture correction device for exercise using image

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102429422B1 (en) * 2021-11-15 2022-08-04 주식회사 테스트웍스 Bike Fitting Method, Device And Computer Program Using Neural Network Model
KR20230146792A (en) * 2022-04-13 2023-10-20 창원대학교 산학협력단 Method, apparatus and system for providing guide information for correcting chopsticks posture
WO2023219393A1 (en) * 2022-05-10 2023-11-16 삼성전자주식회사 Electronic device and control method therefor
KR102578469B1 (en) * 2022-08-23 2023-09-14 주식회사 엘리펀트에이아이 Systme for providing posture and motion correction information of user using expert posture and motion analysis imformation
US20240073354A1 (en) * 2022-08-26 2024-02-29 Lim Joseph Method of providing synthetic video based on exercise video
US12363254B2 (en) * 2022-08-26 2025-07-15 Joseph LIM Method of providing synthetic video based on exercise video
KR102593279B1 (en) * 2022-12-15 2023-10-24 에버엑스 주식회사 Method and system for posture estimation and motion analysis
US12125576B2 (en) 2022-12-15 2024-10-22 Everex Method and system for providing exercise therapy using artificial intelligence posture estimation model and motion analysis model
KR20240106294A (en) 2022-12-29 2024-07-08 인천대학교 산학협력단 Automated motor function diagnosis service system and method based on user interaction
KR102668498B1 (en) * 2023-05-31 2024-05-24 씨아이넷 주식회사 Method, apparatus and program for exercise management service based on exercise video
KR102726100B1 (en) * 2023-09-27 2024-11-05 에버엑스 주식회사 Method and system for providing artificial intelligence-based posture and joint motion inspection services
WO2025071082A1 (en) * 2023-09-27 2025-04-03 에버엑스 주식회사 Method and system for providing posture and joint motion test service based on artificial intelligence

Also Published As

Publication number Publication date
KR102594938B1 (en) 2023-10-31

Similar Documents

Publication Publication Date Title
KR102594938B1 (en) Apparatus and method for comparing and correcting sports posture using neural network
US11615648B2 (en) Practice drill-related features using quantitative, biomechanical-based analysis
US20180357472A1 (en) Systems and methods for creating target motion, capturing motion, analyzing motion, and improving motion
KR102320960B1 (en) Personalized home training behavior guidance and correction system
US11954869B2 (en) Motion recognition-based interaction method and recording medium
US12062123B2 (en) 3D avatar generation using biomechanical analysis
KR102593654B1 (en) System and method for artificial intelligence golf swing analysis/correction based on 3D character retargeting
KR102356685B1 (en) Home training providing system based on online group and method thereof
KR102412553B1 (en) Method and apparatus for comparing dance motion based on ai
US12208309B2 (en) Method and device for recommending golf-related contents, and non-transitory computer-readable recording medium
CN115131879B (en) Action evaluation method and device
KR20230086874A (en) Rehabilitation training system using 3D body precision tracking technology
US20240331170A1 (en) Systems And Methods For Generating A Motion Performance Metric
KR20120034394A (en) Practicing method of golf swing motion using motion overlap and practicing system of golf swing motion using the same
KR102095647B1 (en) Comparison of operation using smart devices Comparison device and operation Comparison method through dance comparison method
CN113842622A (en) Motion teaching method, device, system, electronic equipment and storage medium
US20240157217A1 (en) Golf teaching method and golf teaching system
KR102671307B1 (en) Golf swing analysis device, golf swing analysis method and program stored in a recording medium
KR102840983B1 (en) Golf lesson system using markerless pose estimation method based on artificial intelligence
KR102736756B1 (en) System for Providing Exercise Posture Analysis Service
TWI775243B (en) Golf swing motion analysis method
US20250058174A1 (en) Method and system for providing feedback on golf swing
CN118369142A (en) System and method for generating athletic performance metrics
KR20240080250A (en) An Apparatus for providing Golf Swing Coaching Service using deep learning
KR20230167984A (en) Artificial Intelligence based Golf Swing Coaching Service Providing System

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20210419

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20230221

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20230725

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20231024

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20231025

End annual number: 3

Start annual number: 1

PG1601 Publication of registration