Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
TensorFlow Détection d'objets allégée
Le composant de détection d'objets TensorFlow Lite (aws.greengrass.TensorFlowLiteObjectDetection
) contient un exemple de code d'inférence permettant d'effectuer une inférence de détection d'objets à l'aide de TensorFlow Lite
Pour utiliser ce composant d'inférence avec un modèle TensorFlow Lite entraîné sur mesure, vous pouvez créer une version personnalisée du composant Model Store dépendant. Pour utiliser votre propre code d'inférence personnalisé, utilisez la recette de ce composant comme modèle pour créer un composant d'inférence personnalisé.
Rubriques
Versions
Les versions de ce composant sont les suivantes :
-
2,1x
Type
Ce composant est un composant générique (aws.greengrass.generic
). Le noyau Greengrass exécute les scripts de cycle de vie du composant.
Pour plus d’informations, consultez Types de composants.
Système d’exploitation
Ce composant peut être installé sur les appareils principaux qui exécutent les systèmes d'exploitation suivants :
Linux
Windows
Prérequis
Ce composant répond aux exigences suivantes :
-
Sur les appareils principaux de Greengrass exécutant Amazon Linux 2 ou Ubuntu 18.04, la version 2.27 ou ultérieure de la bibliothèque GNU C
(glibc) est installée sur l'appareil. -
Sur les appareils ARMv7L, tels que le Raspberry Pi, les dépendances pour OpenCV-Python sont installées sur l'appareil. Exécutez la commande suivante pour installer les dépendances.
sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
-
Les appareils Raspberry Pi qui exécutent le système d'exploitation Raspberry Pi Bullseye doivent répondre aux exigences suivantes :
-
NumPy 1.22.4 ou version ultérieure installée sur l'appareil. Raspberry Pi OS Bullseye inclut une version antérieure de NumPy. Vous pouvez donc exécuter la commande suivante pour effectuer la mise à niveau NumPy sur l'appareil.
pip3 install --upgrade numpy
-
L'ancienne pile de caméras activée sur l'appareil. Raspberry Pi OS Bullseye inclut une nouvelle pile de caméras qui est activée par défaut et qui n'est pas compatible. Vous devez donc activer la pile de caméras existante.
Pour activer l'ancienne pile de caméras
-
Exécutez la commande suivante pour ouvrir l'outil de configuration du Raspberry Pi.
sudo raspi-config
-
Sélectionnez Options d'interface.
-
Sélectionnez Legacy camera pour activer l'ancienne pile de caméras.
-
Redémarrez l'appareil Raspberry Pi.
-
-
Dépendances
Lorsque vous déployez un composant, il déploie AWS IoT Greengrass également des versions compatibles de ses dépendances. Cela signifie que vous devez satisfaire aux exigences relatives au composant et à toutes ses dépendances pour réussir le déploiement du composant. Cette section répertorie les dépendances des versions publiées de ce composant et les contraintes de version sémantiques qui définissent les versions des composants pour chaque dépendance. Vous pouvez également consulter les dépendances de chaque version du composant dans la AWS IoT Greengrass console
Configuration
Ce composant fournit les paramètres de configuration suivants que vous pouvez personnaliser lorsque vous déployez le composant.
accessControl
-
(Facultatif) Objet contenant la politique d'autorisation qui permet au composant de publier des messages dans la rubrique de notifications par défaut.
Par défaut :
{ "aws.greengrass.ipc.mqttproxy": { "aws.greengrass.TensorFlowLiteObjectDetection:mqttproxy:1": { "policyDescription": "Allows access to publish via topic ml/tflite/object-detection.", "operations": [ "aws.greengrass#PublishToIoTCore" ], "resources": [ "ml/tflite/object-detection" ] } } }
PublishResultsOnTopic
-
(Facultatif) Rubrique sur laquelle vous souhaitez publier les résultats de l'inférence. Si vous modifiez cette valeur, vous devez également modifier la valeur de
resources
dans leaccessControl
paramètre pour qu'elle corresponde au nom de votre rubrique personnalisée.Par défaut :
ml/tflite/object-detection
Accelerator
-
L'accélérateur que vous souhaitez utiliser. Les valeurs prises en charge sont
cpu
etgpu
.Les modèles d'exemple du composant du modèle dépendant ne prennent en charge que l'accélération du processeur. Pour utiliser l'accélération GPU avec un autre modèle personnalisé, créez un composant de modèle personnalisé pour remplacer le composant de modèle public.
Par défaut :
cpu
ImageDirectory
-
(Facultatif) Le chemin du dossier sur le périphérique où les composants d'inférence lisent les images. Vous pouvez modifier cette valeur en fonction de n'importe quel emplacement de votre appareil auquel vous avez accès en lecture/écriture.
Par défaut :
/packages/artifacts-unarchived//greengrass/v2
component-name
/object_detection/sample_images/Note
Si vous définissez la valeur de
UseCamera
totrue
, ce paramètre de configuration est ignoré. ImageName
-
(Facultatif) Nom de l'image que le composant d'inférence utilise comme entrée pour effectuer une prédiction. Le composant recherche l'image dans le dossier spécifié dans
ImageDirectory
. Par défaut, le composant utilise l'image d'exemple dans le répertoire d'images par défaut. AWS IoT Greengrass prend en charge les formats d'image suivants :jpeg
jpg
,png
, etnpy
.Par défaut :
objects.jpg
Note
Si vous définissez la valeur de
UseCamera
totrue
, ce paramètre de configuration est ignoré. InferenceInterval
-
(Facultatif) Le délai en secondes entre chaque prédiction effectuée par le code d'inférence. L'exemple de code d'inférence s'exécute indéfiniment et répète ses prédictions à l'intervalle de temps spécifié. Par exemple, vous pouvez réduire cet intervalle si vous souhaitez utiliser des images prises par une caméra pour des prévisions en temps réel.
Par défaut :
3600
ModelResourceKey
-
(Facultatif) Les modèles utilisés dans le composant de modèle public dépendant. Modifiez ce paramètre uniquement si vous remplacez le composant du modèle public par un composant personnalisé.
Par défaut :
{ "model": "TensorFlowLite-SSD" }
UseCamera
-
(Facultatif) Valeur de chaîne qui définit s'il faut utiliser les images d'une caméra connectée au périphérique principal de Greengrass. Les valeurs prises en charge sont
true
etfalse
.Lorsque vous définissez cette valeur sur
true
, l'exemple de code d'inférence accède à la caméra de votre appareil et exécute l'inférence localement sur l'image capturée. Les valeurs desImageDirectory
paramètresImageName
et sont ignorées. Assurez-vous que l'utilisateur exécutant ce composant dispose d'un accès en lecture/écriture à l'emplacement où l'appareil photo stocke les images capturées.Par défaut :
false
Note
Lorsque vous consultez la recette de ce composant, le paramètre
UseCamera
de configuration n'apparaît pas dans la configuration par défaut. Toutefois, vous pouvez modifier la valeur de ce paramètre dans une mise à jour de fusion de configuration lorsque vous déployez le composant.Lorsque vous définissez sur
UseCamera
true
, vous devez également créer un lien symbolique pour permettre au composant d'inférence d'accéder à votre caméra depuis l'environnement virtuel créé par le composant d'exécution. Pour plus d'informations sur l'utilisation d'une caméra avec les composants d'inférence d'échantillons, consultezMettre à jour les configurations des composants.
Note
Lorsque vous consultez la recette de ce composant, le paramètre UseCamera
de configuration n'apparaît pas dans la configuration par défaut. Toutefois, vous pouvez modifier la valeur de ce paramètre dans une mise à jour de fusion de configuration lorsque vous déployez le composant.
Lorsque vous définissez sur UseCamera
true
, vous devez également créer un lien symbolique pour permettre au composant d'inférence d'accéder à votre caméra depuis l'environnement virtuel créé par le composant d'exécution. Pour plus d'informations sur l'utilisation d'une caméra avec les composants d'inférence d'échantillons, consultezMettre à jour les configurations des composants.
Fichier journal local
Ce composant utilise le fichier journal suivant.
Pour consulter les journaux de ce composant
-
Exécutez la commande suivante sur le périphérique principal pour afficher le fichier journal de ce composant en temps réel. Remplacez
/greengrass/v2
C:\greengrass\v2
par le chemin d'accès au dossier AWS IoT Greengrass racine.
Journal des modifications
Le tableau suivant décrit les modifications apportées à chaque version du composant.
Version |
Modifications |
---|---|
2.1.12 |
Version mise à jour pour la version 2.12.5 de Greengrass Nucleus. |
2.1.11 |
Version mise à jour pour la version 2.12.0 de Greengrass Nucleus. |
2.1.10 |
Version mise à jour pour la version 2.11.0 de Greengrass Nucleus. |
2.1.9 |
Version mise à jour pour la version 2.10.0 de Greengrass Nucleus. |
2.1.8 |
Version mise à jour pour la version 2.9.0 de Greengrass Nucleus. |
2.1.7 |
Version mise à jour pour la version 2.8.0 de Greengrass Nucleus. |
2.1.6 |
Version mise à jour pour la version 2.7.0 de Greengrass Nucleus. |
2.1.5 |
Version mise à jour pour la version 2.6.0 de Greengrass Nucleus. |
2.1.4 |
Version mise à jour pour la version 2.5.0 de Greengrass Nucleus. |
2.1.3 |
Version mise à jour pour la version 2.4.0 de Greengrass Nucleus. |
2.1.2 |
Version mise à jour pour la version 2.3.0 de Greengrass Nucleus. |
2.1.1 |
|
2.1.0 |
Première version. |