View a markdown version of this page

TensorFlow Rilevamento di oggetti Lite - AWS IoT Greengrass

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

TensorFlow Rilevamento di oggetti Lite

Il componente di rilevamento degli oggetti TensorFlow Lite (aws.greengrass.TensorFlowLiteObjectDetection) contiene un codice di inferenza di esempio per eseguire l'inferenza del rilevamento di oggetti utilizzando TensorFlow Lite e un modello Single Shot Detection (SSD) 1.0 preaddestrato. MobileNet Questo componente utilizza la variante TensorFlow Archivio modelli Lite per il rilevamento di oggetti e i TensorFlow Runtime Lite componenti come dipendenze per scaricare TensorFlow Lite e il modello di esempio.

Per utilizzare questo componente di inferenza con un modello TensorFlow Lite addestrato su misura, potete creare una versione personalizzata del componente dipendente del model store. Per utilizzare il vostro codice di inferenza personalizzato, utilizzate la ricetta di questo componente come modello per creare un componente di inferenza personalizzato.

Versioni

Questo componente ha le seguenti versioni:

  • 2.1.x

Tipo

Questo componente è un componente generico (aws.greengrass.generic). Il nucleo di Greengrass esegue gli script del ciclo di vita del componente.

Per ulteriori informazioni, consulta Tipi di componenti.

Sistema operativo

Questo componente può essere installato sui dispositivi principali che eseguono i seguenti sistemi operativi:

  • Linux

  • Windows

Requisiti

Questo componente ha i seguenti requisiti:

  • Sui dispositivi di base Greengrass che eseguono Amazon Linux 2 o Ubuntu 18.04, sul dispositivo è installata la versione 2.27 o successiva della GNU C Library (glibc).

  • Sui dispositivi ARMv7l, come Raspberry Pi, le dipendenze vengono installate sul dispositivo. OpenCV-Python Esegui il comando seguente per installare le dipendenze.

    sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  • I dispositivi Raspberry Pi che eseguono il sistema operativo Raspberry Pi Bullseye devono soddisfare i seguenti requisiti:

    • NumPy 1.22.4 o versione successiva installata sul dispositivo. Raspberry Pi OS Bullseye include una versione precedente di NumPy, quindi puoi eseguire il seguente comando per eseguire l'aggiornamento sul dispositivo. NumPy

      pip3 install --upgrade numpy
    • Lo stack di fotocamere precedente abilitato sul dispositivo. Raspberry Pi OS Bullseye include un nuovo stack di fotocamere che è abilitato per impostazione predefinita e non è compatibile, quindi è necessario abilitare lo stack di fotocamere precedente.

      Per abilitare lo stack di fotocamere precedente
      1. Esegui il seguente comando per aprire lo strumento di configurazione Raspberry Pi.

        sudo raspi-config
      2. Seleziona Opzioni di interfaccia.

      3. Seleziona Videocamera legacy per abilitare lo stack di telecamere legacy.

      4. Riavvia il dispositivo Raspberry Pi.

Dipendenze

Quando distribuisci un componente, distribuisce AWS IoT Greengrass anche versioni compatibili delle sue dipendenze. Ciò significa che è necessario soddisfare i requisiti del componente e tutte le sue dipendenze per distribuire correttamente il componente. Questa sezione elenca le dipendenze per le versioni rilasciate di questo componente e i vincoli semantici della versione che definiscono le versioni dei componenti per ciascuna dipendenza. È inoltre possibile visualizzare le dipendenze per ciascuna versione del componente nella console. AWS IoT Greengrass Nella pagina dei dettagli del componente, cerca l'elenco delle dipendenze.

2.1.11 and 2.1.12

La tabella seguente elenca le dipendenze per le versioni 2.1.11 e 2.1.12 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.13.0 Flessibili
TensorFlow Archivio di modelli per la classificazione delle immagini Lite > =2.1.0 <2.2.0 Rigidi
TensorFlow Leggero > =2.5.0 <2.6.0 Rigidi
2.1.10

La tabella seguente elenca le dipendenze per la versione 2.1.10 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.12.0 Flessibili
TensorFlow Archivio di modelli per la classificazione delle immagini Lite > =2.1.0 <2.2.0 Rigidi
TensorFlow Leggero > =2.5.0 <2.6.0 Rigidi
2.1.9

La tabella seguente elenca le dipendenze per la versione 2.1.9 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.11.0 Flessibili
TensorFlow Archivio di modelli per la classificazione delle immagini Lite > =2.1.0 <2.2.0 Rigidi
TensorFlow Leggero > =2.5.0 <2.6.0 Rigidi
2.1.8

La tabella seguente elenca le dipendenze per la versione 2.1.8 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.10.0 Flessibili
TensorFlow Archivio di modelli per la classificazione delle immagini Lite > =2.1.0 <2.2.0 Rigidi
TensorFlow Leggero > =2.5.0 <2.6.0 Rigidi
2.1.7

La tabella seguente elenca le dipendenze per la versione 2.1.7 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.9.0 Flessibili
TensorFlow Archivio di modelli per la classificazione delle immagini Lite > =2.1.0 <2.2.0 Rigidi
TensorFlow Leggero > =2.5.0 <2.6.0 Rigidi
2.1.6

La tabella seguente elenca le dipendenze per la versione 2.1.6 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.8.0 Flessibili
TensorFlow Archivio di modelli per la classificazione delle immagini Lite > =2.1.0 <2.2.0 Rigidi
TensorFlow Leggero > =2.5.0 <2.6.0 Rigidi
2.1.5

La tabella seguente elenca le dipendenze per la versione 2.1.5 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.7.0 Flessibili
TensorFlow Archivio di modelli per la classificazione delle immagini Lite > =2.1.0 <2.2.0 Rigidi
TensorFlow Leggero > =2.5.0 <2.6.0 Rigidi
2.1.4

La tabella seguente elenca le dipendenze per la versione 2.1.4 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.6.0 Flessibili
TensorFlow Archivio di modelli per la classificazione delle immagini Lite > =2.1.0 <2.2.0 Rigidi
TensorFlow Leggero > =2.5.0 <2.6.0 Rigidi
2.1.3

La tabella seguente elenca le dipendenze per la versione 2.1.3 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.5.0 Flessibili
TensorFlow Archivio di modelli per la classificazione delle immagini Lite > =2.1.0 <2.2.0 Rigidi
TensorFlow Leggero > =2.5.0 <2.6.0 Rigidi
2.1.2

La tabella seguente elenca le dipendenze per la versione 2.1.2 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.4.0 Flessibili
TensorFlow Archivio di modelli per la classificazione delle immagini Lite > =2.1.0 <2.2.0 Rigidi
TensorFlow Leggero > =2.5.0 <2.6.0 Rigidi
2.1.1

La tabella seguente elenca le dipendenze per la versione 2.1.1 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.3.0 Flessibili
TensorFlow Archivio di modelli per la classificazione delle immagini Lite > =2.1.0 <2.2.0 Rigidi
TensorFlow Leggero > =2.5.0 <2.6.0 Rigidi
2.1.0

La tabella seguente elenca le dipendenze per la versione 2.1.0 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Nucleo Greengrass > =2.0.0 <2.2.0 Flessibili
TensorFlow Archivio di modelli per la classificazione delle immagini Lite > =2.1.0 <2.2.0 Rigidi
TensorFlow Leggero > =2.5.0 <2.6.0 Rigidi

Configurazione

Questo componente fornisce i seguenti parametri di configurazione che è possibile personalizzare durante la distribuzione del componente.

accessControl

(Facoltativo) L'oggetto che contiene la politica di autorizzazione che consente al componente di pubblicare messaggi nell'argomento delle notifiche predefinito.

Impostazione predefinita:

{ "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

(Facoltativo) L'argomento su cui si desidera pubblicare i risultati dell'inferenza. Se modificate questo valore, dovete modificare anche il valore di resources nel accessControl parametro in modo che corrisponda al nome dell'argomento personalizzato.

Impostazione predefinita: ml/tflite/object-detection

Accelerator

L'acceleratore che desideri utilizzare. I valori supportati sono cpu e gpu.

I modelli di esempio nel componente del modello dipendente supportano solo l'accelerazione della CPU. Per utilizzare l'accelerazione GPU con un modello personalizzato diverso, create un componente del modello personalizzato per sovrascrivere il componente del modello pubblico.

Impostazione predefinita: cpu

ImageDirectory

(Facoltativo) Il percorso della cartella sul dispositivo in cui i componenti di inferenza leggono le immagini. È possibile modificare questo valore in qualsiasi posizione del dispositivo a cui si ha read/write accesso.

Impostazione predefinita: /greengrass/v2/packages/artifacts-unarchived/component-name/object_detection/sample_images/

Nota

Se si imposta il valore UseCamera sutrue, questo parametro di configurazione viene ignorato.

ImageName

(Facoltativo) Il nome dell'immagine che il componente di inferenza utilizza come input per una previsione di make. Il componente cerca l'immagine nella cartella specificata in. ImageDirectory Per impostazione predefinita, il componente utilizza l'immagine di esempio nella directory delle immagini predefinita. AWS IoT Greengrass supporta i seguenti formati di immagine: jpegjpg,png, enpy.

Impostazione predefinita: objects.jpg

Nota

Se si imposta il valore di UseCamera totrue, questo parametro di configurazione viene ignorato.

InferenceInterval

(Facoltativo) Il tempo in secondi tra ogni previsione effettuata dal codice di inferenza. Il codice di inferenza di esempio viene eseguito all'infinito e ripete le previsioni nell'intervallo di tempo specificato. Ad esempio, puoi modificarlo in un intervallo più breve se desideri utilizzare le immagini scattate da una fotocamera per la previsione in tempo reale.

Impostazione predefinita: 3600

ModelResourceKey

(Facoltativo) I modelli utilizzati nel componente del modello pubblico dipendente. Modificate questo parametro solo se sostituite il componente pubblico del modello con un componente personalizzato.

Impostazione predefinita:

{ "model": "TensorFlowLite-SSD" }
UseCamera

(Facoltativo) Valore di stringa che definisce se utilizzare le immagini di una telecamera collegata al dispositivo principale Greengrass. I valori supportati sono true e false.

Quando si imposta questo valore sutrue, il codice di inferenza di esempio accede alla fotocamera del dispositivo ed esegue l'inferenza localmente sull'immagine acquisita. I valori dei ImageDirectory parametri ImageName e vengono ignorati. Assicuratevi che l'utente che esegue questo componente abbia read/write accesso alla posizione in cui la fotocamera memorizza le immagini catturate.

Impostazione predefinita: false

Nota

Quando visualizzate la ricetta di questo componente, il parametro di UseCamera configurazione non appare nella configurazione predefinita. Tuttavia, è possibile modificare il valore di questo parametro in un aggiornamento dell'unione delle configurazioni quando si distribuisce il componente.

Se UseCamera impostate questa opzionetrue, dovete anche creare un collegamento simbolico per consentire al componente di inferenza di accedere alla videocamera dall'ambiente virtuale creato dal componente di runtime. Per ulteriori informazioni sull'utilizzo di una telecamera con i componenti di inferenza di esempio, vedere. Aggiornamento delle configurazioni dei componenti

Nota

Quando si visualizza la ricetta di questo componente, il parametro di UseCamera configurazione non viene visualizzato nella configurazione predefinita. Tuttavia, è possibile modificare il valore di questo parametro in un aggiornamento dell'unione delle configurazioni quando si distribuisce il componente.

Se UseCamera impostate questa opzionetrue, dovete anche creare un collegamento simbolico per consentire al componente di inferenza di accedere alla videocamera dall'ambiente virtuale creato dal componente di runtime. Per ulteriori informazioni sull'utilizzo di una telecamera con i componenti di inferenza di esempio, vedere. Aggiornamento delle configurazioni dei componenti

File di registro locale

Questo componente utilizza il seguente file di registro.

Linux
/greengrass/v2/logs/aws.greengrass.TensorFlowLiteObjectDetection.log
Windows
C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteObjectDetection.log
Per visualizzare i log di questo componente
  • Esegui il seguente comando sul dispositivo principale per visualizzare il file di registro di questo componente in tempo reale. Sostituisci /greengrass/v2 o C:\greengrass\v2 con il percorso della cartella AWS IoT Greengrass principale.

    Linux
    sudo tail -f /greengrass/v2/logs/aws.greengrass.TensorFlowLiteObjectDetection.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteObjectDetection.log -Tail 10 -Wait

Changelog

La tabella seguente descrive le modifiche in ciascuna versione del componente.

Versione

Modifiche

2.1.12

Versione aggiornata per la versione 2.12.5 di Greengrass nucleus.

2.1.11

Versione aggiornata per la versione 2.12.0 di Greengrass nucleus.

2.1.10

Versione aggiornata per la versione 2.11.0 di Greengrass nucleus.

2.1.9

Versione aggiornata per la versione 2.10.0 di Greengrass nucleus.

2.1.8

Versione aggiornata per la versione 2.9.0 di Greengrass nucleus.

2.1.7

Versione aggiornata per la versione 2.8.0 di Greengrass nucleus.

2.1.6

Versione aggiornata per la versione 2.7.0 di Greengrass nucleus.

2.1.5

Versione aggiornata per la versione 2.6.0 di Greengrass nucleus.

2.1.4

Versione aggiornata per la versione 2.5.0 di Greengrass nucleus.

2.1.3

Versione aggiornata per la versione 2.4.0 di Greengrass nucleus.

2.1.2

Versione aggiornata per la versione 2.3.0 di Greengrass nucleus.

2.1.1

Correzioni di bug e miglioramenti
  • Risolve un problema di ridimensionamento dell'immagine che causava riquadri di delimitazione imprecisi nei risultati di inferenza di rilevamento di oggetti TensorFlow Lite di esempio.

2.1.0

Versione iniziale.