-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Geospatial localization has very different performance depending on the device. #180
Comments
Could you please send the |
Hi @devbridie, Realme 12 Pro+: realme/RMX3840EEA/RE5C82L1:14/UKQ1.230924.001/U.R4T2.15a8088_13f16_13f18:user/release-keys Thanks! |
Hello again. Did you find out anything? Please let me know if you need more info, videos, etc. |
There is not anything about those phones specifically that we're aware of which would lead to notably different outcomes. As described here, VPS relies heavily on the camera imagery for positioning and is most reliable where their is good Street View coverage. However, if other sensors such as the GPS, compass, and accelerometer are not reporting positional data accurately, the anchors may appear to be positioned inaccurately or jump around, even if VPS localization has succeeded. Can you compare the raw sensor readings across devices, to ensure there are no inconsistencies in the sensor data reported by the different phones? You could do this by adding logcat output, adding a debugging overlay, or simply installing a 3rd party app that already displays this information. It would be best to stand in the same position and move as consistently as possible between test runs across phones. |
Hi @mrichards. Ok, I will make a couple of videos with these devices overlaying geospatial pose, input.acceleration, input.gyro.attitude and input.gyro.rotationRate and post them here asap. |
I recorded two videos. One with a device tracking correctly and the other tracking poorly. I've included the geospatial pose and sensor readings. The devices are:
I have combined the two videos into a single track https://youtu.be/8N2kvwuXIVo You'll need to switch to HD to see the readings properly To be honest, I don't see much difference in the readings, but you can clearly see that the red cube is stable for the first phone and not for the second. By the way, I don't think the problem with the Realme isn't just with the Geospatial Api. I've also done some tests with Cloud Anchors and the stability is not good either. Please let me know if this helps or if you need more data, videos, etc. |
Hi. Do you have any feedback on my previous comment? |
Hi. I am experiencing very different behavior between Android devices regarding Geospatial Localization. The Geospatial Anchor in the scene is placed at the center of the field of an open soccer stadium. It has VPS coverage. Most devices consistently reach horizontal accuracy < 5m and Yaw Accuracy < 15º in about 10 to 15 seconds. The anchored gameobjects are indeed correctly positioned. However, two of my test devices take a while longer (even minutes) to reach good accuracy, and eventually the anchored gameobjects are noticeably displaced horizontally and vertically several meters from their intended position. The final AR experience with these devices is also very shaky, with the anchored gameobjects wobbling or "jumping" several meters very often.
I cannot find a pattern to these differences. For example, some older devices still locate quite well, but a device that does not was released a month ago and should theoretically be capable enough. There is also a mix of Android versions and CPU/GPUs in both groups:
This is the complete list:
Smartphones that localize correctly:.
Smartphones with poor performance:
I would like to know if anyone has had a similar experience and if there is any workaround or good practice to mitigate this bad behavior with some devices. This project is a live game with a soccer team that we can't deliver if we can't solve these problems. Any help will be greatly appreciated.
The text was updated successfully, but these errors were encountered: