Ask Your Question

How can I improve the accuracy of aruco detection?

asked 2020-02-25 07:39:19 -0500

sohambhave1998 gravatar image

I am using pal-robotics/aruco_ros to detect aruco markers through a video feed. When I hold the marker stationary in one place it is detected correctly but as soon as I move it, it is not detected anymore till it is stationary again. How can I fix this and improve the detection accuracy?

edit retag flag offensive close merge delete


can you provide specs about camera? what is the frequency of image topic? at what frequency is aruco_ros running?

Choco93 gravatar image Choco93  ( 2020-02-25 07:48:56 -0500 )edit

Does it work as well as here ? Most likely @sharky is right that its something to do with motion blurring. In the end resolution and shutter speed is what influences the sensitivity here. What kind of camera do you use? Forcing low shutter times by fps increase might lead to a grainy image due to high gain, (also an open aperture might get images blurred in part, but this only really matters in fully fledged camera systems--dslr type) which in turn might give the detectior a hard time. In general for low shutter times/closed aperture(=sharp images through out) lots of/additional light is the way to go. Also the markers need a white boarder, usually thats not an issue with original aruco marker set, but if the cutout is "wrong" it might mess things up as well.

Dragonslayer gravatar image Dragonslayer  ( 2020-12-22 05:35:38 -0500 )edit

Little side question does aruco_ros already include a Kalman filter, or some sort of averaging?

Dragonslayer gravatar image Dragonslayer  ( 2020-12-28 06:18:19 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2020-12-24 07:09:53 -0500

ulashmetalcrush gravatar image

As sharky mentioned increasing fps generally reduces those kind of errors, also check if your frame rate is dropping. I was using realsense d435 and it was dropping frames due to 'auto exposure' option was on. I am also further investigating how to reduce the blurring errors due to motion.

Another tip I can provide to you is that, rather than using single markers try using bundles. Only accept the detection when all the markers are detected at the same time(or most of them), and then use the origin of them as reference. I have observed on my data that, blurring due to rotational motion do change based on the position(x and y coordinates of markers pixels) of the marker on the image frame.

I have found out that if you have a configuration of in the shape of:

| marker1| |marker2|

|marker3| |marker4|

with a cross in between yields the best results. Even this configuration had very large angular detection errors. I haven't checked out yet but, rotating the markers in bundles 45 degrees in different directions might also increase detection performance(There might be an increase in edge detection performance).

edit flag offensive delete link more

answered 2020-12-21 23:05:04 -0500

sharky gravatar image

Moving camera can lead to blurring of images, which could lead to bad or no detections. Try a camera with better frame rate, 20 fps or more.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2020-02-25 07:39:19 -0500

Seen: 621 times

Last updated: Dec 21 '20