docs: add README — BCI and alternative input training harness
This commit is contained in:
parent
a5cd544e9d
commit
2c91714589
1 changed files with 52 additions and 0 deletions
52
README.md
Normal file
52
README.md
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
# Merlin — Hands-Free Computer Control
|
||||||
|
|
||||||
|
> *Part of the Circuit Forge LLC "AI for the tasks you hate most" suite.*
|
||||||
|
|
||||||
|
[](https://circuitforge.tech/software/merlin)
|
||||||
|
[](https://circuitforge.tech)
|
||||||
|
[](LICENSE)
|
||||||
|
|
||||||
|
**Alternative input, trained to you.** Merlin is a BCI and alternative input training harness — letting you control your computer via eye gaze, blink patterns, and hand gestures, with models trained on your own input so they work the way you actually move.
|
||||||
|
|
||||||
|
## What it does
|
||||||
|
|
||||||
|
Merlin uses your webcam to detect gaze direction, blink events, and hand gestures, then maps them to configurable actions (clicks, keystrokes, macros). A built-in training harness lets you record samples and fine-tune the models for your specific movement patterns.
|
||||||
|
|
||||||
|
## Why it matters
|
||||||
|
|
||||||
|
Commercial alternative input tools are expensive, inflexible, and assume a normative movement profile. Merlin is local-first and trainable — your models stay on your hardware and improve with use.
|
||||||
|
|
||||||
|
## Core pipeline
|
||||||
|
|
||||||
|
```
|
||||||
|
Camera feed → MediaPipe detection (gaze / blink / gesture)
|
||||||
|
→ Feature extraction → Action mapper → OS input event
|
||||||
|
↑
|
||||||
|
Training loop: record samples → fit scikit-learn model → reload
|
||||||
|
```
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Gaze estimation** — map where you look to cursor position or zone actions
|
||||||
|
- **Blink detection** — single, double, and long-blink events → configurable actions
|
||||||
|
- **Hand gesture recognition** — MediaPipe Hands → custom gesture vocabulary
|
||||||
|
- **Training harness** — record labeled samples, retrain, hot-reload without restart
|
||||||
|
- **FastAPI control API** — start/stop detection loop, reload config, check status (`localhost:8522`)
|
||||||
|
- **Local-first** — no cloud inference, no data leaves your machine
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
```bash
|
||||||
|
conda run -n cf pip install -e .
|
||||||
|
conda run -n cf python -m merlin.daemon
|
||||||
|
```
|
||||||
|
|
||||||
|
Config: `~/.merlin/config.yaml`
|
||||||
|
|
||||||
|
## Product code (license key)
|
||||||
|
|
||||||
|
`CFG-MRLN-XXXX-XXXX-XXXX`
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
**BSL 1.1** — free for personal non-commercial self-hosting; converts to MIT after 4 years. Commercial use requires a paid license.
|
||||||
Loading…
Reference in a new issue