6D.ai SDK Release Notes - version 0.22.0

Release Notes
6D.ai beta SDK v0.22.0
Aug 27, 2019

Introduction

🚩🚩🚩

Happy Tuesday!

An incredible amount of behind-the-scenes work kept us busy over the past few months as we refined the technology and laid the groundwork for upcoming improvements and new features.

We are very excited to announce we are now opening sign-ups for our Android SDK private beta. Android SDK v0.22.0 is fully compatible with the iOS SDK v0.22.0 makes it easy to develop multiplayer cross-platform augmented reality experiences with the same persistence, occlusion and physics capabilities offered by 6D.ai.

We will invite a limited number of developers in the coming days and weeks, while we test on various hardware platforms. If your project is waiting on Android, please email details to sales@6d.ai.

Thanks to a new neural network, relocalization is now faster and more accurate, improving the experience of persistence and multiplayer. Mesh coverage also improved.

Please note that because the new neural network isn't backwards-compatible, 0.22.0 doesn't have access to maps created by apps running 0.21.0 and below.

Latest Engineering Notes

Neural Networks

The backbone of 6D.ai's neural network infrastructure was entirely reworked to be faster and more modular, allowing us to run multiple networks efficiently, regardless of the host hardware platform and purpose of the networks.

This means that future updates will run semantic segmentation, contouring people and recognizing objects in the scene, seamlessly along with meshing and other applications, on iOS, Android and any other future device.

AR Cloud

With the release of beta SDK v0.21.0, we introduced our first AR Cloud-based Mesh Fusion, which changes the behavior of SaveToARCloud() by making it additive. In order to help developers with the concept, we wrote an in-depth guide to the AR Cloud's logic.

Changes

Relocalization

  • Successful relocalizations are now significantly more accurate and less sensitive to change in light conditions: the position of persisted objects and loaded mesh are now a lot more precise.
  • Small improvement in processing speed and memory footprint.

Meshing

  • Improvements in coverage: walls and other plain colored matte surfaces mesh more effectively.
  • Reduced GPU footprint by offloading depth fusion to the CPU.
  • Fixed occasional meshing hiccups when scanning large areas.

AR Cloud

  • Upload and download sizes increased by 20 to 30% for equivalent surfaces.
  • Maps are now compatible with the private beta Android SDK.
  • Like the previous release, the change in neural networks is non-backwards compatible, so maps from applications running 0.21.0 and below are invisible to 0.22.0 and vice-versa.

Known Issues

The following issues will be addressed in future releases:

Meshing

  • Difficult environments (white walls, glass, mirrors, metallic or shiny surfaces) sometimes produce irregularities like mesh shards flying in mid-air.

Relocalization

  • Outdoor relocalization is currently impacted by the accuracy of GPS on the phone. In situations where the phone GPS varies greatly, relocalization may not occur properly.
  • Relocalization is sensitive to device orientation. E.g. relocalization may not work in portrait mode if the space was mapped in landscape mode.

Memory

  • Each SixDegreesSDK_Initialize() / SixDegreesSDK_Stop() cycle leaks between 2 and 3 megabytes.

Hardware Requirements

Please check our supported devices list for latest devices our SDK is compatible with.

Build Requirements

In order to build software on top of our SDK, please ensure your system matches the following specifications:

  • iPhone XS Max, iPhone XS, iPhone XR, iPhone X, iPhone 8 Plus, iPhone 8, iPhone 7 Plus, iPhone 7
  • iPad Pro (All generations and sizes), iPad Mini (2019, 5th Gen), iPad Air (2019, 3rd Gen), iPad 2018 (6th Gen only)
  • iOS 12 or iOS 11.4+
  • Xcode 10+
  • Unity3D 2018.3+
  • Unity Hub 2.0+

Please review the 6D.ai SDK Function Definitions and the Meshing API Guide for additional info on SDK functions and how to work with the mesh.