Percorsi di installazione dei modelli ML Kit su Android

Per impostazione predefinita, tutte le funzionalità di ML Kit utilizzano modelli di machine learning addestrati da Google (noti come modelli di base). Questa guida è applicabile solo ai modelli di base. Leggi qui per ottenere indicazioni sui modelli personalizzati.

I modelli nelle API ML Kit possono essere installati in uno dei tre modi seguenti:

  1. Unbundled: i modelli vengono scaricati e gestiti tramite Google Play Services.
  2. In bundle: i modelli sono collegati staticamente alla tua app in fase di creazione.
  3. Scaricati dinamicamente: i modelli vengono scaricati on demand.

Percorsi di installazione supportati per ogni API

La tabella seguente mostra i percorsi di installazione dei modelli supportati da ciascuna funzionalità di ML Kit:

Unbundled In bundle Scaricati dinamicamente
Riconoscimento del testo v2 ✅ ✅
Riconoscimento facciale ✅ ✅
Rilevamento della mesh facciale ✅
Rilevamento della posa ✅
Segmentazione dei selfie ✅
Scansione di codici a barre ✅ ✅
Etichettatura delle immagini ✅ ✅
Rilevamento e monitoraggio degli oggetti ✅
Riconoscimento dell'input penna digitale ✅
Scanner di documenti ✅
Segmentazione del soggetto ✅
Scanner di codici Google ✅
Identificazione della lingua ✅ ✅
Traduzioni ✅
Risposta rapida ✅ ✅
Estrazione di entità ✅

Le guide specifiche per le API mostrano le opzioni di installazione disponibili per l'API specifica.

Differenze principali tra le opzioni di installazione

Unbundled In bundle Scaricato dinamicamente
Dove vengono archiviati i modelli? Si trova in Google Play Services e non viene conteggiato nello spazio di archiviazione utilizzato da questa app Salvati nello spazio di archiviazione specifico dell'app dopo l'installazione Salvato nello spazio di archiviazione specifico dell'app dopo il download del modello
In che modo le dimensioni del modello influiscono sulle dimensioni dell'app? Non contribuisce alle dimensioni dell'app Contribuisce direttamente alle dimensioni dell'app Non contribuisce alle dimensioni dell'app, ma aumenta lo spazio di archiviazione specifico dell'app
Quando vengono aggiornati i modelli? Aggiornamento automatico quando viene rilasciata una nuova versione È necessario aggiornare l'app per aggiornare il modello È necessario aggiornare l'app per aggiornare il modello
Quando vengono scaricati i modelli? I modelli devono essere scaricati prima dell'uso Tutti i modelli e le funzionalità sono inclusi quando l'app viene installata, quindi sono utilizzabili immediatamente I download, gli aggiornamenti e le eliminazioni dei modelli devono essere gestiti manualmente utilizzando l'API RemoteModelManager
Quando vengono rimossi i modelli dal dispositivo? Google Play Services rimuoverà il modello dallo spazio di archiviazione solo se tutte le app che dipendono dal modello vengono disinstallate I modelli vengono rimossi dallo spazio di archiviazione specifico dell'app quando l'app viene disinstallata I modelli scaricati vengono rimossi dallo spazio di archiviazione specifico dell'app quando l'app viene disinstallata

Come scegliere tra prodotti in bundle e non in bundle

Se un'API supporta sia le opzioni di installazione in bundle sia quelle unbundled:

  • Utilizza l'opzione in bundle se dai la priorità a:

    • Funzionalità completa subito dopo l'installazione dell'app
    • Funzionalità senza connessione di rete dopo l'installazione dell'app
  • Utilizza l'opzione unbundled se dai priorità a:

    • Dimensioni dell'app ridotte
    • Aggiornamenti automatici dei modelli da parte di Google Play Services

Come scaricare i modelli

Quando utilizzi l'opzione del modello non integrato, puoi specificare come scaricare i modelli sul dispositivo:

  • Puoi attivare i download dei modelli al momento dell'installazione aggiungendo una dichiarazione al file AndroidManifest.xml della tua app. Ad esempio, lo snippet di codice riportato di seguito mostra come configurare l'app per scaricare automaticamente il modello di scansione dei codici a barre dopo l'installazione dell'app dal Play Store:

    <application ...>
          ...
          <meta-data
              android:name="com.google.mlkit.vision.DEPENDENCIES"
              android:value="barcode" >
          <!-- To use multiple models: android:value="barcode,model2,model3" -->
    </application>
    
  • Puoi richiedere il download esplicito tramite l'API ModuleInstallClient di Google Play Services.

  • Se non attivi i download dei modelli al momento dell'installazione o non richiedi il download esplicito, il modello verrà scaricato la prima volta che esegui la funzionalità. Fino al completamento del download, le richieste di inferenza non andranno a buon fine.

Come aggiornare i modelli

Per aggiornare i modelli quando utilizzi l'opzione dei modelli in bundle o scaricati dinamicamente:

  1. Aggiorna il file gradle della tua app per utilizzare la libreria client più recente della funzionalità ML Kit.

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API
    }
    
  2. Ricostruisci l'app.

Perché alcune API offrono modelli scaricati dinamicamente

Alcune API ML Kit hanno troppe opzioni di modelli da raggruppare. Ad esempio, il riconoscimento dell'inchiostro digitale supporta oltre 300 lingue e non è sempre necessario inserire ogni lingua nella funzionalità durante l'installazione. A questo scopo, forniamo la terza opzione di installazione, in cui i modelli vengono scaricati on demand dopo l'installazione. Al momento, solo Riconoscimento dell'inchiostro digitale, Traduzione ed Estrazione di entità dispongono di questa opzione.