Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Modelli personalizzati con ML Kit

Per impostazione predefinita, le API di ML Kit utilizzano modelli di machine learning addestrati da Google. Questi modelli sono progettati per coprire una vasta gamma di applicazioni. Tuttavia, alcuni casi d'uso richiedono modelli più mirati. Ecco perché alcune API di ML Kit ora consentono di sostituire i modelli predefiniti con modelli TensorFlow Lite personalizzati.

Sia l'etichettatura delle immagini che l'API Object Detection &Tracking supportano i modelli di classificazione delle immagini personalizzati. Sono compatibili con la selezione di modelli preaddestrati di alta qualità su TensorFlow Hub o con il tuo modello personalizzato addestrato con TensorFlow, AutoML Vision Edge o TensorFlow Lite Model Maker.

Se hai bisogno di una soluzione personalizzata per altri domini o casi d'uso, visita la pagina sul machine learning on-device per indicazioni su tutte le soluzioni e gli strumenti di Google per il machine learning on-device.

Vantaggi dell'utilizzo del kit ML con i modelli personalizzati

I vantaggi dell'utilizzo di un modello di classificazione delle immagini personalizzato con ML Kit sono:

  • API di alto livello facili da utilizzare: non devi preoccuparti di input/output del modello di basso livello, di gestire la pre-/elaborazione post-immagine o di creare una pipeline di elaborazione.
  • Non devi preoccuparti di mappare le etichette autonomamente, ML Kit estrae le etichette dai metadati dei modelli TFLite ed esegue la mappatura per te.
  • Supporta modelli personalizzati da un'ampia gamma di origini, dai modelli preaddestrati pubblicati su TensorFlow Hub a nuovi modelli addestrati con TensorFlow, AutoML Vision Edge o TensorFlow Lite Model Maker.
  • Supporta i modelli ospitati con Firebase. Riduce le dimensioni dell'APK scaricando i modelli on demand. Esegui il push degli aggiornamenti del modello senza ripubblicare l'app ed eseguire semplici test A/B con Firebase Remote Config.
  • Ottimizzata per l'integrazione con le API Fotocamera di Android.

In particolare, per Rilevamento e monitoraggio degli oggetti:

  • Migliora la precisione della classificazione individuando prima gli oggetti ed esegui solo il classificatore nell'area dell'immagine correlata.
  • Offri un'esperienza interattiva in tempo reale fornendo agli utenti un feedback immediato sugli oggetti quando vengono rilevati e classificati.

Usa un modello di classificazione di immagini preaddestrato

Puoi utilizzare modelli TensorFlow Lite preaddestrati, a condizione che soddisfino un insieme di criteri. Tramite TensorFlow Hub offriamo un insieme di modelli verificati, provenienti da Google o da altri creatori di modelli, che soddisfano questi criteri.

Usa un modello pubblicato su TensorFlow Hub

TensorFlow Hub offre una vasta gamma di modelli di classificazione di immagini preaddestrati, di vari autori di modelli, che possono essere utilizzati con le API Image Labeling and Object Detection and Tracking. Segui questi passaggi.

  1. Scegli un modello dalla raccolta di modelli compatibili con ML Kit.
  2. Scarica il file modello .tflite dalla pagina dei dettagli del modello. Se disponibile, scegli un formato del modello con metadati.
  3. Segui le nostre guide per l'API Image Labeling o l'API Object Detection and Tracking per scoprire come raggruppare il file del modello con il tuo progetto e utilizzarlo nella tua applicazione Android o iOS.

Addestrare un modello di classificazione delle immagini

Se nessun modello di classificazione delle immagini preaddestrato si adatta alle tue esigenze, esistono diversi modi per addestrare il tuo modello TensorFlow Lite, alcuni dei quali sono descritti e discussi più in dettaglio di seguito.

Opzioni per addestrare il tuo modello di classificazione delle immagini
AutoML Vision Edge
  • Offerta tramite AI Google Cloud
  • Crea modelli di classificazione delle immagini all'avanguardia
  • Valuta facilmente il rendimento e le dimensioni
Modello di modello TensorFlow Lite
  • Addestra nuovamente un modello (trasferimento dell'apprendimento), richiede meno tempo e richiede meno dati rispetto all'addestramento di un modello da zero
Converti un modello TensorFlow in TensorFlow Lite
  • Addestra un modello con TensorFlow e convertilo in TensorFlow Lite

AutoML Vision Edge

I modelli di classificazione delle immagini addestrati utilizzando AutoML Vision Edge sono supportati dai modelli personalizzati nelle API Image Labeling e API Detection e Tracking. Queste API supportano anche il download di modelli ospitati con il deployment di modelli Firebase.

Per scoprire di più su come utilizzare un modello addestrato con AutoML Vision Edge nelle app per Android e iOS, segui le guide dei modelli personalizzati per ogni API, in base al caso d'uso.

Creazione modelli TensorFlow Lite

La libreria TFLite Model Maker semplifica il processo di adattamento e conversione di un modello di rete neurale TensorFlow in particolari dati di input al momento del deployment di questo modello per le applicazioni ML on-device. Puoi seguire la classificazione di Colab per le immagini con TensorFlow Lite Model Maker.

Per scoprire di più su come utilizzare un modello addestrato con Model Maker nelle vostre app Android e iOS, seguite le nostre guide per l'API Image Labeling o l'API Object Detection and Tracking, a seconda del caso d'uso.

Modelli creati utilizzando il programma di conversione TensorFlow Lite

Se hai già un modello di classificazione delle immagini TensorFlow, puoi convertirlo utilizzando il convertitore TensorFlow Lite. Assicurati che il modello creato soddisfi i requisiti di compatibilità di seguito.

Per scoprire di più su come utilizzare un modello TensorFlow Lite nelle app per Android e iOS, consulta le nostre guide per l'API Image Labeling o l'API Object Detection and Tracking, a seconda del caso d'uso.

Compatibilità dei modelli TensorFlow Lite

Puoi utilizzare qualsiasi modello di classificazione delle immagini TensorFlow Lite preaddestrato, a condizione che soddisfi i seguenti requisiti:

Tensor

  • Il modello deve avere un solo tensore di input con i seguenti vincoli:
    • I dati sono in formato pixel RGB.
    • I dati sono di tipo UINT8 o FLOAT32. Se il tipo di tensore di input è FLOAT32, deve specificare le opzioni di normalizzazione collegando i metadati.
    • Il tensore ha 4 dimensioni : BxHxLxC, dove:
      • B è la dimensione del batch. Deve essere 1 (l'inferenza su batch più grandi non è supportata).
      • W e H sono la larghezza e l'altezza di input.
      • C è il numero di canali previsti. Deve essere 3.
  • Il modello deve avere almeno un tensore di output con classi N e due o quattro dimensioni:
    • (1xN)
    • (1 x 1 x 1 N)

Metadati

Puoi aggiungere metadati al file TensorFlow Lite come descritto in Aggiungere metadati al modello TensorFlow Lite.

Per utilizzare un modello con tensore di input FLOAT32, devi specificare le NormalizationOptions nei metadati.

Ti consigliamo inoltre di collegare questi metadati al tensore di output TensorMetadata:

  • Una mappa delle etichette che specifica il nome di ciascuna classe di output, come AssociatedFile con tipo TENSOR_AXIS_LABELS (altrimenti possono essere restituiti solo gli indici delle classi di output)
  • Una soglia di punteggio predefinita al di sotto della quale i risultati sono considerati troppo bassi per essere restituiti, come ProcessUnit con ScoreThresholdingOptions