Log in or register to post comments

Issue with Marker tracking on new iPhone XS & XS Max

January 10, 2019 - 11:04am #1

Vuforia SDK Version: 7.5.*, 8.0 -

Description with steps to reproduce: We are observing an issue with the marker tracking which is only occurring on the newest phones (iPhone XR & iPhone XS Max). – We have not tested on a XS, but issue is Not observed in the iPhone X.

We are currently scaling a video based on the size of the image target (TrackableResult), and then applying a shader to it - the code is based off the VideoPlayback sample in the Advanced Topics.
It seems as if the newer phones are detecting a different (larger) size for those targets than all the other phones, so our scaling gets messed up on those particular devices (One single scaling factor worked across all devices until now).

In addition to the above, the video objects that we create are not completely anchored to the physical image target, as they are in the other phones. I.e: On the newer phones, as I move the phone in physical space while aiming at the image target, I can see the video object being displaced from the image target anchor inversely to the physical movements – If I aim at the target, and move left, the video object will displace right in relation to the physical image target.

Not entirely sure if it's a tracking issue or if something else is going on. But the main issue that we're having is that our code works perfectly on all the other iOS devices except the ones that were released the past year (iPhones XR, XS Max, XS?) -

Development OS (Mac OS X, Windows, Linux): Mac OS X -

Mobile OS and Version: iOS 12.0 -

Mobile Device Manufacturer and Model name: Apple iPhone XR -

Do the Vuforia Sample Applications show the same behavior?: Running the VideoPlayback sample app does Not show the problematic behavior. (Verified using Vuforia 8.0 and and the VideoPlayback Sample 8.0 code).

Issue with Marker tracking on new iPhone XS & XS Max

January 23, 2019 - 4:36pm #4

Hello,

It would be helpful if you could provide a video of the behavior.

Have you confirmed that the size of your printed target matches what was specified in the Target Manager? And aspect ratio? I'm not confident this would solve the problem, but it would be good to eliminate it.

Can you also confirm that the "video scaling" is new functionality that you've added? And, if so, why is it required for your use case?

Thanks,

Vuforia Engine Support

PS - Thanks for the head's up!

Issue with Marker tracking on new iPhone XS & XS Max

January 23, 2019 - 10:46am #3

Hi,

 

I don't think we're doing anything different from the sample project with regards to that:

- Get a TrackableResult from the State passed in renderFrameWithState with state.getTrackableResult(index)

- Get the ImageTarget from that TrackableResult with trackableResult->getTrackable()

- Finally get the size of the target with trackable.getSize()

After we get this size, we use a predetermined scaling factor to scale the vector values.

 

Our renderFrameWithState function is doing everything the sample project is doing with regards to vector and matrix manipulation.

I commented out the scaling & translation we're doing and i still observe the videoObject not being completely anchored to the imageTarget (videoObject shifts as i move the phone in space).

Another thing i noticed (This also only happens on the latest generation of phones) is that Xcode's Main Thread Checker triggers a break point when starting the Camera:

Main Thread Checker: UI API called on a background thread: -[UIApplication applicationState]

PID: 718, TID: 314240, Thread name: com.apple.CoreMotion.MotionThread, Queue name: com.apple.root.default-qos.overcommit, QoS: 0

This might be unrelated, but i figured i'd still mention it.

Issue with Marker tracking on new iPhone XS & XS Max

January 10, 2019 - 2:54pm #2

Hello,

Can you better explain how you're using the TrackableResult API to derive the size of the target for scaling?

Thanks,

Vuforia Engine Support

Log in or register to post comments