aws-sdk-rekognition 1.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module Rekognition
10
+ module Errors
11
+
12
+ extend Aws::Errors::DynamicErrors
13
+
14
+ # Raised when calling #load or #data on a resource class that can not be
15
+ # loaded. This can happen when:
16
+ #
17
+ # * A resource class has identifiers, but no data attributes.
18
+ # * Resource data is only available when making an API call that
19
+ # enumerates all resources of that type.
20
+ class ResourceNotLoadable < RuntimeError; end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module Rekognition
10
+ class Resource
11
+
12
+ # @param options ({})
13
+ # @option options [Client] :client
14
+ def initialize(options = {})
15
+ @client = options[:client] || Client.new(options)
16
+ end
17
+
18
+ # @return [Client]
19
+ def client
20
+ @client
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,1106 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module Rekognition
10
+ module Types
11
+
12
+ # Indicates whether or not the face has a beard, and the confidence
13
+ # level in the determination.
14
+ # @!attribute [rw] value
15
+ # Boolean value that indicates whether the face has beard or not.
16
+ # @return [Boolean]
17
+ #
18
+ # @!attribute [rw] confidence
19
+ # Level of confidence in the determination.
20
+ # @return [Float]
21
+ class Beard < Struct.new(
22
+ :value,
23
+ :confidence)
24
+ include Aws::Structure
25
+ end
26
+
27
+ # Identifies the bounding box around the object or face. The `left`
28
+ # (x-coordinate) and `top` (y-coordinate) are coordinates representing
29
+ # the top and left sides of the bounding box. Note that the upper-left
30
+ # corner of the image is the origin (0,0).
31
+ #
32
+ # The `top` and `left` values returned are ratios of the overall image
33
+ # size. For example, if the input image is 700x200 pixels, and the
34
+ # top-left coordinate of the bounding box is 350x50 pixels, the API
35
+ # returns a `left` value of 0.5 (350/700) and a `top` value of 0.25
36
+ # (50/200).
37
+ #
38
+ # The `width` and `height` values represent the dimensions of the
39
+ # bounding box as a ratio of the overall image dimension. For example,
40
+ # if the input image is 700x200 pixels, and the bounding box width is 70
41
+ # pixels, the width returned is 0.1.
42
+ #
43
+ # <note markdown="1"> The bounding box coordinates can have negative values. For example, if
44
+ # Amazon Rekognition is able to detect a face that is at the image edge
45
+ # and is only partially visible, the service can return coordinates that
46
+ # are outside the image bounds and, depending on the image edge, you
47
+ # might get negative values or values greater than 1 for the `left` or
48
+ # `top` values.
49
+ #
50
+ # </note>
51
+ # @!attribute [rw] width
52
+ # Width of the bounding box as a ratio of the overall image width.
53
+ # @return [Float]
54
+ #
55
+ # @!attribute [rw] height
56
+ # Height of the bounding box as a ratio of the overall image height.
57
+ # @return [Float]
58
+ #
59
+ # @!attribute [rw] left
60
+ # Left coordinate of the bounding box as a ratio of overall image
61
+ # width.
62
+ # @return [Float]
63
+ #
64
+ # @!attribute [rw] top
65
+ # Top coordinate of the bounding box as a ratio of overall image
66
+ # height.
67
+ # @return [Float]
68
+ class BoundingBox < Struct.new(
69
+ :width,
70
+ :height,
71
+ :left,
72
+ :top)
73
+ include Aws::Structure
74
+ end
75
+
76
+ # Provide the bounding box, confidence that the bounding box actually
77
+ # contains a face, and the similarity between the face in the bounding
78
+ # box and the face in the source image.
79
+ # @!attribute [rw] similarity
80
+ # Level of confidence that the faces match.
81
+ # @return [Float]
82
+ #
83
+ # @!attribute [rw] face
84
+ # Provides face metadata (bounding box and confidence that the
85
+ # bounding box actually contains a face).
86
+ # @return [Types::ComparedFace]
87
+ class CompareFacesMatch < Struct.new(
88
+ :similarity,
89
+ :face)
90
+ include Aws::Structure
91
+ end
92
+
93
+ # @note When making an API call, pass CompareFacesRequest
94
+ # data as a hash:
95
+ #
96
+ # {
97
+ # source_image: { # required
98
+ # bytes: "data",
99
+ # s3_object: {
100
+ # bucket: "S3Bucket",
101
+ # name: "S3ObjectName",
102
+ # version: "S3ObjectVersion",
103
+ # },
104
+ # },
105
+ # target_image: { # required
106
+ # bytes: "data",
107
+ # s3_object: {
108
+ # bucket: "S3Bucket",
109
+ # name: "S3ObjectName",
110
+ # version: "S3ObjectVersion",
111
+ # },
112
+ # },
113
+ # similarity_threshold: 1.0,
114
+ # }
115
+ # @!attribute [rw] source_image
116
+ # Source image either as bytes or an Amazon S3 object
117
+ # @return [Types::Image]
118
+ #
119
+ # @!attribute [rw] target_image
120
+ # Target image either as bytes or an Amazon S3 object
121
+ # @return [Types::Image]
122
+ #
123
+ # @!attribute [rw] similarity_threshold
124
+ # The minimum level of confidence in the match you want included in
125
+ # the result.
126
+ # @return [Float]
127
+ class CompareFacesRequest < Struct.new(
128
+ :source_image,
129
+ :target_image,
130
+ :similarity_threshold)
131
+ include Aws::Structure
132
+ end
133
+
134
+ # @!attribute [rw] source_image_face
135
+ # The face from the source image that was used for comparison.
136
+ # @return [Types::ComparedSourceImageFace]
137
+ #
138
+ # @!attribute [rw] face_matches
139
+ # Provides an array of `CompareFacesMatch ` objects. Each object
140
+ # provides the bounding box, confidence that the bounding box contains
141
+ # a face, and the similarity between the face in the bounding box and
142
+ # the face in the source image.
143
+ # @return [Array<Types::CompareFacesMatch>]
144
+ class CompareFacesResponse < Struct.new(
145
+ :source_image_face,
146
+ :face_matches)
147
+ include Aws::Structure
148
+ end
149
+
150
+ # Provides face metadata (bounding box and confidence that the bounding
151
+ # box actually contains a face).
152
+ # @!attribute [rw] bounding_box
153
+ # Identifies the bounding box around the object or face. The `left`
154
+ # (x-coordinate) and `top` (y-coordinate) are coordinates representing
155
+ # the top and left sides of the bounding box. Note that the upper-left
156
+ # corner of the image is the origin (0,0).
157
+ #
158
+ # The `top` and `left` values returned are ratios of the overall image
159
+ # size. For example, if the input image is 700x200 pixels, and the
160
+ # top-left coordinate of the bounding box is 350x50 pixels, the API
161
+ # returns a `left` value of 0.5 (350/700) and a `top` value of 0.25
162
+ # (50/200).
163
+ #
164
+ # The `width` and `height` values represent the dimensions of the
165
+ # bounding box as a ratio of the overall image dimension. For example,
166
+ # if the input image is 700x200 pixels, and the bounding box width is
167
+ # 70 pixels, the width returned is 0.1.
168
+ #
169
+ # <note markdown="1"> The bounding box coordinates can have negative values. For example,
170
+ # if Amazon Rekognition is able to detect a face that is at the image
171
+ # edge and is only partially visible, the service can return
172
+ # coordinates that are outside the image bounds and, depending on the
173
+ # image edge, you might get negative values or values greater than 1
174
+ # for the `left` or `top` values.
175
+ #
176
+ # </note>
177
+ # @return [Types::BoundingBox]
178
+ #
179
+ # @!attribute [rw] confidence
180
+ # Level of confidence that what the bounding box contains is a face.
181
+ # @return [Float]
182
+ class ComparedFace < Struct.new(
183
+ :bounding_box,
184
+ :confidence)
185
+ include Aws::Structure
186
+ end
187
+
188
+ # Type that describes the face Amazon Rekognition chose to compare with
189
+ # the faces in the target. This contains a bounding box for the selected
190
+ # face and confidence level that the bounding box contains a face. Note
191
+ # that Amazon Rekognition selects the largest face in the source image
192
+ # for this comparison.
193
+ # @!attribute [rw] bounding_box
194
+ # Identifies the bounding box around the object or face. The `left`
195
+ # (x-coordinate) and `top` (y-coordinate) are coordinates representing
196
+ # the top and left sides of the bounding box. Note that the upper-left
197
+ # corner of the image is the origin (0,0).
198
+ #
199
+ # The `top` and `left` values returned are ratios of the overall image
200
+ # size. For example, if the input image is 700x200 pixels, and the
201
+ # top-left coordinate of the bounding box is 350x50 pixels, the API
202
+ # returns a `left` value of 0.5 (350/700) and a `top` value of 0.25
203
+ # (50/200).
204
+ #
205
+ # The `width` and `height` values represent the dimensions of the
206
+ # bounding box as a ratio of the overall image dimension. For example,
207
+ # if the input image is 700x200 pixels, and the bounding box width is
208
+ # 70 pixels, the width returned is 0.1.
209
+ #
210
+ # <note markdown="1"> The bounding box coordinates can have negative values. For example,
211
+ # if Amazon Rekognition is able to detect a face that is at the image
212
+ # edge and is only partially visible, the service can return
213
+ # coordinates that are outside the image bounds and, depending on the
214
+ # image edge, you might get negative values or values greater than 1
215
+ # for the `left` or `top` values.
216
+ #
217
+ # </note>
218
+ # @return [Types::BoundingBox]
219
+ #
220
+ # @!attribute [rw] confidence
221
+ # Confidence that the selected bounding box contains a face.
222
+ # @return [Float]
223
+ class ComparedSourceImageFace < Struct.new(
224
+ :bounding_box,
225
+ :confidence)
226
+ include Aws::Structure
227
+ end
228
+
229
+ # @note When making an API call, pass CreateCollectionRequest
230
+ # data as a hash:
231
+ #
232
+ # {
233
+ # collection_id: "CollectionId", # required
234
+ # }
235
+ # @!attribute [rw] collection_id
236
+ # ID for the collection that you are creating.
237
+ # @return [String]
238
+ class CreateCollectionRequest < Struct.new(
239
+ :collection_id)
240
+ include Aws::Structure
241
+ end
242
+
243
+ # @!attribute [rw] status_code
244
+ # HTTP status code indicating the result of the operation.
245
+ # @return [Integer]
246
+ #
247
+ # @!attribute [rw] collection_arn
248
+ # Amazon Resource Name (ARN) of the collection. You can use this to
249
+ # manage permissions on your resources.
250
+ # @return [String]
251
+ class CreateCollectionResponse < Struct.new(
252
+ :status_code,
253
+ :collection_arn)
254
+ include Aws::Structure
255
+ end
256
+
257
+ # @note When making an API call, pass DeleteCollectionRequest
258
+ # data as a hash:
259
+ #
260
+ # {
261
+ # collection_id: "CollectionId", # required
262
+ # }
263
+ # @!attribute [rw] collection_id
264
+ # ID of the collection to delete.
265
+ # @return [String]
266
+ class DeleteCollectionRequest < Struct.new(
267
+ :collection_id)
268
+ include Aws::Structure
269
+ end
270
+
271
+ # @!attribute [rw] status_code
272
+ # HTTP status code that indicates the result of the operation.
273
+ # @return [Integer]
274
+ class DeleteCollectionResponse < Struct.new(
275
+ :status_code)
276
+ include Aws::Structure
277
+ end
278
+
279
+ # @note When making an API call, pass DeleteFacesRequest
280
+ # data as a hash:
281
+ #
282
+ # {
283
+ # collection_id: "CollectionId", # required
284
+ # face_ids: ["FaceId"], # required
285
+ # }
286
+ # @!attribute [rw] collection_id
287
+ # Collection from which to remove the specific faces.
288
+ # @return [String]
289
+ #
290
+ # @!attribute [rw] face_ids
291
+ # An array of face IDs to delete.
292
+ # @return [Array<String>]
293
+ class DeleteFacesRequest < Struct.new(
294
+ :collection_id,
295
+ :face_ids)
296
+ include Aws::Structure
297
+ end
298
+
299
+ # @!attribute [rw] deleted_faces
300
+ # An array of strings (face IDs) of the faces that were deleted.
301
+ # @return [Array<String>]
302
+ class DeleteFacesResponse < Struct.new(
303
+ :deleted_faces)
304
+ include Aws::Structure
305
+ end
306
+
307
+ # @note When making an API call, pass DetectFacesRequest
308
+ # data as a hash:
309
+ #
310
+ # {
311
+ # image: { # required
312
+ # bytes: "data",
313
+ # s3_object: {
314
+ # bucket: "S3Bucket",
315
+ # name: "S3ObjectName",
316
+ # version: "S3ObjectVersion",
317
+ # },
318
+ # },
319
+ # attributes: ["DEFAULT"], # accepts DEFAULT, ALL
320
+ # }
321
+ # @!attribute [rw] image
322
+ # The image in which you want to detect faces. You can specify a blob
323
+ # or an S3 object.
324
+ # @return [Types::Image]
325
+ #
326
+ # @!attribute [rw] attributes
327
+ # A list of facial attributes you would like to be returned. By
328
+ # default, the API returns subset of facial attributes.
329
+ #
330
+ # For example, you can specify the value as, \["ALL"\] or
331
+ # \["DEFAULT"\]. If you provide both, \["ALL", "DEFAULT"\], the
332
+ # service uses a logical AND operator to determine which attributes to
333
+ # return (in this case, it is all attributes). If you specify all
334
+ # attributes, Rekognition performs additional detection.
335
+ # @return [Array<String>]
336
+ class DetectFacesRequest < Struct.new(
337
+ :image,
338
+ :attributes)
339
+ include Aws::Structure
340
+ end
341
+
342
+ # @!attribute [rw] face_details
343
+ # Details of each face found in the image.
344
+ # @return [Array<Types::FaceDetail>]
345
+ #
346
+ # @!attribute [rw] orientation_correction
347
+ # The algorithm detects the image orientation. If it detects that the
348
+ # image was rotated, it returns the degrees of rotation. If your
349
+ # application is displaying the image, you can use this value to
350
+ # adjust the orientation.
351
+ #
352
+ # For example, if the service detects that the input image was rotated
353
+ # by 90 degrees, it corrects orientation, performs face detection, and
354
+ # then returns the faces. That is, the bounding box coordinates in the
355
+ # response are based on the corrected orientation.
356
+ # @return [String]
357
+ class DetectFacesResponse < Struct.new(
358
+ :face_details,
359
+ :orientation_correction)
360
+ include Aws::Structure
361
+ end
362
+
363
+ # @note When making an API call, pass DetectLabelsRequest
364
+ # data as a hash:
365
+ #
366
+ # {
367
+ # image: { # required
368
+ # bytes: "data",
369
+ # s3_object: {
370
+ # bucket: "S3Bucket",
371
+ # name: "S3ObjectName",
372
+ # version: "S3ObjectVersion",
373
+ # },
374
+ # },
375
+ # max_labels: 1,
376
+ # min_confidence: 1.0,
377
+ # }
378
+ # @!attribute [rw] image
379
+ # The input image. You can provide a blob of image bytes or an S3
380
+ # object.
381
+ # @return [Types::Image]
382
+ #
383
+ # @!attribute [rw] max_labels
384
+ # Maximum number of labels you want the service to return in the
385
+ # response. The service returns the specified number of highest
386
+ # confidence labels.
387
+ # @return [Integer]
388
+ #
389
+ # @!attribute [rw] min_confidence
390
+ # Specifies the minimum confidence level for the labels to return.
391
+ # Amazon Rekognition doesn't return any labels with confidence lower
392
+ # than this specified value.
393
+ #
394
+ # If `minConfidence` is not specified, the operation returns labels
395
+ # with a confidence values greater than or equal to 50 percent.
396
+ # @return [Float]
397
+ class DetectLabelsRequest < Struct.new(
398
+ :image,
399
+ :max_labels,
400
+ :min_confidence)
401
+ include Aws::Structure
402
+ end
403
+
404
+ # @!attribute [rw] labels
405
+ # An array of labels for the real-world objects detected.
406
+ # @return [Array<Types::Label>]
407
+ #
408
+ # @!attribute [rw] orientation_correction
409
+ # Amazon Rekognition returns the orientation of the input image that
410
+ # was detected (clockwise direction). If your application displays the
411
+ # image, you can use this value to correct the orientation. If
412
+ # Rekognition detects that the input image was rotated (for example,
413
+ # by 90 degrees), it first corrects the orientation before detecting
414
+ # the labels.
415
+ # @return [String]
416
+ class DetectLabelsResponse < Struct.new(
417
+ :labels,
418
+ :orientation_correction)
419
+ include Aws::Structure
420
+ end
421
+
422
+ # The emotions detected on the face, and the confidence level in the
423
+ # determination. For example, HAPPY, SAD, and ANGRY.
424
+ # @!attribute [rw] type
425
+ # Type of emotion detected.
426
+ # @return [String]
427
+ #
428
+ # @!attribute [rw] confidence
429
+ # Level of confidence in the determination.
430
+ # @return [Float]
431
+ class Emotion < Struct.new(
432
+ :type,
433
+ :confidence)
434
+ include Aws::Structure
435
+ end
436
+
437
+ # Indicates whether or not the eyes on the face are open, and the
438
+ # confidence level in the determination.
439
+ # @!attribute [rw] value
440
+ # Boolean value that indicates whether the eyes on the face are open.
441
+ # @return [Boolean]
442
+ #
443
+ # @!attribute [rw] confidence
444
+ # Level of confidence in the determination.
445
+ # @return [Float]
446
+ class EyeOpen < Struct.new(
447
+ :value,
448
+ :confidence)
449
+ include Aws::Structure
450
+ end
451
+
452
+ # Indicates whether or not the face is wearing eye glasses, and the
453
+ # confidence level in the determination.
454
+ # @!attribute [rw] value
455
+ # Boolean value that indicates whether the face is wearing eye glasses
456
+ # or not.
457
+ # @return [Boolean]
458
+ #
459
+ # @!attribute [rw] confidence
460
+ # Level of confidence in the determination.
461
+ # @return [Float]
462
+ class Eyeglasses < Struct.new(
463
+ :value,
464
+ :confidence)
465
+ include Aws::Structure
466
+ end
467
+
468
+ # Describes the face properties such as the bounding box, face ID, image
469
+ # ID of the source image, and external image ID that you assigned.
470
+ # @!attribute [rw] face_id
471
+ # Unique identifier that Amazon Rekognition assigns to the face.
472
+ # @return [String]
473
+ #
474
+ # @!attribute [rw] bounding_box
475
+ # Identifies the bounding box around the object or face. The `left`
476
+ # (x-coordinate) and `top` (y-coordinate) are coordinates representing
477
+ # the top and left sides of the bounding box. Note that the upper-left
478
+ # corner of the image is the origin (0,0).
479
+ #
480
+ # The `top` and `left` values returned are ratios of the overall image
481
+ # size. For example, if the input image is 700x200 pixels, and the
482
+ # top-left coordinate of the bounding box is 350x50 pixels, the API
483
+ # returns a `left` value of 0.5 (350/700) and a `top` value of 0.25
484
+ # (50/200).
485
+ #
486
+ # The `width` and `height` values represent the dimensions of the
487
+ # bounding box as a ratio of the overall image dimension. For example,
488
+ # if the input image is 700x200 pixels, and the bounding box width is
489
+ # 70 pixels, the width returned is 0.1.
490
+ #
491
+ # <note markdown="1"> The bounding box coordinates can have negative values. For example,
492
+ # if Amazon Rekognition is able to detect a face that is at the image
493
+ # edge and is only partially visible, the service can return
494
+ # coordinates that are outside the image bounds and, depending on the
495
+ # image edge, you might get negative values or values greater than 1
496
+ # for the `left` or `top` values.
497
+ #
498
+ # </note>
499
+ # @return [Types::BoundingBox]
500
+ #
501
+ # @!attribute [rw] image_id
502
+ # Unique identifier that Amazon Rekognition assigns to the source
503
+ # image.
504
+ # @return [String]
505
+ #
506
+ # @!attribute [rw] external_image_id
507
+ # Identifier that you assign to all the faces in the input image.
508
+ # @return [String]
509
+ #
510
+ # @!attribute [rw] confidence
511
+ # Confidence level that the bounding box contains a face (and not a
512
+ # different object such as a tree).
513
+ # @return [Float]
514
+ class Face < Struct.new(
515
+ :face_id,
516
+ :bounding_box,
517
+ :image_id,
518
+ :external_image_id,
519
+ :confidence)
520
+ include Aws::Structure
521
+ end
522
+
523
+ # Structure containing attributes of the face that the algorithm
524
+ # detected.
525
+ # @!attribute [rw] bounding_box
526
+ # Bounding box of the face.
527
+ # @return [Types::BoundingBox]
528
+ #
529
+ # @!attribute [rw] smile
530
+ # Indicates whether or not the face is smiling, and the confidence
531
+ # level in the determination.
532
+ # @return [Types::Smile]
533
+ #
534
+ # @!attribute [rw] eyeglasses
535
+ # Indicates whether or not the face is wearing eye glasses, and the
536
+ # confidence level in the determination.
537
+ # @return [Types::Eyeglasses]
538
+ #
539
+ # @!attribute [rw] sunglasses
540
+ # Indicates whether or not the face is wearing sunglasses, and the
541
+ # confidence level in the determination.
542
+ # @return [Types::Sunglasses]
543
+ #
544
+ # @!attribute [rw] gender
545
+ # Gender of the face and the confidence level in the determination.
546
+ # @return [Types::Gender]
547
+ #
548
+ # @!attribute [rw] beard
549
+ # Indicates whether or not the face has a beard, and the confidence
550
+ # level in the determination.
551
+ # @return [Types::Beard]
552
+ #
553
+ # @!attribute [rw] mustache
554
+ # Indicates whether or not the face has a mustache, and the confidence
555
+ # level in the determination.
556
+ # @return [Types::Mustache]
557
+ #
558
+ # @!attribute [rw] eyes_open
559
+ # Indicates whether or not the eyes on the face are open, and the
560
+ # confidence level in the determination.
561
+ # @return [Types::EyeOpen]
562
+ #
563
+ # @!attribute [rw] mouth_open
564
+ # Indicates whether or not the mouth on the face is open, and the
565
+ # confidence level in the determination.
566
+ # @return [Types::MouthOpen]
567
+ #
568
+ # @!attribute [rw] emotions
569
+ # The emotions detected on the face, and the confidence level in the
570
+ # determination. For example, HAPPY, SAD, and ANGRY.
571
+ # @return [Array<Types::Emotion>]
572
+ #
573
+ # @!attribute [rw] landmarks
574
+ # Indicates the location of the landmark on the face.
575
+ # @return [Array<Types::Landmark>]
576
+ #
577
+ # @!attribute [rw] pose
578
+ # Indicates the pose of the face as determined by pitch, roll, and the
579
+ # yaw.
580
+ # @return [Types::Pose]
581
+ #
582
+ # @!attribute [rw] quality
583
+ # Identifies image brightness and sharpness.
584
+ # @return [Types::ImageQuality]
585
+ #
586
+ # @!attribute [rw] confidence
587
+ # Confidence level that the bounding box contains a face (and not a
588
+ # different object such as a tree).
589
+ # @return [Float]
590
+ class FaceDetail < Struct.new(
591
+ :bounding_box,
592
+ :smile,
593
+ :eyeglasses,
594
+ :sunglasses,
595
+ :gender,
596
+ :beard,
597
+ :mustache,
598
+ :eyes_open,
599
+ :mouth_open,
600
+ :emotions,
601
+ :landmarks,
602
+ :pose,
603
+ :quality,
604
+ :confidence)
605
+ include Aws::Structure
606
+ end
607
+
608
+ # Provides face metadata. In addition, it also provides the confidence
609
+ # in the match of this face with the input face.
610
+ # @!attribute [rw] similarity
611
+ # Confidence in the match of this face with the input face.
612
+ # @return [Float]
613
+ #
614
+ # @!attribute [rw] face
615
+ # Describes the face properties such as the bounding box, face ID,
616
+ # image ID of the source image, and external image ID that you
617
+ # assigned.
618
+ # @return [Types::Face]
619
+ class FaceMatch < Struct.new(
620
+ :similarity,
621
+ :face)
622
+ include Aws::Structure
623
+ end
624
+
625
+ # Object containing both the face metadata (stored in the back-end
626
+ # database) and facial attributes that are detected but aren't stored
627
+ # in the database.
628
+ # @!attribute [rw] face
629
+ # Describes the face properties such as the bounding box, face ID,
630
+ # image ID of the source image, and external image ID that you
631
+ # assigned.
632
+ # @return [Types::Face]
633
+ #
634
+ # @!attribute [rw] face_detail
635
+ # Structure containing attributes of the face that the algorithm
636
+ # detected.
637
+ # @return [Types::FaceDetail]
638
+ class FaceRecord < Struct.new(
639
+ :face,
640
+ :face_detail)
641
+ include Aws::Structure
642
+ end
643
+
644
+ # Gender of the face and the confidence level in the determination.
645
+ # @!attribute [rw] value
646
+ # Gender of the face.
647
+ # @return [String]
648
+ #
649
+ # @!attribute [rw] confidence
650
+ # Level of confidence in the determination.
651
+ # @return [Float]
652
+ class Gender < Struct.new(
653
+ :value,
654
+ :confidence)
655
+ include Aws::Structure
656
+ end
657
+
658
+ # Provides the source image either as bytes or an S3 object.
659
+ # @note When making an API call, pass Image
660
+ # data as a hash:
661
+ #
662
+ # {
663
+ # bytes: "data",
664
+ # s3_object: {
665
+ # bucket: "S3Bucket",
666
+ # name: "S3ObjectName",
667
+ # version: "S3ObjectVersion",
668
+ # },
669
+ # }
670
+ # @!attribute [rw] bytes
671
+ # Blob of image bytes up to 5 MBs.
672
+ # @return [String]
673
+ #
674
+ # @!attribute [rw] s3_object
675
+ # Identifies an S3 object as the image source.
676
+ # @return [Types::S3Object]
677
+ class Image < Struct.new(
678
+ :bytes,
679
+ :s3_object)
680
+ include Aws::Structure
681
+ end
682
+
683
+ # Identifies image brightness and sharpness.
684
+ # @!attribute [rw] brightness
685
+ # Value representing brightness of the face. The service returns a
686
+ # value between 0 and 1 (inclusive).
687
+ # @return [Float]
688
+ #
689
+ # @!attribute [rw] sharpness
690
+ # Value representing sharpness of the face.
691
+ # @return [Float]
692
+ class ImageQuality < Struct.new(
693
+ :brightness,
694
+ :sharpness)
695
+ include Aws::Structure
696
+ end
697
+
698
+ # @note When making an API call, pass IndexFacesRequest
699
+ # data as a hash:
700
+ #
701
+ # {
702
+ # collection_id: "CollectionId", # required
703
+ # image: { # required
704
+ # bytes: "data",
705
+ # s3_object: {
706
+ # bucket: "S3Bucket",
707
+ # name: "S3ObjectName",
708
+ # version: "S3ObjectVersion",
709
+ # },
710
+ # },
711
+ # external_image_id: "ExternalImageId",
712
+ # detection_attributes: ["DEFAULT"], # accepts DEFAULT, ALL
713
+ # }
714
+ # @!attribute [rw] collection_id
715
+ # ID of an existing collection to which you want to add the faces that
716
+ # are detected in the input images.
717
+ # @return [String]
718
+ #
719
+ # @!attribute [rw] image
720
+ # Provides the source image either as bytes or an S3 object.
721
+ # @return [Types::Image]
722
+ #
723
+ # @!attribute [rw] external_image_id
724
+ # ID you want to assign to all the faces detected in the image.
725
+ # @return [String]
726
+ #
727
+ # @!attribute [rw] detection_attributes
728
+ # (Optional) Returns detailed attributes of indexed faces. By default,
729
+ # the operation returns a subset of the facial attributes.
730
+ #
731
+ # For example, you can specify the value as, \["ALL"\] or
732
+ # \["DEFAULT"\]. If you provide both, \["ALL", "DEFAULT"\],
733
+ # Rekognition uses the logical AND operator to determine which
734
+ # attributes to return (in this case, it is all attributes). If you
735
+ # specify all attributes, the service performs additional detection,
736
+ # in addition to the default.
737
+ # @return [Array<String>]
738
+ class IndexFacesRequest < Struct.new(
739
+ :collection_id,
740
+ :image,
741
+ :external_image_id,
742
+ :detection_attributes)
743
+ include Aws::Structure
744
+ end
745
+
746
+ # @!attribute [rw] face_records
747
+ # An array of faces detected and added to the collection. For more
748
+ # information, see howitworks-index-faces.
749
+ # @return [Array<Types::FaceRecord>]
750
+ #
751
+ # @!attribute [rw] orientation_correction
752
+ # The algorithm detects the image orientation. If it detects that the
753
+ # image was rotated, it returns the degree of rotation. You can use
754
+ # this value to correct the orientation and also appropriately analyze
755
+ # the bounding box coordinates that are returned.
756
+ # @return [String]
757
+ class IndexFacesResponse < Struct.new(
758
+ :face_records,
759
+ :orientation_correction)
760
+ include Aws::Structure
761
+ end
762
+
763
+ # Structure containing details about the detected label, including
764
+ # bounding box, name, and level of confidence.
765
+ # @!attribute [rw] name
766
+ # The name (label) of the object.
767
+ # @return [String]
768
+ #
769
+ # @!attribute [rw] confidence
770
+ # Level of confidence.
771
+ # @return [Float]
772
+ class Label < Struct.new(
773
+ :name,
774
+ :confidence)
775
+ include Aws::Structure
776
+ end
777
+
778
+ # Indicates the location of the landmark on the face.
779
+ # @!attribute [rw] type
780
+ # Type of the landmark.
781
+ # @return [String]
782
+ #
783
+ # @!attribute [rw] x
784
+ # x-coordinate from the top left of the landmark expressed as the
785
+ # ration of the width of the image. For example, if the images is
786
+ # 700x200 and the x-coordinate of the landmark is at 350 pixels, then
787
+ # this value is 0.5.
788
+ # @return [Float]
789
+ #
790
+ # @!attribute [rw] y
791
+ # y-coordinate from the top left of the landmark expressed as the
792
+ # ration of the height of the image. For example, if the images is
793
+ # 700x200 and the y-coordinate of the landmark is at 100 pixels, then
794
+ # this value is 0.5.
795
+ # @return [Float]
796
+ class Landmark < Struct.new(
797
+ :type,
798
+ :x,
799
+ :y)
800
+ include Aws::Structure
801
+ end
802
+
803
+ # @note When making an API call, pass ListCollectionsRequest
804
+ # data as a hash:
805
+ #
806
+ # {
807
+ # next_token: "PaginationToken",
808
+ # max_results: 1,
809
+ # }
810
+ # @!attribute [rw] next_token
811
+ # Pagination token from the previous response.
812
+ # @return [String]
813
+ #
814
+ # @!attribute [rw] max_results
815
+ # Maximum number of collection IDs to return.
816
+ # @return [Integer]
817
+ class ListCollectionsRequest < Struct.new(
818
+ :next_token,
819
+ :max_results)
820
+ include Aws::Structure
821
+ end
822
+
823
+ # @!attribute [rw] collection_ids
824
+ # An array of collection IDs.
825
+ # @return [Array<String>]
826
+ #
827
+ # @!attribute [rw] next_token
828
+ # If the result is truncated, the response provides a `NextToken` that
829
+ # you can use in the subsequent request to fetch the next set of
830
+ # collection IDs.
831
+ # @return [String]
832
+ class ListCollectionsResponse < Struct.new(
833
+ :collection_ids,
834
+ :next_token)
835
+ include Aws::Structure
836
+ end
837
+
838
+ # @note When making an API call, pass ListFacesRequest
839
+ # data as a hash:
840
+ #
841
+ # {
842
+ # collection_id: "CollectionId", # required
843
+ # next_token: "PaginationToken",
844
+ # max_results: 1,
845
+ # }
846
+ # @!attribute [rw] collection_id
847
+ # ID of the collection from which to list the faces.
848
+ # @return [String]
849
+ #
850
+ # @!attribute [rw] next_token
851
+ # If the previous response was incomplete (because there is more data
852
+ # to retrieve), Amazon Rekognition returns a pagination token in the
853
+ # response. You can use this pagination token to retrieve the next set
854
+ # of faces.
855
+ # @return [String]
856
+ #
857
+ # @!attribute [rw] max_results
858
+ # Maximum number of faces to return.
859
+ # @return [Integer]
860
+ class ListFacesRequest < Struct.new(
861
+ :collection_id,
862
+ :next_token,
863
+ :max_results)
864
+ include Aws::Structure
865
+ end
866
+
867
+ # @!attribute [rw] faces
868
+ # An array of `Face` objects.
869
+ # @return [Array<Types::Face>]
870
+ #
871
+ # @!attribute [rw] next_token
872
+ # If the response is truncated, Amazon Rekognition returns this token
873
+ # that you can use in the subsequent request to retrieve the next set
874
+ # of faces.
875
+ # @return [String]
876
+ class ListFacesResponse < Struct.new(
877
+ :faces,
878
+ :next_token)
879
+ include Aws::Structure
880
+ end
881
+
882
+ # Indicates whether or not the mouth on the face is open, and the
883
+ # confidence level in the determination.
884
+ # @!attribute [rw] value
885
+ # Boolean value that indicates whether the mouth on the face is open
886
+ # or not.
887
+ # @return [Boolean]
888
+ #
889
+ # @!attribute [rw] confidence
890
+ # Level of confidence in the determination.
891
+ # @return [Float]
892
+ class MouthOpen < Struct.new(
893
+ :value,
894
+ :confidence)
895
+ include Aws::Structure
896
+ end
897
+
898
+ # Indicates whether or not the face has a mustache, and the confidence
899
+ # level in the determination.
900
+ # @!attribute [rw] value
901
+ # Boolean value that indicates whether the face has mustache or not.
902
+ # @return [Boolean]
903
+ #
904
+ # @!attribute [rw] confidence
905
+ # Level of confidence in the determination.
906
+ # @return [Float]
907
+ class Mustache < Struct.new(
908
+ :value,
909
+ :confidence)
910
+ include Aws::Structure
911
+ end
912
+
913
+ # Indicates the pose of the face as determined by pitch, roll, and the
914
+ # yaw.
915
+ # @!attribute [rw] roll
916
+ # Value representing the face rotation on the roll axis.
917
+ # @return [Float]
918
+ #
919
+ # @!attribute [rw] yaw
920
+ # Value representing the face rotation on the yaw axis.
921
+ # @return [Float]
922
+ #
923
+ # @!attribute [rw] pitch
924
+ # Value representing the face rotation on the pitch axis.
925
+ # @return [Float]
926
+ class Pose < Struct.new(
927
+ :roll,
928
+ :yaw,
929
+ :pitch)
930
+ include Aws::Structure
931
+ end
932
+
933
+ # Provides the S3 bucket name and object name.
934
+ # @note When making an API call, pass S3Object
935
+ # data as a hash:
936
+ #
937
+ # {
938
+ # bucket: "S3Bucket",
939
+ # name: "S3ObjectName",
940
+ # version: "S3ObjectVersion",
941
+ # }
942
+ # @!attribute [rw] bucket
943
+ # Name of the S3 bucket.
944
+ # @return [String]
945
+ #
946
+ # @!attribute [rw] name
947
+ # S3 object key name.
948
+ # @return [String]
949
+ #
950
+ # @!attribute [rw] version
951
+ # If the bucket is versioning enabled, you can specify the object
952
+ # version.
953
+ # @return [String]
954
+ class S3Object < Struct.new(
955
+ :bucket,
956
+ :name,
957
+ :version)
958
+ include Aws::Structure
959
+ end
960
+
961
+ # @note When making an API call, pass SearchFacesByImageRequest
962
+ # data as a hash:
963
+ #
964
+ # {
965
+ # collection_id: "CollectionId", # required
966
+ # image: { # required
967
+ # bytes: "data",
968
+ # s3_object: {
969
+ # bucket: "S3Bucket",
970
+ # name: "S3ObjectName",
971
+ # version: "S3ObjectVersion",
972
+ # },
973
+ # },
974
+ # max_faces: 1,
975
+ # face_match_threshold: 1.0,
976
+ # }
977
+ # @!attribute [rw] collection_id
978
+ # ID of the collection to search.
979
+ # @return [String]
980
+ #
981
+ # @!attribute [rw] image
982
+ # Provides the source image either as bytes or an S3 object.
983
+ # @return [Types::Image]
984
+ #
985
+ # @!attribute [rw] max_faces
986
+ # Maximum number of faces to return. The operation returns the maximum
987
+ # number of faces with the highest confidence in the match.
988
+ # @return [Integer]
989
+ #
990
+ # @!attribute [rw] face_match_threshold
991
+ # (Optional) Specifies the minimum confidence in the face match to
992
+ # return. For example, don't return any matches where confidence in
993
+ # matches is less than 70%.
994
+ # @return [Float]
995
+ class SearchFacesByImageRequest < Struct.new(
996
+ :collection_id,
997
+ :image,
998
+ :max_faces,
999
+ :face_match_threshold)
1000
+ include Aws::Structure
1001
+ end
1002
+
1003
+ # @!attribute [rw] searched_face_bounding_box
1004
+ # The bounding box around the face in the input image that Rekognition
1005
+ # used for the search.
1006
+ # @return [Types::BoundingBox]
1007
+ #
1008
+ # @!attribute [rw] searched_face_confidence
1009
+ # The level of confidence that the `searchedFaceBoundingBox`, contains
1010
+ # a face.
1011
+ # @return [Float]
1012
+ #
1013
+ # @!attribute [rw] face_matches
1014
+ # An array of faces that match the input face, along with the
1015
+ # confidence in the match.
1016
+ # @return [Array<Types::FaceMatch>]
1017
+ class SearchFacesByImageResponse < Struct.new(
1018
+ :searched_face_bounding_box,
1019
+ :searched_face_confidence,
1020
+ :face_matches)
1021
+ include Aws::Structure
1022
+ end
1023
+
1024
+ # @note When making an API call, pass SearchFacesRequest
1025
+ # data as a hash:
1026
+ #
1027
+ # {
1028
+ # collection_id: "CollectionId", # required
1029
+ # face_id: "FaceId", # required
1030
+ # max_faces: 1,
1031
+ # face_match_threshold: 1.0,
1032
+ # }
1033
+ # @!attribute [rw] collection_id
1034
+ # ID of the collection to search.
1035
+ # @return [String]
1036
+ #
1037
+ # @!attribute [rw] face_id
1038
+ # ID of a face to find matches for in the collection.
1039
+ # @return [String]
1040
+ #
1041
+ # @!attribute [rw] max_faces
1042
+ # Maximum number of faces to return. The API will return the maximum
1043
+ # number of faces with the highest confidence in the match.
1044
+ # @return [Integer]
1045
+ #
1046
+ # @!attribute [rw] face_match_threshold
1047
+ # Optional value specifying the minimum confidence in the face match
1048
+ # to return. For example, don't return any matches where confidence
1049
+ # in matches is less than 70%.
1050
+ # @return [Float]
1051
+ class SearchFacesRequest < Struct.new(
1052
+ :collection_id,
1053
+ :face_id,
1054
+ :max_faces,
1055
+ :face_match_threshold)
1056
+ include Aws::Structure
1057
+ end
1058
+
1059
+ # @!attribute [rw] searched_face_id
1060
+ # ID of the face that was searched for matches in a collection.
1061
+ # @return [String]
1062
+ #
1063
+ # @!attribute [rw] face_matches
1064
+ # An array of faces that matched the input face, along with the
1065
+ # confidence in the match.
1066
+ # @return [Array<Types::FaceMatch>]
1067
+ class SearchFacesResponse < Struct.new(
1068
+ :searched_face_id,
1069
+ :face_matches)
1070
+ include Aws::Structure
1071
+ end
1072
+
1073
+ # Indicates whether or not the face is smiling, and the confidence level
1074
+ # in the determination.
1075
+ # @!attribute [rw] value
1076
+ # Boolean value that indicates whether the face is smiling or not.
1077
+ # @return [Boolean]
1078
+ #
1079
+ # @!attribute [rw] confidence
1080
+ # Level of confidence in the determination.
1081
+ # @return [Float]
1082
+ class Smile < Struct.new(
1083
+ :value,
1084
+ :confidence)
1085
+ include Aws::Structure
1086
+ end
1087
+
1088
+ # Indicates whether or not the face is wearing sunglasses, and the
1089
+ # confidence level in the determination.
1090
+ # @!attribute [rw] value
1091
+ # Boolean value that indicates whether the face is wearing sunglasses
1092
+ # or not.
1093
+ # @return [Boolean]
1094
+ #
1095
+ # @!attribute [rw] confidence
1096
+ # Level of confidence in the determination.
1097
+ # @return [Float]
1098
+ class Sunglasses < Struct.new(
1099
+ :value,
1100
+ :confidence)
1101
+ include Aws::Structure
1102
+ end
1103
+
1104
+ end
1105
+ end
1106
+ end