LookoutforVision.Client.
detect_anomalies
(**kwargs)¶Detects anomalies in an image that you supply.
The response from DetectAnomalies
includes a boolean prediction that the image contains one or more anomalies and a confidence value for the prediction. If the model is an image segmentation model, the response also includes segmentation information for each type of anomaly found in the image.
Note
Before calling DetectAnomalies
, you must first start your model with the StartModel operation. You are charged for the amount of time, in minutes, that a model runs and for the number of anomaly detection units that your model uses. If you are not using a model, use the StopModel operation to stop your model.
For more information, see Detecting anomalies in an image in the Amazon Lookout for Vision developer guide.
This operation requires permissions to perform the lookoutvision:DetectAnomalies
operation.
See also: AWS API Documentation
Request Syntax
response = client.detect_anomalies(
ProjectName='string',
ModelVersion='string',
Body=b'bytes'|file,
ContentType='string'
)
[REQUIRED]
The name of the project that contains the model version that you want to use.
[REQUIRED]
The version of the model that you want to use.
[REQUIRED]
The unencrypted image bytes that you want to analyze.
[REQUIRED]
The type of the image passed in Body
. Valid values are image/png
(PNG format images) and image/jpeg
(JPG format images).
dict
Response Syntax
{
'DetectAnomalyResult': {
'Source': {
'Type': 'string'
},
'IsAnomalous': True|False,
'Confidence': ...,
'Anomalies': [
{
'Name': 'string',
'PixelAnomaly': {
'TotalPercentageArea': ...,
'Color': 'string'
}
},
],
'AnomalyMask': b'bytes'
}
}
Response Structure
(dict) --
DetectAnomalyResult (dict) --
The results of the DetectAnomalies
operation.
Source (dict) --
The source of the image that was analyzed. direct
means that the images was supplied from the local computer. No other values are supported.
Type (string) --
The type of the image.
IsAnomalous (boolean) --
True if Amazon Lookout for Vision classifies the image as containing an anomaly, otherwise false.
Confidence (float) --
The confidence that Lookout for Vision has in the accuracy of the classification in IsAnomalous
.
Anomalies (list) --
If the model is an image segmentation model, Anomalies
contains a list of anomaly types found in the image. There is one entry for each type of anomaly found (even if multiple instances of an anomaly type exist on the image). The first element in the list is always an anomaly type representing the image background ('background') and shouldn't be considered an anomaly. Amazon Lookout for Vision automatically add the background anomaly type to the response, and you don't need to declare a background anomaly type in your dataset.
If the list has one entry ('background'), no anomalies were found on the image.
An image classification model doesn't return an Anomalies
list.
(dict) --
Information about an anomaly type found on an image by an image segmentation model. For more information, see DetectAnomalies.
Name (string) --
The name of an anomaly type found in an image. Name
maps to an anomaly type in the training dataset, apart from the anomaly type background
. The service automatically inserts the background
anomaly type into the response from DetectAnomalies
.
PixelAnomaly (dict) --
Information about the pixel mask that covers an anomaly type.
TotalPercentageArea (float) --
The percentage area of the image that the anomaly type covers.
Color (string) --
A hex color value for the mask that covers an anomaly type. Each anomaly type has a different mask color. The color maps to the color of the anomaly type used in the training dataset.
AnomalyMask (bytes) --
If the model is an image segmentation model, AnomalyMask
contains pixel masks that covers all anomaly types found on the image. Each anomaly type has a different mask color. To map a color to an anomaly type, see the color
field of the PixelAnomaly object.
An image classification model doesn't return an Anomalies
list.
Exceptions
LookoutforVision.Client.exceptions.AccessDeniedException
LookoutforVision.Client.exceptions.InternalServerException
LookoutforVision.Client.exceptions.ValidationException
LookoutforVision.Client.exceptions.ConflictException
LookoutforVision.Client.exceptions.ResourceNotFoundException
LookoutforVision.Client.exceptions.ThrottlingException