Guida alla migrazione ad AutoML Vision Edge di ML Kit

Puoi passare un modello di classificazione delle immagini addestrato con AutoML al modello personalizzato su quelle di livello inferiore. Puoi continuare a integrare il modello all'interno dell'app oppure ospitarlo sulla console Firebase come modello personalizzato. L'API AutoML Image Labeling è stata rimosso da ML Kit poiché è completamente sostituito dall'immagine modello personalizzata API Labeling.

APIChe cosa cambia?
API AutoML Vision Edge etichettatura immagini È stato completamente sostituito dall'API Custom Model Image Labeling. Esistente L'API AutoML Vision Edge Etichettatura immagini è 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?

Contribuisce a semplificare le API ML Kit e a semplificare l'integrazione di ML Kit la tua app. Con questa modifica, puoi utilizzare un modello addestrato con AutoML esattamente come nel caso di un modello personalizzato. Inoltre, ti consente di utilizzare modelli addestrati con AutoML per il rilevamento e il tracciamento di oggetti, oltre all'etichettatura delle immagini, che attualmente supportati. Inoltre, l'API del modello personalizzato supporta entrambi i modelli mappa di etichette incorporata nei relativi metadati e modelli con manifest dei file di etichette.

Quali vantaggi ottengo dalla migrazione al nuovo SDK?

  • Nuove funzionalità: possibilità di utilizzare modelli addestrati con AutoML per l'etichettatura delle immagini e rilevamento di oggetti, Monitoraggio e possibilità di utilizzare modelli con mappa di etichette incorporate nei metadati.

Guida alla migrazione per Android

Passaggio 1: aggiorna le importazioni Gradle

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

FunzionalitàVecchi artefattiNuovo artefatto
Etichettatura delle immagini AutoML senza download del modello remoto com.google.mlkit:image-labeling-automl:16.2.1 com.google.mlkit:image-labeling-custom:16.0.0-beta5
Etichettatura delle immagini AutoML con download remoto del modello 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-beta5
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:

Classe 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

Sono state apportate modifiche minime al codice:

  • Ora LocalModel può essere inizializzato con un percorso file del modello (se il modello ha metadati contenenti la mappa delle etichette) o con un percorso del file manifest del modello (se il modello, le etichette e il file manifest sono 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:

Vecchio

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 vecchi e nuovi:

Vecchio

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 successivo.

Passaggio 1: aggiorna Cocoapods

Aggiorna le dipendenze per i cocoapod per iOS del kit ML nel podfile della tua app:

FunzionalitàVecchi nomi di podNuovi nomi di pod
Etichettatura delle immagini AutoML senza download del modello remoto GoogleMLKit/ImageLabelingAutoML GoogleMLKit/ImageLabelingCustom
Etichettatura delle immagini AutoML con download remoto del modello GoogleMLKit/ImageLabelingAutoML
GoogleMLKit/LinkFirebase
GoogleMLKit/ImageLabelingCustom
GoogleMLKit/LinkFirebase

Passaggio 2: aggiorna i nomi dei corsi

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

Swift

Classe precedenteNuovo corso
AutoMLImageLabelerLocalModel LocalModel
AutoMLImageLabelerRemoteModel CustomRemoteModel
AutoMLImageLabelerOptions CustomImageLabelerOptions

Objective-C

Classe precedenteNuovo corso
MLKAutoMLImageLabelerLocalModel MLKLocalModel
MLKAutoMLImageLabelerRemoteModel MLKCustomRemoteModel
MLKAutoMLImageLabelerOptions MLKCustomImageLabelerOptions

Objective-C

Passaggio 3: aggiorna i nomi dei metodi

Sono state apportate modifiche minime al codice:

  • Ora LocalModel può essere inizializzato con un percorso file del modello (se il modello ha metadati contenenti la mappa delle etichette) o con un percorso del file manifest del modello (se il modello, le etichette e il file manifest sono 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 Swift vecchi e nuovi:

Vecchio

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 Objective-C vecchi e nuovi:

Vecchio

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];