[go: up one dir, main page]

KR102584654B1 - methods for recommending and managing of exercise lectures - Google Patents

methods for recommending and managing of exercise lectures Download PDF

Info

Publication number
KR102584654B1
KR102584654B1 KR1020220076325A KR20220076325A KR102584654B1 KR 102584654 B1 KR102584654 B1 KR 102584654B1 KR 1020220076325 A KR1020220076325 A KR 1020220076325A KR 20220076325 A KR20220076325 A KR 20220076325A KR 102584654 B1 KR102584654 B1 KR 102584654B1
Authority
KR
South Korea
Prior art keywords
lecture
exercise
information
posture
student
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020220076325A
Other languages
Korean (ko)
Inventor
이준성
Original Assignee
이준성
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이준성 filed Critical 이준성
Priority to KR1020220076325A priority Critical patent/KR102584654B1/en
Application granted granted Critical
Publication of KR102584654B1 publication Critical patent/KR102584654B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • A63B24/0006Computerised comparison for qualitative assessment of motion sequences or the course of a movement
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0075Means for generating exercise programs or schemes, e.g. computerized virtual trainer, e.g. using expert databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0613Third-party assisted
    • G06Q30/0619Neutral agent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0645Rental transactions; Leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/22Social work or social welfare, e.g. community support activities or counselling services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • A63B24/0006Computerised comparison for qualitative assessment of motion sequences or the course of a movement
    • A63B2024/0012Comparing movements or motion sequences with a registered reference
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0075Means for generating exercise programs or schemes, e.g. computerized virtual trainer, e.g. using expert databases
    • A63B2024/0081Coaching or training aspects related to a group of users

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Software Systems (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Artificial Intelligence (AREA)
  • Child & Adolescent Psychology (AREA)
  • Multimedia (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Disclosed is a method for recommending and managing exercise lectures. The method comprises the steps of: converting normal exercise images previously stored in a server into input sequences for learning by using a preprocessing module; training a posture analysis module based on the input sequences for learning and learning posture analysis information corresponding thereto; receiving exercise images from a student terminal and an instructor terminal, and preprocessing the exercise images by using the preprocessing module to generate input sequences for a plurality of joint position changes, wherein the exercise images include the student's first exercise image and the instructor's second exercise image; applying the input sequences to the posture analysis module to generate posture analysis information for the exercise images, wherein the posture analysis information includes first posture analysis information associated with the first exercise image and second posture analysis information associated with the second exercise image; comparing the first posture analysis information and the second posture analysis information to calculate posture accuracy for each part, and deriving recommended lecture lists by using the calculated posture accuracy; and providing the recommended lecture lists to the student terminal. Therefore, the method can recommend experts that suit the student's needs.

Description

운동강의 추천 및 관리 방법{methods for recommending and managing of exercise lectures}Methods for recommending and managing exercise lectures}

본 발명은 운동강의 추천 및 관리 방법에 관한 것이다. 구체적으로, 본 발명은 수강생에게 적합한 운동강의를 제공하고 수강생을 관리하는 방법에 관한 것이다.The present invention relates to a method for recommending and managing exercise classes. Specifically, the present invention relates to a method of providing appropriate exercise classes to students and managing the students.

이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section simply provides background information for this embodiment and does not constitute prior art.

국민 소득 증가와 더불어 고령화 시대로 접어들면서, 우리 사회의 기대 수명은 점진적으로 증가하고 있으며, 사회 전반적으로 삶의 질을 유지하거나 개선하기 위해 건강증진에 집중하는 추세이다.As national income increases and we enter an aging age, life expectancy in our society is gradually increasing, and society as a whole is focusing on health promotion to maintain or improve the quality of life.

건강증진은 일상생활에서 신체적으로 매일 살아가는 과정에서, 먹고, 배설하고, 호흡하고, 자고, 일하고, 쉬고, 운동하는 것을 건강하게 조치하고, 정신적인 건강한 생활을 영위하는 것을 말한다. Health promotion refers to taking healthy measures to eat, excrete, breathe, sleep, work, rest, and exercise in the process of physically living in daily life, and to lead a mentally healthy life.

건강증진을 위해, 사람들은 각자에게 필요한 운동을 선택하여 유연성, 근력, 지구력 등과 같은 항목을 향상시키고자 한다.To improve health, people choose the exercises they need to improve things like flexibility, strength, and endurance.

하지만, 정확하지 않은 잘못된 자세로 운동하는 경우, 운동자는 부상을 입어 근육/뼈/신경의 손상으로 치료가 불가피하게 필요할 수 있고, 부상을 입지 않더라도 운동 효과가 떨어지거나 없을 수 있다.However, if exercising with incorrect or incorrect posture, the exerciser may get injured and inevitably require treatment due to damage to muscles/bones/nerves, and even if no injury occurs, exercise effectiveness may be reduced or non-existent.

따라서, 운동은 올바른 자세로 하는 것이 중요하다. 이에 사람들은 전문가를 통해 지도를 받으며 운동을 하고자 한다.Therefore, it is important to exercise with correct posture. Accordingly, people want to exercise while receiving guidance from experts.

그러나, 전문가를 통해 지도를 받기 위해서도, 전문가를 선택함에 있어서 전문가를 검증할 수단과 방법은 전문가의 이력에 제한되고, 운동을 하고자 하는 사람에게 맞는 전문가를 찾기는 쉽지 않다.However, even in order to receive guidance from an expert, when selecting an expert, the means and methods to verify the expert are limited to the expert's history, and it is not easy to find an expert who is suitable for the person who wants to exercise.

추가적으로, 코로나와 같은 강제적인 환경으로 인해 오프라인 공간에서 운동을 하지 못하게 됨에 따라, 집에서 운동을 하는 홈트레이닝 산업과 비대면 운동 산업이 커지고 있다.Additionally, as people are unable to exercise in offline spaces due to forced environments such as the coronavirus, the home training industry and non-face-to-face exercise industry where people exercise at home are growing.

홈트레이닝 및 비대면 운동은 바른 운동 자세를 지도해주는 전문가가 직접적으로 옆에서 지도해주지 못한다.Home training and non-face-to-face exercise cannot be directly guided by an expert who teaches correct exercise posture.

전문가(강사)가 실시간 영상으로 제공되는 수강생의 영상을 확인하며 방향성을 제시해줄 수는 있으나, 사람의 눈으로 대략적으로 판단하여 지도할 수밖에 없어 정밀하게 자세를 지도하기 어려우며 정확도가 떨어질 수밖에 없다. An expert (instructor) can check the student's video provided in real time and suggest direction, but since he or she can only provide guidance based on rough judgment with the human eye, it is difficult to provide precise guidance on posture, and accuracy inevitably decreases.

더불어, 홈트레이닝 및 비대면 운동으로 가정 집에서 운동을 진행하는 경우가 빈번하나, 층간소음과 공간 협소 문제로 불편한 요소들을 감내하고 운동을 진행해 원활한 운동을 할 수가 없을 수 있다.In addition, there are many cases where people exercise at home through home training and non-face-to-face exercise, but due to noise between floors and narrow space, it may not be possible to exercise smoothly by enduring uncomfortable factors and exercising.

한국등록특허공보 제10-2306055호Korean Patent Publication No. 10-2306055

본 발명의 과제는, 사용자의 운동 영상을 기초로 운동 자세를 분석하고, 운동 자세를 분석한 것을 기초로 사용자의 운동을 관리하는 방법을 제공하는 것이다.The object of the present invention is to provide a method for analyzing the user's exercise posture based on the user's exercise image and managing the user's exercise based on the analyzed exercise posture.

또한, 본 발명의 다른 과제는, 운동 강사의 운동 영상을 기초로 운동 자세를 분석하여 운동 강사의 전문성을 검증하는 방법을 제공하는 것이다.In addition, another object of the present invention is to provide a method for verifying the expertise of an exercise instructor by analyzing the exercise posture based on the exercise instructor's exercise video.

또한, 본 발명의 또 다른 과제는, 사용자 맞춤 운동 강의를 추출하여 사용자에게 제공하고, 사용자가 적합한 운동 강의를 수강할 수 있도록 하는 방법을 제공하는 것이다.In addition, another object of the present invention is to provide a method for extracting user-tailored exercise lectures and providing them to the user, and allowing the user to take appropriate exercise lectures.

또한, 본 발명의 또 다른 과제는, 사용자의 환경에 맞는 운동 시설을 제공하여 사용자가 운동을 할 수 있는 환경을 제공하는 것이다.In addition, another task of the present invention is to provide an environment in which users can exercise by providing exercise facilities suited to the user's environment.

본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present invention are not limited to the objects mentioned above, and other objects and advantages of the present invention that are not mentioned can be understood by the following description and will be more clearly understood by the examples of the present invention. Additionally, it will be readily apparent that the objects and advantages of the present invention can be realized by the means and combinations thereof indicated in the patent claims.

상기 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 운동강의 추천 및 관리 방법은, 서버에 미리 저장된 정상 운동 영상을 전처리 모듈을 이용하여 학습용 입력 시퀀스로 변환하는 단계, 상기 학습용 입력 시퀀스 및 이에 대응되는 학습 자세 분석 정보를 기초로 자세 분석 모듈을 학습시키는 단계, 상기 수강생 단말 및 상기 강사 단말로부터 운동 영상을 수신하고, 상기 운동 영상을 상기 전처리 모듈을 이용하여 전처리하여 다수의 관절 위치 변화에 대한 입력 시퀀스를 생성하되, 상기 운동 영상은 상기 수강생의 제1 운동 영상과 상기 강사의 제2 운동 영상을 포함하는 단계, 상기 입력 시퀀스를 상기 자세 분석 모듈에 인가하여 상기 운동 영상에 대한 자세 분석 정보를 생성하되, 상기 자세 분석 정보는 상기 제1 운동 영상과 연관된 제1 자세 분석 정보와, 상기 제2 운동 영상과 연관된 제2 자세 분석 정보를 포함하는 단계, 상기 제1 자세 분석 정보 및 상기 제2 자세 분석 정보를 비교하여 각 부위별 자세 정확도를 산출하고, 산출된 상기 자세 정확도를 이용하여 추천 강의 리스트를 도출하는 단계 및 상기 추천 강의 리스트를 상기 수강생 단말에 제공하는 단계를 포함한다. A method for recommending and managing exercise classes according to some embodiments of the present invention to solve the above problems includes converting a normal exercise image pre-stored in a server into a learning input sequence using a preprocessing module, the learning input sequence and its corresponding Learning a posture analysis module based on learning posture analysis information, receiving exercise images from the student terminal and the instructor terminal, preprocessing the exercise images using the preprocessing module, and inputting a plurality of joint position changes Generating a sequence, wherein the exercise image includes a first exercise image of the student and a second exercise image of the instructor, applying the input sequence to the posture analysis module to generate posture analysis information for the exercise image. However, the posture analysis information includes first posture analysis information associated with the first exercise image and second posture analysis information associated with the second exercise image, the first posture analysis information and the second posture analysis. Comparing information to calculate posture accuracy for each part, deriving a list of recommended lectures using the calculated posture accuracy, and providing the list of recommended lectures to the student terminal.

또한, 상기 입력 시퀀스를 생성하는 단계는, 상기 운동 영상에 포함된 복수의 프레임의 각 프레임에서 주요 관절의 위치를 인식하는 단계, 상기 주요 관절의 위치에 대한 관절 인식 정보를 각 프레임에 적용하는 단계, 상기 관절 인식 정보의 변화를 기초로 복수의 관절 벡터를 생성하는 단계 및 상기 복수의 관절 벡터를 연속되는 프레임 순서대로 배열하여 상기 입력 시퀀스를 생성하는 단계를 더 포함할 수 있다.In addition, generating the input sequence includes recognizing the position of a main joint in each frame of a plurality of frames included in the exercise image, and applying joint recognition information about the position of the main joint to each frame. , generating a plurality of joint vectors based on changes in the joint recognition information, and arranging the plurality of joint vectors in sequential frame order to generate the input sequence.

또한, 상기 자세 분석 모듈은, 뉴럴 네트워크를 포함하는 오토인코더 및 입력 시퀀스의 이상여부를 판단하는 이상 판별부를 포함하고, 상기 자세 분석 정보를 생성하는 단계는, 상기 입력 시퀀스를 상기 오토인코더에 인가하여 출력 시퀀스를 생성하는 단계 및 상기 이상 판별부에서 상기 입력 시퀀스 및 상기 출력 시퀀스의 차이를 기초로 자세 분석 정보를 생성하는 단계를 더 포함할 수 있다.In addition, the posture analysis module includes an autoencoder including a neural network and an abnormality determination unit that determines whether the input sequence is abnormal, and the step of generating the posture analysis information includes applying the input sequence to the autoencoder. It may further include generating an output sequence and generating posture analysis information based on the difference between the input sequence and the output sequence in the abnormality determination unit.

또한, 상기 추천 강의 리스트를 도출하는 단계는, 상기 각 부위별 자세 정확도를 기초로 각 부위별 상기 수강생 및 상기 강사를 매칭한 제1 매칭 강사 정보를 생성하는 단계, 상기 제1 매칭 강사 정보 및 미리 설정된 부위 가중치를 기초로 추천 강사를 도출하는 단계 및 상기 추천 강사에 대응되는 강의를 미리 저장된 강의 정보에서 추출하여 상기 추천 강의 리스트를 도출하는 단계를 더 포함할 수 있다.In addition, the step of deriving the recommended lecture list includes generating first matching instructor information that matches the student and the instructor for each region based on the posture accuracy for each region, the first matching instructor information and The method may further include deriving a recommended instructor based on a set weight of the portion and extracting a lecture corresponding to the recommended instructor from pre-stored lecture information to derive the recommended lecture list.

또한, 상기 부위 가중치는 각 운동 종류에 따라 적어도 하나의 신체 부위에 대해 미리 설정된 값인 수 있다.Additionally, the part weight may be a preset value for at least one body part according to each exercise type.

또한, 상기 추천 강의 리스트를 도출하는 단계는, 상기 자세 정확도, 상기 수강생 단말로부터 수신한 수강생의 선호도, 상기 수강생 및 상기 강사의 시간 스케줄, 상기 수강생의 강의 장소에 대한 위치 근접도 및 강의 비용 중 둘 이상의 파라미터를 기초로 상기 추천 강의 리스트를 도출하는 단계를 더 포함할 수 있다.In addition, the step of deriving the recommended lecture list includes two of the posture accuracy, the student's preference received from the student terminal, the time schedule of the student and the instructor, the student's location proximity to the lecture location, and the lecture cost. A step of deriving the recommended lecture list based on the above parameters may be further included.

또한, 미리 저장된 수강 예정지, 미리 설정된 거리 및 제휴된 강의 시설 정보를 상기 서버에 포함된 데이터베이스부로부터 로드하는 단계, 상기 수강 예정지를 기준으로 상기 미리 설정된 거리 내 위치한 렌탈 가능한 제1 강의 시설 리스트를 추출하는 단계, 상기 제1 강의 시설 리스트 및 상기 수강생이 수강하는 강의 정보를 기초로 상기 강의 정보에 적합한 제2 강의 시설 리스트를 상기 제1 강의 시설 리스트에서 추출하는 단계 및 상기 제2 강의 시설 리스트에 포함된 각 강의 시설의 렌탈 현황 정보를 기초로 최종 강의 시설 리스트를 생성하는 단계를 더 포함할 수 있다.In addition, loading the pre-stored course schedule location, preset distance, and affiliated lecture facility information from the database unit included in the server, extracting a list of first lecture facilities available for rent located within the preset distance based on the class schedule location. A step of extracting a second lecture facility list suitable for the lecture information based on the first lecture facility list and the lecture information taken by the student from the first lecture facility list and including the second lecture facility list in the second lecture facility list. A step of generating a final lecture facility list based on the rental status information of each lecture facility may be further included.

본 발명의 운동강의 추천 및 관리 방법은, 운동강의를 강의하는 전문가의 운동 자세를 분석함으로써 전문가의 전문성을 세부적으로 검증할 수 있고, 수강생의 필요에 적합한 전문가를 추천할 수 있다.The exercise lecture recommendation and management method of the present invention can verify the expert's expertise in detail by analyzing the exercise posture of the expert teaching the exercise lecture, and recommend an expert suitable for the needs of the student.

또한, 본 발명은, 수강생의 운동 자세를 인공지능으로 분석하여 수강생의 운동 피드백을 세부적으로 제공할 수 있다.Additionally, the present invention can analyze the student's exercise posture using artificial intelligence and provide detailed exercise feedback to the student.

또한, 본 발명은, 비대면 운동 강의를 수강하는 수강생에게 운동 강의를 수강하기 위한 장소를 제공할 수 있다.Additionally, the present invention can provide a place for students taking non-face-to-face exercise classes to take exercise classes.

상술한 내용과 더불어 본 발명의 구체적인 효과는 이하 발명을 실시하기 위한 구체적인 사항을 설명하면서 함께 기술한다.In addition to the above-described content, specific effects of the present invention are described below while explaining specific details for carrying out the invention.

도 1은 본 발명의 몇몇 실시예에 따른 서버를 설명하기 위한 운동강의 추천 관리 시스템의 개략도이다.
도 2는 도 1의 서버를 세부적으로 설명하기 위한 블록도이다.
도 3은 도 2의 서버의 동작을 설명하기 위한 순서도이다.
도 4는 도 2의 운동 자세 분석부의 학습단계를 세부적으로 설명하기 위한 블록도이다.
도 5는 도 4의 전처리 모듈을 세부적으로 설명하기 위한 블록도이다.
도 6은 도 5의 전처리 모듈의 동작을 설명하기 위한 순서도이다.
도 7은 도 5의 관절 인식 모듈을 설명하기 위한 도면이다.
도 8은 도 5의 시퀀스 생성 모듈을 설명하기 위한 도면이다.
도 9는 도 2의 운동 자세 분석부의 수행단계를 세부적으로 설명하게 위한 블록도이다.
도 10은 도 9의 자세 분석 모듈을 나타내는 블록도이다.
도 11은 도 9의 자세 분석 모듈의 다른 실시예를 설명하기 위해 데이터 흐름을 나타내는 블록도이다.
도 12는 도 11의 자세 분석 모듈을 세부적으로 설명하기 위한 순서도이다.
도 13은 도 11의 오토인코더의 몇몇 예시를 설명하기 위한 블록도이다.
도 14는 도 2의 강의 추천부를 세부적으로 설명하기 위한 블록도이다.
도 15는 도 14의 강의 추천부의 동작을 세부적으로 설명하기 위한 순서도이다.
도 16은 도 15의 추천 강사를 도출하는 방법을 세부적으로 설명하기 위한 도면이다.
도 17은 도 2의 장소 예약부를 세부적으로 설명하기 위한 블록도이다.
도 18은 도 17의 장소 예약부의 동작을 세부적으로 설명하기 위한 순서도이다.
도 19는 도 17의 강의 시설 리스트를 생성하는 방법을 설명하기 위한 도면이다.
도 20은 도 2의 수강생 관리부를 세부적으로 설명하기 위한 블록도이다.
도 21은 본 발명의 몇몇 실시예에 따른 운동강의 추천 및 관리 방법을 수행하는 시스템의 하드웨어 구현을 설명하기 위한 도면이다.
1 is a schematic diagram of an exercise lecture recommendation management system to illustrate a server according to some embodiments of the present invention.
FIG. 2 is a block diagram for explaining the server of FIG. 1 in detail.
FIG. 3 is a flowchart for explaining the operation of the server of FIG. 2.
Figure 4 is a block diagram for explaining in detail the learning step of the exercise posture analysis unit of Figure 2.
FIG. 5 is a block diagram for explaining the preprocessing module of FIG. 4 in detail.
FIG. 6 is a flowchart for explaining the operation of the preprocessing module of FIG. 5.
FIG. 7 is a diagram for explaining the joint recognition module of FIG. 5.
FIG. 8 is a diagram for explaining the sequence generation module of FIG. 5.
FIG. 9 is a block diagram for explaining in detail the execution steps of the exercise posture analysis unit of FIG. 2.
FIG. 10 is a block diagram showing the posture analysis module of FIG. 9.
FIG. 11 is a block diagram showing data flow to explain another embodiment of the posture analysis module of FIG. 9.
FIG. 12 is a flowchart for explaining the posture analysis module of FIG. 11 in detail.
FIG. 13 is a block diagram to explain some examples of the autoencoder of FIG. 11.
Figure 14 is a block diagram for explaining in detail the lecture recommendation unit of Figure 2.
Figure 15 is a flowchart for explaining in detail the operation of the lecture recommendation unit of Figure 14.
FIG. 16 is a diagram for explaining in detail the method of deriving the recommended instructor of FIG. 15.
FIG. 17 is a block diagram for explaining the location reservation unit of FIG. 2 in detail.
FIG. 18 is a flowchart for explaining in detail the operation of the place reservation unit of FIG. 17.
FIG. 19 is a diagram for explaining a method of generating the lecture facility list of FIG. 17.
Figure 20 is a block diagram for explaining in detail the student management unit of Figure 2.
Figure 21 is a diagram for explaining the hardware implementation of a system that performs a method for recommending and managing exercise classes according to some embodiments of the present invention.

본 명세서 및 특허청구범위에서 사용된 용어나 단어는 일반적이거나 사전적인 의미로 한정하여 해석되어서는 아니된다. 발명자가 그 자신의 발명을 최선의 방법으로 설명하기 위해 용어나 단어의 개념을 정의할 수 있다는 원칙에 따라, 본 발명의 기술적 사상과 부합하는 의미와 개념으로 해석되어야 한다. 또한, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명이 실현되는 하나의 실시예에 불과하고, 본 발명의 기술적 사상을 전부 대변하는 것이 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 및 응용 가능한 예들이 있을 수 있음을 이해하여야 한다.Terms or words used in this specification and patent claims should not be construed as limited to their general or dictionary meaning. According to the principle that the inventor can define terms or word concepts in order to explain his or her invention in the best way, it should be interpreted with a meaning and concept consistent with the technical idea of the present invention. In addition, the embodiments described in this specification and the configurations shown in the drawings are only one embodiment of the present invention and do not completely represent the technical idea of the present invention, so they cannot be replaced at the time of filing the present application. It should be understood that there may be various equivalents, variations, and applicable examples.

본 명세서 및 특허청구범위에서 사용된 제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. '및/또는' 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B used in the present specification and claims may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, a first component may be named a second component, and similarly, the second component may also be named a first component without departing from the scope of the present invention. The term 'and/or' includes any of a plurality of related stated items or a combination of a plurality of related stated items.

본 명세서 및 특허청구범위에서 사용된 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the specification and claims are merely used to describe specific embodiments and are not intended to limit the invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, terms such as "include" or "have" should be understood as not precluding the existence or addition possibility of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification. .

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해서 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as generally understood by a person of ordinary skill in the technical field to which the present invention pertains.

일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and unless clearly defined in the present application, should not be interpreted in an ideal or excessively formal sense. No.

또한, 본 발명의 각 실시예에 포함된 각 구성, 과정, 공정 또는 방법 등은 기술적으로 상호 간 모순되지 않는 범위 내에서 공유될 수 있다. Additionally, each configuration, process, process, or method included in each embodiment of the present invention may be shared within the scope of not being technically contradictory to each other.

이하에서는, 도 1 내지 도 21을 참조하여 본 발명의 몇몇 실시예에 따른 운동강의 추천 관리 시스템에서 수행되는 운동강의 추천 및 관리 방법에 대해 살펴보도록 한다.Hereinafter, with reference to FIGS. 1 to 21, we will look at the exercise lesson recommendation and management method performed in the exercise lesson recommendation management system according to some embodiments of the present invention.

도 1은 본 발명의 몇몇 실시예에 따른 운동강의 추천 관리 시스템을 설명하기 위한 개략도이다.1 is a schematic diagram illustrating an exercise lecture recommendation management system according to some embodiments of the present invention.

도 1을 참조하면, 본 발명의 몇몇 실시예에 따른 운동강의 추천 관리 시스템은, 서버(100), 수강생 단말(200) 및 강사 단말(300)을 포함할 수 있다.Referring to FIG. 1, an exercise lecture recommendation management system according to some embodiments of the present invention may include a server 100, a student terminal 200, and an instructor terminal 300.

수강생 단말(200)과 강사 단말(300)은 네트워크로 서버(100)와 통신이 가능한 사용자 기기이다. 예를 들어, 수강생 단말(200)과 강사 단말(300)은 휴대폰, 스마트폰 및 웨어러블 디바이스(예를 들어, 워치형 단말기 등) 고유 식별 번호를 가질 수 있는 이동가능한 전자 장치를 의미할 수 있다. 여기서 수강생 단말(200)과 강사 단말(300)은 특정 운영 체제(예를 들어, 아이오에스(ios) 또는 안드로이드(Android) 운영체제)에 한정되지 않음은 물론이다. 또한, 수강생 단말(200)과 강사 단말(300)은 사용자의 입력을 수신하는 단말기입력부, 네트워크(400)로 수신된 정보를 디스플레이(Display)하는 단말기디스플레이부, 외부와 신호를 송수신하는 단말기통신부 및 데이터를 프로세싱하고 수강생 단말(200)과 강사 단말(300)의 각 내부의 각 유닛들을 제어하며 유닛들 간의 데이터 송/수신을 제어하는 단말기제어부를 포함할 수 있다.The student terminal 200 and the instructor terminal 300 are user devices capable of communicating with the server 100 over a network. For example, the student terminal 200 and the instructor terminal 300 may refer to mobile electronic devices such as mobile phones, smartphones, and wearable devices (eg, watch-type terminals, etc.) that may have unique identification numbers. Here, the student terminal 200 and the instructor terminal 300 are of course not limited to a specific operating system (eg, iOS or Android operating system). In addition, the student terminal 200 and the instructor terminal 300 include a terminal input unit that receives user input, a terminal display unit that displays information received through the network 400, a terminal communication unit that transmits and receives signals to and from the outside, and It may include a terminal control unit that processes data, controls each internal unit of the student terminal 200 and the instructor terminal 300, and controls data transmission/reception between the units.

또한, 수강생 단말(200)과 강사 단말(300)은 운동 영상을 촬영할 수 있는 카메라 모듈을 포함한 장치일 수 있다. 수강생 단말(200)은 카메라 모듈로 수강생의 운동하는 자세를 촬영한 제1 운동 영상을 서버(100)로 전달할 수 있다. 강사 단말(300)은 카메라 모듈을 이용하여 강사의 운동하는 자세를 촬영한 제2 운동 영상을 서버(100)로 전달할 수 있다. 여기에서, 제1 및 제2 운동 영상은 이미지 또는 동영상일 수 있다.Additionally, the student terminal 200 and the instructor terminal 300 may be devices including a camera module capable of recording exercise images. The student terminal 200 may transmit the first exercise image captured by the student's exercise posture using a camera module to the server 100. The instructor terminal 300 may transmit a second exercise video captured of the instructor's exercise posture to the server 100 using a camera module. Here, the first and second exercise images may be images or videos.

추가적으로, 본 발명의 다른 실시예에서, 운동강의 추천 관리 시스템은 별도의 촬영 장치를 더 포함하고, 촬영 장치는 제휴된 강의 시설에 설치되어 있을 수 있다. 촬영 장치는 제1 및 제2 운동 영상을 각각 촬영하여 서버(100)에 제공할 수 있다. 또한, 촬영 장치는 연속된 이미지들로 구성된 모션 데이터를 생성하고 서버(100)에 제공할 수 있다. 이하에서는, 설명의 편의를 위하여 수강생 단말(200)이 수강생의 제1 운동 영상을 촬영하고, 강사 단말(300)은 강사의 제2 운동 영상을 촬영한 것을 예로 들어 설명하도록 한다.Additionally, in another embodiment of the present invention, the exercise lecture recommendation management system further includes a separate photographing device, and the photographing device may be installed in an affiliated lecture facility. The imaging device may capture the first and second exercise images respectively and provide them to the server 100. Additionally, the photographing device may generate motion data consisting of continuous images and provide the motion data to the server 100. Hereinafter, for convenience of explanation, an example will be given where the student terminal 200 captures the student's first exercise video and the instructor terminal 300 captures the instructor's second exercise video.

도 2는 도 1의 서버를 세부적으로 설명하기 위한 블록도이고, 도 3은 도 2의 서버의 동작을 설명하기 위한 순서도이다.FIG. 2 is a block diagram for explaining the server of FIG. 1 in detail, and FIG. 3 is a flow chart for explaining the operation of the server of FIG. 2.

도 2를 참조하면, 서버(100)는 데이터 수신부(110), 데이터베이스부(120), 운동 자세 분석부(130), 강의 추천부(140), 장소 예약부(150), 수강생 관리부(160) 및 제어부(170)을 포함할 수 있다.Referring to FIG. 2, the server 100 includes a data reception unit 110, a database unit 120, an exercise posture analysis unit 130, a lecture recommendation unit 140, a venue reservation unit 150, and a student management unit 160. and a control unit 170.

구체적으로, 데이터 수신부(110)는 서버(100)의 각 요소가 필요한 데이터를 수신할 수 있다. 예를 들어, 데이터 수신부(110)는 수강생 단말(200)로부터 제1 운동 영상, 수강생의 선호도, 수강생의 시간 스케줄 및 수강 예정지를 수신하고 서버(100) 내의 다른 구성요소에 전달할 수 있다. 또한, 데이터 수신부(110)는 강사 단말(300)로부터 제2 운동 영상 및 강사의 시간 스케줄을 수신하고, 수신된 제2 운동 영상 및 시간의 시간 스케줄을 서버(100)내의 다른 구성요소에 전달할 수 있다. 데이터 수신부(110)는 다양한 통신 모듈이 이용될 수 있으며, 네트워크를 통해 서버(100), 수강생 단말(200) 및 강사 단말(300) 사이의 데이터 교환을 수행할 수 있다. 데이터 수신부(110)가 수신하고 전달하는 각 데이터는 서버(100)에 포함된 각 구성요소를 설명하면서 자세히 후술하도록 한다.Specifically, the data receiving unit 110 can receive data required by each element of the server 100. For example, the data receiving unit 110 may receive the first exercise image, the student's preference, the student's time schedule, and the scheduled class date from the student terminal 200 and transmit them to other components in the server 100. In addition, the data receiving unit 110 may receive the second exercise image and the instructor's time schedule from the instructor terminal 300, and transmit the received second exercise image and time schedule to other components in the server 100. there is. The data receiving unit 110 may use various communication modules and may exchange data between the server 100, the student terminal 200, and the instructor terminal 300 through a network. Each data received and transmitted by the data receiving unit 110 will be described in detail later while explaining each component included in the server 100.

데이터베이스부(120)는 서버(100)의 적어도 하나의 구성요소에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터베이스부(120)에 저장되는 데이터는, 소프트웨어 및 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다.The database unit 120 may store various data used by at least one component of the server 100. Data stored in the database unit 120 may include input data or output data for software and commands related thereto.

또한, 데이터베이스부(120)는 각 운동 종류에 대한 정상 운동 영상의 집합인 정상운동 데이터셋 및 운동강의에 대한 강의 정보를 미리 저장할 수 있다.Additionally, the database unit 120 may store in advance a normal exercise dataset, which is a set of normal exercise images for each type of exercise, and lecture information on exercise lectures.

정상운동 데이터셋은 각 운동 종류에 대해, 올바른 자세로 운동하는 정상 운동 영상을 포함할 수 있다. 또한, 정상운동 데이터셋은 각 운동마다 적어도 하나의 정상 운동 영상을 포함하여 서버(100)가 운동 자세를 정확하게 분석할 수 있도록 한다. 예를 들어, 정상운동 데이터셋은, 스쿼트 운동에 대한 정상 운동 영상을 각 연령별로 적어도 하나씩 포함할 수 있다. 또한, 정상운동 데이터셋은 정상 운동 영상에 대응한 학습 자세 분석 정보를 매핑하여 포함할 수 있다. 여기에서, 학습 자세 분석 정보는 자세 분석 정보로서 정상 운동 영상의 정확도를 나타내는 수치 값을 포함할 수 있다. 예를 들어, 정확도가 0에서 1 사이 범주의 확률값으로 정의되는 경우, 학습 자세 분석 정보는 1이거나 1에 가까운 값일 수 있다. 다만, 이러한 설명은 단순히 예시적인 것이며, 본 발명의 실시예가 이에 한정되는 것은 아니다. The normal exercise dataset may include images of normal exercise in the correct posture for each type of exercise. Additionally, the normal exercise dataset includes at least one normal exercise image for each exercise, allowing the server 100 to accurately analyze the exercise posture. For example, the normal exercise dataset may include at least one normal exercise image for the squat exercise for each age. Additionally, the normal exercise dataset may include mapping of learning posture analysis information corresponding to the normal exercise image. Here, the learning posture analysis information is posture analysis information and may include a numerical value indicating the accuracy of the normal exercise image. For example, if accuracy is defined as a probability value in the range from 0 to 1, the learning attitude analysis information may be 1 or a value close to 1. However, this description is merely illustrative, and the embodiments of the present invention are not limited thereto.

강의 정보는 적어도 하나의 운동에 대해 개설된 강의에 대한 정보로서, 각 강의마다 강의 식별값, 강의명, 운동 종류, 강사 식별값, 강의 일정, 수강료, 강의 장소 및 비대면 여부를 포함할 수 있다. 또한, 강의 정보는, 본 발명에서 각 강사의 제2 운동 영상을 기초로 강사의 운동 자세를 분석한 자세 분석 정보(이하, 제2 자세 분석 정보)를 기초로 산정된 강사를 평가한 강사 등급을 포함할 수 있다.Lecture information is information about lectures offered for at least one exercise, and for each lecture, it may include lecture identification, lecture name, exercise type, instructor identification, lecture schedule, tuition, lecture location, and non-face-to-face status. In addition, the lecture information includes an instructor rating that evaluates the instructor calculated based on posture analysis information (hereinafter referred to as second posture analysis information) that analyzes the instructor's exercise posture based on the second exercise video of each instructor in the present invention. It can be included.

또한, 데이터베이스부(120)는 운동 자세 분석부(130)에서 전처리한 입력 시퀀스 및 운동 자세 분석부(130)에서 생성한 자세 분석 정보를 저장하고 관리할 수 있다. Additionally, the database unit 120 may store and manage the input sequence preprocessed by the exercise posture analysis unit 130 and the posture analysis information generated by the exercise posture analysis unit 130.

운동 자세 분석부(130)는 데이터베이스부(120)에 저장된 정상운동 데이터셋을 기초로 학습되며, 수강생 단말(200)로부터 수신된 제1 운동 영상 및 강사 단말(300)로부터 수신된 제2 운동 영상의 각 운동 자세를 분석하여 자세 분석 정보를 각각 생성할 수 있다. 예를 들어, 운동 자세 분석부(130)는 제1 운동 영상을 분석하여 제1 자세 분석 정보를 생성하고, 제2 운동 영상을 분석하여 제2 자세 분석 정보를 생성할 수 있다. 운동 자세 분석부(130)에 대한 자세한 설명은 도 4 내지 도 13을 참조하여 후술하도록 한다.The exercise posture analysis unit 130 is learned based on the normal exercise data set stored in the database unit 120, and the first exercise image received from the student terminal 200 and the second exercise image received from the instructor terminal 300. By analyzing each exercise posture, posture analysis information can be generated. For example, the exercise posture analysis unit 130 may analyze the first exercise image to generate first posture analysis information and analyze the second exercise image to generate second posture analysis information. A detailed description of the exercise posture analysis unit 130 will be described later with reference to FIGS. 4 to 13.

강의 추천부(140)는 운동 자세 분석부(130)가 생성한 자세 분석 정보를 기초로 추천 강사 및 추천 강의 리스트를 도출할 수 있다. 예를 들어, 강의 추천부(140)는 제1 및 제2 자세 분석 정보, 수강생의 선호도, 수강생과 강의에 대한 시간 스케줄, 위치 근접도 및 강의 비용 중 적어도 어느 하나를 기초로 추천 강의 리스트를 도출하고 수강생 단말(200)에 제공할 수 있다. 이에 대한 자세한 설명은 도 14 내지 도 16을 참조하여 후술하도록 한다.The lecture recommendation unit 140 may derive a list of recommended instructors and recommended lectures based on the posture analysis information generated by the exercise posture analysis unit 130. For example, the lecture recommendation unit 140 derives a list of recommended lectures based on at least one of the first and second posture analysis information, the student's preference, the time schedule for the student and the lecture, location proximity, and lecture cost. and can be provided to the student terminal 200. A detailed description of this will be provided later with reference to FIGS. 14 to 16.

장소 예약부(150)는 수강 신청 정보와 연관된 강의 시설 중 렌탈이 가능한 강의 시설에 대한 최종 강의 시설 리스트를 생성하고, 최종 강의 시설 리스트를 수강생 단말(200)에 제공할 수 있다. 수강 신청 정보는 수강생 단말(200)로부터 수신된 것으로 강의 추천부(140)가 생성한 추천 강의 리스트 중 적어도 어느 하나에 대응하여 강의를 신청한 정보이다. 장소 예약부(150)에 대한 자세한 설명은 도 17 내지 도 19를 참조하여 후술하도록 한다.The venue reservation unit 150 may generate a final lecture facility list of lecture facilities available for rental among lecture facilities associated with course application information and provide the final lecture facility list to the student terminal 200. The course application information is received from the student terminal 200 and is information about a course application corresponding to at least one of the recommended course list generated by the course recommendation unit 140. A detailed description of the place reservation unit 150 will be described later with reference to FIGS. 17 to 19.

수강생 관리부(160)는 수강생 단말(200)에 대응하는 수강 신청 정보를 포함하는 수강 이력을 기초로 수강생 단말(200)에 수강 관리를 하는 스케줄 알림 정보를 제공할 수 있다. 또한, 수강생 관리부(160)는 수강생 단말(200)과 연관되어 운동 자세 분석부(130)가 생성한 제1 자세 분석 정보 및 인바디 정보를 기초로 수강생 단말(200)에 운동 피드백 정보를 제공할 수 있다. 이에 대한 구체적인 설명은 도 20을 참조하여 후술하도록 한다.The student management unit 160 may provide schedule notification information for course management to the student terminal 200 based on the course history including course application information corresponding to the student terminal 200. In addition, the student management unit 160 may provide exercise feedback information to the student terminal 200 based on the first posture analysis information and InBody information generated by the exercise posture analysis unit 130 in association with the student terminal 200. there is. A detailed description of this will be provided later with reference to FIG. 20.

제어부(170)는 서버(100)에 포함된 각 구성요소의 동작을 제어하는 기능을 수행한다. 제어부(170)는 각 구성요소 간의 연결, 데이터 교환, 명령 수행 등의 동작을 수행할 수 있다. 따라서, 서버(100)에서 수행되는 운동강의 추천 및 관리의 수행주체는 제어부(170)일 수 있다.The control unit 170 performs a function of controlling the operation of each component included in the server 100. The control unit 170 can perform operations such as connection between each component, data exchange, and command execution. Accordingly, the controller 170 may be the entity responsible for recommending and managing exercise classes performed by the server 100.

이하에서는, 본 발명의 몇몇 실시예에 따른 서버(100)의 동작을 도 3 및 도 4를 참조하여 서술한다.Below, the operation of the server 100 according to some embodiments of the present invention will be described with reference to FIGS. 3 and 4.

도 3은 도 2의 서버의 동작을 설명하기 위한 순서도이다. 도 4는 도 2의 운동 자세 분석부의 학습단계를 세부적으로 설명하기 위한 블록도이다.FIG. 3 is a flowchart for explaining the operation of the server of FIG. 2. Figure 4 is a block diagram for explaining in detail the learning step of the exercise posture analysis unit of Figure 2.

도 3 및 도 4를 참조하면, 운동 자세 분석부(130)는 데이터베이스부(120)에 저장된 정상 운동 영상을 기초로 운동 자세 분석부(130)에 포함된 자세 분석 모듈(133)을 학습시킬 수 있다.3 and 4, the exercise posture analysis unit 130 can learn the posture analysis module 133 included in the exercise posture analysis unit 130 based on the normal exercise image stored in the database unit 120. there is.

구체적으로, 운동 자세 분석부(130)는 데이터베이스부(120)에 저장된 정상 운동 영상을 전처리 모듈(131)을 이용하여 학습용 입력 시퀀스로 변환할 수 있다(S110). 운동 자세 분석부(130)가 전처리 모듈(131)을 이용하여 운동 영상을 전처리하는 자세한 설명은 도 5 내지 도8을 참조하여 후술하도록 한다.Specifically, the exercise posture analysis unit 130 may convert the normal exercise image stored in the database unit 120 into an input sequence for learning using the preprocessing module 131 (S110). A detailed description of how the exercise posture analysis unit 130 preprocesses the exercise image using the preprocessing module 131 will be described later with reference to FIGS. 5 to 8 .

운동 자세 분석부(130)는 학습용 입력 시퀀스 및 이에 대응하는 자세 분석 정보를 기초로 자세 분석 모듈(133)을 학습시킬 수 있다(S120). 본 발명의 운동 자세 분석부(130)의 전처리 및 학습 단계에 대한 동작은, 도 4 내지 도 8을 참조하여 자세히 후술하도록 한다.The exercise posture analysis unit 130 may learn the posture analysis module 133 based on the learning input sequence and the corresponding posture analysis information (S120). The operations of the pre-processing and learning steps of the exercise posture analysis unit 130 of the present invention will be described in detail later with reference to FIGS. 4 to 8.

이어서, 데이터 수신부(110)는 수강생 단말(200) 및 강사 단말(300)로부터 운동 자세에 대한 운동 영상을 각각 수신하고, 운동 자세 분석부(130)는 각 운동 영상을 전처리하여 다수의 관절 위치 변화에 대한 입력 시퀀스를 생성할 수 있다(S130).Subsequently, the data receiving unit 110 receives exercise images for the exercise posture from the student terminal 200 and the instructor terminal 300, and the exercise posture analysis unit 130 preprocesses each exercise image to change a plurality of joint positions. An input sequence for can be created (S130).

이어서, 운동 자세 분석부(130)는, 생성된 입력 시퀀스를 자세 분석 모듈(133)에 인가하여 운동 영상에 대한 자세 분석 정보를 생성할 수 있다(S140).Next, the exercise posture analysis unit 130 may generate posture analysis information for the exercise image by applying the generated input sequence to the posture analysis module 133 (S140).

이어서, 강의 추천부(140)는 운동 자세 분석부(130)가 생성한 자세 분석 정보를 기초로 각 부위별 자세 정확도를 산출할 수 있다(S150).Next, the lecture recommendation unit 140 may calculate the posture accuracy for each part based on the posture analysis information generated by the exercise posture analysis unit 130 (S150).

이어서, 강의 추천부(140)는 산출된 자세 정확도 및 미리 설정된 부위 가중치를 기초로 추천 강사를 도출할 수 있다(S160). 또한, 강의 추천부(140)는 추천 강사와 대응하는 추천 강의 리스트를 추출할 수 있다(S170).Subsequently, the lecture recommendation unit 140 may derive a recommended instructor based on the calculated posture accuracy and the preset weight of the part (S160). Additionally, the lecture recommendation unit 140 may extract a list of recommended lectures corresponding to the recommended instructor (S170).

이어서, 데이터 수신부(110)는 강의 추천부(140)가 생성한 추천 강의 리스트를 수강생 단말(200)에 제공하고 수강 신청 정보를 수신할 수 있다(S180).Next, the data receiver 110 may provide the list of recommended lectures generated by the lecture recommendation unit 140 to the student terminal 200 and receive course registration information (S180).

이하에서는, 본 발명의 몇몇 실시예에 따른 운동 자세 분석부(130)의 전처리 및 학습에 대한 동작을 자세히 서술하도록 한다.Hereinafter, the preprocessing and learning operations of the exercise posture analysis unit 130 according to some embodiments of the present invention will be described in detail.

도 5는 도 4의 전처리 모듈을 세부적으로 설명하기 위한 블록도이다. 도 6은 도 5의 전처리 모듈의 동작을 설명하기 위한 순서도이다. 도 7은 도 5의 관절 인식 모듈을 설명하기 위한 도면이다. 도 8은 도 5의 시퀀스 생성 모듈을 설명하기 위한 도면이다.FIG. 5 is a block diagram for explaining the preprocessing module of FIG. 4 in detail. FIG. 6 is a flowchart for explaining the operation of the preprocessing module of FIG. 5. FIG. 7 is a diagram for explaining the joint recognition module of FIG. 5. FIG. 8 is a diagram for explaining the sequence generation module of FIG. 5.

도 4 및 도 5를 참조하면, 운동 자세 분석부(130)는 전처리 모듈(131) 및 자세 분석 모듈(133)을 포함할 수 있다.Referring to FIGS. 4 and 5 , the exercise posture analysis unit 130 may include a preprocessing module 131 and a posture analysis module 133.

이때, 전처리 모듈(131)은 관절 인식 모듈(131a), 관절 벡터 변환 모듈(131b) 및 시퀀스 생성 모듈(131c)을 포함할 수 있다.At this time, the preprocessing module 131 may include a joint recognition module 131a, a joint vector conversion module 131b, and a sequence generation module 131c.

운동 자세 분석부(130)는 데이터베이스부(120)에 저장된 정상 운동 영상을 로드하여 전처리 모듈(131)에 인가할 수 있다.The exercise posture analysis unit 130 may load the normal exercise image stored in the database unit 120 and apply it to the preprocessing module 131.

구체적으로, 도 5 내지 도 7를 참조하면, 전처리 모듈(131)의 관절 인식 모듈(131a)은 정상 운동 영상에 포함된 복수의 프레임(FS)의 각 프레임에서 주요 관절의 위치(b)를 인식할 수 있다(S111).Specifically, referring to FIGS. 5 to 7, the joint recognition module 131a of the preprocessing module 131 recognizes the position (b) of the main joint in each frame of the plurality of frames (FS) included in the normal motion image. You can do it (S111).

추가적으로, 관절 인식 모듈(131a)은 인식한 관절의 위치(b)를 그룹핑하여 인식할 수 있다. 예를 들어, 도 7의 e1에 도시된 것과 같이, 인식되는 관절의 위치(B)는 상체(UB), 하체(LB), 상체(UB)에 포함된 암(A) 및 하체(LB) 등으로 그룹핑될 수 있다.Additionally, the joint recognition module 131a can recognize the positions (b) of the recognized joints by grouping them. For example, as shown in e1 of Figure 7, the position of the recognized joint (B) is the upper body (UB), the lower body (LB), the arm (A) included in the upper body (UB), the lower body (LB), etc. Can be grouped into .

이어서, 관절 인식 모듈(131a)은 인식한 관절의 종류 및 인식한 각 관절 위치 간의 연결 관계를 포함한 관절 인식 정보를 각 프레임에 적용할 수 있다(S112). Subsequently, the joint recognition module 131a may apply joint recognition information, including the type of recognized joint and the connection relationship between the positions of each recognized joint, to each frame (S112).

여기에서, 관절 인식 정보는, 도 7을 참조하면, 인식한 관절의 종류 및 각 관절의 위치(b) 간의 연결 관계에 대한 정보를 포함할 수 있다. 예를 들어, 관절 인식 정보는 인식한 제1 관절(b1)과 제2 관절(b2)의 각 관절 종류 및 제1 관절(b1)과 제2 관절(b2)의 관계 정보를 포함할 수 있다. 구체적으로, 제1 관절(b1)의 종류는 발목이고, 제2 관절(b2)의 종류는 무릎인 경우, 제1 관절(b1)과 제2 관절(b2)은 경골과 종아리뼈로 연결되어 있어 상호 움직임에 영향을 주는 그룹으로 그룹핑하여 제1 관절과 제2 관절에 대한 관계 정보가 생성될 수 있다. Here, with reference to FIG. 7 , the joint recognition information may include information about the connection relationship between the type of recognized joint and the position (b) of each joint. For example, the joint recognition information may include each joint type of the recognized first joint (b1) and the second joint (b2) and relationship information between the first joint (b1) and the second joint (b2). Specifically, when the type of the first joint (b1) is the ankle and the type of the second joint (b2) is the knee, the first joint (b1) and the second joint (b2) are connected by the tibia and fibula. Relationship information about the first joint and the second joint can be generated by grouping them into groups that affect each other's movements.

또한, 관절 인식 모듈(131a)이 인식된 적어도 하나의 관절에 대해 그룹핑되는 경우, 인식된 각 관절은 중첩으로 그룹핑될 수도 있다. 예를 들어, 관절 인식 모듈(131a)은 제1 관절(b1), 제2 관절(b2) 및 제3 관절(b3)을 하나로 그룹핑하여 제1 그룹핑을 생성할 수 있고, 제3 관절(b3)은 고관절로 제1 그룹핑과 다른 제2 그룹핑에 각각 포함될 수 있다.Additionally, when the joint recognition module 131a is grouped for at least one recognized joint, each recognized joint may be grouped as an overlap. For example, the joint recognition module 131a may generate a first grouping by grouping the first joint (b1), the second joint (b2), and the third joint (b3) into one, and the third joint (b3) may be included in a second grouping that is different from the first grouping as a hip joint.

또한, 그룹핑은 운동 종류에 따라 설정된 기준에 따라 그룹핑될 수 있다. 다만, 이러한 설명은 단순히 예시적인 것이며, 실시예들이 이러한 설명에 제한되는 것은 아니다. Additionally, grouping may be done according to criteria set according to the type of exercise. However, this description is merely illustrative, and the embodiments are not limited to this description.

본 발명의 또 다른 실시예들에 있어서, 관절 인식 모듈(131a)는 복수의 프레임(FS)을 포함한 운동 영상 및 이에 대응하는 운동 종류를 수신할 수 있다. 관절 인식 모듈(131a)은 수신한 운동 종류에 대응한 인식 관절 리스트를 생성하고, 생성한 인식 관절 리스트를 기초로 각 프레임 상 관절의 위치(b)를 인식하여 복수의 관절 프레임(JFS)을 생성할 수 있다. 관절은 운동 종류마다 인식할 관절의 종류 및 개수는 동일하거나 다를 수도 있다. 본 발명의 실시예가 이에 한정되는 것은 아니다. 본 발명의 다른 실시예에서 관절 인식 모듈은 다양하게 변형되어 실시될 수 있다.In still other embodiments of the present invention, the joint recognition module 131a may receive a motion image including a plurality of frames FS and a corresponding exercise type. The joint recognition module 131a generates a recognition joint list corresponding to the received exercise type, recognizes the position (b) of the joint in each frame based on the generated recognition joint list, and generates a plurality of joint frames (JFS). can do. The type and number of joints to be recognized for each type of exercise may be the same or different. The embodiments of the present invention are not limited thereto. In other embodiments of the present invention, the joint recognition module may be implemented in various modifications.

이어서, 관절 인식 모듈(131a)은 관절 인식 정보를 각 프레임에 적용한 복수의 관절 프레임(JFS)을 관절 벡터 변환 모듈(131b)에 전달할 수 있다.Subsequently, the joint recognition module 131a may transmit a plurality of joint frames (JFS) to which joint recognition information is applied to each frame to the joint vector conversion module 131b.

복수의 관절 프레임(JFS)은 각 프레임 및 관절 인식 정보이 통합된 프레임일 수 있다. 또한, 복수의 관절 프레임(JFS)은 관절 인식 정보의 그룹핑된 기준에 따라 각 그룹핑마다 복수의 관절 프레임(JFS)이 생성될 수 있다. 다만, 이러한 설명은 단순히 예시적인 것으로, 실시예들이 이러한 설명에 제한되는 것은 아니다.A plurality of joint frames (JFS) may be a frame in which each frame and joint recognition information are integrated. Additionally, a plurality of joint frames (JFS) may be generated for each grouping according to the grouping criteria of the joint recognition information. However, this description is merely illustrative, and the embodiments are not limited to this description.

이어서, 관절 벡터 변환 모듈(131b)은 프레임에 포함된 관절 인식 정보의 변화를 기초로 복수의 관절 벡터를 생성할 수 있다(S113). Next, the joint vector conversion module 131b may generate a plurality of joint vectors based on changes in joint recognition information included in the frame (S113).

예를 들어, 관절 벡터 변환 모듈(131b)은 복수의 레이어셋을 거쳐 복수의 관절 프레임(JFS)의 차원을 변환하여 복수의 관절 벡터(JFS')를 생성할 수 있다. 각 레이어셋은 각각 다른 차원일 수 있으며, 마지막 레이어셋은 미리 설정된 차원 크기일 수 있다. For example, the joint vector conversion module 131b may generate a plurality of joint vectors (JFS') by converting the dimensions of a plurality of joint frames (JFS) through a plurality of layer sets. Each layer set may have a different dimension, and the last layer set may have a preset dimension size.

예를 들어, 복수의 관절 프레임(JFS)은 제1 프레임(F1), 제2 프레임(F2), 제3 프레임(F3) 및 제4 프레임(F4)을 포함하는 경우, 100 x 100 x 3의 차원을 갖는 제1 프레임(F1)은 제1 레이어를 거치면서 100 x 100 x 64의 차원으로 변환되고, 다수의 레이어를 거치면서 최종적으로 미리 설정된 차원의 크기로 변환될 수 있다. 최종적으로 변환되는 차원은 1 x 1 x 1000 차원으로 변환될 수 있다. 최종적으로 결정되는 차원은 미리 설정된 차원 크기일 수 있다. 다만 이러한 설명은 단순히 예시적인 것이며, 실시예들이 이러한 설명에 제한되는 것은 아니다.For example, when the plurality of jointed frames (JFS) includes a first frame (F1), a second frame (F2), a third frame (F3), and a fourth frame (F4), the The first frame (F1) having dimensions may be converted to dimensions of 100 The final converted dimension can be converted to a 1 x 1 x 1000 dimension. The dimension that is finally determined may be a preset dimension size. However, this description is merely illustrative, and the embodiments are not limited to this description.

또한, 본 발명의 또 다른 실시예들에 있어서, 복수의 관절 벡터(JFS')는, 복수의 관절 프레임(JFS)의 어느 한 프레임 내 포함된 관절 인식 정보를 기초로 그룹핑되어 한 프레임 당 복수의 관절 벡터(JFS')가 생성될 수도 있다. 다만, 이는 하나의 예시에 불과하고, 실시예들이 이러한 설명에 제한되는 것은 아니다.In addition, in other embodiments of the present invention, the plurality of joint vectors (JFS') are grouped based on joint recognition information included in one frame of the plurality of joint frames (JFS), and are grouped into a plurality of joint vectors per frame. A joint vector (JFS') may be created. However, this is only an example, and the embodiments are not limited to this description.

이어서, 도 5, 도 6 및 도 8을 참조하면, 시퀀스 생성 모듈(131c)은 관절 벡터 변환 모듈(131b)이 생성한 복수의 관절 벡터(JFS')를 연속되는 프레임의 순서대로 배열하여 운동 영상에 대한 입력 시퀀스를 생성할 수 있다(S114). 또한, 시퀀스 생성 모듈(131c)은 다른 실시예에 있어서, 복수의 관절 벡터(JFS')를 연속되는 프레임의 순서대로 배열하고 복수의 관절 벡터(JFS')간 상호 내적하여 입력 시퀀스를 생성할 수 있다.Next, referring to FIGS. 5, 6, and 8, the sequence generation module 131c arranges the plurality of joint vectors (JFS') generated by the joint vector conversion module 131b in the order of consecutive frames to create an exercise image. An input sequence for can be generated (S114). Additionally, in another embodiment, the sequence generation module 131c may generate an input sequence by arranging a plurality of joint vectors (JFS') in the order of consecutive frames and performing a mutual inner product between the plurality of joint vectors (JFS'). there is.

또한, 시퀀스 생성 모듈(131c)은 복수의 관절 벡터(JFS')에 미리 정해진 단위의 윈도우(W)를 적용하여 입력 시퀀스를 생성할 수 있다. 다만, 이러한 설명은 단순히 예시적인 것으로, 실시예들이 이러한 설명에 제한되는 것은 아니다.Additionally, the sequence generation module 131c may generate an input sequence by applying a window (W) of a predetermined unit to a plurality of joint vectors (JFS'). However, this description is merely illustrative, and the embodiments are not limited to this description.

이어서, 도 4를 참조하면, 운동 자세 분석부(130)는 정상 운동 영상을 전처리 모듈(131)에 인가하여 생성된 학습용 입력 시퀀스 및 학습 자세 분석 정보(PI)를 자세 분석 모듈(133)에 인가하여 자세 분석 모듈(133)을 학습시킬 수 있다.Next, referring to FIG. 4, the exercise posture analysis unit 130 applies the learning input sequence and learning posture analysis information (PI) generated by applying the normal exercise image to the preprocessing module 131 to the posture analysis module 133. Thus, the posture analysis module 133 can be learned.

예를 들어, 운동 자세 분석부(130)는 정상 운동 영상에 대해 정답이 있는 학습 분석 정보(PI) 및 학습용 입력 시퀀스를 기초로 자세 분석 모듈(133)을 지도학습시킬 수 있다. For example, the exercise posture analysis unit 130 may perform supervised learning for the posture analysis module 133 based on learning analysis information (PI) with the correct answer for a normal exercise image and a learning input sequence.

여기에서, 학습 자세 분석 정보(PI)는 정상 운동 영상에 대한 자세 분석 정보로 각 신체 부위별로 정확도가 구분되어 생성될 수 있다. 예를 들어, 학습 자세 분석 정보(PI)는 상체 모션 정확도, 암 모션 정확도, 하체 모션 정확도 및 다리 모션 정확도 등을 포함할 수 있다. 예를 들어, 자세 분석 정보는 확률 값이고, 학습 자세 분석 정보(PI)에 포함된 각 모션 정확도는 1에 근접하거나 1일 수 있다. 또한, 학습 자세 분석 정보(PI)는 운동 종류에 따라 학습 자세 분석 정보(PI)에 포함된 모션 정확도 종류는 다르게 구성될 수 있다. 다만, 이러한 설명은 단순히 예시적인 것이며, 실시예들이 이러한 설명에 제한되는 것은 아니다.Here, learning posture analysis information (PI) is posture analysis information for a normal exercise image and can be generated by dividing the accuracy for each body part. For example, learning posture analysis information (PI) may include upper body motion accuracy, arm motion accuracy, lower body motion accuracy, leg motion accuracy, etc. For example, the posture analysis information is a probability value, and each motion accuracy included in the learning posture analysis information (PI) may be close to 1 or may be 1. Additionally, the type of motion accuracy included in the learning posture analysis information (PI) may be configured differently depending on the type of exercise. However, this description is merely illustrative, and the embodiments are not limited to this description.

이하에서는, 본 발명의 몇몇 실시예에 따른 운동 자세 분석부(130)의 수행하는 동작에 대해 도 9 및 도 10을 참조하여 자세히 서술하도록 한다.Hereinafter, operations performed by the exercise posture analysis unit 130 according to some embodiments of the present invention will be described in detail with reference to FIGS. 9 and 10.

도 9는 도 2의 운동 자세 분석부의 수행단계를 세부적으로 설명하게 위한 블록도이다. 도 10은 도 9의 자세 분석 모듈을 나타내는 블록도이다.FIG. 9 is a block diagram for explaining in detail the execution steps of the exercise posture analysis unit of FIG. 2. FIG. 10 is a block diagram showing the posture analysis module of FIG. 9.

도 9를 참조하면, 전처리 모듈(131)은 수강생의 제1 운동 영상인 사용자 운동 영상을 인가받아 제1 입력 시퀀스를 생성할 수 있다.Referring to FIG. 9, the pre-processing module 131 may receive the user exercise image, which is the student's first exercise image, and generate a first input sequence.

또한 전처리 모듈(131)은 강사의 제2 운동 영상인 강사 운동 영상을 인가받아 제2 입력 시퀀스를 생성할 수 있다.Additionally, the pre-processing module 131 may receive approval of the instructor's second exercise image, which is the instructor's exercise image, and generate a second input sequence.

자세 분석 모듈(133)은 제1 및 제2 입력 시퀀스를 입력받아 자세 분석 정보를 생성할 수 있다. 구체적으로, 자세 분석 모듈(133)은 제1 입력 시퀀스를 입력받아 제1 자세 분석 정보를 생성할 수 있고, 제2 입력 시퀀스를 입력받아 제2 자세 분석 정보를 생성할 수 있다.The posture analysis module 133 may receive the first and second input sequences and generate posture analysis information. Specifically, the posture analysis module 133 may receive a first input sequence and generate first posture analysis information, and may receive a second input sequence and generate second posture analysis information.

이때, 자세 분석 모듈(133)은, 도 10을 참조하면, 이미 공지된 딥러닝 기술을 이용할 수 있다. 예를 들어, 자세 분석 모듈(133)은 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network) 및 GNN(Graph Neural Network) 등의 기술을 이용할 수 있다.At this time, referring to FIG. 10, the posture analysis module 133 may use already known deep learning technology. For example, the posture analysis module 133 may use technologies such as Convolutional Neural Network (CNN), Recurrent Neural Network (RNN), and Graph Neural Network (GNN).

구체적으로, CNN은 이미지나 영상데이터를 기초로 특징을 추출하여 해당 이미지나 영상 데이터에 포함된 물체를 인식하는데 사용되는 딥러닝 모델로 이미지의 각 픽셀간의 연관성을 고려한 특징이 있다.Specifically, CNN is a deep learning model used to extract features based on image or video data and recognize objects included in the image or video data, and has the characteristic of considering the correlation between each pixel of the image.

RNN은 일반적으로 시계열 데이터를 처리하기 위해 사용되는 딥러닝 모델로 자연어처리에서 많이 사용된다.RNN is a deep learning model generally used to process time series data and is widely used in natural language processing.

GNN은 데이터간 관계 및 상호작용을 도출하기 위해 사용되는 딥러닝 모델로, 모델링 데이터 간의 유사도와 특징점을 도출하는 방식으로 구현된 인공신경망 구조를 나타낸다.GNN is a deep learning model used to derive relationships and interactions between data, and represents an artificial neural network structure implemented by deriving similarities and feature points between modeling data.

이에 따라, 정상 운동 영상으로 학습된 자세 분석 모듈(133)은 입력받은 운동 영상에 대해 정상 운동 영상을 기초로 자세를 분석하게 될 수 있다.Accordingly, the posture analysis module 133 learned from the normal motion image may analyze the posture of the input motion image based on the normal motion image.

추가적으로, 강의 추천부(140)는 자세 분석 모듈(133)이 생성한 제1 및 제2 자세 분석 정보를 기초로 추천 강의 리스트를 생성할 수 있다. 이에 대한 구체적인 설명은 도 14 내지 도 16을 참조하여 후술하도록 한다.Additionally, the lecture recommendation unit 140 may generate a list of recommended lectures based on the first and second posture analysis information generated by the posture analysis module 133. A detailed description of this will be provided later with reference to FIGS. 14 to 16.

이하에서는, 본 발명의 다른 실시예에 따른 운동 자세 분석부(130)의 수행하는 동작에 대해 도 11 및 도 13을 참조하여 자세히 서술하도록 한다.Hereinafter, the operations performed by the exercise posture analysis unit 130 according to another embodiment of the present invention will be described in detail with reference to FIGS. 11 and 13.

도 11은 도 9의 자세 분석 모듈의 다른 실시예를 설명하기 위해 데이터 흐름을 나타내는 블록도이다. 도 12는 도 11의 자세 분석 모듈을 세부적으로 설명하기 위한 순서도이다. 도 13은 도 11의 오토인코더의 몇몇 예시를 설명하기 위한 블록도이다.FIG. 11 is a block diagram showing data flow to explain another embodiment of the posture analysis module of FIG. 9. FIG. 12 is a flowchart for explaining the posture analysis module of FIG. 11 in detail. FIG. 13 is a block diagram to explain some examples of the autoencoder of FIG. 11.

도 11을 참조하면, 자세 분석 모듈(133)은 뉴럴 네트워크를 포함하는 오토인코더(133a) 및 입력 시퀀스의 이상 여부를 판단하는 이상 판별부(133b)를 포함할 수 있다.Referring to FIG. 11, the posture analysis module 133 may include an autoencoder 133a including a neural network and an abnormality determination unit 133b that determines whether the input sequence is abnormal.

구체적으로, 도 11 및 도 12를 참조하면, 운동 자세 분석부(130)는 정상 운동 영상(SE)이 전처리 모듈(131)에 인가되어 생성된 학습용 입력 시퀀스를 기초로 학습될 수 있다.Specifically, referring to FIGS. 11 and 12 , the exercise posture analysis unit 130 may learn based on a learning input sequence generated by applying a normal exercise image (SE) to the preprocessing module 131.

구체적으로, 운동 자세 분석부(130)는 미리 저장된 정상 운동 영상을, 전처리 모듈(131)을 이용하여 학습용 입력 시퀀스(SIS)로 변환할 수 있다(S210).Specifically, the exercise posture analysis unit 130 may convert a pre-stored normal exercise image into a learning input sequence (SIS) using the preprocessing module 131 (S210).

이어서, 운동 자세 분석부(130)는 학습용 입력 시퀀스를 LSTM(Long Short Term Memory) 오토인코더(133a)에 인가하여 학습용 출력 시퀀스(SIS)를 생성할 수 있다(S220).Next, the exercise posture analysis unit 130 may generate a learning output sequence (SIS) by applying the learning input sequence to the LSTM (Long Short Term Memory) autoencoder 133a (S220).

이어서, 이상 판별부(133b)는 학습용 입력 시퀀스(SIS) 및 학습용 출력 시퀀스(SIS')의 차이값인 에러값(E)을 산출하고(S230), 운동 자세 분석부(130)는 에러값(E)을 기초로 반복 학습을 결정할 수 있다(S240). 예를 들어, 에러값(E)이 미리 설정한 기준치보다 작은 경우, 운동 자세 분석부(130)는 학습을 종료할 수 있다. 반대로, 에러값(E)이 미리 설정한 기준치보다 큰 경우, 운동 자세 분석부(130)는 에러값(E)을 줄이기 위해, 운동 자세 패턴 학습을 반복하여 수행할 수 있다. 이때, 운동 자세 분석부(130)는 로드한 동일한 정상운동 영상을 반복 학습할 수 있고, 정상운동 데이터셋에 포함된 다른 정상운동 영상을 새로 로드하여 학습을 수행할 수 있다. 이에 따라, 운동 자세 분석부(130)는 반복 학습하여 자세 분석 정확도를 높일 수 있다.Next, the abnormality determination unit 133b calculates an error value (E), which is the difference value between the learning input sequence (SIS) and the learning output sequence (SIS') (S230), and the exercise posture analysis unit 130 calculates the error value ( Repeated learning can be determined based on E) (S240). For example, if the error value E is smaller than a preset reference value, the exercise posture analysis unit 130 may end learning. Conversely, when the error value E is greater than a preset reference value, the exercise posture analysis unit 130 may repeatedly perform exercise posture pattern learning to reduce the error value E. At this time, the exercise posture analysis unit 130 can repeatedly learn the same loaded normal exercise image and perform learning by newly loading another normal exercise image included in the normal exercise dataset. Accordingly, the exercise posture analysis unit 130 can increase posture analysis accuracy through repetitive learning.

이어서, 데이터 수신부(110)는 수강생 단말(200)로부터 운동 자세에 대한 제1 운동 영상(UE)을 수신하고, 운동 자세 분석부(130)의 전처리 모듈(131)은 제1 운동 영상(UE)을 전처리하여 다수의 관절 위치 변화에 대한 제1 입력 시퀀스(1IS)를 생성할 수 있다(S250).Subsequently, the data receiver 110 receives the first exercise image (UE) for the exercise posture from the student terminal 200, and the preprocessing module 131 of the exercise posture analysis unit 130 receives the first exercise image (UE) can be preprocessed to generate a first input sequence (1IS) for multiple joint position changes (S250).

이어서, 운동 자세 분석부(130)는 제1 입력 시퀀스(1IS)를 LSTM 오토인코더(133a)에 인가하여 제1 출력 시퀀스(1IS')를 생성할 수 있다(S260).Next, the exercise posture analysis unit 130 may apply the first input sequence (1IS) to the LSTM autoencoder (133a) to generate the first output sequence (1IS') (S260).

이어서, 이상 판별부(133b)는 제1 입력 시퀀스(1IS) 및 제1 출력 시퀀스(1IS')의 차이를 산출하여 제1 운동 영상에 대한 제1 자세 분석 정보를 생성할 수 있다(S270). 예를 들어, 이상 판별부(133b)는 제1 입력 시퀀스(1IS) 및 제1 출력 시퀀스(1IS')의 차이를 인덱싱하여 추출하고, 추출된 부분을 수강생 운동 영상에 표시한 수강생 분석 영상을 생성할 수 있다. Next, the abnormality determination unit 133b may calculate the difference between the first input sequence 1IS and the first output sequence 1IS' to generate first posture analysis information for the first motion image (S270). For example, the abnormality determination unit 133b indexes and extracts the difference between the first input sequence (1IS) and the first output sequence (1IS'), and generates a student analysis image in which the extracted portion is displayed on the student's exercise image. can do.

추가적인 실시예로, 이상 판별부(133b)는 제1 입력 시퀀스(1IS) 및 제1 출력 시퀀스(1IS')의 차이를 추출하고, 추출된 부분에 대응하는 관절 인식 정보인 관절 피드백 정보를 생성할 수 있다.In an additional embodiment, the abnormality determination unit 133b extracts the difference between the first input sequence 1IS and the first output sequence 1IS' and generates joint feedback information, which is joint recognition information, corresponding to the extracted part. You can.

제1 자세 분석 정보는 운동 성취도 등급, 성취 확률, 수강생 분석 영상 및 관절 피드백 정보를 포함할 수 있다.The first posture analysis information may include exercise achievement level, achievement probability, student analysis image, and joint feedback information.

추가적으로, 운동 자세 분석부(130)는 강사의 운동 영상인 제2 운동 영상에 대해 제1 운동 영상과 동일하게 동작을 수행하여 제2 자세 분석 정보를 생성할 수 있다. 예를 들어, 운동 자세 분석부(130)는 강사와 연관된 제2 입력 시퀀스(2IS) 및 제2 출력 시퀀스(2IS')를 기초로 제2 자세 분석 정보를 생성할 수 있다. Additionally, the exercise posture analysis unit 130 may generate second posture analysis information by performing the same operation on the second exercise image, which is the instructor's exercise image, as the first exercise image. For example, the exercise posture analysis unit 130 may generate second posture analysis information based on a second input sequence (2IS) and a second output sequence (2IS') associated with the instructor.

운동 자세 분석부(130)는 제2 입력 시퀀스(2IS) 및 제2 출력 시퀀스(2IS')의 차이인 에러값(E)과 미리 설정한 강사기준치를 비교하여 강사로서 적합한지에 대한 강사 적합 여부와 강사 등급을 산출할 수 있다.The exercise posture analysis unit 130 determines whether the instructor is suitable as an instructor by comparing the error value (E), which is the difference between the second input sequence (2IS) and the second output sequence (2IS'), with a preset instructor standard value. Instructor grade can be calculated.

또한, 강사 적합 여부와 강사 등급은 운동 종류 및 신체 부위에 따라 구분되어 산출될 수 있다. 다만 이러한 설명은 단순히 예시적인 것이며, 일부 변형하여 구성될 수 있다.In addition, instructor suitability and instructor rating can be calculated separately according to exercise type and body part. However, this explanation is merely illustrative and may be configured with some modifications.

추가적으로, LSTM 오토인코더(133a)는 수강생과 연관된 제1 입력 시퀀스를 입력받는 수강생 오토인코더와, 강사와 연관된 제2 입력 시퀀스를 입력받는 강사 오토인코더로 구분되어질 수 있고, 수강생 오토인코더와 강사 오토인코더가 하나의 오토인코더일 수 있다. 다만 이러한 설명은 예시적인 것이며, 일부 변형하여 구성될 수 있다.Additionally, the LSTM autoencoder 133a can be divided into a student autoencoder that receives a first input sequence associated with the student and an instructor autoencoder that receives a second input sequence associated with the instructor, and a student autoencoder and an instructor autoencoder. may be an autoencoder. However, this explanation is illustrative and may be configured with some modifications.

여기에서, 도 13을 참조하면, LSTM 오토인코더(133a)는, 인코더(EN) 및 디코더(DC)를 포함하는 오토인코더를 포함하여 출력 데이터를 입력받은 데이터와 동일하도록 만들 수 있다.Here, referring to FIG. 13, the LSTM autoencoder 133a includes an autoencoder including an encoder (EN) and a decoder (DC), and can make output data identical to input data.

구체적으로, LSTM 오토인코더는 인코더(EN)를 통해 입력 받은 데이터를 압축시켜 데이터를 축소시키고, 디코더(DC)를 이용하여 축소된 데이터를 인코더(EN)에서 입력받은 데이터와 동일한 크기로 변환하여 출력하게 된다.Specifically, the LSTM autoencoder compresses the data input through the encoder (EN) to reduce the data, and uses a decoder (DC) to convert the reduced data to the same size as the data input from the encoder (EN) and output it. I do it.

예를 들어, 인코더(EN)는 입력받은 복수의 입력 시퀀스의 차원을 감소시켜 인코딩된 특징값(EF)를 출력하고, 인코더(EN)에서 출력된 인코딩된 특징값(EF)은 디코더(DC)에 반복하여 전달된다. 이때, 인코딩된 특징값(EF)은 일정한 크기의 벡터값으로 구성될 수 있다.For example, the encoder (EN) reduces the dimension of a plurality of input sequences and outputs an encoded feature value (EF), and the encoded feature value (EF) output from the encoder (EN) is transmitted to the decoder (DC). It is passed repeatedly. At this time, the encoded feature value (EF) may be composed of a vector value of a certain size.

또한, 복수의 입력 시퀀스를 인코더(EN)의 입력단에 순차적으로 인가되면, 인코더(EN)를 구성하는 LSTM 오토인코더의 셀 상태는 업데이트될 수 있다. 업데이트된 셀 상태는 디코더(DC)에 전달될 수 있다.Additionally, when a plurality of input sequences are sequentially applied to the input terminal of the encoder EN, the cell status of the LSTM autoencoder constituting the encoder EN can be updated. The updated cell state may be passed to the decoder (DC).

이어서, 디코더(DC)는 인코더(EN)로부터 전달받은 셀 상태(ES)를 이용하여 인코딩된 특징값(EF)을 기초로 출력 시퀀스를 생성하게 된다. 출력 시퀀스는 입력 시퀀스(IS)과 동일한 크기를 갖도록 형성될 수 있다. 디코더(DC)에서 출력된 출력 시퀀스는 이상 판별부(133b)에 전달되어 운동 영상에 대한 운동 자세를 분석하게 된다.Subsequently, the decoder (DC) generates an output sequence based on the feature value (EF) encoded using the cell state (ES) received from the encoder (EN). The output sequence may be formed to have the same size as the input sequence (IS). The output sequence output from the decoder (DC) is transmitted to the abnormality determination unit 133b to analyze the exercise posture for the exercise image.

또한, LSTM 오토인코더는 RNN으로 구성될 수 있고, CNN, DNN 및 GNN과 같은 인공신경망을 추가하여 구성될 수 있다.Additionally, the LSTM autoencoder can be composed of RNN, and can be composed by adding artificial neural networks such as CNN, DNN, and GNN.

다만, 본 발명의 오토인코더는 도 13을 참조하여 설명한 오토인코더의 구조에 한정되는 것은 아니며, 오토인코더는 다양하게 변형되어 실시될 수 있음은 통상의 기술자에게 자명하다.However, the autoencoder of the present invention is not limited to the structure of the autoencoder described with reference to FIG. 13, and it is obvious to those skilled in the art that the autoencoder can be implemented in various modifications.

추가적인 실시예로, 자세 분석 모듈(133)은 입력 시퀀스 및 출력 시퀀스에 대해 뉴럴 네트워크를 이용한 머신 러닝을 수행할 수 있다. 자세 분석 모듈(133)은 수신한 입력 시퀀스 및 출력 시퀀스에 대해 머신 러닝을 수행하여 자세 분석 정보를 생성할 수 있다. 예를 들어, 자세 분석 모듈(133)은 수강생과 연관된 제1 입력 시퀀스 및 제1 출력 시퀀스에 대해 머신 러닝을 수행하여 자세 분석에 관한 확률값 및 Grad-CAM(Gradient-weighted CAM) 이미지 중 어느 하나를 생성할 수 있다. 제1 입력 시퀀스 및 제1 출력 시퀀스를 기초로 생성된 제1 자세 분석 정보는 머신 러닝으로 생성된 확률값 및 Grad-CAM을 포함할 수 있다. Grad-CAM을 포함한 제1 자세 분석 정보는 직관적으로 올바르지 못한 운동 자세를 취한 영역이 표시되어 제1 자세 분석 정보에 대응한 수강생 단말(200)에게 제공될 수 있다. 따라서, 전문가가 아닌 수강생이더라도 제1 자세 분석 정보를 기초로 직관적으로 노력해야할 운동 자세 및 신체 부위를 쉽게 인지할 수 있는 효과가 있다.In an additional embodiment, the posture analysis module 133 may perform machine learning using a neural network on the input sequence and output sequence. The posture analysis module 133 may generate posture analysis information by performing machine learning on the received input sequence and output sequence. For example, the posture analysis module 133 performs machine learning on the first input sequence and the first output sequence associated with the student to generate one of a probability value related to posture analysis and a Gradient-weighted CAM (Grad-CAM) image. can be created. The first posture analysis information generated based on the first input sequence and the first output sequence may include a probability value generated by machine learning and Grad-CAM. The first posture analysis information including Grad-CAM may be provided to the student terminal 200 corresponding to the first posture analysis information by displaying an area where an intuitively incorrect exercise posture is taken. Therefore, even students who are not experts can easily recognize the exercise posture and body part to work on intuitively based on the first posture analysis information.

이에 대해 구체적으로, 자세 분석 모듈(133)은 뉴럴 네트워크에 마지막 레이어에서 CAM(Class Activation Map)을 계산할 수 있다. 즉, 운동 자세를 분석하는데 있어서의 가중치를 산출하고, 각 노드에 대해 복수의 히트맵(HeatMap)을 생성할 수 있다. Grad CAM 이미지를 도출하는 방법은 이미 공지되어 자세한 설명은 생략하도록 한다. 또한, Grad CAM 이미지를 생성하는 방법에 있어서, 올바른 운동 자세와 다른 영역을 표시하는 다양한 공지된 방법이 적용될 수 있음은 통상의 기술자에게 자명하다.Specifically, the posture analysis module 133 may calculate a CAM (Class Activation Map) in the last layer of the neural network. In other words, weights for analyzing exercise posture can be calculated and multiple heat maps (HeatMap) can be generated for each node. The method for deriving the Grad CAM image is already known, so detailed explanation will be omitted. Additionally, it is obvious to those skilled in the art that in the method of generating a Grad CAM image, various known methods for displaying areas different from the correct exercise posture can be applied.

이하에서는, 본 발명의 몇몇 실시예에 따른 강의 추천부(140)를 도 14 내지 도 16을 참조하여 서술하도록 한다.Hereinafter, the lecture recommendation unit 140 according to some embodiments of the present invention will be described with reference to FIGS. 14 to 16.

도 14는 도 2의 강의 추천부의 동작을 세부적으로 설명하기 위한 블록도이다. 도 15는 도 14의 강의 추천부의 동작을 세부적으로 설명하기 위한 순서도이다. 도 16은 도 15의 추천 강사를 도출하는 방법을 세부적으로 설명하기 위한 도면이다.Figure 14 is a block diagram for explaining in detail the operation of the lecture recommendation unit of Figure 2. Figure 15 is a flowchart for explaining in detail the operation of the lecture recommendation unit of Figure 14. Figure 16 is a diagram for explaining in detail the method of deriving the recommended instructor of Figure 15.

도 14를 참조하면, 강의 추천부(140)는 자세 분석 정보, 수강생의 선호도, 시간 스케줄, 위치 근접도 및 강의 비용 중 둘 이상의 파라미터를 기초로 추천 강의 리스트를 도출할 수 있다. 시간 스케줄은 수강생, 강의 및 강사의 시간 스케줄을 포함한다. 위치 근접도는 수강생의 강의 장소에 대한 위치 근접도이다.Referring to FIG. 14, the lecture recommendation unit 140 may derive a list of recommended lectures based on two or more parameters among posture analysis information, student preference, time schedule, location proximity, and lecture cost. The time schedule includes the time schedule of students, lectures, and instructors. Location proximity refers to the student's location proximity to the lecture location.

구체적으로, 도 15 및 도 16을 참조하면, 강의 추천부(140)는 사용자인 수강생에 대응한 제1 자세 분석 정보 및 각 강사에 대응한 제2 자세 분석 정보를 기초로 각 부위별 자세 정확도(cp)를 산출할 수 있다(S151).Specifically, referring to FIGS. 15 and 16, the lecture recommendation unit 140 provides posture accuracy for each part ( cp) can be calculated (S151).

예를 들어, 자세 정확도(cp)는 확률값인 자세 분석 정보를 백분율로 산출한 값일 수 있다. 또한, 자세 정확도(cp)는 각 신체 부위별로 산출될 수 있고, 고려된 신체 부위는 운동 종류에 따라 다르게 구성될 수 있다.For example, posture accuracy (cp) may be a value calculated as a percentage of posture analysis information, which is a probability value. Additionally, posture accuracy (cp) can be calculated for each body part, and the considered body parts can be configured differently depending on the type of exercise.

이어서, 강의 추천부(140)는 산출된 자세 정확도(cp)를 기초로 특정 자세 정확도가 최대값인 강사를 도출하여 제1 매칭 강사 정보를 생성할 수 있다(S161). 여기에서, 제1 매칭 강사 정보는 각 부위별 추천하는 추천 강사에 대한 정보이다. Next, the lecture recommendation unit 140 may generate first matching instructor information by deriving an instructor with the maximum specific posture accuracy based on the calculated posture accuracy (cp) (S161). Here, the first matching instructor information is information about the recommended instructor recommended for each part.

또한, 자세 정확도는, 각 신체 부위별 또는 운동 종류에 대응하여 산출될 수 있다. 예를 들어, 스쿼트 운동에 대한 자세 정확도를 제1 부위, 제2 부위, 제3 부위 및 제4 부위에 대하여 각각 산출될 수 있다.Additionally, posture accuracy can be calculated for each body part or for each type of exercise. For example, posture accuracy for the squat exercise may be calculated for the first part, the second part, the third part, and the fourth part, respectively.

이때, 강의 추천부(140)는 각 신체 부위마다 자세 정확도가 최대값인 강사를 도출할 수 있다. 도 16을 참조하면, 제1 부위에서 사용자의 자세 정확도는 20이고, 제1 부위 내 자세 정확도가 최대값은 90으로 강사B에 대응된다. 따라서, 제1 부위에 매칭되는 강사는 강사B로 도출될 수 있다.At this time, the lecture recommendation unit 140 may derive an instructor with the maximum posture accuracy for each body part. Referring to FIG. 16, the user's posture accuracy in the first region is 20, and the maximum posture accuracy within the first region is 90, corresponding to instructor B. Therefore, the instructor matching the first part can be derived as instructor B.

또한, 다른 실시예에 있어서, 강의 추천부(140)는 수강생의 자세 정확도보다 낮은 자세 정확도에 대응한 강사를 매칭 강사에서 제외시킬 수 있다. 예를 들어, 제4 부위에 대한 수강생의 자세 정확도는 35이고, 매칭 강사는 강사C이다. 이때, 강사D의 제4 부위에 대한 자세 정확도는 20으로 수강생의 자세 정확도보다 낮다. 따라서, 강사D가 제4 부위가 아닌 다른 부위에 대해 자세 정확도가 최대값이라고 하더라도, 제4 부위에 대해 과락으로 판정되어 매칭 강사로 선정될 수 없다. 다만 이러한 설명은 단순히 예시적인 것이며, 실시예들이 이러한 설명에 제한되는 것은 아니다. 일부 변형되어 구성될 수 있다.Additionally, in another embodiment, the lecture recommendation unit 140 may exclude from the matching instructors an instructor whose posture accuracy is lower than that of the student. For example, the student's posture accuracy for part 4 is 35, and the matching instructor is instructor C. At this time, instructor D's posture accuracy for the fourth part is 20, which is lower than the student's posture accuracy. Therefore, even if instructor D has the maximum posture accuracy for parts other than the fourth part, he is judged to have failed for the fourth part and cannot be selected as a matching instructor. However, this description is merely illustrative, and the embodiments are not limited to this description. It may be configured with some modifications.

이어서, 강의 추천부(140)는 제1 매칭 강사 정보 및 미리 설정된 부위 가중치를 기초로 사용자에게 적합한 추천 강사를 도출할 수 있다(S163). 이때, 강의 추천부(140)는 각 신체 부위별 매칭된 강사의 자세 정확도와 부위 가중치를 연산하여 매칭 강사별 점수를 산출할 수 있다. 강의 추천부(140)는 산출된 점수 중 최대값에 대응한 강사를 추천 강사로 도출할 수 있으며, 추천 강사는 예비로 한두명을 더 도출할 수 있다.Subsequently, the lecture recommendation unit 140 may derive a recommended instructor suitable for the user based on the first matching instructor information and the preset weight of the portion (S163). At this time, the lecture recommendation unit 140 may calculate the score for each matched instructor by calculating the posture accuracy and part weight of the matched instructor for each body part. The lecture recommendation unit 140 may select an instructor corresponding to the maximum value among the calculated scores as a recommended instructor, and may select one or two more recommended instructors as spares.

이어서, 강의 추천부(140)는 추천 강사에 대응하는 제1 추천 강의 리스트를 강의 정보에서 추출할 수 있다(S171). 구체적으로, 강의 추천부(140)는 추천 강사가 진행하는 강의 리스트를 데이터베이스부(120)에 저장된 강의 정보에서 추출하여 제1 추천 강의 리스트를 생성할 수 있다.Next, the course recommendation unit 140 may extract the first recommended course list corresponding to the recommended instructor from the course information (S171). Specifically, the lecture recommendation unit 140 may generate a first recommended lecture list by extracting the list of lectures taught by the recommending instructor from the lecture information stored in the database unit 120.

이를 통해, 강의 추천부(140)는 수강생의 올바르지 못한 운동 자세에 대해 실력이 검증된 강사가 강의하는 강의 정보를 수강생 단말(200)에 제공할 수 있다. 다만 이러한 설명은 단순히 예시적인 것이며, 일부 변형하여 구성될 수 있다.Through this, the lecture recommendation unit 140 can provide the student terminal 200 with information about a lecture given by an instructor whose skills have been verified regarding the student's incorrect exercise posture. However, this explanation is merely illustrative and may be configured with some modifications.

이어서, 강의 추천부(140)는 수강생의 선호도, 시간 스케줄, 위치 근접도 및 비용 중 둘 이상의 파라미터 및 제1 추천 강의 리스트를 기초로 추천 강의 리스트 도출할 수 있다(S173). 예를 들어, 강의 추천부(140)는 제1 추천 강의 리스트에서 수강생의 선호도, 시간 스케줄, 위치 근접도를 고려하여 수강생 단말(200)이 제1 추천 강의 리스트에 포함된 각 강의를 수강할 수 있는 장소로 이동할 수 있는지를 판단하여 추천 강의 리스트를 도출할 수 있다.Subsequently, the lecture recommendation unit 140 may derive a list of recommended lectures based on two or more parameters among the student's preference, time schedule, location proximity, and cost, and the first recommended lecture list (S173). For example, the lecture recommendation unit 140 considers the student's preference, time schedule, and location proximity in the first recommended lecture list so that the student terminal 200 can take each lecture included in the first recommended lecture list. A list of recommended lectures can be derived by determining whether it is possible to move to the location.

수강생의 선호도는 수강생 단말(200)로부터 수신된 정보로 수강생이 수강하고자 하는 운동 강의, 수강생이 지도를 받고자 하는 운동 자세 및 수강생이 강의를 선택함에 있어서 고려하게 될 사항을 포함할 수 있다.The student's preference is information received from the student terminal 200 and may include the exercise class the student wants to take, the exercise posture the student wants to receive guidance on, and matters to be considered when selecting the course.

시간 스케줄은 수강생의 일정이 없는 공백 시간을 고려한 시간 스케줄 및 강의 시간 스케줄을 포함할 수 있다. 또한, 시간 스케줄은 수강생의 공백 시간과 공백 시간 전후에 계획된 일정의 위치 정보를 포함할 수 있다.The time schedule may include a time schedule and a lecture time schedule that takes into account blank time when the student has no schedule. Additionally, the time schedule may include the student's gap time and location information of the schedule planned before and after the gap time.

위치 근접도는 추천 강의 리스트에 포함된 각 강의에 대응한 강의 장소, 수강생 단말(200)로부터 미리 수신된 수강 예정지, 수강생 단말(200)의 위치 정보 및 수강생의 공백 시간 전후에 계획된 일정의 위치 정보를 기초로 수강생 단말(200)이 강의 장소 또는 수강 예정지로 강의 시간 스케줄에 대응하여 이동될 수 있는지를 판별하는 정보이다.Location proximity refers to the lecture location corresponding to each lecture included in the recommended lecture list, the scheduled lecture location received in advance from the student terminal 200, the location information of the student terminal 200, and the location information of the schedule planned before and after the student's gap time. This is information that determines whether the student terminal 200 can be moved to the lecture location or scheduled lecture location in response to the lecture time schedule based on this.

예를 들어, 강의 추천부(140)는 각 강의에 대응한 강의 장소, 수강 예정지, 수강생 단말(200)의 위치 정보 및 수강생의 공백 시간 전후에 계획된 일정의 위치 정보를 기초로 수강생 단말(200)이 수강생의 공백 시간 전후에 계획된 일정의 위치 정보에서 강의 장소 또는 수강 예정지로 이동하는 이동 시간을 산출할 수 있다. 강의가 비대면 및 온라인 강의인 경우, 강의 장소는 수강생이 미리 설정한 수강 예정지일 수 있다.For example, the lecture recommendation unit 140 recommends the student terminal 200 based on the lecture location corresponding to each lecture, the scheduled lecture location, the location information of the student terminal 200, and the location information of the schedule planned before and after the student's gap time. The travel time to move to the lecture location or the scheduled lecture can be calculated from the location information of the schedule planned before and after the student's gap time. If the lecture is a non-face-to-face or online lecture, the lecture location may be a location set in advance by the student.

강의 추천부(140)는 공백 시간 직전 수강생의 위치 정보에서 각 강의 장소로 이동하는 제1 이동 시간을 산출할 수 있다. 강의 추천부(140)는 공백 시간의 시작 시점에서 제1 이동 시간을 더하여 강의 시작 시간과 비교할 수 있다. 공백 시간의 시간 시점에서 제1 이동 시간을 더한 시간이 제1 강의의 시작 시간보다 늦는 경우, 강의 추천부(140)는 제1 추천 강의 리스트에서 제1 강의에 대한 정보를 제할 수 있다.The lecture recommendation unit 140 may calculate the first travel time to each lecture location from the student's location information just before the gap time. The lecture recommendation unit 140 may add the first travel time from the start of the blank time and compare it with the lecture start time. If the time added to the first travel time from the time of the blank time is later than the start time of the first lecture, the lecture recommendation unit 140 may remove information about the first lecture from the list of first recommended lectures.

또한, 강의 추천부(140)는 제1 강의의 강의 장소에서 공백 시간 이후 계획된 일정의 위치 정보까지 이동하는 제2 이동 시간을 산출할 수 있다. 따라서, 공백 시간의 시작 시점에서 제1 이동 시간을 더한 시간이 제1 강의의 시작 시간보다 이르고, 제1 강의 제1 강의의 종료 시점에서 제2 이동 시간을 더한 시점이 공백 시간 이후 계획된 일정보다 늦을 경우, 강의 추천부(140)는 제1 추천 강의 리스트에서 제1 강의에 대한 정보를 제할 수 있다. 다만 이러한 설명은 단순히 예시적인 것이며, 수강생이 수강할 수 있는 환경을 기초로 수강할 수 있는 강의를 추출하는 방법은 일부 변형하여 구성될 수 있다.Additionally, the lecture recommendation unit 140 may calculate a second travel time to move from the lecture location of the first lecture to the location information of the planned schedule after the blank time. Therefore, the time added to the first travel time from the start of the gap time is earlier than the start time of the first lecture, and the time added to the second travel time from the end of the first lecture of the first lecture is later than the schedule planned after the gap time. In this case, the lecture recommendation unit 140 may remove information about the first lecture from the first recommended lecture list. However, this explanation is merely illustrative, and the method of extracting lectures that students can take based on the environment in which they can take the course may be configured with some modification.

또한, 강의 추천부(140)는 비용을 추가적으로 고려하여 추천 강의 리스트를 도출할 수 있다. 비용은 수강생 단말(200)로부터 한도액을 수신받은 금액일 수 있다. Additionally, the lecture recommendation unit 140 may derive a list of recommended lectures by additionally considering cost. The cost may be the amount received as a limit from the student terminal 200.

추가적으로, 수강생 단말(200)은 제공받은 추천 강의 리스트를 기초로 생성된 수강 신청 정보를 데이터 수신부(110)에 전달할 수 있다.Additionally, the student terminal 200 may transmit course registration information generated based on the provided recommended course list to the data receiver 110.

이하에서는, 본 발명의 몇몇 실시예에 따른 장소 예약부(150)를 도 17 내지 도 19을 참조하여 서술하도록 한다.Hereinafter, the place reservation unit 150 according to some embodiments of the present invention will be described with reference to FIGS. 17 to 19.

도 17은 도 2의 장소 예약부를 세부적으로 설명하기 위한 블록도이다. 도 18은 도 17의 장소 예약부의 동작을 세부적으로 설명하기 위한 순서도이다. 도 19는 도 17의 강의 시설 리스트를 생성하는 방법을 설명하기 위한 도면이다.FIG. 17 is a block diagram for explaining the venue reservation unit of FIG. 2 in detail. FIG. 18 is a flowchart for explaining in detail the operation of the place reservation unit of FIG. 17. FIG. 19 is a diagram for explaining a method of generating the lecture facility list of FIG. 17.

도 17을 참조하면, 장소 예약부(150)는 제1 강의 시설 추출모듈(151), 제2 강의 시설 추출모듈(153) 및 최종 강의 시설 추출모듈(155)을 포함할 수 있다.Referring to FIG. 17, the venue reservation unit 150 may include a first lecture facility extraction module 151, a second lecture facility extraction module 153, and a final lecture facility extraction module 155.

도 17 및 도 18을 참조하면, 제1 강의 시설 추출모듈(151)은 데이터베이스부에 미리 저장된 수강 예정지, 미리 설정된 거리 및 제휴된 강의 시설 정보를 로드할 수 있다(S310). 이때, 제1 강의 시설 추출모듈(151)은 강의 추천부(140)가 추천 강의 리스트를 추출하거나, 수강생 단말(200)로부터 수강 신청 정보를 수신된 이후에, 데이터베이스부로부터 데이터를 로드할 수 있다. 미리 저장된 수강 예정지는 수강생 단말(200)로부터 수신된 정보로 수강생이 원하는 수강 장소에 대한 위치 정보이다. Referring to FIGS. 17 and 18 , the first lecture facility extraction module 151 may load the scheduled lecture location, preset distance, and affiliated lecture facility information stored in advance in the database unit (S310). At this time, the first lecture facility extraction module 151 may load data from the database unit after the lecture recommendation unit 140 extracts the list of recommended lectures or receives course registration information from the student terminal 200. . The pre-stored course schedule is information received from the student terminal 200 and is location information about the course location desired by the student.

이어서, 제1 강의 시설 추출모듈(151)은 미리 설정된 수강 예정지를 기준으로 미리 설정된 거리 내 위치한 렌탈 가능한 제1 강의 시설 리스트를 강의 시설 정보에서 추출할 수 있다(S320). 강의 시설 정보는 제휴된 강의 시설에 대한 정보로, 운동 강의를 진행하거나 운동 시설을 대여해줄 수 있는 장소에 대한 정보이다.Subsequently, the first lecture facility extraction module 151 may extract a list of first lecture facilities available for rent located within a preset distance based on the preset course attendance location from the lecture facility information (S320). Lecture facility information is information about affiliated lecture facilities, and is information about places where exercise classes can be held or exercise facilities can be rented.

구체적으로, 도 19를 참조하면, 제1 강의 시설 추출모듈(151)은 미리 설정된 수강 예정지(C)를 기준으로 미리 설정된 거리(r) 내 위치한 강의 시설에 대한 시설 정보를 추출할 수 있다. 예를 들어, 도 19를 참조하면, 제1 강의 시설 추출모듈(151)은 수강 예정지(C)를 기준으로 미리 설정된 거리(r) 내 위치한 강의 시설 ①, ② 및 ③을 추출할 수 있다.Specifically, referring to FIG. 19, the first lecture facility extraction module 151 may extract facility information about lecture facilities located within a preset distance (r) based on the preset course attendance destination (C). For example, referring to FIG. 19, the first lecture facility extraction module 151 can extract lecture facilities ①, ②, and ③ located within a preset distance (r) based on the lecture scheduled location (C).

제2 강의 시설 추출모듈(153)은 제1 강의 시설 리스트 및 수강생이 수강하는 강의 정보를 기초로 강의 정보에 적합한 제2 강의 시설 리스트를 추출할 수 있다(S330). 예를 들어, 강의 정보에 대응한 운동 종류가 발레인 경우, 제2 강의 시설 추출모듈(153)은 제1 강의 시설 리스트에서 발레를 할 수 있는 장소를 추출하여 제2 강의 시설 리스트를 추출한다.The second lecture facility extraction module 153 may extract a second lecture facility list suitable for the lecture information based on the first lecture facility list and the lecture information taken by the student (S330). For example, if the type of exercise corresponding to the lecture information is ballet, the second lecture facility extraction module 153 extracts a place where ballet can be performed from the first lecture facility list and extracts a second lecture facility list.

최종 강의 시설 추출모듈(155)은 제2 강의 시설 리스트에 포함된 각 강의 시설의 렌탈 현황 정보를 기초로 최종 강의 시설 리스트를 생성할 수 있다(S340). 예를 들어, 발레를 할 수 있는 장소로 제2 강의 시설 리스트를 추출된 경우, 최종 강의 시설 추출모듈(155)은 제2 강의 시설 리스트에 포함된 강의 시설의 대여 가능 여부를 판단하여 최종 강의 시설 리스트를 생성한다. 구체적으로, 최종 강의 시설 추출모듈(155)은 제2 강의 시설 리스트에 포함된 강의 시설 중 강의 정보에 대응한 시간에 대여가 가능한지를 판단할 수 있다.The final lecture facility extraction module 155 may generate a final lecture facility list based on the rental status information of each lecture facility included in the second lecture facility list (S340). For example, when the second lecture facility list is extracted as a place where ballet can be performed, the final lecture facility extraction module 155 determines whether the lecture facility included in the second lecture facility list can be rented and selects the final lecture facility. Create a list. Specifically, the final lecture facility extraction module 155 may determine whether any of the lecture facilities included in the second lecture facility list can be rented at a time corresponding to the lecture information.

이하에서는, 본 발명의 몇몇 실시예에 따른 수강생 관리부(160)를 도 20을 참조하여 서술하도록 한다.Hereinafter, the student management unit 160 according to some embodiments of the present invention will be described with reference to FIG. 20.

도 20은 도 2의 수강생 관리부를 세부적으로 설명하기 위한 블록도이다.FIG. 20 is a block diagram for explaining the student management unit of FIG. 2 in detail.

도 20을 참조하면, 수강생 관리부(160)는 수강 관리 모듈(161) 및 운동 피드백 모듈(163)을 포함할 수 있다.Referring to FIG. 20, the student management unit 160 may include a course management module 161 and an exercise feedback module 163.

수강 관리 모듈(161)은 수강 이력, 수강 이력에 대응하는 수강생의 일정 정보, 강의 정보, 교통 정보 및 날씨 정보 중 적어도 어느 하나를 기초로 스케줄 알림 정보를 생성하고, 수강 이력에 대응하는 수강생 단말(200)에 스케줄 알림 정보를 제공할 수 있다. 수강 이력은 누적된 수강 신청 정보이다.The course management module 161 generates schedule notification information based on at least one of the course history, the student's schedule information corresponding to the course history, lecture information, traffic information, and weather information, and the student terminal corresponding to the course history ( 200), schedule notification information can be provided. Course attendance history is accumulated course registration information.

스케줄 알림 정보는, 수강생 단말(200)에 제공되는 시점 기준으로, 미래에 진행될 강의의 강의 정보를 포함하고, 교통 정보 및 날씨 정보 중 적어도 어느 하나를 기초로 출발할 시점, 추천하는 이동 수단 정보 및 추천 옷 정보를 포함할 수 있다.The schedule notification information includes lecture information for future lectures based on the time provided to the student terminal 200, departure time based on at least one of traffic information and weather information, recommended means of transportation, and Recommended clothing information may be included.

또한, 스케줄 알림 정보는, 수강 신청 정보를 기초로 잔여 강의 횟수 및 강의 예정 내용을 포함할 수 있다. 다만 이러한 설명은 단순히 예시적인 것이며, 실시예들이 이러한 설명에 제한되는 것은 아니다.Additionally, the schedule notification information may include the remaining number of lectures and scheduled lecture content based on course registration information. However, this description is merely illustrative, and the embodiments are not limited to this description.

운동 피드백 모듈(163)은 수강생과 연관된 제1 자세 분석 정보 및 인바디 정보를 데이터베이스부(120)에서 로드하고, 제1 자세 분석 정보 및 인바디 정보를 기초로 운동 피드백 정보를 생성하여 수강생 단말(200)에 제공할 수 있다.The exercise feedback module 163 loads the first posture analysis information and Inbody information associated with the student from the database unit 120, generates exercise feedback information based on the first posture analysis information and Inbody information, and provides the student terminal 200 can be provided.

운동 피드백 정보는 수강생의 누적된 제1 운동 자세 분석 정보를 기초로 운동 성취률, 강의에 따른 운동 자세의 개선 정도에 대한 개선률, 운동 자세 향상을 위한 가이드 라인 정보를 포함할 수 있다. 또한, 운동 피드백 정보는 인바디 정보를 기초로 추천하는 운동 종류 및 강의 정보를 포함할 수 있다. 운동 피드백 정보는 일부 변형하여 구성될 수 있다.The exercise feedback information may include an exercise achievement rate based on the student's accumulated first exercise posture analysis information, an improvement rate regarding the degree of improvement in the exercise posture according to the lecture, and guideline information for improving the exercise posture. Additionally, exercise feedback information may include recommended exercise types and lecture information based on InBody information. The exercise feedback information may be configured with some modifications.

또한, 운동 피드백 모듈(163)은 인바디 정보의 변화 값과 제1 자세 분석 정보를 비교 분석하여 강의에 따른 신체 변화 및 자세 변화에 대한 각 변화 정보를 산출할 수 있다. Additionally, the exercise feedback module 163 may compare and analyze the change value of the InBody information and the first posture analysis information to calculate change information for body changes and posture changes according to the lecture.

추가적으로, 수강생 관리부(160)는 복수의 수강생의 각 제1 자세 분석 정보를 기초로 각 운동 종류별 수강생들의 순위를 정할 수 있다. 이를 통해, 서버(100)는 미리 정한 보상 지침을 기준으로 수강생 간의 경쟁에 따른 보상 혜택을 각 수강생에게 각 수강생에 대응한 수강생 단말(200)을 통해 제공할 수 있다.Additionally, the student management unit 160 may rank students for each exercise type based on the first posture analysis information of each of the plurality of students. Through this, the server 100 can provide compensation benefits according to competition between students based on predetermined compensation guidelines to each student through the student terminal 200 corresponding to each student.

수강생 관리부(160)는 각 정보가 업데이트 및 생성될 때마다 수강생 단말(200)에 해당 데이터를 제공할 수 있으며, 일부 변형하여 구성될 수 있다. The student management unit 160 may provide corresponding data to the student terminal 200 each time each piece of information is updated or created, and may be configured with some modification.

도 21은 본 발명의 몇몇 실시예에 따른 운동강의 추천 및 관리 방법을 수행하는 시스템의 하드웨어 구현을 설명하기 위한 도면이다.Figure 21 is a diagram for explaining the hardware implementation of a system that performs a method for recommending and managing exercise classes according to some embodiments of the present invention.

도 21을 참조하면, 본 발명의 몇몇 실시예들에 따른 서버(100)는 전자 장치(1000)로 구현될 수 있다. 전자 장치(1000)는 컨트롤러(1010, controller), 입출력 장치(1020, I/O), 메모리 장치(1030, memory device), 인터페이스(1040, interface) 및 버스(1050, bus)를 포함할 수 있다. 컨트롤러(1010), 입출력 장치(1020), 메모리 장치(1030) 및/또는 인터페이스(1040)는 버스(1050)를 통하여 서로 결합될 수 있다. 이때, 버스(1050)는 데이터들이 이동되는 통로(path)에 해당한다.Referring to FIG. 21, the server 100 according to some embodiments of the present invention may be implemented as an electronic device 1000. The electronic device 1000 may include a controller 1010, an input/output device 1020, I/O, a memory device 1030, an interface 1040, and a bus 1050. . The controller 1010, input/output device 1020, memory device 1030, and/or interface 1040 may be coupled to each other through a bus 1050. At this time, the bus 1050 corresponds to a path through which data is moved.

구체적으로, 컨트롤러(1010)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit), 마이크로프로세서, 디지털 신호 프로세스, 마이크로컨트롤러, 어플리케이션 프로세서(AP, application processor) 및 이들과 유사한 기능을 수행할 수 있는 논리 소자들 중에서 적어도 하나를 포함할 수 있다. Specifically, the controller 1010 includes a Central Processing Unit (CPU), Micro Processor Unit (MPU), Micro Controller Unit (MCU), Graphic Processing Unit (GPU), microprocessor, digital signal processor, microcontroller, and application processor (AP). , application processor) and logic elements capable of performing similar functions.

입출력 장치(1020)는 키패드(keypad), 키보드, 터치스크린 및 디스플레이 장치 중 적어도 하나를 포함할 수 있다. The input/output device 1020 may include at least one of a keypad, a keyboard, a touch screen, and a display device.

메모리 장치(1030)는 데이터 및/또는 프로그램 등을 저장할 수 있다.The memory device 1030 may store data and/or programs.

인터페이스(1040)는 통신 네트워크로 데이터를 전송하거나 통신 네트워크로부터 데이터를 수신하는 기능을 수행할 수 있다. 인터페이스(1040)는 유선 또는 무선 형태일 수 있다. 예컨대, 인터페이스(1040)는 안테나 또는 유무선 트랜시버 등을 포함할 수 있다. 도시하지 않았지만, 메모리 장치(1030)는 컨트롤러(1010)의 동작을 향상시키기 위한 동작 메모리로서, 고속의 디램 및/또는 에스램 등을 더 포함할 수도 있다. 메모리 장치(1030)는 내부에 프로그램 또는 어플리케이션을 저장할 수 있다. The interface 1040 may perform a function of transmitting data to or receiving data from a communication network. Interface 1040 may be wired or wireless. For example, the interface 1040 may include an antenna or a wired or wireless transceiver. Although not shown, the memory device 1030 is an operating memory for improving the operation of the controller 1010 and may further include high-speed DRAM and/or SRAM. The memory device 1030 may store programs or applications therein.

본 발명의 실시예들에 따른 서버(100)는 각각 복수의 전자 장치(1000)가 네트워크를 통해서 서로 연결되어 형성된 시스템일 수 있다. 이러한 경우에는 각각의 모듈 또는 모듈의 조합들이 전자 장치(1000)로 구현될 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.The server 100 according to embodiments of the present invention may be a system formed by connecting a plurality of electronic devices 1000 to each other through a network. In this case, each module or combination of modules may be implemented as the electronic device 1000. However, this embodiment is not limited to this.

추가적으로, 서버(100)는 워크스테이션(workstation), 데이터 센터, 인터넷 데이터 센터(internet data center(IDC)), DAS(direct attached storage) 시스템, SAN(storage area network) 시스템, NAS(network attached storage) 시스템, RAID(redundant array of inexpensive disks, or redundant array of independent disks) 시스템, 및 EDMS(Electronic Document Management) 시스템 중 적어도 하나로 구현될 수 있으나, 본 실시예가 이에 제한되는 것은 아니다.Additionally, the server 100 is a workstation, a data center, an internet data center (IDC), a direct attached storage (DAS) system, a storage area network (SAN) system, and a network attached storage (NAS). It may be implemented as at least one of a system, a RAID (redundant array of inexpensive disks, or redundant array of independent disks) system, and an EDMS (Electronic Document Management) system, but the present embodiment is not limited thereto.

또한, 서버(100)는 네트워크를 통해서 수강생 단말(200) 및 강사 단말(300)에 데이터를 전송할 수 있다. 네트워크는 유선 인터넷 기술, 무선 인터넷 기술 및 근거리 통신 기술에 의한 네트워크를 포함할 수 있다. 유선 인터넷 기술은 예를 들어, 근거리 통신망(LAN, Local area network) 및 광역 통신망(WAN, wide area network) 중 적어도 하나를 포함할 수 있다.Additionally, the server 100 may transmit data to the student terminal 200 and the instructor terminal 300 through the network. Networks may include networks based on wired Internet technology, wireless Internet technology, and short-distance communication technology. Wired Internet technology may include, for example, at least one of a local area network (LAN) and a wide area network (WAN).

무선 인터넷 기술은 예를 들어, 무선랜(Wireless LAN: WLAN), DMNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS) 및 5G NR(New Radio) 기술 중 적어도 하나를 포함할 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.Wireless Internet technologies include, for example, Wireless LAN (WLAN), DMNA (Digital Living Network Alliance), Wibro (Wireless Broadband), Wimax (World Interoperability for Microwave Access: Wimax), and HSDPA (High Speed Downlink Packet). Access), HSUPA (High Speed Uplink Packet Access), IEEE 802.16, Long Term Evolution (LTE), LTE-A (Long Term Evolution-Advanced), Wireless Mobile Broadband Service (WMBS) and 5G NR (New Radio) technology. However, this embodiment is not limited to this.

근거리 통신 기술은 예를 들어, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra-Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct), 5G NR (New Radio) 중 적어도 하나를 포함할 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.Short-range communication technologies include, for example, Bluetooth, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra-Wideband (UWB), ZigBee, and Near Field Communication. At least one of NFC), Ultrasound Communication (USC), Visible Light Communication (VLC), Wi-Fi, Wi-Fi Direct, and 5G NR (New Radio) may include. However, this embodiment is not limited to this.

네트워크를 통해서 통신하는 서버(100)는 이동통신을 위한 기술표준 및 표준 통신 방식을 준수할 수 있다. 예를 들어, 표준 통신 방식은 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTEA(Long Term Evolution-Advanced) 및 5G NR(New Radio) 중 적어도 하나를 포함할 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.The server 100 that communicates through a network can comply with technical standards and standard communication methods for mobile communication. For example, standard communication methods include GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), CDMA2000 (Code Division Multi Access 2000), and EV-DO (Enhanced Voice-Data Optimized or Enhanced Voice-Data Only). , at least one of Wideband CDMA (WCDMA), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Long Term Evolution (LTE), Long Term Evolution-Advanced (LTEA), and 5G New Radio (NR) may include. However, this embodiment is not limited to this.

이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely an illustrative explanation of the technical idea of the present embodiment, and those skilled in the art will be able to make various modifications and variations without departing from the essential characteristics of the present embodiment. Accordingly, the present embodiments are not intended to limit the technical idea of the present embodiment, but rather to explain it, and the scope of the technical idea of the present embodiment is not limited by these examples. The scope of protection of this embodiment should be interpreted in accordance with the claims below, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of rights of this embodiment.

Claims (7)

수강생이 이용하는 수강생 단말 및 강사가 이용하는 강사 단말과 연계되어 동작하는 서버에서 수행되는 운동 추천 및 관리 방법에 있어서,
상기 서버에 미리 저장된 정상 운동 영상을 전처리 모듈을 이용하여 학습용 입력 시퀀스로 변환하는 단계;
상기 학습용 입력 시퀀스 및 이에 대응되는 학습 자세 분석 정보를 기초로 자세 분석 모듈을 학습시키는 단계;
상기 수강생 단말 및 상기 강사 단말로부터 운동 영상을 수신하고, 상기 운동 영상을 상기 전처리 모듈을 이용하여 전처리하여 다수의 관절 위치 변화에 대한 입력 시퀀스를 생성하되, 상기 운동 영상은 상기 수강생의 제1 운동 영상과 상기 강사의 제2 운동 영상을 포함하는 단계;
상기 입력 시퀀스를 상기 자세 분석 모듈에 인가하여 상기 운동 영상에 대한 자세 분석 정보를 생성하되, 상기 자세 분석 정보는 상기 제1 운동 영상과 연관된 제1 자세 분석 정보와, 상기 제2 운동 영상과 연관된 제2 자세 분석 정보를 포함하는 단계;
상기 제1 자세 분석 정보 및 상기 제2 자세 분석 정보를 비교하여 각 부위별 자세 정확도를 산출하고, 산출된 상기 자세 정확도를 이용하여 추천 강의 리스트를 도출하는 단계; 및
상기 추천 강의 리스트를 상기 수강생 단말에 제공하는 단계를 포함하고,
상기 추천 강의 리스트를 도출하는 단계는,
(a) 상기 각 부위별 자세 정확도를 기초로 각 부위마다 자세 정확도가 최대값인 강사를 도출하여, 각 부위별 상기 수강생 및 상기 강사를 매칭한 제1 매칭 강사 정보를 생성하되, 제1 부위에 대한 자세 정확도가 상기 제1 부위에 대한 사용자의 자세 정확도보다 낮은 강사를 제외하여 상기 제1 매칭 강사 정보를 생성하는 단계;
(b) 상기 제1 매칭 강사 정보 및 미리 설정된 부위 가중치를 기초로 추천 강사를 도출하는 단계;
(c) 상기 추천 강사에 대응되는 강의를 미리 저장된 강의 정보에서 추출하여 상기 추천 강의 리스트를 도출하는 단계;
(d) 상기 추천 강사에 대응하는 제1 추천 강의 리스트를 미리 저장된 강의 정보에서 추출하는 단계; 및
(e) 상기 수강생 및 상기 강사의 시간 스케줄 및 상기 수강생의 강의 장소에 대한 위치 근접도 중 적어도 하나 및 상기 제1 추천 강의 리스트를 기초로 상기 추천 강의 리스트를 도출하는 단계를 포함하고,
상기 (e) 단계는,
공백 시간 직전 상기 수강생의 위치 정보를 기초로, 상기 제1 추천 강의 리스트에 포함된 각 강의의 강의 장소까지 이동하는 제1 이동 시간을 산출하는 단계;
상기 각 강의의 강의 장소에서 상기 공백 시간 이후 계획된 일정의 장소까지 이동하는 제2 이동 시간을 산출하는 단계; 및
상기 제1 이동 시간에 따라 상기 수강생이 각 강의에 대응한 강의 장소에 시작 시간까지 도착할 수 있는지 여부 및 상기 제2 이동 시간에 따라 상기 수강생이 상기 공백 시간 이후 계획된 일정에 도착할 수 있는지 여부에 기초하여 상기 추천 강의 리스트를 도출하는 단계를 포함하는 운동 추천 및 관리 방법.
In the exercise recommendation and management method performed on a server that operates in connection with the student terminal used by the student and the instructor terminal used by the instructor,
Converting a normal exercise image pre-stored in the server into an input sequence for learning using a pre-processing module;
learning a posture analysis module based on the learning input sequence and the corresponding learning posture analysis information;
An exercise image is received from the student terminal and the instructor terminal, and the exercise image is preprocessed using the preprocessing module to generate an input sequence for a plurality of joint position changes, wherein the exercise image is the student's first exercise image. and including a second exercise video of the instructor;
The input sequence is applied to the posture analysis module to generate posture analysis information for the exercise image, wherein the posture analysis information includes first posture analysis information associated with the first exercise image, and posture analysis information associated with the second exercise image. 2 including posture analysis information;
Comparing the first posture analysis information and the second posture analysis information to calculate posture accuracy for each part, and deriving a list of recommended lectures using the calculated posture accuracy; and
Comprising the step of providing the recommended lecture list to the student terminal,
The step of deriving the list of recommended lectures is,
(a) Based on the posture accuracy for each part, the instructor with the maximum posture accuracy for each part is derived, and first matching instructor information is generated by matching the student and the instructor for each part, but for the first part generating the first matching instructor information by excluding instructors whose posture accuracy for the first part is lower than the user's posture accuracy for the first part;
(b) deriving a recommended instructor based on the first matching instructor information and preset region weights;
(c) extracting lectures corresponding to the recommended instructor from pre-stored lecture information and deriving the recommended lecture list;
(d) extracting a first recommended lecture list corresponding to the recommended instructor from pre-stored lecture information; and
(e) deriving the recommended lecture list based on the first recommended lecture list and at least one of the time schedule of the student and the instructor and the location proximity to the lecture location of the student,
In step (e),
calculating a first travel time to travel to the lecture location of each lecture included in the first recommended lecture list based on the student's location information just before the gap time;
calculating a second travel time to move from the lecture location of each lecture to a scheduled location after the blank time; and
Based on whether the learner can arrive at the lecture location corresponding to each lecture by the start time according to the first travel time and whether the learner can arrive at the planned schedule after the blank time according to the second travel time An exercise recommendation and management method including the step of deriving the list of recommended lectures.
제1 항에 있어서,
상기 입력 시퀀스를 생성하는 단계는,
상기 운동 영상에 포함된 복수의 프레임의 각 프레임에서 주요 관절의 위치를 인식하는 단계;
상기 주요 관절의 위치에 대한 관절 인식 정보를 각 프레임에 적용하는 단계;
상기 관절 인식 정보의 변화를 기초로 복수의 관절 벡터를 생성하는 단계; 및
상기 복수의 관절 벡터를 연속되는 프레임 순서대로 배열하여 상기 입력 시퀀스를 생성하는 단계를 더 포함하는 운동 추천 및 관리 방법.
According to claim 1,
The step of generating the input sequence is,
Recognizing the position of a major joint in each frame of a plurality of frames included in the exercise image;
Applying joint recognition information about the positions of the main joints to each frame;
generating a plurality of joint vectors based on changes in the joint recognition information; and
An exercise recommendation and management method further comprising generating the input sequence by arranging the plurality of joint vectors in sequential frame order.
제1 항에 있어서,
상기 자세 분석 모듈은, 뉴럴 네트워크를 포함하는 오토인코더 및 입력 시퀀스의 이상여부를 판단하는 이상 판별부를 포함하고,
상기 자세 분석 정보를 생성하는 단계는,
상기 입력 시퀀스를 상기 오토인코더에 인가하여 출력 시퀀스를 생성하는 단계; 및
상기 이상 판별부에서 상기 입력 시퀀스 및 상기 출력 시퀀스의 차이를 기초로 자세 분석 정보를 생성하는 단계를 더 포함하는 운동 추천 및 관리 방법.
According to claim 1,
The posture analysis module includes an autoencoder including a neural network and an abnormality determination unit that determines whether the input sequence is abnormal,
The step of generating the posture analysis information is,
Generating an output sequence by applying the input sequence to the autoencoder; and
Exercise recommendation and management method further comprising generating posture analysis information based on the difference between the input sequence and the output sequence in the abnormality determination unit.
삭제delete 제1 항에 있어서,
상기 부위 가중치는 각 운동 종류에 따라 적어도 하나의 신체 부위에 대해 미리 설정된 값인 운동 추천 및 관리 방법.
According to claim 1,
An exercise recommendation and management method wherein the part weight is a preset value for at least one body part according to each exercise type.
제1 항에 있어서,
상기 추천 강의 리스트를 도출하는 단계는,
상기 자세 정확도, 상기 수강생 단말로부터 수신한 수강생의 선호도 및 강의 비용 중 하나 이상의 파라미터를 기초로 상기 추천 강의 리스트를 도출하는 단계를 더 포함하는 운동 추천 및 관리 방법.
According to claim 1,
The step of deriving the list of recommended lectures is,
An exercise recommendation and management method further comprising deriving the recommended lecture list based on one or more parameters of the posture accuracy, student preference received from the student terminal, and lecture cost.
제1 항에 있어서,
미리 저장된 수강 예정지, 미리 설정된 거리 및 제휴된 강의 시설 정보를 상기 서버에 포함된 데이터베이스부로부터 로드하는 단계;
상기 수강 예정지를 기준으로 상기 미리 설정된 거리 내 위치한 렌탈 가능한 제1 강의 시설 리스트를 추출하는 단계;
상기 제1 강의 시설 리스트 및 상기 수강생이 수강하는 강의 정보를 기초로 상기 강의 정보에 적합한 제2 강의 시설 리스트를 상기 제1 강의 시설 리스트에서 추출하는 단계; 및
상기 제2 강의 시설 리스트에 포함된 각 강의 시설의 렌탈 현황 정보를 기초로 최종 강의 시설 리스트를 생성하는 단계를 더 포함하는 운동 추천 및 관리 방법.
According to claim 1,
Loading pre-stored course schedule location, pre-set distance, and affiliated course facility information from a database unit included in the server;
extracting a list of first lecture facilities available for rent located within the preset distance based on the scheduled lecture location;
extracting a second lecture facility list suitable for the lecture information from the first lecture facility list based on the first lecture facility list and information on the lectures taken by the student; and
Exercise recommendation and management method further comprising generating a final lecture facility list based on rental status information of each lecture facility included in the second lecture facility list.
KR1020220076325A 2022-06-22 2022-06-22 methods for recommending and managing of exercise lectures Active KR102584654B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220076325A KR102584654B1 (en) 2022-06-22 2022-06-22 methods for recommending and managing of exercise lectures

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220076325A KR102584654B1 (en) 2022-06-22 2022-06-22 methods for recommending and managing of exercise lectures

Publications (1)

Publication Number Publication Date
KR102584654B1 true KR102584654B1 (en) 2023-10-05

Family

ID=88293478

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220076325A Active KR102584654B1 (en) 2022-06-22 2022-06-22 methods for recommending and managing of exercise lectures

Country Status (1)

Country Link
KR (1) KR102584654B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170133871A (en) * 2016-05-27 2017-12-06 주식회사 픽플컴퍼니 Method and program for providing personalized workout curriculum
KR102011996B1 (en) * 2019-02-11 2019-08-19 주식회사 골드레인 System for monitoring and analyzing posture
KR20200129327A (en) * 2019-05-08 2020-11-18 아이픽셀 주식회사 Method of providing personal training service and system thereof
KR102306055B1 (en) 2021-03-08 2021-09-28 전성훈 A Total Fitness Management System With On-Line Fitness Management Solution Between Polarity Fitness Trainer Share Fitness Utility On-Off Contact Fitness Customer
KR20220043911A (en) * 2020-09-29 2022-04-05 김명락 Method and device for providing service that analyzes exercise and recommends sports facilities based on deep-learning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170133871A (en) * 2016-05-27 2017-12-06 주식회사 픽플컴퍼니 Method and program for providing personalized workout curriculum
KR102011996B1 (en) * 2019-02-11 2019-08-19 주식회사 골드레인 System for monitoring and analyzing posture
KR20200129327A (en) * 2019-05-08 2020-11-18 아이픽셀 주식회사 Method of providing personal training service and system thereof
KR20220043911A (en) * 2020-09-29 2022-04-05 김명락 Method and device for providing service that analyzes exercise and recommends sports facilities based on deep-learning
KR102306055B1 (en) 2021-03-08 2021-09-28 전성훈 A Total Fitness Management System With On-Line Fitness Management Solution Between Polarity Fitness Trainer Share Fitness Utility On-Off Contact Fitness Customer

Similar Documents

Publication Publication Date Title
US11600196B2 (en) Method and system for supporting learning, and non-transitory computer-readable recording medium
KR102285665B1 (en) A method, system and apparatus for providing education curriculum
CN114493944B (en) Learning path determination method, device, equipment and storage medium
US11450147B2 (en) Evaluation data structure for evaluating a specific motion pattern and dashboard for setting up the evaluation data structure
CN108491808B (en) Method and device for acquiring information
US11869200B2 (en) ML model arrangement and method for evaluating motion patterns
CN111737486A (en) Human-sentry matching method and storage device based on knowledge graph and deep learning
CN108154109A (en) A kind of construction method, device and the intelligent teaching recorded broadcast method of intelligence recorded broadcast model
KR102820635B1 (en) Method, system and non-transitory computer-readable recording medium for answering prediction for learning problem
KR102584654B1 (en) methods for recommending and managing of exercise lectures
KR102438725B1 (en) System and method for providing exercise information using health and body information, computer program for the same
CN111967407A (en) Action evaluation method, electronic device, and computer-readable storage medium
US20220023717A1 (en) Matching system, matching method, and matching program
Cabada et al. Intelligent tutoring system with affective learning for mathematics
KR102671423B1 (en) Method for optimizing classroom structure to achieve maximum learning efficiency utilizing policy-based reinforcement learning
CN109299805A (en) A kind of online education course request processing method based on artificial intelligence
KR20230077192A (en) Lecture scheduling server and lecture scheduling method using the same
KR101872894B1 (en) System, method and computer program for professional ability training of individuals
KR20220156378A (en) Method for operating video lecture for interactive study
KR102669921B1 (en) Method, system and non-transitory computer-readable recording medium for providing information on user's conceptual understanding
KR102691115B1 (en) System for providing human body skeleton coordinae and joint based artificial intelligence personal trainer service
KR102660961B1 (en) Device for evaluating learning status
KR102660962B1 (en) Device for generating timetable for learning
KR102838379B1 (en) Artificial intelligence-based multi-intelligence analysis and personalized career recommendation system
KR102644942B1 (en) Apparatus and method for recommending exercise program for upper extremity rehabilitation

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20220622

PA0201 Request for examination
PA0302 Request for accelerated examination

Patent event date: 20220622

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20230220

Patent event code: PE09021S01D

PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20230623

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20230926

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20230926

End annual number: 3

Start annual number: 1

PG1601 Publication of registration