question

MarkusWellmann-7688 avatar image
1 Vote"
MarkusWellmann-7688 asked SatishBoddu-MSFT commented

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

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
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

1 Answer

msftradford-7854 avatar image
3 Votes"
msftradford-7854 answered msftradford-7854 edited

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.


5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.