Looking for information on the quality of an Anchors in creation (ReadyForCreateProgress and RecommendedForCreateProgress in Microsoft.Azure.SpatialAnchors.SessionStatus)

Markus Wellmann 26 Reputation points
2021-06-30T14:19:09.1+00:00

This is a cross post from Github azure-spatial-anchors-samples

Description

I would like to have a better understanding of the values ReadyForCreateProgress and RecommendedForCreateProgress from Microsoft.Azure.SpatialAnchors.SessionStatus.

From what I've tested:

  • ReadyForCreateProgress has a maximum of 2,5
  • RecommendedForCreateProgress has a maximum of 2
  • IsReadyForCreate on SpatialAnchorManager changes to true ReadyForCreateProgress is 1 and RecommendedForCreateProgress is 1.25

Questions

  1. Is there is difference between using ReadyForCreateProgress and RecommendedForCreateProgress except that they have a different scale?
  2. Can you explain how the values connect to tracking accuracy? E.g.: Is the scale linear so a if I have RecommendedForCreateProgress of 2 instead of 1 it will be double as good for recognizing it again?
  3. Is it possible to increase the maximum to increase recognition?
  4. We have a procedure in place that after a important anchor was created it has to be found again multiple times. This is to check if it works but also to improve the recognition rate. Has finding an anchor the same effect as having a higher ReadyForCreateProgress when saving, especial if the environment, like lighting stays the same?
  5. When the maximum for ReadyForCreateProgress or RecommendedForCreateProgress is reached will the point cloud data still be refined or will the algorithm just stop?

Development information

  • OS: Android \ iOS
  • Development Platform\Version: Visual Studio 2019, Unity 2020.3.11f1
  • Azure Spatial Anchors SDK version: 2.9.0
Azure Spatial Anchors
Azure Spatial Anchors
An Azure service that is used to build immersive three-dimensional applications and experiences that map, persist, and restore content or points of interest at real-world scale.
87 questions
0 comments No comments
{count} vote

Accepted answer
  1. msftradford 91 Reputation points
    2021-06-30T17:24:51.58+00:00

    This was a cross-post so leaving the answers here for future devs:

    Is there is difference between using ReadyForCreateProgress and RecommendedForCreateProgress except that they have a different scale?

    ReadyForCreateProgress tells you if an anchor creation operation will succeed or not. RecommendedForCreateProgress is a higher bar to meet and requires the collection of more environment data.

    Can you explain how the values connect to tracking accuracy? E.g.: Is the scale linear so a if I have RecommendedForCreateProgress of 2 instead of 1 it will be double as good for recognizing it again?

    It is challenging to come up with a single metric to represent expected anchor pose accuracy given the variety of environment conditions that a device may come across. In general, I would want to maximize the RecommendedForCreateProgress value before creating an anchor. This will give the system the most environment information possible which in turn can help improve anchor pose accuracy.

    Is it possible to increase the maximum to increase recognition?

    No, there is a hard limit on the amount of environment data that is uploaded to the service during anchor creation. If you are experiencing issues with recognition, I would recommend reading the guidelines for effective anchor experiences.

    We have a procedure in place that after a important anchor was created it has to be found again multiple times. This is to check if it works but also to improve the recognition rate. Has finding an Anchor the same effect as having a higher ReadyForCreateProgress when Saving, especial if the environment, like lighting stays the same?

    Maximizing the value of progress is the right thing to do during single anchor creation. I strongly recommend reading the "Various viewing perspectives" and "Multiple anchors" sections of the guidelines.

    When the maximum for ReadyForCreateProgress or RecommendedForCreateProgress is reached will the point cloud data still be refined or will the algorithm just stop?

    The underlying data continues to be captured (similar to circular buffer), so it is important to maximize both the progress value and the variety of viewing perspectives captured during the lead up to the anchor creation call.

    3 people found this answer helpful.
    0 comments No comments

0 additional answers

Sort by: Most helpful