ML Kit — una libreria di machine learning di Google che fornisce API pronte per il riconoscimento di testo, volti, oggetti e codici a barre su dispositivi mobili. A differenza delle soluzioni ML cloud, ML Kit esegue tutti i calcoli localmente sul dispositivo, garantendo il funzionamento senza Internet e la privacy dei dati dell'utente. Secondo Google ML Kit Documentation (2026), la libreria supporta Android e iOS, coprendo più di 15 API per varie attività di visione artificiale ed elaborazione del testo.
Punti chiave
ML Kit è una libreria SDK mobile di Google che fornisce agli sviluppatori API di machine learning pronte all'uso per Android e iOS. È stata presentata nel 2018 al Google I/O come parte di Firebase, per poi diventare disponibile come SDK autonomo. ML Kit astrae la complessità della Data Science: lo sviluppatore non deve addestrare modelli, ottimizzare iperparametri o comprendere calcoli tensoriali.
La libreria copre quattro aree chiave della visione artificiale e della PNL: riconoscimento testo, rilevamento volti, scansione codici a barre, analisi immagini e segmentazione oggetti. Ogni API è disponibile in due varianti — veloce (base) e precisa (con modello esteso).
ML Kit è distribuito tramite Google Play Services per Android, consentendo aggiornamenti dei modelli senza pubblicare una nuova versione dell'app. La dimensione di download di ogni API varia da 2 a 15 MB a seconda della complessità del modello. Per iOS, la libreria è fornita tramite CocoaPods o Swift Package Manager con download manuale del modello al primo avvio. Secondo Google, la dimensione totale di tutte le API di ML Kit non supera gli 80 MB, rendendo la libreria accettabile per app mobili con limiti di dimensione.
ML Kit include API per il riconoscimento testo con supporto per caratteri latini, cirillici e CJK, rilevamento e tracciamento dei volti con rilevamento del sorriso e degli occhi aperti, scansione di codici a barre di tutti i formati popolari, segmentazione delle immagini in primo piano e sfondo, analisi della postura umana su 33 punti chiave e riconoscimento oggetti con classificazione. Secondo Google I/O 2025, la precisione dei modelli base di ML Kit raggiunge il 97% per il testo latino e il 94% per i volti.
ML Kit offre diversi gruppi di API, ciascuno che risolve un'attività specifica di visione artificiale o elaborazione del testo. Esaminiamo i tre ambiti più richiesti.
Text Recognition API estrae testo stampato e scritto a mano dalle immagini in tempo reale. L'API funziona con oltre 50 lingue, tra cui russo, inglese, cinese e arabo. I risultati vengono restituiti come struttura gerarchica: blocchi di testo → righe → token con coordinate di ogni elemento. Secondo i benchmark di Google ML Kit (2026), su un dispositivo di fascia media, il riconoscimento di un singolo fotogramma richiede 80–150 ms per il modello base.
Face Detection API rileva i volti in immagini e flussi video, identificando fino a 17 punti di riferimento chiave: occhi, sopracciglia, naso, bocca e contorno del viso. L'API calcola anche la probabilità di sorriso, l'apertura degli occhi e l'angolo di rotazione della testa su tre assi. A differenza delle soluzioni cloud, ML Kit elabora i volti rigorosamente sul dispositivo senza inviare immagini a un server.
Barcode Scanning API supporta tutti i formati comuni: EAN-13, QR Code, Code 128, PDF417, Data Matrix e Aztec. L'API rileva automaticamente il formato del codice e restituisce il suo contenuto — da testo semplice a dati strutturati (URL, vCard, coordinate geolocalizzazione). La velocità di scansione raggiunge i 30 fotogrammi al secondo, consentendo l'uso dell'API in applicazioni in tempo reale.
Per aggiungere ML Kit a un progetto Android, basta aggiungere la dipendenza corrispondente in build.gradle e creare un'istanza del processore. Esaminiamo l'integrazione usando l'esempio dell'API Text Recognition.
Nel file build.gradle (a livello di app), si aggiunge la dipendenza per ML Kit Text Recognition. La libreria scarica automaticamente il modello alla prima chiamata tramite Google Play Services.
dependencies {
// ML Kit Text Recognition v2
implementation 'com.google.mlkit:text-recognition:16.0.1'
// Per dispositivi senza Google Play Services
implementation 'com.google.mlkit:text-recognition:16.0.1'
}
Dopo aver configurato le dipendenze, è possibile creare un TextRecognizer e passargli un'immagine in formato InputImage. Il risultato viene restituito come oggetti RecognizedText.
val recognizer = TextRecognition.getClient()
val image = InputImage.fromBitmap(bitmap)
recognizer.process(image)
.addOnSuccessListener { result ->
for (block in result.textBlocks) {
val blockText = block.text
val lines = block.lines
// Elaborazione del testo riconosciuto
Log.d("MLKit", "Block: $blockText")
}
}
.addOnFailureListener { e ->
Log.e("MLKit", "Error: $e")
}
Il codice crea un client TextRecognition, gli passa un'immagine bitmap e elabora il risultato in modo asincrono. I blocchi di testo contengono righe e token annidati con coordinate, consentendo di visualizzare il testo riconosciuto direttamente sopra l'immagine.
Un aspetto importante dell'integrazione è la gestione degli errori. ML Kit può restituire un errore per immagini troppo scure, testo ruotato o superamento del limite di memoria. Si consiglia di aggiungere sempre un fallback al riconoscimento cloud tramite Google Cloud Vision per i casi in cui il modello sul dispositivo non funziona. La pratica dimostra che un approccio combinato (ML Kit + Cloud Vision) aumenta la precisione complessiva del riconoscimento dal 92% al 98% su documenti complessi.
Il ML sul dispositivo è il principale fattore distintivo di ML Kit rispetto ai servizi ML cloud. Tutti i calcoli avvengono localmente sul dispositivo, offrendo tre vantaggi fondamentali. Primo — latenza zero: il modello elabora i dati in 50–200 ms senza attendere la risposta del server. Secondo — funzionamento senza Internet: la libreria opera in modalità aereo, fondamentale per le applicazioni sul campo.
L'elaborazione locale garantisce che foto, documenti e dati personali dell'utente non lascino mai il dispositivo. Questo è particolarmente importante per le applicazioni nei settori medico, finanziario e della sicurezza aziendale, dove l'invio di dati a un server è vietato da requisiti normativi. Secondo le statistiche di Google (2026), il 78% degli utenti preferisce le app con elaborazione sul dispositivo per motivi di privacy.
A differenza delle soluzioni ML cloud che inviano immagini a un server e consumano traffico mobile, ML Kit non richiede connessione di rete. Il risparmio di traffico può raggiungere 50–200 MB al giorno per app con elaborazione intensiva delle immagini. Il consumo della batteria è moderato: un ciclo di riconoscimento consuma lo 0.5–2% di carica per ora di uso attivo.
ML Kit occupa una posizione intermedia tra i framework ML nativi (TensorFlow Lite, Core ML) e i servizi cloud (Google Cloud Vision, AWS Rekognition). Confrontiamo le caratteristiche principali.
| Caratteristica | ML Kit | TensorFlow Lite | Google Cloud Vision |
|---|---|---|---|
| Esecuzione | Solo sul dispositivo | Solo sul dispositivo | Cloud |
| Richiede Data Science | No | Sì | No |
| Velocità | 80–200 ms | 50–300 ms | 500–2000 ms |
| Funzionamento offline | Sì | Sì | No |
| Precisione | 94–97% | 95–99% | 98–99% |
| Modelli personalizzati | Tramite TFLite | Sì | AutoML Vision |
| Prezzo | Gratuito | Gratuito | $1.50/1000 unità |
Per le attività tipiche di visione artificiale come la scansione di documenti o la verifica dei volti, ML Kit è la scelta ottimale grazie alla facilità di integrazione. I progetti complessi con architetture di reti neurali personalizzate richiedono TensorFlow Lite. I servizi cloud sono giustificati quando è necessaria la massima precisione.
Quando si sceglie tra ML Kit e TensorFlow Lite, considerare il compromesso tra velocità di sviluppo e flessibilità. Se il progetto ha già un data scientist e un modello addestrato, utilizzare TFLite direttamente. Se il ML è solo una funzione ausiliaria dell'app (scansionare una ricevuta, verificare un sorriso in un selfie), ML Kit darà risultati in 30 minuti invece di una settimana.
Secondo Google (2026), il tempo medio di integrazione di ML Kit in un progetto esistente è di 4–6 ore per uno scenario base e di 2–3 giorni per un'integrazione completa con un modello personalizzato. Nel 73% dei casi, gli sviluppatori scelgono ML Kit proprio per la velocità di integrazione, non per la massima precisione dei modelli.
Domande frequenti
No, ML Kit esegue tutti i calcoli localmente sul dispositivo. Internet è necessario solo per il download iniziale del modello tramite Google Play Services, dopo di che la libreria funziona completamente offline.
Android (API 24+) e iOS (12.0+). Per Android si utilizza l'integrazione tramite Google Play Services, per iOS — tramite CocoaPods o Swift Package Manager con download manuale del modello.
Sì, ML Kit supporta l'importazione di modelli TensorFlow Lite personalizzati tramite le classi LocalModel o RemoteModel. Il modello deve essere convertito in formato .tflite e ottimizzato per dispositivi mobili.
ML Kit è una libreria di alto livello con API pronte che non richiede conoscenze di ML. TensorFlow Lite è un runtime di basso livello per eseguire modelli personalizzati. ML Kit utilizza TFLite internamente ma nasconde la complessità allo sviluppatore.
I modelli vengono aggiornati automaticamente tramite Google Play Services per Android e tramite App Store per iOS. Google pubblica aggiornamenti ogni 6–8 settimane, migliorando la precisione del riconoscimento e aggiungendo nuove lingue.
Riepilogo
Svilupperemo un'applicazione mobile chiavi in mano
IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.
Leggi anche