CoolFace
Datasetpublic

nctahiti/Miroir-IME

Miroir-IME — Dataset d'écriture manuscrite (ODbL) Dataset de paires (geste, label) capturées sur Boox Note Air 5C (stylet e-ink) via le Miroir IME. Format parnasse-dataset.v1. 📜 Licence ODbL (Open Database License) — attribution requise, partage à l'identique. 📊 Contenu Fichier Échantillons Points parnasse-dataset-full-*.jsonl ~400 ~420 000 Chaque ligne = un échantillon JSON : { "sample_id": "sha256...", "label": "philosophie"… See the full description on the dataset page: https://huggingface.co/datasets/nctahiti/Miroir-IME.

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes5downloads
Dataset Card

Miroir-IME — Dataset d'écriture manuscrite (ODbL)

Dataset de paires (geste, label) capturées sur Boox Note Air 5C (stylet e-ink) via le Miroir IME. Format parnasse-dataset.v1.

📜 Licence

ODbL (Open Database License) — attribution requise, partage à l'identique.

📊 Contenu

FichierÉchantillonsPoints
parnasse-dataset-full-*.jsonl~400~420 000

Chaque ligne = un échantillon JSON :

json
{
  "sample_id": "sha256...",
  "label": "philosophie",
  "char_count": 12,
  "stroke_count": 8,
  "strokes": [{
    "points": [
      {"x": 496.6, "y": 1146.9, "t": 0, "p": 0.98},
      ...
    ]
  }],
  "metadata": {
    "source_app": "com.onyx.android.note",
    "captured_at": "2026-07-04T18:15:00Z",
    "template_spacing": 0.0,
    "dpi": 0.0
  }
}

🖊️ Format

  • —x, y : coordonnées absolues (pixels)
  • —t : timestamp absolu (ms depuis epoch)
  • —p : pression [0.0, 1.0]
  • —sample_id : SHA-256 du contenu (intégrité)
  • —strokes : liste de strokes, chaque stroke = liste de points

🔒 Anonymisation

Les données personnelles (noms, numéros, CB) sont exclues via le flag 🔒 dans le Miroir IME. Les échantillons publiés ne contiennent que des mots isolés — pas de phrases continues, pas de noms propres, pas de données sensibles.

🧠 Usage

python
import json

with open('parnasse-dataset-full-*.jsonl') as f:
    for line in f:
        sample = json.loads(line)
        label = sample['label']
        strokes = sample['strokes']
        total_points = sum(len(s['points']) for s in strokes)
        print(f'{label}: {len(strokes)} strokes, {total_points} pts')

Pour l'entraînement HTR (Handwritten Text Recognition) :

  • —Les strokes peuvent être convertis en images (rendu bitmap)
  • —Les séquences de points peuvent être utilisées directement pour des modèles sequence-to-sequence
  • —La pression et les timestamps permettent des features avancées

🏗️ Source

Produit par le Miroir IME — un clavier de capture manuscrite pour Android (e-ink). Le dataset est généré via l'outil de recyclage intégré :

  1. 1.Écrire au stylet dans le Miroir IME
  2. 2.Corriger/annoter les transcriptions (📌) ou exclure les données personnelles (🔒)
  3. 3.🌾 Récolter → le dataset est sauvegardé dans Downloads/Parnasse/

🌐 Communauté


« Le Miroir est la surface où la pensée se reflète. » — Capitaine