GPUMarkerTracker is a tracking software library for AR (augmented reality) markers. It utilizes GPGPU for fast and accurate tracking. It is intended for detecting markers from an HD resolution image so that small markers placed far from the camera can be detected. Each marker has a 12-bit payload with 9-bit CRC. The library does not produce false-positive detection errors of markers, practically. This software is distributed under the MIT license.
The technique used for this software is described in the following paper :
Naoki Shibata, Shinya Yamamoto: GPGPU-Assisted Subpixel Tracking Method for Fiducial Markers, Journal of Information Processing, Vol.22(2014), No.1, pp.19-28, 2014-01. DOI:10.2197/ipsjjip.22.19 [PDF]
You need OpenCV, JOCL and JOGL in order to use the library under Windows OS.
Currently, the software is only tested under Ubuntu 12.04 x86_64, though it should work under other distributions. You need to first make sure that you are using an OpenCL-capable graphics card and an appropriate driver. You need to manually install JOCL and JOGL to the specified directories.
You first need to install libcv-dev, libcvaux-dev, libhighgui-dev, and openjdk-7-jdk via the apt-get command. Then, you need to build a JNI library which is used to access OpenCV functions from Java. You need to modify the JDK_HOME variable in the makefile to point the correct directory. You can now make the library. If it succeeds, move libocvimgio.so, the generated file, under dll64 or dll32 directory, depending on the architecture of your OS. You can now execute the sample programs.
Naoki Shibata at Nara Institute of Science and Technology