Lookout for Vision Edge Agent - Amazon IoT Greengrass
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Lookout for Vision Edge Agent

The Lookout for Vision Edge Agent component (aws.iot.lookoutvision.EdgeAgent) installs a local Amazon Lookout for Vision runtime server, which uses computer vision to find visual defects in industrial products.

To use this component, create and deploy Lookout for Vision machine learning model components. These machine learning models predict the presence of anomalies in images by finding patterns in images that you use to train the model. Then, you can develop and deploy custom Greengrass components, called client application components, that provide images and video streams to this runtime component to detect anomalies using the machine learning models.

You can use the Lookout for Vision Edge Agent API to interact with this component from other Greengrass components. This API is implemented using gRPC, which is a protocol for making remote procedure calls. For more information, see Writing a client application component and Lookout for Vision Edge Agent API reference in the Amazon Lookout for Vision Developer Guide.

For more information about how to use this component, see the following:

Note

The Lookout for Vision Edge Agent component is available only in the following Amazon Web Services Regions:

  • US East (Ohio)

  • US East (N. Virginia)

  • US West (Oregon)

  • Europe (Frankfurt)

  • Europe (Ireland)

  • Asia Pacific (Tokyo)

  • Asia Pacific (Seoul)

Versions

This component has the following versions:

  • 1.2.x

  • 1.1.x

  • 1.0.x

  • 0.1.x

Type

This component is a generic component (aws.greengrass.generic). The Greengrass nucleus runs the component's lifecycle scripts.

For more information, see Component types.

Operating system

This component can be installed on Linux core devices only.

Requirements

This component has the following requirements:

  • The Greengrass core device must use an Armv8 (AArch64) or x86_64 architecture.

  • If you use version 1.0.0 or later of this component, Python 3.8 or Python 3.9, including pip, installed on the Greengrass core device.

    If you use version 0.1.x of this component, Python 3.7, including pip, installed on the Greengrass core device.

    Important

    The device must have one of these exact versions of Python. This component doesn't support later versions of Python.

  • To use graphics processing unit (GPU) inference, the core device must meet the following requirements. GPU inference is optional in version 1.1.0 and later of this component.

    • A graphics processing unit (GPU) that supports CUDA. For more information, see Verify You Have a CUDA-Capable GPU in the CUDA Toolkit Documentation.

    • cuDNN, CUDA, and TensorRT installed on the Greengrass core device.

      • On NVIDIA Jetson devices, such as the Jetson Nano or Jetson Xavier, cuDNN, CUDA, and TensorRT come installed with NVIDIA JetPack. You don't need to make any changes. This component supports JetPack 4.4, JetPack 4.5, JetPack 4.5.1, and JetPack 4.6.1.

        Important

        You must install one of these versions of JetPack and not another version. The Lookout for Vision service compiles computer vision models for these JetPack platforms.

      • On x86 devices with a GPU that has the NVIDIA Ampere microarchitecture (or the GPU's compute capacity is 8.0), do the following:

      • On x86 devices with a GPU that has an NVIDIA architecture prior to Ampere (or the GPU's compute capacity is less than 8.0), do the following:

    • The system user that runs this component must be a member of the system group that has access to the GPU on the device. The name of this group differs by operating system. Consult the documentation for your operating system and GPU to determine the name of this system group.

      For example, on NVIDIA Jetson devices, the name of this group is video, and you can run the following command to add a system user to this group. Replace ggc_user with the name of the user to add.

      sudo usermod -aG video ggc_user

Dependencies

This component doesn't have any dependencies.

Configuration

This component provides the following configuration parameters that you can customize when you deploy the component.

Socket

(Optional) The file socket where the Edge Agent operates. Lookout for Vision model components use this file socket to communicate with the Edge Agent. If you change this parameter, you must specify the same value when you deploy Lookout for Vision model components.

Default: unix:///tmp/aws.iot.lookoutvision.EdgeAgent.sock

Local log file

This component uses the following log file.

/greengrass/v2/logs/aws.iot.lookoutvision.EdgeAgent.log
To view this component's logs
  • Run the following command on the core device to view this component's log file in real time. Replace /greengrass/v2 with the path to the Amazon IoT Greengrass root folder.

    sudo tail -f /greengrass/v2/logs/aws.iot.lookoutvision.EdgeAgent.log

Changelog

The following table describes the changes in each version of the component.

Version

Changes

1.2.0

General bug fixes and improvements.

1.1.9

General bug fixes and improvements.

1.1.8

General bug fixes and improvements.

1.1.7

New features
  • Installs the opencv-python-headless package in the Lookout for Vision Edge Agent virtual environment.

Bug fixes and improvements
  • Improves confidence score calculation.

  • Resizes the heatmap model mask to the original file size.

  • General bug fixes and improvements.

1.1.6

New features

Added new values to the DetectAnomalies result.

  • anomaly_score – The number between 0.0 and 1.0 that indicates how anomalous an image is.

  • anomaly_threshold – Threshold set during model training that determine the boundary between an anomalous image and a normal image.

General bug fixes and improvements.

1.1.4

New features

Added support for OpenCV for image resizing when available. Edge agent uses Pillow when OpenCV is unavailable.

Bug fixes and improvements

General bug fixes and improvements.

1.1.3

General bug fixes and improvements.

1.1.1

General bug fixes and improvements.

1.1.0

New features
  • Adds support for image segmentation models, which identify anomalies in images.

  • Adds support for CPU inference, so you can use Lookout for Vision models on core devices without a GPU.

Bug fixes and improvements
  • General bug fixes and improvements.

1.0.0

This version of the Lookout for Vision Edge Agent component requires a different version of Python than version 0.1.x. If you want to upgrade from v0.1.x to v1.x, you must upgrade the Python installation on the core device.

Bug fixes and improvements
  • General bug fixes and improvements.

0.1.37

General bug fixes and improvements.

0.1.36

Initial version.