Nothing Special   »   [go: up one dir, main page]

KR102689063B1 - System and method for effectively providing analysis results on the user's exercise behavior in visual aspect to support decision-making related to exercise and medical services - Google Patents

System and method for effectively providing analysis results on the user's exercise behavior in visual aspect to support decision-making related to exercise and medical services Download PDF

Info

Publication number
KR102689063B1
KR102689063B1 KR1020230118759A KR20230118759A KR102689063B1 KR 102689063 B1 KR102689063 B1 KR 102689063B1 KR 1020230118759 A KR1020230118759 A KR 1020230118759A KR 20230118759 A KR20230118759 A KR 20230118759A KR 102689063 B1 KR102689063 B1 KR 102689063B1
Authority
KR
South Korea
Prior art keywords
exercise
user
information
personal training
motion
Prior art date
Application number
KR1020230118759A
Other languages
Korean (ko)
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 KR1020230118759A priority Critical patent/KR102689063B1/en
Application granted granted Critical
Publication of KR102689063B1 publication Critical patent/KR102689063B1/en

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/30ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to physical therapies or activities, e.g. physiotherapy, acupressure or exercising
    • 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/743Displaying an image simultaneously with additional graphical information, e.g. symbols, charts, function plots
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • A63B24/0006Computerised comparison for qualitative assessment of motion sequences or the course of a movement
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0075Means for generating exercise programs or schemes, e.g. computerized virtual trainer, e.g. using expert databases
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • 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/0009Computerised real time comparison with previous movements or motion sequences of the user

Landscapes

  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Biophysics (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Radiology & Medical Imaging (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Pathology (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Veterinary Medicine (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

실시예들은 퍼스널 트래이닝 객체의 적어도 하나의 운동 동작을 나타낸 퍼스널 트래이닝 비디오 이미지를 획득하고, 상기 퍼스널 트래이닝 비디오 이미지에서 상기 퍼스널 트래이닝 객체의 운동 동작을 분석하여 상기 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하고, 상기 사용자의 운동 동작을 촬영한 사용자의 비디오 이미지를 상기 서버에서 수신하며, 상기 사용자의 비디오 이미지에서 상기 사용자의 운동 동작을 분석하여 상기 사용자의 운동 상태 정보를 생성하고, 상기 사용자의 운동 동작과 상기 퍼스널 트래이닝 객체의 대응한 운동 동작을 서로 비교하기 위해, 상기 사용자의 운동 상태 정보와 상기 퍼스널 트래이닝 객체의 대응한 운동 상태 정보를 비교하여 상기 사용자의 운동 결과 정보를 생성하고, 상기 사용자의 운동 상태 정보 및 상기 사용자의 운동 결과 정보에 포함된 정보 중 적어도 하나의 정보에 기초하여 상기 사용자의 운동 동작에 대한 분석 자료를 생성하는, 운동 및 의료 서비스 관련 의사결정을 지원하기 위해 사용자의 운동 동작에 대한 분석 결과를 시각적 측면에서 효과적으로 제공하는 시스템 및 방법에 관련된다. Embodiments include obtaining a personal training video image representing at least one movement motion of a personal training object, analyzing the movement movement of the personal training object in the personal training video image, and generating metadata of the personal training video image, Receive a video image of the user in which the user's exercise motion is captured from the server, analyze the user's exercise motion in the video image of the user to generate exercise state information of the user, and generate exercise state information of the user and the exercise motion of the user In order to compare the corresponding exercise actions of the personal training object, the user's exercise state information is compared with the corresponding exercise state information of the personal training object to generate the user's exercise result information, and the user's exercise state information and analysis of the user's exercise movements to support decision-making regarding exercise and medical services, generating analysis data on the user's exercise movements based on at least one piece of information included in the user's exercise result information. It relates to systems and methods that effectively present results in a visual aspect.

Description

운동 및 의료 서비스 관련 의사결정을 지원하기 위해 사용자의 운동 동작에 대한 분석 결과를 시각적 측면에서 효과적으로 제공하는 시스템 및 방법 {System and method for effectively providing analysis results on the user's exercise behavior in visual aspect to support decision-making related to exercise and medical services} System and method for effectively providing analysis results on the user's exercise behavior in visual aspect to support decision- making related to exercise and medical services}

본 출원의 실시 예들은 사용자의 운동 상태, 운동 결과 중 일부 또는 전부를 사용자의 신체 형상을 기준으로 시각적으로 표현하는 이미지 형태로 제공함으로써, 운동 및 의료 서비스 관련 의사결정을 지원하기 위해 사용자의 운동 동작에 대한 분석 결과를 시각적 측면에서 효과적으로 제공하는 시스템 및 방법에 관한 것이다. Embodiments of the present application provide the user's exercise status and exercise results in the form of images that visually express some or all of the user's exercise behavior based on the user's body shape to support decision-making regarding exercise and medical services. It relates to a system and method that effectively provides analysis results in a visual aspect.

최근 건강 및 의료에 대한 관심이 증가 됨에 따라 헬스케어 서비스가 주목받고 있다. 보다 고품질의 헬스케어 서비스를 제공하기 위해서는 서비스 대상에 대한 정보가 풍부해야 하는 것이 요구된다. Recently, as interest in health and medical care has increased, healthcare services have been attracting attention. In order to provide higher quality healthcare services, it is necessary to have abundant information about the service target.

2021년부터 개인이 행정, 금융거래, 의료, 통신, 교육 등의 서비스를 이용하면서 만들어진 정보에 대하여 정보 주체가 접근하고, 저장하고, 활용한 등의 의사결정을 하는 마이데이터 서비스가 시작되었다. 이에 따라서, 의료 마이데이터 사업 역시 시도되고 있다. Starting in 2021, the My Data service has been launched, which allows information subjects to make decisions about access, storage, and utilization of information created while individuals use services such as administration, financial transactions, medical care, communication, and education. Accordingly, medical my data projects are also being attempted.

의료 마이데이터에는 의료기관에서 제공하는 의료 서비스에 제한되지 않고, 여러 항목들이 있다. 그 중에서는 의료 지원 사업 등에는 운동을 통한 의료 지원과 같은 비-의료기관 서비스도 포함이 된다.Medical MyData is not limited to medical services provided by medical institutions and includes several items. Among them, medical support projects also include non-medical institution services such as medical support through exercise.

과거와 달리 현대 사회는 건강에 대한 관심이 매우 증가한 상태이므로, 운동 인구 또한 증가할 것이 예상되며, 따라서 운동을 통한 헬스케어 산업군의 발전도 기대되고 있다. Unlike the past, modern society's interest in health has greatly increased, so the number of people exercising is expected to increase, and the development of the healthcare industry through exercise is also expected.

그러나, 현재의 의료 마이데이터 사업은 여러 가지 의료 정보 항목 중에서 환자가 의료 기관을 방문해서 생성되는 진단 결과, 검사 결과와 같은 의료 데이터를 표준화하고 수집하는데 집중되어 있다. 운동과 같이 정보 주체(예컨대, 환자)가 의료기관을 방문하지 않은 환경에서 생성될 수 있는 운동 데이터에 대해서는 마이데이터 사업의 진행이 미비한 추세이다. However, the current medical mydata project is focused on standardizing and collecting medical data such as diagnosis results and test results generated when patients visit medical institutions, among various medical information items. Regarding exercise data that can be generated in an environment where the information subject (e.g., patient) does not visit a medical institution, such as exercise, progress in the My Data project is insufficient.

따라서, 운동 데이터에 대해서 표준화 기술이 필요한 상태이다. 또한, 운동 데이터를 표준화하는 것을 넘어서 운동 데이터를 활용해 근골격계 운동과 관련된 의사결정, 또는 적합한 의료 서비스 관련 의사결정을 지원하는 기술이 필요하다. Therefore, standardization technology is needed for exercise data. In addition, beyond standardizing exercise data, technology is needed to utilize exercise data to support decision-making related to musculoskeletal exercise or appropriate medical service-related decision-making.

특허등록공보 제10-1864987호 (2018.05.30. 공고)Patent Registration Publication No. 10-1864987 (announced on May 30, 2018)

상술한 문제점을 해결하기 위해, 본 출원의 실시 예들은 사용자의 운동 이미지로부터 표준화된 사용자의 운동 상태, 운동 결과를 획득하고, 사용자의 운동 상태, 운동 결과 중 일부 또는 전부를 사용자의 신체 형상을 기준으로 시각적으로 표현하는 이미지 형태로 제공함으로써, 운동 및 의료 서비스 관련 의사결정을 지원하기 위해 사용자의 운동 동작에 대한 분석 결과를 시각적 측면에서 효과적으로 제공하는 시스템 및 방법을 제공하고자 한다. In order to solve the above-described problem, embodiments of the present application obtain standardized user's exercise state and exercise results from the user's exercise image, and some or all of the user's exercise state and exercise results are based on the user's body shape. By providing it in the form of a visually expressed image, we aim to provide a system and method that effectively provides analysis results of the user's exercise movements in a visual aspect to support decision-making related to exercise and medical services.

본 출원의 일 측면에 따른 근골격계 운동 및 의료 서비스 관련 의사결정을 지원하기 위해 사용자의 운동 동작을 분석하여 시각적 측면에서 효과적으로 제공하는 방법은 서버에 의해 수행될 수 있다. 상기 방법은, 서버에서 퍼스널 트래이닝 객체의 적어도 하나의 운동 동작을 나타낸 퍼스널 트래이닝 비디오 이미지를 획득하고, 상기 퍼스널 트래이닝 비디오 이미지에서 상기 퍼스널 트래이닝 객체의 운동 동작을 분석하여 상기 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하는 단계; 상기 사용자의 운동 동작을 촬영한 사용자의 비디오 이미지를 상기 서버에서 수신하는 단계 - 상기 사용자의 운동 동작은 사용자가 선택한 퍼스널 트래이닝 비디오 이미지에 나타난 상기 퍼스널 트래이닝 객체의 적어도 하나의 운동 동작 중에서 상기 사용자의 운동 동작에 대응한 운동 동작을 모방한 것임; 상기 사용자의 비디오 이미지에서 상기 사용자의 운동 동작을 분석하여 상기 사용자의 자세정보를 생성하고, 상기 사용자의 자세정보에 기초하여 운동 상태 정보를 생성하는 단계; 상기 사용자의 운동 동작과 상기 퍼스널 트래이닝 객체의 대응한 운동 동작을 서로 비교하기 위해, 상기 사용자의 운동 상태 정보와 상기 퍼스널 트래이닝 객체의 대응한 운동 상태 정보를 비교하여 상기 사용자의 운동 결과 정보를 생성하는 단계 - 상기 퍼스널 트래이닝 객체의 대응한 운동 상태 정보는 상기 사용자의 운동 상태 정보가 서술하는 사용자의 운동 동작에 대응한 상기 퍼스널 트래이닝 객체의 운동 동작을 분석한 결과임; 및 상기 사용자의 운동 상태 정보 및 상기 사용자의 운동 결과 정보에 포함된 정보 중 적어도 하나의 정보에 기초하여 상기 사용자의 운동 동작에 대한 분석 자료를 생성하는 단계 - 상기 분석 자료는 사용자의 전자장치에서 표시되는 분석 화면을 생성하는데 이용됨; 를 포함할 수 있다. In order to support decision-making related to musculoskeletal exercise and medical services according to an aspect of the present application, a method of analyzing a user's exercise motion and effectively providing it in a visual aspect may be performed by a server. The method obtains a personal training video image representing at least one movement motion of a personal training object from a server, analyzes the movement movement of the personal training object in the personal training video image, and generates metadata of the personal training video image. generating step; Receiving a video image of the user in which the user's exercise motion is captured from the server, wherein the user's exercise motion is the user's exercise among at least one exercise motion of the personal training object shown in the personal training video image selected by the user imitates the motor movement corresponding to the movement; Generating posture information of the user by analyzing the user's exercise movements in the video image of the user, and generating exercise state information based on the posture information of the user; In order to compare the exercise motion of the user and the corresponding exercise motion of the personal training object, generating exercise result information of the user by comparing the exercise state information of the user and the corresponding exercise state information of the personal training object. Step - the corresponding exercise state information of the personal training object is a result of analyzing the exercise motion of the personal training object corresponding to the user's exercise motion described by the user's exercise state information; and generating analysis data about the user's exercise movement based on at least one of information included in the user's exercise state information and the user's exercise result information - the analysis data is displayed on the user's electronic device. Used to create analysis screens that are may include.

일 실시 예에서, 상기 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하는 단계는, 상기 퍼스널 트래이닝 비디오 이미지 내 프레임 이미지 세트를 장면별로 분류하여 장면에 연관된 프레임 이미지의 서브 세트를 형성하는 단계 - 상기 서브 세트는 적어도 하나의 일련의 프레임 이미지를 포함하고, 상기 일련의 프레임 이미지는 퍼스널 트래이닝 객체의 단위 동작을 나타낸 연속적인 프레임 이미지임; 상기 퍼스널 트래이닝 비디오 이미지의 프레임 이미지를 서브 세트 단위로 연산 처리하여, 상기 장면에 나타난 상기 퍼스널 트래이닝 객체의 자세정보를 생성하는 단계; 상기 퍼스널 트래이닝 객체의 자세정보에 기초하여 트래이닝 객체의 운동 상태 정보를 생성하는 단계; 상기 서버의 운영자 입력 정보 및 상기 퍼스널 트래이닝 객체의 운동 상태 정보 중 적어도 하나의 정보에 기초하여 상기 퍼스널 트래이닝 비디오 이미지 내 퍼스널 트래이닝 객체의 운동 결과 정보를 획득하는 단계; 및 상기 퍼스널 트래이닝 객체의 운동 상태 정보 중 일부 또는 전부의 정보를 포함한 상기 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하는 단계를 포함할 수 있다. In one embodiment, the step of generating metadata of the personal training video image includes classifying a set of frame images in the personal training video image by scene to form a subset of frame images associated with the scene, the subset being comprising at least one series of frame images, wherein the series of frame images are continuous frame images representing unit operations of the personal training object; generating posture information of the personal training object appearing in the scene by processing frame images of the personal training video image in subset units; generating exercise state information of the training object based on the posture information of the personal training object; Obtaining exercise result information of the personal training object in the personal training video image based on at least one of operator input information of the server and exercise state information of the personal training object; And it may include generating metadata of the personal training video image including some or all of the exercise state information of the personal training object.

일 실시 예에서, 상기 퍼스널 트래이닝 객체의 자세정보를 생성하는 단계는, 동작을 구성하는 연속된 일련의 자세 중에서, 해당 동작을 식별하는데 요구되는 적어도 하나의 자세를 키 자세(key pose)로 선별하는 단계; 및 일련의 자세 중에서 키 자세로 선별된 일부 자세를 서술하는 키 자세정보를 상기 퍼스널 트래이닝 객체의 자세정보로 생성하는 단계;를 포함할 수 있다. 상기 적어도 하나의 자세를 키 자세로 선별하는 단계는, 골격의 위치 및 움직임 정보, 관절의 위치 및 움직임 정보에 기초하여 단위 동작의 적어도 하나의 자세를 상기 단위 동작에 대한 키 자세로 선별하는 것일 수 있다. 상기 퍼스널 트래이닝 객체의 운동 상태 정보는 상기 퍼스널 트래이닝 객체의 키 자세 정보에 기초하여 생성된 것일 수 있다. In one embodiment, the step of generating posture information of the personal training object includes selecting at least one posture required to identify the motion as a key pose among a series of postures constituting the motion. step; and generating key posture information describing some postures selected as key postures among a series of postures as posture information of the personal training object. The step of selecting the at least one posture as the key posture may include selecting at least one posture of the unit action as the key posture for the unit action based on the position and movement information of the skeleton and the position and movement information of the joints. there is. The exercise state information of the personal training object may be generated based on the key posture information of the personal training object.

일 실시 예에서, 상기 퍼스널 트래이닝 객체의 자세정보를 생성하는 단계는, 입력 객체가 나타난 입력 이미지를 미리 학습된 포즈 인식 모델을 이용하여 분석하여 상기 입력 객체가 취하고 있는 자세가 속하는 자세종류를 인식하고, 인식된 자세종류를 포함한 상기 객체의 자세정보를 생성하는 것일 수 있다. 또한, 상기 포즈 인식 모델은 상기 포즈 인식 모델은 포즈 추정 알고리즘을 통해 입력 자세를 취하는 객체의 특징점을 추출하고, 객체의 특징점의 추출 결과에 기초하여 객체의 관절 움직임 및 골격의 움직임 정보 중 적어도 하나의 움직임 정보를 산출하며, 산출된 객체의 관절 움직임 및 골격의 움직임 정보 중 적어도 하나의 움직임 정보와 입력 객체의 자세종류 간의 상관관계를 추론하여 상기 입력 자세가 미리 설정된 복수의 자세종류 각각으로 분류될 확률을 산출하고, 산출된 확률에 기초하여 상기 입력 자세의 자세종류를 인식하도록 구성된 기계학습 모델일 수 있다. In one embodiment, the step of generating posture information of the personal training object includes analyzing the input image in which the input object appears using a pre-learned pose recognition model to recognize the type of posture to which the posture the input object is taking. , it may be to generate posture information of the object including the recognized posture type. In addition, the pose recognition model extracts feature points of an object in an input posture through a pose estimation algorithm, and provides at least one of joint movement and skeletal motion information of the object based on the extraction result of the feature points of the object. Calculates motion information, and infers the correlation between at least one of the calculated joint motion and skeletal motion information of the object and the posture type of the input object to determine the probability that the input posture will be classified into each of a plurality of preset posture types. It may be a machine learning model configured to calculate and recognize the posture type of the input posture based on the calculated probability.

일 실시 예에서, 상기 사용자의 운동 동작을 촬영한 사용자의 비디오 이미지를 상기 서버에서 수신하는 단계는, 사용자의 전자장치에서 컨텐츠 목록을 표시하도록, 복수의 퍼스널 트래이닝 비디오 이미지에 대한 컨텐츠 프로필 정보를 상기 사용자의 전자장치로 전송하는 단계; 상기 사용자에 대한 가이드 동작을 나타낸 대상 퍼스널 트래이닝 비디오 이미지에 대한 요청을 상기 사용자의 전자장치로부터 수신하는 단계; 요청된 대상 퍼스널 트래이닝 비디오 이미지를 상기 사용자의 전자장치로 제공하는 단계; 및 상기 사용자의 전자장치에서 사용자의 운동 동작을 촬영하여 생성한 상기 사용자의 비디오 이미지를 상기 서버에서 수신하는 단계;를 포함할 수 있다. 상기 사용자의 비디오 이미지는 대응 퍼스널 트래이닝 비디오 이미지에 나타난 퍼스널 트래이닝 객체의 운동 동작을 모방한 사용자의 운동 동작을 나타낸다. In one embodiment, the step of receiving the user's video image that captures the user's exercise movement from the server includes providing content profile information for a plurality of personal training video images to display a content list on the user's electronic device. transmitting to the user's electronic device; Receiving a request for a target personal training video image showing a guide operation for the user from the user's electronic device; providing a requested target personal training video image to the user's electronic device; and receiving, from the server, a video image of the user generated by filming the user's exercise movements on the user's electronic device. The video image of the user represents the user's motor movements mimicking the motor movements of the personal training object shown in the corresponding personal training video image.

일 실시 예에서, 상기 사용자의 운동 상태 정보를 생성하는 단계는, 상기 사용자의 비디오 이미지 내 프레임 이미지 세트를 장면별로 분류하여 장면에 연관된 프레임 이미지의 서브 세트를 형성하는 단계 - 상기 서브 세트는 적어도 하나의 일련의 프레임 이미지를 포함하고, 상기 일련의 프레임 이미지는 사용자의 단위 동작을 나타낸 연속적인 프레임 이미지임; 상기 사용자의 비디오 이미지의 프레임 이미지를 서브 세트 단위로 연산 처리하여, 상기 장면에 나타난 상기 사용자의 자세정보를 생성하는 단계; 상기 사용자의 자세정보에 기초하여 상기 사용자의 운동 상태 정보를 생성하는 단계;를 포함할 수 있다. 상기 장면에 나타난 상기 사용자의 자세정보를 생성하는 단계는, 상기 사용자의 비디오 이미지에 포함된 장면에 연관된 서브 세트 각각에 대해, 개별 서브 세트에 포함된 연속적인 프레임 이미지를 포즈 인식 모델에 입력하여 상기 연속적인 프레임 이미지에 나타난 상기 사용자의 자세종류를 인식하는 단계; 그리고 상기 자세종류의 인식 결과, 및 상기 포즈 인식 모델에서 상기 자세종류를 인식하기 위해 연산 처리하는 과정에서 산출된 중간 결과에 기초하여 상기 사용자의 자세정보를 생성하는 단계를 포함할 수 있다. In one embodiment, the step of generating the user's movement state information includes classifying a set of frame images in the video image of the user by scene to form a subset of frame images associated with the scene, wherein the subset includes at least one Includes a series of frame images, wherein the series of frame images is a continuous frame image representing a unit action of the user; generating posture information of the user appearing in the scene by processing frame images of the video image of the user in subset units; It may include generating exercise state information of the user based on the user's posture information. The step of generating the posture information of the user appearing in the scene includes, for each subset related to the scene included in the video image of the user, inputting consecutive frame images included in each subset into the pose recognition model. Recognizing the type of posture of the user shown in consecutive frame images; And it may include generating the user's posture information based on the recognition result of the posture type and the intermediate result calculated during the operation process to recognize the posture type in the pose recognition model.

일 실시 예에서,상기 사용자의 운동 결과 정보를 생성하는 단계는, 상기 사용자의 운동 상태 정보에서 상기 사용자의 자세정보와 상기 퍼스널 트래이닝 객체의 대응한 자세정보를 비교하여, 상기 퍼스널 트래이닝 객체에 대한 상기 사용자의 자세 유사도를 산출하는 단계; 및 상기 퍼스널 트래이닝 객체의 운동 결과 정보, 상기 사용자의 자세 유사도, 상기 사용자의 운동 상태 정보 중 적어도 하나에 기초하여 상기 사용자의 운동 결과 정보를 생성하는 단계;를 포함할 수 있다. 또한, 상기 자세 유사도를 산출하는 단계는, 서로 대응한 퍼스널 트래이닝 객체의 자세와 사용자의 자세에서, 퍼스널 트래이닝 객체와 사용자 각각의 대응 관절, 대응 골격을 결정하는 단계; 사용자의 일련의 자세에서 사용자의 관절의 움직임 벡터와, 상기 사용자의 일련의 자세에 대응한 퍼스널 트래이닝 객체의 일련의 자세에 나타난 퍼스널 트래이닝 객체의 관절의 움직임 벡터 간의 제1 유사도를 산출하는 단계; 사용자의 일련의 자세에서 사용자의 골격의 움직임 벡터와, 상기 사용자의 일련의 자세에 대응한 퍼스널 트래이닝 객체의 일련의 자세에 나타난 퍼스널 트래이닝 객체의 골격의 움직임 벡터 간의 제2 유사도를 산출하는 단계; 및 상기 제1 유사도 및 제2 유사도에 기초하여 상기 일련의 자세 동안 상기 사용자와 대응한 퍼스널 트래이닝 객체 간의 자세 유사도를 산출하는 단계를 포함할 수 있다. In one embodiment, the step of generating the user's exercise result information includes comparing the user's posture information and the corresponding posture information of the personal training object in the user's exercise state information to determine the user's posture information for the personal training object. Calculating a user's posture similarity; and generating exercise result information of the user based on at least one of exercise result information of the personal training object, posture similarity of the user, and exercise state information of the user. In addition, calculating the posture similarity may include determining corresponding joints and corresponding skeletons of each of the personal training object and the user from the posture of the personal training object and the user's posture that correspond to each other; calculating a first similarity between the motion vectors of the user's joints in a series of postures of the user and the motion vectors of the joints of the personal training object shown in the series of postures of the personal training object corresponding to the series of postures of the user; calculating a second similarity between the motion vector of the user's skeleton in a series of postures of the user and the motion vector of the skeleton of the personal training object shown in the series of postures of the personal training object corresponding to the series of postures of the user; and calculating a posture similarity between the user and the corresponding personal training object during the series of postures based on the first similarity and the second similarity.

일 실시 예에서, 상기 사용자의 운동 결과 정보를 생성하는 단계는, 상기 사용자와 퍼스널 트래이닝 객체 간의 동작 유사도를 상기 퍼스널 트래이닝 객체의 운동 결과 정보에서 퍼스널 트래이닝 객체의 난이도, 심박수, 또는 칼로리 소모량에 적용하여 사용자의 난이도, 심박수, 또는 칼로리 소모량을 산출하는 단계; 일련의 자세 동안 자세 각각의 관절의 위치, 및 골격의 움직임 벡터에 기초하여 사용자의 비디오 이미지에 나타난 사용자의 운동골격, 운동관절을 결정하는 단계; 및 상기 사용자의 운동골격의 위치, 운동관절의 위치를 추적하여 상기 사용자의 운동골격의 운동 범위, 상기 사용자의 운동관절의 운동 범위를 산출하는 단계; 단위 동작 동안 사용자의 자세정보 내 관절의 위치, 골격의 위치, 관절의 움직임 벡터 및 골격의 움직임 벡터 중 적어도 하나에 기초하여 상기 사용자의 신체에 포함된 다수의 근육 중 상기 사용자의 운동근육을 검출하는 단계를 포함할 수 있다. In one embodiment, the step of generating the user's exercise result information includes applying the motion similarity between the user and the personal training object to the difficulty level, heart rate, or calorie consumption of the personal training object in the exercise result information of the personal training object. calculating the user's difficulty level, heart rate, or calorie consumption; determining the user's motion skeleton and motion joints shown in the user's video image based on the positions of each joint in each posture and the motion vector of the skeleton during a series of postures; and calculating the range of motion of the user's motion skeleton and the range of motion of the user's motion joints by tracking the position of the user's motion skeleton and the positions of the motion joints; Detecting the user's exercise muscles among a plurality of muscles included in the user's body based on at least one of the position of the joint, the position of the skeleton, the movement vector of the joint, and the movement vector of the skeleton in the user's posture information during the unit operation. May include steps.

일 실시 예에서, 상기 사용자의 운동 결과 정보를 생성하는 단계는, 상기 사용자의 자세가 퍼스널 트래이닝 객체의 자세에 매칭하는 경우, 퍼스널 트래이닝 객체의 운동강도를 상기 사용자의 운동강도로 산출하는 단계; 및상기 사용자의 운동강도를 산출하는 단계는, 상기 사용자의 자세정보에 따른 상기 사용자의 운동강도를 상기 사용자의 신체 프로필 데이터 및 운동근육의 사용 수준 중 적어도 하나에 기초하여 보정하는 단계를 포함할 수 있다. In one embodiment, the step of generating the user's exercise result information includes, when the user's posture matches the posture of the personal training object, calculating the exercise intensity of the personal training object as the user's exercise intensity; And calculating the user's exercise intensity may include correcting the user's exercise intensity according to the user's posture information based on at least one of the user's body profile data and exercise muscle usage level. there is.

일 실시 예에서, 상기 사용자의 운동강도를 보정하는 단계는, 상기 사용자의 자세정보에 따른 상기 사용자의 운동강도를 운동근육의 사용 수준에 기초하여, 상기 사용자의 운동결과 정보에서 상기 사용자의 운동강도를 보정하는 단계를 포함할 수 있다. 여기서, 상기 사용자의 자세정보에 따른 상기 사용자의 운동강도를 운동근육의 사용 수준에 기초하여, 상기 사용자의 운동결과 정보에서 상기 사용자의 운동강도를 보정하는 단계는, 입력 이미지에서 운동근육을 둘러싼 신체 부분의 부피 변화를 분석하여 근육의 부피 변화 정보를 획득하는 것, 입력 이미지에서 운동근육을 가리키는 운동근육 영역 상의 피부 변화를 분석하여 피부 표면의 변화 정보를 획득한 것 중 적어도 하나의 단계; 획득된 운동근육의 부피 변화 정보 및 상기 피부 표면의 변화 정보와 해당 근육의 사용 정도 간의 상관관계를 추론하여 입력 이미지에 나타난 운동근육 영역별로 운동근육의 사용 정도를 예측하는 단계; 및 예측된 운동근육별 사용 정도에 기초하여 상기 사용자의 운동강도를 보정하는 단계를 포함할 수 있다. In one embodiment, the step of correcting the user's exercise intensity includes determining the user's exercise intensity according to the user's posture information based on the level of exercise muscle use, and determining the user's exercise intensity from the user's exercise result information. It may include a step of correcting. Here, the step of correcting the user's exercise intensity in the user's exercise result information based on the user's exercise intensity according to the user's posture information and the level of exercise muscle use includes the body surrounding the exercise muscle in the input image. At least one step of acquiring muscle volume change information by analyzing the volume change of the portion, and acquiring skin surface change information by analyzing skin change on the motor muscle area indicating the motor muscle in the input image; predicting the degree of use of the exercise muscle for each exercise muscle area shown in the input image by inferring the correlation between the acquired volume change information of the exercise muscle and the skin surface change information and the degree of use of the corresponding muscle; And it may include correcting the user's exercise intensity based on the predicted degree of use of each exercise muscle.

일 실시 예에서, 상기 사용자의 운동 동작에 대한 분석 자료를 생성하는 단계는, 사용자의 운동동작 또는 운동근육 각각에 대해, 상기 사용자의 운동 결과를 상기 사용자의 운동 결과 정보 내 운동근육 정보 및 운동강도 정보에 기초하여 시각화하여 제1 분석 자료를 생성하는 단계; 를 포함할 수 있다. 상기 제1 분석 자료는 상기 사용자의 제1 분석 이미지를 포함한다. In one embodiment, the step of generating analysis data on the user's exercise movement includes, for each of the user's exercise movements or exercise muscles, the user's exercise results as exercise muscle information and exercise intensity within the user's exercise result information. generating first analysis data by visualizing the information based on the information; may include. The first analysis data includes the first analysis image of the user.

상기 사용자의 운동근육에 대한 제1 분석 자료를 생성하는 단계는,상기 사용자의 운동근육 정보에 기초하여 미리 설정된 신체 영역에서 상기 사용자의 운동근육 영역을 식별하고, 상기 사용자의 운동강도 정보에 기초하여 식별된 운동근육 영역에 해당 운동근육에 대한 상기 사용자의 운동강도를 표기하는 것일 수 있다. The step of generating first analysis data for the user's exercise muscles includes identifying the user's exercise muscle area in a preset body region based on the user's exercise muscle information, and based on the user's exercise intensity information. The user's exercise intensity for the corresponding exercise muscle may be indicated in the identified exercise muscle area.

일 실시 예에서, 상기 운동근육에 상기 운동강도를 표기하는 단계는, 상기 사용자의 신체 이미지에서 사용자의 운동근육 영역을 비-운동근육 영역과 구별되도록, 미리 설정된 색상을 상기 사용자의 운동 결과 정보 내 운동근육에 적용하는 단계를 포함할 수 있다. 상기 운동근육을 표기하기 위해 미리 설정된 색상을 상기 사용자의 운동 결과 정보 내 운동근육에 적용하는 단계는, 상기 사용자의 운동 결과 정보 내 운동근육에 대해서, 개별 운동근육의 운동강도가 시각적으로 구별되도록 개별 운동근육의 운동강도에 맵핑된 색상을 미리 저장된 색상 테이블에서 검색하는 단계; 및상기 개별 운동근육별로 검색된 색상을 상기 개별 운동근육에 각각 적용하는 단계일 수 있다. In one embodiment, the step of marking the exercise intensity on the exercise muscle includes adding a preset color to the user's exercise result information to distinguish the user's exercise muscle area from the non-exercise muscle area in the user's body image. It may include applying it to exercise muscles. The step of applying a preset color to the exercise muscles in the user's exercise result information to indicate the exercise muscles is performed so that the exercise intensity of the individual exercise muscles is visually distinguished for the exercise muscles in the user's exercise result information. Retrieving the color mapped to the exercise intensity of the exercise muscle from a pre-stored color table; And it may be a step of applying the color searched for each individual exercise muscle to each of the individual exercise muscles.

일 실시 예에서, 상기 제1 분석 자료는 운동결과 비교 평가 정보를 더 포함할 수 있다. 상기 제1 분석 자료를 생성하는 단계는, 상기 사용자의 운동 상태 정보 및 운동 결과 정보에 포함된 정보의 조합 중 적어도 하나의 정보와 상기 퍼스널 트래이닝 객체의 운동 상태 정보 및 운동 결과 정보에 포함된 정보의 조합 중 적어도 하나의 정보를 비교한 운동결과 비교 평가 정보를 생성하는 단계를 더 포함할 수 있다. 상기 운동결과 비교 평가 정보는, 운동근육 또는 운동종류 각각에 대해, 상기 사용자의 운동 결과 정보 내 운동량 정보와 상기 퍼스널 트래이닝 객체의 운동 결과 정보 내 운동량 정보를 비교한 결과일 수 있다. In one embodiment, the first analysis data may further include comparative evaluation information on exercise results. The step of generating the first analysis data includes at least one of a combination of information included in the user's exercise state information and exercise result information and information included in the exercise state information and exercise result information of the personal training object. It may further include generating exercise result comparison evaluation information by comparing at least one piece of information among the combinations. The exercise result comparative evaluation information may be a result of comparing exercise amount information in the exercise result information of the user with exercise amount information in the exercise result information of the personal training object, for each exercise muscle or exercise type.

일 실시 예에서, 상기 제2 분석 자료는 상기 특정 기간 동안의 상기 사용자의 전체 운동근육의 위치, 및 운동근육별 전체 운동강도를 시각화한 상기 제2 분석 이미지를 포함할 수 있다. 상기 제2 분석 자료를 생성하는 단계는, 특정 기간 동안 사용자의 전체 운동근육에서 개별 운동근육별로 운동강도를 합산하는 단계; 상기 사용자의 운동근육에 대해서, 특정 기간 동안의 개별 운동근육의 운동강도 각각이 시각적으로 구별되도록 전체 운동근육에서 개별 운동근육의 합산된 운동강도에 맵핑된 색상을 미리 저장된 색상 테이블에서 검색하는 단계; 및 상기 개별 운동근육별로 검색된 색상을 상기 개별 운동근육에 각각 적용하는 단계를 포함할 수 있다. 상기 개별 운동근육의 합산된 운동강도에 맵핑된 색상을 미리 저장된 색상 테이블에서 검색하는 단계는, 특정 기간 동안의 개별 운동근육의 일간 평균 운동강도를 산출하는 단계; 및 상기 일간 평균 운동강도에 맵핑된 색상을 미리 저장된 색상 테이블에서 검색하는 단계를 포함할 수 있다. In one embodiment, the second analysis data may include the second analysis image visualizing the positions of the user's entire exercise muscles and the total exercise intensity for each exercise muscle during the specific period. The step of generating the second analysis data includes adding up the exercise intensity for each individual exercise muscle from the user's entire exercise muscles during a specific period of time; With respect to the user's exercise muscles, searching for a color mapped to the summed exercise intensity of individual exercise muscles from all exercise muscles in a pre-stored color table so that each exercise intensity of the individual exercise muscles during a specific period can be visually distinguished; And it may include applying the color searched for each individual exercise muscle to each individual exercise muscle. The step of retrieving the color mapped to the summed exercise intensity of the individual exercise muscles from a pre-stored color table includes calculating the daily average exercise intensity of the individual exercise muscles during a specific period of time; and retrieving the color mapped to the daily average exercise intensity from a pre-stored color table.

일 실시 예에서, 상기 사용자의 운동 동작에 대한 분석 자료를 생성하는 단계는, 특정 기간 동안의 사용자의 운동 상태 정보 및 운동 결과 정보 중 적어도 일부 정보에 기초하여 특정 기간 동안의 사용자의 운동 결과를 통계 분석하여 제3 분석 자료를 생성하는 단계를 포함하는 것일 수 있다. 상기 통계 분석은 상기 특정 기간 동안 상기 운동 결과 정보 내 값들을 항목별로 합산 또는 평균 분석한 것일 수 있다. In one embodiment, the step of generating analysis data on the user's exercise behavior includes statistics on the user's exercise results during a specific period based on at least some information of the user's exercise status information and exercise result information during the specific period. It may include a step of analyzing and generating third analysis data. The statistical analysis may be a summation or average analysis of values in the exercise result information for each item during the specific period.

일 실시 예에서, 상기 사용자의 운동 동작에 대한 분석 자료를 생성하는 단계는, 복수의 사용자의 운동 결과를 통계적으로 분석한, 사용자 그룹에 대한 제4 분석 자료를 생성하는 단계를 더 포함하고, 상기 제4 분석 자료를 생성하는 단계는, 복수의 사용자를 각 사용자의 프로필 데이터에 포함된 어느 정보로 그룹핑하여 사용자 그룹을 형성하는 단계; 및 사용자 그룹 내 개별 사용자의 운동 결과 정보 중 적어도 하나에 대해 통계 분석하여 사용자 그룹에 대한 운동 동향을 나타낸 제3 분석 자료를 생성하는 단계를 포함할 수 있다. 상기 제4 분석 자료는, 지역별 운동 동향 자료, BMI별 운동 동향, 기기종류별 운동 동향, 체형별 운동 동향, 신장별 운동 동향, 또는 국가별 운동 동향인 것일 수 있다. In one embodiment, the step of generating analysis data for the user's exercise movements further includes generating fourth analysis data for a user group, which statistically analyzes the exercise results of a plurality of users, The fourth step of generating analysis data includes forming a user group by grouping a plurality of users by certain information included in each user's profile data; and generating third analysis data showing exercise trends for the user group by performing statistical analysis on at least one piece of exercise result information of individual users within the user group. The fourth analysis data may be exercise trend data by region, exercise trend by BMI, exercise trend by device type, exercise trend by body type, exercise trend by height, or exercise trend by country.

본 출원의 다른 일 측면에 따른 컴퓨터 판독가능한 기록매체는 상술한 실시 예들에 따른 근골격계 운동 및 의료 서비스 관련 의사결정을 지원하기 위해 사용자의 운동 동작을 분석하여 시각적 측면에서 효과적으로 제공하는 방법을 수행하게 하는 프로그램을 기록할 수 있다. According to another aspect of the present application, a computer-readable recording medium performs a method of analyzing a user's exercise motion and effectively providing it in a visual aspect to support decision-making related to musculoskeletal exercise and medical services according to the above-described embodiments. Programs can be recorded.

본 출원의 또 다른 일 측면에 따른 운동 및 의료 서비스 관련 의사결정을 지원하기 위해 사용자의 운동 동작에 대한 분석 결과를 시각적 측면에서 효과적으로 제공하는 시스템은, 서버 및 하나 이상의 사용자의 전자장치를 포함할 수 있다. 상기 서버는, 퍼스널 트래이닝 객체의 적어도 하나의 운동 동작을 나타낸 퍼스널 트래이닝 비디오 이미지를 획득하고, 상기 퍼스널 트래이닝 비디오 이미지에서 상기 퍼스널 트래이닝 객체의 운동 동작을 분석하여 상기 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하고, 상기 사용자의 운동 동작을 촬영한 사용자의 비디오 이미지를 상기 서버에서 수신하며 - 상기 사용자의 운동 동작은 사용자가 선택한 퍼스널 트래이닝 비디오 이미지에 나타난 상기 퍼스널 트래이닝 객체의 적어도 하나의 운동 동작 중에서 상기 사용자의 운동 동작에 대응한 운동 동작을 모방한 것임, 상기 사용자의 비디오 이미지에서 상기 사용자의 운동 동작을 분석하여 상기 사용자의 자세정보를 생성하고, 상기 사용자의 자세정보에 기초하여 상기 사용자의 운동 상태 정보를 생성하고, 상기 사용자의 운동 동작과 상기 퍼스널 트래이닝 객체의 대응한 운동 동작을 서로 비교하기 위해, 상기 사용자의 자세정보와 상기 퍼스널 트래이닝 객체의 대응한 자세정보를 비교하여 상기 사용자의 운동 결과 정보를 생성하며 - 상기 퍼스널 트래이닝 객체의 대응한 자세정보는 상기 사용자의 운동 상태 정보가 서술하는 사용자의 운동 동작에 대응한 상기 퍼스널 트래이닝 객체의 운동 동작을 분석한 결과임, 그리고 상기 사용자의 운동 상태 정보 및 상기 사용자의 운동 결과 정보에 포함된 정보 중 적어도 하나의 정보에 기초하여 상기 사용자의 운동 동작에 대한 분석 자료를 생성하도록 - 상기 분석 자료는 사용자의 전자장치에서 표시되는 분석 화면을 생성하는데 이용됨 - 구성될 수 있다. A system that effectively provides analysis results of a user's exercise movements in a visual aspect to support decision-making related to exercise and medical services according to another aspect of the present application may include a server and one or more user electronic devices. there is. The server acquires a personal training video image representing at least one movement motion of a personal training object, analyzes the movement movement of the personal training object in the personal training video image, and generates metadata of the personal training video image, , receiving a video image of the user in which the user's exercise motion is captured from the server, and - the user's exercise motion is the user's exercise among at least one exercise motion of the personal training object shown in the personal training video image selected by the user It imitates the movement movement corresponding to the movement. The user's movement movement is analyzed in the user's video image to generate the user's posture information, and the user's movement state information is generated based on the user's posture information. And, in order to compare the user's exercise motion and the corresponding exercise motion of the personal training object, the user's posture information and the corresponding posture information of the personal training object are compared to generate exercise result information of the user, - The corresponding posture information of the personal training object is a result of analyzing the exercise motion of the personal training object corresponding to the user's exercise motion described by the user's exercise state information, and the user's exercise state information and the user It can be configured to generate analysis data about the user's exercise movement based on at least one piece of information included in the exercise result information - the analysis data is used to generate an analysis screen displayed on the user's electronic device - there is.

본 출원의 일 측면에 따른 운동 동작 분석 시스템은 원격 위치한 사용자의 건강 상태를 다양한 측면에서 종합적으로 서술하는 사용자의 운동 상태 정보, 운동 결과 정보를 수집할 수 있다. 이러한 운동 상태 정보, 운동 결과 정보는 미리 설정된 데이터 형식으로 생성되어 표준화되어 있다. The exercise motion analysis system according to one aspect of the present application can collect exercise state information and exercise result information of a user located remotely, which comprehensively describes the health state of the remotely located user from various aspects. This exercise state information and exercise result information is generated and standardized in a preset data format.

또한, 상기 운동 동작 분석 시스템은 사용자가 효과적으로 운동 상태, 운동 결과를 인식할 수 있도록 운동 상태, 운동 결과를 시각적으로 표현한 분석자료를 제공할 수 있다. Additionally, the exercise motion analysis system can provide analysis data that visually expresses the exercise state and exercise results so that the user can effectively recognize the exercise state and exercise results.

이러한 분석자료는 의료 의사결정을 내리기 어려운 병원의 환자 또는 일반 사용자에게 효율적으로 자신의 정보를 전달하여 이들이 의료 의사결정을 내리는데 유용하게 활용될 수 있다. This analysis data can be usefully used to help patients in making medical decisions by efficiently conveying their information to hospital patients or general users who have difficulty making medical decisions.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.

도 1은, 본 출원의 일 측면에 따른, 운동 및 의료 서비스 관련 의사결정을 지원하기 위해 사용자의 운동 동작에 대한 분석 결과를 시각적 측면에서 효과적으로 제공하는 시스템의 개략도이다.
도 2는, 본 출원의 다양한 실시 예들에 따른, 전자장치의 개략적인 블록도이다.
도 3은, 본 출원의 다양한 실시 예들에 따른, 서버의 개략적인 구성도이다.
도 4는, 본 출원의 다른 일 측면에 따른, 사용자의 운동 상태 또는 운동 결과를 시각적 측면에서 효과적으로 제공하는 방법의 흐름도이다.
도 5는, 본 출원의 다양한 실시 예들에 따른, 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하는 과정의 세부 흐름도이다.
도 6은, 본 출원의 다양한 실시 예들에 따른, 상기 사용자의 운동 결과 정보를 생성하는 과정의 세부 흐름도이다.
도 7은, 본 출원의 다양한 실시 예들에 따른, 사용근육 분석 모델의 구조를 개략적으로 설명한다.
도 8은, 본 출원의 다양한 실시 예들에 따른, 분석 자료를 생성하는 과정의 세부 흐름도이다.
도 9는, 본 출원의 일부 실시 예들에 따른, 운동종류별 운동 결과를 나타낸 제1 분석 자료를 도시한다.
도 10은, 본 출원의 다른 일부 실시 예들에 따른, 운동근육별 운동 결과를 나타낸 제1 분석 자료를 도시한다.
도 11은, 본 출원의 다양한 실시 예들에 따른, 제2 분석 자료 및 제3 분석 자료를 표시한 화면을 도시한다.
Figure 1 is a schematic diagram of a system that effectively provides analysis results of a user's exercise movements in a visual aspect to support decision-making related to exercise and medical services, according to one aspect of the present application.
2 is a schematic block diagram of an electronic device according to various embodiments of the present application.
3 is a schematic configuration diagram of a server according to various embodiments of the present application.
Figure 4 is a flowchart of a method for effectively providing a user's exercise state or exercise results in a visual aspect, according to another aspect of the present application.
Figure 5 is a detailed flowchart of a process for generating metadata of a personal training video image according to various embodiments of the present application.
Figure 6 is a detailed flowchart of a process for generating exercise result information of the user according to various embodiments of the present application.
Figure 7 schematically explains the structure of a used muscle analysis model according to various embodiments of the present application.
Figure 8 is a detailed flowchart of a process for generating analysis data according to various embodiments of the present application.
Figure 9 shows first analysis data showing exercise results by exercise type, according to some embodiments of the present application.
Figure 10 shows first analysis data showing exercise results for each exercise muscle according to some other embodiments of the present application.
Figure 11 shows a screen displaying second analysis data and third analysis data according to various embodiments of the present application.

이하에서, 도면을 참조하여 본 출원의 실시 예들에 대하여 상세히 살펴본다.Hereinafter, embodiments of the present application will be examined in detail with reference to the drawings.

그러나, 이는 본 개시(disclosure)를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.However, this disclosure is not intended to limit the disclosure to specific embodiments, and should be understood to include various modifications, equivalents, and/or alternatives to the embodiments of the disclosure. . In connection with the description of the drawings, similar reference numbers may be used for similar components.

본 명세서에서, "가진다," "가질 수 있다,""포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 단계, 부품, 요소 및/또는 성분 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재나 부가를 제외시키는 것이 아니다. In this specification, expressions such as “have,” “may have,” “includes,” or “may include” refer to the corresponding features (e.g., numerical values, functions, operations, steps, parts, elements, and/or components). It refers to the presence of components such as etc.) and does not exclude the presence or addition of additional features.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is said to be "connected" or "connected" to another component, it is understood that it may be directly connected to or connected to the other component, but that other components may exist in between. It should be. On the other hand, when it is mentioned that a component is “directly connected” or “directly connected” to another component, it should be understood that there are no other components in between.

다양한 실시 예에서 사용된 "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 해당 구성요소들을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들면, 제1 구성요소와 제2 구성요소는, 순서 또는 중요도와 무관하게, 서로 다른 구성요소를 나타낼 수 있다. Expressions such as “first,” “second,” “first,” or “second” used in various embodiments may modify various elements regardless of order and/or importance, and limit the elements. I never do that. The above expressions can be used to distinguish one component from another. For example, the first component and the second component may represent different components, regardless of order or importance.

본 명세서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to),"또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성(또는 설정)된"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성(또는 설정)된 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.As used herein, the expression “configured to” may mean, for example, “suitable for,” “having the capacity to,” or “having the capacity to.” ," can be used interchangeably with "designed to," "adapted to," "made to," or "capable of." The term “configured (or set) to” may not necessarily mean “specifically designed to” in hardware. Instead, in some contexts, the expression “a device configured to” may mean that the device is “capable of” working with other devices or components. For example, the phrase "processor configured (or set) to perform A, B, and C" refers to a processor dedicated to performing the operations (e.g., an embedded processor), or executing one or more software programs stored on a memory device. By doing so, it may mean a general-purpose processor (eg, CPU or application processor) capable of performing the corresponding operations.

본 출원의 실시 예들에 따른 시스템 및 방법은, 아래에서 서술하는 것처럼, 컨텐츠 이미지를 연산 처리하여 퍼스널 트래이닝 객체의 동작(actions)을 분석한 컨텐츠에 대한 메타데이터를 생성하고, 사용자의 동작 이미지를 연산 처리하여 사용자의 동작을 분석한 운동 상태 정보, 운동 결과와 정보를 생성할 수 있다. As described below, the system and method according to embodiments of the present application generate metadata for the content by analyzing the actions of the personal training object by processing the content image, and calculate the user's action image. Through processing, exercise status information, exercise results and information that analyze the user's movements can be generated.

상기 퍼스널 트래이닝 객체, 사용자와 같은 입력 비디오에 나타난 입력 객체의 동작(actions)은 연속적인 일련의 자세(pose)로 구현되는 신체의 움직임을 지칭한다. 상기 동작은 운동 동작, 일상생활 동작, 작업 동작(working actions), 기타 동작일 수 있다. The actions of an input object, such as the personal training object or a user, refer to body movements implemented in a series of continuous poses. The actions may be exercise actions, daily life actions, working actions, or other actions.

본 명세서에서는 상기 퍼스널 트래이닝 객체, 사용자의 움직임을 서술하는 용어 "동작(actions)"이 컴퓨팅 장치의 동작(operations)과 명확히 구별되도록 용어 "운동(또는 운동 동작)"을 상기 동작(actions)을 나타내는 것으로 지칭하여 본 출원의 실시 예들을 서술한다. 그러나, 이는 단지 예시적인 것으로서, 본 출원의 실시 예들이 운동 동작에 대해서만 적용된 실시 예들로 제한되어서는 안되는 것이 통상의 기술자들에게 명백하게 이해될 것이다. 예를 들어, 아래의 운동 상태 분석부, 운동 결과 분석부는 동작 상태 분석부(action state analyzing unit), 동작 결과 분석부로 또한 이해될 수 있다. In this specification, the term "exercise (or exercise operation)" is used to indicate the actions so that the term "actions", which describes the movements of the personal training object and the user, is clearly distinguished from the operations of the computing device. Referring to this, embodiments of the present application are described. However, this is merely illustrative, and it will be clearly understood by those skilled in the art that embodiments of the present application should not be limited to embodiments applied only to athletic movements. For example, the exercise state analysis unit and exercise result analysis unit below may also be understood as an action state analyzing unit and an action result analysis unit.

본 명세서에서 용어 "운동"은 퍼스널 트래이닝 객체, 사용자와 같은 생물체가 능동적으로 구현하는 각종 움직임을 지칭한다. 상기 "운동"은 신체적으로 건강한 사람의 운동에 제한되지 않으며, 일시적 또는 비일시적으로 신체의 움직임이 적어도 부분적으로 불편한 사람(예컨대, 환자 또는 장애인)의 움직임을 포함한다. 상기 불편한 사람의 움직임은, 예를 들어 병원의 재활 운동, 또는 특수 운동일 수 있다. In this specification, the term “exercise” refers to various movements actively implemented by living organisms such as personal training objects and users. The “exercise” is not limited to the exercise of a physically healthy person, and includes the movement of a person (eg, a patient or a disabled person) who is temporarily or non-temporarily at least partially incapable of moving their body. The movement of the uncomfortable person may be, for example, rehabilitation exercise in a hospital or special exercise.

도 1은, 본 출원의 일 측면에 따른, 운동 및 의료 서비스 관련 의사결정을 지원하기 위해 사용자의 운동 동작에 대한 분석 결과를 시각적 측면에서 효과적으로 제공하는 시스템의 개략도이다. Figure 1 is a schematic diagram of a system that effectively provides analysis results of a user's exercise movements in a visual aspect to support decision-making related to exercise and medical services, according to one aspect of the present application.

도 1을 참조하면, 상기 운동 및 의료 서비스 관련 의사결정을 지원하기 위해 사용자의 운동 동작에 대한 분석 결과를 시각적 측면에서 효과적으로 제공하는 시스템(이하, 운동 동작 분석 시스템, 1)은 사용자의 전자장치(100), 컨텐츠 제공자 시스템(200), 및 서버(300)를 포함한다. 상기 사용자의 전자장치(100) 및 서버(300)는 전기 통신 네트워크를 통해 유/무선 전기 통신할 수 있다. Referring to FIG. 1, a system that effectively provides analysis results of the user's exercise motion in a visual aspect to support decision-making related to exercise and medical services (hereinafter referred to as exercise motion analysis system 1) includes the user's electronic device ( 100), a content provider system 200, and a server 300. The user's electronic device 100 and the server 300 may communicate wired/wireless through a telecommunication network.

실시예들에 따른 운동 동작 분석 시스템(1)은 전적으로 하드웨어이거나, 전적으로 소프트웨어이거나, 또는 부분적으로 하드웨어이고 부분적으로 소프트웨어인 측면을 가질 수 있다. 예컨대, 시스템은 데이터 처리 능력이 구비된 하드웨어 및 이를 구동시키기 위한 운용 소프트웨어를 통칭할 수 있다. 본 명세서에서 "부(unit)", "시스템" 및 "장치" 등의 용어는 하드웨어 및 해당 하드웨어에 의해 구동되는 소프트웨어의 조합을 지칭하는 것으로 의도된다. 예를 들어, 하드웨어는 CPU(Central Processing Unit), GPU(Graphic Processing Unit) 또는 다른 프로세서(processor)를 포함하는 데이터 처리 기기일 수 있다. 또한, 소프트웨어는 실행중인 프로세스, 객체(object), 실행파일(executable), 실행 스레드(thread of execution), 프로그램(program) 등을 지칭할 수 있다.The motor motion analysis system 1 according to embodiments may be entirely hardware, entirely software, or may have aspects that are partly hardware and partly software. For example, a system may collectively refer to hardware equipped with data processing capabilities and operating software for running it. In this specification, terms such as “unit,” “system,” and “device” are intended to refer to a combination of hardware and software driven by the hardware. For example, the hardware may be a data processing device that includes a Central Processing Unit (CPU), Graphics Processing Unit (GPU), or other processor. Additionally, software may refer to a running process, object, executable, thread of execution, program, etc.

전기 통신 네트워크는, 전자장치(100), 서버(300)가 서로 데이터를 송수신할 수 있는 유/무선의 전기 통신 경로를 제공한다. 전기통신 네트워크는 특정한 통신 프로토콜에 따른 통신 방식에 한정되지 않으며, 구현예에 따라 적절한 통신 방식이 사용될 수 있다. 예를 들어, 인터넷 프로토콜(IP) 기초의 시스템으로 구성되는 경우 전기 통신 네트워크는 유선 및/또는 무선 인터넷망으로 구현될 수 있으며, 전자장치(100) 및 서버(300)가 이동 통신 단말로서 구현되는 경우 전기통신 네트워크는 셀룰러 네트워크 또는 WLAN(wireless local area network) 네트워크와 같은 무선망으로 구현될 수 있다. The telecommunication network provides a wired/wireless telecommunication path through which the electronic device 100 and the server 300 can transmit and receive data with each other. A telecommunication network is not limited to a communication method according to a specific communication protocol, and an appropriate communication method may be used depending on the implementation. For example, when configured as an Internet Protocol (IP)-based system, the telecommunication network may be implemented as a wired and/or wireless Internet network, and the electronic device 100 and the server 300 are implemented as mobile communication terminals. In this case, the telecommunication network may be implemented as a wireless network, such as a cellular network or a wireless local area network (WLAN) network.

상기 사용자의 전자장치(100)는 사용자의 신체 프로필 데이터를 포함한 프로필 데이터를 시스템(1)에 입력하고; 상기 서버(300)에 사용자 자신의 운동 동작 분석을 요청하고 분석 대상 동작으로서 사용자 자신의 운동 동작을 나타낸 운동 비디오 이미지를 전송하며; 상기 사용자의 운동 비디오 이미지를 분석한 분석 자료를 포함한 분석 화면 데이터를 수신하여 분석 화면을 표시하도록 구성될 수 있다. The user's electronic device 100 inputs profile data, including the user's body profile data, into the system 1; Requesting the server 300 to analyze the user's own exercise motion and transmitting an exercise video image showing the user's own exercise motion as the analysis target motion; It may be configured to receive analysis screen data including analysis data obtained by analyzing the user's exercise video image and display an analysis screen.

상기 전자장치(100)는 데이터를 처리할 수 있는 적어도 하나의 프로세서, 데이터를 저장하는 메모리, 데이터를 송/수신하는 통신부를 포함한다. 상기 전자장치(100)는, 예를 들어, 랩탑 컴퓨터, 기타 컴퓨팅 장치, 태블릿, 셀룰러 폰, 스마트 폰, 스마트 워치, 스마트 글래스, 헤드 마운트 디스플레이(HMD), 기타 모바일 장치, 기타 웨어러블 장치일 수도 있다.The electronic device 100 includes at least one processor capable of processing data, a memory for storing data, and a communication unit for transmitting/receiving data. The electronic device 100 may be, for example, a laptop computer, other computing device, tablet, cellular phone, smart phone, smart watch, smart glasses, head mounted display (HMD), other mobile device, or other wearable device. .

이러한 전자장치(100)의 동작에 대해서는 아래의 도 2, 도 4를 참조해 보다 상세히 서술한다. The operation of this electronic device 100 will be described in more detail with reference to FIGS. 2 and 4 below.

도 2는, 본 출원의 다양한 실시 예들에 따른, 전자장치의 개략적인 블록도이다. Figure 2 is a schematic block diagram of an electronic device according to various embodiments of the present application.

도 2를 참조하면, 상기 전자장치(100)는 메모리(101), 통신부(102), 프로세서(103), 입력 장치(104), 출력장치(105), 카메라 모듈(106)을 포함할 수 있다. 일부 실시 예들에서, 상기 전자장치(100)는 바이오 센서(미도시)를 포함할 수도 있다.Referring to FIG. 2, the electronic device 100 may include a memory 101, a communication unit 102, a processor 103, an input device 104, an output device 105, and a camera module 106. . In some embodiments, the electronic device 100 may include a biosensor (not shown).

메모리(101)는, 프로세서(103)와 연결되고 프로세서(103)의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보, 프로세서(103)의 연산에 의하여 생성된 정보 등의 데이터를 저장할 수 있다. 메모리(101)는 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고, 메모리(101)는 프로세서(103)의 요청에 따라 저장된 데이터를 제공할 수 있다. 또한, 메모리(101)는 통신부(102)에서 수신한 데이터, 카메라 모듈(106)에서 촬영한 데이터, 센서 모듈(107)에서 생성한 센싱 데이터, 프로세서(103)에서 생성되거나 처리된 데이터를 영구적으로 또는 임시로 저장할 수 있다. The memory 101 is connected to the processor 103 and can store data such as basic programs for operation of the processor 103, application programs, setting information, and information generated by operations of the processor 103. The memory 101 may be comprised of volatile memory, non-volatile memory, or a combination of volatile memory and non-volatile memory. Additionally, the memory 101 may provide stored data according to the request of the processor 103. In addition, the memory 101 permanently stores data received from the communication unit 102, data captured by the camera module 106, sensing data generated by the sensor module 107, and data generated or processed by the processor 103. Or you can save it temporarily.

메모리(101)는 HDD(Hard Disk Drive), SSD(Solid State Drive), CD(Compact Disc), RAM(Random Access Memory), Rom(Read Only Memory), 데이터를 영구적, 반영구적 또는 임시적으로 저장하는 다양한 기타 저장 장치를 포함할 수도 있다. The memory 101 includes HDD (Hard Disk Drive), SSD (Solid State Drive), CD (Compact Disc), RAM (Random Access Memory), Rom (Read Only Memory), and various types of data that store data permanently, semi-permanently, or temporarily. It may also include other storage devices.

본 출원의 다양한 실시 예들에서, 상기 메모리(101)는, 근골격계 운동 및 의료 서비스 관련 의사결정을 지원하기 위해 사용자의 운동 상태 또는 운동 결과를 시각적 측면에서 효과적으로 제공하는 시스템 및 방법의 동작들을 수행하기 위한 전용 애플리케이션을 저장할 수 있다. In various embodiments of the present application, the memory 101 is used to perform operations of a system and method that effectively provides a user's exercise state or exercise results in a visual aspect to support decision-making related to musculoskeletal exercise and medical services. Dedicated applications can be stored.

통신부(102)는, 프로세서(103)와 연결되어 데이터를 송수신하며, 다른 전자장치(100) 또는 서버(300) 등의 외부 장치들과 데이터를 송수신할 수 있다. 통신부(102)의 전부 또는 일부는 송신기(transmitter), 수신기(receiver), 송수신기(transceiver), 통신부(communication unit), 통신 모뎀(communication model) 또는 통신 회로(communication circuit)로 지칭할 수 있다. 송수신기(102)는 유선 접속 시스템 및 무선 접속 시스템들인 IEEE(institute of electrical and electronics engineers) 802.xx 시스템, IEEE Wi-Fi 시스템, 3GPP(3rd generation partnership project) 시스템, 3GPP LTE(long term evolution) 시스템, 3GPP 5GNR(new radio) 시스템, 3GPP2 시스템, 블루투스(Bluetooth) 등 다양한 무선 통신 규격 중 적어도 하나를 지원할 수 있다. The communication unit 102 is connected to the processor 103 to transmit and receive data, and can transmit and receive data with external devices such as another electronic device 100 or the server 300. All or part of the communication unit 102 may be referred to as a transmitter, receiver, transceiver, communication unit, communication modem, or communication circuit. The transceiver 102 uses wired access systems and wireless access systems such as the IEEE (institute of electrical and electronics engineers) 802.xx system, IEEE Wi-Fi system, 3rd generation partnership project (3GPP) system, and 3GPP LTE (long term evolution) system. , 3GPP 5GNR (new radio) system, 3GPP2 system, and Bluetooth can support at least one of various wireless communication standards.

프로세서(103)는, 본 발명에서 제안한 절차 및/또는 방법들을 구현하도록 구성될 수 있다. 프로세서(103)는 미리 저장된 연산 처리 동작을 수행하여 정보를 생성하거나 생성하고, 결정되거나 생성된 정보에 기초하여 이어서 수행되어야 하는 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 그리고 프로세서(103)는 전자장치(100)의 구성요소들을 제어하여, 결정된 동작을 수행할 수 있다. 이를 위해, 프로세서(103)는 메모리(101)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 상기 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 전자장치(100)의 구성 요소들을 제어할 수 있다.The processor 103 may be configured to implement the procedures and/or methods proposed in the present invention. The processor 103 may generate or generate information by performing pre-stored arithmetic processing operations and determine at least one executable operation to be subsequently performed based on the determined or generated information. And the processor 103 can control the components of the electronic device 100 to perform the determined operation. To this end, the processor 103 may request, retrieve, receive, or utilize data from the memory 101, and the electronic device 100 may execute an operation that is predicted or is determined to be desirable among the at least one executable operation. ) components can be controlled.

이러한 프로세서(103)는 적어도 하나의 프로세서로 구현될 수도 있다. 상기 프로세서(103)는, CPU(Central processing unit) 또는 인간의 뇌의 신경세포와 시냅스를 모하여 인공 신경망의 연산에 유리하게 설계된 뉴로모픽 프로세서(Neuromorphic processor) 등을 포함할 수도 있다. This processor 103 may be implemented with at least one processor. The processor 103 may include a CPU (Central processing unit) or a neuromorphic processor designed to be advantageous for artificial neural network calculations by incorporating neurons and synapses of the human brain.

본 출원의 다양한 실시 예들에서, 상기 프로세서(103)는 분석 자료를 제공하기 위해 서버(300)에서 분석하는데 사용할 사용자의 운동 비디오 이미지, 건강 상태 데이터를 제공하고 서버(300)로부터 제공 받은 분석 자료를 표시하는, 전자장치(100)의 전반적인 동작을 제어한다. In various embodiments of the present application, the processor 103 provides the user's exercise video image and health status data to be used for analysis by the server 300 to provide analysis data, and analyzes data provided from the server 300. Display and control the overall operation of the electronic device 100.

입력장치(104)는 사용자의 입력과 관련된 명령을 수신하도록 구성된 구성요소이다. 상기 입력장치(104)는, 터치 유닛 또는 기타 입력 유닛을 포함할 수도 있다. The input device 104 is a component configured to receive commands related to user input. The input device 104 may include a touch unit or other input unit.

터치 유닛은 사용자의 신체 일부 또는 다른 객체가 포인팅 객체로 활용되어 바이어 명령을 입력하는 구성요소이다. 상기 터치 유닛은 감압식 또는 정전기식 센서 등을 포함할 수 있으나, 이에 제한되진 않는다. 상기 기타 입력 유닛은 예를 들어 버튼, 키보드, 다이얼, 스위치, 스틱 등을 포함한다. The touch unit is a component that uses a part of the user's body or another object as a pointing object to input a buyer command. The touch unit may include, but is not limited to, a pressure-sensitive or electrostatic sensor. The other input units include, for example, buttons, keyboards, dials, switches, sticks, etc.

출력장치(105)는 전자장치(100)에 저장 및/또는 처리된 정보를 디스플레이하는 구성요소로서, 예를 들어, LCD, OLED, 플렉서블 스크린 등을 포함할 수 있으나, 이에 제한되진 않는다. The output device 105 is a component that displays information stored and/or processed in the electronic device 100 and may include, for example, an LCD, OLED, or flexible screen, but is not limited thereto.

도 2에서 입력장치(104)와 출력장치(105)이 분리되어 있지만, 많은 실시 예들에서 상기 입력장치(104)와 출력장치(105)는 입력 수신 및 정보 출력을 수행하도록 하나의 구성요소로 구현될 수 있다. 예를 들어, 입력장치(104) 및 출력장치(105)는 스크린과 레이어 구조를 이루는 터치 스크린으로 구현된 터치 패널일 수도 있다. 터치 입력은 (예컨대, 사용자의 신체, 또는 도구 등을 포함한) 포인팅 객체에 의해 입력된다.Although the input device 104 and the output device 105 are separated in FIG. 2, in many embodiments, the input device 104 and the output device 105 are implemented as a single component to receive input and output information. It can be. For example, the input device 104 and the output device 105 may be a touch panel implemented as a touch screen forming a layer structure with a screen. Touch input is input by a pointing object (eg, including the user's body, a tool, etc.).

본 출원의 다양한 실시 예들에서, 사용자의 전자장치(100)는 입력 장치(104)를 통해 사용자의 프로필 데이터를 시스템(1)에 입력할 수 있다. In various embodiments of the present application, the user's electronic device 100 may input the user's profile data into the system 1 through the input device 104.

또한, 상기 사용자의 전자장치(100)는 출력 장치105를 통해 사용자의 운동 동작을 생성하는데 이용되는 퍼스널 트래이닝 비디오 이미지를 표시할 수 있다. 사용자의 운동 동작은 퍼스널 트래이닝 비디오 이미지에 나타난 퍼스널 트래이닝 객체의 운동 동작을 모방하여, 적어도 부분적으로 자세가 일치한 것일 수 있다. Additionally, the user's electronic device 100 may display a personal training video image used to generate the user's exercise movements through the output device 105. The user's exercise motion may mimic the exercise motion of the personal training object shown in the personal training video image, and the posture may at least partially match.

또한, 상기 사용자의 전자장치(100)는 출력 장치105를 통해 사용자의 운동 동작을 분석한 분석 자료를 제공 받을 수 있다. 본 출원의 다양한 실시 예들에서, 상기 사용자의 전자장치(100)는 상기 분석 자료를 분석 화면을 통해 표시할 수 있다. Additionally, the user's electronic device 100 may receive analysis data analyzing the user's exercise movements through the output device 105. In various embodiments of the present application, the user's electronic device 100 may display the analysis data through an analysis screen.

본 출원의 다양한 실시 예들에서, 카메라 모듈(106)는 피사체를 촬영하여 정지 이미지 또는 동영상 등의 이미지 프레임을 획득한다. 획득된 이미지 프레임은 출력장치(106)의 디스플레이(Display)에 표시되거나, 통신부(102)를 통해 외부 장치에 전송되거나, 프로세서(103)에 의해 처리되거나, 메모리(101)에 저장될 수 있다.In various embodiments of the present application, the camera module 106 captures a subject to obtain an image frame such as a still image or video. The acquired image frame may be displayed on the display of the output device 106, transmitted to an external device through the communication unit 102, processed by the processor 103, or stored in the memory 101.

카메라 모듈(106)는 파장에 반응하여 대상의 이미지를 생성하는 촬영 유닛을 포함한다. 예를 들어, 카메라 모듈(106)는 RGB 센서를 포함하여 RGB 이미지를 획득할 수도 있다. 또한, 카메라 모듈(106)는 IR 센서 또는 깊이 센서를 더 포함하여 IR 이미지 또는 Depth 이미지를 추가로 획득하도록 더 구성될 수도 있다.The camera module 106 includes a photographing unit that generates an image of an object in response to wavelengths. For example, the camera module 106 may include an RGB sensor to obtain an RGB image. In addition, the camera module 106 may be further configured to further include an IR sensor or a depth sensor to additionally acquire an IR image or a depth image.

본 출원의 다양한 실시 예들에서, 상기 전자장치(100)는 카메라 모듈(106)을 통해 사용자의 운동 동작을 촬영한 사용자의 운동 비디오 이미지를 생성할 수 있다. In various embodiments of the present application, the electronic device 100 may generate a user's exercise video image by filming the user's exercise movements through the camera module 106.

또한, 본 출원의 다양한 실시 예들에서, 상기 사용자의 전자장치(100)는 하나 이상의 바이오 센서(미도시)를 포함할 수 있다. 상기 사용자의 전자장치(100)는 상기 바이오 센서를 통해 사용자의 건강 상태 데이터를 획득할 수 있다. Additionally, in various embodiments of the present application, the user's electronic device 100 may include one or more biosensors (not shown). The user's electronic device 100 may obtain the user's health status data through the biosensor.

상기 바이오 센서는 음향 센서, 체온 센서, 혈압 센서, 및/또는 혈당 센서일 수 있다. 상기 사용자의 전자장치(100)는 바이오 센서를 통해 폐음, 위장음, 심박음 데이터, 체온 데이터, 혈압 데이터, 혈당 데이터, 및 이들의 2이상의 조합 중 어느 하나의 건강 상태 데이터를 획득할 수 있다. The biosensor may be an acoustic sensor, a body temperature sensor, a blood pressure sensor, and/or a blood sugar sensor. The user's electronic device 100 may acquire health status data of any one of lung sounds, stomach sounds, heart rate sound data, body temperature data, blood pressure data, blood sugar data, and combinations of two or more thereof through a biosensor.

상기 전자장치(100)는 사용자의 건강 상태 데이터를 서버(300)로 전송할 수 있다. 상기 건강 상태 데이터는 사용자의 운동 동작을 분석한 결과와 함께 근골격계 운동 및 의료 서비스 관련 의사결정을 제공하는데 이용될 수 있다. The electronic device 100 may transmit the user's health status data to the server 300. The health status data, together with the results of analyzing the user's exercise movements, can be used to provide decisions related to musculoskeletal exercise and medical services.

다시 도 1을 참조하면, 상기 시스템(1)에서 컨텐츠 제공자 시스템(200)는 퍼스널 트래이닝 비디오 이미지를 서버(300) 또는 전자장치(100)로 제공할 수 있다. Referring again to FIG. 1, in the system 1, the content provider system 200 may provide a personal training video image to the server 300 or the electronic device 100.

전자장치(100)는 컨텐츠 제공자 시스템(200)이 제공하는 퍼스널 트래이닝 비디오 이미지를 표시할 수 있다. 상기 퍼스널 트래이닝 비디오 이미지는 퍼스널 트래이닝 객체의 적어도 하나의 운동 동작을 나타낸, 연속적인 일련의 비디오 프레임을 포함한다. 상기 퍼스널 트래이닝 비디오 이미지는 비디오 데이터 또는 비디오 및 음향 데이터가 결합된 멀티미디어 데이터 형태로 제공될 수 있다. The electronic device 100 may display a personal training video image provided by the content provider system 200. The personal training video image comprises a continuous series of video frames representing at least one motor movement of a personal training object. The personal training video image may be provided in the form of video data or multimedia data combining video and sound data.

퍼스널 트레이닝 비디오 이미지는 퍼스널 트래이닝 객체가 동작을 취하는 것을 촬영한 영상 컨텐츠일 수 있다. 상기 퍼스널 트레이닝 컨텐츠는 상기 퍼스널 트레이닝 컨텐츠를 감상하는 사용자에게 올바른 동작 정보를 제공하기 위한 가이드 컨텐츠일 수 있다. 이 경우, 상기 퍼스널 트래이닝 객체는 사용자의 운동 동작을 트레이닝하기 위한 트레이너, 코치 또는 기타 전문가일 수 있다. A personal training video image may be video content that captures a personal training object performing an action. The personal training content may be guide content for providing correct operation information to users who watch the personal training content. In this case, the personal training object may be a trainer, coach, or other expert for training the user's exercise movements.

상기 서버(300)는 하나 이상의 컨텐츠 제공자 시스템(200)과 연결되어, 다양한 운동 종목에 대한 퍼스널 트레이닝 컨텐츠를 획득할 수 있다. 각각의 운동 종목에 대한 퍼스널 트레이닝 컨텐츠는 해당 종목의 운동 동작을 보여주는 이미지를 포함한다. 상기 운동 종목은 웨이트, 요가, 필라테스, 크로스핏, 재활 운동(또는 재활 훈련), 기타 퍼스널 트레이닝 운동에 제한되지 않는다. 상기 운동 종목은 골프, 야구, 축구, 농구 등과 같은 구기 종목, 기타 운동 종목일 수 있다.The server 300 is connected to one or more content provider systems 200 and can obtain personal training content for various sports events. Personal training content for each exercise event includes images showing the exercise movements of the corresponding sport. The above exercise items are not limited to weights, yoga, Pilates, CrossFit, rehabilitation exercise (or rehabilitation training), and other personal training exercises. The sports events may be ball games such as golf, baseball, soccer, basketball, etc., or other sports events.

본 명세서에서, "컨텐츠 제공자(Content Provider)"는 비디오 이미지를 제공하는 주체를 지칭한다. 여기서, "제공자"는 시스템 외부에서 시스템(1)의 관계자의 제작 요청과 관계 없이 생성한 컨텐츠를 제공하는 "온라인 서비스 제공자", 또는 시스템 관계자의 제작 요청에 따라 시스템 외부에서 생성한 컨텐츠를 제공하는 "외주 컨텐츠 제공자", 및 시스템 내부에서 자체적으로 생성한 컨텐츠를 제공하는 "내부 컨텐츠 제공자" 중 적어도 하나의 컨텐츠 제공자를 의미한다. In this specification, “Content Provider” refers to an entity that provides video images. Here, the “provider” is an “online service provider” that provides content created outside the system regardless of the production request of the person involved in the system (1), or an “online service provider” that provides content created outside the system according to the production request of the person involved in the system. Refers to at least one content provider among an “outsourced content provider” and an “internal content provider” that provides self-generated content within the system.

상기 관계자는 본 시스템(1)의 운영자이거나, 또는 시스템(1)과 협업하는 협업자일 수 있다. 협업자는 시스템에서 제공하는 분석 대상 운동의 범위에 의존한다. 예를 들어, 상기 시스템이 재활 운동을 분석하도록 구성될 경우, 상기 협업자는 병원, 또는 재활기관(또는 그 구성원 또는 관계자)일 수 있다. 이 경우, 컨텐츠 제공자 시스템(200)은 병원 관계자가 재활 대상 환자의 EMR(Electronic Medical Record)에서 발행된 처방 코드에 따라서 제작한 재활 운동 컨텐츠를 제공할 수 있다. 그러면, 재활 대상 환자는 본 시스템(1)의 사용자로서 제작된 재활 운동 컨텐츠에 포함된 재활 운동 조합을 모방하고, 모방 결과가 분석되어 제공될 수 있다. The person concerned may be an operator of the system 1 or a collaborator collaborating with the system 1. Collaborators rely on the range of movements to be analyzed provided by the system. For example, if the system is configured to analyze rehabilitation exercises, the collaborator may be a hospital, or a rehabilitation institution (or a member or associate thereof). In this case, the content provider system 200 may provide rehabilitation exercise content produced by hospital personnel according to the prescription code issued in the EMR (Electronic Medical Record) of the patient subject to rehabilitation. Then, the patient subject to rehabilitation can imitate the combination of rehabilitation exercises included in the rehabilitation exercise content created as a user of the present system 1, and the imitation results can be analyzed and provided.

또는, 상기 시스템이 퍼스널 트래이닝 운동을 분석하도록 구성될 경우, 상기 협업자는 퍼스널 트래이닝 센터(또는 그 구성원)일 수 있다. Alternatively, if the system is configured to analyze personal training exercises, the collaborator may be a personal training center (or a member thereof).

본 출원의 다양한 실시 예들에서, 상기 본 시스템(1)의 운영자와 협업자가 동일한 주체일 수 있다. 예를 들어, 병원이 본 시스템(1)의 운영자일 경우, 병원은 단일 주체로서 본 시스템(1)의 운영자의 역할과 협업자의 역할을 모두 수행할 수 있다. In various embodiments of the present application, the operator and collaborator of the present system 1 may be the same entity. For example, if a hospital is the operator of this system (1), the hospital can perform both the role of the operator of the system (1) and the role of a collaborator as a single entity.

본 명세서에서, 비디오 이미지는 단일 종류의 미디어(monomedia), 또는 복수 종류의 미디어(multi-media) 또는 그 부분 집합(subset)인 동영상 컴포넌트의 집합 이미지 데이터를 의미한다. 상기 비디오 이미지 데이터는 영상 및/또는 오디오 트랙 정보, 코덱 계층 정보(예를 들어, 기본 계층(base layer), 향상 계층(enhancement layer)), 또는 자막 정보를 포함할 수 있다.In this specification, a video image refers to aggregate image data of video components that are a single type of media (monomedia), multiple types of media (multi-media), or a subset thereof. The video image data may include video and/or audio track information, codec layer information (eg, base layer, enhancement layer), or subtitle information.

상기 서버(300)는 컨텐츠 제공자 시스템(200)의 퍼스널 트래이닝 비디오 이미지에 나타난 퍼스널 트래이닝 객체의 적어도 하나의 운동 동작을 분석한, 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성할 수 있다. The server 300 may generate metadata of the personal training video image by analyzing at least one movement motion of the personal training object shown in the personal training video image of the content provider system 200.

본 명세서에서, "메타데이터"는 컨텐츠 제공자 시스템(200)이 제공하는 컨텐츠인 퍼스널 트래이닝 비디오 이미지에 연관된 데이터로서, 퍼스널 트래이닝 비디오 이미지에 나타난 퍼스널 트래이닝 객체의 운동 동작을 서술하는 다양한 속성 정보를 포함할 수 있다. In this specification, “metadata” is data associated with a personal training video image, which is content provided by the content provider system 200, and may include various attribute information describing the movement motion of a personal training object shown in the personal training video image. You can.

상기 퍼스널 트래이닝 비디오 이미지에 대해서는 아래에서 보다 상세히 서술한다. The personal training video images are described in more detail below.

서버(300)는 컨텐츠 제공자 시스템(200)로부터 제공 받은 퍼스널 트래이닝 비디오 이미지에 나타난 퍼스널 트래이닝 객체의 운동 동작을 분석하여 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하고; 사용자의 전자장치(100)로부터 요청된 사용자의 운동 비디오 이미지에 나타난 사용자의 운동 동작을 분석하여 상기 사용자의 자세정보를 생성하고, 상기 사용자의 자세정보에 기초하여 사용자의 운동 상태 정보, 운동 결과 정보를 생성하고; 상기 전자장치(100)로 전송해 분석 화면을 표시하도록 상기 사용자의 운동 상태 정보, 운동 결과 정보에 기초한 분석 자료를 포함한 분석 화면 데이터를 생성하도록 구성된다. The server 300 analyzes the movement motion of the personal training object shown in the personal training video image provided from the content provider system 200 and generates metadata of the personal training video image; The user's posture information is generated by analyzing the user's exercise movements shown in the user's exercise video image requested from the user's electronic device 100, and the user's exercise status information and exercise result information are based on the user's posture information. create; It is configured to generate analysis screen data including analysis data based on the user's exercise state information and exercise result information to be transmitted to the electronic device 100 to display an analysis screen.

상기 서버(300)는 일체형 서버(unitary server)일 수 있거나, 다수의 컴퓨터 또는 다수의 데이터센터에 걸쳐 있는 분산형 서버로 구현될 수도 있다. 본 출원의 다양한 실시 예들에서, 상기 서버는 네트워크 서버로 구현되는 다수의 컴퓨터 시스템 또는 컴퓨터 소프트웨어이다. 여기서, 네트워크 서버란, 사설 인트라넷 또는 인터넷과 같은 컴퓨터 네트워크를 통해 다른 네트워크 서버와 통신할 수 있는 하위 장치와 연결되어 작업 수행 요청을 접수하고 그에 대한 작업을 수행하여 수행 결과를 제공하는 컴퓨터 시스템 및 컴퓨터 소프트웨어(네트워크 서버 프로그램)를 의미한다. 그러나 이러한 네트워크 서버 프로그램 이외에도, 네트워크 서버 상에서 동작하는 일련의 응용 프로그램과 경우에 따라서는 내부에 구축되어 있는 각종 데이터베이스를 포함하는 넓은 개념으로 이해되어야 할 것이다. 상기 서버는 네트워크 서버, 웹 서버, 파일 서버, 슈퍼컴퓨터, 데스크탑 컴퓨터 등과 같은 컴퓨팅 장치들의 임의의 유형 또는 유형들의 조합으로 구현될 수도 있다. 이를 위해, 서버는 데이터를 처리할 수 있는 적어도 하나의 프로세서, 데이터를 저장하는 메모리, 데이터를 송/수신하는 통신부를 포함한다.The server 300 may be a unitary server, or may be implemented as a distributed server spanning multiple computers or multiple data centers. In various embodiments of the present application, the server is a plurality of computer systems or computer software implemented as a network server. Here, a network server is a computer system and computer that is connected to a sub-device that can communicate with other network servers through a computer network such as a private intranet or the Internet, receives a request to perform a task, performs the task, and provides a performance result. Refers to software (network server program). However, in addition to these network server programs, it should be understood as a broad concept that includes a series of application programs operating on a network server and, in some cases, various databases built within it. The server may be implemented as any type or combination of types of computing devices, such as a network server, web server, file server, supercomputer, desktop computer, etc. For this purpose, the server includes at least one processor capable of processing data, a memory to store data, and a communication unit to transmit/receive data.

상기 서버(300)의 동작에 대해서는 아래의 도 3, 도 4를 참조해 보다 상세히 서술한다. The operation of the server 300 will be described in more detail with reference to FIGS. 3 and 4 below.

도 3은, 본 출원의 다양한 실시 예들에 따른, 서버의 개략적인 구성도이다. 3 is a schematic configuration diagram of a server according to various embodiments of the present application.

도 3을 참조하면, 상기 서버(300)는 제어부(310), 운동 상태 분석부(330); 운동 결과 분석부(350); 프로필 저장소(301), 메타데이터 저장소(303), 분석 자료 저장소(305)를 포함한다. 일부 실시 예들에서, 상기 서버(300)는 컨텐츠 저장소(302)를 더 포함할 수 있다. Referring to Figure 3, the server 300 includes a control unit 310, an exercise state analysis unit 330; Exercise result analysis unit 350; It includes a profile repository (301), a metadata repository (303), and an analysis data repository (305). In some embodiments, the server 300 may further include a content storage 302.

프로필 저장소(301)는 프로필 데이터를 저장하는 데이터 저장소이다. The profile storage 301 is a data storage that stores profile data.

사용자의 프로필 데이터는 다른 사용자와 식별하는데 이용되는, 사용자의 정체성을 서술하는 일반적인 프로필 데이터 및/또는 사용자의 고유한 신체 정보를 서술하는 신체 측면의 프로필 데이터를 포함한다. 상기 사용자의 프로필 데이터는 사용자의 식별 정보 및 사용자의 신체 상태를 서술하는 정보(이하, 신체 프로필 정보)를 포함할 수 있다. A user's profile data includes general profile data describing the user's identity, used to identify the user from other users, and/or body aspect profile data describing the user's unique physical information. The user's profile data may include the user's identification information and information describing the user's physical condition (hereinafter referred to as body profile information).

예를 들어, 사용자의 프로필 데이터는 시스템(1) 내 사용자 ID, 환자 처방 결과에 대한 환자 ID, 성명, 주소, 이메일 주소, 전화번호, 생년월일, 사용자별로 고유한 기타 식별정보 중 적어도 하나의 식별 정보를 포함할 수 있다.For example, the user's profile data includes at least one identifying information among the user ID in the system (1), patient ID for patient prescription results, name, address, email address, phone number, date of birth, and other identifying information unique to the user. may include.

상기 사용자의 신체 프로필 정보는 사용자의 성별, 신장, 몸무게를 포함한다. The user's body profile information includes the user's gender, height, and weight.

본 출원의 다양한 실시 예들에서, 상기 사용자의 프로필 데이터는 상기 사용자의 신체 상태를 서술하는 정보로서 상기 사용자의 BMI, 사용자의 관심 부위, 체형 정보 중 하나 이상의 정보를 더 포함할 수 있다. 상기 관심 부위는 특정 부위의 근육, 또는 사용자의 신체 내 기타 부위일 수 있다.In various embodiments of the present application, the user's profile data is information describing the user's physical condition and may further include one or more of the user's BMI, the user's area of interest, and body shape information. The area of interest may be a specific area of muscle, or another area within the user's body.

사용자의 입력이 없는 경우, 사용자의 신체 프로필 정보 중 적어도 일부는 시스템(1)에 미리 설정된 값이 적용될 수 있다. 예를 들어, 사용자의 입력이 없으면 시스템(1)에 미리 저장된 기본 체중, 기본 신장, 기본 BMI 값이 사용자의 신체 프로필 정보로 이용될 수 있다. 상기 기본 BMI는 예를 들어 건강보험공단의 BMI 자료 또는 기타 표준화된 BMI 자료일 수 있다. If there is no user input, a preset value in the system 1 may be applied to at least some of the user's body profile information. For example, if there is no user input, the basic weight, basic height, and basic BMI values pre-stored in the system 1 may be used as the user's body profile information. The basic BMI may be, for example, BMI data from the National Health Insurance Corporation or other standardized BMI data.

서버(300)는 사용자의 운동 상태 정보, 운동 결과 정보를 생성하는데 저장된 신체 프로필 데이터를 이용할 수 있다.The server 300 may use the stored body profile data to generate the user's exercise state information and exercise result information.

또한, 일부 실시 예들에서, 상기 사용자의 신체 프로필 데이터는 사용자와 연관된 병원기관의 EMR(Electronic Medical Record) 정보로부터 획득될 수 있다. 상기 시스템(1)은 병원기관의 EMR 시스템과 연동되어 상기 사용자의 EMR 정보 중 일부 또는 전부를 직접 획득할 수 있다. Additionally, in some embodiments, the user's body profile data may be obtained from Electronic Medical Record (EMR) information of a hospital associated with the user. The system 1 can directly obtain some or all of the user's EMR information by linking with the hospital's EMR system.

또한, 일부 실시 예들에서, 상기 사용자의 프로필 데이터는 사용자가 위치한 지리적 지역, 국가, 기기종류, 선호 운동 동작 정보 중 하나 이상을 더 포함할 수 있다. 사용자의 지리적 지역 정보는 전자장치(100)의 IP 대역에 따른 지역정보를 통해 획득될 수 있다. Additionally, in some embodiments, the user's profile data may further include one or more of the geographical region where the user is located, country, device type, and preferred exercise movement information. The user's geographic area information can be obtained through area information according to the IP band of the electronic device 100.

컨텐츠 저장소(302)는 컨텐츠 제공자 시스템(200)으로부터 제공 받은 퍼스널 트래이닝 비디오 이미지 데이터를 저장하는 데이터 저장소일 수 있다. 상기 컨텐츠 저장소(302)에는 퍼스널 트래이닝 비디오 이미지를 전자장치(100)에서 표시하기 위한 멀티미디어 데이터, 및 상기 퍼스널 트래이닝 비디오 이미지를 소개하는 컨텐츠 프로필을 포함할 수 있다. 상기 컨텐츠 프로필은 컨텐츠를 소개하기 위한 다양한 정보를 포함한다. 예를 들어, 상기 컨텐츠 프로필은 컨텐츠에 나타난 운동종류, 컨텐츠 명칭, 퍼스널 트래이닝 객체의 소개, 썸네일, 재생 시간, 시간별 컨텐츠 구성 등을 포함할 수 있으나, 이에 제한되진 않는다. The content storage 302 may be a data storage that stores personal training video image data provided from the content provider system 200. The content storage 302 may include multimedia data for displaying the personal training video image on the electronic device 100, and a content profile introducing the personal training video image. The content profile includes various information for introducing content. For example, the content profile may include, but is not limited to, the type of exercise shown in the content, the name of the content, the introduction of the personal training object, the thumbnail, the playback time, and the composition of the content by time.

서버(300)는 사용자의 전자장치(100)로부터 컨텐츠 요청을 수신하면, 요청된 퍼스널 트래이닝 비디오 이미지를 상기 컨텐츠 저장소(302)에서 검색하여 제공할 수 있다. When the server 300 receives a content request from the user's electronic device 100, the server 300 may search the content storage 302 for the requested personal training video image and provide it.

또한, 상기 컨텐츠 저장소(302)는 퍼스널 트래이닝 비디오 이미지에 나타난 퍼스널 트래이닝 객체의 신체 프로필 데이터를 저장할 수 있다. 서버(300)는 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하는데 퍼스널 트래이닝 객체의 신체 프로필 데이터를 이용할 수 있다. Additionally, the content storage 302 may store body profile data of a personal training object shown in a personal training video image. The server 300 may use the body profile data of the personal training object to generate metadata of the personal training video image.

메타데이터 저장소(303)는 서버(300)에서 생성한 퍼스널 트래이닝 비디오 이미지의 메타데이터를 저장하는 데이터 저장소이다. The metadata storage 303 is a data storage that stores metadata of the personal training video image generated by the server 300.

서버(300)는 사용자의 운동 동작 분석 결과(예컨대, 운동 상태 정보, 운동 결과 정보)를 생성하기 위해, 사용자의 운동 동작에 대응한 퍼스널 트래이닝 객체의 운동 동작을 나타낸, 대응 가이드 비디오 이미지의 메타데이터를 이용할 수 있다. In order to generate a user's exercise motion analysis result (e.g., exercise state information, exercise result information), the server 300 collects metadata of a corresponding guide video image indicating the exercise motion of a personal training object corresponding to the user's exercise motion. can be used.

분석결과 저장소(305)는 사용자의 운동 동작 분석 결과(예컨대, 운동 상태 정보, 운동 결과 정보, 분석자료)를 저장하는 데이터 저장소이다. 상기 분석결과 저장소(305)는 아래의 도 9 내지 도 11을 참조해 서술할, 분석 화면 데이터에 포함되는 분석 자료를 저장할 수 있다. The analysis result storage 305 is a data storage that stores the user's exercise motion analysis results (eg, exercise state information, exercise result information, analysis data). The analysis result storage 305 can store analysis data included in analysis screen data, which will be described with reference to FIGS. 9 to 11 below.

일부 실시 예들에서, 데이터 저장소(301, 302, 303, 305)에 저장된 정보는 특정한 데이터 구조에 따라 구조화될 수 있다. 또한, 일부 실시 예들에서, 각 데이터 스토어는 관계형, 컬럼형, 상관형 또는 다른 적절한 데이터베이스일 수 있다. 일부 실시 예들에서, 시스템(1)은 서버(300)를 관리하는 장치가 데이터 저장소(301, 302, 303, 305)에 저장된 정보를 관리, 검색, 변경, 추가 또는 삭제할 수 있게 하는 인터페이스를 제공할 수 있다.In some embodiments, information stored in data stores 301, 302, 303, and 305 may be structured according to a particular data structure. Additionally, in some embodiments, each data store may be a relational, columnar, correlational, or other suitable database. In some embodiments, system 1 may provide an interface that allows a device managing server 300 to manage, search, change, add, or delete information stored in data stores 301, 302, 303, and 305. You can.

상기 제어부(310)는 사용자의 운동 상태 또는 운동 결과를 시각적 측면에서 효과적으로 제공하는 방법이 수행되도록 서버(300) 내 다른 구성요소(예컨대, 330, 350, 370)를 제어한다.The control unit 310 controls other components (eg, 330, 350, and 370) within the server 300 to effectively provide a user's exercise state or exercise results in a visual aspect.

상기 제어부(310)는 서버(300)의 전반적인 동작을 제어하도록 구성된 것으로서, 적어도 하나의 프로세서 및 메모리로 구현될 수 있다. 본 명세서에서, 상기 제어부(310)의 동작은 서버(300)의 동작에 준하는 것으로 취급될 수 있다. 즉, 서버(300)의 동작은 운동 상태 분석부(330), 운동 결과 분석부(350)에 의한 동작을 제외하면, 제어부(310)에 의해 수행되는 동작일 수 있다. The control unit 310 is configured to control the overall operation of the server 300 and may be implemented with at least one processor and memory. In this specification, the operation of the control unit 310 may be treated as equivalent to the operation of the server 300. That is, the operation of the server 300 may be an operation performed by the control unit 310, excluding the operation by the exercise state analysis unit 330 and the exercise result analysis unit 350.

운동 상태 분석부(330)는 분석 대상 이미지에 나타난 객체의 운동 동작의 상태를 분석한 운동 상태 정보를 생성하도록 구성된다. 상기 운동 상태 정보는 분석 대상 이미지에서 객체의 운동 동작의 상태를 서술하는 정보이다. The movement state analysis unit 330 is configured to generate movement state information by analyzing the state of the movement motion of the object shown in the image to be analyzed. The movement state information is information that describes the state of the movement motion of the object in the analysis target image.

운동 결과 분석부(350)는 상기 객체의 운동 상태 정보 및 객체의 신체 프로필 데이터에 기초하여 상기 객체의 운동 결과를 분석한, 상기 객체의 운동 결과 정보를 생성하도록 구성된다. 상기 운동 결과 정보는 분석 대상 이미지에서 객체의 운동 동작의 구현 결과를 서술하는 정보이다.The exercise result analysis unit 350 is configured to generate exercise result information of the object by analyzing the exercise result of the object based on the exercise state information of the object and the body profile data of the object. The motion result information is information that describes the implementation result of the motion motion of the object in the analysis target image.

자료 생성부(370)는 상기 사용자의 운동 상태 정보, 운동 결과 정보를 이용해 상기 사용자의 운동 효과를 다양하게 분석한 사용자의 분석 자료를 생성하고, 이를 전자장치(100)로 전송할 수 있다. 자료 생성부(370)에서 제공한 정보가 전자장치(100)의 분석 화면을 통해 제공될 수 있다. The data generator 370 may generate user analysis data that variously analyzes the user's exercise effects using the user's exercise state information and exercise result information, and transmit the user analysis data to the electronic device 100 . Information provided by the data generation unit 370 may be provided through the analysis screen of the electronic device 100.

상기 제어부(310), 운동 상태 분석부(330), 운동 결과 분석부(350), 자료 생성부(370)의 동작에 대해서는 아래의 도 4를 참조해 보다 상세히 서술한다. The operations of the control unit 310, exercise state analysis unit 330, exercise result analysis unit 350, and data generation unit 370 will be described in more detail with reference to FIG. 4 below.

본 출원의 다른 일 측면에 따른 근골격계 운동 및 의료 서비스 관련 의사결정을 지원하기 위해 사용자의 운동 상태 또는 운동 결과를 시각적 측면에서 효과적으로 제공하는 방법은 도 1의 서버(300)와 같은 컴퓨팅 장치에 의해 수행될 수 있다. According to another aspect of the present application, a method of effectively providing a user's exercise status or exercise results in a visual aspect to support decision-making related to musculoskeletal exercise and medical services is performed by a computing device such as the server 300 of FIG. 1 It can be.

도 4는, 본 출원의 다른 일 측면에 따른, 사용자의 운동 상태 또는 운동 결과를 시각적 측면에서 효과적으로 제공하는 방법의 흐름도이다. Figure 4 is a flowchart of a method for effectively providing a user's exercise state or exercise results in a visual aspect, according to another aspect of the present application.

도 4를 참조하면, 상기 방법은, 서버(300)에서 퍼스널 트래이닝 객체의 적어도 하나의 운동 동작을 나타낸 퍼스널 트래이닝 비디오 이미지를 획득하고, 상기 퍼스널 트래이닝 비디오 이미지에서 상기 퍼스널 트래이닝 객체의 운동 동작을 분석하여 상기 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하는 단계(S100); 상기 사용자의 운동 동작을 촬영한 사용자의 비디오 이미지를 상기 서버(300)에서 수신하는 단계(S300) - 상기 사용자의 운동 동작은 사용자가 선택한 퍼스널 트래이닝 비디오 이미지에 나타난 상기 퍼스널 트래이닝 객체의 적어도 하나의 운동 동작 중에서 상기 사용자의 운동 동작에 대응한 운동 동작을 모방한 것임; 상기 사용자의 비디오 이미지에서 상기 사용자의 운동 동작을 분석하여 상기 사용자의 운동 상태 정보를 생성하는 단계(S400); 상기 사용자의 운동 동작과 상기 퍼스널 트레이닝 객체의 대응한 운동 동작을 서로 비교하기 위해, 상기 사용자의 비디오 이미지에 대응한 상기 퍼스널 트래이닝 비디오의 메타데이터에서 퍼스널 트레이닝 객체의 자세정보를 상기 사용자의 자세정보와 비교하여 상기 사용자의 운동 결과 정보를 생성하는 단계(S500); 상기 사용자의 운동 상태 정보 및 상기 사용자의 운동 결과 정보에 포함된 정보 중 적어도 하나의 정보에 기초하여 상기 사용자의 운동 동작에 대한 분석 자료를 생성하는 단계(S600) - 상기 분석 자료는 사용자의 전자장치(100)에서 표시되는 분석 화면을 생성하는데 이용됨; 를 포함한다. Referring to FIG. 4, the method acquires a personal training video image showing at least one exercise motion of a personal training object from the server 300, and analyzes the exercise motion of the personal training object in the personal training video image. Generating metadata of the personal training video image (S100); Step (S300) of receiving a video image of the user in which the user's exercise motion is captured from the server 300 - the user's exercise motion is at least one exercise of the personal training object shown in the personal training video image selected by the user Among the movements, the movement movements corresponding to the user's movement movements are imitated; Analyzing the user's exercise movements in the user's video image to generate exercise state information of the user (S400); In order to compare the exercise motion of the user and the corresponding exercise motion of the personal training object, the posture information of the personal training object is combined with the posture information of the user in the metadata of the personal training video corresponding to the video image of the user. Comparing and generating exercise result information of the user (S500); Generating analysis data on the user's exercise motion based on at least one of the information included in the user's exercise state information and the user's exercise result information (S600) - The analysis data is stored in the user's electronic device Used to generate the analysis screen displayed at 100; Includes.

일부 실시 예들에서, 상기 방법은, 상기 사용자의 비디오 이미지를 수신하기 이전에, 상기 사용자를 인증하는 단계(S200);를 더 포함할 수 있다. 상기 사용자의 비디오 이미지의 전송(S300)은 상기 사용자가 인증된 경우에만 수행될 수 있다. In some embodiments, the method may further include authenticating the user before receiving the user's video image (S200). Transmission of the user's video image (S300) can be performed only when the user is authenticated.

상기 퍼스널 트래이닝 비디오 이미지는 퍼스널 트래이닝 객체의 적어도 하나의 운동 동작을 각각 나타낸, 적어도 하나의 연속적인 일련의 프레임 이미지를 포함하는 컨텐츠이다. 상기 퍼스널 트래이닝 비디오 이미지는 사용자가 이를 보고 모방하기 위한 기준 동작을 제공하는 가이드 컨텐츠로서, 사용자의 모방 대상 비디오로 활용된다. The personal training video image is content including at least one continuous series of frame images, each representing at least one exercise movement of a personal training object. The personal training video image is guide content that provides reference movements for the user to view and imitate, and is used as a target video for the user to imitate.

상기 퍼스널 트래이닝 비디오 이미지는 상기 퍼스널 트래이닝 객체가 적어도 하나의 동작을 취하는 것을 표시할 수 있다. 상기 퍼스널 트래이닝 객체는 사용자의 운동 동작을 가이드하는 객체로서 예를 들어 코치, 프로선수, 상기 운동 동작의 자세를 정확하게 구현할 수 있는 기타 전문가일 수 있다. The personal training video image may indicate the personal training object taking at least one action. The personal training object is an object that guides the user's exercise movements, and may be, for example, a coach, a professional athlete, or another expert who can accurately implement the posture of the exercise movement.

상기 시스템(1)에서 퍼스널 트래이닝 비디오 이미지의 메타데이터는 사용자의 운동 동작을 비교하여 피드백 결과를 사용자에게 제공할 수 있게 하는 기준을 제공한다. 상기 퍼스널 트래이닝 비디오 이미지에 대한 메타데이터는 퍼스널 트래이닝 비디오 이미지에 포함된 운동 동작을 분석한 다양한 정보를 포함한다. In the system 1, the metadata of the personal training video image provides a standard for comparing the user's exercise movements and providing feedback results to the user. The metadata for the personal training video image includes various information analyzing exercise movements included in the personal training video image.

본 출원의 다양한 실시 예들에서, 상기 퍼스널 트래이닝 비디오 이미지의 메타데이터는 퍼스널 트래이닝 비디오 이미지에 포함된 동작 각각에 대해, 상기 퍼스널 트래이닝 객체의 운동 상태 정보 및 운동 결과 정보 중 일부 또는 전부의 정보를 포함할 수 있다. In various embodiments of the present application, the metadata of the personal training video image may include some or all of the exercise state information and exercise result information of the personal training object for each action included in the personal training video image. You can.

도 5는, 본 출원의 다양한 실시 예들에 따른, 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하는 과정의 세부 흐름도이다. Figure 5 is a detailed flowchart of a process for generating metadata of a personal training video image according to various embodiments of the present application.

도 5를 참조하면, 상기 메타데이터를 생성하는 단계(S100)는, 상기 퍼스널 트래이닝 비디오 이미지 내 프레임 이미지 세트를 장면별로 분류하여 장면에 연관된 프레임 이미지의 서브 세트를 형성하는 단계(S101) - 상기 서브 세트는 적어도 하나의 일련의 프레임 이미지를 포함하고, 상기 일련의 프레임 이미지는 퍼스널 트래이닝 객체의 단위 동작을 나타낸 연속적인 프레임 이미지임; 상기 퍼스널 트래이닝 비디오 이미지의 프레임 이미지를 서브 세트 단위로 연산 처리하여, 상기 장면에 나타난 상기 퍼스널 트래이닝 객체의 자세정보를 생성하는 단계(S102); 상기 퍼스널 트래이닝 객체의 자세정보에 기초하여 상기 퍼스널 트래이닝 객체의 운동 상태 정보를 생성하는 단계(S103); 서버(300)의 운영자 입력 정보 및/또는 상기 퍼스널 트래이닝 객체의 운동 상태 정보에 기초하여 상기 퍼스널 트래이닝 비디오 이미지 내 퍼스널 트래이닝 객체의 운동 결과 정보를 획득하는 단계(S104); 및 상기 퍼스널 트래이닝 객체의 운동 상태 정보 중 일부 또는 전부의 정보를 포함한 상기 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하는 단계(S105)를 포함한다. Referring to FIG. 5, the step of generating the metadata (S100) includes classifying the frame image set in the personal training video image by scene to form a subset of frame images related to the scene (S101) - the sub The set includes at least one series of frame images, the series of frame images being consecutive frame images representing unit operations of the personal training object; generating posture information of the personal training object appearing in the scene by processing frame images of the personal training video image in subset units (S102); Generating exercise state information of the personal training object based on posture information of the personal training object (S103); Obtaining exercise result information of the personal training object in the personal training video image based on operator input information of the server 300 and/or exercise state information of the personal training object (S104); and generating metadata of the personal training video image including some or all of the exercise state information of the personal training object (S105).

서버(300)는 컨텐츠 제공자 시스템(200)로부터 퍼스널 트래이닝 비디오 이미지를 수신하여 컨텐츠 저장소(302)에 저장할 수 있다. The server 300 may receive the personal training video image from the content provider system 200 and store it in the content storage 302.

상기 퍼스널 트래이닝 비디오 이미지는 적어도 하나의 장면 구간을 포함한다. 장면은 특정 위치, 상황 또는 이벤트를 나타낸 동일한 컨텍스트에 대한 일련의 연속된 비디오 프레임을 의미한다. The personal training video image includes at least one scene section. A scene is a series of consecutive video frames of the same context representing a specific location, situation, or event.

상기 퍼스널 트래이닝 비디오 이미지는 하나 이상의 장면을 포함할 수 있다. 예를 들어, 퍼스널 트래이닝 비디오 이미지는 사용자는 일정 시간 동안 제1 운동 동작의 단위 동작을 취하고 나서 다시 준비 자세를 취하고 이어서 제2 운동 동작을 취하는 비디오일 수 있다.The personal training video image may include one or more scenes. For example, a personal training video image may be a video in which a user performs a unit of a first exercise motion for a certain period of time, then takes a ready posture again, and then performs a second exercise motion.

상기 퍼스널 트래이닝 비디오 이미지에서 개별 장면은 퍼스널 트래이닝 객체가 해당 동작종류에 속하는 동작을 일 회 이상 반복하는 것으로서, 소위 한 세트로 지칭될 수 있다. In the personal training video image, an individual scene is one in which a personal training object repeats an action belonging to the corresponding action type one or more times, and may be referred to as a so-called set.

따라서, 상기 퍼스널 트래이닝 비디오 이미지에서 상기 장면 구간은 객체가 취하는 운동 동작이 속하는 동작종류에 따라 정의될 수 있다. 퍼스널 트레이닝 컨텐츠는 동작종류의 변화가 있으면 장면이 변경되는 것으로 구성될 수 있다. 퍼스널 트레이닝 컨텐츠에서 단일 장면은 상기 단일 장면에 나타난 단일 동작에 연관될 수 있다. 동일 퍼스널 트레이닝 컨텐츠에서 서로 다른 동작종류는 상기 동일 퍼스널 트레이닝 컨텐츠 내 서로 다른 장면을 나타낸다. Accordingly, in the personal training video image, the scene section may be defined according to the type of motion to which the exercise motion taken by the object belongs. Personal training content may consist of a scene that changes when there is a change in the type of movement. In personal training content, a single scene may be associated with a single action shown in the single scene. Different types of movements in the same personal training content represent different scenes within the same personal training content.

상기 비디오 이미지에서 퍼스널 트래이닝 객체가 다수의 동작종류의 운동 동작을 취하는 경우, 상기 제어부(310)는 각 동작종류에 대한 장면을 구간 단위로 이용해 상기 비디오 이미지의 프레임 이미지를 분류하여, 장면에 연관된 서브 세트를 형성할 수 있다(S101). 상기 장면에 연관된 서브 세트는, 연속적인 일련의 프레임 이미지이다. 상기 서브 세트의 연속적인 일련의 프레임 이미지는 상기 퍼스널 트래이닝 객체의 일련의 자세를 나타낸다. 상기 일련의 자세 각각은 각 프레임 이미지에 퍼스널 트래이닝 객체의 순간 자세이다. When a personal training object in the video image performs a plurality of motion types, the control unit 310 classifies the frame image of the video image using the scene for each motion type as a section unit, and classifies the frame image of the video image into a sub related to the scene. A set can be formed (S101). A subset associated with the scene is a continuous series of frame images. A continuous series of frame images in the subset represents a series of poses of the personal training object. Each of the series of postures is the instantaneous posture of the personal training object in each frame image.

상기 제어부(310)는 서버(300)의 운영자 입력에 따라 퍼스널 트래이닝 비디오 이미지에서 장면 구간을 결정하거나, 또는 미리 학습된 장면 인식 모델을 이용하여 장면 구간을 결정할 수 있다(S101). 상기 장면 인식 모델은 연속적인 입력 이미지를 처리하여 장면을 인식하도록 학습된 비전 딥러닝 모델일 수 있다. The control unit 310 may determine a scene section in a personal training video image according to an operator input of the server 300, or may determine a scene section using a pre-learned scene recognition model (S101). The scene recognition model may be a vision deep learning model learned to recognize scenes by processing continuous input images.

상기 제어부(310)는 단계(S101)에서 형성된 장면에 연관된 서브 세트의 프레임 이미지를 운동 상태 분석부(330)로 전달하고, 상기 운동 상태 분석부(330)는 상기 서브 세트에 포함된 연속적인 프레임 이미지를 연산 처리하여 상기 장면에 나타난 퍼스널 트래이닝 객체의 자세정보를 생성할 수 있다(S102). The control unit 310 transmits the frame image of the subset related to the scene formed in step S101 to the movement state analysis unit 330, and the movement state analysis unit 330 analyzes consecutive frames included in the subset. The image can be processed to generate posture information of the personal training object appearing in the scene (S102).

도 3의 운동 상태 분석부(330)는 분석 대상 이미지에 나타난 분석 대상의 운동 동작의 상태를 분석하도록 구성된다. 상기 분석 대상 이미지는 비디오 이미지로서, 퍼스널 트래이닝 객체의 운동 동작을 구성하는 연속적인 일련의 자세를 나타낸, 퍼스널 트래이닝 비디오 이미지 또는 사용자의 운동 동작을 구성하는 연속적인 일련의 자세를 나타낸, 사용자 이미지일 수 있다. The exercise state analysis unit 330 of FIG. 3 is configured to analyze the state of the exercise movement of the analysis target shown in the analysis target image. The image to be analyzed may be a video image, a personal training video image showing a continuous series of postures constituting the exercise movement of a personal training object, or a user image showing a continuous series of postures making up the exercise movement of the user. there is.

상기 비디오 이미지는 객체의 운동 동작을 구현하기 위한 연속적인 일련의 자세를 나타낸 다수의 프레임 이미지로 구성될 수 있다. 각각의 프레임 이미지는 객체가 자세를 취하는 순간 상태를 캡처한 이미지일 수 있다. The video image may be composed of multiple frame images representing a series of continuous postures to implement the movement motion of the object. Each frame image may be an image that captures the moment when an object takes a pose.

본 출원의 다양한 실시예들에서, 상기 운동 상태 분석부(330)는 비디오 이미지에 나타난 객체의 자세정보를 분석하고(S102); 분석된 객체의 자세정보에 기초하여, 상기 객체의 일련 자세가 연속적으로 구현하는 운동 동작에 대한 동작종류, 동작시간, 동작속도, 및 동작회수 중 하나 이상의 정보를 포함하는, 운동 상태 정보를 생성할 수 있다(S103). 상기 분석 대상 이미지가 복수의 동작 종류에 따른 운동 동작을 포함한 경우, 운동동작 종목별 운동 상태가 생성될 수 있다.In various embodiments of the present application, the motion state analysis unit 330 analyzes posture information of an object shown in a video image (S102); Based on the posture information of the analyzed object, exercise state information can be generated, including one or more information among the motion type, motion time, motion speed, and number of motions for the motion motion continuously implemented by the series of postures of the object. (S103). If the image to be analyzed includes exercise movements according to a plurality of movement types, exercise states for each exercise movement type may be generated.

객체의 동작은 연속된 일련의 자세(pose)로 표현될 수 있다. 자세는 특정 수간에 객체가 취하고 있는 신체 내 구성요소들(예컨대, 팔, 다리, 머리 등) 각각의 위치와 방향으로 표현되어 정의될 수 있다. 따라서, 자세종류 또한 신체 내 구성요소들의 위치, 방향에 따라 정의될 수 있다. 일부 실시 예들에서, 자세 종류는 구성요소 간의 상대적인 위치, 방향에 따라 정의될 수 있다. The movement of an object can be expressed as a series of poses. A posture can be defined by expressing the position and direction of each body component (eg, arms, legs, head, etc.) that an object assumes in a specific hand. Therefore, posture types can also be defined according to the positions and directions of components within the body. In some embodiments, posture types may be defined based on the relative positions and directions between components.

상기 자세정보는 이러한 동작을 구성하는 자세를 서술하는 정보이다. The posture information is information that describes the posture that constitutes this operation.

본 출원의 다양한 실시 예들에서, 상기 운동 상태 정보에서 상기 자세정보는 분석 대상 이미지에서 객체의 동작을 구성하는 연속된 일련의 자세 각각에 대한 자세종류, 개별 자세에서 골격, 관절의 위치, 움직임 정보를 포함할 수 있다. 일부 실시 예들에서, 상기 운동 상태 정보는 신체의 구성요소의 위치, 움직임 정보를 더 포함할 수 있다. In various embodiments of the present application, the posture information in the exercise state information includes posture type, position of the skeleton and joints in each posture, and movement information for each of a series of postures that constitute the movement of the object in the image to be analyzed. It can be included. In some embodiments, the exercise state information may further include location and movement information of body components.

상기 운동 상태 분석부(330)는 입력 이미지를 분석하여 상기 입력 이미지 내 입력 객체의 자세정보를 생성할 수 있다. 구체적으로, 상기 운동 상태 분석부(330)는 입력 객체가 나타난 입력 이미지를 미리 학습된 포즈 인식 모델을 이용하여 분석하여 상기 입력 객체가 취하고 있는 자세가 속하는 자세종류를 인식하고, 인식된 자세종류를 포함한 상기 객체의 자세정보를 생성할 수 있다. 상기 운동 상태 분석부(330)가 자세를 인식하는 것은 입력 객체가 취하고 있는 자세가 속하는 자세 종류를 결정하는 것일 수 있다. The exercise state analysis unit 330 may analyze the input image and generate posture information of the input object in the input image. Specifically, the exercise state analysis unit 330 analyzes the input image in which the input object appears using a pre-learned pose recognition model, recognizes the posture type to which the posture the input object is taking, and determines the recognized posture type. It is possible to generate posture information of the object including. When the exercise state analysis unit 330 recognizes a posture, it may determine the type of posture to which the posture taken by the input object belongs.

상기 운동 상태 분석부(330)는 분석 대상 이미지를 구성하는 개별 프레임 이미지를 상기 포즈 인식 모델에 입력하면, 상기 포즈 인식 모델에서 예측한 자세종류를 상기 입력 객체의 자세종류로 결정할 수 있다. When the exercise state analysis unit 330 inputs individual frame images constituting an image to be analyzed into the pose recognition model, it can determine the posture type predicted by the pose recognition model as the posture type of the input object.

상기 포즈 인식 모델은 포즈 추정 알고리즘 및/또는 이미지 내 객체를 인식할 수 있는 딥러닝 구조에 기반한 모델일 수 있다. The pose recognition model may be a model based on a pose estimation algorithm and/or a deep learning structure capable of recognizing objects in an image.

본 출원의 다양한 실시 예들에서, 상기 포즈 인식 모델은 포즈 추정 알고리즘을 통해 입력 자세를 취하는 객체의 특징점을 추출하고, 객체의 특징점의 추출 결과에 기초하여 객체의 관절 움직임 및/또는 골격의 움직임 정보를 산출하며, 산출된 객체의 관절 움직임 및/또는 골격의 움직임 정보와 입력 객체의 자세종류 간의 상관관계를 추론하여 산출된 움직임 정보를 제공한 입력 자세가 미리 설정된 복수의 자세종류 각각으로 분류될 확률을 산출하고, 산출된 확률에 기초하여 상기 입력 자세의 자세종류를 인식하도록 구성될 수 있다. 상기 포즈 인식 모델은 상기 상관관계를 추론하기 위해 복수의 노드로 구성된 딥러닝 구조의 인공신경망을 포함할 수 있다. 산출된 객체의 관절 움직임 및/또는 골격의 움직임 정보를 인공신경망에 입력하여 확률을 산출함으로써, 상기 입력 자세의 자세종류를 인식할 수 있다. In various embodiments of the present application, the pose recognition model extracts feature points of an object in an input posture through a pose estimation algorithm, and generates joint movement and/or skeletal movement information of the object based on the extraction result of the feature points of the object. Calculate the probability that the input posture providing the calculated movement information will be classified into each of a plurality of preset posture types by inferring the correlation between the calculated joint movement and/or skeletal movement information of the object and the posture type of the input object. It may be configured to calculate and recognize the posture type of the input posture based on the calculated probability. The pose recognition model may include an artificial neural network with a deep learning structure composed of a plurality of nodes to infer the correlation. The posture type of the input posture can be recognized by calculating the probability by inputting the calculated joint movement and/or skeletal movement information of the object into an artificial neural network.

포즈 추정 기술은 사람의 움직임에 대한 컬러 또는 흑백 이미지를 입력하여 사람의 신체파트에 대한 2D 키 포인트(key point)를 출력하는 기술이다. 상기 키 포인트가 상기 특징점으로 추출될 수 있다. 일부 실시 예들에서, 상기 특징점은 신체의 관절일 수 있다. 구체적으로, 포즈 추정 기반 포즈 인식 모델은 입력 이미지에서 사람의 관절 부위를 키 포인트(key point)로 검출하고, 관절 부위에 기초한 인체의 골격(또는 뼈대로 지칭될 수 있음)을 추가로 검출하며, 검출된 관절의 움직임, 골격의 움직임 정보를 산출하고, 자세별 검출된 관절의 위치, 골격의 위치, 산출된 관절의 움직임, 골격의 움직임에 기초하여 입력 이미지에 나타난 상기 사람의 자세 종류를 예측할 수 있다. 골격 움직임은 디지털 데이터 형식으로 추출될 수 있다.Pose estimation technology is a technology that outputs 2D key points for human body parts by inputting color or black-and-white images of human movement. The key point may be extracted as the feature point. In some embodiments, the feature point may be a joint of the body. Specifically, the pose estimation-based pose recognition model detects the human joint area as a key point in the input image, and additionally detects the human body's skeleton (or may be referred to as a skeleton) based on the joint area, It is possible to calculate the movement of detected joints and skeletal movement information, and predict the type of posture of the person shown in the input image based on the position of the detected joints for each posture, the position of the skeleton, the calculated joint movement, and the skeletal movement. there is. Skeletal movements can be extracted in digital data format.

사람의 경우, 머리, 어깨, 팔꿈치, 손목, 엉덩이, 무릎, 발목 등의 관절 위치가 키 포인트로 추출된다. 일 예에서, 상기 포즈 인식 모델은, 개개인의 신체파트를 정확하게 예측하기 위하여, PAFs(Part Affinity Fileds)를 사용하여 영상에서 사람의 신체파트 간의 연관도를 학습한다. 신체파트 별로 컨피던스 맵 (confidence map)과 신체파트 사이의 연관도를 나타내는 2D 벡터(part affinity)를 동시에 예측한다. 이 경우 컨피던스 맵과 2D 벡터를 이용하여 최종 2D 키 포인트를 예측할 수 있다. 최종 2D 키 포인트의 예측 결과는 관절의 위치로 표현된다. 상기 관절의 위치는 신체에서 절대적 위치, 또는 다른 특정 관절을 기준으로 상대적 위치일 수 있다.In the case of humans, joint positions such as head, shoulder, elbow, wrist, hip, knee, and ankle are extracted as key points. In one example, the pose recognition model learns the degree of association between human body parts in an image using PAFs (Part Affinity Filed) to accurately predict individual body parts. For each body part, a confidence map and a 2D vector (part affinity) indicating the degree of association between body parts are simultaneously predicted. In this case, the final 2D key point can be predicted using the confidence map and 2D vector. The prediction result of the final 2D key point is expressed as the position of the joint. The position of the joint may be an absolute position in the body, or a relative position with respect to another specific joint.

또한, 상기 포즈 인식 모델은 키 포인트 간의 상대적 위치와 각도를 활용하여 인물의 스켈레톤 골격을 형성할 수 있다. 상기 운동 상태 분석부(330)는 상기 스켈레톤 골격을 형성하여 입력 객체의 골격의 위치를 획득할 수 있다. Additionally, the pose recognition model can form a human skeleton by utilizing the relative positions and angles between key points. The movement state analysis unit 330 may form the skeleton and obtain the position of the skeleton of the input object.

또한, 상기 포즈 인식 모델은 골격 움직임, 관절 움직임을 예측할 수 있다. 골격, 관절의 움직임의 예측 결과는 골격, 관절의 움직임 정보로서 자세종류를 인식하는데 이용될 수 있다. Additionally, the pose recognition model can predict skeletal movement and joint movement. The prediction results of the movement of the skeleton and joints can be used to recognize the type of posture as movement information of the skeleton and joints.

본 출원의 다양한 실시 예들에서, 상기 골격 또는 관절의 움직임 정보는 벡터 형태로 산출될 수 있다. 상기 포즈 인식 모델은 상기 검출된 특징점에 기초하여 상기 입력 자세에서 입력 객체의 신체 내 관절, 골격의 움직임 벡터를 산출할 수 있다. In various embodiments of the present application, the movement information of the skeleton or joints may be calculated in vector form. The pose recognition model may calculate motion vectors of joints and skeleton within the body of the input object in the input posture based on the detected feature points.

상기 객체의 움직임 벡터는 골격의 움직임 벡터, 관절의 움직임 벡터로 구성된다. 골격의 움직임 벡터는 개별 골격 각각의 움직임 값으로 구성된다. 관절의 움직임 벡터는 개별 관절 각각의 움직임 값으로 구성된다. 상기 움직임 값은 입력 이미지에서 상기 특정 자세를 취할 때의 움직임을 설명하는 값으로서, 비디오 이미지에 나타난 동작 동안에 입력 이미지가 캡처된 순간에 입력 객체가 갖는 순간 움직임(예컨대, 속도)일 수 있다. 상기 속도는 움직임 방향 및 변화량으로 표현될 수 있다. 상기 움직임 방향은 3차원 공간 상의 직선 방향 또는 회전 방향일 수 있다. The object's motion vector consists of a skeleton motion vector and a joint motion vector. The motion vector of a skeleton consists of the motion values of each individual skeleton. The motion vector of a joint is composed of the movement values of each individual joint. The motion value is a value that describes the movement when assuming the specific posture in the input image, and may be the instantaneous movement (e.g., speed) of the input object at the moment the input image is captured during the motion shown in the video image. The speed can be expressed in terms of movement direction and change amount. The direction of movement may be a straight direction or a rotation direction in three-dimensional space.

일부 실시 예들에서, 상기 포즈 인식 모델은 입력 이미지에서 입력 객체의 특정 신체에서 특징점이 검출되면, 특정 신체 이미지 내 특정 골격, 관절을 기준으로 골격, 관절의 움직임에 대응하는 객체의 움직임 벡터를 산출할 수 있다. 상기 특정 신체 기준점은 관절의 절대좌표, 또는 상기 관절과 다른 관절 간의 상대 좌표일 수 있다. 예를 들어, 허리 또는 골반과 개별적인 골격 간의 절대좌표 및 상대좌표에 기초하여, 골격의 움직임에 대응하는 입력 객체의 움직임 벡터를 산출할 수 있다.In some embodiments, when a feature point is detected on a specific body of an input object in an input image, the pose recognition model calculates a motion vector of the object corresponding to the movement of the skeleton and joints based on a specific skeleton and joints in the specific body image. You can. The specific body reference point may be an absolute coordinate of a joint, or a relative coordinate between the joint and another joint. For example, based on absolute and relative coordinates between the waist or pelvis and each individual skeleton, a motion vector of the input object corresponding to the movement of the skeleton can be calculated.

상기 포즈 인식 모델은 상기 골격, 골격의 움직임 벡터을 입력 받아 연산 처리해, 상기 골격, 골격의 움직임 벡터와 상기 골격, 골격의 움직임 벡터를 제공한 입력 자세 간의 상관 관계를 추론함으로써, 상기 입력 자세가 해당하는 자세종류를 결정하도록 구성된 인공신경망을 가진다. 상기 인공신경망의 모델 파라미터는 아래에서 서술할, 퍼스널 트레이닝 컨텐츠, 사용자의 운동 비디오가 입력되기 이전에 미리 학습될 수 있다. The pose recognition model receives and processes the skeleton and its motion vectors as input, infers the correlation between the skeleton and its motion vectors and the input posture provided by the skeleton and its motion vectors, so that the input posture corresponds to It has an artificial neural network configured to determine the type of posture. The model parameters of the artificial neural network can be learned in advance before personal training content and the user's exercise video, which will be described below, are input.

상기 인공신경망은 입력된 움직임 벡터를 제공하는 입력 자세가 미리 설정된 복수의 자세종류 각각으로 분류될 확률을 산출하고, 산출된 확률에 기초하여 상기 입력 자세의 자세종류를 인식하도록 구성될 수 있다. 상기 포즈 인식 모델은 산출될 확률 값이 가장 높은 자세종류를 상기 입력 자세의 자세종류로 결정할 수 있다. The artificial neural network may be configured to calculate a probability that an input posture providing an input motion vector is classified into each of a plurality of preset posture types, and recognize the posture type of the input posture based on the calculated probability. The pose recognition model may determine the posture type with the highest probability value to be calculated as the posture type of the input posture.

상기 포즈 인식 모델의 모델 파라미터는 키 포인트의 검출 정확성, 및 자세종류의 인식 정확성의 오차가 최소화되도록 학습될 수 있다. 상기 포즈 인식 모델의 학습은 시스템(1)의 내부 구성요소(예컨대, 서버(300))에 의해 수행되거나 또는 딥러닝 모델의 학습을 위한 외부 장치에 의해 수행될 수 있다. 서버 자체 또는 외부 장치에 의해 미리 학습된 포즈 인식 모델이 서버(300)로 공급되어, 퍼스널 트레이닝 컨텐츠의 메타데이터를 생성하고 사용자의 운동 상태 정보를 생성하기 위해 이용된다. 구체적으로, 상기 포즈 추정 알고리즘에 기반한 상기 포즈 인식 모델은 사용자의 전자장치(100) 및/또는 서버(300)에는 상기 포즈 인식 모델이 라이브러리 형태로 탑재되어, 사람의 영상으로부터 관절을 나타낸 특징점을 키 포인트(key point)로 찾아내고, 인체의 골격 및 관절 움직임을 디지털 데이터로 추출하고, 추출된 디지털 데이터로부터 사람의 자세종류를 판단한다. 판단된 자세종류는 사람의 동작(ex: 푸시업, 스쿼트 등)을 판단하는데 이용된다. Model parameters of the pose recognition model can be learned so that errors in key point detection accuracy and posture type recognition accuracy are minimized. Learning of the pose recognition model may be performed by an internal component of the system 1 (eg, server 300) or by an external device for learning a deep learning model. A pose recognition model previously learned by the server itself or an external device is supplied to the server 300 and used to generate metadata of personal training content and information on the user's exercise state. Specifically, the pose recognition model based on the pose estimation algorithm is installed in the user's electronic device 100 and/or the server 300 in the form of a library, and key points represent joints from the human image. Key points are found, the human body's skeleton and joint movements are extracted as digital data, and the person's posture type is determined from the extracted digital data. The determined posture type is used to judge a person's movement (ex: push-up, squat, etc.).

상기 포즈 인식 모델은 다양한 오픈 소스 기술을 이용하여 구현될 수 있다. 예를 들어, 상기 포즈 인식 모델은 "OpenPose", "PoseNet", "Alphapose", 'HRNet", "DeepPose" 등과 같은 다양한 오픈 소스 기반 모델일 수 있다. 그러나, 상기 포즈 인식 모델은 이에 제한되지 않는다. 상기 포즈 인식 모델은 오픈 소스의 포즈 추정 기술 이외에 다양한 다른 기술 또는 알고리즘이 적용될 수 있다. 따라서, 상기 포즈 인식 모델은 사용자 및 트레이너의 움직임 추출 결과가 개선된 새로운 기술 또는 알고리즘을 새롭게 채택하고 움직임 추정 성능을 업그레이드 할 수 있다.The pose recognition model can be implemented using various open source technologies. For example, the pose recognition model may be various open source based models such as "OpenPose", "PoseNet", "Alphapose", 'HRNet", "DeepPose", etc. However, the pose recognition model is not limited thereto. Therefore, the pose recognition model adopts a new technology or algorithm with improved motion extraction results for the user and trainer and motion estimation. Performance can be upgraded.

본 출원의 다양한 실시 예들에서, 상기 운동 상태 분석부(330)는 제공 가능한 퍼스널 트레이닝 컨텐츠의 운동 종목별 포즈 인식 모델을 포함할 수 있다. 예를 들어, 상기 운동 상태 분석부(330)는 웨이트 운동에 연관된 운동 자세를 인식하도록 학습된 제1 포즈 인식 모델, 요가 운동에 연관된 운동 자세를 인식하도록 학습된 제2 포즈 인식 모델, 달리기 운동에 연관된 운동 자세를 인식하도록 학습된 제3 포즈 인식 모델 등을 포함할 수 있다. 즉, 상기 운동 상태 분석부(330)는 서비스 가능한 운동 종목의 수만큼의 포즈 인식 모델을 포함할 수 있다. In various embodiments of the present application, the exercise state analysis unit 330 may include a pose recognition model for each exercise type of personal training content that can be provided. For example, the exercise state analysis unit 330 may use a first pose recognition model learned to recognize an exercise posture related to a weight exercise, a second pose recognition model learned to recognize an exercise posture related to a yoga exercise, and a running exercise. It may include a third pose recognition model learned to recognize the associated exercise posture. That is, the exercise state analysis unit 330 may include as many pose recognition models as the number of serviceable exercise items.

상기 운동 상태 분석부(330)는, 상기 관절의 위치, 골격의 위치. 움직임 정보에 기초하여 신체의 구성요소(예컨대, 팔, 다리 등)의 위치, 움직임 정보를 산출할 수 있다. The exercise state analysis unit 330 determines the position of the joint and the position of the skeleton. Based on the movement information, the position and movement information of body components (eg, arms, legs, etc.) can be calculated.

이러한 자세종류, 개별 자세에서 골격, 관절의 위치, 움직임 정보, 신체의 구성요소의 위치, 움직임 정보는 비디오 이미지 내 개별 프레임 이미지 별로 산출될 수 있다. These types of postures, positions of the skeleton and joints in individual postures, movement information, positions of body components, and movement information can be calculated for each individual frame image within the video image.

상기 운동 상태 분석부(330)는, 미리 학습된 포즈 인식 모델에 비디오 이미지 내 프레임 이미지를 순차적으로 입력하여, 프레임 이미지 내 자세별 자세종류를 인식하고, 입력 객체의 동작 구간을 동일한 자세종류 구간으로 분류하고, 분류된 자세종류의 순번을 결정할 수 있다. 그러면, 상기 분석 대상 이미지에 대한 운동 상태 정보는 분석 대상 이미지에 대한 자세종류의 순번, 프레임이미지별 자세종류, 개별 자세에서 신체의 구성요소의 위치, 방향, 관절의 위치, 상기 개별 자세의 움직임 정보를 산출할 수 있다(S102). The exercise state analysis unit 330 sequentially inputs frame images within the video image into a pre-learned pose recognition model, recognizes the posture type for each posture within the frame image, and divides the motion section of the input object into the same posture type section. You can classify and determine the order of the classified posture types. Then, the movement state information for the analysis target image includes the sequence number of the posture type for the analysis target image, the posture type for each frame image, the position and direction of the body components in the individual posture, the position of the joint, and the movement information of the individual posture. can be calculated (S102).

상기 운동 상태 분석부(330)는 상기 입력 객체의 자세정보에 기초하여 운동 상태 정보, 예를 들어, 동작종류, 동작속도, 및 동작회수 중 하나 이상의 정보를 생성할 수 있다. The exercise state analysis unit 330 may generate exercise state information, for example, one or more of the type of motion, speed of motion, and number of motions, based on the posture information of the input object.

상기 운동 상태 분석부(330)는, 입력 객체의 자세정보 내 자세종류의 연결 순번에 기초하여 입력 객체의 동작종류를 결정할 수 있다. 상기 동작종류는 운동 종목별 동작 종류를 나타낸다. The exercise state analysis unit 330 may determine the motion type of the input object based on the connection order of the posture types in the posture information of the input object. The motion type indicates the motion type for each exercise event.

일부 실시 예들에서, 상기 운동 상태 분석부(330)는, 미리 저장된 동작-자세 테이블을 이용하여 상기 입력 객체의 동작종류를 결정할 수 있다. 상기 동작-자세 테이블은 동작종류별로 해당 동작종류를 구성하는 자세 종류(들), 자세 종류들 간의 순번 간의 관계를 기록한 것일 수 있다. 상기 동작종류는 단위 동작의 종류로서, 예를 들어 푸쉬업이나 스쿼트 등일 수 있다. In some embodiments, the exercise state analysis unit 330 may determine the type of motion of the input object using a pre-stored motion-posture table. The motion-posture table may record the relationship between the posture type(s) constituting the motion type and the order of posture types for each motion type. The motion type is a type of unit motion, and may be, for example, a push-up or squat.

상기 운동 상태 분석부(330)는 상기 입력 객체의 자세정보에서 인식된 자세 종류들, 및 자세 종류들 간의 순번을 획득하고, 획득된 자세 종류들 및 자세 종류들 간의 순번에 매칭하는 동작종류를 상기 동작-자세 테이블에서 검색하고, 검색된 동작종류를 상기 장면 이미지 세트에 연관된 상기 입력 객체의 동작종류(즉, 동작종류 종류)으로 결정할 수 있다. The exercise state analysis unit 330 obtains the posture types recognized from the posture information of the input object and the sequence between posture types, and determines the motion type matching the sequence between the obtained posture types and posture types. The motion-posture table may be searched, and the searched motion type may be determined as the motion type (i.e., motion type type) of the input object associated with the scene image set.

상기 동작시간은 분석 대상의 비디오 이미지에서 퍼스널 트래이닝 객체가 개별 동작종류에 따른 적어도 하나의 단위 동작을 수행한 시간이다. 하나의 동작종류에 대한 동작시간은 상기 동작종류에 따른 단위 동작의 시간의 합산일 수 있다. The operation time is the time when the personal training object performs at least one unit operation according to the individual operation type in the video image to be analyzed. The operation time for one operation type may be the sum of the times of unit operations according to the operation type.

상기 동작회수는 동일한 동작종류의 동작을 수행한 회수이다. 상기 동작회수는 동작종류에 따른 단위 동작의 반복 회수일 수 있다. 상기 분석 대상 이미지가 복수의 동작종류를 포함하면, 각 동작종류별 반복 회수가 개별 동작종류에 대한 동작회수로 산출된다. 상기 운동 상태 분석부(330)는 비디오 이미지의 구간 전체에서 객체의 자세정보에 기초하여 객체의 동작종류를 인식하고, 각 동작종류의 인식 회수를 동작종류별 동작회수를 산출할 수 있다. The number of operations is the number of times the same operation type is performed. The number of operations may be the number of repetitions of a unit operation depending on the type of operation. If the image to be analyzed includes a plurality of motion types, the number of repetitions for each motion type is calculated as the number of motions for each individual motion type. The movement state analysis unit 330 may recognize the type of motion of an object based on the posture information of the object throughout the entire section of the video image, and calculate the number of times each motion type is recognized as the number of motions for each motion type.

상기 동작속도는 일 회의 단위 동작을 구현하는 속도로서, 상기 비디오 이미지에서 해당 동작을 나타내는 복수의 프레임 이미지의 재생속도에 기초하여 산출될 수 있다. The operation speed is the speed of implementing one unit operation, and can be calculated based on the playback speed of a plurality of frame images representing the corresponding operation in the video image.

또한, 상기 단계(S102)는, 동작을 구성하는 연속된 일련의 자세 중에서, 해당 동작을 식별하는데 요구되는 적어도 하나의 자세를 키 자세(key pose)로 선별하는 단계; 및 일련의 자세 중에서 키 자세로 선별된 일부 자세를 서술하는 키 자세정보를 상기 퍼스널 트래이닝 객체의 자세정보로 생성하는 단계;를 포함할 수 있다. In addition, the step (S102) includes selecting at least one posture required to identify the corresponding action as a key pose among a series of continuous postures constituting the action; and generating key posture information describing some postures selected as key postures among a series of postures as posture information of the personal training object.

상기 운동 상태 분석부(330)는 동작을 구성하는 연속된 일련의 자세 중에서, 해당 동작을 수행하기 위해 필수가 되는 자세를 키 자세(key pose)로 선별하도록 더 구성될 수 있다. 그러면, 상기 운동 상태 분석부(330)는 자세 중에서 키 자세로 선별된 일부 자세를 서술하는 키 자세정보를 생성할 수 있다(S102). 상기 키 자세정보는 키 자세를 가리키는 자세종류, 프레임 순번을 포함할 수 있다. The exercise state analysis unit 330 may be further configured to select, as a key pose, a posture essential for performing the corresponding motion from a series of consecutive postures constituting the motion. Then, the exercise state analysis unit 330 may generate key posture information describing some postures selected as key postures among postures (S102). The key posture information may include a posture type and frame sequence indicating the key posture.

상기 퍼스널 트래이닝 객체의 자세정보는 상기 키 자세정보를 포함할 수 있다. The posture information of the personal training object may include the key posture information.

상기 운동 상태 분석부(330)는 사용자 입력에 따라 단위 동작별로 키 자세를 지정하거나, 또는 복수의 자세정보를 분석하여 키 자세를 결정할 수 있다. The exercise state analysis unit 330 may determine the key posture by specifying the key posture for each unit operation according to the user input, or by analyzing a plurality of posture information.

본 출원의 다양한 실시 예들에서, 상기 운동 상태 분석부(330)는 골격의 위치 및 움직임 정보, 관절의 위치 및 움직임 정보에 기초하여 단위 동작의 적어도 하나의 자세를 상기 단위 동작에 대한 키 자세로 선별할 수 있다. 상기 운동 상태 분석부(330)는 동작종류별로 키 자세를 선별하고, 그 결과를 저장할 수 있다. 그러면, 결정된 키 자세에 대한 자세정보가 생성될 수 있다. 일부 실시 예들에서, 상기 운동 상태 분석부(330)는 신체 구성요소별 위치 및 움직임 정보에 더 기초하여 키 자세를 결정할 수 있다. In various embodiments of the present application, the exercise state analysis unit 330 selects at least one posture of the unit action as the key posture for the unit action based on the position and movement information of the skeleton and the position and movement information of the joints. can do. The exercise state analysis unit 330 can select key postures for each type of movement and store the results. Then, posture information about the determined key posture can be generated. In some embodiments, the exercise state analysis unit 330 may determine the key posture based on position and movement information for each body component.

키 자세는 동작을 구성하는 연속적인 자세들 중에서 관절, 골격, 신체 구성요소 중 적어도 하나의 위치 변화 방향, 움직임 변화 방향이 변경되는 자세일 수 있다.The key posture may be a posture in which the direction of position change or movement change of at least one of the joints, skeleton, and body components changes among the continuous postures that constitute the motion.

키 자세는 동작의 시작 자세, 종료 자세를 포함한다. 시작 자세, 종료 자세는 시작 전/후, 종료 전/후를 기준으로 위치, 움직임 변화의 방향이 변경된다.Key posture includes the starting posture and ending posture of the movement. The starting posture and ending posture change the direction of position and movement changes based on before/after starting and before/after ending.

또한, 키 자세는 상기 시작 자세와 종료 자세 사이의 적어도 하나의 자세를 더 포함할 수 있다. Additionally, the key posture may further include at least one posture between the starting posture and the ending posture.

예를 들어, 걷는 동작은 여러 개의 연속적인 자세로서 한 발을 앞으로 옮기는 연속적인 자세들과 다른 발을 옮기는 연속적인 자세들로 구성된다. 한 발을 앞으로 옮기는 연속적인 자세들에서 각 자세별 움직임 방향은 무릎이 전방으로 상승하다가 다시 하강하는 방향으로 산출될 수 있다. 무릎이 전방 상승하는 자세들은 무릎 관절의 회전 방향이 고관절을 기준으로 (측면을 기준으로) 반시계 방향이고 무릎이 전방 하강하는 자세들은 무릎 관절의 회전 방향이 상기 고관절을 기준으로 시계 방향일 수 있다. 따라서, 상기 운동 상태 분석부(330)는 무릎의 움직임 방향이 전방 상승에서 전방 하강으로 변경되는 시점의 자세를 키 자세로 결정할 수 있다.For example, the walking motion consists of several consecutive postures, including successive postures in which one foot is moved forward and the other foot in the movement posture. In consecutive postures in which one foot is moved forward, the direction of movement for each posture can be calculated as the direction in which the knee rises forward and then falls again. In postures in which the knee rises forward, the direction of rotation of the knee joint may be counterclockwise relative to the hip joint (relative to the side), and in postures in which the knee falls forward, the direction of rotation of the knee joint may be clockwise relative to the hip joint. . Accordingly, the exercise state analysis unit 330 may determine the posture at the time when the direction of movement of the knee changes from forward upward to forward downward as the key posture.

이를 위해, 상기 운동 상태 분석부(330)는 연속적인 자세들 중 서로 인접한 자세 간에 관절, 골격, 신체 구성요소의 위치 변화, 움직임 변화를 추적하고, 위치 변화, 움직임 변화에 따른 변화 방향이 반대로 변경되는 자세를 키 자세로 결정할 수 있다. To this end, the exercise state analysis unit 330 tracks position changes and movement changes of joints, skeletons, and body components between adjacent postures among consecutive postures, and changes the direction of change in the opposite direction according to position changes and movement changes. The posture can be determined by the height posture.

일부 실시 예들에서, 상기 운동 상태 분석부(330)는 일차적으로 결정된 키 자세 사이의 연결 자세들 중 하나 이상의 자세를 새로운 키 자세로 추가로 결정하도록 더 구성될 수 있다. In some embodiments, the exercise state analysis unit 330 may be further configured to additionally determine one or more postures among the connection postures between the primarily determined key postures as a new key posture.

또한, 일부 실시 예들에서, 상기 새로운 키 자세는, 상기 입력 객체의 일련의 자세에서 순번이 인접한 키 자세 사이의 연결 자세들 중 가운데 순번의 자세이거나, 또는 연결 자세들 중 골격의 위치 변화, 움직임 변화가 상대적으로 큰 자세일 수 있다. Additionally, in some embodiments, the new key posture is a middle sequential posture among connection postures between sequentially adjacent key postures in a series of postures of the input object, or a change in the position or movement of a skeleton among the connection postures. may be a relatively large posture.

대안적인 실시 예들에서, 상기 운동 상태 정보에서 자세정보는 키 자세로 선별된 일부 자세에 대한 정보일 수 있다. 예를 들어, 상기 운동 상태 분석부(330)는, 키 자세를 선별하고, 키 자세 각각의 자세종류, 골격, 관절의 위치, 움직임 정보, 신체의 구성요소의 위치, 움직임 정보를 포함한 상기 자세정보를 생성할 수 있다. 상기 운동 상태 분석부(330)는 키 자세를 제외한 나머지 자세에 대한 정보는 생략한 자세정보를 생성할 수 있다. In alternative embodiments, the posture information in the exercise state information may be information about some postures selected as key postures. For example, the exercise state analysis unit 330 selects the key posture, and the posture information including the posture type, skeleton, joint positions, movement information, positions of body components, and movement information for each height posture. can be created. The exercise state analysis unit 330 may generate posture information that omits information on postures other than the height posture.

본 출원의 다양한 실시 예들에서, 상기 단계(S102)는, 퍼스널 트래이닝 비디오 이미지에 포함된 장면에 연관된 서브 세트 각각에 대해, 개별 서브 세트에 포함된 연속적인 프레임 이미지를 포즈 인식 모델에 입력하여 상기 연속적인 프레임 이미지에 나타난 상기 퍼스널 트래이닝 객체의 자세종류를 인식하는 단계; 그리고 상기 자세종류의 인식 결과, 및 상기 포즈 인식 모델에서 상기 자세종류를 인식하기 위해 연산 처리하는 과정에서 산출된 중간 결과에 기초하여 상기 퍼스널 트래이닝 객체의 자세정보를 생성하는 단계를 포함할 수 있다. In various embodiments of the present application, the step (S102) includes, for each subset associated with a scene included in a personal training video image, inputting consecutive frame images included in each subset into a pose recognition model to Recognizing the type of posture of the personal training object shown in the frame image; And it may include generating posture information of the personal training object based on the recognition result of the posture type and the intermediate result calculated during the operation process to recognize the posture type in the pose recognition model.

상기 운동 상태 분석부(330)는 장면에서 상기 퍼스널 트래이닝 객체의 자세정보를 생성함으로써, 하나 이상의 장면을 갖는 퍼스널 트래이닝 비디오 이미지에 대한 자세정보를 생성할 수 있다(S102). 퍼스널 트래이닝 비디오 이미지에 대한 자세정보는 개별 장면에 나타난 상기 퍼스널 트래이닝 객체의 자세정보로 이루어진다. The exercise state analysis unit 330 may generate posture information for a personal training video image having one or more scenes by generating posture information of the personal training object in the scene (S102). The posture information for a personal training video image consists of the posture information of the personal training object appearing in an individual scene.

구체적으로, 상기 운동 상태 분석부(330)는 장면을 나타낸 일련의 프레임 이미지를 미리 학습된 포즈 인식 모델에 입력하여, 장면에 나타난 퍼스널 트래이닝 객체의 자세가 속하는 것으로 예측되는 자세종류를 산출한다. 전술한 바와 같이, 상기 포즈 인식 모델은 퍼스널 트래이닝 객체의 특징점을 추출하고, 퍼스널 트래이닝 객체의 특징점의 추출 결과에 기초하여 상기 퍼스널 트래이닝 객체의 골격 및 관절의 움직임 정보를 산출하며, 산출된 퍼스널 트래이닝 객체의 골격 및 관절의 움직임 정보를 복수의 노드로 구성된 딥러닝 구조의 인공신경망에 입력하여 상기 입력 자세가 미리 설정된 복수의 자세종류 각각으로 분류될 확률을 산출하고, 산출될 확률이 가장 높은 자세종류를 상기 퍼스널 트래이닝 객체의 입력된 자세가 속하는 자세종류로 예측하여 출력하도록 구성될 수 있다(S102). Specifically, the movement state analysis unit 330 inputs a series of frame images representing a scene into a previously learned pose recognition model and calculates the posture type to which the posture of the personal training object appearing in the scene is predicted to belong. As described above, the pose recognition model extracts feature points of the personal training object, calculates movement information of the skeleton and joints of the personal training object based on the extraction results of the feature points of the personal training object, and calculates the calculated personal training object Movement information of the skeleton and joints is input into an artificial neural network with a deep learning structure composed of a plurality of nodes to calculate the probability that the input posture will be classified into each of a plurality of preset posture types, and select the posture type with the highest probability of being calculated. It can be configured to predict and output the posture type to which the input posture of the personal training object belongs (S102).

상기 운동 상태 분석부(330)는 상기 포즈 인식 모델에서 출력된 자세종류를 퍼스널 트래이닝 객체의 자세종류로 결정하고, 상기 퍼스널 트래이닝 객체의 자세종류를 포함한 상기 퍼스널 트래이닝 객체의 자세정보를 생성할 수 있다. The exercise state analysis unit 330 may determine the posture type output from the pose recognition model as the posture type of the personal training object, and generate posture information of the personal training object including the posture type of the personal training object. .

또한, 상기 퍼스널 트래이닝 객체의 자세정보는 상기 포즈 인식 모델에서 상기 자세종류를 인식하기 위해 연산 처리하는 과정에서 산출된 중간 결과로서, 연속적인 일련의 자세 동안 각 자세에서 퍼스널 트래이닝 객체의 골격 위치, 퍼스널 트래이닝 객체의 골격의 움직임 정보, 관절의 움직임 정보를 포함할 수 있다. In addition, the posture information of the personal training object is an intermediate result calculated in the process of processing to recognize the posture type in the pose recognition model, and includes the skeletal position of the personal training object in each posture during a continuous series of postures, the personal It may include movement information of the skeleton and joint movement information of the training object.

이러한 포즈 인식 모델이 자세종류를 인식하기 위해 연산 처리하는 과정에서 중간 결과물을 산출하는 것에 대해서는 전술하였는 바, 자세한 설명은 생략한다. Since this pose recognition model produces intermediate results in the process of calculating the posture type to recognize it has been described above, a detailed explanation will be omitted.

본 출원의 다양한 실시 예들에서, 상기 단계(S102)는, 상기 연속적인 일련의 자세 중에서 적어도 하나의 자세를 키 자세로 선별하는 단계를 더 포함할 수 있다. 그러면, 상기 퍼스널 트래이닝 객체의 자세정보는 키 자세에 대한 자세정보를 포함할 수 있다. 예를 들어, 상기 퍼스널 트래이닝 객체의 자세정보는 일련의 자세 각각이 키 자세인지 여부를 나타낸 이진 레이블 값을 더 포함할 수 있다. In various embodiments of the present application, the step (S102) may further include selecting at least one posture from the continuous series of postures as the key posture. Then, the posture information of the personal training object may include posture information about the key posture. For example, the posture information of the personal training object may further include a binary label value indicating whether each of the series of postures is a key posture.

키 자세는 동작의 시작 자세, 종료 자세를 포함한다. 상기 운동 상태 분석부(330)는 상기 퍼스널 트래이닝 객체의 일련의 자세 중 시작 자세와 종료 자세 사이의 적어도 하나의 자세를 키 자세로 선별할 수 있다. Key posture includes the starting posture and ending posture of the movement. The exercise state analysis unit 330 may select at least one posture between the start posture and the end posture among the series of postures of the personal training object as the key posture.

상기 키 자세를 선별하는 단계는, 일련의 자세 각각에서 골격의 위치 및 움직임 정보, 관절의 위치 및 움직임 정보에 기초하여 상기 장면에 나타난 동작에 대한 상기 퍼스널 트래이닝 객체의 키 자세를 선별하는 것일 수 있다. 또한, 일부 실시 예들에서, 상기 키 자세를 선별하는 단계는, 신체 구성요소별 위치 및 움직임 정보에 더 기초하여 키 자세를 결정할 수 있다. The step of selecting the key posture may be selecting the key posture of the personal training object for the motion shown in the scene based on the position and movement information of the skeleton and the position and movement information of the joints in each of the series of postures. . Additionally, in some embodiments, the step of selecting the height posture may determine the height posture based on position and movement information for each body component.

또한, 일부 실시 예들에서, 상기 키 자세를 선별하는 단계는, 일차적으로 결정된 키 자세 사이의 연결 자세들 중 하나 이상의 자세를 새로운 키 자세로 추가로 선별하는 단계를 더 포함할 수 있다. 또한, 일부 실시 예들에서, 상기 새로운 키 자세를 추가로 선별하는 단계는, 상기 퍼스널 트래이닝 객체의 일련의 자세에서 순번이 인접한 키 자세 사이의 연결 자세들 중 가운데 순번의 자세이거나, 또는 연결 자세들 중 골격의 위치 변화, 움직임 변화가 상대적으로 큰 자세를 새로운 키 자세로 선별하는 것일 수 있다. Additionally, in some embodiments, the step of selecting the key posture may further include the step of additionally selecting one or more postures among the connection postures between the primarily determined key postures as a new key posture. Additionally, in some embodiments, the step of additionally selecting the new key posture may be a middle sequential posture among connection postures between key postures whose sequence is adjacent in the series of postures of the personal training object, or among connection postures. A posture with relatively large changes in skeletal position or movement may be selected as the new key posture.

다른 일부 실시 예들에서, 상기 키 자세를 선별하는 단계는, 서버(300)의 운영자 입력에 따라 선별될 수 있다. In some other embodiments, the step of selecting the key posture may be selected according to an operator input of the server 300.

상기 운동 상태 분석부(330)는 상기 장면에 나타난 일련의 자세를 분석한 상기 퍼스널 트래이닝 객체의 자세정보에 기초하여 상기 장면에서 상기 퍼스널 트래이닝 객체의 운동 상태 정보를 생성할 수 있다(S103). 상기 운동 상태 분석부(330)는, 각각의 장면에 연관된 상기 퍼스널 트래이닝 객체의 자세정보에 기초하여 개별 장면에서 상기 퍼스널 트래이닝 객체의 운동 상태 정보를 생성할 수 있다. 상기 운동 상태 분석부(330)는 개별 장면에서 상기 퍼스널 트래이닝 객체의 운동 상태 정보를 생성함으로써, 하나 이상의 장면을 갖는 퍼스널 트래이닝 비디오 이미지에 대한 운동 상태 정보를 생성할 수 있다(S103). 상기 운동 상태 정보는 퍼스널 트래이닝 비디오 이미지에 포함된 하나 이상의 장면에 나타난 퍼스널 트래이닝 객체의 운동 상태를 서술한다. 퍼스널 트래이닝 비디오 이미지에 대한 운동 상태 정보는 개별 장면에 나타난 상기 퍼스널 트래이닝 객체의 운동 상태 정보로 이루어진다. The exercise state analysis unit 330 may generate exercise state information of the personal training object in the scene based on posture information of the personal training object that analyzes a series of postures shown in the scene (S103). The exercise state analysis unit 330 may generate exercise state information of the personal training object in each scene based on posture information of the personal training object associated with each scene. The exercise state analysis unit 330 may generate exercise state information for a personal training video image having one or more scenes by generating exercise state information of the personal training object in an individual scene (S103). The movement state information describes the movement state of a personal training object appearing in one or more scenes included in a personal training video image. Movement state information for a personal training video image consists of movement state information of the personal training object appearing in an individual scene.

본 출원의 다양한 실시 예들에서, 상기 운동 상태 정보는 퍼스널 트래이닝 비디오 이미지에 나타난 퍼스널 트래이닝 객체의 자세정보, 상기 객체의 일련 자세가 연속적으로 구현하는 운동 동작에 대한 동작종류, 동작시간, 동작속도, 및 동작회수 중 하나 이상의 정보를 포함할 수 있다. 상기 운동 상태 분석부(330)는 상기 퍼스널 트래이닝 객체의 일련 자세가 연속적으로 구현하는 운동 동작에 대한 동작종류, 동작시간, 동작속도, 및 동작회수 중 하나 이상의 정보를 상기 장면에서 상기 퍼스널 트래이닝 객체의 자세정보에 기초하여 생성할 수 있다(S103).In various embodiments of the present application, the exercise state information includes posture information of a personal training object shown in a personal training video image, motion type, motion time, motion speed, and It may contain one or more information about the number of operations. The exercise state analysis unit 330 analyzes one or more of the motion type, motion time, motion speed, and number of motions for the exercise motion continuously implemented by the series of postures of the personal training object in the scene. It can be generated based on posture information (S103).

본 출원의 다양한 실시 예들에서, 상기 단계(S103)에서 퍼스널 트래이닝 객체의 신체 프로필 데이터는 퍼스널 트래이닝 객체의 성별, 신장, 몸무게를 포함한다. 또한, 상기 퍼스널 트래이닝 객체의 신체 프로필 데이터는 상기 퍼스널 트래이닝 객체의 BMI, 관심부위, 체형 중 하나 이상의 정보를 더 포함할 수 있다. In various embodiments of the present application, the body profile data of the personal training object in step S103 includes the gender, height, and weight of the personal training object. Additionally, the body profile data of the personal training object may further include one or more information among BMI, region of interest, and body type of the personal training object.

상기 단계(S103)의 상세한 동작 원리 및 연산 결과 정보(즉, 자세정보, 운동 상태 정보)는 도 3의 운동 상태 분석부(330)를 참조하여 전술하였는 바, 자세한 설명은 생략한다. The detailed operating principle and calculation result information (i.e., posture information, exercise state information) of the step (S103) have been described above with reference to the exercise state analysis unit 330 of FIG. 3, and detailed descriptions will be omitted.

상기 단계(S104)에서 제어부(310)는 서버(300)를 운영하는 장치 또는 컨텐츠 제공자 시스템(200)으로부터 퍼스널 트래이닝 비디오 이미지에 나타난 퍼스널 트래이닝 객체의 운동 결과 정보 중 일부 정보를 직접 입력 받을 수 있다. In step S104, the control unit 310 may directly receive some information among the exercise result information of the personal training object shown in the personal training video image from the device operating the server 300 or the content provider system 200.

퍼스널 트래이닝 비디오 이미지에 하나의 퍼스널 트래이닝 객체가 서로 다른 동작종류의 다수의 운동 동작을 취할 경우, 다수의 동작종류에 따른 퍼스널 트래이닝 객체의 복수의 운동 결과 정보 중 일부가 상기 퍼스널 트래이닝 비디오 이미지에 대한 퍼스널 트래이닝 객체의 운동 결과 정보로 입력될 수 있다(S104). When a personal training object in a personal training video image performs a plurality of exercise movements of different motion types, some of the plurality of exercise result information of the personal training object according to the plurality of motion types is displayed as a personal training object for the personal training video image. It can be input as exercise result information of the training object (S104).

본 출원의 다양한 실시 예들에서, 상기 퍼스널 트래이닝 객체의 운동 결과 정보는 퍼스널 트래이닝 비디오 이미지에서 운동 동작을 취하는 퍼스널 트래이닝 객체의 운동근육, 운동골격의 운동 범위, 운동관절의 운동 범위, 운동강도, 운동량, 운동 난이도, 심박수 중 하나 이상의 정보를 포함할 수 있다. In various embodiments of the present application, the exercise result information of the personal training object includes exercise muscles, range of motion of the exercise skeleton, range of motion of the exercise joint, exercise intensity, amount of exercise, It may include one or more information among exercise difficulty and heart rate.

상기 단계(S104)는, 퍼스널 트래이닝 비디오 이미지에서 운동 동작을 취하는 퍼스널 트래이닝 객체의 운동근육, 운동골격, 운동관절 정보를 입력 받는 단계; 상기 퍼스널 트래이닝 객체의 운동 상태 정보에 기초하여 운동골격의 운동 범위, 운동관절의 운동 범위, 운동강도, 운동량, 운동 난이도, 심박수 중 하나 이상의 정보를 생성하여, 상기 퍼스널 트래이닝 객체의 운동근육을 포함한 상기 퍼스널 트래이닝 객체의 운동 결과 정보로 획득하는 단계를 포함할 수 있다. The step (S104) includes receiving motor muscle, motor skeleton, and motor joint information of a personal training object performing an exercise movement in a personal training video image; Based on the exercise state information of the personal training object, one or more information of the range of motion of the exercise skeleton, range of motion of the exercise joint, exercise intensity, amount of exercise, exercise difficulty, and heart rate is generated, and the exercise muscles of the personal training object are generated. It may include obtaining exercise result information of the personal training object.

분석 대상 이미지가 복수의 동작종류를 포함할 경우, 개별 동작종류에 연관된 운동 결과 정보가 생성될 수 있다. 특정 동작종류에 연관된 운동 결과 정보는 입력 객체가 특정 동작종류로 분류되는 운동 동작을 구현한 동작 결과를 분석한 정보이다. If the image to be analyzed includes a plurality of motion types, exercise result information related to each individual motion type may be generated. Exercise result information related to a specific motion type is information that analyzes the motion results that implement a motion motion in which an input object is classified as a specific motion type.

운동골격은 분석 대상 이미지에서 운동 동작에 직접적으로 이용된 골격을 지칭한다. 운동관절은 분석 대상 이미지에서 운동 동작에 직접적으로 이용된 관절을 지칭한다.The motor skeleton refers to the skeleton directly used for motor movements in the image subject to analysis. Movement joints refer to joints directly used in movement movements in the image subject to analysis.

상기 운동골격, 운동관절은 동작종류별로 서버(300)의 운영자 입력에 따라 미리 설정되거나, 객체의 운동 상태 정보에서 단위 동작 동안의 각각의 관절의 위치, 관절의 움직임 벡터, 골격의 위치 및/또는 골격의 움직임 벡터에 기초하여 결정될 수 있다. The motion skeleton and motion joints are preset according to operator input of the server 300 for each type of motion, or the position of each joint during a unit motion, the motion vector of the joint, the position of the skeleton, and/or the motion state information of the object. It may be determined based on the motion vector of the skeleton.

상기 운동관절, 골격의 운동 범위는 회전 방향, 회전 각도, 움직임 방향, 움직임 거리로 표현될 수 있다. 상기 움직임 방향은 3차원 공간 상의 방위(orientation)로 표현될 수 있다. The range of motion of the motion joints and skeleton can be expressed in terms of rotation direction, rotation angle, movement direction, and movement distance. The direction of movement can be expressed as an orientation in three-dimensional space.

상기 운동근육은 운동 여부에 따라서 운동 효과가 발현되는 근육이 위치한 신체 부분의 영역이다. 웨이트 운동에서 운동근육은 상기 웨이트 운동을 했을 때 자극이 가해져 펌핑되는 타겟 근육이 위치한 부분 영역일 수 있다. 예를 들어, 팔 운동의 경우 운동근육은 동작종류에 따라 이두근 또는 삼두근이 위치한 신체 영역일 수 있다. The exercise muscle is an area of the body where the muscle that exerts the effect of exercise depending on whether or not it is exercised is located. In weight exercise, the exercise muscle may be a partial area where the target muscle that is stimulated and pumped when the weight exercise is performed is located. For example, in the case of arm exercise, the exercise muscle may be a body region where the biceps or triceps muscles are located, depending on the type of movement.

상기 타겟 근육은 서버(300)에 미리 저장된 근육 중에서 적어도 하나의 근육일 수 있다. 상기 미리 저장된 근육은, 예를 들어, 상체(Upper) 부분, 코어(Core) 부분, 하체(Lower) 부분, 목 부분, 어깨 부분(shoulders), 이두근(Biceps), 삼두근(Triceps), 등 부분(Back), 가슴(Chest), 상부 복근(Upper Abs), 하부 복근(Lower Abs), 복사근(Obliques), 척추(Spine), 엉덩이(Hips), 둔근(Glutes), 대퇴사두근(Quads), 햄스트링(Hamstrings), 종아리(Calves) 부분일 수 있다. The target muscle may be at least one muscle among muscles pre-stored in the server 300. The pre-stored muscles include, for example, the upper body, core, lower body, neck, shoulders, biceps, triceps, and back ( Back, Chest, Upper Abs, Lower Abs, Obliques, Spine, Hips, Glutes, Quads, Hamstrings ( It may be the hamstrings or calves.

상기 운동근육은 동작종류별로 서버(300)의 운영자 입력에 따라 미리 설정되거나, 또는 상기 운동 상태 정보 내 자세정보에 기초하여 신체 영역 중 적어도 일부 영역이 상기 운동근육으로 결정될 수 있다. The exercise muscles may be preset according to operator input of the server 300 for each type of movement, or at least some of the body regions may be determined to be the exercise muscles based on posture information in the exercise state information.

본 출원의 다양한 실시 예들에서, 상기 서버(300)는 퍼스널 트래이닝 비디오 이미지에서 퍼스널 트래이닝 객체의 운동근육, 운동관절, 운동골격을 서버(300)의 운영자 입력에 따라 지정하여, 퍼스널 트래이닝 객체의 운동 결과 정보를 생성할 수 있다. 상기 운동 결과 분석부(350)는 퍼스널 트래이닝 비디오 이미지에 나타난 퍼스널 트래이닝 객체의 운동골격, 운동관절을 서버(300)의 운영자 입력에 따라 미리 설정할 수 있다(S104). 운동 결과 분석부(350)는 운영자 입력에 따라 설정된, 퍼스널 트래이닝 비디오 이미지에 나타난 퍼스널 트래이닝 객체의 운동골격, 운동관절 정보 및 퍼스널 트래이닝 객체의 운동 상태 정보에 기초하여 나머지 운동 결과 정보를 생성할 수 있다(S104). In various embodiments of the present application, the server 300 specifies the exercise muscles, motion joints, and motion skeleton of the personal training object in the personal training video image according to the operator input of the server 300, and produces the exercise results of the personal training object. Information can be generated. The exercise result analysis unit 350 may preset the exercise skeleton and exercise joints of the personal training object shown in the personal training video image according to the operator input of the server 300 (S104). The exercise result analysis unit 350 may generate the remaining exercise result information based on the exercise skeleton and exercise joint information of the personal training object shown in the personal training video image and the exercise state information of the personal training object set according to operator input. (S104).

상기 운동강도는 1회의 단위 동작 동안 운동근육이 경험하는 운동에 대한 강도를 서술하는 것으로서, 운동근육의 성장 정도를 나타낼 수 있다. 상기 운동강도는 운동 동작 동안 운동근육에 가해지는 부하량과 운동속도에 기초하여 산출될 수 있다. 여기서 운동속도는 단위 동작을 수행하는 속도이다. The exercise intensity describes the intensity of exercise experienced by the exercise muscle during one unit movement, and may indicate the degree of growth of the exercise muscle. The exercise intensity can be calculated based on the load and exercise speed applied to the exercise muscles during the exercise movement. Here, the movement speed is the speed at which a unit movement is performed.

일부 실시 예들에서, 상기 운동강도 내 부하량은 근육별로 가해진 부하량의 상대적인 값으로 표현될 수 있다. 예를 들어, 운동강도는 해당 단위 동작에서 특정 근육 영역에 가장 강하게 가해지는 부하량을 100으로 설정하고, 나머지 근육 영역에 가해지는 부하량은 상기 100의 부하량을 기준으로 나머지 근육과 상기 특정 근육의 부하량을 비교한 비율을 적용한 값으로 표현될 수 있다. In some embodiments, the load within the exercise intensity may be expressed as a relative value of the load applied to each muscle. For example, the exercise intensity sets the load most strongly applied to a specific muscle area in the unit movement to 100, and the load applied to the remaining muscle areas is set to the load of the remaining muscles and the specific muscle based on the load of 100. It can be expressed as a value applying the compared ratio.

상기 난이도, 심박수, 칼로리 소모량은 동작종류별로 미리 지정될 수 있다. 지정된 난이도, 심박수, 칼로리 소모량은 신체 프로필 데이터 내 값들에 따라 세분화된 값을 가질 수 있다. 예를 들어, 칼로리 소모량은 몸무게, 신장별로 다양한 값으로 지정될 수 있다. The level of difficulty, heart rate, and calorie consumption may be pre-specified for each type of movement. The specified difficulty level, heart rate, and calorie consumption may have granular values depending on the values in the body profile data. For example, calorie consumption can be specified as various values depending on body weight and height.

운동량은 분석 대상 이미지에서 장면 구간 동안 특정 종류의 단위 동작(들)을 수행한 규모를 수치화한 것으로서, 단위 동작들을 수행한 전체 동작시간, 동작회수(즉, 반복회수), 및 해당 동작의 운동강도에 기초하여 산출될 수 있다. Momentum is a quantification of the scale of performing a specific type of unit action(s) during a scene section in the image subject to analysis, including the total movement time for performing unit movements, the number of movements (i.e., number of repetitions), and the exercise intensity of the movement. It can be calculated based on .

상기 제어부(310)는 상기 퍼스널 트래이닝 비디오 이미지에 나타난 퍼스널 트래이닝 객체의 운동 상태 정보 및/또는 상기 퍼스널 트래이닝 객체의 운동 결과 정보의 일부 또는 전부의 정보를 포함한 상기 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성할 수 있다(S105). The control unit 310 generates metadata of the personal training video image including some or all of the exercise state information and/or exercise result information of the personal training object shown in the personal training video image. (S105).

상기 제어부(310)는 상기 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하면, 이를 메타데이터 저장소(303)에 저장할 수 있다. When the control unit 310 generates metadata of the personal training video image, it can store it in the metadata storage 303.

상기 서버(300)는 복수의 퍼스널 트레이닝 컨텐츠 각각에 대해, 퍼스널 트레이닝 컨텐츠의 메타데이터를 미리 생성하고, 상기 메타데이터 저장소(303)에 저장할 수 있다. 상기 서버(300)는 사용자의 전자장치(100)에 퍼스널 트레이닝 컨텐츠를 제공하면, 제공된 퍼스널 트레이닝 컨텐츠의 메타데이터를 상기 메타데이터 저장소(303)에서 검색하고, 수신된 상기 사용자의 운동 비디오의 분석 결과와 상기 퍼스널 트레이닝 컨텐츠의 메타데이터 중 적어도 일부(예컨대, 퍼스널 트래이닝 객체의 자세정보 및/또는 키 자세정보)를 비교 분석할 수 있다. The server 300 may generate metadata of the personal training content in advance for each of a plurality of personal training content and store it in the metadata storage 303. When the server 300 provides personal training content to the user's electronic device 100, the server 300 searches the metadata storage 303 for metadata of the provided personal training content, and analyzes the received exercise video of the user. and at least some of the metadata of the personal training content (eg, posture information and/or key posture information of the personal training object) can be compared and analyzed.

대안적인 실시 예들에서, 상기 장면에 나타난 퍼스널 트래이닝 객체의 자세정보는 상기 퍼스널 트래이닝 객체의 키 자세만을 나타낸 자세정보일 수 있다. 상기 운동 상태 분석부(330)는 키 자세를 제외한 나머지 자세에 대한 정보는 생략한 상기 장면에 나타난 퍼스널 트래이닝 객체의 자세정보를 생성할 수 있다(S102). 그러면, 상기 단계(103)의 운동 상태 정보 및 상기 퍼스널 트래이닝 비디오 이미지의 메타데이터는 키 자세에 기초하여 생성된 것일 수 있다. 예를 들어, 상기 퍼스널 트레이닝 컨텐츠의 메타데이터는 운동 동작 종류, 운동 동작 회수, 운동 동작 시간, 운동 동작 강도, 운동 동작 세기, 운동 동작에 연관된 운동관절, 운동 동작에 연관된 근육 정보, 운동 동작에 대한 키 자세정보를 포함할 수 있다. 상기 퍼스널 트레이닝 컨텐츠의 메타데이터는 퍼스널 트래이닝 객체의 키 자세정보만을 포함하여, 저장 공간을 효율적으로 활용하면서 상기 사용자의 운동 동작을 평가하는데 전체 자세정보를 포함하는 경우와 비교해 큰 차이가 없게 할 수 있다. In alternative embodiments, the posture information of the personal training object shown in the scene may be posture information indicating only the key posture of the personal training object. The exercise state analysis unit 330 may generate posture information of the personal training object appearing in the scene, omitting information on postures other than the key posture (S102). Then, the exercise state information of step 103 and the metadata of the personal training video image may be generated based on the key posture. For example, the metadata of the personal training content may include type of exercise movement, number of exercise movements, time of exercise movement, intensity of exercise movement, intensity of exercise movement, movement joints related to the exercise movement, muscle information related to the exercise movement, and information about the exercise movement. Key posture information may be included. The metadata of the personal training content includes only the key posture information of the personal training object, so that there is no significant difference in evaluating the user's exercise motion while efficiently utilizing storage space compared to the case where the entire posture information is included. .

다시 도 4를 참조하면, 상기 단계(S200)는, 상기 서버(300)에서 사용자의 식별 정보를 포함한 사용자의 운동 동작 분석 요청을 상기 전자장치(100)로부터 수신하는 단계; 상기 제어부(310)에 의해, 상기 사용자의 운동 동작 분석 요청에 포함된 상기 사용자의 식별 정보와 상기 프로필 저장소(301)에 미리 저장된 식별 정보에 기초하여 상기 사용자를 인증하는 단계; 사용자가 인증되면 인증 성공을 알리면서 사용자의 비디오 이미지를 요청하는 메시지를 상기 전자장치(100)로 전송하는 단계; 및 사용자가 인증 실패하면 인증 실패를 알리는 메시지를 상기 전자장치(100)로 전송하는 단계;를 포함할 수 있다. Referring again to FIG. 4, the step (S200) includes receiving, at the server 300, a request for analysis of the user's exercise motion including the user's identification information from the electronic device 100; Authenticating the user by the control unit 310 based on the user's identification information included in the user's exercise motion analysis request and identification information pre-stored in the profile storage 301; When the user is authenticated, transmitting a message requesting a video image of the user notifying success of authentication to the electronic device 100; and, if the user fails authentication, transmitting a message notifying the authentication failure to the electronic device 100.

상기 인증 성공의 메시지를 수신한 상기 사용자의 전자장치(100)는 운동 동작 분석 대상인 상기 사용자의 비디오 이미지를 상기 서버(300)로 전송할 수 있다(S300). 구체적으로, 상기 단계(S300)는, 사용자의 전자장치(100)에서 컨텐츠 목록을 표시하도록, 상기 컨텐츠 저장소(302)에 저장된 복수의 퍼스널 트래이닝 비디오 이미지에 대한 컨텐츠 프로필 정보를 상기 사용자의 전자장치(100)로 전송하는 단계; 상기 사용자에 대한 가이드 동작을 나타낸 대상 퍼스널 트래이닝 비디오 이미지에 대한 요청을 상기 사용자의 전자장치(100)로부터 수신하는 단계; 요청된 대상 퍼스널 트래이닝 비디오 이미지를 상기 사용자의 전자장치(100)로 제공하는 단계; 상기 사용자의 전자장치(100)에서 사용자의 운동 동작을 촬영하여 생성한 상기 사용자의 비디오 이미지를 상기 서버(300)에서 수신하는 단계;를 포함할 수 있다. The user's electronic device 100, which has received the authentication success message, may transmit the user's video image, which is the subject of exercise motion analysis, to the server 300 (S300). Specifically, in step S300, content profile information for a plurality of personal training video images stored in the content storage 302 is stored in the user's electronic device 100 to display a content list on the user's electronic device 100. 100) transmitting to; Receiving a request for a target personal training video image showing a guide operation for the user from the user's electronic device 100; providing a requested target personal training video image to the user's electronic device (100); It may include receiving, from the server 300, a video image of the user generated by filming the user's exercise movements on the user's electronic device 100.

상기 컨텐츠 목록은 복수의 퍼스널 트래이닝 비디오 이미지에서 어느 하나의 퍼스널 트래이닝 비디오 이미지를 사용자 자신이 모방하고 싶은 운동 동작을 나타낸, 모방 대상 컨텐츠로 선택하도록 구성될 수 있다. The content list may be configured to select one personal training video image from a plurality of personal training video images as content to be imitated that represents the exercise movement the user wants to imitate.

상기 컨텐츠 목록은 복수의 목록 항목(listing items)으로 구성되며, 각각의 목록 항목은 컨텐츠 목록을 통해 제공 가능한, 복수의 퍼스널 트래이닝 비디오 이미지일 수 있다. 컨텐츠 목록에 포함된 복수의 퍼스널 트래이닝 비디오 이미지는 자신의 컨텐츠 프로필, 및 멀티미디어 데이터가 컨텐츠 저장소(302)에 미리 저장되고 그리고 메타데이터가 미리 생성되어 메타데이터 저장소(303)에 미리 저장된 퍼스널 트래이닝 비디오 이미지다. The content list consists of a plurality of listing items, and each list item may be a plurality of personal training video images that can be provided through the content list. A plurality of personal training video images included in the content list are personal training video images whose content profile and multimedia data are pre-stored in the content storage 302, and metadata is created in advance and stored in the metadata storage 303. all.

상기 컨텐츠 목록 내 컨텐츠들은, 예를 들어 운동 컨텐츠를 판매하는 판매자가 자체적으로 만든 운동 컨텐츠, 또는 병원에서 사용자가 재활하는데 요구되는 동작을 나타낸 재활 컨텐츠일 수 있다. Contents in the content list may be, for example, exercise content created by a seller of exercise content, or rehabilitation content showing movements required for a user to be rehabilitated in a hospital.

일부 실시 예들에서, 상기 컨텐츠 목록 내 컨텐츠는 병원상기 사용자의 비디오 이미지는 사용자의 운동 동작을 촬영한 이미지로서, 사용자의 운동 동작을 분석하고, 분석 자료를 생성하는데 이용되는 소스 이미지를 가질 수 있다.In some embodiments, the content in the content list is a hospital. The user's video image is an image of the user's exercise movement, and may have a source image used to analyze the user's exercise movement and generate analysis data.

상기 컨텐츠 목록 내 컨텐츠는 도 6에 도시된 것처럼, 운동동작 종목에 대한 컨텐츠일 수 있으나, 이에 제한되진 않는다. The content in the content list may be content about exercise items, as shown in FIG. 6, but is not limited thereto.

컨텐츠 목록을 표시하는 화면에서 상기 컨텐츠 목록 내 목록 항목 영역에는 할당된 퍼스널 트래이닝 비디오 이미지의 메타데이터 중 일부 또는 전부의 정보가 표시될 수 있다. On the screen displaying the content list, information on some or all of the metadata of the assigned personal training video image may be displayed in the list item area within the content list.

일 예에서, 컨텐츠 목록 화면 내 목록 항목 영역에는 퍼스널 트래이닝 비디오 이미지의 명칭, 퍼스널 트래이닝 비디오 이미지에 나타난 퍼스널 트래이닝 객체의 운동 동작의 반복 회수, 운동 동작의 세트, 퍼스널 트래이닝 객체의 운동근육의 위치와 퍼스널 트래이닝 객체의 각 운동근육별 운동강도를 나타낸 퍼스널 트래이닝 시각화 이미지를 표시할 수 있다. 상기 비디오 이미지의 명칭은 운동동작 종목의 명칭을 가질 수 있으나, 이에 제한되진 않는다. In one example, the list item area within the content list screen includes the name of the personal training video image, the number of repetitions of the exercise movements of the personal training object shown in the personal training video image, the set of exercise movements, the location of the exercise muscles of the personal training object, and the personal training video image. A personal training visualization image showing the exercise intensity for each exercise muscle of the training object can be displayed. The name of the video image may be the name of the exercise event, but is not limited thereto.

사용자의 전자장치(100)에 표시된 컨텐츠 목록에서 특정 컨텐츠가 모방대상 컨텐츠로 선택되면, 선택된 컨텐츠의 퍼스널 트래이닝 비디오 이미지가 제공되어, 사용자의 운동 동작에 대한 분석 동작이 개시된다. When specific content is selected as content to be imitated from the content list displayed on the user's electronic device 100, a personal training video image of the selected content is provided, and analysis of the user's exercise movements is initiated.

상기 사용자의 비디오 이미지는 상기 사용자의 운동 동작을 촬영하여 생성한 운동 비디오 컨텐츠일 수 있다. The user's video image may be exercise video content created by filming the user's exercise movements.

상기 사용자의 비디오 이미지는 상기 사용자의 운동 동작 각각을 나타낸 연속적인 일련의 프레임 이미지를 포함한다. 상기 대상 퍼스널 트래이닝 비디오 이미지가 퍼스널 트래이닝 객체의 복수의 운동 동작을 포함할 경우, 상기 사용자의 비디오 이미지 또한 퍼스널 트래이닝 객체의 각 운동 동작에 대응한 상기 사용자의 복수의 운동 동작을 포함할 수 있다. 상기 사용자의 비디오 이미지는 운동 동작 각각에 대한 일련의 프레임 이미지를 다수 포함할 수 있다. The video image of the user includes a continuous series of frame images representing each of the user's motor movements. When the target personal training video image includes a plurality of exercise movements of the personal training object, the video image of the user may also include a plurality of exercise movements of the user corresponding to each exercise movement of the personal training object. The user's video image may include a series of multiple frame images for each athletic action.

상기 사용자의 운동 동작은 사용자가 선택한 퍼스널 트래이닝 비디오 이미지에 나타난 상기 퍼스널 트래이닝 객체의 운동 동작을 모방한 것이다. 퍼스널 트래이닝 비디오 이미지에 퍼스널 트래이닝 객체가 다수의 동작종류의 운동 동작을 취하는 것이 나타난 경우, 상기 사용자의 비디오 이미지에서 상기 사용자의 운동 동작은 다수의 운동 동작을 순차적으로 모방한 것일 수 있다. The user's exercise motion imitates the exercise motion of the personal training object shown in the personal training video image selected by the user. If a personal training object is shown in a personal training video image taking a plurality of motion types, the user's exercise motion in the video image of the user may sequentially imitate a plurality of exercise motions.

따라서, 상기 사용자 컨텐츠의 프레임 이미지 전체는 동작별로 서브 세트화될 수 있다. 구체적으로, 이러한 사용자의 비디오 이미지는 퍼스널 트래이닝 비디오 이미지와 마찬가지로 장면 단위로 사용자의 운동 동작을 촬영하여 생성될 수 있다. 상기 사용자의 전자장치(100)는 하나의 운동 컨텐츠를 생성하기 위해, 장면 단위별로 사용자의 동작을 각각 촬영할 수 있는 인터페이스 화면을 표시할 수 있다.Accordingly, the entire frame image of the user content can be subset by operation. Specifically, the user's video image may be created by filming the user's exercise movements on a scene-by-scene basis, similar to a personal training video image. The user's electronic device 100 may display an interface screen that can capture the user's movements for each scene unit in order to generate one exercise content.

상기 대상 퍼스널 트래이닝 비디오 이미지에서 퍼스널 트래이닝 객체의 운동 동작은 동일 또는 유사한 시간에 촬영된 사용자의 운동 동작에 대응한다. 구체적으로, 모방 대상 컨텐츠로 선택된 퍼스널 트래이닝 비디오 이미지에 나타난 퍼스널 트래이닝 객체의 운동 동작은 상기 사용자의 비디오 이미지에 나타난 사용자의 운동 동작에 대응하기 때문에, 사용자의 비디오 이미지는 선택된 퍼스널 트래이닝 비디오 이미지에 대응하는 것으로 취급될 수 있다. 이와 같이 상기 사용자의 운동 비디오는 사용자가 퍼스널 트레이닝 컨텐츠의 운동 동작을 모방하여 생성된 것이기 때문에, 상기 사용자의 운동 비디오는 동일 또는 유사한 시간에 퍼스널 트래이닝 비디오 이미지에 나타난 퍼스널 트래이닝 객체의 운동 동작과 적어도 부분적으로 동일한 동작을 상기 사용자가 취하는 것을 나타낼 수 있다. 상기 사용자의 비디오 이미지에서 특정 운동 동작을 나타낸 연속적인 일련의 프레임 이미지는 대응 퍼스널 트래이닝 비디오 이미지에서 상기 특정 운동 동작에 대응하는, 퍼스널 트래이닝 객체의 대응 운동 동작을 나타낸 연속적인 일련의 프레임 이미지에 대응하는 것으로 또한 취급될 수 있다. 따라서, 장면 단위로 분류되는 사용자의 일련의 자세 각각은 대응한 퍼스널 트래이닝 객체의 운동 동작을 구성하는 일련의 자세에 각각 대응한다. In the target personal training video image, the exercise motion of the personal training object corresponds to the user's exercise motion captured at the same or similar time. Specifically, because the exercise motion of the personal training object shown in the personal training video image selected as the content to be imitated corresponds to the user's exercise motion shown in the user's video image, the user's video image corresponds to the selected personal training video image. can be treated as such. In this way, because the user's exercise video is created by the user imitating the exercise movements of personal training content, the user's exercise video is at least partially similar to the exercise movements of the personal training object shown in the personal training video image at the same or similar time. It can indicate that the user takes the same action. A continuous series of frame images representing a specific motor action in the video image of the user corresponds to the specific motor movement in the corresponding personal training video image, and It can also be treated as Accordingly, each of the user's series of postures classified in scene units corresponds to a series of postures constituting the exercise movements of the corresponding personal training object.

상기 제어부(310)는 상기 퍼스널 트래이닝 객체의 메타데이터를 생성하기 위해 상기 퍼스널 트래이닝 객체의 운동 상태 정보를 생성하는 과정과 동일한 방식으로, 상기 사용자의 운동 상태 정보를 생성할 수 있다(S400). The control unit 310 may generate exercise state information of the user in the same manner as the process of generating exercise state information of the personal training object to generate metadata of the personal training object (S400).

구체적으로, 상기 사용자의 운동 상태 정보를 생성하는 단계(S400)는, 상기 사용자의 비디오 이미지 내 프레임 이미지 세트를 장면별로 분류하여 장면에 연관된 프레임 이미지의 서브 세트를 형성하는 단계(S401) - 상기 서브 세트는 적어도 하나의 일련의 프레임 이미지를 포함하고, 상기 일련의 프레임 이미지는 사용자의 단위 동작을 나타낸 연속적인 프레임 이미지임; 상기 사용자의 비디오 이미지의 프레임 이미지를 서브 세트 단위로 연산 처리하여, 상기 장면에 나타난 상기 사용자의 자세정보를 생성하는 단계(S402); 상기 사용자의 자세정보에 기초하여 상기 사용자의 운동 상태 정보를 생성하는 단계(S403);를 포함할 수 있다. Specifically, the step of generating the user's movement state information (S400) includes classifying the frame image set in the user's video image by scene to form a subset of frame images related to the scene (S401) - the sub-set The set includes at least one series of frame images, wherein the series of frame images is a continuous frame image representing a unit action of the user; Processing frame images of the video image of the user in subsets to generate posture information of the user appearing in the scene (S402); It may include generating exercise state information of the user based on the user's posture information (S403).

상기 제어부(310)는 상기 대상 퍼스널 트래이닝 비디오 이미지의 장면 분류 결과에 기초하여 상기 사용자의 비디오 이미지 내 프레임 이미지 세트를 장면별로 분류할 수 있다. 상기 제어부(310)는 상기 대상 퍼스널 트래이닝 비디오 이미지 내 프레임 이미지 각각에 대해, 대응하는 상기 사용자의 비디오 이미지 내 프레임 이미지를 서로 연관시킬 수 있다. 상기 사용자의 비디오 이미지 내 프레임 이미지가 퍼스널 트래이닝 객체의 특정 자세를 모방한 사용자의 특정 자세를 나타낼 경우, 상기 사용자의 비디오 이미지 내 프레임 이미지와 상기 퍼스널 트래이닝 비디오 이미지 내 프레임 이미지는 서로 대응한 프레임 이미지로 취급될 수 있다. The control unit 310 may classify the frame image set within the user's video image by scene based on the scene classification result of the target personal training video image. The control unit 310 may associate frame images in the user's video image with each frame image in the target personal training video image. If the frame image in the user's video image represents a specific posture of the user that imitates the specific posture of the personal training object, the frame image in the user's video image and the frame image in the personal training video image are frame images that correspond to each other. can be handled.

예를 들어, 상기 대상 퍼스널 트래이닝 비디오 이미지에서 제1 장면 구간이, 퍼스널 트래이닝 객체의 제1 운동 동작을 구성하는 일련의 자세를 나타내는, 제1 내지 제10 프레임 이미지로 구성되고, 제2 장면 구간이, 퍼스널 트래이닝 객체의 제2 운동 동작을 구성한 일련의 자세를 나타내는, 제11 내지 제20 프레임 이미지로 구성될 수 있다. 그러면, 상기 제어부(310)는 상기 사용자의 비디오 이미지에서, 상기 퍼스널 트래이닝 객체의 제1 운동 동작을 모방한 사용자의 제1 운동 동작을 나타내는, 제1 내지 제10 프레임을 제1 장면 구간으로 분류하여 제1 장면에 연관된 프레임 이미지의 서브 세트를 형성하고, 상기 퍼스널 트래이닝 객체의 제2 운동 동작을 모방한 상기 사용자의 제2 운동 동작을 나타내는, 제11 내지 제20 프레임을 제2 장면 구간으로 분류하여 제2 장면에 연관된 프레임 이미지의 서브 세트를 형성할 수 있다. For example, in the target personal training video image, a first scene section is composed of first to tenth frame images representing a series of postures constituting the first movement motion of the personal training object, and the second scene section is , It may be composed of 11th to 20th frame images representing a series of postures that constitute the second exercise movement of the personal training object. Then, the control unit 310 classifies the first to tenth frames, which represent the user's first exercise motion imitating the first exercise motion of the personal training object, in the user's video image into a first scene section, By classifying the 11th to 20th frames into a second scene section, forming a subset of frame images associated with the first scene and representing a second movement movement of the user mimicking the second movement movement of the personal training object. A subset of frame images associated with the second scene may be formed.

제어부(310)는 장면 단위로 분류된 상기 사용자의 비디오 이미지 내 프레임 이미지 세트를 운동 상태 분석부(330)에 제공한다(S401). 상기 운동 상태 분석부(330)는 장면 단위별 사용자의 프레임 이미지 세트를 연산 처리하여 해당 장면에서 사용자의 운동 상태를 분석한 사용자의 운동 상태 정보를 생성할 수 있다(S400). The control unit 310 provides a set of frame images within the user's video image classified by scene to the exercise state analysis unit 330 (S401). The exercise state analysis unit 330 may generate user exercise state information by analyzing the user's exercise state in the corresponding scene by processing a set of frame images of the user for each scene (S400).

상기 운동 상태 분석부(330)는 상기 사용자의 자세정보와 상기 퍼스널 트래이닝 객체의 대응한 자세정보를 이용하여 상기 사용자의 운동 상태 정보를 생성할 수 있다. 사용자의 비디오 이미지에 대한 자세정보는 개별 장면에 나타난 사용자의 자세정보로 이루어진다. 여기서, 상기 퍼스널 트래이닝 객체의 대응한 자세정보는 상기 사용자의 자세정보가 서술하는 사용자의 운동 동작에 대응한 상기 퍼스널 트래이닝 객체의 운동 동작을 분석한 결과이다. 구체적으로, 상기 운동 상태 분석부(330)는 장면 단위로 상기 사용자의 자세정보를 생성함으로써, 하나 이상의 장면을 갖는 사용자의 비디오 이미지에 대한 자세정보를 생성할 수 있다(S402). The exercise state analysis unit 330 may generate exercise state information of the user using the user's posture information and the corresponding posture information of the personal training object. The posture information for the user's video image consists of the user's posture information shown in each individual scene. Here, the corresponding posture information of the personal training object is a result of analyzing the exercise motion of the personal training object corresponding to the user's exercise motion described by the user's posture information. Specifically, the exercise state analysis unit 330 may generate posture information for a video image of a user having one or more scenes by generating posture information of the user on a scene basis (S402).

상기 단계(S402)의 사용자의 자세정보를 생성하는 과정, 상기 단계(S403)의 사용자의 운동 상태 정보를 생성하는 과정은 도 5의 단계(S102)의 퍼스널 트래이닝 객체의 자세정보를 생성하는 과정, 상기 단계(S103)의 퍼스널 트래이닝 객체의 운동 상태 정보를 생성하는 과정과 동일하다. The process of generating the user's posture information in step S402 and the process of generating the user's exercise state information in step S403 include the process of generating posture information of the personal training object in step S102 of FIG. 5, This is the same as the process of generating exercise state information of the personal training object in step S103.

본 출원의 다양한 실시 예들에서, 상기 단계(S402)는, 사용자의 비디오 이미지에 포함된 장면에 연관된 서브 세트 각각에 대해, 개별 서브 세트에 포함된 연속적인 프레임 이미지를 포즈 인식 모델에 입력하여 상기 연속적인 프레임 이미지에 나타난 상기 사용자의 자세종류를 인식하는 단계; 그리고 상기 자세종류의 인식 결과, 및 상기 포즈 인식 모델에서 상기 자세종류를 인식하기 위해 연산 처리하는 과정에서 산출된 중간 결과에 기초하여 상기 사용자의 자세정보를 생성하는 단계를 포함할 수 있다. 상기 중간 결과는 관절의 위치, 골격의 위치, 관절의 움직임 벡터, 골격의 움직임 벡터일 수 있다. 그러면, 상기 사용자의 자세정보는 동작 동안의 사용자의 인식된 자세종류, 관절의 위치, 골격의 위치, 관절의 움직임 벡터, 골격의 움직임 벡터를 포함할 수 있다. In various embodiments of the present application, the step (S402) includes, for each subset associated with a scene included in the user's video image, inputting consecutive frame images included in each subset into a pose recognition model to Recognizing the type of posture of the user shown in the frame image; And it may include generating the user's posture information based on the recognition result of the posture type and the intermediate result calculated during the operation process to recognize the posture type in the pose recognition model. The intermediate result may be a joint position, a skeleton position, a joint motion vector, or a skeleton motion vector. Then, the user's posture information may include the user's recognized posture type during the movement, the position of the joint, the position of the skeleton, the motion vector of the joint, and the motion vector of the skeleton.

본 출원의 다양한 실시 예들에서, 상기 단계(S402)는, 상기 연속적인 일련의 자세 중에서 적어도 하나의 자세를 키 자세로 선별하는 단계를 더 포함할 수 있다. 그러면, 상기 사용자의 자세정보는 키 자세에 대한 자세정보를 포함할 수 있다. 예를 들어, 상기 사용자의 자세정보는 일련의 자세 각각이 키 자세인지 여부를 나타낸 이진 레이블 값을 더 포함할 수 있다. In various embodiments of the present application, the step (S402) may further include selecting at least one posture from the continuous series of postures as the key posture. Then, the user's posture information may include posture information about key posture. For example, the user's posture information may further include a binary label value indicating whether each of the series of postures is a key posture.

또한, 일부 실시 예들에서, 상기 키 자세를 선별하는 단계는, 신체 구성요소별 위치 및 움직임 정보에 더 기초하여 키 자세를 결정할 수 있다. Additionally, in some embodiments, the step of selecting the height posture may determine the height posture based on position and movement information for each body component.

또한, 일부 실시 예들에서, 상기 키 자세를 선별하는 단계는, 일차적으로 결정된 키 자세 사이의 연결 자세들 중 하나 이상의 자세를 새로운 키 자세로 추가로 선별하는 단계를 더 포함할 수 있다. 또한, 일부 실시 예들에서, 상기 새로운 키 자세를 추가로 선별하는 단계는, 상기 퍼스널 트래이닝 객체의 일련의 자세에서 순번이 인접한 키 자세 사이의 연결 자세들 중 가운데 순번의 자세이거나, 또는 연결 자세들 중 골격의 위치 변화, 움직임 변화가 상대적으로 큰 자세를 새로운 키 자세로 선별하는 것일 수 있다. Additionally, in some embodiments, the step of selecting the key posture may further include the step of additionally selecting one or more postures among the connection postures between the primarily determined key postures as a new key posture. Additionally, in some embodiments, the step of additionally selecting the new key posture may be a middle sequential posture among connection postures between key postures whose sequence is adjacent in the series of postures of the personal training object, or among connection postures. A posture with relatively large changes in skeletal position or movement may be selected as the new key posture.

대안적인 실시 예들에서, 상기 운동 상태 정보에서 자세정보는 키 자세로 선별된 일부 자세에 대한 정보일 수 있다. 예를 들어, 상기 운동 상태 분석부(330)는, 키 자세를 선별하고, 키 자세 각각의 자세종류, 골격, 관절의 위치, 움직임 정보, 신체의 구성요소의 위치, 움직임 정보를 포함한 상기 자세정보를 생성할 수 있다. 상기 운동 상태 분석부(330)는 키 자세를 제외한 나머지 자세에 대한 정보는 생략한 자세정보를 생성할 수 있다. In alternative embodiments, the posture information in the exercise state information may be information about some postures selected as key postures. For example, the exercise state analysis unit 330 selects the key posture, and the posture information including the posture type, skeleton, joint positions, movement information, positions of body components, and movement information for each height posture. can be created. The exercise state analysis unit 330 may generate posture information that omits information on postures other than the height posture.

상기 운동 상태 분석부(330)는 상기 사용자의 자세정보에 기초하여 상기 사용자의 운동 상태 정보를 생성할 수 있다. 상기 운동 상태 분석부(330)는 상기 사용자의 자세정보에 기초하여 사용자의 운동 상태 정보, 예를 들어, 동작종류, 동작속도, 동작회수를 생성할 수 있다(S403).The exercise state analysis unit 330 may generate exercise state information of the user based on the user's posture information. The exercise state analysis unit 330 may generate the user's exercise state information, for example, motion type, motion speed, and number of motions, based on the user's posture information (S403).

이와 같이 단계(S402, S403)의 동작은 단계(S102, S103)의 동작과 동일하므로, 자세한 설명은 생략한다. Since the operations of steps S402 and S403 are the same as those of steps S102 and S103, detailed descriptions are omitted.

운동 상태 분석부(330)에서 생성된 사용자의 운동 상태 정보는 운동 결과 분석부(350)로 제공된다. The user's exercise state information generated in the exercise state analysis unit 330 is provided to the exercise result analysis unit 350.

운동 결과 분석부(350)는 상기 사용자의 운동 동작과 상기 퍼스널 트래이닝 객체의 대응한 운동 동작을 서로 비교 분석한 결과로서 상기 사용자의 운동 결과 정보를 생성한다(S500). 상기 단계(S400)에서 획득된 상기 사용자의 자세정보는 상기 사용자의 비디오 이미지에 대응한 상기 퍼스널 트래이닝 비디오의 메타데이터에서 퍼스널 트레이닝 객체의 자세정보와 비교된다(S500). The exercise result analysis unit 350 generates exercise result information of the user as a result of comparing and analyzing the user's exercise motion and the corresponding exercise motion of the personal training object (S500). The user's posture information obtained in the step (S400) is compared with the posture information of the personal training object in the metadata of the personal training video corresponding to the user's video image (S500).

도 7은, 본 출원의 다양한 실시 예들에 따른, 상기 사용자의 운동 결과 정보를 생성하는 과정의 세부 흐름도이다. Figure 7 is a detailed flowchart of a process for generating exercise result information of the user according to various embodiments of the present application.

도 6을 참조하면, 상기 사용자의 비디오 이미지에 대응한 상기 퍼스널 트래이닝 비디오의 메타데이터에서 퍼스널 트레이닝 객체의 자세정보를 상기 사용자의 자세정보와 비교하여 상기 사용자의 운동 결과 정보를 생성 하는 단계(S500)는, 상기 사용자의 운동 상태 정보에서 상기 사용자의 자세정보와 상기 퍼스널 트래이닝 객체의 대응한 자세정보를 비교하여, 상기 퍼스널 트래이닝 객체에 대한 상기 사용자의 자세 유사도를 산출하는 단계(S501); 상기 퍼스널 트래이닝 객체의 운동 결과 정보, 상기 사용자의 자세 유사도, 상기 사용자의 운동 상태 정보 중 적어도 하나에 기초하여 상기 사용자의 운동 결과 정보를 생성하는 단계(S502);를 포함할 수 있다. 상기 자세 유사도는 상기 퍼스널 트래이닝 객체의 자세를 기준으로 상기 사용자의 자세 모방 정확도를 나타낼 수 있다. Referring to FIG. 6, comparing the posture information of a personal training object with the posture information of the user in the metadata of the personal training video corresponding to the video image of the user to generate exercise result information of the user (S500) Comparing the user's posture information with the corresponding posture information of the personal training object in the user's exercise state information, calculating the user's posture similarity to the personal training object (S501); It may include generating exercise result information of the user based on at least one of exercise result information of the personal training object, posture similarity of the user, and exercise state information of the user (S502). The posture similarity may indicate the user's posture imitation accuracy based on the posture of the personal training object.

상기 운동 결과 분석부(350)는 장면 단위에 따라 분류된 서브 세트의 프레임 이미지에 나타난, 사용자의 일련의 자세에서 관절의 움직임 벡터, 골격의 움직임 벡터와, 상기 사용자의 일련의 자세에 대응한 퍼스널 트래이닝 객체의 일련의 자세에 나타난 퍼스널 트래이닝 객체의 관절의 움직임 벡터, 골격의 움직임 벡터 간의 자세 유사도를 산출할 수 있다(S501). The exercise result analysis unit 350 stores joint motion vectors, skeletal motion vectors in a series of user postures shown in a subset of frame images classified according to scene units, and a personal motion vector corresponding to the user's series of postures. The posture similarity between the joint motion vectors and the skeletal motion vectors of the personal training object shown in a series of postures of the training object can be calculated (S501).

상기 자세 유사도를 산출하는 단계(S501)는, 서로 대응한 퍼스널 트래이닝 객체의 자세와 사용자의 자세에서, 퍼스널 트래이닝 객체와 사용자 각각의 대응 관절, 대응 골격을 결정하는 단계; 사용자의 일련의 자세에서 사용자의 관절의 움직임 벡터와, 상기 사용자의 일련의 자세에 대응한 퍼스널 트래이닝 객체의 일련의 자세에 나타난 퍼스널 트래이닝 객체의 관절의 움직임 벡터 간의 제1 유사도를 산출하는 단계; 사용자의 일련의 자세에서 사용자의 골격의 움직임 벡터와, 상기 사용자의 일련의 자세에 대응한 퍼스널 트래이닝 객체의 일련의 자세에 나타난 퍼스널 트래이닝 객체의 골격의 움직임 벡터 간의 제2 유사도를 산출하는 단계; 및 상기 제1 유사도 및 제2 유사도에 기초하여 상기 일련의 자세 동안 상기 사용자와 대응한 퍼스널 트래이닝 객체 간의 자세 유사도를 산출하는 단계를 포함할 수 있다. The step of calculating the posture similarity (S501) includes determining corresponding joints and corresponding skeletons of the personal training object and the user, respectively, from the posture of the personal training object and the user's posture that correspond to each other; calculating a first similarity between the motion vectors of the user's joints in a series of postures of the user and the motion vectors of the joints of the personal training object shown in the series of postures of the personal training object corresponding to the series of postures of the user; calculating a second similarity between the motion vector of the user's skeleton in a series of postures of the user and the motion vector of the skeleton of the personal training object shown in the series of postures of the personal training object corresponding to the series of postures of the user; and calculating a posture similarity between the user and the corresponding personal training object during the series of postures based on the first similarity and the second similarity.

상기 제1 유사도, 제2 유사도는 대응 관절, 대응 골격의 움직임 정보 간의 유사도이다. The first similarity and the second similarity are similarities between movement information of corresponding joints and corresponding skeletons.

사용자와 퍼스널 트래이닝 객체 간의 신체 조건(예를 들어, 키, 몸무게, 체형 등)이 다르기 때문에 관절, 골격의 위치는 자세의 정확성에도 불구하고 차이가 있을 수 있다. 따라서, 운동 결과 분석부(350)는 움직임 정보에 기초하여 자세 정확성을 분석할 수 있다. Because the physical conditions (e.g., height, weight, body type, etc.) between the user and the personal training object are different, the positions of the joints and skeleton may differ despite the accuracy of the posture. Accordingly, the exercise result analysis unit 350 can analyze posture accuracy based on the movement information.

상기 운동 결과 분석부(350)는 퍼스널 트래이닝 객체와 사용자 각각의 대응 관절, 대응 골격을 결정하기 위해, 다양한 포즈 매칭 알고리즘을 미리 저장할 수 있다. 상기 포즈 매칭 알고리즘은, 예를 들어 최근접 이웃(Nearest Neighbor) 기반 매칭이나 최적화(Optimization) 기반 매칭 방식, 또는 기타 매칭 방식으로 대응 관절, 대응 골격을 결정하도록 구성될 수 있다. 상기 제어부(310)는 미리 저장된 포즈 매칭 알고리즘을 통해 사용자의 자세와 서로 대응하는 퍼스널 트래이닝 객체의 자세에서 퍼스널 트래이닝 객체의 관절, 골격에 대응한 사용자의 대응 관절, 대응 골격을 결정할 수 있다. The exercise result analysis unit 350 may store various pose matching algorithms in advance to determine the corresponding joints and corresponding skeletons of each personal training object and user. The pose matching algorithm may be configured to determine corresponding joints and corresponding skeletons, for example, by nearest neighbor-based matching, optimization-based matching, or other matching methods. The control unit 310 may determine the user's corresponding joints and skeleton corresponding to the joints and skeleton of the personal training object from the posture of the user and the posture of the corresponding personal training object through a pre-stored pose matching algorithm.

본 출원의 다양한 실시 예들에서, 상기 퍼스널 트래이닝 객체와 사용자 간의 자세 오차를 산출하는 단계는, 산출된 관절의 위치 오차 및 골격의 움직임 오차를 합산하여, 상기 퍼스널 트래이닝 객체와 사용자 간의 자세 오차를 산출하는 것일 수 있다. 일부 실시 예들에서, 상기 관절의 위치 오차, 골격의 움직임 오차는 평균 제곱 오차(MSE)로 산출될 수 있다. In various embodiments of the present application, the step of calculating the posture error between the personal training object and the user includes calculating the posture error between the personal training object and the user by adding the calculated position errors of the joints and the movement errors of the skeleton. It could be. In some embodiments, the position error of the joint and the movement error of the skeleton may be calculated as mean square error (MSE).

일부 실시 예들에서, 상기 단계(S501)는, 사용자의 신장, 체형에 기초하여 상기 퍼스널 트래이닝 객체의 자세정보를 상기 사용자와 동일한 신장, 체형을 갖는 상기 퍼스널 트래이닝 객체의 자세정보로 보정하는 단계; 및 상기 퍼스널 트래이닝 객체의 보정된 자세정보와 상기 사용자의 자세정보를 비교하여 상기 사용자와 퍼스널 트래이닝 객체 간의 자세 유사도를 산출하는 단계를 포함할 수 있다. 제어부(310)는 퍼스널 트래이닝 객체의 보정된 관절 위치, 골격 움직임 정보와 사용자의 관절 위치, 골격 움직임 정보를 이용해 자세 유사도를 보다 정확하게 산출할 수 있다. In some embodiments, the step (S501) includes correcting the posture information of the personal training object based on the user's height and body shape to the posture information of the personal training object having the same height and body shape as the user; And it may include comparing the corrected posture information of the personal training object with the posture information of the user to calculate posture similarity between the user and the personal training object. The control unit 310 can more accurately calculate posture similarity using the corrected joint position and skeletal movement information of the personal training object and the user's joint position and skeletal movement information.

또한, 상기 퍼스널 트래이닝 객체와 사용자 간의 동작 유사도를 산출하는 단계는, 일련의 자세에 대한 상기 사용자와 퍼스널 트래이닝 객체 간의 개별 동작 유사도를 합산하여, 상기 퍼스널 트래이닝 객체와 상기 사용자 간의 동작 유사도를 산출하는 것일 수 있다. 동작 유사도는 사용자의 운동 동작이 퍼스널 트래이닝 객체의 운동 동작을 얼마나 정확하게 모방하였는지를 의미한다. In addition, the step of calculating the motion similarity between the personal training object and the user includes calculating the motion similarity between the personal training object and the user by adding up the individual motion similarities between the user and the personal training object for a series of postures. You can. Motion similarity refers to how accurately the user's exercise motion imitates the exercise motion of the personal training object.

상기 운동 결과 분석부(350)는 제1 유사도, 제2 유사도, 자세 유사도, 동작 유사도와 같은 다양한 유사도를 산출하기 위해 유사도 산출 알고리즘을 이용할 수 있다. 상기 유사도 산출 알고리즘은, 예를 들어, 유클리드 거리 방식, 코사인 거리 방식, 또는 기타 벡터 간의 유사도 산출 알고리즘일 수 있다. The exercise result analysis unit 350 may use a similarity calculation algorithm to calculate various similarities such as first similarity, second similarity, posture similarity, and motion similarity. The similarity calculation algorithm may be, for example, a Euclidean distance method, a cosine distance method, or another similarity calculation algorithm between vectors.

일부 실시 예들에서, 상기 운동 결과 분석부(350)는, 자세 유사도를 산출하기 이전에, 상기 퍼스널 트래이닝 객체의 체형을 상기 사용자의 체형으로 보정하고, 상기 퍼스널 트래이닝 객체의 보정된 체형에 따라 상기 퍼스널 트래이닝 객체의 자세정보를 보정하도록 구성될 수 있다. 그러면, 체형이 일치하는 퍼스널 트래이닝 객체를 기준으로 사용자의 동작 정확성이 산출될 수 있다. In some embodiments, the exercise result analysis unit 350 corrects the body shape of the personal training object to the body shape of the user before calculating the posture similarity, and analyzes the personal training object according to the corrected body shape of the personal training object. It may be configured to correct the posture information of the training object. Then, the user's motion accuracy can be calculated based on the personal training object whose body shape matches.

한편, 상기 운동 결과 분석부(350)는 상기 사용자의 신체 프로필 데이터, 및 상기 사용자의 운동 상태 정보에 기초하여 상기 사용자의 운동 결과 정보를 생성할 수 있다(S502).Meanwhile, the exercise result analysis unit 350 may generate the user's exercise result information based on the user's body profile data and the user's exercise state information (S502).

본 출원의 다양한 실시 예들에서, 상기 운동 결과 분석부(350)는, 분석 대상 이미지에서 객체의 운동량, 운동강도, 난이도, 심박수, 칼로리 소모량, 객체의 운동에 사용된 운동근육, 운동골격의 운동 범위, 운동관절의 운동 범위 중 하나 이상의 정보를 포함하는, 상기 객체의 운동 결과 정보를 생성할 수 있다. 상기 운동 결과 정보는 객체의 운동종류별로 생성될 수 있다. 분석 대상 이미지가 복수의 운동종류를 포함할 경우, 각 운동종류별 운동 결과 정보가 생성될 수 있다(S502). In various embodiments of the present application, the exercise result analysis unit 350 determines the amount of exercise, exercise intensity, difficulty, heart rate, calorie consumption, exercise muscles used in the exercise of the object, and exercise range of the exercise skeleton of the object in the image to be analyzed. , motion result information of the object may be generated, including information on one or more of the range of motion of the motion joint. The exercise result information may be generated for each type of exercise of the object. If the image to be analyzed includes multiple exercise types, exercise result information for each exercise type may be generated (S502).

상기 사용자의 운동 결과 정보를 생성하는 단계(S502)는, 상기 사용자와 퍼스널 트래이닝 객체 간의 동작 유사도를 상기 퍼스널 트래이닝 객체의 운동 상태 정보 중 일부 정보에 적용하여 상기 사용자의 운동 상태 정보 중 일부 항목에 대한 값을 산출하는 단계; 상기 사용자의 운동 상태 정보에 기초하여 상기 사용자의 운동 결과 정보에 포함되는 다른 일부 항목에 대한 값을 산출하는 단계; 및 상기 사용자의 신체 프로필 데이터, 상기 사용자의 운동 상태 정보에 기초하여 상기 사용자의 운동 결과 정보에 포함되는 또 다른 일부 항목에 대한 값을 산출하는 단계를 포함할 수 있다. In the step of generating exercise result information of the user (S502), the similarity in motion between the user and the personal training object is applied to some of the exercise state information of the personal training object to generate information on some items of the exercise state information of the user. calculating a value; calculating values for some other items included in the user's exercise result information based on the user's exercise state information; and calculating values for some other items included in the user's exercise result information based on the user's body profile data and the user's exercise state information.

상기 사용자와 퍼스널 트래이닝 객체 간의 동작 유사도를 상기 퍼스널 트래이닝 객체의 운동 상태 정보 중 일부 정보에 적용하여 상기 사용자의 운동 상태 정보 중 일부 항목에 대한 값을 산출하는 단계는, 상기 사용자와 퍼스널 트래이닝 객체 간의 동작 유사도를 상기 퍼스널 트래이닝 객체의 운동 결과 정보에서 퍼스널 트래이닝 객체의 난이도, 심박수, 또는 칼로리 소모량에 적용하여 사용자의 난이도, 심박수, 또는 칼로리 소모량을 산출하는 것일 수 있다. The step of calculating values for some items of the user's exercise state information by applying the motion similarity between the user and the personal training object to some of the exercise state information of the personal training object includes the operation between the user and the personal training object. The similarity may be applied to the difficulty, heart rate, or calorie consumption of the personal training object from the exercise result information of the personal training object to calculate the user's difficulty, heart rate, or calorie consumption.

상기 사용자의 운동 상태 정보에 기초하여 상기 사용자의 운동 결과 정보에 포함되는 다른 일부 항목에 대한 값을 산출하는 단계는, 일련의 자세 동안 자세 각각의 관절의 위치, 및/또는 골격의 움직임 벡터에 기초하여 사용자의 비디오 이미지에 나타난 사용자의 운동골격, 운동관절을 결정하는 단계; 및 상기 사용자의 운동골격의 위치, 운동관절의 위치를 추적하여 상기 사용자의 운동골격의 운동 범위, 상기 사용자의 운동관절의 운동 범위를 산출하는 단계를 포함할 수 있다. 또한, 일부 실시 예들에서, 상기 사용자의 운동 상태 정보에 기초하여 상기 사용자의 운동 결과 정보에 포함되는 다른 일부 항목에 대한 값을 산출하는 단계는, 사용자의 비디오 이미지에서 운동 동작 동안 사용자의 자세 정보에 기초하여 상기 사용자의 운동근육을 검출하는 단계를 포함할 수 있다. The step of calculating values for some other items included in the user's exercise result information based on the user's exercise state information is based on the position of each joint in the posture during a series of postures and/or the motion vector of the skeleton. determining the user's movement skeleton and movement joints shown in the user's video image; And it may include calculating the range of motion of the user's motion skeleton and the range of motion of the user's motion joints by tracking the position of the user's motion skeleton and the positions of the motion joints. Additionally, in some embodiments, the step of calculating values for some other items included in the user's exercise result information based on the user's exercise state information includes the user's posture information during the exercise movement in the user's video image. It may include detecting the user's exercise muscles based on the user's exercise muscles.

상기 운동 결과 분석부(350)는 사용자의 운동골격, 운동관절을 사용자의 자세정보에 기초하여 선택할 수 있다(S502). 일부 실시 예들에서, 상기 운동 결과 분석부(350)는 상기 서버(300)에 미리 저장된 복수의 신체 내 골격 중에서 단위 동작 동안 골격의 위치 변화 또는 움직임 벡터의 변화가 있으면 운동골격으로 선택될 수 있다. The exercise result analysis unit 350 may select the user's exercise skeleton and exercise joints based on the user's posture information (S502). In some embodiments, the exercise result analysis unit 350 may select an exercise skeleton among a plurality of skeletons in the body pre-stored in the server 300 if there is a change in the position or motion vector of the skeleton during a unit operation.

상기 운동 결과 분석부(350)는 미리 저장된 복수의 신체 내 골격 중 운동골격을 선택하고, 선택된 운동골격에 대해, 단위 동작 동안 각 운동골격의 위치, 움직임을 추적하여 상기 운동골격의 운동 범위를 산출할 수 있다. The exercise result analysis unit 350 selects an exercise skeleton among a plurality of pre-stored skeletons in the body, and for the selected exercise skeleton, tracks the position and movement of each exercise skeleton during a unit operation to calculate the range of motion of the exercise skeleton. can do.

상기 운동 결과 분석부(350)는 신체 내 복수의 관절 중 운동관절을 선택하고, 선택된 운동관절에 대해, 단위 동작 동안 각 운동관절의 위치, 움직임을 추적하여 상기 운동관절의 운동 범위를 산출할 수 있다. The exercise result analysis unit 350 may select a motion joint among a plurality of joints in the body, and for the selected motion joint, track the position and movement of each motion joint during a unit operation to calculate the range of motion of the motion joint. there is.

상기 운동관절은 객체의 운동 상태 정보에서 단위 동작 동안의 관절의 위치 변화에 기초하여 결정될 수 있다. 예를 들어, 상기 운동 결과 분석부(350)는 연속된 일련의 자세 동안 개별 자세에서 관절의 위치 변화의 값이 상대적으로 큰 관절을 운동관절로 결정할 수 있다. 일부 실시 예들에서, 상기 입력 객체의 운동 동작 동안 골격의 움직임이 미리 설정된 임계 움직임 이상인 골격을 동작 골격으로 검출할 수 있다. 또한, 일부 실시 예들에서, 상기 임계 움직임은 신체의 움직임일 수 있다. 즉, 신체가 동작을 취할 때, 신체 전체가 움직이는 것 보다 더 크게 움직이는 골격이 동작 골격으로 검출될 수 있다. 예를 들어, 팔을 회전시키는 동작에서 동작 골격은 어깨에 위치한 상완근, 요골(radius) 및 척골(Ulna)일 수 있다. 또한, 일부 실시 예들에서, 상기 신체의 움직임은 개별 자세에서 신체 내 골격들의 좌표의 평균 움직임일 수 있다.The movement joint may be determined based on a change in the position of the joint during a unit motion in the movement state information of the object. For example, the exercise result analysis unit 350 may determine a joint having a relatively large joint position change value in an individual posture during a series of consecutive postures as an exercise joint. In some embodiments, a skeleton whose movement during the movement of the input object is greater than or equal to a preset threshold may be detected as a motion skeleton. Additionally, in some embodiments, the threshold movement may be body movement. That is, when the body moves, a skeleton that moves more than the entire body can be detected as a motion skeleton. For example, in an arm rotation motion, the motion skeleton may be the brachialis, radius, and ulna muscles located in the shoulder. Additionally, in some embodiments, the movement of the body may be an average movement of coordinates of bones within the body in individual postures.

상기 운동관절, 골격의 운동 범위는 회전 방향, 회전 각도, 움직임 방향, 움직임 거리로 표현될 수 있다. 상기 움직임 방향은 3차원 공간 상의 방위(orientation)로 표현될 수 있다. The range of motion of the motion joints and skeleton can be expressed in terms of rotation direction, rotation angle, movement direction, and movement distance. The direction of movement can be expressed as an orientation in three-dimensional space.

상기 운동근육은 동작종류별로 상기 운동 상태 정보 내 자세정보에 기초하여 신체 영역 중 적어도 일부 영역이 상기 운동근육으로 결정될 수 있다.As for the exercise muscle, at least some of the body regions may be determined to be the exercise muscle based on posture information in the exercise state information for each type of movement.

본 출원의 다양한 실시 예들에서, 상기 운동 결과 분석부(350)는 사용자의 비디오 이미지에서 단위 동작 동안 사용자의 자세정보 내 관절의 위치, 골격의 위치, 관절의 움직임 벡터 및/또는 골격의 움직임 벡터에 기초하여 상기 사용자의 신체에 포함된 다수의 근육 중 상기 사용자의 운동근육을 결정할 수 있다(S502). In various embodiments of the present application, the exercise result analysis unit 350 determines the position of the joint, the position of the skeleton, the motion vector of the joint, and/or the motion vector of the skeleton in the user's posture information during the unit motion in the video image of the user. Based on this, the user's exercise muscles among the plurality of muscles included in the user's body can be determined (S502).

상기 사용자의 운동강도는 대응한 퍼스널 트래이닝 객체의 운동 동작으로부터 분석된 상기 퍼스널 트래이닝 객체의 운동강도로부터 산출될 수 있다. The user's exercise intensity may be calculated from the exercise intensity of the personal training object analyzed from the exercise motion of the corresponding personal training object.

상기 단계(S502)는, 퍼스널 트래이닝 객체의 자세정보와 사용자의 자세정보 간의 차이에 기초하여 개별 운동근육에 가해지는 상기 사용자의 운동강도를 산출하는 단계를 더 포함한다. 상기 운동 결과 분석부(350)는 상기 사용자의 비디오 이미지에서 사용자의 운동근육으로 선별된 근육 각각에 가해지는 운동강도를 산출할 수 있다. The step (S502) further includes calculating the user's exercise intensity applied to individual exercise muscles based on the difference between the posture information of the personal training object and the user's posture information. The exercise result analysis unit 350 may calculate the exercise intensity applied to each muscle selected as the user's exercise muscle in the user's video image.

상기 사용자의 운동강도를 산출하는 단계는, 운동 결과 분석부(350)에 의해, 상기 사용자의 자세가 퍼스널 트래이닝 객체의 자세에 매칭하는 경우, 퍼스널 트래이닝 객체의 운동강도를 상기 사용자의 운동강도로 산출하는 단계를 포함할 수 있다. 또한 일부 실시 예들에서, 상기 사용자의 운동강도를 산출하는 단계는, 상기 사용자의 자세정보에 따른 상기 사용자의 운동강도를 상기 사용자의 신체 프로필 데이터 및/또는 운동근육의 사용 수준에 기초하여 보정하는 단계를 더 포함할 수 있다. 운동 결과 분석부(350)는 보정된 운동강도를 사용자의 최종 운동강도를 갖는 사용자의 운동 결과 정보를 생성할 수 있다(S502). In the step of calculating the user's exercise intensity, when the user's posture matches the posture of the personal training object, the exercise result analysis unit 350 calculates the exercise intensity of the personal training object as the user's exercise intensity. It may include steps. Additionally, in some embodiments, calculating the user's exercise intensity may include correcting the user's exercise intensity according to the user's posture information based on the user's body profile data and/or the level of exercise muscle use. may further include. The exercise result analysis unit 350 may generate the user's exercise result information in which the corrected exercise intensity is the user's final exercise intensity (S502).

상기 사용자의 운동강도를 보정하는 단계는, 상기 사용자의 자세정보에 따른 상기 사용자의 운동강도를 상기 사용자의 신체 프로필 데이터에 기초하여 보정하는 단계를 포함할 수 있다. The step of correcting the user's exercise intensity may include correcting the user's exercise intensity according to the user's posture information based on the user's body profile data.

근육에 자극을 가하는 부하량은 자세의 정확성과 더불어 몸무게에도 영향을 받는다. 몸무게가 무거울수록 더 많은 부하량이 근육에 가해진다. 상기 운동 결과 분석부(350)는, 사용자의 운동 결과를 보다 정확하게 분석하기 위해, 상기 사용자의 운동강도는 상기 사용자의 몸무게와 상기 퍼스널 트래이닝 객체의 몸무게의 비율을 산출하고, 산출된 몸무게 비율을 상기 사용자의 자세정보에 따른 상기 사용자의 운동강도에 적용하여, 상기 사용자의 운동강도를 보정할 수 있다. 그러면, 보정된 운동강도를 갖는 사용자의 운동 결과 정보를 생성할 수 있다.The amount of load that stimulates the muscles is affected by body weight as well as the accuracy of posture. The heavier the weight, the more load is placed on the muscles. In order to more accurately analyze the user's exercise results, the exercise result analysis unit 350 calculates the user's exercise intensity as the ratio of the user's body weight and the body weight of the personal training object, and calculates the calculated body weight ratio as the By applying the user's exercise intensity according to the user's posture information, the user's exercise intensity can be corrected. Then, the user's exercise result information with the corrected exercise intensity can be generated.

또한, 상기 사용자의 운동강도를 보정하는 단계는, 상기 사용자의 자세정보에 따른 상기 사용자의 운동강도를 운동근육의 사용 수준에 기초하여, 보정하는 단계를 포함할 수 있다. Additionally, the step of correcting the user's exercise intensity may include correcting the user's exercise intensity according to the user's posture information based on the level of exercise muscle use.

상기 운동근육의 사용 수준은 객체가 동작을 취하는데 실제로 사용한 운동근육에 관한 것으로서, 운동근육을 얼마나 정확하게 사용하였는지 그 사용 정확도를 나타낸 수준이다. 상기 사용 수준은 미리 설정된 수준 범위에 따라 사용 정확 정도를 수준별로 나타낸 값으로 표현될 수 있다.The level of use of the exercise muscles relates to the exercise muscles actually used by the object in performing the movement, and is a level that indicates the accuracy of use of the exercise muscles. The usage level may be expressed as a value indicating the accuracy of usage by level according to a preset level range.

상기 사용 수준은 운동근육별로 산출될 수 있다. 사용자가 운동 효과를 정확하게 얻기 위해서는 자세를 정확하게 취하는 것은 물론, 근육을 정확하게 사용하는 것이 요구된다. 초보의 경우, 관절과 뼈대의 위치를 정확하게 일치시켜도, 힘을 주면 안되는 근육에 힘을 주고 오히려 힘을 줘야 하는 근육에는 힘을 제대로 주지 못하는 잘못된 방식으로 운동 동작을 구현할 수 있다. 예를 들어, 웨이트 운동 중 랫풀다운(pull-down exercise)은 턱걸이를 하듯 바(bar)를 아래로 잡아 당겨 광배근(lat, latissimus dorsi muscle)을 발달시키는 근력운동으로서, 팔 근육, 상부 승모근의 힘을 최대한 배제하고 광배근과 견갑골과 연결된 광배근 주변의 근육들의 힘을 활용해야 정확한 운동 결과를 얻을 수 있다. 만약 초보 사용자가 퍼트 코치의 자세를 정확하게 모방하더라도, 잘못된 근육에 팔 근육만을 이용해 바를 잡아 당기면, 렛풀 다운의 운동근육에 부하가 정확하게 가해지지 않는 문제가 발생하고, 결국 기대하는 등 근육의 발달 대신 팔 근육의 발달만을 얻게 된다. The usage level can be calculated for each exercise muscle. In order for the user to accurately obtain the effect of exercise, it is necessary to assume an accurate posture and use muscles accurately. In the case of beginners, even if the positions of the joints and the skeleton are accurately matched, exercise movements may be implemented in the wrong way, applying force to muscles that should not be applied, and failing to properly apply force to muscles that need to be applied. For example, among weight exercises, the lat pull-down exercise is a strength exercise that develops the lat (latissimus dorsi muscle) by pulling the bar down as if doing chin-ups, and strengthens the arm muscles and upper trapezius muscle. You can obtain accurate exercise results by excluding as much as possible and utilizing the strength of the muscles around the lats, which are connected to the lats and scapula. Even if a novice user accurately imitates the putt coach's posture, if the user pulls the bar using only the arm muscles for the wrong muscles, a problem occurs in which the load is not applied correctly to the exercise muscles of the lat pull down, and eventually, instead of developing the expected back muscles, the arm muscles are damaged. You only get muscle development.

본 출원의 다양한 실시 예들에서, 상기 사용자의 자세정보에 따른 상기 사용자의 운동강도를 운동근육의 사용 수준에 기초하여, 보정하는 단계는, 입력 이미지에서 운동근육을 둘러싼 신체 부분의 부피 변화를 분석하여 근육의 부피 변화 정보를 획득하는 단계, 및 입력 이미지에서 운동근육을 가리키는 운동근육 영역 상의 피부 변화를 분석하여 피부 표면의 변화 정보를 획득하는 단계 중 적어도 하나의 단계; 획득된 운동근육의 부피 변화 정보 및 운동근육 영역 상의 상기 피부 표면의 변화 정보 중 적어도 하나의 정보와 해당 근육의 사용 정도 간의 상관관계를 추론하여 입력 이미지에 나타난 운동근육 영역별로 운동근육의 사용 정도를 예측하는 단계; 및 예측된 운동근육별 사용 정도에 기초하여 상기 사용자의 운동강도를 보정하는 단계를 포함할 수 있다. In various embodiments of the present application, the step of correcting the user's exercise intensity according to the user's posture information based on the level of use of the exercise muscle includes analyzing the volume change of the body part surrounding the exercise muscle in the input image. At least one step of acquiring muscle volume change information and acquiring skin surface change information by analyzing skin changes on the motor muscle area indicating the motor muscle in the input image; By inferring the correlation between at least one of the acquired volume change information of the exercise muscle and the change information of the skin surface on the exercise muscle area and the degree of use of the corresponding muscle, the degree of use of the exercise muscle is determined for each exercise muscle region shown in the input image. predicting step; And it may include correcting the user's exercise intensity based on the predicted degree of use of each exercise muscle.

상기 운동 결과 분석부(350)는 미리 학습된 사용근육 분석 모델을 이용하여 상기 운동근육의 사용 수준을 산출할 수 있다. 상기 사용근육 분석 모델은 입력 이미지에 시각적으로 표현된 근육 사용 정보를 분석하여 운동근육이 실제로 사용되었는지 여부를 나타내는, 상기 운동근육의 사용 수준을 산출하도록 미리 학습된 기계학습 모델이다. The exercise result analysis unit 350 may calculate the level of use of the exercise muscles using a pre-learned muscle use analysis model. The used muscle analysis model is a machine learning model that is pre-trained to calculate the level of use of the exercise muscle, indicating whether the exercise muscle was actually used by analyzing muscle use information visually expressed in the input image.

상기 입력 이미지에 시각적으로 표현된 근육 사용 정보는 근육의 부피 변화 및/또는 피부 표면의 변화를 포함한다. Muscle use information visually expressed in the input image includes changes in muscle volume and/or changes in skin surface.

근육은 힘을 줘 사용하면 그 부피가 팽창한다. 즉, 근육의 부피가 팽창하면 객체가 근육을 사용하는 것을 의미한다. 반면, 근육의 부피가 팽창하지 않으면 객체가 근육을 사용하지 않는 것을 의미할 수 있다. 상기 근육의 부피 변화는 해당 근육을 둘러싼 신체 부분의 부피 변화에 대응한다. When muscles are used with force, their volume expands. In other words, when the volume of a muscle expands, it means that the object is using the muscle. On the other hand, if the muscle volume does not expand, it may mean that the object is not using the muscle. Changes in the volume of the muscle correspond to changes in the volume of the body part surrounding the muscle.

또한, 근육은 힘을 줘 사용하면 근육의 팽창으로 인해 피부 표면이 팽팽해지며, 또는 피부 아래의 근육, 힘줄이 돌출되는 표면 변화가 발생한다. 즉, 피부 표면이 팽창되거나 돌출되면 객체가 근육을 사용하는 것을 의미한다. 반면, 피부 표면이 팽창되지 않고 돌출되지 않으면 객체가 근육을 사용하지 않는 것을 의미할 수 있다. Additionally, when muscles are used with force, the skin surface becomes taut due to muscle expansion, or surface changes occur where muscles and tendons under the skin protrude. In other words, when the skin surface swells or protrudes, it means the object is using its muscles. On the other hand, if the skin surface is not inflated and protruding, it may mean that the object is not using its muscles.

본 출원의 다양한 실시 예들에서, 사용근육 분석 모델은 입력 이미지(예컨대, 사용자의 동작에 연관된 서브 세트로서 일련의 프레임 이미지)에서 분석 대상 근육을 둘러싼 신체 부분의 부피 변화를 분석하여 근육의 부피 변화 정보를 획득하거나, 및/또는 입력 이미지에서 근육을 둘러싼 신체 부분의 피부 변화를 분석하여 피부 표면의 변화 정보를 획득할 수 있다. 획득된 근육의 부피 변화 정보 및/또는 피부 표면의 변화 정보에 기초하여 분석 대상 근육의 사용 수준을 산출할 수 있다. 여기서, 분석 대상 근육은 운동근육으로 분석된 적어도 하나의 근육이다. In various embodiments of the present application, the used muscle analysis model analyzes the volume change of the body part surrounding the muscle to be analyzed in an input image (e.g., a series of frame images as a subset related to the user's motion) to provide muscle volume change information. Change information on the skin surface may be obtained by acquiring and/or analyzing changes in the skin of the body part surrounding the muscle in the input image. The use level of the muscle to be analyzed can be calculated based on the acquired muscle volume change information and/or skin surface change information. Here, the muscle to be analyzed is at least one muscle analyzed as an exercise muscle.

도 7은, 본 출원의 다양한 실시 예들에 따른, 사용근육 분석 모델의 구조를 개략적으로 설명한다. Figure 7 schematically explains the structure of a used muscle analysis model according to various embodiments of the present application.

도 7을 참조하면, 상기 사용근육 분석 모델은 동작을 나타낸 연속적인 입력 이미지에서 운동근육을 분할하고, 동작 동안 분할된 운동근육의 부피 변화를 산출하는 제1 분석 모델; 및/또는 동작을 나타낸 연속적인 입력 이미지에서 운동근육을 분할하고, 동작 동안 분할된 운동근육 내 피부 표면의 변화를 산출하는 제2 분석 모델을 포함한다. 또한, 상기 사용근육 분석 모델은 상기 제1 분석 모델의 분석 결과 및/또는 제2 분석 모델의 분석 결과에 기초하여 객체의 근육에 대한 사용 수준을 산출하는 추론 모델을 포함한다. Referring to FIG. 7, the used muscle analysis model includes a first analysis model that divides exercise muscles from continuous input images showing motion and calculates volume changes of the divided exercise muscles during motion; and/or a second analysis model that segments motor muscles in continuous input images showing motion and calculates changes in the skin surface within the segmented motor muscles during motion. Additionally, the used muscle analysis model includes an inference model that calculates the use level of the object's muscles based on the analysis result of the first analysis model and/or the analysis result of the second analysis model.

상기 제1 분석 모델, 제2 분석 모델은 관절의 위치, 골격의 위치에 기초하여 근육을 검출하고, 검출된 근육 및 그 주변 영역을 픽셀 단위로 분석하여 근육의 경계를 확정해 분할할 수 있다. The first analysis model and the second analysis model detect muscles based on the position of the joint and the skeleton, and analyze the detected muscle and its surrounding area in pixel units to determine the boundary of the muscle and segment it.

본 출원의 다양한 실시 예들에서, 상기 제1 분석 모델, 제2 분석 모델은 입력 이미지에 나타난 운동근육을 분할하도록 구성될 수 있다. 예를 들어, 상기 제1 분석 모델은 입력 이미지에 나타난 객체의 신체 영역(예컨대, 전신)에서 상체(Upper) 부분, 코어(Core) 부분, 하체(Lower) 부분, 목 부분, 어깨 부분(shoulders), 이두근(Biceps), 삼두근(Triceps), 등 부분(Back), 가슴(Chest), 상부 복근(Upper Abs), 하부 복근(Lower Abs), 복사근(Obliques), 척추(Spine), 엉덩이(Hips), 둔근(Glutes), 대퇴사두근(Quads), 햄스트링(Hamstrings), 또는 종아리(Calves) 부분을 분할하여, 입력 이미지에 나타난 근육을 분할 및 검출할 수 있다.In various embodiments of the present application, the first analysis model and the second analysis model may be configured to segment exercise muscles shown in the input image. For example, the first analysis model is the upper body part, core part, lower body part, neck part, and shoulders in the body region (e.g., whole body) of the object shown in the input image. , Biceps, Triceps, Back, Chest, Upper Abs, Lower Abs, Obliques, Spine, Hips , the muscles shown in the input image can be segmented and detected by segmenting the glutes, quads, hamstrings, or calves.

일부 실시 예들에서, 상기 제1 분석 모델, 제2 분석 모델은 입력 이미지에서 특징을 추출해 관심 영역을 분할하는 비전 딥러닝 구조 기반의 분할 모델을 포함할 수 있다. 상기 분할 모델은 CNN 구조 기반의 분할 모델일 수 있으나, 이에 제한되진 않는다. CNN은 이미지 처리에 특화되어 있으며 근육을 감지하는데 적합할 수 있다. 또한, 일부 실시 예들에서, 상기 CNN 구조 기반의 분할 모델은 관절, 골격의 위치에 기초하여 근육을 일차적으로 검출하고, 입력 이미지에서 특징을 추출하고, 추출된 특징에 기초하여 일차 근육의 경계에서 픽셀이 근육에 속하는 확률을 픽셀 단위로 산출하고, 산출된 확률에 따라 근육의 주변 픽셀을 근육 또는 근육이 아닌 것으로 결정하여, 정확한 경계를 갖는 근육을 분할하도록 구성될 수 있다. In some embodiments, the first analysis model and the second analysis model may include a segmentation model based on a vision deep learning structure that extracts features from an input image and segments a region of interest. The segmentation model may be a segmentation model based on a CNN structure, but is not limited thereto. CNNs are specialized for image processing and may be suitable for detecting muscles. Additionally, in some embodiments, the CNN structure-based segmentation model primarily detects muscles based on the positions of joints and skeletons, extracts features from the input image, and pixels at the boundary of the primary muscles based on the extracted features. The probability of belonging to this muscle is calculated on a pixel basis, and the surrounding pixels of the muscle are determined to be muscles or non-muscles according to the calculated probability, thereby dividing the muscle with an accurate boundary.

일부 실시 예들에서, 상기 사용근육 분석 모델은 동작을 나타낸 연속적인 일련의 프레임 이미지를 확대 처리한 뒤에 상기 제1 분석 모델, 제2 분석 모델에 입력하도록 구성될 수 있다. 제1 분석 모델, 제2 분석 모델에는 원본 프레임 이미지 보다 피부 표면이 확대된 전처리 이미지가 입력될 수 있다. In some embodiments, the used muscle analysis model may be configured to enlarge and process a series of consecutive frame images representing movements and then input them into the first analysis model and the second analysis model. A preprocessed image with an enlarged skin surface compared to the original frame image may be input to the first analysis model and the second analysis model.

또한, 일부 실시 예들에서, 상기 사용근육 분석 모델이 상기 제1 분석 모델 및 제2 분석 모델을 포함한 경우, 두 분석 모델 중 어느 하나의 분석 모델(예컨대, 제1 분석 모델)이 분할 동작을 수행하고 그 분할 결과를 나머지 분석 모델(예컨대, 제2 분석 모델)에 제공하고, 나머지 분석 모델(예컨대, 제2 분석 모델)은 분할 동작을 생략하도록 구성될 수 있다. 예를 들어, 도 3에 도시된 것처럼, 제1 분석 모델이 운동근육을 분할하면, 상기 제2 분석 모델은 상기 운동근육의 분할 결과를 수신해, 분할된 운동근육 내 피부 표면의 변화를 분석하는데 곧바로 이용할 수 있다. 이하, 설명의 명료성을 위해, 상기 일부 실시 예들로 상기 운동근육의 사용 수준을 산출하는 사용근육 분석 모델의 동작을 설명한다. Additionally, in some embodiments, when the used muscle analysis model includes the first analysis model and the second analysis model, one of the two analysis models (e.g., the first analysis model) performs a segmentation operation, The division result may be provided to the remaining analysis model (e.g., the second analysis model), and the remaining analysis model (e.g., the second analysis model) may be configured to omit the division operation. For example, as shown in Figure 3, when the first analysis model divides the exercise muscle, the second analysis model receives the segmentation result of the exercise muscle and analyzes the change in the skin surface within the divided exercise muscle. You can use it right away. Hereinafter, for clarity of explanation, the operation of the used muscle analysis model that calculates the level of use of the exercise muscles will be described using some of the above embodiments.

상기 제1 분석 모델은 동작을 나타낸 연속적인 입력 이미지에 대해서, 분할된 근육의 부피를 산출해 근육의 부피 변화를 출력하도록 더 구성된다. 상기 제1 분석 모델은, 분할된 각각의 근육에 대해서, 동작을 나타낸 연속적인 입력 이미지에서 상기 동작 동안 개별 근육의 부피를 산출할 수 있다. 개별 입력 이미지에서 근육의 부피는 객체의 신체 프로필 데이터 내 적어도 일부 정보(예컨대, 신장, 체형 등), 및 2차원 이미지에서 개별 근육을 가리키는 픽셀의 수에 기초하여 산출될 수 있다. The first analysis model is further configured to calculate the volume of segmented muscles for continuous input images showing motion and output the change in muscle volume. The first analysis model may calculate, for each segmented muscle, the volume of the individual muscle during the movement from continuous input images showing the movement. The volume of a muscle in an individual input image may be calculated based on at least some information (eg, height, body shape, etc.) in the object's body profile data and the number of pixels indicating the individual muscle in the two-dimensional image.

상기 제1 분석 모델은 연속된 입력 이미지 각각에서 근육의 부피 변화를 2차원 행렬 형태로 출력할 수 있다. 2차원 행렬에서 제1 축은 입력 이미지의 순번을 나타내고, 제2 축은 근육을 가리킬 수 있다. 2차원 행렬에서 행렬 성분은 해당 순번의 입력 이미지에서 해당 근육의 부피 값일 수 있다. 상기 행렬 형태의 개별 근육의 부피 분석 결과는 연속적인 입력 이미지에서 각 근육의 부피 변화 정보를 포함한다. 이런 부피 변화 정보는 근육별 사용 수준을 산출하는데 이용된다. The first analysis model can output muscle volume changes in each successive input image in the form of a two-dimensional matrix. In a two-dimensional matrix, the first axis may indicate the sequence number of the input image, and the second axis may indicate the muscle. In a two-dimensional matrix, a matrix element may be the volume value of the muscle in the input image of the corresponding sequence. The volume analysis results of individual muscles in the matrix form include volume change information of each muscle in continuous input images. This volume change information is used to calculate the level of use for each muscle.

한편, 상기 제2 분석 모델은 동작을 나타낸 연속적인 입력 이미지에 대해서, 분할 결과에 따른 근육에서 피부 표면의 변화를 산출하도록 구성된다. 구체적으로, 상기 제2 분석 모델은 피부 표면 요소(예컨대, 모공, 털 등), 피부 표면에 돌출되는 근육, 혈관이 보다 명확하게 이미지에 표시되도록, 상기 동작을 나타낸 연속적인 입력 이미지를 대비(contrast) 처리하고, 대비 처리된 연속적인 입력 이미지 각각에서 피부 표면 요소를 검출해 동작 동안 인접한 피부 표면 요소 간의 간격 변화를 산출하거나, 및/또는 상기 대비 처리된 연속적인 입력 이미지 각각에서 혈관 등으로 돌출된 부분을 검출하고, 돌출된 부분과 주변의 돌출되지 않은 부분 간의 단차 높이를 산출하도록 구성된다. 대조 처리 결과로 인해, 이미지의 명암 대비가 높아져 피부 표면 요소, 근육이 보다 선명해질 수 있다. 상기 단차 높이가 높을수록 근육 또는 힘줄의 돌출 정도가 높은 것을 의미한다. 상기 피부 표면 요소 간의 간격이 증가하면 피부가 팽창된 것을 의미한다. Meanwhile, the second analysis model is configured to calculate changes in the muscle and skin surface according to the segmentation results for continuous input images showing motion. Specifically, the second analysis model contrasts continuous input images representing the motion so that skin surface elements (e.g., pores, hair, etc.), muscles protruding from the skin surface, and blood vessels are displayed more clearly in the image. ) and detect skin surface elements in each of the contrast-processed consecutive input images to calculate the change in spacing between adjacent skin surface elements during operation, and/or protruding blood vessels, etc. in each of the contrast-processed consecutive input images. It is configured to detect the part and calculate the height of the step between the protruding part and the surrounding non-protruding part. As a result of the contrast processing, the light-dark contrast of the image is increased, allowing skin surface elements and muscles to become more vivid. The higher the step height, the higher the degree of protrusion of the muscle or tendon. An increase in the spacing between the skin surface elements indicates swelling of the skin.

상기 제2 분석 모델은 대비 처리된 연속적인 입력 이미지 각각에서 피부 표면 요소를 검출해 동작 동안 인접한 피부 표면 요소 간의 간격 변화를 산출하는 제1 서브 모델, 혈관 등으로 돌출된 부분을 검출하고, 돌출된 부분과 주변의 돌출되지 않은 부분 간의 단차 높이를 산출하는 제2 서브 모델을 포함할 수 있다.The second analysis model is a first sub-model that detects skin surface elements in each of the contrast-processed continuous input images and calculates the change in spacing between adjacent skin surface elements during operation, detects protruding parts such as blood vessels, and protrudes It may include a second sub-model that calculates the height of the step between the part and the surrounding non-protruding part.

일부 실시 예들에서, 상기 제1 서브 모델, 제2 서브 모델은 비전 인식 딥러닝 모델일 수 있다. 두 서브 모델은 동일한 구조 또는 다른 구조를 가질 수 있다. 예를 들어, 상기 제1 서브 모델은 CNN 구조로서, 피부 표면의 지역적 특성을 추출하고, 이를 활용하여 피부 표면의 모공, 털 등의 특징을 학습해, 이들 간격을 산출하도록 학습될 수 있다. 제2 서브 모델은 FCN(Fully Convolutional Networks) 구조로서, 피부 표면에서 지역적 특성을 추출하고, 추출된 지역적 특성에 기초하여 픽셀에서 혈관의 돌출된 부분과 돌출되지 않은 부분을 분류하여, 이들 부분 간의 단차 높이를 산출하도록 학습될 수 있다. In some embodiments, the first sub-model and the second sub-model may be a vision recognition deep learning model. The two submodels may have the same structure or different structures. For example, the first sub-model is a CNN structure and can be learned to extract local characteristics of the skin surface, use this to learn features such as pores and hair on the skin surface, and calculate these intervals. The second sub-model is an FCN (Fully Convolutional Networks) structure that extracts regional characteristics from the skin surface, classifies the protruding and non-protruding parts of blood vessels in the pixel based on the extracted regional characteristics, and determines the step difference between these parts. It can be trained to calculate height.

다른 일부 실시 예들에서, 상기 제2 서브 모델은 이미징 처리 기반 모델일 수 있다. 상기 제2 서브 모델은 이미지 처리 알고리즘을 이용하여 단차 높이를 산출할 수 있다. 예를 들어, 상기 제2 서브 모델은 단일 이미지 깊이 예측 방식으로 하나의 2차원 이미지에서 3차언 정보를 추출하고, 추출된 3차원 정보를 활용하여 피부의 돌출 부분과 비-돌출 부분의 높이 차이를 산출할 수 있다. In some other embodiments, the second sub-model may be an imaging processing-based model. The second sub-model can calculate the step height using an image processing algorithm. For example, the second sub-model extracts three-dimensional information from one two-dimensional image using a single image depth prediction method, and uses the extracted three-dimensional information to determine the height difference between the protruding and non-protruding parts of the skin. It can be calculated.

상기 추론 모델은 객체의 신체 프로필 데이터, 근육의 부피 변화 및/또는 피부 표면의 변화와 근육 사용 간의 상관관계를 추론하여, 입력 이미지에서 근육이 입력 이미지에서 동작을 구현하는데 직접적으로 사용된 수준을 사용 수준으로 출력하도록 학습되는, 기계학습 모델일 수 있다. 상기 추론 모델은 복수의 노드로 구성된 인공신경망 구조를 가질 수 있다. 예를 들어, 상기 추론 모델은 완전 연결 레이어를 포함한 인공신경망, 또는 MLP(Multilayer Perceptron)과 같은 기타 구조를 가질 수 있다. The inference model infers correlations between muscle use and body profile data of the object, changes in muscle volume and/or skin surface, using the level at which muscles in the input image were directly used to implement the action in the input image. It may be a machine learning model that is trained to output at the same level. The inference model may have an artificial neural network structure composed of a plurality of nodes. For example, the inference model may have an artificial neural network with fully connected layers, or other structures such as a multilayer perceptron (MLP).

본 출원의 다양한 실시 예들에서, 상기 제1 분석 모델의 출력 결과, 제2 분석 모델의 출력 결과, 상기 사용자의 신체 프로필 데이터는 결합되어(concanate), 벡터 형태로 상기 추론 모델에 입력될 수 있다. In various embodiments of the present application, the output result of the first analysis model, the output result of the second analysis model, and the user's body profile data may be concatenated and input to the inference model in the form of a vector.

일부 실시 예들에서, 상기 추론 모델은 제1 분석 모델의 분석 결과 중에서 개별 근육별로 부피 변화가 가장 큰 값을 추출할 수 있다. 또한, 상기 추론 모델은 제2 분석 모델의 분석 결과 중에서 개별 근육별로 해당 근육의 피부 표면의 변화가 가장 큰 값을 추출할 수 있다. 상기 추론 모델은 가장 큰 부피 변화 및/또는 가장 큰 피부 표면의 변화를 기초로 사용 수준을 산출하도록 학습될 수 있다. In some embodiments, the inference model may extract the value with the largest volume change for each individual muscle from the analysis results of the first analysis model. Additionally, the inference model can extract the value with the largest change in the skin surface of each muscle for each muscle from the analysis results of the second analysis model. The inference model can be trained to calculate usage levels based on the largest change in volume and/or the largest change in skin surface.

상기 사용근육 분석 모델에서 제1 분석 모델, 제2 분석 모델, 추론 모델의 모델 파라미터(예컨대, 노드 가중치 등)는 복수의 트래이닝 샘플을 포함한 트래이닝 데이터 세트를 이용하여 학습된다. 각각의 트래이닝 샘플은 샘플 객체의 신체 이미지, 및 상기 신체 이미지에 나타난 샘플 객체에 대한 레이블 값을 포함할 수 있다. 일부 실시 예들에서, 상기 레이블 값은 제1 분석 모델을 위한 레이블 값으로서 상기 샘플 객체의 실제 근육 정보(예컨대, 위치), 상기 제2 분석 모델을 위한 레이블 값으로서 피부 표면 요소 정보(예컨대, 위치) 또는 단차 높이, 및 상기 추론 모델을 위한 레이블 값으로서 실제 근육의 사용 수준을 포함할 수 있다. 상기 실제 근육의 사용 수준은 근육에 가해진 신호 세기를 측정한 결과(예컨대, 신경 전류, 또는 전압 값), 또는 샘플 객체가 느낀 설문 결과일 수 있다. In the used muscle analysis model, model parameters (eg, node weights, etc.) of the first analysis model, the second analysis model, and the inference model are learned using a training data set including a plurality of training samples. Each training sample may include a body image of the sample object and a label value for the sample object appearing in the body image. In some embodiments, the label value includes actual muscle information (e.g., location) of the sample object as a label value for the first analysis model, and skin surface element information (e.g., location) as a label value for the second analysis model. Alternatively, it may include the step height and the actual muscle use level as a label value for the inference model. The actual muscle use level may be a result of measuring the signal strength applied to the muscle (eg, nerve current or voltage value), or a survey result felt by the sample object.

상기 사용근육 분석 모델은, 제1 분석 모델의 오차, 제2 분석 모델의 오차 및 추론 모델의 오차가 최소화되도록 상기 트래이닝 데이터 세트를 이용하여 학습될 수 있다. 여기서, 상기 제1 분석 모델의 오차는 예측된 분할 영역과 실제 분할 영역 간의 차이를 나타낸다. 상기 제1 분석 모델의 오차는, 예를 들어, 비전 인식 기반 분할 모델의 오차 형태로 표현될 수 있다. 상기 제2 분석 모델의 오차는 예측된 피부 표면 요소의 간격과 실제 피부 표면 요소의 간격 간의 차이 및/또는 예측된 단차 높이와 실제 단차 높이 간의 차이를 나타낸다. 상기 추론 모델의 오차는 예측된 근육의 사용 수준과 실제 근육의 사용 수준 간의 차이를 나타낸다. 상기 제2 분석 모델, 추론 모델의 오차는, 예를 들어 비전 인식 기반 예측 모델의 오차 형태로 표현될 수 있다. The used muscle analysis model may be learned using the training data set so that the error of the first analysis model, the error of the second analysis model, and the error of the inference model are minimized. Here, the error of the first analysis model represents the difference between the predicted partition area and the actual partition area. The error of the first analysis model may be expressed, for example, in the form of an error of a vision recognition-based segmentation model. The error of the second analysis model represents the difference between the spacing of the predicted skin surface elements and the spacing of the actual skin surface elements and/or the difference between the predicted step height and the actual step height. The error of the inference model represents the difference between the predicted muscle use level and the actual muscle use level. The error of the second analysis model or inference model may be expressed, for example, in the form of an error of a vision recognition-based prediction model.

상기 트래이닝 데이터 세트는 퍼스널 트래이닝 비디오 이미지로부터 형성될 수 있다. 레이블 값은 퍼트의 동작을 기준으로 설정될 수 있다. The training data set may be formed from personal training video images. The label value can be set based on the motion of the putt.

상기 사용근육 분석 모델에 의해 운동근육의 사용 수준이 산출됨으로써, 운동 결과 분석부(350)는 사용자의 운동 결과를 보다 정확하게 분석할 수 있다. 상기 운동 결과 분석부(350)는 이러한 운동근육의 사용 수준을 포함한 운동 결과 정보를 생성할 수 있다. By calculating the level of exercise muscle use using the used muscle analysis model, the exercise result analysis unit 350 can more accurately analyze the user's exercise results. The exercise result analysis unit 350 may generate exercise result information including the level of use of exercise muscles.

대안적인 실시 예들에서, 상기 운동 결과 분석부(350)는 상기 사용자의 키 자세정보에 기초하여 상기 사용자의 운동 결과 데이터를 생성할 수 있다. 즉, 상기 운동 결과 분석부(350)는 사용자의 운동 동작을 구성하는 연속적인 일련의 자세 전부를 이용하는 대신에 키 자세를 이용하여 사용자의 운동 결과 데이터를 생성할 수 있다. In alternative embodiments, the exercise result analysis unit 350 may generate exercise result data of the user based on the user's height posture information. That is, the exercise result analysis unit 350 may generate the user's exercise result data using the key posture instead of using all of the continuous series of postures that constitute the user's exercise motion.

자료 생성부(370)는 상기 사용자의 운동 상태 정보, 운동 결과 정보를 이용해 상기 사용자의 운동 효과를 다양하게 분석한 사용자의 분석 자료를 생성하고, 이를 전자장치(100)로 전송할 수 있다(S600). The data generator 370 may generate user analysis data that analyzes the user's exercise effects in various ways using the user's exercise state information and exercise result information, and transmit this to the electronic device 100 (S600). .

상기 사용자의 전자장치(100)에 제공된 분석 자료는 분석결과 저장소(305)에 저장될 수 있다. Analysis data provided to the user's electronic device 100 may be stored in the analysis result storage 305.

상기 분석 자료는 사용자의 전자장치(100)에서 표시되는 분석 화면을 생성하는데 이용되는 정보를 가진다. 상기 분석 화면은 상기 분석 자료를 사용자가 보다 쉽게 인식하기 위해 상기 분석 자료를 시각적 측면에서 효과적으로 전달할 수 있도록 구성된다. The analysis data contains information used to create an analysis screen displayed on the user's electronic device 100. The analysis screen is configured to effectively convey the analysis data visually so that users can more easily recognize the analysis data.

도 8은, 본 출원의 다양한 실시 예들에 따른, 분석 자료를 생성하는 과정의 세부 흐름도이다. Figure 8 is a detailed flowchart of a process for generating analysis data according to various embodiments of the present application.

도 8을 참조하면, 상기 사용자의 분석 자료를 생성하는 단계(S600)는, 사용자의 운동 동작 또는 운동근육 각각에 대해, 상기 사용자의 운동 결과를 상기 사용자의 운동 결과 정보 내 운동근육 정보 및 운동강도 정보에 기초하여 시각화하여 제1 분석 자료를 생성하는 단계(S610); 특정 기간 동안 사용자가 구현한 적어도 하나의 운동 동작 전체에 대한 운동 결과를 상기 사용자의 운동 결과 정보 내 운동근육 정보 및 운동강도 정보 중 적어도 일부에 기초하여 시각화하여 제2 분석 자료를 생성하는 단계(S620); 및 상기 특정 기간 동안 사용자가 구현한 적어도 하나의 운동 동작 전체에 대한 운동 결과를 상기 사용자의 운동 결과 정보 내 적어도 일부 정보에 기초하여 요약 분석한 제3 분석 자료를 생성하는 단계(S630) 중 하나 이상의 분석 자료를 생성하는 단계를 포함할 수 있다. Referring to FIG. 8, in the step of generating the user's analysis data (S600), for each of the user's exercise movements or exercise muscles, the user's exercise results are divided into exercise muscle information and exercise intensity in the user's exercise result information. A step of generating first analysis data by visualizing the information based on the information (S610); Visualizing the exercise results for all of at least one exercise movement implemented by the user during a specific period based on at least some of the exercise muscle information and exercise intensity information in the user's exercise result information to generate second analysis data (S620) ); and generating third analysis data in which the exercise results for all of at least one exercise movement implemented by the user during the specific period are summarized and analyzed based on at least some information in the exercise result information of the user (S630). It may include the step of generating analysis data.

일부 실시 예들에서, 상기 제1 분석 자료, 제2 분석 자료, 제3 분석 자료 중 하나 이상의 분석 자료는 하나의 화면 형태로 표시될 수 있다. 예를 들어, 상기 사용자의 스마트 폰에 제3 분석 자료, 제2 분석 자료, 제1 분석 자료는 위에서 아래의 순서로 순차적으로 배열된 화면 형태로 표시될 수 있다. 그러나, 이들 분석 자료의 배열 순서는 이에 제한되진 않는다. In some embodiments, one or more of the first analysis data, second analysis data, and third analysis data may be displayed in the form of a single screen. For example, the third analysis data, second analysis data, and first analysis data may be displayed on the user's smart phone in the form of a screen arranged sequentially in the order from top to bottom. However, the arrangement order of these analysis data is not limited to this.

상기 서버(300)는 상기 제1 분석 자료, 제2 분석 자료, 제3 분석 자료를 사용자의 전자장치(100)로 전송하여 화면 상에 표시할 수 있다. 상기 분석 자료를 표시하는 화면은 분석 화면으로 지칭될 수 있다. 상기 분석 자료는 상기 분석 화면을 생성하는데 이용될 수 있다. The server 300 may transmit the first analysis data, second analysis data, and third analysis data to the user's electronic device 100 and display them on the screen. The screen displaying the analysis data may be referred to as an analysis screen. The analysis data can be used to create the analysis screen.

본 출원의 다양한 실시 예들에서, 상기 자료 생성부(370)는 사용자의 운동근육별 또는 운동동작 항목별로 사용자의 운동상태 정보 또는 운동결과 정보를 나타낸 제1 분석 자료를 생성할 수 있다. In various embodiments of the present application, the data generation unit 370 may generate first analysis data showing the user's exercise state information or exercise result information for each exercise muscle or exercise movement item.

도 9는, 본 출원의 일부 실시 예들에 따른, 운동종류별 운동 결과를 나타낸 제1 분석 자료를 도시하고, 도 10은, 본 출원의 다른 일부 실시 예들에 따른, 운동근육별 운동 결과를 나타낸 제1 분석 자료를 도시한다. FIG. 9 shows first analysis data showing exercise results by exercise type according to some embodiments of the present application, and FIG. 10 shows first analysis data showing exercise results by exercise muscle according to some other embodiments of the present application. Show analysis data.

도 9, 도 10을 참조하면, 상기 제1 분석 자료는 사용자의 운동 결과로서 상기 사용자의 운동근육의 위치, 및 운동근육별 운동강도를 시각화한 제1 분석 이미지를 포함할 수 있다. Referring to FIGS. 9 and 10 , the first analysis data may include a first analysis image visualizing the location of the user's exercise muscles and exercise intensity for each exercise muscle as a result of the user's exercise.

상기 자료 생성부(370)는 운동근육 또는 운동종류 각각에 대해서 가장 최근 운동 또는 일정 기간 동안의 전체 운동 결과에 따른 사용자의 운동근육의 위치, 및 운동근육별 운동강도를 통합해 시각화한 제1 분석 이미지를 생성할 수 있다. The data generator 370 performs a first analysis that integrates and visualizes the location of the user's exercise muscles and the exercise intensity for each exercise muscle according to the most recent exercise or overall exercise results for a certain period of time for each exercise muscle or exercise type. Images can be created.

본 출원의 다양한 실시 예들에서, 상기 제1 분석 자료를 생성하는 단계(S610)는, 상기 사용자의 운동근육 정보에 기초하여 미리 설정된 신체 영역에서 상기 사용자의 운동근육 영역을 식별하고, 상기 사용자의 운동강도 정보에 기초하여 식별된 운동근육 영역에 해당 운동근육 또는 운동종류에 대한 상기 사용자의 운동강도를 표기하는 단계를 포함할 수 있다. 상기 제1 분석 자료는 상기 사용자의 제1 분석 이미지를 포함한다. In various embodiments of the present application, the step of generating the first analysis data (S610) includes identifying the user's exercise muscle area in a preset body region based on the user's exercise muscle information, and the user's exercise muscle area. It may include the step of marking the user's exercise intensity for the corresponding exercise muscle or exercise type in the exercise muscle area identified based on the intensity information. The first analysis data includes the first analysis image of the user.

상기 제1 분석 자료 또한 상기 특정 기간 동안의 상기 사용자의 운동 상태 정보 및 운동 결과 정보에 기초하여 생성된 것일 수 있다. 일부 실시 예들에서, 상기 특정 기간은 단위 기간일 수 있다. 상기 단위 기간은 시간의 흐름에 따라 단위에 따라 반복되는 기간으로서, 예를 들어 주간(weekly), 월간(monthly), 년간(yearly), 또는 기타 단위 기간(예컨대, 분기 등)일 수 있다. The first analysis data may also be generated based on the user's exercise state information and exercise result information during the specific period. In some embodiments, the specific period may be a unit period. The unit period is a period that repeats in units over time, and may be, for example, weekly, monthly, yearly, or other unit periods (e.g., quarterly, etc.).

일부 실시 예들에서, 상기 제1 분석 자료 및 아래에서 서술할 제2 분석 자료, 제3 분석 자료를 표시하는 화면은 미리 설정된 복수의 단위 기간 중 어느 하나를 선택하도록 구성될 수 있다. 상기 자료 생성부(370)는 선택된 단위 기간에 따라서 단위 기간 동안의 상기 사용자의 운동 상태 정보 및 운동 결과 정보 중 적어도 일부에 기초하여 생성된 분석 자료를 제공할 수 있다. 예를 들어, 단위 기간이 월간일 경우, 상기 자료 생성부(370)는 9월에 대한 제1 분석 자료, 또는 다른 월 기간(예컨대, 10월)에 대한 제1 분석 자료를 생성해 제공할 수 있다. In some embodiments, a screen displaying the first analysis data, the second analysis data described below, and the third analysis data may be configured to select one of a plurality of preset unit periods. The data generator 370 may provide analysis data generated based on at least part of the user's exercise state information and exercise result information for the unit period according to the selected unit period. For example, when the unit period is monthly, the data generation unit 370 may generate and provide first analysis data for September or first analysis data for another monthly period (e.g., October). there is.

또한, 다른 일부 실시 예들에서, 상기 특정 기간은 사용자가 지정한 기간일 수 있다. 상기 사용자가 지정한 기간은, 예를 들어 재활 기간, 또는 기타 운동 기간일 수 있다. 사용자의 단말 장치(100)는 특정 기간의 시작일자, 종료일자를 선택 가능한 캘린더를 제공하고, 사용자의 선택 입력에 따라 특정 기간을 정의할 수 있다. 그러면, 상기 자료 생성부(370)는 선택 입력에 따라 정의된 기간에 따라서 제1 분석 자료, 제2 분석 자료 또는 제3 분석 자료를 생성할 수 있다. Additionally, in some other embodiments, the specific period may be a period designated by the user. The user-specified period may be, for example, a rehabilitation period or other exercise period. The user's terminal device 100 provides a calendar from which the start date and end date of a specific period can be selected, and a specific period can be defined according to the user's selection input. Then, the data generator 370 may generate first analysis data, second analysis data, or third analysis data according to a period defined according to the selection input.

상기 제1 분석 이미지는 상기 사용자의 운동근육의 위치, 및 운동근육별 운동강도를 나타낸다. The first analysis image indicates the location of the user's exercise muscles and the exercise intensity for each exercise muscle.

상기 사용자의 운동근육에 대한 제1 분석 이미지는 운동동작 항목 또는 운동근육별로 생성될 수 있다. 예를 들어, 상기 자료생성부(370)는 가슴 근육(chest), 어깨 근육(shoulders), 대퇴사두근(Quadricetps femoris 또는 Quads), 상부 복근(upper abs), 햄스트링, 등근육, 종아리(calves), 척추(spine), 복사근(Obliques), 이두근(Biceps)과 같은 각각의 운동근육에 대한 다수의 제1 분석 이미지를 생성할 수 있다. 자료 생성부(370)는 일정 기간 동안 사용자의 운동결과 정보에서 운동근육 정보를 수집하고, 운동근육별 운동강도 정보에 기초하여 상기 운동근육에 대한 사용자의 운동강도를 시각화한, 도 10의 제1 분석 이미지를 생성할 수 있다. 또는, 상기 자료 생성부(370)는 일정 기간 동안 사용자의 운동결과 정보에서 운동종류별로 운동근육 정보 및 운동근육별 운동강도 정보를 수집하고, 각각의 운동종류에 대한 운동근육별 운동강도 정보에 기초하여 상기 운동종류에 대한 사용자의 운동근육별 운동강도를 시각화한, 도 9의 제1 분석 이미지를 생성할 수 있다. The first analysis image of the user's exercise muscles may be generated for each exercise movement item or exercise muscle. For example, the data generating unit 370 may include chest muscles, shoulders, quadriceps femoris, upper abs, hamstrings, back muscles, calves, Multiple first analysis images can be generated for each exercise muscle, such as the spine, obliques, and biceps. The data generator 370 collects exercise muscle information from the user's exercise result information over a certain period of time, and visualizes the user's exercise intensity for the exercise muscle based on exercise intensity information for each exercise muscle, as shown in Figure 10. Analysis images can be created. Alternatively, the data generator 370 collects exercise muscle information and exercise intensity information for each exercise muscle from the user's exercise result information for a certain period of time, and based on the exercise intensity information for each exercise muscle for each exercise type. Thus, the first analysis image of FIG. 9, which visualizes the exercise intensity of each exercise muscle of the user for the above exercise type, can be generated.

자료 생성부(370)는 사람의 신체를 형상화한 신체 영역에서 사용자의 운동근육의 위치에 기초하여 상기 사용자의 운동근육 영역을 식별할 수 있다. The data generating unit 370 may identify the user's exercise muscle area based on the location of the user's exercise muscle in a body area shaped like a human body.

상기 제1 분석 이미지는 상기 신체 영역에서 식별된 운동근육에 운동강도를 표기함으로써, 제1 분석 이미지를 제공받은 사용자가 보다 빠르게 자신이 실제로 이용한 운동근육과 비-운동근육을 구별하고 운동강도를 보다 빠르게 인식할 수 있도록 구성된다. 즉, 운동강도만 표기하여도 운동근육의 위치 또한 자연스럽게 함께 인식된다. The first analysis image displays the exercise intensity of the exercise muscles identified in the body area, so that the user who receives the first analysis image can more quickly distinguish between the exercise muscles and non-exercise muscles actually used by the user and view the exercise intensity. It is designed for quick recognition. In other words, even if only the exercise intensity is indicated, the location of the exercise muscles is also naturally recognized.

본 출원의 다양한 실시 예들에서, 상기 사용자의 운동근육에 대한 제1 분석 이미지를 생성하기 위해, 상기 사용자의 운동강도 정보에 기초하여 식별된 운동근육 영역에 해당 운동근육에 대한 상기 사용자의 운동강도를 표기하는 단계는, 상기 사용자의 신체 이미지에서 사용자의 운동근육 영역을 비-운동근육 영역과 구별되도록, 운동강도를 표기하기 위해 미리 설정된 색상 중 상기 사용자의 운동강도 정보에 대응한 색상을 식별된 운동근육에 적용하는 것이다. 상기 제1 분석 이미지에서 비-운동근육 영역은 신체 이미지에 적용되는 색상과 동일한 기본 색상(예컨대, 회색)으로 표현되고, 운동근육 영역은 기본 색상으로 표현될 수 있다. In various embodiments of the present application, in order to generate a first analysis image of the user's exercise muscles, the user's exercise intensity for the corresponding exercise muscle is applied to the exercise muscle area identified based on the user's exercise intensity information. The marking step is to select a color corresponding to the user's exercise intensity information among preset colors to indicate exercise intensity so that the user's exercise muscle area can be distinguished from the non-exercise muscle area in the user's body image. It is applied to the muscles. In the first analysis image, the non-motor muscle area may be expressed in the same basic color (eg, gray) as the color applied to the body image, and the motor muscle area may be expressed in the basic color.

일부 실시 예들에서, 상기 운동근육을 표기하기 위해 미리 설정된 색상을 상기 사용자의 운동 결과 정보 내 운동근육에 적용하는 단계는, 상기 사용자의 운동 결과 정보 내 운동근육에 대해서, 개별 운동근육의 운동강도가 시각적으로 구별되도록 상기 개별 운동근육의 운동강도에 맵핑된 색상을 미리 저장된 색상 테이블에서 검색하는 단계; 상기 개별 운동근육별로 검색된 색상을 상기 개별 운동근육에 각각 적용하는 단계를 포함할 수 있다. In some embodiments, the step of applying a preset color to indicate the exercise muscle to the exercise muscle in the user's exercise result information may include, for the exercise muscle in the user's exercise result information, the exercise intensity of the individual exercise muscle. Retrieving the color mapped to the exercise intensity of the individual exercise muscles from a pre-stored color table so that they can be visually distinguished; It may include the step of applying the color searched for each individual exercise muscle to each of the individual exercise muscles.

자료 생성부(370)는 운동강도 값과 색상 계열 내 명도 및/또는 채도 값 간의 맵핑 관계를 기록한 색상 테이블을 미리 저장할 수 있다. 색상 테이블은 동일한 색상 계열 내에서 명도 및/또는 채도 값이 서로 상이한 복수의 색상, 및 각 색상에 맵핑된 운동강도 값으로 구성된다. 일부 실시 예들에서, 상기 색상 테이블은 일간 단위의 운동강도로 구성될 수 있다. The data generation unit 370 may store in advance a color table that records the mapping relationship between the exercise intensity value and the brightness and/or saturation value within the color series. The color table consists of a plurality of colors with different brightness and/or saturation values within the same color family, and motion intensity values mapped to each color. In some embodiments, the color table may be composed of daily exercise intensity.

상기 자료 생성부(370)는 상기 색상 테이블을 이용해, 개별운동근육의 운동강도가 약한지, 강한지에 따라서 도 10의 붉은색 계열과 같이 동일한 색상 계열에 속하는 서로 다른 색상을 개별 운동근육 영역에 적용할 수 있다. 도 10에 도시된 것처럼 운동강도가 강한 운동근육 영역에는 진한 붉은색, 운동강도가 약한 운동근육 영역에는 분홍색이 적용되도록, 특정 운동근육에 가해진 운동강도가 높을수록 더 높은 채도 및/또는 명도 값을 갖도록 색상과 운동강도 간의 맵핑 관계가 설정될 수 있으나, 이에 제한되지 않으며 그 반대의 맵핑 관계로도 설정될 수 있다.The data generator 370 uses the color table to apply different colors belonging to the same color series, such as the red color series in FIG. 10, to the individual motor muscle area depending on whether the exercise intensity of the individual motor muscle is weak or strong. can do. As shown in Figure 10, the higher the exercise intensity applied to a specific exercise muscle, the higher the saturation and/or brightness value, so that dark red is applied to the exercise muscle area with strong exercise intensity and pink is applied to the exercise muscle area with weak exercise intensity. A mapping relationship between color and exercise intensity may be set to have, but is not limited to this, and the opposite mapping relationship may also be set.

또한, 상기 자료 생성부(370)는 제1 분석 이미지와 함께 운동 회수 또는 비교 평가 정보를 포함한 제1 분석 자료를 생성할 수 있다. Additionally, the data generation unit 370 may generate first analysis data including the number of exercises or comparative evaluation information along with the first analysis image.

구체적으로, 일부 실시 예들에서, 상기 제1 분석 자료를 생성하는 단계(S610)는, 상기 사용자의 운동 상태 정보 및 운동 결과 정보에 포함된 정보의 조합 중 적어도 하나의 정보와 상기 퍼스널 트래이닝 객체의 운동 상태 정보 및 운동 결과 정보에 포함된 정보의 조합 중 적어도 하나의 정보를 비교한 운동결과 비교 평가 정보를 생성하는 단계; 를 더 포함할 수 있다. Specifically, in some embodiments, the step of generating the first analysis data (S610) includes at least one combination of information included in the user's exercise state information and exercise result information and the exercise of the personal training object. Generating exercise result comparison evaluation information by comparing at least one piece of information from a combination of information included in the state information and exercise result information; may further include.

상기 운동결과 비교 평가 정보는 사용자의 운동근육 또는 운동종류 각각에 대해, 상기 퍼스널 트래이닝 비디오 이미지를 모방한 상기 사용자의 운동 결과를 수치화한 정보이다. 상기 운동결과 비교 평가 정보는 상기 특정 기간 동안 상기 사용자의 운동 결과를 평가하는 평가 자료로 활용될 수 있다. The exercise result comparison evaluation information is information that quantifies the user's exercise results imitating the personal training video image for each of the user's exercise muscles or exercise types. The exercise result comparative evaluation information may be used as evaluation data to evaluate the user's exercise results during the specific period.

상기 운동결과 비교 평가 정보는 제1 분석 이미지와 마찬가지로, 도 10에 도시된 것처럼 운동근육별로 생성될 수 있다. 그러면, 상기 제1 분석 자료는 상기 제1 분석 이미지 및 상기 운동결과 비교 평가 정보를 포함할 수 있다. Similar to the first analysis image, the exercise result comparative evaluation information may be generated for each exercise muscle as shown in FIG. 10 . Then, the first analysis data may include the first analysis image and the exercise result comparative evaluation information.

일부 실시 예들에서, 상기 운동결과 비교 평가 정보는, 운동근육 각각에 대해, 상기 사용자의 운동 결과 정보 내 운동량 정보와 상기 퍼스널 트래이닝 객체의 운동 결과 정보 내 운동량 정보를 비교한 결과일 수 있다. 이 경우, 상기 운동결과 비교 평가 정보를 생성하는 단계는, 사용자의 운동량과 비교되는 기준 운동량을 산출하는 단계; 및 상기 특정 기간 동안 상기 기준 운동량을 기준으로 상기 사용자의 운동량을 비교 평가한 비교 자료를 생성하는 단계를 포함할 수 있다. 일부 실시 예들에서, 상기 운동결과 비교 평가 정보는 상기 특정 기간 동안의 운동결과를 비교 평가한 것일 수 있다. In some embodiments, the exercise result comparative evaluation information may be a result of comparing exercise amount information in the exercise result information of the user and exercise amount information in the exercise result information of the personal training object for each exercise muscle. In this case, generating the exercise result comparative evaluation information includes calculating a reference exercise amount compared with the user's exercise amount; And it may include generating comparison data that compares and evaluates the amount of exercise of the user based on the reference amount of exercise during the specific period. In some embodiments, the exercise result comparative evaluation information may be a comparative evaluation of exercise results during the specific period.

전술한 바와 같이 운동량은 분석 대상 이미지에서 장면 구간 동안 특정 종류의 단위 동작(들)을 수행한 규모를 수치화한 것으로서, 단위 동작들을 수행한 전체 동작시간, 동작회수(즉, 반복회수), 및 해당 동작의 운동강도에 기초하여 산출될 수 있다.As described above, the momentum quantifies the scale of performing a specific type of unit operation(s) during the scene section in the image subject to analysis, including the total operation time for performing the unit operations, the number of operations (i.e., number of repetitions), and the corresponding It can be calculated based on the exercise intensity of the movement.

자료 생성부(370)는 상기 특정 기간 동안 사용자의 동작회수, 동작시간만큼 사용자의 운동 동작을 퍼스널 트래이닝 객체가 자신의 운동량으로 수행했을 경우를 기준으로 상기 사용자에 대한 기준 운동량을 산출할 수 있다(S610). 퍼스널 트래이닝 객체 자신의 운동량은 퍼스널 트래이닝 객체의 운동 결과 정보에 포함된 값이다. The data generator 370 may calculate the reference exercise amount for the user based on the case where the personal training object performs the user's exercise movement with its own exercise amount equal to the number of movements and movement time of the user during the specific period ( S610). The amount of exercise of a personal training object is a value included in the exercise result information of the personal training object.

자료 생성부(370)는 사용자의 동작회수, 동작시간과 상기 사용자의 운동 동작에 연관된 퍼스널 트래이닝 객체의 운동량에 기초하여 사용자에 대한 기준 운동량을 산출할 수 있다. The data generator 370 may calculate the reference amount of exercise for the user based on the number of movements of the user, the movement time, and the amount of exercise of the personal training object related to the user's exercise movement.

또한, 일부 실시 예들에서, 상기 운동결과 비교 평가 정보는 상기 퍼스널 트래이닝 객체의 운동량을 기준으로 상기 사용자의 운동량의 비율로 표현될 수 있다. 이 경우, 자료 생성부(370)는 상기 사용자에 대한 기준 운동량에 대해 사용자의 운동 결과 정보 내 사용자의 운동량의 비율 형태로 평가 자료를 생성할 수 있다. Additionally, in some embodiments, the exercise result comparative evaluation information may be expressed as a ratio of the user's exercise amount based on the exercise amount of the personal training object. In this case, the data generator 370 may generate evaluation data in the form of a ratio of the user's exercise amount within the user's exercise result information to the reference exercise amount for the user.

자료 생성부(370)는 상기 제1 분석 자료를 상기 사용자의 전자장치(100)로 전송하고, 상기 사용자의 전자장치(100)는 상기 제1 분석 자료를 도 10과 같이 화면 상에 표시하여, 상기 제1 분석 자료 내 제1 분석 이미지, 운동결과 비교 평가 정보를 제공할 수 있다. The data generator 370 transmits the first analysis data to the user's electronic device 100, and the user's electronic device 100 displays the first analysis data on the screen as shown in FIG. 10, The first analysis image and exercise result comparison evaluation information within the first analysis data may be provided.

상기 운동결과 비교 평가 정보를 포함한 제1 분석 자료가 전자장치(100)로 전송될 경우, 사용자가 실제로 수행한 운동량이 도 10과 같이 퍼센트(%) 형태로 표시되어, 사용자는 보다 쉽게 자신의 운동 결과를 시각적으로 인식할 수 있다. When the first analysis data including the exercise result comparative evaluation information is transmitted to the electronic device 100, the amount of exercise actually performed by the user is displayed in the form of a percentage (%) as shown in FIG. 10, so that the user can more easily perform his or her exercise. The results can be recognized visually.

일부 실시 예들에서, 상기 제1 분석 자료 내 운동근육 또는 운동종류별 제1 분석 이미지, 운동결과 비교 평가 정보는 순위에 따라 제공될 수 있다. 상기 제1 분석 자료를 생성하는 단계(S610)는, 특정 기간 동안 가장 사용자의 운동량에 기초하여 운동근육별 순위를 매기는 단계(ranking);를 더 포함할 수 있다. 그러면, 상기 제1 분석 자료는 은동근육별 순위 값을 더 포함할 수 있다. 여기서 순위는 운동근육을 사용해서 달성한 운동량 값이 클수록 더 높은 순위를 가진다.In some embodiments, the first analysis image and exercise result comparison evaluation information for each exercise muscle or exercise type in the first analysis data may be provided according to ranking. The step of generating the first analysis data (S610) may further include ranking each exercise muscle based on the amount of exercise of the user during a specific period. Then, the first analysis data may further include ranking values for each Eundong muscle. Here, the higher the ranking, the greater the amount of exercise achieved using the exercise muscles.

상기 제1 분석 자료를 수신한 사용자의 전자장치(100)는 운동근육별 순위 순서로 제1 분석 이미지, 운동결과 비교 평가 정보를 배열하여 표시할 수 있다. 또한, 일부 실시 예들에서, 상기 사용자의 전자장치(100)는 미리 설정된 임계 순위 이상의 제1 분석 이미지, 운동결과 비교 평가 정보만 제공할 수 있다. 전자장치(100)에는 상위 운동량을 나타내는 임계 순위를 미리 설정될 수 있다. 상기 임계 순위는 탑 5등(top-five rank)일 수 있으나, 이에 제한되진 않는다. 그러면, 1등 내지 5등에 해당하는 운동근육들에 대한 운동량이 기준 운동량에 대해 얼마나 매칭되는지 운동 결과가 퍼센트 형태로 순차적으로 표시될 수 있다. The user's electronic device 100, which has received the first analysis data, may arrange and display the first analysis image and exercise result comparative evaluation information in ranking order for each exercise muscle. Additionally, in some embodiments, the user's electronic device 100 may provide only the first analysis image and exercise result comparison evaluation information of a preset threshold or higher. The electronic device 100 may be preset to a threshold ranking indicating higher momentum. The critical ranking may be top-five rank, but is not limited thereto. Then, the exercise results can be sequentially displayed in percentage form to see how much the exercise amount for the exercise muscles corresponding to 1st to 5th place matches the reference exercise amount.

그러나, 이에 제한되진 않으며, 상기 운동결과 비교 평가 정보는 도 9를 참조할 때 운동종류별로 생성될 수 있다. 그러면, 상기 제1 분석 자료는 상기 제1 분석 이미지와 더불어 운동종목별 운동결과 비교 평가 정보 또는 운동회수 정보를 포함할 수 있다. However, it is not limited to this, and the exercise result comparative evaluation information may be generated for each exercise type, referring to FIG. 9 . Then, the first analysis data may include exercise result comparative evaluation information for each exercise event or exercise number information in addition to the first analysis image.

도 11은, 본 출원의 다양한 실시 예들에 따른, 제2 분석 자료 및 제3 분석 자료를 표시한 화면을 도시한다. Figure 11 shows a screen displaying second analysis data and third analysis data according to various embodiments of the present application.

도 11을 참조하면, 상기 제2 분석 자료는 상기 특정 기간 동안 사용자의 운동 결과 전체로서 상기 사용자의 전체 운동근육의 위치, 및 운동근육별 전체 운동강도를 시각화한 제2 분석 이미지를 포함할 수 있다. Referring to FIG. 11, the second analysis data may include a second analysis image visualizing the location of all exercise muscles of the user and the total exercise intensity for each exercise muscle as the entire exercise result of the user during the specific period. .

상기 제2 분석 자료를 생성하는 단계(S620)는, 상기 특정 기간 동안의 상기 사용자의 전체 운동근육의 위치, 및 운동근육별 전체 운동강도를 시각화한 상기 제2 분석 이미지를 생성하는 것일 수 있다. The step of generating the second analysis data (S620) may be to generate the second analysis image that visualizes the positions of the user's entire exercise muscles and the total exercise intensity for each exercise muscle during the specific period.

상기 제2 분석 이미지는 상기 모방대상 컨텐츠에서 퍼스널 트래이닝 객체의 운동근육의 위치 및 운동근육별 운동강도를 시각화한, 도 9, 도 10에 도시된 퍼스널 트래이닝 시각화 이미지에 적어도 부분적으로 대응할 수 있다. The second analysis image may correspond at least partially to the personal training visualization images shown in FIGS. 9 and 10, which visualize the location of exercise muscles and exercise intensity for each exercise muscle of the personal training object in the content to be imitated.

특정 기간 동안 사용자가 다수의 컨텐츠를 선택해 퍼스널 트래이닝 객체의 운동 동작을 모방했을 경우, 상기 제2 분석 이미지는 선택된 다수의 컨텐츠의 퍼스널 트래이닝 시각화 이미지가 서로 오버랩(overlap)된, 다수의 퍼스널 트래이닝 시각화 이미지의 조합에 대응할 수 있다. When a user selects a plurality of contents to imitate the exercise movements of a personal training object during a specific period of time, the second analysis image is a plurality of personal training visualization images in which the personal training visualization images of the selected plurality of contents overlap each other. It can respond to combinations of .

상기 제2 분석 이미지를 생성하는 단계(S620)는, 특정 기간 동안 사용자의 신체에서 전체 운동근육에서 개별 운동근육별로 운동강도를 합산하는 단계; 상기 사용자의 운동근육 전체에 대해서, 특정 기간 동안의 개별 운동근육의 운동강도가 시각적으로 구별되도록 전체 운동근육의 합산된 운동강도에 맵핑된 색상을 미리 저장된 색상 테이블에서 검색하는 단계; 상기 개별 운동근육별로 검색된 색상을 상기 개별 운동근육에 각각 적용하는 단계를 포함할 수 있다. 일부 실시 예들에서, 상기 개별 운동근육의 합산된 운동강도에 맵핑된 색상을 미리 저장된 색상 테이블에서 검색하는 단계는, 특정 기간 동안의 개별 운동근육의 일간 평균 운동강도를 산출하는 단계; 상기 일간 평균 운동강도에 맵핑된 색상을 미리 저장된 색상 테이블에서 검색하는 단계를 포함할 수 있다. The step of generating the second analysis image (S620) includes adding up the exercise intensity for each individual exercise muscle from all exercise muscles in the user's body during a specific period of time; For all of the user's exercise muscles, searching for a color mapped to the summed exercise intensity of all exercise muscles from a pre-stored color table so that the exercise intensity of individual exercise muscles during a specific period can be visually distinguished; It may include the step of applying the color searched for each individual exercise muscle to each of the individual exercise muscles. In some embodiments, retrieving the color mapped to the combined exercise intensity of the individual exercise muscles from a pre-stored color table may include calculating the daily average exercise intensity of the individual exercise muscles during a specific period of time; It may include retrieving the color mapped to the daily average exercise intensity from a pre-stored color table.

이와 같이 색상을 활용해서 운동강도를 제2 분석 이미지에서 운동근육 영역에 표기하는 것은 제1 분석 이미지를 생성하는 과정과 유사하므로, 자세한 설명은 생략한다. In this way, using color to indicate exercise intensity in the exercise muscle area in the second analysis image is similar to the process of generating the first analysis image, and therefore detailed explanation will be omitted.

일부 실시 예들에서, 상기 제2 분석 자료를 생성하는 단계는 앞면 신체 영역에서 상기 제2-1 분석 이미지를 생성하는 단계; 및 뒷면 신체 영역에서 상기 제2-2 분석 이미지를 생성하는 단계를 포함할 수 있다. 그러면, 도 11에 도시된 것처럼 앞면 이미지, 또는 뒷면 이미지를 사용자에게 제공할 수 있다. In some embodiments, generating the second analysis data may include generating the 2-1 analysis image from a front body region; and generating the 2-2 analysis image from the back body area. Then, as shown in FIG. 11, the front image or the back image can be provided to the user.

다시 도 8을 참조하면, 상기 제3 분석 자료는 상기 특정 기간 동안 상기 사용자의 운동 결과를 평가하는데 이용되는 자료로서, 요약 평가 자료 또는 요약 분석 자료로 지칭될 수 있다. Referring again to FIG. 8, the third analysis data is data used to evaluate the user's exercise results during the specific period, and may be referred to as summary evaluation data or summary analysis data.

상기 제3 분석 자료를 생성하는 단계(S630)는, 특정 기간 동안의 사용자의 운동 상태 정보 및 운동 결과 정보 중 적어도 일부 정보에 기초하여 특정 기간 동안의 사용자의 운동 결과를 통계 분석하여 생성하는 것일 수 있다. The step of generating the third analysis data (S630) may be generated by statistical analysis of the user's exercise results during a specific period based on at least some of the user's exercise status information and exercise result information during the specific period. there is.

일부 실시 예들에서, 상기 통계 분석은 상기 특정 기간 동안 상기 운동 결과 정보 내 값들을 항목별로 합산 또는 평균 분석한 것일 수 있다. 상기 자료 생성부(370)는 상기 운동 결과 정보 내 적어도 하나의 항목을 합산한 결과를 요약한 제3 분석 자료를 생성할 수 있다. 일 예에서, 상기 자료 생성부(370)는 도 11에 workouts으로 표시된, 상기 특정 기간 동안의 사용자의 운동 회수가 합산된 총 운동 회수, 도 11에 "min"으로 표시된, 상기 특정 기간 동안의 사용자의 운동 시간이 합산된 총 운동 시간, 도 11에 Kcal로 표시된, 상기 특정 기간 동안의 사용자의 칼로리 소모량이 합산된 총 칼로리 소모량을 포함한 제3 분석 자료를 생성할 수 있다. 상기 도 11에 도시된 통계 분석 항목들(운동 회수, 칼로리 소모량, 운동 시간)은 단지 예시적인 것으로서, 이에 제한되지 않는다. In some embodiments, the statistical analysis may be a summation or average analysis of values within the exercise result information for each item during the specific period. The data generation unit 370 may generate third analysis data summarizing the result of adding up at least one item in the exercise result information. In one example, the data generating unit 370 calculates the total number of workouts by adding up the number of workouts of the user during the specific period, indicated as workouts in FIG. Third analysis data can be generated including the total exercise time, which is the sum of the exercise time, and the total calorie consumption, which is the sum of the user's calorie consumption during the specific period, indicated as Kcal in FIG. 11. The statistical analysis items (number of exercises, calories burned, exercise time) shown in FIG. 11 are merely examples and are not limited thereto.

또한, 일부 실시 예들에서, 상기 단계(S600)는, 복수의 사용자의 운동 결과를 통계적으로 분석한, 사용자 그룹에 대한 제4 분석 자료를 생성하는 단계(S640)를 더 포함할 수 있다. Additionally, in some embodiments, the step (S600) may further include a step (S640) of generating fourth analysis data for the user group by statistically analyzing exercise results of a plurality of users.

상기 제3 분석 자료는 다수의 사용자(예컨대, 서비스 전체 사용자)의 운동 결과 동향을 분석한 자료이다. The third analysis data is data that analyzes trends in exercise results of multiple users (eg, all service users).

본 출원의 다양한 실시 예들에서, 상기 제4 분석 자료는 복수의 사용자로 이루어진 사용자 그룹의 운동 결과 정보에 기초한 분석 자료로서, 지역별 운동 동향 자료, BMI별 운동 동향, 기기종류별 운동 동향, 체형별 운동 동향, 신장별 운동 동향, 또는 국가별 운동 동향일 수 있다. In various embodiments of the present application, the fourth analysis data is analysis data based on exercise result information of a user group consisting of a plurality of users, including exercise trend data by region, exercise trend by BMI, exercise trend by device type, and exercise trend by body type. , exercise trends by height, or exercise trends by country.

자료 생성부(370)는 사용자의 프로필 데이터 내 지역 정보, BMI 정보, 기기종류 정보, 체형 정보, 신장 정보, 또는 국가 정보로 복수의 사용자를 그룹핑하고; 그룹핑된 사용자들의 운동 결과 정보 내 적어도 하나의 정보를 통계 분석하여 그룹핑된 사용자들의 운동 동향을 생성할 수 있다. The data generation unit 370 groups a plurality of users by region information, BMI information, device type information, body type information, height information, or country information in the user's profile data; Exercise trends of grouped users may be generated by statistical analysis of at least one piece of information in exercise result information of grouped users.

상기 운동 동향은 운동 결과 정보에서 적어도 하나의 정보를 나타낼 수 있다. 상기 제4 분석 자료는 이러한 운동 동향을 시각화한 것일 수 있다. The exercise trend may represent at least one piece of information in exercise result information. The fourth analysis data may be a visualization of this movement trend.

일 예에서, 상기 자료 생성부(370)는 지역별로 사용자를 그룹핑하고; 그룹핑된 사용자들의 평균 칼로리가 어떻게 되는지 통계 분석하여, 지역별 사용자들의 평균 칼로리를 시각적으로 나타낸 지역별 운동 동향 자료를 생성할 수 있다. In one example, the data generating unit 370 groups users by region; By statistically analyzing the average calories of grouped users, you can generate regional exercise trend data that visually represents the average calories of users in each region.

또는, 상기 자료 생성부(370)는 BMI별로 사용자를 그룹핑하고; 그룹핑된 사용자들이 어떤 근육을 운동근육으로 주로 사용하는지 통계 분석하여, 그룹핑된 사용자들의 운동근육 빈도를 근육별로 시각적으로 나타낸 BMI별 운동 동향 자료를 생성할 수 있다. 일부 실시 예들에서, 자료 생성부(370)는 상기 BMI별 운동 동향 자료를 생성하기 위해, 운동근육 빈도별로 순위를 매기는 단계 - 상기 순위는 빈도가 빈번할수록 더 높은 순위를 가짐; 임계 순위 이상의 운동근육 빈도를 포함한 BMI별 운동 동향 자료를 생성하는 단계를 포함한 동작들을 수행하도록 구성되는 것일 수 있다. Alternatively, the data generating unit 370 groups users by BMI; By statistically analyzing which muscles grouped users mainly use as exercise muscles, it is possible to generate exercise trend data by BMI that visually displays the exercise muscle frequency of grouped users by muscle. In some embodiments, the data generator 370 ranks exercise muscles by frequency in order to generate exercise trend data by BMI - the ranking has a higher rank as the frequency increases; It may be configured to perform movements including generating exercise trend data for each BMI including exercise muscle frequencies above a critical rank.

또는, 상기 자료 생성부(370)는 기기종류별로 사용자를 그룹핑하고; 그룹핑된 사용자들이 어떤 운동 동작을 선호하는지 통계 분석하여, 그룹핑된 사용자들의 선호 운동 동작을 시각적으로 나타낸 기기종류별 운동 동향 자료를 생성할 수 있다. 일부 실시 예들에서, 자료 생성부(370)는 상기 기기종류별 운동 동향 자료를 생성하기 위해, 사용자의 선호 운동 동작 정보에 기초하여 운동 동작별로 선호 순위를 매기는 단계 - 상기 선호 순위는 선호 운동 동작으로 선택된 운동 동작에게 보다 높은 순위가 부여됨; 선호 순위에 따라 운동 동작을 배열하여 상기 운동 동향 자료를 생성하는 단계를 포함한 동작들을 수행하도록 구성될 수 있다. Alternatively, the data generating unit 370 groups users by device type; By statistically analyzing which exercise movements grouped users prefer, it is possible to generate exercise trend data by device type that visually represents the preferred exercise movements of grouped users. In some embodiments, the data generator 370 ranks the user's preference for each exercise motion based on the user's preferred exercise motion information in order to generate exercise trend data for each device type - the preference ranking is divided into preferred exercise motions. Selected motor movements are given higher priority; It may be configured to perform movements including generating the exercise trend data by arranging exercise movements according to preference ranking.

마찬가지로, 상기 자료 생성부(370)는 기기종류별 운동 동향 자료와 마찬가지로, 체형별, 신장 별, 국가별로도 그룹핑된 사용자들이 어떤 운동을 선호하는지 통계 분석한 결과를 시각화한 분석 자료를 생성할 수 있다. Likewise, the data generation unit 370 can generate analysis data that visualizes the results of a statistical analysis of what exercise groups grouped by body type, height, and country prefer, as well as exercise trend data by device type. .

이와 같이 상기 시스템(1)에서 생성한 퍼스널 트래이닝 비디오 이미지의 메타데이터, 사용자의 운동 상태 정보, 운동 결과 정보 및 분석 자료 중 적어도 하나는 사용자의 근골격계 운동 및 의료 지원과 관련된 의사결정을 하는데 이용될 수 있다. 특히, 이용되는 자료들은 시각화되어 있어, 사용자가 보다 쉽게 정보를 인식할 수 있어, 보다 빠른 의사결정이 수행되는 것을 지원한다. In this way, at least one of the metadata of the personal training video image generated by the system 1, the user's exercise status information, exercise result information, and analysis data can be used to make decisions related to the user's musculoskeletal exercise and medical support. there is. In particular, the data used is visualized so that users can more easily recognize the information, supporting faster decision making.

상기 운동 동작 분석 시스템(1)이 다른 구성요소를 포함할 수도 있다는 것이 통상의 기술자에게 명백할 것이다. 예를 들어, 상기 운동 동작 분석 시스템(1)은 데이터 엔트리를 위한 입력 장치, 및 인쇄 또는 다른 데이터 표시를 위한 출력 장치를 포함하는, 본 명세서에 서술된 동작에 필요한 다른 하드웨어 요소를 포함할 수도 있다. 또한, 상기 운동 동작 분석 시스템(1)와 외부 장치(예를 들어, 사용자 단말, 또는 외부 데이터베이스 등) 사이를 연결하는 네트워크, 네트워크 인터페이스 및 프로토콜 등을 더 포함할 수 있다. It will be clear to those skilled in the art that the motor motion analysis system 1 may also include other components. For example, the motor motion analysis system 1 may include other hardware elements necessary for the operations described herein, including input devices for data entry and output devices for printing or other data presentation. . In addition, it may further include a network, network interface, and protocol connecting the exercise motion analysis system 1 and an external device (eg, a user terminal, an external database, etc.).

하드웨어를 이용하여 본 발명의 실시 예를 구현하는 경우에는, 본 출원의 실시 예들을 수행하도록 구성된 ASICs(application specific integrated circuits) 또는 DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays) 등이 본 출원의 구성요소에 구비될 수 있다. When implementing embodiments of the present invention using hardware, application specific integrated circuits (ASICs) or digital signal processors (DSPs), digital signal processing devices (DSPDs), and programmable PLDs (PLDs) configured to perform the embodiments of the present application. logic devices), field programmable gate arrays (FPGAs), etc. may be included in the components of the present application.

이상에서 설명한 본 출원의 실시 예들에 따른 상기 운동 동작 분석 시스템 및 방법에 의한 동작은 적어도 부분적으로 컴퓨터 프로그램으로 구현되어, 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 예를 들어, 프로그램 코드를 포함하는 컴퓨터-판독가능 매체로 구성되는 프로그램 제품과 함께 구현되고, 이는 기술된 임의의 또는 모든 단계, 동작, 또는 과정을 수행하기 위한 프로세서에 의해 실행될 수 있다. The operations of the exercise motion analysis system and method according to the embodiments of the present application described above may be at least partially implemented as a computer program and recorded on a computer-readable recording medium. For example, implemented with a program product comprised of a computer-readable medium containing program code, which can be executed by a processor to perform any or all steps, operations, or processes described.

상기 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등을 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인 프로그램, 코드 및 코드 세그먼트(segment)들은 본 실시예가 속하는 기술 분야의 통상의 기술자에 의해 용이하게 이해될 수 있을 것이다.The computer-readable recording medium includes all types of recording devices that store data that can be read by a computer. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices. Additionally, computer-readable recording media may be distributed across computer systems connected to a network, and computer-readable codes may be stored and executed in a distributed manner. Additionally, functional programs, codes, and code segments for implementing this embodiment can be easily understood by those skilled in the art to which this embodiment belongs.

이상에서 살펴본 본 발명은 도면에 도시된 실시예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.The present invention discussed above has been described with reference to the embodiments shown in the drawings, but these are merely illustrative examples, and those skilled in the art will understand that various modifications and modifications of the embodiments are possible therefrom. However, such modifications should be considered within the technical protection scope of the present invention. Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the attached patent claims.

Claims (20)

서버에 의해 수행되는, 근골격계 운동 및 의료 서비스 관련 의사결정을 지원하기 위해 사용자의 운동 동작을 분석하여 시각적 측면에서 효과적으로 제공하는 방법에 있어서,
서버에서 퍼스널 트래이닝 객체의 적어도 하나의 운동 동작을 나타낸 퍼스널 트래이닝 비디오 이미지를 획득하고, 상기 퍼스널 트래이닝 비디오 이미지에서 상기 퍼스널 트래이닝 객체의 운동 동작을 분석하여 상기 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하는 단계 ;
상기 사용자의 운동 동작을 촬영한 사용자의 비디오 이미지를 상기 서버에서 수신하는 단계 - 상기 사용자의 운동 동작은 사용자가 선택한 퍼스널 트래이닝 비디오 이미지에 나타난 상기 퍼스널 트래이닝 객체의 적어도 하나의 운동 동작 중에서 상기 사용자의 운동 동작에 대응한 운동 동작을 모방한 것임;
상기 사용자의 비디오 이미지에서 상기 사용자의 운동 동작을 분석하여 상기 사용자의 자세정보를 생성하고, 상기 사용자의 자세정보에 기초하여 운동 상태 정보를 생성하는 단계;
상기 사용자의 운동 동작과 상기 퍼스널 트래이닝 객체의 대응한 운동 동작을 서로 비교하기 위해, 상기 사용자의 운동 상태 정보와 상기 퍼스널 트래이닝 객체의 대응한 운동 상태 정보를 비교하여 상기 사용자의 운동 결과 정보를 생성하는 단계 - 상기 퍼스널 트래이닝 객체의 대응한 운동 상태 정보는 상기 사용자의 운동 상태 정보가 서술하는 사용자의 운동 동작에 대응한 상기 퍼스널 트래이닝 객체의 운동 동작을 분석한 결과임; 및
상기 사용자의 운동 상태 정보 및 상기 사용자의 운동 결과 정보에 포함된 정보 중 적어도 하나의 정보에 기초하여 상기 사용자의 운동 동작에 대한 분석 자료를 생성하는 단계 - 상기 분석 자료는 사용자의 전자장치에서 표시되는 분석 화면을 생성하는데 이용됨; 를 포함하고,
상기 사용자의 운동 동작에 대한 분석 자료를 생성하는 단계는,
사용자의 운동동작 또는 운동근육 각각에 대해, 상기 사용자의 운동 결과를 상기 사용자의 운동 결과 정보 내 운동근육 정보 및 운동강도 정보에 기초하여 시각화하여 제1 분석 자료를 생성하는 단계 - 상기 제1 분석 자료는 상기 사용자의 제1 분석 이미지를 포함함-; 및
특정 기간 동안 사용자가 구현한 적어도 하나의 운동 동작 전체에 대한 운동 결과를 상기 사용자의 운동 결과 정보 내 운동근육 정보 및 운동강도 정보 중 적어도 일부에 기초하여 시각화한 제2 분석 이미지를 제2 분석 자료로서 생성하는 단계 - 상기 제2 분석 이미지는 상기 특정 기간 동안의 상기 사용자의 전체 운동근육의 위치, 및 운동근육별 전체 운동강도를 시각화한 이미지임 - ;를 포함하고,
상기 운동강도는, 운동 동작 동안 운동근육에 가해지는 자극을 나타낸 부하량에 기초한 것이고,
상기 사용자의 운동근육에 대한 제1 분석 자료를 생성하는 단계는,
운동근육 각각에 대한 제1 분석 이미지를 생성하기 위해, 상기 사용자의 운동근육 정보에 기초하여 미리 설정된 신체 영역에서 상기 사용자의 운동근육 영역을 식별하고, 운동강도를 표기하기 위해 미리 설정된 색상 중 상기 사용자의 운동강도 정보에 대응한 색상을 식별된 운동근육에 적용하여 식별된 운동근육 영역에 해당 운동근육에 대한 상기 사용자의 운동강도를 표기하는 단계;를 포함하고,
상기 제2 분석 이미지를 생성하는 단계는,
특정 기간 동안 사용자의 전체 운동근육에서 개별 운동근육별로 운동강도를 합산하는 단계;
상기 사용자의 운동근육에 대해서, 특정 기간 동안의 개별 운동근육의 운동강도 각각이 시각적으로 구별되도록 전체 운동근육에서 개별 운동근육의 합산된 운동강도에 맵핑된 색상을 미리 저장된 색상 테이블에서 검색하는 단계; 및
상기 개별 운동근육별로 검색된 색상을 상기 개별 운동근육에 각각 적용하는 단계를 포함하는,
방법.
In a method of analyzing a user's exercise movements performed by a server to support decision-making related to musculoskeletal exercises and medical services and providing the user's exercise motion effectively in a visual aspect,
Obtaining a personal training video image representing at least one exercise motion of a personal training object from a server, and analyzing the exercise motion of the personal training object in the personal training video image to generate metadata of the personal training video image;
Receiving a video image of the user in which the user's exercise motion is captured from the server, wherein the user's exercise motion is the user's exercise among at least one exercise motion of the personal training object shown in the personal training video image selected by the user imitates the motor movement corresponding to the movement;
Generating posture information of the user by analyzing the user's exercise movements in the video image of the user, and generating exercise state information based on the posture information of the user;
In order to compare the exercise motion of the user and the corresponding exercise motion of the personal training object, generating exercise result information of the user by comparing the exercise state information of the user and the corresponding exercise state information of the personal training object. Step - the corresponding exercise state information of the personal training object is a result of analyzing the exercise motion of the personal training object corresponding to the user's exercise motion described by the user's exercise state information; and
Generating analysis data about the user's exercise movement based on at least one of information included in the user's exercise state information and the user's exercise result information - the analysis data is displayed on the user's electronic device Used to create analysis screens; Including,
The step of generating analysis data on the user's exercise movements is,
For each of the user's exercise movements or exercise muscles, visualizing the user's exercise results based on exercise muscle information and exercise intensity information in the user's exercise result information to generate first analysis data - the first analysis data includes a first analysis image of the user; and
A second analysis image that visualizes the exercise results of all at least one exercise movement implemented by the user during a specific period based on at least some of the exercise muscle information and exercise intensity information in the user's exercise result information is used as second analysis data. Generating step - the second analysis image is an image visualizing the position of the user's entire exercise muscles and the total exercise intensity for each exercise muscle during the specific period, including;
The exercise intensity is based on the load representing the stimulus applied to the exercise muscles during the exercise movement,
The step of generating first analysis data on the user's exercise muscles is:
In order to generate a first analysis image for each exercise muscle, the user's exercise muscle region is identified in a preset body region based on the user's exercise muscle information, and the user's exercise muscle region is selected among preset colors to indicate exercise intensity. Applying a color corresponding to the exercise intensity information to the identified exercise muscle to display the user's exercise intensity for the corresponding exercise muscle in the identified exercise muscle area,
The step of generating the second analysis image is,
Adding up the exercise intensity for each individual exercise muscle from the user's total exercise muscles during a specific period of time;
With respect to the user's exercise muscles, searching for a color mapped to the summed exercise intensity of individual exercise muscles from all exercise muscles in a pre-stored color table so that the exercise intensities of individual exercise muscles during a specific period are visually distinguished; and
Comprising the step of applying the color searched for each individual exercise muscle to each of the individual exercise muscles,
method.
제1항에 있어서, 상기 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하는 단계는,
상기 퍼스널 트래이닝 비디오 이미지 내 프레임 이미지 세트를 장면별로 분류하여 장면에 연관된 프레임 이미지의 서브 세트를 형성하는 단계 - 상기 서브 세트는 적어도 하나의 일련의 프레임 이미지를 포함하고, 상기 일련의 프레임 이미지는 퍼스널 트래이닝 객체의 단위 동작을 나타낸 연속적인 프레임 이미지임;
상기 퍼스널 트래이닝 비디오 이미지의 프레임 이미지를 서브 세트 단위로 연산 처리하여, 상기 장면에 나타난 상기 퍼스널 트래이닝 객체의 자세정보를 생성하는 단계;
상기 퍼스널 트래이닝 객체의 자세정보에 기초하여 트래이닝 객체의 운동 상태 정보를 생성하는 단계;
상기 서버의 운영자 입력 정보 및 상기 퍼스널 트래이닝 객체의 운동 상태 정보 중 적어도 하나의 정보에 기초하여 상기 퍼스널 트래이닝 비디오 이미지 내 퍼스널 트래이닝 객체의 운동 결과 정보를 획득하는 단계; 및
상기 퍼스널 트래이닝 객체의 운동 상태 정보 중 일부 또는 전부의 정보를 포함하고, 상기 퍼스널 트래이닝 객체의 운동 결과 정보 중 일부 또는 전부를 포함한 상기 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하는 단계를 포함하는,
방법.
The method of claim 1, wherein generating metadata of the personal training video image comprises:
classifying the set of frame images within the personal training video image by scene to form a subset of frame images associated with the scene, the subset comprising at least one series of frame images, the series of frame images comprising a set of frame images It is a continuous frame image representing the unit motion of an object;
generating posture information of the personal training object appearing in the scene by processing frame images of the personal training video image in subset units;
generating exercise state information of the training object based on the posture information of the personal training object;
Obtaining exercise result information of the personal training object in the personal training video image based on at least one of operator input information of the server and exercise state information of the personal training object; and
Generating metadata of the personal training video image including some or all of the exercise state information of the personal training object and including some or all of the exercise result information of the personal training object.
method.
제1항에 있어서, 상기 퍼스널 트래이닝 객체의 자세정보를 생성하는 단계는,
동작을 구성하는 연속된 일련의 자세 중에서, 해당 동작을 식별하는데 요구되는 적어도 하나의 자세를 키 자세(key pose)로 선별하는 단계; 및
일련의 자세 중에서 키 자세로 선별된 일부 자세를 서술하는 키 자세정보를 상기 퍼스널 트래이닝 객체의 자세정보로 생성하는 단계;를 포함하고,
상기 적어도 하나의 자세를 키 자세로 선별하는 단계는,
골격의 위치 및 움직임 정보, 관절의 위치 및 움직임 정보에 기초하여 단위 동작의 적어도 하나의 자세를 상기 단위 동작에 대한 키 자세로 선별하는 것이고,
상기 퍼스널 트래이닝 객체의 운동 상태 정보는 상기 퍼스널 트래이닝 객체의 키 자세 정보에 기초하여 생성된 것을 특징으로 하는,
방법.
The method of claim 1, wherein the step of generating posture information of the personal training object comprises:
Selecting at least one posture required to identify the corresponding motion as a key pose from among a series of continuous postures constituting the motion; and
A step of generating key posture information describing some postures selected as key postures among a series of postures as posture information of the personal training object,
The step of selecting the at least one posture as the key posture,
Based on the position and movement information of the skeleton and the position and movement information of the joints, at least one posture of the unit action is selected as the key posture for the unit action,
Characterized in that the exercise state information of the personal training object is generated based on the key posture information of the personal training object,
method.
제1항에 있어서, 상기 퍼스널 트래이닝 객체의 자세정보를 생성하는 단계는,
입력 객체가 나타난 입력 이미지를 미리 학습된 포즈 인식 모델을 이용하여 분석하여 상기 입력 객체가 취하고 있는 자세가 속하는 자세종류를 인식하고, 인식된 자세종류를 포함한 상기 객체의 자세정보를 생성하는 것이고,
상기 포즈 인식 모델은 상기 포즈 인식 모델은 포즈 추정 알고리즘을 통해 입력 자세를 취하는 객체의 특징점을 추출하고, 객체의 특징점의 추출 결과에 기초하여 객체의 관절 움직임 및 골격의 움직임 정보 중 적어도 하나의 움직임 정보를 산출하며, 산출된 객체의 관절 움직임 및 골격의 움직임 정보 중 적어도 하나의 움직임 정보와 입력 객체의 자세종류 간의 상관관계를 추론하여 상기 입력 자세가 미리 설정된 복수의 자세종류 각각으로 분류될 확률을 산출하고, 산출된 확률에 기초하여 상기 입력 자세의 자세종류를 인식하도록 구성된 기계학습 모델인 것을 특징으로 하는,
방법.
The method of claim 1, wherein the step of generating posture information of the personal training object comprises:
The input image in which the input object appears is analyzed using a pre-learned pose recognition model to recognize the type of posture to which the posture taken by the input object belongs, and to generate posture information of the object including the recognized posture type,
The pose recognition model extracts feature points of an object in an input posture through a pose estimation algorithm, and provides at least one motion information of joint motion and skeletal motion information of the object based on the extraction result of the feature points of the object. Calculate the probability that the input posture is classified into each of a plurality of preset posture types by inferring the correlation between at least one movement information among the calculated joint movement and skeletal movement information of the object and the posture type of the input object. and is a machine learning model configured to recognize the posture type of the input posture based on the calculated probability.
method.
제1항에 있어서, 상기 사용자의 운동 동작을 촬영한 사용자의 비디오 이미지를 상기 서버에서 수신하는 단계는,
사용자의 전자장치에서 컨텐츠 목록을 표시하도록, 복수의 퍼스널 트래이닝 비디오 이미지에 대한 컨텐츠 프로필 정보를 상기 사용자의 전자장치로 전송하는 단계;
상기 사용자에 대한 가이드 동작을 나타낸 대상 퍼스널 트래이닝 비디오 이미지에 대한 요청을 상기 사용자의 전자장치로부터 수신하는 단계;
요청된 대상 퍼스널 트래이닝 비디오 이미지를 상기 사용자의 전자장치로 제공하는 단계; 및
상기 사용자의 전자장치에서 사용자의 운동 동작을 촬영하여 생성한 상기 사용자의 비디오 이미지를 상기 서버에서 수신하는 단계;를 포함하고,
상기 사용자의 비디오 이미지는 대응 퍼스널 트래이닝 비디오 이미지에 나타난 퍼스널 트래이닝 객체의 운동 동작을 모방한 사용자의 운동 동작을 나타내는 것을 특징으로 하는,
방법.
The method of claim 1, wherein the step of receiving, from the server, a video image of the user capturing the user's exercise movements,
transmitting content profile information for a plurality of personal training video images to the user's electronic device to display a content list on the user's electronic device;
Receiving a request for a target personal training video image showing a guide operation for the user from the user's electronic device;
providing a requested target personal training video image to the user's electronic device; and
Receiving, from the server, a video image of the user generated by filming the user's exercise movements on the user's electronic device,
wherein the video image of the user represents the user's motor movements mimicking the motor movements of the personal training object shown in the corresponding personal training video image,
method.
제3항에 있어서, 상기 사용자의 운동 상태 정보를 생성하는 단계는,
상기 사용자의 비디오 이미지 내 프레임 이미지 세트를 장면별로 분류하여 장면에 연관된 프레임 이미지의 서브 세트를 형성하는 단계 - 상기 서브 세트는 적어도 하나의 일련의 프레임 이미지를 포함하고, 상기 일련의 프레임 이미지는 사용자의 단위 동작을 나타낸 연속적인 프레임 이미지임;
상기 사용자의 비디오 이미지의 프레임 이미지를 서브 세트 단위로 연산 처리하여, 상기 장면에 나타난 상기 사용자의 자세정보를 생성하는 단계; 및
상기 사용자의 자세정보에 기초하여 상기 사용자의 운동 상태 정보를 생성하는 단계;를 포함하고,
상기 장면에 나타난 상기 사용자의 자세정보를 생성하는 단계는,
상기 사용자의 비디오 이미지에 포함된 장면에 연관된 서브 세트 각각에 대해, 개별 서브 세트에 포함된 연속적인 프레임 이미지를 포즈 인식 모델에 입력하여 상기 연속적인 프레임 이미지에 나타난 상기 사용자의 자세종류를 인식하는 단계; 및
상기 자세종류의 인식 결과, 및 상기 포즈 인식 모델에서 상기 자세종류를 인식하기 위해 연산 처리하는 과정에서 산출된 중간 결과에 기초하여 상기 사용자의 자세정보를 생성하는 단계를 포함하는 것을 특징으로 하는,
방법.
The method of claim 3, wherein generating the user's exercise state information comprises:
classifying the set of frame images in the video image of the user by scene to form a subset of frame images associated with the scene, wherein the subset includes at least one series of frame images, the series of frame images of the user It is a continuous frame image representing a unit action;
generating posture information of the user appearing in the scene by processing frame images of the video image of the user in subset units; and
A step of generating exercise state information of the user based on the user's posture information,
The step of generating posture information of the user appearing in the scene is,
For each subset related to a scene included in the user's video image, inputting consecutive frame images included in each subset into a pose recognition model to recognize the user's posture type shown in the consecutive frame images. ; and
Characterized in that it includes the step of generating posture information of the user based on a recognition result of the posture type and an intermediate result calculated in a process of processing to recognize the posture type in the pose recognition model.
method.
제1항에 있어서, 상기 사용자의 운동 결과 정보를 생성하는 단계는,
상기 사용자의 운동 상태 정보에서 상기 사용자의 자세정보와 상기 퍼스널 트래이닝 객체의 대응한 자세정보를 비교하여, 상기 퍼스널 트래이닝 객체에 대한 상기 사용자의 자세 유사도를 산출하는 단계; 및
상기 퍼스널 트래이닝 객체의 운동 결과 정보, 상기 사용자의 자세 유사도, 상기 사용자의 운동 상태 정보 중 적어도 하나에 기초하여 상기 사용자의 운동 결과 정보를 생성하는 단계;를 포함하고,
상기 자세 유사도를 산출하는 단계는,
서로 대응한 퍼스널 트래이닝 객체의 자세와 사용자의 자세에서, 퍼스널 트래이닝 객체와 사용자 각각의 대응 관절, 대응 골격을 결정하는 단계; 사용자의 일련의 자세에서 사용자의 관절의 움직임 벡터와, 상기 사용자의 일련의 자세에 대응한 퍼스널 트래이닝 객체의 일련의 자세에 나타난 퍼스널 트래이닝 객체의 관절의 움직임 벡터 간의 제1 유사도를 산출하는 단계;
사용자의 일련의 자세에서 사용자의 골격의 움직임 벡터와, 상기 사용자의 일련의 자세에 대응한 퍼스널 트래이닝 객체의 일련의 자세에 나타난 퍼스널 트래이닝 객체의 골격의 움직임 벡터 간의 제2 유사도를 산출하는 단계; 및
상기 제1 유사도 및 제2 유사도에 기초하여 상기 일련의 자세 동안 상기 사용자와 대응한 퍼스널 트래이닝 객체 간의 자세 유사도를 산출하는 단계를 포함하는 것을 특징으로 하는,
방법.
The method of claim 1, wherein generating the user's exercise result information comprises:
Comparing the user's posture information with corresponding posture information of the personal training object in the user's exercise state information, and calculating the user's posture similarity to the personal training object; and
Generating exercise result information of the user based on at least one of exercise result information of the personal training object, posture similarity of the user, and exercise state information of the user,
The step of calculating the posture similarity is,
determining corresponding joints and corresponding skeletons of the personal training object and the user, respectively, from the postures of the personal training object and the user's postures corresponding to each other; calculating a first similarity between the motion vectors of the user's joints in a series of postures of the user and the motion vectors of the joints of the personal training object shown in the series of postures of the personal training object corresponding to the series of postures of the user;
calculating a second similarity between the motion vector of the user's skeleton in a series of postures of the user and the motion vector of the skeleton of the personal training object shown in the series of postures of the personal training object corresponding to the series of postures of the user; and
Comprising a step of calculating a posture similarity between the user and a corresponding personal training object during the series of postures based on the first similarity and the second similarity,
method.
제1항에 있어서, 상기 사용자의 운동 결과 정보를 생성하는 단계는,
상기 사용자와 퍼스널 트래이닝 객체 간의 동작 유사도를 상기 퍼스널 트래이닝 객체의 운동 결과 정보에서 퍼스널 트래이닝 객체의 난이도, 심박수, 또는 칼로리 소모량에 적용하여 사용자의 난이도, 심박수, 또는 칼로리 소모량을 산출하는 단계;
일련의 자세 동안 자세 각각의 관절의 위치, 및 골격의 움직임 벡터에 기초하여 사용자의 비디오 이미지에 나타난 사용자의 운동골격, 운동관절을 결정하는 단계; 및 상기 사용자의 운동골격의 위치, 운동관절의 위치를 추적하여 상기 사용자의 운동골격의 운동 범위, 상기 사용자의 운동관절의 운동 범위를 산출하는 단계;
단위 동작 동안 사용자의 자세정보 내 관절의 위치, 골격의 위치, 관절의 움직임 벡터 및 골격의 움직임 벡터 중 적어도 하나에 기초하여 상기 사용자의 신체에 포함된 다수의 근육 중 상기 사용자의 운동근육을 검출하는 단계를 포함하는,
방법.
The method of claim 1, wherein generating the user's exercise result information comprises:
Calculating the difficulty level, heart rate, or calorie consumption of the user by applying the similarity in motion between the user and the personal training object to the difficulty level, heart rate, or calorie consumption amount of the personal training object in the exercise result information of the personal training object;
determining the user's motion skeleton and motion joints shown in the user's video image based on the positions of each joint in each posture and the motion vector of the skeleton during a series of postures; and calculating the range of motion of the user's motion skeleton and the range of motion of the user's motion joints by tracking the position of the user's motion skeleton and the positions of the motion joints;
Detecting the user's exercise muscles among a plurality of muscles included in the user's body based on at least one of the position of the joint, the position of the skeleton, the movement vector of the joint, and the movement vector of the skeleton in the user's posture information during the unit operation. comprising steps,
method.
제8항에 있어서, 상기 사용자의 운동 결과 정보를 생성하는 단계는,
상기 퍼스널 트래이닝 객체의 자세정보와 사용자의 자세정보 간의 차이에 기초하여 개별 운동근육에 가해지는 상기 사용자의 운동강도를 산출하는 단계;를 더 포함하고,
상기 사용자의 운동강도를 산출하는 단계는,
상기 사용자의 자세가 퍼스널 트래이닝 객체의 자세에 매칭하는 경우, 퍼스널 트래이닝 객체의 운동강도를 상기 사용자의 운동강도로 산출하는 단계; 및
상기 사용자의 운동강도를 산출하는 단계는, 상기 사용자의 자세정보에 따른 상기 사용자의 운동강도를 상기 사용자의 신체 프로필 데이터 및 운동근육의 사용 수준 중 적어도 하나에 기초하여 보정하는 단계를 포함하는,
방법.
The method of claim 8, wherein the step of generating the user's exercise result information includes:
It further includes calculating the user's exercise intensity applied to individual exercise muscles based on the difference between the posture information of the personal training object and the user's posture information,
The step of calculating the user's exercise intensity is,
When the user's posture matches the posture of the personal training object, calculating the exercise intensity of the personal training object as the user's exercise intensity; and
The step of calculating the user's exercise intensity includes correcting the user's exercise intensity according to the user's posture information based on at least one of the user's body profile data and exercise muscle usage level,
method.
청구항 제9항에 있어서, 상기 사용자의 운동강도를 보정하는 단계는, 상기 사용자의 자세정보에 따른 상기 사용자의 운동강도를 운동근육의 사용 수준에 기초하여, 상기 사용자의 운동결과 정보에서 상기 사용자의 운동강도를 보정하는 단계를 포함하고,
상기 사용자의 자세정보에 따른 상기 사용자의 운동강도를 운동근육의 사용 수준에 기초하여, 상기 사용자의 운동결과 정보에서 상기 사용자의 운동강도를 보정하는 단계는,
입력 이미지에서 운동근육을 둘러싼 신체 부분의 부피 변화를 분석하여 근육의 부피 변화 정보를 획득하는 것, 입력 이미지에서 운동근육을 가리키는 운동근육 영역 상의 피부 변화를 분석하여 피부 표면의 변화 정보를 획득한 것 중 적어도 하나의 단계;
획득된 운동근육의 부피 변화 정보 및 상기 피부 표면의 변화 정보와 해당 근육의 사용 정도 간의 상관관계를 추론하여 입력 이미지에 나타난 운동근육 영역별로 운동근육의 사용 정도를 예측하는 단계; 및
예측된 운동근육별 사용 정도에 기초하여 상기 사용자의 운동강도를 보정하는 단계를 포함하는 것을 특징으로 하는,
방법.
The method of claim 9, wherein the step of correcting the user's exercise intensity includes determining the user's exercise intensity according to the user's posture information based on the level of exercise muscle use, and determining the user's exercise intensity based on the user's exercise result information. Including the step of correcting the exercise intensity,
The step of correcting the user's exercise intensity in the user's exercise result information based on the user's exercise intensity according to the user's posture information and the level of exercise muscle use,
Obtaining muscle volume change information by analyzing the volume change of the body part surrounding the exercise muscle in the input image, and acquiring skin surface change information by analyzing skin change on the exercise muscle area pointing to the exercise muscle in the input image. At least one step of;
predicting the degree of use of the exercise muscle for each exercise muscle area shown in the input image by inferring the correlation between the acquired volume change information of the exercise muscle and the skin surface change information and the degree of use of the corresponding muscle; and
Characterized by comprising the step of correcting the user's exercise intensity based on the predicted degree of use of each exercise muscle,
method.
삭제delete 제1항에 있어서,
상기 운동근육을 표기하기 위해 미리 설정된 색상을 상기 사용자의 운동 결과 정보 내 운동근육에 적용하는 단계는,
상기 사용자의 운동 결과 정보 내 운동근육에 대해서, 개별 운동근육의 운동강도가 시각적으로 구별되도록 개별 운동근육의 운동강도에 맵핑된 색상을 미리 저장된 색상 테이블에서 검색하는 단계; 및
상기 개별 운동근육별로 검색된 색상을 상기 개별 운동근육에 각각 적용하는 단계인 것을 특징으로 하는,
방법.
According to paragraph 1,
The step of applying a preset color to indicate the exercise muscles to the exercise muscles in the user's exercise result information,
For the exercise muscles in the user's exercise result information, searching for a color mapped to the exercise intensity of the individual exercise muscle from a pre-stored color table so that the exercise intensity of the individual exercise muscle can be visually distinguished; and
Characterized in the step of applying the color searched for each individual exercise muscle to the individual exercise muscle,
method.
제12항에 있어서, 상기 제1 분석 자료는 운동결과 비교 평가 정보를 더 포함하고,
상기 제1 분석 자료를 생성하는 단계는,
상기 사용자의 운동 상태 정보 및 운동 결과 정보에 포함된 정보의 조합 중 적어도 하나의 정보와 상기 퍼스널 트래이닝 객체의 운동 상태 정보 및 운동 결과 정보에 포함된 정보의 조합 중 적어도 하나의 정보를 비교한 운동결과 비교 평가 정보를 생성하는 단계를 더 포함하고,
상기 운동결과 비교 평가 정보는, 운동근육 또는 운동종류 각각에 대해, 상기 사용자의 운동 결과 정보 내 운동량 정보와 상기 퍼스널 트래이닝 객체의 운동 결과 정보 내 운동량 정보를 비교한 결과인 것을 특징으로 하는,
방법.
The method of claim 12, wherein the first analysis data further includes exercise result comparative evaluation information,
The step of generating the first analysis data is,
Exercise results obtained by comparing at least one piece of information among the combination of information included in the user's exercise state information and exercise result information with at least one piece of information among the combination of information included in the exercise state information and exercise result information of the personal training object. Further comprising the step of generating comparative evaluation information,
The exercise result comparison evaluation information is characterized in that it is a result of comparing exercise amount information in the exercise result information of the user and exercise amount information in the exercise result information of the personal training object, for each exercise muscle or exercise type.
method.
제1항에 있어서,
상기 개별 운동근육의 합산된 운동강도에 맵핑된 색상을 미리 저장된 색상 테이블에서 검색하는 단계는,
특정 기간 동안의 개별 운동근육의 일간 평균 운동강도를 산출하는 단계; 및
상기 일간 평균 운동강도에 맵핑된 색상을 미리 저장된 색상 테이블에서 검색하는 단계를 포함하는 것을 특징으로 하는,
방법.
According to paragraph 1,
The step of retrieving the color mapped to the combined exercise intensity of the individual exercise muscles from a pre-stored color table is,
Calculating the daily average exercise intensity of individual exercise muscles during a specific period of time; and
Characterized in that it includes the step of retrieving the color mapped to the daily average exercise intensity from a pre-stored color table,
method.
제1항에 있어서, 상기 사용자의 운동 동작에 대한 분석 자료를 생성하는 단계는,
특정 기간 동안의 사용자의 운동 상태 정보 및 운동 결과 정보 중 적어도 일부 정보에 기초하여 특정 기간 동안의 사용자의 운동 결과를 통계 분석하여 제3 분석 자료를 생성하는 단계를 포함하는 것을 특징으로 하는,
방법.
The method of claim 1, wherein the step of generating analysis data on the user's exercise movements comprises:
Statistically analyzing the user's exercise results during a specific period based on at least some of the user's exercise status information and exercise result information during a specific period, and generating third analysis data,
method.
제1항에 있어서, 상기 사용자의 운동 동작에 대한 분석 자료를 생성하는 단계는,
복수의 사용자의 운동 결과를 통계적으로 분석한, 사용자 그룹에 대한 제4 분석 자료를 생성하는 단계를 더 포함하고,
상기 제4 분석 자료를 생성하는 단계는,
복수의 사용자를 각 사용자의 프로필 데이터에 포함된 어느 정보로 그룹핑하여 사용자 그룹을 형성하는 단계; 및
사용자 그룹 내 개별 사용자의 운동 결과 정보 중 적어도 하나에 대해 통계 분석하여 사용자 그룹에 대한 운동 동향을 나타낸 제4 분석 자료를 생성하는 단계를 포함하고,
상기 제4 분석 자료는, 지역별 운동 동향 자료, BMI별 운동 동향, 기기종류별 운동 동향, 체형별 운동 동향, 신장별 운동 동향, 또는 국가별 운동 동향인 것을 특징으로 하는,
방법.
The method of claim 1, wherein the step of generating analysis data on the user's exercise movements comprises:
It further includes the step of generating fourth analysis data for a user group, which statistically analyzes the exercise results of a plurality of users,
The step of generating the fourth analysis data is,
forming a user group by grouping a plurality of users by information included in each user's profile data; and
A step of generating fourth analysis data showing exercise trends for the user group by performing statistical analysis on at least one of the exercise result information of individual users within the user group,
The fourth analysis data is characterized in that it is exercise trend data by region, exercise trend by BMI, exercise trend by device type, exercise trend by body type, exercise trend by height, or exercise trend by country.
method.
제1항 내지 제10항, 제12항 내지 제16항 중 어느 하나의 청구항에 따른, 근골격계 운동 및 의료 서비스 관련 의사결정을 지원하기 위해 사용자의 운동 동작을 분석하여 시각적 측면에서 효과적으로 제공하는 방법을 수행하게 하는 프로그램을 기록한, 컴퓨터 판독가능한 기록매체. A method for effectively providing visual information by analyzing a user's exercise movements to support decision-making related to musculoskeletal exercise and medical services according to any one of claims 1 to 10 and 12 to 16. A computer-readable recording medium that records a program that executes the program. 운동 및 의료 서비스 관련 의사결정을 지원하기 위해 사용자의 운동 동작에 대한 분석 결과를 시각적 측면에서 효과적으로 제공하는 시스템에 있어서,
상기 시스템은 서버 및 하나 이상의 사용자의 전자장치를 포함하고, 상기 서버는,
퍼스널 트래이닝 객체의 적어도 하나의 운동 동작을 나타낸 퍼스널 트래이닝 비디오 이미지를 획득하고, 상기 퍼스널 트래이닝 비디오 이미지에서 상기 퍼스널 트래이닝 객체의 운동 동작을 분석하여 상기 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하고,
상기 사용자의 운동 동작을 촬영한 사용자의 비디오 이미지를 상기 서버에서 수신하며 - 상기 사용자의 운동 동작은 사용자가 선택한 퍼스널 트래이닝 비디오 이미지에 나타난 상기 퍼스널 트래이닝 객체의 적어도 하나의 운동 동작 중에서 상기 사용자의 운동 동작에 대응한 운동 동작을 모방한 것임,
상기 사용자의 비디오 이미지에서 상기 사용자의 운동 동작을 분석하여 상기 사용자의 자세정보를 생성하고, 상기 사용자의 자세정보에 기초하여 상기 사용자의 운동 상태 정보를 생성하고,
상기 사용자의 운동 동작과 상기 퍼스널 트래이닝 객체의 대응한 운동 동작을 서로 비교하기 위해, 상기 사용자의 자세정보와 상기 퍼스널 트래이닝 객체의 대응한 자세정보를 비교하여 상기 사용자의 운동 결과 정보를 생성하며 - 상기 퍼스널 트래이닝 객체의 대응한 자세정보는 상기 사용자의 운동 상태 정보가 서술하는 사용자의 운동 동작에 대응한 상기 퍼스널 트래이닝 객체의 운동 동작을 분석한 결과임, 그리고
상기 사용자의 운동 상태 정보 및 상기 사용자의 운동 결과 정보에 포함된 정보 중 적어도 하나의 정보에 기초하여 상기 사용자의 운동 동작에 대한 분석 자료를 생성하도록 - 상기 분석 자료는 사용자의 전자장치에서 표시되는 분석 화면을 생성하는데 이용됨 - 구성되고,
상기 서버는, 상기 사용자의 운동 동작에 대한 분석 자료를 생성하기 위해, 사용자의 운동동작 또는 운동근육 각각에 대해, 상기 사용자의 운동 결과를 상기 사용자의 운동 결과 정보 내 운동근육 정보 및 운동강도 정보에 기초하여 시각화하여 제1 분석 자료를 생성하고 - 상기 제1 분석 자료는 상기 사용자의 제1 분석 이미지를 포함함-,
특정 기간 동안 사용자가 구현한 적어도 하나의 운동 동작 전체에 대한 운동 결과를 상기 사용자의 운동 결과 정보 내 운동근육 정보 및 운동강도 정보 중 적어도 일부에 기초하여 시각화한 제2 분석 이미지를 제2 분석 자료로서 생성 - 상기 제2 분석 이미지는 상기 특정 기간 동안의 상기 사용자의 전체 운동근육의 위치, 및 운동근육별 전체 운동강도를 시각화한 이미지임 - 하도록 구성되며,
상기 운동강도는, 운동 동작 동안 운동근육에 가해지는 자극을 나타낸 부하량에 기초한 것이고,
상기 서버는, 상기 사용자의 운동근육에 대한 제1 분석 자료를 생성하기 위해,
운동근육 각각에 대한 제1 분석 이미지를 생성하기 위해, 상기 사용자의 운동근육 정보에 기초하여 미리 설정된 신체 영역에서 상기 사용자의 운동근육 영역을 식별하고, 운동강도를 표기하기 위해 미리 설정된 색상 중 상기 사용자의 운동강도 정보에 대응한 색상을 식별된 운동근육에 적용하여 식별된 운동근육 영역에 해당 운동근육에 대한 상기 사용자의 운동강도를 표기하도록 구성되고,
상기 서버는, 상기 제2 분석 이미지를 생성하기 위해,
특정 기간 동안 사용자의 전체 운동근육에서 개별 운동근육별로 운동강도를 합산하고,
상기 사용자의 운동근육에 대해서, 특정 기간 동안의 개별 운동근육의 운동강도 각각이 시각적으로 구별되도록 전체 운동근육에서 개별 운동근육의 합산된 운동강도에 맵핑된 색상을 미리 저장된 색상 테이블에서 검색하며, 그리고
상기 개별 운동근육별로 검색된 색상을 상기 개별 운동근육에 각각 적용하도록 구성된 것을 특징으로 하는,
시스템.
In a system that effectively provides analysis results of a user's exercise movements in a visual aspect to support decision-making related to exercise and medical services,
The system includes a server and one or more user electronic devices, where the server includes:
Obtaining a personal training video image representing at least one movement motion of a personal training object, analyzing the movement movement of the personal training object in the personal training video image to generate metadata of the personal training video image,
A video image of the user in which the user's exercise motion is captured is received from the server, and the user's exercise motion is the user's exercise motion among at least one exercise motion of the personal training object shown in the personal training video image selected by the user. It imitates the movement movement corresponding to,
Generate posture information of the user by analyzing the exercise motion of the user in the video image of the user, and generate exercise state information of the user based on the posture information of the user,
In order to compare the user's exercise motion and the corresponding exercise motion of the personal training object, the user's posture information is compared with the corresponding posture information of the personal training object to generate exercise result information of the user. The corresponding posture information of the personal training object is a result of analyzing the exercise motion of the personal training object corresponding to the user's exercise motion described by the user's exercise state information, and
To generate analysis data on the user's exercise movement based on at least one of the information included in the user's exercise state information and the user's exercise result information - the analysis data is displayed on the user's electronic device Used to create screens - configured,
In order to generate analysis data on the user's exercise movements, the server stores the user's exercise results in the exercise muscle information and exercise intensity information in the user's exercise result information for each exercise motion or exercise muscle of the user. Visualize based on the generated first analysis data, wherein the first analysis data includes a first analysis image of the user;
A second analysis image in which the exercise results for all of at least one exercise movement implemented by the user during a specific period of time is visualized based on at least some of the exercise muscle information and exercise intensity information in the user's exercise result information is used as second analysis data. Generation - the second analysis image is an image visualizing the positions of the user's entire exercise muscles and the total exercise intensity for each exercise muscle during the specific period,
The exercise intensity is based on the load representing the stimulus applied to the exercise muscles during the exercise movement,
The server, in order to generate first analysis data about the user's exercise muscles,
In order to generate a first analysis image for each exercise muscle, the user's exercise muscle region is identified in a preset body region based on the user's exercise muscle information, and the user's exercise muscle region is selected among preset colors to indicate exercise intensity. Configured to display the user's exercise intensity for the exercise muscle in the identified exercise muscle area by applying a color corresponding to the exercise intensity information to the identified exercise muscle,
The server, to generate the second analysis image,
Total exercise intensity for each individual exercise muscle from the user's total exercise muscles during a specific period,
With respect to the user's exercise muscles, the color mapped to the combined exercise intensity of the individual exercise muscles from all exercise muscles is searched in a pre-stored color table so that each exercise intensity of the individual exercise muscles during a specific period is visually distinguished, and
Characterized in that it is configured to apply the color searched for each individual exercise muscle to each of the individual exercise muscles,
system.
서버에 의해 수행되는, 근골격계 운동 및 의료 서비스 관련 의사결정을 지원하기 위해 사용자의 운동 동작을 분석하여 시각적 측면에서 효과적으로 제공하는 방법에 있어서,
서버에서 퍼스널 트래이닝 객체의 적어도 하나의 운동 동작을 나타낸 퍼스널 트래이닝 비디오 이미지를 획득하고, 상기 퍼스널 트래이닝 비디오 이미지에서 상기 퍼스널 트래이닝 객체의 운동 동작을 분석하여 상기 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하는 단계 ;
상기 사용자의 운동 동작을 촬영한 사용자의 비디오 이미지를 상기 서버에서 수신하는 단계 - 상기 사용자의 운동 동작은 사용자가 선택한 퍼스널 트래이닝 비디오 이미지에 나타난 상기 퍼스널 트래이닝 객체의 적어도 하나의 운동 동작 중에서 상기 사용자의 운동 동작에 대응한 운동 동작을 모방한 것임;
상기 사용자의 비디오 이미지에서 상기 사용자의 운동 동작을 분석하여 상기 사용자의 자세정보를 생성하고, 상기 사용자의 자세정보에 기초하여 운동 상태 정보를 생성하는 단계;
상기 사용자의 운동 동작과 상기 퍼스널 트래이닝 객체의 대응한 운동 동작을 서로 비교하기 위해, 상기 사용자의 운동 상태 정보와 상기 퍼스널 트래이닝 객체의 대응한 운동 상태 정보를 비교하여 상기 사용자의 운동 결과 정보를 생성하는 단계 - 상기 퍼스널 트래이닝 객체의 대응한 운동 상태 정보는 상기 사용자의 운동 상태 정보가 서술하는 사용자의 운동 동작에 대응한 상기 퍼스널 트래이닝 객체의 운동 동작을 분석한 결과임; 및
상기 사용자의 운동 상태 정보 및 상기 사용자의 운동 결과 정보에 포함된 정보 중 적어도 하나의 정보에 기초하여 상기 사용자의 운동 동작에 대한 분석 자료를 생성하는 단계 - 상기 분석 자료는 사용자의 전자장치에서 표시되는 분석 화면을 생성하는데 이용됨; 를 포함하고,
상기 사용자의 운동 결과 정보를 생성하는 단계는,
상기 사용자와 퍼스널 트래이닝 객체 간의 동작 유사도를 상기 퍼스널 트래이닝 객체의 운동 결과 정보에서 퍼스널 트래이닝 객체의 난이도, 심박수, 또는 칼로리 소모량에 적용하여 사용자의 난이도, 심박수, 또는 칼로리 소모량을 산출하는 단계;
일련의 자세 동안 자세 각각의 관절의 위치, 및 골격의 움직임 벡터에 기초하여 사용자의 비디오 이미지에 나타난 사용자의 운동골격, 운동관절을 결정하는 단계;
상기 사용자의 운동골격의 위치, 운동관절의 위치를 추적하여 상기 사용자의 운동골격의 운동 범위, 상기 사용자의 운동관절의 운동 범위를 산출하는 단계;
단위 동작 동안 사용자의 자세정보 내 관절의 위치, 골격의 위치, 관절의 움직임 벡터 및 골격의 움직임 벡터 중 적어도 하나에 기초하여 상기 사용자의 신체에 포함된 다수의 근육 중 상기 사용자의 운동근육을 검출하는 단계; 및
상기 퍼스널 트래이닝 객체의 자세정보와 사용자의 자세정보 간의 차이에 기초하여 개별 운동근육에 가해지는 상기 사용자의 운동강도를 산출하는 단계;를 포함하고,
상기 사용자의 운동강도를 산출하는 단계는,
상기 사용자의 자세가 퍼스널 트래이닝 객체의 자세에 매칭하는 경우, 퍼스널 트래이닝 객체의 운동강도를 상기 사용자의 운동강도로 산출하는 단계; 및
상기 사용자의 자세에 따라 산출된 상기 사용자의 운동강도를 상기 사용자의 신체 프로필 데이터 및 운동근육의 사용 수준 중 적어도 하나에 기초하여 보정하는 단계를 포함하고,
상기 사용자의 운동강도를 보정하는 단계는, 상기 사용자의 자세정보에 따른 상기 사용자의 운동강도를 운동근육의 사용 수준에 기초하여, 상기 사용자의 운동결과 정보에서 상기 사용자의 운동강도를 보정하는 것으로서,
입력 이미지에서 운동근육을 둘러싼 신체 부분의 부피 변화를 분석하여 근육의 부피 변화 정보를 획득하는 단계;
상기 입력 이미지에서 운동근육을 가리키는 운동근육 영역 상의 피부 변화를 분석하여 피부 표면의 변화 정보를 획득하는 단계;
획득된 운동근육의 부피 변화 정보 및 상기 피부 표면의 변화 정보와 해당 근육의 사용 수준 간의 상관관계를 추론하여 입력 이미지에 나타난 운동근육 영역별로 운동근육의 사용 수준을 예측하는 단계; 및
예측된 운동근육별 사용 수준에 기초하여 상기 사용자의 운동강도를 보정하는 단계를 포함하는 것
을 특징으로 하는,
방법.
In a method of analyzing a user's exercise movements performed by a server to support decision-making related to musculoskeletal exercises and medical services and providing the user's exercise motion effectively in a visual aspect,
Obtaining a personal training video image representing at least one exercise motion of a personal training object from a server, and analyzing the exercise motion of the personal training object in the personal training video image to generate metadata of the personal training video image;
Receiving a video image of the user in which the user's exercise motion is captured from the server, wherein the user's exercise motion is the user's exercise among at least one exercise motion of the personal training object shown in the personal training video image selected by the user imitates the motor movement corresponding to the movement;
Generating posture information of the user by analyzing the user's exercise movements in the video image of the user, and generating exercise state information based on the posture information of the user;
In order to compare the exercise motion of the user and the corresponding exercise motion of the personal training object, generating exercise result information of the user by comparing the exercise state information of the user and the corresponding exercise state information of the personal training object. Step - the exercise state information corresponding to the personal training object is a result of analyzing the exercise motion of the personal training object corresponding to the exercise motion of the user described by the exercise state information of the user; and
Generating analysis data about the user's exercise movement based on at least one of information included in the user's exercise state information and information included in the user's exercise result information - the analysis data is displayed on the user's electronic device Used to create analysis screens; Including,
The step of generating the user's exercise result information is,
Calculating the user's difficulty level, heart rate, or calorie consumption by applying the similarity in motion between the user and the personal training object to the difficulty level, heart rate, or calorie consumption of the personal training object in the exercise result information of the personal training object;
determining the user's motion skeleton and motion joints shown in the user's video image based on the positions of each joint in the posture and the motion vector of the skeleton during a series of postures;
calculating the range of motion of the user's motion skeleton and the range of motion of the user's motion joints by tracking the position of the user's motion skeleton and the positions of the motion joints;
Detecting the user's exercise muscles among a plurality of muscles included in the user's body based on at least one of the position of the joint, the position of the skeleton, the movement vector of the joint, and the movement vector of the skeleton in the user's posture information during the unit operation. step; and
Comprising: calculating the user's exercise intensity applied to individual exercise muscles based on the difference between the posture information of the personal training object and the user's posture information,
The step of calculating the user's exercise intensity is,
When the user's posture matches the posture of the personal training object, calculating the exercise intensity of the personal training object as the user's exercise intensity; and
Comprising the step of correcting the user's exercise intensity calculated according to the user's posture based on at least one of the user's body profile data and the level of exercise muscle use,
The step of correcting the user's exercise intensity is to correct the user's exercise intensity in the user's exercise result information based on the user's exercise intensity according to the user's posture information and the level of exercise muscle use,
Obtaining information on the volume change of the muscle by analyzing the change in volume of the body part surrounding the exercise muscle in the input image;
Obtaining change information on the skin surface by analyzing skin changes on the motor muscle area indicating the motor muscles in the input image;
predicting the level of use of the exercise muscle for each exercise muscle area shown in the input image by inferring the correlation between the acquired volume change information of the exercise muscle and the skin surface change information and the use level of the corresponding muscle; and
Comprising the step of correcting the user's exercise intensity based on the predicted level of use for each exercise muscle.
Characterized by
method.
서버에 의해 수행되는, 근골격계 운동 및 의료 서비스 관련 의사결정을 지원하기 위해 사용자의 운동 동작을 분석하여 시각적 측면에서 효과적으로 제공하는 방법에 있어서,
서버에서 퍼스널 트래이닝 객체의 적어도 하나의 운동 동작을 나타낸 퍼스널 트래이닝 비디오 이미지를 획득하고, 상기 퍼스널 트래이닝 비디오 이미지에서 상기 퍼스널 트래이닝 객체의 운동 동작을 분석하여 상기 퍼스널 트래이닝 비디오 이미지의 메타데이터를 생성하는 단계 ;
상기 사용자의 운동 동작을 촬영한 사용자의 비디오 이미지를 상기 서버에서 수신하는 단계 - 상기 사용자의 운동 동작은 사용자가 선택한 퍼스널 트래이닝 비디오 이미지에 나타난 상기 퍼스널 트래이닝 객체의 적어도 하나의 운동 동작 중에서 상기 사용자의 운동 동작에 대응한 운동 동작을 모방한 것임;
상기 사용자의 비디오 이미지에서 상기 사용자의 운동 동작을 분석하여 상기 사용자의 자세정보를 생성하고, 상기 사용자의 자세정보에 기초하여 운동 상태 정보를 생성하는 단계;
상기 사용자의 운동 동작과 상기 퍼스널 트래이닝 객체의 대응한 운동 동작을 서로 비교하기 위해, 상기 사용자의 운동 상태 정보와 상기 퍼스널 트래이닝 객체의 대응한 운동 상태 정보를 비교하여 상기 사용자의 운동 결과 정보를 생성하는 단계 - 상기 퍼스널 트래이닝 객체의 대응한 운동 상태 정보는 상기 사용자의 운동 상태 정보가 서술하는 사용자의 운동 동작에 대응한 상기 퍼스널 트래이닝 객체의 운동 동작을 분석한 결과임; 및
상기 사용자의 운동 상태 정보 및 상기 사용자의 운동 결과 정보에 포함된 정보 중 적어도 하나의 정보에 기초하여 상기 사용자의 운동 동작에 대한 분석 자료를 생성하는 단계 - 상기 분석 자료는 사용자의 전자장치에서 표시되는 분석 화면을 생성하는데 이용됨; 를 포함하고,
상기 사용자의 운동 결과 정보를 생성하는 단계는,
상기 사용자와 퍼스널 트래이닝 객체 간의 동작 유사도를 상기 퍼스널 트래이닝 객체의 운동 결과 정보에서 퍼스널 트래이닝 객체의 난이도, 심박수, 또는 칼로리 소모량에 적용하여 사용자의 난이도, 심박수, 또는 칼로리 소모량을 산출하는 단계;
일련의 자세 동안 자세 각각의 관절의 위치, 및 골격의 움직임 벡터에 기초하여 사용자의 비디오 이미지에 나타난 사용자의 운동골격, 운동관절을 결정하는 단계;
상기 사용자의 운동골격의 위치, 운동관절의 위치를 추적하여 상기 사용자의 운동골격의 운동 범위, 상기 사용자의 운동관절의 운동 범위를 산출하는 단계;
단위 동작 동안 사용자의 자세정보 내 관절의 위치, 골격의 위치, 관절의 움직임 벡터 및 골격의 움직임 벡터 중 적어도 하나에 기초하여 상기 사용자의 신체에 포함된 다수의 근육 중 상기 사용자의 운동근육을 검출하는 단계; 및
상기 퍼스널 트래이닝 객체의 자세정보와 사용자의 자세정보 간의 차이에 기초하여 개별 운동근육에 가해지는 상기 사용자의 운동강도를 산출하는 단계;를 포함하고,
상기 사용자의 운동강도를 산출하는 단계는,
상기 사용자의 자세가 퍼스널 트래이닝 객체의 자세에 매칭하는 경우, 퍼스널 트래이닝 객체의 운동강도를 상기 사용자의 운동강도로 산출하는 단계; 및
상기 사용자의 자세에 따라 산출된 상기 사용자의 운동강도를 상기 사용자의 신체 프로필 데이터 및 운동근육의 사용 수준 중 적어도 하나에 기초하여 보정하는 단계를 포함하고,
상기 사용자의 운동강도를 보정하는 단계는, 상기 사용자의 자세정보에 따른 상기 사용자의 운동강도를 운동근육의 사용 수준에 기초하여, 상기 사용자의 운동결과 정보에서 상기 사용자의 운동강도를 보정하는 것으로서,
입력 이미지에서 운동근육을 둘러싼 신체 부분의 부피 변화를 분석하여 근육의 부피 변화 정보를 획득하는 단계;
상기 입력 이미지에서 운동근육을 가리키는 운동근육 영역 상의 피부 변화를 분석하여 피부 표면의 변화 정보를 획득하는 단계;
획득된 운동근육의 부피 변화 정보 및 상기 피부 표면의 변화 정보와 해당 근육의 사용 수준 간의 상관관계를 추론하여 입력 이미지에 나타난 운동근육 영역별로 운동근육의 사용 수준을 예측하는 단계; 및
예측된 운동근육별 사용 수준에 기초하여 상기 사용자의 운동강도를 보정하는 단계를 포함하고,
상기 운동근육의 사용 수준을 예측하는 단계는,
미리 학습된 사용근육 분석 모델을 이용하여 상기 운동근육의 사용 수준을 산출하는 것이고, 상기 사용근육 분석 모델은 입력 이미지에 시각적으로 표현된 근육 사용 정보를 분석하여 운동근육이 실제로 사용되었는지 여부를 나타내는, 상기 운동근육의 사용 수준을 산출하도록 미리 학습된 기계학습 모델로서, 동작을 나타낸 연속적인 입력 이미지에서 운동근육을 분할하고, 동작 동안 분할된 운동근육의 부피 변화를 산출하는 제1 분석 모델; 작을 나타낸 연속적인 입력 이미지에서 운동근육을 분할하고, 동작 동안 분할된 운동근육 내 피부 표면의 변화를 산출하는 제2 분석 모델; 및 제1 분석 모델의 분석 결과 및 제2 분석 모델의 분석 결과에 기초하여 객체의 근육에 대한 사용 수준을 산출하는 추론 모델을 포함하는 것을 특징으로 하는,
방법.
In a method of analyzing a user's exercise movements performed by a server to support decision-making related to musculoskeletal exercises and medical services and providing the user's exercise motion effectively in a visual aspect,
Obtaining a personal training video image representing at least one exercise motion of a personal training object from a server, and analyzing the exercise motion of the personal training object in the personal training video image to generate metadata of the personal training video image;
Receiving a video image of the user in which the user's exercise motion is captured from the server, wherein the user's exercise motion is the user's exercise among at least one exercise motion of the personal training object shown in the personal training video image selected by the user imitates the motor movement corresponding to the movement;
Generating posture information of the user by analyzing the user's exercise movements in the video image of the user, and generating exercise state information based on the posture information of the user;
In order to compare the exercise motion of the user and the corresponding exercise motion of the personal training object, generating exercise result information of the user by comparing the exercise state information of the user and the corresponding exercise state information of the personal training object. Step - the corresponding exercise state information of the personal training object is a result of analyzing the exercise motion of the personal training object corresponding to the user's exercise motion described by the user's exercise state information; and
Generating analysis data about the user's exercise movement based on at least one of information included in the user's exercise state information and the user's exercise result information - the analysis data is displayed on the user's electronic device Used to create analysis screens; Including,
The step of generating the user's exercise result information is,
Calculating the difficulty level, heart rate, or calorie consumption of the user by applying the similarity in motion between the user and the personal training object to the difficulty level, heart rate, or calorie consumption amount of the personal training object in the exercise result information of the personal training object;
determining the user's motion skeleton and motion joints shown in the user's video image based on the positions of each joint in each posture and the motion vector of the skeleton during a series of postures;
calculating the range of motion of the user's motion skeleton and the range of motion of the user's motion joints by tracking the position of the user's motion skeleton and the positions of the motion joints;
Detecting the user's exercise muscles among a plurality of muscles included in the user's body based on at least one of the position of the joint, the position of the skeleton, the movement vector of the joint, and the movement vector of the skeleton in the user's posture information during the unit operation. step; and
Comprising: calculating the user's exercise intensity applied to individual exercise muscles based on the difference between the posture information of the personal training object and the user's posture information,
The step of calculating the user's exercise intensity is,
When the user's posture matches the posture of the personal training object, calculating the exercise intensity of the personal training object as the user's exercise intensity; and
Comprising the step of correcting the user's exercise intensity calculated according to the user's posture based on at least one of the user's body profile data and exercise muscle usage level,
The step of correcting the user's exercise intensity is to correct the user's exercise intensity in the user's exercise result information based on the user's exercise intensity according to the user's posture information and the level of exercise muscle use,
Obtaining information on the volume change of the muscle by analyzing the change in volume of the body part surrounding the exercise muscle in the input image;
Obtaining change information on the skin surface by analyzing skin changes on the motor muscle area indicating the motor muscles in the input image;
predicting the level of use of the exercise muscle for each exercise muscle area shown in the input image by inferring the correlation between the acquired volume change information of the exercise muscle and the skin surface change information and the use level of the corresponding muscle; and
Comprising the step of correcting the user's exercise intensity based on the predicted level of use for each exercise muscle,
The step of predicting the level of use of the exercise muscles is,
The level of use of the exercise muscles is calculated using a pre-learned muscle use analysis model, and the muscle use analysis model analyzes muscle use information visually expressed in the input image to indicate whether the exercise muscles were actually used. A machine learning model previously trained to calculate the level of use of the exercise muscles, comprising: a first analysis model that segments exercise muscles in continuous input images showing motion and calculates volume changes of the divided exercise muscles during motion; a second analysis model that segments motor muscles from continuous input images representing small muscles and calculates changes in the skin surface within the segmented motor muscles during movement; And an inference model that calculates the level of use for the muscles of the object based on the analysis results of the first analysis model and the analysis results of the second analysis model,
method.
KR1020230118759A 2023-09-07 2023-09-07 System and method for effectively providing analysis results on the user's exercise behavior in visual aspect to support decision-making related to exercise and medical services KR102689063B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230118759A KR102689063B1 (en) 2023-09-07 2023-09-07 System and method for effectively providing analysis results on the user's exercise behavior in visual aspect to support decision-making related to exercise and medical services

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230118759A KR102689063B1 (en) 2023-09-07 2023-09-07 System and method for effectively providing analysis results on the user's exercise behavior in visual aspect to support decision-making related to exercise and medical services

Publications (1)

Publication Number Publication Date
KR102689063B1 true KR102689063B1 (en) 2024-07-29

Family

ID=92176248

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230118759A KR102689063B1 (en) 2023-09-07 2023-09-07 System and method for effectively providing analysis results on the user's exercise behavior in visual aspect to support decision-making related to exercise and medical services

Country Status (1)

Country Link
KR (1) KR102689063B1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160063126A (en) * 2014-11-26 2016-06-03 삼성전자주식회사 Exercise information providing method and electronic device supporting the same
KR101864987B1 (en) 2017-03-17 2018-06-07 울산대학교 산학협력단 Apparatus for providing training service and method thereof
KR20200024987A (en) * 2018-08-29 2020-03-10 정광 System and Method of customized mobile trainer service
KR20200129327A (en) * 2019-05-08 2020-11-18 아이픽셀 주식회사 Method of providing personal training service and system thereof
KR20220102009A (en) * 2021-01-12 2022-07-19 삼성전자주식회사 Electronic device and operation method of electronic device
KR20230088193A (en) * 2021-12-10 2023-06-19 주식회사 에이치엔에이치 Apparatus and method for exercise guidance
KR20230102011A (en) * 2021-12-29 2023-07-07 다름과이음 주식회사 Sports performance analysis and coaching system and the method thereof

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160063126A (en) * 2014-11-26 2016-06-03 삼성전자주식회사 Exercise information providing method and electronic device supporting the same
KR101864987B1 (en) 2017-03-17 2018-06-07 울산대학교 산학협력단 Apparatus for providing training service and method thereof
KR20200024987A (en) * 2018-08-29 2020-03-10 정광 System and Method of customized mobile trainer service
KR20200129327A (en) * 2019-05-08 2020-11-18 아이픽셀 주식회사 Method of providing personal training service and system thereof
KR20220102009A (en) * 2021-01-12 2022-07-19 삼성전자주식회사 Electronic device and operation method of electronic device
KR20230088193A (en) * 2021-12-10 2023-06-19 주식회사 에이치엔에이치 Apparatus and method for exercise guidance
KR20230102011A (en) * 2021-12-29 2023-07-07 다름과이음 주식회사 Sports performance analysis and coaching system and the method thereof

Similar Documents

Publication Publication Date Title
US11557215B2 (en) Classification of musculoskeletal form using machine learning model
US20210008413A1 (en) Interactive Personal Training System
Anand Thoutam et al. Yoga pose estimation and feedback generation using deep learning
Novatchkov et al. Artificial intelligence in sports on the example of weight training
US20220296966A1 (en) Cross-Platform and Connected Digital Fitness System
Xiao et al. Recognizing sports activities from video frames using deformable convolution and adaptive multiscale features
WO2019204771A1 (en) Physical movement analysis
Raza et al. LogRF: An approach to human pose estimation using skeleton landmarks for physiotherapy fitness exercise correction
Bačić et al. Computational intelligence for qualitative coaching diagnostics: Automated assessment of tennis swings to improve performance and safety
US20230285806A1 (en) Systems and methods for intelligent fitness solutions
US20240070854A1 (en) Tracking, analysing and assessment of huamn body movements using a subject-specific digital twin model of the human body
Yokota et al. Framework for visual-feedback training based on a modified self-organizing map to imitate complex motion
Kinger et al. Deep learning based yoga pose classification
Cao et al. Football players’ strength training method using image processing based on machine learning
KR102689063B1 (en) System and method for effectively providing analysis results on the user's exercise behavior in visual aspect to support decision-making related to exercise and medical services
Barberi et al. Posture Interactive Self Evaluation Algorithm Based on Computer Vision
Duczek et al. Continual learning from synthetic data for a humanoid exercise robot
Gharasuie et al. Performance monitoring for exercise movements using mobile cameras
Lei et al. Multi-skeleton structures graph convolutional network for action quality assessment in long videos
Liu et al. A Novel Model for Intelligent Pull‐Ups Test Based on Key Point Estimation of Human Body and Equipment
Xie et al. Lightweight Football Motion Recognition and Intensity Analysis Using Low‐Cost Wearable Sensors
Youssef et al. Analysis of the Squat Exercise from Visual Data.
Theofilou et al. Automatic assessment of Parkinson's patients' dyskinesia using non-invasive machine learning methods
Lin et al. Design of a Professional Sports Competition Adjudication System Based on Data Analysis and Action Recognition Algorithm
Singh et al. An Examination of Wearable Sensors and Video Data Capture for Human Exercise Classification

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant