DLR 对象检测 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

DLR 对象检测

DLR 对象检测组件 (aws.greengrass.DLRObjectDetection)包含示例推理代码,用于使用深度学习运行时以及预先训练的模型样本。此组件使用变量DLR 对象检测模型存储DLR组件作为依赖关系来下载 DLR 和示例模型。

要将此推理组件与自定义训练的 DLR 模型一起使用,请创建自定义版本相关模型存储元件。要使用自己的自定义推理代码,您可以使用此组件的配方作为模板创建自定义推理组件.

Versions

此组件具有以下版本:

  • 2.1.x

  • 2.0.x

Type

此组件是一个通用组件 (aws.greengrass.generic)。这些区域有:Greengrass 核心运行组件的生命周期脚本。

有关更多信息,请参阅组件类型

Requirements

此组件有以下要求:

  • 在运行亚马逊 Linux 2 或 Ubuntu 18.04 的 Greengrass 核心设备上,GNU C 库(glibc) 版本 2.27 或更高版本安装在设备上。

  • 在 ARMV7L 设备上,如树莓派,依赖于在设备上安装的 OpenCV Python。运行以下命令来安装依赖项:

    sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev

Dependencies

部署组件时,Amazon IoT Greengrass还部署其依赖关系的兼容版本。这意味着您必须满足组件及其所有依赖关系的要求才能成功部署组件。此部分列出了发布版本以及定义每个依赖关系的组件版本的语义版本约束。您也可以在组件的每个版本中查看组件的依赖关系。Amazon IoT Greengrass控制台. 在组件详细信息页面上,查找依赖项列表。

2.1.4 - 2.1.5

下表列出了此组件 2.1.4 到 2.1.5 版的依赖关系。

依赖关系 兼容的版本 依赖关系类型
Greengrass 核心 >=2.5.0 软性
DLR 对象检测模型存储 ~ 2.1.0 硬性
DLR ~ 1.6.0 硬性
2.1.3

下表列出了此组件 2.1.3 版的依赖关系。

依赖关系 兼容的版本 依赖关系类型
Greengrass 核心 >=2.0.0 <2.4.0 软性
DLR 对象检测模型存储 ~ 2.1.0 硬性
DLR ~ 1.6.0 硬性
2.1.2

下表列出了此组件 2.1.2 版本的依赖关系。

依赖关系 兼容的版本 依赖关系类型
Greengrass 核心 >=2.3.0 软性
DLR 对象检测模型存储 ~ 2.1.0 硬性
DLR ~ 1.6.0 硬性
2.1.1

下表列出此组件 2.1.1 版本的依赖关系。

依赖关系 兼容的版本 依赖关系类型
Greengrass 核心 >=2.2.0 软性
DLR 对象检测模型存储 ~ 2.1.0 硬性
DLR ~ 1.6.0 硬性
2.0.x

下表列出了此组件 2.0.x 版本的依赖关系。

依赖关系 兼容的版本 依赖关系类型
Greengrass 核心 ~ 2.0.0 软性
DLR 对象检测模型存储 ~ 2.0.0 硬性
DLR ~ 1.3.0 软性

Configuration

此组件提供了以下配置参数,您可以在部署组件时自定义这些参数。

2.1.x
accessControl

(可选)包含授权策略,允许组件向默认通知主题发布消息。

默认值:

{ "aws.greengrass.ipc.mqttproxy": { "aws.greengrass.DLRObjectDetection:mqttproxy:1": { "policyDescription": "Allows access to publish via topic ml/dlr/object-detection.", "operations": [ "aws.greengrass#PublishToIoTCore" ], "resources": [ "ml/dlr/object-detection" ] } } }
PublishResultsOnTopic

(可选)要发布推断结果的主题。如果修改此值,则还必须修改resources中的accessControl参数以匹配您的自定义主题名称。

默认值:ml/dlr/object-detection

Accelerator

要使用的加速器。支持的值为 cpugpu

相关模型组件中的示例模型仅支持 CPU 加速。要将 GPU 加速与其他自定义模型一起使用,创建自定义模型组件来覆盖公共模型组件。

默认值:cpu

ImageDirectory

(可选)推理组件读取图像的设备上文件夹的路径。您可以将此值修改为设备上具有读/写访问权限的任何位置。

默认值:/greengrass/v2/packages/artifacts-unarchived/component-name/object_detection/sample_images/

注意

如果您将UseCameratrue为时将忽略此配置参数。

ImageName

(可选) 推理组件使用作为使预测输入图像的名称. 该组件在ImageDirectory. 默认情况下,组件使用默认图像目录中的示例图像。Amazon IoT Greengrass支持以下图像格式:jpegjpgpng, 和npy.

默认值:objects.jpg

注意

如果您将UseCameratrue为时将忽略此配置参数。

InferenceInterval

(可选)推断代码进行每个预测之间的时间(以秒为单位)。示例推理代码无限期运行,并在指定的时间间隔重复其预测值。例如,如果要使用摄像机拍摄的图像进行实时预测,则可以将其更改为较短的间隔。

默认值:3600

ModelResourceKey

(可选)在从属公共模型组件中使用的模型。仅当使用自定义组件覆盖公共模型组件时,才修改此参数。

默认值:

armv7l: "DLR-yolo3-armv7l-cpu-ObjectDetection" x86_64: "DLR-yolo3-x86_64-cpu-ObjectDetection" aarch64: "DLR-yolo3-aarch64-gpu-ObjectDetection"
UseCamera

(可选)字符串值,用于定义是否使用连接到 Greengrass 核心设备的摄像机的图像。支持的值为 truefalse

当您将此值设置为true,示例推理代码将访问设备上的摄像机,并在所捕获的图像上本地运行推理。的值ImageNameImageDirectory参数将被忽略。确保运行此组件的用户具有对摄像机存储捕获图像的位置的读/写访问权限。

默认值:false

注意

当您查看此组件的配方时,UseCamera配置参数不会显示在默认配置中。不过,您可以将此参数的值修改为配置 merge 更新当您部署组件时。

当您设置UseCameratrue,还必须创建符号链接,以使推理组件能够从运行时组件创建的虚拟环境访问摄像机。有关将摄像机与示例推理组件结合使用的更多信息,请参阅更新组件配置.

2.0.x
MLRootPath

(可选)设备上推理组件读取图像和写入推理结果的文件夹路径。您可以将此值修改为运行此组件的用户具有读/写访问权限的设备上的任何位置。

默认值:/greengrass/v2/work/<component-name>/greengrass_ml

Accelerator

请勿修改。目前,加速器唯一支持的值是cpu,因为相关模型组件中的模型仅为 CPU 加速器编译。

ImageName

(可选) 推理组件使用作为使预测输入图像的名称. 该组件在ImageDirectory. 默认位置是MLRootPath/images.Amazon IoT Greengrass支持以下图像格式:jpegjpgpng, 和npy.

默认值:objects.jpg

InferenceInterval

(可选)推断代码进行每个预测之间的时间(以秒为单位)。示例推理代码无限期运行,并在指定的时间间隔重复其预测值。例如,如果要使用摄像机拍摄的图像进行实时预测,则可以将其更改为较短的间隔。

默认值:3600

ModelResourceKey

(可选)在从属公共模型组件中使用的模型。仅当使用自定义组件覆盖公共模型组件时,才修改此参数。

默认值:

{ armv7l: "DLR-yolo3-armv7l-cpu-ObjectDetection", x86_64: "DLR-yolo3-x86_64-cpu-ObjectDetection" }

Changelog

下表介绍每一版的中的更改。

Version

更改

2.1.5

组件发布在所有Amazon Web Services 区域.

2.1.4

更新 Greengrass 核 2.4.0 版发行。

此版本不在欧洲(伦敦)(eu-west-2)。

2.1.3

更新 Greengrass 核 2.3.0 版发行。

2.1.2

错误修复和改进
  • 修复了导致示例 DLR 对象检测推理结果中不准确的边界框的图像缩放问题。

2.1.1

新功能
  • 使用深度学习运行时v1.6.0

  • 在 Armv8 (AArch64) 平台上添加对示例对象检测的支持。这扩展了对运行 NVIDIA Jetson 的 Greengrass 拉斯核心设备(如杰森纳米)的机器学习支持。

  • 启用摄像头集成以进行样本推理。使用新的UseCamera配置参数,以启用示例推理代码访问 Greengrass 核心设备上的摄像头,并在所捕获的图像上本地运行推理。

  • 添加对发布推理结果的支持Amazon Web Services 云. 使用新的PublishResultsOnTopic配置参数指定要在其上发布结果的主题。

  • 将新的ImageDirectory配置参数,您可以为要执行推理的映像指定自定义目录。

错误修复和改进
  • 将推断结果写入组件日志文件,而不是单独的推理文件。

  • 使用Amazon IoT Greengrass用于记录组件输出的核心软件记录模块。

  • 使用Amazon IoT Device SDK读取组件配置并应用配置更改。

2.0.4

初始版本。