KR20240104665A - 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치 - Google Patents

스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치 Download PDF

Info

Publication number
KR20240104665A
KR20240104665A KR1020220187133A KR20220187133A KR20240104665A KR 20240104665 A KR20240104665 A KR 20240104665A KR 1020220187133 A KR1020220187133 A KR 1020220187133A KR 20220187133 A KR20220187133 A KR 20220187133A KR 20240104665 A KR20240104665 A KR 20240104665A
Authority
KR
South Korea
Prior art keywords
exercise
data
movement
skeleton
information
Prior art date
Application number
KR1020220187133A
Other languages
English (en)
Inventor
정재훈
Original Assignee
한국신체정보(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국신체정보(주) filed Critical 한국신체정보(주)
Priority to KR1020220187133A priority Critical patent/KR20240104665A/ko
Publication of KR20240104665A publication Critical patent/KR20240104665A/ko

Links

Images

Classifications

    • 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
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0622Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0669Score-keepers or score display devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2230/00Measuring physiological parameters of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • G06T2207/20044Skeletonization; Medial axis transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

본 발명은 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치에 관한 것으로, 해결하고자 하는 과제는 스켈레톤 위치정보와 가상의 오브젝트 간의 매칭을 통해 객체의 움직임을 보다 쉽게 산출함으로써 움직임에 대한 정량적인 평가정보를 제공함과 동시에 사용자의 신체정보 및 운동종목 또는 활동종류에 대한 정보를 기반으로 운동평가점수 산출 시 미리 설정된 목표치를 완화 또는 축소하여 적응적인 운동평가결과를 제공하는데 있다.
일례로, 사용자의 신체정보를 등록하는 신체정보 등록부; 사용자의 스켈레톤 데이터에 포함된 스켈레톤 좌표값 중 적어도 하나의 지점을 스켈레톤 기준점으로 설정하고, 상기 스켈레톤 기준점이 설정된 좌표계 상에서 고정된 적어도 하나의 좌표범위를 갖는 오브젝트를 설정하는 데이터 설정부; 상기 스켈레톤 기준점을 추적하고, 추적되는 기준점 좌표값을 기초로 사용자의 움직임에 따른 물리 데이터를 산출하는 데이터 산출부; 상기 오브젝트의 좌표범위와 상기 좌표값 간의 비교결과, 상기 물리 데이터와 기 설정된 기준 데이터 간의 비교결과에 따른 운동평가결과를 제공하는 운동평가정보 제공부; 및 상기 신체정보 또는 상기 운동평가결과에 따라 상기 오브젝트 및 상기 기준 데이터의 조정을 통해 운동 난이도를 조절하는 운동 난이도 조절부를 포함하는 적응적 운동 평가 장치를 개시한다.

Description

스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치{DEVICE FOR EVALUATING MOVEMENT OF USER USING MATCHING BETWEEN SKELETON INFORMATION AND VIRTUAL OBJECTS AND PHYSICAL INFORMATION OF USER}
본 발명의 실시예는 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치에 관한 것이다.
기술혁신과 발전으로 인해 인간의 수명을 증대시키는 결과를 가져오고 있다. 전 산업군의 디지털 전환이 주목 받으면서 기존의 의료와 치료 그리고 운동에도 디지털 기술 기반의 활용이 활발히 진행되고 있다.
특히, 치료와 운동이 주목하는 영역은 인공지능, 가상현실 등의 디지털 기술을 활용하여 질병의 예방과 치료 그리고 관리를 포괄적으로 가능한 디지털치료제(Digital Therapeutics(DTx))가 주목을 받고 있다.
디지털치료제는 디지털 기술로 사람의 상태를 측정하고, 치료까지 가능한 의료형태의 디지털 기술이자 기기를 말한다. 현재 디지털 치료제의 기능은 질병의 예방, 관리, 치료하기 위한 목적을 가지고, 그 형태는 스마트폰 어플리케이션, 웹 서비스, 가상현실, 증강현실, 게임형태로 활용되고 있다. 최근에는 메타버스까지 효능과 용도에 따라 다양한 형태로 개발되고 있다.
인지행동치료와 운동 그리고 생활습관 교정을 기반으로 하는 디지털 치료제는 기존의 투약 중심의 치료를 넘어 건강한 노후를 담보할 예방치료법으로 성장하고 있다.
특히, 고령화에 따른 운동·인지·행동 등의 치료 등이 요구되고 있다. 이중 다양한 산업군에서는 깊이 카메라를 홈 피트니스, 운동재활, 인지게임, 운동처방 등에 적용하고 있다.
그러나, 자신에 맞는 운동프로그램을 실시해야 신체를 개선시키는 것이 가능함에도 불구하고, 강도 높은 운동이나 자신에 맞지 앉는 유연성을 요구하는 운동 등으로 부상을 입고 운동을 중단하고 있는 실정이다.
건강한 성인뿐만 아니라 질환이 있는 사람에게 운동은 중요하다. 운동이 신체에 미치는 긍정적인 효과는 이미 수많은 선행연구를 통해 밝혀진 사실이다. 운동은 신체를 유지 및 발달시키는 것을 넘어서 질병을 예방하거나 관리 및 개선을 하는 등에 적용하는 것이 가능하다. 운동은 연령, 성별, 운동목적, 질환 등 다양한 요소를 고려하여 운동 프로그램이 구성해야 하며, 운동 프로그램은 어린이 성장기 운동, 산전 후 운동, 근력강화, 체력증진, 다이어트, 고령자 운동, 만성질환 등을 대상으로 구성할 수 있다.
현재, 건강상태나 신체능력 보다 높은 강도의 운동은 신체에 무리가 따를 뿐만 아니라 운동을 지속하기 힘들다. 잘 구성된 운동 프로그램은 운동의 효과뿐만 아니라 부상을 예방하고, 운동목표를 빠르고 안전하게 달성 할 수 있다.
따라서, 자신에 맞는 운동강도를 설정하고, 운동 수행여부를 평가하여 자신의 맞는 운동을 지속적으로 하는 것이 중요하다.
등록특허공보 제10-2320960호(등록일자: 10-2320960호) 등록특허공보 제10-1970687호(등록일자: 2019년04월15일) 공개특허공보 제10-2017-0010157호(공개일자: 2017년01월26일)
본 발명의 실시예는, 스켈레톤 위치정보와 가상의 오브젝트 간의 매칭을 통해 객체의 움직임을 보다 쉽게 산출함으로써 움직임에 대한 정량적인 평가정보를 제공함과 동시에 사용자의 신체정보 및 운동종목 또는 활동종류에 대한 정보를 기반으로 운동평가점수 산출 시 미리 설정된 목표치를 완화 또는 축소하여 적응적인 운동평가결과를 제공하는 적응적 운동 평가 장치를 제공한다.
본 발명의 실시예에 따른 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치는, 사용자의 신체정보를 등록하는 신체정보 등록부; 사용자의 스켈레톤 데이터에 포함된 스켈레톤 좌표값 중 적어도 하나의 지점을 스켈레톤 기준점으로 설정하고, 상기 스켈레톤 기준점이 설정된 좌표계 상에서 고정된 적어도 하나의 좌표범위를 갖는 오브젝트를 설정하는 데이터 설정부; 상기 스켈레톤 기준점을 추적하고, 추적되는 기준점 좌표값을 기초로 사용자의 움직임에 따른 물리 데이터를 산출하는 데이터 산출부; 상기 오브젝트의 좌표범위와 상기 좌표값 간의 비교결과, 상기 물리 데이터와 기 설정된 기준 데이터 간의 비교결과에 따른 운동평가결과를 제공하는 운동평가정보 제공부; 및 상기 신체정보 또는 상기 운동평가결과에 따라 상기 오브젝트 및 상기 기준 데이터의 조정을 통해 운동 난이도를 조절하는 운동 난이도 조절부를 포함한다.
또한, 깊이 카메라를 통해 사용자의 스켈레톤 데이터를 획득하고, RGB 카메라를 통해 사용자의 이미지 데이터를 획득하는 데이터 획득부; 화면을 통해 상기 이미지 데이터로 구성되는 영상, 상기 스켈레톤 기준점과 상기 오브젝트를 출력하는 영상 출력부; 및 사용자의 운동 진행 중에 그래픽, 음성 및 텍스트 중 적어도 하나의 형태로 운동 종류에 따른 움직임 안내정보를 상기 영상 출력부로 제공하는 움직임 안내정보 제공부를 더 포함할 수 있다.
또한, 상기 데이터 설정부는, 상기 오브젝트에 대한 3차원 좌표 변환을 수행하고, 3차원 좌표계 상에서 3차원 좌표 변환된 상기 오브젝트를 상기 스켈레톤 기준점과 함께 배치하거나, 상기 스켈레톤 기준점에 대한 2차원 좌표 변환을 수행하고, 2차원 좌표계 상에서 2차원 좌표 변환된 스켈레톤 기준점을 상기 오브젝트와 함께 배치하고, 인식객체와 상기 깊이 카메라 간의 거리 및 해당 거리에 따라 화면 상에서 해당 인식객체가 차지하는 비율에 기초하여 좌표 간 거리를 설정할 수 있다.
또한, 상기 데이터 산출부는, 상기 스켈레톤 기준점에 대하여 추출된 좌표값 중 상기 오브젝트로부터 가장 먼 지점과, 상기 오브젝트의 좌표범위에 속하게 되는 지점 또는 상기 오브젝트와 가장 가까운 지점 간의 좌표 개수를 각각 산출하고, 산출된 좌표 개수에 따라 상기 스켈레톤 기준점의 움직임 거리 데이터를 각각 산출하는 움직임 거리 데이터 산출부; 상기 스켈레톤 기준점의 이동에 따른 좌표값의 추출 순서를 이용하여 상기 스켈레톤 기준점의 움직임 방향 데이터를 각각 산출하는 움직임 방향 데이터 산출부; 상기 움직임 거리 데이터가 각각 산출되는 시간을 움직임 시간 데이터로 각각 산출하는 움직임 시간 데이터 산출부; 상기 움직임 거리 데이터와 상기 움직임 시간 데이터를 이용하여 상기 스켈레톤 기준점의 움직임 속도 데이터를 각각 산출하는 움직임 속도 데이터 산출부; 상기 스켈레톤 기준점의 이동에 따라 추출된 다수의 좌표값을 연결하여 움직임 범위 데이터를 산출하는 움직임 범위 데이터 산출부; 및 상기 스켈레톤 기준점의 이동에 따라 추출된 다수의 좌표값을 연결하되, 각 좌표값의 추출 순서에 따라 움직임 경로 데이터를 산출하는 움직임 경로 데이터 산출부를 포함할 수 있다.
또한, 상기 운동평가정보 제공부는, 상기 스켈레톤 기준점의 이동에 따라 추출된 좌표값 중에서, 상기 움직임 방향 데이터를 기초로 상기 스켈레톤 기준점의 이동 방향이 전환되는 지점에 해당하는 좌표값이 상기 오브젝트의 좌표범위에 포함되는지 여부와 포함횟수를 산출하고, 산출된 포함횟수에 따라 제1 운동점수를 각각 산출하는 제1 운동점수 산출부; 상기 움직임 거리 데이터와 기 설정된 움직임 기준 거리 데이터를 비교하고, 비교결과에 따른 제2 운동점수를 각각 산출하는 제2 운동점수 산출부; 상기 움직임 방향 데이터와 기 설정된 움직임 기준 방향 데이터를 비교하고, 비교결과에 따른 제3 운동점수를 각각 산출하는 제3 운동점수 산출부; 상기 움직임 시간 데이터와 기 설정된 움직임 기준 시간 데이터를 비교하고, 비교결과에 따른 제4 운동점수를 각각 산출하는 제4 운동점수 산출부; 상기 움직임 속도 데이터와 기 설정된 움직임 기준 속도 데이터를 비교하고, 비교결과에 따른 제5 운동점수를 각각 산출하는 제5 운동점수 산출부; 상기 움직임 범위 데이터와 기 설정된 움직임 기준 범위 데이터를 비교하고, 비교결과에 따른 제6 운동점수를 각각 산출하는 제6 운동점수 산출부; 상기 움직임 경로 데이터와 기 설정된 움직임 기준 경로 데이터를 비교하고, 비교결과에 따른 제7 운동점수를 각각 산출하는 제7 운동점수 산출부; 좌우 움직임이 있는 운동을 진행하는 경우, 좌우 움직임에 대한 물리 데이터 간을 서로 비교하고, 비교결과와 기 설정된 기준 좌우 움직임 오차 데이터를 각각 비교하고, 비교결과에 따른 좌우 운동평가점수를 각각 산출하는 좌우 운동평가점수 산출부; 상하 움직임이 있는 운동을 진행하는 경우, 상기 움직임에 대한 물리 데이터 간을 서로 비교하고, 비교결과와 기 설정된 기준 상하 움직임 오차 데이터를 각각 비교하고, 비교결과에 따른 상하 운동평가점수를 각각 산출하는 상하 운동평가점수 산출부; 및 상기 제1 운동점수, 상기 제2 운동점수, 상기 제3 운동점수, 상기 제4 운동점수, 상기 제5 운동점수, 상기 제6 운동점수 및 상기 제7 운동점수를 가중 평균하여 종합평가점수를 산출하고, 상기 종합평가점수에 따른 운동종합평가결과를 산출하거나, 상기 좌우 운동평가점수 및 상기 상하 운동평가점수를 중 적어도 하나에 따른 운동종합평가결과를 산출하는 운동종합평가정보 산출부를 포함할 수 있다.
또한, 상기 신체정보는, 신장, 체중, 비만도, 연령, 성별, 운동목적, 운동경력 및 병력 중 적어도 하나의 정보를 포함하고, 상기 운동목적은 체중감량, 근대증대 및 체력증진 중 적어도 어느 하나를 포함하고, 상기 운동경력은 다수의 등급으로 구분되며, 상기 병력은 건강군과 건강위험군으로 분류될 수 있다.
또한, 상기 운동 난이도 조절부는, 상기 신체정보 또는 상기 운동평가결과에 따라 상기 오브젝트의 위치, 모양, 좌표범위(크기), 출력패턴, 출력속도 중 적어도 하나를 조정하는 오브젝트 조정부; 및 상기 신체정보 또는 상기 운동평가결과에 따라 움직임 거리, 시간, 속도 및 범위 중 적어도 하나에 대한 상기 기준 데이터의 속성값을 상향 또는 하향 조정하는 기준 데이터 속성 조정부를 포함할 수 있다.
또한, 상기 운동 난이도 조절부는, 상기 신체정보 또는 상기 운동평가결과에 따라 운동 세트 수, 휴식시간 및 운동동작구성 중 적어도 하나를 조정하는 운동 환경 조정부; 및 상기 신체정보에 따라 특정 운동종목 또는 운동종목의 특정 동작을 제한하고, 제한된 범위 안에서 운동 평가를 진행하도록 하는 운동 진행 제한부를 더 포함할 수 있다.
또한, 상기 운동 난이도 조절부는, 운동 진행 과정에서 사용자의 웨어러블 디바이스로부터 생체 데이터를 수신하고, 수신된 생체 데이터를 기반으로 최대심박수(HRmax), 여유심박수(HRR) 및 목표심박수(THR)를 포함하는 심박수 데이터를 산출하고, 산출된 심박수 데이터에 따라 운동 난이도를 추가적으로 조절할 수 있다.
본 발명에 따르면, 스켈레톤 위치정보와 가상의 오브젝트 간의 매칭을 통해 객체의 움직임을 보다 쉽게 산출함으로써 움직임에 대한 정량적인 평가정보를 제공함과 동시에 사용자의 신체정보 및 운동종목 또는 활동종류에 대한 정보를 기반으로 운동평가점수 산출 시 미리 설정된 목표치를 완화 또는 축소하여 적응적인 운동평가결과를 제공하는 적응적 운동 평가 장치를 제공할 수 있다.
이러한 적응적 운동 평가 장치를 통하여 기존의 의료체계의 한계를 극복하고, 더 많은 사람들에게 더 빠르고, 쉽고, 저렴한 고도의 혜택을 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 적응적 운동 평가 장치의 외관을 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 적응적 운동 평가 장치의 전체 구성을 나타낸 블록도이다.
도 3은 본 발명의 실시예에 따른 3차원 스켈레톤 정보를 가시화한 일례를 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 스켈레톤 좌표 변환 과정 중 모델 변환을 설명하기 위한 예시를 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 스켈레톤 좌표 변환 과정 중 뷰 변환을 설명하기 위한 예시를 나타낸 도면이다.
도 6은 본 발명의 실시예에 따른 스켈레톤 기준점과 가상의 오브젝트를 나타낸 도면이다.
도 7 내지 도 10은 본 발명의 실시예에 따른 다양한 운동(움직임)에 대한 예시와 그에 따른 스켈레톤 기준점 및 가상의 오브젝트를 나타낸 도면이다.
도 11은 본 발명의 실시예에 따른 데이터 산출부의 구성을 나타낸 블록도이다.
도 12는 본 발명의 실시예에 따른 운동평가정보 제공부의 구성을 나타낸 블록도이다.
도 13은 본 발명의 실시예에 따른 운동 난이도 조절부의 구성을 나타낸 블록도이다.
도 14는 본 발명의 실시예에 따른 오브젝트 영역의 크기 별 난이도 및 점수 예시를 나타낸 도면이다.
도 15 및 도 16은 본 발명의 실시예에 따른 오브젝트 높이에 난이도 예시를 나타낸 도면이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나 이상의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 본 발명의 실시예에 따른 적응적 운동 평가 장치의 외관을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 실시예에 따른 적응적 운동 평가 장치(1000)는 대형 정보 단말기와 같은 형태로 제작되고, 전방에 운동 또는 움직임에 대한 평가 대상인 사용자가 위치하며, 위치한 사용자가 운동 평가를 위한 기본적인 데이터 설정 값을 선택한 후 주어진 운동에 따른 움직임을 출력 영상을 보면서 취할 수 있다. 그리고, 운동 간에 화면을 통하여 그래픽, 텍스트, 음성 등의 형태로 움직인 안내정보를 제공할 수 있으며, 해당 단위 동작이 완료될 때 또는 해당 운동이 종료(세트 종료)될 때 운동평가결과를 제공함으로써, 사용자가 정확한 움직임을 취했는지에 대한 직관적인 이해와 확인이 가능하다.
또한, 사전에 사용자의 다양한 신체정보와, 운동종목 또는 활동종류에 대한 정보를 등록하고, 등록된 정보를 기반으로 운동점수 산출 시 미리 설정된 목표치의 완화 또는 축소를 통해 운동 난이도를 조정하여 사용자의 신체정보에 따른 적응적인 운동평가결과를 제공할 수 있다.
도 2는 본 발명의 실시예에 따른 적응적 운동 평가 장치의 전체 구성을 나타낸 블록도이고, 도 3은 본 발명의 실시예에 따른 3차원 스켈레톤 정보를 가시화한 일례를 나타낸 도면이고, 도 4는 본 발명의 실시예에 따른 스켈레톤 좌표 변환 과정 중 모델 변환을 설명하기 위한 예시를 나타낸 도면이고, 도 5는 본 발명의 실시예에 따른 스켈레톤 좌표 변환 과정 중 뷰 변환을 설명하기 위한 예시를 나타낸 도면이고, 도 6은 본 발명의 실시예에 따른 스켈레톤 기준점과 가상의 오브젝트를 나타낸 도면이고, 도 7 내지 도 10은 본 발명의 실시예에 따른 다양한 운동(움직임)에 대한 예시와 그에 따른 스켈레톤 기준점 및 가상의 오브젝트를 나타낸 도면이고, 도 11은 본 발명의 실시예에 따른 데이터 산출부의 구성을 나타낸 블록도이고, 도 12는 본 발명의 실시예에 따른 운동평가정보 제공부의 구성을 나타낸 블록도이고, 도 13은 본 발명의 실시예에 따른 운동 난이도 조절부의 구성을 나타낸 블록도이고, 도 14는 본 발명의 실시예에 따른 오브젝트 영역의 크기 별 난이도 및 점수 예시를 나타낸 도면이며, 도 15 및 도 16은 본 발명의 실시예에 따른 오브젝트 높이에 난이도 예시를 나타낸 도면이다.
도 2를 참조하면, 본 발명의 실시예에 따른 적응적 운동 평가 장치(1000)는 데이터 획득부(100), 신체정보 등록부(200), 데이터 설정부(300), 데이터 산출부(400), 운동평가정보 제공부(500), 운동 난이도 조절부(600), 영상 출력부(700) 및 움직임 안내정보 제공부(800) 중 적어도 하나를 포함할 수 있다.
상기 데이터 획득부(100)는, 깊이 카메라(110)를 통해 사용자의 스켈레톤 데이터를 획득하고, RGB 카메라(120)를 통해 사용자의 이미지 데이터를 획득할 수 있다.
좀 더 구체적으로, 데이터 획득부(100)는 스켈레톤 정보를 획득하기 위한 방법으로 2D 및 3D의 깊이 카메라(110)를 이용할 수 있다. 스켈레톤 정보를 얻기 위해 주로 사용되는 3D 깊이 카메라는 깊이 정보를 추출하기 위해 IR 카메라의 중심점을 원점으로 하여 객체를 3차원 좌표계 상에 표시할 수 있다. 이러한 3D 깊이 카메라의 깊이 센서는 반사된 레이저 빔 포인트로 각 픽셀 간 거리를 측정하여 객체를 인식할 수 있다.
또한, 데이터 획득부(100)는, 깊이 카메라(110)의 IR 센서와 RGB 카메라(120)의 RGB 센서를 이용하여 객체의 움직임 정보가 저장장치에 입력이 되고, 컬러 데이터 IR 데이터의 포인트 샘플 랜더링을 통해 3차원 객체를 생성하여 표시한다. 여기서, RGB 센서는 컬러 영상을 획득하고, IR 센서는 프로젝트를 통해 송출된 적외선 특정 패턴을 이용하여 깊이 정보를 획득할 수 있다. 깊이 카메라(110)와 RGB 카메라로 얻은 3차원 데이터 정보를 추출하고, RGB 영상, 깊이 정보 및 스켈레톤 데이터를 획득할 수 있다
한편, 3D 스켈레톤 좌표를 획득하기 위한 IR 프로젝터와 깊이 영상에 대한 내용을 설명하면, IR 프로젝터는 스캐터(scatter) 필름을 통해 산포되어 투영되고, 참조영역에서 적외선 패턴은 카메라 메모리에 정보가 변환되는 구간인 객체영역에서 패턴의 변화가 생기는데, 변화된 패턴은 참조영역에서의 패턴과 시차 비교를 통해 깊이 정보를 계산한다. 객체로부터 반사되어 돌아오는 적외선 패턴을 수광 센서로 검출하여 깊이 영상을 생성하며, 깊이 영상은 특정한 적외선 점 패턴을 물체에 투영하여 점 패턴을 분석하여 깊이 정보를 획득할 수 있으며, 객체에 대한 스켈레톤을 생성하여 추적 정보를 제공할 수 있다. 깊이 영상은 IR 센서에서 조사한 적외선 패턴을 IR 카메라를 통해 패턴 매칭 방식으로 생성할 수 있다. 깊이 영상만으로 객체의 식별이 어렵기 때문에 RGB 카메라(120)로부터 얻는 컬러 영상을 동시에 이용하여 특정 픽셀의 깊이 정보를 얻을 수 있으며, 획득된 깊이 정보를 이용하여 생성된 스켈레톤 데이터에 벡터 내적을 적용하여 각 관절의 움직임 벡터를 산출할 수 있다. 이때, 2D의 경우, XY 평면 등 2축을 방향으로 각도를 산출할 수 있고, 3D의 경우, XYZ 등의 3축 방향으로 각도를 산출할 수 있다.
상기 신체정보 등록부(200)는 사전(운동 전)에 사용자의 신체정보를 사용자로부터 입력 받아 등록할 수 있으며, 등록된 신체정보에 대한 데이터 정규화를 수행하여 수치적인 데이터로 변환함으로써 후속의 운동 난이도 조절을 위한 변수 값으로 활용할 수 있다.
본 실시예에 따른 적응적 운동 평가 장치(1000)의 운동 프로그램 구성을 위한 사전정보는 사용자의 신장, 체중, 비만도, 연령, 성별, 운동목적, 운동경력 및 병력 중 적어도 하나의 정보를 포함하고, 운동목적은 체중감량, 근대증대 및 체력증진 중 적어도 어느 하나를 포함하고, 운동경력은 다수의 등급으로 구분되며, 병력은 건강군과 건강위험군으로 분류될 수 있다.
여기서, 비만도는 신장과 체중을 이용하여 산출할 수 있으며, 연령을 기반으로 어린이, 청소년, 성인, 고령자를 분류할 수 있다 운동목적은 체중감량, 근력증대, 체력증진 등의 프로그램을 구성할 수 있고, 운동경력은 초급, 중급, 고급 등으로 분류 또는 구성할 수 있다. 또한, 현재 병력과 과거 병력을 기반으로 건강군과 건강위험군에 대한 프로그램을 구성할 수 있다. 일례로, 고혈압 환자 운동프로그램은 누워서 하는 운동, 머리위로 무거운 무게를 들어 올리는 동작 등을 제한하여 프로그램을 구성 할 수 있다.
본 실시예에 따른 운동 프로그램은 저 강도에서 고 강도로, 고 강도에서 저 강도로 전환이 가능하고 이를 복합적으로도 구성할 수 있다. 또한, 본 실시예에 따른 운동 프로그램은 최대 근력 비율(%) 또는 심박수 비율(%)을 적용하여 구성할 수 있으며, 인지능력 프로그램에서는 기억력, 시공간능력, 부위별 운동 등으로 구성할 수 있다.
상기 데이터 설정부(300)는, 스켈레톤 데이터에 포함된 스켈레톤 좌표값 중 적어도 하나의 지점을 스켈레톤 기준점으로 설정하고, 스켈레톤 기준점이 설정된 좌표계 상에서 고정된 적어도 하나의 좌표범위를 갖는 가상의 오브젝트를 설정할 수 있다. 예를 들어, 도 6에 도시된 바와 같이 사용자의 골반 중앙 부분을 스켈레톤 기준점(A)으로 설정하고, 무릎 사이의 특정 좌표영역을 오브젝트(B)로 설정할 수 있다.
본 실시예에서 스켈레톤 기준점은 스켈레톤 상에서 적어도 한 지점(예를 들어 골반, 무릎 또는 손목 등)을 의미하는 것으로 최초 설정 시 특정한 스켈레톤 좌표값을 가지며, 해당 좌표값은 사용자가 움직이게 되면서 바뀌게 된다. 다만, 해당 스켈레톤 기준점에 대한 위치 추적을 통해 해당 기준점에 대하여 바뀌는 좌표값을 지속적으로 추적할 수 있다. 그리고, 오브젝트는 스켈레톤 기준점이 설정된 좌표계 상에서 고정된 좌표범위를 가지며, 이를 위해 스켈레톤 좌표와 오브젝트 좌표가 서로 매칭될 수 있도록 좌표변환을 수행할 수 있다.
오브젝트의 위치 좌표는 3차원 좌표(XYZ-상/하/좌/우/앞/뒤)와 2차원 좌표(XY-상하/좌우)를 이용할 수 있으며, 3차원 좌표계는 상하/좌우/앞뒤의 축을 생성하고, 2차원 좌표는 전면에서의 상하/좌우의 축을 생성한다. 앞서 획득한 스켈레톤 좌표정보를 가상의 오브젝트와 매칭을 하기 위해서는, 좌표변환(Coordinate Transformation)을 사용하는데, 이러한 좌표변환은 다른 좌표 사이에서 좌표를 변환하는 작업의 총칭을 의미한다. 좌표 변환을 적용하면 3차원과 2차원 좌표의 오브젝트와 매칭하는 것이 가능하다. 일례로 2차원의 경우 화면 상의 좌표계에서 Z값(앞뒤 값)을 0을 적용하여 좌표 (XY)를 얻을 수 있다.
스켈레톤 좌표변환의 과정은 크게, 모델변환, 뷰 변환 및 프로젝션 변환이라는 파이프 라인을 거친다. 이는 3차원 공간 상의 오브젝트가 2차원 화면으로 변환되는 과정이다. 좌표변환 파이프 라인은 기하학적인 데이터를 하나의 물체나 장면으로 표현하는 역할을 하며, 그로부터 2차원의 이미지를 만든다. 2D의 경우에도 직교 좌표와는 다른 좌표계가 사용되거나 일정한 법칙에 기초해 변형을 구현할 경우에는 좌표변환으로 대응할 수 있다. 다른 방법으로는 XY평면에서 각도가 아닌 Z축 방향으로 각도를 산출할 경우 계산할 경우 3차원 좌표를 얻을 수 있다.
상기 모델변환은 로컬 좌표 상의 좌표로부터 월드 좌표계 상의 좌표로 변환하는 것이 모델변환이다. 모델변환의 일례는 다음과 같다. 로컬 좌표계와 월드 좌표계의 원점, 좌표축, 길이단위가 다를 수 있으며, 이를 해소하기 위한 방법으로 사용되는 방법이 모델변환이다. 모델변환은 평행이동, 회전, 스케일 등으로 구성된다. 모델변환 이후의 과정으로 뷰 변환이 이루어지는데, 도 5에 도시된 바와 같이 프로그램 월드 공간에서는 화면 영상 안에 자의적으로 놓인 부동의 원점 주위에 좌표계를 배치하였지만, 3차원 공간을 사용자 입장에서 실제로 표기할 때는 시점이 동적으로 변할 수 있기 때문에 프로그램 월드 공간 좌표에서 카메라를 중심으로 카메라 공간좌표로 변환해야 한다. 프로젝션까지는 3차원 정보를 2차원으로 전환하기 위한 스켈레톤 좌표변환 과정 즉 Z축을 0으로 적용한다.
본 실시예에서는 3차원의 스켈레톤 정보를 3차원 좌표를 이용하여 배치한 오브젝트를 화면 상에서 매칭하거나, 3차원의 스켈레톤 정보와 2차원 좌표를 이용해 배치시킨 오브젝트를 화면 상에서 매칭할 수 있다.
상기 프로젝션은 투영을 의미하고 투영변환이라고 한다. 상술한 모델변환 및 뷰 변환 과정을 통해 변환된 클립공간은 뷰 좌표계 중 일부를 클립하는 역할을 한다. 이때, 잘라내는 부분은 카메라에서 보이지 않는 부분에 해당된다. 뷰 공간 상태라면 프로그램 월드 공간에서 시점만 변환한 것이므로, 그 상태는 카메라의 뒤쪽과 카메라에서 너머 멀어서 비치지 않는 부분, 그리고 반대로 지나치게 가까운 부분의 오브젝트가 포함된다. 이때, 카메라에서 보이지 않는 부분을 삭제한 육면체 영역을 뷰 프러스텀(시야 절두체, view frustum)이라고 한다. 시야 바깥쪽의 정점 정보를 버리고, 뷰 프러스텀을 정규 뷰 볼륨(canonical view volume)에 해당하는 각 정점 좌표가 정규화된 정육면체로 변환하는 것이 프로젝션 변환이다. 뷰 프러스텀 중 카메라에 가까운 쪽 평면을 근 평면, 먼 쪽 평면을 원 평면이라 한다. 카메라의 회각, 시야각(field of view,FOV)이 크면 클수록 근 평면과 원 평면의 크기 비율 측면에서는 원 평면이 더 커진다. 뷰 프러스텀을 무리하게 정육면체 모양으로 만든다면 정규 뷰 볼륨에서는 원 평면에 가까워지면 가까워질수록 오브젝트의 응축도가 높아진다. 반대로 근 평면에 가까워 질수록 비율적으로는 커진다. 멀리 있는 것일수록 작게 보이는 일반적인 3차원의 다운 원근법 효과가 시뮬레이트되는데, 이러한 프로젝션 변환방법을 원근투영이라고 한다. 카메라 프로젝션(Camera Projection)을 원근법(Perspective)으로 한 경우, 시야각(Field of view)은 수직방향 화각, 클리핑 플랜(Clipping Planes)은 근 평면과 원 평면 각각의 시점으로부터 거리를 나타낸다. 뷰 프로스텀 바깥쪽의 오브젝트를 그리는 대상에서 제거하여 부하를 줄이는 방법은 프러스텀 컬링이다. 또한, 프러스텀 컬링은 시야 밖의 오브젝트를 생략하지만 화면 내 오브젝트에서 불필요한 거쳐진 부분의 그리기 처리를 생략할 수 없다. 그러나 오클루전 컬링 방법을 적용하면 가능하다. 카메라 컴포넌트의 프로젝션(Projection)에는 원근법(Perspective) 이외에 정사형법(Orthographic)도 지정할 수 있다. 정사형법(Orthographic)은 직교투영에 의한 프로젝션 변환이다. 직교투영의 뷰 프로스텀은 직육면체 모양으로 근 평면과 원 평면 크기에 차이가 없다. 이에, 원근법(Perspective)의 효과는 나타나지 않고 시야각도 없다. 정사형법(Orthographic)을 선택하면 FOV 프로퍼티가 무시되고, 'Orthographicsize' 프로퍼티로서 직육면체의 수직방향으로 세로절반의 크기를 지정할 수 있다.
상술한 파이프 라인(모델변환, 뷰 변환, 프로젝션 변환)을 거치며, 변환된 스켈레톤 좌표에 오브젝트를 설정하기 위한 방법으로, 윈도우 좌표계(Screen Space)방법을 적용한다. 정규환된 장치 좌표계를 실제 화면 상의 XY좌표로 변환해야 하는데, 이를 뷰 포트(View Port)변환이라 한다. 정규화된 장치 좌표계에서 임의로 설정한 뷰 포트의 크기를 곱하여 실제 윈도우의 (XY좌표를 얻어낸다. 절단 공간의 좌표들을 스크린 좌표계, 즉 화면에 보이는 공간으로 이동시키는 변환이다. -1.0 ~1.0사이에 있었던 점들이 디바이스의 픽셀 화면 비율로 맵핑(Mapping)이 이루어진다.
상술한 프로젝션 변환을 통해 3차원 정보를 2차원 정보로 전환하기 위한 3차원 스켈레톤 좌표변환과정을 적용할 수 있고, 이 중 Z축 값을 0으로 할 경우 2차원 좌표가 될 수 있다. 2차원의 경우에도 직교좌표와는 다른 좌표계가 사용되거나 일정한 법칙에 기초해 변형을 구현할 경우에는 좌표변환으로 대응한다. 다른 방법으로는 XY 평면에서 각도가 아닌 Z축 방향으로 각도를 산출할 경우 3차원이 된다.
상기 데이터 설정부(300)는, 오브젝트에 대한 3차원 좌표 변환을 수행하고, 3차원 좌표계 상에서 3차원 좌표 변환된 오브젝트를 스켈레톤 기준점과 함께 배치하거나, 스켈레톤 기준점에 대한 2차원 좌표 변환을 수행하고, 2차원 좌표계 상에서 2차원 좌표 변환된 스켈레톤 기준점을 상기 오브젝트와 함께 배치할 수 있다. 즉, 3차원 스켈레톤 정보를 3개의 축(XYZ)으로 배치시킨 오브젝트와 매칭하거나, 3차원 스켈레톤 정보를 2개의 축(XY)으로 배치시킨 오브젝트와 매칭할 수 있다.
한편, 데이터 설정부(300)는, 인식객체와 깊이 카메라(110) 간의 거리 그리고, 해당 거리에 따라 화면 상에서 해당 인식객체가 차지하는 비율에 기초하여 좌표 간 거리를 설정할 수 있으며, 오브젝트(B)의 크기 즉 좌표범위를 조정하여 운동 난이도를 조절할 수도 있다.
또한, 데이터 설정부(300)는 운동 종류에 따라 스켈레톤 기준점(A)과 오브젝트(B)의 위치를 기본적으로 각각 설정하여 제공하고, 사용자의 신장, 신체비율 등을 고려해 추가적인 미세 위치 조정이 가능하도록 구성될 수 있다.
상기 데이터 산출부(400)는, 데이터 획득부(200)로부터 사용자의 움직임에 따라 변화하는 스켈레톤 기준점의 좌표값을 추적하고, 추적되는 기준점 좌표값들에 기초하여 운동평가를 위해 필요한 사용자의 움직임에 따른 물리 데이터들을 각각 산출할 수 있다.
이를 위해 데이터 산출부(400)는 도 11에 도시된 바와 같이, 움직임 거리 데이터 산출부(401), 움직임 방향 데이터 산출부(402), 움직임 시간 데이터 산출부(403), 움직임 속도 데이터 산출부(404), 움직임 범위 데이터 산출부(405) 및 움직임 경로 데이터 산출부(406) 중 적어도 하나를 포함할 수 있다.
상기 움직임 거리 데이터 산출부(401)는, 스켈레톤 기준점에 대하여 추출된 좌표값 중 오브젝트로부터 가장 먼 지점과 오브젝트의 좌표범위에 속하게 되는 지점(즉, 매칭 지점) 또는 오브젝트와 가장 가까운 지점 간의 좌표 개수를 각각 산출하고, 산출된 좌표 개수에 따라 스켈레톤 기준점의 거리 데이터를 각각 산출할 수 있다.
예를 들어, 도 7에 도시된 바와 같이 사용자가 서고 앉는 동작을 반복 수행하는 스쿼트 운동을 실시하고 있다고 가정했을 때, 최초 스켈레톤 기준점(A)부터 좌표값이 변하게 되는데, 이때 최초 시작 지점에서의 스켈레톤 기준점(A)의 좌표값은 하나의 단위동작 내에서 오브젝트(B)로부터 가장 먼 지점으로 기록되고, 이후 앉게 되면서 해당 기준점(A)은 오브젝트(B)의 좌표범위에 속하게 되거나(매칭되거나), 가장 가깝게 기록될 수 있는데, 이 둘 중 하나일 때의 좌표값을 추출한 후 두 좌표값(최초 시작 지점에서의 스켈레톤 기준점(A)의 좌표값, 해당 기준점(A)은 오브젝트(B)의 좌표범위에 속하게 되거나(매칭되거나), 가장 가깝게 기록될 때의 좌표 값) 간의 좌표 개수 즉 Y축 상의 좌표 개수를 산출함으로써, 동작 1에서 동작 2을 수행할 때 스켈레톤 기준점(A)이 움직임 거리를 산출할 수 있다.
상기 움직임 방향 데이터 산출부(402)는, 스켈레톤 기준점의 이동에 따른 좌표값의 추출 순서를 이용하여 스켈레톤 기준점의 움직임 방향 데이터를 각각 산출할 수 있다.
예를 들어, 도 7에 도시된 바와 같이 동작 1에서 동작 2가 이루어지는 동안 스켈레톤 기준점(A)에 대한 좌표값을 추출할 때, Y축 좌표값이 점차 감소하는 순서로 추출되면 -Y축 방향의 움직임 방향 데이터를 산출하며, 그와 반대로 동작 2에서 동작 1이 이루어지는 동안 스켈레톤 기준점(A)에 대한 좌표값을 추출할 때, Y축 좌표값이 점차 증가하는 순서로 추출되면 +Y축 방향의 움직임 방향 데이터를 산출할 수 있다.
상기 움직임 시간 데이터 산출부(403)는, 움직임 거리 데이터가 각각 산출되는 시간을 움직임 시간 데이터로 각각 산출할 수 있다.
상기 움직임 속도 데이터 산출부(404)는, 움직임 거리 데이터와 상기 움직임 시간 데이터를 이용하여 스켈레톤 기준점의 움직임 속도 데이터를 각각 산출할 수 있다.
예를 들어, 도 7에 도시된 바와 같이 동작 1에서의 스켈레톤 기준점(A)과 동작 2에서의 스켈레톤 기준점(A) 간의 좌표 거리가 움직임 거리 데이터로 기록되는데, 이러한 동작 1 및 동작 2 각각에서 스켈레톤 기준점(A)의 좌표값이 추출되는 시간차를 동작 1 및 동작 2 간의 움직임 거리로 나누면 동작 1 및 동작 2에 대한 속도를 산출할 수 있다.
상기 움직임 범위 데이터 산출부(405)는, 스켈레톤 기준점의 이동에 따라 추출된 다수의 좌표값을 연결하여 움직임 범위 데이터를 산출할 수 있다.
예를 들어, 도 8에 도시된 바와 같이, 동작 1에서 동작 2가 이루어지면 스켈레톤 기준점(A)도 이동하면서 해당 좌표값이 함께 추출되는데, 추출되는 다수의 좌표값들을 연결하게 되면 삼각형 모양의 움직임 범위에 대한 정보를 얻을 수 있다.
상기 움직임 경로 데이터 산출부(406)는, 스켈레톤 기준점의 이동에 따라 추출된 다수의 좌표값을 연결하되, 각 좌표값의 추출 순서에 따라 움직임 경로 데이터를 산출할 수 있다.
예를 들어, 도 8에 도시된 바와 같이, 동작 1에서 동작 2가 이루어지면 스켈레톤 기준점(A)도 이동하면서 해당 좌표값이 함께 추출되는데, 추출되는 다수의 좌표값들을 추출 순서대로 연결하게 되면 각 라인마다 특정한 이동 방향성을 갖는 삼각형 모양의 움직임 경로에 대한 정보를 얻을 수 있다.
상기 운동평가정보 제공부(500)는, 오브젝트의 좌표범위와 스켈레톤 기준점의 좌표값 간을 비교하고, 데이터 산출부(400)를 통해 산출된 물리 데이터와 기 설정된 기준 데이터 간을 비교하고, 각각의 비교결과에 따른 운동평가결과를 제공할 수 있다.
이를 위해 운동평가정보 제공부(500)는 도 12에 도시된 바와 같이, 제1 운동점수 산출부(501), 제2 운동점수 산출부(502), 제3 운동점수 산출부(503), 제4 운동점수 산출부(504), 제5 운동점수 산출부(505), 제6 운동점수 산출부(506), 제7 운동점수 산출부(507), 좌우 운동평가점수 산출부(508), 상하 운동평가점수 산출부(509) 및 운동종합평가정보 산출부(510) 중 적어도 하나를 포함할 수 있다.
상기 제1 운동점수 산출부(501)는, 스켈레톤 기준점의 이동에 따라 추출된 좌표값 중에서, 움직임 방향 데이터를 기초로 스켈레톤 기준점의 이동 방향이 전환되는 지점에 해당하는 좌표값이 오브젝트의 좌표범위에 포함되는지 여부와 포함횟수를 산출하고, 산출된 포함횟수에 따라 제1 운동점수를 각각 산출할 수 있다.
좀 더 구체적으로, 도 7에 도시된 스쿼트 운동 예시 및 도 8에 도시된 레터럴레이즈(좌우 움직임) 운동 예시에서와 같이 스켈레톤 기준점(A)이 이동하면서 그에 따라 변화하는 좌표값들도 함께 추출되는데, 추출되는 좌표값들 중에서 스켈레톤 기준점(A)의 이동 방향이 전환되는 지점(좌표방향 전환지점)이 검출될 수 있는데, 해당 좌표방향 전환지점의 좌표값이 오브젝트(B)의 좌표범위에 속하는지 여부(매칭여부)를 우선 각 단위동작이 이루어질 때마다 확인하고, 좌표방향 전환지점이 오브젝트(B)(도 7에서는 무릎 사이, 도 8에서는 양쪽 어깨와 각각 수평방향으로 일정거리 떨어진 지점)의 좌표범위에 얼마나 속하는지(매칭되는지)에 대한 횟수 또는 빈도를 계산하여 제1 운동점수를 산출할 수 있다. 즉, 사용자의 구분동작 시마다 스켈레톤 기준점(A)이 오브젝트(B)까지 정확히 도달했는지와 정확한 동작을 얼마나 자주 수행하였는지를 수치적으로 계산하여 제1 운동점수로 산출할 수 있다.
이러한 제1 운동점수 산출부(501)는 하나의 구분동작이 끝날 때마다 해당 운동점수를 실시간 피드백함으로써, 현재 사용자가 해당 운동을 정상적으로 수행하는지를 실시간 확인할 수 있도록 한다.
상기 제2 운동점수 산출부(502)는, 움직임 거리 데이터와 기 설정된 움직임 기준 거리 데이터를 비교하고, 비교결과에 따른 제2 운동점수를 각각 산출할 수 있다.
좀 더 구체적으로, 도 7에 도시된 스쿼트 운동 예시 및 도 8에 도시된 레터럴레이즈(좌우 움직임) 운동 예시에서와 같이 동작 1에서 동작 2를 수행하면서 스켈레톤 기준점(A)의 좌표 추적에 따른 움직임 거리 데이터가 각 단위동작이 수행될 때 마다 산출되는데, 산출된 움직임 거리 데이터가 미리 설정된 기준치에 도달했는지 여부 내지 얼마나 도달했는지를 수치적으로 계산하여 제2 운동점수에 반영할 수 있다. 이는, 사용자의 구분동작마다 움직인 거리도 운동점수에 반영하기 위함이다. 또한, 각 픽셀간 거리를 측정하는 깊이 센서를 이용해 추출된 스켈레톤 기준점(A) 좌표값에 상술한 파이프 라인의 뷰 포트 연산을 수행하여 3차원 축(XYZ) 상에 오브젝트(B)를 배치하고 거리를 계산할 수 있다. 본 실시예에 따른 움직임 거리 데이터는 스켈레톤 기준점(A)이 극점에 위치했을 때와 오브젝트(B) 간의 거리뿐만 아니라, 이동하고 있는 스켈레톤 기준점(A)과 오브젝트(B) 간에 변화하는 실시간 거리 데이터를 포함할 수도 있다.
이러한 제2 운동점수 산출부(502)는 하나의 구분동작이 끝날 때마다 해당 운동점수를 실시간 피드백함으로써, 현재 사용자가 해당 운동을 정상적으로 수행하는지를 실시간 확인할 수 있도록 한다.
상기 제3 운동점수 산출부(503)는, 움직임 방향 데이터와 기 설정된 움직임 기준 방향 데이터를 비교하고, 비교결과에 따른 제3 운동점수를 각각 산출할 수 있다.
좀 더 구체적으로, 도 8에 도시된 레터럴레이즈(좌우 움직임) 운동 예시에서와 같이 동작 1에서 동작 2를 수행하면서 산출된 스켈레톤 기준점(A)의 이동 방향과 미리 설정된 움직임 기준 방향을 비교하여 사용자가 덤벨을 정확한 방향에 따라 이동시키며 운동하였는지를 수치적으로 계산하여 제3 운동점수로 산출할 수 있다.
이러한 제3 운동점수 산출부(503)는 하나의 구분동작이 끝날 때마다 해당 운동점수를 실시간 피드백함으로써, 현재 사용자가 해당 운동을 정상적으로 수행하는지를 실시간 확인할 수 있도록 한다.
상기 제4 운동점수 산출부(504)는, 움직임 시간 데이터와 기 설정된 움직임 기준 시간 데이터를 비교하고, 비교결과에 따른 제4 운동점수를 각각 산출할 수 있다.
좀 더 구체적으로, 도 7에 도시된 스쿼트 운동 예시 및 도 8에 도시된 레터럴레이즈(좌우 움직임) 운동 예시에서와 같이 동작 1에서 동작 2를 수행하면서 걸린 시간과 미리 설정된 기준 시간을 비교해 해당 구분동작 시간이 기준 시간보다 얼마나 긴지 또는 짧은지를 수치적으로 계산하고, 그 오차에 따른 제4 운동점수를 산출할 수 있다.
이러한 제4 운동점수 산출부(504)는 하나의 구분동작이 끝날 때마다 해당 운동점수를 실시간 피드백함으로써, 현재 사용자가 해당 운동을 정상적으로 수행하는지를 실시간 확인할 수 있도록 한다.
상기 제5 운동점수 산출부(505)는, 움직임 속도 데이터와 기 설정된 움직임 기준 속도 데이터를 비교하고, 비교결과에 따른 제5 운동점수를 각각 산출할 수 있다.
좀 더 구체적으로, 도 7에 도시된 스쿼트 운동 예시 및 도 8에 도시된 레터럴레이즈(좌우 움직임) 운동 예시에서와 같이 동작 1에서 동작 2를 수행하면서 산출된 움직임 속도와 미리 설정된 기준 속도를 비교해 해당 구분동작 속다가 기준 속도보다 얼마나 빠른지 또는 느린지를 수치적으로 계산하고, 그 오차에 따른 제5 운동점수를 산출할 수 있다.
이러한 제5 운동점수 산출부(505)는 하나의 구분동작이 끝날 때마다 해당 운동점수를 실시간 피드백함으로써, 현재 사용자가 해당 운동을 정상적으로 수행하는지를 실시간 확인할 수 있도록 한다.
상기 제6 운동점수 산출부(506)는, 움직임 범위 데이터와 기 설정된 움직임 기준 범위 데이터를 비교하고, 비교결과에 따른 제6 운동점수를 각각 산출할 수 있다.
좀 더 구체적으로, 도 8에 도시된 레터럴레이즈(좌우 움직임) 운동 예시에서와 같이 동작 1에서 동작 2를 수행하면서 산출된 움직임 범위와 미리 설정된 기준 범위를 비교하고, 산출된 움직임 범위가 기준 범위를 얼마나 벗어났는지를 수치적으로 계산하고, 그 오차에 따른 제6 운동점수를 산출할 수 있다.
이러한 제6 운동점수 산출부(506)는 하나의 구분동작이 끝날 때마다 해당 운동점수를 실시간 피드백함으로써, 현재 사용자가 해당 운동을 정상적으로 수행하는지를 실시간 확인할 수 있도록 한다.
상기 제7 운동점수 산출부(507)는, 움직임 경로 데이터와 기 설정된 움직임 기준 경로 데이터를 비교하고, 비교결과에 따른 제7 운동점수를 각각 산출할 수 있다.
좀 더 구체적으로, 도 8에 도시된 레터럴레이즈(좌우 움직임) 운동 예시에서와 같이 동작 1에서 동작 2를 수행하면서 산출된 움직임 경로와 미리 설정된 기준 경로를 비교하고, 산출된 움직임 범위가 기준 범위와 일치하는지 여부에 따른 제6 운동점수를 산출할 수 있다.
이러한 제7 운동점수 산출부(507)는 하나의 구분동작이 끝날 때마다 해당 운동점수를 실시간 피드백함으로써, 현재 사용자가 해당 운동을 정상적으로 수행하는지를 실시간 확인할 수 있도록 한다.
상기 좌우 운동평가점수 산출부(508)는, 좌우 움직임이 있는 운동을 진행하는 경우, 좌우 움직임에 대한 물리 데이터 간을 서로 비교하고, 비교결과와 기 설정된 기준 좌우 움직임 오차 데이터를 각각 비교하고, 비교결과에 따른 좌우 운동평가점수를 각각 산출할 수 있다.
좀 더 구체적으로, 도 9에 도시된 레터럴레이즈(좌우 움직임) 운동 예시에서와 같이 좌우 대칭 움직임이 있는 레터럴레이즈 운동을 수행하는 경우 좌측의 스켈레톤 기준점(A1)이 좌측 상부의 오브젝트(B1)을 향해 움직이면서 그에 따른 다양한 제1 물리 데이터들(우측 다리의 움직임 거리, 방향, 시간, 속도, 범위, 경로)을 획득하고, 우측의 스켈레톤 기준점(A2)이 우측 상부의 오브젝트(B2)을 향해 움직이면서 다양한 제2 물리 데이터들(우측 다리의 움직임 거리, 방향, 시간, 속도, 범위, 경로)을 획득하고, 획득한 제1 물리 데이터와 제2 물리 데이터를 각각 서로 비교할 수 있다. 이때, 양 다리 간의 움직임 거리, 방향, 시간, 속도, 범위, 경로에 관한 물리 데이터를 비교하며 이들의 오차를 수치적으로 계산하고, 계산된 오차가 미리 설정된 기준치와 각각 비교하여 그 비교결과에 따른 좌우 운동평가점수를 각각 산출할 수 있다.
이러한 좌우 운동평가점수 산출부(508)는 하나의 구분동작이 끝날 때마다 해당 운동평가점수를 실시간 피드백함으로써, 현재 사용자가 해당 운동을 정상적으로 수행하는지를 실시간 확인할 수 있도록 한다.
상기 상하 운동평가점수 산출부(509)는, 상하 움직임이 있는 운동을 진행하는 경우, 움직임에 대한 물리 데이터 간을 서로 비교하고, 비교결과와 기 설정된 기준 상하 움직임 오차 데이터를 각각 비교하고, 비교결과에 따른 상하 운동평가점수를 각각 산출할 수 있다.
좀 더 구체적으로, 도 10에 도시된 레터럴레이즈(상하 복합 움직임) 운동 예시에서와 같이 상하 움직임이 있는 레터럴레이즈 운동을 수행하는 경우 상체 측의 스켈레톤 기준점(A1)들이 상부에 위치한 오브젝트(B1)을 향해 움직이면서 그에 따른 다양한 제1 물리 데이터들(양 손의 움직임 거리, 방향, 시간, 속도, 범위, 경로)을 획득하고, 하체 측의 스켈레톤 기준점(A2)이 하부에 위치한 오브젝트(B2)을 향해 움직이면서 다양한 제2 물리 데이터들(골반 중심의 움직임 거리, 방향, 시간, 속도, 범위, 경로)을 획득하고, 획득한 제1 물리 데이터와 제2 물리 데이터를 각각 서로 비교할 수 있다. 이때, 상체와 하체 간의 움직임 거리, 방향, 시간, 속도, 범위, 경로에 관한 물리 데이터를 비교하며 이들의 오차를 수치적으로 계산하고, 계산된 오차가 미리 설정된 기준치와 각각 비교하여 그 비교결과에 따른 상하 운동평가점수를 각각 산출할 수 있다.
이러한 상하 운동평가점수 산출부(509)는 하나의 구분동작이 끝날 때마다 해당 운동평가점수를 피드백으로써, 현재 사용자가 해당 운동을 정상적으로 수행하는지를 실시간 확인할 수 있도록 한다.
상기 운동종합평가정보 산출부(510)는, 제1 운동점수, 제2 운동점수, 제3 운동점수, 제4 운동점수, 제5 운동점수, 제6 운동점수 및 제7 운동점수를 가중 평균하여 종합평가점수를 산출하고, 종합평가점수에 따른 운동종합평가결과를 산출할 수 있다.
사용자의 운동 시 산출된 움직임 거리, 방향, 시간, 속도, 범위 및 경로는 운동의 평가를 위해 모두 동일한 중요도를 갖는 것이 아니라, 운동의 종류마다의 중요 포인트가 존재하므로, 이에 따라 움직임 거리, 방향, 시간, 속도, 범위 및 경로 별로 가중치를 적용하여 각 운동점수에서 해당 가중치를 곱한 값들의 평균 값을 계산하여 종합평가점수를 산출할 수 있다. 예를 들어, 본 실시예에서 따른 운동평가요소 중 스켈레톤 기준점(A)과 오브젝트(B) 간의 매칭 여부가 가장 중요한 요소로 설정된 경우에는 매칭 여부와 관련된 제1 운동점수를 산출하기 위한 움직임 요소에 대한 가중치를 가장 높게 설정할 수 있다. 이렇게 산출된 종합평가점수는 점수구간별 평가정보가 저장되어 있어 해당 종합평가점수에 따른 종합평가정보를 사용자에게 피드백함으로써 사용자가 해당 운동을 얼마나 잘 수행했는지, 어떠한 점을 고쳐야 하는지 등에 대한 코칭 정보를 확인할 수 있도록 한다.
한편, 운동종합평가정보 산출부(510)는 움직임 거리, 방향, 시간, 속도, 범위 및 경로 등으로 이루어진 물리 데이터(특히, 스켈레톤 기준점(A)과 오브젝트(B) 간의 매칭 여부)를 기반으로 운동 세트 수, 운동 횟수, 운동 총 소요시간, 운동 강도, 운동 능력 등을 부가적인 정보를 수치적으로 산출할 수도 있다.
또한, 운동종합평가정보 산출부(510)는, 좌우 운동평가점수 및 상하 운동평가점수 중 적어도 하나에 따른 운동종합평가결과를 산출할 수 있다.
즉, 좌우 운동평가점수와 상하 운동평가점수 각각은 상술한 제1 내지 제7 운동점수를 이용하여 산출될 수 있으며, 좌우, 상하 운동평가를 요구하는 운동인 경우에는 좌우 운동평가점수와 상하 운동평가점수 모두를 종합하여 그에 따른 운동종합평가정보가 제공될 수 있다.
상기 운동 난이도 조절부(600)는, 신체정보 또는 운동평가결과에 따라 오브젝트 및 상기 기준 데이터의 조정을 통해 운동 난이도를 조절할 수 있다.
이를 위해 운동 난이도 조절부(600)는 도 13에 도시된 바와 같이 오브젝트 조정부(601), 기준 데이터 속성 조정부(602), 운동 환경 조정부(603) 및 운동 진행 제한부(604) 중 적어도 하나를 포함할 수 있다.
상기 오브젝트 조정부(601)는, 신체정보 또는 운동평가결과에 따라 오브젝트의 위치, 모양, 좌표범위(크기), 출력패턴, 출력속도 중 적어도 하나를 조정할 수 있다. 운동 난이도(강도)를 조정하는 방법 중 하나로, 움직임 범위를 이용하는 방법은 부상을 예방하고 알맞은 운동을 할 수 있는 방법으로 동작의 범위를 이용한다. 이를 효율적으로 시각화하는 방법으로 스켈레톤과 오브젝트의 위치, 모양, 좌표범위(크기), 출력패턴, 출력속도, 색상 기능 등을 이용하여 운동범위에 대한 운동강도를 설정하는 것이 가능하다.
예를 들어, 도 14에 도시된 바와 같이 오브젝트(B)의 영역 크기 별 난이도를 차등적으로 구성하여, 크기가 작을수록 스켈레톤 기준점(A)와의 매칭 점수가 크게 조정할 수 있다.
또한, 도 15에 도시된 바와 같이 허벅지가 지면과 수평이 되는 지점까지의 앉는 동작을 수행하는 스쿼트 운동의 경우, 엉덩이가 무릎보다 내려가는 동작을 풀스쿼트, 무릎관절의 전체운동 범위 중 3/1만큼 앉는 동작을 하프 스쿼트로 정의하며, 앉는 정도에 따른 난이도를 구분할 수 있다. 또한, 도 16에 도시된 바와 같은 데드리프트 운동 동작 시 상체가 앞으로 숙여지는 각도를 기반으로 난이도를 구분할 수 있다. 즉, 운동동작에 범위에 따라 관절의 움직임 범위가 결정되고, 관절움직임 범위가 크다는 것은 운동강도가 높고 관절움직임 범위가 작다는 것은 운동강도가 낮다는 것을 의미하므로, 오브젝트(B)의 위치 조정을 통해 운동 난이도를 조정할 수 있다. 구체적으로는, 낮은 수준, 보통수준, 높은 수준 등의 해당하는 위치에 오브젝트(B)를 배치하여 운동 난이도를 조정할 수 있고, 그에 따른 운동점수를 산출할 수 있다.
상기 기준 데이터 속성 조정부(602)는, 신체정보 또는 운동평가결과에 따라 움직임 거리, 시간, 속도, 범위 중 적어도 하나에 대한 기준 데이터의 속성값을 상향 또는 하향 조정할 수 있다. 즉,
신체정보 상 운동 난이도를 하향 조정해야 하는 경우, 움직임 거리에 대한 기준치를 낮추거나, 움직임 시간에 대한 기준치를 낮추거나, 움직임 속도에 대한 기준치를 낮추거나, 움직임 범위에 대한 기준치를 낮출 수 있다. 이와 반대로, 신체정보 상 운동 난이도를 상향 조정해야 하는 경우, 움직임 거리에 대한 기준치를 높이나, 움직임 시간에 대한 기준치를 높이나, 움직임 속도에 대한 기준치를 높이나, 움직임 범위에 대한 기준치를 높일 수 있다. 물론, 두 개 이상의 기준치에 대한 조정도 가능하다.
또한, 운동평가결과가 신체정보 대비 상대적으로 낮게 산출됨에 따라 다음 단계에 대한 운동 난이도를 좀 더 하향 조정해야 하는 경우, 움직임 거리에 대한 기준치를 낮추거나, 움직임 시간에 대한 기준치를 낮추거나, 움직임 속도에 대한 기준치를 낮추거나, 움직임 범위에 대한 기준치를 낮출 수 있다. 이와 반대로, 운동평가결과가 신체정보 대비 상대적으로 높게 산출됨에 따라 운동 난이도를 상향 조정해야 하는 경우, 움직임 거리에 대한 기준치를 높이나, 움직임 시간에 대한 기준치를 높이나, 움직임 속도에 대한 기준치를 높이나, 움직임 범위에 대한 기준치를 높일 수 있다. 물론, 두 개 이상의 기준치에 대한 조정도 가능하다.
상기 운동 환경 조정부(603)는, 신체정보 또는 운동평가결과에 따라 운동 세트 수, 휴식시간 및 운동동작구성 중 적어도 하나를 조정할 수 있다.
운동의 강도는 움직임 각도, 무게, 세트 수, 휴식시간, 빈도, 운동 구성, 난이도 등을 포함하며, 운동 난이도는 오브젝트의 모양, 크기, 위치 및 깜빡임과 사라짐 등의 출력패턴으로 구성될 수 있다. 이러한 요소들을 신체정보 또는 운동평가결과에 따라서 적절히 조정함으로써, 관절 움직임이 작거나 낮은 강도의 운동 또는 하나의 관절을 움직이는 운동을 실시할 수 있도록 하거나, 가벼운 무게를 사용할 있다.
상기 운동 진행 제한부(604)는, 신체정보에 따라 특정 운동종목 또는 운동종목의 특정 동작을 제한하고, 제한된 범위 안에서 운동 평가를 진행하도록 한다.
예를 들어, 신체정보의 병력에서 고혈압 환자인 경우 누워서 하는 운동, 머리 위로 무거운 무게를 들어 올리는 동작 등을 제한하고, 미국 스포츠 의학회 또는 대한 고혈압 협회 등에서 권장하는 저 강도의 근력운동 및 유산소성 운동을 실시할 수 있도록 운동 프로그램을 구성할 수 있다.
한편, 운동 난이도 조절부(600)는, 운동 진행 과정에서 사용자의 웨어러블 디바이스로부터 생체 데이터를 수신하고, 수신된 생체 데이터를 기반으로 최대심박수(HRmax), 여유심박수(HRR) 및 카보넨 방식(Kavonen's Method)에 따른 목표심박수(THR)를 포함하는 심박수 데이터를 산출하고, 산출된 심박수 데이터에 따라 운동 난이도 또는 운동 강도를 추가적으로 조절할 수 있다.
최대심박수(HRmax)의 공식은 '최대심박수(HRmax,회/분) = 220-나이(년)'이며, 일례로 최대심박수 공식을 적용하여 30세 사람이 70%의 HRmax의 운동을 처방한다면 ' HRmax = 220 - 30(년) = 190회/분', '70%HRmax = 190회/분 x 0.7 = 133회/분'의 따른 최대심박수가 산출될 수 있다.
여유심박수(HRR)는 안정 시 심박수이며, 최대심박수(HRmax)에서 안정 시 심박수를 뺀 값(최대심박수-안정시심박수)이다. 이러한 식에서 운동강도는 퍼센테이지(%)를 100으로 나눈 값으로 표시할 수 있다. 즉, 퍼센테이지가 70%인 경우 여유심박수는 0.7이고, 퍼센테이지가 85%인 경우 여유심박수는 0.85가 될 수 있다. 일례로, 20세 안정 시 심박수 68회의 사람의 경우, 최대심박수는 '220 - 20세 = 200회/분'이고, 여유심박수(HRR)는 최대심박수 - 안정시 심박수이므로 '200-68=132/분'이 될 수 있다.
미국 스포츠 의학회(ACSM)에서 심폐능력 향상을 위한 운동강도는 여유심박수의 50-85%이고, 비활동적인 생활습관을 가졌던 사람은 운동을 시작 후 처음 6-8주 동안은 50-60%HRR로 운동할 것을 권장하고 있다.
카보넨 방식(Kavonen's Method)은 최대산소섭취량(VO2max)와 잘 매칭이 되는 방식으로, 앞서 기술한 최대심박수(HRmax)의 방식으로 운동강도를 나타내는 것은 최대산소섭취량에 대한 비율(%VO2max)과 잘 일치되지 않고, 그 보다는 낮은 강도에 해당된다. 즉 일반적으로 70%HRmax는 55-60%VO2max에 해당된다. 카보넨 방식을 이용하여 여유심박수(HRR: heart rate reserve)를 산출하고 이를 이용해서 %HRR로 심박수를 구하는 것이 보다 정확하게 운동강도를 나타낼 수 있는 방법이다. 이를 위해 먼저, 안정 시 심박수(HRrest)를 구한다. 안정 시 심박수는 웨어러블기기 등을 통해 직접 측정할 수 있다. 그리고 최대심박수에서 안정 시 심박수를 뺀 값을 여유심박수(HRR: heart rate reserve)(여유심박수(HRR) -= 최대심박수(HRmax) - 안정시 심박수(HRrest))라고 한다.
일례로, 나이가 20세이고, 안정시심박수가 68회/분으로 측정된 사람의 최대심박수와 여유심박수는 '최대심박수(HRmax) = 220 - 20세 = 200 회/분' 및 '여유심박수(HRR) = 200회/분 - 68회/분 = 132회/분'과 같다. 즉, 최대심박수는 200회/분, 여유심박수는 132회/분이다. 이렇게 산출한 여유심박수를 이용해서 체력에 맞는 각각의 운동강도에 해당하는 목표심박수(THR: Target Heart Rate)를 산출할 수 있다. 그 공식은 다음과 같다.
목표심박수(THR) = 안정시심박수 + (여유심박수X운동강도) *운동강도는 %를 100으로 나눈값을 의미한다(ex. 50%는 0.5, 75%는 0.75). 50%HRR 수준에서의 목표심박수 '(THR) = 68 + (132 x 0.5) = 134회/분' 심혈관계통의 적응과 건강증진을 위한 적정운동강도 범위는 여유심박수의 50-85%로 권장된다. 비활동적인 사람과 운동을 처음 시작하는 사람은 6-8주까지 운동강도를 여유심박수의 50-60% 수준을 권장한다. 보통 저강도 운동은 50%HRR, 중강도 운동은 50-70%HRR, 고강도 운동은 70%HRR이상의 운동이다.
미국 스포츠 의학회 (America Collage of Sports Medicine)에 질환 별 운동처방 지침에 따르면, 고혈압 환자 운동처방은 표 1, 당뇨 환자의 운동처방은 표 2, 그리고 고지혈증 환자의 운동처방은 표 3과 같다.
상기 영상 출력부(700)는, 화면을 통해 이미지 데이터로 구성되는 영상, 스켈레톤 기준점과 오브젝트를 출력할 수 있다. 여기서, 영상은 RGB 카메라로 사용자를 촬영하여 얻은 일반 영상을 의미하며, 스켈레톤 기준점 및 오브젝트는 해당 영상 위에 그래픽으로 표시될 수 있으며, 스켈레톤 기준점은 사용자를 따라 그 위치가 이동되도록 표시될 수 있다.
상기 영상 출력부(700)는 사용자가 운동하는 동안에 움직임 안내정보를 출력할 수 있다. 여기서, 움직임 안내정보는 그래픽, 음성, 텍스트 중 적어도 하나의 형태로 출력될 수 있다.
상기 영상 출력부(700)는, 화면을 통해 출력되는 별도의 가이드 UI를 통해 화면 상에서 표시되는 움직임 안내정보와 운동점수정보의 위치와 출력 속도를 각각 조정할 수 있을 뿐만 아니라, 운동 난이도 또한 조정할 수 있다.
또한, 영상 출력부(700)는, 화면을 통해 출력되는 별도의 가이드 UI를 통해 움직임 안내정보로 표시되는 그래픽 색상, 타입(모양), 크기를 조정하고, 음성의 크기를 조절할 수 있으며, 텍스트의 크기, 글씨체, 언어 등도 조정할 수 있다.
상기 움직임 안내정보 제공부(800)는, 사용자의 운동 진행 중에 그래픽, 음성 및 텍스트 중 적어도 하나의 형태로 운동 종류에 따른 움직임 안내정보를 영상 출력부(700)로 제공할 수 있다.
상기 움직임 안내정보 제공부(800)는, 구분동작 별로 사용자가 어느 방향으로 움직여야 하는지를 동작 간 타이밍에 따라 그래픽(화살표), 텍스트, 음성 등의 형태로 움직임 안내정보를 영상 출력부(700)로 제공하여 화면 상에서 출력되도록 한다.
이상에서 설명한 것은 본 발명에 의한 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치를 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
1000: 적응적 운동 평가 장치
100: 데이터 획득부
110: 깊이 카메라
120: RGB 카메라
200: 신체정보 등록부
300: 데이터 설정부
A: 스켈레톤 기준점
B: 오브젝트
400: 데이터 산출부
401: 움직임 거리 데이터 산출부
402: 움직임 방향 데이터 산출부
403: 움직임 시간 데이터 산출부
404: 움직임 속도 데이터 산출부
405: 움직임 범위 데이터 산출부
406: 움직임 경로 데이터 산출부
500: 운동평가정보 제공부
501: 제1 운동점수 산출부
502: 제2 운동점수 산출부
503: 제3 운동점수 산출부
504: 제4 운동점수 산출부
505: 제5 운동점수 산출부
506: 제6 운동점수 산출부
507: 제7 운동점수 산출부
508: 좌우 운동평가점수 산출부
509: 상하 운동평가점수 산출부
510: 운동종합평가정보 산출부
600: 운동 난이도 조절부
601: 오브젝트 조정부
602: 기준 데이터 속성 조정부
603: 운동 환경 조정부
604: 운동 진행 제한부
700: 영상 출력부
800: 움직임 안내정보 제공부

Claims (9)

  1. 사용자의 신체정보를 등록하는 신체정보 등록부;
    사용자의 스켈레톤 데이터에 포함된 스켈레톤 좌표값 중 적어도 하나의 지점을 스켈레톤 기준점으로 설정하고, 상기 스켈레톤 기준점이 설정된 좌표계 상에서 고정된 적어도 하나의 좌표범위를 갖는 오브젝트를 설정하는 데이터 설정부;
    상기 스켈레톤 기준점을 추적하고, 추적되는 기준점 좌표값을 기초로 사용자의 움직임에 따른 물리 데이터를 산출하는 데이터 산출부;
    상기 오브젝트의 좌표범위와 상기 좌표값 간의 비교결과, 상기 물리 데이터와 기 설정된 기준 데이터 간의 비교결과에 따른 운동평가결과를 제공하는 운동평가정보 제공부; 및
    상기 신체정보 또는 상기 운동평가결과에 따라 상기 오브젝트 및 상기 기준 데이터의 조정을 통해 운동 난이도를 조절하는 운동 난이도 조절부를 포함하는 것을 특징으로 하는 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치.
  2. 제1 항에 있어서,
    깊이 카메라를 통해 사용자의 스켈레톤 데이터를 획득하고, RGB 카메라를 통해 사용자의 이미지 데이터를 획득하는 데이터 획득부;
    화면을 통해 상기 이미지 데이터로 구성되는 영상, 상기 스켈레톤 기준점과 상기 오브젝트를 출력하는 영상 출력부; 및
    사용자의 운동 진행 중에 그래픽, 음성 및 텍스트 중 적어도 하나의 형태로 운동 종류에 따른 움직임 안내정보를 상기 영상 출력부로 제공하는 움직임 안내정보 제공부를 더 포함하는 것을 특징으로 하는 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치.
  3. 제1 항에 있어서,
    상기 데이터 설정부는,
    상기 오브젝트에 대한 3차원 좌표 변환을 수행하고, 3차원 좌표계 상에서 3차원 좌표 변환된 상기 오브젝트를 상기 스켈레톤 기준점과 함께 배치하거나,
    상기 스켈레톤 기준점에 대한 2차원 좌표 변환을 수행하고, 2차원 좌표계 상에서 2차원 좌표 변환된 스켈레톤 기준점을 상기 오브젝트와 함께 배치하고,
    인식객체와 상기 깊이 카메라 간의 거리 및 해당 거리에 따라 화면 상에서 해당 인식객체가 차지하는 비율에 기초하여 좌표 간 거리를 설정하는 것을 특징으로 하는 스켈레톤 정보와 가상 오브젝트 간 매칭을 통한 적응적 운동 평가 장치.
  4. 제1 항에 있어서,
    상기 데이터 산출부는,
    상기 스켈레톤 기준점에 대하여 추출된 좌표값 중 상기 오브젝트로부터 가장 먼 지점과, 상기 오브젝트의 좌표범위에 속하게 되는 지점 또는 상기 오브젝트와 가장 가까운 지점 간의 좌표 개수를 각각 산출하고, 산출된 좌표 개수에 따라 상기 스켈레톤 기준점의 움직임 거리 데이터를 각각 산출하는 움직임 거리 데이터 산출부;
    상기 스켈레톤 기준점의 이동에 따른 좌표값의 추출 순서를 이용하여 상기 스켈레톤 기준점의 움직임 방향 데이터를 각각 산출하는 움직임 방향 데이터 산출부;
    상기 움직임 거리 데이터가 각각 산출되는 시간을 움직임 시간 데이터로 각각 산출하는 움직임 시간 데이터 산출부;
    상기 움직임 거리 데이터와 상기 움직임 시간 데이터를 이용하여 상기 스켈레톤 기준점의 움직임 속도 데이터를 각각 산출하는 움직임 속도 데이터 산출부;
    상기 스켈레톤 기준점의 이동에 따라 추출된 다수의 좌표값을 연결하여 움직임 범위 데이터를 산출하는 움직임 범위 데이터 산출부; 및
    상기 스켈레톤 기준점의 이동에 따라 추출된 다수의 좌표값을 연결하되, 각 좌표값의 추출 순서에 따라 움직임 경로 데이터를 산출하는 움직임 경로 데이터 산출부를 포함하는 것을 특징으로 하는 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치.
  5. 제4 항에 있어서,
    상기 운동평가정보 제공부는,
    상기 스켈레톤 기준점의 이동에 따라 추출된 좌표값 중에서, 상기 움직임 방향 데이터를 기초로 상기 스켈레톤 기준점의 이동 방향이 전환되는 지점에 해당하는 좌표값이 상기 오브젝트의 좌표범위에 포함되는지 여부와 포함횟수를 산출하고, 산출된 포함횟수에 따라 제1 운동점수를 각각 산출하는 제1 운동점수 산출부;
    상기 움직임 거리 데이터와 기 설정된 움직임 기준 거리 데이터를 비교하고, 비교결과에 따른 제2 운동점수를 각각 산출하는 제2 운동점수 산출부;
    상기 움직임 방향 데이터와 기 설정된 움직임 기준 방향 데이터를 비교하고, 비교결과에 따른 제3 운동점수를 각각 산출하는 제3 운동점수 산출부;
    상기 움직임 시간 데이터와 기 설정된 움직임 기준 시간 데이터를 비교하고, 비교결과에 따른 제4 운동점수를 각각 산출하는 제4 운동점수 산출부;
    상기 움직임 속도 데이터와 기 설정된 움직임 기준 속도 데이터를 비교하고, 비교결과에 따른 제5 운동점수를 각각 산출하는 제5 운동점수 산출부;
    상기 움직임 범위 데이터와 기 설정된 움직임 기준 범위 데이터를 비교하고, 비교결과에 따른 제6 운동점수를 각각 산출하는 제6 운동점수 산출부;
    상기 움직임 경로 데이터와 기 설정된 움직임 기준 경로 데이터를 비교하고, 비교결과에 따른 제7 운동점수를 각각 산출하는 제7 운동점수 산출부;
    좌우 움직임이 있는 운동을 진행하는 경우, 좌우 움직임에 대한 물리 데이터 간을 서로 비교하고, 비교결과와 기 설정된 기준 좌우 움직임 오차 데이터를 각각 비교하고, 비교결과에 따른 좌우 운동평가점수를 각각 산출하는 좌우 운동평가점수 산출부;
    상하 움직임이 있는 운동을 진행하는 경우, 상기 움직임에 대한 물리 데이터 간을 서로 비교하고, 비교결과와 기 설정된 기준 상하 움직임 오차 데이터를 각각 비교하고, 비교결과에 따른 상하 운동평가점수를 각각 산출하는 상하 운동평가점수 산출부; 및
    상기 제1 운동점수, 상기 제2 운동점수, 상기 제3 운동점수, 상기 제4 운동점수, 상기 제5 운동점수, 상기 제6 운동점수 및 상기 제7 운동점수를 가중 평균하여 종합평가점수를 산출하고, 상기 종합평가점수에 따른 운동종합평가결과를 산출하거나, 상기 좌우 운동평가점수 및 상기 상하 운동평가점수를 중 적어도 하나에 따른 운동종합평가결과를 산출하는 운동종합평가정보 산출부를 포함하는 것을 특징으로 하는 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치.
  6. 제1 항에 있어서,
    상기 신체정보는,
    신장, 체중, 비만도, 연령, 성별, 운동목적, 운동경력 및 병력 중 적어도 하나의 정보를 포함하고,
    상기 운동목적은 체중감량, 근대증대 및 체력증진 중 적어도 어느 하나를 포함하고,
    상기 운동경력은 다수의 등급으로 구분되며,
    상기 병력은 건강군과 건강위험군으로 분류되는 것을 특징으로 하는 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치.
  7. 제1 항에 있어서,
    상기 운동 난이도 조절부는,
    상기 신체정보 또는 상기 운동평가결과에 따라 상기 오브젝트의 위치, 모양, 좌표범위(크기), 출력패턴, 출력속도 중 적어도 하나를 조정하는 오브젝트 조정부; 및
    상기 신체정보 또는 상기 운동평가결과에 따라 움직임 거리, 시간, 속도 및 범위 중 적어도 하나에 대한 상기 기준 데이터의 속성값을 상향 또는 하향 조정하는 기준 데이터 속성 조정부를 포함하는 것을 특징으로 하는 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치.
  8. 제7 항에 있어서,
    상기 운동 난이도 조절부는,
    상기 신체정보 또는 상기 운동평가결과에 따라 운동 세트 수, 휴식시간 및 운동동작구성 중 적어도 하나를 조정하는 운동 환경 조정부; 및
    상기 신체정보에 따라 특정 운동종목 또는 운동종목의 특정 동작을 제한하고, 제한된 범위 안에서 운동 평가를 진행하도록 하는 운동 진행 제한부를 더 포함하는 것을 특징으로 하는 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치.
  9. 제1 항에 있어서,
    상기 운동 난이도 조절부는,
    운동 진행 과정에서 사용자의 웨어러블 디바이스로부터 생체 데이터를 수신하고, 수신된 생체 데이터를 기반으로 최대심박수(HRmax), 여유심박수(HRR) 및 목표심박수(THR)를 포함하는 심박수 데이터를 산출하고, 산출된 심박수 데이터에 따라 운동 난이도를 추가적으로 조절하는 것을 특징으로 하는 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치.
KR1020220187133A 2022-12-28 2022-12-28 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치 KR20240104665A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220187133A KR20240104665A (ko) 2022-12-28 2022-12-28 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220187133A KR20240104665A (ko) 2022-12-28 2022-12-28 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치

Publications (1)

Publication Number Publication Date
KR20240104665A true KR20240104665A (ko) 2024-07-05

Family

ID=91949398

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220187133A KR20240104665A (ko) 2022-12-28 2022-12-28 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치

Country Status (1)

Country Link
KR (1) KR20240104665A (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170010157A (ko) 2015-07-15 2017-01-26 (주)블루클라우드 인터랙티브 운동프로그램을 통한 사용자의 운동동작 유도 방법 및 그 장치
KR101970687B1 (ko) 2018-04-11 2019-04-19 주식회사 큐랩 개인화 증강현실 기술을 이용한 피트니스 코칭 시스템
KR102320960B1 (ko) 2021-05-03 2021-11-02 이다인 사용자 신체 맞춤형 홈 트레이닝 동작 안내 및 교정 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170010157A (ko) 2015-07-15 2017-01-26 (주)블루클라우드 인터랙티브 운동프로그램을 통한 사용자의 운동동작 유도 방법 및 그 장치
KR101970687B1 (ko) 2018-04-11 2019-04-19 주식회사 큐랩 개인화 증강현실 기술을 이용한 피트니스 코칭 시스템
KR102320960B1 (ko) 2021-05-03 2021-11-02 이다인 사용자 신체 맞춤형 홈 트레이닝 동작 안내 및 교정 시스템

Similar Documents

Publication Publication Date Title
US11633659B2 (en) Systems and methods for assessing balance and form during body movement
US8900165B2 (en) Balance training system
KR101959079B1 (ko) 신체 측정 및 평가 방법
US11679300B2 (en) Systems and methods for real-time data quantification, acquisition, analysis, and feedback
US9374522B2 (en) Video generating apparatus and method
Da Gama et al. Guidance and movement correction based on therapeutics movements for motor rehabilitation support systems
CN104274183B (zh) 动作信息处理装置
JP6801028B2 (ja) Rgb−dカメラを利用したリハビリ訓練システム及び方法
CA2834833C (en) Running form diagnostic system and method for scoring running form
US20160048993A1 (en) Image processing device, image processing method, and program
US20150004581A1 (en) Interactive physical therapy
CA3048678A1 (en) Systems and methods for real-time data quantification, acquisition, analysis, and feedback
KR102320960B1 (ko) 사용자 신체 맞춤형 홈 트레이닝 동작 안내 및 교정 시스템
US11497440B2 (en) Human-computer interactive rehabilitation system
CN104274182A (zh) 动作信息处理装置以及方法
CN111514584B (zh) 游戏控制方法及装置、游戏终端及存储介质
TW201411507A (zh) 動作比對方法與動作比對系統
US20220207921A1 (en) Motion recognition method, storage medium, and information processing device
KR20220098064A (ko) 사용자 맞춤형 운동 훈련 방법 및 시스템
Giagazoglou et al. Differences in soccer kick kinematics between blind players and controls
JP2017047105A (ja) エクササイズメニュー提供システムおよびエクササイズメニュー提供方法
CN117503115A (zh) 用于神经损伤的康复训练系统及训练方法
KR20240104665A (ko) 스켈레톤 정보와 가상 오브젝트 간의 매칭 및 사용자 신체정보에 따른 적응적 운동 평가 장치
US20160249834A1 (en) Range of motion capture
CN115006822A (zh) 一种智能健身镜控制系统