终止支持通知:2025年10月31日, AWS 将停止对亚马逊 Lookout for Vision 的支持。2025 年 10 月 31 日之后,你将无法再访问 Lookout for Vision 主机或 Lookout for Vision 资源。如需更多信息,请访问此博客文章
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
要使用经过训练的 Amazon Lookout for Vision 模型检测图像中的异常,您可以调用该操作。DetectAnomaliesDetectAnomalies
的结果中包括一个布尔预测值,该预测会按照图像包含一个异常或多个异常来对其进行分类,此外还包括对所做预测的置信度值。如果模型是图像分割模型,则结果中还包括有色掩码,用于显示不同类型异常的位置。
在宽度和高度尺寸上,您提供给 DetectAnomalies
的图像必须与用于训练模型的图像相同。
DetectAnomalies
可以接受 PNG 或 JPG 格式的图像。我们建议图像的编码和压缩格式与用于训练模型的图像相同。例如,如果您使用 PNG 格式的图像来训练模型,请使用 PNG 格式的图像调用 DetectAnomalies
。
在调用 DetectAnomalies
之前,必须使用 StartModel
操作来启动模型。有关更多信息,请参阅 启动您的 Amazon Lookout for Vision 模型。您需要按照模型的运行时间量(以分钟为单位)以及模型使用的异常检测单位数量付费。如果不再使用模型,请使用 StopModel
操作停止您的模型。有关更多信息,请参阅 停止您的 Amazon Lookout for Vision 模型。
正在呼叫 DetectAnomalies
要调用 DetectAnomalies
,请指定以下内容:
-
项目:包含要使用的模型的项目的名称。
-
ModelVersion— 您要使用的模型版本。
-
ContentType— 要分析的图像类型。有效值为
image/png
(PNG 格式图像)和image/jpeg
(JPG 格式图像)。 -
主体:用来表示图像的未编码二进制字节。
图像必须与用于训练模型的图像尺寸相同。
以下示例显示了如何调用 DetectAnomalies
。您可以使用 Python 和 Java 示例中的函数响应,在 确定图像是否异常 中调用函数。
此 AWS CLI 命令显示 DetectAnomalies
CLI 操作的 JSON 输出。更改以下输入参数的值:
-
project name
更改为要使用的项目的名称。 -
model version
更改为要使用的模型版本。 -
content type
更改为要使用的图像类型。有效值为image/png
(PNG 格式图像)和image/jpeg
(JPG 格式图像)。 -
file name
更改为要使用的图像的路径和文件名。确保文件类型与content-type
的值相匹配。
aws lookoutvision detect-anomalies --project-name
project name
\ --model-versionmodel version
\ --content-typecontent type
\ --bodyfile name
\ --profile lookoutvision-access
了解来自的回应 DetectAnomalies
根据您训练的模型类型(分类模型或分割模型),DetectAnomalies
的响应会有所不同。在这两种情况下,响应都是一个DetectAnomalyResult对象。
分类模型
如果您的模型是 图像分类模型,则 DetectAnomalies
的响应会包含以下内容:
-
IsAnomalous— 表示图像包含一个或多个异常的布尔指示器。
-
置信度:Amazon Lookout for Vision 对异常预测(
IsAnomalous
)准确度的信心。Confidence
是介于 0 和 1 之间的浮点值。值越高表示置信度越高。 -
来源:与传递给
DetectAnomalies
的图像相关的信息。
{
"DetectAnomalyResult": {
"Source": {
"Type": "direct"
},
"IsAnomalous": true,
"Confidence": 0.9996867775917053
}
}
通过检查 IsAnomalous
字段并确认 Confidence
值是否高到足以满足您的需求,您可以确定图像是否存在异常。
如果您发现 DetectAnomalies
返回的置信度值过低,请考虑重新训练模型。有关代码示例,请参阅 分类。
分割模型
如果您的模型是 图像分割模型,则响应中将包括分类信息和分割信息,如图像掩码和异常类型。分类信息与分割信息分开进行计算,您不应假设它们之间存在关系。如果您在响应中未收到分段信息,请检查是否安装了最新版本的 AWS SDK(AWS Command Line Interface如果您使用的是 AWS CLI)。有关示例代码,请参阅 客户细分 和 显示分类和分割信息。
IsAnomalous(分类)-将图像分类为正常或异常的布尔指标。
置信度(分类):Amazon Lookout for Vision 对图像分类(
IsAnomalous
)准确度的信心。Confidence
是介于 0 和 1 之间的浮点值。值越高表示置信度越高。-
来源:与传递给
DetectAnomalies
的图像相关的信息。 -
AnomalyMask(分割)— 覆盖分析图像中发现的异常的像素掩码。图像上可能存在多个异常。掩码贴图的颜色表示异常的类型。掩码颜色对应训练数据集中分配给各异常类型的颜色。要通过掩码颜色查找异常类型,请在
Anomalies
列表返回的每个异常的PixelAnomaly
字段中检查Color
。有关代码示例,请参阅 显示分类和分割信息。 -
异常(分割):图像中发现的异常列表。每个异常都包括异常类型(
Name
)和像素信息(PixelAnomaly
)。TotalPercentageArea
是图像中异常所覆盖的区域百分比。Color
是异常的掩码颜色。列表中的第一个元素始终是表示图像背景(
BACKGROUND
)的异常类型,不应将其视为异常。Amazon Lookout for Vision 会自动将背景异常类型添加到响应中。您无需在数据集中声明背景异常类型。
{
"DetectAnomalyResult": {
"Source": {
"Type": "direct"
},
"IsAnomalous": true,
"Confidence": 0.9996814727783203,
"Anomalies": [
{
"Name": "background",
"PixelAnomaly": {
"TotalPercentageArea": 0.998999834060669,
"Color": "#FFFFFF"
}
},
{
"Name": "scratch",
"PixelAnomaly": {
"TotalPercentageArea": 0.0004034999874420464,
"Color": "#7ED321"
}
},
{
"Name": "dent",
"PixelAnomaly": {
"TotalPercentageArea": 0.0005966666503809392,
"Color": "#4DD8FF"
}
}
],
"AnomalyMask": "iVBORw0....."
}
}