Merge evaluate() functionnality into find_edges(), get delta for missed edges.
[goir.git] / README
blob92fe49f6df0d0ea0cd5386add99959fffd1ddb10
1 Go Image Recognition System
2 ===========================
4 GoIR is meant to grow into an Image-recognition software taking
5 successive photos of go game as input, and producing an SGF file of
6 the game as output. It is a try at being faster than GoCam at finding
7 the grid, and more accurate than Image2SGF at finding the stones.
9 This project is still at a very early stage in design/development.
10 Something like checking the validity of the ideas I have.
12 If if ever comes live, the algorithm is expected to be possible to
13 tune for other games involving a grid and round pieces.
16 Licence
17 =======
19 Note: I have not read GPL v3 yet.  For now the following applies.  I
20 may be convinced to allow double-licensing if needed.
22 GoIR itself is licenced under the GPL, version 2.
24 The (hopefully reusable) libraries (which at this date only include
25 sImLib) are licenced under the LGPL, version 2.1.
28 Approximative roadmap
29 =====================
31 - evaluate sensibility of 1-pixel-based edge-detection
32   Done: very high sensibility to pertubations
34 - evaluate sensibility to 2-pixel-based (and more) edge-detection
36 - evaluate means of individually filtering out perturbations
37   (neighborhood scanning, etc)
39 (at this point, if the idea proves wrong, find another idea, or maybe
40 give up on the project)
42 - find a correlation rule between acceptable thresholds and measurable
43   metrics for a representative set of images
45 - implement it
47 (at this point edge-detection along a line should be reliable enough)
49 - classify by color the areas detected a line
51 - experiment with various heuristics to accurately and quickly finish
52   the sampling of detected objects
54 - experiment with various heuristics to quickly propagate the scanning
55   to the whole board, including board limit detection
57 (at this point all the hard work is done, SGF generation is just a
58 couple of hours/minutes ahead)
60 Damned, I'd like to be there already :)