KR102369945B1 - Device and method to discriminate excersice stance using pressure - Google Patents

Device and method to discriminate excersice stance using pressure Download PDF

Info

Publication number
KR102369945B1
KR102369945B1 KR1020200066993A KR20200066993A KR102369945B1 KR 102369945 B1 KR102369945 B1 KR 102369945B1 KR 1020200066993 A KR1020200066993 A KR 1020200066993A KR 20200066993 A KR20200066993 A KR 20200066993A KR 102369945 B1 KR102369945 B1 KR 102369945B1
Authority
KR
South Korea
Prior art keywords
pressure sensing
weight
pressure
candidate
data
Prior art date
Application number
KR1020200066993A
Other languages
Korean (ko)
Other versions
KR20210123177A (en
Inventor
장세윤
이상훈
이은호
Original Assignee
주식회사 마이다스에이치앤티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 마이다스에이치앤티 filed Critical 주식회사 마이다스에이치앤티
Publication of KR20210123177A publication Critical patent/KR20210123177A/en
Application granted granted Critical
Publication of KR102369945B1 publication Critical patent/KR102369945B1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • A63B24/0006Computerised comparison for qualitative assessment of motion sequences or the course of a movement
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/1036Measuring load distribution, e.g. podologic studies
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1116Determining posture transitions
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/48Other medical applications
    • A61B5/486Bio-feedback
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/36Training appliances or apparatus for special sports for golf
    • A63B69/3623Training appliances or apparatus for special sports for golf for driving
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/36Training appliances or apparatus for special sports for golf
    • A63B69/3661Mats for golf practice, e.g. mats having a simulated turf, a practice tee or a green area
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2562/00Details of sensors; Constructional details of sensor housings or probes; Accessories for sensors
    • A61B2562/02Details of sensors specially adapted for in-vivo measurements
    • A61B2562/0247Pressure sensors
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/50Force related parameters
    • A63B2220/56Pressure

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Surgery (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Veterinary Medicine (AREA)
  • Physics & Mathematics (AREA)
  • Public Health (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Animal Behavior & Ethology (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Dentistry (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Physiology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Force Measurement Appropriate To Specific Purposes (AREA)

Abstract

일 실시예에 따른 운동 자세 구분 방법은, 복수의 압력 감지 셀들의 각각에 가해지는 압력을 복수의 샘플링 포인트들에서 센싱함으로써, 압력 센싱 데이터를 획득하고, 획득된 압력 센싱 데이터에 기초하여 복수의 샘플링 포인트들 별로 사용자 양발에 대한 무게 밸런스를 산출하며, 무게 밸런스에 기초하여 압력 센싱 데이터로부터 후보 입력 데이터를 추출하고, 추출된 후보 입력 데이터로부터 자세 구분 모델에 기초하여 자세 구분 지점을 결정할 수 있습니다.The exercise posture classification method according to an embodiment includes sensing pressure applied to each of a plurality of pressure sensing cells at a plurality of sampling points, thereby obtaining pressure sensing data, and obtaining a plurality of samplings based on the obtained pressure sensing data. It is possible to calculate the weight balance for the user's feet for each point, extract candidate input data from the pressure sensing data based on the weight balance, and determine the posture classification point based on the posture classification model from the extracted candidate input data.

Figure R1020200066993
Figure R1020200066993

Description

압력을 이용한 운동 자세 구분 방법 및 장치{DEVICE AND METHOD TO DISCRIMINATE EXCERSICE STANCE USING PRESSURE}Method and device for classifying exercise posture using pressure

이하, 압력을 이용한 운동 시퀀스 구분 기술이 제공된다.Hereinafter, a technique for classifying an exercise sequence using pressure is provided.

일반적으로 골프는 다양한 지형으로 이루어진 각각의 필드에서 홀 컵 안에 적은 타수로 공을 집어넣는 스포츠 분야이며, 필드는 그린, 페어웨이, 벙커, 등으로 구분하고 있다. 이러한 골프 스포츠는 필드의 상황에 맞는 골프채와 스윙동작으로 원활하게 공을 보내기 위해서는 정확한 스윙자세 및 동작을 많이 연습이 이루어진다. 하지만, 다양한 필드 상황에 맞춰 개별적인 자세 및 스윙은 연습하기 위해서는 전문가가 옆에서 자세 및 스윙 동작을 교정하지 않는 이상 사용자가 직접적으로 자세를 교정하기 어렵다.In general, golf is a sports field in which a ball is put into a hole cup with a small number of strokes in each field composed of various terrain, and the field is divided into greens, fairways, bunkers, and the like. In these golf sports, in order to send the ball smoothly with a golf club and swing motion suitable for the situation of the field, a lot of practice is made in the correct swing posture and motion. However, in order to practice individual postures and swings according to various field situations, it is difficult for the user to directly correct the posture unless the expert corrects the posture and swing motion from the side.

사용자의 자세 교정을 보조하기 위하여, 스윙시 연속되는 자세 별로 전문가의 자세와 사용자의 자세를 구간 별로 비교하여 피드백이 제공될 필요가 있다.In order to assist the user in correcting the posture, it is necessary to compare the posture of the expert and the posture of the user for each consecutive posture during the swing and provide feedback by section.

일 실시예에 따른 운동 자세 구분 장치는 기계 학습 모델을 이용하여 양발의 무게를 추정하고, 무게 밸런스를 산출할 수 있다.The exercise posture classification apparatus according to an embodiment may estimate the weight of both feet using a machine learning model and calculate a weight balance.

일 실시예에 따른 운동 자세 구분 장치는 잠재적인 자세 구분 지점인 후보 포인트를 무게 밸런스에 기초하여 추출할 수 있다.The exercise posture classification apparatus according to an embodiment may extract a candidate point that is a potential posture classification point based on the weight balance.

일 실시예에 따른 운동 자세 구분 장치는 운동 자세 구간 사이의 자세 구분 지점을 식별할 수 있다.The exercise posture classification apparatus according to an embodiment may identify posture classification points between exercise posture sections.

일 실시예에 따른 운동 자세 구분 장치는 자세 구분 지점에 기초하여 사용자 및 전문가의 운동 기록을 조정할 수 있다.The exercise posture classification apparatus according to an embodiment may adjust the exercise records of the user and the expert based on the posture classification point.

일 실시예에 따른 프로세서에 의해 수행되는 운동 자세 구분 방법은, 복수의 압력 감지 셀들의 각각에 가해지는 압력을 복수의 샘플링 포인트들에서 센싱함으로써, 압력 센싱 데이터를 획득하는 단계; 상기 획득된 압력 센싱 데이터에 기초하여 상기 복수의 샘플링 포인트들 별로 사용자 양발에 대한 무게 밸런스를 산출하는 단계; 상기 무게 밸런스에 기초하여 상기 압력 센싱 데이터로부터 후보 입력 데이터를 추출하는 단계; 및 상기 추출된 후보 입력 데이터로부터 자세 구분 모델에 기초하여 자세 구분 지점을 결정하는 단계를 포함할 수 있다.An exercise posture classification method performed by a processor according to an embodiment includes: acquiring pressure sensing data by sensing pressure applied to each of a plurality of pressure sensing cells at a plurality of sampling points; calculating a weight balance for the user's feet for each of the plurality of sampling points based on the obtained pressure sensing data; extracting candidate input data from the pressure sensing data based on the weight balance; and determining a posture classification point based on a posture classification model from the extracted candidate input data.

상기 압력 센싱 데이터를 획득하는 단계는, 상기 복수의 샘플링 포인트들 별로 상기 복수의 압력 감지 셀들의 각각에 가해지는 압력 값들을 검출함으로써 압력 센싱 벡터를 생성하는 단계; 및 상기 복수의 샘플링 포인트들에 대한 압력 센싱 벡터들을 수집함으로써 상기 압력 센싱 데이터를 획득하는 단계를 포함할 수 있다.The acquiring of the pressure sensing data may include: generating a pressure sensing vector by detecting pressure values applied to each of the plurality of pressure sensing cells for each of the plurality of sampling points; and acquiring the pressure sensing data by collecting pressure sensing vectors for the plurality of sampling points.

상기 압력 센싱 데이터를 획득하는 단계는, 상기 복수의 압력 감지 셀들 중 제1 영역에 속하는 압력 감지 셀을 이용하여 제1 측 압력 데이터를 획득하는 단계; 및 상기 복수의 압력 감지 셀들 중 제2 영역에 속하는 압력 감지 셀을 이용하여 제2 측 압력 데이터를 획득하는 단계를 포함할 수 있다.The acquiring of the pressure sensing data may include: acquiring first side pressure data by using a pressure sensing cell belonging to a first area among the plurality of pressure sensing cells; and acquiring second-side pressure data by using a pressure sensing cell belonging to a second region among the plurality of pressure sensing cells.

상기 제1 측 압력 데이터를 획득하는 단계는, 상기 복수의 압력 감지 셀들에 의해 감지되는 압력 분포에 기초하여 상기 제1 영역을 결정하는 단계를 포함하고, 상기 제2 측 압력 데이터를 획득하는 단계는, 상기 압력 분포에 기초하여 상기 제2 영역을 결정하는 단계를 포함할 수 있다.The acquiring of the first-side pressure data includes determining the first area based on a pressure distribution sensed by the plurality of pressure sensing cells, and the acquiring of the second-side pressure data includes: , determining the second region based on the pressure distribution.

상기 무게 밸런스를 산출하는 단계는, 제1 영역에 대한 제1 무게 및 제2 영역에 대한 제2 무게를 산출하는 단계; 및 상기 제1 무게 및 상기 제2 무게의 합산 무게 대비 상기 제1 무게 및 상기 제2 무게 중 한 무게의 비율을 상기 무게 밸런스로서 산출하는 단계를 포함할 수 있다.The calculating of the weight balance may include: calculating a first weight for the first area and a second weight for the second area; and calculating a ratio of one of the first weight and the second weight to the sum of the first weight and the second weight as the weight balance.

상기 제1 영역에 대한 제1 무게 및 제2 영역에 대한 제2 무게를 산출하는 단계는, 상기 압력 센싱 데이터로부터 개별 샘플링 포인트마다 상기 제1 영역에 대해 복수의 제1 무게 관련 입력 값들 및 상기 제2 영역에 대해 복수의 제2 무게 관련 입력 값들을 산출하는 단계; 및 무게 추정 모델을 이용하여 상기 복수의 제1 무게 관련 입력 값들로부터 상기 제1 무게를 추정하고, 상기 무게 추정 모델을 이용하여 상기 복수의 제2 무게 관련 입력 값들로부터 상기 제2 무게를 추정하는 단계를 포함할 수 있다.The calculating of the first weight for the first region and the second weight for the second region may include a plurality of first weight-related input values for the first region and the second weight for each individual sampling point from the pressure sensing data. calculating a plurality of second weight-related input values for the second region; and estimating the first weight from the plurality of first weight-related input values using a weight estimation model, and estimating the second weight from the plurality of second weight-related input values using the weight estimation model. may include

상기 제1 영역에 대해 복수의 제1 무게 관련 입력 값들 및 상기 제2 영역에 대해 복수의 제2 무게 관련 입력 값들을 산출하는 단계는, 상기 제1 영역에서 감지된 압력 값들의 제1 총합, 상기 제1 총합의 제곱근, 상기 제1 총합의 변화량, 및 상기 제1 영역 내 관심 영역에서 감지된 압력 값들의 제1 합산 값 중 적어도 둘을 상기 복수의 제1 무게 관련 입력 값들로서 산출하는 단계; 및 상기 제2 영역에서 감지된 압력 값들의 제2 총합, 상기 제2 총합의 제곱근, 상기 제2 총합의 변화량, 및 상기 제2 영역 내 관심 영역에서 감지된 압력 값들의 제2 합산 값 중 적어도 둘을 상기 복수의 제2 무게 관련 입력 값들로서 산출하는 단계를 포함할 수 있다.The calculating of a plurality of first weight-related input values for the first region and a plurality of second weight-related input values for the second region may include: a first sum of pressure values sensed in the first region; calculating, as the plurality of first weight-related input values, at least two of a square root of a first total sum, a change amount of the first total sum, and a first sum value of pressure values sensed in a region of interest within the first region; and at least two of a second sum of pressure values sensed in the second region, a square root of the second sum, a change amount of the second sum, and a second sum of pressure values sensed in the region of interest in the second region. and calculating as the plurality of second weight-related input values.

상기 무게 밸런스를 산출하는 단계는, 대상 샘플링 포인트에서 산출된 무게 밸런스 값 및 상기 대상 샘플링 포인트의 이전 샘플링 포인트에서 산출된 무게 밸런스 값 간의 차이가 최소 밸런스 차이 미만인 경우에 응답하여, 상기 대상 샘플링 포인트의 데이터를 배제하는 단계를 포함할 수 있다.The calculating of the weight balance may include, in response to a case in which a difference between a weight balance value calculated at the target sampling point and a weight balance value calculated at a previous sampling point of the target sampling point is less than a minimum balance difference, of the target sampling point. excluding data.

상기 후보 입력 데이터를 추출하는 단계는, 상기 무게 밸런스에 기초하여 상기 복수의 샘플링 포인트들 중 후보 포인트를 결정하는 단계; 및 상기 후보 포인트에 기초하여 상기 압력 센싱 데이터로부터 상기 후보 입력 데이터를 추출하는 단계를 포함할 수 있다.The extracting of the candidate input data may include: determining a candidate point from among the plurality of sampling points based on the weight balance; and extracting the candidate input data from the pressure sensing data based on the candidate point.

상기 후보 포인트를 결정하는 단계는, 인접한 샘플링 포인트들에서의 무게 밸런스 값들 간의 차이에 기초하여 상기 후보 포인트를 결정하는 단계를 포함할 수 있다.The determining of the candidate point may include determining the candidate point based on a difference between weight balance values at adjacent sampling points.

상기 후보 포인트를 결정하는 단계는, 대상 샘플링 포인트에서의 무게 밸런스 값 및 상기 대상 샘플링 포인트의 이전 샘플링 포인트에서의 무게 밸런스 값 간의 차이가 임계 밸런스 차이를 초과하는 경우에 응답하여, 상기 대상 샘플링 포인트를 후보 포인트로 결정하는 단계를 포함할 수 있다.The determining of the candidate point may include selecting the target sampling point in response to a case in which a difference between a weight balance value at the target sampling point and a weight balance value at a previous sampling point of the target sampling point exceeds a threshold balance difference. It may include determining the candidate points.

상기 후보 포인트를 결정하는 단계는, 상기 복수의 샘플링 포인트들에서의 무게 밸런스 값의 변화율에 기초하여 상기 후보 포인트를 결정하는 단계를 포함할 수 있다.The determining of the candidate point may include determining the candidate point based on a change rate of a weight balance value at the plurality of sampling points.

상기 후보 포인트를 결정하는 단계는, 상기 무게 밸런스 값의 기울기를 상기 복수의 샘플링 포인트들에 대해 산출하는 단계; 및 이전 샘플링 포인트에서의 기울기 부호에 반대되는 기울기 부호가 나타나는 대상 샘플링 포인트를 상기 후보 포인트로 결정하는 단계를 포함할 수 있다.The determining of the candidate point may include: calculating a gradient of the weight balance value for the plurality of sampling points; and determining, as the candidate point, a target sampling point in which a slope sign opposite to the slope sign in the previous sampling point appears.

상기 후보 포인트에 기초하여 상기 압력 센싱 데이터로부터 상기 후보 입력 데이터를 추출하는 단계는, 상기 압력 센싱 데이터에서, 상기 후보 포인트를 포함하는 샘플링 구간 내의 압력 센싱 벡터를 상기 후보 입력 데이터로서 추출하는 단계를 포함할 수 있다.The extracting of the candidate input data from the pressure sensing data based on the candidate point may include extracting, from the pressure sensing data, a pressure sensing vector in a sampling section including the candidate point as the candidate input data. can do.

상기 추출된 후보 입력 데이터로부터 자세 구분 모델에 기초하여 자세 구분 지점을 결정하는 단계는, 상기 자세 구분 모델을 이용하여, 후보 포인트에 대응하는 상기 후보 입력 데이터 및 상기 후보 포인트에서의 무게 밸런스로부터, 복수의 자세 구분 지점들의 각각에 대해 상기 후보 포인트가 해당 자세 구분 지점에 속할 가능성을 지시하는 점수를 산출하는 단계; 및 상기 산출된 점수에 기초하여 상기 후보 포인트가 복수의 자세 구분 지점들 중 한 구분 지점인 지 여부를 결정하는 단계를 포함할 수 있다.The step of determining the posture classification point based on the posture classification model from the extracted candidate input data includes: using the posture classification model, from the candidate input data corresponding to the candidate point and the weight balance at the candidate point, calculating a score indicating a possibility that the candidate point belongs to the corresponding posture classification point for each of the posture classification points of ; and determining whether the candidate point is one of a plurality of posture classification points based on the calculated score.

상기 후보 포인트가 해당 자세 구분 지점에 속할 가능성을 지시하는 점수를 산출하는 단계는, 상기 후보 입력 데이터로부터 특징 추출 레이어를 이용하여 특징 데이터를 추출하는 단계; 및 상기 특징 데이터를 추출한 결과 및 상기 무게 밸런스로부터 상기 후보 포인트가 상기 복수의 자세 구분 지점들의 각각에 속할 가능성을 지시하는 점수를 산출하는 단계를 포함할 수 있다.Calculating a score indicating a possibility that the candidate point belongs to a corresponding posture classification point may include: extracting feature data from the candidate input data using a feature extraction layer; and calculating a score indicating a possibility that the candidate point belongs to each of the plurality of posture classification points from the result of extracting the feature data and the weight balance.

운동 자세 구분 방법은 상기 결정된 자세 구분 지점에 기초하여 생성된 운동 기록 컨텐츠를 사용자에게 제공하는 단계를 더 포함할 수 있다.The exercise posture classification method may further include providing the exercise record content generated based on the determined posture classification point to the user.

상기 운동 기록 컨텐츠를 사용자에게 제공하는 단계는, 상기 결정된 자세 구분 지점을 기준으로 상기 사용자의 운동 기록 컨텐츠의 자세 구간 및 기준 운동 컨텐츠의 자세 구간 중 적어도 하나의 길이를 조정하는 단계; 및 상기 자세 구간의 조정에 의해 동기화된 상기 운동 기록 컨텐츠 및 상기 기준 운동 컨텐츠를 재생하는 단계를 포함할 수 있다.The step of providing the exercise record content to the user may include adjusting a length of at least one of a posture section of the user's exercise record content and a posture section of the reference exercise content based on the determined posture classification point; and reproducing the exercise record content and the reference exercise content synchronized by the adjustment of the posture section.

일 실시예에 따른 운동 자세 구분 장치는, 복수의 압력 감지 셀들을 포함하고, 사용자의 양발에 의해 각 압력 감지 셀에 가해지는 압력을 센싱하는 압력 센서; 복수의 샘플링 포인트들에 대해 각 압력 감지 셀에 의해 감지된 압력 값으로부터 생성된 압력 센싱 벡터들을 포함하는 압력 센싱 데이터를 획득하고, 상기 획득된 압력 센싱 데이터에 기초하여 상기 양발에 대한 무게 밸런스를 상기 복수의 샘플링 포인트들 별로 산출하며, 상기 무게 밸런스에 기초하여 상기 복수의 샘플링 포인트들 중 후보 포인트를 결정하고, 상기 후보 포인트에 기초하여 상기 압력 센싱 데이터로부터 후보 입력 데이터를 추출하며, 상기 추출된 후보 입력 데이터로부터 자세 구분 모델에 기초하여 자세 구분 지점을 결정하는 프로세서; 및 상기 자세 구분 모델을 저장하는 메모리를 포함할 수 있다.An exercise posture classification apparatus according to an embodiment includes a pressure sensor including a plurality of pressure sensing cells and sensing a pressure applied to each pressure sensing cell by a user's feet; Obtaining pressure sensing data including pressure sensing vectors generated from the pressure value sensed by each pressure sensing cell for a plurality of sampling points, and determining the weight balance for the feet based on the obtained pressure sensing data Calculating for each of a plurality of sampling points, determining a candidate point from among the plurality of sampling points based on the weight balance, extracting candidate input data from the pressure sensing data based on the candidate point, and the extracted candidate a processor for determining a posture classification point based on the posture classification model from the input data; and a memory for storing the posture classification model.

일 실시예에 따른 운동 자세 구분 장치는 기계 학습 모델을 이용하여 양발의 무게를 추정함으로써 센서 드리프트 및 포화에 의한 오차를 최소화하고 보다 정확한 무게 밸런스를 산출할 수 있다.The exercise posture classification apparatus according to an embodiment may minimize errors due to sensor drift and saturation by estimating the weight of both feet using a machine learning model, and may calculate a more accurate weight balance.

일 실시예에 따른 운동 자세 구분 장치는 잠재적인 자세 구분 지점인 후보 포인트를 무게 밸런스에 기초하여 추출함으로써, 무게 중심 이동에 의한 자세 전환의 후보군을 정확하게 검출할 수 있다.The apparatus for classifying an exercise posture according to an embodiment may accurately detect a candidate group for posture change due to movement of the center of gravity by extracting a candidate point, which is a potential posture classifying point, based on the weight balance.

일 실시예에 따른 운동 자세 구분 장치는 운동 자세 구간 사이의 자세 구분 지점을 기계 학습 모델을 이용하여 식별함으로써, 운동 자세의 전환 지점을 정확하게 결정할 수 있다.The apparatus for classifying an exercise posture according to an embodiment may accurately determine a change point of an exercise posture by identifying a posture classification point between exercise posture sections using a machine learning model.

일 실시예에 따른 운동 자세 구분 장치는 자세 구분 지점에 기초하여 사용자 및 전문가의 운동 기록을 조정함으로써, 무게 중심 이동을 기준으로 보다 직관적인 자세 교정 피드백을 제공할 수 있다.The exercise posture classification apparatus according to an embodiment may provide more intuitive posture correction feedback based on the movement of the center of gravity by adjusting the exercise records of the user and the expert based on the posture classification point.

도 1은 일 실시예에 따른 운동 자세 구분 장치의 구성을 도시한 블록도이다.
도 2는 일 실시예에 따른 운동 자세 구분 방법을 도시한 흐름도이다.
도 3은 일 실시예에 따른 압력 센서로부터 획득되는 압력 센싱 데이터를 설명한다.
도 4는 일 실시예에 따른 압력 센싱 데이터의 시각적 피드백을 설명한다.
도 5는 일 실시예에 따른 무게 추정을 설명한다.
도 6a 및 도 6b는 도 5에서 설명한 무게 추정에 의한 센서 보정을 설명한다.
도 7은 일 실시예에 따른 영역 별 무게 추정 및 무게 밸런스를 설명한다.
도 8은 일 실시예에 따른 후보 포인트 추출 및 자세 구분을 설명한다.
도 9는 일 실시예에 따른 자세 구분 모델을 설명한다.
도 10은 일 실시예에 따른 자세 구분 결과에 따른 운동 기록 데이터의 제공을 설명한다.
도 11 및 도 12는 일 실시예에 따른 자세 구분 결과에 따른 운동 기록 데이터의 조정 및 조정된 운동 기록 데이터의 출력을 설명한다.
도 13은 일 실시예에 따른 압력 센싱 데이터 및 이미지를 이용한 자세 구분을 설명한다.
1 is a block diagram illustrating a configuration of an exercise posture classification device according to an exemplary embodiment.
2 is a flowchart illustrating a method of classifying an exercise posture according to an exemplary embodiment.
3 illustrates pressure sensing data obtained from a pressure sensor according to an exemplary embodiment.
4 illustrates visual feedback of pressure sensing data according to an exemplary embodiment.
5 illustrates weight estimation according to an embodiment.
6A and 6B illustrate sensor calibration by weight estimation described in FIG. 5 .
7 illustrates weight estimation and weight balance for each area according to an exemplary embodiment.
8 illustrates extraction of candidate points and classification of postures according to an embodiment.
9 illustrates a posture classification model according to an embodiment.
10 illustrates provision of exercise record data according to a posture classification result according to an exemplary embodiment.
11 and 12 describe adjustment of exercise record data according to a posture classification result and output of adjusted exercise record data according to an exemplary embodiment.
13 illustrates posture classification using pressure sensing data and images according to an exemplary embodiment.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes may be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It should be understood that all modifications, equivalents and substitutes for the embodiments are included in the scope of the rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것 이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for the purpose of description only, and should not be construed as limiting. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present specification, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or a combination thereof described in the specification exists, but one or more other It should be understood that this does not preclude the possibility of addition or presence of features or numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components are given the same reference numerals regardless of the reference numerals, and the overlapping description thereof will be omitted. In describing the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description thereof will be omitted.

또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다. In addition, in describing the components of the embodiment, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only for distinguishing the elements from other elements, and the essence, order, or order of the elements are not limited by the terms. When it is described that a component is "connected", "coupled" or "connected" to another component, the component may be directly connected or connected to the other component, but another component is between each component. It will be understood that may also be "connected", "coupled" or "connected".

어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.Components included in one embodiment and components having a common function will be described using the same names in other embodiments. Unless otherwise stated, descriptions described in one embodiment may be applied to other embodiments as well, and detailed descriptions within the overlapping range will be omitted.

도 1은 일 실시예에 따른 운동 자세 구분 장치의 구성을 도시한 블록도이다.1 is a block diagram illustrating a configuration of an exercise posture classification device according to an exemplary embodiment.

일 실시예에 따른 운동 자세 구분 장치(100)는 사용자(190)의 운동 시퀀스를 따른 운동 자세를 구분할 수 있다. 본 명세서에서, 운동 시퀀스는 사용자(190)의 운동 행위를 단계 별로 구별한 시퀀스로서, 연속되는 일련의 운동 자세들을 포함할 수 있다. 예를 들어, 운동 시퀀스는 골프의 스윙 시퀀스로서, 스윙 시퀀스는 준비 자세(address stance), 스윙 자세(swing stance), 타격 자세(impact stance), 및 마무리 자세(finish stance)를 포함할 수 있다. 다만, 스윙 시퀀스의 자세 구분을 상술한 바로 한정하는 것은 아니고, 설계에 따라 달라질 수 있다. 아울러, 운동 행위는 골프의 스윙 행위 뿐만 아니라, 테니스의 스윙 행위, 스쿼시의 스윙 행위, 요가 포즈, 필라테스 포즈, 자세 교정, 및 발판(예를 들어, 매트)을 이용한 리듬 게임 수행 등 신체를 이용한 다양한 행위를 포함할 수 있다.The exercise posture classification apparatus 100 according to an embodiment may classify the exercise posture according to the exercise sequence of the user 190 . In the present specification, the exercise sequence is a sequence in which the exercise behavior of the user 190 is distinguished for each step, and may include a continuous series of exercise postures. For example, the exercise sequence is a swing sequence of golf, and the swing sequence may include an address stance, a swing stance, an impact stance, and a finish stance. However, the classification of the posture of the swing sequence is not limited to the above description, and may vary depending on the design. In addition, the exercise action includes not only the swing action of golf, but also the swing action of tennis, the swing action of squash, a yoga pose, a Pilates pose, posture correction, and performing a rhythm game using a footrest (eg, a mat). may include actions.

운동 자세 구분 장치(100)는 압력 센서(110), 프로세서(120), 메모리(130), 통신부(140), 및 입출력 인터페이스(150)를 포함할 수 있다. 도 1에 도시된 바와 같이 운동 자세 구분 장치(100)는 매트 형태의 하우징 내에 수용될 수 있고, 매트의 상판은 사용자(190)를 지지하며, 매트의 하판은 지면에 접할 수 있다. 다만, 이는 설명의 편의를 위한 것으로 이로 한정하는 것은 아니다.The exercise posture classification apparatus 100 may include a pressure sensor 110 , a processor 120 , a memory 130 , a communication unit 140 , and an input/output interface 150 . As shown in FIG. 1 , the exercise posture classification device 100 may be accommodated in a mat-shaped housing, an upper plate of the mat supports the user 190 , and a lower plate of the mat may be in contact with the ground. However, this is for convenience of description and is not limited thereto.

압력 센서(110)는 복수의 압력 감지 셀들을 포함하고, 각 압력 감지 셀에 의해 감지되는 압력 값을 출력할 수 있다. 예를 들어, 압력 센서(110)는 매트 내에 수용될 수 있고, 매트의 상판에 가해지는 압력을 감지할 수 있다. 따라서 사용자(190)가 압력 센서(110) 상에 위치되는 경우, 사용자(190)의 무게가 압력 감지 셀 별로 분산되어 측정될 수 있다. 압력 센서(110)는 사용자(190)의 양발에 의해 가해지는 압력을 구분하여 감지할 수도 있다. 따라서 압력 센서(110)는 사용자(190)의 운동 행위 동안 양발에 의해 가해지는 압력의 변화를 모니터링할 수 있다. 압력 센서(110)는 하기 도 3에서 상세히 설명한다.The pressure sensor 110 may include a plurality of pressure sensing cells, and may output a pressure value sensed by each pressure sensing cell. For example, the pressure sensor 110 may be accommodated in the mat, it may sense the pressure applied to the top plate of the mat. Accordingly, when the user 190 is positioned on the pressure sensor 110 , the weight of the user 190 may be dispersed and measured for each pressure sensing cell. The pressure sensor 110 may detect the pressure applied by both feet of the user 190 separately. Accordingly, the pressure sensor 110 may monitor a change in pressure applied by both feet during the exercise action of the user 190 . The pressure sensor 110 will be described in detail with reference to FIG. 3 below.

프로세서(120)는 압력 센서(110)에 의해 감지되는 압력 값에 관한 압력 센싱 데이터를 이용하여 사용자(190)의 양발의 무게 밸런스를 추정하고, 추정된 무게 밸런스 및 압력 센싱 데이터를 이용하여 자세 구분 지점을 결정할 수 있다. 자세 구분 지점은 상술한 운동 시퀀스에서 운동 자세들이 구분되는 지점을 나타낼 수 있다. 프로세서(120)에 의한 무게 밸런스 추정은 하기 도 7에서, 자세 구분 지점의 결정은 하기 도 8에서 설명한다.The processor 120 estimates the weight balance of both feet of the user 190 using the pressure sensing data regarding the pressure value sensed by the pressure sensor 110 , and classifies the posture using the estimated weight balance and the pressure sensing data point can be determined. The posture classification point may indicate a point at which exercise postures are distinguished in the above-described exercise sequence. Estimation of weight balance by the processor 120 will be described below with reference to FIG. 7 , and determination of a posture classification point will be described with reference to FIG. 8 below.

메모리(130)는 운동 자세 구분 방법을 수행하기 위해 요구되는 데이터를 임시적으로 또는 영구적으로 저장할 수 있다. 예를 들어, 메모리(130)는 무게 추정 모델 및 자세 구분 모델을 저장할 수 있다. 무게 추정 모델은 압력 센싱 데이터로부터 무게를 추정하도록 설계된 모델을 나타낼 수 있다. 자세 구분 모델은 무게 밸런스 및 압력 센싱 값을 이용하여 자세 구분 지점을 추정하도록 설계된 모델을 나타낼 수 있다. 또한, 메모리(130)는 압력 센서(110)에 의해 센싱되는 일련의 압력 값들(예를 들어, 후술하는 압력 센싱 벡터 및 압력 센싱 데이터 등)을 저장할 수도 있다.The memory 130 may temporarily or permanently store data required to perform the exercise posture classification method. For example, the memory 130 may store a weight estimation model and a posture classification model. The weight estimation model may represent a model designed to estimate weight from pressure sensing data. The posture classification model may represent a model designed to estimate the posture classification point by using the weight balance and pressure sensing values. Also, the memory 130 may store a series of pressure values sensed by the pressure sensor 110 (eg, a pressure sensing vector and pressure sensing data to be described later).

통신부(140)는 외부 장치로 운동 기록 컨텐츠를 유선 또는 무선 통신을 통해 전달할 수 있다. 운동 기록 컨텐츠는 압력 센싱 데이터, 무게 밸런스, 압력 피드백 데이터(예를 들어, 무게 분포를 시각화한 컨텐츠 데이터 등), 및 운동 영상 데이터(예를 들어, 운동 행위 동안 사용자(190)를 촬영한 영상 등)를 포함할 수 있다. 출력부로서 예를 들어, 디스플레이를 갖는 외부 장치는, 수신된 운동 기록 컨텐츠를 시각화할 수 있다.The communication unit 140 may transmit the exercise record content to an external device through wired or wireless communication. The exercise record content includes pressure sensing data, weight balance, pressure feedback data (eg, content data visualizing weight distribution, etc.), and exercise image data (eg, an image captured by the user 190 during an exercise activity). ) may be included. An external device having, for example, a display as an output, can visualize the received athletic record content.

입출력 인터페이스(150)는 사용자(190)로부터 입력을 수신하고, 사용자(190)에게 출력을 제공하는 모듈을 나타낼 수 있다. 예를 들어, 입출력 인터페이스(150)는 디스플레이를 포함할 수 있고, 운동 기록 컨텐츠를 시각화할 수 있다.The input/output interface 150 may represent a module that receives an input from the user 190 and provides an output to the user 190 . For example, the input/output interface 150 may include a display and may visualize the exercise log content.

도 2는 일 실시예에 따른 운동 자세 구분 방법을 도시한 흐름도이다.2 is a flowchart illustrating a method of classifying an exercise posture according to an exemplary embodiment.

우선, 단계(210)에서 프로세서는 복수의 압력 감지 셀들의 각각에 가해지는 압력을 복수의 샘플링 포인트들에서 센싱함으로써, 압력 센싱 데이터를 획득할 수 있다. 예를 들어, 압력 센서는 복수의 압력 감지 셀들의 각각에 가해지는 압력 값을 감지할 수 있다. 프로세서는 복수의 샘플링 포인트들마다 복수의 압력 감지 셀들의 각각에 대응하는 압력 값들을 수신할 수 있다. 샘플링 포인트는 샘플링 레이트(sampling rate)에 따라 결정되는 시간 간격마다 압력 값이 주기적으로 샘플링되는 시점(time point)을 나타낼 수 있다. 샘플링 포인트는 샘플링 시점이라고도 나타낼 수 있다. 샘플링 레이트가 예를 들어, 10 Hz이면, 프로세서는 압력 센서의 각 압력 감지 셀에 대해 초당 10번 압력 값을 수신할 수 있다. 프로세서는 시간 흐름에 따라 압력 값들을 수집함으로써 압력 센싱 데이터를 생성할 수 있다. 압력 센싱 데이터는 하기 도 3에서 설명한다.First, in step 210 , the processor may acquire pressure sensing data by sensing pressure applied to each of the plurality of pressure sensing cells at a plurality of sampling points. For example, the pressure sensor may sense a pressure value applied to each of the plurality of pressure sensing cells. The processor may receive pressure values corresponding to each of the plurality of pressure sensing cells for each of the plurality of sampling points. The sampling point may indicate a time point at which a pressure value is periodically sampled at a time interval determined according to a sampling rate. The sampling point may also be referred to as a sampling point. If the sampling rate is, for example, 10 Hz, the processor may receive a pressure value 10 times per second for each pressure sensing cell of the pressure sensor. The processor may generate pressure sensing data by collecting pressure values over time. The pressure sensing data will be described with reference to FIG. 3 below.

그리고 단계(220)에서 프로세서는 획득된 압력 센싱 데이터에 기초하여 양발에 대한 무게 밸런스를 복수의 샘플링 포인트들 별로 산출할 수 있다. 프로세서는 일측 발(예를 들어, 왼쪽 발)에 의한 무게 및 타측 발(예를 들어, 오른쪽 발)에 의한 무게를 추정하고, 양발의 밸런스를 지시하는 무게 밸런스를 산출할 수 있다. 무게 밸런스는 예시적으로 전체 무게 대비 왼쪽 발에 의한 무게의 비율일 수 있으나, 이로 한정하는 것은 아니다. 무게 밸런스는 하기 도 7에서 설명한다.And in step 220, the processor may calculate the weight balance for each of the plurality of sampling points based on the obtained pressure sensing data. The processor may estimate the weight of one foot (eg, the left foot) and the weight of the other foot (eg, the right foot), and calculate a weight balance indicating the balance of both feet. The weight balance may be, for example, a ratio of the weight of the left foot to the total weight, but is not limited thereto. The weight balance will be described with reference to FIG. 7 below.

이어서 단계(230)에서 프로세서는 무게 밸런스에 기초하여 압력 센싱 데이터로부터 후보 입력 데이터를 추출할 수 있다. 일 실시예에 따르면 프로세서는 무게 밸런스에 기초하여 복수의 샘플링 포인트들 중 후보 포인트를 결정할 수 있다. 프로세서는 후보 포인트에 기초하여 압력 센싱 데이터로부터 후보 입력 데이터를 추출할 수 있다. 후보 포인트는 자세 구분 지점일 잠재적인 가능성이 있는 샘플링 포인트를 나타낼 수 있다. 자세 구분 지점은 운동 시퀀스에 따라 한 운동 자세로부터 다음 운동 자세로 전환되는 지점을 나타낼 수 있다. 후보 입력 데이터의 추출은 하기 도 8에서 설명한다.Subsequently, in step 230 , the processor may extract candidate input data from the pressure sensing data based on the weight balance. According to an embodiment, the processor may determine a candidate point from among the plurality of sampling points based on the weight balance. The processor may extract candidate input data from the pressure sensing data based on the candidate point. The candidate point may represent a potential sampling point that is a posture classification point. The posture classification point may indicate a point at which one exercise posture is switched to the next exercise posture according to an exercise sequence. Extraction of the candidate input data will be described with reference to FIG. 8 below.

그리고 단계(240)에서 프로세서는 추출된 후보 입력 데이터로부터 자세 구분 모델에 기초하여 자세 구분 지점을 결정할 수 있다. 프로세서는 후보 입력 데이터 및 대응하는 무게 밸런스에 대해 자세 구분 모델에 따른 연산을 수행함으로써, 자세 구분 결과를 산출할 수 있다. 자세 구분 결과는 후보 입력 데이터에 의해 지시되는 후보 포인트가 각 자세 구분 지점에 속할 가능성에 관한 정보를 포함할 수 있다. 예를 들어, 자세 구분 결과는 후보 포인트가 복수의 자세 구분 지점들의 각각에 속할 가능성을 지시하는 점수들을 포함할 수 있다. 프로세서는 각 후보 포인트에 대해 산출된 자세 구분 결과에 기초하여, 해당 후보 포인트가 속하는 자세 구분 지점을 식별할 수 있다. 자세 구분 지점의 결정은 하기 도 8에서 설명한다.And in step 240, the processor may determine the posture classification point based on the posture classification model from the extracted candidate input data. The processor may calculate a posture classification result by performing an operation according to the posture classification model on the candidate input data and the corresponding weight balance. The posture classification result may include information on a possibility that the candidate point indicated by the candidate input data belongs to each posture classification point. For example, the posture classification result may include scores indicating a possibility that the candidate point belongs to each of the plurality of posture classification points. The processor may identify a posture classification point to which the corresponding candidate point belongs based on the posture classification result calculated for each candidate point. The determination of the posture classification point will be described with reference to FIG. 8 below.

도 3은 일 실시예에 따른 압력 센서로부터 획득되는 압력 센싱 데이터를 설명한다.3 illustrates pressure sensing data obtained from a pressure sensor according to an exemplary embodiment.

일 실시예에 따른 압력 센서는 사용자에 의한 압력 발생이 감지되는 경우에 응답하여, 지속적으로 압력을 모니터링할 수 있다. 도 3에 도시된 바와 같이 압력 센서는 단위 영역 별로 압력 값들을 개별적으로 감지할 수 있다. 압력 센서(310)는 복수의 압력 감지 셀들(319)을 포함할 수 있다. 예를 들어, 복수의 압력 감지 셀들(319)은 매트(mat) 내에 수용되고, 매트의 평면을 따라 배치될 수 있다. 압력 감지 셀들(391)의 각각은 단위 영역마다 배치될 수 있다. 단위 영역에 배치된 개별 압력 감지 셀(391)을 단위 압력 감지 셀이라고도 나타낼 수 있다. 도 3에서 압력 감지 셀들(319)이 그리드 패턴으로 매트 평면에 평행하게 2차원 평면을 따라 배치되는 것을 도시하였으나, 이로 한정하는 것은 아니다. 압력 감지 셀들(319)은 매트의 길이 축을 따라 1차원으로 나열될 수도 있다. 압력 감지 셀(319)이 배치되는 단위 영역도 정사각형으로 도시되었으나, 이로 한정하는 것은 아니고, 설계에 따라 단위 영역의 형상은 달라질 수 있다.The pressure sensor according to an embodiment may continuously monitor the pressure in response to detection of pressure generation by the user. As shown in FIG. 3 , the pressure sensor may individually detect pressure values for each unit area. The pressure sensor 310 may include a plurality of pressure sensing cells 319 . For example, the plurality of pressure sensing cells 319 may be accommodated in a mat and disposed along a plane of the mat. Each of the pressure sensing cells 391 may be disposed for each unit area. The individual pressure sensing cells 391 disposed in the unit area may also be referred to as unit pressure sensing cells. Although FIG. 3 illustrates that the pressure sensing cells 319 are disposed along a two-dimensional plane parallel to the mat plane in a grid pattern, the present invention is not limited thereto. The pressure sensing cells 319 may be arranged in one dimension along the length axis of the mat. Although the unit area in which the pressure sensing cell 319 is disposed is also shown as a square, the present invention is not limited thereto, and the shape of the unit area may vary according to design.

압력 센서(310)는 복수의 영역들로 분류될 수 있다. 예를 들어, 도 3에 도시된 바와 같이 압력 센서(310)는 제1 영역(311)에 속하는 압력 감지 셀들 및 제2 영역(312)에 속하는 압력 감지 셀들을 포함할 수 있다. 제1 영역(311)은 제1 측 발에 대응하는 영역으로서 압력 센서(310)에서 기준선을 기준으로 제1 측에 대응하는 영역을 나타낼 수 있다. 제2 영역(312)은 제2 측 발에 대응하는 영역으로서 기준선을 기준으로 제1 측의 반대편인 제2 측에 대응하는 영역을 나타낼 수 있다. 사용자는 제1 영역(311)에 제1 측 발(예를 들어, 왼쪽 발)을 위치시키고, 제2 영역(312)에 제2 측 발(예를 들어, 오른쪽 발)을 위치시킬 수 있다.The pressure sensor 310 may be classified into a plurality of regions. For example, as shown in FIG. 3 , the pressure sensor 310 may include pressure sensing cells belonging to the first region 311 and pressure sensing cells belonging to the second region 312 . The first area 311 is an area corresponding to the first side foot and may indicate an area corresponding to the first side of the pressure sensor 310 with respect to the reference line. The second area 312 is an area corresponding to the second side foot and may indicate an area corresponding to the second side opposite to the first side with respect to the reference line. The user may place a first side foot (eg, a left foot) in the first area 311 and a second side foot (eg, a right foot) in the second area 312 .

다만, 제1 영역(311) 및 제2 영역(312)의 결정을 이로 한정하는 것은 아니고, 제1 영역 및 제2 영역은 압력 센서에서 검출되는 압력 센싱 분포에 따라 동적으로 결정될 수도 있다. 일 실시예에 따르면 프로세서는 복수의 압력 감지 셀들에 의해 감지되는 압력 값들의 분포(이하, '압력 분포')에 기초하여 제1 영역 및 제2 영역을 결정할 수 있다. 예를 들어, 프로세서는 압력 센서(310)에 가해지는 압력 분포를 검출하고, 압력 분포에 기초하여 서로 인접한 위치(position)에서 압력 값이 센싱된 셀들을 클러스터링할 수 있다. 압력 분포는 압력 값이 검출된 압력 감지 셀(319)의 공간적 위치들(예를 들어, 압력 센서(310)에 대응하는 평면 상의 위치) 및 각 위치에서의 압력 세기(예를 들어, 압력 값)를 나타낼 수 있다. 사용자가 압력 센서(310) 상에 위치할 경우, 압력 분포에서 2개의 발에 의한 2개의 압력 그룹들이 나타날 수 있다. 압력 그룹은 압력이 검출되는 위치들 중 서로 인접한 위치의 압력 값들의 집합을 나타낼 수 있다. 프로세서는 각 압력 그룹의 평면상 중심 위치를 기준으로 각각 제1 영역(311) 및 제2 영역(312)을 동적으로 결정할 수 있다. 또한, 본 명세서에서는 설명의 편의를 위하여 압력 센서(310)가 2개의 영역들로 구분되는 예시를 설명하였으나, 이로 한정하는 것은 아니고, 2개 이상의 영역들로 분류될 수도 있다.However, the determination of the first area 311 and the second area 312 is not limited thereto, and the first area and the second area may be dynamically determined according to a pressure sensing distribution detected by the pressure sensor. According to an embodiment, the processor may determine the first area and the second area based on distributions of pressure values sensed by the plurality of pressure sensing cells (hereinafter, 'pressure distribution'). For example, the processor may detect a pressure distribution applied to the pressure sensor 310 and cluster cells in which pressure values are sensed at positions adjacent to each other based on the pressure distribution. The pressure distribution includes spatial positions (eg, a position on a plane corresponding to the pressure sensor 310 ) of the pressure sensing cell 319 at which the pressure value was detected and the pressure intensity at each position (eg, the pressure value) can indicate When the user is positioned on the pressure sensor 310, two pressure groups by two feet may appear in the pressure distribution. The pressure group may represent a set of pressure values of adjacent positions among positions where pressure is detected. The processor may dynamically determine the first region 311 and the second region 312, respectively, based on the planar center position of each pressure group. Also, in the present specification, an example in which the pressure sensor 310 is divided into two regions has been described for convenience of description, but the present disclosure is not limited thereto, and may be classified into two or more regions.

압력 감지 셀(319)은 매트에 가해지는 압력을 센싱함으로써 압력 데이터를 생성할 수 있다. 개별 압력 감지 셀(319)은 매시간 프레임마다 미리 결정된 샘플링 레이트로 압력 값을 센싱할 수 있다. 압력 센서(310)는 압력 감지 셀(319)의 각각 감지되는 압력 값들을 프로세서로 전달할 수 있다.The pressure sensing cell 319 may generate pressure data by sensing the pressure applied to the mat. Individual pressure sensing cells 319 may sense pressure values at a predetermined sampling rate every time frame. The pressure sensor 310 may transmit the pressure values sensed by the pressure sensing cell 319 to the processor.

일 실시예에 따른 프로세서는 복수의 샘플링 포인트들 별로 복수의 압력 감지 셀들(319)의 각각에 가해지는 압력 값들을 검출함으로써 압력 센싱 벡터를 생성할 수 있다. 프로세서는 복수의 샘플링 포인트들에 대한 압력 센싱 벡터들을 수집함으로써 압력 센싱 데이터를 획득할 수 있다. 압력 센싱 데이터는 복수의 샘플링 포인트들에서의 압력 센싱 벡터들을 포함할 수 있다. 예를 들어, 압력 센싱 데이터는 T개의 샘플링 포인트들에 대한 압력 센싱 벡터들을 포함할 수 있다. T는 사용자에 의한 일련의 행위가 수행되는 동안 압력 센서(310)에 의해 수집되는 샘플링 포인트들의 총 개수로서, 예를 들어, T는 1이상의 정수일 수 있다. T는 압력 값 수집 시간 및 샘플링 레이트에 따라 결정될 수 있다. 복수의 샘플링 포인트들 중 한 샘플링 포인트에 대한 압력 센싱 벡터는 해당 샘플링 포인트에서 복수의 압력 감지 셀들(pressure detecting cells)에 의해 센싱된 압력 값들(압력 샘플링 값들)을 포함할 수 있다. 예시적으로 일측 발에 대한 압력 센싱 벡터는 아래와 같이 나타낼 수 있다.The processor according to an embodiment may generate a pressure sensing vector by detecting pressure values applied to each of the plurality of pressure sensing cells 319 for each of the plurality of sampling points. The processor may acquire pressure sensing data by collecting pressure sensing vectors for a plurality of sampling points. The pressure sensing data may include pressure sensing vectors at a plurality of sampling points. For example, the pressure sensing data may include pressure sensing vectors for T sampling points. T is the total number of sampling points collected by the pressure sensor 310 while a series of actions by the user are performed, for example, T may be an integer of 1 or more. T may be determined according to the pressure value collection time and sampling rate. The pressure sensing vector for one sampling point among the plurality of sampling points may include pressure values (pressure sampling values) sensed by a plurality of pressure detecting cells at the corresponding sampling point. Exemplarily, the pressure sensing vector for one foot may be expressed as follows.

[수학식 1][Equation 1]

Figure 112020057124971-pat00001
Figure 112020057124971-pat00001

Xt는 t번째 샘플링 포인트에 대한 압력 센싱 벡터로서, N x M 차원의 벡터일 수 있다. N, 및 M은 각각 1이상의 정수일 수 있다. t는 1이상 T이하의 정수일 수 있다. x(t) ij는 t번째 샘플링 포인트에서 i번째 행의 j번째 열에 배치된 압력 센싱 셀에 의해 센싱된 압력 값을 나타낼 수 있다. i는 1이상 N이하의 정수, j는 1이상 M이하의 정수일 수 있다. 압력 센싱 데이터는 T개의 압력 센싱 벡터들을 포함하고, 각 압력 센싱 벡터는 N x M개의 압력 값들을 포함할 수 있다. 압력 센싱 데이터는 총 T x N x M개의 압력 값들을 포함할 수 있다.X t is a pressure sensing vector for the t-th sampling point, and may be an N x M-dimensional vector. Each of N and M may be an integer of 1 or more. t may be an integer of 1 or more and T or less. x (t) ij may represent a pressure value sensed by the pressure sensing cell disposed in the j-th column of the i-th row at the t-th sampling point. i may be an integer of 1 or more and N or less, and j may be an integer of 1 or more and M or less. The pressure sensing data may include T pressure sensing vectors, and each pressure sensing vector may include N×M pressure values. The pressure sensing data may include a total of T x N x M pressure values.

도 3은 제1 측의 압력 센싱 데이터(321) 및 제2 측의 압력 센싱 데이터(322)를 도시한다. 프로세서는 복수의 압력 감지 셀들(319) 중 제1 영역(311)에 속하는 압력 감지 셀을 이용하여 제1 측의 압력 데이터(321)를 획득할 수 있다. 프로세서는 복수의 압력 감지 셀들(319) 중 제2 영역(312)에 속하는 압력 감지 셀을 이용하여 제2 측 압력 데이터(322)를 획득할 수 있다. 제1 측의 압력 센싱 데이터(321)는 제1 영역(311)의 압력 감지 셀들로부터 감지된 압력 값들에 관한 제1 압력 센싱 벡터들(XL,1 내지 XL,T)을 포함할 수 있다. 제2 측의 압력 센싱 데이터(322)는 제2 영역(312)의 압력 감지 셀들로부터 감지된 압력 값들에 관한 제2 압력 센싱 벡터들(XR,1 내지 XR,T)을 포함할 수 있다. 제1 압력 센싱 벡터들(XL,1 내지 XL,T) 및 제2 압력 센싱 벡터들(XR,1 내지 XR,T)은 상술한 수학식 1과 같이 표현될 수 있다. 제1 압력 센싱 벡터들(XL,1 내지 XL,T)은 사용자의 왼쪽 발에 의한 압력 값들, 제2 압력 센싱 벡터들(XR,1 내지 XR,T)은 사용자의 오른쪽 발에 의한 압력 값들을 나타낼 수 있으나, 사용자의 발 위치에 따라 달라질 수도 있다.3 shows pressure sensing data 321 of a first side and pressure sensing data 322 of a second side. The processor may acquire the first-side pressure data 321 by using a pressure sensing cell belonging to the first region 311 among the plurality of pressure sensing cells 319 . The processor may acquire the second side pressure data 322 by using a pressure sensing cell belonging to the second region 312 among the plurality of pressure sensing cells 319 . The pressure sensing data 321 of the first side may include first pressure sensing vectors X L,1 to X L,T regarding pressure values sensed from the pressure sensing cells of the first region 311 . . The pressure sensing data 322 of the second side may include second pressure sensing vectors X R,1 to X R,T related to pressure values sensed from the pressure sensing cells of the second region 312 . . The first pressure sensing vectors X L,1 to X L,T and the second pressure sensing vectors X R,1 to X R,T may be expressed as in Equation 1 above. The first pressure sensing vectors (X L,1 to X L,T ) are pressure values by the user's left foot, and the second pressure sensing vectors (X R,1 to X R,T ) are the pressure values by the user's right foot. may indicate pressure values by the user, but may vary depending on the position of the user's foot.

참고로, 압력 센서(310) 및/또는 프로세서는 모든 샘플링 포인트에서 압력 센싱 벡터를 수집하는 대신, 일부 샘플링 포인트의 압력 센싱 벡터를 배제할 수도 있다. 예를 들어, 압력 센서(310) 및/또는 프로세서는 직전 및/또는 이전 샘플링 포인트에서의 압력 센싱 벡터(예를 들어, 이전 압력 벡터)와 현재 샘플링 포인트에서의 압력 센싱 벡터(예를 들어, 현재 압력 벡터)가 동일 및/또는 유사한 경우 현재 압력 벡터의 수집을 스킵(skip)할 수 있다. 예를 들어, 프로세서는 이전 압력 벡터 및 현재 압력 벡터 간의 차이가 임계 벡터 차이 미만인 경우에 응답하여, 현재 압력 벡터의 수집을 스킵할 수 있다. 프로세서는 이전 압력 벡터 및 현재 압력 벡터 간의 벡터 거리(예를 들어, 유클리드 거리)를 상술한 차이로서 산출할 수 있다. 다만, 벡터 간의 차이를 상술한 바로 한정하는 것은 아니고, 설계에 따라 변경될 수도 있다. 따라서 운동 자세 판별 장치는 압력 센싱 데이터에 의해 차지되는 메모리 크기를 절감하고, 연산량을 감소시킬 수도 있다.For reference, the pressure sensor 310 and/or the processor may exclude pressure sensing vectors of some sampling points instead of collecting pressure sensing vectors at all sampling points. For example, the pressure sensor 310 and/or the processor may determine a pressure sensing vector at the immediately preceding and/or previous sampling point (eg, a previous pressure vector) and a pressure sensing vector at the current sampling point (eg, a current pressure vectors) are the same and/or similar, the collection of current pressure vectors may be skipped. For example, the processor may skip collection of the current pressure vector in response to a case where the difference between the previous pressure vector and the current pressure vector is less than a threshold vector difference. The processor may calculate a vector distance (eg, Euclidean distance) between the previous pressure vector and the current pressure vector as the above-described difference. However, the difference between vectors is not limited as described above, and may be changed according to design. Accordingly, the exercise posture determining apparatus may reduce the memory size occupied by the pressure sensing data and reduce the amount of computation.

도 4는 일 실시예에 따른 압력 센싱 데이터의 시각적 피드백을 설명한다.4 illustrates visual feedback of pressure sensing data according to an exemplary embodiment.

일 실시예에 따르면 프로세서는 통신부 및/또는 입출력 인터페이스로 압력 센싱 데이터 및/또는 무게 밸런스를 제공할 수 있다. 운동 자세 구분 장치는 압력 센싱 데이터, 무게 밸런스, 및 운동 가이드 정보를 함께 사용자에게 제공할 수 있다. 운동 자세 구분 장치는 압력 센싱 데이터에 기초하여 매 샘플링 포인트 별로 압력 분포를 지시하는 그래픽 객체(410)를 생성할 수 있다. 또한, 운동 자세 구분 장치는 해당 샘플링 포인트에 대응하는 무게 밸런스를 지시하는 그래픽 객체(420)도 생성할 수 있다. 무게 밸런스는 도 4에서 백분율(예를 들어, 왼쪽 발에 의한 무게 49.5%, 오른쪽 발에 의한 무게 50.5%)로 도시되었으나, 이로 한정하는 것은 아니고, 0이상 1이하의 값을 갖는 실수로 표현될 수도 있다. 운동 자세 구분 장치는 해당 타이밍에서 요구되는 밸런스에 관한 그래픽 객체(430)를 같이 제공할 수 있다. 운동 자세 구분 장치의 입출력 인터페이스가 디스플레이를 포함하는 경우, 디스플레이가 상술한 그래픽 객체들(410, 420, 430)를 시각화하여 출력할 수 있다.According to an embodiment, the processor may provide pressure sensing data and/or weight balance to the communication unit and/or the input/output interface. The exercise posture classification apparatus may provide pressure sensing data, weight balance, and exercise guide information together to the user. The exercise posture classification apparatus may generate a graphic object 410 indicating pressure distribution for each sampling point based on the pressure sensing data. In addition, the exercise posture classification apparatus may also generate a graphic object 420 indicating a weight balance corresponding to the corresponding sampling point. The weight balance is shown as a percentage (for example, 49.5% of the weight by the left foot, 50.5% of the weight by the right foot) in FIG. 4, but is not limited thereto, and may be expressed as a real number having a value of 0 or more and 1 or less. may be The exercise posture classification apparatus may provide a graphic object 430 related to the balance required at the corresponding timing together. When the input/output interface of the exercise posture classification device includes a display, the display may visualize and output the graphic objects 410 , 420 , and 430 described above.

또한, 통신부는 외부 장치로 압력 센싱 데이터 및/또는 무게 밸런스를 송신할 수 있다. 외부 장치의 디스플레이는 압력 센싱 데이터에 기초하여 양발의 압력 분포를 시각화하여 출력할 수 있다. 외부 장치의 디스플레이는 무게 밸런스를 시각화하여 출력할 수도 있다. 예를 들어, 외부 장치의 프로세서가 압력 분포를 지시하는 그래픽 객체(410), 무게 밸런스를 지시하는 그래픽 객체(420), 및 각 타이밍에서 요구되는 밸런스에 관한 그래픽 객체(430)를 생성하고, 디스플레이를 통해 출력할 수 있다.Also, the communication unit may transmit pressure sensing data and/or weight balance to an external device. The display of the external device may visualize and output the pressure distribution of both feet based on the pressure sensing data. The display of the external device may visualize and output the weight balance. For example, the processor of the external device generates a graphic object 410 indicating pressure distribution, a graphic object 420 indicating weight balance, and a graphic object 430 regarding balance required at each timing, and displays It can be output through

압력 분포를 지시하는 그래픽 객체(410)는 압력 센서 상의 위치들에 대응하는 칸들(spaces)을 포함할 수 있다. 예를 들어, 압력 센서가 2 x N x M개의 압력 감지 셀들을 포함하는 경우, 그래픽 객체(410)는 2 x N x M개의 칸들을 포함할 수 있다. 도 4에서 개별 칸은 사각형으로 도시되었으나, 이로 한정하는 것을 아니다. 그래픽 객체(410)에 지정된 그래픽 영역 내에서 개별 칸의 그래픽 위치는 압력 감지 셀의 압력 센서 상 공간적 위치에 대응하고, 개별 칸에 할당된 색상은 해당 압력 감지 셀에 의해 감지된 압력 세기에 대응할 수 있다. 압력 감지 셀의 압력 감지 범위는 복수의 세기 구간들로 분류될 수 있고, 각 세기 구간에 색상이 매핑될 수 있다. 세기 구간에는 해당 세기 구간의 크기에 비례하는 채도를 갖는 색상이 매핑될 수 있다. 다만, 세기 구간 별 매핑되는 색상의 채도, 명도, 휴(hue)는 설계에 따라 달라질 수 있다. 예를 들어, 압력 감지 셀에 의해 감지된 압력 세기가 압력 감지 범위의 한 세기 구간에 속하는 경우, 프로세서는 해당 압력 감지 셀에 대응하는 칸에 대해 해당 세기 구간에 대응하는 색상을 결정할 수 있다. 프로세서는 복수의 압력 감지 셀들의 각각에 대응하는 칸에 세기 구간 별 색상을 결정함으로써 그래픽 객체(410)를 생성할 수 있다.The graphic object 410 indicating the pressure distribution may include spaces corresponding to positions on the pressure sensor. For example, when the pressure sensor includes 2×N×M pressure sensing cells, the graphic object 410 may include 2×N×M cells. In FIG. 4 , individual cells are illustrated as squares, but the present invention is not limited thereto. The graphic position of the individual compartment within the graphic area specified in the graphic object 410 corresponds to the spatial position on the pressure sensor of the pressure sensing cell, and the color assigned to the individual compartment may correspond to the pressure intensity sensed by the corresponding pressure sensing cell. there is. The pressure sensing range of the pressure sensing cell may be classified into a plurality of intensity sections, and a color may be mapped to each intensity section. A color having a saturation proportional to the size of the corresponding intensity section may be mapped to the intensity section. However, the saturation, brightness, and hue of colors mapped for each intensity section may vary depending on the design. For example, when the pressure intensity sensed by the pressure sensing cell belongs to one intensity section of the pressure sensing range, the processor may determine a color corresponding to the intensity section for a cell corresponding to the pressure sensing cell. The processor may generate the graphic object 410 by determining a color for each intensity section in a cell corresponding to each of the plurality of pressure sensing cells.

무게 밸런스를 지시하는 그래픽 객체(420)는 해당 샘플링 구간에서 사용자의 무게 밸런스 값을 나타낼 수 있다. 예를 들어, 그래픽 객체(420)는 전체 무게 대비 제1 측 발에 의한 제1 무게의 비율 및 전체 무게 대비 제2 측 발에 의한 제2 무게의 비율을 포함할 수 있다.The graphic object 420 indicating the weight balance may indicate the user's weight balance value in the corresponding sampling section. For example, the graphic object 420 may include a ratio of the first weight by the first side foot to the total weight and a ratio of the second weight by the second side foot to the total weight.

밸런스에 관한 그래픽 객체(430)는 각 자세 구간 별 전문가의 밸런스 값을 포함할 수 있다.The graphic object 430 related to balance may include an expert's balance value for each posture section.

도 5는 일 실시예에 따른 무게 추정을 설명한다.5 illustrates weight estimation according to an embodiment.

프로세서는 압력 센싱 데이터로부터 양발에 의한 무게를 각각 추정할 수 있다. 도 5에서는 일측 발에 의한 무게 추정을 우선 설명한다.The processor may estimate the weight by both feet from the pressure sensing data, respectively. In FIG. 5 , weight estimation by one foot is first described.

일 실시예에 따르면 프로세서는 압력 센싱 데이터를 전처리하여 복수의 무게 관련 입력 값들을 생성할 수 있다. 프로세서는 생성된 복수의 무게 관련 입력 값들로부터 무게 추정 모델(520)에 기초하여 무게를 추정할 수 있다. 예를 들어, 프로세서는 무게를 추정하도록 설계된 무게 추정 모델(520)(예를 들어, 뉴럴 네트워크로서, 복수의 히든 레이어를 포함하는 다층 퍼셉트론 모델 등)에 의한 연산을 복수의 입력 데이터에 대해 시행함으로써 무게 추정 결과를 산출할 수 있다.According to an embodiment, the processor may pre-process the pressure sensing data to generate a plurality of weight-related input values. The processor may estimate the weight based on the weight estimation model 520 from the plurality of generated weight-related input values. For example, the processor performs an operation by the weight estimation model 520 (eg, a neural network, a multi-layer perceptron model including a plurality of hidden layers, etc.) designed to estimate the weight on a plurality of input data. A weight estimation result can be calculated.

프로세서는 복수의 입력 데이터로서, 일측 발에 의한 압력 값들의 총합(511), 총합의 제곱근(512), 총합의 변화량(513), 및 관심 영역 별 합산 값(514) 중 적어도 하나를 생성할 수 있다. 총합의 변화량(513)은 임의의 샘플링 포인트에서 일측 발에 의한 압력 값들의 총합 및 그 이전 샘플링 포인트(예를 들어, 직전 샘플링 포인트)에서 일측 발에 의한 압력 값들의 총합 간의 차이일 수 있다. 총합의 변화량(513)은 변화량이 매우 크거나 0이 되는 경우 배제될 수 있다.As a plurality of input data, the processor may generate at least one of a sum of pressure values by one foot (511), a square root of the sum (512), a change amount of the total (513), and a sum of values for each region of interest (514). there is. The total change amount 513 may be the difference between the sum of the pressure values by the one foot at any sampling point and the sum of the pressure values by the one foot at the previous sampling point (eg, the previous sampling point). The change amount 513 of the total may be excluded when the change amount is very large or becomes zero.

관심 영역은 일측 발에 대응하는 영역의 중심부를 기준으로 정의되는 영역일 수 있으나, 이로 한정하는 것은 아니다. 관심 영역은 한 개일 수도 있지만 여러 개일 수도 있다. 일측 영역에 포함된 압력 감지 셀들이 개수가 N x M개(예를 들어, 16x8)이면 중앙에 위치된 일부 셀들로 설정될 수 있다. 관심 영역은 사람의 발 형상의 윤곽을 가지는 영역일 수 있으나, 이로 한정하는 것은 아니다. 압력 센서(510) 상의 영역 별로 센싱되는 압력 값에 차이가 발생할 수 있는데, 운동 자세 구분 장치는 관심 영역 내의 압력 값의 합산을 산출하여 무게 추정 모델(520)에 입력함으로써 공간적 위치 별 센싱 값 차이를 무게 추정에 반영할 수 있다. 따라서 운동 자세 구분 장치는 사용자 발에 의한 직접적인 압력 외 압력 센서(510)의 상하판에 의한 간접적인 압력을 구분할 수 있다. 참고로, 일측 영역(예를 들어, 왼쪽 발 영역) 내에서 관심 영역은 단일 영역일 수 있으나, 이로 한정하는 것은 아니고, 복수로 구성될 수도 있다. 관심 영역이 복수인 경우, 관심 영역 별로 합산 값이 산출될 수도 있다.The region of interest may be a region defined based on the center of the region corresponding to one foot, but is not limited thereto. The region of interest may be one or may be multiple. When the number of pressure sensing cells included in one area is N×M (eg, 16×8), some cells located in the center may be set. The region of interest may be a region having an outline of a human foot shape, but is not limited thereto. A difference may occur in the pressure value sensed for each region on the pressure sensor 510, and the exercise posture classification device calculates the sum of the pressure values in the region of interest and inputs it into the weight estimation model 520 to calculate the difference in the sensed value for each spatial location. This can be reflected in the weight estimation. Therefore, the exercise posture discrimination device can distinguish the indirect pressure by the upper and lower plates of the pressure sensor 510 in addition to the direct pressure by the user's feet. For reference, the region of interest in one region (eg, the left foot region) may be a single region, but is not limited thereto, and may include a plurality of regions. When there are a plurality of regions of interest, a sum value may be calculated for each region of interest.

운동 자세 구분 장치는 무게 추정 모델(520)에 기초하여, 복수의 입력 데이터로부터 추정된 무게(590)를 산출할 수 있다. 무게 추정 모델(520)은 복수의 입력 데이터로부터 무게를 추정하도록 설계된 모델로서, 예를 들어, 기계 학습 구조일 수 있고, 뉴럴 네트워크(500)를 포함할 수 있다.The exercise posture classification apparatus may calculate an estimated weight 590 from a plurality of input data based on the weight estimation model 520 . The weight estimation model 520 is a model designed to estimate weight from a plurality of input data, and may be, for example, a machine learning structure, and may include a neural network 500 .

뉴럴 네트워크(neural network)(500)는 딥 뉴럴 네트워크(DNN, deep neural network)의 예시에 해당할 수 있다. DNN은 완전 연결 네트워크(fully connected network), 딥 컨볼루셔널 네트워크(deep convolutional network) 및 리커런트 뉴럴 네트워크(recurrent neural network) 등을 포함할 수 있다. 뉴럴 네트워크(500)는 딥 러닝에 기반하여 비선형적 관계에 있는 입력 데이터 및 출력 데이터를 서로 매핑함으로써 다양한 작업(예를 들어, 무게 추정, 자세 분류 등)을 수행할 수 있다. 딥 러닝은 빅 데이터 세트로부터 기계 학습 기법으로 지도식(supervised) 또는 비지도식(unsupervised) 학습을 통해 입력 데이터 및 출력 데이터를 서로 매핑할 수 있다. 도 5를 참조하면, 뉴럴 네트워크(500)는 입력 레이어(501), 히든 레이어(502) 및 출력 레이어(503)를 포함한다. 입력 레이어(501), 히든 레이어(502) 및 출력 레이어(503)는 각각 복수의 인공 노드들을 포함한다. 도 9에 도시된 자세 구분 모델은 컨볼루셔널 네트워크를 포함할 수 있다.The neural network 500 may correspond to an example of a deep neural network (DNN). The DNN may include a fully connected network, a deep convolutional network, and a recurrent neural network. The neural network 500 may perform various tasks (eg, weight estimation, posture classification, etc.) by mapping input data and output data in a non-linear relationship to each other based on deep learning. Deep learning is a machine learning technique from big data sets that can map input data and output data to each other through supervised or unsupervised learning. Referring to FIG. 5 , the neural network 500 includes an input layer 501 , a hidden layer 502 , and an output layer 503 . The input layer 501 , the hidden layer 502 , and the output layer 503 each include a plurality of artificial nodes. The posture classification model shown in FIG. 9 may include a convolutional network.

도 5에는 설명의 편의를 위해 히든 레이어(502)가 3개의 레이어를 포함하는 것으로 도시되었나, 히든 레이어(502)는 다양한 수의 레이어들을 포함할 수 있다. 예를 들어, 히든 레이어(502)는 2개의 레이어를 포함할 수도 있다. 또한, 도 5에서 뉴럴 네트워크(500)는 입력 데이터를 수신하기 위한 별도의 입력 레이어를 포함하는 것으로 도시되었으나, 입력 데이터가 히든 레이어(502)에 직접 입력될 수 있다. 뉴럴 네트워크(500)에서 출력 레이어(503)를 제외한 레이어들의 인공 노드들은 출력 신호를 전송하기 위한 링크들을 통해 다음 레이어의 인공 노드들과 연결될 수 있다. 링크들의 수는 다음 레이어에 포함된 인공 노드들의 수에 대응할 수 있다.Although the hidden layer 502 is illustrated as including three layers in FIG. 5 for convenience of description, the hidden layer 502 may include various numbers of layers. For example, the hidden layer 502 may include two layers. Also, although the neural network 500 is illustrated as including a separate input layer for receiving input data in FIG. 5 , the input data may be directly input to the hidden layer 502 . In the neural network 500 , artificial nodes of layers other than the output layer 503 may be connected to artificial nodes of a next layer through links for transmitting an output signal. The number of links may correspond to the number of artificial nodes included in the next layer.

히든 레이어(502)에 포함된 각각의 인공 노드에는 이전 레이어에 포함된 인공 노드들의 가중된 입력들(weighted inputs)에 관한 활성 함수(activation function)의 출력이 입력될 수 있다. 가중된 입력은 이전 레이어에 포함된 인공 노드들의 입력에 가중치(weight)가 곱해진 것이다. 가중치는 뉴럴 네트워크(500)의 파라미터로 지칭될 수 있다. 활성 함수는 시그모이드(sigmoid), 하이퍼볼릭 탄젠트(hyperbolic tangent; tanh) 및 렐루(rectified linear unit; ReLU)를 포함할 수 있고, 활성 함수에 의해 뉴럴 네트워크(500)에 비선형성이 형성될 수 있다. 출력 레이어(503)에 포함된 각각의 인공 노드에는 이전 레이어에 포함된 인공 노드들의 가중된 입력들이 입력될 수 있다.An output of an activation function with respect to weighted inputs of artificial nodes included in a previous layer may be input to each artificial node included in the hidden layer 502 . The weighted input is obtained by multiplying the input of the artificial nodes included in the previous layer by a weight. The weight may be referred to as a parameter of the neural network 500 . The activation function may include a sigmoid, a hyperbolic tangent (tanh), and a rectified linear unit (ReLU), and nonlinearity may be formed in the neural network 500 by the activation function. there is. Weighted inputs of artificial nodes included in the previous layer may be input to each artificial node included in the output layer 503 .

일 실시예에 따르면 뉴럴 네트워크(500)는 입력 데이터가 주어지면 히든 레이어(502)를 거쳐 출력 레이어(503)에서 회귀 값을 출력할 수 있다. 예를 들어, 도 5에 도시된 무게 추정 모델(520)은 출력 레이어(503)에서 추정된 무게(590)에 대응하는 회귀 값을 출력할 수 있다. 참고로, 아래 도 9에서 후술하는 자세 구분 모델은 식별하고자 하는 클래스의 수에 따라 함수 값을 계산하고, 이들 중 가장 큰 값을 갖는 클래스를 식별할 수 있다.According to an embodiment, when input data is given, the neural network 500 may output a regression value from the output layer 503 through the hidden layer 502 . For example, the weight estimation model 520 illustrated in FIG. 5 may output a regression value corresponding to the weight 590 estimated in the output layer 503 . For reference, the posture classification model described later in FIG. 9 may calculate a function value according to the number of classes to be identified, and identify a class having the largest value among them.

뉴럴 네트워크(500)의 폭과 깊이가 충분히 크면 임의의 함수를 구현할 수 있을 만큼의 용량(capacity)을 가질 수 있다. 뉴럴 네트워크(500)가 적절한 트레이닝 과정을 통해 충분히 많은 트레이닝 데이터를 학습하면, 최적의 인식 성능을 달성할 수 있다. 무게 추정 모델(520)에 포함된 뉴럴 네트워크(500)의 파라미터(예를 들어, 연결 가중치)는 미리 트레이닝될 수 있다. 예를 들어, 트레이닝 입력 및 트레이닝 출력(예를 들어, 참값(ground truth))의 쌍으로 된 트레이닝 데이터에 기초하여 뉴럴 네트워크(500)의 파라미터가 업데이트될 수 있다. 트레이닝 도중의 뉴럴 네트워크(500)는 임시 네크워크로 지칭될 수 있다. 임시 네트워크는 트레이닝 입력을 각 레이어에 전파시켜 임시 출력을 산출할 수 있고, 임시 네트워크의 파라미터는 임시 출력 및 트레이닝 출력 간의 손실이 감소되도록 업데이트될 수 있다. 상술한 트레이닝의 반복에 의해 손실이 목표에 도달하면 트레이닝이 종료될 수 있다.If the width and depth of the neural network 500 are sufficiently large, the neural network 500 may have sufficient capacity to implement an arbitrary function. When the neural network 500 learns a sufficiently large amount of training data through an appropriate training process, an optimal recognition performance may be achieved. Parameters (eg, connection weights) of the neural network 500 included in the weight estimation model 520 may be trained in advance. For example, parameters of the neural network 500 may be updated based on training data in pairs of a training input and a training output (eg, a ground truth). The neural network 500 during training may be referred to as an ad hoc network. The temporary network may propagate the training input to each layer to produce a temporary output, and parameters of the temporary network may be updated to reduce the loss between the temporary output and the training output. When the loss reaches the target by repetition of the above-described training, the training may be terminated.

도 6a 및 도 6b는 도 5에서 설명한 무게 추정에 의한 센서 보정을 설명한다.6A and 6B illustrate sensor calibration by weight estimation described in FIG. 5 .

도 6a는 압력 센서에서 발생 가능한 센서 드리프트 오차를 설명한다. 압력 센서의 동작 시간이 증가할 수록, 압력 센서의 센싱 값에 편향이 발생할 수 있다. 일 실시예에 따른 운동 자세 구분 장치는 시간에 따른 센싱 값 변화율을 매 시점마다 계산하여 무게 추정 모델에 반영함으로써 오차를 개선할 수 있다. 예를 들어, 운동 자세 구분 장치는 도 5에서 설명한 총합의 변화량(513)을 무게 추정 모델에 입력함으로써, 시간에 따른 편향에 의한 오차(615)가 발생한 센싱 값(610)을 보정한 결과(620)를 산출할 수 있다.6A illustrates a sensor drift error that may occur in a pressure sensor. As the operation time of the pressure sensor increases, a bias may occur in the sensing value of the pressure sensor. The exercise posture classification apparatus according to an embodiment may improve an error by calculating a change rate of a sensed value according to time at every time point and reflecting it in a weight estimation model. For example, the exercise posture classification apparatus inputs the amount of change 513 of the total described with reference to FIG. 5 into the weight estimation model, thereby correcting the sensing value 610 in which the error 615 due to time-dependent bias is generated 620 ) can be calculated.

도 6b는 압력 센서에서 발생 가능한 센싱 값 포화 현상을 설명한다. 이상적으로는 무게 값에 비례하여 센싱 값이 선형적으로 증가해야 한다. 센싱되는 무게 값이 증가할수록, 센싱 값의 편차가 감소할 수 있다. 일 실시예에 따른 운동 자세 구분 장치는 도 5에서 설명한 총합의 제곱근(502) 및 무게 추정 모델의 비선형 활성 함수를 통해 센싱 값 포화에 의한 오차(635)가 발생한 센싱 값(630)을 보정한 결과(640)를 산출할 수 있다.6B illustrates a sensing value saturation phenomenon that may occur in the pressure sensor. Ideally, the sensing value should increase linearly in proportion to the weight value. As the sensed weight value increases, the deviation of the sensed value may decrease. The exercise posture classification apparatus according to an embodiment corrects the sensed value 630 in which an error 635 due to the saturation of the sensed value occurs through the square root 502 of the sum described in FIG. 5 and the nonlinear activation function of the weight estimation model. (640) can be calculated.

도 7은 일 실시예에 따른 영역 별 무게 추정 및 무게 밸런스를 설명한다.7 illustrates weight estimation and weight balance for each area according to an exemplary embodiment.

일 실시예에 따른 운동 자세 구분 장치는 제1 영역(711)에 대한 제1 무게(731) 및 제2 영역(712)에 대한 제2 무게(732)를 산출할 수 있다. 예를 들어, 운동 자세 구분 장치는 압력 센싱 데이터로부터 개별 샘플링 포인트마다 제1 영역(711)에 대해 복수의 제1 무게(731) 관련 입력 값들 및 제2 영역(712)에 대해 복수의 제2 무게(732) 관련 입력 값들을 산출할 수 있다. 프로세서는 제1 영역(711)에서 감지된 압력 값들의 제1 총합, 제1 총합의 제곱근, 제1 총합의 변화량, 및 제1 영역(711) 내 관심 영역에서 감지된 압력 값들의 제1 합산 값 중 적어도 둘을 복수의 제1 무게(731) 관련 입력 값들로서 산출할 수 있다. 프로세서는 제2 영역(712)에서 감지된 압력 값들의 제2 총합, 제2 총합의 제곱근, 제2 총합의 변화량, 및 제2 영역(712) 내 관심 영역에서 감지된 압력 값들의 제2 합산 값 중 적어도 둘을 복수의 제2 무게(732) 관련 입력 값들로서 산출할 수 있다. 운동 자세 구분 장치는 무게 추정 모델(720)을 이용하여 복수의 제1 무게(731) 관련 입력 값들로부터 제1 무게(731)를 추정하고, 무게 추정 모델(720)을 이용하여 복수의 제2 무게(732) 관련 입력 값들로부터 제2 무게(732)를 추정할 수 있다. 무게 추정은 도 5에서 상술하였으므로 자세한 설명은 생략한다.The exercise posture classification apparatus according to an embodiment may calculate a first weight 731 for the first area 711 and a second weight 732 for the second area 712 . For example, the exercise posture classification apparatus may include a plurality of first weight 731 related input values for the first area 711 and a plurality of second weights for the second area 712 for each individual sampling point from the pressure sensing data. (732) related input values may be calculated. The processor calculates a first sum of pressure values sensed in the first region 711 , a square root of the first sum, a change amount of the first sum, and a first sum of pressure values sensed in the region of interest in the first region 711 . At least two of them may be calculated as input values related to the plurality of first weights 731 . The processor generates a second sum of pressure values sensed in the second region 712 , a square root of the second sum, a change amount of the second sum, and a second sum of pressure values sensed in the region of interest in the second region 712 . At least two of the plurality of second weights 732 may be calculated as related input values. The exercise posture classification apparatus estimates a first weight 731 from input values related to a plurality of first weights 731 using a weight estimation model 720 , and uses the weight estimation model 720 to estimate a plurality of second weights A second weight 732 may be estimated from the associated input values (732). Since weight estimation has been described above with reference to FIG. 5 , a detailed description thereof will be omitted.

일 실시예에 따르면 운동 자세 구분 장치는 제1 무게(731) 및 제2 무게(732)의 합산 무게 대비 제1 무게(731) 및 제2 무게(732) 중 한 무게의 비율을 무게 밸런스(740)(weight balance)로서 산출할 수 있다. 예를 들어, 프로세서는 제1 측 발에 의한 제1 무게(731) 및 제2 측 발에 의한 제2 무게(732)를 각각 추정하고, 제1 무게(731) 및 제2 무게(732)의 합산 무게 대비 제1 무게(731) 및 제2 무게(732) 중 한 무게의 비율을 무게 밸런스(740)로서 산출할 수 있다. 예를 들어, 프로세서는 합산 무게에 대한 왼쪽 발에 의한 무게의 비율을 무게 밸런스(740)로서 산출할 수 있다. 무게 밸런스(740)는 0이상 1이하의 실수 값을 나타낼 수 있다. 무게 밸런스(740)가 1이면 제1 측 발(예를 들어, 왼쪽 발)에 체중이 쏠린 상태일 수 있고, 무게 밸런스(740)가 0이면 제2 측 발(예를 들어, 오른쪽 발)에 체중이 쏠린 상태를 나타낼 수 있다. 다만, 무게 밸런스(740)를 0이상 1 이하의 실수 값의 비율로 표시하는 것으로 한정하는 것은 아니고, 무게 밸런스 값은 백분율로 표현될 수도 있다.According to an embodiment, the exercise posture classification device calculates a ratio of one of the first weight 731 and the second weight 732 to the combined weight of the first weight 731 and the second weight 732 in the weight balance 740 . ) (weight balance). For example, the processor estimates a first weight 731 by the first side foot and a second weight 732 by the second side foot, respectively, of the first weight 731 and the second weight 732 . A ratio of one of the first weight 731 and the second weight 732 to the total weight may be calculated as the weight balance 740 . For example, the processor may calculate a ratio of the weight by the left foot to the total weight as the weight balance 740 . The weight balance 740 may represent a real value of 0 or more and 1 or less. If the weight balance 740 is 1, the weight may be in a state in which the weight is concentrated on the first side foot (eg, the left foot), and if the weight balance 740 is 0, the weight is on the second side foot (eg, the right foot) It may indicate a state of being overweight. However, it is not limited to displaying the weight balance 740 as a ratio of a real value of 0 or more and 1 or less, and the weight balance value may be expressed as a percentage.

예시적으로 프로세서는 이전 샘플링 포인트에서 산출된 무게 밸런스 값(예를 들어, 이전 무게 밸런스) 및 현재 샘플링 포인트에서 산출된 무게 밸런스 값(예를 들어, 현재 무게 밸런스)이 동일 또는 유사하면, 현재 무게 밸런스의 수집을 스킵할 수 있다. 예를 들어, 프로세서는 이전 무게 밸런스 및 현재 무게 밸런스 간의 차이가 최소 밸런스 차이 미만인 경우에 응답하여, 현재 무게 밸런스의 수집을 스킵할 수 있다. 프로세서는 현재 무게 밸런스에 대응하는 샘플링 포인트에서의 압력 센싱 벡터도 배제할 수 있다. 따라서, 운동 자세 판별 장치는 압력 센싱 데이터에 의해 차지되는 메모리 크기를 절감하고, 이후 자세 분류 모델을 이용한 연산에서의 연산량을 감소시킬 수도 있다.Exemplarily, if the weight balance value calculated from the previous sampling point (eg, previous weight balance) and the weight balance value calculated from the current sampling point (eg, current weight balance) are the same or similar, the processor may determine the current weight You can skip the collection of balances. For example, the processor may skip collecting the current weight balance in response to the case that the difference between the previous weight balance and the current weight balance is less than the minimum balance difference. The processor may also exclude the pressure sensing vector at the sampling point corresponding to the current weight balance. Accordingly, the exercise posture determination apparatus may reduce the memory size occupied by the pressure sensing data and reduce the amount of computation in subsequent calculations using the posture classification model.

도 8은 일 실시예에 따른 후보 포인트 추출 및 자세 구분을 설명한다.8 illustrates extraction of candidate points and classification of postures according to an embodiment.

일 실시예에 따른 프로세서는 무게 밸런스(810)에 기초하여 복수의 샘플링 포인트들 중 후보 포인트를 결정할 수 있다.The processor according to an embodiment may determine a candidate point from among a plurality of sampling points based on the weight balance 810 .

예를 들어, 프로세서는 인접한 샘플링 포인트들에서의 무게 밸런스(810) 값들 간의 차이에 기초하여 후보 포인트를 결정할 수 있다. 프로세서는 대상 샘플링 포인트에서의 무게 밸런스(810) 값 및 대상 샘플링 포인트의 이전 샘플링 포인트에서의 무게 밸런스(810) 값 간의 차이(예를 들어, 절대값 차이)가 임계 밸런스 차이를 초과하는 경우에 응답하여, 대상 샘플링 포인트를 후보 포인트로 결정할 수 있다. 다시 말해, 프로세서는 인접한 샘플링 포인트에 대해 무게 밸런스(810) 값들 간 차이가 최소 밸런스 차이 이상인 샘플링 포인트들 중에서, 임계 밸런스 차이를 초과하는 샘플링 포인트를 후보 샘플링 포인트로 결정할 수 있다. 최소 밸런스 차이는 0에 가까운 값일 수 있고, 임계 밸런스 차이는 최소 밸런스 차이보다 클 수 있다.For example, the processor may determine the candidate point based on a difference between values of the weight balance 810 at adjacent sampling points. The processor responds when a difference (eg, absolute difference) between a weight balance 810 value at the target sampling point and a weight balance 810 value at a previous sampling point of the target sampling point exceeds a threshold balance difference. Thus, the target sampling point may be determined as a candidate point. In other words, the processor may determine, as a candidate sampling point, a sampling point exceeding a threshold balance difference among sampling points in which a difference between values of the weight balance 810 with respect to adjacent sampling points is equal to or greater than a minimum balance difference. The minimum balance difference may be a value close to zero, and the threshold balance difference may be greater than the minimum balance difference.

다른 예를 들어, 프로세서는 복수의 샘플링 포인트들에서의 무게 밸런스(810) 값의 변화율에 기초하여 후보 포인트를 결정할 수 있다. 프로세서는 무게 밸런스(810) 값의 기울기를 복수의 샘플링 포인트들에 대해 산출할 수 있다. 프로세서는 이전 샘플링 포인트에서의 기울기 부호에 반대되는 기울기 부호가 나타나는 대상 샘플링 포인트를 후보 포인트로 결정할 수 있다. 다시 말해, 프로세서는 무게 밸런스(810) 값의 기울기의 부호가 전환되는 샘플링 포인트를 후보 포인트로 결정할 수 있다. 이 때, 프로세서는 무게 밸런스(810) 값들의 기울기에 대해 이동 평균 필터(moving average filter) 연산을 적용할 수 있다. 프로세서는 산출된 기울기의 부호가 전환되는 샘플링 포인트를 후보 포인트로 결정할 수 있다. 예를 들어, 기울기의 부호가 음에서 양으로 전환되는 지점 또는 양에서 음으로 전환되는 지점일 수 있다. 이동 평균 필터가 적용된 기울기들에 있어서, 특정 길이만큼 같은 값을 가지는 구간이 발생할 수 있다. 무게 밸런스(810) 값이 감소했다가 증가하는 경우, 이동 평균 필터를 통과한 기울기는 예시적으로 샘플링 포인트들마다 다음과 같이 나타날 수 있다. 이동 평균 필터를 통과한 기울기들=[-24, 0, 0, 0, -12, 0, 0, 0, -5, 0, 0, 0, 5, 0, 0, 0, 11, 0, 0, 0, 21, 0, 0] 이 경우, 프로세서는 음수였던 기울기 부호가 처음으로 양(positive)이 되는 되는 '5' 값을 갖는 13번째 샘플링 포인트를 변곡점으로서 후보 포인트로 결정할 수 있다.As another example, the processor may determine the candidate point based on a rate of change of the weight balance 810 value at the plurality of sampling points. The processor may calculate a slope of the value of the weight balance 810 for a plurality of sampling points. The processor may determine a target sampling point in which a gradient sign opposite to a gradient sign in the previous sampling point appears as a candidate point. In other words, the processor may determine a sampling point at which the sign of the slope of the weight balance 810 is changed as a candidate point. In this case, the processor may apply a moving average filter operation to the slope of the weight balance 810 values. The processor may determine a sampling point at which the sign of the calculated gradient is switched as a candidate point. For example, it may be a point at which the sign of the slope is converted from negative to positive or a point at which it is converted from positive to negative. In gradients to which the moving average filter is applied, a section having the same value by a specific length may occur. When the value of the weight balance 810 decreases and then increases, the slope passing through the moving average filter may exemplarily appear as follows for each sampling point. Slopes passed through moving average filter=[-24, 0, 0, 0, -12, 0, 0, 0, -5, 0, 0, 0, 5, 0, 0, 0, 11, 0, 0 , 0, 21, 0, 0] In this case, the processor may determine, as the inflection point, the thirteenth sampling point having a value of '5' at which the negative gradient sign becomes positive for the first time as a candidate point.

일 실시예에 따른 프로세서는 상술한 바와 같이 결정된 후보 포인트에 기초하여 압력 센싱 데이터로부터 후보 입력 데이터(820)를 추출할 수 있다. 프로세서는 선별된 후보 포인트를 기준으로 압력 센싱 벡터를 압력 센싱 데이터로부터 추출할 수 있다. 예를 들어, 프로세서는 압력 센싱 데이터에서, 후보 포인트를 포함하는 샘플링 구간 내의 압력 센싱 벡터를 후보 입력 데이터(820)로서 추출할 수 있다. 프로세서는 후보 포인트 및 후보 포인트에 인접한 샘플링 포인트들에서 센싱된 압력 센싱 벡터들을 후보 입력 데이터(820)로서 추출할 수 있다. 프로세서는 복수의 후보 포인트 별로 후보 입력 데이터(820)를 추출할 수 있다. 예를 들어, 도 8에 도시된 바와 같이, 프로세서는, 후보 포인트인 k번째 샘플링 포인트에서, 샘플링 구간 2G+1(여기서, G는 1이상의 정수)에 대해, XL,K-G 내지 XL,K+G의 압력 센싱 벡터들 및 XR,K-G 내지 XR,K+G의 압력 센싱 벡터들을 후보 입력 데이터(820)로서 추출할 수 있다. 도 8에서는 예시적으로 제1 후보 포인트 내지 제9 후보 포인트(811 내지 819)에 대해 후보 입력 데이터(820)가 추출될 수 있다.The processor according to an embodiment may extract the candidate input data 820 from the pressure sensing data based on the candidate point determined as described above. The processor may extract a pressure sensing vector from the pressure sensing data based on the selected candidate point. For example, the processor may extract a pressure sensing vector within a sampling section including the candidate point from the pressure sensing data as the candidate input data 820 . The processor may extract the candidate point and pressure sensing vectors sensed at sampling points adjacent to the candidate point as the candidate input data 820 . The processor may extract the candidate input data 820 for each of the plurality of candidate points. For example, as shown in FIG. 8 , the processor, at the kth sampling point that is a candidate point, for a sampling interval 2G+1 (where G is an integer greater than or equal to 1), X L,KG to X L,K Pressure sensing vectors of +G and pressure sensing vectors of X R,KG to X R,K+G may be extracted as candidate input data 820 . In FIG. 8 , for example, candidate input data 820 may be extracted with respect to the first to ninth candidate points 811 to 819 .

일 실시예에 따른 프로세서는 임의의 후보 포인트에서의 무게 밸런스(810) 및 후보 입력 데이터(820)로부터, 자세 구분 모델(830)에 기초하여 자세 구분 결과(840)를 산출할 수 있다. 자세 구분 결과(840)는 복수의 자세 구분 지점들의 각각에 대해 후보 포인트가 해당 자세 구분 지점에 속할 가능성을 지시하는 점수를 포함할 수 있다. 자세 구분 지점에 속할 가능성을 지시하는 점수는 해당 후보 포인트가 해당 자세 구분 지점일 확률로서, 예를 들어, 0이상 1이하의 값을 나타낼 수 있다. 자세 구분 지점에 속할 가능성을 지시하는 점수가 0에 가까울 수록 해당 지점에 속하지 않을 가능성이 높고, 자세 구분 지점에 속할 가능성을 지시하는 점수가 1에 가까울수록 해당 지점에 속할 가능성이 높을 수 있다.The processor according to an embodiment may calculate a posture classification result 840 based on the posture classification model 830 from the weight balance 810 and the candidate input data 820 at an arbitrary candidate point. The posture classification result 840 may include a score indicating the possibility that the candidate point belongs to the corresponding posture classification point for each of the plurality of posture classification points. The score indicating the possibility of belonging to the posture classification point is a probability that the corresponding candidate point is the corresponding posture classification point, and may represent, for example, a value of 0 or more and 1 or less. The closer the score indicating the possibility of belonging to the posture classification point to 0, the more likely it is not to belong to the corresponding point, and the closer the score indicating the possibility of belonging to the posture classification point to 1, the higher the probability of belonging to the corresponding point.

프로세서는 산출된 점수에 기초하여 후보 포인트가 복수의 자세 구분 지점들 중 한 구분 지점인 지 여부를 결정할 수 있다. 예를 들어, 프로세서는 후보 포인트에 대해 복수의 자세 구분 지점들에 대한 점수들을 산출하고, 복수의 자세 구분 지점들에 대한 점수들 중 가장 높은 점수가 임계 점수를 초과하는 지 여부를 판단할 수 있다. 가장 높은 점수가 임계 점수를 초과하는 경우, 프로세서는 해당 후보 포인트가 가장 높은 점수에 대응하는 자세 구분 지점인 것으로 결정할 수 있다. 후보 포인트에 대해 산출된 점수들이 모두 임계 점수 이하인 경우, 프로세서는 해당 후보 포인트가 자세 구분 지점이 아닌 것으로 판단하여 배제할 수 있다.The processor may determine whether the candidate point is one of the plurality of posture classification points based on the calculated score. For example, the processor may calculate scores for a plurality of posture classification points with respect to the candidate point, and determine whether the highest score among the scores for the plurality of posture classification points exceeds a threshold score. . When the highest score exceeds the threshold score, the processor may determine that the corresponding candidate point is a posture classification point corresponding to the highest score. When all of the scores calculated for the candidate points are less than or equal to the threshold score, the processor may exclude the candidate points by determining that the candidate points are not posture classification points.

예시적으로 도 8에서 프로세서는, 자세 구분 모델(830)에 기초한 자세 구분 결과(840)를 이용하여, 제1 후보 포인트(811)를 제1 자세 구분 지점(851), 제3 후보 포인트(813)를 제2 자세 구분 지점(853), 제8 후보 포인트(818)를 제3 자세 구분 지점(858)으로 결정할 수 있다. 프로세서는 각 자세 구분 지점 사이의 샘플링 포인트들을 자세 구간으로 결정함으로써 운동 기록 컨텐츠(850)를 생성할 수 있다. 예를 들어, 프로세서는 제1 자세 구분 지점(851) 이전의 샘플링 포인트들을 제1 자세 구간(861)(예를 들어, 준비 자세 구간), 제1 자세 구분 지점(851) 및 제2 자세 구분 지점(853) 사이의 샘플링 포인트들을 제2 자세 구간(862)(예를 들어, 스윙 자세 구간), 제2 자세 구분 지점(853) 및 제3 자세 구분 지점(858) 사이의 샘플링 포인트들을 제3 자세 구간(863)(예를 들어, 타격 자세 구간), 및 제3 자세 구분 지점(858) 이후의 샘플링 포인트들을 제4 자세 구간(864)(예를 들어, 마무리 자세 구간)으로 분류할 수 있다. 프로세서는 샘플링 포인트의 자세 구간 분류 결과에 따라 압력 센싱 데이터, 무게 밸런스(810), 및 운동 영상 데이터 등을 조정함으로써 운동 기록 컨텐츠(850)를 생성할 수 있다.Exemplarily in FIG. 8 , the processor uses the posture classification result 840 based on the posture classification model 830 to define the first candidate point 811 as the first posture classification point 851 and the third candidate point 813 . ) may be determined as the second posture classification point 853 , and the eighth candidate point 818 may be determined as the third posture classification point 858 . The processor may generate the exercise record content 850 by determining the sampling points between each posture classification point as posture sections. For example, the processor uses the sampling points before the first posture classification point 851 as the first posture section 861 (eg, the ready posture section), the first posture classifying point 851 and the second posture classifying point Sampling points between 853 are sampled between the second posture section 862 (eg, swing posture section), the second posture segmentation point 853 and the third posture segmentation point 858 are selected as the third posture Sampling points after the section 863 (eg, hitting posture section) and the third posture classification point 858 may be classified into a fourth posture section 864 (eg, finishing posture section). The processor may generate the exercise record content 850 by adjusting the pressure sensing data, the weight balance 810, the exercise image data, and the like according to the posture section classification result of the sampling point.

도 9는 일 실시예에 따른 자세 구분 모델을 설명한다.9 illustrates a posture classification model according to an exemplary embodiment.

일 실시예에 따른 자세 구분 모델(910)은 한 샘플링 포인트(예를 들어, 후보 포인트)를 기준으로 결정된 후보 입력 데이터(901) 및 해당 샘플링 포인트에서의 무게 밸런스로부터 해당 샘플링 포인트가 개별 자세 구분 지점일 가능성을 지시하는 점수를 출력하도록 설계될 수 있다. 자세 구분 모델(910)은 뉴럴 네트워크를 포함할 수 있다. 자세 구분 모델(910)은 트레이닝 데이터에 기초하여 트레이닝된 파라미터(예를 들어, 연결 가중치)를 가질 수 있다. 예를 들어, 트레이닝 데이터는 임의의 샘플링 포인트의 트레이닝용 후보 입력 데이터(901)(예를 들어, 해당 샘플링 포인트를 포함하는 구간의 트레이닝용 압력 센싱 벡터들 및 해당 샘플링 포인트의 트레이닝용 무게 밸런스 값) 및 트레이닝 출력(예를 들어, 참값으로서 해당 샘플링 포인트가 속하는 자세 구분 지점의 클래스)의 쌍일 수 있다. 트레이닝 중의 자세 구분 모델(910)은 임시 모델로서, 트레이닝용 후보 입력 데이터(901)를 전파시켜 임시 출력을 산출하고, 임시 출력 및 트레이닝 출력 간의 손실이 최소화되도록 임시 모델의 파라미터가 업데이트될 수 있다. 손실이 목표치에 도달하는 경우, 트레이닝이 종료되고 트레이닝된 파라미터가 저장될 수 있다.In the posture classification model 910 according to an embodiment, the corresponding sampling point is an individual posture classification point from the candidate input data 901 determined based on one sampling point (eg, a candidate point) and the weight balance at the sampling point. It may be designed to output a score indicating the possibility of a job. The posture classification model 910 may include a neural network. The posture classification model 910 may have parameters (eg, connection weights) trained based on training data. For example, the training data includes the training candidate input data 901 of an arbitrary sampling point (eg, pressure sensing vectors for training in a section including the sampling point and the training weight balance value of the sampling point) and a training output (eg, a class of a posture classification point to which a corresponding sampling point belongs as a true value). The posture classification model 910 during training is a temporary model, and by propagating the training candidate input data 901 , a temporary output may be calculated, and parameters of the temporary model may be updated so that a loss between the temporary output and the training output is minimized. When the loss reaches the target, the training ends and the trained parameters can be saved.

자세 구분 결과(909)는 후보 포인트가 개별 자세 구분 지점에 속할 가능성을 지시하는 점수로서, 자세 구분 결과(909)=[score1, score2, ..., scoreK]로 표현될 수 있다. 제1 스코어 score1는 후보 포인트가 제1 자세 구분 지점일 가능성을 지시하는 스코어(예를 들어, 확률)를 나타내고, 제K 스코어 scoreK 는 후보 포인트가 제K 자세 구분 지점일 가능성을 지시하는 스코어를 나타낼 수 있다. 여기서, K는 1이상의 정수일 수 있다. 본 명세서에서 K는 3인 예시를 설명한다. 예를 들어, 운동 행위로서 골프 스윙은 준비 동작 자세 구간, 스윙 자세 구간, 타격 자세 구간, 및 마무리 자세 구간으로 구분될 수 있다. 자세 구분 지점은 준비-스윙 구분 지점(예를 들어, 제1 자세 구분 지점), 스윙-타격 구분 지점(예를 들어, 제2 자세 구분 지점), 및 타격-마무리 구분 지점(예를 들어, 제3 자세 구분 지점)을 포함할 수 있다. 다만, 이로 한정하는 것은 아니고, 운동 행위 별로 자세 구분의 기준이 달라질 수 있다.The posture classification result 909 is a score indicating the possibility that the candidate point belongs to the individual posture classification point, and may be expressed as the posture classification result 909 = [score 1 , score 2 , ..., score K ]. The first score score 1 represents a score (eg, probability) indicating the possibility that the candidate point is the first posture classification point, and the K-th score score K is a score indicating the possibility that the candidate point is the K-th posture classification point. can indicate Here, K may be an integer of 1 or more. In this specification, an example where K is 3 is described. For example, a golf swing as an exercise action may be divided into a preparation posture section, a swing posture section, a hitting posture section, and a finishing posture section. The stance cutouts include a prep-swing cutoff (eg, a first stance cut), a swing-strike cutoff (eg, a second pose), and a strike-finish cutoff (eg, a second stance cut). 3 posture classification points). However, the present invention is not limited thereto, and the criteria for classification of postures may vary for each exercise activity.

일 실시예에 따르면 자세 구분 모델(910)은 입력 레이어, 특징 추출 레이어, 및 출력 레이어를 포함할 수 있다. 예를 들어, 프로세서는 입력 레이어에 후보 입력 데이터(901)를 입력할 수 있다. 입력 레이어에 입력된 후보 입력 데이터(901)는 특징 추출 레이어로 전파될 수 있다. 프로세서는 후보 입력 데이터(901)로부터 특징 추출 레이어를 이용하여 특징 데이터(904)를 추출할 수 있다. 프로세서는 추출된 특징 데이터(904) 및 후보 포인트에서의 무게 밸런스 값을 출력 레이어로 전파시킴으로써 자세 구분 결과(909)를 산출할 수 있다. 예를 들어, 프로세서는 특징 데이터(904)를 추출한 결과 및 무게 밸런스로부터 후보 포인트가 복수의 자세 구분 지점들의 각각에 속할 가능성을 지시하는 점수를 산출할 수 있다. 예시적으로, 특징 추출 레이어는 컨볼루션 레이어(911), 풀링 레이어(912), 및 덴스 레이어(913)(Dense layer)를 포함할 수 있고, 출력 레이어는 소프트맥스 레이어를 포함할 수 있다. 다만, 이는 순전히 예시적인 것으로서, 자세 구분 모델(910)의 레이어를 상술한 바로 한정하는 것은 아니다.According to an embodiment, the posture classification model 910 may include an input layer, a feature extraction layer, and an output layer. For example, the processor may input the candidate input data 901 to the input layer. The candidate input data 901 input to the input layer may be propagated to the feature extraction layer. The processor may extract the feature data 904 from the candidate input data 901 using a feature extraction layer. The processor may calculate the posture classification result 909 by propagating the extracted feature data 904 and the weight balance value at the candidate point to the output layer. For example, the processor may calculate a score indicating the possibility that the candidate point belongs to each of the plurality of posture classification points from the result of extracting the feature data 904 and the weight balance. Exemplarily, the feature extraction layer may include a convolutional layer 911 , a pooling layer 912 , and a dense layer 913 , and the output layer may include a softmax layer. However, this is purely exemplary, and the layer of the posture classification model 910 is not limited as described above.

프로세서는 개별 후보 입력 데이터(901)에 대해 컨볼루션 레이어(911)에 의한 연산을 시행함으로써, 컨볼루션 특징을 추출할 수 있다. 후보 입력 데이터(901)는 2G+1개의 샘플링 포인트들마다 2N x M 차원의 압력 센싱 벡터를 포함할 수 있다. 후보 입력 데이터(901)의 차원은 (2G+1) x 2N x M일 수 있다. 예를 들어, 프로세서는 개별 후보 입력 데이터(901)에 대해 커널 필터(예를 들어, 복수의 2 x 2 필터)를 스윕하면서 컨볼루션 연산을 수행함으로써 컨볼루션 연산 결과(902)를 산출할 수 있다. 커널 필터의 크기 및 형태는 설계에 따라 달라질 수 있다. 프로세서는 풀링 레이어(912)를 통해 컨볼루션 연산 결과(902)에 대해 풀링 연산을 수행할 수 있다. 예를 들어, 프로세서는 맥스 풀링(max pooling) 연산을 수행할 수 있다. 프로세서는 풀링 연산을 수행한 결과(903)에 대해 컨볼루션 연산(예를 들어, 1개의 1 x 1 필터를 이용한 컨볼루션) 및 평탄화를 적용할 수 있다. 프로세서는 덴스 레이어(913)에서 컨볼루션 연산 및 평탄화 적용 결과에 대응하는 특징 데이터(904)를 해당 후보 포인트에서의 무게 밸런스(905)와 결합(concatenate)한 결합 벡터(concatenated vector)를 생성할 수 있다. 프로세서는 소프트맥스 함수(914)를 통해 결합 벡터로부터 자세 구분 지점별 점수(score)를 산출할 수 있다. 점수는 해당 샘플링 포인트가 복수의 자세 구분 지점 중 한 지점에 속할 가능성을 나타내는 값으로서, 예를 들어 ,0에서 1 사이의 실수일 수 있다. 프로세서는, 예를 들어, 해당 샘플링 포인트가 준비-스윙 구분 지점일 확률, 스윙-타격 구분 지점일 확률, 및 타격-마무리 구분 지점일 확률을 출력할 수 있다. 프로세서는 후보 포인트 별로 후보 입력 데이터(901) 및 무게 밸런스로부터 자세 구분 모델(910)에 기초하여 해당 후보 포인트가 자세 구분 지점일 가능성을 산출할 수 있다.The processor may extract a convolution feature by performing an operation by the convolution layer 911 on the individual candidate input data 901 . The candidate input data 901 may include a 2N×M-dimensional pressure sensing vector for every 2G+1 sampling points. The dimension of the candidate input data 901 may be (2G+1) x 2N x M. For example, the processor may calculate the convolution result 902 by performing a convolution operation while sweeping a kernel filter (eg, a plurality of 2×2 filters) on the individual candidate input data 901 . . The size and shape of the kernel filter may vary depending on the design. The processor may perform a pooling operation on the convolution operation result 902 through the pooling layer 912 . For example, the processor may perform a max pooling operation. The processor may apply a convolution operation (eg, convolution using one 1×1 filter) and flattening to the result 903 of performing the pooling operation. The processor may generate a concatenated vector in which the feature data 904 corresponding to the result of the convolution operation and the flattening application in the density layer 913 is concatenated with the weight balance 905 at the corresponding candidate point. there is. The processor may calculate a score for each posture classification point from the joint vector through the softmax function 914 . The score is a value indicating the possibility that the corresponding sampling point belongs to one of the plurality of posture classification points, and may be, for example, a real number between 0 and 1. The processor may output, for example, a probability that the corresponding sampling point is a preparation-swing division point, a swing-strike division probability, and a strike-finish division point. The processor may calculate a possibility that the corresponding candidate point is the posture classification point based on the posture classification model 910 from the candidate input data 901 and the weight balance for each candidate point.

프로세서는 산출된 점수에 기초하여 후보 포인트가 복수의 자세 구분 지점들 중 한 구분 지점인 지 여부를 결정할 수 있다. 프로세서는 각 후보 포인트에서 복수의 자세 구분 지점들일 가능성을 지시하는 점수들을 산출할 수 있다. 프로세서는 해당 후보 포인트에서 가장 높은 점수가 임계 점수를 초과하는 지 여부를 판단할 수 있다. 프로세서는, 가장 높은 점수가 임계 점수를 초과하는 경우, 해당 가장 높은 점수에 대응하는 자세 구분 지점을 해당 후보 포인트의 구분 지점으로 결정할 수 있다.The processor may determine whether the candidate point is one of the plurality of posture classification points based on the calculated score. The processor may calculate scores indicating the possibility that each candidate point is a plurality of posture classification points. The processor may determine whether the highest score in the corresponding candidate point exceeds a threshold score. When the highest score exceeds the threshold score, the processor may determine a posture dividing point corresponding to the highest score as a dividing point of the corresponding candidate point.

도 10은 일 실시예에 따른 자세 구분 결과에 따른 운동 기록 데이터의 제공을 설명한다.10 illustrates provision of exercise record data according to a posture classification result according to an exemplary embodiment.

일 실시예에 따른 운동 자세 구분 장치는 운동 기록 컨텐츠를 사용자에게 제공할 수 있다. 도 10은 운동 기록 컨텐츠의 예시로서, 사용자 기록(1010) 및 전문가 기록(1020)이 매핑된 컨텐츠를 도시한다. 예를 들어, 운동 자세 구분 장치는 운동 자세 구간 별 사용자의 양발의 압력 분포(1011), 사용자의 무게 밸런스(1012)에 대해 기준이 되는 전문가의 무게 밸런스(1021)를 매핑하여 시각화할 수 있다. 예를 들어, 제1 자세 구간에서, 사용자의 무게 밸런스(1012)는 (좌측 무게, 우측 무게)=(49.5, 50.5)인데, 기준 무게 밸런스(1021)는 (좌측 무게, 우측 무게)=(50, 50)일 수 있다. 운동 자세 구분 장치는 상술한 바와 같이 사용자 기록(1010) 및 전문가 기록(1020)을 운동 자세 구간 별로 분류 및 매핑하여 출력함으로써, 사용자의 운동 자세 개선을 직관적으로 유도할 수 있다.The exercise posture classification apparatus according to an embodiment may provide exercise record content to the user. FIG. 10 illustrates content to which user records 1010 and expert records 1020 are mapped as an example of athletic record content. For example, the exercise posture classification apparatus may map and visualize the pressure distribution 1011 of the user's feet for each exercise posture section and the expert's weight balance 1021 as a reference for the user's weight balance 1012 . For example, in the first posture section, the user's weight balance 1012 is (left weight, right weight) = (49.5, 50.5), and the reference weight balance 1021 is (left weight, right weight) = (50) , 50). As described above, the exercise posture classification apparatus classifies and maps the user record 1010 and the expert record 1020 for each exercise posture section and outputs the classification, thereby intuitively inducing improvement of the user's exercise posture.

도 11 및 도 12는 일 실시예에 따른 자세 구분 결과에 따른 운동 기록 데이터의 조정 및 조정된 운동 기록 데이터의 출력을 설명한다.11 and 12 describe the adjustment of the exercise record data according to the posture classification result and the output of the adjusted exercise record data according to an exemplary embodiment.

일 실시예에 따르면 운동 자세 구분 장치는 결정된 자세 구분 지점에 기초하여 생성된 운동 기록 컨텐츠를 사용자에게 제공할 수 있다. 예를 들어, 운동 자세 구분 장치는 결정된 자세 구분 지점을 기준으로 사용자의 운동 기록 컨텐츠의 자세 구간 및 기준 운동 컨텐츠의 자세 구간 중 적어도 하나의 길이를 조정할 수 있다. 예를 들어, 프로세서는 결정된 자세 구분 지점을 기준으로 사용자의 운동 기록 데이터 및 기준 운동 데이터를 정렬할 수 있다. 운동 기록 데이터는 복수의 샘플링 포인트들을 기준으로 하는 압력 센싱 데이터, 무게 밸런스, 압력 피드백 데이터(예를 들어, 무게 분포를 시각화한 컨텐츠 데이터 등), 및 운동 영상 데이터(예를 들어, 압력 센서와 연관되어 운동 행위 동안 사용자를 촬영한 영상)를 포함할 수 있다. 프로세서는 압력 센싱 데이터, 무게 밸런스, 압력 피드백 데이터, 및 운동 영상 데이터 중 적어도 하나를 동기화할 수 있다.According to an embodiment, the exercise posture classification apparatus may provide the exercise record content generated based on the determined posture classification point to the user. For example, the exercise posture classification apparatus may adjust the length of at least one of the posture section of the user's exercise record content and the posture section of the reference exercise content based on the determined posture classifying point. For example, the processor may align the exercise record data and the reference exercise data of the user based on the determined posture classification point. The exercise record data includes pressure sensing data based on a plurality of sampling points, weight balance, pressure feedback data (eg, content data visualizing weight distribution, etc.), and exercise image data (eg, associated with a pressure sensor). and an image captured by the user during the exercise) may be included. The processor may synchronize at least one of pressure sensing data, weight balance, pressure feedback data, and motion image data.

프로세서는 사용자의 운동 기록 데이터에서 판단된 자세 구분 지점을 기준 운동 데이터에 미리 매핑된 자세 구분 지점에 매칭시킬 수 있다. 예를 들어, 프로세서는, 운동 기록 데이터에서 일부 구간을 증가 또는 감소시킴으로써, 운동 기록 데이터의 임의의 자세 구분 지점을 기준 운동 데이터에서 대응하는 자세 구분 지점에 매칭시킬 수 있다. 다시 말해, 프로세서는 운동 기록 데이터의 임의의 자세 구간의 길이(예를 들어, 시간 길이, 및 샘플링 포인트 개수 등)를 기준 운동 데이터에서 해당 자세 구간의 길이에 동기화시킬 수 있다. 예를 들어, 프로세서는 사용자의 운동 기록 데이터에서 한 운동 자세 구간에 대응하는 샘플링 포인트들의 개수 및 기준 운동 데이터(예를 들어, 사용자에 의해 선택된 전문가에 대해 수집된 운동 데이터)에서 대응하는 운동 자세 구간에 대응하는 샘플링 포인트들의 개수가 다른 경우, 운동 기록 데이터 및 기준 운동 데이터 중 한 데이터의 샘플링 포인트 개수를 조정할 수 있다. 프로세서는 같은 운동 자세 구간에 대해 적은 샘플링 포인트 개수를 가지는 데이터에 대해 보간(interpolation)을 수행하여 해당 구간을 연장할 수 있다.The processor may match the posture classification point determined in the exercise record data of the user to the posture classification point previously mapped to the reference exercise data. For example, the processor may match an arbitrary posture classification point of the exercise record data to a corresponding posture classification point in the reference exercise data by increasing or decreasing a partial section in the exercise record data. In other words, the processor may synchronize the length (eg, a length of time, the number of sampling points, etc.) of an arbitrary posture section of the exercise record data to the length of the corresponding posture section in the reference exercise data. For example, the processor may configure the number of sampling points corresponding to one exercise posture section in the exercise record data of the user and the exercise posture section corresponding to the reference exercise data (eg, exercise data collected for an expert selected by the user) When the number of sampling points corresponding to is different, the number of sampling points of one of the exercise record data and the reference exercise data may be adjusted. The processor may extend the corresponding section by performing interpolation on data having a small number of sampling points for the same exercise posture section.

도 11에서는 사용자 무게 밸런스 데이터(1110) 및 전문가 무게 밸런스 데이터(1120)의 동기화를 설명한다. 예를 들어, 사용자 무게 밸런스 데이터(1110)의 준비 자세 구간(1111)은 전문가 무게 밸런스 데이터(1120)의 준비 자세 구간(1121)에 비해 짧을 수 있다. 프로세서는 사용자 무게 밸런스 데이터(1110)의 제1 자세 구분 지점(1181)이 전문가 무게 밸런스 데이터(1120)의 제1 자세 구분 지점(1191)에 매칭할 때까지, 준비 자세 구간(1111)을 연장(1151)할 수 있다. 반대로, 사용자 무게 밸런스 데이터(1110)의 스윙 자세 구간(1112)은 전문가 무게 밸런스 데이터(1120)의 스윙 자세 구간(1122)에 비해 길 수 있다. 프로세서는 사용자 무게 밸런스 데이터(1110)의 제2 자세 구분 지점(1182)이 전문가 무게 밸런스 데이터(1120)의 제2 자세 구분 지점(1192)에 매칭할 때까지, 스윙 자세 구간(1122)을 연장(1152)할 수 있다. 유사하게 프로세서는 나머지 자세 구분 지점(1183, 1193)이 매칭하게 타격 자세 구간들(1113, 1123) 중 하나를 연장(1153)하고, 마무리 자세 구간들(1114, 1124) 중 하나를 연장(1154)할 수 있다.In FIG. 11 , synchronization of the user weight balance data 1110 and the expert weight balance data 1120 is described. For example, the ready posture section 1111 of the user weight balance data 1110 may be shorter than the ready posture section 1121 of the expert weight balance data 1120 . The processor extends the preparation posture section 1111 until the first posture segmentation point 1181 of the user weight balance data 1110 matches the first posture segmentation point 1191 of the expert weight balance data 1120 ( 1151) can be done. Conversely, the swing posture section 1112 of the user weight balance data 1110 may be longer than the swing posture section 1122 of the expert weight balance data 1120 . The processor extends the swing posture section 1122 until the second posture segmentation point 1182 of the user weight balance data 1110 matches the second posture segmentation point 1192 of the expert weight balance data 1120 ( 1152) can be done. Similarly, the processor extends (1153) one of the striking posture sections (1113, 1123) to match the remaining posture classification points (1183, 1193), and extends (1154) one of the finishing posture sections (1114, 1124) can do.

일 실시예에 따르면 운동 자세 구분 장치는 사용자 입력에 응답하여 전문가를 선택하고, 선택된 전문가의 기준 운동 데이터에 사용자의 운동 기록 데이터의 길이를 동기화할 수 있다. 따라서, 운동 자세 구분 장치는, 개별 자세 구간에서 소요되는 시간이 사용자 및 전문가 별로 다르더라도, 각 자세에서의 무게 중심 이동의 진행 정도(progression level)의 싱크를 압력 샘플링 포인트에 기반하여 동기화함으로써 사용자에게 최적의 자세를 가이드할 수 있다.According to an embodiment, the exercise posture classification apparatus may select an expert in response to a user input, and may synchronize the length of the user's exercise record data with reference exercise data of the selected expert. Accordingly, the exercise posture classification device provides the user with synchronization based on the pressure sampling point by synchronizing the synchronization of the progress level of the movement of the center of gravity in each posture, even if the time required for each posture section is different for each user and expert. It can guide you to the optimal posture.

일 실시예에 따른 운동 자세 구분 장치는 자세 구간의 조정에 의해 동기화된 운동 기록 컨텐츠 및 기준 운동 컨텐츠를 재생할 수 있다. 예를 들어, 운동 자세 구분 장치는 압력 변화를 데이터베이스에 저장하고, 사용자에 의해 지정된 시점의 데이터를 영상으로 재생할 수도 있다. 예를 들어, 운동 자세 구분 장치는 샘플링 포인트 별로 운동 기록 컨텐츠(1210) 및 기준 운동 컨텐츠(1220)의 타이밍이 동기화된 영상을 생성할 수 있다. 예를 들어, 도 12에서는 운동 자세 구분 장치가 상단 영역에서 사용자에 대해 촬영된 운동 영상를 포함하는 운동 기록 컨텐츠(1210), 디스플레이 하단에서 전문가에 의해 운동 자세 구간 별 무게 밸런스, 압력 분포, 및 각 샘플링 포인트에서의 무게 밸런스를 포함하는 기준 운동 컨텐츠(1220)를 동기화하여 재생할 수 있다. 예를 들어, 도 11에서 상술한 바와 같이 자세 구분 지점 및 운동 자세 구간을 기초로, 사용자 및 전문가의 압력 센싱 데이터, 무게 밸런스 데이터, 압력 분포 데이터, 및 운동 영상 등이 샘플링 포인트 단위로 동기화될 수 있다. 따라서, 사용자는 운동 자세의 진행 별로 사용자에 의해 지정된 전문가의 최적의 자세를 다양한 측면(예를 들어, 무게 중심 측면 및 영상 측면)에서 직관적인 피드백을 받을 수 있다. 사용자는 선호하는 전문가의 자세를 비교하여 스윙 단계 별 자세 교정, 골프채 종류 별 스윙 자세 교정, 체형 별 자세 교정 등을 제공받을 수 있다.The exercise posture classification apparatus according to an embodiment may reproduce the exercise record content and the reference exercise content synchronized by adjusting the posture section. For example, the exercise posture classification apparatus may store the pressure change in a database and reproduce data at a point in time designated by the user as an image. For example, the exercise posture classification apparatus may generate an image in which timings of the exercise record content 1210 and the reference exercise content 1220 are synchronized for each sampling point. For example, in FIG. 12 , the exercise record content 1210 including the exercise image captured for the user by the exercise posture classification device in the upper region, weight balance, pressure distribution, and sampling for each exercise posture section by an expert at the lower end of the display The reference exercise content 1220 including the weight balance at the point may be synchronized and reproduced. For example, as described above in FIG. 11 , based on the posture classification point and the exercise posture section, the pressure sensing data, weight balance data, pressure distribution data, and exercise image of users and experts can be synchronized in units of sampling points. there is. Accordingly, the user may receive intuitive feedback from various aspects (eg, the center of gravity side and the image side) the optimal posture of the expert designated by the user for each progress of the exercise posture. The user may be provided with posture correction for each swing stage, swing posture correction for each type of golf club, posture correction for each body type, and the like by comparing the posture of a preferred expert.

다만, 이로 한정하는 것은 아니고, 운동 자세 구분 장치는 디스플레이 상단 영역에서 사용자에 대해 촬영된 운동 영상, 디스플레이 하단 영역에서 사용자에 대해 생성된 압력 분포 및 무게 밸런스를 샘플링 포인트 단위로 동기화하여 운동 기록 컨텐츠를 생성할 수 있다. 컨텐츠는 시간 흐름(1230)을 따라 재생되도록 생성될 수 있다. 재생 속도는 샘플링 포인트의 개수에 따라 달라질 수 있으나, 이로 한정하는 것은 아니다. 운동 자세 구분 장치는 사용자에 의해 지정된 시점부터 운동 기록 컨텐츠를 재생할 수 있다.However, the present invention is not limited thereto, and the exercise posture classification device synchronizes the exercise image captured for the user in the upper region of the display, the pressure distribution and weight balance generated for the user in the lower region of the display in units of sampling points, and records the content of exercise records. can create Content may be generated to be played along a time flow 1230 . The playback speed may vary depending on the number of sampling points, but is not limited thereto. The exercise posture classification apparatus may reproduce the exercise record content from a point in time designated by the user.

도 13은 일 실시예에 따른 압력 센싱 데이터 및 이미지를 이용한 자세 구분을 설명한다.13 illustrates posture classification using pressure sensing data and images according to an exemplary embodiment.

일 실시예에 따른 운동 자세 구분 장치는 추가적으로 운동 영상 데이터에서 신체의 위치 및 관절의 각도를 분석하고, 분석한 결과에 기초하여 압력 센싱 데이터와 함께 이용하여 자세 구분 지점을 결정할 수 있다. 예를 들어, 운동 자세 구분 장치는 운동 도구(예를 들어, 골프채)(1332,1333)의 길이 방향 축이 사용자의 신체에 대해 형성하는 각도, 사용자의 신체 부위(1331, 1334)가 몸통 등에 대해 형성하는 각도 등을 분석할 수 있다. 운동 자세 구분 장치는 영상 분석 결과(1330)와 함께 무게 밸런스(1310) 및 후보 입력 데이터(1320)를 자세 구분 모델(1340)에 입력함으로써 자세 구분 결과(1350)를 산출할 수 있다. 무게 밸런스(1310), 후보 입력 데이터(1320), 및 자세 구분 결과(1350)는 상술하였으므로 자세한 설명을 생략하며, 자세 구분 모델(1340)은 영상 분석 결과(1330)를 추가로 입력 받을 수 있도록 설게 변경될 수 있다.The apparatus for classifying an exercise posture according to an embodiment may additionally analyze a body position and an angle of a joint from the exercise image data, and may determine a posture classification point by using it together with the pressure sensing data based on a result of the analysis. For example, in the exercise posture classification device, the angle formed by the longitudinal axis of the exercise tool (eg, golf club) 1332 and 1333 with respect to the user's body, the user's body parts 1331 and 1334 for the torso, etc. Forming angles, etc. can be analyzed. The exercise posture classification apparatus may calculate a posture classification result 1350 by inputting the weight balance 1310 and candidate input data 1320 together with the image analysis result 1330 into the posture classification model 1340 . Since the weight balance 1310, the candidate input data 1320, and the posture classification result 1350 have been described above, a detailed description will be omitted, and the posture classification model 1340 is designed so that the image analysis result 1330 can be additionally input. can be changed.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or apparatus, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (20)

프로세서에 의해 수행되는 운동 자세 구분 방법에 있어서,
복수의 압력 감지 셀들의 각각에 가해지는 압력을 복수의 샘플링 시점들에서 센싱함으로써, 압력 센싱 데이터를 획득하는 단계;
상기 획득된 압력 센싱 데이터에 기초하여 상기 복수의 샘플링 시점들 별로 사용자 양발에 대한 무게 밸런스를 산출하는 단계;
상기 무게 밸런스에 기초하여 상기 압력 센싱 데이터로부터 후보 입력 데이터를 추출하는 단계; 및
상기 추출된 후보 입력 데이터로부터 자세 구분 모델에 기초하여 자세 구분 지점을 결정하는 단계
를 포함하고,
상기 압력 센싱 데이터를 획득하는 단계는,
상기 복수의 압력 감지 셀들에 의해 감지되는 압력 분포에 기초하여, 상기 복수의 샘플링 시점들 별로 제1 영역 및 제2 영역을 동적으로 결정하는 단계;
상기 복수의 입력 감지 셀들 중 개별 샘플링 시점에서 결정된 상기 제1 영역에 속하는 압력 감지 셀들을 이용하여, 제1 측 압력 데이터의 해당 샘플링 시점에서의 압력 값들을 획득하는 단계; 및
상기 복수의 입력 감지 셀들 중 개별 샘플링 시점에서 결정된 상기 제2 영역에 속하는 압력 감지 셀들을 이용하여 제2 측 압력 데이터의 해당 샘플링 시점에서의 압력 값들을 획득하는 단계를 포함하는,
운동 자세 구분 방법.
In the exercise posture classification method performed by the processor,
acquiring pressure sensing data by sensing pressure applied to each of the plurality of pressure sensing cells at a plurality of sampling points;
calculating a weight balance for the user's feet for each of the plurality of sampling points based on the obtained pressure sensing data;
extracting candidate input data from the pressure sensing data based on the weight balance; and
determining a posture classification point based on a posture classification model from the extracted candidate input data;
including,
Acquiring the pressure sensing data includes:
dynamically determining a first area and a second area for each of the plurality of sampling points based on a pressure distribution sensed by the plurality of pressure sensing cells;
obtaining pressure values at a corresponding sampling time of the first side pressure data by using pressure sensing cells belonging to the first region determined at an individual sampling time among the plurality of input sensing cells; and
Acquiring pressure values at a corresponding sampling time of the second side pressure data by using pressure sensing cells belonging to the second region determined at an individual sampling time among the plurality of input sensing cells,
How to distinguish exercise postures.
제1항에 있어서,
상기 압력 센싱 데이터를 획득하는 단계는,
상기 복수의 샘플링 시점들 별로 상기 복수의 압력 감지 셀들의 각각에 가해지는 압력 값들을 검출함으로써 압력 센싱 벡터를 생성하는 단계; 및
상기 복수의 샘플링 시점들에 대한 압력 센싱 벡터들을 수집함으로써 상기 압력 센싱 데이터를 획득하는 단계
를 포함하는 운동 자세 구분 방법.
According to claim 1,
Acquiring the pressure sensing data includes:
generating a pressure sensing vector by detecting pressure values applied to each of the plurality of pressure sensing cells for each of the plurality of sampling points; and
acquiring the pressure sensing data by collecting pressure sensing vectors for the plurality of sampling points.
A method of classifying exercise postures, including.
제1항에 있어서,
상기 압력 센싱 데이터를 획득하는 단계는,
상기 복수의 압력 감지 셀들 중 제1 영역에 속하는 압력 감지 셀을 이용하여 제1 측 압력 데이터를 획득하는 단계; 및
상기 복수의 압력 감지 셀들 중 제2 영역에 속하는 압력 감지 셀을 이용하여 제2 측 압력 데이터를 획득하는 단계
를 포함하는 운동 자세 구분 방법.
According to claim 1,
Acquiring the pressure sensing data includes:
acquiring first-side pressure data by using a pressure sensing cell belonging to a first area among the plurality of pressure sensing cells; and
obtaining second-side pressure data by using a pressure sensing cell belonging to a second region among the plurality of pressure sensing cells;
A method of classifying exercise postures, including.
삭제delete 제1항에 있어서,
상기 무게 밸런스를 산출하는 단계는,
제1 영역에 대한 제1 무게 및 제2 영역에 대한 제2 무게를 산출하는 단계; 및
상기 제1 무게 및 상기 제2 무게의 합산 무게 대비 상기 제1 무게 및 상기 제2 무게 중 한 무게의 비율을 상기 무게 밸런스로서 산출하는 단계
를 포함하는 운동 자세 구분 방법.
According to claim 1,
Calculating the weight balance comprises:
calculating a first weight for the first area and a second weight for the second area; and
calculating a ratio of one of the first weight and the second weight to the sum of the first weight and the second weight as the weight balance
A method of classifying exercise postures, including.
제5항에 있어서,
상기 제1 영역에 대한 제1 무게 및 제2 영역에 대한 제2 무게를 산출하는 단계는,
상기 압력 센싱 데이터로부터 개별 샘플링 시점마다 상기 제1 영역에 대해 복수의 제1 무게 관련 입력 값들 및 상기 제2 영역에 대해 복수의 제2 무게 관련 입력 값들을 산출하는 단계; 및
무게 추정 모델을 이용하여 상기 복수의 제1 무게 관련 입력 값들로부터 상기 제1 무게를 추정하고, 상기 무게 추정 모델을 이용하여 상기 복수의 제2 무게 관련 입력 값들로부터 상기 제2 무게를 추정하는 단계
를 포함하는 운동 자세 구분 방법.
6. The method of claim 5,
Calculating the first weight for the first area and the second weight for the second area includes:
calculating a plurality of first weight-related input values for the first region and a plurality of second weight-related input values for the second region at each sampling time from the pressure sensing data; and
estimating the first weight from the plurality of first weight-related input values using a weight estimation model, and estimating the second weight from the plurality of second weight-related input values using the weight estimation model
A method of classifying exercise postures, including.
제6항에 있어서,
상기 제1 영역에 대해 복수의 제1 무게 관련 입력 값들 및 상기 제2 영역에 대해 복수의 제2 무게 관련 입력 값들을 산출하는 단계는,
상기 제1 영역에서 감지된 압력 값들의 제1 총합, 상기 제1 총합의 제곱근, 상기 제1 총합의 변화량, 및 상기 제1 영역 내 관심 영역에서 감지된 압력 값들의 제1 합산 값 중 적어도 둘을 상기 복수의 제1 무게 관련 입력 값들로서 산출하는 단계; 및
상기 제2 영역에서 감지된 압력 값들의 제2 총합, 상기 제2 총합의 제곱근, 상기 제2 총합의 변화량, 및 상기 제2 영역 내 관심 영역에서 감지된 압력 값들의 제2 합산 값 중 적어도 둘을 상기 복수의 제2 무게 관련 입력 값들로서 산출하는 단계
를 포함하는 운동 자세 구분 방법.
7. The method of claim 6,
Calculating a plurality of first weight-related input values for the first region and a plurality of second weight-related input values for the second region includes:
At least two of the first sum of the pressure values sensed in the first region, the square root of the first sum, the amount of change in the first total, and the first sum of the pressure values sensed in the region of interest in the first region calculating the plurality of first weight-related input values; and
at least two of a second sum of pressure values sensed in the second region, a square root of the second sum, a change in the second sum, and a second sum of pressure values sensed in the region of interest in the second region calculating as the plurality of second weight-related input values;
A method of classifying exercise postures, including.
제1항에 있어서,
상기 무게 밸런스를 산출하는 단계는,
대상 샘플링 시점에서 산출된 무게 밸런스 값 및 상기 대상 샘플링 시점의 이전 샘플링 시점에서 산출된 무게 밸런스 값 간의 차이가 최소 밸런스 차이 미만인 경우에 응답하여, 상기 대상 샘플링 시점의 데이터를 배제하는 단계
를 포함하는 운동 자세 구분 방법.
According to claim 1,
Calculating the weight balance comprises:
In response to the case where the difference between the weight balance value calculated at the target sampling time and the weight balance value calculated at the previous sampling time of the target sampling time is less than the minimum balance difference, excluding the data at the target sampling time
A method of classifying exercise postures, including.
제1항에 있어서,
상기 후보 입력 데이터를 추출하는 단계는,
상기 무게 밸런스에 기초하여 상기 복수의 샘플링 시점들 중 후보 샘플링 시점을 결정하는 단계; 및
상기 후보 샘플링 시점에 기초하여 상기 압력 센싱 데이터로부터 상기 후보 입력 데이터를 추출하는 단계
를 포함하는 운동 자세 구분 방법.
According to claim 1,
The step of extracting the candidate input data includes:
determining a candidate sampling time from among the plurality of sampling times based on the weight balance; and
extracting the candidate input data from the pressure sensing data based on the candidate sampling time
A method of classifying exercise postures, including.
제9항에 있어서,
상기 후보 샘플링 시점을 결정하는 단계는,
인접한 샘플링 시점들에서의 무게 밸런스 값들 간의 차이에 기초하여 상기 후보 샘플링 시점을 결정하는 단계
를 포함하는 운동 자세 구분 방법.
10. The method of claim 9,
The step of determining the candidate sampling time includes:
determining the candidate sampling time based on a difference between weight balance values at adjacent sampling times;
A method of classifying exercise postures, including.
제10항에 있어서,
상기 후보 샘플링 시점을 결정하는 단계는,
대상 샘플링 시점에서의 무게 밸런스 값 및 상기 대상 샘플링 시점의 이전 샘플링 시점에서의 무게 밸런스 값 간의 차이가 임계 밸런스 차이를 초과하는 경우에 응답하여, 상기 대상 샘플링 시점을 후보 샘플링 시점으로 결정하는 단계
를 포함하는 운동 자세 구분 방법.
11. The method of claim 10,
The step of determining the candidate sampling time includes:
Determining the target sampling time as a candidate sampling time in response to a difference between the weight balance value at the target sampling time and the weight balance value at the previous sampling time of the target sampling time exceeds a threshold balance difference
A method of classifying exercise postures, including.
제9항에 있어서,
상기 후보 샘플링 시점을 결정하는 단계는,
상기 복수의 샘플링 시점들에서의 무게 밸런스 값의 변화율에 기초하여 상기 후보 샘플링 시점을 결정하는 단계
를 포함하는 운동 자세 구분 방법.
10. The method of claim 9,
The step of determining the candidate sampling time includes:
determining the candidate sampling time based on the rate of change of the weight balance value at the plurality of sampling points.
A method of classifying exercise postures, including.
제12항에 있어서,
상기 후보 샘플링 시점을 결정하는 단계는,
상기 무게 밸런스 값의 기울기를 상기 복수의 샘플링 시점들에 대해 산출하는 단계; 및
이전 샘플링 시점에서의 기울기 부호에 반대되는 기울기 부호가 나타나는 대상 샘플링 시점을 상기 후보 샘플링 시점으로 결정하는 단계
를 포함하는 운동 자세 구분 방법.
13. The method of claim 12,
The step of determining the candidate sampling time includes:
calculating a slope of the weight balance value for the plurality of sampling points; and
Determining a target sampling time point at which a slope sign opposite to the slope sign at the previous sampling time point appears as the candidate sampling time
A method of classifying exercise postures, including.
제9항에 있어서,
상기 후보 샘플링 시점에 기초하여 상기 압력 센싱 데이터로부터 상기 후보 입력 데이터를 추출하는 단계는,
상기 압력 센싱 데이터에서, 상기 후보 샘플링 시점을 포함하는 샘플링 구간 내의 압력 센싱 벡터를 상기 후보 입력 데이터로서 추출하는 단계
를 포함하는 운동 자세 구분 방법.
10. The method of claim 9,
extracting the candidate input data from the pressure sensing data based on the candidate sampling time,
extracting, as the candidate input data, a pressure sensing vector within a sampling section including the candidate sampling time from the pressure sensing data
A method of classifying exercise postures, including.
제1항에 있어서,
상기 추출된 후보 입력 데이터로부터 자세 구분 모델에 기초하여 자세 구분 지점을 결정하는 단계는,
상기 자세 구분 모델을 이용하여, 후보 샘플링 시점에 대응하는 상기 후보 입력 데이터 및 상기 후보 샘플링 시점에서의 무게 밸런스로부터, 복수의 자세 구분 지점들의 각각에 대해 상기 후보 샘플링 시점이 해당 자세 구분 지점에 속할 가능성을 지시하는 점수를 산출하는 단계; 및
상기 산출된 점수에 기초하여 상기 후보 샘플링 시점이 복수의 자세 구분 지점들 중 한 구분 지점인 지 여부를 결정하는 단계
를 포함하는 운동 자세 구분 방법.
According to claim 1,
The step of determining the posture classification point based on the posture classification model from the extracted candidate input data comprises:
Using the posture classification model, from the candidate input data corresponding to the candidate sampling time and the weight balance at the candidate sampling time, for each of the plurality of posture classification points, the possibility that the candidate sampling time belongs to the corresponding posture classification point calculating a score indicating and
determining whether the candidate sampling time point is one of a plurality of posture classification points based on the calculated score
A method of classifying exercise postures, including.
제15항에 있어서,
상기 후보 샘플링 시점이 해당 자세 구분 지점에 속할 가능성을 지시하는 점수를 산출하는 단계는,
상기 후보 입력 데이터로부터 특징 추출 레이어를 이용하여 특징 데이터를 추출하는 단계; 및
상기 특징 데이터를 추출한 결과 및 상기 무게 밸런스로부터 상기 후보 샘플링 시점이 상기 복수의 자세 구분 지점들의 각각에 속할 가능성을 지시하는 점수를 산출하는 단계
를 포함하는 운동 자세 구분 방법.
16. The method of claim 15,
The step of calculating a score indicating the possibility that the candidate sampling point belongs to the corresponding posture classification point comprises:
extracting feature data from the candidate input data using a feature extraction layer; and
Calculating a score indicating a possibility that the candidate sampling point belongs to each of the plurality of posture classification points from the result of extracting the feature data and the weight balance
A method of classifying exercise postures, including.
제1항에 있어서,
상기 결정된 자세 구분 지점에 기초하여 생성된 운동 기록 컨텐츠를 사용자에게 제공하는 단계
를 더 포함하는 운동 자세 구분 방법.
According to claim 1,
Providing the user with the exercise record content generated based on the determined posture classification point
Exercise posture classification method further comprising.
제17항에 있어서,
상기 운동 기록 컨텐츠를 사용자에게 제공하는 단계는,
상기 결정된 자세 구분 지점을 기준으로 상기 사용자의 운동 기록 컨텐츠의 자세 구간 및 기준 운동 컨텐츠의 자세 구간 중 적어도 하나의 길이를 조정하는 단계; 및
상기 자세 구간의 조정에 의해 동기화된 상기 운동 기록 컨텐츠 및 상기 기준 운동 컨텐츠를 재생하는 단계
를 포함하는 운동 자세 구분 방법.
18. The method of claim 17,
The step of providing the exercise record content to the user,
adjusting the length of at least one of the posture section of the user's exercise record content and the posture section of the reference exercise content based on the determined posture classification point; and
Reproducing the exercise record content and the reference exercise content synchronized by the adjustment of the posture section
A method of classifying exercise postures, including.
제1항 내지 제3항 및 제5항 내지 제18항 중 어느 한 항의 방법을 수행하기 위한 명령어를 포함하는 하나 이상의 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 기록 매체.
A computer-readable recording medium storing one or more computer programs including instructions for performing the method of any one of claims 1 to 3 and 5 to 18.
운동 자세 구분 장치에 있어서,
복수의 압력 감지 셀들을 포함하고, 사용자의 양발에 의해 각 압력 감지 셀에 가해지는 압력을 센싱하는 압력 센서;
복수의 샘플링 시점들에 대해 각 압력 감지 셀에 의해 감지된 압력 값으로부터 생성된 압력 센싱 벡터들을 포함하는 압력 센싱 데이터를 획득하고, 상기 획득된 압력 센싱 데이터에 기초하여 상기 양발에 대한 무게 밸런스를 상기 복수의 샘플링 시점들 별로 산출하며, 상기 무게 밸런스에 기초하여 상기 복수의 샘플링 시점들 중 후보 샘플링 시점을 결정하고, 상기 후보 샘플링 시점에 기초하여 상기 압력 센싱 데이터로부터 후보 입력 데이터를 추출하며, 상기 추출된 후보 입력 데이터로부터 자세 구분 모델에 기초하여 자세 구분 지점을 결정하는 프로세서; 및
상기 자세 구분 모델을 저장하는 메모리
를 포함하고,
상기 프로세서는,
상기 복수의 압력 감지 셀들에 의해 감지되는 압력 분포에 기초하여, 상기 복수의 샘플링 시점들 별로 제1 영역 및 제2 영역을 동적으로 결정하고,
상기 복수의 입력 감지 셀들 중 개별 샘플링 시점에서 결정된 상기 제1 영역에 속하는 압력 감지 셀들을 이용하여, 제1 측 압력 데이터의 해당 샘플링 시점에서의 압력 값들을 획득하며,
상기 복수의 입력 감지 셀들 중 개별 샘플링 시점에서 결정된 상기 제2 영역에 속하는 압력 감지 셀들을 이용하여 제2 측 압력 데이터의 해당 샘플링 시점에서의 압력 값들을 획득하는,
운동 자세 구분 장치.
In the exercise posture classification device,
a pressure sensor including a plurality of pressure sensing cells and sensing the pressure applied to each pressure sensing cell by the user's feet;
Obtaining pressure sensing data including pressure sensing vectors generated from the pressure value sensed by each pressure sensing cell for a plurality of sampling points, and calculating the weight balance for the feet based on the obtained pressure sensing data. Calculating for each of a plurality of sampling times, determining a candidate sampling time among the plurality of sampling times based on the weight balance, extracting candidate input data from the pressure sensing data based on the candidate sampling time, and the extraction a processor for determining a posture classification point based on the posture classification model from the candidate input data; and
Memory for storing the posture classification model
including,
The processor is
dynamically determining a first region and a second region for each of the plurality of sampling points based on a pressure distribution sensed by the plurality of pressure sensing cells;
Obtaining the pressure values at the corresponding sampling time of the first side pressure data by using the pressure sensing cells belonging to the first region determined at the individual sampling time among the plurality of input sensing cells,
Obtaining pressure values at the corresponding sampling time of the second side pressure data by using the pressure sensing cells belonging to the second area determined at the individual sampling time point among the plurality of input sensing cells,
exercise posture discrimination device.
KR1020200066993A 2020-04-02 2020-06-03 Device and method to discriminate excersice stance using pressure KR102369945B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200040520 2020-04-02
KR1020200040520 2020-04-02

Publications (2)

Publication Number Publication Date
KR20210123177A KR20210123177A (en) 2021-10-13
KR102369945B1 true KR102369945B1 (en) 2022-03-04

Family

ID=78115247

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200066993A KR102369945B1 (en) 2020-04-02 2020-06-03 Device and method to discriminate excersice stance using pressure
KR1020200110665A KR102421325B1 (en) 2020-04-02 2020-08-31 Pressure sensing device with golf mat type to sense pressure by weight of user

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020200110665A KR102421325B1 (en) 2020-04-02 2020-08-31 Pressure sensing device with golf mat type to sense pressure by weight of user

Country Status (1)

Country Link
KR (2) KR102369945B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220008788A1 (en) * 2020-07-09 2022-01-13 Donna T. Parsons Electronic visual feedback system and method of use for pilates equipment and exercises
KR102659640B1 (en) * 2021-12-28 2024-04-24 (주)모어씽즈 Apparatus, method and program for analyzing golf sway
CN115299738B (en) * 2022-08-18 2024-04-16 慕思健康睡眠股份有限公司 Body building recovery method based on mattress, mattress and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101672481B1 (en) * 2015-06-04 2016-11-04 쓰리엘랩스 주식회사 Swing posture analyzing system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100375712B1 (en) * 1999-11-24 2003-03-15 주식회사 마인드스윙 System for Measuring Distribution of Dynamic Load in Atheletic Sports and Displaying Method thereof
KR20130110614A (en) * 2012-03-29 2013-10-10 현대제철 주식회사 Monitoring device for descaler using resistive polymer
KR101574215B1 (en) * 2014-05-21 2015-12-07 한국표준과학연구원 Smart tape and smart mat based on force technology and method for detecting intrusion using smart mat, tape device based on force technology
KR101565944B1 (en) * 2014-09-15 2015-11-05 주식회사 브이아이 Motion analysis system for golf swing
KR101847503B1 (en) * 2016-03-24 2018-05-11 주식회사 에스제이테크시스템 Motion analysis and method and appratus using pressure data of feet

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101672481B1 (en) * 2015-06-04 2016-11-04 쓰리엘랩스 주식회사 Swing posture analyzing system

Also Published As

Publication number Publication date
KR102421325B1 (en) 2022-07-18
KR20210123193A (en) 2021-10-13
KR20210123177A (en) 2021-10-13

Similar Documents

Publication Publication Date Title
KR102369945B1 (en) Device and method to discriminate excersice stance using pressure
Deepa et al. Comparison of yolo, ssd, faster rcnn for real time tennis ball tracking for action decision networks
CN109191588A (en) Move teaching method, device, storage medium and electronic equipment
CN105872477A (en) Video monitoring method and system
CN109447164B (en) A kind of motor behavior method for classifying modes, system and device
CN107392939A (en) Indoor sport observation device, method and storage medium based on body-sensing technology
CN103324938A (en) Method for training attitude classifier and object classifier and method and device for detecting objects
CN104392223A (en) Method for recognizing human postures in two-dimensional video images
JP2016513999A5 (en)
CN105912991A (en) Behavior identification method based on 3D point cloud and key bone nodes
CN109670644B (en) Prediction system and method based on neural network
KR20170127550A (en) A method for determining the type of human movement activity and a device for implementing the same
Chun et al. A sensor-aided self coaching model for uncocking improvement in golf swing
Promrit et al. Model for practice badminton basic skills by using motion posture detection from video posture embedding and one-shot learning technique
CN115100744A (en) Badminton game human body posture estimation and ball path tracking method
JP2021135619A (en) Situation identification device, situation learning device, and program
US20210245005A1 (en) Implementation of machine learning for skill-improvement through cloud computing and method therefor
Couceiro et al. Parameter estimation for a mathematical model of the golf putting
CN116186561B (en) Running gesture recognition and correction method and system based on high-dimensional time sequence diagram network
Bačić Echo state network for 3D motion pattern indexing: A case study on tennis forehands
Shankar et al. Performance measurement and analysis of shooting form of basketball players using a wearable IoT system
Liwei Research on classification and recognition of badminton batting action based on machine learning
JP2021064025A (en) Position estimation device, position learning device and program
Malawski et al. Automatic analysis of techniques and body motion patterns in sport
KR102683444B1 (en) Apparatus for recognizing activity in sports video using cross granularity accumulation module and method thereof

Legal Events

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