ML Kit AutoML Vision Edge-Migrationsanleitung

Sie können ein von AutoML trainiertes Bildklassifizierungsmodell an das benutzerdefinierte Modell übergeben. APIs Sie können das Modell in Ihrer App bündeln oder hosten in der Firebase Console als benutzerdefiniertes Modell. Die AutoML Image Labeling API wurde aus ML Kit entfernt, da es vollständig durch das Bild des benutzerdefinierten Modells ersetzt wurde Labeling API

APIWas ändert sich?
AutoML Vision Edge API für Bildlabels Sie wurde vollständig durch die Image Labeling API für benutzerdefinierte Modelle ersetzt. Vorhanden Die AutoML Vision Edge-API für das Image Labeling wurde entfernt.

Wenn Sie derzeit ein ML Kit-Nutzer sind und die AutoML Vision Edge API verwenden, folgen Sie der Migrationsanleitung für Android und iOS.

Häufig gestellte Fragen

Was ist der Grund für diese Änderung?

Sie vereinfacht ML Kit-APIs und erleichtern die Integration von ML Kit in für Ihre App. Mit dieser Änderung können Sie ein von AutoML trainiertes Modell exakt wie bei einem benutzerdefinierten Modell. Außerdem können Sie mit AutoML trainierte Modelle verwenden. für die Objekterkennung und -verfolgung, zusätzlich zur Bildbeschriftung, die derzeit unterstützt werden. Darüber hinaus unterstützt die API für benutzerdefinierte Modelle beide Modelle mit Labelzuordnung, die in ihre Metadaten eingebettet ist, sowie Modelle mit separatem Manifest und Labeldateien.

Welche Vorteile habe ich durch die Migration zum neuen SDK?

  • Neue Funktionen: Von AutoML trainierte Modelle können für das Labeling von Bildern verwendet werden. Objekterkennung und Tracking und Verwendung von Modellen mit Label Map die in die Metadaten eingebettet sind.

Migrationsanleitung für Android

Schritt 1: Gradle Imports aktualisieren

Abhängigkeiten für die ML Kit-Android-Bibliotheken in Ihrem Modul aktualisieren (auf App-Ebene) Gradle-Datei (in der Regel app/build.gradle) gemäß den folgenden Tabelle:

FunktionAlte ArtefakteNeues Artefakt
AutoML-Bild-Labeling ohne Remote-Herunterladen des Modells com.google.mlkit:image-labeling-automl:16.2.1 com.google.mlkit:image-labeling-custom:16.0.0-beta5
AutoML-Bild-Labeling mit Remote-Modelldownload 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

Schritt 2: Kursnamen aktualisieren

Wenn Ihr Kurs in dieser Tabelle angezeigt wird, nehmen Sie die entsprechende Änderung vor:

Alte KlasseNeuer Kurs
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

Schritt 3: Methodennamen aktualisieren

Es gibt nur minimale Änderungen am Code:

  • LocalModel kann jetzt entweder mit einem Modelldateipfad (wenn das Modell Metadaten enthält, die die Labelzuordnung enthalten) oder mit einem Modellmanifestdateipfad (wenn sich Manifest, Modell und Labels in separaten Dateien befinden) initialisiert werden.
  • Sie können ein benutzerdefiniertes Modell remote über die Firebase Console hosten und ein CustomRemoteModel mit einem FirebaseModelSource initialisieren.

Hier sind einige Beispiele für alte und neue Kotlin-Methoden:

Alt

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()

Neu

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()

Hier sind einige Beispiele für alte und neue Java-Methoden:

Alt

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();

Neu

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();

Migrationsanleitung für iOS

Vorbereitung

  • Xcode 13.2.1 oder höher ist erforderlich.

Schritt 1: CocoaPods aktualisieren

Aktualisieren Sie die Abhängigkeiten für die ML Kit iOS-CocoaPods in der Podfile-Datei Ihrer App:

FunktionAlte Pod-Name(n)Neuer Pod-Name(n)
AutoML-Bild-Labeling ohne Remote-Herunterladen des Modells GoogleMLKit/ImageLabelingAutoML GoogleMLKit/ImageLabelingCustom
AutoML-Bild-Labeling mit Remote-Modelldownload GoogleMLKit/ImageLabelingAutoML
GoogleMLKit/LinkFirebase
GoogleMLKit/ImageLabelingCustom
GoogleMLKit/LinkFirebase

Schritt 2: Kursnamen aktualisieren

Wenn Ihr Kurs in dieser Tabelle angezeigt wird, nehmen Sie die entsprechende Änderung vor:

Swift

Alte KlasseNeuer Kurs
AutoMLImageLabelerLocalModel LocalModel
AutoMLImageLabelerRemoteModel CustomRemoteModel
AutoMLImageLabelerOptions CustomImageLabelerOptions

Objective-C

Alte KlasseNeuer Kurs
MLKAutoMLImageLabelerLocalModel MLKLocalModel
MLKAutoMLImageLabelerRemoteModel MLKCustomRemoteModel
MLKAutoMLImageLabelerOptions MLKCustomImageLabelerOptions

Objective-C

Schritt 3: Methodennamen aktualisieren

Es gibt nur minimale Änderungen am Code:

  • LocalModel kann jetzt entweder mit einem Modelldateipfad (wenn das Modell Metadaten enthält, die die Labelzuordnung enthalten) oder mit einem Modellmanifestdateipfad (wenn sich Manifest, Modell und Labels in separaten Dateien befinden) initialisiert werden.
  • Sie können ein benutzerdefiniertes Modell remote über die Firebase Console hosten und ein CustomRemoteModel mit einem FirebaseModelSource initialisieren.

Hier sind einige Beispiele für alte und neue Swift-Methoden:

Alt

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

Neu

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)

Hier sind einige Beispiele für alte und neue Objective-C-Methoden:

Alt

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

Neu

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