KR102028376B1 - 번들 조정 알고리즘을 이용한 립모션과 hmd 사이의 캘리브레이션 방법 및 장치 - Google Patents

번들 조정 알고리즘을 이용한 립모션과 hmd 사이의 캘리브레이션 방법 및 장치 Download PDF

Info

Publication number
KR102028376B1
KR102028376B1 KR1020180001572A KR20180001572A KR102028376B1 KR 102028376 B1 KR102028376 B1 KR 102028376B1 KR 1020180001572 A KR1020180001572 A KR 1020180001572A KR 20180001572 A KR20180001572 A KR 20180001572A KR 102028376 B1 KR102028376 B1 KR 102028376B1
Authority
KR
South Korea
Prior art keywords
dimensional
hmd
points
bulb
cluster
Prior art date
Application number
KR1020180001572A
Other languages
English (en)
Other versions
KR20190083757A (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 KR1020180001572A priority Critical patent/KR102028376B1/ko
Priority to PCT/KR2018/010002 priority patent/WO2019135462A1/ko
Publication of KR20190083757A publication Critical patent/KR20190083757A/ko
Application granted granted Critical
Publication of KR102028376B1 publication Critical patent/KR102028376B1/ko

Links

Images

Classifications

    • 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
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • 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
    • 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
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures

Abstract

본 발명은 번들 조정 알고리즘을 이용한 립모션과 HMD 사이의 캘리브레이션 방법 및 장치에 관한 것이다. 본 발명에 따르면, 립모션을 장착하며 적외선 전구들이 형성된 HMD의 전면을 적외선 카메라로 촬영하여 획득한 각기 다른 시점의 n개 2차원 영상을 n개 희소 행렬로 변환하는 단계, 번들 조정 알고리즘을 통해 n개 희소 행렬을 3차원 공간에 근사시켜 생성한 하나의 3차원 점군과 n개 희소 행렬을 이용하여 n개 투영 행렬을 획득하는 단계, 3차원 점군을 n개 투영 행렬을 통해 n개 2차원 영상에 각각 투영시켜 투영된 n개 2차원 점군을 획득하는 단계, n개 2차원 영상 각각에 대해, 적외선 전구의 형상에 대응하는 복수의 전구 클러스터를 검출 후 2차원 점군 내 소속점들 중 전구 클러스터 내 위치한 2차원 점들을 판별하는 단계, 3차원 점군 내 소속점들 중 전구 클러스터 내에 위치한 2차원 점들에 대응되는 3차원 점들을 기초로 각 전구 클러스터의 3차원 중심점을 획득하는 단계, 및 각 전구 클러스터의 3차원 중심점과 클러스터 크기를 이용하여 립모션과 HMD의 원점을 각각 추정하여 캘리브레이션하는 단계를 포함한다.
본 발명에 따르면, 립모션이 장착된 영상투시 HMD의 전면에서 얻은 복수 시점의 적외선 영상을 사용하여 HMD와 립모션 간 상대적 위치 오차를 보정함으로써 HMD를 착용한 사용자의 현실감 및 몰입감을 제고할 수 있다.

Description

번들 조정 알고리즘을 이용한 립모션과 HMD 사이의 캘리브레이션 방법 및 장치{Calibration method of leap motion-HMD using bundle adjustment algorithm and method thereof}
본 발명은 번들 조정 알고리즘을 이용한 립모션과 HMD 사이의 캘리브레이션 방법 및 장치에 관한 것으로서, 영상투시 HMD와 립모션 간 좌표계 오차를 보정할 수 있는 번들 조정 알고리즘을 이용한 립모션과 HMD 사이의 캘리브레이션 방법 및 장치에 관한 것이다.
HMD(Head Mount Display) 기기의 보급으로 가상 현실(Virtual Reality) 환경에 대한 관심이 늘고 있다. HMD(Head Mount Display)는 크게 광학적 투시(Optical See-Through) 방식과 영상 투시(Video See-Through) 방식이 있다. 영상투시 방식 HMD는 가상 현실을 위한 몰입성이 광학적 투시 방식보다 뛰어나 이를 이용한 연구가 활발히 진행되고 있다.
그런데, 영상투시 HMD를 착용한 사용자는 HMD의 영상만 볼 수 있으며 사용자 인터페이스를 전혀 볼 수 없어 사용자의 직관적인 상호작용이 어렵다. 사용자가 인터페이스 장치의 위치를 인지하지 않고도 정확한 상호작용을 하기 위해서는 동작 인식 등과 같은 직관적인 인터페이스 방법이 필요하다.
동작 인식을 이용한 인터페이스 장치 중 립모션(Leap Motion)은 사용자의 직관적인 손동작이나 손가락 위치를 인식하는 점에서 각광받는 기기이다. 립모션은 HMD와 더불어 사용자에게 직관적인 상호작용을 가능하게 하며, HMD와의 상호 운용성(Interoperability)이 뛰어나 HMD에 부착되어 사용된다.
하지만, HMD의 전면에 립모션을 부착할 때, 립모션이 부착된 위치가 기기마다 다르고, 립모션과 HMD의 좌표계가 서로 다르다. 따라서, 사용자가 립모션이 부착된 HMD를 사용할 때 HMD의 화면을 보면서 립모션과의 정확한 상호작용이 어렵다는 문제점이 있다.
도 1은 영상투시 HMD에 립모션을 장착하여 사용하는 모습에 관한 도면이다. 이러한 도 1은 HMD에서 보이는 손과 립모션이 감지한 손의 위치가 맞지 않을 경우 립모션이 부착된 HMD의 사용시 사용자의 정확한 상호작용이 어렵다는 점을 개념적으로 나타난 것이다.
사용자의 정확한 상호작용을 위해서는 립모션의 작용 위치와 출력 화면의 작용 위치를 서로 맞춰주는 것이 가장 효과적이다. 따라서 영상투시 HMD 화면의 위치와 립모션의 위치 관계를 캘리브레이션할 수 있는 방법이 필요하다.
HMD의 종류 중 하나인 광학투시 HMD의 경우 사용자가 바라보는 실제 환경이 곧 HMD의 출력 화면이 되므로 손가락의 위치를 사용자가 볼 수 있어 사용자의 직접적인 캘리브레이션이 가능하다.
그 중에서 3차원 공간 상에서 사용자가 바라보는 광학투시 HMD 화면과 립모션 간 캘리브레이션을 수행하는 방식이 있다. 이 방법은 사용자가 가상의 레티클을 손가락으로 조정해 3D 마커와 맞추도록 하는 방법으로, 3차원 공간상의 마커를 이용하므로 3차원 캘리브레이션의 정확도가 높아질 수는 있지만, 사용자의 특성에 따라 정확성의 차이가 나타날 수 있고, 가상 레티클을 조정하는 상호 작용 방법이 사용자에게 불편하게 느껴질 수 있다.
그 밖에도 광학적 투시 HMD에 부착된 안구 인식용 카메라를 이용한 캘리브레이션 기법이 있다. 이 방법은 사용자의 안구가 가리키는 위치를 카메라를 통해 판단하기 때문에 카메라의 성능이 곧 캘리브레이션 성능에 영향을 미치며, 사용자의 안구 특성이나 HMD를 착용하는 특성에 따라 캘리브레이션의 정확도가 달라지므로 사용자가 달라지면 캘리브레이션을 다시 해야 한다.
이상과 같은 광학적 투시 HMD와 립모션 간 캘리브레이션 기법은 실제 환경을 기반으로 한 증강 현실(AR) 환경에서 가능한 방법에 해당하고, 외부의 모습이 사용자의 안구로 들어오지 않아도 되는 기기적 특성과도 맞는 방법이다.
하지만, 영상투시 HMD에 립모션을 부착할 경우 영상투시 HMD의 특성상 출력 화면이 실제 환경과 동떨어진 가상 현실(VR) 환경으로, 이로 인해 사용자의 안구가 영상투시 HMD의 화면과 밀착되어 있고 외부의 모습을 사용자가 전혀 볼 수 없기 때문에, 광학적 투시 HMD에서 사용하는 캘리브레이션 기법을 적용하기는 어렵다.
따라서, 영상투시 HMD와 립모션 간의 캘리브레이션을 위해서는 HMD와 립모션의 상대적 위치를 측정할 수 있는 방법이 요구된다.
본 발명의 배경이 되는 기술은 한국등록특허 제1712350호(2017.03.07 공고)에 개시되어 있다.
본 발명은, 립모션이 장착된 영상투시 HMD의 사용 시 기기 간 정확한 상호 작용이 가능하도록 영상투시 HMD와 립모션 간의 상대적 위치 차이를 신뢰성 있게 보정할 수 있는 번들 조정 알고리즘을 이용한 립모션과 HMD 사이의 캘리브레이션 방법 및 장치에 관한 것이다.
본 발명은, 캘리브레이션 장치를 이용한 립모션과 HMD 사이의 캘리브레이션 방법에 있어서, 립모션을 장착하며 적외선 전구들이 형성된 HMD의 전면을 적외선 카메라로 촬영하여 획득한 각기 다른 시점의 n개 2차원 영상을 n개 희소 행렬로 각각 변환하는 단계와, 번들 조정 알고리즘을 통해 상기 n개 희소 행렬을 3차원 공간에 근사시켜 생성한 하나의 3차원 점군과 상기 n개 희소 행렬을 이용하여 n개 투영 행렬을 획득하는 단계와, 상기 3차원 점군을 상기 n개 투영 행렬을 통해 상기 n개 2차원 영상에 각각 투영시켜 상기 투영된 n개 2차원 점군을 각각 획득하는 단계와, 상기 n개 2차원 영상 각각에 대해, 상기 2차원 영상 내에서 적외선 전구의 형상에 대응하는 복수의 전구 클러스터를 검출 후 상기 2차원 점군 내 소속점들 중 상기 전구 클러스터 내에 위치한 2차원 점들을 판별하는 단계, 상기 3차원 점군 내 소속점들 중 상기 전구 클러스터 내에 위치한 2차원 점들에 대응되는 3차원 점들을 기초로 각 전구 클러스터의 3차원 중심점을 획득하는 단계, 및 상기 각 전구 클러스터의 3차원 중심점과 클러스터 크기를 이용하여 상기 립모션의 원점과 상기 HMD의 원점을 추정하여 캘리브레이션하는 단계를 포함하는 립모션과 HMD 사이의 캘리브레이션 방법을 제공한다.
또한, 립모션과 HMD 사이의 캘리브레이션 방법은, 상기 n개 2차원 영상에 대응하는 n개 픽셀 행렬을 획득하는 단계를 더 포함하며, 상기 n개 희소 행렬로 변환하는 단계는, 상기 n개 픽셀 행렬을 각각 상기 n개 희소 행렬로 변환할 수 있다.
또한, 상기 전구 클러스터 내에 위치한 2차원 점들을 판별하는 단계는, 상기 2차원 영상 내에서 블랍 검출 기법을 통해 원형의 복수의 전구 클러스터를 검출한 다음, 상기 전구 클러스터의 중심점과, 상기 전구 클러스터 내 나머지 점들과 상기 중심점 간의 거리 중 최대 거리값을 각각 구하며, 상기 2차원 점군 내 소속점들과 상기 중심점 간 거리를 구한 후, 상기 최대 거리값 이하의 거리를 도출한 2차원 점들을 상기 전구 클러스터 내에 위치한 2차원 점들로 판별할 수 있다.
또한, 상기 캘리브레이션하는 단계는, 상기 립모션의 원점 좌표를 상기 HMD의 원점 좌표로 이동시켜 캘리브레이션할 수 있다.
또한, 상기 각 전구 클러스터의 3차원 중심점을 획득하는 단계는, 상기 3차원 점군 내 소속점들 중 상기 전구 클러스터 내 위치한 2차원 점들에 대응되는 3차원 점들의 좌표를 평균하는 방식으로 상기 각 전구 클러스터의 3차원 중심점을 연산할 수 있다.
또한, 상기 캘리브레이션하는 단계는, 상기 각 전구 클러스터의 크기를 기초로 상위 L개의 제1 클러스터들과 나머지 M개의 제2 클러스터들로 분류한 다음(L<M), 상기 제1 클러스터들에 대한 3차원 중심점의 좌표를 평균하여 상기 립모션의 원점 좌표를 추정하고, 상기 제2 클러스터들에 대한 3차원 중심점의 좌표를 평균하여 상기 HMD의 원점 좌표를 추정할 수 있다.
그리고, 본 발명은, 립모션과 HMD 사이를 캘리브레이션하기 위한 장치에 있어서, 립모션을 장착하며 적외선 전구들이 형성된 HMD의 전면을 적외선 카메라로 촬영하여 획득한 각기 다른 시점의 n개 2차원 영상을 n개 희소 행렬로 각각 변환하는 희소 행렬 생성기와, 번들 조정 알고리즘을 통해 상기 n개 희소 행렬을 3차원 공간에 근사시켜 생성한 하나의 3차원 점군과 상기 n개 희소 행렬을 이용하여 n개 투영 행렬을 획득하는 희소 번들 조정기와, 상기 3차원 점군을 상기 n개 투영 행렬을 통해 상기 n개 2차원 영상에 각각 투영시켜 상기 투영된 n개 2차원 점군을 각각 획득하는 2D 점 추정기와, 상기 n개 2차원 영상 각각에 대해, 상기 2차원 영상 내에서 상기 적외선 전구의 형상에 대응하는 복수의 전구 클러스터를 검출하는 블랍 검출기와, 상기 2차원 점군 내 소속점들 중 전구 클러스터 내에 위치한 2차원 점들을 판별하는 블랍 판별기, 및 상기 3차원 점군 내 소속점들 중 상기 전구 클러스터 내에 위치한 2차원 점들에 대응되는 3차원 점들을 기초로 각 전구 클러스터의 3차원 중심점을 획득하고, 상기 각 전구 클러스터의 3차원 중심점과 클러스터 크기를 이용하여 상기 립모션의 원점과 상기 HMD의 원점을 추정하여 캘리브레이션하는 위치 추정기를 포함하는 립모션과 HMD 사이의 캘리브레이션 장치를 제공한다.
또한, 상기 립모션과 HMD 사이의 캘리브레이션 장치는, 상기 n개 2차원 영상에 대응하는 n개 픽셀 행렬을 획득하는 픽셀 행렬 생성기를 더 포함하며, 상기 희소 행렬 생성기는, 상기 n개 픽셀 행렬을 각각 상기 n개 희소 행렬로 변환할 수 있다.
본 발명에 따르면, 영상투시 HMD에 립모션을 장착하여 사용시 기기 간 정확한 상호 작용이 가능하도록 영상투시 HMD의 전면에서 얻은 여러 시점의 2차원 적외선 영상을 사용하여 HMD와 립모션 간 원점 좌표의 차이를 추정하고 캘리브레이션할 수 있어 영상투시 HMD를 착용한 사용자의 현실감 및 몰입감을 더욱 제고할 수 있는 이점이 있다.
도 1은 영상투시 HMD에 립모션을 장착하여 사용하는 모습에 관한 도면이다.
도 2는 영상투시 HMD의 구성을 나타낸 도면이다.
도 3은 도 2의 전면에서 립모션이 동작을 인식하는 개념을 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 캘리브레이션 장치를 나타낸 도면이다.
도 5는 도 4의 동작 개념을 간소화하여 나타낸 도면이다.
도 6은 본 발명의 실시예에 사용된 번들 조정 알고리즘을 설명한 도면이다.
도 7은 립모션과 HMD에 형성된 적외선 전구들의 3차원 위치를 나타낸 도면이다.
도 8은 립모션과 HMD에 대해 도출된 위치 좌표를 나타낸 도면이다.
도 9는 본 발명의 실시예에서 립모션이 장착된 HMD를 전면에서 촬영한 적외선 영상을 예시한 도면이다.
도 10은 도 4의 장치를 이용한 캘리브레이션 방법을 설명하는 도면이다.
도 11은 본 발명의 실시예에 따라 획득한 n개 적외선 영상을 나타낸다.
도 12는 적외선 영상을 바이너리화 한 후 희소 행렬을 생성한 결과이다.
도 13은 희소 번들 조정 알고리즘을 수행하여 하나의 3차원 점군을 출력한 결과를 나타낸다.
도 14는 도 11의 적외선 영상으로부터 적외선 전구의 위치를 클러스터화한 결과이다.
도 15는 도 12 및 도 14의 영상을 이용하여 전구 클러스터에 해당하는 2차원 점군을 추정한 결과이다.
도 16은 도 15의 결과를 통해 각 전구 클러스터의 3차원 중심점 위치를 도출한 결과이다.
도 17은 립모션이 부착된 HMD의 다양한 위치를 나타낸다.
도 18은 HMD와 립모션 간의 실제 물리적 위치 차이와 실험에 의해 도출된 위치 차이를 3차원 좌표계에 표현한 것이다.
도 19는 도 18에 대한 오차율을 구한 결과이다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
본 발명은 번들 조정 알고리즘을 이용한 립모션과 HMD 사이의 캘리브레이션 방법 및 장치에 관한 것으로, 영상 투시 방식의 HMD(이하, 영상투시 HMD)의 전면에 립모션을 장착 사용 시에 기기 간의 상대적 위치 관계를 계산하여 위치 차이를 캘리브레이션할 수 있는 기법을 제시한다.
도 2는 영상투시 HMD의 구성을 나타낸 도면이다. 도 2는 실질적으로 오큘러스 VR 사에서 개발한 영상투시 HMD인 오큘러스 리프트(Oculus Rift)를 나타낸 것이다. 오큘러스 리프트는 총 40개의 적외선 전구(적외선 LED)가 전면에 보이지 않게 매립(내장)되어 있으며, 자신의 위치 및 자세 추적을 위해 적외선 센서 장치(미도시)와 세트로 구성되어 동작한다.
이처럼, 영상투시 HMD는 일반적으로 전면부에 복수의 적외선 전구들이 분산 배치되어 있으며, 외부에 연결된 적외선 센서 장치(위치 추적기)를 통해 적외선 전구들이 발산한 적외선을 감지하여 HMD의 위치와 자세를 파악하고 파악한 방향의 모습을 화면에 출력할 수 있다.
도 3은 도 2의 전면에서 립모션이 손동작을 인식하는 개념을 나타낸 도면이다. 립모션(Leap Motion)은 사용자의 손동작을 인식하는 동작 인식 센서로, 전면에 3개의 적외선 전구(적외선 발광기)와 2개의 적외선 센서(적외선 카메라)를 내장하며, 적외선 전구들이 발광한 적외선의 반사광을 각 적외선 센서에서 수신하여 손동작을 인식한다.
이러한 립모션 기기와 영상투시 HMD 기기는 모두 전면에 복수의 적외선 전구를 내장한 점에서 공통점을 가지며 각 적외선 전구들의 위치나 크기 등은 적외선 카메라의 영상을 통해 획득 가능하다.
본 발명의 실시예는 립모션을 영상투시 HMD(ex, 오큘러스 리프트)의 정면에 부착하여 사용할 경우, 립모션이 감지한 영역와 HMD 장치에서 보여주는 영역 간의 차이를 외부의 키넥트(적외선 센서)가 촬영한 2차원 적외선 영상들을 기반으로 캘리브레이션하여 맞춰줄 수 있는 기법을 제안한다.
립모션을 HMD의 전면에 장착하여 사용할 경우 두 기기 간 작용 영역의 오차를 보정하기 위한 캘리브레이션 과정이 필요한데, 본 발명의 실시예는 립모션이 장착된 영상투시 HMD의 전면에 대한 적외선 영상들을 얻고 이를 이용하여 영상투시 HMD와 립모션 각각의 원점 좌표를 추정한 다음 립모션의 원점을 영상투시 HMD의 원점으로 이동시켜 캘리브레이션한다.
도 4는 본 발명의 실시예에 따른 캘리브레이션 장치를 나타낸 도면이고, 도 5는 도 4의 동작 개념을 간소화하여 나타낸 도면이다.
도 4 및 도 5를 참조하면, 본 발명의 실시예에 따른 캘리브레이션 장치(100)는 픽셀 행렬 생성기(110), 희소 행렬 생성기(120), 희소 번들 조정기(130), 2D 점 추정기(140), 블랍 검출기(150), 블랍 판별기(160), 위치 추정기(170)를 포함한다.
본 발명의 실시예에 따른 캘리브레이션 장치(100)는 도 5에서와 같이 립모션이 장착된 상태의 HMD의 전면 부분을 적외선 카메라(ex, 키넥트)를 통해 각기 다른 시점에서 촬영하여 획득한 n개의 2차원 영상을 입력받아 동작한다. 서로 상이한 시점(view)에서 촬영한 여러 장의 2차원 영상들을 이용하여 영상 내 물체에 대한 3차원 정보를 얻는 기술은 기존에 다양하게 공지되어 있다.
픽셀 행렬 생성기(110)는 키넥트로부터 각기 다른 시점의 n개 2차원 영상을 입력받아 각각에 대응하는 n개 픽셀 행렬을 획득한다. 픽셀 행렬 생성기(110)는 2차원 영상 내 각 픽셀을 통해 픽셀 행렬을 구성하며, 이에 따라 2차원 영상에 대응하는 픽셀 행렬이 생성된다.
희소 행렬 생성기(120)는 n개의 픽셀 행렬을 다시 n개 희소 행렬(Sparse Matrix)로 각각 변환한다. 픽셀 행렬을 희소 행렬로 변환하는 이유는 희소 번들 조정기(130)에서의 계산량을 줄이기 위한 것이다.
적외선 영상은 픽셀 값이 대부분 0의 값을 가지는 경우가 많기 때문에, 많은 양의 모든 픽셀값을 저장하고 계산하는 것은 비효율적이다. 희소 행렬은 이런 문제를 해결하기 위해 적외선 영상 내 0이 아닌 픽셀 값과 그 위치 정보는 저장하고, 0인 픽셀 값의 위치는 저장하지 않는 행렬을 의미한다. 이러한 방법을 이용하면 적외선 영상에서의 픽셀 값을 처리할 때의 계산량을 크게 줄일 수 있다.
도 4에서 희소 행렬 생성기(120)는 희소 번들 조정기(130)와 분리되어 있지만, 도 5처럼 희소 번들 조정기(130) 내에 포함될 수 있다.
희소 행렬 생성기(120)는 촬영한 영상의 픽셀값을 받아 번들 조정의 계산량을 줄이기 위해서 희소행렬 Mt를 출력한다. α와 β가 각각 적외선 영상의 너비와 높이라면, 희소행렬 Mt은 α×β 크기를 가지며, 희소 행렬의 원소는 mt,x,y로 정의된다. 희소행렬은 0과 1의 원소로 구성된 행렬로, 아래 수학식 1이 사용된다.
Figure 112018001548067-pat00001
여기서, it,x,y는 t 시간에 획득한 영상의 픽셀 값으로, 무채색 스케일(Gray Scale)이며 0에서 255 사이의 값을 갖는다. 임계치 θ은 각 픽셀과의 비교를 위해 지정된 상수이다. it,x,y이 임계치 θ보다 작거나 같으면 mt,x,y에 0을 할당하고 그렇지 않으면 1을 할당하여 2진수화 작업을 진행한다.
희소 번들 조정기(130)는 번들 조정 알고리즘(Bundle Adjustment Algorithm)을 사용하여 n개 희소 행렬을 3차원 공간에 근사시켜서, 하나의 3차원 점군(Point Cloud) P를 생성한다. 이에 따라 립모션이 장착된 HMD에 대한 모습이 하나의 3차원 점군의 형태로 도출되어 진다.
이와 같이, 희소 번들 조정기(130)는 n개 희소 행렬을 입력받아 3차원 공간 상의 한 개의 3차원 점군 P = {(x0,y0,z0), (x1,y1,z1), …}를 계산한다. 여기서, 각각의 (x,y,z)는 3차원 점군 P에 소속된 3차원 점들을 나타낸다.
번들 조정 알고리즘은 기 공지된 방식이다. 여러 장의 2차원 영상을 입력받아 영상 간의 공통된 특징점을 찾고, 특징점이 찾아지면 Levenberg-Marquardt 최적화 기법을 이용해 영상 내 모든 픽셀의 변화값이 최소화되는 3차원 위치점을 얻는다. 이러한 방식으로, 대상물에 대한 여러 장의 2차원 영상을 이용하여 대상물에 대응하는 하나의 3차원 점군을 생성한다.
또한, 희소 번들 조정기(130)는 3차원 점군과 n개 희소 행렬을 이용하여, n개 투영 행렬을 획득한다. 투영 행렬은 3차원 점군 P를 다시 각각의 2차원 영상에 투영하기 위한 변환 행렬이다. n개 희소 행렬을 다시 Levenberg-Marquardt 알고리즘에 넣어서 투영 행렬(변환 행렬)을 계산할 수 잇다.
도 6은 본 발명의 실시예에 사용된 번들 조정 알고리즘을 설명한 도면이다. 영상 1,2,3은 서로 다른 시점에서 HMD를 촬영한 2차원 영상이다. 3차원 공간 상의 점 좌표는 변환 행렬을 통해 각각의 2차원 영상 내 점으로 투영될 수 있는데 역으로 그 반대 동작도 가능하다.
2D 점 추정기(140)는 3차원 점군을 n개 투영 행렬을 통해 n개 2차원 영상에 각각 투영시켜 투영된 n개 2차원 점군을 각각 획득한다. 3차원 점군 P를 n개 투영 행렬과 각각 곱하면 2차원 카메라 좌표계 상에 맺히는 상의 위치인 2차원 점군 P'를 도출할 수 있다. 점군 P를 투영 행렬과 곱할 때는 P를 열벡터로 변환해 곱한다.
도 4에서 2D 점 추정기(140)는 희소 번들 조정기(130)와 분리되어 있지만, 희소 번들 조정기(130) 내에 포함될 수 있다.
이처럼, 2D 점 추정기(140)는 희소 번들 조정기(130)에서 근사된 3차원 점군 P와 n개의 투영 행렬을 입력받아, 3차원 점군과 각 2차원 영상 간의 위치 관계를 파악함으로써 각 2차원 영상마다 3차원 점군이 투영되는 n개의 2차원 점군 P'을 도출한다.
여기서, t번째 2차원 영상(적외선 영상)에 투영된 2차원 점군은 P't로 정의하며, P't = {(x't,0,y't,0), (x't,1,y't,1), …}이다. 이때, 각각의 (x',y')는 2차원 점군 P't 내 소속된 2차원 점들이다.
블랍 검출기(150)는 적외선 영상을 클러스터화하는 것으로, n개 2차원 영상 각각에 대해, 2차원 영상 내에서 적외선 전구의 형상(원형)에 대응하는 복수의 전구 클러스터를 검출한다.
이에 따라, HMD 및 립모션 상의 적외선 전구들이 2차원 영상 내에서 원형의 클러스터 형태로 검출된다. 물론, 립모션의 부착에 의해 가려지는 HMD의 일부 적외선 전구는 영상에서 검출되지 않는다. 이와 같은 클러스터 검출 동작은 n개 2차원 영상에 각각을 대상으로 수행된다.
블랍 검출기(150)는 n개의 2차원 적외선 영상 it를 받아 블랍 검출(Blob Detection) 알고리즘을 적용하여 2차원 영상 내의 적외선 전구들의 위치를 획득한다. 블랍 검출 시 광원인 적외선 전구의 부분이 원형의 블랍으로 나타난다. 여기서, 영상에서 원 형태를 추출할 수 있는 허프 원 변환 알고리즘이 사용될 수 있다.
블랍 검출기(150)는 2차원 영상으로부터 블랍 검출을 통해 클러스터 Gt,p를 검출하고 클러스터의 중심점 Ct,p과 반경 dt,p을 구한다. 여기서, Gt,p는 시간 t에 획득된 적외선 영상 it에 대한 p번째 클러스터로 정의된다. 그리고 클러스터 Gt,p의 q번째 원소는 gt,p,q이고, g t,p,q 의 중심점은 ct,p = (ct,p,x,ct,p,y)로 정의된다.
원형의 클러스터 추출 후 중심점 ct,p은 아래 수학식 2를 통해 구해진다.
Figure 112018001548067-pat00002
여기서, dt,p은 전구 클러스터 Gt,p 내에서 중심점 Ct,p로부터 가정 멀리 떨어진 점과의 거리(이하, 최대 거리값)로서, 전구 클러스터 Gt,p 내 중심점과 나머지 점들 간의 거리 중 최대 거리값을 의미한다. 즉, 중심점 ct,p과 나머지 점들 간 유클리드 거리(E)를 각각 구한 다음 구한 값 중 가장 큰 값을 선택하면 dt,p이 구해진다. 이하에서 dt,p는 설명의 편의상 클러스터의 반경으로 명명한다.
블랍 판별기(160)는 2D 점 추정기(140)와 블랍 검출기(150)의 출력 결과를 통해, 2차원 점군 내 소속점들 중 전구 클러스터내 위치한 2차원 점들을 판별한다.
이를 위해, 블랍 판별기(160)는 2D 점 추정기(140)에서 얻은 2차원 점군 내 소속점들과, 블랍 검출기(150)에서 얻은 전구 클러스터의 중심점 간 거리(유클리디안 거리)를 구한 다음, 최대 거리값 이하의 거리를 도출한 2차원 점들을 해당 전구 클러스터 내에 위치한 2차원 점들로 판별한다.
2D 점 추정기(140)에 의한 2차원 점군 내의 점들과, 블랍 검출기(150)에 의한 클러스터 내 점들은 모두 2차원 좌표이다. 따라서, 2차원 점군 내의 소속점과 클러스터의 중심점 간 거리를 구한 후 클러스터 반경과 비교하면, 해당 점이 클러스터 내부에 위치한 점(유효점)인지 여부를 확인할 수 있다. 물론, 이러한 블랍 판별 동작은 n개 2차원 영상 각각을 대상으로 수행된다.
구체적으로, 블랍 판별기(160)는 2D 점 추정기(140)에서 출력된 2차원 점군 P't과, 블랍 검출기(150)에서 출력된 2차원 영상 내 클러스터 Gt,p, 클러스터의 중심점 ct,p, 거리 dt,p를 각각 입력받아, 2차원 점군 P't 내 소속 점들 중 실제로 전구 클러스터 내 존재하는 점들(전구 클러스터 내 위치한 점들)인지 여부를 판별한다.
여기서, 점군 P't 내 점들 중 전구 클러스터 내의 원소 gt,p 내부에 위치하는 점들을 이용하여 별도의 클러스터 G't,p를 구성할 수 있다. 클러스터 Gt,p의 내부에 속하는 2차원 점군 P't을 수집하여 재구성한 클러스터를 G't,p로 정의한다.
이때, 2차원 점군 내 소속점의 2차원 위치좌표 p't(x't,y't)와 블랍 검출기(150)에서 획득된 클러스터의 중심점 ct,p 간의 유클리드 거리를 구하여, 구한 값이 해당 클러스터의 dt,p보다 작은지 여부에 따라 2차원 위치좌표가 클러스터 내에 포함된 것인지 여부를 확인할 수 있다. 예를 들어, 구한 값이 dt,p 이하이면
Figure 112018001548067-pat00003
이고, 그렇지 않으면
Figure 112018001548067-pat00004
이다.
도 4에서 블랍 판별기(160)는 블랍 검출기(150)와 분리되어 있지만, 도 5에서 처럼 블랍 검출기(150) 내에 소속될 수도 있다.
위치 추정기(170)는 희소 번들 조정기(130)에서 근사된 3차원 점군 P과 블랍 판별기(160)에서 얻은 클러스터 G't,p를 이용하여, 립모션의 3차원 원점 좌표 PL = (xl,yl,zl)과 HMD(오큘러스 리프트)의 3차원 원점 좌표 PO = (xo,yo,zo)를 출력하고, 이를 이용하여 립모션의 원점을 HMD의 원점으로 이동시켜 캘리브레이션 한다.
구체적으로, 위치 추정기(170)는 3차원 점군 P 내 소속점들 중, 전구 클러스터 내에 위치한 2차원 점들에 대응되는 3차원 점들만을 추출하고, 추출한 3차원 점들을 기초로 각 전구 클러스터의 3차원 중심점을 먼저 획득한다. 그런 다음, 각 전구 클러스터의 3차원 중심점과 클러스터 크기를 이용하여 립모션의 원점과 상기 HMD의 원점을 추정하여 캘리브레이션한다.
여기서, 전구 클러스터 내 위치한 2차원 점들이란, 블랍 판별기(160)에서 출력된 클러스터 G't,p의 점들을 의미한다. 즉, 위치 추정기(170)는 전구 클러스터 내 위치한 것으로 판별된 2차원 점들에 대응하는 3차원 점들을 3차원 점군 P 내에서 추출한 이후에, 이들 추출한 3차원 점들을 이용하여 각 전구 클러스터의 3차원 중심점을 얻는다. 이때, 해당 전구 클러스터 내 위치한 2차원 점들에 대응되는 3차원 점들의 좌표 평균을 이용하여, 해당 전구 클러스터의 3차원 중심점을 연산한다.
앞서 이미 3차원 점군과 그에 대응하는 2차원 점들 간 관계를 투영 행렬을 통해 확인할 수 있었으며, 이를 이용하면 3차원 점군 내 3차원 점들 중에도 실제 전구 클러스터 내 있다고 판단된 2차원 점들에 대응하는 3차원 점들을 확인할 수 있다.
쉽게 말해서, 클러스터 내에 있는 2차원 점들에 대응하는 3차원 점들을 3차원 점군으로부터 도출함으로써, 클러스터 내에 있는 3차원 점들의 좌표를 얻을 수 있고, 이들 3차원 점들의 모든 좌표를 모두 평균하면 해당 클러스터의 3차원 중심점을 알 수 있다.
이후, 위치 추정기(170)는 각 전구 클러스터의 크기를 기초로 L개(립모션의 경우 3개)의 제1 클러스터들(립모션의 전구 클러스터)과, 제1 클러스터보다 작은 크기의 나머지 M개의 제2 클러스터들(HMD의 전구 클러스터)로 분류한다(L<M). 물론 여기서 클러스터 크기 비교는 2차원 또는 3차원 크기를 이용할 수 있다.
또한, 위치 추정기(170)는 제1 클러스터들에 대한 3차원 중심점의 좌표를 평균하여 립모션의 원점 좌표를 추정 후, 제2 클러스터들에 대한 3차원 중심점의 좌표를 평균하여 HMD의 원점 좌표를 추정한다.
도 7은 립모션과 HMD에 형성된 적외선 전구들의 3차원 위치를 나타낸 도면이고, 도 8은 립모션과 HMD에 대해 도출된 위치 좌표를 나타낸 도면이다.
위치 추정기(170)는 도 7에서 도시히나 각 전구 클러스터(오큘러스 전구, 립모션 전구)들에 대한 3차원 중심점을 먼저 얻은 다음, 각 전구 클러스터의 크기를 이용하여 립모션과 HMD의 클러스터를 구분한 후, 도 8에서와 같이 립모션의 원점 위치 PL와 HMD의 원점 위치 PO를 구한다.
도 9는 본 발명의 실시예에서 립모션이 장착된 HMD를 전면에서 촬영한 적외선 영상을 예시한 도면이다. 도시된 것과 같이, 립모션의 적외선 전구가 HMD의 적외선 전구보다 크며 적외선 영상에서 주위보다 큰 점의 중간점 위치 세 곳이 립모션의 적외선 전구 위치이다.
즉, 전구 클러스터들 중 크기가 큰 3개의 클러스터들의 3차원 중심점을 평균하면 립모션의 원점 위치 PL가 도출되고, 나머지 클러스터들의 3차원 중심점을 평균하면 HMD의 원점 위치 PO가 도출된다. 립모션의 원점 위치를 HLD의 좌표계 원점 위치로 이동하면 변경된 립모션의 위치 좌표는 P'L(xo-xl, yo-yl, zo-zl)가 된다.
위치 추정기(170)는 립모션과 HMD 간 원점 좌표의 차이를 이용하여, 립모션의 원점 좌표를 HMD의 원점 좌표로 맞추어 보정한다. 이에 따라 립모션의 좌표계 원점과 오큘러스 화면의 좌표계 원점이 서로 같아지게 된다.
다음은 상술한 내용을 기초로 캘리브레이션 방법을 설명한다. 도 10은 도 4의 장치를 이용한 캘리브레이션 방법을 설명하는 도면이다.
도 10을 참조하면, 희소 행렬 생성기(120)는, 립모션을 장착된 상태의 HMD의 전면을 적외선 카메라로 촬영한 각기 다른 시점의 n개 2차원 영상을 입력받아 n개 희소 행렬로 각각 변환한다(S1001). 여기서, 희소 행렬 생성기(120)는 n개의 2차원 영상에 대응하는 n개 픽셀 행렬을 픽셀 행렬 생성기(110)로부터 입력받은 다음 n개 픽셀 행렬 각각을 n개 희소 행렬로 변환한다.
다음, 희소 번들 조정기(130)는 번들 조정 알고리즘을 통해 n개 희소 행렬을 3차원 공간에 근사시켜 하나의 3차원 점군을 생성하고(S1002), 3차원 점군과 n개 희소 행렬을 이용하여 n개 투영 행렬을 각각 획득한다(S1003).
그리고, 2D 점 추정기(140)는 다시 n개 투영 행렬을 이용하여, 3차원 점군을 n개 2차원 영상에 각각 투영시켜, n개 2차원 영상에 각각 투영된 n개 2차원 점군을 획득한다(S1004).
다음, 블랍 검출기(150)는 적외선 카메라로 획득한 n개 2차원 영상 각각에 대해, 2차원 영상 내에서 적외선 전구의 형상에 대응하는 복수의 전구 클러스터를 검출한다(S1005). 그러면, 블랍 판별기(160)는 2차원 점군 내 소속점들 중 전구 클러스터 내에 위치한 2차원 점들을 판별한다(S1006).
이후, 위치 추정기(170)는 3차원 점군 내 소속점들 중 상기 클러스터 내에 위치한 2차원 점들에 대응되는 3차원 점들을 기초로 각 전구 클러스터의 3차원 중심점을 획득 후(S1007), 전구 클러스터의 중심점과 클러스터 크기를 이용하여, 립모션의 원점 좌표와 HMD의 원점 좌표를 추정하여 캘리브레이션한다(S1008).
다음은 본 발명의 캘리브레이션 기법의 성능 실험 및 분석 결과를 설명한다.
실험 목적은 본 발명의 기법인 향후 립모션이 부착된 HMD를 사용하는 컨텐츠의 전처리 기술로 활용될 수 있는지 판단하는 것이다. 이를 위해. 본 발명에 해당하는 캘리브레이션 프로그램을 제작 후, HMD와 립모션 간의 기 알고 있는 물리적 거리 차이를 실험 대조군으로 활용하여, 본 발명의 기법의 결과와의 오차를 계산하고 그 성능을 검증한다. 실험용 컴퓨터의 개발 환경은 Windows 8.1 기반의 Visual Studio 2013이며, 사양은 Intel i7-6700 @ 3.40GHz 의 CPU와 NVidia 社의 Geforce GTX 1060의 GPU, 그리고 DDR5 16GB 2133MHz를 사용했다.
실험에서 립모션과 HMD의 적외선 전구 영상을 파악하기 위해 적외선 센서인 키넥트 센서를 사용한다. 즉, HMD의 적외선 전구 40개와, HMD에 부착된 립모션의 적외선 전구 3개를 적외선 센서인 키넥트로 촬영한다. 프로그램의 출력 값은 적외선 영상에 따라 추정된 립모션과 HMD 간의 3차원 상대 위치 좌표이며, 추정되는 3차원 점군의 좌표계의 x,y,z 축과 각각 평행한 좌표계에 생성된다. 상대 위치 좌표는 cm 단위로 나타내어진다.
HMD와 립모션의 3차원 상대위치 좌표의 정확성을 판단하기 위해, 실제 HMD 상에 립모션이 부착되는 위치를 다양하게 하여 캘리브레이션을 수행하였으며, 이를 이용하여 제안한 캘리브레이션 기법이 어느정도의 정확도를 가지는지 확인하였다.
프로그램은 다음과 같은 방법으로 수행된다.
우선, 립모션을 부착한 HMD에 대한 2차원의 n개 적외선 영상을 입력받는다. 도 11은 본 발명의 실시예에 따라 획득한 n개 적외선 영상을 나타낸다. 도 11와 같이, 프로그램에 입력되는 적외선 영상은 최소 3장 이상이어야 한다.
도 12는 적외선 이미지를 바이너리화 한 후 희소 행렬을 생성한 결과를 나타낸다. 입력된 각각의 적외선 영상은 희소 행렬 생성기를 통해 각각 희소 행렬로 변환된다. n개 적외선 영상을 모두 희소 행렬로 변환하면 계산량을 줄일 수 있다.
도 13은 희소 번들 조정 알고리즘을 수행하여 하나의 3차원 점군을 출력한 결과이다. 희소 번들 조정기는 n개 희소 행렬을 3차원 공간에 근사시켜 한 개의 3차원 점군(Point Cloud)을 계산한 다음, 한 개의 3차원 점군과 n개 변환 행렬을 이용해 각 적외선 영상마다 3차원 점군이 투영되는 투영 행렬을 개별 생성한다. 투영 행렬과 3차원 점군을 곱하면 해당 2차원 영상에 투영되는 2차원 점 좌표가 생성된다.
2D 점 추정기는 도 13의 적외선 영상을 입력받아 n개의 2차원 영상에 각각 투영한다. 2D 점 추정기는 투영 행렬(변환 행렬) T와 3차원 점군을 이용하여, 3차원 점군을 2차원 색상 영상에 투영했을 때 3차원 점군 내 각 점들이 어느 2차원 위치에 투영되는지를 구한다.
도 14는 도 11의 적외선 영상으로부터 적외선 전구의 위치를 클러스터화한 결과이다. 이는 여러 적외선 영상 중 하나에 대한 결과를 대표로 예시한 것이다.
블랍 검출기는 도 11의 영상을 입력받아 도 14와 같이 출력한다. 즉, 2차원 적외선 영상을 이용하여 적외선 전구의 위치를 클러스터화한다.
도 15는 도 12 및 도 14의 영상을 이용하여 전구 클러스터에 해당하는 2차원 점군을 추정한 결과이다 블랍 판별기는 도 12과 도 14의 영상을 입력받아 도 15과 같이 출력한다. 블랍 판별기는 2D 점 추정기에서 도출된 2차원 위치 좌표들과, 블랍 검출기에서 도출된 전구 클러스터를 이용해, 전구 클러스터 내에 있는 2차원 위치 좌표들을 구별한다.
도 16은 도 15의 결과를 통해 각 전구 클러스터의 3차원 중심점 위치를 도출한 결과이다. 위치 추정기는 블랍 판별기에서 도출된 클러스터에 해당하는 3차원 공간 좌표를 이용하여 각 클러스터의 3차원 중심점 위치를 도출한다. 도 16를 통해 립모션과 HMD에 포함된 각 전구 클러스터의 중심점 위치를 확인할 수 있다. 위치 추정기는 모든 클러스터에 대한 3차원 중심점이 도출되면 이를 이용하여 립모션과 HMD의 클러스터를 구분한 후 립모션과 HMD의 원점 좌표를 각각 계산한다.
최종적으로, n개의 적외선 영상이 프로그램에 입력되어, 한 개의 립모션의 원점 위치와 한 개의 오큘러스(HMD)의 원점 위치로 출력된다.
도 17은 립모션이 부착된 HMD의 다양한 위치를 나타낸다. 본 발명의 방법의 검증을 위하여 립모션이 부착되는 HMD의 위치를 11개의 위치로 나누고, 각 위치별로 10회의 캘리브레이션 과정을 진행하였다. 캘리브레이션을 통해 도출된 HMD와 립모션 간 위치 차이를 기 알고 있는 실제 위치 차이와 비교한 결과는 다음과 같다.
표 1은 실제 물리적 측정을 통한 HMD와 립모션의 위치 차이와 캘리브레이션을 통해 도출되는 HMD와 립모션의 위치를 나타낸다.
실험군 실제 측정값 (cm) 실험값 (10회 평균, cm)
x y z x y z
0.5 6.9 5.6 0.44 6.75 5.51
-5.8 6.9 5.6 -5.11 6.75 5.55
-7 4.6 5.5 -7.49 4.82 5.33
-5 3.2 5.5 -5.43 3.70 4.9
0.6 3 5.9 -0.48 2.82 6.16
5 1.9 5.7 4.72 3.23 5.27
5.4 4.9 6.1 5.31 4.7 5.91
5.3 6.8 6 6 7.16 6.36
-0.2 10.1 5.2 -0.09 8.21 6.07
-10.3 4.2 4.9 -7.93 4.72 5.22
10 4.4 6 9.38 4.77 5.6
도 18은 HMD와 립모션 간의 실제 물리적 위치 차이와 실험에 의해 도출된 위치 차이를 3차원 좌표계에 표현한 것이다. y 평면은 HMD의 표면이며, z축 좌표는 립모션과 HMD 화면이 출력되는 렌즈까지의 z축 거리이다. 모든 립모션의 위치에 대해 x, y, z 좌표의 평균 오차 거리는 각각 0.59cm, 0.42cm, 0.34cm이다.
도 19는 도 18에 대한 오차율을 구한 결과이다. 오차율은 이론값(실제 측정값)에서 실험값을 빼준 값에 이론값을 나눠준 확률을 백분율로 계산한다. 도 19는 실제 측정 값과 실험으로 도출된 값의 차이를 이용해 오차율을 그래프화한 것이다.
실험군 9~11에 해당하는 x, y, z값의 오차 거리가 상대적으로 크게 나타나는데, 이는 실험군 9~11에서 HMD 상에 립모션이 부착된 위치는 다른 실험군 1~8과 다르게 HMD의 정면과 평행하게 부착되지 않았기 때문이다.
각 실험에 대하여 오차율은 아래의 표 2와 같이 나타난다. 각 오차율은 소수점 2번째 자리까지 나타낸다. 표 2의 평균 오차율은 x, y, z 좌표에서 각각 24.88%, 7.61%, 0.02%이다.
립모션 위치 평균 오차율 (%)
x y z
11.2 2.12 1.55
11.88 2.14 0.89
-7.04 -4.83 3.02
-8.52 -15.72 10.91
6.21 6.07 -4.32
5.54 -8.5 7.63
1.72 4.06 3.18
-5.64 -5.24 -5.92
55.5 18.7 -16.71
23.01 -12.3333 -6.59
179.83 -70.16 6.63
평 균 24.88 -7.61 0.02
①~⑧ 평균 6.42 6.09 4.68
표 2에서 x축과 y축에서 오차값이 높게 나타나고, z 값에서 상대적으로 낮게 나타난다. 그 이유는 실험군에 사용된 립모션의 상대 위치가 HMD의 표면상에 위치하는 경우가 많기 때문이다. 모든 x, y, z 축에 대하여 평균 오차율을 구하면 약 10.84%가 도출된다. 이 오차는 대부분 HMD의 표면에 립모션이 부착되지 않은 경우에 발생했다. 이는 적외선 영상을 감지할 때 적외선 전구에서 발산되는 적외선이 각각 다른 방향을 나타내기 때문이다.
HMD의 표면에 립모션을 부착하지 않은 실험 ⑨~⑪을 제외한 평균 오차율은 x, y, z 좌표에서 각각 6.42%, 6.09%, 4.68%로 나타났다. HMD와 립모션의 거리 차이의 실제 값이 최대 10.3cm 임을 이용하면 최대 오차는 약 0.066cm까지 줄어든다.
따라서, HMD의 정면에 평행하게 립모션을 부착할 경우 더욱 정확한 캘리브레이션이 가능함을 알 수 있다. 상술한 결과를 통하여 본 발명의 기법은 향후 사용자 컨텐츠에 전처리기로 적용이 가능한 것을 알 수 있다.
이상과 같은 본 발명은 HMD에 립모션을 부착해 사용할 때 기기간 작용 영역이 다른 문제점을 해결하기 위한 HMD의 립모션 캘리브레이션 기법을 제시한다. 이를 위해, HMD와 립모션에 내장된 적외선 전구의 영상을 획득하여 번들 조정 알고리즘을 이용해 3차원 점군 좌표를 추정하였다. 적외선 전구의 위치를 파악하기 위해 블랍 검출 알고리즘을 이용해 적외선 전구 영상을 클러스터링하였다. 마지막으로, 추정된 3차원 점군과 클러스터를 이용해 HMD와 립모션의 원점 위치의 차이를 계산했다. 그 결과 HMD의 정면에 평행하게 부착된 립모션의 위치 추정에 대하여 최대 0.066cm의 오차거리를 나타내는 실험 결과를 도출할 수 있었다.
실험 결과로부터 HMD의 표면에 평면하지 않게 립모션이 부착된 경우 캘리브레이션의 오차율이 커진 것을 알 수 있었다. 이는 적외선 영상을 감지할 때 적외선 전구에서 발산되는 적외선이 각각 다른 방향을 나타내기 때문이다. 이러한 본 발명은 영상투시 HMD를 이용한 가상현실 등의 콘텐츠에 접목될 수 있고 가상현실 및 증강현실 분야에서 사용자의 편리한 상호작용 환경 구축에 기여할 수 있다.
결론적으로, 본 발명의 번들 조정 알고리즘을 이용한 립모션과 HMD 사이의 캘리브레이션 방법 및 장치에 따르면, 영상투시 HMD에 립모션을 장착하여 사용시 기기 간 정확한 상호 작용이 가능하도록 영상투시 HMD의 전면에서 얻은 여러 시점의 2차원 적외선 영상을 사용하여 HMD와 립모션 간 원점 좌표의 차이를 추정하고 캘리브레이션할 수 있어 영상투시 HMD를 착용한 사용자의 현실감 및 몰입감을 더욱 제고할 수 있는 이점이 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
100: 캘리브레이션 장치 110: 픽셀 행렬 생성기
120: 희소 행렬 생성기 130: 희소 번들 조정기
140: 2D 점 추정기 150: 블랍 검출기
160: 블랍 판별기 170: 위치 추정기

Claims (12)

  1. 캘리브레이션 장치를 이용한 립모션과 HMD 사이의 캘리브레이션 방법에 있어서,
    상기 캘리브레이션 장치의 희소 행렬 생성기는, 립모션을 장착하며 적외선 전구들이 형성된 HMD의 전면을 적외선 카메라로 촬영하여 획득한 각기 다른 시점의 n개 2차원 영상을 n개 희소 행렬로 각각 변환하는 단계;
    희소 번들 조정기는 번들 조정 알고리즘을 통해 상기 n개 희소 행렬을 3차원 공간에 근사시켜 생성한 하나의 3차원 점군과 상기 n개 희소 행렬을 이용하여 n개 투영 행렬을 획득하는 단계;
    2D 점 추정기는 상기 3차원 점군을 상기 n개 투영 행렬을 통해 상기 n개 2차원 영상에 각각 투영시켜, 투영된 n개 2차원 점군을 각각 획득하는 단계;
    블랍 검출기는 상기 n개 2차원 영상 각각에 대해, 상기 2차원 영상 내에서 적외선 전구의 형상에 대응하는 복수의 전구 클러스터를 검출하는 단계;
    블랍 판별기는 상기 2차원 점군 내 소속점들 중 상기 전구 클러스터 내에 위치한 2차원 점들을 판별하는 단계;
    위치 추정기는 상기 3차원 점군 내 소속점들 중 상기 전구 클러스터 내에 위치한 2차원 점들에 대응되는 3차원 점들을 기초로 각 전구 클러스터의 3차원 중심점을 획득하는 단계; 및
    상기 위치 추정기는 상기 각 전구 클러스터의 3차원 중심점과 클러스터 크기를 이용하여 상기 립모션의 원점과 상기 HMD의 원점을 추정하여 캘리브레이션하는 단계를 포함하는 립모션과 HMD 사이의 캘리브레이션 방법.
  2. 청구항 1에 있어서,
    픽셀 행렬 생성기는 상기 n개 2차원 영상에 대응하는 n개 픽셀 행렬을 획득하는 단계를 더 포함하며,
    상기 n개 희소 행렬로 변환하는 단계에서,
    상기 희소 행렬 생성기는 상기 n개 픽셀 행렬을 각각 상기 n개 희소 행렬로 변환하는 립모션과 HMD 사이의 캘리브레이션 방법.
  3. 청구항 1에 있어서,
    상기 복수의 전구 클러스터를 검출하는 단계에서,
    상기 블랍 검출기는 상기 2차원 영상 내에서 블랍 검출 기법을 통해 원형의 복수의 전구 클러스터를 검출한 다음, 상기 전구 클러스터의 중심점과, 상기 전구 클러스터 내 나머지 점들과 상기 중심점 간의 거리 중 최대 거리값을 각각 구하며,
    상기 전구 클러스터 내에 위치한 2차원 점들을 판별하는 단계에서,
    상기 블랍 판별기는 상기 2차원 점군 내 소속점들과 상기 중심점 간 거리를 구한 후, 상기 최대 거리값 이하의 거리를 도출한 2차원 점들을 상기 전구 클러스터 내에 위치한 2차원 점들로 판별하는 립모션과 HMD 사이의 캘리브레이션 방법.
  4. 청구항 1에 있어서,
    상기 캘리브레이션하는 단계에서,
    상기 위치 추정기는 상기 립모션의 원점 좌표를 상기 HMD의 원점 좌표로 이동시켜 캘리브레이션하는 립모션과 HMD 사이의 캘리브레이션 방법.
  5. 청구항 1에 있어서,
    상기 각 전구 클러스터의 3차원 중심점을 획득하는 단계에서,
    상기 위치 추정기는 상기 3차원 점군 내 소속점들 중 상기 전구 클러스터 내 위치한 2차원 점들에 대응되는 3차원 점들의 좌표를 평균하는 방식으로 상기 각 전구 클러스터의 3차원 중심점을 연산하는 립모션과 HMD 사이의 캘리브레이션 방법.
  6. 청구항 1에 있어서,
    상기 캘리브레이션하는 단계에서,
    상기 위치 추정기는 상기 각 전구 클러스터의 크기를 기초로 상위 L개의 제1 클러스터들과 나머지 M개의 제2 클러스터들로 분류한 다음(L<M), 상기 제1 클러스터들에 대한 3차원 중심점의 좌표를 평균하여 상기 립모션의 원점 좌표를 추정하고, 상기 제2 클러스터들에 대한 3차원 중심점의 좌표를 평균하여 상기 HMD의 원점 좌표를 추정하는 립모션과 HMD 사이의 캘리브레이션 방법.
  7. 립모션과 HMD 사이를 캘리브레이션하기 위한 장치에 있어서,
    립모션을 장착하며 적외선 전구들이 형성된 HMD의 전면을 적외선 카메라로 촬영하여 획득한 각기 다른 시점의 n개 2차원 영상을 n개 희소 행렬로 각각 변환하는 희소 행렬 생성기;
    번들 조정 알고리즘을 통해 상기 n개 희소 행렬을 3차원 공간에 근사시켜 생성한 하나의 3차원 점군과 상기 n개 희소 행렬을 이용하여 n개 투영 행렬을 획득하는 희소 번들 조정기;
    상기 3차원 점군을 상기 n개 투영 행렬을 통해 상기 n개 2차원 영상에 각각 투영시켜 상기 투영된 n개 2차원 점군을 각각 획득하는 2D 점 추정기;
    상기 n개 2차원 영상 각각에 대해, 상기 2차원 영상 내에서 상기 적외선 전구의 형상에 대응하는 복수의 전구 클러스터를 검출하는 블랍 검출기;
    상기 2차원 점군 내 소속점들 중 상기 전구 클러스터 내에 위치한 2차원 점들을 판별하는 블랍 판별기; 및
    상기 3차원 점군 내 소속점들 중 상기 전구 클러스터 내에 위치한 2차원 점들에 대응되는 3차원 점들을 기초로 각 전구 클러스터의 3차원 중심점을 획득하고, 상기 각 전구 클러스터의 3차원 중심점과 클러스터 크기를 이용하여 상기 립모션의 원점과 상기 HMD의 원점을 추정하여 캘리브레이션하는 위치 추정기를 포함하는 립모션과 HMD 사이의 캘리브레이션 장치.
  8. 청구항 7에 있어서,
    상기 n개 2차원 영상에 대응하는 n개 픽셀 행렬을 획득하는 픽셀 행렬 생성기를 더 포함하며,
    상기 희소 행렬 생성기는,
    상기 n개 픽셀 행렬을 각각 상기 n개 희소 행렬로 변환하는 립모션과 HMD 사이의 캘리브레이션 장치.
  9. 청구항 7에 있어서,
    상기 블랍 검출기는,
    상기 2차원 영상 내에서 블랍 검출 기법을 통해 원형의 복수의 전구 클러스터를 검출한 다음, 상기 전구 클러스터의 중심점과, 상기 전구 클러스터 내 나머지 점들과 상기 중심점 간의 거리 중 최대 거리값을 각각 구하며,
    상기 블랍 판별기는,
    상기 2차원 점군 내 소속점들과 상기 중심점 간 거리를 구한 후, 상기 최대 거리값 이하의 거리를 도출한 2차원 점들을 상기 전구 클러스터 내에 위치한 2차원 점들로 판별하는 립모션과 HMD 사이의 캘리브레이션 장치.
  10. 청구항 7에 있어서,
    상기 위치 추정기는,
    상기 립모션의 원점 좌표를 상기 HMD의 원점 좌표로 이동시켜 캘리브레이션하는 립모션과 HMD 사이의 캘리브레이션 장치.
  11. 청구항 7에 있어서,
    상기 위치 추정기는,
    상기 3차원 점군 내 소속점들 중 상기 전구 클러스터 내 위치한 2차원 점들에 대응되는 3차원 점들의 좌표를 평균하는 방식으로 상기 각 전구 클러스터의 3차원 중심점을 연산하는 립모션과 HMD 사이의 캘리브레이션 장치.
  12. 청구항 7에 있어서,
    상기 위치 추정기는,
    상기 각 전구 클러스터의 크기를 기초로 L개의 제1 클러스터들과, 상기 제1 클러스터보다 작은 나머지 M개의 제2 클러스터들로 분류하며(L<M),
    상기 제1 클러스터들에 대한 3차원 중심점의 좌표를 평균하여 상기 립모션의 원점 좌표를 추정하고, 상기 제2 클러스터들에 대한 3차원 중심점의 좌표를 평균하여 상기 HMD의 원점 좌표를 추정하는 립모션과 HMD 사이의 캘리브레이션 장치.
KR1020180001572A 2018-01-05 2018-01-05 번들 조정 알고리즘을 이용한 립모션과 hmd 사이의 캘리브레이션 방법 및 장치 KR102028376B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180001572A KR102028376B1 (ko) 2018-01-05 2018-01-05 번들 조정 알고리즘을 이용한 립모션과 hmd 사이의 캘리브레이션 방법 및 장치
PCT/KR2018/010002 WO2019135462A1 (ko) 2018-01-05 2018-08-29 번들 조정 알고리즘을 이용한 립모션과 hmd 사이의 캘리브레이션 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180001572A KR102028376B1 (ko) 2018-01-05 2018-01-05 번들 조정 알고리즘을 이용한 립모션과 hmd 사이의 캘리브레이션 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190083757A KR20190083757A (ko) 2019-07-15
KR102028376B1 true KR102028376B1 (ko) 2019-10-04

Family

ID=67144285

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180001572A KR102028376B1 (ko) 2018-01-05 2018-01-05 번들 조정 알고리즘을 이용한 립모션과 hmd 사이의 캘리브레이션 방법 및 장치

Country Status (2)

Country Link
KR (1) KR102028376B1 (ko)
WO (1) WO2019135462A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200061308A (ko) 2018-11-23 2020-06-02 주식회사 엔텍로직 짐벌카메라와 지향제어장치의 캘리브레이션 검사 방법 및 장치
KR102151265B1 (ko) 2019-12-26 2020-09-02 주식회사 델바인 Hmd 시스템 및 이를 포함하는 재활훈련 시스템

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220026774A (ko) * 2020-08-26 2022-03-07 삼성전자주식회사 외부 장치의 위치를 보정하기 위한 전자 장치 및 그의 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014178141A (ja) 2013-03-13 2014-09-25 Kagoshima Univ キャリブレーションシステム、およびキャリブレーション方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6250024B2 (ja) * 2013-02-19 2017-12-20 ミラマ サービス インク キャリブレーション装置、キャリブレーションプログラム、およびキャリブレーション方法
KR20140108828A (ko) * 2013-02-28 2014-09-15 한국전자통신연구원 카메라 트래킹 장치 및 방법
KR102081933B1 (ko) * 2013-08-28 2020-04-14 엘지전자 주식회사 헤드 마운트 디스플레이 및 제어 방법
KR102083963B1 (ko) * 2013-12-10 2020-04-14 엘지전자 주식회사 시선 캘리브레이션을 제공하는 헤드 마운트 디스플레이 디바이스 및 그 제어 방법
KR101803705B1 (ko) * 2016-05-10 2017-12-05 전자부품연구원 카메라와 거리 센서의 3차원 캘리브레이션 시스템 및 방법, 그리고 캘리브레이션 장치 및 캘리브레이션 지그

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014178141A (ja) 2013-03-13 2014-09-25 Kagoshima Univ キャリブレーションシステム、およびキャリブレーション方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200061308A (ko) 2018-11-23 2020-06-02 주식회사 엔텍로직 짐벌카메라와 지향제어장치의 캘리브레이션 검사 방법 및 장치
KR102151265B1 (ko) 2019-12-26 2020-09-02 주식회사 델바인 Hmd 시스템 및 이를 포함하는 재활훈련 시스템

Also Published As

Publication number Publication date
KR20190083757A (ko) 2019-07-15
WO2019135462A1 (ko) 2019-07-11

Similar Documents

Publication Publication Date Title
US11741624B2 (en) Method and system for determining spatial coordinates of a 3D reconstruction of at least part of a real object at absolute spatial scale
EP3589978B1 (en) Multi-spectrum illumination-and-sensor module for head tracking, gesture recognition and spatial mapping
CN110689584B (zh) 多相机环境中主动式刚体的位姿定位方法及相关设备
CN109961504B (zh) 三维模型重建方法、电子装置及非暂态电脑可读取记录媒体
CN111194416B (zh) 用于生成场景的表示的装置和方法
JP5567908B2 (ja) 3次元計測装置、その計測方法及びプログラム
CN107850782B (zh) 用反射率图表示增强深度图表示
KR100920931B1 (ko) Tof 카메라를 이용한 로봇의 물체 자세 인식 방법
US20180061034A1 (en) Deformation Detection and Automatic Calibration for a Depth Imaging System
US7190826B2 (en) Measuring the location of objects arranged on a surface, using multi-camera photogrammetry
KR102028376B1 (ko) 번들 조정 알고리즘을 이용한 립모션과 hmd 사이의 캘리브레이션 방법 및 장치
US20140225826A1 (en) Method for detecting motion of input body and input device using same
US20120062749A1 (en) Human body identification method using range image camera and human body identification apparatus
CN109643372A (zh) 一种识别方法、设备以及可移动平台
Ellmauthaler et al. A novel iterative calibration approach for thermal infrared cameras
JP2017511495A (ja) マイクロレンズアレイを有する画像化システムの基準線を調節するシステムおよび方法
CN112492195A (zh) 光学传感装置及方法
JP2018195070A (ja) 情報処理装置、情報処理方法、及びプログラム
Yamauchi et al. Calibration of a structured light system by observing planar object from unknown viewpoints
CN108693538A (zh) 基于双目结构光的准确置信度深度摄像机测距装置及方法
KR101296365B1 (ko) 카메라를 이용한 홀로그램 터치 인식방법
JP6890422B2 (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
KR20090070258A (ko) 3차원 기하학 정보를 이용한 실시간 지시 영역 추정 방법
WO2016084316A1 (en) Information processing apparatus, information processing method, and program
US11195290B2 (en) Apparatus and method for encoding in structured depth camera system

Legal Events

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