Log in or register to post comments

Disable ARKit to improve camera FOV

May 16, 2019 - 7:29am #1

Hi,

we have multiple apps with multiple Unity (2017-2019) and Vuforia (6-8) versions, tested on various Android and Apple devices.

Starting from Vuforia 7 you introduced taking the advantages of ARKIT and ARCore to detect ground plane and so on. As I understood so far, if ARKit support is detected, the camera settings were set to ARKits preferred settings which ends up in cropped camera views on some devices.

 

Here are a few examples of this behavior:

1. iPad 4, no ARKit support, apps build with Vuforia >=6 have the same FOV as the native camera app.

2. iPad Air 2, no ARKit support, apps build with Vuforia >=6 have the same FOV as the native camera app.

3. iPad 2017 (5th Gen), ARKit support, apps build with Vuforia =6 have the same FOV as the native camera app, apps build with Vuforia >= 7 are zoomed in / cropped.

4. iPad 2018 (6th Gen), ARKit support, apps build with Vuforia =6 have the same FOV as the native camera app, apps build with Vuforia >= 7 are zoomed in / cropped.

 

My questions are:

Can you agree with these facts?

Is there any way to disable ARKit support to get the old FOV back or configure something else to get rid of the cropped camera view?

 

I appreciate any help,

Carsten

Disable ARKit to improve camera FOV

June 17, 2019 - 6:25am #8

I did another quick check to compare all possible combinations of the fusion provider and camera mode settings:

 

CameraMode VUFORIA_VISION_ONLY  
  iPad Air 2 iPad 2018
MODE_DEFAULT CROPPED CROPPED
MODE_OPTIMIZE_SPEED OK CROPPED
MODE_OPTIMIZE_QUALITY CROPPED CROPPED
     
  VUFORIA_SENSOR_FUSION  
  iPad Air 2 iPad 2018
MODE_DEFAULT CROPPED CROPPED
MODE_OPTIMIZE_SPEED OK CROPPED
MODE_OPTIMIZE_QUALITY CROPPED CROPPED

 

I still talk about Vuforia 7.2.23, because I think there aren't any changes since that related to this topic.

The only combination I found that was working is CameraMode set to MODE_OPTIMIZE_SPEED running on the old iPad Air 2. The FusionProvider setting does not change anything.

Disable ARKit to improve camera FOV

June 6, 2019 - 1:50pm #7

Hello

abgrac2 wrote:

Please Vuforia would find a solution? Perhaps an option supporting old-style AR without ARKit would be good already.

One option is to set the Vuforia Fusion provider to FUSION_PROVIDER_VUFORIA_SENSOR_FUSION or FUSION_PROVIDER_VUFORIA_VISION_ONLY. This is mentioned in the comments below and is the way to "disable" the use of ARKit.

The "zoomed" look of the camera image can be related to two (2) factors:

  1. The source image is actually delivered by the device camera already slightly "zoomed" (or "cropped") with respect to the camera image at resolutions that are not used by the native camera app. This is not a result of Vuforia's implementation, but of the OEM's.
  2. In addition to the scaling by iOS in #1, Vuforia camera rendering applies additional image scaling so that the camera image can entirely fill the device screen. This scaling is necessary (and mathematically correct) in order to avoid image distortion due to the different aspect ratio of the camera image w.r.t. the screen. It also avoids black side bands (i.e. letterboxing) from appearing at the top / bottom (or left/right) of the rendered image.

The combination of the 2 effects above can result in an overall scaling which appears to be more "zoomed" than the camera's native resolutions, which are an optimized selection per device by the OEM.

Recommendation is to experiment with Vuforia camera modes: MODE_DEFAULT, MODE_OPTIMIZE_SPEED, and MODE_OPTIMIZE_QUALITY to see if that reduces or eliminates the effect.

Thanks,

Vuforia Engien Support

Disable ARKit to improve camera FOV

June 3, 2019 - 3:52pm #6

We have the exact same issue here.. Working and presenting this ARKit FOV to clients looking for simple image-tracking capabilities is NOT a viable option. We rather implement AR ourselves than sticking to this FOV.

Please Vuforia would find a solution? Perhaps an option supporting old-style AR without ARKit would be good already.

Eyes on this topic..

Disable ARKit to improve camera FOV

June 3, 2019 - 7:23am #5

Because I haven't found a solution so far I added two screenshots made with the same distance between table and device with our iPad Air 2 (good) and iPad 2018 (bad) running the same app with same settings with some "beautiful" markers on my table:

 

 

I tried as much as I can with updating the entire project step-by-step to Unity 2019, latest Vuforia and so on. I set the fusion provider and displayed the current selected fusion provider in-app. I changed the camera mode from speed to quality and so on. But I don't have success to get the old FOV back. The camera image is always cropped as soon as I run Vuforia > = 7 app on newer devices with a current iOS.

We don't need any ARcore/ARkit features like ground plane, extended tracking etc. All we need is to follow image targets like in the old days without the need of our customers to hold their devices far away from the targets.

Have you got new infos from your developers related to this problem?

Thanks

Carsten

Disable ARKit to improve camera FOV

May 17, 2019 - 2:03pm #4

Hello,

Admittedly, this is the first report of this issue that I recall receiving. So, the effect is unexpected and thus there is no workaround that I'm aware of.

The only other potential cause is our integration with platform CV providers, but that theory is based upon the coincidence of the timing with our 7.X release (when we first launched Vuforia Fusion).

I'll ask around the dev team to see if any insights can be shared.

Thanks,

Vuforia Engine Support

Disable ARKit to improve camera FOV

May 17, 2019 - 4:20am #3

Hello,

thank you for your fast response. I tried to switch the fusion provider to VUFORIA_SENSOR_FUSION and VUFORIA_VISION_ONLY and added a TextField to display the current selected fusion provider. The provider ist set but unfortunately without changing the cameras FOV.

The camera view is always cropped as soon as I'm using Vuforia >= 7 on my iPad 2017 (5th). When I start another app which is still running on Vuforia 6, everything looks fine on the same device. If I start the Vuforia 7 app on an iPad Air 2 (no ARKit support), everything looks fine as well.

So is there no way to get that Vuforia 6 behavior (camera view without cropping) back on newer iPads? Because that issue leads to the problem, that customers have to hold their iPad much higher above the targets than in former versions.

Thanks,

Carsten

Disable ARKit to improve camera FOV

May 16, 2019 - 12:06pm #2

Hello,

kids wrote:

Starting from Vuforia 7 you introduced taking the advantages of ARKIT and ARCore to detect ground plane and so on. As I understood so far, if ARKit support is detected, the camera settings were set to ARKits preferred settings which ends up in cropped camera views on some devices.

I agree that on some devices Vuforia has to use a different camera capture resolution for platform CV support (e.g. ARKit, ARCore). I cannot comment on whether these settings consistently produce cropped images, but understand that these are your observations from testing.

kids wrote:

Is there any way to disable ARKit support to get the old FOV back or configure something else to get rid of the cropped camera view?

There is a way to disable ARKit, but I won't go as far to guarantee that this will get rid of the cropped camera view. I say this because on many iOS devices the ARKit and legacy cameras use *the same* capture resolutions. What I don't know is if the ARKit camera is cropping more of the preview than the legacy camera.

The Vuforia Engine APIs to enforce specific Fusion providers is covered in-depth here (look to Fusion APIs section): https://library.vuforia.com/content/vuforia-library/en/articles/Training/vuforia-fusion-article.html

https://library.vuforia.com/content/vuforia-library/en/reference/unity/classVuforia_1_1VuforiaRuntimeUtilities.html#a666e71b83e2a9c06f925f18f0e29dfcc

https://library.vuforia.com/content/vuforia-library/en/reference/unity/namespaceVuforia.html#afa43fb4756bd67edb0ea1bca50033dce (use either FUSION_PROVIDER_VUFORIA_SENSOR_FUSION or FUSION_PROVIDER_VUFORIA_VISION_ONLY)

IMPORTANT NOTE: Disabling ARKit/ARCore *may* make Vuforia Advanced Features (Model Targets, Ground Plane) unavailable on certain devices.

Thanks,

Vuforia Engine Support

 

Log in or register to post comments