I have some ideas on how to proceed with this. Lots of inspiration from HTM,
but a somewhat different approach.
First, I'd like to point out that my problem is not exactly like online
handwriting applications. In my applications the set of figures are simple and
limited. It is expected that the image being drawn is intended to resemble a
predefined figure (a circle, a line), so there is no problem of writing styles.
Furthermore, the position of the drawing on the canvas is significant.
My first epiphany was that a way to create an SDR from a figure is to draw it
with a thick pen. For example, the last figure above would translate in the
following SDR (flipped vertically):

Furthermore, my set of predefined figures would be something like this:

| 
|

So, inspired by HTM, I can just calculate the overlap between the sample and
all the images in the predefined set. The best overlap score is the best match.
The width of the "thick pen" is equivalent to the width of an SDR, it makes the
process robust to noise.
Next step is the online part. The current idea is to calculate the overlap of
the current position SDR with every mask for each time step. Then aggregate
(integrate) that overlap over time.
When the overlap reaches a certain threshold, the figure is "recognized" and
all other aggregates are dropped to zero (inhibition)
Next, just like with handwriting, there is only a limited set of possible
subsequent figures, which I know in advance. So when one figure is recognized,
I can lower the overlap threshold for the predicted next figures.
Actually, there is not much to learn in the whole process, since the set of
figures is fixed and the user is expected to draw as close to the predefined
figure as possible. So I can just skip the generic spatial pooling and
basically hardcode that bit.
Writing some code today, to test these ideas. I'll come back with the results.
Probably no nupic eventually, but rather a somewhat HTM inspired approach.
---
[Visit
Topic](https://discourse.numenta.org/t/pointer-request-on-line-classification-of-drawings/1526/3)
or reply to this email to respond.
You are receiving this because you enabled mailing list mode.
To unsubscribe from these emails, [click
here](https://discourse.numenta.org/email/unsubscribe/51fb3267bd2234a9de1d12329f911a6252027cacbdff13e2cf3ab2b42033e62e).