Forums - How to perform poseRefine (GN or LM)

5 posts / 0 new
Last post
How to perform poseRefine (GN or LM)
ele
Join Date: 28 Oct 14
Posts: 2
Posted: Mon, 2014-11-10 00:24

According to Qualcomm FastCV Library  1.5.0, we should use iteratively the three functions" fcvGeomPoseEvaluateErrorf32 ,  fcvGeomPoseOptimizef32 ,  fcvGeomPoseOptimizeGNf32" to perform poseRefine(GN or LM).

But how do we write the code? we don't know how to use the there functions.

Anyone will tell me some detail?   Thank you!

  • Up0
  • Down0
jeff4s Moderator
Join Date: 4 Nov 12
Posts: 106
Posted: Mon, 2014-11-10 11:48

Hi,

Generally, there are three steps to estimate the pose:
1. estimate the initial pose
2. Evaluate the current pose
3. Refinement

The last two steps are iteratively carried out.

So you can try the following:
1. First call fcvGeom3PointPoseEstimatef32 to get the initial pose
2. Call the fcvGeomPoseEvaluateErrorf32 to compute the reproject error on current pose
3. Use the reproject errors and current poses as input, call either fcvGeomPoseUpdatef32 or fcvGeomPoseOptimizeGNf32 to refine

Hope this helps.

Regards,
-Jeff

  • Up0
  • Down0
ele
Join Date: 28 Oct 14
Posts: 2
Posted: Sun, 2014-11-30 02:07
Thank you very much .I have tried  your method. But I find this method is effective for some devices with Qualcomm chip ,and  it is in vain for  devices without  Qualcomm chip.
Do  you think  my test result is right ?
 
Regards 
 
  • Up0
  • Down0
ronaldk
Join Date: 9 Oct 12
Posts: 30
Posted: Mon, 2014-12-01 09:23

Yes, your result is correct.

FastCV APIs are optimized for Qualcomm's Snapdragon processor.

If you called fcvOperationMode() at Qualcomm chip, FastCV API will be executed faster.

  • Up0
  • Down0
Sydney
Join Date: 10 Dec 14
Posts: 1
Posted: Mon, 2014-12-15 05:05

Hi ele,

I would like to achieve pose estimation using this method. But unfortunately, I am unable to write a worikng code.

Could you please show me a trivial example of how you implemented it ?

Thanks.

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.