Generate realistic human-like mouse movement data for testing or research
Continue a real user's mouse movement toward a target in real time
Study or benchmark synthetic mouse movement against real recorded human data
| optima-manent/abcurves | alibaba/omnidoc-tokenbench | arccalc/dwmfix | |
|---|---|---|---|
| Stars | 43 | 43 | 43 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | moderate | easy |
| Complexity | 4/5 | 3/5 | 2/5 |
| Audience | developer | researcher | general |
Figures from each repo's GitHub metadata at analysis time.
Requires installing PyTorch and NumPy and cloning the repository before running the example scripts.
ABCurves is a Python project that generates realistic human mouse movements. Instead of drawing a full path from a starting point to a target on its own, it watches a real person start moving the mouse, cuts that motion partway through, and then predicts how the rest of the movement would look and feel if that same person had kept going. The problem the creator focused on is subtle. A mouse reports its position roughly a thousand times per second, so a single movement, like a quick flick toward a button or a slow careful drag, is really a long list of tiny numbers describing how far the cursor moved each moment. Many earlier tools that try to fake mouse movement generate the whole path from nothing, which means they have to guess everything about a person's style: how fast they move, which mouse they use, how steady their hand is. ABCurves instead uses the first part of a real movement as a clue, then continues in a way that matches that same style, speed, and small mechanical quirks of that person's hardware. To do this, the project uses two small models working together. One, called the Planner, looks at the beginning of the movement and the target location, then sketches a smooth path for how the rest of the movement should go. The other, called the Renderer, takes that smooth sketch and turns it into the raw, jittery, second by second numbers a real mouse would actually produce, quantization and all. Both models are small enough to run quickly, so the whole process happens in real time rather than being computed ahead of time. The results are tested against thousands of real human mouse movements using statistical comparisons, and the project reports that its output is difficult to distinguish from an actual person's movement. The repository includes the trained models, the code used to train them, example scripts to try it yourself, and a written explanation of how the approach was built. It is released under the MIT license, meaning it can be used, modified, and shared freely, and the project has an active Discord community for anyone who wants to discuss it further.
A Python tool that watches the start of a real mouse movement and generates a realistic, human-like finish for it in real time.
Mainly Python. The stack also includes Python, PyTorch, NumPy.
Free to use, modify, and share, including commercially, as long as you keep the copyright notice (MIT license).
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.