public interface AmazonRekognition
Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
AbstractAmazonRekognition
instead.
This is Amazon Rekognition API guide.
Modifier and Type | Field and Description |
---|---|
static String |
ENDPOINT_PREFIX
The region metadata service name for computing region endpoints.
|
Modifier and Type | Method and Description |
---|---|
CompareFacesResult |
compareFaces(CompareFacesRequest compareFacesRequest)
Compares a face in the source input image with each face detected in the target input image.
|
CreateCollectionResult |
createCollection(CreateCollectionRequest createCollectionRequest)
Creates a collection in an AWS region.
|
DeleteCollectionResult |
deleteCollection(DeleteCollectionRequest deleteCollectionRequest)
Deletes the specified collection.
|
DeleteFacesResult |
deleteFaces(DeleteFacesRequest deleteFacesRequest)
Deletes faces from a collection.
|
DetectFacesResult |
detectFaces(DetectFacesRequest detectFacesRequest)
Detects faces within an image (JPEG or PNG) that is provided as input.
|
DetectLabelsResult |
detectLabels(DetectLabelsRequest detectLabelsRequest)
Detects instances of real-world labels within an image (JPEG or PNG) provided as input.
|
ResponseMetadata |
getCachedResponseMetadata(AmazonWebServiceRequest request)
Returns additional metadata for a previously executed successful request, typically used for debugging issues
where a service isn't acting as expected.
|
IndexFacesResult |
indexFaces(IndexFacesRequest indexFacesRequest)
Detects faces in the input image and adds them to the specified collection.
|
ListCollectionsResult |
listCollections(ListCollectionsRequest listCollectionsRequest)
Returns list of collection IDs in your account.
|
ListFacesResult |
listFaces(ListFacesRequest listFacesRequest)
Returns metadata for faces in the specified collection.
|
SearchFacesResult |
searchFaces(SearchFacesRequest searchFacesRequest)
For a given input face ID, searches the specified collection for matching faces.
|
SearchFacesByImageResult |
searchFacesByImage(SearchFacesByImageRequest searchFacesByImageRequest)
For a given input image, first detects the largest face in the image, and then searches the specified collection
for matching faces.
|
void |
setEndpoint(String endpoint)
Overrides the default endpoint for this client ("rekognition.us-east-1.amazonaws.com").
|
void |
setRegion(Region region)
An alternative to
setEndpoint(String) , sets the regional endpoint for this client's
service calls. |
void |
shutdown()
Shuts down this client object, releasing any resources that might be held open.
|
static final String ENDPOINT_PREFIX
void setEndpoint(String endpoint)
Callers can pass in just the endpoint (ex: "rekognition.us-east-1.amazonaws.com") or a full URL, including the
protocol (ex: "rekognition.us-east-1.amazonaws.com"). If the protocol is not specified here, the default protocol
from this client's ClientConfiguration
will be used, which by default is HTTPS.
For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available endpoints for all AWS services, see: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3912
This method is not threadsafe. An endpoint should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.
endpoint
- The endpoint (ex: "rekognition.us-east-1.amazonaws.com") or a full URL, including the protocol (ex:
"rekognition.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will communicate
with.void setRegion(Region region)
setEndpoint(String)
, sets the regional endpoint for this client's
service calls. Callers can use this method to control which AWS region they want to work with.
By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the
ClientConfiguration
supplied at construction.
This method is not threadsafe. A region should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.
region
- The region this client will communicate with. See Region.getRegion(com.amazonaws.regions.Regions)
for accessing a given region. Must not be null and must be a region where the service is available.Region.getRegion(com.amazonaws.regions.Regions)
,
Region.createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
,
Region.isServiceSupported(String)
CompareFacesResult compareFaces(CompareFacesRequest compareFacesRequest)
Compares a face in the source input image with each face detected in the target input image.
If the source image contains multiple faces, the service detects the largest face and uses it to compare with each face detected in the target image.
In response, the operation returns an array of face matches ordered by similarity score with the highest
similarity scores first. For each face match, the response provides a bounding box of the face and
confidence
value (indicating the level of confidence that the bounding box contains a face). The
response also provides a similarity
score, which indicates how closely the faces match.
By default, only faces with the similarity score of greater than or equal to 80% are returned in the response. You can change this value.
In addition to the face matches, the response returns information about the face in the source image, including the bounding box of the face and confidence value.
This is a stateless API operation. That is, the operation does not persist any data.
For an example, see get-started-exercise-compare-faces
This operation requires permissions to perform the rekognition:CompareFaces
action.
compareFacesRequest
- InvalidParameterException
- Input parameter violated a constraint. Validate your parameter before calling the API again.InvalidS3ObjectException
- Amazon Rekognition is unable to access the S3 object specified in the request.ImageTooLargeException
- The input image size exceeds the allowed limit. For more information, see limits.AccessDeniedException
- You are not authorized to perform the action.InternalServerErrorException
- Amazon Rekognition experienced a service issue. Try your call again.ThrottlingException
- Amazon Rekognition is temporarily unable to process the request. Try your call again.ProvisionedThroughputExceededException
- The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon
Rekognition.InvalidImageFormatException
- The provided image format is not supported.CreateCollectionResult createCollection(CreateCollectionRequest createCollectionRequest)
Creates a collection in an AWS region. You can add faces to the collection using the operation.
For example, you might create collections, one for each of your application users. A user can then index faces
using the IndexFaces
operation and persist results in a specific collection. Then, a user can search
the collection for faces in the user-specific container.
For an example, see example1.
This operation requires permissions to perform the rekognition:CreateCollection
action.
createCollectionRequest
- InvalidParameterException
- Input parameter violated a constraint. Validate your parameter before calling the API again.AccessDeniedException
- You are not authorized to perform the action.InternalServerErrorException
- Amazon Rekognition experienced a service issue. Try your call again.ThrottlingException
- Amazon Rekognition is temporarily unable to process the request. Try your call again.ProvisionedThroughputExceededException
- The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon
Rekognition.ResourceAlreadyExistsException
- The collection with specific ID already exist.DeleteCollectionResult deleteCollection(DeleteCollectionRequest deleteCollectionRequest)
Deletes the specified collection. Note that this operation removes all faces in the collection. For an example, see example1.
This operation requires permissions to perform the rekognition:DeleteCollection
action.
deleteCollectionRequest
- InvalidParameterException
- Input parameter violated a constraint. Validate your parameter before calling the API again.AccessDeniedException
- You are not authorized to perform the action.InternalServerErrorException
- Amazon Rekognition experienced a service issue. Try your call again.ThrottlingException
- Amazon Rekognition is temporarily unable to process the request. Try your call again.ProvisionedThroughputExceededException
- The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon
Rekognition.ResourceNotFoundException
- Collection specified in the request is not found.DeleteFacesResult deleteFaces(DeleteFacesRequest deleteFacesRequest)
Deletes faces from a collection. You specify a collection ID and an array of face IDs to remove from the collection.
This operation requires permissions to perform the rekognition:DeleteFaces
action.
deleteFacesRequest
- InvalidParameterException
- Input parameter violated a constraint. Validate your parameter before calling the API again.AccessDeniedException
- You are not authorized to perform the action.InternalServerErrorException
- Amazon Rekognition experienced a service issue. Try your call again.ThrottlingException
- Amazon Rekognition is temporarily unable to process the request. Try your call again.ProvisionedThroughputExceededException
- The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon
Rekognition.ResourceNotFoundException
- Collection specified in the request is not found.DetectFacesResult detectFaces(DetectFacesRequest detectFacesRequest)
Detects faces within an image (JPEG or PNG) that is provided as input.
For each face detected, the operation returns face details including a bounding box of the face, a confidence value (that the bounding box contains a face), and a fixed set of attributes such as facial landmarks (for example, coordinates of eye and mouth), gender, presence of beard, sunglasses, etc.
The face-detection algorithm is most effective on frontal faces. For non-frontal or obscured faces, the algorithm may not detect the faces or might detect faces with lower confidence.
This is a stateless API operation. That is, the operation does not persist any data.
For an example, see get-started-exercise-detect-faces.
This operation requires permissions to perform the rekognition:DetectFaces
action.
detectFacesRequest
- InvalidS3ObjectException
- Amazon Rekognition is unable to access the S3 object specified in the request.InvalidParameterException
- Input parameter violated a constraint. Validate your parameter before calling the API again.ImageTooLargeException
- The input image size exceeds the allowed limit. For more information, see limits.AccessDeniedException
- You are not authorized to perform the action.InternalServerErrorException
- Amazon Rekognition experienced a service issue. Try your call again.ThrottlingException
- Amazon Rekognition is temporarily unable to process the request. Try your call again.ProvisionedThroughputExceededException
- The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon
Rekognition.InvalidImageFormatException
- The provided image format is not supported.DetectLabelsResult detectLabels(DetectLabelsRequest detectLabelsRequest)
Detects instances of real-world labels within an image (JPEG or PNG) provided as input. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; and concepts like landscape, evening, and nature. For an example, see get-started-exercise-detect-labels.
For each object, scene, and concept the API returns one or more labels. Each label provides the object name, and the level of confidence that the image contains the object. For example, suppose the input image has a lighthouse, the sea, and a rock. The response will include all three labels, one for each object.
{Name: lighthouse, Confidence: 98.4629}
{Name: rock,Confidence: 79.2097}
{Name: sea,Confidence: 75.061}
In the preceding example, the operation returns one label for each of the three objects. The operation can also return multiple labels for the same object in the image. For example, if the input image shows a flower (for example, a tulip), the operation might return the following three labels.
{Name: flower,Confidence: 99.0562}
{Name: plant,Confidence: 99.0562}
{Name: tulip,Confidence: 99.0562}
In this example, the detection algorithm more precisely identifies the flower as a tulip.
You can provide the input image as an S3 object or as base64-encoded bytes. In response, the API returns an array
of labels. In addition, the response also includes the orientation correction. Optionally, you can specify
MinConfidence
to control the confidence threshold for the labels returned. The default is 50%. You
can also add the MaxLabels
parameter to limit the number of labels returned.
If the object detected is a person, the operation doesn't provide the same facial details that the DetectFaces operation provides.
This is a stateless API operation. That is, the operation does not persist any data.
This operation requires permissions to perform the rekognition:DetectLabels
action.
detectLabelsRequest
- InvalidS3ObjectException
- Amazon Rekognition is unable to access the S3 object specified in the request.InvalidParameterException
- Input parameter violated a constraint. Validate your parameter before calling the API again.ImageTooLargeException
- The input image size exceeds the allowed limit. For more information, see limits.AccessDeniedException
- You are not authorized to perform the action.InternalServerErrorException
- Amazon Rekognition experienced a service issue. Try your call again.ThrottlingException
- Amazon Rekognition is temporarily unable to process the request. Try your call again.ProvisionedThroughputExceededException
- The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon
Rekognition.InvalidImageFormatException
- The provided image format is not supported.IndexFacesResult indexFaces(IndexFacesRequest indexFacesRequest)
Detects faces in the input image and adds them to the specified collection.
Amazon Rekognition does not save the actual faces detected. Instead, the underlying detection algorithm first detects the faces in the input image, and for each face extracts facial features into a feature vector, and stores it in the back-end database. Amazon Rekognition uses feature vectors when performing face match and search operations using the and operations.
If you provide the optional externalImageID
for the input image you provided, Amazon Rekognition
associates this ID with all faces that it detects. When you call the operation, the response returns the external
ID. You can use this external image ID to create a client-side index to associate the faces with each image. You
can then use the index to find all faces in an image.
In response, the operation returns an array of metadata for all detected faces. This includes, the bounding box
of the detected face, confidence value (indicating the bounding box contains a face), a face ID assigned by the
service for each face that is detected and stored, and an image ID assigned by the service for the input image If
you request all facial attributes (using the detectionAttributes
parameter, Rekognition returns
detailed facial attributes such as facial landmarks (for example, location of eye and mount) and other facial
attributes such gender. If you provide the same image, specify the same collection, and use the same external ID
in the IndexFaces
operation, Rekognition doesn't save duplicate face metadata.
For an example, see example2.
This operation requires permissions to perform the rekognition:IndexFaces
action.
indexFacesRequest
- InvalidS3ObjectException
- Amazon Rekognition is unable to access the S3 object specified in the request.InvalidParameterException
- Input parameter violated a constraint. Validate your parameter before calling the API again.ImageTooLargeException
- The input image size exceeds the allowed limit. For more information, see limits.AccessDeniedException
- You are not authorized to perform the action.InternalServerErrorException
- Amazon Rekognition experienced a service issue. Try your call again.ThrottlingException
- Amazon Rekognition is temporarily unable to process the request. Try your call again.ProvisionedThroughputExceededException
- The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon
Rekognition.ResourceNotFoundException
- Collection specified in the request is not found.InvalidImageFormatException
- The provided image format is not supported.ListCollectionsResult listCollections(ListCollectionsRequest listCollectionsRequest)
Returns list of collection IDs in your account. If the result is truncated, the response also provides a
NextToken
that you can use in the subsequent request to fetch the next set of collection IDs.
For an example, see example1.
This operation requires permissions to perform the rekognition:ListCollections
action.
listCollectionsRequest
- InvalidParameterException
- Input parameter violated a constraint. Validate your parameter before calling the API again.AccessDeniedException
- You are not authorized to perform the action.InternalServerErrorException
- Amazon Rekognition experienced a service issue. Try your call again.ThrottlingException
- Amazon Rekognition is temporarily unable to process the request. Try your call again.ProvisionedThroughputExceededException
- The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon
Rekognition.InvalidPaginationTokenException
- Pagination token in the request is not valid.ResourceNotFoundException
- Collection specified in the request is not found.ListFacesResult listFaces(ListFacesRequest listFacesRequest)
Returns metadata for faces in the specified collection. This metadata includes information such as the bounding box coordinates, the confidence (that the bounding box contains a face), and face ID. For an example, see example3.
This operation requires permissions to perform the rekognition:ListFaces
action.
listFacesRequest
- InvalidParameterException
- Input parameter violated a constraint. Validate your parameter before calling the API again.AccessDeniedException
- You are not authorized to perform the action.InternalServerErrorException
- Amazon Rekognition experienced a service issue. Try your call again.ThrottlingException
- Amazon Rekognition is temporarily unable to process the request. Try your call again.ProvisionedThroughputExceededException
- The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon
Rekognition.InvalidPaginationTokenException
- Pagination token in the request is not valid.ResourceNotFoundException
- Collection specified in the request is not found.SearchFacesResult searchFaces(SearchFacesRequest searchFacesRequest)
For a given input face ID, searches the specified collection for matching faces. You get a face ID when you add a face to the collection using the IndexFaces operation. The operation compares the features of the input face with faces in the specified collection.
You can also search faces without indexing faces by using the SearchFacesByImage
operation.
The operation response returns an array of faces that match, ordered by similarity score with the highest
similarity first. More specifically, it is an array of metadata for each face match that is found. Along with the
metadata, the response also includes a confidence
value for each face match, indicating the
confidence that the specific face matches the input face.
For an example, see example3.
This operation requires permissions to perform the rekognition:SearchFaces
action.
searchFacesRequest
- InvalidParameterException
- Input parameter violated a constraint. Validate your parameter before calling the API again.AccessDeniedException
- You are not authorized to perform the action.InternalServerErrorException
- Amazon Rekognition experienced a service issue. Try your call again.ThrottlingException
- Amazon Rekognition is temporarily unable to process the request. Try your call again.ProvisionedThroughputExceededException
- The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon
Rekognition.ResourceNotFoundException
- Collection specified in the request is not found.SearchFacesByImageResult searchFacesByImage(SearchFacesByImageRequest searchFacesByImageRequest)
For a given input image, first detects the largest face in the image, and then searches the specified collection for matching faces. The operation compares the features of the input face with faces in the specified collection.
To search for all faces in an input image, you might first call the API, and then use the face IDs returned in subsequent calls to the API.
You can also call the DetectFaces
API and use the bounding boxes in the response to make face crops,
which then you can pass in to the SearchFacesByImage
API.
The response returns an array of faces that match, ordered by similarity score with the highest similarity first.
More specifically, it is an array of metadata for each face match found. Along with the metadata, the response
also includes a similarity
indicating how similar the face is to the input face. In the response,
the API also returns the bounding box (and a confidence level that the bounding box contains a face) of the face
that Rekognition used for the input image.
For an example, see example3.
This operation requires permissions to perform the rekognition:SearchFacesByImage
action.
searchFacesByImageRequest
- InvalidS3ObjectException
- Amazon Rekognition is unable to access the S3 object specified in the request.InvalidParameterException
- Input parameter violated a constraint. Validate your parameter before calling the API again.ImageTooLargeException
- The input image size exceeds the allowed limit. For more information, see limits.AccessDeniedException
- You are not authorized to perform the action.InternalServerErrorException
- Amazon Rekognition experienced a service issue. Try your call again.ThrottlingException
- Amazon Rekognition is temporarily unable to process the request. Try your call again.ProvisionedThroughputExceededException
- The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon
Rekognition.ResourceNotFoundException
- Collection specified in the request is not found.InvalidImageFormatException
- The provided image format is not supported.void shutdown()
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request)
Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic information for an executed request, you should use this method to retrieve it as soon as possible after executing a request.
request
- The originally executed request.Copyright © 2013 Amazon Web Services, Inc. All Rights Reserved.