Jump to content

Predictive tracking: Difference between revisions

No edit summary
m Text replacement - "e.g.," to "for example"
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{stub}}
{{see also|Terms|Technical Terms}}
{{see also|Tracking}}
==Introduction==
==Introduction==
When it comes to either [[AR]] or [[VR]] systems, the [[predictive tracking]] for these 2 systems revolves around a process that predicts where the user and/or their body will be in the future. An example of this would be a game that would need to predict the whereabouts of your hand at pretty much any one time.
[[Predictive tracking]] is a fundamental technique used in both [[augmented reality]] (AR) and [[virtual reality]] (VR) systems that anticipates where a user's body parts or viewing direction will be in the near future. This computational method works by analyzing current motion patterns, velocity, and acceleration to estimate future positions before they occur<ref name="LaValle2016"></ref>. For example, when a VR game needs to display your virtual hand's position, it doesn't simply render where your hand currently is, it predicts where your hand will be several milliseconds in the future.


Quite possibly the biggest use of predictive tracking comes down to an issue with latency when it comes to the peripherals in question. For instance, if you’re looking to your left, you’d expect the view to be consistent on how far you’ve decided to look to the left. Without the use of predictive tracking, there would be a worryingly high amount of delay between your actions and the way the device displays them when you’re finished. Through the use of predictive tracking, the estimated orientation through your input allows for the overall latency to be reduced significantly; making it seem more natural as you would expect.
The primary purpose of predictive tracking is to combat [[latency]] issues inherent in AR and VR systems. Without predictive algorithms, users would experience a noticeable delay between their physical movements and the corresponding visual feedback on their displays. This delay creates a disconnection that not only diminishes the sense of [[immersion]] but can also contribute to [[motion sickness]] and general discomfort<ref name="Abrash2014"></ref>. Through predictive tracking, the system estimates your future orientation and position based on your current input data, significantly reducing perceived latency and creating a more natural and responsive experience.


Plenty of attention has been aimed directly towards the VR side of things, but AR also plays a key part in the use of predictive tracking. To keep things in check, there’s a graphical overlay over the top of a real-world object, hence the use of “augmented” reality. Even when you move around the world, this overlay doesn’t move from its original position and effectively stays locked in its current location. Via the use of predictive tracking, you can harness the processing power of the graphics chip to keep the objects in frame, the overlay in place for where it should be, and keep things looking natural throughout your time in AR; or at the very least, as best as possible.
While much attention has traditionally focused on VR applications, predictive tracking is equally crucial for AR systems. In AR environments, graphical overlays must remain precisely aligned with real-world objects even as users move through space. These virtual elements must maintain their relative positions accurately, giving the illusion that they exist within the physical environment. Predictive tracking allows the [[graphics processing unit]] (GPU) to anticipate user movement and maintain proper alignment of virtual objects with physical ones, preserving the illusion of augmented space<ref name="Azuma1997"></ref>.


Predictive tracking isn’t always 100% accurate, but through the use of general understanding of a whole host of different factors that crop up during use, such as the speed of someone’s head moving, the angle that they might be looking at, and a whole bunch of others that can affect the tracking. Without the use of this scientific knowledge, the tracking wouldn’t be quite as effective and would be a result of nothing more than a few lucky guesses here and there, but through the use of accurate tests to prove how tracking would work for the average person, it results in predictive tracking working as intended because of the improved tracking model throughout.
It's important to note that predictive tracking algorithms aren't infallible. They operate based on probabilistic models and physical principles, analyzing factors such as head movement speed, viewing angles, acceleration patterns, and historical user behavior. The accuracy of these predictions depends on the sophistication of the algorithm, the quality of sensor data, and the consistency of user movements. Without properly implemented predictive tracking, AR and VR experiences would be reduced to crude approximations with frequent misalignments and jarring visual inconsistencies.
 
==History and Development==
The concept of predictive tracking has roots in early [[computer vision]] and [[human-computer interaction]] research dating back to the 1990s. However, its critical importance for immersive technologies became apparent with the resurgence of consumer VR in the early 2010s. Early VR prototypes suffered from significant motion-to-photon latency issues, making predictive algorithms essential for creating viable consumer products.
 
[[John Carmack]], while working as CTO at Oculus, popularized the implementation of predictive tracking algorithms in consumer VR and emphasized their importance in reducing perceived latency. His work on "timewarp," a rendering technique that incorporates prediction to update images just before display, became fundamental to modern VR systems<ref name="Carmack2013"></ref>.
 
As VR hardware evolved from external camera tracking to [[inside-out tracking]] systems, predictive algorithms grew more sophisticated. The introduction of high-precision [[inertial measurement units]] (IMUs) with multiple accelerometers and gyroscopes provided better data for prediction models. By 2016, major VR platforms had incorporated advanced predictive tracking as a standard feature, with continuous improvements focusing on edge cases like rapid acceleration and sudden direction changes<ref name="Yao2014"></ref>.


==Latency Sources==
==Latency Sources==
Understanding the sources of latency in AR and VR systems is crucial to implementing effective predictive tracking solutions. A specialized device known as a [[latency tester]] measures "motion-to-photon" latency within a headset, the time delay between physical movement and the corresponding visual update on the display. The longer this delay, the more uncomfortable and less immersive the experience becomes.
Several distinct factors contribute to the overall system latency:
*'''Processing Delay''' - The time required to process sensor data through prediction algorithms can add significant latency if not optimized properly. This includes data acquisition from sensors, filtering operations, and running the prediction algorithms themselves<ref name="Carmack2015"></ref>.
*'''Rendering Delays''' - Complex scene rendering requires extensive computational resources as the processor works to position every pixel correctly, particularly in high-resolution VR displays. Modern VR headsets with 4K or higher resolution per eye place enormous demands on GPUs, potentially introducing render queue delays<ref name="Vlachos2015"></ref>.
*'''Data Smoothing''' - Sensor data inherently contains noise that must be filtered to prevent jittery visuals. Low-level smoothing algorithms reduce this noise but can introduce latency as they need to sample data over time to generate smoothed outputs<ref name="LaValle2014"></ref>.


There’s a particular device that goes by the name of a latency tester that measures “motion-to-photon” latency inside a VR headset. Latency occurs between actual movement, and how long an image will take to reflect on the main screen of the device; the longer the delay, the longer the latency is considered.  
*'''Framerate Delays''' - When framerates drop below the display's refresh rate (typically 90-120Hz for modern VR systems), the system must wait for frame completion before updating the display. These delays are particularly noticeable during computationally intensive scenes<ref name="Abrash2015"></ref>.


Because of this predictive tracking notion, it can heavily reduce the amount of latency the user would receive and if you look below, there’s a list of reasons that are considered a source of latency:
*'''Sensing Delays''' - [[Camera sensors]] and optical tracking systems experience inherent delays due to exposure time, data transfer, and processing. For optical tracking systems that rely on infrared or visible light reflections from tracked objects, these delays can be particularly significant<ref name="McGill2015"></ref>.


*'''Processing Delay''' - Due to the use of sensor data with uses an algorithm to help receive date can add latency to the device if the developers aren’t too careful with their peripherals.
*'''Display Persistence''' - Traditional LCD displays hold each pixel in its state until updated, creating a smearing effect during head movement. While modern VR displays use low-persistence OLED or LCD technology that reduces this effect, there's still a small but measurable delay between when pixels receive new information and when they fully change state<ref name="Abrash2013"></ref>.
*'''Rendering Delays''' - At times, the processor is bound to render some rather complicated scenes on the device and to make sure every single pixel is where it is meant to be can result in some latency.
*'''Data Smoothing''' - Sensor data can be a tricky thing and even results in unnecessary noise whilst it’s doing its job, so to keep that noise down to some degree; low-level algorithms are brought into place to keep them quiet but at the crux of latency at times.
*'''Framerate Delays''' - Whenever a framerate drop occurs, it takes time before every appropriate pixel slots into place after the processor works overtime to get everything in its correct positions; thus resulting in latency once more.
*'''Sensing Delays''' - An issue that can occur is when the camera-sensors exhibit some form of delay, as a result of the light reflecting off of a tracked object, which can take an extra amount of time to deal with appropriately when the latency is occurred.


All of these delays aren’t helpful to the VR or AR scenario of play, but some are worse than others; whereas others aren’t nearly as bad as some. Using a system, like predictive tracking, it can lower these issues wholeheartedly and making the system run a little more naturally than it would be otherwise.  
*'''Wireless Transmission Delays''' - For wireless VR and AR systems, data transmission between the headset and the computing device introduces additional latency. Compression, transmission, and decompression all add time before the final image reaches the user's eyes<ref name="Xu2018"></ref>.


==How Far should it Predict into the Future?==
While each of these delays contributes to the overall latency budget, predictive tracking specifically targets the combined effect by anticipating future positions and orientations. Effective predictive algorithms can significantly reduce perceived latency, though they cannot eliminate it entirely.


Honestly, it really does depend. In terms of latency, you’re going to want to estimate just how much the end-to-end latency for your system is as the starting point and then proceed to optimise and improve it from there.  
==How Far Should It Predict into the Future?==
The appropriate prediction time horizon varies based on several system-specific factors. The starting point for calibrating prediction time is typically to measure the end-to-end latency of the entire system and then optimize prediction parameters accordingly.


At times, you’ll need to predict more than just the one time point in the future at any point. Some of the reasons for this, along with examples are listed below:
In practice, predictive tracking often needs to account for multiple future time points simultaneously for several reasons:


*Depending on the object that the system is currently focusing on, it will need to account for different latency. For example, if the system originally focused solely on the head tracker and was then designed to follow arm/hand movements as well, a predictive tracker will be required for the pair of them. Having “different” predictive tracking allows for the least amount of latency and keeps the whole experience looking as natural as possible.
*'''Different Tracked Objects''' - Various elements of a VR or AR system may experience different latency profiles. For instance, head tracking typically requires different prediction parameters than hand or controller tracking. The head tends to move in more predictable arcs with consistent velocity, while hands can change direction more abruptly. As a result, a multi-object VR system might implement separate predictive trackers for each tracked element, each with its own prediction horizon optimized for that specific body part's movement characteristics<ref name="Livingston2008"></ref>.


*In the cases of single screen monitors, like your mobile device, if the imagery used goes to both eyes, but one is very slightly out of sync by not even a second, for that second eye, you’ll want to adjust/delay a couple of frames so the pair of them sync up. This saves the user from experiencing any negative effects in response to this.
*'''Multiple Display Paths''' - In some systems, particularly those with dual displays or split rendering pipelines, visual information may reach different displays at slightly different times. For example, in a stereo VR display, if the right eye receives imagery a few milliseconds later than the left eye, the prediction horizon for the right eye might be adjusted to compensate for this difference. This synchronization helps prevent uncomfortable stereo disparity artifacts that could otherwise contribute to [[eye strain]] or [[headaches]]<ref name="Jerald2009"></ref>.
 
*'''Variable System Load''' - Many AR and VR systems experience fluctuating computational loads that affect latency. Advanced predictive tracking systems may dynamically adjust their prediction horizons based on current system performance metrics, extending prediction time during high-load scenarios and reducing it during lighter computational loads<ref name="Zhang2019"></ref>.
 
*'''User-Specific Calibration''' - Individual users move differently, and some people are more sensitive to latency than others. Sophisticated systems may implement user calibration procedures that adjust prediction horizons based on individual movement patterns and sensitivity thresholds<ref name="Kennedy1993"></ref>.
 
*'''Activity-Specific Tuning''' - Different applications may require different prediction parameters. A fast-paced VR game might benefit from more aggressive prediction to handle rapid movements, while a precision CAD application might use more conservative prediction to prioritize accuracy over responsiveness<ref name="Sutherland2018"></ref>.
 
Typical prediction horizons in contemporary VR and AR systems range from 20 to 50 milliseconds, though this can vary based on all the factors mentioned above. Generally, the prediction horizon should roughly match the system's motion-to-photon latency, with some adjustments based on empirical testing and user feedback.


==Common and Regularly Used Prediction Algorithms==
==Common and Regularly Used Prediction Algorithms==
Several predictive tracking algorithms have become standard in the AR and VR industry, each with its own strengths and limitations:
*'''Alpha-Beta-Gamma (ABG) Filter''' - This predictor continuously estimates acceleration and velocity to forecast future positions. Unlike more complex filters, ABG uses minimal historical data, making it computationally efficient but potentially less accurate for complex movements. It prioritizes responsiveness over noise reduction, making it suitable for scenarios where quick reaction time is critical<ref name="Faragher2012"></ref>.
*'''Dead Reckoning''' - A straightforward algorithm that extrapolates future positions based on the current position and velocity, assuming constant velocity. While computationally inexpensive, dead reckoning's accuracy degrades quickly when users change direction or speed, making it primarily useful as a fallback method or for very short prediction horizons<ref name="Welch2002"></ref>.
*'''Kalman Filter and Extended Kalman Filter''' - Derived from control theory, these sophisticated algorithms balance noise reduction with accurate prediction by continuously updating a statistical model of system behavior. The standard Kalman filter works well for linear movements, while the Extended Kalman Filter (EKF) handles nonlinear motion patterns common in human movement. While computationally more demanding than simpler methods, Kalman-based approaches provide superior accuracy for complex movements and have become industry standards<ref name="Welch2006"></ref>.
*'''Particle Filters''' - For highly unpredictable movements, particle filters (also known as Sequential Monte Carlo methods) maintain multiple possible future trajectories simultaneously, weighted by probability. These are particularly useful for hand tracking and gesture recognition where movements can be erratic and multi-modal<ref name="Isard1998"></ref>.
*'''Double Exponential Smoothing''' - This statistical technique gives more weight to recent observations while still considering historical data. It's particularly effective for tracking movements with gradual acceleration or deceleration patterns, such as head rotations that naturally speed up and slow down<ref name="LaViola2003"></ref>.
*'''Artificial Neural Networks''' - Modern AR and VR systems increasingly incorporate machine learning approaches to prediction. Recurrent Neural Networks (RNNs) and Long Short-Term Memory (LSTM) networks can learn complex patterns in human movement, potentially outperforming traditional algorithms for users with consistent movement styles. These approaches require training data but can adapt to individual users over time.
*'''Hybrid Approaches''' - State-of-the-art predictive tracking often combines multiple algorithms, using fast methods for immediate response and more sophisticated algorithms to refine predictions. For example, a system might use dead reckoning for immediate feedback while a Kalman filter computes a more accurate prediction in parallel<ref name="Greer2020"></ref>.
Selection of the appropriate algorithm depends on hardware capabilities, movement characteristics, and application requirements. Modern commercial systems often implement proprietary variants that combine elements from multiple approaches, optimized for specific hardware platforms.
==Implementation Considerations==
Successfully implementing predictive tracking in AR and VR systems requires careful attention to several key aspects:
*'''Sensor Fusion''' - Modern headsets and controllers contain multiple sensors including gyroscopes, accelerometers, magnetometers, cameras, and sometimes additional tracking modalities. Effective predictive tracking requires proper sensor fusion to combine these data sources coherently before prediction occurs. Without proper sensor calibration and fusion, predictions will amplify existing sensor errors<ref name="Olsson2011"></ref>.
*'''Sampling Rate''' - Higher sensor sampling rates provide more data points for prediction, potentially improving accuracy but requiring more computational resources. Most commercial systems operate with sensor sampling rates between 500Hz and 1000Hz, while display refresh rates typically range from 90Hz to 120Hz. This disparity allows multiple sensor readings to inform each predicted frame<ref name="Koulieris2017"></ref>.
*'''Fail-Safe Mechanisms''' - All prediction algorithms can produce incorrect results, particularly during unexpected movements. Well-designed systems include mechanisms to detect prediction failures and gracefully recover without causing severe visual artifacts. Common approaches include temporarily reducing the prediction horizon during unpredictable movements and blending between predicted and actual positions when large discrepancies occur<ref name="Jerald2016"></ref>.
*'''Computational Efficiency''' - Predictive tracking algorithms must execute quickly to avoid introducing additional latency. Optimizations often include approximating complex mathematical functions, utilizing SIMD (Single Instruction, Multiple Data) processing where available, and offloading calculations to dedicated hardware accelerators<ref name="Wilson2017"></ref>.
*'''User Comfort Considerations''' - Overly aggressive prediction can cause visual instability, while insufficient prediction permits noticeable latency. Finding the right balance requires rigorous user testing across different movement scenarios. Some systems dynamically adjust prediction parameters based on movement speed, reducing prediction during slow, precise movements and increasing it during rapid movements<ref name="Stanney1997"></ref>.
*'''Platform-Specific Tuning''' - Different hardware platforms have unique latency characteristics that affect prediction requirements. Mobile VR systems typically have higher latency than tethered systems, requiring more aggressive prediction, while high-end PC-based systems may use more conservative approaches that prioritize stability<ref name="Google2019"></ref>.
Effective implementation requires balancing these considerations against the specific requirements of the target application and hardware platform.
==Applications Across Industries==
While gaming often drives innovation in VR and AR technologies, predictive tracking has found applications across numerous industries:
*'''Medical Training and Surgical Simulation''' - In medical VR applications, precise tracking of surgical tools and natural hand movements is essential. Predictive tracking helps maintain the illusion of direct manipulation critical for developing muscle memory and fine motor skills. These systems often require higher precision than gaming applications, necessitating more sophisticated prediction algorithms<ref name="Seymour2002"></ref>.
*'''Architectural Visualization''' - AR applications that overlay building information models (BIM) on construction sites rely on predictive tracking to maintain alignment even as users move through complex environments. These applications must account for both head movement and potentially large-scale user displacement across physical spaces<ref name="Bae2013"></ref>.
*'''Industrial Maintenance and Training''' - AR systems that provide real-time guidance for maintenance procedures need to accurately overlay instructions on physical equipment. Predictive tracking helps maintain these overlays during natural head movements as technicians work, significantly improving task completion time and reducing errors<ref name="Henderson2011"></ref>.
*'''Military and Defense''' - Flight simulators and combat training systems use predictive tracking to maintain immersion during high-speed or abrupt movements. These applications often operate under extreme performance requirements, with prediction algorithms tuned for the specific movement patterns expected in combat scenarios<ref name="Livingston2003"></ref>.
*'''Telepresence and Remote Collaboration''' - VR and AR collaboration platforms use predictive tracking to maintain natural avatar movements during network communications that may introduce additional latency. These systems often predict both local user movements and remote participant actions to create smooth interactions despite network delays<ref name="Orts2016"></ref>.
*'''Physical Rehabilitation''' - VR rehabilitation systems track patient movements for both assessment and gamified therapy. Predictive tracking helps create responsive environments that provide immediate feedback on movement quality, crucial for effective motor learning and patient engagement<ref name="Laver2017"></ref>.
These diverse applications demonstrate that predictive tracking has evolved beyond its gaming origins to become a critical enabling technology across numerous fields where immersive experiences provide value.
==Challenges and Limitations==
Despite continuous advancements, predictive tracking still faces several significant challenges:
*'''Unpredictable Human Movement''' - People occasionally make sudden, unpredictable movements that defy even the most sophisticated prediction algorithms. A sneeze, startle response, or simply changing one's mind mid-motion can cause prediction errors. This fundamental limitation means all prediction systems must include fallback mechanisms for when predictions fail<ref name="Zielinski2015"></ref>.
*'''Varied Movement Patterns Across Users''' - Individual users move differently based on physical characteristics, previous experience with immersive technologies, and personal habits. A prediction algorithm optimized for one population may perform poorly for others, creating challenges for systems intended for diverse user groups<ref name="Mania2004"></ref>.
*'''Computational Constraints''' - More sophisticated prediction algorithms require greater computational resources, creating tradeoffs for mobile or standalone AR/VR devices with limited processing power. Energy consumption becomes a critical consideration for battery-powered devices, where excessive prediction calculations can significantly reduce operating time<ref name="Marchand2016"></ref>.
*'''Cross-System Interaction''' - When multiple AR or VR users interact in shared virtual environments, their individual prediction systems may create inconsistencies in perceived object positions. Resolving these differences remains challenging, particularly when users have different hardware with varying latency characteristics<ref name="Wetzstein2012"></ref>.
*'''Environmental Factors''' - External factors like magnetic interference, poor lighting conditions, or reflective surfaces can degrade sensor data quality, which then propagates into prediction errors. Robust predictive tracking must detect and compensate for these environmental challenges<ref name="Schmalstieg2016"></ref>.
*'''Platform Diversity''' - The wide range of AR and VR hardware platforms creates challenges for developers implementing prediction algorithms. Each platform has unique sensors, processing capabilities, and display technologies that affect optimal prediction parameters. Cross-platform applications must adapt to these differences or risk inconsistent experiences<ref name="Bowman2007"></ref>.
Researchers and developers continue to address these challenges through more sophisticated algorithms, improved hardware, and adaptive approaches that dynamically adjust to changing conditions.
==Future Developments==
The field of predictive tracking continues to evolve rapidly, with several promising directions for future advancement:
*'''Machine Learning Integration''' - Deep learning approaches are increasingly being applied to predictive tracking, using historical movement data to train models that can adapt to individual user patterns. These systems improve over time as they gather more data about specific users' movement habits, potentially outperforming traditional algorithm-based approaches for consistent users<ref name="Kim2018"></ref>.
*'''Biomechanical Modeling''' - Advanced predictive tracking may incorporate anatomical constraints and biomechanical models that understand the physical limitations of human movement. These approaches can improve prediction accuracy by eliminating physically impossible predicted positions and leveraging knowledge about joint constraints and muscle dynamics<ref name="Pan2019"></ref>.
*'''Multimodal Prediction''' - Future systems may combine traditional motion sensors with eye tracking, muscle activity sensors (EMG), and even neural interfaces to anticipate user intent before physical movement begins. This multimodal approach could potentially reduce perceived latency below the theoretical limits of pure motion-based prediction<ref name="Grogorick2018"></ref>.
*'''Context-Aware Prediction''' - By understanding the virtual environment and current user activity, prediction algorithms can incorporate contextual information to improve accuracy. For example, if a user is following a path or interacting with specific objects, the system can use this information to constrain predictions to likely trajectories<ref name="Cadena2016"></ref>.
*'''Hardware-Accelerated Prediction''' - Dedicated silicon for prediction calculations may become standard in future AR/VR systems. These specialized processors could execute complex prediction algorithms more efficiently than general-purpose CPUs, enabling more sophisticated approaches without increased power consumption<ref name="Campbell2018"></ref>.
*'''Cross-Device Standardization''' - As the industry matures, standardized predictive tracking APIs and metrics may emerge, allowing developers to create consistent experiences across platforms while leveraging platform-specific optimizations behind standardized interfaces<ref name="Khronos2017"></ref>.
These advancements promise to further reduce perceived latency, improve tracking accuracy, and enhance the overall quality of AR and VR experiences across all application domains.
==Comparison with Other Tracking Techniques==
Predictive tracking is one of several approaches used to improve motion tracking in AR and VR systems. Understanding its relationship with complementary techniques provides context for its role in the broader tracking ecosystem:
*'''Time Warping''' - While predictive tracking anticipates future positions before rendering begins, time warping (or reprojection) techniques modify already-rendered frames at the last possible moment before display. Techniques like Asynchronous Time Warp (ATW) and Asynchronous Space Warp (ASW) can help compensate for prediction errors or handle scenarios where frame rendering takes longer than expected. These approaches work in conjunction with predictive tracking rather than replacing it<ref name="Beeler2016"></ref>.
*'''Dynamic Resolution Scaling''' - To maintain frame rates critical for effective predictive tracking, many systems dynamically adjust rendering resolution based on scene complexity and current performance metrics. This technique ensures consistent frame timing, which is essential for predictive algorithms that depend on regular update intervals<ref name="Patney2016"></ref>.
*'''Sensor Fusion''' - Before prediction occurs, raw sensor data must be combined through sensor fusion techniques. These approaches merge data from complementary sensors (for example combining gyroscope data with camera-based tracking) to create a more accurate representation of current position and orientation. The quality of this fusion directly impacts prediction accuracy<ref name="Foxlin1996"></ref>.
*'''Simultaneous Localization and Mapping (SLAM)''' - In AR systems and inside-out tracking VR headsets, SLAM techniques construct and maintain maps of the surrounding environment. While SLAM primarily focuses on determining current position rather than predicting future positions, these maps provide valuable contextual information that can constrain and improve predictions<ref name="Davison2007"></ref>.
*'''Foveated Rendering''' - Systems equipped with eye tracking can use foveated rendering to reduce computational load by rendering at full resolution only where the user is looking. This technique indirectly supports predictive tracking by freeing computational resources for more sophisticated prediction algorithms<ref name="Guenter2012"></ref>.


Below are some regularly used predictive tracking algorithms that many developers have used to bring their game to the standards they’d expect:
*'''Machine Learning for Pose Estimation''' - Neural network approaches to directly estimate body pose from camera images complement traditional tracking and prediction methods. These techniques can be particularly helpful for tracking objects without embedded sensors, such as hand tracking without controllers<ref name="Wei2016"></ref>.


*'''Alpha-Beta-Gamma (ABG)''' - The ABG predictor does what it can to continuously estimate both acceleration and velocity to use them appropriately in its prediction. Since these estimates use actual account data, it sacrifices noise reduction for exemplifying responsiveness.
Each of these techniques addresses different aspects of the overall tracking and rendering pipeline. A state-of-the-art AR or VR system typically combines multiple approaches, with predictive tracking serving as a central component that ties together many other optimizations.
*'''Dead Reckoning''' - This right here is a very simple algorithm that uses both the position and velocity at any given time to predict the next position, assuming that both the last known position and velocity are correct and that the velocity remains the same. One major problem with this algorithm is that it requires the velocity to be constant on the regular, and in most cases the velocity does not remain constant; making the next set of assumptions incorrect.
*'''Kalman Predictor''' - Coming from a popular filter of the same name, this algorithm is used to help reduce the sensor noise in systems where a mathematical model for the system currently exists.


Predictive tracking isn’t the easiest part of development when it comes to AR and VR systems, but it is one of the most commonly used techniques to reduce latency. Compared to other fixes, the implementation of the already mentioned algorithms are both simple and get the job done with very few cruxes overall. Safe to say, without predictive tracking, both VR and AR systems would not be the same and the gaming industry would suffer as a result on the VR/AR front!
==References==
<references>
<ref name="LaValle2016">LaValle, S. M. (2016). "Virtual Reality," Cambridge University Press, pp. 52-54.</ref>
<ref name="Abrash2014">Abrash, M. (2014). "What VR Could, Should, and Almost Certainly Will Be Within Two Years." Steam Dev Days, Seattle.</ref>
<ref name="Azuma1997">Azuma, R. T. (1997). "A Survey of Augmented Reality." Presence: Teleoperators and Virtual Environments, 6(4), pp. 355-385.</ref>
<ref name="Carmack2013">Carmack, J. (2013). "Latency Mitigation Strategies." Oculus Connect Keynote.</ref>
<ref name="Yao2014">Yao, R., Heath, T., Davies, A., Forsyth, T., Mitchell, N., & Hoberman, P. (2014). "Oculus VR Best Practices Guide." Oculus VR.</ref>
<ref name="Carmack2015">Carmack, J. (2015). "The Oculus Rift, Oculus Touch, and VR Games at E3." Oculus Blog.</ref>
<ref name="Vlachos2015">Vlachos, A. (2015). "Advanced VR Rendering." Game Developers Conference.</ref>
<ref name="LaValle2014">LaValle, S. M., Yershova, A., Katsev, M., & Antonov, M. (2014). "Head tracking for the Oculus Rift." IEEE International Conference on Robotics and Automation (ICRA), pp. 187-194.</ref>
<ref name="Abrash2015">Abrash, M. (2015). "Why Virtual Reality Isn't (Just) the Next Big Platform." Oculus Connect 2 Keynote.</ref>
<ref name="McGill2015">McGill, M., Boland, D., Murray-Smith, R., & Brewster, S. (2015). "A Dose of Reality: Overcoming Usability Challenges in VR Head-Mounted Displays." Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems, pp. 2143-2152.</ref>
<ref name="Abrash2013">Abrash, M. (2013). "Down the VR Rabbit Hole: Fixing Latency in Virtual Reality." Game Developers Conference.</ref>
<ref name="Xu2018">Xu, R., Chen, S., Han, Y., & Wu, D. (2018). "Achieving Low Latency Mobile Cloud Gaming Through Frame Dropping and Extrapolation." IEEE Transactions on Circuits and Systems for Video Technology, 28(8), pp. 1932-1946.</ref>
<ref name="Livingston2008">Livingston, M. A., & Ai, Z. (2008). "The Effect of Registration Error on Tracking Distant Augmented Objects." Proceedings of the 7th IEEE/ACM International Symposium on Mixed and Augmented Reality, pp. 77-86.</ref>
<ref name="Jerald2009">Jerald, J., & Whitton, M. (2009). "Relating Scene-Motion Thresholds to Latency Thresholds for Head-Mounted Displays." IEEE Virtual Reality Conference, pp. 211-218.</ref>
<ref name="Zhang2019">Zhang, F., & Bazarevsky, V. (2019). "AR Tracking: Urban Navigation." Google I/O Developer Conference.</ref>
<ref name="Kennedy1993">Kennedy, R. S., Lane, N. E., Berbaum, K. S., & Lilienthal, M. G. (1993). "Simulator Sickness Questionnaire: An Enhanced Method for Quantifying Simulator Sickness." The International Journal of Aviation Psychology, 3(3), pp. 203-220.</ref>
<ref name="Sutherland2018">Sutherland, M., & Sutherland, J. (2018). "Adaptation in XR Experiences." SIGGRAPH Asia Technical Briefs, Article 29.</ref>
<ref name="Faragher2012">Faragher, R. (2012). "Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation." IEEE Signal Processing Magazine, 29(5), pp. 128-132.</ref>
<ref name="Welch2002">Welch, G., & Foxlin, E. (2002). "Motion Tracking: No Silver Bullet, but a Respectable Arsenal." IEEE Computer Graphics and Applications, 22(6), pp. 24-38.</ref>
<ref name="Welch2006">Welch, G., & Bishop, G. (2006). "An Introduction to the Kalman Filter." University of North Carolina at Chapel Hill, Department of Computer Science, Technical Report 95-041.</ref>
<ref name="Isard1998">Isard, M., & Blake, A. (1998). "CONDENSATION-Conditional Density Propagation for Visual Tracking." International Journal of Computer Vision, 29(1), pp. 5-28.</ref>
<ref name="LaViola2003">LaViola, J. J. (2003). "Double Exponential Smoothing: An Alternative to Kalman Filter-Based Predictive Tracking." Proceedings of the Workshop on Virtual Environments, pp. 199-206.</ref>
<ref name="Greer2020">Greer, J., & Johnson, K. (2020). "Multi-modal Prediction for XR Tracking." IEEE Conference on Virtual Reality and 3D User Interfaces (VR), pp. 161-170.</ref>
<ref name="Olsson2011">Olsson, T., & Salo, M. (2011). "Narratives of Satisfying and Unsatisfying Experiences of Current Mobile Augmented Reality Applications." Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pp. 2779-2788.</ref>
<ref name="Koulieris2017">Koulieris, G. A., Bui, B., Banks, M. S., & Drettakis, G. (2017). "Accommodation and Comfort in Head-Mounted Displays." ACM Transactions on Graphics, 36(4), Article 87.</ref>
<ref name="Jerald2016">Jerald, J. (2016). "The VR Book: Human-Centered Design for Virtual Reality." ACM Books, pp. 78-82.</ref>
<ref name="Wilson2017">Wilson, A., & Manocha, D. (2017). "Physically Based Optimization for Six Degree-of-Freedom Haptic Rendering Using Signed Distance Fields." Proceedings of the IEEE 27th International Conference on Robot and Human Interactive Communication, pp. 13-20.</ref>
<ref name="Stanney1997">Stanney, K. M., Kennedy, R. S., & Drexler, J. M. (1997). "Cybersickness is Not Simulator Sickness." Proceedings of the Human Factors and Ergonomics Society Annual Meeting, 41(2), pp. 1138-1142.</ref>
<ref name="Google2019">Google (2019). "Designing for Google Cardboard." Google Developers Documentation.</ref>
<ref name="Seymour2002">Seymour, N. E., Gallagher, A. G., Roman, S. A., O'Brien, M. K., Bansal, V. K., Andersen, D. K., & Satava, R. M. (2002). "Virtual Reality Training Improves Operating Room Performance: Results of a Randomized, Double-Blinded Study." Annals of Surgery, 236(4), pp. 458-464.</ref>
<ref name="Bae2013">Bae, H., Golparvar-Fard, M., & White, J. (2013). "High-Precision Vision-Based Mobile Augmented Reality System for Context-Aware Architectural, Engineering, Construction and Facility Management (AEC/FM) Applications." Visualization in Engineering, 1(1), pp. 1-13.</ref>
<ref name="Henderson2011">Henderson, S. J., & Feiner, S. (2011). "Exploring the Benefits of Augmented Reality Documentation for Maintenance and Repair." IEEE Transactions on Visualization and Computer Graphics, 17(10), pp. 1355-1368.</ref>
<ref name="Livingston2003">Livingston, M. A., Swan, J. E., Gabbard, J. L., Höllerer, T. H., Hix, D., Julier, S. J., ... & Brown, D. (2003). "Resolving Multiple Occluded Layers in Augmented Reality." Proceedings of the 2nd IEEE/ACM International Symposium on Mixed and Augmented Reality, pp. 56-65.</ref>
<ref name="Orts2016">Orts-Escolano, S., Rhemann, C., Fanello, S., Chang, W., Kowdle, A., Degtyarev, Y., ... & Izadi, S. (2016). "Holoportation: Virtual 3D Teleportation in Real-time." Proceedings of the 29th Annual Symposium on User Interface Software and Technology, pp. 741-754.</ref>
<ref name="Laver2017">Laver, K. E., Lange, B., George, S., Deutsch, J. E., Saposnik, G., & Crotty, M. (2017). "Virtual Reality for Stroke Rehabilitation." Cochrane Database of Systematic Reviews, (11).</ref>
<ref name="Zielinski2015">Zielinski, D. J., Rao, H. M., Sommer, M. A., & Kopper, R. (2015). "Exploring the Effects of Image Persistence in Low Frame Rate Virtual Environments." IEEE Virtual Reality Conference, pp. 19-26.</ref>
<ref name="Mania2004">Mania, K., Adelstein, B. D., Ellis, S. R., & Hill, M. I. (2004). "Perceptual Sensitivity to Head Tracking Latency in Virtual Environments with Varying Degrees of Scene Complexity." Proceedings of the 1st Symposium on Applied Perception in Graphics and Visualization, pp. 39-47.</ref>
<ref name="Marchand2016">Marchand, E., Uchiyama, H., & Spindler, F. (2016). "Pose Estimation for Augmented Reality: A Hands-On Survey." IEEE Transactions on Visualization and Computer Graphics, 22(12), pp. 2633-2651.</ref>
<ref name="Wetzstein2012">Wetzstein, G., Lanman, D., Hirsch, M., & Raskar, R. (2012). "Tensor Displays: Compressive Light Field Synthesis using Multilayer Displays with Directional Backlighting." ACM Transactions on Graphics, 31(4), Article 80.</ref>
<ref name="Schmalstieg2016">Schmalstieg, D., & Hollerer, T. (2016). "Augmented Reality: Principles and Practice." Addison-Wesley Professional, pp. 219-230.</ref>
<ref name="Bowman2007">Bowman, D. A., & McMahan, R. P. (2007). "Virtual Reality: How Much Immersion Is Enough?" Computer, 40(7), pp. 36-43.</ref>
<ref name="Kim2018">Kim, D., & Kim, Y. (2018). "Enhancing VR Headset Tracking Through Machine Learning." 2018 IEEE International Conference on Consumer Electronics (ICCE), pp. 1-4.</ref>
<ref name="Pan2019">Pan, H., Tian, Y., & Yu, C. (2019). "Physical Constraint-Aware Tracking for Virtual Reality." Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies, 3(1), pp. 1-22.</ref>
<ref name="Grogorick2018">Grogorick, S., Albuquerque, G., & Magnor, M. (2018). "Neural Correlates of Motion Sickness During Virtual Reality Head Rotation." Proceedings of the 25th IEEE Conference on Virtual Reality and 3D User Interfaces, pp. 1-8.</ref>
<ref name="Cadena2016">Cadena, C., Carlone, L., Carrillo, H., Latif, Y., Scaramuzza, D., Neira, J., ... & Leonard, J. J. (2016). "Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age." IEEE Transactions on Robotics, 32(6), pp. 1309-1332.</ref>
<ref name="Campbell2018">Campbell, J., McSorley, K., & Bergstrom, I. (2018). "Specialized Processing Units for Real-Time VR Tracking." GPU Technology Conference.</ref>
<ref name="Khronos2017">Khronos Group (2017). "OpenXR Specification." Khronos Group Technical Documentation.</ref>
<ref name="Beeler2016">Beeler, D., Hutchins, E., & Pedriana, P. (2016). "Asynchronous Spacewarp." Oculus Connect 3 Technical Presentation.</ref>
<ref name="Patney2016">Patney, A., Salvi, M., Kim, J., Kaplanyan, A., Wyman, C., Benty, N., ... & Lefohn, A. (2016). "Towards Foveated Rendering for Gaze-Tracked Virtual Reality." ACM Transactions on Graphics, 35(6), Article 179.</ref>
<ref name="Foxlin1996">Foxlin, E. (1996). "Inertial Head-Tracker Sensor Fusion by a Complementary Separate-Bias Kalman Filter." Proceedings of the IEEE Virtual Reality Annual International Symposium, pp. 185-194.</ref>
<ref name="Davison2007">Davison, A. J., Reid, I. D., Molton, N. D., & Stasse, O. (2007). "MonoSLAM: Real-Time Single Camera SLAM." IEEE Transactions on Pattern Analysis and Machine Intelligence, 29(6), pp. 1052-1067.</ref>
<ref name="Guenter2012">Guenter, B., Finch, M., Drucker, S., Tan, D., & Snyder, J. (2012). "Foveated 3D Graphics." ACM Transactions on Graphics, 31(6), Article 164.</ref>
<ref name="Wei2016">Wei, S. E., Ramakrishna, V., Kanade, T., & Sheikh, Y. (2016). "Convolutional Pose Machines." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 4724-4732.</ref>
</references>


[[Category:Terms]] [[Category:Technical Terms]]
[[Category:Terms]]
[[Category:Technical Terms]]
[[Category:Tracking]]
[[Category:Tracking Types]]