Explanation of the implemented technique

Mar 26, 2009 at 8:03 PM
This Project is very interresting.
I whould like to understand in deep how you accomplish the creation and recognition of the markers.
Could you please post a detailed illustration of the algorithm and calculations?
Also a list of known problems and possible improvements would be of value.
I think that could help other developers to contribute to this project.
Apr 28, 2009 at 4:04 AM
Hi xelpplex,

There is a good amount of information in touchless.rtf, touchless.chm, touchless.jpg, and touchless.pptx. There are also extensive comments provided in the code itself. All of these are available from the repository (see the documentation folder) and with the aging 1.0 release. I suggest you try these items and perhaps point out areas that need further detail. I simply don't have the time to recap all of this info right now. However, here's a really brief recap that I happened to compose the other day:

In one sentence, Touchless compares colors with those found in your marker during add, and tracks the colors that match.


With a little more detail: Touchless takes a snapshot of the frequencies of similar colors in your marker when you add it (it also compensates for similar background colors). Then subsequent images are scanned and pixels are compared with the marker’s color distribution. If a pixel’s color’s frequency exceeds the marker threshold, then that’s considered a match in the binary pixel matching operation. Beyond that its naïve blob/object tracking for matched pixels. It uses HSV color space partitioning to mitigate smaller changes in lighting, and employs some homebrewed scan region optimizations to search only in the marker’s axis aligned search regions.

I'm always looking for contributors and help with any aspect of Touchless.
If you want to contribute and focus on a particular part of the project, I'm happy to go into extensive detail to help you.
Sorry if this response doesn't quite satisfy your request.

Thanks for your interest!
- Mike