Guida alla migrazione di AutoML Vision Edge Kit

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

Puoi passare un modello di classificazione di immagini addestrato ad AutoML alle API personalizzate. Puoi continuare a raggruppare il modello all'interno della tua app oppure ospitarlo nella Console Firebase come modello personalizzato. L'API AutoML Labeling Labeling è stata rimossa da ML Kit in quanto è stata completamente sostituita dall'API Custom Model Image Labeling.

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

Se attualmente sei un utente di 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 ML Kit nella tua app. Con questa modifica, puoi utilizzare un modello addestrato AutoML esattamente come un modello personalizzato. Consente inoltre di utilizzare modelli addestrati con AutoML per il rilevamento e il monitoraggio degli oggetti, oltre all'etichettatura delle immagini attualmente supportata. Inoltre, l'API per modelli personalizzati supporta sia i modelli con mappa delle etichette incorporata nei metadati sia i modelli con file manifest e file di etichetta separati.

Quali vantaggi ricevo dalla migrazione al nuovo SDK?

  • Nuove funzionalità: possibilità di utilizzare modelli con addestramento AutoML per l'etichettatura delle immagini e il rilevamento di oggetti e il monitoraggio e per utilizzare i modelli con mappa delle 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 del tuo modulo (a livello di app) (di solito app/build.gradle) in base alla seguente tabella:

FunzionalitàArtefatti antichiNuovo artefatto
Etichettatura delle immagini AutoML senza download modello remoto com.google.mlkit:image-labeling-automl:16.2.1 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 le modifiche indicate:

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 LocalModel può essere inizializzato con un percorso file del modello (se il modello ha i metadati contenenti la mappa delle etichette) o un percorso del file manifest del modello (se il manifest, il modello e le etichette si trovano in file separati).
  • Puoi ospitare un modello personalizzato da 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

  • È necessario Xcode 13.2.1 o versioni successive.

Passaggio 1: aggiorna i cocoapod

Aggiorna le dipendenze per i cocoapiedi di ML Kit iOS nel podfile della tua app:

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

Passaggio 2: aggiorna i nomi dei corsi

Se il corso viene visualizzato in questa tabella, apporta le modifiche indicate:

Swift

Corso precedenteNuovo corso
AutoMLImageLabelerLocalModel Modello locale
AutoMLImageLabelerRemoteModel Modello remoto personalizzato
AutoMLImageLabelerOptions CustomImageLabelerOptions

Objective-C

Corso precedenteNuovo corso
MLKAutoMLImageLabelerLocalModel Modello locale MLK
MLKAutoMLImageLabelerRemoteModel MLKCustomRemoteModel
MLKAutoMLImageLabelerOptions MLKCustomImageLabelerOptions

Objective-C

Passaggio 3: aggiorna i nomi dei metodi

Le modifiche al codice sono minime:

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

Ecco alcuni esempi di metodi Swift precedenti e nuovi:

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)

Ecco alcuni esempi di metodi precedenti e nuovi di Objective-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];