Please also see my new work : Circular Barcode Design Resistant to Linear Motion Blur
GPUMarkerTracker is a tracking software library for AR (augmented reality) markers. We made a novel algorithm for connected component labeling to better utilize GPGPU, that resulted in fast and accurate tracking. This software is intended for detecting markers from an HD resolution video. Small markers placed far from the camera can be detected accurately and quickly. 12-bit data can be embedded in each marker, and there is virtually no false-positive detection error. This software is distributed under the MIT license.
The technique used in 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