

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á.

# TensorFlow Detecção leve de objetos
<a name="tensorflow-lite-object-detection-component"></a>

O componente de detecção de objetos TensorFlow Lite (`aws.greengrass.TensorFlowLiteObjectDetection`) contém um código de inferência de amostra para realizar a inferência de detecção de objetos usando o [TensorFlow Lite](https://www.tensorflow.org/lite/guide/python) e um modelo pré-treinado de Single Shot Detection (SSD) 1.0. MobileNet Esse componente usa a variante [TensorFlow Loja de modelos de detecção de objetos Lite](tensorflow-lite-object-detection-model-store-component.md) e os [TensorFlow Tempo de execução leve](tensorflow-lite-component.md) componentes como dependências para baixar o TensorFlow Lite e o modelo de amostra. 

Para usar esse componente de inferência com um modelo TensorFlow Lite personalizado, você pode [criar uma versão personalizada](ml-customization.md#override-public-model-store) do componente de armazenamento de modelos dependente. Para usar o próprio código de inferência personalizado, utilize a fórmula desse componente como modelo para [criar um componente de inferência personalizado](ml-customization.md#create-inference-component).

**Topics**
+ [Versões](#tensorflow-lite-object-detection-component-versions)
+ [Tipo](#tensorflow-lite-object-detection-component-type)
+ [Sistema operacional](#tensorflow-lite-object-detection-component-os-support)
+ [Requisitos](#tensorflow-lite-object-detection-component-requirements)
+ [Dependências](#tensorflow-lite-object-detection-component-dependencies)
+ [Configuração](#tensorflow-lite-object-detection-component-configuration)
+ [Arquivo de log local](#tensorflow-lite-object-detection-component-log-file)
+ [Changelog](#tensorflow-lite-object-detection-component-changelog)

## Versões
<a name="tensorflow-lite-object-detection-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.1.x

## Tipo
<a name="tensorflow-lite-object-detection-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="tensorflow-lite-object-detection-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="tensorflow-lite-object-detection-component-requirements"></a>

Esse componente tem os seguintes requisitos:<a name="ml-component-requirements"></a>
+ Nos dispositivos principais do Greengrass que executam o Amazon Linux 2 ou o Ubuntu 18.04, a [Biblioteca do GNU C](https://www.gnu.org/software/libc/) (glibc) versão 2.27 ou posterior está instalada no dispositivo.
+ Em dispositivos Armv7l, como o Raspberry Pi, as dependências do OpenCV-Python estão instaladas no dispositivo. Execute o seguinte comando 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 habilitada no dispositivo. O Raspberry Pi OS Bullseye inclui uma nova pilha de câmeras que está habilitada por padrão e não é compatível, portanto você precisa habilitar a pilha de câmeras antiga.<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**Para habilitar a pilha de câmeras antiga**

    1. Execute o comando abaixo para abrir a ferramenta de configuração do Raspberry Pi.

       ```
       sudo raspi-config
       ```

    1. Selecione **Opções de interface**.

    1. Selecione **Câmera antiga** para habilitar a pilha de câmeras antiga.

    1. Reinicie o Raspberry Pi.

## Dependências
<a name="tensorflow-lite-object-detection-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#tensorflow-lite-object-detection-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

------
#### [ 2.1.11 and 2.1.12 ]

A tabela a seguir lista as dependências das versões 2.1.11 e 2.1.12 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.10 ]

A tabela a seguir lista as dependências da versão 2.1.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.9 ]

A tabela a seguir lista as dependências da versão 2.1.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.8 ]

A tabela a seguir lista as dependências da versão 2.1.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.7 ]

A tabela a seguir lista as dependências da versão 2.1.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.6 ]

A tabela a seguir lista as dependências da versão 2.1.6 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.5 ]

A tabela a seguir lista as dependências da versão 2.1.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.4 ]

A tabela a seguir lista as dependências da versão 2.1.4 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.3 ]

A tabela a seguir lista as dependências da versão 2.1.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.2 ]

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.1 ]

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------
#### [ 2.1.0 ]

A tabela a seguir lista as dependências da versão 2.1.0 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | Flexível | 
| [TensorFlow Loja de modelos de classificação de imagens Lite](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Rígido | 
| [TensorFlow Leve](tensorflow-lite-component.md) | >=2.5.0 <2.6.0 | Rígido | 

------

## Configuração
<a name="tensorflow-lite-object-detection-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

`accessControl`  
<a name="ml-config-accesscontrol-desc"></a>(Opcional) O objeto que contém a [política de autorização](interprocess-communication.md#ipc-authorization-policies) que permite que o componente publique mensagens no tópico de notificações padrão.   
Padrão:   

```
{
   "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`  
<a name="ml-config-publishresultsontopic-desc"></a>(Opcional) O tópico no qual você deseja publicar os resultados da inferência. Se você modificar esse valor, também deverá modificar o valor de `resources` no parâmetro `accessControl` para corresponder ao nome do tópico personalizado.  
Padrão: `ml/tflite/object-detection`

`Accelerator`  <a name="ml-config-accelerator"></a>
O acelerador que você deseja usar. Os valores compatíveis são `cpu` e `gpu`.  
Os modelos de amostra no componente de modelo dependente oferecem suporte somente à aceleração de CPU. Para usar a aceleração de GPU com outro modelo personalizado, [crie um componente de modelo personalizado](ml-customization.md#override-public-model-store) para substituir o componente de modelo público.  
Padrão: `cpu`

`ImageDirectory`  
<a name="ml-config-imagedirectory-desc"></a>(Opcional) O caminho da pasta no dispositivo em que os componentes de inferência leem as imagens. Você pode modificar esse valor para qualquer local em seu dispositivo ao qual tenha read/write acesso.  
<a name="ml-config-imagedirectory-obj-default"></a>Padrão: `/greengrass/v2/packages/artifacts-unarchived/component-name/object_detection/sample_images/`  
Se você definir o valor de `UseCamera` como `true`, esse parâmetro de configuração será ignorado. 

`ImageName`  
<a name="ml-config-imagename-desc"></a>(Opcional) O nome da imagem que o componente de inferência usa como entrada para fazer uma previsão. O componente procura a imagem na pasta especificada em `ImageDirectory`. Por padrão, o componente usa a imagem de amostra no diretório de imagens padrão. AWS IoT Greengrass suporta os seguintes formatos de imagem: `jpeg` `jpg``png`,, `npy` e.   
<a name="ml-config-imagename-obj-default"></a>Padrão: `objects.jpg`  
Se você definir o valor de `UseCamera` como `true`, esse parâmetro de configuração será ignorado. 

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(Opcional) O tempo em segundos entre cada previsão feita pelo código de inferência. O código de inferência de amostra é executado indefinidamente e repete as previsões no intervalo de tempo especificado. Por exemplo, é possível alterar isso para um intervalo menor se você quiser usar as imagens capturadas por uma câmera para previsão em tempo real.  
Padrão: `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(Opcional) Os modelos usados no componente de modelo público dependente. Modifique esse parâmetro somente se você substituir o componente de modelo público por um componente personalizado.   
Padrão:  

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

`UseCamera`  <a name="ml-config-usecamera"></a>
(Opcional) O valor de string que define se as imagens de uma câmera conectada ao dispositivo principal do Greengrass devem ser usadas. Os valores compatíveis são `true` e `false`.  
Quando você define esse valor como `true`, o código de inferência de amostra acessa a câmera do seu dispositivo e executa a inferência localmente na imagem capturada. Os valores dos parâmetros `ImageName` e `ImageDirectory` são ignorados. Certifique-se de que o usuário que está executando esse componente tenha read/write acesso ao local em que a câmera armazena as imagens capturadas.  
Padrão: `false`  
Quando você visualiza a fórmula desse componente, o parâmetro de configuração `UseCamera` não aparece na configuração padrão. No entanto, você pode modificar o valor desse parâmetro em uma [atualização de mesclagem da configuração](update-component-configurations.md) ao implantar o componente.   
Ao definir `UseCamera` como `true`, você também deve criar um link simbólico para permitir que o componente de inferência acesse sua câmera do ambiente virtual criado pelo componente de runtime. Para obter mais informações sobre como usar uma câmera com os componentes de inferência de amostra, consulte [Atualizar configurações do componente](ml-tutorial-image-classification-camera.md).

**nota**  <a name="ml-config-not-visible-note"></a>
Quando você visualiza a fórmula desse componente, o parâmetro de configuração `UseCamera` não aparece na configuração padrão. No entanto, você pode modificar o valor desse parâmetro em uma [atualização de mesclagem da configuração](update-component-configurations.md) ao implantar o componente.   
Ao definir `UseCamera` como `true`, você também deve criar um link simbólico para permitir que o componente de inferência acesse sua câmera do ambiente virtual criado pelo componente de runtime. Para obter mais informações sobre como usar uma câmera com os componentes de inferência de amostra, consulte [Atualizar configurações do componente](ml-tutorial-image-classification-camera.md).

## Arquivo de log local
<a name="tensorflow-lite-object-detection-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.TensorFlowLiteObjectDetection.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteObjectDetection.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ 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
<a name="tensorflow-lite-object-detection-component-changelog"></a>

A tabela a seguir descreve as alterações em cada versão do componente.


|  Versão  |  Alterações  | 
| --- | --- | 
|  2.1.12  |  Versão atualizada para o núcleo do Greengrass 2.12.5.  | 
|  2.1.11  | Versão atualizada para o núcleo do Greengrass 2.12.0. | 
|  2.1.10  | Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass. | 
|  2.1.9  | Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass. | 
|  2.1.8  | Versão atualizada para o Greengrass nucleus versão 2.9.0. | 
|  2.1.7  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.1.6  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.1.5  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.1.4  |  Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.  | 
|  2.1.3  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.  | 
|  2.1.2  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.1.1  |  <a name="changelog-tensorflow-lite-object-detection-2.1.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/tensorflow-lite-object-detection-component.html)  | 
|  2.1.0  |  Versão inicial.  | 