Chemins d'installation des modèles ML Kit sur Android

Par défaut, toutes les fonctionnalités de ML Kit utilisent des modèles de machine learning entraînés par Google (appelés modèles de base). Ce guide ne s'applique qu'aux modèles de base. Cliquez ici pour obtenir des conseils sur les modèles personnalisés.

Les modèles des API ML Kit peuvent être installés de trois manières :

  1. Non groupés : les modèles sont téléchargés et gérés via les services Google Play.
  2. Groupés : les modèles sont liés de manière statique à votre application au moment de la compilation.
  3. Téléchargement dynamique : les modèles sont téléchargés à la demande.

Chemins d'installation compatibles pour chaque API

Le tableau ci-dessous indique les chemins d'installation de modèle compatibles avec chaque fonctionnalité de ML Kit :

Non groupé Bundled Téléchargement dynamique
Reconnaissance de texte v2 ✅ ✅
Détection de visages ✅ ✅
Détection de maillage de visage ✅
Détection des postures ✅
Segmentation de selfie ✅
Lecture de codes-barres ✅ ✅
Ajout de libellés à des images ✅ ✅
Détection d'objets et suivi ✅
Reconnaissance de la saisie manuscrite numérique ✅
Scanner de documents ✅
Segmentation du sujet ✅
Lecteur de code Google ✅
Identification de la langue ✅ ✅
Translation ✅
Réponse suggérée ✅ ✅
Extraction d'entités ✅

Les guides spécifiques aux API indiquent les options d'installation disponibles pour l'API donnée.

Principales différences entre les options d'installation

Non groupé Bundled Téléchargement dynamique
Où les modèles sont-ils stockés ? Réside dans les services Google Play et n'est pas comptabilisé dans l'espace de stockage utilisé par cette application Enregistré dans l'espace de stockage propre à l'application après l'installation Enregistré dans l'espace de stockage propre à l'application après le téléchargement du modèle
Quel est l'impact de la taille du modèle sur la taille de l'application ? Ne contribue pas à la taille de l'application Contribue directement à la taille de l'application N'augmente pas la taille de l'application, mais augmente l'espace de stockage propre à l'application
Quand les modèles sont-ils mis à jour ? Mise à jour automatique lorsqu'une nouvelle version est publiée Mettre à jour l'application pour mettre à jour le modèle Mettre à jour l'application pour mettre à jour le modèle
Quand les modèles sont-ils téléchargés ? Les modèles doivent être téléchargés avant d'être utilisés Tous les modèles et fonctionnalités sont inclus lors de l'installation de l'application, et sont donc utilisables immédiatement. Les téléchargements, les mises à jour et les suppressions de modèles doivent être gérés manuellement à l'aide de l'API RemoteModelManager.
Quand les modèles sont-ils supprimés de l'appareil ? Les services Google Play ne suppriment le modèle de l'espace de stockage que si toutes les applications qui en dépendent sont désinstallées. Les modèles sont supprimés de l'espace de stockage spécifique à l'application lorsque l'application est désinstallée. Les modèles téléchargés sont supprimés de l'espace de stockage spécifique à l'application lorsque l'application est désinstallée.

Comment choisir entre les offres groupées et non groupées

Si une API est compatible avec les options d'installation groupée et non groupée :

  • Utilisez l'option groupée si vous privilégiez :

    • Fonctionnalités complètes immédiatement après l'installation de l'application
    • Fonctionnalité sans connexion réseau après l'installation de l'application
  • Utilisez l'option de dégroupement si vous privilégiez :

    • Taille des applications réduite
    • Mises à jour automatiques des modèles par les services Google Play

Comment télécharger des modèles

Lorsque vous utilisez l'option de modèle non groupé, vous pouvez spécifier comment vous souhaitez que les modèles soient téléchargés sur l'appareil :

  • Vous pouvez activer les téléchargements de modèles au moment de l'installation en ajoutant une déclaration au fichier AndroidManifest.xml de votre application. Par exemple, l'extrait de code ci-dessous montre comment configurer votre application pour qu'elle télécharge automatiquement le modèle de lecture de codes-barres après son installation depuis le Play Store :

    <application ...>
          ...
          <meta-data
              android:name="com.google.mlkit.vision.DEPENDENCIES"
              android:value="barcode" >
          <!-- To use multiple models: android:value="barcode,model2,model3" -->
    </application>
    
  • Vous pouvez demander un téléchargement explicite via l'API ModuleInstallClient des services Google Play.

  • Si vous n'activez pas les téléchargements de modèles au moment de l'installation ou ne demandez pas de téléchargement explicite, le modèle sera téléchargé la première fois que vous exécuterez la fonctionnalité. Tant que le téléchargement n'est pas terminé, les requêtes d'inférence échouent.

Mettre à jour des modèles

Pour mettre à jour vos modèles lorsque vous utilisez l'option de modèle groupé ou de modèles téléchargés de manière dynamique :

  1. Mettez à jour le fichier Gradle de votre application pour utiliser la dernière bibliothèque cliente de la fonctionnalité ML Kit.

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API
    }
    
  2. Recompilez votre application.

Pourquoi certaines API proposent des modèles téléchargés de manière dynamique

Certaines API ML Kit proposent trop d'options de modèle pour être regroupées. Par exemple, la reconnaissance d'encre numérique est compatible avec plus de 300 langues, et il n'est pas toujours nécessaire d'inclure toutes les langues dans la fonctionnalité lors de l'installation. Pour cela, nous proposons la troisième option d'installation, dans laquelle les modèles sont téléchargés à la demande après l'installation. Actuellement, seuls la reconnaissance de l'encre numérique, la traduction et l'extraction d'entités disposent de cette option.