KR20240079399A - 모션 추적 장치 및 방법 - Google Patents

모션 추적 장치 및 방법 Download PDF

Info

Publication number
KR20240079399A
KR20240079399A KR1020220162267A KR20220162267A KR20240079399A KR 20240079399 A KR20240079399 A KR 20240079399A KR 1020220162267 A KR1020220162267 A KR 1020220162267A KR 20220162267 A KR20220162267 A KR 20220162267A KR 20240079399 A KR20240079399 A KR 20240079399A
Authority
KR
South Korea
Prior art keywords
information
marker
joint
human body
angular velocity
Prior art date
Application number
KR1020220162267A
Other languages
English (en)
Inventor
강복구
이현기
Original Assignee
재단법인대구경북과학기술원
Filing date
Publication date
Application filed by 재단법인대구경북과학기술원 filed Critical 재단법인대구경북과학기술원
Publication of KR20240079399A publication Critical patent/KR20240079399A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or 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
    • 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/30196Human being; Person
    • 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/30204Marker

Abstract

본 발명은 모션 추적 장치를 제공하며, 인체의 미리 설정되는 영역에 부착되는 감지 마커를 촬영하여 마커 이미지를 생성하는 마커 추적부, 인체를 촬영하여 인체 이미지를 생성하는 촬영부 및 마커 추적부로부터 마커 이미지를 제공받아 마커 정보를 검출하고 촬영부로부터 인체 이미지를 제공받아 골격 정보를 검출하며, 마커 정보와 골격 정보를 이용하여 인체의 동작 정보를 도출하는 프로세서부를 포함할 수 있다.

Description

모션 추적 장치 및 방법{Motion tracking apparatus and method}
본 발명은 모션 추적 장치 및 방법에 관한 것이다.
일반적으로 관절 위치 추정 기술은 3D 컨텐츠 제작 분야에서 캐릭터의 자연스러운 동작을 생성하기 위해 사용되는 것은 물론 모션 캡쳐 기술로 찾아진 관절의 위치 값을 이용하여 다양한 운동 분석에 활용할 수 있다.
종래에는 관절 위치 측정을 위해 기계식 측정방법을 이용하고 있으나, 이러한 기계식 측정방법은 측각기나 경사계 등의 기계를 이용해서 관절의 위치를 직접 측정하는 점에서 사용이 불편하고 이로 인해 결과의 신뢰가 높지 않다.
또한, RGB영상을 이용하여 사람의 관절의 위치를 학습데이터로 하는 인공지능을 개발하려고 하나, 일반적인 RGB영상에는 사람의 관절부위가 표시되지 않기 때문에 수동으로 관절부위를 표시하는 수작업이 필요한 문제점이 있다.
종래에는, 관절의 위치 및 자세를 측정하기 위해 신체 부위에 마커를 부착한 후 다수의 마커 추적부를 통해 촬영함으로써 관절 데이터를 추출하는 방식이 있었다. 다만, 장비가 매우 고가이므로 다수의 마커를 부착하는 것이 현실적으로 쉽지 않다는 문제점이 있다.
본 발명은 센서 유닛이 영상 정보, 깊이 정보, 마커 정보를 획득하고 이를 프로세서부에 제공하고 프로세서부가 복수의 서로 다른 정보를 동일한 차원의 좌표계로 변환함으로써 사물의 위치 및 자세에 관한 정보를 정밀하게 도출할 수 있는 센서 융합 장치를 제공한다.
본 발명의 일 측면은, 인체의 미리 설정되는 영역에 부착되는 감지 마커를 촬영하여 마커 이미지를 생성하는 마커 추적부와 상기 인체를 촬영하여 인체 이미지를 생성하는 촬영부 및 상기 마커 추적부로부터 상기 마커 이미지를 제공받아 마커 정보를 검출하고 상기 촬영부로부터 상기 인체 이미지를 제공받아 골격 정보를 검출하며, 상기 마커 정보와 상기 골격 정보를 이용하여 상기 인체의 동작 정보를 도출하는 프로세서부를 포함하는 모션 추적 장치를 제공한다.
또한, 상기 프로세서부는 상기 골격 정보를 이용해서 상기 인체를 구성하는 관절 사이의 거리 정보를 포함하는 거리 백터 및 상기 거리 백터의 각속도 정보를 포함하는 각속도 백터를 산출하고 상기 거리 백터, 상기 각속도 백터 및 상기 마커 정보를 이용하여 상기 인체의 동작 정보를 도출할 수 있다.
또한, 상기 프로세서부는 상기 마커 정보를 이용하여 상기 감지 마커가 부착된 제1 관절의 위치 정보를 도출하고 상기 제1 관절의 위치 정보, 상기 거리 백터 및 상기 각속도 백터를 이용하여 감지 마커가 부착되지 않은 제2 관절의 위치 정보를 도출할 수 있다.
또한, 상기 센서 유닛은 상기 깊이 센서부, 상기 마커 추적부 및 상기 비젼 카메라부가 배치되는 하우징부를 더 포함할 수 있다.
또한, 상기 마커 추적부 및 상기 촬영부는 기 설정된 프레임레이트(frame rate)로 각각 상기 마커 이미지 및 상기 인체 이미지를 생성하고, 상기 프로세서부는, 현재 프레임(임의의 n번째 프레임)으로부터 도출된 상기 마커 정보를 이용하여 상기 제1 관절의 위치 정보를 도출하고, 상기 제1 관절의 위치 정보와, 이전 프레임(n-1번째 프레임)으로부터 도출된 상기 거리 백터 및 상기 각속도 백터를 이용하여 상기 제2 관절의 위치 정보를 도출할 수 있다.
또한, 상기 프로세서부는, 상기 마커 정보를 이용하여 상기 감지 마커가 부착된 제3 관절의 위치 정보를 도출하고, 상기 제3 관절의 위치 정보, 상기 거리 백터 및 상기 각속도 백터를 이용하여 상기 도출된 제2 관절의 위치와 비교하여 검증할 수 있다.
또한, 상기 프로세서부는, 상기 검증된 제2 관절의 위치 정보를 이용하여 현재 프레임(임의의 n번째 프레임)에서의 상기 거리 백터 및 상기 각속도 백터를 보정할 수 있다.
또한, 상기 프로세서부는 확장된 칼만 필터(Extended Kalman Filter;EKF)를 이용하여 상기 인체의 동작 정보를 도출할 수 있다.
본 발명의 다른 측면은, 마커 추적부로부터 인체의 미리 설정되는 영역에 부착되는 감지 마커의 마커 이미지를 제공받는 단계와 촬영부로부터 인체 이미지를 제공받는 단계와 상기 마커 이미지로부터 감지 마커의 위치 정보를 포함하는 마커 정보를 검출하는 단계와 상기 인체 이미지로부터 인체의 골격 정보를 검출하는 단계 및 상기 마커 정보, 상기 골격 정보을 상기 인체의 동작 정보를 도출하는 단계를 포함하는, 모션추적 방법을 제공한다.
또한, 상기 골격 정보를 이용해서 상기 인체를 구성하는 관절 사이의 거리 정보를 포함하는 거리 백터 및 상기 거리 백터의 각속도 정보를 포함하는 각속도 백터를 산출하는 단계 및 상기 거리 백터, 상기 각속도 백터 및 상기 마커 정보를 이용하여 상기 인체의 동작 정보를 도출하는 단계를 더 포함할 수 있다.
또한, 상기 마커 정보를 이용하여 상기 감지 마커가 부착된 제1 관절의 위치 정보를 도출하는 단계 및 상기 제1 관절의 위치 정보, 상기 거리 백터 및 상기 각속도 백터를 이용하여 감지 마커가 부착되지 않은 제2 관절의 위치 정보를 도출하는 단계를 더 포함할 수 있다.
또한, 상기 마커 추적부 및 상기 촬영부는 기 설정된 프레임레이트(frame rate)로 각각 상기 마커 이미지 및 상기 인체 이미지를 생성하며, 현재 프레임(임의의 n번째 프레임)으로부터 도출된 상기 마커 정보를 이용하여 상기 제1 관절의 위치 정보를 도출하고 단계 및 상기 제1 관절의 위치 정보와, 이전 프레임(n-1번째 프레임)으로부터 도출된 상기 거리 백터 및 상기 각속도 백터를 이용하여 상기 제2 관절의 위치 정보를 도출하는 단계를 포함할 수 있다.
또한, 상기 마커 정보를 이용하여 상기 감지 마커가 부착된 제3 관절의 위치 정보를 도출하는 단계 및 상기 제3 관절의 위치 정보, 상기 거리 백터 및 상기 각속도 백터를 이용하여 상기 도출된 제2 관절의 위치와 비교하여 검증하는 단계를 더 포함할 수 있다.
또한, 상기 검증된 제2 관절의 위치 정보를 이용하여 현재 프레임(임의의 n번째 프레임)에서의 상기 거리 백터 및 상기 각속도 백터를 보정하는 단계를 더 포함할 수 있다.
또한, 상기 인체의 동작 정보를 도출하는 단계는, 확장된 칼만 필터(Extended Kalman Filter;EKF)를 이용하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 모션 추적 장치는 마커 추적부를 통해 획득되는 마커 정보와 촬영부를 통해 획득되는 골격 정보를 융합하여 감지 마커가 부착되지 않은 관절을 포함한 신체 부위의 위치와 자세를 정밀하게 추적할 수 있다.
도 1은 본 발명의 일 실시예에 따른 모션 추적 장치의 예시 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 마커 추적부의 동작을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 촬영부의 동작을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 프로세서부가 거리 백터 및 각속도 백터를 산출하는 과정을 설명하기 위한 도면이다.
도 5 및 도 6은 본 발명의 일 실시예에 따른 프로세서부가 관절의 위치를 검출하는 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 프로세서부가 검출된 관절의 위치를 검증하는 과정을 설명하기 위한 도면이다.
도 8 내지 도 11은 본 발명의 일 실시예에 따른 인체의 동작 정보를 도출하기 위한 과정을 일련의 순서대로 도시한 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.
어떤 실시예가 달리 구현 가능한 경우에 특정한 공정 순서는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 공정이 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 진행될 수 있다.
도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 이하의 실시예는 반드시 도시된 바에 한정되지 않는다.
도 1은 본 발명의 일 실시예에 따른 모션 추적 장치의 예시 구성을 도시한 도면이고, 도 2는 본 발명의 일 실시예에 따른 마커 추적부의 동작을 설명하기 위한 흐름도이며, 도 3은 본 발명의 일 실시예에 따른 촬영부의 동작을 설명하기 위한 흐름도이다. 도 4는 본 발명의 일 실시예에 따른 프로세서부가 거리 백터 및 각속도 백터를 산출하는 과정을 설명하기 위한 도면이고, 도 5 및 도 6은 본 발명의 일 실시예에 따른 프로세서부가 관절의 위치를 검출하는 과정을 설명하기 위한 도면이다. 도 7은 본 발명의 일 실시예에 따른 프로세서부가 검출된 관절의 위치를 검증하는 과정을 설명하기 위한 도면이며, 도 8 내지 도 11은 본 발명의 일 실시예에 따른 인체의 동작 정보를 도출하기 위한 과정을 일련의 순서대로 도시한 도면이다.
본 발명의 일 실시예에 따른 모션 추적 장치(1)는 측정 대상이 되는 인체를 촬영하여 인체의 자세 또는 관절의 위치를 추적하는 장치이다. 구체적으로, 모션 추적 장치(1)는 인체의 미리 설정되는 영역에 국소적으로 감지 마커(M)를 부착하며, 감지 마커(M)로부터 획득되는 정보를 이용하여 감지 마커(M)가 부착되는 않은 인체의 동작 정보를 추적하는 장치이다.
구체적으로, 본 발명의 일 실시예에 따른 모션 추적 장치(1)는 오픈 포즈 알고리즘으로 예측한 관절의 위치 값과 감지 마커(M)의 위치를 계산한 값을 확장 칼만 필터를 이용하여 감지 마커(M)가 부착되지 않은 관절의 위치 값의 추정 확률도를 높이는 장치이다.
일 실시예로, 인체의 미리 설정되는 영역에는 감지 마커(M)가 부착될 수 있으며, 일 실시예로, 감지 마커(M)는 양 손목 부위에 부착될 수 있다.
본 발명의 일 실시예에 따른 감지 마커(M)는 자체적으로 광을 방출하는 액티브(active)마커일 수 있으며, 감지 마커(M)들을 액티브 마커로 사용할 경우 로봇은 별도의 광원을 사용할 필요가 없다. 이와 다르게, 감지 마커(M)는 적어도 하나 이상의 광원으로부터 방출되는 광을 반사시키는 패시브(passive)마커일 수 있다. 이 경우, 감지 마커(M)는 모션 추적 장치(1)에 포함될 수 있는 광원으로부터 방출되는 광을 반사시킬 수 있다. 일 실시예로, 모션 추적 장치(1)가 인체의 동작 정보를 추적하는 목적 및, 모션 추적이 이루어지는 환경에 따라 감지 마커(M)는 액티브 마커와 패시브 마커의 혼용으로 사용될 수 있다.
다른 실시예에 따른 감지 마커(M)는 자기식 모션 캡쳐의 대상이 되는 센서로 이루어질 수 있다. 이 경우 모션 캡쳐가 이루어지는 공간에 별물로 형성되는 자기장 발생장치가 구비될 수 있고, 감지 마커(M)의 움직임에 따른 자기장 변화량을 계산하여 감지 마커(M)의 위치를 계산할 수 있다.
또 다른 실시예에 따른 감지 마커(M)는 관성식 모션 캡쳐의 대상이 되는 관성 센서로 이루어질 수 있다. 이 경우 모션 추적 장치(1)는 감지 마커(M)의 움직임에 따른 각속도 물리량을 측정하여 감지 마커(M)의 위치를 계산할 수 있다.
감지 마커(M)는 2차원 마커는 물론 3차원 마커가 사용될 수 있고 구체적으로 감지 마커(M)가 광을 방출 또는 반사하는 면이 2차원 또는 3차원으로 형성될 수 있다.
모션 추적의 목적이 되는 인체에는 복수 개의 감지 마커(M)가 부착될 수 있다. 복수 개의 감지 마커(M) 각각에는 서로 다른 패턴이 형성될 수 있으며, 상기 패턴의 형상에 대응되도록 마커는 광을 방출 또는 반사할 수 있다.
복수 개의 감지 마커(M)에 형성되는 패턴 정보는 뒤에 설명할 프로세서부(300)에 저장될 수 있으며, 프로세서부(300)는 패턴 정보에 대응되는 마커 ID를 각각의 감지 마커(M)에 할당할 수 있다. 이로 인하여, 프로세서부(300)는 감지 마커(M)로부터 패턴의 형상에 대응되는 광을 입력 받고 이에 대응되는 마커 ID를 추출하여 복수 개의 감지 마커(M)를 식별할 수 있다.
감지 마커(M)는 고유의 좌표계를 형성할 수 있다. 일 실시예로, 감지 마커(M)는 감지 마커(M) 상 미리 설정되는 지점을 원점으로 하며 서로 직교하는 x축, y축, z축으로 이루어지는 가상의 3차원 그리드 좌표계를 형성할 수 있다. 이 경우, 뒤에 설명할 프로세서부(300)는 감지 마커(M)가 형성하는 3차원 그리드 좌표계의 x축, y축, z축과 마커 추적부(100)간 상대적인 기하학적 관계 정보를 이용하여 감지 마커(M)의 회전 각 및 각속도를 측정할 수 있다.
감지 마커(M)는 웨어러블 장치(wearable device)에 포함될 수 있으며, 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 모션 추적 장치(1)는 마커 추적부(100), 촬영부(200) 및 프로세서부(300)를 포함할 수 있다.
도 2를 참조하면, 마커 추적부(100)는 인체의 미리 설정되는 영역에 부착되는 감지 마커(M)를 촬영하여 마커 이미지를 생성할 수 있다.
마커 추적부(100)는 감지 마커(M)들로부터 방출 또는 반사되는 광을 통과시키는 렌즈를 포함할 수 있고, 마커 추적부(100)에 의해 촬영되는 감지 마커(M)의 이미지가 상기 렌즈에 결상될 수 있으며, 결상되는 감지 마커(M)의 이미지로부터 마커 이미지를 생성할 수 있다.
다른 실시예로 마커 추적부(100)는 복수 개가 구비될 수 있으며, 복수 개의 마커 추적부(100) 각각은 감지 마커(M)와 미리 설정되는 각도 및 거리를 두고 배치될 수 있다. 이 경우, 복수 개의 마커 추적부(100)가 구비하는 각각의 렌즈에는 동일한 감지 마커(M)에 대한 서로 다른 마커 이미지가 생성될 수 있으며, 뒤에 설명할 프로세서부(300)는 상기 서로 다른 마커 이미지를 기반으로 특징점을 도출하여 마커 정보(MI)를 검출할 수 있다.
마커 추적부(100)는 미리 설정되는 프레임 레이트(frame rate)를 가지며 감지 마커(M)의 위치를 측정할 수 있다. 구체적으로, 마커 추적부(100)의 상기 프레임 속도에 대응되도록 초당 렌즈 결상되는 마커 이미지가 생성될 수 있다.
일 실시예로, 마커 추적부(100)의 미리 설정되는 프레임 속도가 N fps인 경우, 해당 마커 추적부(100)가 구비하는 렌즈에는 감지 마커(M)의 이미지가 초당 N 회 결상될 수 있으며 초당 N개의 마커 이미지가 생성되게 된다.
마커 추적부(100)는 생성한 마커 이미지를 프로세서부(300)를 송출할 수 있으며, 프로세서부(300)는 마커 이미지를 제공받아 감지 마커(M)의 위치 및 회전 각 등 기하학적 정보를 포함하는 마커 정보(MI)를 검출할 수 있다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 촬영부(200)는 인체를 촬영하여 인체 이미지를 생성할 수 있다.
촬영부(200)는 외부로부터 획득된 영상을 인체 이미지로 변환할 수 있는 다양한 장치로 이루어질 수 있다.
일 실시예로 촬영부(200)는 RGB카메라로 이루어질 수 있다. 이 경우, 촬영부(200)는 적색(Red), 녹색(Green), 청색(Blue) 영역대의 파장을 검출할 수 있으며, 각 영역대의 파장에 상응하는 디지털 코드(RGB)를 생성할 수 있다. 그러나 이에 한정되는 것은 아니며, 촬영부(200)는 다양한 영역대의 파장을 검출할 수 있고, 각 영역대의 파장에 상응하도록 미리 설정된 디지털 코드를 생성할 수 있다.
이에 더하여, 촬영부(200)는 전기적 신호를 증폭할 수 있으며, 증폭된 전기적 신호에 따른 영상 정보를 프로세서부(300)에 출력할 수 있다. 이로 인하여 낮은 조도의 외부 환경에서도 인체 이미지를 획득할 수 있다는 효과가 있다.
다른 실시예로, 촬영부(200)는 인체를 포함하는 환경에 관한 3차원 영상을 촬영하고, 그 촬영 이미지의 각 픽셀의 깊이 정보를 획득할 수 있는 어떤 장치든 사용 가능하다. 예를 들어 적외선(Infrared Radiation) 카메라, 스테레오(Stereo) 카메라 또는 TOF 카메라, 깊이 영상 키넥트(Kinect Depth) 카메라 등 촬영 영역에 포함되는 사물의 거리 값을 계산할 수 있는 장치로 이루어질 수 있다.
예를 들어, 촬영부(200)가 적외선 카메라로 이루어지는 경우 촬영부(200)는 적외선을 투사할 수 있으며, 투사되는 적외선과 수광되는 적외선의 위상 값 차이로 목적하는 인체에 관한 인체 이미지를 생성할 수 있다. 촬영부(200)가 적외선을 투사하는 주기는 연속적일 수 있음을 물론 비연속적일 수 있으며, 촬영부(200)가 적외선을 투사하는 주기는 미리 설정될 수 있다.
촬영부(200)가 스테레오 카메라로 이루어지는 경우, 촬영부(200)는 복수 개의 스테레오 카레라로부터 획득되는 가시 광 정보를 획득할 수 있으며, 프로세서부(300)는 획득한 가시 광 정보를 제공받아 삼각 측량 기법을 통해 목적하는 인체 이미지를 생성할 수 있다.
또 다른 실시예로, 촬영부(200)는 인체가 위치한 방향을 촬영하는 RGB 이미지를 획득하는 RGB 카메라와 사용자와, 촬영부(200)와 인체의 임의의 지점간 거리 정보를 획득하는 Depth 카메라를 포함하는 RGBD 카메라로 이루어질 수 있다.
이 경우, 촬영부(200)는 Depth 카메라를 통해 획득한 거리 정보를 RGB 카메라를 통해 획득한 RGB 이미지에 매핑(매핑은 컴퓨터 그래픽스상, 한 좌표 체계에서 다른 좌표 체계로 변환하는 작업을 의미한다.)하여 RGB 이미지의 전체 영역에 대한 좌표 상에서 인체의 위치에 대한 좌표를 파악할 수 있으며, 촬영부(200)는 깊이 정보가 매핑된 RGB 이미지를 통해 인체 이미지를 생성할 수 있다.
촬영부(200)는 미리 설정되는 프레임 레이트(frame rate)로 인체가 위치하는 방향을 촬영할 수 있으며, 상기 프레임 레이트에 대응되는 속도로 인체 이미지를 생성할 수 있다. 이로 인하여, 프로세서부(300)는 촬영부(200)에서 생성된 프레임 단위의 인체 이미지를 제공받아 프레임 단위의 골격 정보(SI)를 검출할 수 있다.
일 실시예에 따른 골격 정보(SI)는 인체를 구성하는 관절의 위치에 관한 정보, 상기 복수 개의 관절 간 거리 값을 포함하는 정보를 포함할 수 있으며 상기 정보 값을 도출하기 위해 프로세서부(300)는 오픈 포즈(openpose) 알고리즘을 이용할 수 있다.
본 발명의 일 실시예에 따른 프로세서부(300)는 ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
프로세서부(300)는 3차원 그리드 좌표를 가지는 가상 공간을 생성할 수 있다. 3차원 그리드 좌표는 서로 직교하는 x축, y축, z축을 갖는 좌표일 수 있으나, 이에 한정되는 것은 아니며, 3차원 공간상의 좌표를 나타낼 수 있는 모든 그리드 좌표를 포함한다. 프로세서부(300)는 제공받은 마커 추적부(100)의 위치 및 촬영 방향에 관한 정보, 촬영부(200)의 위치 및 촬영 방향에 관한 정보를 입력 받아 가상 공간의 3차원 그리드 좌표계를 설정할 수 있다.
본 발명의 일 실시예에 따른 프로세서부(300)는 마커 추적부(100)로부터 마커 이미지를 제공받아 마커 정보(MI)를 검출할 수 있으며, 마커 정보(MI)는 감지 마커(M)의 위치 좌표, 마커 추적부(100)를 기준으로 하는 감지 마커(M)의 회전 각 및 각속도를 포함할 수 있다.
프로세서부(300)가 마커 이미지를 제공받아 마커 정보(MI)를 검출하는 방법에 있어서, 마커 이미지에서 실시간으로 바텀-업(Bottom-up) 방식으로 인체의 특징점(일 실시예에 따르면 특징점은 인체를 구성하는 관절이 될 수 있다.)을 추출할 수 있는 오픈 포즈(openpose) 알고리즘을 이용할 수 있다.
인체의 미리 설정되는 부위에 부착되는 마커를 추적하는 기술은 종래의 마커 추적 장치에 다양한 방법으로 적용되고 있는 바, 마커 추적부(100)가 감지 마커(M)를 추적하여 마커 정보(MI)를 검출하는 원리 및 과정에 대한 상세한 설명은 생략한다.
프로세서부(300)는 마커 추적부(100)로부터 프레임 단위로 마커 이미지를 제공받아 프레임 단위로 마커 정보(MI)를 검출할 수 있으며, 촬영부(200)로부터 프레임 단위로 인체 이미지를 제공받아 프레임 단위로 골격 정보(SI)를 검출할 수 있다.
일 실시예로, 마커 추적부(100) 및 촬영부(200)의 프레임 레이트가 동일하게 N fps 인 경우 마커 이미지 및 인체 이미지는 초당 N개가 생성되며, 구체적으로 1/N초 시간 간격으로 1, 2, 3,?, n-1, n 번째 마커 이미지 및 1, 2, 3,?, n-1, n 번째 인체 이미지가 생성 될 수 있다. 프로세서부(300)는 상기 임의의 n 번째(이하, 본 명세서에서 n은 2 이상의 자연수를 의미한다.) 마커 이미지를 제공받아 n 번째 마커 정보(MI)를 검출할 수 있으며, n 번째 인체 이미지를 제공받아 n 번째 골격 정보(SI)를 검출할 수 있다.
이하, 설명의 편의를 위해 n번째 검출되는 정보를 정보(n)이라고 정의한다. 예를 들어 n번째 검출되는 마커 정보(MI)는 마커 정보(MI(n))이라고 표현하며, n번째 검출되는 관절의 위치 정보는 관절의 위치 정보(n)이라고 표현한다.
프로세서부(300)는 마커 정보(MI)를 이용하여 제1 관절의 위치 정보(Jp1)를 도출할 수 있다.
도 5를 참조하면, 프로세서부(300)는 제1 관절을 감지 마커(M)가 부착된 관절 부위로 설정할 수 있다.
일 실시예로, 감지 마커(M)가 왼쪽 손목 관절(Ja1) 및 오른쪽 손목 관절(Jb1)에 부착되는 경우, 제1 관절의 위치 정보(Jp1)는 왼쪽 손목 관절(Ja1)의 위치, 회전 각, 각속도를 포함하는 정보 또는 오른쪽 손목 관절(Jb1)의 위치, 회전 각, 각속도를 포함하는 정보일 수 있다.
프로세서부(300)는 제1 관절의 위치 정보(Jp1)를 마커 정보(MI)로 변환 또는 동기화를 할 수 있다.
일 실시예로, 감지 마커(M)가 왼쪽 손목 관절(Ja1) 및 오른쪽 손목 관절(Jb1)에 부착되는 경우, 왼쪽 손목 관절(Ja1)의 기하학적 정보는 왼쪽 손목 관절(Ja1)에 부착되는 감지 마커(M)로부터 검출되는 마커 정보(MI)로 동기화 될 수 있으며, 오른쪽 손목 관절(Jb1)의 기하학적 정보는 오른쪽 손목 관절(Jb1)에 부착되는 감지 마커(M)로부터 검출되는 마커 정보(MI)로 동기화 될 수 있다.
프로세서부(300)는 현재 프레임(임의의 n번째 프레임)으로부터 도출된 마커 정보(MI(n))를 이용하여 제1 관절의 위치 정보(Jp1(n))를 도출할 수 있다.
일 실시예로, 감지 마커(M)가 왼쪽 손목 관절(Ja1) 및 오른쪽 손목 관절(Jb1)에 부착되는 경우, 프로세서부(300)는 마커 추적부(100)에 의해 획득되는 n번째 프레임상 감지 마커(M)로부터 마커 정보(MI(n))을 검출할 수 있으며, 마커 정보(MI(n))을 이용하여 n번째 프레임이 생성되는 시점의 제1 관절의 기하학적 정보를 포함하는 제1 관절의 위치 정보(Jp1(n))을 도출할 수 있다.
도 4를 참조하면, 프로세서부(300)는 마커 정보(MI) 또는 골격 정보(SI) 중 적어도 하나 이상을 이용해서, 인체를 구성하는 관절 사이의 거리 정보를 포함하는 거리 백터(L) 및 거리 백터(L)의 각속도 정보를 포함하는 각속도 백터(WL)를 산출할 수 있으며 거리 백터(L), 각속도 백터(WL) 및 마커 정보(MI)를 이용하여 인체의 동작 정보를 도출할 수 있다.
프로세서부(300)는 미리 설정되는 프레임 레이트에 따라 프레임 단위로 골격 정보(SI)를 검출할 수 있으며, 획득되는 프레임이 누적될수록 누적되는 골격 정보(SI)의 양은 많아지게 된다. 이로 인하여 누적되는 골격 정보(SI)를 기반으로 인체를 구성하는 관절 사이의 거리 정보의 값은 현실 공간 상 인체를 구성하는 관절 사이의 거리 값에 수렴할 수 있다.
일 실시예로, 프로세서부(300)는 미리 설정되는 프레임 레이트에 따라 프레임 단위로 마커 정보(MI)를 검출할 수 있으며, 이로 인하여 획득되는 마커 정보(MI)를 기반으로 인체를 구성하는 관절 사이의 거리 정보의 값을 추출할 수 있다.
다른 실시예로, 프로세서부(300)는 골격 정보(SI)로 획득되는 관절 사이의 거리 정보의 값과 마커 정보(MI)로 획득되는 관절 사이의 거리 정보의 값을 융합하여 각 관절 사이의 거리 정보의 값의 정밀도를 높일 수 있다. 구체적으로 오픈 포즈 알고리즘으로 생성되는 골격 정보(SI)로 도출되는 각 관절 사이의 거리 정보 값의 정밀도를 높이기 위해 마커 정보(MI)로 획득되는 관절 사이의 거리 정보의 값을 참조 또는 보정 데이터로 입력 받을 수 있으며, 마커 정보(MI)로 획득되는 관절 사이의 거리 정보의 값의 오차 범위를 감소시키기 위해 오픈 포즈 알고리즘으로 생성되는 골격 정보(SI)로 도출되는 각 관절 사이의 거리 정보 값을 참조 데이터로 이용할 수 있다.
예를 들어, 감지 마커(M)가 왼쪽 손목 관절(Ja1)과 왼쪽 팔꿈치 관절(Ja2)에 부착되는 경우, 왼쪽 손목 관절(Ja1)과 왼쪽 팔꿈치 관절(Ja2) 사이의 거리 정보를 포함하는 거리 백터(La1)는 오픈 포즈 알고리즘으로 생성되는 골격 정보(SI)로 도출되는 왼쪽 손목 관절(Ja1)과 왼쪽 팔꿈치 관절(Ja2) 사이의 거리 정보를 포함하는 거리 백터(La1)값과, 왼쪽 손목 관절(Ja1)과 왼쪽 팔꿈치 관절(Ja2) 각각에 부착되는 감지 마커(M)의 기하학적 관계 정보를 포함하는 마커 정보(MI)를 이용하여 왼쪽 손목 관절(Ja1)과 왼쪽 팔꿈치 관절(Ja2) 사이의 거리 정보를 포함하는 거리 백터(La1)을 산출할 수 있다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 모션 추적 장치(1)가 인체의 상체 부분에 관한 동작 정보를 도출하는 경우 프로세서부(300)가 산출하는 거리 백터(L)는 왼쪽 손목 관절(Ja1)과 왼쪽 팔꿈치 관절(Ja2) 사이의 거리 정보를 포함하는 거리 백터(La1), 왼쪽 팔꿈치 관절(Ja2)과 왼쪽 어깨 관절(Ja3) 사이의 거리 정보를 포함하는 거리 백터(La2), 왼쪽 어깨 관절(Ja3)과 오른쪽 어깨 관절(Jb3) 사이의 거리 정보를 포함하는 거리 백터(Lc), 오른쪽 어깨 관절(Jb3)과 오른쪽 팔꿈치 관절(Jb2) 사이의 거리 정보를 포함하는 거리 백터(Lb2) 및 오른쪽 팔꿈치 관절(Jb2)과 오른쪽 손목 관절(Jb1) 사이의 거리 정보를 포함하는 거리 백터(Lb1)로 구성될 수 있다.
또한, 프로세서부(300)가 산출하는 각속도 백터(WL)는 거리 백터(La1)의 각속도 정보를 포함하는 각속도 백터(WLa1), 거리 백터(La2)의 각속도 정보를 포함하는 각속도 백터(WLa2), 거리 백터(Lc)의 각속도 정보를 포함하는 각속도 백터(WLc), 거리 백터(Lb2)의 각속도 정보를 포함하는 각속도 백터(WLb2) 및 거리 백터(Lb1)의 각속도 정보를 포함하는 각속도 백터(WLb1)로 구성될 수 있다.
마커 추적부(100) 및 촬영부(200)가 기 설정되는 프레임 레이트에 따라 프레임 단위의 마커 이미지 및 인체 이미지를 생성하는 경우, 프로세서부(300)는 마커 정보(MI(n)) 또는 골격 정보 (SI(n)) 중 적어도 하나 이상을 이용해서, 인체를 구성하는 관절 사이의 거리 정보를 포함하는 거리 백터(L(n)) 및 거리 백터(L)의 각속도 정보를 포함하는 각속도 백터(WL(n))를 산출할 수 있으며 거리 백터(L(n)), 각속도 백터(WL(n)) 및 마커 정보(MI)를 이용하여 인체의 동작 정보를 도출할 수 있다.
일 실시예로, 프로세서부(300)는 제공받은 골격 정보(SI)에 포함되는 인체의 신장 길이를 계산할 수 있으며, 계산된 인체의 신장과 골격 정보(SI)에 포함되는 인체의 비례 정보를 이용하여 골격 정보(SI)를 픽셀 단위로 계산하여 거리 백터(L) 및 각속도 백터(WL)를 도출할 수 있다.
다른 실시예로, 골격 정보(SI)에는 촬영부(200)와 인체의 임의의 지점까지의 깊이 정보가 픽셀 단위로 매핑된 RGB 이미지가 포함될 수 있으며, 프로세서부(300)는 상기 매핑된 RGB 이미지를 이용하여 인체의 실루엣(이하, 본 명세서에서 인체의 실루엣은 인체가 포함되는 공간상 이미지에서 인체가 위치하는 영역을 이루는 경계선을 의미한다.)을 계산할 수 있고 계산된 인체의 실루엣으로 특이점으로 추출하여 거리 백터(L) 및 각속도 백터(WL)를 도출할 수 있다.
그 이외에도, 복수 개의 RGB카메라 또는 RGBD 카메라로 이루어지는 촬영부(200)로부터 인체가 포함되는 영역을 촬영하여 거리 백터(L) 및 각속도 백터(WL)를 획득하는 기술은 종래의 마커리스 모션 추적 장치(1)에 다양한 방법으로 적용되고 있는 바, 이에 대한 상세한 설명은 생략한다.
프로세서부(300)가 마커 이미지를 제공받아 마커 정보(MI)를 검출하는 방법에 있어서, 마커 이미지에서 실시간으로 바텀-업(Bottom-up) 방식으로 인체의 특징점을 추출할 수 있는 오픈포즈(openpose) 알고리즘을 이용할 수 있다.
프로세서부(300)는 제1 관절의 위치 정보(Jp1), 거리 백터(L) 및 각속도 백터(WL)를 이용하여 제2 관절의 위치 정보(Jp2)를 도출할 수 있다.
바람직하게, 제2 관절은 감지 마커(M)가 부착되지 않는 관절 부위로 설정될 수 있으나, 이에 한정되는 것은 아니며 제2 관절은 인체가 포함하는 모든 관절 부위 중 적어도 하나 이상으로 포함할 수 있다.
일 실시예로, 감지 마커(M)가 왼쪽 손목 관절(Ja1) 및 오른쪽 손목 관절(Jb1)에 부착되는 경우, 제2 관절은 왼쪽 팔꿈치 관절(Ja2), 왼쪽 어깨 관절(Ja3), 오른쪽 팔꿈치 관절(Jb2), 오른쪽 어깨 관절(Jb3) 중 적어도 하나 이상으로 설정될 수 있다.
도 6을 참조하면, 프로세서부(300)는 제1 관절의 위치 정보(Jp1)와, 이전 프레임(n-1번째 프레임)으로부터 산출된 상기 거리 백터(L) 및 상기 각속도 백터(WL)를 이용하여 상기 제2 관절의 위치 정보(Jp2)를 도출할 수 있다.
일 실시예로, 프로세서부(300)는 n번째 프레임으로부터 도출되는 정보에 해당하는 제1 관절의 위치 정보(Jp1(n))와 n-1번째 프레임으로 도출되는 정보에 해당하는 거리 백터(L(n-1)), 각속도 백터(WL(n-1))를 이용하여 n번째 프레임이 촬영되는 시점에 해당하는 제2 관절의 위치 정보(Jp2(n))을 도출할 수 있다.
예를 들어, 감지 마커(M)가 왼쪽 손목 관절(Ja1)에 부착되는 경우, n번째 프레임의 촬영 시점 상 왼쪽 손목 관절(Ja1)의 기하학적 정보를 포함하는 제1 관절의 위치 정보(Jp1(n)), n-1번째 프레임으로 도출되는 정보에 해당하는 거리 백터(L(n-1)), 각속도 백터(WL(n-1))를 이용하여 n번째 프레임이 촬영되는 시점에 해당하는 왼쪽 팔꿈치 관절(Ja2), 왼쪽 어깨 관절(Ja3), 오른쪽 손목 관절(Jb1), 오른쪽 팔꿈치 관절(Jb2) 및 오른쪽 어깨 관절(Jb3)의 기하학적 정보를 포함하는 제2 관절의 위치 정보(Jp2(n))을 도출할 수 있다.
다른 실시예로, 프로세서부(300)는 n-1번째 프레임으로부터 도출되는 정보에 해당하는 제1 관절의 위치 정보(Jp1(n-1))와 n번째 프레임으로 도출되는 정보에 해당하는 거리 백터(L(n)), 각속도 백터(WL(n))을 이용하여 n번째 프레임이 촬영되는 시점에 해당하는 제2 관절의 위치 정보(Jp2(n))을 도출할 수 있다.
예를 들어, 감지 마커(M)가 왼쪽 손목 관절(Ja1)에 부착되는 경우, n-1번째 프레임의 촬영 시점 상 왼쪽 손목 관절(Ja1)의 기하학적 정보를 포함하는 제1 관절의 위치 정보(Jp1(n-1)), n번째 프레임으로 도출되는 정보에 해당하는 거리 백터(L(n)), 각속도 백터(WL(n))을 이용하여 n번째 프레임이 촬영되는 시점에 해당하는 왼쪽 팔꿈치 관절(Ja2), 왼쪽 어깨 관절(Ja3), 오른쪽 손목 관절(Jb1), 오른쪽 팔꿈치 관절(Jb2) 및 오른쪽 어깨 관절(Jb3)의 기하학적 정보를 포함하는 제2 관절의 위치 정보(Jp2(n))을 도출할 수 있다.
프로세서부(300)는 마커 정보(MI)에 기반한 관절의 위치 정보와 골격 정보(SI)에 기반한 관절의 위치 정보를 융합하여 추정 확률을 높이기 위해 확장된 칼만 필터(Extended Kalman Filter;EKF)를 이용할 수 있으며, 상기 확장된 칼만 필터(Extended Kalman Filter;EKF)를 이용하여 새로운 관절의 위치 정보값을 도출할 수 있다.
일 실시예로, 프로세서부(300)는 마커 정보(MI)에 기반한 제1 관절의 위치 정보(Jp1)와 골격 정보(SI)에 기반한 거리 백터(L) 및 각속도 백터(WL)를 융합하기 위해 확장된 칼만 필터(Extended Kalman Filter;EKF)를 이용할 수 있으며, 상기 확장된 칼만 필터(Extended Kalman Filter;EKF)를 이용하여 제2 관절의 위치 정보(Jp2)를 도출할 수 있다.
본 발명의 일 실시예에 따른 프로세서부(300)는 마커 정보(MI)에 기반한 제1 관절의 위치 정보(Jp1)와 골격 정보(SI)에 기반한 거리 백터(L) 및 각속도 백터(WL)를 융합하기 위해 하기와 같은 모션 모델 행렬(Motion model matrix)를 이용할 수 있다.
여기서, 는 n번째 프레임에서 도출된 제1 관절의 위치 정보(Jp1(n))이고, 내지 은 서로 다른 관절을 대상으로 하는 제2 관절의 위치 정보(Jp2(n))이다. 는 이동량(translation)을 의미하며, 은 L 세그먼트(segment)가 가지는 미소 시간의 SO(3)의 변화율에 따른 야코비안(jacobian)을 의미한다.
일 실시예에 따른 제1 관절의 위치 정보(Jp1(n)) 및 제2 관절의 위치 정보(Jp2(n))는 오픈 포즈 알고리즘으로 생성되는 골격 정보(SI)로 도출되는 값 또는 마커 정보(MI)로 도출되는 값 중 적어도 하나 이상일 수 있으며, 제1 관절의 위치 정보(Jp1(n)) 및 제2 관절의 위치 정보(Jp2(n))의 확률적 위치 추정율을 향상시키기 위해 오픈 포즈 알고리즘으로 생성되는 골격 정보(SI)로 도출되는 값 과 마커 정보(MI)로 도출되는 값을 융합할 수 있다.
상기 L 세그먼트는 거리 백터(L)를 의미할 수 있으며, 는 각속도 백터(WL)를 의미할 수 있다. 상기 S0(3)의 야코비안을 구하는 방식은 뒤에 상세하게 설명하도록 한다.
프로세서부(300)는 마커 추적 알고리즘에 의한 마커 정보(MI)와 마커리스 모션 추적 알고리즘에 따른 골격 정보(SI)를 융합하기 위해 비선형 시스템으로 운동하는 골격 정보(SI)를 야코비안으로 구할 수 있다. 구체적으로 프로세서부(300)는 마커 정보(MI)와 골격 정보(SI)에 기반한 거리 백터(L)와 각속도 백터(WL)를 퓨전하기 위해 골격 정보(SI)를 야코비안으로 구할 수 있다.
본 발명의 일 실시예에 따른 프로세서부(300)는 상기 문제를 해결하기 위해 강체의 회전 운동을 Lie theory를 적용하여 SO(3), SE(3)으로 표현할 수 있다. Lie theory를 적용하여 SO(3), SE(3)으로 표현한 수학식은 하기와 같다.
프로세서부(300)는 상기 표현된 SO(3)으로 강체의 움직임을 야코비안으로 표현할 수 있다. 이에 더하여, 프로세서부(300)는 상기 강체의 움직임을 미소 시간으로 분할하여 계산함으로써 SO(3), SE(3)의 야코비안을 비교적 간단하게 표현할 수 있다. 프로세서부(300)는 상기 계산값을 상기 확장된 칼만 필터(Extended Kalman Filter;EKF)를 적용하여 인체의 동작 정보를 도출할 수 있다.
SO(3), SE(3)의 야코비안을 비교적 간단하게 표현하기 위한 수학식은 하기와 같다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 프로세서부(300)는 마커 정보(MI)를 이용하여 감지 마커(M)가 부착된 제3 관절의 위치 정보(Jp3)를 도출할 수 있으며, 프로세서부(300)는 제3 관절을 감지 마커(M)가 부착된 관절 부위로 설정할 수 있다.
일 실시예로, 감지 마커(M)가 왼쪽 손목 관절(Ja1) 및 오른쪽 손목 관절(Jb1)에 부착되는 경우 제3 관절의 위치 정보(Jp3)는 왼쪽 손목 관절(Ja1)의 위치, 회전 각, 각속도를 포함하는 정보 또는 오른쪽 손목 관절(Jb1)의 위치, 회전 각, 각속도를 포함하는 정보로 구성될 수 있다.
프로세서부(300)는 제3 관절의 위치 정보(Jp3)에 마커 정보(MI)를 저장 또는 동기화를 할 수 있다. 일 실시예로, 감지 마커(M)가 왼쪽 손목 관절(Ja1) 및 오른쪽 손목 관절(Jb1)에 부착되는 경우 왼쪽 손목 관절(Ja1)의 기하학적 정보를 포함하는 제3 관절의 위치 정보(Jp3)는 왼쪽 손목 관절(Ja1)에 부착되는 감지 마커(M)로부터 검출되는 마커 정보(MI)로 동기화 될 수 있으며, 오른쪽 손목 관절(Jb1)의 기하학적 정보를 포함하는 제3 관절의 위치 정보(Jp3)는 오른쪽 손목 관절(Jb1)에 부착되는 감지 마커(M)로부터 검출되는 마커 정보(MI)로 동기화 될 수 있다.
프로세서부(300)는 현재 프레임(임의의 n번째 프레임)으로부터 도출된 마커 정보(MI(n))를 이용하여 제3 관절의 위치 정보(Jp3(n))를 도출할 수 있다.
일 실시예로, 감지 마커(M)가 왼쪽 손목 관절(Ja1) 및 오른쪽 손목 관절(Jb1)에 부착되는 경우, 마커 추적부(100)에 의해 획득되는 n번째 프레임상 감지 마커(M)로부터 프로세서부(300)는 마커 정보(MI(n))을 검출할 수 있으며, 마커 정보(MI(n))을 이용하여 n번째 프레임이 생성되는 시점의 제3 관절의 기하학적 정보를 포함하는 제3 관절의 위치 정보(Jp3(n))을 도출할 수 있다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 프로세서부(300)는 제3 관절의 위치 정보(Jp3), 거리 백터(L) 및 각속도 백터(WL)를 이용하여 상기 도출된 제2 관절의 위치와 비교하여 검증할 수 있다. 구체적으로 프로세서부(300)는 제3 관절의 위치 정보(Jp3), 거리 백터(L) 및 각속도 백터(WL)를 이용하여 도출한 제2 관절의 위치 정보(Jp2)와, 제1 관절의 위치 정보(Jp1), 거리 백터(L) 및 각속도 백터(WL)를 이용하여 도출한 제2 관절의 위치 정보(Jp2)를 비교하여 오차를 계산하여 검증할 수 있다.
일 실시예로, 감지 마커(M)는 왼쪽 손목 관절(Ja1) 및 오른쪽 손목 관절(Jb1)에 부착될 수 있다. 이때, 프로세서부(300)는 왼쪽 손목 관절(Ja1)을 제1 관절로 설정하고 오른쪽 손목 관절(Jb1)을 제3 관절로 설정하며, 왼쪽 팔꿈치 관절(Ja2), 왼쪽 어깨 관절(Ja3), 오른쪽 팔꿈치 관절(Jb2), 오른쪽 어깨 관절(Jb3)을 제2 관절로 설정할 수 있다.
이 경우, 프로세서부(300)는 제1 관절의 위치 정보(Jp1(n)) 를 이용하여 도출된 제2 관절의 위치 정보(Jp2(n))와, 제3 관절의 위치 정보(Jp3(n)) 를 이용하여 도출된 제2 관절의 위치 정보(Jp2(n))를 비교하여 오차를 계산하여 검증할 수 있다.
이하, 본 명세서에서는 제1 관절의 위치 정보(Jp1), 거리 백터(L), 각속도 백터(WL)를 이용하여 도출된 제2 관절의 위치 정보(Jp2)를 제2a 관절의 위치 정보로 정의하고, 제3 관절의 위치 정보(Jp3), 거리 백터(L), 각속도 백터(WL)를 이용하여 도출된 제2 관절의 위치 정보(Jp2)를 제2b 관절의 위치 정보라고 정의한다.
이하, 프로세서부(300)가 제2 관절의 위치 정보(Jp2)를 검증하는 과정 및 검증된 제2 관절의 위치 정보(Jp2)를 도출하는 과정을 설명하도록 한다.
일 실시예로, 프로세서부(300)는 미리 설정된 임계 값을 저장할 수 있으며, 동일한 관절을 대상으로 하는 제2a 관절의 위치 정보와 제2b 관절의 위치 정보의 차이 내지 오차 값이 상기 임계 값을 넘을 경우 에러가 발생한 부위로 인식할 수 있다.
프로세서부(300)는 제2a 관절의 위치 정보와 제2b 관절의 위치 정보에 각각 가중치를 부여할 수 있으며, 상기 가중치에 따른 평균값 내지 미리 설정되는 함수에 따라 도출되는 값을 검증된 제2 관절의 위치 정보(Jp2)로 도출할 수 있다.
일 실시예로 제2 관절의 위치 정보(Jp2)에 에러가 발생하였다고 인식되는 경우, 해당 프레임과 관한 정보를 무시할 수 있으며, 다른 실시예로, 해당 프레임의 제2 관절 정보를 이전 프레임의 제2 관절 정보로 변환할 수 있다.
그러나 이에 한정되는 것은 아니며, 프로세서부(300)가 제2 관절의 위치 정보(Jp2)를 검증하는 과정 및 검증된 제2 관절의 위치 정보(Jp2)를 도출하는 과정은 이미 공지된 기술 내용을 모두 포함한다고 볼 수 있다.
프로세서부(300)는 검증된 제2 관절의 위치 정보(Jp2)를 이용하여 현재 프레임에서의 거리 백터(L) 및 각속도 백터(WL)를 보정할 수 있다.
일 실시예로, 프로세서부(300)는 검증된 제2 관절의 위치 정보(Jp2)를 이용하여 거리 백터(L) 및 각속도 백터(WL)의 오차 범위를 계산할 수 있으며, 상기 오차가 미리 설정되는 임계 값을 넘을 경우 검증된 제2 관절의 위치 정보(Jp2)와 대응되도록 거리 백터(L) 및 각속도 백터(WL)를 보정할 수 있다.
본 발명의 일 실시예에 따른 프로세서부(300)는 마커 정보(MI)로부터 도출되는 제1 관절의 위치 정보(Jp1), 제3 관절의 위치 정보(Jp3), 검증된 제2 관절의 위치 정보(Jp2) 및 보정된 거리 백터(L) 및 각속도 백터(WL)를 이용하여 인체의 동작 정보를 도출할 수 있다.
본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라, 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 마커 추적부 200: 촬영부
300: 프로세서부 M: 감지 마커

Claims (14)

  1. 인체의 미리 설정되는 영역에 부착되는 감지 마커를 촬영하여 마커 이미지를 생성하는 마커 추적부;
    상기 인체를 촬영하여 인체 이미지를 생성하는 촬영부; 및
    상기 마커 추적부로부터 상기 마커 이미지를 제공받아 마커 정보를 검출하고 상기 촬영부로부터 상기 인체 이미지를 제공받아 골격 정보를 검출하며, 상기 마커 정보와 상기 골격 정보를 이용하여 상기 인체의 동작 정보를 도출하는 프로세서부;를 포함하는, 모션 추적 장치.
  2. 제1항에 있어서,
    상기 프로세서부는,
    상기 골격 정보를 이용해서, 상기 인체를 구성하는 관절 사이의 거리 정보를 포함하는 거리 백터 및 상기 거리 백터의 각속도 정보를 포함하는 각속도 백터를 산출하고, 상기 거리 백터, 상기 각속도 백터 및 상기 마커 정보를 이용하여 상기 인체의 동작 정보를 도출하는, 모션 추적 장치.
  3. 제2항에 있어서,
    상기 프로세서부는,
    상기 마커 정보를 이용하여 상기 감지 마커가 부착된 제1 관절의 위치 정보를 도출하고,
    상기 제1 관절의 위치 정보, 상기 거리 백터 및 상기 각속도 백터를 이용하여 감지 마커가 부착되지 않은 제2 관절의 위치 정보를 도출하는, 모션 추적 장치.
  4. 제3항에 있어서,
    상기 마커 추적부 및 상기 촬영부는 기 설정된 프레임레이트(frame rate)로 각각 상기 마커 이미지 및 상기 인체 이미지를 생성하고,
    상기 프로세서부는,
    현재 프레임(임의의 n번째 프레임)으로부터 도출된 상기 마커 정보를 이용하여 상기 제1 관절의 위치 정보를 도출하고,
    상기 제1 관절의 위치 정보와, 이전 프레임(n-1번째 프레임)으로부터 도출된 상기 거리 백터 및 상기 각속도 백터를 이용하여 상기 제2 관절의 위치 정보를 도출하는, 모션 추적 장치.
  5. 제4항에 있어서,
    상기 프로세서부는,
    상기 마커 정보를 이용하여 상기 감지 마커가 부착된 제3 관절의 위치 정보를 도출하고,
    상기 제3 관절의 위치 정보, 상기 거리 백터 및 상기 각속도 백터를 이용하여 상기 도출된 제2 관절의 위치와 비교하여 검증하는, 모션 추적 장치.
  6. 제5항에 있어서,
    상기 프로세서부는,
    상기 검증된 제2 관절의 위치 정보를 이용하여 현재 프레임(임의의 n번째 프레임)에서의 상기 거리 백터 및 상기 각속도 백터를 보정하는, 모션 추적 장치.
  7. 제1항에 있어서,
    상기 프로세서부는 확장된 칼만 필터(Extended Kalman Filter;EKF)를 이용하여 상기 인체의 동작 정보를 도출하는, 모션 추적 장치.
  8. 마커 추적부로부터 인체의 미리 설정되는 영역에 부착되는 감지 마커의 마커 이미지를 제공받는 단계;
    촬영부로부터 인체 이미지를 제공받는 단계;
    상기 마커 이미지로부터 감지 마커의 위치 정보를 포함하는 마커 정보를 검출하는 단계;
    상기 인체 이미지로부터 인체의 골격 정보를 검출하는 단계; 및
    상기 마커 정보, 상기 골격 정보을 상기 인체의 동작 정보를 도출하는 단계;를 포함하는, 모션추적 방법.
  9. 제8항에 있어서,
    상기 골격 정보를 이용해서, 상기 인체를 구성하는 관절 사이의 거리 정보를 포함하는 거리 백터 및 상기 거리 백터의 각속도 정보를 포함하는 각속도 백터를 산출하는 단계; 및
    상기 거리 백터, 상기 각속도 백터 및 상기 마커 정보를 이용하여 상기 인체의 동작 정보를 도출하는 단계;를 더 포함하는, 모션추적 방법.
  10. 제9항에 있어서,
    상기 마커 정보를 이용하여 상기 감지 마커가 부착된 제1 관절의 위치 정보를 도출하는 단계; 및
    상기 제1 관절의 위치 정보, 상기 거리 백터 및 상기 각속도 백터를 이용하여 감지 마커가 부착되지 않은 제2 관절의 위치 정보를 도출하는 단계;를 더 포함하는, 모션추적 방법.
  11. 제10항에 있어서,
    상기 마커 추적부 및 상기 촬영부는 기 설정된 프레임레이트(frame rate)로 각각 상기 마커 이미지 및 상기 인체 이미지를 생성하며,
    현재 프레임(임의의 n번째 프레임)으로부터 도출된 상기 마커 정보를 이용하여 상기 제1 관절의 위치 정보를 도출하고 단계; 및
    상기 제1 관절의 위치 정보와, 이전 프레임(n-1번째 프레임)으로부터 도출된 상기 거리 백터 및 상기 각속도 백터를 이용하여 상기 제2 관절의 위치 정보를 도출하는 단계;를 포함하는, 모션추적 방법.
  12. 제11항에 있어서,
    상기 마커 정보를 이용하여 상기 감지 마커가 부착된 제3 관절의 위치 정보를 도출하는 단계; 및
    상기 제3 관절의 위치 정보, 상기 거리 백터 및 상기 각속도 백터를 이용하여 상기 도출된 제2 관절의 위치와 비교하여 검증하는 단계;를 더 포함하는, 모션추적 방법.
  13. 제12항에 있어서,
    상기 검증된 제2 관절의 위치 정보를 이용하여 현재 프레임(임의의 n번째 프레임)에서의 상기 거리 백터 및 상기 각속도 백터를 보정하는 단계;를 더 포함하는, 모션추적 방법.
  14. 제8항에 있어서,
    상기 인체의 동작 정보를 도출하는 단계는,
    확장된 칼만 필터(Extended Kalman Filter;EKF)를 이용하는 단계;를 포함하는, 모션추적 방법.
KR1020220162267A 2022-11-29 모션 추적 장치 및 방법 KR20240079399A (ko)

Publications (1)

Publication Number Publication Date
KR20240079399A true KR20240079399A (ko) 2024-06-05

Family

ID=

Similar Documents

Publication Publication Date Title
CN106643699B (zh) 一种虚拟现实系统中的空间定位装置和定位方法
CN106980368B (zh) 一种基于视觉计算及惯性测量单元的虚拟现实交互设备
US9235753B2 (en) Extraction of skeletons from 3D maps
Canessa et al. Calibrated depth and color cameras for accurate 3D interaction in a stereoscopic augmented reality environment
JP2019141620A (ja) 三次元物体上の注視点決定方法及び装置
CN110230983B (zh) 抗振式光学三维定位方法及装置
JP6377863B2 (ja) 反射マップ表現による奥行きマップ表現の増補
US20070098250A1 (en) Man-machine interface based on 3-D positions of the human body
CN111353355B (zh) 动作追踪系统及方法
Gourlay et al. Head‐Mounted‐Display Tracking for Augmented and Virtual Reality
JP2014211404A (ja) モーションキャプチャー方法
CN104408762A (zh) 利用单目和二维平台获取物体图像信息及三维模型的方法
KR100763578B1 (ko) 구 투영기법을 이용한 인체 관절의 3차원 위치 추정 방법
JP7224832B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN109242887A (zh) 一种基于多摄像机和imu的实时人体上肢动作捕捉方法
JP2005256232A (ja) 3dデータ表示方法、装置、およびプログラム
CN113487674B (zh) 一种人体位姿估计系统和方法
CN107449403B (zh) 一种时-空四维联合成像模型及应用
CN206300653U (zh) 一种虚拟现实系统中的空间定位装置
KR20240079399A (ko) 모션 추적 장치 및 방법
JP6205387B2 (ja) 仮想マーカーの位置情報の取得方法及び装置、動作計測方法
Chin et al. Camera systems in human motion analysis for biomedical applications
WO2024117447A1 (ko) 모션 추적 장치 및 방법
CN111860275A (zh) 手势识别数据采集系统、方法
Chen et al. A real-time photogrammetric system for acquisition and monitoring of three-dimensional human body kinematics