Monday, August 4, 2014

Positional tracking: "Outside-in" vs. "Inside-out"

Optical positional tracking for goggles uses a camera (or cameras) and a known set of markers to determine the position of the camera relative to the markers. Positional tracking can be done using the visible spectrum but is more commonly done using infra-red markers and a camera that is sensitive to IR light.

There are two main options:

  • Inside-out tracking: where the camera is based on the goggles and the IR markers are placed in stationary locations (e.g. on the computer monitor, on the wall, etc.)
  • Outside-in tracking: where the camera is placed in a stationary location and the IR markers are placed on the goggles.
In both cases, the targets sometimes flash in a way that is synchronized with the camera. This allows reducing power consumption for the targets and helps reduce tracking noise from IR sources that are not the targets.

Sensics dSight panoramic HMD with IR targets for "outside in" tracking
How do these approaches compare?

  • Tracking volume: in both cases, at least some of the targets need to be visible to the camera. When the user rotates the head, an "inside-out" system needs targets that are physically far apart. If the targets are, for instance, placed on the bezel of a notebook PC, it is easy to see how head rotation could easily take these targets out of the field of view of the camera. A wider lens could be used in the camera, but this would reduce the tracking precision as each camera pixel would now cover a greater physical space in the world. In the "outside-in" system, targets could be placed on most sides of the goggle, allowing reasonably large rotation while still having targets visible on the camera. Advantage: outside-in
  • Tracking inside an entire room: if we want to allow mobility within a room, an 'inside-out' system would require additional markers on the walls, whereas an 'outside-in' system would require additional cameras. Both systems would require room calibration to make sure the target and/or cameras are placed in a known position. Additional cameras require additional processing power. Slight advantage: inside-out
  • Where is data being processed? In "inside-out' tracking, the camera data is either processed on the goggle or the camera is connected to a computer that is either carried by the user or stationary and connected via a wire. In 'outside-in' tracking, the data is processed on a computer that could be stationary. Advantage: outside-in
  • Can this be used with a wireless goggle? If the goggle is not tethered to a computer, "inside-out" tracking requires that the data is either processed locally or that the camera signal is sent wirelessly to a base station. In contrast, an 'outside-in' approach does not require wireless data of the camera. At most, a synchronization signal can be sent to the IR LEDs to make sure they flash in sync with the camera. Advantage: outside-in
  • Ability to combine with augmented reality system. Sometimes, the goggle will already have an on-board camera (or cameras) for the purpose of augmented reality and/or 3D reconstruction. In that case, using the same camera for positional tracking may have some cost advantages if positional tracking can be used with visible targets or if the camera already has IR sensitivity. Advantage: inside-out
Note: tracking accuracy is also an important comparison parameter, but this is more difficult to generically compare across both approaches. Very often, accurate tracking is achieved not just through the camera data but also by integrating ("sensor fusion") rotational data and linear acceleration data from on-board sensors. The sensors used and the quality of the sensor fusion algorithm would determine which approach is better.

Bottom line: for most applications, an 'outside-in' approach would be better, and thus we expect to see a greater number of 'outside-in' solutions on the market.

What has been your experience?

For additional VR tutorials on this blog, click here
Expert interviews and tutorials can also be found on the Sensics Insight page here


Unknown said...

I would have to disagree, at least if accuracy and cost are factored in.

Tracking Volume/Tracking an Entire Room -- the cost of adding additional cameras to capture a larger volume is very high, much higher than the cost of simply adding additional markers (especially if the markers are simple passive targets). Advantage: inside-out.

Where is Data Processed/Can it be Wireless -- an outside-in system requires that data be sent from the trackers to the HMD, which means either physical tethering (which is awkward, especially when tracking multiple users) or wireless transmission (which increases latency). An inside-out system can does all its processing in the HMD itself, and can therefore be used untethered with multiple users and no additional latency. Advantage: inside-out.

Accuracy: with an outside-in system, small head movements may not be accurately captured if the distance to the camera is large. By contrast, an inside-out tracking system will see even small movements of the head as large displacements of the targets. Advantage: inside-out.

An inside-out system is much less expensive for large tracking volumes, has higher accuracy and lower latency, and can be completely untethered.

Bernie Roehl said...

Sorry, I didn't intend to post anonymously. That previous comment was by me, Bernie Roehl.

Anonymous said...

As many systems have demonstrated, inside-out tracking does not necessarily require markers, it can function just off the geometry available in typical rooms. The trade-off is more about quality than setup complexity.

Unknown said...

Agreed. That's even more true now that it was in two years ago (when I posted my comment).

Unknown said...

In my practical design experience and reviewing the Hololens and MSXR, I feel the positional tracking is more than adequate for small spaces. Larger spaces without markers or irregular surfaces, does cause tracking issues. With the MSXR system I can see a celestial light system like those surrounding their controllers can also used as markers, as long as their is some way of keeping track of them either by a shift in visible spectrum, or BT pulse signature. I think the former would be better and would keep the cost down to light modulation/power PCB, case and of course the LEDs. It shouldn't be more than $5, less if produced in sufficient quantity.