KR20230087352A - 운동 상태 감지 장치 및 방법 - Google Patents

운동 상태 감지 장치 및 방법 Download PDF

Info

Publication number
KR20230087352A
KR20230087352A KR1020220080686A KR20220080686A KR20230087352A KR 20230087352 A KR20230087352 A KR 20230087352A KR 1020220080686 A KR1020220080686 A KR 1020220080686A KR 20220080686 A KR20220080686 A KR 20220080686A KR 20230087352 A KR20230087352 A KR 20230087352A
Authority
KR
South Korea
Prior art keywords
user
exercise
motion
state detection
skeleton points
Prior art date
Application number
KR1020220080686A
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 PCT/KR2022/018521 priority Critical patent/WO2023106695A1/ko
Publication of KR20230087352A publication Critical patent/KR20230087352A/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/806Video cameras
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

운동 상태 감지 장치 및 방법을 제시하며, 운동 상태 감지 장치 및 방법은 사용자의 홈 트레이닝을 감지하는 장치에 있어서, 상기 사용자가 촬영된 영상에서 상기 사용자의 신체에 대해 설정된 복수의 스켈레톤 포인트의 배열정보를 획득하고, 획득된 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복 동작이 감지되면, 상기 사용자가 운동 상태라고 판단하는 제어부; 및 반복 동작이 감지된 경우, 상기 획득된 스켈레톤 포인트의 배열정보를 저장하는 메모리를 포함한다.

Description

운동 상태 감지 장치 및 방법{APPARATUS AND METHOD FOR DETECTING WORKOUT STATUS}
본 명세서에서 개시되는 실시 예들은 운동 상태 감지 장치 및 방법에 관한 것으로, 보다 상세하게는 사용자의 모습이 촬영된 영상으로부터 사용자의 운동 상태를 감지하는 운동 상태 감지 장치 및 방법에 관한 것이다.
최근 집에서 맨몸으로 운동을 즐기거나 간단한 운동기구로 자신의 건강을 지키려는 홈 트레이닝에 대한 수요가 증가하고 있다. 또한, 최근 사용자의 신체 활동을 측정하는 스마트 밴드, 스마트 워치 등의 웨어러블 디바이스와 스마트폰의 보급이 활성화됨에 따라 이를 활용한 홈 트레이닝 애플리케이션에 대한 수요도 증가하고 있다.
종래의 스마트폰을 활용한 홈 트레이닝 애플리케이션은 사용자로 하여금 운동 동작을 학습할 수 있도록 홈 트레이닝에 대한 동영상을 제공하는 기능과, 운동을 수행 중인 사용자의 모습을 촬영한 영상을 기초로 사용자의 운동 동작을 평가하는 기능을 포함한다.
그러나 종래의 홈 트레이닝 애플리케이션은 사용자가 운동을 시작하기 전 홈 트레이닝 애플리케이션에 포함된 인터페이스를 활성화하여 운동을 시작하고, 운동이 끝난 뒤에 다시 애플리케이션에 포함된 인터페이스를 활성화해야 하는 문제점이 있었다.
또한, 종래의 홈 트레이닝 애플리케이션은 임의의 운동을 종료한 뒤 다른 운동을 시작할 때마다 홈 트레이닝 애플리케이션 내 인터페이스를 활성화하여 운동의 종류를 변경해야 하는 문제점이 있었다.
관련하여 선행기술문헌인 한국등록특허 10-2320960호는 사용자 단말기를 통해 사용자가 정확한 동작으로 홈 트레이닝할 수 있는 동작 안내 및 교정 시스템에 관한 내용을 개시하고 있다.
그러나 이에 의하더라도 운동 시작과 종료를 자동으로 감지하는 것에 대해서는 제시하지 못한다.
따라서 상술된 문제점을 해결하기 위한 기술이 필요하게 되었다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 명세서에서 개시되는 실시 예들은, 운동 상태 감지 장치 및 방법을 제시하는데 목적이 있다.
본 명세서에서 개시되는 실시 예들은, 사용자의 운동 상태를 감지하여 사용자의 장치에 대한 입력 없이 사용자의 운동 시작과 종료를 자동으로 판단할 수 있는 운동 상태 감지 장치 및 방법을 제시하는 데 목적이 있다.
본 명세서에서 개시되는 실시 예들은, 사용자의 운동 상태를 감지하여 운동 종류와 운동 시간에 대한 정보를 획득할 수 있는 운동 상태 감지 장치 및 방법을 제시하는 데 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시 예에 따르면, 사용자의 홈 트레이닝을 감지하는 장치인 운동 상태 감지 장치는, 상기 사용자가 촬영된 영상에서 상기 사용자의 신체에 대해 설정된 복수의 스켈레톤 포인트의 배열정보를 획득하고, 획득된 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복 동작이 감지되면, 상기 사용자가 운동 상태라고 판단하는 제어부; 및 반복 동작이 감지된 경우, 상기 획득된 스켈레톤 포인트의 배열정보를 저장하는 메모리를 포함할 수 있다.
다른 실시 예에 따르면, 사용자의 홈 트레이닝을 감지하는 장치인 운동 상태 감지 장치에 의해 수행되는 운동 상태 감지 방법에 있어서, 상기 사용자가 촬영된 영상에서 상기 사용자의 신체에 대해 설정된 복수의 스켈레톤 포인트의 배열정보를 획득하는 단계; 및 획득된 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복동작이 감지되면, 상기 사용자가 운동 상태라고 판단하는 단계를 포함할 수 있다.
또 다른 실시 예에 따르면, 운동 상태 감지 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체에서 운동 상태 감지 방법은, 상기 사용자가 촬영된 영상에서 상기 사용자의 신체에 대해 설정된 복수의 스켈레톤 포인트의 배열정보를 획득하는 단계; 및 획득된 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복동작이 감지되면, 상기 사용자가 운동 상태라고 판단하는 단계를 포함할 수 있다.
나아가 또 다른 실시 예에 따르면, 운동 상태 감지 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램에서 운동 상태 감지 방법은, 상기 사용자가 촬영된 영상에서 상기 사용자의 신체에 대해 설정된 복수의 스켈레톤 포인트의 배열정보를 획득하는 단계; 및 획득된 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복동작이 감지되면, 상기 사용자가 운동 상태라고 판단하는 단계를 포함할 수 있다.
전술한 과제 해결 수단 중 어느 하나에 의하면, 운동 상태 감지 장치 및 방법을 제시할 수 있다.
또한, 전술한 과제 해결 수단 중 어느 하나에 의하면, 사용자의 운동 상태를 감지하여 사용자의 장치에 대한 입력 없이 사용자의 운동 시작과 종료를 자동으로 판단할 수 있는 운동 상태 감지 장치 및 방법을 제시할 수 있다.
나아가 전술한 과제 해결 수단 중 어느 하나에 의하면, 사용자의 운동 상태를 감지하여 운동 종류와 운동 시간에 대한 정보를 획득할 수 있는 운동 상태 감지 장치 및 방법을 제시할 수 있다.
개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 운동 상태 감지 장치의 구성을 설명하기 위한 블록도이다.
도 2 내지 도 3은 일 실시예에 따른 운동 상태 감지 방법을 설명하기 위한 순서도이다.
도 4 내지 도 6은 일 실시예에 따른 운동 상태 감지 장치에 제공되는 화면의 예시도이다.
아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐 아니라, '그 중간에 다른 구성을 사이에 두고 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.
이하 첨부된 도면을 참고하여 실시예들을 상세히 설명하기로 한다.
다만 이를 설명하기에 앞서, 아래에서 사용되는 용어들의 의미를 먼저 정의한다.
'홈 트레이닝'은, 집 안에서 할 수 있는 운동으로서, 예를 들어, 스쿼트, 런지 등과 같은 맨몸운동과 간단한 웨이트 트레이닝 기구들을 이용하는 바벨 데드리프트, 케틀벨 스윙 등과 같은 운동을 포함할 수 있다.
'단계 자세'는 사람이 운동 동작을 수행할 때 단계적으로 취하는 자세를 의미한다. 즉 하나의 종류의 운동의 단위 동작을 1회 수행하는 동안에 이루어지는 신체 요소의 변화 과정에서 취하게 되는 자세 중 단계적으로 선정된 복수의 자세를 '단계 자세'라고 한다. 예를 들어, '스쿼트'의 경우, 곧게 선 차려 자세를 첫 번째 단계 자세로 설정하고, 무릎을 구부려 앉은 자세를 두 번째 단계 자세로 설정할 수 있다. 그리고 장치는 하나의 운동의 단위 동작에서 선정된 복수의 단계 자세들에 대한 학습을 수행할 수 있다. 이에 대해서는 후술한다.
'스켈레톤 포인트'는 신체의 관절의 위치 정보를 의미하는데, 이때 스켈레톤 포인트는 예를 들어, 목, 오른쪽 어깨, 오른쪽 팔꿈치, 오른쪽 손목, 왼쪽 어깨, 왼쪽 팔꿈치, 왼쪽 손목, 오른쪽 엉덩이, 오른쪽 무릎, 오른쪽 발목, 왼쪽 엉덩이, 왼쪽 무릎, 왼쪽 발목의 총 13개의 관절의 위치 정보, 예를 들어, 3차원 좌표 정보를 포함한다. 후술될 운동 상태 감지 장치는, 복수의 운동 각각의 단위 동작을 수행할 때의 단계 자세들에 대한 스켈레톤 포인트의 상대적인 위치를 미리 학습할 수 있다.
위에 정의한 용어 이외에 설명이 필요한 용어는 아래에서 각각 따로 설명한다.
도 1은 일 실시예에 따른 운동 상태 감지 장치의 구성을 설명하기 위한 블록도이다.
도 1에 도시된 운동 상태 감지 장치(100)는 사용자가 촬영된 영상으로부터 사용자의 스켈레톤 포인트를 획득하고, 획득된 사용자의 스켈레톤 포인트의 배열정보에 기초하여 사용자의 운동 상태를 판단할 수 있다.
이와 같은 운동 상태 감지 장치(100)는 사용자와 인터랙션할 수 있는 애플리케이션이 설치된 전자단말기로 구현되거나 서버-클라이언트 시스템으로 구현될 수 있으며, 상기 시스템은 사용자와 인터랙션을 위한 온라인 서비스용 애플리케이션이 설치된 전자단말기를 포함할 수 있다.
이때, 전자단말기는 네트워크(N)를 통해 원격지의 서버에 접속하거나, 타 단말 및 서버와 연결 가능한 컴퓨터나 휴대용 단말기, 텔레비전, 웨어러블 디바이스(Wearable Device) 등으로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop)등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), GSM(Global System for Mobile communications), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), 스마트폰(Smart Phone), 모바일 WiMAX(Mobile Worldwide Interoperability for Microwave Access) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, 텔레비전은 IPTV(Internet Protocol Television), 인터넷 TV(Internet Television), 지상파 TV, 케이블 TV 등을 포함할 수 있다. 나아가 웨어러블 디바이스는 예를 들어, 시계, 안경, 액세서리, 의복, 신발 등 인체에 직접 착용 가능한 타입의 정보처리장치로서, 직접 또는 다른 정보처리장치를 통해 네트워크를 경유하여 원격지의 서버에 접속하거나 타 단말과 연결될 수 있다.
이때 서버는 사용자와의 인터랙션을 위한 애플리케이션이나 웹브라우저가 설치된 전자단말기와 네트워크를 통해 통신이 가능한 컴퓨터로 구현되거나, 클라우드 컴퓨팅 서버로 구현될 수도 있다. 또한 서버는, 데이터를 저장할 수 있는 저장장치가 포함되거나, 제3의 서버를 통해 데이터를 저장할 수 있다.
운동 상태 감지 장치(100)는 이미 학습된 인공지능 모델(이하에서는 학습모델)을 포함하거나, 이미 학습된 모델을 포함하면서 학습모델을 추가 학습시킬 수 있다. 학습모델은 홈 트레이닝과 간단한 유산소 운동에 대한 단계 자세를 학습하기 위해 복수의 종류의 운동에 대하여 다양한 각도에서 촬영된 학습용 영상을 이용하여 학습될 수 있다. 이때 학습용 영상은 복수의 사람이 각각 촬영된 영상과 복수의 사람이 함께 촬영된 영상을 포함할 수 있다. 운동 상태 감지 장치(100)는 복수의 학습용 영상에 기초한 학습 데이터를 학습모델에 입력함으로써 복수의 종류의 운동에 대한 단계 동작을 학습모델이 학습하도록 할 수 있다.
구체적으로, 학습용 영상으로부터 사람을 인식하여 복수의 종류의 운동의 단위 동작에 대한 단계 자세의 스켈레톤 포인트의 배열정보를 획득하며, 순차적으로 이루어지는 단계 자세에 대한 스켈레톤 포인트의 배열정보를 운동 종류에 대한 정보와 함께 학습모델에 입력할 수 있다. 학습모델은 스켈레톤 포인트의 배열정보 변화를 학습하여 복수의 종류의 운동에 대한 단위 동작을 인식할 수 있도록 학습되며, 더불어 운동의 종류를 판별하도록 학습될 수 있다.
학습모델을 학습시키는데 이용되는 장치, 예를 들어 학습모델을 운동 상태 감지 장치(100)가 스스로 학습시키는 경우 운동 상태 감지 장치(100)는 오픈포즈(OpenPose) 기반의 알고리즘을 사용하여 학습용 영상으로부터 사람을 인식하고, 인식된 사람이 동작하는 단계 자세에 대한 스켈레톤 포인트의 배열정보를 획득할 수 있다. 이때 오픈포즈(OpenPose)는 멀티 GPU 기반 딥러닝을 이용하여 신체의 특징점, 즉 관절을 추론하는 알고리즘이다.
또한 운동 상태 감지 장치(100)는 사용자를 직접 촬영하고, 촬영된 영상으로부터 사용자의 스켈레톤 포인트의 배열정보를 획득할 수 있다. 이때 사용자가 촬영된 영상에서 사용자의 스켈레톤 포인트의 배열정보를 획득하는데 이용되는 알고리즘은 상술한 오픈포즈 기반의 알고리즘이 될 수 있다.
그리고 상술한 학습모델은 복수의 종류의 운동의 단위 동작에 대한 단계 자세의 스켈레톤 포인트의 배열정보를 이용하여, 단위 동작에 대응하는 운동의 종류를 판별하도록 학습될 수 있다.
이때 운동의 종류를 판단하기 위한 학습모델은 나이브 베이즈(Naive Bayes) 알고리즘, 결정트리(Decision Tree), 서포트 벡터 머신(Support Vector Machine), K-최소 근접(K-Nearest Neighbor) 알고리즘, 심층 신경망(Deep Neural Network) 등일 수 있다.
운동 상태 감지 장치(100)는 사용자가 촬영된 영상으로부터 획득된 사용자의 스켈레톤 포인트의 배열정보에 기초하여 사용자의 운동 시작과 종료를 판단할 수 있다. 구체적으로 운동 상태 감지 장치(100)는, 학습모델을 이용하여, 사용자가 촬영되는 영상에서 획득된 사용자의 스켈레톤 포인트의 배열 변화에 기초하여 사용자가 특정 운동의 단위 동작을 수행하고 있는지 인식하고, 단위 동작이 반복되는지 여부를 감지할 수 있다. 그에 따라 운동 상태 감지 장치(100)는 단위 동작이 반복적으로 수행되는 반복 동작이 감지되면 사용자가 운동을 시작하였다고 판단할 수 있으며, 감지된 반복 동작에 대응하는 운동의 종류를 기록할 수 있다.
이하에서는 운동 상태 감지 장치(100)의 구체적인 구성을 설명한다. 도 1을 참조하면, 일 실시예에 따른 운동 상태 감지 장치(100)는 입출력부(110), 제어부(120), 통신부(130) 및 메모리(140)를 포함할 수 있다.
입출력부(110)는 사용자로부터 입력을 수신하기 위한 입력부와, 작업의 수행 결과 또는 운동 상태 감지 장치(100)의 상태 등의 정보를 표시하기 위한 출력부를 포함할 수 있다. 예를 들어, 입출력부(110)는 사용자 입력을 수신하는 조작 패널(operation panel) 및 화면을 표시하는 디스플레이 패널(display panel) 등을 포함할 수 있다.
구체적으로, 입출력부(110)에 포함되는 입력부는 키보드, 물리 버튼, 터치 스크린, 카메라 또는 마이크 등과 같이 다양한 형태의 사용자 입력을 수신할 수 있는 장치들을 포함할 수 있다. 일 실시예에서, 입력부는 사용자를 촬영하는 카메라를 포함할 수 있다.
또한, 입출력부(110)에 포함되는 출력부는 디스플레이 패널 또는 스피커 등을 포함할 수 있다. 다만, 이에 한정되지 않고 입출력부(110)는 다양한 입출력을 지원하는 구성을 포함할 수 있다.
입출력부(110)는 홈 트레이닝을 수행하는 사용자를 촬영하고, 제어부(120)로부터 획득된 스켈레톤 포인트와 스켈레톤 포인트를 연결한 직선을 촬영된 영상과 함께 출력할 수 있다. 입출력부(110)는 제어부(120)로부터 획득된 스켈레톤 포인트를 연결한 직선을 스켈레톤 포인트와 함께 출력함으로써 사용자로 하여금 사용자가 수행하고 있는 동작을 확인하도록 할 수 있다.
나아가 입출력부(110)는 사용자를 촬영한 영상을 통해 감지된 사용자의 운동 상태, 사용자의 동작에 대응하는 운동의 종류, 사용자가 반복 수행한 단위 동작의 수행 횟수, 운동 시간 등에 대한 결과를 제어부(120)로부터 제공받아 사용자에게 출력할 수 있다.
한편 제어부(120)는 운동 상태 감지 장치(100)의 전체적인 동작을 제어하며, CPU, GPU 등과 같은 프로세서를 포함할 수 있다. 제어부(120)는 입출력부(110)를 통해 수신한 사용자 입력에 대응되는 동작을 수행하도록 운동 상태 감지 장치(100)에 포함된 다른 구성들을 제어할 수 있다.
예를 들어, 제어부(120)는 메모리(140)에 저장된 프로그램을 실행시키거나, 메모리(140)에 저장된 파일을 읽어오거나, 새로운 파일을 메모리(140)에 저장할 수도 있다.
제어부(120)는 구체적으로, 입출력부(110)를 통해 실시간으로 사용자를 촬영하는 영상을 수신하여 사용자의 스켈레톤 포인트의 배열정보를 획득할 수 있다. 또한, 제어부(120)는 사용자가 촬영된 영상을 수신하여, 기설정된 시점마다 사용자의 스켈레톤 포인트의 배열정보를 획득할 수 있다.
이때 제어부(120)는 수신된 영상에, 수신된 영상으로부터 획득된 스켈레톤 포인트와, 스켈레톤 포인트를 연결한 직선을 함께 표시하여 입출력부(110)를 통해 사용자에게 제공할 수 있다.
제어부(120)는 사용자가 촬영된 영상에서 획득된 스켈레톤 포인트의 배열정보에 기초하여 사용자의 운동 상태를 판단할 수 있다.
제어부(120)는 신체에 대해 설정된 스켈레톤 포인트, 예를 들어, 13개의 스켈레톤 포인트 중 수신된 영상으로부터 획득된 사용자의 스켈레톤 포인트 수의 비율인 스켈레톤 인식비율을 산출할 수 있다.
제어부(120)는 산출된 스켈레톤 인식비율이 소정 비율, 예를 들어, 80% 미만으로 인식되면, 사용자가 휴지 상태라고 판단할 수 있다. 따라서 제어부(120)는 처음 영상을 수신하면, 사용자의 운동 상태를 휴지 상태로 판단하고, 기설정된 시점마다 스켈레톤 포인트를 획득하여 스켈레톤 인식비율을 산출할 수 있다.
제어부(120)는 산출된 스켈레톤 인식비율이 소정 비율, 예를 들어, 80% 이상이면, 사용자의 스켈레톤 포인트의 배열 변화로부터 단위 동작의 반복을 감지할 수 있다.
이때 제어부(120)는 사용자의 스켈레톤 포인트의 배열 변화를 이용하여 사용자가 반복 동작을 수행하는지 여부를 감지할 수 있다. 여기서 제어부(120)는 반복 동작의 수행 여부를 감지하기 위하여, 사용자의 스켈레톤 포인트의 배열 변화로부터 유사하게 반복되는 패턴을 단위 동작으로 인식할 수 있다. 그에 따라 제어부(120)는 단위 동작이 반복되는 반복 동작이 감지되면 사용자가 운동 상태라고 판단하고, 그렇지 않으면 휴지 상태라고 판단할 수 있다.
또는 다른 실시예로서 제어부(120)는 학습모델을 이용하여 사용자의 스켈레톤 포인트 배열 변화로부터 미리 학습된 종류의 운동에 대응하는 단위 동작의 수행 여부를 인식한다. 제어부(120)는 사용자의 스켈레톤 포인트의 배열 변화로부터 단위 동작이 2회 이상 반복되는 반복 동작이 감지되지 않으면, 사용자가 휴지 상태라고 판단할 수 있다.
제어부(120)는 산출된 스켈레톤 인식비율이 소정 비율 이상이고, 사용자의 스켈레톤 포인트의 배열 변화로부터 단위 동작을 반복적으로 인식함으로써, 단위 동작이 복수 회 반복되는 반복 동작이 감지되면, 사용자가 운동 상태라고 판단할 수 있다. 제어부(120)는 사용자의 운동 상태가 휴지 상태에서 운동 상태로 변화하면, 사용자가 운동을 시작하였다고 판단할 수 있다.
제어부(120)는 사용자가 운동을 시작하였다고 판단하면, 지속적으로 학습모델을 이용하여 반복되는 단위 동작에 대한 운동의 종류를 판별할 수 있다. 그에 따라 제어부(120)는 사용자가 수행하는 단위 동작에 대한 운동 종류의 정보를 지속적으로 감지하여, 사용자가 수행하는 운동의 종류와 단위 동작의 반복 횟수를 후술할 메모리(140)에 기록되도록 할 수 있다.
한편, 제어부(120)는 사용자가 운동 상태라고 판단한 이후에 더 이상 반복 동작이 감지되지 않아 사용자가 휴지 상태인 것으로 판단되면, 사용자가 운동을 종료하였다고 판단할 수 있다.
또한 제어부(120)는 사용자가 운동을 시작하였다고 판단한 시각을 기록하여 메모리(140)에 저장하고, 사용자가 운동 상태에서 휴지 상태로 변화하는 것으로 판단되면, 그 시점을 운동 종료 시각으로 기록하여 메모리(140)에 저장할 수 있다. 제어부(120)는 저장된 운동 시작 시각과 운동 종료 시각에 기초하여 운동 시간을 산출할 수 있고, 산출된 운동 시간을 사용자의 운동 종료 시 입출력부(110)를 통해 사용자에게 제공할 수 있다.
또한, 제어부(120)는 사용자가 운동을 수행하는 동안 감지된 운동의 종류에 대한 정보와 운동을 종료할 때까지 카운트했던 단위 동작의 반복 횟수에 대한 정보를 운동 종료 시 사용자의 운동 시간과 함께 입출력부(110)를 통해 제공할 수 있다.
제어부(120)는 획득된 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복 동작이 감지되었으나, 사용자가 수행하는 운동이 학습모델이 학습한 운동의 종류 중 하나로 판별되지 않으면, 사용자가 새로운 종류의 운동을 수행하고 있다고 판단할 수 있다.
이때 제어부(120)는 사용자에게 입출력부(110)를 통해 새로운 종류의 운동의 명칭을 입력 받으며, 사용자가 촬영된 영상으로부터 획득된 스켈레톤 포인트의 배열정보를 새로운 종류의 운동으로서 사용자로부터 입력 받은 운동의 명칭에 연관하여 메모리(140)에 저장할 수 있다.
그리고 제어부(120)는 새로운 종류의 운동의 명칭과, 사용자가 촬영된 영상으로부터 획득된 스켈레톤 포인트의 배열정보를 이용하여 학습모델을 추가적으로 학습시킬 수 있다. 구체적으로 제어부(120)는 새로운 종류의 운동의 단위 동작에서 사용자가 순차적으로 취한 단계 자세로부터 각각 획득한 스켈레톤 포인트의 배열정보들을 이용하여 학습모델을 학습시킴으로써, 학습모델이 이미 학습한 종류의 운동 외에 새로운 종류의 운동도 판별하도록 할 수 있다.
한편 통신부(130)는 다른 디바이스 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 통신부(130)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신 모듈은 칩셋(chipset)의 형태로 구현될 수 있다.
통신부(130)가 지원하는 무선 통신은, 예를 들어 Wi-Fi(Wireless Fidelity), Wi-Fi Direct, 블루투스(Bluetooth), UWB(Ultra-Wide Band) 또는 NFC(Near Field Communication) 등일 수 있다. 또한, 통신부(130)가 지원하는 유선 통신은, 예를 들어 USB 또는 HDMI(High Definition Multimedia Interface) 등일 수 있다.
메모리(140)에는 파일, 어플리케이션 및 프로그램 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 제어부(120)는 메모리(140)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(140)에 저장할 수도 있다. 또한, 제어부(120)는 메모리(140)에 설치된 프로그램을 실행할 수도 있다.
메모리(140)에는 상술한 학습모델이 저장될 수 있다. 또한, 메모리(140)는 사용자의 운동 기록, 즉 사용자의 운동 시작 시각과 운동 종료 시각 및 제어부(120)가 판단한 운동의 종류가 연관되어 저장될 수 있고, 제어부(120)가 카운트한 단위 동작의 반복 횟수도 운동 종류와 연관하여 저장될 수 있다.
한편 도 2 내지 도 4에 도시된 실시예에 따른 운동 상태 감지 방법은 도 1에 도시된 운동 상태 감지 장치(100)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1에 도시된 운동 상태 감지 장치(100)에 관하여 이상에서 기술한 내용은 도 2 내지 도 4에 도시된 실시예에 따른 운동 상태 감지 방법에도 적용될 수 있다.
또한, 도 2 내지 도 3은 도 4 내지 도 6을 참조하여 이하에서 후술된다. 도 4 내지 도 6은 일 실시예에 따른 운동 상태 감지 방법을 설명하기 위한 예시도로서, 운동 상태 감지 장치(100)가 사용자에게 제공하는 화면을 나타내는 예시도이다.
도 2는 일 실시예에 따른 운동 상태 감지 방법을 설명하기 위한 순서도이다.
일 실시예에 의하면 운동 상태 감지 장치(100)는 실시간으로 사용자를 촬영하는 영상을 수신하거나, 사용자가 촬영된 영상을 수신할 수 있다. 운동 상태 감지 장치(100)는 기설정된 시점마다 수신한 영상으로부터 사용자의 스켈레톤 포인트를 획득할 수 있다. 이때, 운동 상태 감지 장치(100)는 상술한 오픈포즈 알고리즘을 이용하여 스켈레톤 포인트의 배열정보를 획득할 수 있다(S210). 이때 스켈레톤 포인트의 배열정보는 사용자의 움직임에 따라 복수의 시점에 순차적으로 획득된 스켈레톤 포인트들 사이의 상대적 위치에 대한 정보를 포함할 수 있다.
이때 운동 상태 감지 장치(100)는 획득된 스켈레톤 포인트들과 스켈레톤 포인트 사이를 연결한 직선을 사용자가 촬영한 영상위에 표시하여 사용자에게 제공할 수 있다.
운동 상태 감지 장치(100)는 사용자의 스켈레톤 포인트의 배열정보에 기초하여 사용자의 운동 상태를 판단할 수 있다.
운동 상태 감지 장치(100)는 설정된 전체 스켈레톤 포인트의 수에 대한 사용자가 촬영된 영상으로부터 획득된 사용자의 스켈레톤 포인트의 수인 스켈레톤 인식비율을 산출할 수 있다(S220). 운동 상태 감지 장치(100)는 산출한 스켈레톤 인식비율이 소정 비율 이상인지 판단하여(S230), 소정 비율 미만인 경우 사용자가 휴지 상태라고 판단할 수 있다(S240). 운동 상태 감지 장치(100)는 스켈레톤 인식비율이 소정비율 이상이면, 스켈레톤 포인트의 배열 변화로부터 단위 동작의 반복을 감지할 수 있다(S250).
S220 내지 S240단계와 관련하여 도 4를 참조하여 후술한다. 도 4의 (a)에 도시된 바와 같이, 운동 상태 감지 장치(100)는 신체에 설정된 전체 스켈레톤 포인트 수 13개 중 사용자가 촬영된 영상으로부터 획득된 스켈레톤 포인트의 수 8개를 화면에 함께 제공할 수 있다. 또한, 도 4의 (a)에 도시된 바와 같이 운동 상태 감지 장치(100)는 스켈레톤 인식비율(61.5%)을 산출하여 사용자에게 제공할 수 있다. 운동 상태 감지 장치(100)는 스켈레톤 인식비율이 소정비율, 예를 들어, 80% 미만인 경우 사용자가 휴지 상태인 것으로 판단할 수 있다.
또한, 운동 상태 감지 장치(100)는 도 4의 (b)에 도시된 바와 같이 사용자가 촬영된 영상에서 사용자의 스켈레톤 포인트 13개를 획득하면, 획득된 스켈레톤 포인트의 수 13개와, 스켈레톤 인식비율 100%를 사용자에게 함께 제공할 수 있다. 이때 운동 상태 감지 장치(100)는 스켈레톤 인식비율이 소정비율, 예를 들어, 80% 이상이 되었으므로 S250 단계를 수행할 수 있다. 운동 상태 감지 장치(100)는 사용자가 촬영된 영상에서 획득된 스켈레톤 포인트의 수와 스켈레톤 인식비율을 산출할 수 있다. 기설정된 시점 이후, 그리고 도 4의 (c)에 도시된 바와 같이 운동 상태 감지 장치(100)는 획득된 스켈레톤 포인트의 수가 8개이고, 산출된 스켈레톤 인식비율이 61.5%이면, 기설정된 소정비율, 예를 들어, 80% 미만이므로, 사용자가 휴지 상태라고 판단할 수 있다.
S250단계 이후 운동 상태 감지 장치(100)가 사용자의 스켈레톤 포인트의 배열 변화로부터 반복 동작이 감지되는지 판단할 수 있다(S260). 운동 상태 감지 장치(100)는 사용자의 스켈레톤 포인트의 배열 변화로부터 반복 동작이 감지되지 않으면, 사용자가 휴지 상태라고 판단할 수 있다(S240).
한편, 운동 상태 감지 장치(100)가 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복 동작을 감지하면, 사용자가 운동 상태라고 판단할 수 있다(S270). 사용자가 운동 상태라고 판단되면, 운동 상태 감지 장치(100)는 사용자의 단위 동작 반복 횟수를 카운트할 수 있다(S280). 운동 상태 감지 장치(100)는 기설정된 시점마다 S210 내지 S280의 각 단계를 순차적으로 수행할 수 있다. 그리고 운동 상태 감지 장치(100)는 사용자의 반복 동작이 감지되어 사용자가 운동 상태라고 판단되면, 반복되는 단위 동작에 대한 스켈레톤 포인트의 배열 변화를 학습 모델에 입력하여 운동 종류를 판별할 수 있다.
나아가 실시예에 따라 운동 상태 감지 장치(100)는 주기적으로 단위 동작을 인식하고, 인식된 단위 동작의 운동 종류를 학습 모델을 이용하여 판별할 수 있다. 이를 통해 운동 상태 감지 장치(100)는 사용자가 수행하는 운동의 종류가 변경되는 경우 변경된 운동의 종류를 판별하여 기록할 수 있다.
이때 운동 상태 감지 장치(100)는 사용자가 운동을 시작하였다고 판단한 시각을 저장하고, 사용자가 운동 상태에서 휴지 상태로 변화하는 것으로 판단되면, 그 시점을 운동 종료 시각으로 기록하여 저장할 수 있다. 운동 상태 감지 장치(100)는 저장된 운동 시작 시각과 운동 종료 시각에 기초하여 사용자의 운동 시간을 산출할 수 있고, 산출된 운동 시간을 사용자의 운동 종료 시 함께 제공할 수 있다.
또한, 운동 상태 감지 장치(100)는 사용자가 운동을 종료할 때까지 카운트했던 단위 동작의 반복 횟수를 운동 종료 시 사용자의 운동 시간과 함께 제공할 수 있다. 나아가 운동 상태 감지 장치(100)는 사용자가 운동을 종료하기 전까지 감지된 각 단위 동작의 반복 횟수와 운동의 종류를 기록함에 있어서, 감지되는 단위 동작에 대응하는 운동의 종류를 주기적으로 식별하여, 운동 종류별 단위 동작의 반복 횟수를 카운트하고 기록할 수 있다.
도 3은 일 실시예에 따른 운동 상태 감지 방법 중 스켈레톤 포인트의 배열정보에 기초하여 운동 종류를 판별하는 방법을 설명하기 위한 순서도이다. 운동 상태 감지 장치(100)는 단위 동작에 대한 단계 자세의 스켈레톤 포인트의 배열정보를 이용하여 단위 동작에 대응하는 운동의 종류를 판별하도록 학습모델을 학습시킬 수 있다(S310).
운동 상태 감지 장치(100)는 사용자가 촬영된 영상으로부터 획득된 스켈레톤 포인트의 배열정보를 학습모델에 입력할 수 있다(S320). 운동 상태 감지 장치(100)는 학습모델이 사용자가 수행하는 운동의 종류를 판별할 수 있고(S330), 학습모델이 사용자가 수행하는 운동의 종류를 판별하면, 판별된 종류의 운동을 사용자가 수행하는 운동으로 결정할 수 있다(S340). 운동 상태 감지 장치(100)는 사용자가 수행하는 운동의 종류가 판별되면, 사용자가 수행한 단위 동작의 반복 횟수를 카운트할 수 있다(S350).
S320 내지 S350와 관련하여 도 5를 참조하여 후술된다. 운동 상태 감지 장치(100)는 사용자가 촬영된 영상 속에서 사용자가 도 5의 (a)에 도시된 바와 같이, 스켈레톤 인식비율이 소정 비율 이상으로 판단되고, 기설정된 시점 이후 도 5의 (b)에 도시된 바와 같이 사용자의 스켈레톤 포인트의 배열 변화를 감지하고, 기설정된 시점 이후 도 5의 (a)에 도시된 바와 같이 사용자의 스켈레톤 포인트의 배열정보가 획득되면, 운동 상태 감지 장치(100)는 사용자가 단위 동작을 반복하였다고 판단할 수 있다. 운동 상태 감지 장치(100)는 단위 동작의 반복 횟수를 카운트하여 도 5의 (c)와 같이 반복 횟수를 표시하여 사용자에게 제공할 수 있다.
운동 상태 감지 장치(100)는 도 5의 (a)와 도 5의 (b)에서 획득된 사용자의 스켈레톤 포인트의 배열정보를 학습모델에 입력하여 운동의 종류를 판단할 수 있다. 학습모델은 도 5의 (a)를 학습된 복수의 종류의 운동에 대한 단계 자세와 비교하여 도 5의 (a)에서 도시된 사용자가 '스쿼트' 제1단계 자세를 수행하고 있다고 판단할 수 있다. 또한 학습모델은 도 5의 (b)를 학습된 복수의 종류의 운동에 대한 단계 자세와 비교하여 도 5의 (b)에서 도시된 사용자가 '스쿼트' 제2단계 자세를 수행하고 있다고 판단할 수 있다. 운동 상태 감지 장치(100)는 도 5의 (d)에 도시된 바와 같이 학습 모델이 판별한 운동의 종류인 '스쿼트'를 반복 횟수와 함께 표시하여 사용자에게 제공할 수 있다.
다시 도 3에서, 학습모델이 사용자가 수행하는 운동의 종류를 판별하지 못하면, 운동 상태 감지 장치(100)는 사용자가 새로운 종류의 운동을 수행하고 있다고 판단하고, 새로운 종류의 운동 명칭을 사용자로부터 획득할 수 있다(S360). 운동 상태 감지 장치(100)는 획득된 스켈레톤 포인트의 배열정보를 사용자로부터 획득된 운동 명칭에 연관하여 저장할 수 있다(S370). 이때, 운동 상태 감지 장치(100)는 획득된 스켈레톤 포인트의 배열정보 중 단위 동작에 대한 단계 자세별 스켈레톤 포인트의 배열정보를 추출하여(S380), 단위 동작에 대한 단계 자세의 스켈레톤 포인트의 배열정보를 이용하여 단위 동작에 대응하는 운동의 종류를 판별하도록 학습모델을 학습시키는 S310 단계를 수행할 수 있다.
S360 단계 내지 S380 단계와 관련하여 도 6을 참조하여 후술된다. 운동 상태 감지 장치(100)는 사용자의 스켈레톤 포인트의 배열 변화를 감지하여 단위 동작을 복수 회 반복하는 반복 동작을 감지하면, 도 6의 (a)와 도 6의 (b)에서 획득된 스켈레톤 포인트의 배열정보를 학습모델에 입력하여 사용자가 수행하는 운동의 종류를 판별할 수 있다.
이때, 운동 상태 감지 장치(100)는 학습모델이 사용자가 수행하는 운동의 종류를 판별하지 못하면 도 6의 (c)에 도시된 바와 같이 '새로운 동작이 감지되었습니다.'라는 문구를 사용자에게 제공할 수 있다.
운동 상태 감지 장치(100)는 사용자로부터 새로운 종류의 운동 명칭을 입력 받아 도 6의 (a)와 도 6의 (b)에서 획득된 스켈레톤 포인트의 배열정보를 연관하여 저장할 수 있다. 운동 상태 감지 장치(100)는 단위 동작에 대한 단계 자세별 스켈레톤 포인트의 배열정보를 추출하여 S310단계를 수행하도록 할 수 있다.
이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.
도 2 내지 도 6을 통해 설명된 실시예에 따른 운동 상태 감지 방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다.
또한 도 2 내지 도 6을 통해 설명된 실시예에 따른 운동 상태 감지 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 도 2 내지 도 6을 통해 설명된 실시예에 따른 운동 상태 감지 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 명세서를 통해 보호받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.
100: 운동 상태 감지 장치 110: 입출력부
120: 제어부 130: 통신부
140: 메모리

Claims (13)

  1. 사용자의 홈 트레이닝을 감지하는 장치에 있어서,
    상기 사용자가 촬영된 영상에서 상기 사용자의 신체에 대해 설정된 복수의 스켈레톤 포인트의 배열정보를 획득하고, 획득된 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복 동작이 감지되면, 상기 사용자가 운동 상태라고 판단하는 제어부; 및
    반복 동작이 감지된 경우, 상기 획득된 스켈레톤 포인트의 배열정보를 저장하는 메모리를 포함하는, 운동 상태 감지 장치.
  2. 제1항에 있어서,
    상기 제어부는,
    상기 반복 동작이 감지되되, 설정된 전체 스켈레톤 포인트의 수에 대한 상기 사용자가 촬영된 영상으로부터 획득된 상기 사용자의 스켈레톤 포인트 수의 비율인 스켈레톤 인식비율이 소정 비율 이상이면 상기 사용자가 운동 상태라고 판단하는, 운동 상태 감지 장치.
  3. 제2항에 있어서,
    상기 제어부는,
    상기 스켈레톤 인식비율이 소정 비율 이상에서 소정 비율 미만으로 감소하면, 상기 사용자가 휴지 상태라고 판단하는, 운동 상태 감지 장치.
  4. 제1항에 있어서,
    상기 메모리는,
    복수의 종류의 운동의 단위 동작에 대한 단계 자세의 스켈레톤 포인트의 배열정보를 이용하여, 단위 동작에 대응하는 운동의 종류를 판별하도록 학습된 학습모델을 저장하고,
    상기 제어부는,
    상기 사용자가 촬영된 영상으로부터 획득된 스켈레톤 포인트의 배열정보를 상기 학습모델에 입력하여, 상기 사용자가 수행하는 운동의 종류를 판별하고, 상기 사용자가 수행한 단위 동작의 반복 횟수를 카운트하는 운동 상태 감지 장치.
  5. 제4항에 있어서,
    상기 제어부는,
    상기 사용자가 촬영된 영상으로부터 반복 동작이 감지되었으나, 상기 사용자가 수행하는 운동이 상기 학습모델이 학습한 운동의 종류 중 하나로 판별되지 않으면, 상기 사용자가 새로운 종류의 운동을 수행하고 있다고 판단하고, 상기 사용자에게 새로운 종류의 운동의 명칭을 입력 받으며, 상기 사용자가 촬영된 영상으로부터 획득된 스켈레톤 포인트의 배열정보를 새로운 종류의 운동으로서 상기 사용자로부터 입력 받은 운동의 명칭에 연관하여 상기 메모리에 저장하는, 운동 상태 감지 장치.
  6. 사용자의 홈 트레이닝을 감지하는 장치인 운동 상태 감지 장치에 의해 수행되고,
    상기 사용자가 촬영된 영상에서 상기 사용자의 신체에 대해 설정된 복수의 스켈레톤 포인트의 배열정보를 획득하는 단계; 및
    획득된 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복동작이 감지되면, 상기 사용자가 운동 상태라고 판단하는 단계를 포함하는, 운동 상태 감지 방법.
  7. 제6항에 있어서,
    상기 운동 상태 감지 방법은,
    설정된 전체 스켈레톤 포인트의 수에 대한 상기 사용자가 촬영된 영상으로부터 획득된 상기 사용자의 스켈레톤 포인트 수의 비율인 스켈레톤 인식비율을 산출하는 단계; 및
    상기 스켈레톤 인식비율이 소정 비율 이상인지 판단하여 소정 비율 이상이면 상기 사용자가 운동 상태라고 판단하는 단계를 더 포함하는, 운동 상태 감지 방법,
  8. 제7항에 있어서,
    상기 운동 상태 감지 방법은,
    상기 스켈레톤 인식비율이 소정 비율 이상인지 판단하여 소정 비율 미만이면 상기 사용자가 휴지 상태라고 판단하는 단계를 더 포함하는, 운동 상태 감지 방법.
  9. 제6항에 있어서,
    상기 운동 상태 감지 방법은,
    상기 운동 상태 감지 장치에 포함된 학습모델이 복수의 종류의 운동의 단위 동작에 대한 단계 자세의 스켈레톤 포인트의 배열정보를 이용하여 단위 동작에 대응하는 운동을 학습하는 단계;
    상기 사용자가 촬영된 영상으로부터 획득된 스켈레톤 포인트의 배열정보를 상기 학습모델에 입력하는 단계;
    상기 학습모델이 상기 사용자가 수행하는 운동의 종류를 판별하여, 판별된 종류의 운동을 상기 사용자가 수행하는 운동으로 결정하는 단계; 및
    상기 사용자가 수행한 단위 동작의 반복 횟수를 카운트하는 단계를 더 포함하는, 운동 상태 감지 방법.
  10. 제9항에 있어서,
    상기 운동 상태 감지 방법은,
    상기 사용자가 촬영된 영상으로부터 반복 동작이 감지되었으나, 상기 사용자가 수행하는 운동이 상기 학습모델이 학습한 운동의 종류 중 하나로 판별되지 않으면, 상기 사용자가 새로운 종류의 운동을 수행하고 있다고 판단하고, 상기 사용자로부터 새로운 종류의 운동의 명칭을 입력받는 단계; 및
    상기 사용자가 촬영된 영상으로부터 획득된 스켈레톤 포인트의 배열정보를 새로운 종류의 운동으로서 상기 사용자로부터 입력 받은 운동의 명칭에 연관하여 저장하는 단계를 더 포함하는, 운동 상태 감지 방법.
  11. 제10항에 있어서,
    상기 운동 상태 감지 방법은,
    상기 사용자로부터 입력 받은 운동의 명칭에 연관하여 저장된 스켈레톤 포인트의 배열정보를 이용하여 상기 학습모델을 상기 새로운 종류의 운동에 대하여 추가 학습시키는 단계를 더 포함하는, 운동 상태 감지 방법.
  12. 제6항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
  13. 운동 상태 감지 장치에 의해 수행되며, 제6항에 기재된 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램.
KR1020220080686A 2021-12-09 2022-06-30 운동 상태 감지 장치 및 방법 KR20230087352A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/018521 WO2023106695A1 (ko) 2021-12-09 2022-11-22 운동 상태 감지 장치 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210176135 2021-12-09
KR1020210176135 2021-12-09

Publications (1)

Publication Number Publication Date
KR20230087352A true KR20230087352A (ko) 2023-06-16

Family

ID=86948467

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220080686A KR20230087352A (ko) 2021-12-09 2022-06-30 운동 상태 감지 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20230087352A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102608196B1 (ko) * 2023-08-01 2023-12-01 주식회사 니어네트웍스 비전처리를 활용한 범용 반복 동작 카운팅 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102608196B1 (ko) * 2023-08-01 2023-12-01 주식회사 니어네트웍스 비전처리를 활용한 범용 반복 동작 카운팅 시스템

Similar Documents

Publication Publication Date Title
US20190230210A1 (en) Context recognition in mobile devices
US20170192500A1 (en) Method and electronic device for controlling terminal according to eye action
US20170351330A1 (en) Communicating Information Via A Computer-Implemented Agent
US10088901B2 (en) Display device and operating method thereof
US11386806B2 (en) Physical movement analysis
US11568617B2 (en) Full body virtual reality utilizing computer vision from a single camera and associated systems and methods
WO2023040449A1 (zh) 利用健身动作触发客户端操作指令
KR20200144991A (ko) 운동 보조 장치 및 운동 보조 방법
WO2020016657A2 (en) Computer systems and computer-implemented methods of use thereof configured to recognize user activity during user interaction with electronic computing devices and parental advisory computer systems and computer- implemented methods
US20210060385A1 (en) Advancement Manager In A Handheld User Device
CN111507301B (zh) 视频处理方法、装置、计算机设备以及存储介质
KR20230087352A (ko) 운동 상태 감지 장치 및 방법
US11450010B2 (en) Repetition counting and classification of movements systems and methods
JP7341324B2 (ja) 目標ユーザのロック方法および電子デバイス
US11547904B2 (en) Exercise assisting device and exercise assisting method
US20230201696A1 (en) Method of providing exercise video guide and apparatus thereof
JP7169718B1 (ja) 情報処理方法、装置及びプログラム
KR102363435B1 (ko) 골프 스윙 동작 피드백 제공 장치 및 방법
KR20230100558A (ko) 운동 가이드 동영상 제공 방법 및 그 장치
KR20230100557A (ko) 운동 가이드 동영상 제공 방법 및 그 장치
WO2023106695A1 (ko) 운동 상태 감지 장치 및 방법
CN113298013A (zh) 运动动作矫正方法、装置、存储介质及电子设备
KR102630828B1 (ko) 인공지능을 이용한 태권도 단체 품새 동작 평가 방법 및 장치
KR102566378B1 (ko) 인공지능을 통한 영상 분석 기반 홈 트레이닝 가이드 제공방법, 장치 및 컴퓨터프로그램
JP7372717B1 (ja) プログラム、情報処理装置及び方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal