ArUco: a minimal library for Augmented Reality applications based on OpenCV

Aruco Library

ArUco is an OpenSource library for camera pose estimation using squared markers. ArUco is written in C++ and is extremely fast. You can download it at SourceForge. Keep reading for more information.

 

Download

Get the library at SourceForge

 

An efficient library for detection of planar markers and camera pose estimation

- Learning ARUCO?: Please read the following DOCUMENT

or the video Tutorials

 

IMPORTANT: see the related project markermapper

The main features of ArUco are:

  • Detect markers with a single line of C++ code.
  • Detect varios dictionaries: ARUCO, AprilTag,ArToolKit+,ARTAG,CHILITAGS.
  • Faster than any other library for detection of markers
  • Few dependencies  OpenCV (>=2.4.9) and eigen3 (included in the library).
  • Detection of  Marker Maps (several markers).
  • Trivial integration with OpenGL and OGRE.
  • Fast, reliable and cross-platform because relies on OpenCV.
  • Examples that will help you to get running your AR application in less than 5 minutes.
  • Calibrate your camera using Aruco ChessBoard
  • BSD license.

 

Highlights features of version 3.x

  • Faster than the previous approach: at least an order of magnitude (see below for details).
  • Easier to use: only two parameters are required to configure the behavior of the detection.
  • Able to automatically detect markers of any dictionary (automatic dictionary discovery)
  • Tracking methods to alleviate the ambiguity problem in planar pose estimation.
  • Calibration tool using Aruco Boards added (see below)

 

References

Please cite the following papers if you use ArUco:

1. Main ArUco paper:
"Automatic generation and detection of highly reliable fiducial markers under occlusion"
 
2. Generation of marker dictionaries:
"Generation of fiducial marker dictionaries using mixed integer linear programming"
 

 

Videos in YouTube:

Video 1: Aruco and Ogre

Video 2: Single marker detection

Video 3: Board of markers detection

Examples of Projects using ArUco :

In Opencv

Augmented Reality Chess

Vision Based Navigation  and Fuzzy Vision Based Navigation

Soldamatic Project (Augmented Reality Welder) 

OpenSpace3D: http://www.openspace3d.com/

JavaScript port : watch demonstration video

ROS (Robot Operative System) port:#1 #2

Panoramic camera calibratio

Contact info:

Rafael Muñoz-Salinas:  rmsalinas at uco dot es

Sergio Garrido-Jurado:   sgarrido2011 at gmail dot com

Fast Code sample

Take a look: