This project is the first public implementation of the sigma-lognormal model.
The sigma-lognormal model is a mathematical model that elegantly describes human handwriting.
It posits that handwriting and mouse movements are composed of a series of a few overlapping handstrokes, which are simple circular arcs with the following speed profile:
This repository implements a "sigma lognormal handstroke extractor" for human handwriting--it breaks down a piece of handwriting into a few handstrokes.
You can find the papers on which this implementation is based in the papers
folder, along with annotations and derivations of my formulas.
Example of the extractor in action:
pip install -r requirements.txt
Run the Jupyter Notebook demo.ipynb
.
- Make unified plotting/animation API.
- Decrease drift on a battery of signatures.
- Add web reconstruction interface
- Use PyTorch to fine-tune extracted parameters with gradient descent.
- Add mouse movement-specific extractor.
- Possibly add a
ghost-cursor
-style mouse movement generator.