KR102333768B1 - 딥러닝 기반 손 인식 증강현실 상호 작용 장치 및 방법 - Google Patents

딥러닝 기반 손 인식 증강현실 상호 작용 장치 및 방법 Download PDF

Info

Publication number
KR102333768B1
KR102333768B1 KR1020180142159A KR20180142159A KR102333768B1 KR 102333768 B1 KR102333768 B1 KR 102333768B1 KR 1020180142159 A KR1020180142159 A KR 1020180142159A KR 20180142159 A KR20180142159 A KR 20180142159A KR 102333768 B1 KR102333768 B1 KR 102333768B1
Authority
KR
South Korea
Prior art keywords
hand
information
image
augmented reality
depth map
Prior art date
Application number
KR1020180142159A
Other languages
English (en)
Other versions
KR20200057572A (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 KR1020180142159A priority Critical patent/KR102333768B1/ko
Publication of KR20200057572A publication Critical patent/KR20200057572A/ko
Application granted granted Critical
Publication of KR102333768B1 publication Critical patent/KR102333768B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery

Abstract

본 발명은 사용자가 증강현실 환경에서 사용자의 신체를 이용하여 가상 객체와 상호 작용하는 딥러닝 기반 손 인식 증강현실 상호 작용 장치 및 방법에 관한 것으로, 카메라 영상으로부터 딥러닝 기반으로 사용자의 손을 인식하고, 위치와 자세, 깊이 정보 등을 추정하며, 관성 정보 또는 영상 정보를 바탕으로 VO(Visual Odometry) 또는 VIO(Visual Inertial Odometry)를 적용하여 손에 대한 깊이 맵을 생성하고, 딥러닝으로 획득된 손의 위치, 자세, 깊이 정보를 보정하여, 증강현실 환경 내 가상 객체와 상호 작용할 수 있는 장치 및 방법에 관한 것이다.

Description

딥러닝 기반 손 인식 증강현실 상호 작용 장치 및 방법{HAND RECOGNITION AUGMENTED REALITY-INTRACTION APPARATUS AND METHOD}
본 발명은 사용자가 증강현실 환경에서 사용자의 신체를 이용하여 가상 객체와 상호 작용하는 방법에 대한 것으로, RGB 카메라 영상으로부터 딥러닝 기반으로 사용자의 손을 인식하고, 위치와 자세, 깊이 정보 등을 추정하는 것에 관한 것이다.
또한, 본 발명은 핸드헬드 장치에서 획득 가능한 관성 정보와 영상 정보를 바탕으로 VO(Visual Odometry) 또는 VIO(Visual Inertial Odmetry) 기술을 적용하여 손에 대한 깊이 맵을 생성하고, 딥러닝으로 획득된 손의 위치, 자세, 깊이 정보를 보정하여, 증강현실 환경 내 가상 객체와 상호 작용할 수 있는 기술에 관한 것이다.
최근 증강현실에 대한 관심이 높아지면서 증강현실 환경에서 사용자의 손을 인식하여, 3차원 공간에서 가상 객체와 상호 작용 기술들이 연구 개발되고 있다.
상기와 같은 문제를 해결하기 위한 일반적인 방법은 카메라에서 입력되는 RGB 영상으로부터 영상처리기술을 이용하여 사용자의 손을 인식하고, 깊이 카메라에서 획득된 깊이 맵 이미지에서 손 위치 정보를 추정하여 카메라 좌표계를 기준으로 맨 손의 3차원 위치를 추적한다.
또한, SLAM(Simultaneous localization and mapping) 기술을 바탕으로 추정된 손의 3차원 위치를 보정하여, 증강 현실 내 가상 객체를 조작할 수 있도록 하는 기술이 연구 개발되었다.
그러나, 위와 같은 종래의 기술은 RGB-D 카메라와 같이 깊이 영상과 컬러 영상을 함께 획득 할 수 있는 장치가 필요하며, 두 가지 영상을 한 번에 처리해야 함으로 비교적 고성능의 하드웨어 장치가 필요한 단점이 있다.
따라서, 기존의 하드웨어를 최대한 활용 가능하면서, 비교적 저사양의 모바일 기기 등에서도 동작 가능한 기술 개발이 요구되고 있다.
본 발명은 상기와 같은 종래의 문제점을 해결하기 위해 제안된 것으로, 본 발명은 사용자가 핸드헬드(Hand Held) 증강 현실 환경에서 비교적 저사양의 단말에서도 사용자의 특정 신체를 이용하여 가상 객체를 조작할 수 있는 시스템 및 방법을 제공하는 것에 목적이 있다.
본 발명은 원본 영상에서 손 영역의 영상을 검출하는, 손 영상 검출부;
상기 검출된 손 영상으로부터, 손 위치 추정 정보, 손 형태 추정 정보 및 손 자세 추정 정보를 포함하는 손 정보 추정 정보를 생성하는, 손 정보 추정부;
상기 원본 영상 또는 상기 손 정보 정보로부터 손 깊이 맵을 생성하는, 손 깊이 맵 생성부;
상기 손 정보 추정 정보를 상기 손 깊이 맵을 적용하여 보정하는, 손 정보 보정부;
가상 객체의 상태를 획득하는, 가상 객체 상태 획득부;
상기 획득된 가상 객체의 상태를 상기 보정된 손 정보 추정 정보에 적용하는, 상호 작용 제어부; 및
상기 적용된 가상 객체의 상태를 상기 원본 영상에 증강하는, 영상 렌더링부;를 포함하는 증강현실 상호 작용 장치를 제공한다.
또한, 본 발명은 원본 영상에서 손 영역의 영상을 검출하는, 손 영상 검출 단계;
상기 검출된 손 영상으로부터, 손 위치 추정 정보, 손 형태 추정 정보 및 손 자세 추정 정보를 포함하는 손 정보 추정 정보를 생성하는, 손 정보 추정 단계;
상기 원본 영상 또는 상기 손 정보 정보로부터 손 깊이 맵을 생성하는, 손 깊이 맵 생성 단계;
상기 손 정보 추정 정보를 상기 손 깊이 맵을 적용하여 보정하는, 손 정보 보정 단계;
가상 객체의 상태를 획득하는, 가상 객체 상태 획득 단계;
상기 획득된 가상 객체의 상태를 상기 보정된 손 정보 추정 정보에 적용하는, 상호 작용 수행 단계; 및
상기 적용된 가상 객체의 상태를 상기 원본 영상에 증강하는, 영상 렌더링 단계;를 포함하는 증강현실 상호 작용 방법을 제공한다.
본 발명에 따르면, 핸드헬드 기반 증강 현실 환경에서 비교적 저사양의 하드웨어 단말을 소지한 사용자가 별도의 장비 없이 실시간으로 손을 이용하여 3차원 공간의 가상 객체와 상호작용이 가능하다. 따라서, 본 발명은 다양한 증강현실 분야에서 증강 현실 콘텐츠 제작에 필요한 기반기술로서 사용될 수 있다.
도 1은 본 발명의 일 실시예에 따른 증강현실 상호 작용 장치(10)의 구성도이다.
도 2는 본 발명의 또 다른 일 실시예에 따른 증강현실 상호 작용 장치(10)의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 증강현실 상호 작용 방법의 과정을 도시한 것이다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시 된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. 다만, 실시형태를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다. 또한, 도면에서의 각 구성요소들의 크기는 설명을 위하여 과장될 수 있으며, 실제로 적용되는 크기를 의미하는 것은 아니다.
본 명세서에 기술된 실시예는 전적으로 하드웨어이거나, 부분적으로 하드웨어이고 부분적으로 소프트웨어이거나, 또는 전적으로 소프트웨어인 측면을 가질 수 있다. 본 명세서에서 "부(unit)", "모듈(module)", "장치" 또는 "시스템" 등은 하드웨어, 하드웨어와 소프트웨어의 조합, 또는 소프트웨어 등 컴퓨터 관련 엔티티(entity)를 지칭한다. 예를 들어, 본 명세서에서 부, 모듈, 장치 또는 시스템 등은 실행중인 프로세스, 프로세서, 객체(object), 실행 파일(executable), 실행 스레드(thread of execution), 프로그램(program), 및/또는 컴퓨터(computer)일 수 있으나, 이에 제한되는 것은 아니다. 예를 들어, 컴퓨터에서 실행중인 애플리케이션(application) 및 컴퓨터의 양쪽이 모두 본 명세서의 부, 모듈, 장치 또는 시스템 등에 해당할 수 있다.
실시예들이 도면에 제시된 순서도를 참조로 하여 설명되었다. 간단히 설명하기 위하여 상기 방법은 일련의 블록들로 도시되고 설명되었으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 다른 블록들과 본 명세서에서 도시되고 기술된 것과 상이한 순서로 또는 동시에 일어날 수도 있으며, 동일한 또는 유사한 결과를 달성하는 다양한 다른 분기, 흐름 경로, 및 블록의 순서들이 구현될 수 있다. 또한, 본 명세서에서 기술되는 방법의 구현을 위하여 도시된 모든 블록들이 요구되지 않을 수도 있다. 나아가, 본 발명의 일 실시예에 따른 방법은 일련의 과정들을 수행하기 위한 컴퓨터 프로그램의 형태로 구현될 수도 있으며, 상기 컴퓨터 프로그램은 컴퓨터로 판독 가능한 기록 매체에 기록될 수도 있다.
이하, 본 발명의 구성 및 특성을 실시예를 이용하여 설명하나, 이들 실시예는 본 발명을 예시하는 것일 뿐 한정하는 것은 아니다.
본 발명에 있어서, '손 자세(hand posture)'는 손의 단말 포인트 및 관절 포인트들의 3차원 공간 상의 위치 정보 집합을 의미할 수 있다.
도 1은 본 발명의 일 실시예에 따른 증강현실 상호 작용 장치(10)의 구성도이다. 도 1을 참조하면, 증강현실 상호 작용 장치(10)는 손 영상 검출부(102), 손 정보 추정부(103), 손 깊이 맵 생성부(104) , 손 정보 보정부(105) , 가상 객체 상태 획득부(106), 상호 작용 제어부(107) 및 영상 렌더링부(108)를 포함할 수 있다. 다른 실시예에서 증강현실 상호 작용 장치(10)는 영상 입력부(101), 영상 출력부(109) 및/또는 관성 정보 입력부(110)를 더 포함할 수 있다.
본 발명에 있어서, '영상(image)'은 2차원 시각 정보의 데이터 또는 2차원 시각 정보에 심도 정보를 더 포함하는 데이터일 수 있다. 또한, 영상은 복수의 프레임으로 이루어진 동영상의 어느 하나의 프레임에 해당되는 것일 수 있다.
본 발명의 일 실시예에 손 자세 인식 장치에 있어서, 원본 영상은 2차원 영상일 수 있다. 후술할 손 자세 인식 장치의 실시예들은 심도 정보의 입력 없이도 손 자세를 인식하는 것이 가능하도록 한다.
본 발명의 일 실시예에 따른 영상 입력부(101)는 원본 영상을 전자 데이터 형태로 입력 받는 것일 수 있다. 상기 영상 입력부(101)는 카메라부일 수 있다. 또한, 상기 원본 영상 입력부(101)는 원본 영상이 전자 데이터로 저장된 데이터베이스로부터 상기 원본 영상을 전송 받는 것일 수 있다. 또한, 상기 영상 입력부(101)는 원본 영상이 전자 데이터로 저장된 데이터베이스가 연결된 외부 네트워크로부터 상기 원본 영상을 전송 받는 것일 수 있다.
상기 카메라부는 광학 정보를 2차원 픽셀 색상 정보로 변환하는 것일 수 있다. 또한, 상기 카메라부는 2차원 픽셀 심도 정보를 변환하는 것일 수 있다.
도 2는 본 발명의 일 실시예에 따른 증강현실 상호 작용 장치(10)의 구성도이다. 도 2를 참조하면, 증강현실 상호 작용 장치(10)는 헨드헬드 장치(200)에 연결된 것일 수 있으며, 이러한 연결은 버스 등을 통하여 직접 연결되거나, 유선 또는 무선 통신을 통하여 네트워크로 연결된 것일 수 있다. 구체적으로, 헨드헬드 장치(200)는 영상 입력부(101), 영상 출력부(109) 및/또는 관성 정보 입력부(110)에 연결된 것일 수 있으며, 헨드헬드 장치(200)는 카메라부를 구비한 것일 수 있다.
본 발명의 일 실시예에 따른 손 영상 검출부(102)는 원본 영상에서 손 영역의 영상을 검출하는 것일 수 있다. 손 영상 검출부(102)는 원본 영상에서 손 영역의 영상을 검출 할 수 있는 것이면 이를 제한하지 않으며, 오브젝트 검출기이거나 이를 이용하는 것일 수 있다. 상기 오브젝트 검출기는 머신 러닝 기반 검출기일 수 있으며, 예를 들어, SSD (Single Shot MultiBox Detector), YOLO (You Only Look Once) 등일 수 있다.
본 발명의 일 실시예에 따른 손 정보 추정부(103)는 손 스켈레톤 생성부(1031)를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 손 스켈레톤 생성부(1031)는 상기 검출된 손 영상으로부터 손가락의 단말 포인트 및 관절 포인트들을 포함하는 스켈레톤을 생성하는 것일 수 있다. 상기 손 스켈레톤 생성부(1031)는 자세(pose) 검출기이거나 이를 이용하는 것일 수 있으며, 구체적으로, 영상의 관절 위치 식별 정보에 대한 학습 데이터로 기계 학습된 컨볼루션 신경망(CNN, Convolutional Neural Network), 예를 들어, CPM (Convolution Pose Machine)에 원본 연상을 입력하여, 관절 위치의 2차원 위치 및 연결 상태의 벡터값을 산출하여 손 스켈레톤을 생성하는 것일 수 있다. 상기 컨볼루션 신경망은 미리 정해진 하나의 방향의 손 영상 또는 미리 정해진 하나의 방향으로 정규화된 손 영상의 관절 위치 식별 정보에 대한 학습 데이터로 기계 학습된 것일 수 있다.
본 발명의 일 실시예에 따른 손 정보 추정부(103)는 3차원 손 형상 모델 생성부(1032)를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 3차원 손 형상 모델 생성부(1032)는, 하나 이상의 3차원 손 형상 모델이 저장된 3차원 손 형상 모델 데이터베이스에서, 평균 3차원 손 형상 모델을 매칭시켜 생성하는 것일 수 있다.
본 발명에 있어서, '3차원 손 형상 모델'은 손의 단말 포인트 및 관절 포인트들의 3차원 공간 상의 위치 정보 집합으로서, 원본 영상으로부터 인식하고자 하는 3차원 손 자세를 의미할 수 있다. 구체적으로, 손 형상 모델은 평균 3차원 손가락 스켈레톤과 주성분 분석(Principal Component Analysis)를 통해 구축된 손 형상 분산의 기저 벡터 집합일 수 있다.
본 발명의 일 실시예에 따른 손 정보 추정부(103)는 손 동작 인식부 (1033)를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 손 동작 인식부(1033)는 상기 변환되는 3차원 손 형상 모델을 손 동작 종류별로 분류되어 저장된 데이터베이스에서 질의하여 해당 손 동장을 인식하는 것일 수 있다. 예를 들어, 상기 변환되는 3차원 손 형상 모델의 3차원 포인트들의 위치, 구체적으로 버텍스(Vertex)들을 손 동작 유형에 대한 학습 데이터로 기계 학습된 순환 신경망(SVM, Recurrent Neural Network)에 입력하여 손 동작 유형의 식별값을 산출하여 해당 손 동작을 인식하는 것일 수 있다.
본 발명의 일 실시예에 따른 손 정보 추정부(103)는 손 자세 추정부(1034)를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 손 자세 추정부(1034)는 손가락 스켈레톤 모델의 정점들 중 관절에 의하여 움직이지 않는 5개 정점, 즉, 검지, 중지, 약지, 소지의 중수지 관절과 손목 관절의 정점을 이용하여 평균 3차원 손가락 스켈레톤과, 원본 영상을 통하여 취득한 2차원 손가락 스켈레톤을 정합하는 것일 수 있다. 구체적으로, 원본 영상의 사영행렬에 대하여, 하기 식 1 내지 식 3에 따라 손 자세 추정부(1034)가 원본 영상에서 2차원 손 스켈레톤의 정합이 3차원 평균 손 형상 모델이 정합된 행렬 MV를 산출하는 것일 수 있다.
[식 1]
Figure 112018114533921-pat00001
[식 2]
Figure 112018114533921-pat00002
[식 3]
Figure 112018114533921-pat00003
Figure 112018114533921-pat00004
상기 식 1에 있어서, 원본영상의 사영 행렬 P(3X4)이며, 행렬 MV은 5개의 정점에 대하여 영상으로부터 추출한 정점의 좌표와 (x'',y'')의 좌표간의 오차를 최소화하는 행렬이다.
본 발명의 일 실시예에 따른 손 자세 추정부(1034)는 각 손가락 관절의 각도를 추정하는 것일 수 있다. 구체적으로, 3차원 손 형상 모델의 각 손가락의 손 전체는 26개의 자유도 중 각 손가락의 관적 각도에 해당하는 20개의 자유도에 해당하는 파라미터 벡터값을 산출하는 것일 수 있다. 더 구체적으로, 상기 파라미터 벡터값 θ는 하기 식 4 또는 식 5의 Δθ을 최소화하는 값일 수 있다.
[식 4]
Figure 112018114533921-pat00005
[식 5]
Figure 112018114533921-pat00006
Figure 112018114533921-pat00007
상기 식 5에 있어서, 자코비안 행렬 J는 하기 식 6에 따른 행렬이며,
t는 손 형상 모델의 각 관절의 위치를 의미하고, v(θ)는 s(θ)의 각 정점에 상기 식 1의 행렬 MV와 원본영상의 사영 행렬 P(3X4)의 각 정점에서 x, y 성분을 z성분으로 나눈 벡터를 의미하고, s(θ)는 3차원 손 형상 모델의 3차원 각 정점의 위치를 의미한다.
[식 6]
Figure 112018114533921-pat00008
본 발명의 일 실시예에 따른 손 정보 보정부(105)는 상기 추정된 3차원 손 형상 모델을 원본 영상에서 검출된 손 영상에 근접한 위치로 보정하는 것일 수 있다. 구체적으로, 하기 식 7에 따른 3차원 손형상 모델로 보정하는 것일 수 있다.
[식 7]
m + Wα
상기 식 7에 있어서, m는 상기 평균 3차원 손 형상 모델이고, W 는 기저 벡터 행렬이며, α는 보정 파라미터이다.
상기 보정 파라미터 α는 하기 식 8 내지 식 10에 따라 산출될 수 있다.
[식 8]
Figure 112018114533921-pat00009
[식 9]
Figure 112018114533921-pat00010
상기 식 9에 있어서, 자코비안 행렬 J는 하기 식 10에 따른 행렬이며,
t는 손 형상 모델의 각 관절의 위치를 의미하고, v(θ)는 s(θ)의 각 정점에 상기 식 1의 행렬 MV와 원본영상의 사영 행렬 P(3X4)의 각 정점에서 x, y 성분을 z성분으로 나눈 벡터를 의미하고, v(θ,α)는 m+Wα에 대해서 관절각도 θ를 적용하여 2차원으로 사영한 결과가 v(θ)일 때, m+Wα에 대해서 관절각도 θ를 적용하여 2D로 사영한 것을 의미하며, s(θ)는 3차원 손 형상 모델의 3차원 각 정점의 위치를 의미하고, l은 행렬 W의 열 개수, 즉 주성분 분석을 통해 선택된 기저 벡터의 개수를 의미한다.
[식 10]
Figure 112018114533921-pat00011
본 발명의 일 실시예에 따른 손 정보 보정부(105)는 상기 손 자세 추정부(1034)의 실행 호출을 반복하여 수행하는 것일 수 있다. 이러한 실행 호출의 반복으로 인하여, 정합된 3차원 손 형상 모델의 오차를 줄일 수 있다. 구체적으로, 3차원 손가락 스켈레톤 정합을 위하여 산출해야할 변수는 총 26 + l개이며, 손 자세 추정부(1034)에서 6개, 손 자세 추정부(1034)에서 손가락 관절의 각도 추정 시 20개, 손 정보 보정부에서 l개의 변수를 산출할 수 있으나, 각 단계에서는 다음 단계에서 계산될 변수값을 알 수 없어, 손 자세 추정부(1034)에서 손가락 관절의 각도 추정 시 전체 정점이 아닌 관절에 무관한 정점만을 사용하며, 원본 영상에서 검출된 손 영역의 영상에 개인화된 3차원 손 형상 스켈레톤이 아닌 평균 3차원 손 형상 스켈레톤이 적용되는 단순화로 인하여 발생하는 오차 및 전 단계에서 계산한 변수가 이후 단계에서 상수로 사용됨으로 인하여 누적되어 발생하는 오차를 수정할 수 있다.
또한, 이러한 실행 호출의 반복으로 인하여, 손 자세 추정부(1034)에서 관절에 무관한 5개 정점이 아닌 모델 전체의 정점에 대하여 s(θ+α)와 t의 오차를 최소화하는 MV행렬을 계산할 수 있으며, 손 자세 추정부(1034)에서 각 손가락 관절의 각도를 추정 시 α가 상수일 때 v(θ+α)와 t의 오차를 최소화하는 θ를 산출할 수 있다.
상기 반복 수행 횟수는 증강 현실 앱의 반응 속도와 정확성의 두 가지 성능 지표를 모두 만족할 수 있도록 적절히 조절될 수 있다.
본 발명의 일 실시예에 따른 가상 객체 상태 획득부(106)는 가상 공간 상의 3차원 레퍼런스 좌표계에 있어서, 가상 공간 상에 배치된 하나 이상의 객체의 위치 정보를 획득하는 것일 수 있다. 구체적으로, 상기 객체의 위치 정보는 가상 공간 상의 카메라 위치 및 방향에 따른 위치 정보일 수 있다.
본 발명의 일 실시예에 따른 상호 작용 제어부(107)는 물리 시뮬레이션부(1071)를 포함할 수 있다.
본 발명의 일 실시예에 따른 물리 시뮬레이션부(1071)는 상기 보정된 3차원 손 형상 모델과 상기 획득된 가상 공간 상에 배치된 하나 이상의 객체와의 충돌의 감지 및 감지된 충돌에 따른 상기 객체의 반응을 산출하는 것일 수 있다.
상기 충돌의 감지는 BVH(Bounding Volume Hierarchy) 알고리즘에 따라 산출될 수 있다. 예를 들어, 우선 충돌을 감지하기 전 각각의 물체에 대하여 BVH를 구축한다. 물체 전체를 감싸는 단순한 기하 모형 (예를 들어, 구, 직육면체)을 계산한다. 물체를 반으로 나눈 후 (삼각형 메쉬의 경우 삼각형을 절반씩 나눈다) 나뉜 물체를 감싸는 기하 모형을 계산한다. 이러한 과정을 반복하여 하나의 복잡한 모양의 물체에 대한 단순한 기하 모형들의 트리를 구축할 수 있다. 임의의 두 BVH 노드 사이의 충돌 감지 알고리즘은 다음과 가. 두 노드를 감싸는 두 단순한 기하 모형 간 충돌을 검사한다. 두 기하 모형이 충돌하지 않으면 충돌하지 않음을 반환하고 충돌할 경우 각 노드의 자식 노드를 모은다. 가능한 자식 노드의 쌍에 대하여 (각 노드의 자식노드가 n개일 때 가능한 쌍의 개수는 n X n = n2) 노드 간 충돌 감지 알고리즘을 재귀적으로 호출하고 그 결과가 모두 충돌하지 않으면 충돌하지 않음을, 결과 중 하나라도 충돌인 경우는 충돌을 반환한다. 각 노드의 자식 노드를 모을 때 한 노드가 단말 노드인 경우 단말 노드와 상대 노드의 자식 노드들 간의 쌍에 대하여 노드 간 충돌 감지 알고리즘을 수행한다. 둘 다 단말 노드인 경우 충돌을 반환하거나 각 노드가 포함하는 기하 모형에 대한 충돌 감지를 수행할 수 있다. 두 복잡한 물체의 충돌 감지는 위의 두 노드의 충돌 감지 알고리즘을 두 물체의 루트 노드에 대하여 수행한다.
또한, 상기 충돌의 감지는 3차원 손 형상 모델에 대하여 BVH를 구성할 필요 없이 BVH의 노드와 손 모델 사이의 충돌 검사 알고리즘으로 수행될 수 있다.
예를 들어, 노드를 감싸는 단순한 기하 모형과 손 모델을 구축하는 단순한 기하 모형들 간의 충돌을 검사하고 충돌하지 않을 경우 충돌하지 않음을 반환한다. 충돌할 경우는 노드의 자식 노드들과 손 모델에 대하여 충돌 검사 알고리즘을 재귀적으로 수행한 후 결과가 모두 충돌하지 않으면 충돌하지 않음을, 결과 중 하나라도 충돌인 경우는 충돌을 반환한다. 노드가 단말 노드인 경우 충돌을 반환하거나 노드가 포함하는 기하 모형과 손 모델간의 충돌을 검사한다. 이러한 방법은 가상의 손 모델이 비교적 단순한 기하학적 물체들 (예를들어, 구, 실린더, 직육면체, 또는 이들의 조합)으로 이루어져 있으므로, 두 개의 BVH를 사용하는 방법보다 충돌의 검사를 더욱 효율적으로 해결할 수 있다.
본 발명의 일 실시예에 따른 영상 렌더링부(18)는 상기 변환되는 3차원 손 형상 모델과 증강 대상 오브젝트의 3차원 형상 모델을 매칭시켜 원본 영상에 정합하는 것일 수 있다.
전술한 본 발명에 따른 증강현실 상호 작용 장치에 대한 설명은 모두 후술할 본 발명에 따른 손 자세 인식 방법에 대응하여 적용될 수 있으며, 반대로, 후술할 본 발명에 따른 증강현실 상호 작용 방법에 대한 설명 역시 전술한 증강현실 상호 작용 방법에 응하여 적용될 수 있다.
도 3은 본 발명의 일 실시예에 따른 증강현실 상호 작용 방법의 과정을 도시한 것이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 증강현실 상호 작용 방법은, 원본 영상에서 손 영역의 영상을 검출하는, 손 영상 검출 단계(S12), 상기 검출된 손 영상으로부터, 손 위치 추정 정보, 손 형태 추정 정보 및 손 자세 추정 정보를 포함하는 손 추정 정보를 생성하는, 손 정보 추정 단계(S13), 상기 원본 영상 또는 상기 손 추정 정보로부터 손 깊이 맵을 생성하는, 손 깊이 맵 생성 단계(S14), 상기 손 정보 추정 정보를 상기 손 깊이 맵을 적용하여 보정하는, 손 정보 보정 단계(S15), 가상 객체의 상태를 획득하는, 가상 객체 상태 획득 단계(S16), 상기 획득된 가상 객체의 상태를 상기 보정된 손 정보 추정 정보에 적용하는, 상호 작용 수행 단계(S17), 상기 적용된 가상 객체의 상태를 상기 원본 영상에 증강하는, 영상 렌더링 단계(S18)를 포함할 수 있다.
본 발명의 일 실시예에 따른 손 자세 인식 방법은 원본 영상을 입력 받는 단계(S11)를 더 포함할 수 있다. 구체적으로, 상기 원본 영상을 입력 받는 단계(S11)는 원본 영상을 전자 데이터 형태로 입력 받는 것, 예를 들어, 카메라로부터 전자 데이터 형태로 입력 받는 것이거나, 또는 원본 영상이 전자 데이터로 저장된 데이터베이스로부터 상기 원본 영상을 전송 받는 것일 수 있다. 또한, 원본 영상이 전자 데이터로 저장된 데이터베이스가 연결된 외부 네트워크로부터 상기 원본 영상을 전송 받는 것일 수 있다. 또한, 원본 영상이 전자 데이터로 저장된 데이터베이스가 연결된 외부 네트워크로부터 상기 원본 영상을 전송 받는 것일 수 있다.
본 발명의 일 실시예에 따른 증강현실 상호 작용 방법에 있어서, 원본 영상은 2차원 영상일 수 있다.
본 발명의 일 실시예에 따른 손 영상을 검출하는 단계(S12)는 원본 영상에서 손 영역의 영상을 검출하는 것일 수 있다.
손 영상을 검출하는 단계(S12)는 원본 영상에서 손 영역의 영상(121)을 검출 할 수 있는 것이면 이를 제한하지 않으며, 오브젝트 검출기이거나 이를 이용하는 것일 수 있다. 상기 오브젝트 검출기는 머신 러닝 기반 검출기일 수 있으며, 예를 들어, SSD (Single Shot MultiBox Detector), YOLO (You Only Look Once) 등일 수 있다.
본 발명의 일 실시예에 따른 증강현실 상호 작용 방법은 관성 정보를 입력받는, 관성 입력 단계(S111)를 더 포함할 수 있다. 관성 정보를 입력받는 경우, 이를 반영하여 손 깊이 맵의 생성 시 손 깊이 맵의 정확도가 향상된다.
본 발명의 일 실시예에 따른 상기 검출된 손 영상으로부터, 손 위치 추정 정보, 손 형태 추정 정보 및 손 자세 추정 정보를 포함하는 손 추정 정보를 생성하는, 손 정보 추정 단계(S13)는 상기 검출된 손 영역의 영상으로부터 하나 이상의 관절 포인트들을 포함하는 스켈레톤을 생성하는 손 스켈레톤 생성 단계(S131), 상기 검출된 손 영상에 대응하는 3차원 손 형상 모델을 생성하는 3차원 손 형상 모델 생성 단계(S132) 및 상기 생성된 스켈레톤에 상기 생성된 3차원 손 형상 모델을 정합시켜 변환하는 손 형상 모델 정합 단계(S133)를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 손 깊이 맵 생성 단계(S14)는, 상기 원본 영상 및 상기 입력받은 관성 정보로부터 손 깊이 맵을 생성하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 손 깊이 맵 생성 단계(S14)는, 하나 이상의 원본 영상으로부터 영상 내 특징점의 위치 변화량에 기반하여 깊이 정보를 생성하는 것일 수 있다. 구체적으로, 원본 영상에서 주요 특징점 위치 변화량에 따른 카메라의 이동량을 추정하는 것일 수 있다.
본 발명의 일 실시예에 따른 손 깊이 맵 생성 단계(S14)는, 원본 영상의 어느 하나의 프레임에서, 상기 프레임의 직전 프레임의 특징점이 동일한 경우, 각 프레임에서의 이미지 내 픽셀 값의 차이값의 제곱 값의 합이 최소인 변환 행렬값을 추정하는 것일 수 있다. 더 구체적으로, 손 깊이 맵 생성 단계(S14)는, 상기 손 깊이 맵 생성 단계는 하기 식 11에 의하여 깊이 정보를 생성하는 것일 수 있다.
[식 11]
Figure 112018114533921-pat00012
상기 식 11에 있어서, I는 원본 영상을 의미하며, k는 원본 영상의 특정 시점의 프레임을 의미하고, ui는 원본 영상에서의 i번째 특징점을 의미한다.
본 발명의 일 실시예에 따른 증강현실 상호 작용 방법은 가상 객체의 상태를 획득하는, 가상 객체 상태 획득 단계(S16)를 포함할 수 있다.
발명의 일 실시예에 따른 증강현실 상호 작용 방법은 상기 획득된 가상 객체의 상태를 상기 보정된 손 정보 추정 정보에 적용하는, 상호 작용 수행 단계(S17)를 포함할 수 있다.
본 발명의 일 실시예에 따른 영상 렌더링 단계(S18)는 손 자세 인식 방법에서 변환된 3차원 손 형상 모델과 증강 대상 오브젝트의 3차원 형상 모델을 매칭시켜 원본 영상에 정합하는 것일 수 있다.
본 발명은 또한, 전술한 증강현실 상호 작용 방법을 실행하기 위한 명령을 포함하는 프로그램을 제공할 수 있다.

Claims (11)

  1. 원본 영상에서 손 영역의 영상을 검출하는, 손 영상 검출부;
    상기 검출된 손 영상으로부터, 손 위치 추정 정보, 손 형태 추정 정보 및 손 자세 추정 정보를 포함하는 손 정보 추정 정보를 생성하는, 손 정보 추정부;
    상기 원본 영상 또는 상기 손 정보 추정 정보로부터 손 깊이 맵을 생성하는, 손 깊이 맵 생성부;
    상기 손 정보 추정 정보를 상기 손 깊이 맵을 적용하여 보정하는, 손 정보 보정부;
    가상 객체의 상태를 획득하는, 가상 객체 상태 획득부;
    상기 획득된 가상 객체의 상태를 상기 보정된 손 정보 추정 정보에 적용하는, 상호 작용 제어부; 및
    상기 적용된 가상 객체의 상태를 상기 원본 영상에 증강하는, 영상 렌더링부;를 포함하는 증강현실 상호 작용 장치로서,
    상기 손 깊이 맵 생성부는 하나 이상의 원본 영상으로부터 영상 내 특징점의 위치 변화량에 기반하여 깊이 정보를 생성하는 것인, 증강현실 상호 작용 장치.
  2. 제1항에 있어서,
    관성 정보를 입력받는 관성 입력부를 더 포함하고,
    상기 손 깊이 맵 생성부는 상기 원본 영상 및 상기 입력받은 관성 정보로부터 손 깊이 맵을 생성하는 것인, 증강현실 상호 작용 장치.
  3. 삭제
  4. 제1항에 있어서,
    상기 원본 영상은 2차원 영상인 것인, 증강현실 상호 작용 장치.
  5. 원본 영상에서 손 영역의 영상을 검출하는, 손 영상 검출 단계;
    상기 검출된 손 영상으로부터, 손 위치 추정 정보, 손 형태 추정 정보 및 손 자세 추정 정보를 포함하는 손 추정 정보를 생성하는, 손 정보 추정 단계;
    상기 원본 영상 또는 상기 손 추정 정보로부터 손 깊이 맵을 생성하며, 하나 이상의 원본 영상으로부터 영상 내 특징점의 위치 변화량에 기반하여 깊이 정보를 생성하는, 손 깊이 맵 생성 단계;
    상기 손 정보 추정 정보를 상기 손 깊이 맵을 적용하여 보정하는, 손 정보 보정 단계;
    가상 객체의 상태를 획득하는, 가상 객체 상태 획득 단계;
    상기 획득된 가상 객체의 상태를 상기 보정된 손 정보 추정 정보에 적용하는, 상호 작용 수행 단계; 및
    상기 적용된 가상 객체의 상태를 상기 원본 영상에 증강하는, 영상 렌더링 단계;를 포함하는 증강현실 상호 작용 방법.
  6. 제5항에 있어서,
    관성 정보를 입력받는, 관성 입력 단계를 더 포함하고,
    상기 손 깊이 맵 생성 단계는 상기 원본 영상 및 상기 입력받은 관성 정보로부터 손 깊이 맵을 생성하는 단계를 더 포함하는, 증강현실 상호 작용 방법.
  7. 삭제
  8. 제5항에 있어서,
    상기 손 깊이 맵 생성 단계는 하기 식 11에 의하여, 깊이 정보를 생성하는 것인, 증강현실 상호 작용 방법:
    [식 11]
    Figure 112021079600166-pat00013
  9. 제5항에 있어서,
    상기 원본 영상은 2차원 영상인 것인, 증강현실 상호 작용 방법.
  10. 삭제
  11. 삭제
KR1020180142159A 2018-11-16 2018-11-16 딥러닝 기반 손 인식 증강현실 상호 작용 장치 및 방법 KR102333768B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180142159A KR102333768B1 (ko) 2018-11-16 2018-11-16 딥러닝 기반 손 인식 증강현실 상호 작용 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180142159A KR102333768B1 (ko) 2018-11-16 2018-11-16 딥러닝 기반 손 인식 증강현실 상호 작용 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20200057572A KR20200057572A (ko) 2020-05-26
KR102333768B1 true KR102333768B1 (ko) 2021-12-01

Family

ID=70915348

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180142159A KR102333768B1 (ko) 2018-11-16 2018-11-16 딥러닝 기반 손 인식 증강현실 상호 작용 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102333768B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102356767B1 (ko) 2020-06-25 2022-01-28 주식회사 지노텍 증강현실 환경에서의 가상 오브젝트 제어 방법 및 이를 수행하는 사용자 단말
KR102594258B1 (ko) * 2021-04-26 2023-10-26 한국전자통신연구원 증강현실에서 실제 객체를 가상으로 이동하는 방법 및 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100980202B1 (ko) * 2008-10-30 2010-09-07 한양대학교 산학협력단 3차원 가상물체와 인터랙션이 가능한 모바일 증강현실 시스템 및 방법
US9367136B2 (en) * 2013-04-12 2016-06-14 Microsoft Technology Licensing, Llc Holographic object feedback
US20170140552A1 (en) * 2014-06-25 2017-05-18 Korea Advanced Institute Of Science And Technology Apparatus and method for estimating hand position utilizing head mounted color depth camera, and bare hand interaction system using same

Also Published As

Publication number Publication date
KR20200057572A (ko) 2020-05-26

Similar Documents

Publication Publication Date Title
KR101865655B1 (ko) 증강현실 상호 작용 서비스 제공 장치 및 방법
Memo et al. Head-mounted gesture controlled interface for human-computer interaction
JP5647155B2 (ja) 内側距離形状関係を使用する身体特徴検出及び人間姿勢推定
Qian et al. Developing a gesture based remote human-robot interaction system using kinect
CN111402290B (zh) 一种基于骨骼关键点的动作还原方法以及装置
JP5931215B2 (ja) 姿勢を推定する方法及び装置
KR100855657B1 (ko) 단안 줌 카메라를 이용한 이동로봇의 자기위치 추정 시스템및 방법
CN110909580B (zh) 数据处理方法及装置、电子设备及存储介质
KR20120048370A (ko) 물체 자세 인식장치 및 이를 이용한 물체 자세 인식방법
KR101347840B1 (ko) 신체 제스처 인식 방법 및 장치
JP2003346157A (ja) 物体追跡装置及び方法
JP7345664B2 (ja) 不確実性を有するランドマーク位置推定のための画像処理システムおよび方法
EP3506204B1 (en) Image processing system, method and program therefor
KR102333768B1 (ko) 딥러닝 기반 손 인식 증강현실 상호 작용 장치 및 방법
CN111027407A (zh) 针对遮挡情况的彩色图像手部姿态估计方法
CN114677572B (zh) 对象描述参数的生成方法、深度学习模型的训练方法
CN110348359B (zh) 手部姿态追踪的方法、装置及系统
KR102315696B1 (ko) 관절 모델 정합 장치 및 방법
KR101586007B1 (ko) 데이터 처리 장치 및 방법
Jo et al. Tracking and interaction based on hybrid sensing for virtual environments
Che et al. Detection-guided 3D hand tracking for mobile AR applications
Usabiaga et al. Global hand pose estimation by multiple camera ellipse tracking
CN108694348B (zh) 一种基于自然特征的跟踪注册方法及装置
Arbeiter et al. Towards geometric mapping for semi-autonomous mobile robots
KR102382883B1 (ko) 3차원 손 자세 인식 장치 및 방법

Legal Events

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