Log in or register to post comments

HTC M8: tracking error

March 4, 2015 - 10:28am #1

Working with HTC M8 on vuforia project where I need phone translation vector (t) and rotation matrix (R). To do this I inverse result of convertPose2GLMatrix(QCAR::TrackableResult::getPose).  The tx and ty are 100% correct when I compare with my measurement. This is not the case in tz where inaccuracy is not linear. When I try the same code on HTC Sensation I get correct tranlsation vector in all orientations. 

I am using vuforia 3.0.9 and Android 4.4.4. More info on phone version in attachment.

Thank you very much for your help.

best,

klen 

 
AttachmentSize
Image icon Screenshot_2015-03-04-19-20-55.png90.48 KB

HTC M8: tracking error

March 11, 2015 - 6:50am #10

Played with Metaio library and discovered the same problem. Manually calibrating the front-camera solved it. Due to the face that it is not possible to load camera calibration parameters to vuforia, i guess I will need to wait for your guys to fix this. Is there a time frame of when this might happen?

Many thanks,

Best, Klen 

HTC M8: tracking error

March 9, 2015 - 4:20pm #9

Thanks a lot for the video, will get back to you as soon as I have some updates.

HTC M8: tracking error

March 9, 2015 - 7:17am #8

Hello ganeshb, 

here is the link to the video (http://youtu.be/Jm46h-oCmng). The code I run in the video is ImageTargetsNative (vuforia-samples-advanced-android-4-0-103-advance) to which I add the following code snippet to print out translation vectors and a MathUtils.cpp (attached in this post) for inverse matrix calculation.

 

QCAR::Matrix34F getPoseMatrix=result->getPose();

LOG("getPose CamT(%f,%f,%f)", getPoseMatrix.data[3], getPoseMatrix.data[7], getPoseMatrix.data[11]);

QCAR::Matrix44F inverseMV = MathUtil:: Matrix44FInverse(modelViewMatrix);

LOG("inv(modelViewMatrix) CamT(%f,%f,%f)", inverseMV.data[3], inverseMV.data[7], inverseMV.data[11]);

 

The phone is placed at a distance of 292mm from the marker. The video shows that translation in z direction is correct when the back-cam is used for tracking (i.e tz=290.8). When I switch to front-cam tracking, and place the phone at the same distance from the marker, the tracker returns wrong translation vector  tz=382.9!

My guess is that this is caused by the error in front cam calibration matrix. The device used in the video is HTC One M8 (described in detail in previous reply).

Many thanks for your hlep.

Best,

klen

 

AttachmentSize
Package icon MathUtils.zip2.93 KB

HTC M8: tracking error

March 5, 2015 - 3:12pm #7

Hello ganeshb,

first thanks for helping out. Will be able to send video of the issue and double check tomorrow evening, but the problem is not visible as augmentation error. If you print out getPose() (or inverse of modelViewMatrix) when front cam tracking and look at translation vector you will see that tz does not match what you measure. If you do the same when back cam tracking tz and what you measure match. I used Image Targets Native when testing.

poseMatrix=getPose()

tz=poseMatrix.data[14]

in case of inverse modelViewMatrix tz index depends on implementation of your inverse function.

Many thanks again.

best Klen

 

 

HTC M8: tracking error

March 5, 2015 - 2:26pm #6

I tried with the HTC One M8 that we have here running Android 4.4.2 and I couldn't observe any issues. I tried the native android Image Target and VideoPlayback app, can you try those and see if face the problem? Also screenshots showing the issue can help and the exact steps to reproduce using the sample apps. Thanks!

HTC M8: tracking error

March 5, 2015 - 3:34am #5

We'll look at this as soon as possible, and report back.

 

HTC M8: tracking error

March 5, 2015 - 2:54am #4

Thanks for your reply Alessandro. 

Attached are screenshots for both devices: HTC one M8 and HTC Sensation. Run some tests for HTC One and the translation vector tz equals to approximately 1.298*measuredZ.

Is there any chance I will see this issue resolved in the near future? Is there any workaround?

Thanks again!

best,

Klen

AttachmentSize
Image icon HTC-ONE-M8_1128.45 KB
Image icon HTC-ONE-M8_2103.29 KB
Image icon HTC-ONE-M8_3106.18 KB
Image icon HTC-Sensation1.png56.65 KB
Image icon HTC-Sensation2.png44.47 KB
Image icon HTC-Sensation3.png53.15 KB

HTC M8: tracking error

March 4, 2015 - 10:50pm #3

Vuforia does not allow manual control of the camera calibration parameters via the API;

could you share the exact device model number and OS version of the affected device ?

 

HTC M8: tracking error

March 4, 2015 - 12:47pm #2

Upgrading my phone to Android 5.0.1 and building my app using vuforia 4.0 solved the problem for back facing camera, bot not for front facing camera where the error of translation vector in  z directions persists. Let me also note that resoults of front cam tracking with HTC Sensation also do not return correct translation vector in z direction. 

Any idea of how to fix this? Does Vuforia let you manually define camera calibration parameters?

Thanks.

klen

Log in or register to post comments