KR102292415B1 - 신체 동작 유사도 측정 장치 및 방법 - Google Patents

신체 동작 유사도 측정 장치 및 방법 Download PDF

Info

Publication number
KR102292415B1
KR102292415B1 KR1020190096757A KR20190096757A KR102292415B1 KR 102292415 B1 KR102292415 B1 KR 102292415B1 KR 1020190096757 A KR1020190096757 A KR 1020190096757A KR 20190096757 A KR20190096757 A KR 20190096757A KR 102292415 B1 KR102292415 B1 KR 102292415B1
Authority
KR
South Korea
Prior art keywords
node
similarity
motion
angle
data
Prior art date
Application number
KR1020190096757A
Other languages
English (en)
Other versions
KR20210017462A (ko
Inventor
임강윤
Original Assignee
주식회사 엘지유플러스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엘지유플러스 filed Critical 주식회사 엘지유플러스
Priority to KR1020190096757A priority Critical patent/KR102292415B1/ko
Publication of KR20210017462A publication Critical patent/KR20210017462A/ko
Application granted granted Critical
Publication of KR102292415B1 publication Critical patent/KR102292415B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1116Determining posture transitions
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1126Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
    • A61B5/1127Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique using markers
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1126Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
    • A61B5/1128Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique using image analysis
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/45For evaluating or diagnosing the musculoskeletal system or teeth
    • A61B5/4504Bones
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7271Specific aspects of physiological measurement analysis
    • A61B5/7275Determining trends in physiological measurement data; Predicting development of a medical condition based on physiological measurements, e.g. determining a risk factor

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Animal Behavior & Ethology (AREA)
  • Surgery (AREA)
  • Physics & Mathematics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Physiology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Dentistry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Psychiatry (AREA)
  • Signal Processing (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Radiology & Medical Imaging (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Rheumatology (AREA)
  • Image Analysis (AREA)

Abstract

스켈레톤 데이터의 관절 각도를 기반으로 신체 동작 유사도를 측정할 수 있는 신체 동작 유사도 측정 장치 및 방법에 관한 것으로, 사용자의 신체 동작에 상응하는 움직임을 감지하는 동작 인식부와, 감지한 움직임 정보로부터 스켈레톤 데이터(skeleton data)를 생성하는 스켈레톤 데이터 생성부와, 스켈레톤 데이터로부터 각 스켈레톤 노드(node)별로 시간에 따른 각도값을 산출하고 산출한 각도값을 토대로 사용자의 신체 동작과 비교 대상 동작과의 동작 유사도를 판단하는 동작 유사도 판단부를 포함할 수 있다.

Description

신체 동작 유사도 측정 장치 및 방법{APPARATUS AND METHOD FOR MEASURING BODY MOTION SIMILARITY}
본 발명은 신체 동작 유사도 측정 장치에 관한 것으로, 보다 상세하게는 스켈레톤 데이터의 관절 각도를 기반으로 신체 동작 유사도를 측정할 수 있는 신체 동작 유사도 측정 장치 및 방법에 관한 것이다.
일반적으로, 증강 현실(Augmented Reality; AR)은, 사용자가 눈으로 보는 현실 세계에 가상 물체를 겹쳐 보여주는 기술이다.
또한, 증강 현실(Augmented Reality; AR)은, 현실 세계에서 실시간으로 부가 정보를 갖는 가상 세계를 합쳐 하나의 영상으로 보여주므로 혼합 현실(Mixed Reality; MR)이라고도 한다.
최근에는, 가상 컨텐츠를 로딩하여 현실 영상 위에 표시하는 다양한 증강 현실 서비스를 제공하고 있는데, 다양한 증강 현실 서비스 중에서, 댄스 따라 하기 등과 같은 증강 현실 서비스가 인기를 끌고 있다.
하지만, 현재의 댄스 따라 하기와 같은 증강 현실 서비스는, 댄서의 댄스 동작을 따라하는 사용자의 영상을 단순히 제공할 뿐, 사용자가 댄스 동작을 잘 따라 하고 있는지에 대한 피드백 정보를 제공하지 못하고 있다.
만일, 댄스 동작 등과 같이 사용자가 특정 동작을 잘 따라 하고 있는지에 대한 수치적인 피드백이 가능할 경우, 현재의 증강 현실 서비스는, 더 높은 가치를 부여할 수 있을 것이다.
따라서, 향후, 신체 동작에 대한 데이터를 수치화하여 이를 토대로 비교 대상 동작과의 동작 유사도를 비교 측정함으로써, 증강 현실 서비스 등과 같이 다양한 분야의 서비스의 적용할 수 있는 신체 동작 유사도 측정 장치의 개발이 요구되고 있다.
본 발명은, 스켈레톤 데이터로부터 각 스켈레톤 노드(node)별로 시간에 따른 각도값을 산출하여 사용자의 신체 동작과 비교 대상 동작과의 동작 유사도를 판단함으로써, 연산량을 최소화하여 속도 및 신뢰성을 향상시킬 수 있는 신체 동작 유사도 측정 장치 및 방법을 제공하고자 한다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 신체 동작 유사도 측정 장치는, 사용자의 신체 동작에 상응하는 움직임을 감지하는 동작 인식부와, 감지한 움직임 정보로부터 스켈레톤 데이터(skeleton data)를 생성하는 스켈레톤 데이터 생성부와, 스켈레톤 데이터로부터 각 스켈레톤 노드(node)별로 시간에 따른 각도값을 산출하고 산출한 각도값을 토대로 사용자의 신체 동작과 비교 대상 동작과의 동작 유사도를 판단하는 동작 유사도 판단부를 포함할 수 있다.
한편, 본 발명의 일 실시예에 따른 신체 동작 유사도 측정 방법은, 동작 인식부, 스켈레톤 데이터 생성부 및 동작 유사도 판단부를 포함하는 신체 동작 유사도 측정 장치의 신체 동작 유사도 측정 방법으로서, 동작 인식부가 사용자의 신체 동작에 상응하는 움직임을 감지하는 단계와, 스켈레톤 데이터 생성부가 감지한 움직임 정보로부터 스켈레톤 데이터(skeleton data)를 생성하는 단계와, 동작 유사도 판단부가 스켈레톤 데이터로부터 각 스켈레톤 노드(node)별로 시간에 따른 각도값을 산출하는 단계와, 동작 유사도 판단부가 산출한 각도값을 토대로 사용자의 신체 동작과 비교 대상 동작과의 동작 유사도를 판단하는 단계를 포함할 수 있다.
여기서, 스켈레톤 데이터를 생성하는 단계는, 감지한 움직임 정보로부터 신체의 각 관절 포인트에 노드를 할당하는 단계와, 각 노드에 대한 식별자를 부여하는 단계와, 각 노드에 대한 상세 정보를 포함하는 노드 데이터를 생성하는 단계를 포함할 수 있다.
그리고, 각 스켈레톤 노드별로 시간에 따른 각도값을 산출하는 단계는, 스켈레톤 데이터로부터 각 스켈레톤 노드에 대한 노드 데이터를 시간별로 저장하는 단계와, 노드 데이터로부터 부모 노드와의 각도 정보를 추출하는 단계와, 추출한 각도 정보를 토대로 시간에 따른 각도값을 산출하는 단계를 포함할 수 있다.
이어, 비교 대상 동작과의 동작 유사도를 판단하는 단계는, 각 스켈레톤 노드별로 시간에 따른 각도값이 산출되면 산출된 각도값을 상기 각 스켈레톤 노드별로 저장하는 단계와, 사용자의 신체 동작 중 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정하는 단계와, 저장된 각도값으로부터 선정된 노드 및 시간대의 제1 각도값을 추출하는 단계와, 미리 저장된 비교 대상 동작에 상응하는 스켈레톤 데이터의 노드별 각도값들 중 제1 각도값과 동일한 노드 및 시간대의 제2 각도값들을 추출하는 단계와, 사용자의 신체 동작의 제1 각도값들과 비교 대상 동작의 제2 각도값들을 비교하여 동일 노드 및 동일 시간대에 상응하는 동작 유사도를 판단하는 단계를 포함할 수 있다.
여기서, 동일 노드 및 동일 시간대에 상응하는 동작 유사도를 판단하는 단계는, 동일 노드 및 동일 시간대에 상응하는 사용자의 신체 동작의 제1 각도값들과 비교 대상 동작의 제2 각도값들을 비교하는 단계와, 제1 각도값과 제2 각도값에 대한 비교 편차가 기준 편차보다 더 작은지를 확인하는 단계와, 비교 편차가 기준 편차보다 더 작으면 동작 유사도가 높다고 판단하는 단계를 포함할 수 있다.
또한, 제1 각도값과 제2 각도값에 대한 비교 편차가 기준 편차보다 더 작은지를 확인하는 단계는, 비교 편차가 기준 편차 이상이면 동작 유사도가 낮다고 판단할 수 있다.
한편, 본 발명의 일 실시예는, 상기 신체 동작 유사도 측정 방법들 중 어느 하나의 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램 및 상기 프로그램이 기록된 기록매체를 더 제공할 수도 있다.
상기와 같이 구성되는 본 발명의 적어도 하나의 실시예에 관련된 신체 동작 유사도 측정 장치 및 방법은, 스켈레톤 데이터로부터 각 스켈레톤 노드(node)별로 시간에 따른 각도값을 산출하여 사용자의 신체 동작과 비교 대상 동작과의 동작 유사도를 판단함으로써, 연산량을 최소화하여 속도 및 신뢰성을 향상시킬 수 있는 효과를 제공한다.
또한, 본 발명은, 증강 현실 서비스 등과 같이 다양한 분야의 서비스의 적용할 수 있는 효과를 제공한다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명에 따른 신체 동작 유사도 측정 장치를 개략적으로 설명하기 위한 개략도이다.
도 2는 도 1의 신체 동작 유사도 측정 장치를 상세히 설명하기 위한 블럭 구성도이다.
도 3은 도 2의 스켈레톤 데이터 생성부를 상세히 설명하기 위한 블럭 구성도이다.
도 4는 도 2의 동작 유사도 판단부를 상세히 설명하기 위한 블럭 구성도이다.
도 5 및 도 6은 스켈레톤 데이터의 생성 과정을 설명하기 위한 도면이다.
도 7은 노드 데이터를 설명하기 위한 도면이다.
도 8 내지 도 10은 신체 동작 유사도 판단 과정을 설명하기 위한 도면이다.
도 11은 신체 동작 유사도 측정 장치를 활용한 예를 설명하기 위한 도면이다.
도 12 내지 도 15는 본 발명에 따른 신체 동작 유사도 측정 방법을 설명하기 위한 흐름도이다.
이하, 본 발명의 실시예들이 적용되는 장치 및 다양한 방법들에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
실시예의 설명에 있어서, 각 구성 요소의 " 상(위) 또는 하(아래)", “전(앞) 또는 후(뒤)”에 형성되는 것으로 기재되는 경우에 있어, “상(위) 또는 하(아래)” 및“전(앞) 또는 후(뒤)”는 두 개의 구성 요소들이 서로 직접 접촉되거나 하나 이상의 또 다른 구성 요소가 두 개의 구성 요소들 사이에 배치되어 형성되는 것을 모두 포함한다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성 요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성 요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
그리고 본 발명을 설명함에 있어서 관련된 공지기술에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
도 1은 본 발명에 따른 신체 동작 유사도 측정 장치를 개략적으로 설명하기 위한 개략도이다.
본 명세서에서 설명되는 신체 동작 유사도 측정 장치는, 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를 들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display)) 등이 포함되는 이동 단말기에 적용될 수 있다.
그러나, 본 명세서에 기재된 실시 예에 따른 구성은 이동 단말기에만 적용 가능한 경우를 제외하면, 디지털 TV, 데스크탑 컴퓨터, 디지털 사이니지 등과 같은 고정 단말기에도 적용될 수도 있음을 본 기술분야의 당업자라면 쉽게 알 수 있을 것이다.
도 1의 신체 동작 유사도 측정 장치(10)는, 댄스 동작 따라하기 등과 같은 증강 현실 서비스에 적용한 일 예를 보여주는 도면으로서, 이동 단말기의 화면(12) 위에 측정한 신체 동작 유사도에 대한 피드백 정보(500)를 보여주고 있다.
이처럼, 본 발명은, 증강 현실 서비스 등과 같이 다양한 분야의 서비스의 적용할 수 있다.
도 1에 도시된 바와 같이, 본 발명의 신체 동작 유사도 측정 장치(10)는, 사용자의 신체 동작(20)에 상응하는 움직임을 감지하면 감지한 움직임 정보로부터 스켈레톤 데이터(skeleton data)를 생성한 다음, 스켈레톤 데이터로부터 각 스켈레톤 노드(node)별로 시간에 따른 각도값을 산출하고 산출한 각도값을 토대로 사용자의 신체 동작(20)과 비교 대상 동작(30)과의 동작 유사도를 판단하여 동작 유사도에 대한 피드백 정보(500)를 제공할 수 있다.
신체 동작 유사도 측정 장치(10)는, 깊이 카메라, 적외선 카메라, 키넥트(kinect) 등을 포함하는 동작 인식부(100)를 포함할 수 있으며, 이를 통해 사용자의 신체 동작(20)에 상응하는 움직임을 감지할 수 있다.
그리고, 신체 동작 유사도 측정 장치(10)는, 스켈레톤 데이터를 생성할 때, 감지한 움직임 정보로부터 신체의 각 관절 포인트에 노드를 할당하고, 각 노드에 대한 식별자를 부여하며, 각 노드에 대한 상세 정보를 포함하는 노드 데이터를 생성할 수 있다.
여기서, 신체 동작 유사도 측정 장치(10)는, 신체의 각 관절 포인트에 노드를 할당할 때, 노드와 노드 사이를 에지(edge)로 연결할 수 있다.
일 예로, 신체 동작 유사도 측정 장치(10)는, 노드와 노드 사이를 에지(edge)로 연결할 때, 각 노드가 부모 노드(parent node) 및 자식 노드(child node) 중 적어도 어느 하나에 연결되도록 에지를 연결할 수 있다.
또한, 신체 동작 유사도 측정 장치(10)는, 노드 데이터를 생성할 때, 각 노드에 대한 식별 정보, 자식 노드 개수 정보, 부모 노드와의 각도 정보, 부모 노드와의 거리 정보, 그리고 가중치 정보를 포함하는 노드 데이터를 생성할 수 있지만, 반드시 이에 한정되지는 않는다.
일 예로, 신체 동작 유사도 측정 장치(10)는, 노드 데이터를 생성할 때, 각 노드에 에지로 연결되는 자식 노드를 카운트하여 자식 노드 개수 정보를 생성할 수 있다.
다른 일 예로, 신체 동작 유사도 측정 장치(10)는, 노드 데이터를 생성할 때, 각 노드와 부모 노드와의 오일러 각도(Euler angle)를 산출하여 부모 노드와의 각도 정보를 생성할 수 있다.
또 다른 일 예로, 신체 동작 유사도 측정 장치(10)는, 노드 데이터를 생성할 때, 각 노드와 부모 노드를 연결하는 에지 길이를 산출하여 부모 노드와의 거리 정보를 생성할 수 있다.
또 다른 일 예로, 신체 동작 유사도 측정 장치(10)는, 노드 데이터를 생성할 때, 각 노드의 동작 중요도를 토대로 가중치를 산출하여 각 노드의 가중치 정보를 생성할 수 있다.
또한, 신체 동작 유사도 측정 장치(10)는, 각 스켈레톤 노드별로 시간에 따른 각도값을 산출할 때, 스켈레톤 데이터로부터 각 스켈레톤 노드에 대한 노드 데이터를 시간별로 저장하고, 노드 데이터로부터 부모 노드와의 각도 정보를 추출하며, 추출한 각도 정보를 토대로 시간에 따른 각도값을 산출할 수 있다.
여기서, 각 스켈레톤 노드에 대한 노드 데이터는, 각 노드에 대한 식별 정보 필드, 자식 노드 개수 정보 필드, 부모 노드와의 각도 정보 필드, 부모 노드와의 거리 정보 필드, 그리고 가중치 정보 필드를 포함하는 데이터 필드 구성을 가질 수 있는데, 반드시 이에 한정되지는 않는다.
일 예로, 노드 데이터로부터 추출되는 부모 노드와의 각도 정보는, 해당 노드와 부모 노드와의 오일러 각도(Euler angle)일 수 있다.
즉, 노드 데이터로부터 추출되는 부모 노드와의 각도 정보는, 해당 노드와 부모 노드와의 오일러 각도(Euler angle)에서, 요(yaw) 방향에 대한 제1 각도, 롤(roll) 방향에 대한 제2 각도, 피치(pitch)에 대한 제3 각도 중 적어도 어느 하나일 수 있다.
다음, 신체 동작 유사도 측정 장치(10)는, 비교 대상 동작(30)과의 동작 유사도를 판단할 때, 사용자의 신체 동작(20)에 상응하는 스켈레톤 데이터(400-1)의 노드별로 시간에 따른 각도값이 산출되면 산출된 각도값을 각 스켈레톤 노드별로 저장하고, 사용자의 신체 동작 중 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정하며, 저장된 각도값으로부터 선정된 노드 및 시간대의 제1 각도값을 추출하고, 미리 저장된 비교 대상 동작(30)에 상응하는 스켈레톤 데이터(400-2)의 노드별 각도값들 중 제1 각도값과 동일한 노드 및 시간대의 제2 각도값들을 추출하며, 사용자의 신체 동작(20)의 제1 각도값들과 비교 대상 동작(30)의 제2 각도값들을 비교하여 동일 노드 및 동일 시간대에 상응하는 동작 유사도를 판단할 수 있다.
일 예로, 신체 동작 유사도 측정 장치(10)는, 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 때, 미리 설정된 디폴트값에 따라 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 수 있다.
다른 일 예로, 신체 동작 유사도 측정 장치(10)는, 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 때, 사용자 명령에 따라 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 수 있다.
또 다른 일 예로, 신체 동작 유사도 측정 장치(10)는, 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 때, 노드의 가중치를 토대로 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 수 있다.
여기서, 노드의 가중치는, 동작 중요도가 높을수록 더 큰값을 가질 수 있다.
예를 들면, 노드의 가중치는, 요(yaw) 방향에 대한 제1 각도의 가중치, 롤(roll) 방향에 대한 제2 각도의 가중치, 피치(pitch)에 대한 제3 각도의 가중치 중 적어도 어느 하나일 수 있다.
다음, 신체 동작 유사도 측정 장치(10)는, 동일 노드 및 동일 시간대에 상응하는 동작 유사도를 판단할 때, 동일 노드 및 동일 시간대에 상응하는 사용자의 신체 동작(20)의 제1 각도값들과 비교 대상 동작(30)의 제2 각도값들을 비교하고, 제1 각도값과 제2 각도값에 대한 비교 편차가 기준 편차보다 더 작은지를 확인하며, 비교 편차가 기준 편차보다 더 작으면 동작 유사도가 높다고 판단할 수 있다.
경우에 따라, 신체 동작 유사도 측정 장치(10)는, 제1 각도값과 제2 각도값에 대한 비교 편차가 기준 편차보다 더 작은지를 확인할 때, 비교 편차가 기준 편차 이상이면 동작 유사도가 낮다고 판단할 수 있다.
이와 같이, 본 발명은, 스켈레톤 데이터로부터 각 스켈레톤 노드(node)별로 시간에 따른 각도값을 산출하여 사용자의 신체 동작과 비교 대상 동작과의 동작 유사도를 판단함으로써, 연산량을 최소화하여 속도 및 신뢰성을 향상시킬 수 있다.
또한, 본 발명은, 증강 현실 서비스 등과 같이 다양한 분야의 서비스의 적용할 수 있다.
도 2는 도 1의 신체 동작 유사도 측정 장치를 상세히 설명하기 위한 블럭 구성도이다.
도 2에 도시된 바와 같이, 본 발명의 신체 동작 유사도 측정 장치(10)는, 동작 인식부(100), 스켈레톤 데이터 생성부(200), 그리고 동작 유사도 판단부(300)를 포함할 수 있다.
여기서, 동작 인식부(100)는, 사용자의 신체 동작에 상응하는 움직임을 감지할 수 있다.
일 예로, 동작 인식부(100)는, 깊이 카메라, 적외선 카메라, 키넥트(kinect) 중 적어도 어느 하나를 포함할 수 있는데, 이에 한정되지는 않는다.
다음, 스켈레톤 데이터 생성부(200)는, 감지한 움직임 정보로부터 스켈레톤 데이터(skeleton data)를 생성할 수 있다.
여기서, 스켈레톤 데이터 생성부(200)는, 스켈레톤 데이터를 생성할 때, 감지한 움직임 정보로부터 신체의 각 관절 포인트에 노드를 할당하고, 각 노드에 대한 식별자를 부여하며, 각 노드에 대한 상세 정보를 포함하는 노드 데이터를 생성할 수 있다.
스켈레톤 데이터 생성부(200)는, 신체의 각 관절 포인트에 노드를 할당할 때, 노드와 노드 사이를 에지(edge)로 연결할 수 있다.
또한, 스켈레톤 데이터 생성부(200)는, 노드와 노드 사이를 에지(edge)로 연결할 때, 각 노드가 부모 노드(parent node) 및 자식 노드(child node) 중 적어도 어느 하나에 연결되도록 에지를 연결할 수 있다.
그리고, 스켈레톤 데이터 생성부(200)는, 노드 데이터를 생성할 때, 각 노드에 대한 식별 정보, 자식 노드 개수 정보, 부모 노드와의 각도 정보, 부모 노드와의 거리 정보, 그리고 가중치 정보를 포함하는 노드 데이터를 생성할 수 있다.
일 예로, 스켈레톤 데이터 생성부(200)는, 노드 데이터를 생성할 때, 각 노드에 에지로 연결되는 자식 노드를 카운트하여 자식 노드 개수 정보를 생성할 수 있다.
또한, 스켈레톤 데이터 생성부(200)는, 노드 데이터를 생성할 때, 각 노드와 부모 노드와의 오일러 각도(Euler angle)를 산출하여 부모 노드와의 각도 정보를 생성할 수 있다.
또한, 스켈레톤 데이터 생성부(200)는, 노드 데이터를 생성할 때, 각 노드와 부모 노드를 연결하는 에지 길이를 산출하여 부모 노드와의 거리 정보를 생성할 수 있다.
또한, 스켈레톤 데이터 생성부(200)는, 노드 데이터를 생성할 때, 각 노드의 동작 중요도를 토대로 가중치를 산출하여 각 노드의 가중치 정보를 생성할 수 있다.
다음, 동작 유사도 판단부(300)는, 스켈레톤 데이터로부터 각 스켈레톤 노드(node)별로 시간에 따른 각도값을 산출하고, 산출한 각도값을 토대로 사용자의 신체 동작과 비교 대상 동작과의 동작 유사도를 판단할 수 있다.
여기서, 동작 유사도 판단부(300)는, 각 스켈레톤 노드별로 시간에 따른 각도값을 산출할 때, 스켈레톤 데이터로부터 각 스켈레톤 노드에 대한 노드 데이터를 시간별로 저장하고, 노드 데이터로부터 부모 노드와의 각도 정보를 추출하며, 추출한 각도 정보를 토대로 시간에 따른 각도값을 산출할 수 있다.
일 예로, 각 스켈레톤 노드에 대한 노드 데이터는, 각 노드에 대한 식별 정보 필드, 자식 노드 개수 정보 필드, 부모 노드와의 각도 정보 필드, 부모 노드와의 거리 정보 필드, 그리고 가중치 정보 필드를 포함하는 데이터 필드 구성을 가질 수 있다.
또한, 노드 데이터로부터 추출되는 부모 노드와의 각도 정보는, 해당 노드와 부모 노드와의 오일러 각도(Euler angle)일 수 있다.
즉, 노드 데이터로부터 추출되는 부모 노드와의 각도 정보는, 해당 노드와 부모 노드와의 오일러 각도(Euler angle)에서, 요(yaw) 방향에 대한 제1 각도, 롤(roll) 방향에 대한 제2 각도, 피치(pitch)에 대한 제3 각도 중 적어도 어느 하나일 수 있다.
그리고, 동작 유사도 판단부(300)는, 비교 대상 동작과의 동작 유사도를 판단할 때, 각 스켈레톤 노드별로 시간에 따른 각도값이 산출되면 산출된 각도값을 각 스켈레톤 노드별로 저장하고, 사용자의 신체 동작 중 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정하며, 저장된 각도값으로부터 선정된 노드 및 시간대의 제1 각도값을 추출하고, 미리 저장된 상기 비교 대상 동작에 상응하는 스켈레톤 데이터의 노드별 각도값들 중 제1 각도값과 동일한 노드 및 시간대의 제2 각도값들을 추출하며, 사용자의 신체 동작의 제1 각도값들과 비교 대상 동작의 제2 각도값들을 비교하여 동일 노드 및 동일 시간대에 상응하는 동작 유사도를 판단할 수 있다.
여기서, 동작 유사도 판단부(300)는, 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 때, 미리 설정된 디폴트값에 따라 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 수 있다.
경우에 따라, 동작 유사도 판단부(300)는, 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 때, 사용자 명령에 따라 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 수 있다.
다른 경우로서, 동작 유사도 판단부(300)는, 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 때, 노드의 가중치를 토대로 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 수 있다.
여기서, 노드의 가중치는, 동작 중요도가 높을수록 더 큰값을 가질 수 있다.
일 예로, 노드의 가중치는, 요(yaw) 방향에 대한 제1 각도의 가중치, 롤(roll) 방향에 대한 제2 각도의 가중치, 피치(pitch)에 대한 제3 각도의 가중치 중 적어도 어느 하나일 수 있다.
그리고, 동작 유사도 판단부(300)는, 동일 노드 및 동일 시간대에 상응하는 동작 유사도를 판단할 때, 동일 노드 및 동일 시간대에 상응하는 사용자의 신체 동작의 제1 각도값들과 비교 대상 동작의 제2 각도값들을 비교하고, 제1 각도값과 제2 각도값에 대한 비교 편차가 기준 편차보다 더 작은지를 확인하며, 비교 편차가 기준 편차보다 더 작으면 동작 유사도가 높다고 판단할 수 있다.
여기서, 동작 유사도 판단부(300)는, 제1 각도값과 제2 각도값에 대한 비교 편차가 기준 편차보다 더 작은지를 확인할 때, 비교 편차가 기준 편차 이상이면 동작 유사도가 낮다고 판단할 수 있다.
도 3은 도 2의 스켈레톤 데이터 생성부를 상세히 설명하기 위한 블럭 구성도이다.
도 3에 도시된 바와 같이, 스켈레톤 데이터 생성부(200)는, 움직임 정보로부터 신체의 각 관절 포인트에 노드를 할당하는 노드 할당부(210), 각 노드에 대한 식별자를 부여하는 식별자 부여부(220), 그리고 각 노드에 대한 상세 정보를 포함하는 노드 데이터를 생성하는 노드 데이터 생성부(230)를 포함할 수 있다.
여기서, 노드 할당부(210)는, 신체의 각 관절 포인트에 노드를 할당할 때, 노드와 노드 사이를 에지(edge)로 연결할 수 있다.
이때, 노드 할당부(210)는, 노드와 노드 사이를 에지(edge)로 연결할 때, 각 노드가 부모 노드(parent node) 및 자식 노드(child node) 중 적어도 어느 하나에 연결되도록 에지를 연결할 수 있다.
그리고, 노드 데이터 생성부(230)는, 노드 데이터를 생성할 때, 각 노드에 대한 식별 정보, 자식 노드 개수 정보, 부모 노드와의 각도 정보, 부모 노드와의 거리 정보, 그리고 가중치 정보를 포함하는 노드 데이터를 생성할 수 있다.
일 예로, 자식 노드 개수 정보는, 각 노드에 에지로 연결되는 자식 노드를 카운트하여 생성할 수 있고, 부모 노드와의 각도 정보는, 각 노드와 부모 노드와의 오일러 각도(Euler angle)를 산출하여 생성할 수 있다.
또한, 부모 노드와의 거리 정보는, 각 노드와 부모 노드를 연결하는 에지 길이를 산출하여 생성할 수 있고, 가중치 정보는, 각 노드의 동작 중요도를 토대로 가중치를 산출하여 생성할 수 있다.
도 4는 도 2의 동작 유사도 판단부를 상세히 설명하기 위한 블럭 구성도이다.
도 4에 도시된 바와 같이, 동작 유사도 판단부(300)는, 각 스켈레톤 노드별로 시간에 따른 각도값을 산출하는 각도값 산출부(310), 산출된 각도값을 각 스켈레톤 노드별로 저장하는 저장부(320), 그리고 각도값을 토대로 동작 유사도를 판단하는 판단부(330)를 포함할 수 있다.
여기서, 각도값 산출부(310)는, 스켈레톤 데이터로부터 각 스켈레톤 노드에 대한 노드 데이터를 시간별로 저장하고, 노드 데이터로부터 부모 노드와의 각도 정보를 추출하며, 추출한 각도 정보를 토대로 시간에 따른 각도값을 산출할 수 있다.
일 예로, 각 스켈레톤 노드에 대한 노드 데이터는, 각 노드에 대한 식별 정보 필드, 자식 노드 개수 정보 필드, 부모 노드와의 각도 정보 필드, 부모 노드와의 거리 정보 필드, 그리고 가중치 정보 필드를 포함하는 데이터 필드 구성을 가질 수 있다.
또한, 노드 데이터로부터 추출되는 부모 노드와의 각도 정보는, 해당 노드와 부모 노드와의 오일러 각도(Euler angle)일 수 있다.
즉, 노드 데이터로부터 추출되는 부모 노드와의 각도 정보는, 해당 노드와 부모 노드와의 오일러 각도(Euler angle)에서, 요(yaw) 방향에 대한 제1 각도, 롤(roll) 방향에 대한 제2 각도, 피치(pitch)에 대한 제3 각도 중 적어도 어느 하나일 수 있다.
이어, 판단부(330)는, 스켈레톤 데이터로부터 각 스켈레톤 노드(node)별로 시간에 따른 각도값을 산출하고, 산출한 각도값을 토대로 사용자의 신체 동작과 비교 대상 동작과의 동작 유사도를 판단할 수 있다.
여기서, 판단부(330)는, 사용자의 신체 동작 중 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정하며, 저장된 각도값으로부터 상기 선정된 노드 및 시간대의 제1 각도값을 추출하고, 저장부(320)에 미리 저장된 비교 대상 동작에 상응하는 스켈레톤 데이터의 노드별 각도값들 중 제1 각도값과 동일한 노드 및 시간대의 제2 각도값들을 추출하며, 사용자의 신체 동작의 제1 각도값들과 비교 대상 동작의 제2 각도값들을 비교하여 동일 노드 및 동일 시간대에 상응하는 동작 유사도를 판단할 수 있다.
좀 더 상세히 설명하면, 판단부(330)는, 비교 대상 동작과의 동작 유사도를 판단할 때, 각 스켈레톤 노드별로 시간에 따른 각도값이 산출되면 산출된 각도값을 각 스켈레톤 노드별로 저장하고, 사용자의 신체 동작 중 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정하며, 저장된 각도값으로부터 선정된 노드 및 시간대의 제1 각도값을 추출하고, 미리 저장된 상기 비교 대상 동작에 상응하는 스켈레톤 데이터의 노드별 각도값들 중 제1 각도값과 동일한 노드 및 시간대의 제2 각도값들을 추출하며, 사용자의 신체 동작의 제1 각도값들과 비교 대상 동작의 제2 각도값들을 비교하여 동일 노드 및 동일 시간대에 상응하는 동작 유사도를 판단할 수 있다.
일 예로, 판단부(330)는, 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 때, 미리 설정된 디폴트값에 따라 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 수 있다.
경우에 따라, 판단부(330)는, 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 때, 사용자 명령에 따라 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 수도 있다.
다른 경우로서, 판단부(330)는, 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 때, 노드의 가중치를 토대로 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 수도 있다.
그리고, 판단부(330)는, 동일 노드 및 동일 시간대에 상응하는 동작 유사도를 판단할 때, 동일 노드 및 동일 시간대에 상응하는 사용자의 신체 동작의 제1 각도값들과 비교 대상 동작의 제2 각도값들을 비교하고, 제1 각도값과 제2 각도값에 대한 비교 편차가 기준 편차보다 더 작은지를 확인하며, 비교 편차가 기준 편차보다 더 작으면 동작 유사도가 높다고 판단할 수 있다.
여기서, 판단부(330)는, 제1 각도값과 제2 각도값에 대한 비교 편차가 기준 편차보다 더 작은지를 확인할 때, 비교 편차가 기준 편차 이상이면 동작 유사도가 낮다고 판단할 수 있다.
도 5 및 도 6은 스켈레톤 데이터의 생성 과정을 설명하기 위한 도면이다.
도 5 및 도 6에 도시된 바와 같이, 본 발명은, 카메라를 통해 사용자의 신체 동작에 상응하는 움직임을 감지하면 감지한 움직임 정보로부터 스켈레톤 데이터(400)를 생성할 수 있다.
먼저, 본 발명은, 스켈레톤 데이터(400)를 생성할 때, 움직임 정보로부터 신체의 각 관절 포인트에 노드(410)를 할당할 수 있다.
즉, 본 발명은, 신체의 손목, 무릎 등과 같은 관절 포인트에 노드(410)를 할당할 수 있다.
그리고, 본 발명은, 각 노드(410)에 대한 식별자를 부여할 수 있다.
여기서, 루트(root) 노드에 노드 1로 식별자를 부여하고, 그의 하위 노드에 노드 2로 식별자를 부여할 경우, 노드 1가 부모 노드(parent node)이고, 노드 2가 노드 1에 대한 자식 노드(child node)일 수 있으며, 노드 3 및 노드 4의 경우, 노드 2에 대한 자식 노드일 수 있다.
따라서, 각 노드는, 다른 노드에 대해 부모 노드일 수도 있고, 자식 노드일 수도 있다.
이어, 본 발명은, 식별자가 부여된 노드(410)와 노드(410) 사이를 에지(edge)(420)로 연결할 수 있다.
여기서, 본 발명은, 각 노드(410)가 부모 노드 및 자식 노드 중 적어도 어느 하나에 연결되도록 에지(420)를 연결할 수 있다.
도 5는, 키가 큰 신체를 갖는 스켈레톤 데이터(400)를 보여주고 있고, 도 6은, 키가 상대적으로 작은 신체를 갖는 스켈레톤 데이터(400)를 보여주고 있다.
도 5 및 도 6과 같이, 신체의 조건이 달라도 스켈레톤 데이터(400)의 노드(410)와 에지(420)의 개수는 대부분 동일하고 에지의 길이가 달라질 수 있지만 이에 한정되지는 않는다.
도 7은 노드 데이터를 설명하기 위한 도면이다.
도 7에 도시된 바와 같이, 본 발명은, 스켈레톤 데이터의 각 노드에 대한 상세 정보를 포함하는 노드 데이터(450)를 생성할 수 있다.
여기서, 각 스켈레톤 노드에 대한 노드 데이터(450)는, 각 노드에 대한 식별 정보를 포함하는 식별 정보 필드(452), 자식 노드 개수 정보를 포함하는 자식 노드 개수 필드(454), 부모 노드와의 각도 정보를 포함하는 각도 정보 필드(456), 부모 노드와의 거리 정보를 포함하는 거리 정보 필드(458), 그리고 가중치 정보를 포함하는 가중치 필드(459)를 포함하는 데이터 필드 구성을 가질 수 있는데, 반드시 이에 한정되지는 않는다.
일 예로, 자식 노드 개수 정보는, 각 노드에 에지로 연결되는 자식 노드를 카운트하여 생성할 수 있고, 부모 노드와의 각도 정보는, 각 노드와 부모 노드와의 오일러 각도(Euler angle)를 산출하여 생성할 수 있다.
또한, 부모 노드와의 거리 정보는, 각 노드와 부모 노드를 연결하는 에지 길이를 산출하여 생성할 수 있고, 가중치 정보는, 각 노드의 동작 중요도를 토대로 가중치를 산출하여 생성할 수 있다.
특히, 노드 데이터(450)로부터 추출되는 부모 노드와의 각도 정보는, 해당 노드와 부모 노드와의 오일러 각도(Euler angle)일 수 있다.
즉, 노드 데이터(450)로부터 추출되는 부모 노드와의 각도 정보는, 해당 노드와 부모 노드와의 오일러 각도(Euler angle)에서, 요(yaw) 방향에 대한 제1 각도, 롤(roll) 방향에 대한 제2 각도, 피치(pitch)에 대한 제3 각도 중 적어도 어느 하나일 수 있다.
도 8 내지 도 10은 신체 동작 유사도 판단 과정을 설명하기 위한 도면이다.
도 8에 도시된 바와 같이, 본 발명은, 스켈레톤 데이터로부터 각 스켈레톤 노드에 대한 노드 데이터를 시간별로 저장하고, 노드 데이터로부터 부모 노드와의 각도 정보를 추출하며, 추출한 각도 정보를 토대로 시간에 따른 사용자의 신체 동작에 상응하는 각도값을 산출할 수 있다.
여기서, 각도값은, 노드 데이터로부터 추출되는 부모 노드와의 각도 정보로서, 해당 노드와 부모 노드와의 오일러 각도(Euler angle)일 수 있다.
즉, 각도값은, 요(yaw) 방향에 대한 각도, 롤(roll) 방향에 대한 각도, 피치(pitch)에 대한 각도 중 적어도 어느 하나일 수 있다.
다음, 본 발명은, 사용자의 신체 동작에 상응하는 스켈레톤 데이터의 노드별로 시간에 따른 각도값이 산출되면 산출된 각도값을 각 스켈레톤 노드별로 저장하고, 사용자의 신체 동작 중 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정하며, 저장된 각도값으로부터 선정된 노드 및 시간대의 제1 각도값(510)을 추출할 수 있다.
이어, 도 9에 도시된 바와 같이, 본 발명은, 미리 저장된 비교 대상 동작에 상응하는 스켈레톤 데이터의 노드별 각도값들 중 제1 각도값(510)과 동일한 노드 및 시간대의 제2 각도값(520)들을 추출할 수 있다.
그리고, 도 10에 도시된 바와 같이, 본 발명은, 사용자 신체 동작의 제1 각도값(510)들과 비교 대상 동작의 제2 각도값(520)들을 비교하여 동일 노드 및 동일 시간대에 상응하는 동작 유사도를 판단할 수 있다.
즉, 본 발명은, 소정 시간대의 제1 각도값(510)과 제2 각도값(520)을 추출하면 소정 시간대를 다수의 비교 영역(530)으로 분할하여 제1 각도값(510)과 제2 각도값(520)을 비교할 수 있다.
도 10과 같이, 본 발명은, 제1 비교 영역에서, 사용자 신체 동작의 제1 각도값(510)과 비교 대상 동작의 제2 각도값(520)이 거의 유사하므로, 두 동작에 대한 동작 유사도가 높다고 판단할 수 있다.
또한, 본 발명은, 제2 비교 영역에서, 사용자 신체 동작의 제1 각도값(510)과 비교 대상 동작의 제2 각도값(520)이 각도 차이가 있지만 각도 편차가 크지 않으므로, 두 동작에 대한 동작 유사도가 중간이고 약간의 시차가 존재한다고 판단할 수 있다.
또한, 본 발명은, 제3 비교 영역에서, 사용자 신체 동작의 제1 각도값(510)과 비교 대상 동작의 제2 각도값(520)에 대한 각도 편차가 크므로, 두 동작에 대한 동작 유사도가 낮다고 판단할 수 있다.
즉, 본 발명은, 사용자 신체 동작의 제1 각도값(510)과 비교 대상 동작의 제2 각도값(520)의 각도 편차가 제1 기준 편차 범위 이내이면 두 동작에 대한 동작 유사도가 높다고 판단할 수 있다.
그리고, 본 발명은, 사용자 신체 동작의 제1 각도값(510)과 비교 대상 동작의 제2 각도값(520)의 각도 편차가 제1 기준 편차보다 더 큰 제2 기준 편차 범위 이내이면 두 동작에 대한 동작 유사도가 중간이라고 판단할 수 있다.
또한, 본 발명은, 사용자 신체 동작의 제1 각도값(510)과 비교 대상 동작의 제2 각도값(520)의 각도 편차가 제1, 제2 기준 편차 범위를 벗어나면 두 동작에 대한 동작 유사도가 낮다고 판단할 수 있다.
한편, 본 발명은, 두 동작에 대해 각 노드별로 요(yaw) 방향에 대한 각도, 롤(roll) 방향에 대한 각도, 피치(pitch)에 대한 각도를 각각 비교 분석하여 서로 다른 회전 동작별로 동작 유사도를 판단할 수도 있다.
경우에 따라, 본 발명은, 두 동작에 대해 부분적으로 동작 유사도를 판단할 수도 있다.
즉, 본 발명은, 특정 노드에 대한 각도값만을 비교 분석하여 동작 유사도를 신체 전체가 아닌 부분적으로 판단할 수도 있다.
일 예로, 팔 동작만 동작 유사도를 판단하고자 하는 경우, 팔에 대한 특정 노드들에 대한 각도값을 추출하여 동작 유사도를 부분적으로 판단할 수도 있다.
다른 경우로서, 본 발명은, 두 동작에 대해 가중치별로 동작 유사도를 판단할 수도 있다.
즉, 본 발명은, 동작 유사도를 판단할 때, 가중치가 높은 노드에 대한 각도값을 비교 분석하여 해당 노드에 대한 동작 유사도를 판단 및 강조할 수 있다.
일 예로, 팔 동작이 중요할 경우, 팔에 대한 특정 노드들에 대한 각도값을 추출하여 팔에 대한 동작 유사도를 판단 및 강조할 수 있다.
또한, 각 노드에 대한 요(yaw) 방향에 대한 각도, 롤(roll) 방향에 대한 각도, 피치(pitch)에 대한 각도별로 따로 가중치를 부여하여 더 중요한 회전 방향에 대한 동작 유사도를 더 강조할 수도 있다.
그리고, 본 발명은, 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 때, 미리 설정된 디폴트값에 따라 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 수 있다.
다른 일 예로, 본 발명은, 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 때, 사용자 명령에 따라 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 수 있다.
또 다른 일 예로, 본 발명은, 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 때, 노드의 가중치를 토대로 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 수 있다.
여기서, 노드의 가중치는, 동작 중요도가 높을수록 더 큰값을 가질 수 있다.
예를 들면, 노드의 가중치는, 요(yaw) 방향에 대한 제1 각도의 가중치, 롤(roll) 방향에 대한 제2 각도의 가중치, 피치(pitch)에 대한 제3 각도의 가중치 중 적어도 어느 하나일 수 있다.
이와 같이, 본 발명은, 동일 노드 및 동일 시간대에 상응하는 사용자 신체 동작의 제1 각도값들과 비교 대상 동작의 제2 각도값들을 비교하고, 제1 각도값과 제2 각도값에 대한 비교 편차가 기준 편차보다 더 작은지를 확인하며, 비교 편차가 기준 편차보다 더 작으면 동작 유사도가 높다고 판단하고, 비교 편차가 기준 편차 이상이면 동작 유사도가 낮다고 판단할 수 있다.
도 11은 신체 동작 유사도 측정 장치를 활용한 예를 설명하기 위한 도면이다.
본 발명은, 스켈레톤 데이터로부터 각 스켈레톤 노드(node)별로 시간에 따른 각도값을 산출하여 사용자의 신체 동작과 비교 대상 동작과의 동작 유사도를 판단함으로써, 연산량을 최소화하여 속도 및 신뢰성을 향상시킬 수 있다.
따라서, 도 11에 도시된 바와 같이, 본 발명은, 증강 현실 서비스 등과 같이 다양한 분야의 서비스의 적용할 수 있다.
일 예로, 본 발명을 댄스 동작 따라하기 등과 같은 증강 현실 서비스에 적용할 경우, 이동 단말기의 화면(12) 위에 측정한 댄스 동작 유사도에 대한 피드백 정보(500)를 보여줄 수 있다.
즉, 본 발명은, 사용자 신체 동작(20)에 상응하는 스켈레톤 데이터(400-1)의 노드별로 시간에 따른 각도값이 산출되면 산출된 각도값을 각 스켈레톤 노드별로 저장하고, 사용자 신체 동작(20) 중 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정하며, 저장된 각도값으로부터 선정된 노드 및 시간대의 제1 각도값을 추출하고, 미리 저장된 비교 대상 동작(30)에 상응하는 스켈레톤 데이터(400-2)의 노드별 각도값들 중 제1 각도값과 동일한 노드 및 시간대의 제2 각도값들을 추출하며, 사용자 신체 동작(20)의 제1 각도값들과 비교 대상 동작(30)의 제2 각도값들을 비교하여 동일 노드 및 동일 시간대에 상응하는 동작 유사도를 판단하여 동작 유사도에 대한 피드백 정보(500)를 제공할 수 있다.
도 12 내지 도 15는 본 발명에 따른 신체 동작 유사도 측정 방법을 설명하기 위한 흐름도이다.
도 12에 도시된 바와 같이, 본 발명은, 사용자의 신체 동작에 상응하는 움직임을 감지할 수 있다(S10).
그리고, 본 발명은, 감지한 움직임 정보로부터 스켈레톤 데이터(skeleton data)를 생성할 수 있다(S20).
다음, 본 발명은, 스켈레톤 데이터로부터 각 스켈레톤 노드(node)별로 시간에 따른 각도값을 산출할 수 있다(S30).
이어, 본 발명은, 산출한 각도값을 토대로 사용자의 신체 동작과 비교 대상 동작과의 동작 유사도를 판단할 수 있다(S40).
또한, 본 발명은, 도 13에 도시된 바와 같이, 스켈레톤 데이터를 생성하는 단계(S20)를 다음과 같이 수행할 수 있다.
본 발명은, 감지한 움직임 정보로부터 신체의 각 관절 포인트에 노드를 할당할 수 있다(S22).
여기서, 본 발명은, 노드와 노드 사이를 에지(edge)로 연결할 수 있는데, 각 노드가 부모 노드(parent node) 및 자식 노드(child node) 중 적어도 어느 하나에 연결되도록 에지를 연결할 수 있다.
그리고, 본 발명은, 각 노드에 대한 식별자를 부여할 수 있다(S24).
이어, 본 발명은, 각 노드에 대한 상세 정보를 포함하는 노드 데이터를 생성할 수 있다(S26).
여기서, 본 발명은, 각 노드에 대한 식별 정보, 자식 노드 개수 정보, 부모 노드와의 각도 정보, 부모 노드와의 거리 정보, 그리고 가중치 정보를 포함하는 노드 데이터를 생성할 수 있다.
일 예로, 본 발명은, 각 노드에 에지로 연결되는 자식 노드를 카운트하여 상기 자식 노드 개수 정보를 생성할 수 있다.
다른 일 예로, 본 발명은, 각 노드와 부모 노드와의 오일러 각도(Euler angle)를 산출하여 상기 부모 노드와의 각도 정보를 생성할 수 있다.
또 다른 일 예로, 본 발명은, 각 노드와 부모 노드를 연결하는 에지 길이를 산출하여 부모 노드와의 거리 정보를 생성할 수 있다.
또 다른 일 예로, 본 발명은, 각 노드의 동작 중요도를 토대로 가중치를 산출하여 각 노드의 가중치 정보를 생성할 수 있다.
또한, 본 발명은, 도 14에 도시된 바와 같이, 각 스켈레톤 노드별로 시간에 따른 각도값을 산출하는 단계(S30)를 다음과 같이 수행할 수 있다.
본 발명은, 스켈레톤 데이터로부터 각 스켈레톤 노드에 대한 노드 데이터를 시간별로 저장할 수 있다(S32).
여기서, 본 발명은, 각 노드에 대한 식별 정보 필드, 자식 노드 개수 정보 필드, 부모 노드와의 각도 정보 필드, 부모 노드와의 거리 정보 필드, 그리고 가중치 정보 필드를 포함하는 데이터 필드 구성을 갖는 노드 데이터를 시간별로 저장할 수 있다.
일 예로, 노드 데이터로부터 추출되는 부모 노드와의 각도 정보는, 해당 노드와 부모 노드와의 오일러 각도(Euler angle)일 수 있다.
즉, 노드 데이터로부터 추출되는 부모 노드와의 각도 정보는, 해당 노드와 부모 노드와의 오일러 각도(Euler angle)에서, 요(yaw) 방향에 대한 제1 각도, 롤(roll) 방향에 대한 제2 각도, 피치(pitch)에 대한 제3 각도 중 적어도 어느 하나일 수 있다.
그리고, 본 발명은, 노드 데이터로부터 부모 노드와의 각도 정보를 추출할 수 있다(S34).
이어, 본 발명은, 추출한 각도 정보를 토대로 시간에 따른 각도값을 산출할 수 있다(S36).
또한, 본 발명은, 도 15에 도시된 바와 같이, 비교 대상 동작과의 동작 유사도를 판단하는 단계(S40)를 다음과 같이 수행할 수 있다.
본 발명은, 각 스켈레톤 노드별로 시간에 따른 각도값이 산출되면 산출된 각도값을 각 스켈레톤 노드별로 저장할 수 있다.
이어, 본 발명은, 사용자의 신체 동작 중 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 수 있다(S42).
여기서, 본 발명은, 미리 설정된 디폴트값에 따라 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 수 있다.
경우에 따라, 본 발명은, 사용자 명령에 따라 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 수도 있다.
다른 경우로서, 본 발명은, 노드의 가중치를 토대로 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 수 있다.
여기서, 노드의 가중치는, 동작 중요도가 높을수록 더 큰값을 가질 수 있다.
일 예로, 노드의 가중치는, 요(yaw) 방향에 대한 제1 각도의 가중치, 롤(roll) 방향에 대한 제2 각도의 가중치, 피치(pitch)에 대한 제3 각도의 가중치 중 적어도 어느 하나일 수 있다.
그리고, 본 발명은, 저장된 각도값으로부터 선정된 노드 및 시간대의 제1 각도값을 추출할 수 있다(S44).
다음, 본 발명은, 미리 저장된 상기 비교 대상 동작에 상응하는 스켈레톤 데이터의 노드별 각도값들 중 제1 각도값과 동일한 노드 및 시간대의 제2 각도값들을 추출할 수 있다(S46).
이어, 본 발명은, 사용자의 신체 동작의 제1 각도값들과 비교 대상 동작의 제2 각도값들을 비교하여 동일 노드 및 동일 시간대에 상응하는 동작 유사도를 판단할 수 있다(S48).
여기서, 본 발명은, 동일 노드 및 동일 시간대에 상응하는 사용자의 신체 동작의 제1 각도값들과 비교 대상 동작의 제2 각도값들을 비교하는 단계와, 제1 각도값과 제2 각도값에 대한 비교 편차가 기준 편차보다 더 작은지를 확인하는 단계와, 비교 편차가 기준 편차보다 더 작으면 동작 유사도가 높다고 판단하는 단계를 포함할 수 있다.
이때, 본 발명은, 제1 각도값과 제2 각도값에 대한 비교 편차가 기준 편차보다 더 작은지를 확인할 때, 비교 편차가 기준 편차 이상이면 동작 유사도가 낮다고 판단할 수 있다.
이와 같이, 본 발명은, 스켈레톤 데이터로부터 각 스켈레톤 노드(node)별로 시간에 따른 각도값을 산출하여 사용자의 신체 동작과 비교 대상 동작과의 동작 유사도를 판단함으로써, 연산량을 최소화하여 속도 및 신뢰성을 향상시킬 수 있다.
또한, 본 발명은, 증강 현실 서비스 등과 같이 다양한 분야의 서비스의 적용할 수 있다.
여기에 설명되는 다양한 실시 예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays, 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 그러한 실시 예들이 제어부(140)에 의해 구현될 수 있다.
소프트웨어적인 구현에 의하면, 절차나 기능과 같은 실시예들은 적어도 하나의 기능 또는 작동을 수행하게 하는 별개의 소프트웨어 모듈과 함께 구현될 수 있다. 소프트웨어 코드는 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션에 의해 구현될 수 있다. 또한, 소프트웨어 코드는 메모리에 저장되고, 제어부(140)에 의해 로딩되어 실행될 수 있다.
상기한 실시 예에서 정보 노출 방지 영상 제공 장치는, 하나 또는 복수의 응용 주문형 직접회로(ASIC), 디지털신호 프로세서(DSP), 디지털신호 처리기기(DSPD), 프로그램 가능 논리 소자(PLD), 필드 프로그램 가능 게이트 어레이(FPGA), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 또는 기타 전자 부품에 의해 실현될 수 있다.
상술한 실시예에 따른 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등의 형태로 구현되는 것도 포함된다.
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상술한 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다.
따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
100: 동작 인식부
200: 스켈레톤 데이터 생성부
210: 노드 할당부
220: 식별자 부여부
230: 노드 데이터 생성부
300: 동작 유사도 판단부
310: 각도값 산출부
320: 저장부
330: 판단부

Claims (40)

  1. 사용자의 신체 동작에 상응하는 움직임을 감지하는 동작 인식부;
    상기 감지한 움직임 정보로부터 스켈레톤 데이터(skeleton data)를 생성하는 스켈레톤 데이터 생성부; 그리고,
    상기 스켈레톤 데이터로부터 각 스켈레톤 노드(node)별로 시간에 따른 각도값을 산출하고, 상기 산출한 각도값을 토대로 상기 사용자의 신체 동작과 비교 대상 동작과의 동작 유사도를 판단하는 동작 유사도 판단부를 포함하며,
    상기 동작 유사도 판단부는,
    상기 각 스켈레톤 노드별로 시간에 따른 각도값을 산출할 때, 상기 스켈레톤 데이터로부터 상기 각 스켈레톤 노드에 대한 노드 데이터를 시간별로 저장하고, 상기 노드 데이터로부터 부모 노드와의 각도 정보를 추출하며, 상기 추출한 각도 정보를 토대로 시간에 따른 각도값을 산출하고,
    상기 노드 데이터로부터 추출되는 부모 노드와의 각도 정보는,
    해당 노드와 부모 노드와의 오일러 각도(Euler angle)에서, 요(yaw) 방향에 대한 제1 각도, 롤(roll) 방향에 대한 제2 각도, 피치(pitch)에 대한 제3 각도 중 적어도 어느 하나인 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  2. 제1 항에 있어서, 상기 동작 인식부는,
    깊이 카메라, 적외선 카메라, 키넥트(kinect) 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  3. 제1 항에 있어서, 상기 스켈레톤 데이터 생성부는,
    상기 스켈레톤 데이터를 생성할 때, 상기 감지한 움직임 정보로부터 신체의 각 관절 포인트에 노드를 할당하고, 상기 각 노드에 대한 식별자를 부여하며, 상기 각 노드에 대한 상세 정보를 포함하는 노드 데이터를 생성하는 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  4. 제3 항에 있어서, 상기 스켈레톤 데이터 생성부는,
    상기 신체의 각 관절 포인트에 노드를 할당할 때, 상기 노드와 노드 사이를 에지(edge)로 연결하는 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  5. 제4 항에 있어서, 상기 스켈레톤 데이터 생성부는,
    상기 노드와 노드 사이를 에지(edge)로 연결할 때, 각 노드가 부모 노드(parent node) 및 자식 노드(child node) 중 적어도 어느 하나에 연결되도록 상기 에지를 연결하는 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  6. 제3 항에 있어서, 상기 스켈레톤 데이터 생성부는,
    상기 노드 데이터를 생성할 때, 각 노드에 대한 식별 정보, 자식 노드 개수 정보, 부모 노드와의 각도 정보, 부모 노드와의 거리 정보, 그리고 가중치 정보를 포함하는 노드 데이터를 생성하는 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  7. 제6 항에 있어서, 상기 스켈레톤 데이터 생성부는,
    상기 노드 데이터를 생성할 때, 각 노드에 에지로 연결되는 자식 노드를 카운트하여 상기 자식 노드 개수 정보를 생성하는 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  8. 제6 항에 있어서, 상기 스켈레톤 데이터 생성부는,
    상기 노드 데이터를 생성할 때, 각 노드와 부모 노드와의 오일러 각도(Euler angle)를 산출하여 상기 부모 노드와의 각도 정보를 생성하는 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  9. 제6 항에 있어서, 상기 스켈레톤 데이터 생성부는,
    상기 노드 데이터를 생성할 때, 각 노드와 부모 노드를 연결하는 에지 길이를 산출하여 상기 부모 노드와의 거리 정보를 생성하는 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  10. 제6 항에 있어서, 상기 스켈레톤 데이터 생성부는,
    상기 노드 데이터를 생성할 때, 각 노드의 동작 중요도를 토대로 가중치를 산출하여 상기 각 노드의 가중치 정보를 생성하는 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  11. 제1 항에 있어서, 상기 스켈레톤 데이터 생성부는,
    상기 움직임 정보로부터 신체의 각 관절 포인트에 노드를 할당하는 노드 할당부;
    상기 각 노드에 대한 식별자를 부여하는 식별자 부여부; 그리고,
    상기 각 노드에 대한 상세 정보를 포함하는 노드 데이터를 생성하는 노드 데이터 생성부를 포함하는 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  12. 삭제
  13. 제1 항에 있어서, 상기 각 스켈레톤 노드에 대한 노드 데이터는,
    각 노드에 대한 식별 정보 필드, 자식 노드 개수 정보 필드, 부모 노드와의 각도 정보 필드, 부모 노드와의 거리 정보 필드, 그리고 가중치 정보 필드를 포함하는 데이터 필드 구성을 갖는 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  14. 제1 항에 있어서, 상기 노드 데이터로부터 추출되는 부모 노드와의 각도 정보는,
    해당 노드와 부모 노드와의 오일러 각도(Euler angle)인 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  15. 삭제
  16. 제1 항에 있어서, 상기 동작 유사도 판단부는,
    상기 비교 대상 동작과의 동작 유사도를 판단할 때, 상기 각 스켈레톤 노드별로 시간에 따른 각도값이 산출되면 상기 산출된 각도값을 상기 각 스켈레톤 노드별로 저장하고, 상기 사용자의 신체 동작 중 상기 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정하며, 상기 저장된 각도값으로부터 상기 선정된 노드 및 시간대의 제1 각도값을 추출하고, 미리 저장된 상기 비교 대상 동작에 상응하는 스켈레톤 데이터의 노드별 각도값들 중 상기 제1 각도값과 동일한 노드 및 시간대의 제2 각도값들을 추출하며, 상기 사용자의 신체 동작의 제1 각도값들과 상기 비교 대상 동작의 제2 각도값들을 비교하여 동일 노드 및 동일 시간대에 상응하는 동작 유사도를 판단하는 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  17. 제16 항에 있어서, 상기 동작 유사도 판단부는,
    상기 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 때, 미리 설정된 디폴트값에 따라 상기 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정하는 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  18. 제16 항에 있어서, 상기 동작 유사도 판단부는,
    상기 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정할 때, 사용자 명령에 따라 상기 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정하는 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  19. 제16 항에 있어서, 상기 동작 유사도 판단부는,
    상기 동일 노드 및 동일 시간대에 상응하는 동작 유사도를 판단할 때, 상기 동일 노드 및 동일 시간대에 상응하는 상기 사용자의 신체 동작의 제1 각도값들과 상기 비교 대상 동작의 제2 각도값들을 비교하고, 상기 제1 각도값과 제2 각도값에 대한 비교 편차가 기준 편차보다 더 작은지를 확인하며, 상기 비교 편차가 기준 편차보다 더 작으면 상기 동작 유사도가 높다고 판단하는 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  20. 제19 항에 있어서, 상기 동작 유사도 판단부는,
    상기 제1 각도값과 제2 각도값에 대한 비교 편차가 기준 편차보다 더 작은지를 확인할 때, 상기 비교 편차가 기준 편차 이상이면 상기 동작 유사도가 낮다고 판단하는 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  21. 제1 항에 있어서, 상기 동작 유사도 판단부는,
    상기 각 스켈레톤 노드별로 시간에 따른 각도값을 산출하는 각도값 산출부;
    상기 산출된 각도값을 상기 각 스켈레톤 노드별로 저장하는 저장부; 그리고,
    상기 사용자의 신체 동작 중 상기 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정하며, 상기 저장된 각도값으로부터 상기 선정된 노드 및 시간대의 제1 각도값을 추출하고, 상기 저장부에 미리 저장된 상기 비교 대상 동작에 상응하는 스켈레톤 데이터의 노드별 각도값들 중 상기 제1 각도값과 동일한 노드 및 시간대의 제2 각도값들을 추출하며, 상기 사용자의 신체 동작의 제1 각도값들과 상기 비교 대상 동작의 제2 각도값들을 비교하여 동일 노드 및 동일 시간대에 상응하는 동작 유사도를 판단하는 판단부를 포함하는 것을 특징으로 하는 신체 동작 유사도 측정 장치.
  22. 동작 인식부, 스켈레톤 데이터 생성부 및 동작 유사도 판단부를 포함하는 신체 동작 유사도 측정 장치의 신체 동작 유사도 측정 방법에 있어서,
    상기 동작 인식부가, 사용자의 신체 동작에 상응하는 움직임을 감지하는 단계;
    상기 스켈레톤 데이터 생성부가, 상기 감지한 움직임 정보로부터 스켈레톤 데이터(skeleton data)를 생성하는 단계;
    상기 동작 유사도 판단부가, 상기 스켈레톤 데이터로부터 각 스켈레톤 노드(node)별로 시간에 따른 각도값을 산출하는 단계; 그리고,
    상기 동작 유사도 판단부가, 상기 산출한 각도값을 토대로 상기 사용자의 신체 동작과 비교 대상 동작과의 동작 유사도를 판단하는 단계를 포함하며,
    상기 각 스켈레톤 노드별로 시간에 따른 각도값을 산출하는 단계는,
    상기 스켈레톤 데이터로부터 상기 각 스켈레톤 노드에 대한 노드 데이터를 시간별로 저장하는 단계;
    상기 노드 데이터로부터 부모 노드와의 각도 정보를 추출하는 단계; 그리고,
    상기 추출한 각도 정보를 토대로 시간에 따른 각도값을 산출하는 단계를 포함하고,
    상기 각 스켈레톤 노드에 대한 노드 데이터를 시간별로 저장하는 단계는,
    각 노드에 대한 식별정보 필드, 자식 노드 개수 정보 필드, 부모 노드와의 각도 정보 필드, 부모 노드와의 거리 정보 필드, 그리고 가중치 정보 필드를 포함하는 데이터 필드 구성을 갖는 노드 데이터를 시간별로 저장하며,
    상기 노드 데이터로부터 추출되는 부모 노드와의 각도 정보는,
    해당 노드와 부모 노드와의 오일러 각도(Euler angle)에서, 요(yaw) 방향에 대한 제1 각도, 롤(roll) 방향에 대한 제2 각도, 피치(pitch)에 대한 제3 각도 중 적어도 어느 하나인 것을 특징으로 하는 신체 동작 유사도 측정 방법.
  23. 제22 항에 있어서, 상기 스켈레톤 데이터를 생성하는 단계는,
    상기 감지한 움직임 정보로부터 신체의 각 관절 포인트에 노드를 할당하는 단계;
    상기 각 노드에 대한 식별자를 부여하는 단계; 그리고,
    상기 각 노드에 대한 상세 정보를 포함하는 노드 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 신체 동작 유사도 측정 방법.
  24. 제23 항에 있어서, 상기 신체의 각 관절 포인트에 노드를 할당하는 단계는,
    상기 노드와 노드 사이를 에지(edge)로 연결하는 것을 특징으로 하는 신체 동작 유사도 측정 방법.
  25. 제24 항에 있어서, 상기 노드와 노드 사이를 에지(edge)로 연결하는 단계는,
    각 노드가 부모 노드(parent node) 및 자식 노드(child node) 중 적어도 어느 하나에 연결되도록 상기 에지를 연결하는 것을 특징으로 하는 신체 동작 유사도 측정 방법.
  26. 제23 항에 있어서, 상기 노드 데이터를 생성하는 단계는,
    각 노드에 대한 식별 정보, 자식 노드 개수 정보, 부모 노드와의 각도 정보, 부모 노드와의 거리 정보, 그리고 가중치 정보를 포함하는 노드 데이터를 생성하는 것을 특징으로 하는 신체 동작 유사도 측정 방법.
  27. 제26 항에 있어서, 상기 노드 데이터를 생성하는 단계는,
    각 노드에 에지로 연결되는 자식 노드를 카운트하여 상기 자식 노드 개수 정보를 생성하는 것을 특징으로 하는 신체 동작 유사도 측정 방법.
  28. 제26 항에 있어서, 상기 노드 데이터를 생성하는 단계는,
    각 노드와 부모 노드와의 오일러 각도(Euler angle)를 산출하여 상기 부모 노드와의 각도 정보를 생성하는 것을 특징으로 하는 신체 동작 유사도 측정 방법.
  29. 제26 항에 있어서, 상기 노드 데이터를 생성하는 단계는,
    각 노드와 부모 노드를 연결하는 에지 길이를 산출하여 상기 부모 노드와의 거리 정보를 생성하는 것을 특징으로 하는 신체 동작 유사도 측정 방법.
  30. 제26 항에 있어서, 상기 노드 데이터를 생성하는 단계는,
    각 노드의 동작 중요도를 토대로 가중치를 산출하여 상기 각 노드의 가중치 정보를 생성하는 것을 특징으로 하는 신체 동작 유사도 측정 방법.
  31. 삭제
  32. 삭제
  33. 제22 항에 있어서, 상기 노드 데이터로부터 추출되는 부모 노드와의 각도 정보는,
    해당 노드와 부모 노드와의 오일러 각도(Euler angle)인 것을 특징으로 하는 신체 동작 유사도 측정 방법.
  34. 삭제
  35. 제22 항에 있어서, 상기 비교 대상 동작과의 동작 유사도를 판단하는 단계는,
    상기 각 스켈레톤 노드별로 시간에 따른 각도값이 산출되면 상기 산출된 각도값을 상기 각 스켈레톤 노드별로 저장하는 단계;
    상기 사용자의 신체 동작 중 상기 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정하는 단계;
    상기 저장된 각도값으로부터 상기 선정된 노드 및 시간대의 제1 각도값을 추출하는 단계;
    미리 저장된 상기 비교 대상 동작에 상응하는 스켈레톤 데이터의 노드별 각도값들 중 상기 제1 각도값과 동일한 노드 및 시간대의 제2 각도값들을 추출하는 단계; 그리고,
    상기 사용자의 신체 동작의 제1 각도값들과 상기 비교 대상 동작의 제2 각도값들을 비교하여 동일 노드 및 동일 시간대에 상응하는 동작 유사도를 판단하는 단계를 포함하는 것을 특징으로 하는 신체 동작 유사도 측정 방법.
  36. 제35 항에 있어서, 상기 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정하는 단계는,
    미리 설정된 디폴트값에 따라 상기 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정하는 것을 특징으로 하는 신체 동작 유사도 측정 방법.
  37. 제35 항에 있어서, 상기 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정하는 단계는,
    사용자 명령에 따라 상기 동작 유사도를 판단하고자 하는 노드 및 시간대를 선정하는 것을 특징으로 하는 신체 동작 유사도 측정 방법.
  38. 제35 항에 있어서, 상기 동일 노드 및 동일 시간대에 상응하는 동작 유사도를 판단하는 단계는,
    상기 동일 노드 및 동일 시간대에 상응하는 상기 사용자의 신체 동작의 제1 각도값들과 상기 비교 대상 동작의 제2 각도값들을 비교하는 단계;
    상기 제1 각도값과 제2 각도값에 대한 비교 편차가 기준 편차보다 더 작은지를 확인하는 단계; 그리고,
    상기 비교 편차가 기준 편차보다 더 작으면 상기 동작 유사도가 높다고 판단하는 단계를 포함하는 것을 특징으로 하는 신체 동작 유사도 측정 방법.
  39. 제38 항에 있어서, 상기 제1 각도값과 제2 각도값에 대한 비교 편차가 기준 편차보다 더 작은지를 확인하는 단계는,
    상기 비교 편차가 기준 편차 이상이면 상기 동작 유사도가 낮다고 판단하는 것을 특징으로 하는 신체 동작 유사도 측정 방법.
  40. 제22항 내지 제30항, 제33항, 제35항 내지 제39항 중 어느 한 항에 기재된 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020190096757A 2019-08-08 2019-08-08 신체 동작 유사도 측정 장치 및 방법 KR102292415B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190096757A KR102292415B1 (ko) 2019-08-08 2019-08-08 신체 동작 유사도 측정 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190096757A KR102292415B1 (ko) 2019-08-08 2019-08-08 신체 동작 유사도 측정 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210017462A KR20210017462A (ko) 2021-02-17
KR102292415B1 true KR102292415B1 (ko) 2021-08-24

Family

ID=74732121

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190096757A KR102292415B1 (ko) 2019-08-08 2019-08-08 신체 동작 유사도 측정 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102292415B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023096235A1 (ko) * 2021-11-23 2023-06-01 (주) 로완 스켈레톤 모델을 활용한 건강상태 평가 방법 및 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102606961B1 (ko) * 2021-11-24 2023-11-30 에이치로보틱스 주식회사 재활운동로봇의 자세 모니터링 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6431259B2 (ja) 2013-11-19 2018-11-28 日本コントロールシステム株式会社 カラオケ装置、ダンス採点方法、およびプログラム
KR101970687B1 (ko) * 2018-04-11 2019-04-19 주식회사 큐랩 개인화 증강현실 기술을 이용한 피트니스 코칭 시스템

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8761437B2 (en) * 2011-02-18 2014-06-24 Microsoft Corporation Motion recognition
KR20150008345A (ko) * 2013-07-13 2015-01-22 (주)앤에스티 온라인 댄스 강의 시스템
KR102026382B1 (ko) * 2014-03-31 2019-09-30 한국전자통신연구원 모션 추정 시스템 및 방법
KR101886511B1 (ko) * 2015-09-30 2018-08-07 가부시키가이샤 리코 정보 처리 장치 및 시스템
KR20170086317A (ko) * 2016-01-18 2017-07-26 한국전자통신연구원 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치 및 방법
KR20170135003A (ko) * 2016-05-30 2017-12-08 재단법인 아산사회복지재단 실시간 상지 관절 운동 추적 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6431259B2 (ja) 2013-11-19 2018-11-28 日本コントロールシステム株式会社 カラオケ装置、ダンス採点方法、およびプログラム
KR101970687B1 (ko) * 2018-04-11 2019-04-19 주식회사 큐랩 개인화 증강현실 기술을 이용한 피트니스 코칭 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023096235A1 (ko) * 2021-11-23 2023-06-01 (주) 로완 스켈레톤 모델을 활용한 건강상태 평가 방법 및 장치

Also Published As

Publication number Publication date
KR20210017462A (ko) 2021-02-17

Similar Documents

Publication Publication Date Title
Memo et al. Head-mounted gesture controlled interface for human-computer interaction
US11875012B2 (en) Throwable interface for augmented reality and virtual reality environments
US20210081036A1 (en) Interaction Engine for Creating a Realistic Experience in Virtual Reality/Augmented Reality Environments
JP2020052991A (ja) ジェスチャ認識に基づく対話型ディスプレイの方法及び装置
US8947353B2 (en) Photosensor array gesture detection
US9684372B2 (en) System and method for human computer interaction
US10181193B2 (en) Latency reduction in camera-projection systems
US20140184494A1 (en) User Centric Interface for Interaction with Visual Display that Recognizes User Intentions
US10325398B2 (en) Absolute age for a digital ink stroke
CN109255749B (zh) 自主和非自主平台中的地图构建优化
CN104471511A (zh) 无触摸用户接口
KR102292415B1 (ko) 신체 동작 유사도 측정 장치 및 방법
CN110659600B (zh) 物体检测方法、装置及设备
US20130301926A1 (en) Computer vision based tracking of a hand
US10528145B1 (en) Systems and methods involving gesture based user interaction, user interface and/or other features
JP6127564B2 (ja) タッチ判定装置、タッチ判定方法、およびタッチ判定プログラム
US20210142583A1 (en) 6-dof tracking using visual cues
US20240104744A1 (en) Real-time multi-view detection of objects in multi-camera environments
CN109445620A (zh) 一种交互笔自动识别方法
Santos et al. Hybrid approach using sensors, GPS and vision based tracking to improve the registration in mobile augmented reality applications
US20130249807A1 (en) Method and apparatus for three-dimensional image rotation on a touch screen
US11287526B2 (en) Locating spatialized sounds nodes for echolocation using unsupervised machine learning
CN108921129B (zh) 图像处理方法、系统、介质和电子设备
Yang et al. Audio–visual perception‐based multimodal HCI
CN110825280A (zh) 控制虚拟物体位置移动的方法、装置和计算机可读存储介质

Legal Events

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