KR102584654B1 - methods for recommending and managing of exercise lectures - Google Patents
methods for recommending and managing of exercise lectures Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0003—Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
- A63B24/0006—Computerised comparison for qualitative assessment of motion sequences or the course of a movement
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0075—Means for generating exercise programs or schemes, e.g. computerized virtual trainer, e.g. using expert databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0613—Third-party assisted
- G06Q30/0619—Neutral agent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0645—Rental transactions; Leasing transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/22—Social work or social welfare, e.g. community support activities or counselling services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0003—Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
- A63B24/0006—Computerised comparison for qualitative assessment of motion sequences or the course of a movement
- A63B2024/0012—Comparing movements or motion sequences with a registered reference
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0075—Means for generating exercise programs or schemes, e.g. computerized virtual trainer, e.g. using expert databases
- A63B2024/0081—Coaching 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
Description
본 발명은 운동강의 추천 및 관리 방법에 관한 것이다. 구체적으로, 본 발명은 수강생에게 적합한 운동강의를 제공하고 수강생을 관리하는 방법에 관한 것이다.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.
본 발명의 과제는, 사용자의 운동 영상을 기초로 운동 자세를 분석하고, 운동 자세를 분석한 것을 기초로 사용자의 운동을 관리하는 방법을 제공하는 것이다.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
수강생 단말(200)과 강사 단말(300)은 네트워크로 서버(100)와 통신이 가능한 사용자 기기이다. 예를 들어, 수강생 단말(200)과 강사 단말(300)은 휴대폰, 스마트폰 및 웨어러블 디바이스(예를 들어, 워치형 단말기 등) 고유 식별 번호를 가질 수 있는 이동가능한 전자 장치를 의미할 수 있다. 여기서 수강생 단말(200)과 강사 단말(300)은 특정 운영 체제(예를 들어, 아이오에스(ios) 또는 안드로이드(Android) 운영체제)에 한정되지 않음은 물론이다. 또한, 수강생 단말(200)과 강사 단말(300)은 사용자의 입력을 수신하는 단말기입력부, 네트워크(400)로 수신된 정보를 디스플레이(Display)하는 단말기디스플레이부, 외부와 신호를 송수신하는 단말기통신부 및 데이터를 프로세싱하고 수강생 단말(200)과 강사 단말(300)의 각 내부의 각 유닛들을 제어하며 유닛들 간의 데이터 송/수신을 제어하는 단말기제어부를 포함할 수 있다.The
또한, 수강생 단말(200)과 강사 단말(300)은 운동 영상을 촬영할 수 있는 카메라 모듈을 포함한 장치일 수 있다. 수강생 단말(200)은 카메라 모듈로 수강생의 운동하는 자세를 촬영한 제1 운동 영상을 서버(100)로 전달할 수 있다. 강사 단말(300)은 카메라 모듈을 이용하여 강사의 운동하는 자세를 촬영한 제2 운동 영상을 서버(100)로 전달할 수 있다. 여기에서, 제1 및 제2 운동 영상은 이미지 또는 동영상일 수 있다.Additionally, the
추가적으로, 본 발명의 다른 실시예에서, 운동강의 추천 관리 시스템은 별도의 촬영 장치를 더 포함하고, 촬영 장치는 제휴된 강의 시설에 설치되어 있을 수 있다. 촬영 장치는 제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
도 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
구체적으로, 데이터 수신부(110)는 서버(100)의 각 요소가 필요한 데이터를 수신할 수 있다. 예를 들어, 데이터 수신부(110)는 수강생 단말(200)로부터 제1 운동 영상, 수강생의 선호도, 수강생의 시간 스케줄 및 수강 예정지를 수신하고 서버(100) 내의 다른 구성요소에 전달할 수 있다. 또한, 데이터 수신부(110)는 강사 단말(300)로부터 제2 운동 영상 및 강사의 시간 스케줄을 수신하고, 수신된 제2 운동 영상 및 시간의 시간 스케줄을 서버(100)내의 다른 구성요소에 전달할 수 있다. 데이터 수신부(110)는 다양한 통신 모듈이 이용될 수 있으며, 네트워크를 통해 서버(100), 수강생 단말(200) 및 강사 단말(300) 사이의 데이터 교환을 수행할 수 있다. 데이터 수신부(110)가 수신하고 전달하는 각 데이터는 서버(100)에 포함된 각 구성요소를 설명하면서 자세히 후술하도록 한다.Specifically, the
데이터베이스부(120)는 서버(100)의 적어도 하나의 구성요소에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터베이스부(120)에 저장되는 데이터는, 소프트웨어 및 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다.The
또한, 데이터베이스부(120)는 각 운동 종류에 대한 정상 운동 영상의 집합인 정상운동 데이터셋 및 운동강의에 대한 강의 정보를 미리 저장할 수 있다.Additionally, the
정상운동 데이터셋은 각 운동 종류에 대해, 올바른 자세로 운동하는 정상 운동 영상을 포함할 수 있다. 또한, 정상운동 데이터셋은 각 운동마다 적어도 하나의 정상 운동 영상을 포함하여 서버(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
강의 정보는 적어도 하나의 운동에 대해 개설된 강의에 대한 정보로서, 각 강의마다 강의 식별값, 강의명, 운동 종류, 강사 식별값, 강의 일정, 수강료, 강의 장소 및 비대면 여부를 포함할 수 있다. 또한, 강의 정보는, 본 발명에서 각 강사의 제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
운동 자세 분석부(130)는 데이터베이스부(120)에 저장된 정상운동 데이터셋을 기초로 학습되며, 수강생 단말(200)로부터 수신된 제1 운동 영상 및 강사 단말(300)로부터 수신된 제2 운동 영상의 각 운동 자세를 분석하여 자세 분석 정보를 각각 생성할 수 있다. 예를 들어, 운동 자세 분석부(130)는 제1 운동 영상을 분석하여 제1 자세 분석 정보를 생성하고, 제2 운동 영상을 분석하여 제2 자세 분석 정보를 생성할 수 있다. 운동 자세 분석부(130)에 대한 자세한 설명은 도 4 내지 도 13을 참조하여 후술하도록 한다.The exercise
강의 추천부(140)는 운동 자세 분석부(130)가 생성한 자세 분석 정보를 기초로 추천 강사 및 추천 강의 리스트를 도출할 수 있다. 예를 들어, 강의 추천부(140)는 제1 및 제2 자세 분석 정보, 수강생의 선호도, 수강생과 강의에 대한 시간 스케줄, 위치 근접도 및 강의 비용 중 적어도 어느 하나를 기초로 추천 강의 리스트를 도출하고 수강생 단말(200)에 제공할 수 있다. 이에 대한 자세한 설명은 도 14 내지 도 16을 참조하여 후술하도록 한다.The
장소 예약부(150)는 수강 신청 정보와 연관된 강의 시설 중 렌탈이 가능한 강의 시설에 대한 최종 강의 시설 리스트를 생성하고, 최종 강의 시설 리스트를 수강생 단말(200)에 제공할 수 있다. 수강 신청 정보는 수강생 단말(200)로부터 수신된 것으로 강의 추천부(140)가 생성한 추천 강의 리스트 중 적어도 어느 하나에 대응하여 강의를 신청한 정보이다. 장소 예약부(150)에 대한 자세한 설명은 도 17 내지 도 19를 참조하여 후술하도록 한다.The
수강생 관리부(160)는 수강생 단말(200)에 대응하는 수강 신청 정보를 포함하는 수강 이력을 기초로 수강생 단말(200)에 수강 관리를 하는 스케줄 알림 정보를 제공할 수 있다. 또한, 수강생 관리부(160)는 수강생 단말(200)과 연관되어 운동 자세 분석부(130)가 생성한 제1 자세 분석 정보 및 인바디 정보를 기초로 수강생 단말(200)에 운동 피드백 정보를 제공할 수 있다. 이에 대한 구체적인 설명은 도 20을 참조하여 후술하도록 한다.The
제어부(170)는 서버(100)에 포함된 각 구성요소의 동작을 제어하는 기능을 수행한다. 제어부(170)는 각 구성요소 간의 연결, 데이터 교환, 명령 수행 등의 동작을 수행할 수 있다. 따라서, 서버(100)에서 수행되는 운동강의 추천 및 관리의 수행주체는 제어부(170)일 수 있다.The
이하에서는, 본 발명의 몇몇 실시예에 따른 서버(100)의 동작을 도 3 및 도 4를 참조하여 서술한다.Below, the operation of the
도 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
구체적으로, 운동 자세 분석부(130)는 데이터베이스부(120)에 저장된 정상 운동 영상을 전처리 모듈(131)을 이용하여 학습용 입력 시퀀스로 변환할 수 있다(S110). 운동 자세 분석부(130)가 전처리 모듈(131)을 이용하여 운동 영상을 전처리하는 자세한 설명은 도 5 내지 도8을 참조하여 후술하도록 한다.Specifically, the exercise
운동 자세 분석부(130)는 학습용 입력 시퀀스 및 이에 대응하는 자세 분석 정보를 기초로 자세 분석 모듈(133)을 학습시킬 수 있다(S120). 본 발명의 운동 자세 분석부(130)의 전처리 및 학습 단계에 대한 동작은, 도 4 내지 도 8을 참조하여 자세히 후술하도록 한다.The exercise
이어서, 데이터 수신부(110)는 수강생 단말(200) 및 강사 단말(300)로부터 운동 자세에 대한 운동 영상을 각각 수신하고, 운동 자세 분석부(130)는 각 운동 영상을 전처리하여 다수의 관절 위치 변화에 대한 입력 시퀀스를 생성할 수 있다(S130).Subsequently, the
이어서, 운동 자세 분석부(130)는, 생성된 입력 시퀀스를 자세 분석 모듈(133)에 인가하여 운동 영상에 대한 자세 분석 정보를 생성할 수 있다(S140).Next, the exercise
이어서, 강의 추천부(140)는 운동 자세 분석부(130)가 생성한 자세 분석 정보를 기초로 각 부위별 자세 정확도를 산출할 수 있다(S150).Next, the
이어서, 강의 추천부(140)는 산출된 자세 정확도 및 미리 설정된 부위 가중치를 기초로 추천 강사를 도출할 수 있다(S160). 또한, 강의 추천부(140)는 추천 강사와 대응하는 추천 강의 리스트를 추출할 수 있다(S170).Subsequently, the
이어서, 데이터 수신부(110)는 강의 추천부(140)가 생성한 추천 강의 리스트를 수강생 단말(200)에 제공하고 수강 신청 정보를 수신할 수 있다(S180).Next, the
이하에서는, 본 발명의 몇몇 실시예에 따른 운동 자세 분석부(130)의 전처리 및 학습에 대한 동작을 자세히 서술하도록 한다.Hereinafter, the preprocessing and learning operations of the exercise
도 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
이때, 전처리 모듈(131)은 관절 인식 모듈(131a), 관절 벡터 변환 모듈(131b) 및 시퀀스 생성 모듈(131c)을 포함할 수 있다.At this time, the
운동 자세 분석부(130)는 데이터베이스부(120)에 저장된 정상 운동 영상을 로드하여 전처리 모듈(131)에 인가할 수 있다.The exercise
구체적으로, 도 5 내지 도 7를 참조하면, 전처리 모듈(131)의 관절 인식 모듈(131a)은 정상 운동 영상에 포함된 복수의 프레임(FS)의 각 프레임에서 주요 관절의 위치(b)를 인식할 수 있다(S111).Specifically, referring to FIGS. 5 to 7, the
추가적으로, 관절 인식 모듈(131a)은 인식한 관절의 위치(b)를 그룹핑하여 인식할 수 있다. 예를 들어, 도 7의 e1에 도시된 것과 같이, 인식되는 관절의 위치(B)는 상체(UB), 하체(LB), 상체(UB)에 포함된 암(A) 및 하체(LB) 등으로 그룹핑될 수 있다.Additionally, the
이어서, 관절 인식 모듈(131a)은 인식한 관절의 종류 및 인식한 각 관절 위치 간의 연결 관계를 포함한 관절 인식 정보를 각 프레임에 적용할 수 있다(S112). Subsequently, the
여기에서, 관절 인식 정보는, 도 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
또한, 그룹핑은 운동 종류에 따라 설정된 기준에 따라 그룹핑될 수 있다. 다만, 이러한 설명은 단순히 예시적인 것이며, 실시예들이 이러한 설명에 제한되는 것은 아니다. 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
이어서, 관절 인식 모듈(131a)은 관절 인식 정보를 각 프레임에 적용한 복수의 관절 프레임(JFS)을 관절 벡터 변환 모듈(131b)에 전달할 수 있다.Subsequently, the
복수의 관절 프레임(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
또한, 시퀀스 생성 모듈(131c)은 복수의 관절 벡터(JFS')에 미리 정해진 단위의 윈도우(W)를 적용하여 입력 시퀀스를 생성할 수 있다. 다만, 이러한 설명은 단순히 예시적인 것으로, 실시예들이 이러한 설명에 제한되는 것은 아니다.Additionally, the
이어서, 도 4를 참조하면, 운동 자세 분석부(130)는 정상 운동 영상을 전처리 모듈(131)에 인가하여 생성된 학습용 입력 시퀀스 및 학습 자세 분석 정보(PI)를 자세 분석 모듈(133)에 인가하여 자세 분석 모듈(133)을 학습시킬 수 있다.Next, referring to FIG. 4, the exercise
예를 들어, 운동 자세 분석부(130)는 정상 운동 영상에 대해 정답이 있는 학습 분석 정보(PI) 및 학습용 입력 시퀀스를 기초로 자세 분석 모듈(133)을 지도학습시킬 수 있다. For example, the exercise
여기에서, 학습 자세 분석 정보(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
도 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
또한 전처리 모듈(131)은 강사의 제2 운동 영상인 강사 운동 영상을 인가받아 제2 입력 시퀀스를 생성할 수 있다.Additionally, the
자세 분석 모듈(133)은 제1 및 제2 입력 시퀀스를 입력받아 자세 분석 정보를 생성할 수 있다. 구체적으로, 자세 분석 모듈(133)은 제1 입력 시퀀스를 입력받아 제1 자세 분석 정보를 생성할 수 있고, 제2 입력 시퀀스를 입력받아 제2 자세 분석 정보를 생성할 수 있다.The
이때, 자세 분석 모듈(133)은, 도 10을 참조하면, 이미 공지된 딥러닝 기술을 이용할 수 있다. 예를 들어, 자세 분석 모듈(133)은 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network) 및 GNN(Graph Neural Network) 등의 기술을 이용할 수 있다.At this time, referring to FIG. 10, the
구체적으로, 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
추가적으로, 강의 추천부(140)는 자세 분석 모듈(133)이 생성한 제1 및 제2 자세 분석 정보를 기초로 추천 강의 리스트를 생성할 수 있다. 이에 대한 구체적인 설명은 도 14 내지 도 16을 참조하여 후술하도록 한다.Additionally, the
이하에서는, 본 발명의 다른 실시예에 따른 운동 자세 분석부(130)의 수행하는 동작에 대해 도 11 및 도 13을 참조하여 자세히 서술하도록 한다.Hereinafter, the operations performed by the exercise
도 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
구체적으로, 도 11 및 도 12를 참조하면, 운동 자세 분석부(130)는 정상 운동 영상(SE)이 전처리 모듈(131)에 인가되어 생성된 학습용 입력 시퀀스를 기초로 학습될 수 있다.Specifically, referring to FIGS. 11 and 12 , the exercise
구체적으로, 운동 자세 분석부(130)는 미리 저장된 정상 운동 영상을, 전처리 모듈(131)을 이용하여 학습용 입력 시퀀스(SIS)로 변환할 수 있다(S210).Specifically, the exercise
이어서, 운동 자세 분석부(130)는 학습용 입력 시퀀스를 LSTM(Long Short Term Memory) 오토인코더(133a)에 인가하여 학습용 출력 시퀀스(SIS)를 생성할 수 있다(S220).Next, the exercise
이어서, 이상 판별부(133b)는 학습용 입력 시퀀스(SIS) 및 학습용 출력 시퀀스(SIS')의 차이값인 에러값(E)을 산출하고(S230), 운동 자세 분석부(130)는 에러값(E)을 기초로 반복 학습을 결정할 수 있다(S240). 예를 들어, 에러값(E)이 미리 설정한 기준치보다 작은 경우, 운동 자세 분석부(130)는 학습을 종료할 수 있다. 반대로, 에러값(E)이 미리 설정한 기준치보다 큰 경우, 운동 자세 분석부(130)는 에러값(E)을 줄이기 위해, 운동 자세 패턴 학습을 반복하여 수행할 수 있다. 이때, 운동 자세 분석부(130)는 로드한 동일한 정상운동 영상을 반복 학습할 수 있고, 정상운동 데이터셋에 포함된 다른 정상운동 영상을 새로 로드하여 학습을 수행할 수 있다. 이에 따라, 운동 자세 분석부(130)는 반복 학습하여 자세 분석 정확도를 높일 수 있다.Next, the
이어서, 데이터 수신부(110)는 수강생 단말(200)로부터 운동 자세에 대한 제1 운동 영상(UE)을 수신하고, 운동 자세 분석부(130)의 전처리 모듈(131)은 제1 운동 영상(UE)을 전처리하여 다수의 관절 위치 변화에 대한 제1 입력 시퀀스(1IS)를 생성할 수 있다(S250).Subsequently, the
이어서, 운동 자세 분석부(130)는 제1 입력 시퀀스(1IS)를 LSTM 오토인코더(133a)에 인가하여 제1 출력 시퀀스(1IS')를 생성할 수 있다(S260).Next, the exercise
이어서, 이상 판별부(133b)는 제1 입력 시퀀스(1IS) 및 제1 출력 시퀀스(1IS')의 차이를 산출하여 제1 운동 영상에 대한 제1 자세 분석 정보를 생성할 수 있다(S270). 예를 들어, 이상 판별부(133b)는 제1 입력 시퀀스(1IS) 및 제1 출력 시퀀스(1IS')의 차이를 인덱싱하여 추출하고, 추출된 부분을 수강생 운동 영상에 표시한 수강생 분석 영상을 생성할 수 있다. Next, the
추가적인 실시예로, 이상 판별부(133b)는 제1 입력 시퀀스(1IS) 및 제1 출력 시퀀스(1IS')의 차이를 추출하고, 추출된 부분에 대응하는 관절 인식 정보인 관절 피드백 정보를 생성할 수 있다.In an additional embodiment, the
제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
운동 자세 분석부(130)는 제2 입력 시퀀스(2IS) 및 제2 출력 시퀀스(2IS')의 차이인 에러값(E)과 미리 설정한 강사기준치를 비교하여 강사로서 적합한지에 대한 강사 적합 여부와 강사 등급을 산출할 수 있다.The exercise
또한, 강사 적합 여부와 강사 등급은 운동 종류 및 신체 부위에 따라 구분되어 산출될 수 있다. 다만 이러한 설명은 단순히 예시적인 것이며, 일부 변형하여 구성될 수 있다.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
여기에서, 도 13을 참조하면, LSTM 오토인코더(133a)는, 인코더(EN) 및 디코더(DC)를 포함하는 오토인코더를 포함하여 출력 데이터를 입력받은 데이터와 동일하도록 만들 수 있다.Here, referring to FIG. 13, the
구체적으로, 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
또한, 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
이에 대해 구체적으로, 자세 분석 모듈(133)은 뉴럴 네트워크에 마지막 레이어에서 CAM(Class Activation Map)을 계산할 수 있다. 즉, 운동 자세를 분석하는데 있어서의 가중치를 산출하고, 각 노드에 대해 복수의 히트맵(HeatMap)을 생성할 수 있다. Grad CAM 이미지를 도출하는 방법은 이미 공지되어 자세한 설명은 생략하도록 한다. 또한, Grad CAM 이미지를 생성하는 방법에 있어서, 올바른 운동 자세와 다른 영역을 표시하는 다양한 공지된 방법이 적용될 수 있음은 통상의 기술자에게 자명하다.Specifically, the
이하에서는, 본 발명의 몇몇 실시예에 따른 강의 추천부(140)를 도 14 내지 도 16을 참조하여 서술하도록 한다.Hereinafter, the
도 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
구체적으로, 도 15 및 도 16을 참조하면, 강의 추천부(140)는 사용자인 수강생에 대응한 제1 자세 분석 정보 및 각 강사에 대응한 제2 자세 분석 정보를 기초로 각 부위별 자세 정확도(cp)를 산출할 수 있다(S151).Specifically, referring to FIGS. 15 and 16, the
예를 들어, 자세 정확도(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
또한, 자세 정확도는, 각 신체 부위별 또는 운동 종류에 대응하여 산출될 수 있다. 예를 들어, 스쿼트 운동에 대한 자세 정확도를 제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
또한, 다른 실시예에 있어서, 강의 추천부(140)는 수강생의 자세 정확도보다 낮은 자세 정확도에 대응한 강사를 매칭 강사에서 제외시킬 수 있다. 예를 들어, 제4 부위에 대한 수강생의 자세 정확도는 35이고, 매칭 강사는 강사C이다. 이때, 강사D의 제4 부위에 대한 자세 정확도는 20으로 수강생의 자세 정확도보다 낮다. 따라서, 강사D가 제4 부위가 아닌 다른 부위에 대해 자세 정확도가 최대값이라고 하더라도, 제4 부위에 대해 과락으로 판정되어 매칭 강사로 선정될 수 없다. 다만 이러한 설명은 단순히 예시적인 것이며, 실시예들이 이러한 설명에 제한되는 것은 아니다. 일부 변형되어 구성될 수 있다.Additionally, in another embodiment, the
이어서, 강의 추천부(140)는 제1 매칭 강사 정보 및 미리 설정된 부위 가중치를 기초로 사용자에게 적합한 추천 강사를 도출할 수 있다(S163). 이때, 강의 추천부(140)는 각 신체 부위별 매칭된 강사의 자세 정확도와 부위 가중치를 연산하여 매칭 강사별 점수를 산출할 수 있다. 강의 추천부(140)는 산출된 점수 중 최대값에 대응한 강사를 추천 강사로 도출할 수 있으며, 추천 강사는 예비로 한두명을 더 도출할 수 있다.Subsequently, the
이어서, 강의 추천부(140)는 추천 강사에 대응하는 제1 추천 강의 리스트를 강의 정보에서 추출할 수 있다(S171). 구체적으로, 강의 추천부(140)는 추천 강사가 진행하는 강의 리스트를 데이터베이스부(120)에 저장된 강의 정보에서 추출하여 제1 추천 강의 리스트를 생성할 수 있다.Next, the
이를 통해, 강의 추천부(140)는 수강생의 올바르지 못한 운동 자세에 대해 실력이 검증된 강사가 강의하는 강의 정보를 수강생 단말(200)에 제공할 수 있다. 다만 이러한 설명은 단순히 예시적인 것이며, 일부 변형하여 구성될 수 있다.Through this, the
이어서, 강의 추천부(140)는 수강생의 선호도, 시간 스케줄, 위치 근접도 및 비용 중 둘 이상의 파라미터 및 제1 추천 강의 리스트를 기초로 추천 강의 리스트 도출할 수 있다(S173). 예를 들어, 강의 추천부(140)는 제1 추천 강의 리스트에서 수강생의 선호도, 시간 스케줄, 위치 근접도를 고려하여 수강생 단말(200)이 제1 추천 강의 리스트에 포함된 각 강의를 수강할 수 있는 장소로 이동할 수 있는지를 판단하여 추천 강의 리스트를 도출할 수 있다.Subsequently, the
수강생의 선호도는 수강생 단말(200)로부터 수신된 정보로 수강생이 수강하고자 하는 운동 강의, 수강생이 지도를 받고자 하는 운동 자세 및 수강생이 강의를 선택함에 있어서 고려하게 될 사항을 포함할 수 있다.The student's preference is information received from the
시간 스케줄은 수강생의 일정이 없는 공백 시간을 고려한 시간 스케줄 및 강의 시간 스케줄을 포함할 수 있다. 또한, 시간 스케줄은 수강생의 공백 시간과 공백 시간 전후에 계획된 일정의 위치 정보를 포함할 수 있다.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
예를 들어, 강의 추천부(140)는 각 강의에 대응한 강의 장소, 수강 예정지, 수강생 단말(200)의 위치 정보 및 수강생의 공백 시간 전후에 계획된 일정의 위치 정보를 기초로 수강생 단말(200)이 수강생의 공백 시간 전후에 계획된 일정의 위치 정보에서 강의 장소 또는 수강 예정지로 이동하는 이동 시간을 산출할 수 있다. 강의가 비대면 및 온라인 강의인 경우, 강의 장소는 수강생이 미리 설정한 수강 예정지일 수 있다.For example, the
강의 추천부(140)는 공백 시간 직전 수강생의 위치 정보에서 각 강의 장소로 이동하는 제1 이동 시간을 산출할 수 있다. 강의 추천부(140)는 공백 시간의 시작 시점에서 제1 이동 시간을 더하여 강의 시작 시간과 비교할 수 있다. 공백 시간의 시간 시점에서 제1 이동 시간을 더한 시간이 제1 강의의 시작 시간보다 늦는 경우, 강의 추천부(140)는 제1 추천 강의 리스트에서 제1 강의에 대한 정보를 제할 수 있다.The
또한, 강의 추천부(140)는 제1 강의의 강의 장소에서 공백 시간 이후 계획된 일정의 위치 정보까지 이동하는 제2 이동 시간을 산출할 수 있다. 따라서, 공백 시간의 시작 시점에서 제1 이동 시간을 더한 시간이 제1 강의의 시작 시간보다 이르고, 제1 강의 제1 강의의 종료 시점에서 제2 이동 시간을 더한 시점이 공백 시간 이후 계획된 일정보다 늦을 경우, 강의 추천부(140)는 제1 추천 강의 리스트에서 제1 강의에 대한 정보를 제할 수 있다. 다만 이러한 설명은 단순히 예시적인 것이며, 수강생이 수강할 수 있는 환경을 기초로 수강할 수 있는 강의를 추출하는 방법은 일부 변형하여 구성될 수 있다.Additionally, the
또한, 강의 추천부(140)는 비용을 추가적으로 고려하여 추천 강의 리스트를 도출할 수 있다. 비용은 수강생 단말(200)로부터 한도액을 수신받은 금액일 수 있다. Additionally, the
추가적으로, 수강생 단말(200)은 제공받은 추천 강의 리스트를 기초로 생성된 수강 신청 정보를 데이터 수신부(110)에 전달할 수 있다.Additionally, the
이하에서는, 본 발명의 몇몇 실시예에 따른 장소 예약부(150)를 도 17 내지 도 19을 참조하여 서술하도록 한다.Hereinafter, the
도 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
도 17 및 도 18을 참조하면, 제1 강의 시설 추출모듈(151)은 데이터베이스부에 미리 저장된 수강 예정지, 미리 설정된 거리 및 제휴된 강의 시설 정보를 로드할 수 있다(S310). 이때, 제1 강의 시설 추출모듈(151)은 강의 추천부(140)가 추천 강의 리스트를 추출하거나, 수강생 단말(200)로부터 수강 신청 정보를 수신된 이후에, 데이터베이스부로부터 데이터를 로드할 수 있다. 미리 저장된 수강 예정지는 수강생 단말(200)로부터 수신된 정보로 수강생이 원하는 수강 장소에 대한 위치 정보이다. Referring to FIGS. 17 and 18 , the first lecture
이어서, 제1 강의 시설 추출모듈(151)은 미리 설정된 수강 예정지를 기준으로 미리 설정된 거리 내 위치한 렌탈 가능한 제1 강의 시설 리스트를 강의 시설 정보에서 추출할 수 있다(S320). 강의 시설 정보는 제휴된 강의 시설에 대한 정보로, 운동 강의를 진행하거나 운동 시설을 대여해줄 수 있는 장소에 대한 정보이다.Subsequently, the first lecture
구체적으로, 도 19를 참조하면, 제1 강의 시설 추출모듈(151)은 미리 설정된 수강 예정지(C)를 기준으로 미리 설정된 거리(r) 내 위치한 강의 시설에 대한 시설 정보를 추출할 수 있다. 예를 들어, 도 19를 참조하면, 제1 강의 시설 추출모듈(151)은 수강 예정지(C)를 기준으로 미리 설정된 거리(r) 내 위치한 강의 시설 ①, ② 및 ③을 추출할 수 있다.Specifically, referring to FIG. 19, the first lecture
제2 강의 시설 추출모듈(153)은 제1 강의 시설 리스트 및 수강생이 수강하는 강의 정보를 기초로 강의 정보에 적합한 제2 강의 시설 리스트를 추출할 수 있다(S330). 예를 들어, 강의 정보에 대응한 운동 종류가 발레인 경우, 제2 강의 시설 추출모듈(153)은 제1 강의 시설 리스트에서 발레를 할 수 있는 장소를 추출하여 제2 강의 시설 리스트를 추출한다.The second lecture
최종 강의 시설 추출모듈(155)은 제2 강의 시설 리스트에 포함된 각 강의 시설의 렌탈 현황 정보를 기초로 최종 강의 시설 리스트를 생성할 수 있다(S340). 예를 들어, 발레를 할 수 있는 장소로 제2 강의 시설 리스트를 추출된 경우, 최종 강의 시설 추출모듈(155)은 제2 강의 시설 리스트에 포함된 강의 시설의 대여 가능 여부를 판단하여 최종 강의 시설 리스트를 생성한다. 구체적으로, 최종 강의 시설 추출모듈(155)은 제2 강의 시설 리스트에 포함된 강의 시설 중 강의 정보에 대응한 시간에 대여가 가능한지를 판단할 수 있다.The final lecture
이하에서는, 본 발명의 몇몇 실시예에 따른 수강생 관리부(160)를 도 20을 참조하여 서술하도록 한다.Hereinafter, the
도 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
수강 관리 모듈(161)은 수강 이력, 수강 이력에 대응하는 수강생의 일정 정보, 강의 정보, 교통 정보 및 날씨 정보 중 적어도 어느 하나를 기초로 스케줄 알림 정보를 생성하고, 수강 이력에 대응하는 수강생 단말(200)에 스케줄 알림 정보를 제공할 수 있다. 수강 이력은 누적된 수강 신청 정보이다.The
스케줄 알림 정보는, 수강생 단말(200)에 제공되는 시점 기준으로, 미래에 진행될 강의의 강의 정보를 포함하고, 교통 정보 및 날씨 정보 중 적어도 어느 하나를 기초로 출발할 시점, 추천하는 이동 수단 정보 및 추천 옷 정보를 포함할 수 있다.The schedule notification information includes lecture information for future lectures based on the time provided to the
또한, 스케줄 알림 정보는, 수강 신청 정보를 기초로 잔여 강의 횟수 및 강의 예정 내용을 포함할 수 있다. 다만 이러한 설명은 단순히 예시적인 것이며, 실시예들이 이러한 설명에 제한되는 것은 아니다.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
운동 피드백 정보는 수강생의 누적된 제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
추가적으로, 수강생 관리부(160)는 복수의 수강생의 각 제1 자세 분석 정보를 기초로 각 운동 종류별 수강생들의 순위를 정할 수 있다. 이를 통해, 서버(100)는 미리 정한 보상 지침을 기준으로 수강생 간의 경쟁에 따른 보상 혜택을 각 수강생에게 각 수강생에 대응한 수강생 단말(200)을 통해 제공할 수 있다.Additionally, the
수강생 관리부(160)는 각 정보가 업데이트 및 생성될 때마다 수강생 단말(200)에 해당 데이터를 제공할 수 있으며, 일부 변형하여 구성될 수 있다. The
도 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
구체적으로, 컨트롤러(1010)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit), 마이크로프로세서, 디지털 신호 프로세스, 마이크로컨트롤러, 어플리케이션 프로세서(AP, application processor) 및 이들과 유사한 기능을 수행할 수 있는 논리 소자들 중에서 적어도 하나를 포함할 수 있다. Specifically, the
입출력 장치(1020)는 키패드(keypad), 키보드, 터치스크린 및 디스플레이 장치 중 적어도 하나를 포함할 수 있다. The input/
메모리 장치(1030)는 데이터 및/또는 프로그램 등을 저장할 수 있다.The
인터페이스(1040)는 통신 네트워크로 데이터를 전송하거나 통신 네트워크로부터 데이터를 수신하는 기능을 수행할 수 있다. 인터페이스(1040)는 유선 또는 무선 형태일 수 있다. 예컨대, 인터페이스(1040)는 안테나 또는 유무선 트랜시버 등을 포함할 수 있다. 도시하지 않았지만, 메모리 장치(1030)는 컨트롤러(1010)의 동작을 향상시키기 위한 동작 메모리로서, 고속의 디램 및/또는 에스램 등을 더 포함할 수도 있다. 메모리 장치(1030)는 내부에 프로그램 또는 어플리케이션을 저장할 수 있다. The
본 발명의 실시예들에 따른 서버(100)는 각각 복수의 전자 장치(1000)가 네트워크를 통해서 서로 연결되어 형성된 시스템일 수 있다. 이러한 경우에는 각각의 모듈 또는 모듈의 조합들이 전자 장치(1000)로 구현될 수 있다. 단, 본 실시예가 이에 제한되는 것은 아니다.The
추가적으로, 서버(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
또한, 서버(100)는 네트워크를 통해서 수강생 단말(200) 및 강사 단말(300)에 데이터를 전송할 수 있다. 네트워크는 유선 인터넷 기술, 무선 인터넷 기술 및 근거리 통신 기술에 의한 네트워크를 포함할 수 있다. 유선 인터넷 기술은 예를 들어, 근거리 통신망(LAN, Local area network) 및 광역 통신망(WAN, wide area network) 중 적어도 하나를 포함할 수 있다.Additionally, the
무선 인터넷 기술은 예를 들어, 무선랜(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
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.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.
상기 입력 시퀀스를 생성하는 단계는,
상기 운동 영상에 포함된 복수의 프레임의 각 프레임에서 주요 관절의 위치를 인식하는 단계;
상기 주요 관절의 위치에 대한 관절 인식 정보를 각 프레임에 적용하는 단계;
상기 관절 인식 정보의 변화를 기초로 복수의 관절 벡터를 생성하는 단계; 및
상기 복수의 관절 벡터를 연속되는 프레임 순서대로 배열하여 상기 입력 시퀀스를 생성하는 단계를 더 포함하는 운동 추천 및 관리 방법.
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.
상기 자세 분석 모듈은, 뉴럴 네트워크를 포함하는 오토인코더 및 입력 시퀀스의 이상여부를 판단하는 이상 판별부를 포함하고,
상기 자세 분석 정보를 생성하는 단계는,
상기 입력 시퀀스를 상기 오토인코더에 인가하여 출력 시퀀스를 생성하는 단계; 및
상기 이상 판별부에서 상기 입력 시퀀스 및 상기 출력 시퀀스의 차이를 기초로 자세 분석 정보를 생성하는 단계를 더 포함하는 운동 추천 및 관리 방법.
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.
상기 부위 가중치는 각 운동 종류에 따라 적어도 하나의 신체 부위에 대해 미리 설정된 값인 운동 추천 및 관리 방법.
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.
상기 추천 강의 리스트를 도출하는 단계는,
상기 자세 정확도, 상기 수강생 단말로부터 수신한 수강생의 선호도 및 강의 비용 중 하나 이상의 파라미터를 기초로 상기 추천 강의 리스트를 도출하는 단계를 더 포함하는 운동 추천 및 관리 방법.
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 강의 시설 리스트 및 상기 수강생이 수강하는 강의 정보를 기초로 상기 강의 정보에 적합한 제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.
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)
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 |
-
2022
- 2022-06-22 KR KR1020220076325A patent/KR102584654B1/en active Active
Patent Citations (5)
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 |