Progetto scolastico per il riconoscimento di cifre e lettere attraverso Machine Learning, con backend Java, frontend PHP, app Android e server Python.
Un grazie speciale a queste fantastiche persone che hanno contribuito al progetto:
Note
| PROFILO | RUOLO | |
|---|---|---|
| @paolomalgarin | Design e web-app | ✨ |
| @anItalianGeek | Project manager | 💼 |
| @michelecortiana | Machine learning | 🧠 |
| @Phoeyuh | API | 🐝 |
| @Benti06 | Android app | 📱 |
- 📥 Installation guide
- 📌 Panoramica
- 🏗️ Architettura & Flusso dei Dati
- 🛠️ Tecnologie Utilizzate
- 📷 Esempi d’Uso
- 📊 Dati
- 📄 Licenza
Il progetto DigitML ci è stato assegnato come attività didattica con l’obiettivo di realizzare un’applicazione distribuita per il riconoscimento di cifre manoscritte.
La consegna prevedeva la creazione di un sistema capace di identificare numeri scritti a mano, da utilizzare durante gli open‑day scolastici per mostrare le competenze acquisite nel triennio di Informatica.
Spinti dalla nostra curiosità e dalla voglia di sperimentare, abbiamo esteso il progetto aggiungendo numerose funzionalità extra, tra cui il riconoscimento delle lettere dell’alfabeto.
Le applicazioni front-end mandano le richieste all'API che è l'unico che può comunicare con il ML grazie ad un HMAC
- Java Servlet: comunicazione front-end e back-end
- PHP 8+: interfaccia web e autenticazione
- Android (Java): app mobile (Android)
- Python 3.8+: server Flask
- TensorFlow/Keras: rete neurale
Qui sotto un esempio della web-app e dell'app Android:
Warning
Per provarla vedi installation guide.
Dataset utilizzati:
| NOME | MNIST | A-Z Handwritten Alphabets |
|---|---|---|
| IMG | ![]() |
![]() |
| TIPO DI RETE | CNN (Convolutional Neural Network) | CNN (Convolutional Neural Network) |
| VAL ACCURACY | 98.6% | 98.8% |
| TRAIN ACCURACY | 99.3% | 99.5% |
Questo progetto è rilasciato sotto MIT License.



