# Aruco module, CORNER_REFINE_APRILTAG, speed up?

I am tracking markers with cv::aruco. I have just updated to the newest version of this module, and i see that there is a new corner refine method, CORNER_REFINE_APRILTAG

Switching to this improves my marker detection a LOT. the range of marker detection has doubled. BUT, at the cost of speed. The detection is around 8 x slower it seems.

My question is, can i tweak the parameters to find a happy medium between robust detection and speed?

I see these options in aruco.hpp under detector params:

- aprilTagMinClusterPixels: reject quads containing too few pixels.
* - aprilTagMaxNmaxima: how many corner candidates to consider when segmenting a group of pixels into a quad.
* - aprilTagCriticalRad: Reject quads where pairs of edges have angles that are close to straight or close to
*   180 degrees. Zero means that no quads are rejected. (In radians).
* - aprilTagMaxLineFitMse:  When fitting lines to the contours, what is the maximum mean squared error
*   allowed?  This is useful in rejecting contours that are far from being quad shaped; rejecting
*   these quads "early" saves expensive decoding processing.
* - aprilTagMinWhiteBlackDiff: When we build our model of black & white pixels, we add an extra check that
*   the white model must be (overall) brighter than the black model.  How much brighter? (in pixel values, [0,255]).
* - aprilTagDeglitch:  should the thresholded image be deglitched? Only useful for very noisy images
* - aprilTagQuadDecimate: Detection of quads can be done on a lower-resolution image, improving speed at a
*   cost of pose accuracy and a slight decrease in detection rate. Decoding the binary payload is still
*   done at full resolution.
* - aprilTagQuadSigma: What Gaussian blur should be applied to the segmented image (used for quad detection?)
*   Parameter is the standard deviation in pixels.  Very noisy images benefit from non-zero values (e.g. 0.8).


I have tried changing aprilTagQuadDecimate to 1.2, or 1.5, and this helps, but adds quite a bit of jitter to the pose. Which of these is best to adjust to improve speed, while keeping the maximum accuracy in pose estimation?

Thanks!

edit retag close merge delete