Guida alla migrazione ad AutoML Vision Edge di ML Kit

Puoi passare un modello di classificazione di immagini con addestramento AutoML alle API del modello personalizzato. Puoi continuare a raggruppare il modello all'interno della tua app oppure ospitarlo nella Console Firebase come modello personalizzato. L'API AutoML image labeling è stata rimossa da ML Kit perché è stata completamente sostituita dall'API Custom Model Image Labeling.

APICosa cambierà?
API AutoML Vision Edge Labeling È stata completamente sostituita dall'API Custom Model Labeling. L'API esistente di etichettatura delle immagini AutoML Vision Edge è stata rimossa.

Se attualmente utilizzi l'API ML Kit e utilizzi l'API AutoML Vision Edge, segui le istruzioni per la migrazione per Android e iOS.

Domande frequenti

Perché questa modifica?

Consente di semplificare le API ML Kit e di integrare più facilmente il ML Kit nella tua app. Con questa modifica, puoi utilizzare un modello addestrato AutoML esattamente come un modello personalizzato. Ti consente inoltre di utilizzare modelli con addestramento AutoML per il rilevamento e il monitoraggio degli oggetti, oltre all'etichettatura delle immagini attualmente supportata. Inoltre, l'API Custom Model supporta sia i modelli con mappa di etichetta incorporata nei metadati sia i modelli con file manifest ed di etichetta separati.

Quali vantaggi ottengo dalla migrazione al nuovo SDK?

  • Nuove funzionalità: possibilità di utilizzare modelli addestrati con AutoML per l'etichettatura delle immagini, il rilevamento e il monitoraggio degli oggetti e la possibilità di utilizzare i modelli con la mappa di etichette incorporata nei metadati.

Guida alla migrazione per Android

Passaggio 1: aggiorna le importazioni Gradle

Aggiorna le dipendenze per le librerie Android di ML Kit nel file Gradle (a livello di app) del modulo (di solito app/build.gradle) in base alla seguente tabella:

FunzionalitàVecchi artefattiNuovo artefatto
Etichettatura delle immagini AutoML senza download del modello remoto com.google.mlkit:image-labeling-automl:16.2 com.google.mlkit:image-labeling-custom:16.0.0-beta4
Etichettatura delle immagini AutoML con download del modello remoto com.google.mlkit:image-labeling-automl:16.2.1
com.google.mlkit:linkfirebase:16.0.1
com.google.mlkit:image-labeling-custom:16.0.0-beta4
com.google.mlkit:linkfirebase:17.0.0

Passaggio 2: aggiorna i nomi dei corsi

Se il corso viene visualizzato in questa tabella, apporta la modifica indicata:

Corso precedenteNuovo corso
com.google.mlkit.vision.label.automl.AutoMLImageLabelerLocalModel com.google.mlkit.common.model.LocalModel
com.google.mlkit.vision.label.automl.AutoMLImageLabelerRemoteModel com.google.mlkit.common.model.CustomRemoteModel
com.google.mlkit.vision.label.automl.AutoMLImageLabelerOptions com.google.mlkit.vision.label.custom.CustomImageLabelerOptions

Passaggio 3: aggiorna i nomi dei metodi

Le modifiche al codice sono minime:

  • Ora puoi inizializzare LocalModel con un percorso file del modello (se il modello ha metadati contenenti la mappa di etichette) o un percorso file del file modello (se il manifest, il modello e le etichette si trovano in file separati).
  • Puoi ospitare un modello personalizzato in remoto tramite la Console Firebase e inizializzare un CustomRemoteModel con un FirebaseModelSource.

Ecco alcuni esempi di metodi Kotlin vecchi e nuovi:

Precedenti

val localModel = AutoMLImageLabelerLocalModel.Builder()
    .setAssetFilePath("automl/manifest.json")
    // or .setAbsoluteFilePath(absolute file path to manifest file)
    .build()

val optionsWithLocalModel = AutoMLImageLabelerOptions.Builder(localModel)
    .setConfidenceThreshold(0.5f)
    .build()

val remoteModel = AutoMLImageLabelerRemoteModel.Builder("automl_remote_model")
    .build()

val optionsWithRemoteModel = AutoMLImageLabelerOptions.Builder(remoteModel)
    .build()

Nuovo

val localModel = LocalModel.Builder()
    .setAssetManifestFilePath("automl/manifest.json")
    // or .setAbsoluteManifestFilePath(absolute file path to manifest file)
    .build()

val optionsWithLocalModel = CustomImageLabelerOptions.Builder(localModel)
    .setConfidenceThreshold(0.5f)
    .build()

val firebaseModelSource = FirebaseModelSource.Builder("automl_remote_model")
    .build()
val remoteModel = CustomRemoteModel.Builder(firebaseModelSource).build()
val optionsWithRemoteModel = CustomImageLabelerOptions.Builder(remoteModel)
    .build()

Ecco alcuni esempi di metodi Java precedenti e nuovi:

Precedenti

AutoMLImageLabelerLocalModel localModel =
    new AutoMLImageLabelerLocalModel.Builder()
        .setAssetFilePath("automl/manifest.json")
        // or .setAbsoluteFilePath(absolute file path to manifest file)
        .build();
AutoMLImageLabelerOptions optionsWithLocalModel =
    new AutoMLImageLabelerOptions.Builder(localModel)
        .setConfidenceThreshold(0.5f)
        .build();
AutoMLImageLabelerRemoteModel remoteModel =
    new AutoMLImageLabelerRemoteModel.Builder("automl_remote_model").build();
AutoMLImageLabelerOptions optionsWithRemoteModel =
    new AutoMLImageLabelerOptions.Builder(remoteModel)
        .build();

Nuovo

LocalModel localModel =
    new LocalModel.Builder()
        .setAssetManifestFilePath("automl/manifest.json")
        // or .setAbsoluteManifestFilePath(absolute file path to manifest file)
        .build()
CustomImageLabelerOptions optionsWithLocalModel =
    new CustomImageLabelerOptions.Builder(localModel)
        .setConfidenceThreshold(0.5f)
        .build();
FirebaseModelSource firebaseModelSource =
    new FirebaseModelSource.Builder("automl_remote_model").build();
CustomRemoteModel remoteModel =
    new CustomRemoteModel.Builder(firebaseModelSource).build();
CustomImageLabelerOptions optionsWithRemoteModel =
    new CustomImageLabelerOptions.Builder(remoteModel).build();

Guida alla migrazione per iOS

Prerequisiti

  • È richiesto Xcode 13.2.1 o versioni successive.

Passaggio 1: aggiorna i Cocoapods

Aggiorna le dipendenze per i cocoapods iOS di ML Kit nel podfile dell'app:

FunzionalitàNomi dei pod precedentiNuovi nomi dei pod
Etichettatura delle immagini AutoML senza download del modello remoto GoogleMLKit/ImageLabelingAutoML GoogleMLKit/ImageLabelingCustoms
Etichettatura delle immagini AutoML con download del modello remoto GoogleMLKit/ImageLabelingAutoML
GoogleMLKit/LinkFirebase
GoogleMLKit/ImageLabelingCustoms
GoogleMLKit/LinkFirebase

Passaggio 2: aggiorna i nomi dei corsi

Se il corso viene visualizzato in questa tabella, apporta la modifica indicata:

Swift

Corso precedenteNuovo corso
AutoMLImageLabelerLocalModel Modello locale
AutoMLImageLabelerRemoteModel CustomRemoteModel
AutoMLImageLabelerOptions Opzioni etichetta immagine personalizzata

Objective-C

Corso precedenteNuovo corso
MLKAutoMLImageLabelerLocalModel Modello locale MLK
MLKAutoMLImageLabelerRemoteModel MLKCustomRemoteModel
Opzioni MLKAutoMLImageLabeler Opzioni MLKCustomImageLabeler

Objective-C

Passaggio 3: aggiorna i nomi dei metodi

Le modifiche al codice sono minime:

  • Ora puoi inizializzare LocalModel con un percorso file del modello (se il modello ha metadati contenenti la mappa di etichette) o un percorso file del file modello (se il manifest, il modello e le etichette si trovano in file separati).
  • Puoi ospitare un modello personalizzato in remoto tramite la Console Firebase e inizializzare un CustomRemoteModel con un FirebaseModelSource.

Ecco alcuni esempi di metodi precedenti e nuovi di Swift:

Precedenti

let localModel =
    AutoMLImageLabelerLocalModel(manifestPath: "automl/manifest.json")
let optionsWithLocalModel = AutoMLImageLabelerOptions(localModel: localModel)
let remoteModel = AutoMLImageLabelerRemoteModel(name: "automl_remote_model")
let optionsWithRemoteModel = AutoMLImageLabelerOptions(remoteModel: remoteModel)

Nuovo

guard let localModel = LocalModel(manifestPath: "automl/manifest.json") else { return }
let optionsWithLocalModel = CustomImageLabelerOptions(localModel: localModel)
let firebaseModelSource = FirebaseModelSource(name: "automl_remote_model")
let remoteModel = CustomRemoteModel(remoteModelSource: firebaseModelSource)
let optionsWithRemoteModel = CustomImageLabelerOptions(remoteModel: remoteModel)

Di seguito sono riportati alcuni esempi di metodi vecchi e nuovi dell'obiettivo C.

Precedenti

MLKAutoMLImageLabelerLocalModel *localModel =
    [[MLKAutoMLImageLabelerLocalModel alloc]
        initWithManifestPath:"automl/manifest.json"];
MLKAutoMLImageLabelerOptions *optionsWithLocalModel =
    [[MLKAutoMLImageLabelerOptions alloc] initWithLocalModel:localModel];
MLKAutoMLImageLabelerRemoteModel *remoteModel =
    [[MLKAutoMLImageLabelerRemoteModel alloc]
        initWithManifestPath:"automl/manifest.json"];
MLKAutoMLImageLabelerOptions *optionsWithRemoteModel =
    [[MLKAutoMLImageLabelerOptions alloc] initWithRemoteModel:remoteModel];

Nuovo

MLKLocalModel *localModel =
    [[MLKLocalModel alloc] initWithManifestPath:"automl/manifest.json"];
MLKCustomImageLabelerOptions *optionsWithLocalModel =
    [[MLKCustomImageLabelerOptions alloc] initWithLocalModel:localModel];
MLKFirebaseModelSource *firebaseModelSource =
    [[MLKFirebaseModelSource alloc] initWithName:@"automl_remote_model"];
MLKCustomRemoteModel *remoteModel =
    [[MLKCustomRemoteModel alloc] initWithRemoteModelSource:firebaseModelSource];
MLKCustomImageLabelerOptions *optionsWithRemoteModel =
    [[MLKCustomImageLabelerOptions alloc] initWithRemoteModel:remoteModel];