Make the Oculus Rift a little better



Hi, Habr!

Since the advent of the first production samples of the Oculus DK1 it's been more than a year. During this short period of time to the world of virtual reality has managed to touch tens of thousands of developers around the world, including from Russia (time, two, three).

In March, it was announced Oculus DK2 has a number of improvements, of which the most important are the updated screen support for tracking the absolute position of the head. And if the first more or less clear- the increased resolution reduces the effect of speckle, especially noticeable in the first generation of the device, and the use of OLED screen instead of LCD improves response speed of the matrix, the second item (namely, its importance and how we have added support for this feature in DK1) I would like to stay more...

The importance of tracking the absolute position in the virtual reality helmets, the majority of people begins to understand only after trying them on myself without it after a few minutes you begin to lose the sense of immersion, since the linear movement of the head to the side absolutely does not change the picture of the virtual world. And even if for a moment imagine that the head does not do linear motions, the need for tracking the spatial position of the helmet for the correct rendering of virtual reality is still, as the rotation of the head occurs around the center of the neck (when viewed from above) and not around the nose. The following animation demonstrates the problem with turning head and moving eyes. Plus the screen is at a certain distance from the user's eyes that is also a problem for developers.



In addition, helmets whose work is based solely on a bunch of gyro + accelerometer (optional) magnetometer (like Oculus DK1) the cumulative error and the orientation of the entire system over time shifts. Support for absolute tracking is the solution to this problem.

In Oculus DK2 this problem is solved by using an external camera, operating at a frequency of about 60 frames per second (at least 16-17 millisecond delay in reaction) and tracks integrated into the shell of the helmet the IR LEDs. Enough of this frequency for comfortable use of a helmet is still an open question. In any case, increasing the frequency of tracking would reduce the delay time and, consequently, would provide greater immersion in a virtual reality.

The task of a quick and effective tracking of the absolute position of the virtual reality helmet to me and my colleagues found it interesting and therefore in an experiment it was decided to upgrade DK1, providing the maximum possible speed of the entire system tracking. As a result, managed to reach a speed of more than 130 frames per second c is practically zero CPU load. Was used high-speed stereo camera 3D DUO with built-in powerful IR LEDs, synchronized with the gate matrix.



On the helmet itself is glued reflective markers (visible in the first photo), which are detected by the camera. Due to the fact that labels are not only on the device, but also on belts, the tracking is stable even in the case where the user is looking in the opposite direction from the camera. Wide viewing angle allows not to lose the helmet in a strong deviation of the head away from the camera, and especially highlighting markers allow for tracking even in the most aggressive terms of external IR light environment.
All of the above can be seen in the following video:



I will be glad to hear comments, suggestions, remarks... Thank you for your attention!
Article based on information from habrahabr.ru

Комментарии

Популярные сообщения из этого блога

Why I left Google Zurich

2000 3000 icons ready — become a sponsor! (the table of orders)

New web-interface for statistics and listen to the calls for IP PBX Asterisk