"We offer new support options and therefor the forums are now in read-only mode! Please check out our Support Center for more information." - Vuforia Engine Team

Vuforia underwater tracking

I'm looking into a usecase where I'd want to utilize Vuforia on a waterproof Android device, while in a swimming pool. Tracking should be markerless (but if that's not possible, I'll use markers). Obviously, this would bring a large amount of challenges to overcome, and I'm looking for some input. 

One of my largest concerns is the lack of trackable objects underwater, as well as the fact that water might distort the tracking.

I would prefer using a generic Vuforia setup with an image database (since no internet underwater) and Ground Plane tracking for area tracking. If that's not feasible, I'd like to look into Area Targets & Matterport more. If that's not feasible either, I'll try putting 2D markers on the bottom and sides of the pool.

A few questions:

  • Am I actually trying something here that's actually so impossible I shouldn't even waste my time on it?
  • Would Vuforia be able to track the pool's bottom by using Ground Plane? Is the tracking accurate enough nowadays to not need sharply defined objects to track?
  • Am I able to generate an accurate area scan using Matterport technology as described for Area Targets, or does that require more trackable markers than just the underwater decoration of a regular swimming pool?
  • What is the max distance Vuforia can track objects and planes (either with markers or markerless) in a situation like this? Or in general? I find information ranging to 1m to 15m for tracking, so it's hard to get a definite answer.
  • Any other thoughts, inputs, ideas or suggestions that I haven't thought of?

 

Thanks a bunch!

Hi,

Interesting topic, I can confirm that we did not test Vuforia underwater. We have 2 concerns

1. How the device Tracker will behave under water with this we mean especially ARKit and ARCore

2. Camera calibration: distortions on air water interface of the housing