Guía de migración del Kit de AA para AutoML Vision Edge

Puedes pasar un modelo de clasificación de imágenes entrenado por AutoML a las APIs de modelos personalizados. Puedes continuar agrupando el modelo en tu app o alojarlo. en Firebase console como modelo personalizado. La API de Etiquetado de Imágenes de AutoML se del Kit de AA, ya que se reemplazó por completo con la imagen del modelo personalizado. API de Labeling.

API¿Qué aspectos cambiarán?
API de etiquetado de imágenes de AutoML Vision Edge Se reemplazó por completo por la API de etiquetado de imágenes del modelo personalizado. Existente Se quitó la API de etiquetado de imágenes de AutoML Vision Edge.

Si actualmente eres usuario de ML Kit y usas la API de AutoML Vision Edge, sigue las instrucciones de migración para Android y iOS.

Preguntas frecuentes

¿Por qué se aplicó este cambio?

Ayuda a simplificar las APIs del ML Kit y facilita su integración en tu app. Con este cambio, puedes usar un modelo entrenado por AutoML en el del mismo modo que un modelo personalizado. También te permite usar modelos entrenados con AutoML para la detección y el seguimiento de objetos, además del etiquetado de imágenes, que en la actualidad. Además, la API de modelos personalizados admite modelos con mapa de etiquetas incorporado en sus metadatos y modelos con archivos de manifiesto y etiquetas separados.

¿Cuáles son los beneficios de migrar al nuevo SDK?

  • Nuevas funciones: Capacidad de usar modelos entrenados con AutoML para el etiquetado de imágenes detección de objetos y Seguimiento y capacidad de usar modelos con mapa de etiquetas incorporadas en sus metadatos.

Guía de migración para Android

Paso 1: Actualiza las importaciones de Gradle

Actualiza las dependencias para las bibliotecas de Android del ML Kit en el archivo Gradle (generalmente app/build.gradle) de tu módulo (nivel de app) según la siguiente tabla:

FunciónArtefactos antiguosNuevo artefacto
Etiquetado de imágenes AutoML sin descargar el modelo remoto com.google.mlkit:image-labeling-automl:16.2.1 com.google.mlkit:image-labeling-custom:16.0.0-beta5
AutoML de etiquetado de imágenes con descarga de modelos remotos 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

Paso 2: Actualiza los nombres de las clases

Si tu clase aparece en esta tabla, realiza el cambio indicado:

Clase anteriorClase nueva
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

Paso 3: Actualiza los nombres de los métodos

Hay cambios mínimos en el código:

  • LocalModel ahora se puede inicializar con una ruta de acceso de archivo de modelo (si el modelo tiene metadatos que contienen el mapa de etiquetas) o una ruta de acceso de archivo de manifiesto de modelo (si el manifiesto, el modelo y las etiquetas están en archivos separados).
  • Puedes alojar un modelo personalizado de forma remota a través de Firebase console y, luego, inicializar un CustomRemoteModel con un FirebaseModelSource.

Estos son algunos ejemplos de métodos de Kotlin antiguos y nuevos:

Antiguo

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

Nuevo

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

Estos son algunos ejemplos de métodos de Java nuevos y antiguos:

Antiguo

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

Nuevo

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

Guía de migración para iOS

Requisitos previos

  • Se requiere Xcode 13.2.1 o una versión posterior.

Paso 1: Actualiza Cocoapods

Actualiza las dependencias de los CocoaPods de iOS del ML Kit en el Podfile de tu app:

FunciónNombres de los pods anterioresNombres de los nuevos pods
AutoML de etiquetado de imágenes sin descarga de modelos remotos GoogleMLKit/ImageLabelingAutoML GoogleMLKit/ImageLabelingCustom
AutoML de etiquetado de imágenes con descarga de modelos remotos GoogleMLKit/ImageLabelingAutoML
GoogleMLKit/LinkFirebase
GoogleMLKit/ImageLabelingCustom
GoogleMLKit/LinkFirebase

Paso 2: Actualiza los nombres de las clases

Si tu clase aparece en esta tabla, realiza el cambio indicado:

Swift

Clase anteriorClase nueva
AutoMLImageLabelerLocalModel LocalModel
AutoMLImageLabelerRemoteModel CustomRemoteModel
AutoMLImageLabelerOptions CustomImageLabelerOptions

Objective-C

Clase anteriorClase nueva
MLKAutoMLImageLabelerLocalModel MLKLocalModel
MLKAutoMLImageLabelerRemoteModel MLKCustomRemoteModel
MLKAutoMLImageLabelerOptions MLKCustomImageLabelerOptions

Objective-C

Paso 3: Actualiza los nombres de los métodos

Hay cambios mínimos en el código:

  • LocalModel ahora se puede inicializar con una ruta de acceso de archivo de modelo (si el modelo tiene metadatos que contienen el mapa de etiquetas) o una ruta de acceso de archivo de manifiesto de modelo (si el manifiesto, el modelo y las etiquetas están en archivos separados).
  • Puedes alojar un modelo personalizado de forma remota a través de Firebase console y, luego, inicializar un CustomRemoteModel con un FirebaseModelSource.

Estos son algunos ejemplos de métodos de Swift antiguos y nuevos:

Antiguo

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

Nuevo

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)

Estos son algunos ejemplos de métodos de Objective-C antiguos y nuevos:

Antiguo

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

Nuevo

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