aws-sdk-rekognition 1.0.0.rc9 → 1.0.0.rc10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1c0e3ac4affb7c4f40cc3a701f42d7e10e170701
4
- data.tar.gz: 319ada6fe5d0593bb38e0dd594f0cd83f682cc64
3
+ metadata.gz: d530f5a46ac184014f42546dc6fa4d7fb44c9524
4
+ data.tar.gz: a6f7cd4bc098e1846794f975b44e74f7446d379c
5
5
  SHA512:
6
- metadata.gz: caee8ac7b503267e8fb663340d318cb33ea96b81708c90177ba72ecd3606382e09017d7c3fcf0ed36db1fa5531a5507bab556c23bb6e9084f6f6d8bc8d4c63ec
7
- data.tar.gz: eeafea754e97bf12bb916a354cf275c4e5d6da26b5c2499d3c2565f15641ce7ba8f06bd3595b156d4175299b0d134a82beb061e9b7f5b985c489c8514bcd1d66
6
+ metadata.gz: 4ca0644eec96c84f77e46280557b52643a91f3a834a8419ed28402ddc0b7233f1272badb4beaaecb0e3cbfec1dfec06a8303cb61666fb6f678ac7f11f47e1c94
7
+ data.tar.gz: e48374dcc8436f70f4f9884713ee92bc955b75e5a2329e70734d589c7c117b589c8dcc994dd843574f6a86b54dcb20a1139064b08e88edc744c2477aff1e401e
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-rekognition/customizations'
42
42
  # @service
43
43
  module Aws::Rekognition
44
44
 
45
- GEM_VERSION = '1.0.0.rc9'
45
+ GEM_VERSION = '1.0.0.rc10'
46
46
 
47
47
  end
@@ -159,51 +159,62 @@ module Aws::Rekognition
159
159
  # the *target* input image.
160
160
  #
161
161
  # <note markdown="1"> If the source image contains multiple faces, the service detects the
162
- # largest face and uses it to compare with each face detected in the
163
- # target image.
162
+ # largest face and compares it with each face detected in the target
163
+ # image.
164
164
  #
165
165
  # </note>
166
166
  #
167
167
  # In response, the operation returns an array of face matches ordered by
168
- # similarity score with the highest similarity scores first. For each
169
- # face match, the response provides a bounding box of the face and
170
- # `confidence` value (indicating the level of confidence that the
171
- # bounding box contains a face). The response also provides a
172
- # `similarity` score, which indicates how closely the faces match.
168
+ # similarity score in descending order. For each face match, the
169
+ # response provides a bounding box of the face, facial landmarks, pose
170
+ # details (pitch, role, and yaw), quality (brightness and sharpness),
171
+ # and confidence value (indicating the level of confidence that the
172
+ # bounding box contains a face). The response also provides a similarity
173
+ # score, which indicates how closely the faces match.
173
174
  #
174
- # <note markdown="1"> By default, only faces with the similarity score of greater than or
175
- # equal to 80% are returned in the response. You can change this value.
175
+ # <note markdown="1"> By default, only faces with a similarity score of greater than or
176
+ # equal to 80% are returned in the response. You can change this value
177
+ # by specifying the `SimilarityThreshold` parameter.
176
178
  #
177
179
  # </note>
178
180
  #
179
- # In addition to the face matches, the response returns information
180
- # about the face in the source image, including the bounding box of the
181
- # face and confidence value.
181
+ # `CompareFaces` also returns an array of faces that don't match the
182
+ # source image. For each face, it returns a bounding box, confidence
183
+ # value, landmarks, pose details, and quality. The response also returns
184
+ # information about the face in the source image, including the bounding
185
+ # box of the face and confidence value.
182
186
  #
183
- # <note markdown="1"> This is a stateless API operation. That is, the operation does not
184
- # persist any data.
187
+ # If the image doesn't contain Exif metadata, `CompareFaces` returns
188
+ # orientation information for the source and target images. Use these
189
+ # values to display the images with the correct image orientation.
190
+ #
191
+ # <note markdown="1"> This is a stateless API operation. That is, data returned by this
192
+ # operation doesn't persist.
185
193
  #
186
194
  # </note>
187
195
  #
188
- # For an example, see get-started-exercise-compare-faces
196
+ # For an example, see get-started-exercise-compare-faces.
189
197
  #
190
198
  # This operation requires permissions to perform the
191
199
  # `rekognition:CompareFaces` action.
192
200
  #
193
201
  # @option params [required, Types::Image] :source_image
194
- # Source image either as bytes or an S3 object
202
+ # The source image, either as bytes or as an S3 object.
195
203
  #
196
204
  # @option params [required, Types::Image] :target_image
197
- # Target image either as bytes or an S3 object
205
+ # The target image, either as bytes or as an S3 object.
198
206
  #
199
207
  # @option params [Float] :similarity_threshold
200
- # The minimum level of confidence in the match you want included in the
201
- # result.
208
+ # The minimum level of confidence in the face matches that a match must
209
+ # meet to be included in the `FaceMatches` array.
202
210
  #
203
211
  # @return [Types::CompareFacesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
204
212
  #
205
213
  # * {Types::CompareFacesResponse#source_image_face #source_image_face} => Types::ComparedSourceImageFace
206
214
  # * {Types::CompareFacesResponse#face_matches #face_matches} => Array&lt;Types::CompareFacesMatch&gt;
215
+ # * {Types::CompareFacesResponse#unmatched_faces #unmatched_faces} => Array&lt;Types::ComparedFace&gt;
216
+ # * {Types::CompareFacesResponse#source_image_orientation_correction #source_image_orientation_correction} => String
217
+ # * {Types::CompareFacesResponse#target_image_orientation_correction #target_image_orientation_correction} => String
207
218
  #
208
219
  # @example Request syntax with placeholder values
209
220
  #
@@ -241,6 +252,32 @@ module Aws::Rekognition
241
252
  # resp.face_matches[0].face.bounding_box.left #=> Float
242
253
  # resp.face_matches[0].face.bounding_box.top #=> Float
243
254
  # resp.face_matches[0].face.confidence #=> Float
255
+ # resp.face_matches[0].face.landmarks #=> Array
256
+ # resp.face_matches[0].face.landmarks[0].type #=> String, one of "EYE_LEFT", "EYE_RIGHT", "NOSE", "MOUTH_LEFT", "MOUTH_RIGHT", "LEFT_EYEBROW_LEFT", "LEFT_EYEBROW_RIGHT", "LEFT_EYEBROW_UP", "RIGHT_EYEBROW_LEFT", "RIGHT_EYEBROW_RIGHT", "RIGHT_EYEBROW_UP", "LEFT_EYE_LEFT", "LEFT_EYE_RIGHT", "LEFT_EYE_UP", "LEFT_EYE_DOWN", "RIGHT_EYE_LEFT", "RIGHT_EYE_RIGHT", "RIGHT_EYE_UP", "RIGHT_EYE_DOWN", "NOSE_LEFT", "NOSE_RIGHT", "MOUTH_UP", "MOUTH_DOWN", "LEFT_PUPIL", "RIGHT_PUPIL"
257
+ # resp.face_matches[0].face.landmarks[0].x #=> Float
258
+ # resp.face_matches[0].face.landmarks[0].y #=> Float
259
+ # resp.face_matches[0].face.pose.roll #=> Float
260
+ # resp.face_matches[0].face.pose.yaw #=> Float
261
+ # resp.face_matches[0].face.pose.pitch #=> Float
262
+ # resp.face_matches[0].face.quality.brightness #=> Float
263
+ # resp.face_matches[0].face.quality.sharpness #=> Float
264
+ # resp.unmatched_faces #=> Array
265
+ # resp.unmatched_faces[0].bounding_box.width #=> Float
266
+ # resp.unmatched_faces[0].bounding_box.height #=> Float
267
+ # resp.unmatched_faces[0].bounding_box.left #=> Float
268
+ # resp.unmatched_faces[0].bounding_box.top #=> Float
269
+ # resp.unmatched_faces[0].confidence #=> Float
270
+ # resp.unmatched_faces[0].landmarks #=> Array
271
+ # resp.unmatched_faces[0].landmarks[0].type #=> String, one of "EYE_LEFT", "EYE_RIGHT", "NOSE", "MOUTH_LEFT", "MOUTH_RIGHT", "LEFT_EYEBROW_LEFT", "LEFT_EYEBROW_RIGHT", "LEFT_EYEBROW_UP", "RIGHT_EYEBROW_LEFT", "RIGHT_EYEBROW_RIGHT", "RIGHT_EYEBROW_UP", "LEFT_EYE_LEFT", "LEFT_EYE_RIGHT", "LEFT_EYE_UP", "LEFT_EYE_DOWN", "RIGHT_EYE_LEFT", "RIGHT_EYE_RIGHT", "RIGHT_EYE_UP", "RIGHT_EYE_DOWN", "NOSE_LEFT", "NOSE_RIGHT", "MOUTH_UP", "MOUTH_DOWN", "LEFT_PUPIL", "RIGHT_PUPIL"
272
+ # resp.unmatched_faces[0].landmarks[0].x #=> Float
273
+ # resp.unmatched_faces[0].landmarks[0].y #=> Float
274
+ # resp.unmatched_faces[0].pose.roll #=> Float
275
+ # resp.unmatched_faces[0].pose.yaw #=> Float
276
+ # resp.unmatched_faces[0].pose.pitch #=> Float
277
+ # resp.unmatched_faces[0].quality.brightness #=> Float
278
+ # resp.unmatched_faces[0].quality.sharpness #=> Float
279
+ # resp.source_image_orientation_correction #=> String, one of "ROTATE_0", "ROTATE_90", "ROTATE_180", "ROTATE_270"
280
+ # resp.target_image_orientation_correction #=> String, one of "ROTATE_0", "ROTATE_90", "ROTATE_180", "ROTATE_270"
244
281
  #
245
282
  # @overload compare_faces(params = {})
246
283
  # @param [Hash] params ({})
@@ -257,6 +294,10 @@ module Aws::Rekognition
257
294
  # operation and persist results in a specific collection. Then, a user
258
295
  # can search the collection for faces in the user-specific container.
259
296
  #
297
+ # <note markdown="1"> Collection names are case-sensitive.
298
+ #
299
+ # </note>
300
+ #
260
301
  # For an example, see example1.
261
302
  #
262
303
  # This operation requires permissions to perform the
@@ -380,7 +421,7 @@ module Aws::Rekognition
380
421
  # an S3 object.
381
422
  #
382
423
  # @option params [Array<String>] :attributes
383
- # A list of facial attributes you want to be returned. This can be the
424
+ # An array of facial attributes you want to be returned. This can be the
384
425
  # default list of attributes or all attributes. If you don't specify a
385
426
  # value for `Attributes` or if you specify `["DEFAULT"]`, the API
386
427
  # returns the following subset of facial attributes: `BoundingBox`,
@@ -560,33 +601,18 @@ module Aws::Rekognition
560
601
  req.send_request(options)
561
602
  end
562
603
 
563
- # Detects explicit or suggestive adult content in a specified .jpeg or
564
- # .png image. Use `DetectModerationLabels` to moderate images depending
565
- # on your requirements. For example, you might want to filter images
566
- # that contain nudity, but not images containing suggestive content.
604
+ # Detects explicit or suggestive adult content in a specified JPEG or
605
+ # PNG format image. Use `DetectModerationLabels` to moderate images
606
+ # depending on your requirements. For example, you might want to filter
607
+ # images that contain nudity, but not images containing suggestive
608
+ # content.
567
609
  #
568
610
  # To filter images, use the labels returned by `DetectModerationLabels`
569
611
  # to determine which types of content are appropriate. For information
570
- # about moderation labels, see howitworks-moderateimage.
612
+ # about moderation labels, see image-moderation.
571
613
  #
572
614
  # @option params [required, Types::Image] :image
573
- # Provides the source image either as bytes or an S3 object.
574
- #
575
- # The region for the S3 bucket containing the S3 object must match the
576
- # region you use for Amazon Rekognition operations.
577
- #
578
- # You may need to Base64-encode the image bytes depending on the
579
- # language you are using and whether or not you are using the AWS SDK.
580
- # For more information, see example4.
581
- #
582
- # If you use the Amazon CLI to call Amazon Rekognition operations,
583
- # passing image bytes using the Bytes property is not supported. You
584
- # must first upload the image to an Amazon S3 bucket and then call the
585
- # operation using the S3Object property.
586
- #
587
- # For Amazon Rekognition to process an S3 object, the user must have
588
- # permission to access the S3 object. For more information, see
589
- # manage-access-resource-policies.
615
+ # The input image as bytes or an S3 object.
590
616
  #
591
617
  # @option params [Float] :min_confidence
592
618
  # Specifies the minimum confidence level for the labels to return.
@@ -628,6 +654,43 @@ module Aws::Rekognition
628
654
  req.send_request(options)
629
655
  end
630
656
 
657
+ # Gets the name and additional information about a celebrity based on
658
+ # his or her Rekognition ID. The additional information is returned as
659
+ # an array of URLs. If there is no additional information about the
660
+ # celebrity, this list is empty. For more information, see
661
+ # celebrity-recognition.
662
+ #
663
+ # This operation requires permissions to perform the
664
+ # `rekognition:GetCelebrityInfo` action.
665
+ #
666
+ # @option params [required, String] :id
667
+ # The ID for the celebrity. You get the celebrity ID from a call to the
668
+ # operation, which recognizes celebrities in an image.
669
+ #
670
+ # @return [Types::GetCelebrityInfoResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
671
+ #
672
+ # * {Types::GetCelebrityInfoResponse#urls #urls} => Array&lt;String&gt;
673
+ # * {Types::GetCelebrityInfoResponse#name #name} => String
674
+ #
675
+ # @example Request syntax with placeholder values
676
+ #
677
+ # resp = client.get_celebrity_info({
678
+ # id: "RekognitionUniqueId", # required
679
+ # })
680
+ #
681
+ # @example Response structure
682
+ #
683
+ # resp.urls #=> Array
684
+ # resp.urls[0] #=> String
685
+ # resp.name #=> String
686
+ #
687
+ # @overload get_celebrity_info(params = {})
688
+ # @param [Hash] params ({})
689
+ def get_celebrity_info(params = {}, options = {})
690
+ req = build_request(:get_celebrity_info, params)
691
+ req.send_request(options)
692
+ end
693
+
631
694
  # Detects faces in the input image and adds them to the specified
632
695
  # collection.
633
696
  #
@@ -649,7 +712,7 @@ module Aws::Rekognition
649
712
  # detected faces. This includes, the bounding box of the detected face,
650
713
  # confidence value (indicating the bounding box contains a face), a face
651
714
  # ID assigned by the service for each face that is detected and stored,
652
- # and an image ID assigned by the service for the input image If you
715
+ # and an image ID assigned by the service for the input image. If you
653
716
  # request all facial attributes (using the `detectionAttributes`
654
717
  # parameter, Amazon Rekognition returns detailed facial attributes such
655
718
  # as facial landmarks (for example, location of eye and mount) and other
@@ -667,30 +730,14 @@ module Aws::Rekognition
667
730
  # that are detected in the input images.
668
731
  #
669
732
  # @option params [required, Types::Image] :image
670
- # Provides the source image either as bytes or an S3 object.
671
- #
672
- # The region for the S3 bucket containing the S3 object must match the
673
- # region you use for Amazon Rekognition operations.
674
- #
675
- # You may need to Base64-encode the image bytes depending on the
676
- # language you are using and whether or not you are using the AWS SDK.
677
- # For more information, see example4.
678
- #
679
- # If you use the Amazon CLI to call Amazon Rekognition operations,
680
- # passing image bytes using the Bytes property is not supported. You
681
- # must first upload the image to an Amazon S3 bucket and then call the
682
- # operation using the S3Object property.
683
- #
684
- # For Amazon Rekognition to process an S3 object, the user must have
685
- # permission to access the S3 object. For more information, see
686
- # manage-access-resource-policies.
733
+ # The input image as bytes or an S3 object.
687
734
  #
688
735
  # @option params [String] :external_image_id
689
736
  # ID you want to assign to all the faces detected in the image.
690
737
  #
691
738
  # @option params [Array<String>] :detection_attributes
692
- # A list of facial attributes that you want to be returned. This can be
693
- # the default list of attributes or all attributes. If you don't
739
+ # An array of facial attributes that you want to be returned. This can
740
+ # be the default list of attributes or all attributes. If you don't
694
741
  # specify a value for `Attributes` or if you specify `["DEFAULT"]`, the
695
742
  # API returns the following subset of facial attributes: `BoundingBox`,
696
743
  # `Confidence`, `Pose`, `Quality` and `Landmarks`. If you provide
@@ -870,6 +917,102 @@ module Aws::Rekognition
870
917
  req.send_request(options)
871
918
  end
872
919
 
920
+ # Returns an array of celebrities recognized in the input image. The
921
+ # image is passed either as base64-encoded image bytes or as a reference
922
+ # to an image in an Amazon S3 bucket. The image must be either a PNG or
923
+ # JPEG formatted file. For more information, see celebrity-recognition.
924
+ #
925
+ # `RecognizeCelebrities` returns the 15 largest faces in the image. It
926
+ # lists recognized celebrities in the `CelebrityFaces` list and
927
+ # unrecognized faces in the `UnrecognizedFaces` list. The operation
928
+ # doesn't return celebrities whose face sizes are smaller than the
929
+ # largest 15 faces in the image.
930
+ #
931
+ # For each celebrity recognized, the API returns a `Celebrity` object.
932
+ # The `Celebrity` object contains the celebrity name, ID, URL links to
933
+ # additional information, match confidence, and a `ComparedFace` object
934
+ # that you can use to locate the celebrity's face on the image.
935
+ #
936
+ # Rekognition does not retain information about which images a celebrity
937
+ # has been recognized in. Your application must store this information
938
+ # and use the `Celebrity` ID property as a unique identifier for the
939
+ # celebrity. If you don't store the celebrity name or additional
940
+ # information URLs returned by `RecognizeCelebrities`, you will need the
941
+ # ID to identify the celebrity in a call to the operation.
942
+ #
943
+ # For an example, see recognize-celebrities-tutorial.
944
+ #
945
+ # This operation requires permissions to perform the
946
+ # `rekognition:RecognizeCelebrities` operation.
947
+ #
948
+ # @option params [required, Types::Image] :image
949
+ # The input image to use for celebrity recognition.
950
+ #
951
+ # @return [Types::RecognizeCelebritiesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
952
+ #
953
+ # * {Types::RecognizeCelebritiesResponse#celebrity_faces #celebrity_faces} => Array&lt;Types::Celebrity&gt;
954
+ # * {Types::RecognizeCelebritiesResponse#unrecognized_faces #unrecognized_faces} => Array&lt;Types::ComparedFace&gt;
955
+ # * {Types::RecognizeCelebritiesResponse#orientation_correction #orientation_correction} => String
956
+ #
957
+ # @example Request syntax with placeholder values
958
+ #
959
+ # resp = client.recognize_celebrities({
960
+ # image: { # required
961
+ # bytes: "data",
962
+ # s3_object: {
963
+ # bucket: "S3Bucket",
964
+ # name: "S3ObjectName",
965
+ # version: "S3ObjectVersion",
966
+ # },
967
+ # },
968
+ # })
969
+ #
970
+ # @example Response structure
971
+ #
972
+ # resp.celebrity_faces #=> Array
973
+ # resp.celebrity_faces[0].urls #=> Array
974
+ # resp.celebrity_faces[0].urls[0] #=> String
975
+ # resp.celebrity_faces[0].name #=> String
976
+ # resp.celebrity_faces[0].id #=> String
977
+ # resp.celebrity_faces[0].face.bounding_box.width #=> Float
978
+ # resp.celebrity_faces[0].face.bounding_box.height #=> Float
979
+ # resp.celebrity_faces[0].face.bounding_box.left #=> Float
980
+ # resp.celebrity_faces[0].face.bounding_box.top #=> Float
981
+ # resp.celebrity_faces[0].face.confidence #=> Float
982
+ # resp.celebrity_faces[0].face.landmarks #=> Array
983
+ # resp.celebrity_faces[0].face.landmarks[0].type #=> String, one of "EYE_LEFT", "EYE_RIGHT", "NOSE", "MOUTH_LEFT", "MOUTH_RIGHT", "LEFT_EYEBROW_LEFT", "LEFT_EYEBROW_RIGHT", "LEFT_EYEBROW_UP", "RIGHT_EYEBROW_LEFT", "RIGHT_EYEBROW_RIGHT", "RIGHT_EYEBROW_UP", "LEFT_EYE_LEFT", "LEFT_EYE_RIGHT", "LEFT_EYE_UP", "LEFT_EYE_DOWN", "RIGHT_EYE_LEFT", "RIGHT_EYE_RIGHT", "RIGHT_EYE_UP", "RIGHT_EYE_DOWN", "NOSE_LEFT", "NOSE_RIGHT", "MOUTH_UP", "MOUTH_DOWN", "LEFT_PUPIL", "RIGHT_PUPIL"
984
+ # resp.celebrity_faces[0].face.landmarks[0].x #=> Float
985
+ # resp.celebrity_faces[0].face.landmarks[0].y #=> Float
986
+ # resp.celebrity_faces[0].face.pose.roll #=> Float
987
+ # resp.celebrity_faces[0].face.pose.yaw #=> Float
988
+ # resp.celebrity_faces[0].face.pose.pitch #=> Float
989
+ # resp.celebrity_faces[0].face.quality.brightness #=> Float
990
+ # resp.celebrity_faces[0].face.quality.sharpness #=> Float
991
+ # resp.celebrity_faces[0].match_confidence #=> Float
992
+ # resp.unrecognized_faces #=> Array
993
+ # resp.unrecognized_faces[0].bounding_box.width #=> Float
994
+ # resp.unrecognized_faces[0].bounding_box.height #=> Float
995
+ # resp.unrecognized_faces[0].bounding_box.left #=> Float
996
+ # resp.unrecognized_faces[0].bounding_box.top #=> Float
997
+ # resp.unrecognized_faces[0].confidence #=> Float
998
+ # resp.unrecognized_faces[0].landmarks #=> Array
999
+ # resp.unrecognized_faces[0].landmarks[0].type #=> String, one of "EYE_LEFT", "EYE_RIGHT", "NOSE", "MOUTH_LEFT", "MOUTH_RIGHT", "LEFT_EYEBROW_LEFT", "LEFT_EYEBROW_RIGHT", "LEFT_EYEBROW_UP", "RIGHT_EYEBROW_LEFT", "RIGHT_EYEBROW_RIGHT", "RIGHT_EYEBROW_UP", "LEFT_EYE_LEFT", "LEFT_EYE_RIGHT", "LEFT_EYE_UP", "LEFT_EYE_DOWN", "RIGHT_EYE_LEFT", "RIGHT_EYE_RIGHT", "RIGHT_EYE_UP", "RIGHT_EYE_DOWN", "NOSE_LEFT", "NOSE_RIGHT", "MOUTH_UP", "MOUTH_DOWN", "LEFT_PUPIL", "RIGHT_PUPIL"
1000
+ # resp.unrecognized_faces[0].landmarks[0].x #=> Float
1001
+ # resp.unrecognized_faces[0].landmarks[0].y #=> Float
1002
+ # resp.unrecognized_faces[0].pose.roll #=> Float
1003
+ # resp.unrecognized_faces[0].pose.yaw #=> Float
1004
+ # resp.unrecognized_faces[0].pose.pitch #=> Float
1005
+ # resp.unrecognized_faces[0].quality.brightness #=> Float
1006
+ # resp.unrecognized_faces[0].quality.sharpness #=> Float
1007
+ # resp.orientation_correction #=> String, one of "ROTATE_0", "ROTATE_90", "ROTATE_180", "ROTATE_270"
1008
+ #
1009
+ # @overload recognize_celebrities(params = {})
1010
+ # @param [Hash] params ({})
1011
+ def recognize_celebrities(params = {}, options = {})
1012
+ req = build_request(:recognize_celebrities, params)
1013
+ req.send_request(options)
1014
+ end
1015
+
873
1016
  # For a given input face ID, searches for matching faces in the
874
1017
  # collection the face belongs to. You get a face ID when you add a face
875
1018
  # to the collection using the IndexFaces operation. The operation
@@ -976,23 +1119,7 @@ module Aws::Rekognition
976
1119
  # ID of the collection to search.
977
1120
  #
978
1121
  # @option params [required, Types::Image] :image
979
- # Provides the source image either as bytes or an S3 object.
980
- #
981
- # The region for the S3 bucket containing the S3 object must match the
982
- # region you use for Amazon Rekognition operations.
983
- #
984
- # You may need to Base64-encode the image bytes depending on the
985
- # language you are using and whether or not you are using the AWS SDK.
986
- # For more information, see example4.
987
- #
988
- # If you use the Amazon CLI to call Amazon Rekognition operations,
989
- # passing image bytes using the Bytes property is not supported. You
990
- # must first upload the image to an Amazon S3 bucket and then call the
991
- # operation using the S3Object property.
992
- #
993
- # For Amazon Rekognition to process an S3 object, the user must have
994
- # permission to access the S3 object. For more information, see
995
- # manage-access-resource-policies.
1122
+ # The input image as bytes or an S3 object.
996
1123
  #
997
1124
  # @option params [Integer] :max_faces
998
1125
  # Maximum number of faces to return. The operation returns the maximum
@@ -1063,7 +1190,7 @@ module Aws::Rekognition
1063
1190
  params: params,
1064
1191
  config: config)
1065
1192
  context[:gem_name] = 'aws-sdk-rekognition'
1066
- context[:gem_version] = '1.0.0.rc9'
1193
+ context[:gem_version] = '1.0.0.rc10'
1067
1194
  Seahorse::Client::Request.new(handlers, context)
1068
1195
  end
1069
1196
 
@@ -18,13 +18,17 @@ module Aws::Rekognition
18
18
  Beard = Shapes::StructureShape.new(name: 'Beard')
19
19
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
20
20
  BoundingBox = Shapes::StructureShape.new(name: 'BoundingBox')
21
+ Celebrity = Shapes::StructureShape.new(name: 'Celebrity')
22
+ CelebrityList = Shapes::ListShape.new(name: 'CelebrityList')
21
23
  CollectionId = Shapes::StringShape.new(name: 'CollectionId')
22
24
  CollectionIdList = Shapes::ListShape.new(name: 'CollectionIdList')
23
25
  CompareFacesMatch = Shapes::StructureShape.new(name: 'CompareFacesMatch')
24
26
  CompareFacesMatchList = Shapes::ListShape.new(name: 'CompareFacesMatchList')
25
27
  CompareFacesRequest = Shapes::StructureShape.new(name: 'CompareFacesRequest')
26
28
  CompareFacesResponse = Shapes::StructureShape.new(name: 'CompareFacesResponse')
29
+ CompareFacesUnmatchList = Shapes::ListShape.new(name: 'CompareFacesUnmatchList')
27
30
  ComparedFace = Shapes::StructureShape.new(name: 'ComparedFace')
31
+ ComparedFaceList = Shapes::ListShape.new(name: 'ComparedFaceList')
28
32
  ComparedSourceImageFace = Shapes::StructureShape.new(name: 'ComparedSourceImageFace')
29
33
  CreateCollectionRequest = Shapes::StructureShape.new(name: 'CreateCollectionRequest')
30
34
  CreateCollectionResponse = Shapes::StructureShape.new(name: 'CreateCollectionResponse')
@@ -58,6 +62,8 @@ module Aws::Rekognition
58
62
  Float = Shapes::FloatShape.new(name: 'Float')
59
63
  Gender = Shapes::StructureShape.new(name: 'Gender')
60
64
  GenderType = Shapes::StringShape.new(name: 'GenderType')
65
+ GetCelebrityInfoRequest = Shapes::StructureShape.new(name: 'GetCelebrityInfoRequest')
66
+ GetCelebrityInfoResponse = Shapes::StructureShape.new(name: 'GetCelebrityInfoResponse')
61
67
  Image = Shapes::StructureShape.new(name: 'Image')
62
68
  ImageBlob = Shapes::BlobShape.new(name: 'ImageBlob')
63
69
  ImageId = Shapes::StringShape.new(name: 'ImageId')
@@ -90,6 +96,9 @@ module Aws::Rekognition
90
96
  Percent = Shapes::FloatShape.new(name: 'Percent')
91
97
  Pose = Shapes::StructureShape.new(name: 'Pose')
92
98
  ProvisionedThroughputExceededException = Shapes::StructureShape.new(name: 'ProvisionedThroughputExceededException')
99
+ RecognizeCelebritiesRequest = Shapes::StructureShape.new(name: 'RecognizeCelebritiesRequest')
100
+ RecognizeCelebritiesResponse = Shapes::StructureShape.new(name: 'RecognizeCelebritiesResponse')
101
+ RekognitionUniqueId = Shapes::StringShape.new(name: 'RekognitionUniqueId')
93
102
  ResourceAlreadyExistsException = Shapes::StructureShape.new(name: 'ResourceAlreadyExistsException')
94
103
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
95
104
  S3Bucket = Shapes::StringShape.new(name: 'S3Bucket')
@@ -105,6 +114,8 @@ module Aws::Rekognition
105
114
  Sunglasses = Shapes::StructureShape.new(name: 'Sunglasses')
106
115
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
107
116
  UInteger = Shapes::IntegerShape.new(name: 'UInteger')
117
+ Url = Shapes::StringShape.new(name: 'Url')
118
+ Urls = Shapes::ListShape.new(name: 'Urls')
108
119
 
109
120
  AgeRange.add_member(:low, Shapes::ShapeRef.new(shape: UInteger, location_name: "Low"))
110
121
  AgeRange.add_member(:high, Shapes::ShapeRef.new(shape: UInteger, location_name: "High"))
@@ -122,6 +133,15 @@ module Aws::Rekognition
122
133
  BoundingBox.add_member(:top, Shapes::ShapeRef.new(shape: Float, location_name: "Top"))
123
134
  BoundingBox.struct_class = Types::BoundingBox
124
135
 
136
+ Celebrity.add_member(:urls, Shapes::ShapeRef.new(shape: Urls, location_name: "Urls"))
137
+ Celebrity.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "Name"))
138
+ Celebrity.add_member(:id, Shapes::ShapeRef.new(shape: RekognitionUniqueId, location_name: "Id"))
139
+ Celebrity.add_member(:face, Shapes::ShapeRef.new(shape: ComparedFace, location_name: "Face"))
140
+ Celebrity.add_member(:match_confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "MatchConfidence"))
141
+ Celebrity.struct_class = Types::Celebrity
142
+
143
+ CelebrityList.member = Shapes::ShapeRef.new(shape: Celebrity)
144
+
125
145
  CollectionIdList.member = Shapes::ShapeRef.new(shape: CollectionId)
126
146
 
127
147
  CompareFacesMatch.add_member(:similarity, Shapes::ShapeRef.new(shape: Percent, location_name: "Similarity"))
@@ -137,12 +157,22 @@ module Aws::Rekognition
137
157
 
138
158
  CompareFacesResponse.add_member(:source_image_face, Shapes::ShapeRef.new(shape: ComparedSourceImageFace, location_name: "SourceImageFace"))
139
159
  CompareFacesResponse.add_member(:face_matches, Shapes::ShapeRef.new(shape: CompareFacesMatchList, location_name: "FaceMatches"))
160
+ CompareFacesResponse.add_member(:unmatched_faces, Shapes::ShapeRef.new(shape: CompareFacesUnmatchList, location_name: "UnmatchedFaces"))
161
+ CompareFacesResponse.add_member(:source_image_orientation_correction, Shapes::ShapeRef.new(shape: OrientationCorrection, location_name: "SourceImageOrientationCorrection"))
162
+ CompareFacesResponse.add_member(:target_image_orientation_correction, Shapes::ShapeRef.new(shape: OrientationCorrection, location_name: "TargetImageOrientationCorrection"))
140
163
  CompareFacesResponse.struct_class = Types::CompareFacesResponse
141
164
 
165
+ CompareFacesUnmatchList.member = Shapes::ShapeRef.new(shape: ComparedFace)
166
+
142
167
  ComparedFace.add_member(:bounding_box, Shapes::ShapeRef.new(shape: BoundingBox, location_name: "BoundingBox"))
143
168
  ComparedFace.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
169
+ ComparedFace.add_member(:landmarks, Shapes::ShapeRef.new(shape: Landmarks, location_name: "Landmarks"))
170
+ ComparedFace.add_member(:pose, Shapes::ShapeRef.new(shape: Pose, location_name: "Pose"))
171
+ ComparedFace.add_member(:quality, Shapes::ShapeRef.new(shape: ImageQuality, location_name: "Quality"))
144
172
  ComparedFace.struct_class = Types::ComparedFace
145
173
 
174
+ ComparedFaceList.member = Shapes::ShapeRef.new(shape: ComparedFace)
175
+
146
176
  ComparedSourceImageFace.add_member(:bounding_box, Shapes::ShapeRef.new(shape: BoundingBox, location_name: "BoundingBox"))
147
177
  ComparedSourceImageFace.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
148
178
  ComparedSourceImageFace.struct_class = Types::ComparedSourceImageFace
@@ -251,6 +281,13 @@ module Aws::Rekognition
251
281
  Gender.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
252
282
  Gender.struct_class = Types::Gender
253
283
 
284
+ GetCelebrityInfoRequest.add_member(:id, Shapes::ShapeRef.new(shape: RekognitionUniqueId, required: true, location_name: "Id"))
285
+ GetCelebrityInfoRequest.struct_class = Types::GetCelebrityInfoRequest
286
+
287
+ GetCelebrityInfoResponse.add_member(:urls, Shapes::ShapeRef.new(shape: Urls, location_name: "Urls"))
288
+ GetCelebrityInfoResponse.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "Name"))
289
+ GetCelebrityInfoResponse.struct_class = Types::GetCelebrityInfoResponse
290
+
254
291
  Image.add_member(:bytes, Shapes::ShapeRef.new(shape: ImageBlob, location_name: "Bytes"))
255
292
  Image.add_member(:s3_object, Shapes::ShapeRef.new(shape: S3Object, location_name: "S3Object"))
256
293
  Image.struct_class = Types::Image
@@ -319,6 +356,14 @@ module Aws::Rekognition
319
356
  Pose.add_member(:pitch, Shapes::ShapeRef.new(shape: Degree, location_name: "Pitch"))
320
357
  Pose.struct_class = Types::Pose
321
358
 
359
+ RecognizeCelebritiesRequest.add_member(:image, Shapes::ShapeRef.new(shape: Image, required: true, location_name: "Image"))
360
+ RecognizeCelebritiesRequest.struct_class = Types::RecognizeCelebritiesRequest
361
+
362
+ RecognizeCelebritiesResponse.add_member(:celebrity_faces, Shapes::ShapeRef.new(shape: CelebrityList, location_name: "CelebrityFaces"))
363
+ RecognizeCelebritiesResponse.add_member(:unrecognized_faces, Shapes::ShapeRef.new(shape: ComparedFaceList, location_name: "UnrecognizedFaces"))
364
+ RecognizeCelebritiesResponse.add_member(:orientation_correction, Shapes::ShapeRef.new(shape: OrientationCorrection, location_name: "OrientationCorrection"))
365
+ RecognizeCelebritiesResponse.struct_class = Types::RecognizeCelebritiesResponse
366
+
322
367
  S3Object.add_member(:bucket, Shapes::ShapeRef.new(shape: S3Bucket, location_name: "Bucket"))
323
368
  S3Object.add_member(:name, Shapes::ShapeRef.new(shape: S3ObjectName, location_name: "Name"))
324
369
  S3Object.add_member(:version, Shapes::ShapeRef.new(shape: S3ObjectVersion, location_name: "Version"))
@@ -353,6 +398,8 @@ module Aws::Rekognition
353
398
  Sunglasses.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
354
399
  Sunglasses.struct_class = Types::Sunglasses
355
400
 
401
+ Urls.member = Shapes::ShapeRef.new(shape: Url)
402
+
356
403
 
357
404
  # @api private
358
405
  API = Seahorse::Model::Api.new.tap do |api|
@@ -474,6 +521,20 @@ module Aws::Rekognition
474
521
  o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
475
522
  end)
476
523
 
524
+ api.add_operation(:get_celebrity_info, Seahorse::Model::Operation.new.tap do |o|
525
+ o.name = "GetCelebrityInfo"
526
+ o.http_method = "POST"
527
+ o.http_request_uri = "/"
528
+ o.input = Shapes::ShapeRef.new(shape: GetCelebrityInfoRequest)
529
+ o.output = Shapes::ShapeRef.new(shape: GetCelebrityInfoResponse)
530
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
531
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
532
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
533
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
534
+ o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
535
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
536
+ end)
537
+
477
538
  api.add_operation(:index_faces, Seahorse::Model::Operation.new.tap do |o|
478
539
  o.name = "IndexFaces"
479
540
  o.http_method = "POST"
@@ -533,6 +594,23 @@ module Aws::Rekognition
533
594
  )
534
595
  end)
535
596
 
597
+ api.add_operation(:recognize_celebrities, Seahorse::Model::Operation.new.tap do |o|
598
+ o.name = "RecognizeCelebrities"
599
+ o.http_method = "POST"
600
+ o.http_request_uri = "/"
601
+ o.input = Shapes::ShapeRef.new(shape: RecognizeCelebritiesRequest)
602
+ o.output = Shapes::ShapeRef.new(shape: RecognizeCelebritiesResponse)
603
+ o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
604
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
605
+ o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
606
+ o.errors << Shapes::ShapeRef.new(shape: ImageTooLargeException)
607
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
608
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
609
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
610
+ o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
611
+ o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
612
+ end)
613
+
536
614
  api.add_operation(:search_faces, Seahorse::Model::Operation.new.tap do |o|
537
615
  o.name = "SearchFaces"
538
616
  o.http_method = "POST"
@@ -97,9 +97,46 @@ module Aws::Rekognition
97
97
  include Aws::Structure
98
98
  end
99
99
 
100
- # For the provided the bounding box, confidence level that the bounding
101
- # box actually contains a face, and the similarity between the face in
102
- # the bounding box and the face in the source image.
100
+ # Provides information about a celebrity recognized by the operation.
101
+ #
102
+ # @!attribute [rw] urls
103
+ # An array of URLs pointing to additional information about the
104
+ # celebrity. If there is no additional information about the
105
+ # celebrity, this list is empty.
106
+ # @return [Array<String>]
107
+ #
108
+ # @!attribute [rw] name
109
+ # The name of the celebrity.
110
+ # @return [String]
111
+ #
112
+ # @!attribute [rw] id
113
+ # A unique identifier for the celebrity.
114
+ # @return [String]
115
+ #
116
+ # @!attribute [rw] face
117
+ # Provides information about the celebrity's face, such as its
118
+ # location on the image.
119
+ # @return [Types::ComparedFace]
120
+ #
121
+ # @!attribute [rw] match_confidence
122
+ # The confidence, in percentage, that Rekognition has that the
123
+ # recognized face is the celebrity.
124
+ # @return [Float]
125
+ #
126
+ class Celebrity < Struct.new(
127
+ :urls,
128
+ :name,
129
+ :id,
130
+ :face,
131
+ :match_confidence)
132
+ include Aws::Structure
133
+ end
134
+
135
+ # Provides information about a face in a target image that matches the
136
+ # source image face analysed by `CompareFaces`. The `Face` property
137
+ # contains the bounding box of the face in the target image. The
138
+ # `Similarity` property is the confidence that the source image face
139
+ # matches the face in the bounding box.
103
140
  #
104
141
  # @!attribute [rw] similarity
105
142
  # Level of confidence that the faces match.
@@ -140,16 +177,16 @@ module Aws::Rekognition
140
177
  # }
141
178
  #
142
179
  # @!attribute [rw] source_image
143
- # Source image either as bytes or an S3 object
180
+ # The source image, either as bytes or as an S3 object.
144
181
  # @return [Types::Image]
145
182
  #
146
183
  # @!attribute [rw] target_image
147
- # Target image either as bytes or an S3 object
184
+ # The target image, either as bytes or as an S3 object.
148
185
  # @return [Types::Image]
149
186
  #
150
187
  # @!attribute [rw] similarity_threshold
151
- # The minimum level of confidence in the match you want included in
152
- # the result.
188
+ # The minimum level of confidence in the face matches that a match
189
+ # must meet to be included in the `FaceMatches` array.
153
190
  # @return [Float]
154
191
  #
155
192
  class CompareFacesRequest < Struct.new(
@@ -160,59 +197,97 @@ module Aws::Rekognition
160
197
  end
161
198
 
162
199
  # @!attribute [rw] source_image_face
163
- # The face from the source image that was used for comparison.
200
+ # The face in the source image that was used for comparison.
164
201
  # @return [Types::ComparedSourceImageFace]
165
202
  #
166
203
  # @!attribute [rw] face_matches
167
- # Provides an array of `CompareFacesMatch` objects. Each object
168
- # provides the bounding box, confidence that the bounding box contains
169
- # a face, and the similarity between the face in the bounding box and
170
- # the face in the source image.
204
+ # An array of faces in the target image that match the source image
205
+ # face. Each `CompareFacesMatch` object provides the bounding box, the
206
+ # confidence level that the bounding box contains a face, and the
207
+ # similarity score for the face in the bounding box and the face in
208
+ # the source image.
171
209
  # @return [Array<Types::CompareFacesMatch>]
172
210
  #
211
+ # @!attribute [rw] unmatched_faces
212
+ # An array of faces in the target image that did not match the source
213
+ # image face.
214
+ # @return [Array<Types::ComparedFace>]
215
+ #
216
+ # @!attribute [rw] source_image_orientation_correction
217
+ # The orientation of the source image (counterclockwise direction). If
218
+ # your application displays the source image, you can use this value
219
+ # to correct image orientation. The bounding box coordinates returned
220
+ # in `SourceImageFace` represent the location of the face before the
221
+ # image orientation is corrected.
222
+ #
223
+ # <note markdown="1"> If the source image is in .jpeg format, it might contain
224
+ # exchangeable image (Exif) metadata that includes the image's
225
+ # orientation. If the Exif metadata for the source image populates the
226
+ # orientation field, the value of `OrientationCorrection` is null and
227
+ # the `SourceImageFace` bounding box coordinates represent the
228
+ # location of the face after Exif metadata is used to correct the
229
+ # orientation. Images in .png format don't contain Exif metadata.
230
+ #
231
+ # </note>
232
+ # @return [String]
233
+ #
234
+ # @!attribute [rw] target_image_orientation_correction
235
+ # The orientation of the target image (in counterclockwise direction).
236
+ # If your application displays the target image, you can use this
237
+ # value to correct the orientation of the image. The bounding box
238
+ # coordinates returned in `FaceMatches` and `UnmatchedFaces` represent
239
+ # face locations before the image orientation is corrected.
240
+ #
241
+ # <note markdown="1"> If the target image is in .jpg format, it might contain Exif
242
+ # metadata that includes the orientation of the image. If the Exif
243
+ # metadata for the target image populates the orientation field, the
244
+ # value of `OrientationCorrection` is null and the bounding box
245
+ # coordinates in `FaceMatches` and `UnmatchedFaces` represent the
246
+ # location of the face after Exif metadata is used to correct the
247
+ # orientation. Images in .png format don't contain Exif metadata.
248
+ #
249
+ # </note>
250
+ # @return [String]
251
+ #
173
252
  class CompareFacesResponse < Struct.new(
174
253
  :source_image_face,
175
- :face_matches)
254
+ :face_matches,
255
+ :unmatched_faces,
256
+ :source_image_orientation_correction,
257
+ :target_image_orientation_correction)
176
258
  include Aws::Structure
177
259
  end
178
260
 
179
- # Provides face metadata (bounding box and confidence that the bounding
180
- # box actually contains a face).
261
+ # Provides face metadata for target image faces that are analysed by
262
+ # `CompareFaces` and `RecognizeCelebrities`.
181
263
  #
182
264
  # @!attribute [rw] bounding_box
183
- # Identifies the bounding box around the object or face. The `left`
184
- # (x-coordinate) and `top` (y-coordinate) are coordinates representing
185
- # the top and left sides of the bounding box. Note that the upper-left
186
- # corner of the image is the origin (0,0).
187
- #
188
- # The `top` and `left` values returned are ratios of the overall image
189
- # size. For example, if the input image is 700x200 pixels, and the
190
- # top-left coordinate of the bounding box is 350x50 pixels, the API
191
- # returns a `left` value of 0.5 (350/700) and a `top` value of 0.25
192
- # (50/200).
193
- #
194
- # The `width` and `height` values represent the dimensions of the
195
- # bounding box as a ratio of the overall image dimension. For example,
196
- # if the input image is 700x200 pixels, and the bounding box width is
197
- # 70 pixels, the width returned is 0.1.
198
- #
199
- # <note markdown="1"> The bounding box coordinates can have negative values. For example,
200
- # if Amazon Rekognition is able to detect a face that is at the image
201
- # edge and is only partially visible, the service can return
202
- # coordinates that are outside the image bounds and, depending on the
203
- # image edge, you might get negative values or values greater than 1
204
- # for the `left` or `top` values.
205
- #
206
- # </note>
265
+ # Bounding box of the face.
207
266
  # @return [Types::BoundingBox]
208
267
  #
209
268
  # @!attribute [rw] confidence
210
269
  # Level of confidence that what the bounding box contains is a face.
211
270
  # @return [Float]
212
271
  #
272
+ # @!attribute [rw] landmarks
273
+ # An array of facial landmarks.
274
+ # @return [Array<Types::Landmark>]
275
+ #
276
+ # @!attribute [rw] pose
277
+ # Indicates the pose of the face as determined by its pitch, roll, and
278
+ # yaw.
279
+ # @return [Types::Pose]
280
+ #
281
+ # @!attribute [rw] quality
282
+ # Identifies face image brightness and sharpness.
283
+ # @return [Types::ImageQuality]
284
+ #
213
285
  class ComparedFace < Struct.new(
214
286
  :bounding_box,
215
- :confidence)
287
+ :confidence,
288
+ :landmarks,
289
+ :pose,
290
+ :quality)
216
291
  include Aws::Structure
217
292
  end
218
293
 
@@ -223,30 +298,7 @@ module Aws::Rekognition
223
298
  # for this comparison.
224
299
  #
225
300
  # @!attribute [rw] bounding_box
226
- # Identifies the bounding box around the object or face. The `left`
227
- # (x-coordinate) and `top` (y-coordinate) are coordinates representing
228
- # the top and left sides of the bounding box. Note that the upper-left
229
- # corner of the image is the origin (0,0).
230
- #
231
- # The `top` and `left` values returned are ratios of the overall image
232
- # size. For example, if the input image is 700x200 pixels, and the
233
- # top-left coordinate of the bounding box is 350x50 pixels, the API
234
- # returns a `left` value of 0.5 (350/700) and a `top` value of 0.25
235
- # (50/200).
236
- #
237
- # The `width` and `height` values represent the dimensions of the
238
- # bounding box as a ratio of the overall image dimension. For example,
239
- # if the input image is 700x200 pixels, and the bounding box width is
240
- # 70 pixels, the width returned is 0.1.
241
- #
242
- # <note markdown="1"> The bounding box coordinates can have negative values. For example,
243
- # if Amazon Rekognition is able to detect a face that is at the image
244
- # edge and is only partially visible, the service can return
245
- # coordinates that are outside the image bounds and, depending on the
246
- # image edge, you might get negative values or values greater than 1
247
- # for the `left` or `top` values.
248
- #
249
- # </note>
301
+ # Bounding box of the face.
250
302
  # @return [Types::BoundingBox]
251
303
  #
252
304
  # @!attribute [rw] confidence
@@ -367,13 +419,13 @@ module Aws::Rekognition
367
419
  # @return [Types::Image]
368
420
  #
369
421
  # @!attribute [rw] attributes
370
- # A list of facial attributes you want to be returned. This can be the
371
- # default list of attributes or all attributes. If you don't specify
372
- # a value for `Attributes` or if you specify `["DEFAULT"]`, the API
373
- # returns the following subset of facial attributes: `BoundingBox`,
374
- # `Confidence`, `Pose`, `Quality` and `Landmarks`. If you provide
375
- # `["ALL"]`, all facial attributes are returned but the operation will
376
- # take longer to complete.
422
+ # An array of facial attributes you want to be returned. This can be
423
+ # the default list of attributes or all attributes. If you don't
424
+ # specify a value for `Attributes` or if you specify `["DEFAULT"]`,
425
+ # the API returns the following subset of facial attributes:
426
+ # `BoundingBox`, `Confidence`, `Pose`, `Quality` and `Landmarks`. If
427
+ # you provide `["ALL"]`, all facial attributes are returned but the
428
+ # operation will take longer to complete.
377
429
  #
378
430
  # If you provide both, `["ALL", "DEFAULT"]`, the service uses a
379
431
  # logical AND operator to determine which attributes to return (in
@@ -391,19 +443,19 @@ module Aws::Rekognition
391
443
  # @return [Array<Types::FaceDetail>]
392
444
  #
393
445
  # @!attribute [rw] orientation_correction
394
- # The algorithm detects the image orientation. If it detects that the
395
- # image was rotated, it returns the degrees of rotation. If your
396
- # application is displaying the image, you can use this value to
397
- # adjust the orientation.
398
- #
399
- # For example, if the service detects that the input image was rotated
400
- # by 90 degrees, it corrects orientation, performs face detection, and
401
- # then returns the faces. That is, the bounding box coordinates in the
402
- # response are based on the corrected orientation.
403
- #
404
- # <note markdown="1"> If the source image Exif metadata populates the orientation field,
405
- # Amazon Rekognition does not perform orientation correction and the
406
- # value of OrientationCorrection will be nil.
446
+ # The orientation of the input image (counter-clockwise direction). If
447
+ # your application displays the image, you can use this value to
448
+ # correct image orientation. The bounding box coordinates returned in
449
+ # `FaceDetails` represent face locations before the image orientation
450
+ # is corrected.
451
+ #
452
+ # <note markdown="1"> If the input image is in .jpeg format, it might contain exchangeable
453
+ # image (Exif) metadata that includes the image's orientation. If so,
454
+ # and the Exif metadata for the input image populates the orientation
455
+ # field, the value of `OrientationCorrection` is null and the
456
+ # `FaceDetails` bounding box coordinates represent face locations
457
+ # after Exif metadata is used to correct the image orientation. Images
458
+ # in .png format don't contain Exif metadata.
407
459
  #
408
460
  # </note>
409
461
  # @return [String]
@@ -462,16 +514,15 @@ module Aws::Rekognition
462
514
  # @return [Array<Types::Label>]
463
515
  #
464
516
  # @!attribute [rw] orientation_correction
465
- # Amazon Rekognition returns the orientation of the input image that
466
- # was detected (clockwise direction). If your application displays the
467
- # image, you can use this value to correct the orientation. If Amazon
468
- # Rekognition detects that the input image was rotated (for example,
469
- # by 90 degrees), it first corrects the orientation before detecting
470
- # the labels.
471
- #
472
- # <note markdown="1"> If the source image Exif metadata populates the orientation field,
517
+ # The orientation of the input image (counter-clockwise direction). If
518
+ # your application displays the image, you can use this value to
519
+ # correct the orientation. If Amazon Rekognition detects that the
520
+ # input image was rotated (for example, by 90 degrees), it first
521
+ # corrects the orientation before detecting the labels.
522
+ #
523
+ # <note markdown="1"> If the input image Exif metadata populates the orientation field,
473
524
  # Amazon Rekognition does not perform orientation correction and the
474
- # value of OrientationCorrection will be nil.
525
+ # value of OrientationCorrection will be null.
475
526
  #
476
527
  # </note>
477
528
  # @return [String]
@@ -498,23 +549,7 @@ module Aws::Rekognition
498
549
  # }
499
550
  #
500
551
  # @!attribute [rw] image
501
- # Provides the source image either as bytes or an S3 object.
502
- #
503
- # The region for the S3 bucket containing the S3 object must match the
504
- # region you use for Amazon Rekognition operations.
505
- #
506
- # You may need to Base64-encode the image bytes depending on the
507
- # language you are using and whether or not you are using the AWS SDK.
508
- # For more information, see example4.
509
- #
510
- # If you use the Amazon CLI to call Amazon Rekognition operations,
511
- # passing image bytes using the Bytes property is not supported. You
512
- # must first upload the image to an Amazon S3 bucket and then call the
513
- # operation using the S3Object property.
514
- #
515
- # For Amazon Rekognition to process an S3 object, the user must have
516
- # permission to access the S3 object. For more information, see
517
- # manage-access-resource-policies.
552
+ # The input image as bytes or an S3 object.
518
553
  # @return [Types::Image]
519
554
  #
520
555
  # @!attribute [rw] min_confidence
@@ -533,7 +568,7 @@ module Aws::Rekognition
533
568
  end
534
569
 
535
570
  # @!attribute [rw] moderation_labels
536
- # A list of labels for explicit or suggestive adult content found in
571
+ # An array of labels for explicit or suggestive adult content found in
537
572
  # the image. The list includes the top-level label and each child
538
573
  # label detected in the image. This is useful for filtering specific
539
574
  # categories of content.
@@ -597,41 +632,18 @@ module Aws::Rekognition
597
632
  end
598
633
 
599
634
  # Describes the face properties such as the bounding box, face ID, image
600
- # ID of the source image, and external image ID that you assigned.
635
+ # ID of the input image, and external image ID that you assigned.
601
636
  #
602
637
  # @!attribute [rw] face_id
603
638
  # Unique identifier that Amazon Rekognition assigns to the face.
604
639
  # @return [String]
605
640
  #
606
641
  # @!attribute [rw] bounding_box
607
- # Identifies the bounding box around the object or face. The `left`
608
- # (x-coordinate) and `top` (y-coordinate) are coordinates representing
609
- # the top and left sides of the bounding box. Note that the upper-left
610
- # corner of the image is the origin (0,0).
611
- #
612
- # The `top` and `left` values returned are ratios of the overall image
613
- # size. For example, if the input image is 700x200 pixels, and the
614
- # top-left coordinate of the bounding box is 350x50 pixels, the API
615
- # returns a `left` value of 0.5 (350/700) and a `top` value of 0.25
616
- # (50/200).
617
- #
618
- # The `width` and `height` values represent the dimensions of the
619
- # bounding box as a ratio of the overall image dimension. For example,
620
- # if the input image is 700x200 pixels, and the bounding box width is
621
- # 70 pixels, the width returned is 0.1.
622
- #
623
- # <note markdown="1"> The bounding box coordinates can have negative values. For example,
624
- # if Amazon Rekognition is able to detect a face that is at the image
625
- # edge and is only partially visible, the service can return
626
- # coordinates that are outside the image bounds and, depending on the
627
- # image edge, you might get negative values or values greater than 1
628
- # for the `left` or `top` values.
629
- #
630
- # </note>
642
+ # Bounding box of the face.
631
643
  # @return [Types::BoundingBox]
632
644
  #
633
645
  # @!attribute [rw] image_id
634
- # Unique identifier that Amazon Rekognition assigns to the source
646
+ # Unique identifier that Amazon Rekognition assigns to the input
635
647
  # image.
636
648
  # @return [String]
637
649
  #
@@ -710,11 +722,11 @@ module Aws::Rekognition
710
722
  # @return [Array<Types::Emotion>]
711
723
  #
712
724
  # @!attribute [rw] landmarks
713
- # Indicates the location of the landmark on the face.
725
+ # Indicates the location of landmarks on the face.
714
726
  # @return [Array<Types::Landmark>]
715
727
  #
716
728
  # @!attribute [rw] pose
717
- # Indicates the pose of the face as determined by pitch, roll, and the
729
+ # Indicates the pose of the face as determined by its pitch, roll, and
718
730
  # yaw.
719
731
  # @return [Types::Pose]
720
732
  #
@@ -771,7 +783,7 @@ module Aws::Rekognition
771
783
  #
772
784
  # @!attribute [rw] face
773
785
  # Describes the face properties such as the bounding box, face ID,
774
- # image ID of the source image, and external image ID that you
786
+ # image ID of the input image, and external image ID that you
775
787
  # assigned.
776
788
  # @return [Types::Face]
777
789
  #
@@ -802,15 +814,53 @@ module Aws::Rekognition
802
814
  include Aws::Structure
803
815
  end
804
816
 
805
- # Provides the source image either as bytes or an S3 object.
817
+ # @note When making an API call, you may pass GetCelebrityInfoRequest
818
+ # data as a hash:
819
+ #
820
+ # {
821
+ # id: "RekognitionUniqueId", # required
822
+ # }
823
+ #
824
+ # @!attribute [rw] id
825
+ # The ID for the celebrity. You get the celebrity ID from a call to
826
+ # the operation, which recognizes celebrities in an image.
827
+ # @return [String]
828
+ #
829
+ class GetCelebrityInfoRequest < Struct.new(
830
+ :id)
831
+ include Aws::Structure
832
+ end
833
+
834
+ # @!attribute [rw] urls
835
+ # An array of URLs pointing to additional celebrity information.
836
+ # @return [Array<String>]
837
+ #
838
+ # @!attribute [rw] name
839
+ # The name of the celebrity.
840
+ # @return [String]
841
+ #
842
+ class GetCelebrityInfoResponse < Struct.new(
843
+ :urls,
844
+ :name)
845
+ include Aws::Structure
846
+ end
847
+
848
+ # Provides the input image either as bytes or an S3 object.
849
+ #
850
+ # You pass image bytes to a Rekognition API operation by using the
851
+ # `Bytes` property. For example, you would use the `Bytes` property to
852
+ # pass an image loaded from a local file system. Image bytes passed by
853
+ # using the `Bytes` property must be base64-encoded. Your code may not
854
+ # need to encode image bytes if you are using an AWS SDK to call
855
+ # Rekognition API operations. For more information, see example4.
856
+ #
857
+ # You pass images stored in an S3 bucket to a Rekognition API operation
858
+ # by using the `S3Object` property. Images stored in an S3 bucket do not
859
+ # need to be base64-encoded.
806
860
  #
807
861
  # The region for the S3 bucket containing the S3 object must match the
808
862
  # region you use for Amazon Rekognition operations.
809
863
  #
810
- # You may need to Base64-encode the image bytes depending on the
811
- # language you are using and whether or not you are using the AWS SDK.
812
- # For more information, see example4.
813
- #
814
864
  # If you use the Amazon CLI to call Amazon Rekognition operations,
815
865
  # passing image bytes using the Bytes property is not supported. You
816
866
  # must first upload the image to an Amazon S3 bucket and then call the
@@ -889,23 +939,7 @@ module Aws::Rekognition
889
939
  # @return [String]
890
940
  #
891
941
  # @!attribute [rw] image
892
- # Provides the source image either as bytes or an S3 object.
893
- #
894
- # The region for the S3 bucket containing the S3 object must match the
895
- # region you use for Amazon Rekognition operations.
896
- #
897
- # You may need to Base64-encode the image bytes depending on the
898
- # language you are using and whether or not you are using the AWS SDK.
899
- # For more information, see example4.
900
- #
901
- # If you use the Amazon CLI to call Amazon Rekognition operations,
902
- # passing image bytes using the Bytes property is not supported. You
903
- # must first upload the image to an Amazon S3 bucket and then call the
904
- # operation using the S3Object property.
905
- #
906
- # For Amazon Rekognition to process an S3 object, the user must have
907
- # permission to access the S3 object. For more information, see
908
- # manage-access-resource-policies.
942
+ # The input image as bytes or an S3 object.
909
943
  # @return [Types::Image]
910
944
  #
911
945
  # @!attribute [rw] external_image_id
@@ -913,7 +947,7 @@ module Aws::Rekognition
913
947
  # @return [String]
914
948
  #
915
949
  # @!attribute [rw] detection_attributes
916
- # A list of facial attributes that you want to be returned. This can
950
+ # An array of facial attributes that you want to be returned. This can
917
951
  # be the default list of attributes or all attributes. If you don't
918
952
  # specify a value for `Attributes` or if you specify `["DEFAULT"]`,
919
953
  # the API returns the following subset of facial attributes:
@@ -940,14 +974,18 @@ module Aws::Rekognition
940
974
  # @return [Array<Types::FaceRecord>]
941
975
  #
942
976
  # @!attribute [rw] orientation_correction
943
- # The algorithm detects the image orientation. If it detects that the
944
- # image was rotated, it returns the degree of rotation. You can use
945
- # this value to correct the orientation and also appropriately analyze
946
- # the bounding box coordinates that are returned.
947
- #
948
- # <note markdown="1"> If the source image Exif metadata populates the orientation field,
949
- # Amazon Rekognition does not perform orientation correction and the
950
- # value of OrientationCorrection will be nil.
977
+ # The orientation of the input image (counterclockwise direction). If
978
+ # your application displays the image, you can use this value to
979
+ # correct image orientation. The bounding box coordinates returned in
980
+ # `FaceRecords` represent face locations before the image orientation
981
+ # is corrected.
982
+ #
983
+ # <note markdown="1"> If the input image is in jpeg format, it might contain exchangeable
984
+ # image (Exif) metadata. If so, and the Exif metadata populates the
985
+ # orientation field, the value of `OrientationCorrection` is null and
986
+ # the bounding box coordinates in `FaceRecords` represent face
987
+ # locations after Exif metadata is used to correct the image
988
+ # orientation. Images in .png format don't contain Exif metadata.
951
989
  #
952
990
  # </note>
953
991
  # @return [String]
@@ -1089,8 +1127,7 @@ module Aws::Rekognition
1089
1127
 
1090
1128
  # Provides information about a single type of moderated content found in
1091
1129
  # an image. Each type of moderated content has a label within a
1092
- # hierarchical taxonomy. For more information, see
1093
- # howitworks-moderateimage.
1130
+ # hierarchical taxonomy. For more information, see image-moderation.
1094
1131
  #
1095
1132
  # @!attribute [rw] confidence
1096
1133
  # Specifies the confidence that Amazon Rekognition has that the label
@@ -1152,7 +1189,7 @@ module Aws::Rekognition
1152
1189
  include Aws::Structure
1153
1190
  end
1154
1191
 
1155
- # Indicates the pose of the face as determined by pitch, roll, and the
1192
+ # Indicates the pose of the face as determined by its pitch, roll, and
1156
1193
  # yaw.
1157
1194
  #
1158
1195
  # @!attribute [rw] roll
@@ -1174,6 +1211,64 @@ module Aws::Rekognition
1174
1211
  include Aws::Structure
1175
1212
  end
1176
1213
 
1214
+ # @note When making an API call, you may pass RecognizeCelebritiesRequest
1215
+ # data as a hash:
1216
+ #
1217
+ # {
1218
+ # image: { # required
1219
+ # bytes: "data",
1220
+ # s3_object: {
1221
+ # bucket: "S3Bucket",
1222
+ # name: "S3ObjectName",
1223
+ # version: "S3ObjectVersion",
1224
+ # },
1225
+ # },
1226
+ # }
1227
+ #
1228
+ # @!attribute [rw] image
1229
+ # The input image to use for celebrity recognition.
1230
+ # @return [Types::Image]
1231
+ #
1232
+ class RecognizeCelebritiesRequest < Struct.new(
1233
+ :image)
1234
+ include Aws::Structure
1235
+ end
1236
+
1237
+ # @!attribute [rw] celebrity_faces
1238
+ # Details about each celebrity found in the image. Amazon Rekognition
1239
+ # can detect a maximum of 15 celebrities in an image.
1240
+ # @return [Array<Types::Celebrity>]
1241
+ #
1242
+ # @!attribute [rw] unrecognized_faces
1243
+ # Details about each unrecognized face in the image.
1244
+ # @return [Array<Types::ComparedFace>]
1245
+ #
1246
+ # @!attribute [rw] orientation_correction
1247
+ # The orientation of the input image (counterclockwise direction). If
1248
+ # your application displays the image, you can use this value to
1249
+ # correct the orientation. The bounding box coordinates returned in
1250
+ # `CelebrityFaces` and `UnrecognizedFaces` represent face locations
1251
+ # before the image orientation is corrected.
1252
+ #
1253
+ # <note markdown="1"> If the input image is in .jpeg format, it might contain exchangeable
1254
+ # image (Exif) metadata that includes the image's orientation. If so,
1255
+ # and the Exif metadata for the input image populates the orientation
1256
+ # field, the value of `OrientationCorrection` is null and the
1257
+ # `CelebrityFaces` and `UnrecognizedFaces` bounding box coordinates
1258
+ # represent face locations after Exif metadata is used to correct the
1259
+ # image orientation. Images in .png format don't contain Exif
1260
+ # metadata.
1261
+ #
1262
+ # </note>
1263
+ # @return [String]
1264
+ #
1265
+ class RecognizeCelebritiesResponse < Struct.new(
1266
+ :celebrity_faces,
1267
+ :unrecognized_faces,
1268
+ :orientation_correction)
1269
+ include Aws::Structure
1270
+ end
1271
+
1177
1272
  # Provides the S3 bucket name and object name.
1178
1273
  #
1179
1274
  # The region for the S3 bucket containing the S3 object must match the
@@ -1234,23 +1329,7 @@ module Aws::Rekognition
1234
1329
  # @return [String]
1235
1330
  #
1236
1331
  # @!attribute [rw] image
1237
- # Provides the source image either as bytes or an S3 object.
1238
- #
1239
- # The region for the S3 bucket containing the S3 object must match the
1240
- # region you use for Amazon Rekognition operations.
1241
- #
1242
- # You may need to Base64-encode the image bytes depending on the
1243
- # language you are using and whether or not you are using the AWS SDK.
1244
- # For more information, see example4.
1245
- #
1246
- # If you use the Amazon CLI to call Amazon Rekognition operations,
1247
- # passing image bytes using the Bytes property is not supported. You
1248
- # must first upload the image to an Amazon S3 bucket and then call the
1249
- # operation using the S3Object property.
1250
- #
1251
- # For Amazon Rekognition to process an S3 object, the user must have
1252
- # permission to access the S3 object. For more information, see
1253
- # manage-access-resource-policies.
1332
+ # The input image as bytes or an S3 object.
1254
1333
  # @return [Types::Image]
1255
1334
  #
1256
1335
  # @!attribute [rw] max_faces
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-rekognition
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc9
4
+ version: 1.0.0.rc10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-23 00:00:00.000000000 Z
11
+ date: 2017-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 3.0.0.rc12
19
+ version: 3.0.0.rc13
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 3.0.0.rc12
26
+ version: 3.0.0.rc13
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: aws-sigv4
29
29
  requirement: !ruby/object:Gem::Requirement