As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Tutorial: Execute inferência de classificação de imagens de amostra em imagens de uma câmera usando o TensorFlow Lite
Este tutorial mostra como usar o componente de inferência de classificação de imagem TensorFlow Lite para realizar exemplos de inferência de classificação de imagens em imagens de uma câmera localmente em um dispositivo principal do Greengrass. Esse componente inclui as seguintes dependências de componentes:
-
TensorFlow Componente de armazenamento de modelos de classificação de imagem Lite
-
TensorFlow Componente Lite Runtime
nota
Este tutorial acessa o módulo de câmera para dispositivos Raspberry Pi
Para obter mais informações sobre aprendizado de máquina em dispositivos Greengrass, consulte. Executar a inferência de machine learning
Tópicos
Pré-requisitos
Para concluir este tutorial, você deve primeiro concluí-loTutorial: Execute inferência de classificação de imagens de amostra usando o Lite TensorFlow .
Você precisará dos seguintes itens:
-
Um dispositivo central Linux Greengrass com uma interface de câmera. Este tutorial acessa o módulo da câmera em um dos seguintes dispositivos compatíveis:
-
Raspberry Pi
executando o Raspberry Pi OS (anteriormente chamado de Raspbian)
Para obter informações sobre como configurar um dispositivo principal do Greengrass, consulte. Tutorial: Conceitos básicos do AWS IoT Greengrass V2
O dispositivo principal deve atender aos seguintes requisitos:
-
Nos principais dispositivos do Greengrass que executam o Amazon Linux 2 ou o Ubuntu 18.04, a GNU C Library
(glibc) versão 2.27 ou posterior está instalada no dispositivo. -
Em dispositivos ARMv7L, como o Raspberry Pi, dependências do OpenCV-Python instaladas no dispositivo. Execute o comando a seguir para instalar as dependências.
sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
-
Os dispositivos Raspberry Pi que executam o Raspberry Pi OS Bullseye devem atender aos seguintes requisitos:
-
NumPy 1.22.4 ou posterior instalado no dispositivo. O Raspberry Pi OS Bullseye inclui uma versão anterior do NumPy, então você pode executar o seguinte comando para atualizar NumPy o dispositivo.
pip3 install --upgrade numpy
-
A pilha de câmeras antiga ativada no dispositivo. O Raspberry Pi OS Bullseye inclui uma nova pilha de câmeras que é ativada por padrão e não é compatível, portanto, você deve habilitar a pilha de câmeras antiga.
Para habilitar a pilha de câmeras antiga
-
Execute o comando a seguir para abrir a ferramenta de configuração do Raspberry Pi.
sudo raspi-config
-
Selecione Opções de interface.
-
Selecione Câmera antiga para ativar a pilha de câmeras antigas.
-
Reinicie o Raspberry Pi.
-
-
-
-
Para dispositivos Raspberry Pi ou NVIDIA Jetson Nano, módulo de câmera Raspberry Pi V2
- 8 megapixels, 1080p. Para aprender a configurar a câmera, consulte Conectar a câmera na documentação do Raspberry Pi.
Etapa 1: configurar o módulo da câmera no seu dispositivo
Nesta etapa, você instala e ativa o módulo da câmera para o seu dispositivo. Execute os seguintes comandos no dispositivo.
Etapa 2: verifique sua assinatura do tópico de notificações padrão
EmTutorial: Execute inferência de classificação de imagens de amostra usando o Lite TensorFlow , você configurou que o cliente AWS IoT MQTT está configurado no AWS IoT console para assistir às mensagens MQTT publicadas pelo componente de classificação de imagem TensorFlow Lite sobre o ml/tflite/image-classification
tópico. No AWS IoT console, verifique se essa assinatura existe. Caso contrário, siga as etapas Etapa 1: inscrever-se no tópico de notificações padrão para assinar este tópico antes de implantar o componente em seu dispositivo principal do Greengrass.
Etapa 3: modificar a configuração do componente de classificação de imagem TensorFlow Lite e implantá-la
Nesta etapa, você configura e implanta o componente de classificação de imagem TensorFlow Lite em seu dispositivo principal:
-
No menu de navegação AWS IoT Greengrassdo console
, escolha Componentes. -
Na página Componentes, na guia Componentes públicos, escolha
aws.greengrass.TensorFlowLiteImageClassification
. -
Na página aws.greengrass.TensorFlowLiteImageClassification, escolha Implantar.
-
Em Adicionar à implantação, escolha uma das seguintes opções:
-
Para mesclar esse componente a uma implantação existente em seu dispositivo de destino, escolha Adicionar à implantação existente e selecione a implantação que você deseja revisar.
-
Para criar uma nova implantação em seu dispositivo de destino, escolha Criar nova implantação. Se você tiver uma implantação existente em seu dispositivo, escolher essa etapa substituirá a implantação existente.
-
-
Na página Especificar destino, faça o seguinte:
-
Em Informações de implantação, insira ou modifique o nome amigável para sua implantação.
-
Em Destinos de implantação, selecione um alvo para sua implantação e escolha Avançar. Você não pode alterar o destino de implantação se estiver revisando uma implantação existente.
-
-
Na página Selecionar componentes, em Componentes públicos, verifique se o
aws.greengrass.TensorFlowLiteImageClassification
componente está selecionado e escolha Avançar. -
Na página Configurar componentes, faça o seguinte:
-
Selecione o componente de inferência e escolha Configurar componente.
-
Em Atualização de configuração, insira a seguinte atualização de configuração na caixa Configuração a ser mesclada.
{ "InferenceInterval": "60", "UseCamera": "true" }
Com essa atualização de configuração, o componente acessa o módulo da câmera em seu dispositivo e realiza inferências nas imagens tiradas pela câmera. O código de inferência é executado a cada 60 segundos.
-
Escolha Confirmar e, em seguida, Avançar.
-
-
Na página Definir configurações avançadas, mantenha as configurações padrão e escolha Avançar.
-
Na página Revisar, escolha Implantar
-
Crie um
deployment.json
arquivo para definir a configuração de implantação do componente de classificação de imagem TensorFlow Lite. Esse arquivo deve ter a seguinte aparência:{ "targetArn":"
targetArn
", "components": { "aws.greengrass.TensorFlowLiteImageClassification": { "componentVersion":2.1.0
, "configurationUpdate": { "InferenceInterval": "60", "UseCamera": "true" } } } }-
No
targetArn
campo,
substitua pelo nome de recurso da Amazon (ARN) da coisa ou grupo de itens a ser destinado para a implantação, no seguinte formato:targetArn
-
Coisa:
arn:aws:iot:
region
:account-id
:thing/thingName
-
Grupo de coisas:
arn:aws:iot:
region
:account-id
:thinggroup/thingGroupName
-
-
Este tutorial usa a versão 2.1.0 do componente. No objeto
aws.greengrass.TensorFlowLiteImageClassification
componente, substitua2.1.0
para usar uma versão diferente do componente de classificação de imagem TensorFlow Lite.
Com essa atualização de configuração, o componente acessa o módulo da câmera em seu dispositivo e realiza inferências nas imagens tiradas pela câmera. O código de inferência é executado a cada 60 segundos. Substitua os seguintes valores
-
-
Execute o comando a seguir para implantar o componente de classificação de imagem TensorFlow Lite no dispositivo:
aws greengrassv2 create-deployment \ --cli-input-json file://
path/to/
deployment.json
A implantação pode levar vários minutos para ser concluída. Na próxima etapa, verifique o log do componente para verificar se a implantação foi concluída com êxito e para ver os resultados da inferência.
Etapa 4: ver os resultados da inferência
Depois de implantar o componente, você pode visualizar os resultados da inferência no registro do componente em seu dispositivo principal do Greengrass e no cliente MQTT AWS IoT no console. AWS IoT Para assinar o tópico no qual o componente publica resultados de inferência, consulte. Etapa 2: verifique sua assinatura do tópico de notificações padrão
Tópicos
-
AWS IoTCliente MQTT — Para visualizar os resultados que o componente de inferência publica no tópico de notificações padrão, conclua as seguintes etapas:
-
No menu de navegação do AWS IoTconsole
, escolha Testar, cliente de teste MQTT. -
Em Assinaturas, escolha.
ml/tflite/image-classification
-
-
Registro do componente — Para visualizar os resultados da inferência no registro do componente, execute o comando a seguir em seu dispositivo principal do Greengrass.
sudo tail -f
/logs/aws.greengrass.TensorFlowLiteImageClassification.log/greengrass/v2
Se você não conseguir ver os resultados da inferência no log do componente ou no cliente MQTT, a implantação falhou ou não atingiu o dispositivo principal. Isso pode ocorrer se seu dispositivo principal não estiver conectado à Internet ou não tiver as permissões necessárias para executar o componente. Execute o comando a seguir em seu dispositivo principal para visualizar o arquivo de log do software AWS IoT Greengrass principal. Esse arquivo inclui registros do serviço de implantação do dispositivo principal do Greengrass.
sudo tail -f
/logs/greengrass.log
/greengrass/v2
Para ter mais informações, consulte Solução de problemas de inferência de aprendizado de máquina.
Próximas etapas
Este tutorial mostra como usar o componente de classificação de imagem TensorFlow Lite, com opções de configuração personalizadas para realizar a classificação de imagens de amostra em imagens tiradas por uma câmera.
Para obter mais informações sobre como personalizar a configuração de componentes públicos ou criar componentes personalizados de aprendizado de máquina, consultePersonalize seus componentes de aprendizado de máquina.