KR20190083757A - Calibration method of leap motion-HMD using bundle adjustment algorithm and method thereof - Google Patents
Calibration method of leap motion-HMD using bundle adjustment algorithm and method thereof Download PDFInfo
- Publication number
- KR20190083757A KR20190083757A KR1020180001572A KR20180001572A KR20190083757A KR 20190083757 A KR20190083757 A KR 20190083757A KR 1020180001572 A KR1020180001572 A KR 1020180001572A KR 20180001572 A KR20180001572 A KR 20180001572A KR 20190083757 A KR20190083757 A KR 20190083757A
- Authority
- KR
- South Korea
- Prior art keywords
- dimensional
- hmd
- points
- lip motion
- cluster
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Optics & Photonics (AREA)
- Length Measuring Devices By Optical Means (AREA)
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를 착용한 사용자의 현실감 및 몰입감을 제고할 수 있다.The present invention relates to a method and apparatus for calibrating between a lip motion and an HMD using a bundle adjustment algorithm. According to the present invention, there is provided a method of converting an n-dimensional image into a plurality of n-dimensional matrices, the method comprising the steps of: converting n two-dimensional images obtained at different points of time obtained by photographing a front surface of an HMD equipped with lip motion, Acquiring n projection matrices using one 3-D point group and n sparse matrices generated by approximating the 3-D space matrix to 3-D space, Dimensional clusters corresponding to the shape of the infrared ray bulb are detected for each of the n two-dimensional images, and then a plurality of clusters corresponding to the shape of the infrared ray bulb are detected, Determining three-dimensional center points of each bulb cluster based on three-dimensional points corresponding to two-dimensional points located within the global cluster among the belonging points in the three-dimensional point cloud; And estimating and calibrating the origin of the lip motion and the HMD using the three-dimensional center point and the cluster size of each bulb cluster.
According to the present invention, the relative positional error between the HMD and the lip motion can be corrected using the infrared images of the plurality of points of view obtained from the front face of the image-viewing HMD equipped with the lip motion, thereby enhancing the sense of realism and immersion of the user wearing the HMD .
Description
본 발명은 번들 조정 알고리즘을 이용한 립모션과 HMD 사이의 캘리브레이션 방법 및 장치에 관한 것으로서, 영상투시 HMD와 립모션 간 좌표계 오차를 보정할 수 있는 번들 조정 알고리즘을 이용한 립모션과 HMD 사이의 캘리브레이션 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for calibration between lip motion and an HMD using a bundle adjustment algorithm and a calibration method between lip motion and an HMD using a bundle adjustment algorithm capable of correcting the coordinate system error between the image- ≪ / RTI >
HMD(Head Mount Display) 기기의 보급으로 가상 현실(Virtual Reality) 환경에 대한 관심이 늘고 있다. HMD(Head Mount Display)는 크게 광학적 투시(Optical See-Through) 방식과 영상 투시(Video See-Through) 방식이 있다. 영상투시 방식 HMD는 가상 현실을 위한 몰입성이 광학적 투시 방식보다 뛰어나 이를 이용한 연구가 활발히 진행되고 있다.With the spread of HMD (Head Mount Display) devices, interest in the virtual reality environment is increasing. The HMD (Head Mount Display) is largely classified into an optical see-through system and a video see-through system. Imaginary vision HMD is more immersive for virtual reality than optics perspective, and research using it is actively proceeding.
그런데, 영상투시 HMD를 착용한 사용자는 HMD의 영상만 볼 수 있으며 사용자 인터페이스를 전혀 볼 수 없어 사용자의 직관적인 상호작용이 어렵다. 사용자가 인터페이스 장치의 위치를 인지하지 않고도 정확한 상호작용을 하기 위해서는 동작 인식 등과 같은 직관적인 인터페이스 방법이 필요하다.However, a user who wears a video-based HMD can only view a video of the HMD and can not see the user interface at all, making it difficult to intuitively interact with the user. An intuitive interface method, such as motion recognition, is needed for a user to accurately interact without having to know the location of the interface device.
동작 인식을 이용한 인터페이스 장치 중 립모션(Leap Motion)은 사용자의 직관적인 손동작이나 손가락 위치를 인식하는 점에서 각광받는 기기이다. 립모션은 HMD와 더불어 사용자에게 직관적인 상호작용을 가능하게 하며, HMD와의 상호 운용성(Interoperability)이 뛰어나 HMD에 부착되어 사용된다.In the interface device using motion recognition, Leap Motion is a device that receives light in recognition of intuitive hand motions or finger positions of a user. In addition to HMD, lip motion enables intuitive interaction with the user, and is excellent in interoperability with the HMD, and is attached to the HMD.
하지만, HMD의 전면에 립모션을 부착할 때, 립모션이 부착된 위치가 기기마다 다르고, 립모션과 HMD의 좌표계가 서로 다르다. 따라서, 사용자가 립모션이 부착된 HMD를 사용할 때 HMD의 화면을 보면서 립모션과의 정확한 상호작용이 어렵다는 문제점이 있다.However, when attaching the lip motion to the front of the HMD, the position where the lip motion is attached differs from device to device, and the coordinate system of the lip motion and the HMD are different from each other. Therefore, when the user uses the HMD with the lip motion, it is difficult to accurately interact with the lip motion while viewing the screen of the HMD.
도 1은 영상투시 HMD에 립모션을 장착하여 사용하는 모습에 관한 도면이다. 이러한 도 1은 HMD에서 보이는 손과 립모션이 감지한 손의 위치가 맞지 않을 경우 립모션이 부착된 HMD의 사용시 사용자의 정확한 상호작용이 어렵다는 점을 개념적으로 나타난 것이다. FIG. 1 is a diagram showing a state in which a lip-motion is mounted on a video-watching HMD. FIG. 1 conceptually shows that it is difficult for the user to accurately interact with the lip motion-attached HMD when the position of the hand detected by the HMD is not matched with the position of the hand sensed by the lip motion.
사용자의 정확한 상호작용을 위해서는 립모션의 작용 위치와 출력 화면의 작용 위치를 서로 맞춰주는 것이 가장 효과적이다. 따라서 영상투시 HMD 화면의 위치와 립모션의 위치 관계를 캘리브레이션할 수 있는 방법이 필요하다.For accurate user interaction, it is most effective to match the operating position of the lip motion with the operating position of the output screen. Therefore, there is a need for a method of calibrating the positional relationship between the position of the HMD screen and the lip motion.
HMD의 종류 중 하나인 광학투시 HMD의 경우 사용자가 바라보는 실제 환경이 곧 HMD의 출력 화면이 되므로 손가락의 위치를 사용자가 볼 수 있어 사용자의 직접적인 캘리브레이션이 가능하다. In the case of the optically-seated HMD, which is one of the HMD types, the actual environment that the user sees is the output screen of the HMD, so that the user can see the position of the finger, so that the user can directly calibrate.
그 중에서 3차원 공간 상에서 사용자가 바라보는 광학투시 HMD 화면과 립모션 간 캘리브레이션을 수행하는 방식이 있다. 이 방법은 사용자가 가상의 레티클을 손가락으로 조정해 3D 마커와 맞추도록 하는 방법으로, 3차원 공간상의 마커를 이용하므로 3차원 캘리브레이션의 정확도가 높아질 수는 있지만, 사용자의 특성에 따라 정확성의 차이가 나타날 수 있고, 가상 레티클을 조정하는 상호 작용 방법이 사용자에게 불편하게 느껴질 수 있다.Among them, there is a method of performing calibration between the optical-perspective HMD screen and the lip motion which the user sees in the three-dimensional space. In this method, a user adjusts a virtual reticle with a finger to adjust it with a 3D marker. Since a marker on a three-dimensional space is used, the accuracy of the three-dimensional calibration can be enhanced. However, And the interaction method of adjusting the virtual reticle may feel uncomfortable to the user.
그 밖에도 광학적 투시 HMD에 부착된 안구 인식용 카메라를 이용한 캘리브레이션 기법이 있다. 이 방법은 사용자의 안구가 가리키는 위치를 카메라를 통해 판단하기 때문에 카메라의 성능이 곧 캘리브레이션 성능에 영향을 미치며, 사용자의 안구 특성이나 HMD를 착용하는 특성에 따라 캘리브레이션의 정확도가 달라지므로 사용자가 달라지면 캘리브레이션을 다시 해야 한다.There is also a calibration technique using an eye recognition camera attached to an optically transparent HMD. Since this method determines the position of the user's eye through the camera, the performance of the camera affects the calibration performance and the accuracy of the calibration depends on the characteristics of the user's eyeball or the wear of the HMD. Therefore, You must re-do it.
이상과 같은 광학적 투시 HMD와 립모션 간 캘리브레이션 기법은 실제 환경을 기반으로 한 증강 현실(AR) 환경에서 가능한 방법에 해당하고, 외부의 모습이 사용자의 안구로 들어오지 않아도 되는 기기적 특성과도 맞는 방법이다. The above-mentioned optically-sighted HMD and lip-motion calibration techniques are available in AR environment based on actual environment, and correspond to the mechanical characteristics in which the external appearance does not enter the user's eye to be.
하지만, 영상투시 HMD에 립모션을 부착할 경우 영상투시 HMD의 특성상 출력 화면이 실제 환경과 동떨어진 가상 현실(VR) 환경으로, 이로 인해 사용자의 안구가 영상투시 HMD의 화면과 밀착되어 있고 외부의 모습을 사용자가 전혀 볼 수 없기 때문에, 광학적 투시 HMD에서 사용하는 캘리브레이션 기법을 적용하기는 어렵다. However, in the case of attaching lip motion to a video-perspective HMD, the output screen is a virtual reality (VR) environment which is separated from the actual environment due to the nature of the video-based HMD. Thus, the user's eyeball is in close contact with the screen of the video- It is difficult to apply the calibration technique used in the optical perspective HMD.
따라서, 영상투시 HMD와 립모션 간의 캘리브레이션을 위해서는 HMD와 립모션의 상대적 위치를 측정할 수 있는 방법이 요구된다. Therefore, a method for measuring the relative position of the HMD and the lip motion is required for calibration between the video-perspective HMD and the lip motion.
본 발명의 배경이 되는 기술은 한국등록특허 제1712350호(2017.03.07 공고)에 개시되어 있다.The technology which is the background of the present invention is disclosed in Korean Patent No. 1712350 (published on Mar. 07, 2017).
본 발명은, 립모션이 장착된 영상투시 HMD의 사용 시 기기 간 정확한 상호 작용이 가능하도록 영상투시 HMD와 립모션 간의 상대적 위치 차이를 신뢰성 있게 보정할 수 있는 번들 조정 알고리즘을 이용한 립모션과 HMD 사이의 캘리브레이션 방법 및 장치에 관한 것이다.Between lip motion and HMD using a bundle adjustment algorithm capable of reliably correcting the relative positional difference between the image-wise HMD and lip motion so as to enable accurate inter-device interaction when using the image-through HMD with lip motion And more particularly, to a calibration method and apparatus for calibration.
본 발명은, 캘리브레이션 장치를 이용한 립모션과 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 사이의 캘리브레이션 방법을 제공한다.The present invention relates to a calibration method between a lip motion and an HMD using a calibration apparatus, the method comprising the steps of: capturing n two-dimensional images at different points of time obtained by photographing a front surface of an HMD equipped with a lip motion, And obtaining n projection matrices using the n sparse matrices and a single 3-D point group generated by approximating the n sparse matrices in a three-dimensional space through a bundle adjustment algorithm Dimensional projection of the n-dimensional image; and projecting each of the n 2-dimensional point clouds to the n 2-dimensional images through the n projection matrices, respectively, Dimensional cloud image, the method comprising the steps of: detecting a plurality of light bulb clusters corresponding to a shape of an infrared light bulb in the two-dimensional image; Obtaining three-dimensional center points of each of the bulb clusters based on three-dimensional points corresponding to two-dimensional points located within the bulb cluster among the belonging points in the three-dimensional point cloud group, And estimating and calibrating the origin of the lip motion and the origin of the HMD using the three-dimensional center point and the cluster size of the lip motion and the HMD.
또한, 립모션과 HMD 사이의 캘리브레이션 방법은, 상기 n개 2차원 영상에 대응하는 n개 픽셀 행렬을 획득하는 단계를 더 포함하며, 상기 n개 희소 행렬로 변환하는 단계는, 상기 n개 픽셀 행렬을 각각 상기 n개 희소 행렬로 변환할 수 있다.The calibration method between the lip motion and the HMD may further include obtaining n pixel matrices corresponding to the n two-dimensional images, wherein the converting into the n n sparse matrices comprises converting the n pixel matrices Can be converted into the n number of sparse matrices, respectively.
또한, 상기 전구 클러스터 내에 위치한 2차원 점들을 판별하는 단계는, 상기 2차원 영상 내에서 블랍 검출 기법을 통해 원형의 복수의 전구 클러스터를 검출한 다음, 상기 전구 클러스터의 중심점과, 상기 전구 클러스터 내 나머지 점들과 상기 중심점 간의 거리 중 최대 거리값을 각각 구하며, 상기 2차원 점군 내 소속점들과 상기 중심점 간 거리를 구한 후, 상기 최대 거리값 이하의 거리를 도출한 2차원 점들을 상기 전구 클러스터 내에 위치한 2차원 점들로 판별할 수 있다.The step of determining the two-dimensional points located within the cluster may include detecting a plurality of circular clusters of a circle through the blob detection technique in the two-dimensional image, Dimensional point group and a distance between the center points of the two-dimensional point cloud and a distance between the center points of the two-dimensional point cloud and a distance between the center points of the two- It can be discriminated by two-dimensional points.
또한, 상기 캘리브레이션하는 단계는, 상기 립모션의 원점 좌표를 상기 HMD의 원점 좌표로 이동시켜 캘리브레이션할 수 있다.The calibration may be performed by moving the origin coordinates of the lip motion to the origin coordinates of the HMD.
또한, 상기 각 전구 클러스터의 3차원 중심점을 획득하는 단계는, 상기 3차원 점군 내 소속점들 중 상기 전구 클러스터 내 위치한 2차원 점들에 대응되는 3차원 점들의 좌표를 평균하는 방식으로 상기 각 전구 클러스터의 3차원 중심점을 연산할 수 있다.The obtaining of the three-dimensional center point of each of the bulb clusters may include a method of averaging coordinates of three-dimensional points corresponding to two-dimensional points located in the bulb cluster among the belonging points in the three-dimensional point cloud, The center-of-gravity point of the three-
또한, 상기 캘리브레이션하는 단계는, 상기 각 전구 클러스터의 크기를 기초로 상위 L개의 제1 클러스터들과 나머지 M개의 제2 클러스터들로 분류한 다음(L<M), 상기 제1 클러스터들에 대한 3차원 중심점의 좌표를 평균하여 상기 립모션의 원점 좌표를 추정하고, 상기 제2 클러스터들에 대한 3차원 중심점의 좌표를 평균하여 상기 HMD의 원점 좌표를 추정할 수 있다.The calibration step may include classifying the first clusters into L first clusters and M remaining second clusters based on the sizes of the respective bulb clusters (L < M) The origin coordinates of the lip motion can be estimated by averaging the coordinates of the 3D center point, and the coordinates of the 3D center point with respect to the second clusters can be averaged to estimate the origin coordinate of the 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 사이의 캘리브레이션 장치를 제공한다.According to another aspect of the present invention, there is provided an apparatus for calibrating between a lip motion and an HMD, comprising: an n-dimensional two-dimensional image obtained by photographing a front surface of an HMD equipped with a lip motion, And a n-th spatially ordered matrix. The n-th spatially ordered matrix is generated by approximating the n sparse matrices to a three-dimensional space through a bundle adjustment algorithm, A 2D point estimator for obtaining the projected n two-dimensional point groups by projecting the three-dimensional point cloud onto the n two-dimensional images through the n projection matrices, respectively, A blob detector for detecting a plurality of light bulb clusters corresponding to the shape of the infrared bulb in the two-dimensional image for each of the two-dimensional image, A bladder discriminator for discriminating two-dimensional points located within a bulb cluster among the boundary points, and a bladder classifier for determining three-dimensional points of each bulb cluster based on three-dimensional points corresponding to the two- And a position estimator estimating and calibrating the origin of the lip motion and the origin of the HMD using the three-dimensional center point and the cluster size of each of the bulb clusters, and a calibration device between the lip motion and the HMD .
또한, 상기 립모션과 HMD 사이의 캘리브레이션 장치는, 상기 n개 2차원 영상에 대응하는 n개 픽셀 행렬을 획득하는 픽셀 행렬 생성기를 더 포함하며, 상기 희소 행렬 생성기는, 상기 n개 픽셀 행렬을 각각 상기 n개 희소 행렬로 변환할 수 있다.The calibration device between the lip motion and the HMD further includes a pixel matrix generator for obtaining n pixel matrices corresponding to the n two-dimensional images, wherein the sparse matrix generator is configured to calculate the n pixel matrices And can be converted into the n number of sparse matrices.
본 발명에 따르면, 영상투시 HMD에 립모션을 장착하여 사용시 기기 간 정확한 상호 작용이 가능하도록 영상투시 HMD의 전면에서 얻은 여러 시점의 2차원 적외선 영상을 사용하여 HMD와 립모션 간 원점 좌표의 차이를 추정하고 캘리브레이션할 수 있어 영상투시 HMD를 착용한 사용자의 현실감 및 몰입감을 더욱 제고할 수 있는 이점이 있다.According to the present invention, the difference in the origin coordinates between the HMD and the lip motion is obtained by using the two-dimensional infrared image obtained from the front face of the image-viewing HMD so as to enable precise interaction between the devices when the lip- It is possible to further enhance the sense of reality and immersion of the user wearing the video-watching 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에 대한 오차율을 구한 결과이다.FIG. 1 is a diagram showing a state in which a lip-motion is mounted on a video-watching HMD.
2 is a view showing a configuration of an image-viewing HMD.
FIG. 3 is a view showing a concept that lip motion recognizes an operation on the front side of FIG. 2. FIG.
4 is a diagram illustrating a calibration apparatus according to an embodiment of the present invention.
5 is a simplified representation of the operational concept of FIG.
6 is a diagram illustrating a bundle adjustment algorithm used in an embodiment of the present invention.
FIG. 7 is a view showing the lip motion and the three-dimensional position of the infrared ray lamps formed in the HMD.
8 is a diagram showing positional coordinates derived for the lip motion and the HMD.
FIG. 9 is a diagram illustrating an infrared ray image taken from the front side of an HMD equipped with lip motion in the embodiment of the present invention.
10 is a diagram for explaining a calibration method using the apparatus of FIG.
11 shows n infrared images acquired according to an embodiment of the present invention.
12 is a result of generating a sparse matrix after binarizing an infrared image.
13 shows a result of performing a rare bundle adjustment algorithm to output one three-dimensional point cloud.
Fig. 14 is a result of clustering the positions of the infrared ray bulbs from the infrared ray image of Fig.
FIG. 15 is a result of estimating a two-dimensional point cloud corresponding to a global cluster using the images of FIG. 12 and FIG.
FIG. 16 is a result of deriving the three-dimensional center point position of each bulb cluster through the results of FIG.
17 shows various positions of the HMD with lip motion.
FIG. 18 is a representation of the actual physical position difference between the HMD and the lip motion and the positional difference derived by the experiment in the three-dimensional coordinate system.
FIG. 19 shows the result of calculating the error rate with respect to FIG.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention.
본 발명은 번들 조정 알고리즘을 이용한 립모션과 HMD 사이의 캘리브레이션 방법 및 장치에 관한 것으로, 영상 투시 방식의 HMD(이하, 영상투시 HMD)의 전면에 립모션을 장착 사용 시에 기기 간의 상대적 위치 관계를 계산하여 위치 차이를 캘리브레이션할 수 있는 기법을 제시한다.The present invention relates to a method and apparatus for calibrating between a lip motion and an HMD using a bundle adjustment algorithm. More particularly, the present invention relates to a method and an apparatus for calibrating the relative positional relationship between devices when a lip motion is mounted on an HMD We propose a technique to calculate and calibrate the positional difference.
도 2는 영상투시 HMD의 구성을 나타낸 도면이다. 도 2는 실질적으로 오큘러스 VR 사에서 개발한 영상투시 HMD인 오큘러스 리프트(Oculus Rift)를 나타낸 것이다. 오큘러스 리프트는 총 40개의 적외선 전구(적외선 LED)가 전면에 보이지 않게 매립(내장)되어 있으며, 자신의 위치 및 자세 추적을 위해 적외선 센서 장치(미도시)와 세트로 구성되어 동작한다.2 is a view showing a configuration of an image-viewing HMD. Fig. 2 shows an Oculus Rift, which is a video-watching HMD developed by Ocurus VR. The Oculus Lift has a total of 40 infrared ray bulbs (infrared LEDs) buried invisibly in the front (built in) and operates in a set with an infrared sensor device (not shown) to track its position and attitude.
이처럼, 영상투시 HMD는 일반적으로 전면부에 복수의 적외선 전구들이 분산 배치되어 있으며, 외부에 연결된 적외선 센서 장치(위치 추적기)를 통해 적외선 전구들이 발산한 적외선을 감지하여 HMD의 위치와 자세를 파악하고 파악한 방향의 모습을 화면에 출력할 수 있다.As described above, in the image-viewing HMD, a plurality of infrared light bulbs are dispersed and arranged in the front part, and the position and the posture of the HMD are detected by detecting the infrared rays emitted from the infrared light bulbs through an infrared sensor device You can output the figure of the direction that you grasped on the screen.
도 3은 도 2의 전면에서 립모션이 손동작을 인식하는 개념을 나타낸 도면이다. 립모션(Leap Motion)은 사용자의 손동작을 인식하는 동작 인식 센서로, 전면에 3개의 적외선 전구(적외선 발광기)와 2개의 적외선 센서(적외선 카메라)를 내장하며, 적외선 전구들이 발광한 적외선의 반사광을 각 적외선 센서에서 수신하여 손동작을 인식한다.FIG. 3 is a view showing a concept that lip motion recognizes a hand gesture on the front side of FIG. 2. FIG. Leap Motion is a motion recognition sensor that recognizes the user's hand movements. It has three infrared ray bulbs (infrared ray emitters) and two infrared ray sensors (infrared cameras) on the front, and the reflected light of infrared rays emitted by infrared ray bulbs Each infrared sensor receives and recognizes hand movements.
이러한 립모션 기기와 영상투시 HMD 기기는 모두 전면에 복수의 적외선 전구를 내장한 점에서 공통점을 가지며 각 적외선 전구들의 위치나 크기 등은 적외선 카메라의 영상을 통해 획득 가능하다.Both the lip motion device and the video-watching HMD device have a common point in that a plurality of infrared ray bulbs are built in the front side, and the position and size of each infrared ray bulb can be acquired through the image of the infrared ray camera.
본 발명의 실시예는 립모션을 영상투시 HMD(ex, 오큘러스 리프트)의 정면에 부착하여 사용할 경우, 립모션이 감지한 영역와 HMD 장치에서 보여주는 영역 간의 차이를 외부의 키넥트(적외선 센서)가 촬영한 2차원 적외선 영상들을 기반으로 캘리브레이션하여 맞춰줄 수 있는 기법을 제안한다. In the embodiment of the present invention, when the lip motion is attached to the front face of the HMD (ex oculus lift), the difference between the area sensed by the lip motion and the area shown by the HMD device is detected by an external key (infrared sensor) We propose a method to calibrate and calibrate based on two - dimensional infrared images.
립모션을 HMD의 전면에 장착하여 사용할 경우 두 기기 간 작용 영역의 오차를 보정하기 위한 캘리브레이션 과정이 필요한데, 본 발명의 실시예는 립모션이 장착된 영상투시 HMD의 전면에 대한 적외선 영상들을 얻고 이를 이용하여 영상투시 HMD와 립모션 각각의 원점 좌표를 추정한 다음 립모션의 원점을 영상투시 HMD의 원점으로 이동시켜 캘리브레이션한다.When the lip motion is mounted on the front surface of the HMD, a calibration process for correcting the error of the working area between the two devices is required. The embodiment of the present invention obtains infrared images of the front surface of the HMD with lip motion, And then the origin of the lip motion is moved to the origin of the image-viewing HMD to calibrate the HMD and the lip motion.
도 4는 본 발명의 실시예에 따른 캘리브레이션 장치를 나타낸 도면이고, 도 5는 도 4의 동작 개념을 간소화하여 나타낸 도면이다.FIG. 4 shows a calibration apparatus according to an embodiment of the present invention, and FIG. 5 is a simplified view of the operation concept of FIG.
도 4 및 도 5를 참조하면, 본 발명의 실시예에 따른 캘리브레이션 장치(100)는 픽셀 행렬 생성기(110), 희소 행렬 생성기(120), 희소 번들 조정기(130), 2D 점 추정기(140), 블랍 검출기(150), 블랍 판별기(160), 위치 추정기(170)를 포함한다.4 and 5, a
본 발명의 실시예에 따른 캘리브레이션 장치(100)는 도 5에서와 같이 립모션이 장착된 상태의 HMD의 전면 부분을 적외선 카메라(ex, 키넥트)를 통해 각기 다른 시점에서 촬영하여 획득한 n개의 2차원 영상을 입력받아 동작한다. 서로 상이한 시점(view)에서 촬영한 여러 장의 2차원 영상들을 이용하여 영상 내 물체에 대한 3차원 정보를 얻는 기술은 기존에 다양하게 공지되어 있다. 5, the
픽셀 행렬 생성기(110)는 키넥트로부터 각기 다른 시점의 n개 2차원 영상을 입력받아 각각에 대응하는 n개 픽셀 행렬을 획득한다. 픽셀 행렬 생성기(110)는 2차원 영상 내 각 픽셀을 통해 픽셀 행렬을 구성하며, 이에 따라 2차원 영상에 대응하는 픽셀 행렬이 생성된다. The
희소 행렬 생성기(120)는 n개의 픽셀 행렬을 다시 n개 희소 행렬(Sparse Matrix)로 각각 변환한다. 픽셀 행렬을 희소 행렬로 변환하는 이유는 희소 번들 조정기(130)에서의 계산량을 줄이기 위한 것이다.
적외선 영상은 픽셀 값이 대부분 0의 값을 가지는 경우가 많기 때문에, 많은 양의 모든 픽셀값을 저장하고 계산하는 것은 비효율적이다. 희소 행렬은 이런 문제를 해결하기 위해 적외선 영상 내 0이 아닌 픽셀 값과 그 위치 정보는 저장하고, 0인 픽셀 값의 위치는 저장하지 않는 행렬을 의미한다. 이러한 방법을 이용하면 적외선 영상에서의 픽셀 값을 처리할 때의 계산량을 크게 줄일 수 있다.It is inefficient to store and compute all the pixel values of a large amount because the infrared image often has a value of 0 in most cases. In order to solve this problem, a sparse matrix means a matrix that stores non-zero pixel values and their position information in an infrared image, and does not store positions of pixel values of zero. With this method, it is possible to greatly reduce the amount of calculation when processing pixel values in an infrared image.
도 4에서 희소 행렬 생성기(120)는 희소 번들 조정기(130)와 분리되어 있지만, 도 5처럼 희소 번들 조정기(130) 내에 포함될 수 있다. 4, the
희소 행렬 생성기(120)는 촬영한 영상의 픽셀값을 받아 번들 조정의 계산량을 줄이기 위해서 희소행렬 Mt를 출력한다. α와 β가 각각 적외선 영상의 너비와 높이라면, 희소행렬 Mt은 α×β 크기를 가지며, 희소 행렬의 원소는 mt,x,y로 정의된다. 희소행렬은 0과 1의 원소로 구성된 행렬로, 아래 수학식 1이 사용된다.The
여기서, it,x,y는 t 시간에 획득한 영상의 픽셀 값으로, 무채색 스케일(Gray Scale)이며 0에서 255 사이의 값을 갖는다. 임계치 θ은 각 픽셀과의 비교를 위해 지정된 상수이다. it,x,y이 임계치 θ보다 작거나 같으면 mt,x,y에 0을 할당하고 그렇지 않으면 1을 할당하여 2진수화 작업을 진행한다.Here, i t, x, and y are pixel values of an image acquired at time t, and are achromatic color scale (Gray Scale) and values ranging from 0 to 255. The threshold value [theta] is a constant specified for comparison with each pixel. If i t, x, y is less than or equal to the threshold θ, 0 is assigned to m t, x, y , otherwise 1 is assigned to proceed with the binarization.
희소 번들 조정기(130)는 번들 조정 알고리즘(Bundle Adjustment Algorithm)을 사용하여 n개 희소 행렬을 3차원 공간에 근사시켜서, 하나의 3차원 점군(Point Cloud) P를 생성한다. 이에 따라 립모션이 장착된 HMD에 대한 모습이 하나의 3차원 점군의 형태로 도출되어 진다. The
이와 같이, 희소 번들 조정기(130)는 n개 희소 행렬을 입력받아 3차원 공간 상의 한 개의 3차원 점군 P = {(x0,y0,z0), (x1,y1,z1), …}를 계산한다. 여기서, 각각의 (x,y,z)는 3차원 점군 P에 소속된 3차원 점들을 나타낸다.Thus, the
번들 조정 알고리즘은 기 공지된 방식이다. 여러 장의 2차원 영상을 입력받아 영상 간의 공통된 특징점을 찾고, 특징점이 찾아지면 Levenberg-Marquardt 최적화 기법을 이용해 영상 내 모든 픽셀의 변화값이 최소화되는 3차원 위치점을 얻는다. 이러한 방식으로, 대상물에 대한 여러 장의 2차원 영상을 이용하여 대상물에 대응하는 하나의 3차원 점군을 생성한다. The bundle adjustment algorithm is a well-known method. When a feature point is found, a Levenberg-Marquardt optimization technique is used to obtain a three-dimensional point that minimizes the change of all pixels in the image. In this manner, one three-dimensional point cloud corresponding to the object is created using a plurality of two-dimensional images of the object.
또한, 희소 번들 조정기(130)는 3차원 점군과 n개 희소 행렬을 이용하여, n개 투영 행렬을 획득한다. 투영 행렬은 3차원 점군 P를 다시 각각의 2차원 영상에 투영하기 위한 변환 행렬이다. n개 희소 행렬을 다시 Levenberg-Marquardt 알고리즘에 넣어서 투영 행렬(변환 행렬)을 계산할 수 잇다.In addition, the
도 6은 본 발명의 실시예에 사용된 번들 조정 알고리즘을 설명한 도면이다. 영상 1,2,3은 서로 다른 시점에서 HMD를 촬영한 2차원 영상이다. 3차원 공간 상의 점 좌표는 변환 행렬을 통해 각각의 2차원 영상 내 점으로 투영될 수 있는데 역으로 그 반대 동작도 가능하다. 6 is a diagram illustrating a bundle adjustment algorithm used in an embodiment of the present invention.
2D 점 추정기(140)는 3차원 점군을 n개 투영 행렬을 통해 n개 2차원 영상에 각각 투영시켜 투영된 n개 2차원 점군을 각각 획득한다. 3차원 점군 P를 n개 투영 행렬과 각각 곱하면 2차원 카메라 좌표계 상에 맺히는 상의 위치인 2차원 점군 P'를 도출할 수 있다. 점군 P를 투영 행렬과 곱할 때는 P를 열벡터로 변환해 곱한다. The
도 4에서 2D 점 추정기(140)는 희소 번들 조정기(130)와 분리되어 있지만, 희소 번들 조정기(130) 내에 포함될 수 있다.In FIG. 4, the
이처럼, 2D 점 추정기(140)는 희소 번들 조정기(130)에서 근사된 3차원 점군 P와 n개의 투영 행렬을 입력받아, 3차원 점군과 각 2차원 영상 간의 위치 관계를 파악함으로써 각 2차원 영상마다 3차원 점군이 투영되는 n개의 2차원 점군 P'을 도출한다.As described above, the
여기서, 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차원 점들이다.Here, t the two-dimensional point cloud projected onto a first two-dimensional image (infrared image) is, and defined as t, P 'P t = {(X 't, 0 , y' t, 0), (x 't, 1, y' t, 1), ... }to be. At this time, each (x ', y') is two-dimensional points belonging to the two-dimensional point group P ' t .
블랍 검출기(150)는 적외선 영상을 클러스터화하는 것으로, n개 2차원 영상 각각에 대해, 2차원 영상 내에서 적외선 전구의 형상(원형)에 대응하는 복수의 전구 클러스터를 검출한다. The
이에 따라, HMD 및 립모션 상의 적외선 전구들이 2차원 영상 내에서 원형의 클러스터 형태로 검출된다. 물론, 립모션의 부착에 의해 가려지는 HMD의 일부 적외선 전구는 영상에서 검출되지 않는다. 이와 같은 클러스터 검출 동작은 n개 2차원 영상에 각각을 대상으로 수행된다.Accordingly, the infrared light bulbs on the HMD and the lip motion are detected in the form of a circular cluster in the two-dimensional image. Of course, some IR bulbs of the HMD that are obscured by the attachment of lip motion are not detected in the image. This cluster detection operation is performed on each of two n-dimensional images.
블랍 검출기(150)는 n개의 2차원 적외선 영상 it를 받아 블랍 검출(Blob Detection) 알고리즘을 적용하여 2차원 영상 내의 적외선 전구들의 위치를 획득한다. 블랍 검출 시 광원인 적외선 전구의 부분이 원형의 블랍으로 나타난다. 여기서, 영상에서 원 형태를 추출할 수 있는 허프 원 변환 알고리즘이 사용될 수 있다.The
블랍 검출기(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)로 정의된다.The
원형의 클러스터 추출 후 중심점 ct,p은 아래 수학식 2를 통해 구해진다.After extracting the circular cluster, the center point c t, p is obtained by the following equation (2).
여기서, dt,p은 전구 클러스터 Gt,p 내에서 중심점 Ct,p로부터 가정 멀리 떨어진 점과의 거리(이하, 최대 거리값)로서, 전구 클러스터 Gt,p 내 중심점과 나머지 점들 간의 거리 중 최대 거리값을 의미한다. 즉, 중심점 ct,p과 나머지 점들 간 유클리드 거리(E)를 각각 구한 다음 구한 값 중 가장 큰 값을 선택하면 dt,p이 구해진다. 이하에서 dt,p는 설명의 편의상 클러스터의 반경으로 명명한다. Here, d t, p is the distance between a light bulb cluster G t, the distance (the maximum distance value) between the center point C t, it points from p home away in the p, bulbs cluster G t, p in the center and the rest of the dots Which means the maximum distance value. That is, the Euclidean distance (E) between the center point c t, p and the remaining points is obtained, and then d t, p is obtained by selecting the largest value among the obtained values. Hereinafter, d t, p is referred to as the radius of the cluster for convenience of explanation.
블랍 판별기(160)는 2D 점 추정기(140)와 블랍 검출기(150)의 출력 결과를 통해, 2차원 점군 내 소속점들 중 전구 클러스터내 위치한 2차원 점들을 판별한다. The
이를 위해, 블랍 판별기(160)는 2D 점 추정기(140)에서 얻은 2차원 점군 내 소속점들과, 블랍 검출기(150)에서 얻은 전구 클러스터의 중심점 간 거리(유클리디안 거리)를 구한 다음, 최대 거리값 이하의 거리를 도출한 2차원 점들을 해당 전구 클러스터 내에 위치한 2차원 점들로 판별한다. For this purpose, the
2D 점 추정기(140)에 의한 2차원 점군 내의 점들과, 블랍 검출기(150)에 의한 클러스터 내 점들은 모두 2차원 좌표이다. 따라서, 2차원 점군 내의 소속점과 클러스터의 중심점 간 거리를 구한 후 클러스터 반경과 비교하면, 해당 점이 클러스터 내부에 위치한 점(유효점)인지 여부를 확인할 수 있다. 물론, 이러한 블랍 판별 동작은 n개 2차원 영상 각각을 대상으로 수행된다.The points in the two-dimensional point group by the
구체적으로, 블랍 판별기(160)는 2D 점 추정기(140)에서 출력된 2차원 점군 P't과, 블랍 검출기(150)에서 출력된 2차원 영상 내 클러스터 Gt,p, 클러스터의 중심점 ct,p, 거리 dt,p를 각각 입력받아, 2차원 점군 P't 내 소속 점들 중 실제로 전구 클러스터 내 존재하는 점들(전구 클러스터 내 위치한 점들)인지 여부를 판별한다. Specifically, the
여기서, 점군 P't 내 점들 중 전구 클러스터 내의 원소 gt,p 내부에 위치하는 점들을 이용하여 별도의 클러스터 G't,p를 구성할 수 있다. 클러스터 Gt,p의 내부에 속하는 2차원 점군 P't을 수집하여 재구성한 클러스터를 G't,p로 정의한다.Here, it is possible to construct a separate cluster G ' t, p using points located in the element g t, p in the global cluster among the points in the point group P' t . Let G ' t, p denote the clusters collected and reconstructed from the two-dimensional point group P' t belonging to the inside of the cluster G t, p .
이때, 2차원 점군 내 소속점의 2차원 위치좌표 p't(x't,y't)와 블랍 검출기(150)에서 획득된 클러스터의 중심점 ct,p 간의 유클리드 거리를 구하여, 구한 값이 해당 클러스터의 dt,p보다 작은지 여부에 따라 2차원 위치좌표가 클러스터 내에 포함된 것인지 여부를 확인할 수 있다. 예를 들어, 구한 값이 dt,p 이하이면 이고, 그렇지 않으면 이다.At this time, the Euclidean distance between the two-dimensional positional coordinate p ' t (x' t , y ' t ) of the belonging point in the two-dimensional point cloud group and the center point c t, p of the cluster obtained in the
도 4에서 블랍 판별기(160)는 블랍 검출기(150)와 분리되어 있지만, 도 5에서 처럼 블랍 검출기(150) 내에 소속될 수도 있다. 4, the
위치 추정기(170)는 희소 번들 조정기(130)에서 근사된 3차원 점군 P과 블랍 판별기(160)에서 얻은 클러스터 G't,p를 이용하여, 립모션의 3차원 원점 좌표 PL = (xl,yl,zl)과 HMD(오큘러스 리프트)의 3차원 원점 좌표 PO = (xo,yo,zo)를 출력하고, 이를 이용하여 립모션의 원점을 HMD의 원점으로 이동시켜 캘리브레이션 한다.The
구체적으로, 위치 추정기(170)는 3차원 점군 P 내 소속점들 중, 전구 클러스터 내에 위치한 2차원 점들에 대응되는 3차원 점들만을 추출하고, 추출한 3차원 점들을 기초로 각 전구 클러스터의 3차원 중심점을 먼저 획득한다. 그런 다음, 각 전구 클러스터의 3차원 중심점과 클러스터 크기를 이용하여 립모션의 원점과 상기 HMD의 원점을 추정하여 캘리브레이션한다. Specifically, the
여기서, 전구 클러스터 내 위치한 2차원 점들이란, 블랍 판별기(160)에서 출력된 클러스터 G't,p의 점들을 의미한다. 즉, 위치 추정기(170)는 전구 클러스터 내 위치한 것으로 판별된 2차원 점들에 대응하는 3차원 점들을 3차원 점군 P 내에서 추출한 이후에, 이들 추출한 3차원 점들을 이용하여 각 전구 클러스터의 3차원 중심점을 얻는다. 이때, 해당 전구 클러스터 내 위치한 2차원 점들에 대응되는 3차원 점들의 좌표 평균을 이용하여, 해당 전구 클러스터의 3차원 중심점을 연산한다.Here, the two-dimensional points located in the bulb cluster mean the points of the cluster G ' t, p output from the
앞서 이미 3차원 점군과 그에 대응하는 2차원 점들 간 관계를 투영 행렬을 통해 확인할 수 있었으며, 이를 이용하면 3차원 점군 내 3차원 점들 중에도 실제 전구 클러스터 내 있다고 판단된 2차원 점들에 대응하는 3차원 점들을 확인할 수 있다. The relationship between the three-dimensional point group and the corresponding two-dimensional point can be confirmed through the projection matrix. If the three-dimensional point group is included in the three-dimensional point group, the three-dimensional point corresponding to the two- .
쉽게 말해서, 클러스터 내에 있는 2차원 점들에 대응하는 3차원 점들을 3차원 점군으로부터 도출함으로써, 클러스터 내에 있는 3차원 점들의 좌표를 얻을 수 있고, 이들 3차원 점들의 모든 좌표를 모두 평균하면 해당 클러스터의 3차원 중심점을 알 수 있다.In other words, by deriving three-dimensional points corresponding to two-dimensional points in a cluster from a three-dimensional point group, the coordinates of three-dimensional points in the cluster can be obtained, and if all the coordinates of the three- The three-dimensional center point can be known.
이후, 위치 추정기(170)는 각 전구 클러스터의 크기를 기초로 L개(립모션의 경우 3개)의 제1 클러스터들(립모션의 전구 클러스터)과, 제1 클러스터보다 작은 크기의 나머지 M개의 제2 클러스터들(HMD의 전구 클러스터)로 분류한다(L<M). 물론 여기서 클러스터 크기 비교는 2차원 또는 3차원 크기를 이용할 수 있다. Thereafter, the
또한, 위치 추정기(170)는 제1 클러스터들에 대한 3차원 중심점의 좌표를 평균하여 립모션의 원점 좌표를 추정 후, 제2 클러스터들에 대한 3차원 중심점의 좌표를 평균하여 HMD의 원점 좌표를 추정한다. In addition, the
도 7은 립모션과 HMD에 형성된 적외선 전구들의 3차원 위치를 나타낸 도면이고, 도 8은 립모션과 HMD에 대해 도출된 위치 좌표를 나타낸 도면이다.FIG. 7 is a view showing the lip motion and the three-dimensional position of the infrared ray lamps formed on the HMD, and FIG. 8 is a diagram showing the position coordinates derived from the lip motion and the HMD.
위치 추정기(170)는 도 7에서 도시히나 각 전구 클러스터(오큘러스 전구, 립모션 전구)들에 대한 3차원 중심점을 먼저 얻은 다음, 각 전구 클러스터의 크기를 이용하여 립모션과 HMD의 클러스터를 구분한 후, 도 8에서와 같이 립모션의 원점 위치 PL와 HMD의 원점 위치 PO를 구한다.The
도 9는 본 발명의 실시예에서 립모션이 장착된 HMD를 전면에서 촬영한 적외선 영상을 예시한 도면이다. 도시된 것과 같이, 립모션의 적외선 전구가 HMD의 적외선 전구보다 크며 적외선 영상에서 주위보다 큰 점의 중간점 위치 세 곳이 립모션의 적외선 전구 위치이다. FIG. 9 is a diagram illustrating an infrared ray image taken from the front side of an HMD equipped with lip motion in the embodiment of the present invention. As shown, three positions of the intermediate point of the lip motion higher than the infrared ray bulb of the HMD and larger than the circumference of the infrared ray image are the position of the infrared ray bulb of the lip motion.
즉, 전구 클러스터들 중 크기가 큰 3개의 클러스터들의 3차원 중심점을 평균하면 립모션의 원점 위치 PL가 도출되고, 나머지 클러스터들의 3차원 중심점을 평균하면 HMD의 원점 위치 PO가 도출된다. 립모션의 원점 위치를 HLD의 좌표계 원점 위치로 이동하면 변경된 립모션의 위치 좌표는 P'L(xo-xl, yo-yl, zo-zl)가 된다.That is, when the three-dimensional center points of the three large clusters are averaged, the origin position P L of the lip motion is derived, and when the three-dimensional center points of the remaining clusters are averaged, the origin position P O of the HMD is derived. When the origin position of the lip motion is moved to the origin position of the coordinate system of the HLD, the position coordinates of the changed lip motion become P ' L (x o -x l , y o -y l , z o -z l ).
위치 추정기(170)는 립모션과 HMD 간 원점 좌표의 차이를 이용하여, 립모션의 원점 좌표를 HMD의 원점 좌표로 맞추어 보정한다. 이에 따라 립모션의 좌표계 원점과 오큘러스 화면의 좌표계 원점이 서로 같아지게 된다.The
다음은 상술한 내용을 기초로 캘리브레이션 방법을 설명한다. 도 10은 도 4의 장치를 이용한 캘리브레이션 방법을 설명하는 도면이다. The following describes the calibration method based on the above description. 10 is a diagram for explaining a calibration method using the apparatus of FIG.
도 10을 참조하면, 희소 행렬 생성기(120)는, 립모션을 장착된 상태의 HMD의 전면을 적외선 카메라로 촬영한 각기 다른 시점의 n개 2차원 영상을 입력받아 n개 희소 행렬로 각각 변환한다(S1001). 여기서, 희소 행렬 생성기(120)는 n개의 2차원 영상에 대응하는 n개 픽셀 행렬을 픽셀 행렬 생성기(110)로부터 입력받은 다음 n개 픽셀 행렬 각각을 n개 희소 행렬로 변환한다.Referring to FIG. 10, the
다음, 희소 번들 조정기(130)는 번들 조정 알고리즘을 통해 n개 희소 행렬을 3차원 공간에 근사시켜 하나의 3차원 점군을 생성하고(S1002), 3차원 점군과 n개 희소 행렬을 이용하여 n개 투영 행렬을 각각 획득한다(S1003).Next, the
그리고, 2D 점 추정기(140)는 다시 n개 투영 행렬을 이용하여, 3차원 점군을 n개 2차원 영상에 각각 투영시켜, n개 2차원 영상에 각각 투영된 n개 2차원 점군을 획득한다(S1004).Then, the
다음, 블랍 검출기(150)는 적외선 카메라로 획득한 n개 2차원 영상 각각에 대해, 2차원 영상 내에서 적외선 전구의 형상에 대응하는 복수의 전구 클러스터를 검출한다(S1005). 그러면, 블랍 판별기(160)는 2차원 점군 내 소속점들 중 전구 클러스터 내에 위치한 2차원 점들을 판별한다(S1006).Next, the
이후, 위치 추정기(170)는 3차원 점군 내 소속점들 중 상기 클러스터 내에 위치한 2차원 점들에 대응되는 3차원 점들을 기초로 각 전구 클러스터의 3차원 중심점을 획득 후(S1007), 전구 클러스터의 중심점과 클러스터 크기를 이용하여, 립모션의 원점 좌표와 HMD의 원점 좌표를 추정하여 캘리브레이션한다(S1008).Thereafter, the
다음은 본 발명의 캘리브레이션 기법의 성능 실험 및 분석 결과를 설명한다.The following describes performance experiments and analysis results of the calibration technique of the present invention.
실험 목적은 본 발명의 기법인 향후 립모션이 부착된 HMD를 사용하는 컨텐츠의 전처리 기술로 활용될 수 있는지 판단하는 것이다. 이를 위해. 본 발명에 해당하는 캘리브레이션 프로그램을 제작 후, HMD와 립모션 간의 기 알고 있는 물리적 거리 차이를 실험 대조군으로 활용하여, 본 발명의 기법의 결과와의 오차를 계산하고 그 성능을 검증한다. 실험용 컴퓨터의 개발 환경은 Windows 8.1 기반의 Visual Studio 2013이며, 사양은 Intel i7-6700 @ 3.40GHz 의 CPU와 NVidia 社의 Geforce GTX 1060의 GPU, 그리고 DDR5 16GB 2133MHz를 사용했다.The purpose of the experiment is to judge whether the technique of the present invention, which can be utilized as a preprocessing technology for contents using HMD with lip motion in the future. for teeth. After the calibration program corresponding to the present invention is manufactured, errors in the results of the technique of the present invention are calculated using the known physical distance difference between the HMD and the lip motion as an experimental control, and the performance thereof is verified. The development environment of the experimental computer is Visual Studio 2013 based on Windows 8.1, and the specification uses Intel i7-6700 @ 3.40GHz CPU, NVidia's Geforce GTX 1060 GPU, and DDR5 16GB 2133MHz.
실험에서 립모션과 HMD의 적외선 전구 영상을 파악하기 위해 적외선 센서인 키넥트 센서를 사용한다. 즉, HMD의 적외선 전구 40개와, HMD에 부착된 립모션의 적외선 전구 3개를 적외선 센서인 키넥트로 촬영한다. 프로그램의 출력 값은 적외선 영상에 따라 추정된 립모션과 HMD 간의 3차원 상대 위치 좌표이며, 추정되는 3차원 점군의 좌표계의 x,y,z 축과 각각 평행한 좌표계에 생성된다. 상대 위치 좌표는 cm 단위로 나타내어진다. In the experiment, Kinect sensor, infrared sensor, is used to detect lip motion and infrared image of HMD. That is, 40 infrared ray bulbs of the HMD and 3 infrared ray bulbs attached to the HMD are photographed with the infrared sensor, Kinect. The output value of the program is a three-dimensional relative position coordinate between the lip motion estimated according to the infrared image and the HMD, and is generated in a coordinate system parallel to the x, y and z axes of the coordinate system of the estimated three-dimensional point cloud group. Relative position coordinates are expressed in cm.
HMD와 립모션의 3차원 상대위치 좌표의 정확성을 판단하기 위해, 실제 HMD 상에 립모션이 부착되는 위치를 다양하게 하여 캘리브레이션을 수행하였으며, 이를 이용하여 제안한 캘리브레이션 기법이 어느정도의 정확도를 가지는지 확인하였다.In order to determine the accuracy of the three-dimensional relative position coordinates of the HMD and the lip motion, calibration was performed by varying the positions of the lip motion on the actual HMD, and using this, it is checked whether the proposed calibration technique has a certain accuracy Respectively.
프로그램은 다음과 같은 방법으로 수행된다. The program is executed in the following manner.
우선, 립모션을 부착한 HMD에 대한 2차원의 n개 적외선 영상을 입력받는다. 도 11은 본 발명의 실시예에 따라 획득한 n개 적외선 영상을 나타낸다. 도 11와 같이, 프로그램에 입력되는 적외선 영상은 최소 3장 이상이어야 한다. First, n-dimensional infrared images of two-dimensional HMDs with lip motion are input. 11 shows n infrared images acquired according to an embodiment of the present invention. As shown in Fig. 11, the number of infrared images input to the program must be at least three or more.
도 12는 적외선 이미지를 바이너리화 한 후 희소 행렬을 생성한 결과를 나타낸다. 입력된 각각의 적외선 영상은 희소 행렬 생성기를 통해 각각 희소 행렬로 변환된다. n개 적외선 영상을 모두 희소 행렬로 변환하면 계산량을 줄일 수 있다.12 shows the result of generating a sparse matrix after binarizing an infrared image. Each input infrared image is converted into a sparse matrix through a sparse matrix generator. Converting all n infrared images to a sparse matrix can reduce the amount of computation.
도 13은 희소 번들 조정 알고리즘을 수행하여 하나의 3차원 점군을 출력한 결과이다. 희소 번들 조정기는 n개 희소 행렬을 3차원 공간에 근사시켜 한 개의 3차원 점군(Point Cloud)을 계산한 다음, 한 개의 3차원 점군과 n개 변환 행렬을 이용해 각 적외선 영상마다 3차원 점군이 투영되는 투영 행렬을 개별 생성한다. 투영 행렬과 3차원 점군을 곱하면 해당 2차원 영상에 투영되는 2차원 점 좌표가 생성된다.13 is a result of performing a rare bundle adjustment algorithm to output one three-dimensional point cloud. The sparse bundle adjuster computes a 3D point cloud by approximating n sparse matrices to a three-dimensional space and then uses a single 3D point cloud and n transformation matrices to generate 3D point clouds for each infrared image Respectively. When a projection matrix is multiplied by a three-dimensional point group, two-dimensional point coordinates projected on the two-dimensional image are generated.
2D 점 추정기는 도 13의 적외선 영상을 입력받아 n개의 2차원 영상에 각각 투영한다. 2D 점 추정기는 투영 행렬(변환 행렬) T와 3차원 점군을 이용하여, 3차원 점군을 2차원 색상 영상에 투영했을 때 3차원 점군 내 각 점들이 어느 2차원 위치에 투영되는지를 구한다. The 2D point estimator receives the infrared image of FIG. 13 and projects it onto n two-dimensional images. The 2D point estimator uses a projection matrix (transformation matrix) T and a three-dimensional point cloud to determine which two-dimensional position each point in the three-dimensional point cloud is projected when the three-dimensional point cloud is projected onto the two-dimensional color image.
도 14는 도 11의 적외선 영상으로부터 적외선 전구의 위치를 클러스터화한 결과이다. 이는 여러 적외선 영상 중 하나에 대한 결과를 대표로 예시한 것이다.Fig. 14 is a result of clustering the positions of the infrared ray bulbs from the infrared ray image of Fig. This is representative of the results for one of several infrared images.
블랍 검출기는 도 11의 영상을 입력받아 도 14와 같이 출력한다. 즉, 2차원 적외선 영상을 이용하여 적외선 전구의 위치를 클러스터화한다.The blob detector receives the image of FIG. 11 and outputs it as shown in FIG. That is, the position of the infrared bulb is clustered by using the two-dimensional infrared image.
도 15는 도 12 및 도 14의 영상을 이용하여 전구 클러스터에 해당하는 2차원 점군을 추정한 결과이다 블랍 판별기는 도 12과 도 14의 영상을 입력받아 도 15과 같이 출력한다. 블랍 판별기는 2D 점 추정기에서 도출된 2차원 위치 좌표들과, 블랍 검출기에서 도출된 전구 클러스터를 이용해, 전구 클러스터 내에 있는 2차원 위치 좌표들을 구별한다. FIG. 15 is a result of estimating a two-dimensional point cloud corresponding to a global cluster using the images of FIGS. 12 and 14. The blob discriminator receives the images of FIGS. 12 and 14 and outputs the images as shown in FIG. The blob discriminator distinguishes the two-dimensional position coordinates in the global cluster using the two-dimensional position coordinates derived from the 2D point estimator and the global cluster derived from the blob detector.
도 16은 도 15의 결과를 통해 각 전구 클러스터의 3차원 중심점 위치를 도출한 결과이다. 위치 추정기는 블랍 판별기에서 도출된 클러스터에 해당하는 3차원 공간 좌표를 이용하여 각 클러스터의 3차원 중심점 위치를 도출한다. 도 16를 통해 립모션과 HMD에 포함된 각 전구 클러스터의 중심점 위치를 확인할 수 있다. 위치 추정기는 모든 클러스터에 대한 3차원 중심점이 도출되면 이를 이용하여 립모션과 HMD의 클러스터를 구분한 후 립모션과 HMD의 원점 좌표를 각각 계산한다. FIG. 16 is a result of deriving the three-dimensional center point position of each bulb cluster through the results of FIG. The position estimator derives the three-dimensional center point position of each cluster using the three-dimensional space coordinates corresponding to the clusters derived from the bubble discriminator. 16, the position of the center point of each light bulb cluster included in the lip motion and the HMD can be confirmed. When the 3D center point is derived for all the clusters, the position estimator divides the lip motion and HMD clusters by using them and calculates the origin coordinates of the lip motion and the HMD, respectively.
최종적으로, n개의 적외선 영상이 프로그램에 입력되어, 한 개의 립모션의 원점 위치와 한 개의 오큘러스(HMD)의 원점 위치로 출력된다. Finally, n infrared images are input to the program and output to the origin position of one lip motion and the origin position of one oculus (HMD).
도 17은 립모션이 부착된 HMD의 다양한 위치를 나타낸다. 본 발명의 방법의 검증을 위하여 립모션이 부착되는 HMD의 위치를 11개의 위치로 나누고, 각 위치별로 10회의 캘리브레이션 과정을 진행하였다. 캘리브레이션을 통해 도출된 HMD와 립모션 간 위치 차이를 기 알고 있는 실제 위치 차이와 비교한 결과는 다음과 같다.17 shows various positions of the HMD with lip motion. In order to verify the method of the present invention, the position of the HMD to which the lip motion is attached is divided into 11 positions, and 10 calibration steps are performed for each position. The result of comparison between the actual position difference and known position difference between HMD and lip motion derived from calibration is as follows.
표 1은 실제 물리적 측정을 통한 HMD와 립모션의 위치 차이와 캘리브레이션을 통해 도출되는 HMD와 립모션의 위치를 나타낸다. Table 1 shows the position of the HMD and lip motion derived from the calibration and the difference between the HMD and lip motion through actual physical measurements.
도 18은 HMD와 립모션 간의 실제 물리적 위치 차이와 실험에 의해 도출된 위치 차이를 3차원 좌표계에 표현한 것이다. y 평면은 HMD의 표면이며, z축 좌표는 립모션과 HMD 화면이 출력되는 렌즈까지의 z축 거리이다. 모든 립모션의 위치에 대해 x, y, z 좌표의 평균 오차 거리는 각각 0.59cm, 0.42cm, 0.34cm이다.FIG. 18 is a representation of the actual physical position difference between the HMD and the lip motion and the positional difference derived by the experiment in the three-dimensional coordinate system. The y-plane is the surface of the HMD, and the z-axis is the z-axis distance from the lip motion to the lens on which the HMD screen is output. The average error distances of the x, y, and z coordinates for all lip motion locations are 0.59 cm, 0.42 cm, and 0.34 cm, respectively.
도 19는 도 18에 대한 오차율을 구한 결과이다. 오차율은 이론값(실제 측정값)에서 실험값을 빼준 값에 이론값을 나눠준 확률을 백분율로 계산한다. 도 19는 실제 측정 값과 실험으로 도출된 값의 차이를 이용해 오차율을 그래프화한 것이다. FIG. 19 shows the result of calculating the error rate with respect to FIG. The error rate is calculated as a percentage of the probability that the theoretical value is divided by the theoretical value (actually measured value) minus the experimental value. FIG. 19 is a graph showing the error rate using the difference between the actual measurement value and the experimentally derived value.
실험군 9~11에 해당하는 x, y, z값의 오차 거리가 상대적으로 크게 나타나는데, 이는 실험군 9~11에서 HMD 상에 립모션이 부착된 위치는 다른 실험군 1~8과 다르게 HMD의 정면과 평행하게 부착되지 않았기 때문이다. The error distances of the x, y, and z values in the
각 실험에 대하여 오차율은 아래의 표 2와 같이 나타난다. 각 오차율은 소수점 2번째 자리까지 나타낸다. 표 2의 평균 오차율은 x, y, z 좌표에서 각각 24.88%, 7.61%, 0.02%이다. The error rate for each experiment is shown in Table 2 below. Each error rate represents the second decimal place. The mean error rates in Table 2 are 24.88%, 7.61%, and 0.02% for the x, y, and z coordinates, respectively.
표 2에서 x축과 y축에서 오차값이 높게 나타나고, z 값에서 상대적으로 낮게 나타난다. 그 이유는 실험군에 사용된 립모션의 상대 위치가 HMD의 표면상에 위치하는 경우가 많기 때문이다. 모든 x, y, z 축에 대하여 평균 오차율을 구하면 약 10.84%가 도출된다. 이 오차는 대부분 HMD의 표면에 립모션이 부착되지 않은 경우에 발생했다. 이는 적외선 영상을 감지할 때 적외선 전구에서 발산되는 적외선이 각각 다른 방향을 나타내기 때문이다. In Table 2, the error values appear high in the x and y axes, and relatively low in the z values. This is because the relative position of the lip motion used in the experimental group is often located on the surface of the HMD. Approximately 10.84% is obtained when the average error rate is obtained for all x, y, and z axes. Most of this error occurred when lip motion was not attached to the surface of the HMD. This is because infrared rays emitted from an infrared light bulb indicate different directions when detecting an infrared image.
HMD의 표면에 립모션을 부착하지 않은 실험 ⑨~⑪을 제외한 평균 오차율은 x, y, z 좌표에서 각각 6.42%, 6.09%, 4.68%로 나타났다. HMD와 립모션의 거리 차이의 실제 값이 최대 10.3cm 임을 이용하면 최대 오차는 약 0.066cm까지 줄어든다. The mean error rates except for ⑨ ~ ⑪ which did not have lip motion on the surface of HMD were 6.42%, 6.09% and 4.68% in x, y and z coordinates, respectively. If the actual value of the distance difference between HMD and lip motion is maximum 10.3cm, the maximum error is reduced to about 0.066cm.
따라서, HMD의 정면에 평행하게 립모션을 부착할 경우 더욱 정확한 캘리브레이션이 가능함을 알 수 있다. 상술한 결과를 통하여 본 발명의 기법은 향후 사용자 컨텐츠에 전처리기로 적용이 가능한 것을 알 수 있다.Therefore, it can be seen that more precise calibration is possible when the lip motion is attached parallel to the front of the HMD. From the above results, it can be seen that the technique of the present invention can be applied to a user content as a preprocessor in the future.
이상과 같은 본 발명은 HMD에 립모션을 부착해 사용할 때 기기간 작용 영역이 다른 문제점을 해결하기 위한 HMD의 립모션 캘리브레이션 기법을 제시한다. 이를 위해, HMD와 립모션에 내장된 적외선 전구의 영상을 획득하여 번들 조정 알고리즘을 이용해 3차원 점군 좌표를 추정하였다. 적외선 전구의 위치를 파악하기 위해 블랍 검출 알고리즘을 이용해 적외선 전구 영상을 클러스터링하였다. 마지막으로, 추정된 3차원 점군과 클러스터를 이용해 HMD와 립모션의 원점 위치의 차이를 계산했다. 그 결과 HMD의 정면에 평행하게 부착된 립모션의 위치 추정에 대하여 최대 0.066cm의 오차거리를 나타내는 실험 결과를 도출할 수 있었다. As described above, the present invention proposes a lip motion calibration method of an HMD for solving the problem of different operation regions between devices when lip motion is attached to the HMD. For this purpose, images of the infrared light bulb embedded in HMD and lip motion are acquired and the 3D point cloud coordinates are estimated using the bundle adjustment algorithm. Infrared bulb images were clustered using blob detection algorithm to locate the infrared bulb. Finally, we used the estimated 3D point cloud and clusters to calculate the difference between the HMD and lip motion origin positions. As a result, we can derive the experimental results showing the maximum error distance of 0.066cm for the position estimation of lip motion attached parallel to the front of the HMD.
실험 결과로부터 HMD의 표면에 평면하지 않게 립모션이 부착된 경우 캘리브레이션의 오차율이 커진 것을 알 수 있었다. 이는 적외선 영상을 감지할 때 적외선 전구에서 발산되는 적외선이 각각 다른 방향을 나타내기 때문이다. 이러한 본 발명은 영상투시 HMD를 이용한 가상현실 등의 콘텐츠에 접목될 수 있고 가상현실 및 증강현실 분야에서 사용자의 편리한 상호작용 환경 구축에 기여할 수 있다.Experimental results show that the error rate of the calibration is increased when the lip motion is attached to the surface of the HMD without flatness. This is because infrared rays emitted from an infrared light bulb indicate different directions when detecting an infrared image. The present invention can be applied to contents such as a virtual reality using a video-watching HMD and contributes to the construction of a user's convenient interaction environment in the field of virtual reality and augmented reality.
결론적으로, 본 발명의 번들 조정 알고리즘을 이용한 립모션과 HMD 사이의 캘리브레이션 방법 및 장치에 따르면, 영상투시 HMD에 립모션을 장착하여 사용시 기기 간 정확한 상호 작용이 가능하도록 영상투시 HMD의 전면에서 얻은 여러 시점의 2차원 적외선 영상을 사용하여 HMD와 립모션 간 원점 좌표의 차이를 추정하고 캘리브레이션할 수 있어 영상투시 HMD를 착용한 사용자의 현실감 및 몰입감을 더욱 제고할 수 있는 이점이 있다.As a result, according to the method and apparatus for calibrating the lip motion between the lip motion and the HMD using the bundle adjustment algorithm of the present invention, The two-dimensional infrared image of the viewpoint can be used to estimate and calibrate the difference between the origin coordinates of the HMD and the lip motion, thereby further enhancing the sense of realism and immersion of the user wearing the HMD.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.
100: 캘리브레이션 장치
110: 픽셀 행렬 생성기
120: 희소 행렬 생성기
130: 희소 번들 조정기
140: 2D 점 추정기
150: 블랍 검출기
160: 블랍 판별기
170: 위치 추정기100: calibration device 110: pixel matrix generator
120: sparse matrix generator 130: sparse bundle adjuster
140: 2D point estimator 150: blob detector
160: Blubber discriminator 170: Position estimator
Claims (12)
립모션을 장착하며 적외선 전구들이 형성된 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 사이의 캘리브레이션 방법.A method of calibrating between a lip motion and an HMD using a calibration device,
Converting each of the n 2-dimensional images acquired at different points of time obtained by capturing the front face of the HMD having the lip motion and the infrared ray lamps into an n number of sparse matrices;
Acquiring n projection matrices by using a single 3-D point group generated by approximating the n sparse matrices in a three-dimensional space through a bundle adjustment algorithm and the n sparse matrices;
Projecting the three-dimensional point cloud onto each of the n two-dimensional images through the n projection matrices to obtain n projected two-dimensional point clouds;
For each of the n two-dimensional images, a plurality of bulb clusters corresponding to the shape of the infrared bulb in the two-dimensional image are detected, and then two-dimensional points located within the bulb cluster among the belonging points in the two- step;
Acquiring a three-dimensional center point of each bulb cluster based on three-dimensional points corresponding to two-dimensional points located within the bulb cluster among the belonging points in the three-dimensional point cloud; And
And estimating and calibrating the origin of the lip motion and the origin of the HMD using the three-dimensional center point and the cluster size of each of the bulb clusters.
상기 n개 2차원 영상에 대응하는 n개 픽셀 행렬을 획득하는 단계를 더 포함하며,
상기 n개 희소 행렬로 변환하는 단계는,
상기 n개 픽셀 행렬을 각각 상기 n개 희소 행렬로 변환하는 립모션과 HMD 사이의 캘리브레이션 방법.The method according to claim 1,
Further comprising obtaining n pixel matrices corresponding to the n two-dimensional images,
Wherein transforming into the n < RTI ID = 0.0 > sparse &
And converting the n pixel matrices to the n sparse matrices, respectively.
상기 전구 클러스터 내에 위치한 2차원 점들을 판별하는 단계는,
상기 2차원 영상 내에서 블랍 검출 기법을 통해 원형의 복수의 전구 클러스터를 검출한 다음, 상기 전구 클러스터의 중심점과, 상기 전구 클러스터 내 나머지 점들과 상기 중심점 간의 거리 중 최대 거리값을 각각 구하며,
상기 2차원 점군 내 소속점들과 상기 중심점 간 거리를 구한 후, 상기 최대 거리값 이하의 거리를 도출한 2차원 점들을 상기 전구 클러스터 내에 위치한 2차원 점들로 판별하는 립모션과 HMD 사이의 캘리브레이션 방법.The method according to claim 1,
Wherein determining two-dimensional points located within the bulb cluster comprises:
A plurality of circular clusters of a circular shape are detected through the blob detection technique in the two-dimensional image, and a maximum distance value between the center point of the clusters and the remaining points in the clusters cluster is obtained,
A calibration method between a lip motion and an HMD for determining two-dimensional points that are derived from distances equal to or smaller than the maximum distance value after determining a distance between the belonging points in the two-dimensional point cloud and the center point, .
상기 캘리브레이션하는 단계는,
상기 립모션의 원점 좌표를 상기 HMD의 원점 좌표로 이동시켜 캘리브레이션하는 립모션과 HMD 사이의 캘리브레이션 방법.The method according to claim 1,
Wherein the calibrating comprises:
And calibrating movement of the origin coordinates of the lip motion to the origin coordinates of the HMD to calibrate the lip motion.
상기 각 전구 클러스터의 3차원 중심점을 획득하는 단계는,
상기 3차원 점군 내 소속점들 중 상기 전구 클러스터 내 위치한 2차원 점들에 대응되는 3차원 점들의 좌표를 평균하는 방식으로 상기 각 전구 클러스터의 3차원 중심점을 연산하는 립모션과 HMD 사이의 캘리브레이션 방법.The method according to claim 1,
Wherein acquiring the three-dimensional center point of each bulb cluster comprises:
Wherein the three-dimensional center point of each bulb cluster is calculated by averaging coordinates of three-dimensional points corresponding to two-dimensional points located in the bulb cluster among the three-dimensional point belonging points in the three-dimensional point group.
상기 캘리브레이션하는 단계는,
상기 각 전구 클러스터의 크기를 기초로 상위 L개의 제1 클러스터들과 나머지 M개의 제2 클러스터들로 분류한 다음(L<M), 상기 제1 클러스터들에 대한 3차원 중심점의 좌표를 평균하여 상기 립모션의 원점 좌표를 추정하고, 상기 제2 클러스터들에 대한 3차원 중심점의 좌표를 평균하여 상기 HMD의 원점 좌표를 추정하는 립모션과 HMD 사이의 캘리브레이션 방법. The method according to claim 1,
Wherein the calibrating comprises:
(L < M), the coordinates of the three-dimensional center of gravity of the first clusters are averaged to obtain the first clusters of the first clusters, And estimating the origin coordinates of the HMD by estimating the origin coordinates of the lip motion and averaging the coordinates of the three-dimensional center point with respect to the second clusters.
립모션을 장착하며 적외선 전구들이 형성된 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 사이의 캘리브레이션 장치.An apparatus for calibrating between lip motion and an HMD,
A sparse matrix generator for converting each of the n 2-dimensional images acquired at different points of time obtained by capturing the front surface of the HMD equipped with the lip motion with the infrared camera into n sparse matrices;
A rare bundle adjuster that obtains n projection matrices using one of a three-dimensional point cloud generated by approximating the n sparse matrices to a three-dimensional space through a bundle adjustment algorithm and the n sparse matrices;
A 2D point estimator for projecting the projected n two-dimensional point clouds by projecting the three-dimensional point cloud onto the n two-dimensional images through the n projection matrices, respectively;
A blob detector for detecting, for each of the n two-dimensional images, a plurality of light bulb clusters corresponding to the shape of the infrared bulb in the two-dimensional image;
A blob discriminator for discriminating two-dimensional points located within the global cluster among the belonging points in the two-dimensional point cloud; And
Acquiring a three-dimensional center point of each bulb cluster based on three-dimensional points corresponding to two-dimensional points located within the bulb cluster among the belonging points in the three-dimensional point cloud group, and using the three-dimensional center point and the cluster size of each bulb cluster And a position estimator for estimating and calibrating the origin of the lip motion and the origin of the HMD.
상기 n개 2차원 영상에 대응하는 n개 픽셀 행렬을 획득하는 픽셀 행렬 생성기를 더 포함하며,
상기 희소 행렬 생성기는,
상기 n개 픽셀 행렬을 각각 상기 n개 희소 행렬로 변환하는 립모션과 HMD 사이의 캘리브레이션 장치.The method of claim 7,
Further comprising a pixel matrix generator for obtaining n pixel matrices corresponding to the n two-dimensional images,
Wherein the sparse matrix generator comprises:
And converting the n pixel matrices to the n sparse matrices, respectively.
상기 블랍 검출기는,
상기 2차원 영상 내에서 블랍 검출 기법을 통해 원형의 복수의 전구 클러스터를 검출한 다음, 상기 전구 클러스터의 중심점과, 상기 전구 클러스터 내 나머지 점들과 상기 중심점 간의 거리 중 최대 거리값을 각각 구하며,
상기 블랍 판별기는,
상기 2차원 점군 내 소속점들과 상기 중심점 간 거리를 구한 후, 상기 최대 거리값 이하의 거리를 도출한 2차원 점들을 상기 전구 클러스터 내에 위치한 2차원 점들로 판별하는 립모션과 HMD 사이의 캘리브레이션 장치.The method of claim 7,
Wherein the blob detector comprises:
A plurality of circular clusters of a circular shape are detected through the blob detection technique in the two-dimensional image, and a maximum distance value between the center point of the clusters and the remaining points in the clusters cluster is obtained,
Wherein the blob discriminator comprises:
A calibration device between the lip motion and the HMD for determining two-dimensional points derived from the distance less than the maximum distance value as the two-dimensional points located within the global cluster after obtaining the distance between the belonging points in the two- .
상기 위치 추정부는,
상기 립모션의 원점 좌표를 상기 HMD의 원점 좌표로 이동시켜 캘리브레이션하는 립모션과 HMD 사이의 캘리브레이션 장치.The method of claim 7,
The position estimating unit may calculate,
And a calibration unit for calibrating the lip motion by moving the origin coordinates of the lip motion to the origin coordinates of the HMD.
상기 위치 추정기는,
상기 3차원 점군 내 소속점들 중 상기 전구 클러스터 내 위치한 2차원 점들에 대응되는 3차원 점들의 좌표를 평균하는 방식으로 상기 각 전구 클러스터의 3차원 중심점을 연산하는 립모션과 HMD 사이의 캘리브레이션 장치.The method of claim 7,
Wherein the position estimator comprises:
Wherein the three-dimensional center point of each of the bulb clusters is calculated by averaging coordinates of three-dimensional points corresponding to two-dimensional points located in the bulb cluster among the belonging points in the three-dimensional point cloud group.
상기 위치 추정기는,
상기 각 전구 클러스터의 크기를 기초로 L개의 제1 클러스터들과, 상기 제1 클러스터보다 작은 나머지 M개의 제2 클러스터들로 분류하며(L<M),
상기 제1 클러스터들에 대한 3차원 중심점의 좌표를 평균하여 상기 립모션의 원점 좌표를 추정하고, 상기 제2 클러스터들에 대한 3차원 중심점의 좌표를 평균하여 상기 HMD의 원점 좌표를 추정하는 립모션과 HMD 사이의 캘리브레이션 장치. The method of claim 7,
Wherein the position estimator comprises:
(L < M) is divided into L first clusters based on the sizes of the respective bulb clusters and M remaining second clusters smaller than the first cluster,
Estimating the origin coordinates of the lip motion by averaging the coordinates of the three-dimensional center point with respect to the first clusters, and averaging the coordinates of the three-dimensional center point with respect to the second clusters to estimate the origin coordinates of the HMD, And an HMD.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020180001572A KR102028376B1 (en) | 2018-01-05 | 2018-01-05 | Calibration method of leap motion-HMD using bundle adjustment algorithm and method thereof |
| PCT/KR2018/010002 WO2019135462A1 (en) | 2018-01-05 | 2018-08-29 | Method and apparatus for calibration between leap motion and hmd using bundle adjustment algorithm |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020180001572A KR102028376B1 (en) | 2018-01-05 | 2018-01-05 | Calibration method of leap motion-HMD using bundle adjustment algorithm and method thereof |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20190083757A true KR20190083757A (en) | 2019-07-15 |
| KR102028376B1 KR102028376B1 (en) | 2019-10-04 |
Family
ID=67144285
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020180001572A Active KR102028376B1 (en) | 2018-01-05 | 2018-01-05 | Calibration method of leap motion-HMD using bundle adjustment algorithm and method thereof |
Country Status (2)
| Country | Link |
|---|---|
| KR (1) | KR102028376B1 (en) |
| WO (1) | WO2019135462A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022045579A1 (en) * | 2020-08-26 | 2022-03-03 | 삼성전자 주식회사 | Electronic device for correcting position of external device and operation method thereof |
| CN119624761A (en) * | 2024-09-24 | 2025-03-14 | 中国南方电网有限责任公司 | Power distribution panel display method and device based on computer vision |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102360306B1 (en) | 2018-11-23 | 2022-02-10 | 주식회사 엔텍로직 | Method and apparatus of inspecting calibration for gimbal camera and directional controller |
| KR102151265B1 (en) | 2019-12-26 | 2020-09-02 | 주식회사 델바인 | Hmd system and rehabilitation system including the same |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014178141A (en) * | 2013-03-13 | 2014-09-25 | Kagoshima Univ | Calibration system and calibration method |
| KR20170127103A (en) * | 2016-05-10 | 2017-11-21 | 전자부품연구원 | System and method for 3-dimensional calibration of camera and depth sensor, and calibration device and calibration jig thereof |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6250024B2 (en) * | 2013-02-19 | 2017-12-20 | ミラマ サービス インク | Calibration apparatus, calibration program, and calibration method |
| KR20140108828A (en) * | 2013-02-28 | 2014-09-15 | 한국전자통신연구원 | Apparatus and method of camera tracking |
| KR102081933B1 (en) * | 2013-08-28 | 2020-04-14 | 엘지전자 주식회사 | Head mounted display and method for controlling the same |
| KR102083963B1 (en) * | 2013-12-10 | 2020-04-14 | 엘지전자 주식회사 | Head Mounted Display device and controlling method for eye-gaze calibration |
-
2018
- 2018-01-05 KR KR1020180001572A patent/KR102028376B1/en active Active
- 2018-08-29 WO PCT/KR2018/010002 patent/WO2019135462A1/en not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014178141A (en) * | 2013-03-13 | 2014-09-25 | Kagoshima Univ | Calibration system and calibration method |
| KR20170127103A (en) * | 2016-05-10 | 2017-11-21 | 전자부품연구원 | System and method for 3-dimensional calibration of camera and depth sensor, and calibration device and calibration jig thereof |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022045579A1 (en) * | 2020-08-26 | 2022-03-03 | 삼성전자 주식회사 | Electronic device for correcting position of external device and operation method thereof |
| CN119624761A (en) * | 2024-09-24 | 2025-03-14 | 中国南方电网有限责任公司 | Power distribution panel display method and device based on computer vision |
Also Published As
| Publication number | Publication date |
|---|---|
| KR102028376B1 (en) | 2019-10-04 |
| WO2019135462A1 (en) | 2019-07-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6429772B2 (en) | 3D scanning and positioning system | |
| US10560679B2 (en) | Deformation detection and automatic calibration for a depth imaging system | |
| US10497137B2 (en) | Temperature compensation for structured light depth imaging system | |
| EP3589978B1 (en) | Multi-spectrum illumination-and-sensor module for head tracking, gesture recognition and spatial mapping | |
| EP4224424B1 (en) | Method and system for determining spatial coordinates of a 3d reconstruction of at least part of a real object at absolute spatial scale | |
| JP5467303B1 (en) | Gaze point detection device, gaze point detection method, personal parameter calculation device, personal parameter calculation method, program, and computer-readable recording medium | |
| EP3441788A1 (en) | Apparatus and method for generating a representation of a scene | |
| US20110249117A1 (en) | Imaging device, distance measuring method, and non-transitory computer-readable recording medium storing a program | |
| KR20240051334A (en) | Head-mounted display for virtual and mixed reality with inside-out positional, user body and environment tracking | |
| KR102028376B1 (en) | Calibration method of leap motion-HMD using bundle adjustment algorithm and method thereof | |
| KR20200064947A (en) | Apparatus for tracking position based optical position tracking system and method thereof | |
| KR20100112853A (en) | Apparatus for detecting three-dimensional distance | |
| WO2016142489A1 (en) | Eye tracking using a depth sensor | |
| EP3371780A1 (en) | System and methods for imaging three-dimensional objects | |
| US20240114119A1 (en) | Image processing device, image processing method, and program | |
| KR101913179B1 (en) | Apparatus for Infrared sensing footing device, Method for TWO-DIMENSIONAL image detecting and program using the same | |
| US11195290B2 (en) | Apparatus and method for encoding in structured depth camera system | |
| KR101296365B1 (en) | hologram touch detection method using camera | |
| CN214376323U (en) | an entertainment helmet | |
| TWI767179B (en) | Method, virtual reality system and recording medium for detecting real-world light resource in mixed reality | |
| Walter et al. | Enabling multi-purpose mobile manipulators: Localization of glossy objects using a light-field camera | |
| TWI823740B (en) | Active interactive navigation system and active interactive navigation method | |
| US20250326126A1 (en) | Apparatus and method for vision control of wearable robot | |
| KR20230017088A (en) | Apparatus and method for estimating uncertainty of image points | |
| CN119963621A (en) | A transparent object detection segmentation and depth correction method, system, device and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
| U11 | Full renewal or maintenance fee paid |
Free format text: ST27 STATUS EVENT CODE: A-4-4-U10-U11-OTH-PR1001 (AS PROVIDED BY THE NATIONAL OFFICE) Year of fee payment: 7 |