I am using this repository for works and implementation on the topic of Marker Detection. Three different versions, each with several improvements, were developed to this date. All versions are implemented in WebGL, and therefore they are using GPU processing to speed up the process of detection.
This version is working by dividing areas into rectangles. Inside each rectangle, every pixel is processed. There are two steps to make the texture smaller for reading into CPU memory.
https://github.com/milankostak/Diploma-thesis
For more details read our paper: Mobile phone as an interactive device in augmented reality system
This version is built on a completely different algorithm. It works by projecting columns and rows of pixels. These projections are summed, and a weighted arithmetic mean of their coordinates is calculated.
https://github.com/milankostak/Marker-detection/releases/tag/v2.0
For more details read our paper: Color Marker Detection with WebGL for Mobile Augmented Reality Systems
This version is based on the second version. The main focus of works on this version was finding improvements for eliminating false detections. This is achieved by color weighting and morphological operation of erosion. Another primary goal was implementing an algorithm that would allow selecting of the target color for every use.
https://github.com/milankostak/Marker-detection/releases/tag/v3.0
For more details read our paper: Adaptive Detection of Single-color Marker with WebGL
This version is based on the third version. All ideas remain the same, but the implementation is done with WebGL compute shaders.
https://github.com/milankostak/Marker-detection/releases/tag/v4.0