KR20220067965A - 실감 인터랙션 기반의 가상 훈련 방법 및 장치 - Google Patents

실감 인터랙션 기반의 가상 훈련 방법 및 장치 Download PDF

Info

Publication number
KR20220067965A
KR20220067965A KR1020200154797A KR20200154797A KR20220067965A KR 20220067965 A KR20220067965 A KR 20220067965A KR 1020200154797 A KR1020200154797 A KR 1020200154797A KR 20200154797 A KR20200154797 A KR 20200154797A KR 20220067965 A KR20220067965 A KR 20220067965A
Authority
KR
South Korea
Prior art keywords
data
joint
training
user
virtual
Prior art date
Application number
KR1020200154797A
Other languages
English (en)
Other versions
KR102594249B1 (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 KR1020200154797A priority Critical patent/KR102594249B1/ko
Priority to US17/528,401 priority patent/US11887257B2/en
Publication of KR20220067965A publication Critical patent/KR20220067965A/ko
Application granted granted Critical
Publication of KR102594249B1 publication Critical patent/KR102594249B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/24Use of tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10048Infrared image
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)

Abstract

실감 인터랙션 기반의 가상 훈련 방법 및 장치가 제공된다. 훈련 장치가, 가상 훈련을 위해 획득된 데이터에 포함된 실제 객체의 깊이 영상과 컬러 영상 그리고 IR 데이터를 토대로 실제 객체의 3차원 위치를 획득하고, 실제 객체의 3차원 위치와 가상 환경에 적용될 가상 객체의 위치를 매칭시킨다. 그리고, 상기 획득된 데이터에 포함된 사용자 영상에 대한 깊이 정보로부터 추출되는 깊이와 컬러 정보를 매칭시켜 사용자의 전체 모습에 대한 가상화를 수행하고, 가상화에 따라 획득되는 사용자에 대한 깊이 데이터와 컬러 데이터를 가상 훈련 콘텐츠에 가시화한다. 또한, 훈련 장치가, 상기 획득된 데이터에 포함된 관절 정보와 깊이 정보 그리고 사용자에 대한 깊이 데이터를 이용하여 관절 정보에 대한 보정을 수행하고, 보정된 관절 정보를 이용하여 사용자 자세를 추정하고, 훈련 도구의 자세를 추정한다.

Description

실감 인터랙션 기반의 가상 훈련 방법 및 장치{Method and apparatus for Virtual training based on tangible interaction}
본 개시는 가상 훈련 방법에 관한 것으로, 더욱 상세하게 말하자면, 실감 인터랙션 기반의 가상 훈련 방법 및 장치에 관한 것이다.
실제 환경에서 훈련을 하는 것은 제한된 물리적 공간, 시설 관리 문제, 안전사고, 반복 훈련에 의한 소모성 재료 비용 문제 등 다양한 어려움이 존재할 수 있으므로, 이를 대체하기 위해 가상 훈련에 대한 연구가 많이 진행되고 있다.
이와 관련하여 실감 체험/훈련으로는 비행기, 자동차, 농기구 등 모의 실험이 가능한 가상 시뮬레이터 시스템이나, 선박 도장, 정비 등 가상 훈련 시스템, 또는 VR(virtual reality) 체험으로 사이클 페달과 연동하여 페달 속도와 연동하여 가상 화면이 전환되는 트레이닝 시스템 등이 개발되고 있다.
하지만, 대부분의 가상 훈련/체험 서비스는 사용자의 일부만(예: 손 모델) 보여주거나 허공에서 동작함으로써, 즉, 빈 공간에서 가상의 객체를 대상으로 가상 훈련/체험이 진행되어, 촉감에 의한 실감 인터랙션(tangible interaction)이 부족하다는 문제가 있다.
따라서 종래의 가상 훈련/체험 서비스 기반으로는, 단순 선택이 아닌 실제 접촉이 중요한 분야(예: 세차 등)에서의 훈련을 가상으로 진행하기 어려우며, 이를 해결하기 위한 방법이 필요하다.
실감 인터랙션이 부족하다는 문제를 고려하여, 글러브 형태의 햅틱(Haptic) 도구를 활용하여 역감(Force Feedback)을 통해 가상 객체를 잡는 등 인터랙션 방법이 연구되었지만, 스팀 세차와 같이 상호 힘을 주고받아야 하는 인터랙션에는 활용하기 어렵다는 문제점이 있다.
본 개시가 해결하고자 하는 과제는 실감 인터랙션이 가능하고 실감 효과를 높일 수 있는, 가상 훈련 방법 및 장치를 제공하는 것이다.
일 실시 예에 따르면, 가상 훈련 방법이 제공된다. 상기 가상 훈련 방법은, 훈련 장치가, 가상 훈련을 위한 데이터를 획득하며, 상기 획득된 데이터에 포함된 실제 객체의 깊이 영상과 컬러 영상 그리고 IR(infrared) 데이터를 토대로 상기 실제 객체의 3차원 위치를 획득하는 단계; 상기 훈련 장치가, 상기 획득된 실제 객체의 3차원 위치와 가상 환경에 적용될 가상 객체의 위치를 매칭시키는 단계; 상기 훈련 장치가, 상기 획득된 데이터에 포함된 사용자 영상에 대한 깊이 정보로부터 깊이를 추출하고, 추출된 깊이와 컬러 정보를 매칭시켜 사용자의 전체 모습에 대한 가상화를 수행하는 단계; 상기 훈련 장치가, 상기 사용자에 대한 가상화에 따라 획득되는 사용자에 대한 깊이 데이터와 컬러 데이터를 가상 훈련 콘텐츠에 가시화하는 단계; 상기 훈련 장치가, 상기 획득된 데이터에 포함된 관절 정보와 깊이 정보 그리고 사용자에 대한 깊이 데이터를 이용하여 상기 관절 정보에 대한 보정을 수행하고, 상기 보정된 관절 정보를 이용하여 사용자 자세를 추정하는 단계; 및 상기 훈련 장치가, 상기 획득된 데이터에 포함된 깊이 정보와 IR 데이터를 이용하여 훈련 도구의 자세를 추정하는 단계를 포함한다.
일 구현 예에서, 상기 사용자 자세를 추정하는 단계는, 상기 사용자에 대한 가상화에 따라 획득되는 사용자에 대한 깊이 데이터로부터 선택되는 샘플 포인트들과 상기 관절 정보로부터 획득되는 관절 위치를 거리 확률 모델에 적용하여 획득되는 확률값들을 기반으로 최종 관절 위치들을 획득하고, 상기 획득된 최종 관절 위치들을 이용하여 사용자 자세를 추정할 수 있다.
일 구현 예에서, 상기 사용자 자세를 추정하는 단계는, 상기 사용자에 대한 가상화에 따라 획득되는 사용자에 대한 깊이 데이터로부터 샘플 포인트들을 선택하고, 상기 샘플 포인트와 상기 관절 정보로부터 획득되는 관절 위치를 거리 확률 모델에 적용하여 확률값을 획득하는 단계; 상기 샘플 포인트별로 획득되는 확률값을 기반으로 설정 조건을 만족하는 샘플 포인트를 선택하는 단계; 및 상기 설정 조건을 만족하는 샘플 포인트의 주변 포인트들의 평균값을 기반으로 최종 관절 위치를 결정하는 단계를 포함할 수 있다.
일 구현 예에서, 상기 설정 조건을 만족하는 샘플 포인트를 선택하는 단계는, 이전 관절 위치와 샘플 포인트까지의 거리의 제곱을 기반으로 획득되는 확률값과 다른 관절 위치와 상기 샘플 포인트까지의 거리의 제곱을 기반으로 획득되는 확률값을 토대로, 상기 샘플 포인트에 대한 최종 확률값을 획득하는 단계; 및 샘플 포인트별로 획득되는 최종 확률값들 중에서, 가장 큰 값의 최종 확률값을 가지는 샘플 포인트를 선택하는 단계를 포함할 수 있다.
일 구현 예에서, 상기 최종 관절 위치를 결정하는 단계는, 상기 설정 조건을 만족하는 샘플 포인트의 주변 포인트들의 평균값을 구하고, 상기 평균값을 가지는 포인트를 관절의 초기 위치로 결정하며, 상기 초기 위치와 부모 관절 위치를 통해 계산되는 벡터를 노말 벡터로 변환하고, 상기 노말 벡터에 관절 길이를 곱한 값을 최종 관절 위치로 결정할 수 있다.
일 구현 예에서, 상기 사용자 자세를 추정하는 단계는, 상기 관절 정보 중 손끝 관절과 발끝 관절의 경우, 상기 사용자에 대한 가상화에 따라 획득되는 사용자에 대한 깊이 데이터로부터 선택되는 샘플 포인트들 중에서 설정 영역에 있는 포인트들을 선택하고, 선택된 포인트들에 대해서 거리와 각도를 기반으로 하는 가중치들을 구하고, 상기 가중치들을 기반으로 상기 손끝 관절에 대한 최종 관절 위치 또는 상기 발끝 관절에 대한 최종 관절 위치를 결정하고, 상기 결정된 최종 관절 위치들을 이용하여 사용자 자세를 추정할 수 있다.
일 구현 예에서, 상기 설정 영역은 팔꿈치-손목 벡터와 무릎-발목 벡터 방향에 있는 영역일 수 있다. 여기서, 상기 사용자 자세를 추정하는 단계는 상기 가중치들의 평균값을 상기 손끝 관절에 대한 최종 관절 위치 또는 상기 발끝 관절에 대한 최종 관절 위치로 결정할 수 있다.
일 구현 예에서, 상기 훈련 도구의 자세를 추정하는 단계는, 상기 획득된 데이터에 포함된 깊이 정보와 훈련 도구에 부착된 IR 마커로부터 획득되는 IR 데이터의 중심점을 매칭시키고, 상기 매칭된 중심점을 기준으로 상기 깊이 정보로부터 추출되는 깊이 데이터를 가지는 픽셀들의 위치를 기반으로, 상기 IR 데이터에 의해 획득된 IR 마커의 위치를 결정하고, 상기 결정된 IR 마커의 위치를 토대로 상기 훈련 도구의 자세를 추정할 수 있다.
일 구현 예에서, 상기 훈련 도구의 자세를 추정하는 단계는, 상기 획득된 데이터에 포함된 깊이 정보의 중심점과 훈련 도구에 부착된 IR 마커로부터 획득되는 IR 데이터의 중심점을 매칭시키는 단계; 상기 매칭된 중심점을 기준으로 상기 깊이 정보로부터 위, 아래, 좌, 우 각각의 방향에 있는 깊이 데이터를 가지는 픽셀들을 추출하는 단계; 상기 추출되는 픽셀들의 위치를 3차원 위치로 변환하는 단계; 상기 추출되는 픽셀들의 3차원 위치들의 평균값을 가지는 픽셀의 3차원 위치를 상기 IR 마커의 위치로 결정하는 단계; 및 상기 결정된 IR 마커의 위치를 토대로 상기 훈련 도구의 자세를 추정하는 단계를 포함할 수 있다.
일 구현 예에서, 상기 깊이 데이터를 가지는 픽셀들을 추출하는 단계는, 상기 깊이 정보로부터 위, 아래, 좌, 우 각각의 방향에 있는 깊이 데이터를 가지는 픽셀들을 탐색하여, 탐색되는 픽셀들의 수가 설정 개수인 경우에 탐색을 종료할 수 있다.
일 구현 예에서, 상기 가상 훈련은 가상 스팀세차 훈련이고, 상기 실제 객체는 자동차이며, 상기 가상 객체는 가상의 자동차이고, 상기 훈련 도구는 걸레와 스팀 건을 포함하며, 상기 획득된 데이터는 상기 걸레에 삽입된 압력 센서로부터 획득되는 압력 데이터와 상기 스팀 건에 포함된 버튼 센서로부터 획득되는 버튼 작동 데이터를 포함할 수 있다.
일 구현 예에서, 상기 훈련 도구의 자세를 추정하는 단계 이후에, 상기 가상 훈련 방법은, 상기 압력 데이터를 기반으로 상기 걸레에 가해지는 힘을 추정하고, 상기 버튼 작동 데이터를 기반으로 상기 스팀 건의 분사 시점을 확인하며, 상기 추정된 힘과 상기 분사 시점 그리고 상기 추정된 사용자 자세와 상기 추정된 훈련 도구의 자세를 기반으로 상기 가상 스팀세차 훈련에 대한 성과를 평가하는 단계를 더 포함할 수 있다.
다른 실시 예에 따르면 가상 훈련 장치가 제공된다. 상기 가상 훈련 장치는, 다종 센서로부터 가상 훈련을 위한 데이터를 입력받도록 구성된 인터페이스 장치; 및 상기 인터페이스 장치를 통해 입력되는 상기 데이터를 기반으로 가상 훈련 콘텐츠를 제공하도록 구성된 프로세서를 포함하고, 상기 프로세서는,
상기 인터페이스 장치를 통해 입력되는 데이터에 포함된 실제 객체의 깊이 영상과 컬러 영상 그리고 IR(infrared) 데이터를 토대로 상기 실제 객체의 3차원 위치를 획득하는 동작; 상기 획득된 실제 객체의 3차원 위치와 가상 환경에 적용될 가상 객체의 위치를 매칭시키는 동작; 상기 인터페이스 장치를 통해 입력되는 데이터에 포함된 사용자 영상에 대한 깊이 정보로부터 깊이를 추출하고, 추출된 깊이와 컬러 정보를 매칭시켜 사용자의 전체 모습에 대한 가상화를 수행하는 동작; 상기 사용자에 대한 가상화에 따라 획득되는 사용자에 대한 깊이 데이터와 컬러 데이터를 가상 훈련 콘텐츠에 가시화하는 동작; 상기 인터페이스 장치를 통해 입력되는 데이터에 포함된 관절 정보와 깊이 정보 그리고 사용자에 대한 깊이 데이터를 이용하여 상기 관절 정보에 대한 보정을 수행하고, 상기 보정된 관절 정보를 이용하여 사용자 자세를 추정하는 동작; 및 상기 인터페이스 장치를 통해 입력되는 데이터에 포함된 깊이 정보와 IR 데이터를 이용하여 훈련 도구의 자세를 추정하는 동작을 수행하도록 구성된다.
일 구현 예에서, 상기 프로세서는 상기 사용자 자세를 추정하는 동작시, 상기 사용자에 대한 가상화에 따라 획득되는 사용자에 대한 깊이 데이터로부터 선택되는 샘플 포인트들과 상기 관절 정보로부터 획득되는 관절 위치를 거리 확률 모델에 적용하여 획득되는 확률값들을 기반으로 최종 관절 위치들을 획득하고, 상기 획득된 최종 관절 위치들을 이용하여 사용자 자세를 추정하도록 구성될 수 있다.
일 구현 예에서, 상기 프로세서는 상기 사용자 자세를 추정하는 동작 수행시, 상기 사용자에 대한 가상화에 따라 획득되는 사용자에 대한 깊이 데이터로부터 샘플 포인트들을 선택하고, 상기 샘플 포인트와 상기 관절 정보로부터 획득되는 관절 위치를 거리 확률 모델에 적용하여 확률값을 획득하는 동작; 상기 샘플 포인트별로 획득되는 확률값을 기반으로 설정 조건을 만족하는 샘플 포인트를 선택하는 동작; 및 상기 설정 조건을 만족하는 샘플 포인트의 주변 포인트들의 평균값을 기반으로 최종 관절 위치를 결정하는 동작을 수행하도록 구성될 수 있다.
일 구현 예에서, 상기 프로세서는 상기 설정 조건을 만족하는 샘플 포인트를 선택하는 동작 수행시, 이전 관절 위치와 샘플 포인트까지의 거리의 제곱을 기반으로 획득되는 확률값과 다른 관절 위치와 상기 샘플 포인트까지의 거리의 제곱을 기반으로 획득되는 확률값을 토대로, 상기 샘플 포인트에 대한 최종 확률값을 획득하는 동작; 및 샘플 포인트별로 획득되는 최종 확률값들 중에서, 가장 큰 값의 최종 확률값을 가지는 샘플 포인트를 선택하는 동작을 수행하도록 구성될 수 있다.
일 구현 예에서, 상기 프로세서는 상기 최종 관절 위치를 결정하는 동작 수행시, 상기 설정 조건을 만족하는 샘플 포인트의 주변 포인트들의 확률값들의 평균값을 구하고, 상기 평균값을 가지는 포인트를 관절의 초기 위치로 결정하며, 상기 초기 위치와 부모 관절 위치를 통해 계산되는 벡터를 노말 벡터로 변환하고, 상기 노말 벡터에 관절 길이를 곱한 값을 최종 관절 위치로 결정할 수 있다.
일 구현 예에서, 상기 프로세서는 상기 사용자 자세를 추정하는 동작 수행시, 상기 관절 정보 중 손끝 관절과 발끝 관절의 경우, 상기 사용자에 대한 가상화에 따라 획득되는 사용자에 대한 깊이 데이터로부터 선택되는 샘플 포인트들 중에서 설정 영역에 있는 포인트들을 선택하고, 선택된 포인트들에 대해서 거리와 각도를 기반으로 하는 가중치들을 구하고, 상기 가중치들의 평균값을 상기 손끝 관절에 대한 최종 관절 위치 또는 상기 발끝 관절에 대한 최종 관절 위치를 결정하고, 상기 결정된 최종 관절 위치들을 이용하여 사용자 자세를 추정하도록 구성할 수 있다.
일 구현 예에서, 상기 프로세서는 상기 훈련 도구의 자세를 추정하는 동작 수행시, 상기 획득된 데이터에 포함된 깊이 정보와 훈련 도구에 부착된 IR 마커로부터 획득되는 IR 데이터의 중심점을 매칭시키고, 상기 매칭된 중심점을 기준으로 상기 깊이 정보로부터 추출되는 깊이 데이터를 가지는 픽셀들의 위치를 기반으로, 상기 IR 데이터에 의해 획득된 IR 마커의 위치를 결정하고, 상기 결정된 IR 마커의 위치를 토대로 상기 훈련 도구의 자세를 추정하도록 구성될 수 있다.
일 구현 예에서, 상기 프로세서는 상기 훈련 도구의 자세를 추정하는 동작 수행시, 상기 획득된 데이터에 포함된 깊이 정보의 중심점과 훈련 도구에 부착된 IR 마커로부터 획득되는 IR 데이터의 중심점을 매칭시키는 동작; 상기 매칭된 중심점을 기준으로 상기 깊이 정보로부터 위, 아래, 좌, 우 각각의 방향에 있는 깊이 데이터를 가지는 픽셀들을 추출하는 동작; 상기 추출되는 픽셀들의 위치를 3차원 위치로 변환하는 동작; 상기 추출되는 픽셀들의 3차원 위치들의 평균값을 가지는 픽셀의 3차원 위치를 상기 IR 마커의 위치로 결정하는 동작; 및 상기 결정된 IR 마커의 위치를 토대로 상기 훈련 도구의 자세를 추정하는 동작을 수행하도록 구성될 수 있다.
일 구현 예에서, 상기 가상 훈련은 가상 스팀세차 훈련이고, 상기 실제 객체는 자동차이며, 상기 가상 객체는 가상의 자동차이고, 상기 훈련 도구는 걸레와 스팀 건을 포함하며, 상기 획득된 데이터는 상기 걸레에 삽입된 압력 센서로부터 획득되는 압력 데이터와 상기 스팀 건에 포함된 버튼 센서로부터 획득되는 버튼 작동 데이터를 포함할 수 있다. 여기서, 상기 프로세서는 상기 훈련 도구의 자세를 추정하는 동작 이후에, 추가적으로 상기 압력 데이터를 기반으로 상기 걸레에 가해지는 힘을 추정하고, 상기 버튼 작동 데이터를 기반으로 상기 스팀 건의 분사 시점을 확인하며, 상기 추정된 힘과 상기 분사 시점 그리고 상기 추정된 사용자 자세와 상기 추정된 훈련 도구의 자세를 기반으로 상기 가상 스팀세차 훈련에 대한 성과를 평가하는 동작을 수행하도록 구성될 수 있다.
실시 예들에 따르면, 실제 객체와 가상 객체를 매칭시키고, 다종 센서를 통해 사용자 및 훈련 도구를 인식함으로써 실감 인터랙션이 가능한 가상 직업 훈련 서비스를 제공할 수 있다.
특히, 다종 센서로부터 사용자의 형태와 자세를 추정하고, 가상 훈련에 필요한 도구 자세/압력을 추적하여, 가상 환경에서 실제 훈련을 하는 효과를 줄 수 있다. 이때, 실제 객체와 가상 환경에서의 가상 객체를 연동하고 기존 손 모델 정도의 표현이 아니라, 실제 사용자의 모습을 가상화함으로써 실감 인터랙션을 통해 훈련의 몰입감과 효과를 높일 수 있다.
또한, 기존 가상 훈련/체험 시스템에서 가상 손 모델만 가시화하던 부분을 사용자의 전신 형태를 가상화함으로써 실감 효과를 높일 수 있다.
또한, 기존에는 다양한 상태(사용자 자세, 도구 자세, 가상화, 실제-가상 매칭 등)를 인식하기 위해 추가 센서를 사용하여야 하나, 본 개시의 실시 예들에 따르면, 마이크로소프트 키넥트 센서 내에 있는 다종 센서(RGB, JOINT, DEPTH, IR, 압력)를 다중으로 활용하여, 최소한의 센서로 다양한 인식이 가능하다. 예를 들어, 기존 IR(infrared) 마커 추적은 스테레오 방식으로 적어도 2대 이상의 센서가 필요하나, 본 개시의 실시 예에서는 한 대의 센서에서도 IR 영상과 깊이(Depth) 영상의 매칭에 의해 3차원 위치 추적이 가능하여, 가려짐에 강인한 도구 자세 추적이 가능하다. 이를 통해 훈련에 대한 평가가 가능하며, 훈련의 효과를 높일 수 있다.
이러한 실시 예에 따르면, 사용자 전신 자세 및 도구 자세를 통해 실감 인터랙션을 제공한다.
도 1은 본 개시의 실시 예에 따른 가상 훈련 장치의 구조를 나타낸 도이다.
도 2는 본 개시의 실시 예에 따른 가상 훈련 장치를 구성하는 구성 요소의 동작을 나타낸 도이다.
도 3은 본 개시의 실시 예에 따른 가상 스팀세차 훈련을 위한 다종 센서의 설치 예를 나타낸 도이다.
도 4a 및 도 4b는 본 개시의 실시 예에 따른 가상 스팀세차 훈련을 위해 훈련 도구에 IR 마커와 센서를 설치한 예를 나타낸 도이다.
도 5는 본 개시의 실시 예에 따른 가상 스팀세차 훈련을 위한 사용자의 도구 사용 예를 나타낸 도이다.
도 6은 본 개시의 실시 예에 따른 IR 마커를 이용한 위치 계산의 예를 나타낸 도이다.
도 7은 본 개시의 실시 예에 따른 가상 공간에서 제공되는 콘텐츠를 나타낸 예시도이다.
도 8은 관절 노이즈를 나타낸 예시도이다.
도 9는 본 개시의 실시 예에 따른 거리 확률 모델에 의한 포인트 선택을 나타낸 예시도이다.
도 10은 본 개시의 실시 예에 따른 자세 추정 결과를 나타낸 예시도이다.
도 11은 본 개시의 실시 예에 따른 깊이 데이터 기반 IR 데이터 추적 과정을 나타낸 예시도이다.
도 12는 본 개시의 실시 예에 따른 IR 마커의 3차원 위치 추적 결과를 나타낸 예시도이다.
도 13 그리고 도 14a 내지 도 14c는 본 개시의 실시 예에 따른 훈련 평가를 나타낸 예시도이다.
도 15는 본 개시의 실시 예에 따른 가상 훈련 방법의 흐름도이다.
도 16은 본 개시의 실시 예에 따른 가상 훈련 방법을 구현하기 위한 컴퓨팅 장치를 설명하기 위한 구조도이다.
아래에서는 첨부한 도면을 참고로 하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
또한, 본 개시의 실시 예에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
이하, 도면을 참조하여 본 개시의 실시 예에 따른 실감 인터랙션 기반의 가상 훈련 방법 및 장치에 대하여 설명한다.
본 개시의 실시 예에서는 실감 가상 훈련을 위해 다종 센서로부터 사용자의 형태와 자세를 추정하고, 가상 훈련에 필요한 도구의 자세를 추정하고 및/또는 도구에 가해지는 압력을 추적하면서, 실제 객체와 가상 환경에서의 가상 객체를 연동시키고, 사용자의 일부분(예를 들어, 손)만이 아닌 실제 사용자의 모습을 가상화한다. 이를 위해, 실제 객체와 가상 객체의 매칭을 수행하며, 실제 객체로부터 획득되는 3차원 포인트를 가상 객체의 3차원 포인트와 매칭시켜 좌표계를 일치시킨다. 가상 환경에서 실제 객체와 가상 객체의 좌표계를 매칭시킴에 따라 가상 훈련 서비스 제공시, 사용자는 가상 객체와 인터랙션을 하면 실제 객체를 터치하게 되므로 실감을 얻을 수 있다.
이하의 실시 예에서는 가상 훈련으로 가상 스팀 세차 훈련을 예로 들어서 본 개시의 실시 예에 따른 가상 훈련 방법 및 장치에 대해 설명하나, 본 개시은 가상 스팀 세차 훈련에 한정되지 않는다.
도 1은 본 개시의 실시 예에 따른 가상 훈련 장치의 구조를 나타낸 도이며, 도 2는 본 개시의 실시 예에 따른 가상 훈련 장치를 구성하는 구성 요소의 동작을 나타낸 도이다.
본 개시의 실시 예에 따른 가상 스팀세차 훈련 장치(1)는 도 1에서와 같이, 데이터 획득부(10), 객체 매칭 처리부(20), 사용자 가상화 처리부(30), 사용자 자세 추정부(40), 도구 자세 추정부(50), 가상 훈련 콘텐츠 제공부(60) 및 훈련 평가부(70)를 포함한다.
데이터 획득부(10)는 가상 훈련을 위한 각종 데이터를 획득하도록 구성된다. 데이터 획득부(10)는 도 2에 도시된 바와 같이, 다종 센서 예를 들어, 깊이(depth), 컬러(color), 관절(joint), 압력, IR 데이터 등을 검출하는 센서들로부터 해당하는 센서 데이터들을 획득한다. 다종 센서는 RGB 카메라, IR 센서, 오디오 센서(예를 들어, 마이크로폰 어레이), 압력 센서 등을 포함한다. 다종 센서에 의해 측정 대상(예를 들어, 실제 객체, 사용자, 훈련 도구 등)에 대한 컬러 영상(컬러 정보)과 함께 깊이 영상(깊이 정보)도 실시간으로 획득할 수 있으며, 인체를 구성하는 주요 골격에 대한 위치 데이터와 해당 관절 포인트를 기반으로 하는 골격에 해당하는 신체 부위의 정보(관절 정보)를 획득할 수 있다. 또한, IR 센서에 의해 IR 데이터가 획득되며, 측정 대상에 장착된 IR 마커에 의해 반사된 적외선이 IR 센서에 수신되어 대응하는 IR 데이터가 획득될 수 있다. 압력 센서는 가상 훈련을 위한 도구에 장착되어 도구에 가해지는 압력을 측정할 수 있다. 이러한 다종 센서는 마이크로소프트 키넥트(kinect) 센서일 수 있다.
본 개시의 실시 예에서는 가상 훈련 예를 들어, 가상 스팀 세차 훈련을 제공한다.
도 3은 본 개시의 실시 예에 따른 가상 스팀세차 훈련을 위한 다종 센서의 설치 예를 나타낸 도이며, 도 4a 및 도 4b는 본 개시의 실시 예에 따른 가상 스팀세차 훈련을 위해 훈련 도구에 IR 마커와 센서를 설치한 예를 나타낸 도이고, 도 5는 본 개시의 실시 예에 따른 가상 스팀세차 훈련을 위한 사용자의 도구 사용 예를 나타낸 도이다.
본 개시의 실시 예에서는 도 3에 예시된 바와 같이, 실제 자동차나 자동차 모형인 실제 객체에 IR 마커(C)가 복수개(예를 들어, 3개) 부착될 수 있다. 사용자는 HMD(Head mounted Display)를 착용하며, 다종 센서가 자동차 모형의 주변에 설치될 수 있다. 예를 들어, RGB 카메라 및 IR 센서가 실제 객체 및 사용자를 촬영할 수 있도록 실제 객체와 사용자 주변에 설치된다.
IR 마커는 또한 사용자의 HMD에 설치된다. 사용자의 HMD에 설치된 IR 마커(H)에 의해 획득된 IR 데이터가 가상 공간에서 사용자의 기준 위치로 사용된다. 이러한 기준 위치를 토대로 월드 좌표계에서의 사용자 데이터를 가상 좌표계 상의 위치로 매칭할 수 있다.
가상 훈련에 필요한 도구의 자세를 인식하기 위해 IR 마커를 활용한다. 필요한 훈련 도구에 IR 마커를 부착하고, IR 센서로부터 입력된 영상(IR 데이터)으로부터 3차원 위치를 추정하게 된다. 가상 스팀세차 훈련에 필요한 훈련 도구는 스팀 건, 청소용 걸레 등을 포함하나 반드시 이에 한정되는 것은 아니다. 기존의 가상 체험 등은 컨트롤러를 손에 들고 체험하기 때문에, 사실감 있는 훈련 도구를 활용하기 어렵다는 문제가 있다. 본 개시의 실시 예에서는 실제 훈련에서 사용하는 훈련 도구(스팀 건, 걸레 등)를 활용하여 실제 훈련과 같은 상황을 만든다.
도 4a에 예시된 바와 같이, 가상 스팀세차 훈련을 위한 훈련 도구인 걸레에 IR 마커를 부착하고(도 4a의 (a)), 또한 훈련 도구인 스팀 건에 IR 마커를 부착하며(도 4a의 (a)), 또한, 사용자의 HMD에 IR 마커를 부착한다(도 4a의 (c)). 여기서, 방향을 계산하기 위해 복수의 IR 마커를 부착할 수 있다. 예를 들어, 스팀 건의 방향 계산을 위해, 적어도 3군데에 IR 마커를 부착할 수 있으며, 부착되는 각 IR 마커는 상이한 길이를 가질 수 있다. 또한, 도 4b에 예시된 바와 같이, 걸레에 압력 센서를 삽입하여 걸레에 가해지는 힘을 측정할 수 있으며(도 4b의 (a)), 스팀 건에는 스팀 분사 시점을 알기 위해 스팀 건의 방아쇠 부분에 버튼 센서를 설치할 수 있다(도 4b의 (b)). 이 경우, 지그비(Zigbee) 수신기를 이용하여 센서로부터의 신호를 수신할 수도 있다(도 4b의 (c)).
사용자는 가상 스팀세차 훈련을 위해, 도 5에 예시된 바와 같이, 머리에 HMD를 착용하고, 오른손에 스팀 건을 들고, 왼손에는 걸레를 착용할 수 있다.
한편, 다양한 훈련 도구에 부착되는 IR 마커들을 분류하기 위해, 관절의 위치를 기반으로 IR 마커들을 나눌 수 있다. 예를 들어, 도 5에서와 같이, 가상 스팀세차 콘텐츠의 경우에는 머리에 HMD를 착용하고, 오른손에 스팀 건을 들고, 왼손에는 걸레를 착용하기 때문에, 손 관절과 머리 관절 위치를 기반으로 IR 마커들을 나눌 수 있다. 손 방향은 옵션에 따라 선택이 가능하다.
이러한 환경에서, 다종 센서에 의해 가상 훈련을 위한 각종 데이터(컬러 데이터, 깊이 데이터, IR 데이터, 압력, 버튼 동작 시점 등)가 획득되며, 획득된 각종 데이터는 객체 매칭 처리부(20), 사용자 가상화 처리부(30), 사용자 자세 추정부(40), 도구 자세 추정부(50)로 제공된다.
한편, 객체 매칭 처리부(20)는 실제 객체와 가상 객체의 매칭을 수행하도록 구성된다. 기존의 가상 체험/훈련 장치에서 대부분 허공에서 작업을 진행하며, 사용자의 일부인 손 모델 정도만 보여주고 있어서, 실감 인터랙션으로는 부족한 부분이 있는 것을 고려하여, 실감 체험을 위해 사용자 데이터 및 도구 데이터를 기반으로 실제 객체와 가상 객체를 가상 환경 내 좌표계로 매칭시켜 실감 인터랙션 부분을 증강시킨다.
가상 스팀 세차 훈련을 위해, 객체 매칭 처리부(20)는 도 3에서와 같이 실제 객체인 자동차에 부착된 복수의 IR 마커로부터 획득된 IR 데이터와 실제 자동차의 영상으로부터 획득된 깊이 포인트를 활용하여, 실제 객체의 3차원 위치를 계산한다.
도 6은 본 개시의 실시 예에 따른 IR 마커를 이용한 위치 계산의 예를 나타낸 도이다.
예를 들어, 도 6의 (a)에서와 같이, 실제 자동차인 실제 객체에 IR 마커가 3군데에 각각 부착되어 있는 상태에서 실제 객체에 대한 깊이 정보와 IR 마커에 의한 IR 데이터가 획득된다. 도 6의 (b)에서와 같이, 실제 객체에 대한 깊이 정보로부터 샘플링 포인트를 추출할 수 있으며, IR 데이터를 기반으로 IR 마커의 위치를 계산하며, 추출된 샘플링 포인트와 IR 마커의 위치를 기반으로 실제 객체에 대한 3차원 위치를 계산한다.
객체 매칭 처리부(20)는 실제 객체의 위치와 가상 환경에 적용될 가상 객체(예: 가상 자동차 모형)의 위치를 매칭시킨다. 예를 들어, ICP(iterative closest points) 기법을 적용하여 매칭을 수행할 수 있다. 여기서 실제 세계의 카메라 위치가 월드 좌표계가 되며, 향후 가상 환경에서의 위치 계산은 실제 세계의 월드 좌표계를 기준으로 변환된다.
한편, 사용자 가상화 처리부(30)는 데이터 획득부(10)로부터 전달되는 컬러 정보와 깊이 정보를 이용하여 사용자 가상화 처리를 수행하도록 구성된다. 사용자 가상화 처리부(30)는 도 2에서와 같이, 사용자 영상에 대한 깊이 정보로부터 깊이를 추출하고, 추출된 깊이 데이터와 컬러 정보를 매칭시켜 사용자 가상화를 수행한다. 이러한 사용자 가상화에 따라 사용자의 영상에 대한 컬러 데이터와 깊이 데이터가 획득되며, 이러한 사용자에 대한 깊이 데이터와 컬러 데이터를 가상 훈련 콘텐츠에 가시화함으로써, 사용자는 자신의 모습을 볼 수 있게 된다. 사용자 가상화 처리부(30)는 HMD에 부착된 IR 마커에 의해 획득된 IR 데이터를 기반으로 사용자의 기준 위치를 설정하며, 설정된 사용자의 기준 위치를 기반으로 사용자 가상화를 수행한다. 이를 통해 가상 공간에서 사용자의 위치를 맞출 수 있게 된다.
사용자에 대한 깊이 데이터와 컬러 데이터를 포함하는 사용자 데이터는 배경 데이터와 노이즈를 제거한 데이터를 의미하며, 실시간으로 가시화하기 위해 볼륨 샘플링 기법을 통해 데이터 수가 감소되어서 가상 훈련 콘텐츠 제공부(60)로 제공될 수 있다. 즉, 사용자 데이터의 깊이 데이터와 컬러 데이터에 대한 샘플링 포인트를 생성하여 샘플링 포인트만을 가상 훈련 콘텐츠 제공부(60)로 제공할 수 있다.
가상 훈련 콘텐츠 제공부(60)는 객체 매칭 처리부(20)의 실제 객체의 위치와 가상 환경에 적용될 가상 객체의 위치 매칭 결과와 사용자 가상화 처리부(30)에 의해 가상화 처리된 사용자 데이터(사용자에 대한 깊이 데이터와 컬러 데이터)를 기반으로, 가상 훈련을 위한 콘텐츠를 제공하도록 구성된다.
도 7은 본 개시의 실시 예에 따른 가상 공간에서 제공되는 콘텐츠를 나타낸 예시도이다.
예를 들어, 도 7에서와 같이, 사용자를 찍은 실제 RGB 영상과 깊이(Depth) 영상을 이용하여 사용자 가상화 처리가 이루어지며, 사용자 가상화에 따라 획득되는 사용자에 대한 깊이 데이터와 컬러 데이터를 가상 훈련 콘텐츠에 가시화한다. 즉, 사용자가 부착한 HMD를 통해 가상 훈련 콘텐츠가 제공되면서, 가상 공간에 실제 객체와 위치가 매칭된 가상 객체가 가시화되고 사용자에 대한 가시화가 수행된다. 이때, 사용자는 샘플링 포인트를 기반으로 가시화되면서, 사용자의 일부가 아닌 사용자의 전체 모습이 가시화된다. 따라서 사용자는 자신의 모습을 볼 수 있게 되며, 훈련 도구(스팀 건, 걸레 등)를 이용하여 가상 훈련을 하게 된다.
한편, 사용자 가상화 처리부(30)에 의해 생성된 사용자에 대한 깊이 데이터(샘플링 포인트)는 사용자 자세 추정부(40)로 제공되어 사용자 자세 추정에 사용될 수 있다.
사용자 자세 추정부(40)는 사용자의 자세를 추정하도록 구성된다. 사용자 자세 추정부(40)는 데이터 획득부(10)로부터 전달되는 관절 정보와 깊이 정보 그리고 사용자 가상화 처리부(30)로부터 전달되는 사용자에 대한 깊이 데이터를 이용하여 사용자 자세를 추정할 수 있다. 관절 정보는 인체를 구성하는 주요 골격 예를 들어, 25개 부위(예: 머리 관절(HEAD), 어깨 관절(SHOULDER), 몸 중심 관절(CENTER), 척추 관절(SPINE), 엉덩이 관절(HIP), 팔꿈치 관절(ELBOW), 손목 관절(WRIST), 손끝 관절(HAND), 무릎 관절(KNEE), 발목 관절(ANKLE), 발끝 관절(FOOT) 등)에 대한 위치 및 회전 데이터를 제공할 수 있다. 이러한 관절 정보에 포함되는 관절들은 부모 관절과 자식 관절로 분류될 수 있으며, 부모 관절은 자식 관절의 위치나 방향에 영향을 받지 않는 관절이며, 자식 관절은 부모 관절의 방향에 영향을 받는 관절이다. 이러한 관절 정보를 기반으로 뼈대 정보(skeleton)를 획득할 수 있다.
기존에는 CNN(convolutional neural network) 기법을 적용하여 관절 위치를 추정하는데, 이 경우, 자세가 정면이면서 잘 보이는 경우에 대해서만 좋은 성능을 보이고, 옆으로 움직이거나 사용자의 일부가 가리는 경우에는 노이즈가 심하게 발생한다. 또한 계산 과정이 복잡해서 시간 지연이 발생하면서, 관절 데이터와 깊이 데이터가 맞지 않는 현상이 발생한다. 이러한 노이즈는 키넥트 센서 여러 대를 사용하여 가려짐을 최소화한다고 해도 통합된 결과에 노이즈를 발생시키는 원인이 된다.
도 8은 관절 노이즈를 나타낸 예시도이다.
예를 들어, 다종 센서로서 키넥트 센서가 사용되는 경우, 키넥트 센서에 의해 측정된 키넥트 방향과 사용자 자세에 따라 도 8의 (a)에서와 같이 관절 노이즈가 발생한다. 이러한 관절 노이즈가 포함된 관절 정보를 기반으로 사용자 깊이 데이터의 3차원 샘플링 포인트와 매칭시키면, 도 8의 (b)에서와 같이, 팔과 다리 부분에서 정확한 관절 위치가 추정되지 않는다.
본 개시의 실시 예에서는 가상 훈련에 필수적인 사용자 자세를 정확하게 획득하기 위해 다종 센서에 의해 획득된 관절 정보에 대한 보정을 실시한다. 즉, 다종 센서에 의해 획득된 관절 정보와 깊이 데이터를 활용하여 자세를 보정 및 추정한다. 깊이 데이터는 실제 위치를 반영하기 때문에 더 정확한 위치를 얻을 수 있다는 장점이 있다.
다종 센서(예를 들어, 키넥트 센서)에 의해 매 프레임마다 관절 위치를 추정하면서 관절의 길이가 달라지는데, 본 개시의 실시 예에서는 정확한 자세를 추정하기 위해 관절 길이를 고정시킨다. 이를 위해 인체 측정 데이터(Anthropometric data)를 활용하여 사용자 관절 거리를 계산한다. 본 개시의 실시 예에서 인체 측정 데이터는 남성 키 1905mm, 1775mm, 1640mm에 대한 평균 값을 활용한다. 예를 들어, 1800mm인 남성 사용자의 경우, 1905mm와 1775mm에 대한 관절 길이를 보간(interpolation)하여 적절한 값을 계산하여 활용한다. 다른 키에 대해서도 해당 키 구간에 대한 관절 길이를 보간하여 사용할 수 있다. 사용자의 키는 초기 자세에서 깊이 데이터의 가장 높은 위치와 가장 낮은 위치의 차이를 이용하여 계산할 수 있다.
이와 같이 인체 측정 데이터를 기반으로 인체를 구성하는 각 관절 사이의 거리를 획득한다. 그러나 본 개시은 위에 기술된 것에 한정되지 않는다.
본 개시의 실시 예에서는 관절 사이의 거리(예를 들어, 인체 측정 데이터를 기반으로 고정된 관절 사이의 거리)와 예상 위치를 기반으로 거리 확률 모델을 생성하여, 가장 높은 확률을 갖는 포인트를 기준으로 관절을 추정한다. 이로 인해 팔꿈치, 손목, 무릎, 발목 등의 관절 위치를 보정하며, 또한, 가장 노이즈가 심한 손끝 관절과 발끝 관절은 부모 관절의 주변 포인트를 이용하여 추정한다.
팔과 다리의 관절 추정을 위해, 다종 센서로부터 획득된 관절 정보로부터 획득되는 몸통과 팔, 다리 관절에서부터 샘플 포인트까지 거리의 제곱 값으로 확률 값을 계산한다. 구체적으로, 사용자에 대한 깊이 데이터인 3차원 샘플링 포인트로부터 샘플 포인트를 선택한다. 예를 들어, 다종 센서로부터 획득된 깊이 정보를 기반으로 3차원 샘플링 포인트로부터 샘플 포인트를 선택할 수 있다. 다음에, 선택된 샘플 포인트와 다종 센서로부터 획득된 관절 정보로부터 획득되는 관절 위치를 거리 확률 모델에 적용하여 확률값을 획득한다. 이를 위해, 이전 관절 위치와 샘플 포인트까지의 거리를 기반으로 확률값을 계산하며, 다른 관절 위치와 샘플 포인트까지의 거리를 기반으로 확률값을 계산한다. 여기서, 이전 관절 위치는 이전 프레임에서 관절로 추정된 위치를 나타내며, 다른 관절 위치는 관절 정보로부터 획득된 다른 관절들의 위치를 나타낸다. 예를 들어, 이전 관절 위치는 이전 프레임에서 관절 정보를 보정하여 어깨 관절로 추정된 어깨 관절 위치를 나타내고, 다른 관절 위치는 관절 정보 중 어깨 관절을 제외한 다른 관절들의 위치를 나타낸다.
이러한 확률값들을 기반으로 샘플 포인트에 대한 최종 확률값을 계산한다. 최종 확률값은 다음 수식을 기반으로 계산될 수 있다.
Figure pat00001
여기서, F(x)는 샘플 포인트 x에 대한 최종 확률 값을 나타내며, P는 거리의 제곱에 따른 관절 확률 값을 나타내고, xj는 이전 관절 위치와 샘플 포인트의 거리의 제곱을 나타내며, xk는 다른 관절 위치와 샘플 포인트 사이의 거리의 제곱을 나타낸다.
그리고 P(xj)는 이전 관절 위치와 샘플 포인트 사이의 거리의 제곱에 따른 관절 확률값이며, P(xk)는 다른 관절 위치와 샘플 포인트 사이의 거리의 제곱에 따른 관절 확률값이다.
이전 관절 위치에서부터의 확률 값은 플러스(+)가 되고, 다른 관절 위치에서부터의 확률 값은 마이너스(-)로 계산하여, 최종 합 중 가장 큰 값을 갖는 포인트를 선택한다.
도 9는 본 개시의 실시 예에 따른 거리 확률 모델에 의한 포인트 선택을 나타낸 예시도이다.
거리 확률 모델을 기반으로, 이전 관절 위치를 중심으로 + 값을 가지는 확률값들은 도 9의 A와 같으며, 이전 관절 위치를 중심으로 - 값을 가지는 확률값들은 도 9의 B와 같다.
이러한 확률값들을 가지는 샘플 포인트들 중에서 즉, 위의 수학식 1을 기반으로 획득되는 샘플 포인트들에 대한 최종 확률 값들 중에서, 가장 큰 값의 최종 확률 값을 가지는 샘플 포인트를 관절의 초기 추정 위치로 선택한다.
예를 들어, 어떤 샘플 포인트들의 최종 확률 값이 어깨 관절로 나타난다면, 어깨 관절일 확률 값이 높은 샘플 포인트들 중에서 가장 높은 확률 값을 갖는 샘플 포인트를 어깨 관절 초기 위치로 선택한 후, 선택된 샘플 포인트를 기준으로 주변 포인트를 탐색하여 평균값을 취해 최종 어깨 관절 위치로 정한다. 이러한 최종 관절 위치는 다음의 수식을 기반으로 계산될 수 있다.
Figure pat00002
Around()는 샘플링 포인트(x) 주변 δ 범위 내에 있는 포인트 획득 함수를 나타내며, AVG {}는 포인트 집합에 대한 평균 값 계산 함수를 나타낸다.
이때 수학식 2를 기반으로 획득된 최종 관절 위치는 부모 관절과 추정된 평균 위치(pj) 간 벡터를 계산하고, 이를 노말 벡터로 변환한 후 관절 길이를 곱한 위치로 결정할 수 있다.
예를 들어, 어깨 관절로 추정된 이전 관절 위치와 다른 관절 위치를 기반으로 각 샘플 포인트들에 대해 계산된 최종 확률값들 중에서 가장 큰 값의 최종 확률 값을 가지는 샘플 포인트가 어깨 관절일 수 있으므로, 해당 샘플 포인트가 선택되고, 선택된 주변 포인트들을 탐색하며, 탐색된 주변 포인트들의 평균값을 구하고, 평균값에 대응하는 포인트를 최종적으로 어깨 관절에 대응하는 관절 위치로 사용한다. 그리고 평균값에 대응하는 포인트와 부모 관절 위치를 통해 벡터를 계산하고, 이를 노멀 벡터로 변환하고, 부모 관절에서 변환된 노멀 벡터에 관절 길이를 곱한 값을 최종 관절 위치로 사용한다. 예를 들어, 최종 관절 위치 = 부모 관절 위치 + (평균 위치 - 부모 관절 위치).normal() × 관절 길이의 수식에 따라 계산될 수 있다. 이는, 관절 길이가 변하지 않도록 하기 위함이다.
이러한 과정을 통해, 다종 센서로부터 획득된 관절 정보를 보정하여 각 관절에 대한 최종 관절 위치를 획득한다. 여기서는 손끝 관절과 발끝 관절을 제외한 관절들에 대한 보정이 이루어지며, 손끝 관절과 발끝 관절은 다음과 같이 보정될 수 있다.
손끝 관절과 발끝 관절은 각각 팔꿈치-손목 벡터와 무릎-발목 벡터 방향에 있는 영역에 있는 깊이 데이터에 대해 거리와 각도의 가중치 평균값으로 설정한다. 손끝 관절과 발끝 관절에 대한 최종 관절 위치는 다음 수학식 3을 기반으로 계산될 수 있다.
Figure pat00003
v는 샘플 포인트 s와 부모 관절(pj, 손목/발목) 사이의 벡터를 나타내고, d는 해당 벡터의 거리를 나타내며, a는 해당 벡터의 각도(cos 값)를 나타내고, vp는 상위 관절 간 노말 벡터(예를 들어, 무릎과 발목 사이의 벡터, 팔꿈치와 손목 사이의 벡터)를 나타내며, AVG(s, w)는 샘플 포인트 s와 가중치 w에 의한 평균 값 계산 함수를 나타내고, pe는 최종 끝 관절 위치(손끝 관절의 최종 관절 위치/발끝 관절의 최종 관절 위치)를 나타낸다.
손끝 관절과 발끝 관절의 경우, 팔꿈치-손목 벡터와 무릎-발목 벡터 방향에 있는 영역에 있는 주변 포인트들 즉, 샘플 포인트들에 대해서 각각, 위의 수학식 3을 기반으로 거리(d)와 각도(a)를 구하고, 거리(d)와 각도(a)를 곱해서 가중치 w를 구하며, 샘플 포인트별로 구해진 가중치들의 평균값을 구하고, 계산된 평균값을 최종 끝 관절 위치 즉, 손끝 관절의 최종 관절 위치 또는 발끝 관절의 최종 관절 위치로 결정한다.
위에 기술된 바와 같은 관절 보정 및 추정을 통해 획득된 관절 데이터(최종 관절 위치)를 기반으로 사용자의 자세를 추정한다.
도 10은 본 개시의 실시 예에 따른 자세 추정 결과를 나타낸 예시도이다.
다종 센서로부터 획득된 관절 정보에 대해 보정이 이루어지지 않고 자세 추정이 이루어지는 경우에는 도 10에 예시된 바와 같이 관절이 아닌 포인트들(joint error)이 관절로 추정된다. 그러나 위에 기술된 바와 같이 관절 정보에 대해 관절 보정을 수행하고 관절 보정에 따라 획득된 관절 데이터(joint correction)를 기반으로 정확한 자세 추정이 이루어질 수 있다.
한편, 도구 자세 추정부(50)는 훈련 도구의 자세를 추정하도록 구성되며, 깊이 정보와 IR 데이터를 이용하여 훈련 도구의 자세를 추정한다.
가상 훈련에 필요한 도구의 자세를 인식하기 위해 IR 마커를 활용한다. 도 4에 예시된 바와 같이 훈련 도구에 복수의 IR 마커를 부착하고, 다종 센서로부터 획득되는 IR 데이터를 기반으로 훈련 도구에 대한 3차원 위치를 추정한다. 기존에는 2대 이상의 IR 센서를 이용하여 획득되는 IR 데이터들을 기반으로 삼각 측량법을 이용하여 3차원 위치를 추정하는데 이 경우 어느 한 쪽에서 가려짐이 발생하는 경우에는 3차원 위치를 구할 수 없다. 본 개시의 실시 예에서는 깊이 데이터와 IR 데이터간 매핑 관계를 통해 IR 마커의 3차원 위치를 추정한다. 이에 따라, 한 대의 IR 센서를 사용하여도 3차원 위치 추정이 가능하다.
도 11은 본 개시의 실시 예에 따른 깊이 데이터 기반 IR 데이터 추적 과정을 나타낸 예시도이다.
IR 센서에 의해 획득되는 IR 영상 즉, IR 데이터에서는 오직 IR 마커에 해당하는 부분만 추출되고, 카메라에 의해 획득된 영상의 깊이 정보에서는 IR 마커에 대응하는 데이터가 나타나지 않는 특징을 이용하여, 카메라에 의해 획득된 깊이 정보의 픽셀 중심점과 IR 센서에 의해 획득된 IR 데이터의 픽셀 중심점을 일치시킨다. 이 상태에서, 도 11에서와 같이, IR 데이터의 픽셀 중심점(IR 마커 센터)을 기준으로 깊이 정보에서 위(Up), 아래(Down), 좌(Left), 우(Right) 방향으로 깊이 데이터가 있는 픽셀들을 추출한다. IR 데이터의 픽셀 중심점을 기준으로 추출되는 주변의 픽셀들은 다음의 수식에 따라 계산될 수 있다.
Figure pat00004
여기서, Cy 와 Cx는 기준이 되는 픽셀(예를 들어, IR 데이터의 픽셀 중심점)의 좌표를 나타내고, Image_width는 픽셀의 폭을 나타낸다.
neighbor는 기준이 되는 픽셀의 좌표를 기준으로 소정 방향으로 탐색되는 픽셀들을 나타낸다. 예를 들어, "Uppixel"의 경우, "neighbor (좌우로 1픽셀 - 총 3픽셀 탐색)"는 기준이 되는 픽셀(예를 들어, 도 10에서 "center(zij)")과, 기준이 되는 픽셀의 좌측의 1개의 픽셀 그리고 기준이 되는 픽셀의 우측의 1개의 픽셀로부터 각각 위(Up) 방향으로 3개의 픽셀들을 탐색하는 것을 나타내며, 이에 따라 도 10에서와 같이, P1으로 표시되는 복수의 깊이 데이터를 가지는 픽셀들이 추출된다. 이러한 방식으로, 기준이 되는 픽셀의 위(Up), 아래(Down), 좌(Left), 우(Right) 방향으로 각각 깊이 데이터가 있는 픽셀들을 추출한다.
추출되는 픽셀들의 수가 미리 설정된 K개가 되면, 추출된 픽셀들을 3차원 위치로 변환시킨다. 여기서, 3차원 위치로의 변환은 다음 수식에 따라 이루어질 수 있다.
Figure pat00005
w는 이미지에서 x축 방향에서의 픽셀 위치를 나타내며, h는 이미지에서 y축 방향에서의 픽셀 위치를 나타낸다. Depthwh는 해당 픽셀의 깊이 정보를 나타내며, principal_point_x와 principal_point_y는 광학축과 이미지 평면이 만나는 주점을 나타내고, focal_length_x와 focal_length_y는 초점 거리를 나타낸다.
이러한 3차원 위치 변환에 따라 추출된 픽셀들에 대해 3차원 위치들 {{X1, Y1, Z1}, … , {Xi, Yi, Zi}, …, {Xk, Yk, Zk}}이 획득되며, 이들 3차원 위치들의 평균값을 최종적으로 IR 마커의 3차원 위치 즉, 3차원 마커 위치로 사용한다.
도 12는 본 개시의 실시 예에 따른 IR 마커의 3차원 위치 추적 결과를 나타낸 예시도이다.
도 12의 (a)에 예시된 바와 같은 IR 데이터로부터 획득된 IR 마커의 픽셀에 대해, 위에 기술된 바와 같이 픽셀 위치와 깊이 정보의 위치 매칭과 위치 매칭을 반으로 한 복수의 방향으로의 주변 픽셀 탐색을 수행하고(도 12의 (b)), 탐색된 주변 픽셀들을 기반으로 획득된 평균값을 가지는 위치를 3차원 위치로 변환하고, 변환된 위치들의 평균값을 토대로 3차원 마커 위치를 획득한다(도 12의 (c)).
도구 자세 추정부(50)는 위에 기술된 바와 같이 깊이 정보와 IR 데이터간 매핑 관계를 통해 IR 마커의 3차원 위치를 추정하고, 추정된 IR 마커의 3차원 위치를 기반으로 훈련 도구의 자세를 추정한다.
한편, 사용자 훈련 평가부(70)는 사용자 자세와 도구 자세를 통해 훈련 성과를 평가하도록 구성된다. 사용자 자세 추정부(30)로부터 제공되는 사용자 자세 추정 결과와 도구 자세 추정부(40)로부터 제공되는 훈련 도구 자세 추정 결과 그리고, 데이터 획득부(10)로부터 제공되는 다종 센서에 의한 센서 데이터(예를 들어, 압력 센서, 버튼 센서 등)를 기반으로, 가상 훈련이 어떻게 수행되었는지를 평가할 수 있다.
도 13 그리고 도 14a 내지 도 14c는 본 개시의 실시 예에 따른 훈련 평가를 나타낸 예시도이다.
예를 들어, 가상 스팀 세차 훈련의 경우, 스팀 건의 분사 위치, 분사 거리, 분사 방향을 통해 자동차에 고르게 잘 분사했는지를 확인할 수 있다.
훈련 평가 후, 도 13의 (a)에서와 같이, 훈련 평가 결과를 가상 콘텐츠에 표시할 수 있다. 예를 들어, 스팀 건의 분사 위치가 자동차로부터 떨어진 정도에 따라 상이한 색상을 가지는 구를 표시하여, 사용자가 스팀 건을 작동시키는 상태를 확인할 수 있도록 할 수 있다.
또는 도 13의 (b)에서와 같이, 스팀 건의 분사 위치와 분사 방향을 기반으로 훈련 대상인 자동차로 분사가 잘 이루어지는 것을 평가하고, 또한, 훈련자의 안전을 위해, 스팀 건 분사 방향이 훈련자의 몸이나 주변 다른 사람들을 향하는지를 판단하고, 이러한 경우에 위험 상황을 경고할 수 있다.
또한, 사용자 자세 추정 결과를 기반으로 도 14a에 예시된 바와 같이, 훈련자가 훈련 대상인 자동차에 적절하게 터치하면서 훈련이 수행되는지를 표시하고, 훈련자의 스팀 건의 스팀 분사에 따른 스팀 분사 점수를 도 14b에 예시된 바와 같이 표시하면서, 분사 시점을 별도의 색(예를 들어, 녹색)으로 표시하여 적절한 스팀 분사가 이루어지도록 할 수 있다.
또한, 걸레의 위치와 압력 값을 통해 적절한 힘으로 고르게 잘 닦았는지를 평가하고, 도 14c에서와 같이 걸레질 점수를 표시하거나, 일정 압력 이상으로 적절한 세차가 이루어지는 경우에는 특정 색상의 표시를 수행할 수 있다. 따라서 훈련자는 가상 스팀 세차 훈련을 하면서 얼마나 깨끗하게 세차를 하고 있는지를 인지할 수 있다.
다음에는 이러한 구조로 이루어지는 장치를 기반으로, 본 개시의 실시 예에 따른 가상 훈련 방법에 대해 설명한다.
도 15는 본 개시의 실시 예에 따른 가상 훈련 방법의 흐름도이다.
가상 훈련 장치(1)는 도 15에 도시된 바와 같이, 다종 센서를 통해 가상 훈련을 위한 각종 데이터를 획득한다(S100). 각종 데이터는 깊이 영상, 칼라 영상, IR 데이터, 압력 센서의 압력 데이터, 버튼 센서의 버튼 작동 데이터 등을 포함한다.
이후, 획득된 실제 객체의 깊이 영상과 컬러 영상 그리고 IR 데이터를 토대로 실제 객체의 3차원 위치를 획득하고, 획득된 실제 객체의 3차원 위치와 가상 환경에 적용될 가상 객체(예: 가상 자동차 모형)의 위치를 매칭시킨다(S110).
그리고, 사용자 영상에 대한 깊이 정보로부터 깊이를 추출하고, 추출된 깊이 데이터와 컬러 정보를 매칭시켜 사용자 가상화를 수행한다(S120). 이러한 사용자 가상화에 따라 사용자의 영상에 대한 컬러 데이터와 깊이 데이터가 획득된다.
이러한 사용자에 대한 깊이 데이터와 컬러 데이터를 가상 훈련 콘텐츠에 가시화한다(S130). 여기서, 사용자 데이터의 깊이 데이터와 컬러 데이터에 대한 샘플링 포인트를 기반으로 가시화가 수행될 수 있다. 예를 들어, 사용자가 부착한 HMD를 통해 가상 훈련 콘텐츠가 제공되면서, 도 7에 예시된 바와 같이, 가상 공간에 실제 객체와 위치가 매칭된 가상 객체가 가시화되고 사용자에 대한 가시화가 수행된다. 이러한 가시화를 통해 사용자는 자신의 일부가 아닌 자신의 전체 모습을 볼 수 있게 되며, 훈련 도구(스팀 건, 걸레 등)를 이용하여 가상 훈련을 하게 된다. 이때, 가상 객체가 실제 객체와 매칭되어 가시화됨에 따라, 사용자는 가상 객체와 인터랙션을 하면 실제 객체를 터치하게 되므로 실감을 얻을 수 있다.
또한, 가상 훈련 장치(1)는, 관절 정보와 깊이 정보 그리고 사용자에 대한 깊이 데이터를 이용하여 사용자 자세를 추정하며, 이를 위해, 관절 정보에 대한 보정을 수행하고(S140), 보정된 관절 정보를 이용하여 사용자 자세를 추정한다(S150). 관절 정보에 대한 보정을 수행하는 과정은 위에 기술된 설명을 참조하며, 여기서는 상세한 설명을 생략한다.
또한, 가상 훈련 장치(1)는 깊이 정보와 IR 데이터를 이용하여 훈련 도구의 자세를 추정한다. 이를 위해, 깊이 정보와 IR 데이터를 매칭시켜 중심점을 일치시킨 다음에 중심점을 기준으로 깊이 정보로부터 주변 픽셀들을 추출하고, 추출된 픽셀들의 위치를 기반으로 도구에 부착된 IR 마커의 3차원 위치를 획득한다(S160). 그리고 IR 마커의 3차원 위치를 기반으로 훈련 도구의 자세를 추정한다(S170). 이러한 IR 마커의 3차원 위치 획득과 도구 자세 추정은 위에 기술된 설명을 참조하며, 여기서는 상세한 설명을 생략한다.
다음에, 가상 훈련 장치(1)는 사용자 자세 추정 결과와 도구 자세 추정 결과 그리고, 다종 센서에 의한 센서 데이터(예를 들어, 압력 센서, 버튼 센서 등)를 기반으로, 가상 훈련에 대한 성과를 평가한다(S180). 예를 들어, 압력 데이터를 기반으로 걸레에 가해지는 힘을 추정하고, 버튼 작동 데이터를 기반으로 스팀 건의 분사 시점을 확인하며, 추정된 힘과 분사 시점 그리고 추정된 사용자 자세와 추정된 훈련 도구의 자세를 기반으로 가상 스팀세차 훈련에 대한 성과를 평가할 수 있다.
도 16은 본 개시의 실시 예에 따른 가상 훈련 방법을 구현하기 위한 컴퓨팅 장치를 설명하기 위한 구조도이다.
첨부한 도 16에 도시되어 있듯이, 본 개시의 일 실시 예에 따른 가상 훈련 방법은 컴퓨팅 장치(100)를 이용하여 구현될 수 있다.
컴퓨팅 장치(100)는 프로세서(110), 메모리(120), 입력 인터페이스 장치(130), 출력 인터페이스 장치(140), 및 저장 장치(150) 중 적어도 하나를 포함할 수 있다. 각각의 구성 요소들은 버스(bus)(160)에 의해 연결되어 서로 통신을 수행할 수 있다. 또한, 각각의 구성 요소들은 공통 버스(160)가 아니라, 프로세서(110)를 중심으로 개별 인터페이스 또는 개별 버스를 통하여 연결될 수도 있다.
프로세서(110)는 AP(Application Processor), CPU(Central Processing Unit), GPU(Graphic Processing Unit) 등과 같은 다양한 종류들로 구현될 수 있으며, 메모리(120) 또는 저장 장치(150)에 저장된 명령을 실행하는 임의의 반도체 장치일 수 있다. 프로세서(110)는 메모리(120) 및 저장 장치(150) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 이러한 프로세서(110)는 위의 도 1 내지 도 15를 토대로 설명한 기능 및 방법들을 구현하도록 구성될 수 있다. 예를 들어, 프로세서(110)는 객체 매칭 처리부, 사용자 가상화 처리부, 사용자 자세 추정부, 도구 자세 추정부, 가상 훈련 콘텐츠 제공부, 훈련 평가부의 기능을 수행하도록 구성될 수 있다.
메모리(120) 및 저장 장치(150)는 다양한 형태의 휘발성 또는 비 휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(read-only memory)(121) 및 RAM(random access memory)(122)를 포함할 수 있다. 본 개시의 실시 예에서 메모리(120)는 프로세서(110)의 내부 또는 외부에 위치할 수 있고, 메모리(120)는 이미 알려진 다양한 수단을 통해 프로세서(110)와 연결될 수 있다.
입력 인터페이스 장치(130)는 데이터(예를 들어, 다종 센서에 의해 획득되는 각종 데이터)를 프로세서(110)로 제공하도록 구성되며, 출력 인터페이스 장치(140)는 프로세서(110)로부터의 데이터(예를 들어, 가상 훈련 콘텐츠)를 출력하도록 구성된다.
이러한 구조로 이루어지는 컴퓨팅 장치(100)는 가상 훈련 장치로 명명되어, 본 개시의 일 실시 예에 따른 가상 훈련 방법을 구현할 수 있다.
또한, 본 개시의 일 실시 예에 따른 가상 훈련 방법 중 적어도 일부는 컴퓨팅 장치(100)에서 실행되는 프로그램 또는 소프트웨어로 구현될 수 있고, 프로그램 또는 소프트웨어는 컴퓨터로 판독 가능한 매체에 저장될 수 있다.
또한, 본 개시의 일 실시 예에 따른 가상 훈련 방법 중 적어도 일부는 컴퓨팅 장치(100)와 전기적으로 접속될 수 있는 하드웨어로 구현될 수도 있다.
본 개시의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 개시의 실시예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 개시가 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 개시의 실시 예에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속하는 것이다.

Claims (20)

  1. 가상 훈련 방법으로서,
    훈련 장치가, 가상 훈련을 위한 데이터를 획득하며, 상기 획득된 데이터에 포함된 실제 객체의 깊이 영상과 컬러 영상 그리고 IR(infrared) 데이터를 토대로 상기 실제 객체의 3차원 위치를 획득하는 단계;
    상기 훈련 장치가, 상기 획득된 실제 객체의 3차원 위치와 가상 환경에 적용될 가상 객체의 위치를 매칭시키는 단계;
    상기 훈련 장치가, 상기 획득된 데이터에 포함된 사용자 영상에 대한 깊이 정보로부터 깊이를 추출하고, 추출된 깊이와 컬러 정보를 매칭시켜 사용자의 전체 모습에 대한 가상화를 수행하는 단계;
    상기 훈련 장치가, 상기 사용자에 대한 가상화에 따라 획득되는 사용자에 대한 깊이 데이터와 컬러 데이터를 가상 훈련 콘텐츠에 가시화하는 단계;
    상기 훈련 장치가, 상기 획득된 데이터에 포함된 관절 정보와 깊이 정보 그리고 사용자에 대한 깊이 데이터를 이용하여 상기 관절 정보에 대한 보정을 수행하고, 상기 보정된 관절 정보를 이용하여 사용자 자세를 추정하는 단계; 및
    상기 훈련 장치가, 상기 획득된 데이터에 포함된 깊이 정보와 IR 데이터를 이용하여 훈련 도구의 자세를 추정하는 단계
    를 포함하는 가상 훈련 방법.
  2. 제1항에 있어서,
    상기 사용자 자세를 추정하는 단계는,
    상기 사용자에 대한 가상화에 따라 획득되는 사용자에 대한 깊이 데이터로부터 선택되는 샘플 포인트들과 상기 관절 정보로부터 획득되는 관절 위치를 거리 확률 모델에 적용하여 획득되는 확률값들을 기반으로 최종 관절 위치들을 획득하고, 상기 획득된 최종 관절 위치들을 이용하여 사용자 자세를 추정하는, 가상 훈련 방법.
  3. 제2항에 있어서,
    상기 사용자 자세를 추정하는 단계는,
    상기 사용자에 대한 가상화에 따라 획득되는 사용자에 대한 깊이 데이터로부터 샘플 포인트들을 선택하고, 상기 샘플 포인트와 상기 관절 정보로부터 획득되는 관절 위치를 거리 확률 모델에 적용하여 확률값을 획득하는 단계;
    상기 샘플 포인트별로 획득되는 확률값을 기반으로 설정 조건을 만족하는 샘플 포인트를 선택하는 단계; 및
    상기 설정 조건을 만족하는 샘플 포인트의 주변 포인트들의 평균값을 기반으로 최종 관절 위치를 결정하는 단계
    를 포함하는, 가상 훈련 방법.
  4. 제3항에 있어서,
    상기 설정 조건을 만족하는 샘플 포인트를 선택하는 단계는,
    이전 관절 위치와 샘플 포인트까지의 거리의 제곱을 기반으로 획득되는 확률값과 다른 관절 위치와 상기 샘플 포인트까지의 거리의 제곱을 기반으로 획득되는 확률값을 토대로, 상기 샘플 포인트에 대한 최종 확률값을 획득하는 단계; 및
    샘플 포인트별로 획득되는 최종 확률값들 중에서, 가장 큰 값의 최종 확률값을 가지는 샘플 포인트를 선택하는 단계
    를 포함하는, 가상 훈련 방법.
  5. 제3항에 있어서,
    상기 최종 관절 위치를 결정하는 단계는,
    상기 설정 조건을 만족하는 샘플 포인트의 주변 포인트들의 평균값을 구하고, 상기 평균값을 가지는 포인트를 관절의 초기 위치로 결정하며, 상기 초기 위치와 부모 관절 위치를 통해 계산되는 벡터를 노말 벡터로 변환하고, 상기 노말 벡터에 관절 길이를 곱한 값을 최종 관절 위치로 결정하는, 가상 훈련 방법.
  6. 제2항에 있어서,
    상기 사용자 자세를 추정하는 단계는,
    상기 관절 정보 중 손끝 관절과 발끝 관절의 경우, 상기 사용자에 대한 가상화에 따라 획득되는 사용자에 대한 깊이 데이터로부터 선택되는 샘플 포인트들 중에서 설정 영역에 있는 포인트들을 선택하고, 선택된 포인트들에 대해서 거리와 각도를 기반으로 하는 가중치들을 구하고, 상기 가중치들을 기반으로 상기 손끝 관절에 대한 최종 관절 위치 또는 상기 발끝 관절에 대한 최종 관절 위치를 결정하고, 상기 결정된 최종 관절 위치들을 이용하여 사용자 자세를 추정하는, 가상 훈련 방법.
  7. 제6항에 있어서,
    상기 설정 영역은 팔꿈치-손목 벡터와 무릎-발목 벡터 방향에 있는 영역이며,
    상기 사용자 자세를 추정하는 단계는 상기 가중치들의 평균값을 상기 손끝 관절에 대한 최종 관절 위치 또는 상기 발끝 관절에 대한 최종 관절 위치로 결정하는, 가상 훈련 방법.
  8. 제1항에 있어서,
    상기 훈련 도구의 자세를 추정하는 단계는,
    상기 획득된 데이터에 포함된 깊이 정보와 훈련 도구에 부착된 IR 마커로부터 획득되는 IR 데이터의 중심점을 매칭시키고, 상기 매칭된 중심점을 기준으로 상기 깊이 정보로부터 추출되는 깊이 데이터를 가지는 픽셀들의 위치를 기반으로, 상기 IR 데이터에 의해 획득된 IR 마커의 위치를 결정하고, 상기 결정된 IR 마커의 위치를 토대로 상기 훈련 도구의 자세를 추정하는, 가상 훈련 방법.
  9. 제8항에 있어서,
    상기 훈련 도구의 자세를 추정하는 단계는,
    상기 획득된 데이터에 포함된 깊이 정보의 중심점과 훈련 도구에 부착된 IR 마커로부터 획득되는 IR 데이터의 중심점을 매칭시키는 단계;
    상기 매칭된 중심점을 기준으로 상기 깊이 정보로부터 위, 아래, 좌, 우 각각의 방향에 있는 깊이 데이터를 가지는 픽셀들을 추출하는 단계;
    상기 추출되는 픽셀들의 위치를 3차원 위치로 변환하는 단계;
    상기 추출되는 픽셀들의 3차원 위치들의 평균값을 가지는 픽셀의 3차원 위치를 상기 IR 마커의 위치로 결정하는 단계; 및
    상기 결정된 IR 마커의 위치를 토대로 상기 훈련 도구의 자세를 추정하는 단계
    를 포함하는, 가상 훈련 방법.
  10. 제9항에 있어서,
    상기 깊이 데이터를 가지는 픽셀들을 추출하는 단계는, 상기 깊이 정보로부터 위, 아래, 좌, 우 각각의 방향에 있는 깊이 데이터를 가지는 픽셀들을 탐색하여, 탐색되는 픽셀들의 수가 설정 개수인 경우에 탐색을 종료하는, 가상 훈련 방법.
  11. 제1항에 있어서,
    상기 가상 훈련은 가상 스팀세차 훈련이고, 상기 실제 객체는 자동차이며, 상기 가상 객체는 가상의 자동차이고, 상기 훈련 도구는 걸레와 스팀 건을 포함하며, 상기 획득된 데이터는 상기 걸레에 삽입된 압력 센서로부터 획득되는 압력 데이터와 상기 스팀 건에 포함된 버튼 센서로부터 획득되는 버튼 작동 데이터를 포함하는, 가상 훈련 방법.
  12. 제11항에 있어서,
    상기 훈련 도구의 자세를 추정하는 단계 이후에,
    상기 압력 데이터를 기반으로 상기 걸레에 가해지는 힘을 추정하고, 상기 버튼 작동 데이터를 기반으로 상기 스팀 건의 분사 시점을 확인하며, 상기 추정된 힘과 상기 분사 시점 그리고 상기 추정된 사용자 자세와 상기 추정된 훈련 도구의 자세를 기반으로 상기 가상 스팀세차 훈련에 대한 성과를 평가하는 단계
    를 더 포함하는 가상 훈련 방법.
  13. 가상 훈련 장치로서,
    다종 센서로부터 가상 훈련을 위한 데이터를 입력받도록 구성된 인터페이스 장치; 및
    상기 인터페이스 장치를 통해 입력되는 상기 데이터를 기반으로 가상 훈련 콘텐츠를 제공하도록 구성된 프로세서
    를 포함하고,
    상기 프로세서는,
    상기 인터페이스 장치를 통해 입력되는 데이터에 포함된 실제 객체의 깊이 영상과 컬러 영상 그리고 IR(infrared) 데이터를 토대로 상기 실제 객체의 3차원 위치를 획득하는 동작;
    상기 획득된 실제 객체의 3차원 위치와 가상 환경에 적용될 가상 객체의 위치를 매칭시키는 동작;
    상기 인터페이스 장치를 통해 입력되는 데이터에 포함된 사용자 영상에 대한 깊이 정보로부터 깊이를 추출하고, 추출된 깊이와 컬러 정보를 매칭시켜 사용자의 전체 모습에 대한 가상화를 수행하는 동작;
    상기 사용자에 대한 가상화에 따라 획득되는 사용자에 대한 깊이 데이터와 컬러 데이터를 가상 훈련 콘텐츠에 가시화하는 동작;
    상기 인터페이스 장치를 통해 입력되는 데이터에 포함된 관절 정보와 깊이 정보 그리고 사용자에 대한 깊이 데이터를 이용하여 상기 관절 정보에 대한 보정을 수행하고, 상기 보정된 관절 정보를 이용하여 사용자 자세를 추정하는 동작; 및
    상기 인터페이스 장치를 통해 입력되는 데이터에 포함된 깊이 정보와 IR 데이터를 이용하여 훈련 도구의 자세를 추정하는 동작
    을 수행하도록 구성되는, 가상 훈련 장치.
  14. 제13항에 있어서,
    상기 프로세서는 상기 사용자 자세를 추정하는 동작 수행시,
    상기 사용자에 대한 가상화에 따라 획득되는 사용자에 대한 깊이 데이터로부터 샘플 포인트들을 선택하고, 상기 샘플 포인트와 상기 관절 정보로부터 획득되는 관절 위치를 거리 확률 모델에 적용하여 확률값을 획득하는 동작;
    상기 샘플 포인트별로 획득되는 확률값을 기반으로 설정 조건을 만족하는 샘플 포인트를 선택하는 동작; 및
    상기 설정 조건을 만족하는 샘플 포인트의 주변 포인트들의 평균값을 기반으로 최종 관절 위치를 결정하는 동작
    을 수행하도록 구성되는, 가상 훈련 장치.
  15. 제14항에 있어서,
    상기 프로세서는 상기 설정 조건을 만족하는 샘플 포인트를 선택하는 동작 수행시,
    이전 관절 위치와 샘플 포인트까지의 거리의 제곱을 기반으로 획득되는 확률값과 다른 관절 위치와 상기 샘플 포인트까지의 거리의 제곱을 기반으로 획득되는 확률값을 토대로, 상기 샘플 포인트에 대한 최종 확률값을 획득하는 동작; 및
    샘플 포인트별로 획득되는 최종 확률값들 중에서, 가장 큰 값의 최종 확률값을 가지는 샘플 포인트를 선택하는 동작
    을 수행하도록 구성되는, 가상 훈련 장치.
  16. 제14항에 있어서,
    상기 프로세서는 상기 최종 관절 위치를 결정하는 동작 수행시,
    상기 설정 조건을 만족하는 샘플 포인트의 주변 포인트들의 확률값들의 평균값을 구하고, 상기 평균값을 가지는 포인트를 관절의 초기 위치로 결정하며, 상기 초기 위치와 부모 관절 위치를 통해 계산되는 벡터를 노말 벡터로 변환하고, 상기 노말 벡터에 관절 길이를 곱한 값을 최종 관절 위치로 결정하는, 가상 훈련 장치.
  17. 제14항에 있어서,
    상기 프로세서는 상기 사용자 자세를 추정하는 동작 수행시,
    상기 관절 정보 중 손끝 관절과 발끝 관절의 경우, 상기 사용자에 대한 가상화에 따라 획득되는 사용자에 대한 깊이 데이터로부터 선택되는 샘플 포인트들 중에서 설정 영역에 있는 포인트들을 선택하고, 선택된 포인트들에 대해서 거리와 각도를 기반으로 하는 가중치들을 구하고, 상기 가중치들의 평균값을 상기 손끝 관절에 대한 최종 관절 위치 또는 상기 발끝 관절에 대한 최종 관절 위치를 결정하고, 상기 결정된 최종 관절 위치들을 이용하여 사용자 자세를 추정하도록 구성되는, 가상 훈련 장치.
  18. 제13항에 있어서,
    상기 프로세서는 상기 훈련 도구의 자세를 추정하는 동작 수행시,
    상기 획득된 데이터에 포함된 깊이 정보와 훈련 도구에 부착된 IR 마커로부터 획득되는 IR 데이터의 중심점을 매칭시키고, 상기 매칭된 중심점을 기준으로 상기 깊이 정보로부터 추출되는 깊이 데이터를 가지는 픽셀들의 위치를 기반으로, 상기 IR 데이터에 의해 획득된 IR 마커의 위치를 결정하고, 상기 결정된 IR 마커의 위치를 토대로 상기 훈련 도구의 자세를 추정하도록 구성되는, 가상 훈련 장치.
  19. 제18항에 있어서,
    상기 프로세서는 상기 훈련 도구의 자세를 추정하는 동작 수행시,
    상기 획득된 데이터에 포함된 깊이 정보의 중심점과 훈련 도구에 부착된 IR 마커로부터 획득되는 IR 데이터의 중심점을 매칭시키는 동작;
    상기 매칭된 중심점을 기준으로 상기 깊이 정보로부터 위, 아래, 좌, 우 각각의 방향에 있는 깊이 데이터를 가지는 픽셀들을 추출하는 동작;
    상기 추출되는 픽셀들의 위치를 3차원 위치로 변환하는 동작;
    상기 추출되는 픽셀들의 3차원 위치들의 평균값을 가지는 픽셀의 3차원 위치를 상기 IR 마커의 위치로 결정하는 동작; 및
    상기 결정된 IR 마커의 위치를 토대로 상기 훈련 도구의 자세를 추정하는 동작
    을 수행하도록 구성되는, 가상 훈련 장치.
  20. 제13항에 있어서,
    상기 가상 훈련은 가상 스팀세차 훈련이고, 상기 실제 객체는 자동차이며, 상기 가상 객체는 가상의 자동차이고, 상기 훈련 도구는 걸레와 스팀 건을 포함하며, 상기 획득된 데이터는 상기 걸레에 삽입된 압력 센서로부터 획득되는 압력 데이터와 상기 스팀 건에 포함된 버튼 센서로부터 획득되는 버튼 작동 데이터를 포함하며,
    상기 프로세서는 상기 훈련 도구의 자세를 추정하는 동작 이후에, 추가적으로
    상기 압력 데이터를 기반으로 상기 걸레에 가해지는 힘을 추정하고, 상기 버튼 작동 데이터를 기반으로 상기 스팀 건의 분사 시점을 확인하며, 상기 추정된 힘과 상기 분사 시점 그리고 상기 추정된 사용자 자세와 상기 추정된 훈련 도구의 자세를 기반으로 상기 가상 스팀세차 훈련에 대한 성과를 평가하는 동작을 수행하도록 구성되는, 가상 훈련 장치.









KR1020200154797A 2020-11-18 2020-11-18 실감 인터랙션 기반의 가상 훈련 방법 및 장치 KR102594249B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200154797A KR102594249B1 (ko) 2020-11-18 2020-11-18 실감 인터랙션 기반의 가상 훈련 방법 및 장치
US17/528,401 US11887257B2 (en) 2020-11-18 2021-11-17 Method and apparatus for virtual training based on tangible interaction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200154797A KR102594249B1 (ko) 2020-11-18 2020-11-18 실감 인터랙션 기반의 가상 훈련 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220067965A true KR20220067965A (ko) 2022-05-25
KR102594249B1 KR102594249B1 (ko) 2023-10-26

Family

ID=81587832

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200154797A KR102594249B1 (ko) 2020-11-18 2020-11-18 실감 인터랙션 기반의 가상 훈련 방법 및 장치

Country Status (2)

Country Link
US (1) US11887257B2 (ko)
KR (1) KR102594249B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116172561B (zh) * 2023-04-20 2023-08-29 浙江强脑科技有限公司 一种反应力训练评估方法、装置、终端设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160121379A (ko) * 2015-04-09 2016-10-19 한국전자통신연구원 골프 동작 분석 장치 및 방법
KR20180064907A (ko) * 2016-12-06 2018-06-15 한국전자통신연구원 3차원 인체 부위정보 인식 및 가시화 장치 및 방법
JP2018101124A (ja) * 2016-11-07 2018-06-28 リンカーン グローバル,インコーポレイテッド シミュレートされたオブジェクトおよび実世界のオブジェクトを表示するヘッドアップディスプレイを使用する溶接訓練機
KR101960929B1 (ko) * 2016-09-29 2019-03-22 주식회사 아이엠랩 기초 응급 구조 훈련 시뮬레이션 시스템
KR20200117633A (ko) * 2019-04-05 2020-10-14 주식회사 에이알미디어웍스 혼합현실 기반의 소방 체험 시스템

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101546654B1 (ko) 2012-06-26 2015-08-25 한국과학기술원 웨어러블 증강현실 환경에서 증강현실 서비스 제공 방법 및 장치
KR101401656B1 (ko) 2012-12-27 2014-06-02 전자부품연구원 동작인식 기반의 가상훈련 시스템 및 그 제어방법
JP6433149B2 (ja) * 2013-07-30 2018-12-05 キヤノン株式会社 姿勢推定装置、姿勢推定方法およびプログラム
KR102077108B1 (ko) 2013-09-13 2020-02-14 한국전자통신연구원 콘텐츠 체험 서비스 제공 장치 및 그 방법
KR101636360B1 (ko) 2015-10-26 2016-07-06 국방과학연구소 가상 현실을 이용한 가상 정비 훈련 시스템
KR102113997B1 (ko) 2016-01-11 2020-05-22 전자부품연구원 원격 다중 훈련자 참여형 파이프 분해조립 가상 훈련 시스템
KR101910529B1 (ko) 2016-01-28 2018-10-22 엠더블유엔테크 주식회사 가상현실 소방체험 시스템
WO2018187171A1 (en) * 2017-04-04 2018-10-11 Usens, Inc. Methods and systems for hand tracking
KR102084252B1 (ko) 2017-11-29 2020-03-03 한국전자통신연구원 단일 카메라 영상을 이용하여 초기 3차원 궤적 및 속도를 동시에 복원하는 시스템 및 그 방법
KR102115234B1 (ko) 2018-11-09 2020-05-26 (주)솔트웍스 안전사고 가상 체험 시스템 및 그 방법
KR102016676B1 (ko) 2018-12-14 2019-08-30 주식회사 홀로웍스 발달장애아를 위한 vr기반의 트레이닝 시스템
KR101969050B1 (ko) 2019-01-16 2019-04-15 주식회사 컨티넘 자세 추정
FR3098332B1 (fr) * 2019-07-05 2022-01-07 Fond B Com Procédé et dispositif de détermination de l’amplitude d’un mouvement effectué par un membre d’un corps articulé

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160121379A (ko) * 2015-04-09 2016-10-19 한국전자통신연구원 골프 동작 분석 장치 및 방법
KR101960929B1 (ko) * 2016-09-29 2019-03-22 주식회사 아이엠랩 기초 응급 구조 훈련 시뮬레이션 시스템
JP2018101124A (ja) * 2016-11-07 2018-06-28 リンカーン グローバル,インコーポレイテッド シミュレートされたオブジェクトおよび実世界のオブジェクトを表示するヘッドアップディスプレイを使用する溶接訓練機
KR20180064907A (ko) * 2016-12-06 2018-06-15 한국전자통신연구원 3차원 인체 부위정보 인식 및 가시화 장치 및 방법
KR20200117633A (ko) * 2019-04-05 2020-10-14 주식회사 에이알미디어웍스 혼합현실 기반의 소방 체험 시스템

Also Published As

Publication number Publication date
KR102594249B1 (ko) 2023-10-26
US11887257B2 (en) 2024-01-30
US20220157022A1 (en) 2022-05-19

Similar Documents

Publication Publication Date Title
JP5931215B2 (ja) 姿勢を推定する方法及び装置
KR101650799B1 (ko) 가변 자세를 포함하는 이미지를 컴퓨터를 사용하여 실시간으로 분석하는 방법
JP4148281B2 (ja) モーションキャプチャ装置及びモーションキャプチャ方法、並びにモーションキャプチャプログラム
KR101738569B1 (ko) 제스쳐 인식 방법 및 시스템
JP5380789B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
CN108475439B (zh) 三维模型生成系统、三维模型生成方法和记录介质
JP5695758B2 (ja) 手のジェスチャによるヒューマンマシンインターフェースのための方法、回路、及び、システム
EP2095296B1 (en) A method and system for providing a three-dimensional model of an object of interest.
JP7367764B2 (ja) 骨格認識方法、骨格認識プログラムおよび情報処理装置
US20150206003A1 (en) Method for the Real-Time-Capable, Computer-Assisted Analysis of an Image Sequence Containing a Variable Pose
US20160104298A1 (en) Apparatus and method for poomsae recognition and dan promotion test of taekwondo based on skeleton of human body using depth camera
US20070098250A1 (en) Man-machine interface based on 3-D positions of the human body
JP2014501011A5 (ko)
JP2007066094A (ja) 姿勢推定装置および姿勢推定方法
JP2018119833A (ja) 情報処理装置、システム、推定方法、コンピュータプログラム、及び記憶媒体
KR20200113743A (ko) 인체 자세 추정 및 보정을 하는 방법 및 장치
KR101818198B1 (ko) 다방향 인식을 이용한 태권도 동작 평가 장치 및 방법
US11887257B2 (en) Method and apparatus for virtual training based on tangible interaction
JP6770208B2 (ja) 情報処理装置
JP7482471B2 (ja) 学習モデルの生成方法
CN111158489B (zh) 一种基于摄像头的手势交互方法及手势交互系统
Payandeh et al. Experimental Study of a Deep-Learning RGB-D Tracker for Virtual Remote Human Model Reconstruction
Baek et al. Human Pose Estimation Using Articulated ICP
KR20220068395A (ko) 운동 인식 기반 스포츠 체험 장치 및 이를 이용한 운동 인식 방법

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