Search Unity

Vuforia Vision Only on Hololens

Discussion in 'Vuforia' started by RobVM, Oct 10, 2018.

  1. RobVM

    RobVM

    Joined:
    Jan 11, 2016
    Posts:
    3
    Hello

    I recently updated Vuforia from 6.2 to 7.5 for the Hololens project that I'm working on. In the new version it seems that with Vuforia Fusion the "extended tracking" functionality in 6.2 is the default behavior of image targets in 7.5. This is a problem because we need to precisely place models in the real world using image targets and Vuforia Fusion prevents us from doing that. The movement of the tracked models are too choppy.

    To try to resolve this I looked through the Vuforia documentation and noticed the SetAllowedFusionProviders function in the VuforiaRuntimeUtilities class. So I activated Delayed Initialization. Then I created a script that calls InitVuforia in the VuforiaRuntime class. Then it calls SetAllowedFusionProviders and passes in VUFORIA_VISION_ONLY. Then I enable the VuforiaBehaviour component on my camera. After Vuforia initializes it calls GetActiveFusionProvider and it returns VUFORIA_VISION_ONLY. The problem with this is that when the marker comes into view it logs in the console that it found the marker but the objects don't appear.

    Is there perhaps a more correct way to change Vuforia Fusion to VUFORIA_VISION_ONLY?
     
  2. meedabit

    meedabit

    Official Vuforia Employee Vuforia

    Joined:
    Dec 8, 2016
    Posts:
    266
    Hello,

    HoloLens is a bit different in that it is not really Vuforia Fusion enabled. The fusion more refers to a decision tree in Vuforia that tries to enable the best possible VIO tracker technology:

    if ARKit || ARCore, then use
    elif Vuforia VIO, then use
    else SLAM

    For HoloLens, we enable MS's spacial tracking by default.

    Our experience with Vuforia on the HoloLens platform is that it does not perform well for tracking moving objects - it excels at tracking stationary objects. We've consistently observed choppy pose updates when tracking when moving targets.

    Thanks,
    Vuforia Engine Support
     
  3. RobVM

    RobVM

    Joined:
    Jan 11, 2016
    Posts:
    3
    Thanks for getting back to me!
    Is it possible, then, for me to disable MS's spacial tracking on the image target so that tracking relies only on Vuforia? We have one stationary target and one moving target and it's the moving target where we need to have smooth pose updates.
     
  4. meedabit

    meedabit

    Official Vuforia Employee Vuforia

    Joined:
    Dec 8, 2016
    Posts:
    266
    Hello @RobVM ,

    Unfortunately, the answer is "no" at this time. When we first launched support for HoloLens, we left this as a configurable options (e.g enable/disable ExtendedTracking). However, this ended up causing a lot of confusion and complaints in the community, thus the product decision was made to enable HL's spacial tracking by default without an option to disable.

    Thanks,
    Vuforia Engine Support
     
  5. RobVM

    RobVM

    Joined:
    Jan 11, 2016
    Posts:
    3
    I understand that the ExtendedTracking option could be confusing however it's unfortunate that there is no way to disable spacial tracking on the image targets. Without there being some kind of work around we will have to stick with version 6.2 for our project until there is a way to disable it.

    Thanks for the help @meedabit.
     
    meedabit likes this.
  6. DaTruAndi

    DaTruAndi

    Joined:
    Apr 14, 2017
    Posts:
    15
    So in Unity 2018.3 with HoloLens - how to best track a moving object? e.g. in the hand of a person that has say a multi-image (cube) or cylindrical target attached (to accommodate to different view angles better)? Especially since Vuforia now comes built in with Unity3D.
    Please be specific.
    I really need decent tracking of moving objects to work.

    I am not sure if I misread your response, but it almost reads to me as you are saying, that you cannot track moving objects on HoloLens with Vuforia.

    As for choppiness - if it is also occurring if you could disable "extended tracking": I would assume you would have a specific code base for the target platform optimized for the platform capabilities? Any improvements planned?

    The rest of my post below is "fluff" and recommendation how to "fix" this confusion :)

    "Confusion" cannot be a reason to completely remove the capability to track moving objects? ("choppy" tracking is equal to removing practicality).

    To avoid/remove "confusion", typically a good and "right in your face" documentation helps.
    Or - either do not put the option in the UI, but leave it to be changeable code or ... on the respective platform, simply call it differently or provide an explanation tool tip in the Unity UI. It's not that hard :)

    I was "confused" about Extended Tracking at the beginning too - I think the confusion comes more if you do platform specific "things" differently depending on the target platform, but use the same name for the behavior ("extended tracking"), which then is not accurate anymore.
     
    Last edited: Dec 16, 2018
  7. meedabit

    meedabit

    Official Vuforia Employee Vuforia

    Joined:
    Dec 8, 2016
    Posts:
    266
    Hello @DaTruAndi,

    I'm not saying you can't track a moving object on HoloLens because you can. It's just that the choppiness is a poor user experience which is well documented.

    The HoloLens webcam has not been optimized for Vuforia target tracking, unlike mobile/tablet devices. This is one of the primary limitations for Vuforia on HoloLens.

    Thanks,
    Vuforia Engine Support
     
  8. Sabariprasadgopal

    Sabariprasadgopal

    Joined:
    Nov 23, 2018
    Posts:
    2
    @meedabit i am trying to use image target in Hololens. in the editor everything working fine. i can build and run in hololens. but i cant track image i am getting the exception like below


    Microsoft C++ exception: Platform::AccessDeniedException ^ at memory location 0x01AFF4B0. HRESULT:0x80070005 Access is denied.
    WinRT information: Access is denied

    i am using unity3d 2018.3b11 vs2017. thanks in advance.
     
  9. DaTruAndi

    DaTruAndi

    Joined:
    Apr 14, 2017
    Posts:
    15
    I am not sure what you are trying to say.
    a) since when would a piece of hardware be optimized for a piece of software? it is usually the other way around
    b) the reports are that it is a change in the vuforia software stack that made things worse - that it is the ExtendedTracking that is "forcibly on" that causes the problems. Users reverting back to a previous version of Unity and Vuforia have no problems tracking moving objects - if I understand @RobVM correct.
    So, it is something Vuforia can change and seems to have nothing to do with being "well documented" as it worked better before than now.

    What am I missing? Why don't you let people have the better user experience they had before?
     
  10. DaTruAndi

    DaTruAndi

    Joined:
    Apr 14, 2017
    Posts:
    15
    @meedabit still hoping to get some follow up.
    It is not clear why "choppiness" should be acceptable because of being "well documented" when the reports are that it in fact worked fine when not enabling extended tracking.
    Really need to track a moving object (cylinder, cube).

    Who can we talk to about this?
     
  11. meedabit

    meedabit

    Official Vuforia Employee Vuforia

    Joined:
    Dec 8, 2016
    Posts:
    266
    Hello @DaTruAndi,

    I'm sorry to hear that your use case has regressed. However, I can confidently tell you that the "moving object" use case was never a focus of our support despite the functional and performance evidence otherwise.

    Thanks,
    Vuforia Engine Support