aws-sdk-rekognition 1.42.0 → 1.47.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e202f3c5f8c9abd2963d960caf10eaa394932c226e619dbe583129d7bd4f8367
4
- data.tar.gz: ecf272786b81bba53b35e975b497acc688efcaff278ae109527ddfbe9fbcf030
3
+ metadata.gz: ad6aaee8f78cd8bc00a78a881ac3cabda0195f7a6d52e7bd7a21d4b0c526c1dd
4
+ data.tar.gz: 2570ed7935d0bd49c858ef133f06ed871debac1d85eda5bb954fca43e8b7d778
5
5
  SHA512:
6
- metadata.gz: fd679809080dee82395e45841d0c1369afcb3fa4c6c9c24adcfa683b15670b83a4cc96a7ec6462e6df0d10d797a87f5b2b7d369c77fce52bb96b7aa659eb1272
7
- data.tar.gz: 1e43a2e84d94e4ecb80939dc267f800bf50b9e821738e88586bbbc072c46e3c17780a1ab12027c3fd8639269bdb81fbaa129828cfa43ba8a9835478af56d4691
6
+ metadata.gz: 16870e7bba084bb9d788bf87c826fc045eb89d8f271424b679b78ca32bdd261b4c9778a34d3a8c3b419b34a37591cfb15d506a9eb0743ebd9f3bb4998241a93e
7
+ data.tar.gz: 5b6f1f1732e5e367d651e1311025f84450c0d9fc00edcc5e90ca1bde6d020c68787d0f0bf357c3d3134a9f7024bb7fd5aaf09720a60bbf209a46b99e8966d38b
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-core'
11
12
  require 'aws-sigv4'
12
13
 
@@ -45,9 +46,9 @@ require_relative 'aws-sdk-rekognition/customizations'
45
46
  #
46
47
  # See {Errors} for more information.
47
48
  #
48
- # @service
49
+ # @!group service
49
50
  module Aws::Rekognition
50
51
 
51
- GEM_VERSION = '1.42.0'
52
+ GEM_VERSION = '1.47.0'
52
53
 
53
54
  end
@@ -85,13 +85,28 @@ module Aws::Rekognition
85
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
86
  # credentials.
87
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
88
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
89
103
  # from an EC2 IMDS on an EC2 instance.
90
104
  #
91
- # * `Aws::SharedCredentials` - Used for loading credentials from a
92
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
93
107
  #
94
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
95
110
  #
96
111
  # When `:credentials` are not configured directly, the following
97
112
  # locations will be searched for credentials:
@@ -101,10 +116,10 @@ module Aws::Rekognition
101
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
102
117
  # * `~/.aws/credentials`
103
118
  # * `~/.aws/config`
104
- # * EC2 IMDS instance profile - When used by default, the timeouts are
105
- # very aggressive. Construct and pass an instance of
106
- # `Aws::InstanceProfileCredentails` to enable retries and extended
107
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
108
123
  #
109
124
  # @option options [required, String] :region
110
125
  # The AWS region to connect to. The configured `:region` is
@@ -363,12 +378,6 @@ module Aws::Rekognition
363
378
  # want to filter detected faces, specify `NONE`. The default value is
364
379
  # `NONE`.
365
380
  #
366
- # <note markdown="1"> To use quality filtering, you need a collection associated with
367
- # version 3 of the face model or higher. To get the version of the face
368
- # model associated with a collection, call DescribeCollection.
369
- #
370
- # </note>
371
- #
372
381
  # If the image doesn't contain Exif metadata, `CompareFaces` returns
373
382
  # orientation information for the source and target images. Use these
374
383
  # values to display the images with the correct image orientation.
@@ -1109,6 +1118,10 @@ module Aws::Rekognition
1109
1118
  # resp.project_version_descriptions[0].training_data_result.output.assets[0].ground_truth_manifest.s3_object.bucket #=> String
1110
1119
  # resp.project_version_descriptions[0].training_data_result.output.assets[0].ground_truth_manifest.s3_object.name #=> String
1111
1120
  # resp.project_version_descriptions[0].training_data_result.output.assets[0].ground_truth_manifest.s3_object.version #=> String
1121
+ # resp.project_version_descriptions[0].training_data_result.validation.assets #=> Array
1122
+ # resp.project_version_descriptions[0].training_data_result.validation.assets[0].ground_truth_manifest.s3_object.bucket #=> String
1123
+ # resp.project_version_descriptions[0].training_data_result.validation.assets[0].ground_truth_manifest.s3_object.name #=> String
1124
+ # resp.project_version_descriptions[0].training_data_result.validation.assets[0].ground_truth_manifest.s3_object.version #=> String
1112
1125
  # resp.project_version_descriptions[0].testing_data_result.input.assets #=> Array
1113
1126
  # resp.project_version_descriptions[0].testing_data_result.input.assets[0].ground_truth_manifest.s3_object.bucket #=> String
1114
1127
  # resp.project_version_descriptions[0].testing_data_result.input.assets[0].ground_truth_manifest.s3_object.name #=> String
@@ -1119,10 +1132,17 @@ module Aws::Rekognition
1119
1132
  # resp.project_version_descriptions[0].testing_data_result.output.assets[0].ground_truth_manifest.s3_object.name #=> String
1120
1133
  # resp.project_version_descriptions[0].testing_data_result.output.assets[0].ground_truth_manifest.s3_object.version #=> String
1121
1134
  # resp.project_version_descriptions[0].testing_data_result.output.auto_create #=> Boolean
1135
+ # resp.project_version_descriptions[0].testing_data_result.validation.assets #=> Array
1136
+ # resp.project_version_descriptions[0].testing_data_result.validation.assets[0].ground_truth_manifest.s3_object.bucket #=> String
1137
+ # resp.project_version_descriptions[0].testing_data_result.validation.assets[0].ground_truth_manifest.s3_object.name #=> String
1138
+ # resp.project_version_descriptions[0].testing_data_result.validation.assets[0].ground_truth_manifest.s3_object.version #=> String
1122
1139
  # resp.project_version_descriptions[0].evaluation_result.f1_score #=> Float
1123
1140
  # resp.project_version_descriptions[0].evaluation_result.summary.s3_object.bucket #=> String
1124
1141
  # resp.project_version_descriptions[0].evaluation_result.summary.s3_object.name #=> String
1125
1142
  # resp.project_version_descriptions[0].evaluation_result.summary.s3_object.version #=> String
1143
+ # resp.project_version_descriptions[0].manifest_summary.s3_object.bucket #=> String
1144
+ # resp.project_version_descriptions[0].manifest_summary.s3_object.name #=> String
1145
+ # resp.project_version_descriptions[0].manifest_summary.s3_object.version #=> String
1126
1146
  # resp.next_token #=> String
1127
1147
  #
1128
1148
  #
@@ -1794,6 +1814,115 @@ module Aws::Rekognition
1794
1814
  req.send_request(options)
1795
1815
  end
1796
1816
 
1817
+ # Detects Personal Protective Equipment (PPE) worn by people detected in
1818
+ # an image. Amazon Rekognition can detect the following types of PPE.
1819
+ #
1820
+ # * Face cover
1821
+ #
1822
+ # * Hand cover
1823
+ #
1824
+ # * Head cover
1825
+ #
1826
+ # You pass the input image as base64-encoded image bytes or as a
1827
+ # reference to an image in an Amazon S3 bucket. The image must be either
1828
+ # a PNG or JPG formatted file.
1829
+ #
1830
+ # `DetectProtectiveEquipment` detects PPE worn by up to 15 persons
1831
+ # detected in an image.
1832
+ #
1833
+ # For each person detected in the image the API returns an array of body
1834
+ # parts (face, head, left-hand, right-hand). For each body part, an
1835
+ # array of detected items of PPE is returned, including an indicator of
1836
+ # whether or not the PPE covers the body part. The API returns the
1837
+ # confidence it has in each detection (person, PPE, body part and body
1838
+ # part coverage). It also returns a bounding box (BoundingBox) for each
1839
+ # detected person and each detected item of PPE.
1840
+ #
1841
+ # You can optionally request a summary of detected PPE items with the
1842
+ # `SummarizationAttributes` input parameter. The summary provides the
1843
+ # following information.
1844
+ #
1845
+ # * The persons detected as wearing all of the types of PPE that you
1846
+ # specify.
1847
+ #
1848
+ # * The persons detected as not wearing all of the types PPE that you
1849
+ # specify.
1850
+ #
1851
+ # * The persons detected where PPE adornment could not be determined.
1852
+ #
1853
+ # This is a stateless API operation. That is, the operation does not
1854
+ # persist any data.
1855
+ #
1856
+ # This operation requires permissions to perform the
1857
+ # `rekognition:DetectProtectiveEquipment` action.
1858
+ #
1859
+ # @option params [required, Types::Image] :image
1860
+ # The image in which you want to detect PPE on detected persons. The
1861
+ # image can be passed as image bytes or you can reference an image
1862
+ # stored in an Amazon S3 bucket.
1863
+ #
1864
+ # @option params [Types::ProtectiveEquipmentSummarizationAttributes] :summarization_attributes
1865
+ # An array of PPE types that you want to summarize.
1866
+ #
1867
+ # @return [Types::DetectProtectiveEquipmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1868
+ #
1869
+ # * {Types::DetectProtectiveEquipmentResponse#protective_equipment_model_version #protective_equipment_model_version} => String
1870
+ # * {Types::DetectProtectiveEquipmentResponse#persons #persons} => Array&lt;Types::ProtectiveEquipmentPerson&gt;
1871
+ # * {Types::DetectProtectiveEquipmentResponse#summary #summary} => Types::ProtectiveEquipmentSummary
1872
+ #
1873
+ # @example Request syntax with placeholder values
1874
+ #
1875
+ # resp = client.detect_protective_equipment({
1876
+ # image: { # required
1877
+ # bytes: "data",
1878
+ # s3_object: {
1879
+ # bucket: "S3Bucket",
1880
+ # name: "S3ObjectName",
1881
+ # version: "S3ObjectVersion",
1882
+ # },
1883
+ # },
1884
+ # summarization_attributes: {
1885
+ # min_confidence: 1.0, # required
1886
+ # required_equipment_types: ["FACE_COVER"], # required, accepts FACE_COVER, HAND_COVER, HEAD_COVER
1887
+ # },
1888
+ # })
1889
+ #
1890
+ # @example Response structure
1891
+ #
1892
+ # resp.protective_equipment_model_version #=> String
1893
+ # resp.persons #=> Array
1894
+ # resp.persons[0].body_parts #=> Array
1895
+ # resp.persons[0].body_parts[0].name #=> String, one of "FACE", "HEAD", "LEFT_HAND", "RIGHT_HAND"
1896
+ # resp.persons[0].body_parts[0].confidence #=> Float
1897
+ # resp.persons[0].body_parts[0].equipment_detections #=> Array
1898
+ # resp.persons[0].body_parts[0].equipment_detections[0].bounding_box.width #=> Float
1899
+ # resp.persons[0].body_parts[0].equipment_detections[0].bounding_box.height #=> Float
1900
+ # resp.persons[0].body_parts[0].equipment_detections[0].bounding_box.left #=> Float
1901
+ # resp.persons[0].body_parts[0].equipment_detections[0].bounding_box.top #=> Float
1902
+ # resp.persons[0].body_parts[0].equipment_detections[0].confidence #=> Float
1903
+ # resp.persons[0].body_parts[0].equipment_detections[0].type #=> String, one of "FACE_COVER", "HAND_COVER", "HEAD_COVER"
1904
+ # resp.persons[0].body_parts[0].equipment_detections[0].covers_body_part.confidence #=> Float
1905
+ # resp.persons[0].body_parts[0].equipment_detections[0].covers_body_part.value #=> Boolean
1906
+ # resp.persons[0].bounding_box.width #=> Float
1907
+ # resp.persons[0].bounding_box.height #=> Float
1908
+ # resp.persons[0].bounding_box.left #=> Float
1909
+ # resp.persons[0].bounding_box.top #=> Float
1910
+ # resp.persons[0].confidence #=> Float
1911
+ # resp.persons[0].id #=> Integer
1912
+ # resp.summary.persons_with_required_equipment #=> Array
1913
+ # resp.summary.persons_with_required_equipment[0] #=> Integer
1914
+ # resp.summary.persons_without_required_equipment #=> Array
1915
+ # resp.summary.persons_without_required_equipment[0] #=> Integer
1916
+ # resp.summary.persons_indeterminate #=> Array
1917
+ # resp.summary.persons_indeterminate[0] #=> Integer
1918
+ #
1919
+ # @overload detect_protective_equipment(params = {})
1920
+ # @param [Hash] params ({})
1921
+ def detect_protective_equipment(params = {}, options = {})
1922
+ req = build_request(:detect_protective_equipment, params)
1923
+ req.send_request(options)
1924
+ end
1925
+
1797
1926
  # Detects text in the input image and converts it into machine-readable
1798
1927
  # text.
1799
1928
  #
@@ -3657,11 +3786,11 @@ module Aws::Rekognition
3657
3786
  # more information, see Recognizing Celebrities in the Amazon
3658
3787
  # Rekognition Developer Guide.
3659
3788
  #
3660
- # `RecognizeCelebrities` returns the 100 largest faces in the image. It
3789
+ # `RecognizeCelebrities` returns the 64 largest faces in the image. It
3661
3790
  # lists recognized celebrities in the `CelebrityFaces` array and
3662
3791
  # unrecognized faces in the `UnrecognizedFaces` array.
3663
3792
  # `RecognizeCelebrities` doesn't return celebrities whose faces aren't
3664
- # among the largest 100 faces in the image.
3793
+ # among the largest 64 faces in the image.
3665
3794
  #
3666
3795
  # For each celebrity recognized, `RecognizeCelebrities` returns a
3667
3796
  # `Celebrity` object. The `Celebrity` object contains the celebrity
@@ -4870,7 +4999,7 @@ module Aws::Rekognition
4870
4999
  params: params,
4871
5000
  config: config)
4872
5001
  context[:gem_name] = 'aws-sdk-rekognition'
4873
- context[:gem_version] = '1.42.0'
5002
+ context[:gem_version] = '1.47.0'
4874
5003
  Seahorse::Client::Request.new(handlers, context)
4875
5004
  end
4876
5005
 
@@ -22,6 +22,8 @@ module Aws::Rekognition
22
22
  AudioMetadata = Shapes::StructureShape.new(name: 'AudioMetadata')
23
23
  AudioMetadataList = Shapes::ListShape.new(name: 'AudioMetadataList')
24
24
  Beard = Shapes::StructureShape.new(name: 'Beard')
25
+ BodyPart = Shapes::StringShape.new(name: 'BodyPart')
26
+ BodyParts = Shapes::ListShape.new(name: 'BodyParts')
25
27
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
26
28
  BoundingBox = Shapes::StructureShape.new(name: 'BoundingBox')
27
29
  BoundingBoxHeight = Shapes::FloatShape.new(name: 'BoundingBoxHeight')
@@ -48,6 +50,7 @@ module Aws::Rekognition
48
50
  ContentModerationDetection = Shapes::StructureShape.new(name: 'ContentModerationDetection')
49
51
  ContentModerationDetections = Shapes::ListShape.new(name: 'ContentModerationDetections')
50
52
  ContentModerationSortBy = Shapes::StringShape.new(name: 'ContentModerationSortBy')
53
+ CoversBodyPart = Shapes::StructureShape.new(name: 'CoversBodyPart')
51
54
  CreateCollectionRequest = Shapes::StructureShape.new(name: 'CreateCollectionRequest')
52
55
  CreateCollectionResponse = Shapes::StructureShape.new(name: 'CreateCollectionResponse')
53
56
  CreateProjectRequest = Shapes::StructureShape.new(name: 'CreateProjectRequest')
@@ -86,6 +89,8 @@ module Aws::Rekognition
86
89
  DetectLabelsResponse = Shapes::StructureShape.new(name: 'DetectLabelsResponse')
87
90
  DetectModerationLabelsRequest = Shapes::StructureShape.new(name: 'DetectModerationLabelsRequest')
88
91
  DetectModerationLabelsResponse = Shapes::StructureShape.new(name: 'DetectModerationLabelsResponse')
92
+ DetectProtectiveEquipmentRequest = Shapes::StructureShape.new(name: 'DetectProtectiveEquipmentRequest')
93
+ DetectProtectiveEquipmentResponse = Shapes::StructureShape.new(name: 'DetectProtectiveEquipmentResponse')
89
94
  DetectTextFilters = Shapes::StructureShape.new(name: 'DetectTextFilters')
90
95
  DetectTextRequest = Shapes::StructureShape.new(name: 'DetectTextRequest')
91
96
  DetectTextResponse = Shapes::StructureShape.new(name: 'DetectTextResponse')
@@ -93,6 +98,8 @@ module Aws::Rekognition
93
98
  Emotion = Shapes::StructureShape.new(name: 'Emotion')
94
99
  EmotionName = Shapes::StringShape.new(name: 'EmotionName')
95
100
  Emotions = Shapes::ListShape.new(name: 'Emotions')
101
+ EquipmentDetection = Shapes::StructureShape.new(name: 'EquipmentDetection')
102
+ EquipmentDetections = Shapes::ListShape.new(name: 'EquipmentDetections')
96
103
  EvaluationResult = Shapes::StructureShape.new(name: 'EvaluationResult')
97
104
  ExtendedPaginationToken = Shapes::StringShape.new(name: 'ExtendedPaginationToken')
98
105
  ExternalImageId = Shapes::StringShape.new(name: 'ExternalImageId')
@@ -220,6 +227,14 @@ module Aws::Rekognition
220
227
  ProjectVersionStatus = Shapes::StringShape.new(name: 'ProjectVersionStatus')
221
228
  ProjectVersionsPageSize = Shapes::IntegerShape.new(name: 'ProjectVersionsPageSize')
222
229
  ProjectsPageSize = Shapes::IntegerShape.new(name: 'ProjectsPageSize')
230
+ ProtectiveEquipmentBodyPart = Shapes::StructureShape.new(name: 'ProtectiveEquipmentBodyPart')
231
+ ProtectiveEquipmentPerson = Shapes::StructureShape.new(name: 'ProtectiveEquipmentPerson')
232
+ ProtectiveEquipmentPersonIds = Shapes::ListShape.new(name: 'ProtectiveEquipmentPersonIds')
233
+ ProtectiveEquipmentPersons = Shapes::ListShape.new(name: 'ProtectiveEquipmentPersons')
234
+ ProtectiveEquipmentSummarizationAttributes = Shapes::StructureShape.new(name: 'ProtectiveEquipmentSummarizationAttributes')
235
+ ProtectiveEquipmentSummary = Shapes::StructureShape.new(name: 'ProtectiveEquipmentSummary')
236
+ ProtectiveEquipmentType = Shapes::StringShape.new(name: 'ProtectiveEquipmentType')
237
+ ProtectiveEquipmentTypes = Shapes::ListShape.new(name: 'ProtectiveEquipmentTypes')
223
238
  ProvisionedThroughputExceededException = Shapes::StructureShape.new(name: 'ProvisionedThroughputExceededException')
224
239
  QualityFilter = Shapes::StringShape.new(name: 'QualityFilter')
225
240
  Reason = Shapes::StringShape.new(name: 'Reason')
@@ -251,6 +266,7 @@ module Aws::Rekognition
251
266
  SegmentTypeInfo = Shapes::StructureShape.new(name: 'SegmentTypeInfo')
252
267
  SegmentTypes = Shapes::ListShape.new(name: 'SegmentTypes')
253
268
  SegmentTypesInfo = Shapes::ListShape.new(name: 'SegmentTypesInfo')
269
+ ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
254
270
  ShotSegment = Shapes::StructureShape.new(name: 'ShotSegment')
255
271
  Smile = Shapes::StructureShape.new(name: 'Smile')
256
272
  StartCelebrityRecognitionRequest = Shapes::StructureShape.new(name: 'StartCelebrityRecognitionRequest')
@@ -313,6 +329,7 @@ module Aws::Rekognition
313
329
  UnindexedFaces = Shapes::ListShape.new(name: 'UnindexedFaces')
314
330
  Url = Shapes::StringShape.new(name: 'Url')
315
331
  Urls = Shapes::ListShape.new(name: 'Urls')
332
+ ValidationData = Shapes::StructureShape.new(name: 'ValidationData')
316
333
  VersionName = Shapes::StringShape.new(name: 'VersionName')
317
334
  VersionNames = Shapes::ListShape.new(name: 'VersionNames')
318
335
  Video = Shapes::StructureShape.new(name: 'Video')
@@ -346,6 +363,8 @@ module Aws::Rekognition
346
363
  Beard.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
347
364
  Beard.struct_class = Types::Beard
348
365
 
366
+ BodyParts.member = Shapes::ShapeRef.new(shape: ProtectiveEquipmentBodyPart)
367
+
349
368
  BoundingBox.add_member(:width, Shapes::ShapeRef.new(shape: Float, location_name: "Width"))
350
369
  BoundingBox.add_member(:height, Shapes::ShapeRef.new(shape: Float, location_name: "Height"))
351
370
  BoundingBox.add_member(:left, Shapes::ShapeRef.new(shape: Float, location_name: "Left"))
@@ -419,6 +438,10 @@ module Aws::Rekognition
419
438
 
420
439
  ContentModerationDetections.member = Shapes::ShapeRef.new(shape: ContentModerationDetection)
421
440
 
441
+ CoversBodyPart.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
442
+ CoversBodyPart.add_member(:value, Shapes::ShapeRef.new(shape: Boolean, location_name: "Value"))
443
+ CoversBodyPart.struct_class = Types::CoversBodyPart
444
+
422
445
  CreateCollectionRequest.add_member(:collection_id, Shapes::ShapeRef.new(shape: CollectionId, required: true, location_name: "CollectionId"))
423
446
  CreateCollectionRequest.struct_class = Types::CreateCollectionRequest
424
447
 
@@ -569,6 +592,15 @@ module Aws::Rekognition
569
592
  DetectModerationLabelsResponse.add_member(:human_loop_activation_output, Shapes::ShapeRef.new(shape: HumanLoopActivationOutput, location_name: "HumanLoopActivationOutput"))
570
593
  DetectModerationLabelsResponse.struct_class = Types::DetectModerationLabelsResponse
571
594
 
595
+ DetectProtectiveEquipmentRequest.add_member(:image, Shapes::ShapeRef.new(shape: Image, required: true, location_name: "Image"))
596
+ DetectProtectiveEquipmentRequest.add_member(:summarization_attributes, Shapes::ShapeRef.new(shape: ProtectiveEquipmentSummarizationAttributes, location_name: "SummarizationAttributes"))
597
+ DetectProtectiveEquipmentRequest.struct_class = Types::DetectProtectiveEquipmentRequest
598
+
599
+ DetectProtectiveEquipmentResponse.add_member(:protective_equipment_model_version, Shapes::ShapeRef.new(shape: String, location_name: "ProtectiveEquipmentModelVersion"))
600
+ DetectProtectiveEquipmentResponse.add_member(:persons, Shapes::ShapeRef.new(shape: ProtectiveEquipmentPersons, location_name: "Persons"))
601
+ DetectProtectiveEquipmentResponse.add_member(:summary, Shapes::ShapeRef.new(shape: ProtectiveEquipmentSummary, location_name: "Summary"))
602
+ DetectProtectiveEquipmentResponse.struct_class = Types::DetectProtectiveEquipmentResponse
603
+
572
604
  DetectTextFilters.add_member(:word_filter, Shapes::ShapeRef.new(shape: DetectionFilter, location_name: "WordFilter"))
573
605
  DetectTextFilters.add_member(:regions_of_interest, Shapes::ShapeRef.new(shape: RegionsOfInterest, location_name: "RegionsOfInterest"))
574
606
  DetectTextFilters.struct_class = Types::DetectTextFilters
@@ -592,6 +624,14 @@ module Aws::Rekognition
592
624
 
593
625
  Emotions.member = Shapes::ShapeRef.new(shape: Emotion)
594
626
 
627
+ EquipmentDetection.add_member(:bounding_box, Shapes::ShapeRef.new(shape: BoundingBox, location_name: "BoundingBox"))
628
+ EquipmentDetection.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
629
+ EquipmentDetection.add_member(:type, Shapes::ShapeRef.new(shape: ProtectiveEquipmentType, location_name: "Type"))
630
+ EquipmentDetection.add_member(:covers_body_part, Shapes::ShapeRef.new(shape: CoversBodyPart, location_name: "CoversBodyPart"))
631
+ EquipmentDetection.struct_class = Types::EquipmentDetection
632
+
633
+ EquipmentDetections.member = Shapes::ShapeRef.new(shape: EquipmentDetection)
634
+
595
635
  EvaluationResult.add_member(:f1_score, Shapes::ShapeRef.new(shape: Float, location_name: "F1Score"))
596
636
  EvaluationResult.add_member(:summary, Shapes::ShapeRef.new(shape: Summary, location_name: "Summary"))
597
637
  EvaluationResult.struct_class = Types::EvaluationResult
@@ -975,10 +1015,37 @@ module Aws::Rekognition
975
1015
  ProjectVersionDescription.add_member(:training_data_result, Shapes::ShapeRef.new(shape: TrainingDataResult, location_name: "TrainingDataResult"))
976
1016
  ProjectVersionDescription.add_member(:testing_data_result, Shapes::ShapeRef.new(shape: TestingDataResult, location_name: "TestingDataResult"))
977
1017
  ProjectVersionDescription.add_member(:evaluation_result, Shapes::ShapeRef.new(shape: EvaluationResult, location_name: "EvaluationResult"))
1018
+ ProjectVersionDescription.add_member(:manifest_summary, Shapes::ShapeRef.new(shape: GroundTruthManifest, location_name: "ManifestSummary"))
978
1019
  ProjectVersionDescription.struct_class = Types::ProjectVersionDescription
979
1020
 
980
1021
  ProjectVersionDescriptions.member = Shapes::ShapeRef.new(shape: ProjectVersionDescription)
981
1022
 
1023
+ ProtectiveEquipmentBodyPart.add_member(:name, Shapes::ShapeRef.new(shape: BodyPart, location_name: "Name"))
1024
+ ProtectiveEquipmentBodyPart.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
1025
+ ProtectiveEquipmentBodyPart.add_member(:equipment_detections, Shapes::ShapeRef.new(shape: EquipmentDetections, location_name: "EquipmentDetections"))
1026
+ ProtectiveEquipmentBodyPart.struct_class = Types::ProtectiveEquipmentBodyPart
1027
+
1028
+ ProtectiveEquipmentPerson.add_member(:body_parts, Shapes::ShapeRef.new(shape: BodyParts, location_name: "BodyParts"))
1029
+ ProtectiveEquipmentPerson.add_member(:bounding_box, Shapes::ShapeRef.new(shape: BoundingBox, location_name: "BoundingBox"))
1030
+ ProtectiveEquipmentPerson.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
1031
+ ProtectiveEquipmentPerson.add_member(:id, Shapes::ShapeRef.new(shape: UInteger, location_name: "Id"))
1032
+ ProtectiveEquipmentPerson.struct_class = Types::ProtectiveEquipmentPerson
1033
+
1034
+ ProtectiveEquipmentPersonIds.member = Shapes::ShapeRef.new(shape: UInteger)
1035
+
1036
+ ProtectiveEquipmentPersons.member = Shapes::ShapeRef.new(shape: ProtectiveEquipmentPerson)
1037
+
1038
+ ProtectiveEquipmentSummarizationAttributes.add_member(:min_confidence, Shapes::ShapeRef.new(shape: Percent, required: true, location_name: "MinConfidence"))
1039
+ ProtectiveEquipmentSummarizationAttributes.add_member(:required_equipment_types, Shapes::ShapeRef.new(shape: ProtectiveEquipmentTypes, required: true, location_name: "RequiredEquipmentTypes"))
1040
+ ProtectiveEquipmentSummarizationAttributes.struct_class = Types::ProtectiveEquipmentSummarizationAttributes
1041
+
1042
+ ProtectiveEquipmentSummary.add_member(:persons_with_required_equipment, Shapes::ShapeRef.new(shape: ProtectiveEquipmentPersonIds, location_name: "PersonsWithRequiredEquipment"))
1043
+ ProtectiveEquipmentSummary.add_member(:persons_without_required_equipment, Shapes::ShapeRef.new(shape: ProtectiveEquipmentPersonIds, location_name: "PersonsWithoutRequiredEquipment"))
1044
+ ProtectiveEquipmentSummary.add_member(:persons_indeterminate, Shapes::ShapeRef.new(shape: ProtectiveEquipmentPersonIds, location_name: "PersonsIndeterminate"))
1045
+ ProtectiveEquipmentSummary.struct_class = Types::ProtectiveEquipmentSummary
1046
+
1047
+ ProtectiveEquipmentTypes.member = Shapes::ShapeRef.new(shape: ProtectiveEquipmentType)
1048
+
982
1049
  ProvisionedThroughputExceededException.struct_class = Types::ProvisionedThroughputExceededException
983
1050
 
984
1051
  Reasons.member = Shapes::ShapeRef.new(shape: Reason)
@@ -1054,6 +1121,8 @@ module Aws::Rekognition
1054
1121
 
1055
1122
  SegmentTypesInfo.member = Shapes::ShapeRef.new(shape: SegmentTypeInfo)
1056
1123
 
1124
+ ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
1125
+
1057
1126
  ShotSegment.add_member(:index, Shapes::ShapeRef.new(shape: ULong, location_name: "Index"))
1058
1127
  ShotSegment.add_member(:confidence, Shapes::ShapeRef.new(shape: SegmentConfidence, location_name: "Confidence"))
1059
1128
  ShotSegment.struct_class = Types::ShotSegment
@@ -1211,6 +1280,7 @@ module Aws::Rekognition
1211
1280
 
1212
1281
  TestingDataResult.add_member(:input, Shapes::ShapeRef.new(shape: TestingData, location_name: "Input"))
1213
1282
  TestingDataResult.add_member(:output, Shapes::ShapeRef.new(shape: TestingData, location_name: "Output"))
1283
+ TestingDataResult.add_member(:validation, Shapes::ShapeRef.new(shape: ValidationData, location_name: "Validation"))
1214
1284
  TestingDataResult.struct_class = Types::TestingDataResult
1215
1285
 
1216
1286
  TextDetection.add_member(:detected_text, Shapes::ShapeRef.new(shape: String, location_name: "DetectedText"))
@@ -1236,6 +1306,7 @@ module Aws::Rekognition
1236
1306
 
1237
1307
  TrainingDataResult.add_member(:input, Shapes::ShapeRef.new(shape: TrainingData, location_name: "Input"))
1238
1308
  TrainingDataResult.add_member(:output, Shapes::ShapeRef.new(shape: TrainingData, location_name: "Output"))
1309
+ TrainingDataResult.add_member(:validation, Shapes::ShapeRef.new(shape: ValidationData, location_name: "Validation"))
1239
1310
  TrainingDataResult.struct_class = Types::TrainingDataResult
1240
1311
 
1241
1312
  UnindexedFace.add_member(:reasons, Shapes::ShapeRef.new(shape: Reasons, location_name: "Reasons"))
@@ -1246,6 +1317,9 @@ module Aws::Rekognition
1246
1317
 
1247
1318
  Urls.member = Shapes::ShapeRef.new(shape: Url)
1248
1319
 
1320
+ ValidationData.add_member(:assets, Shapes::ShapeRef.new(shape: Assets, location_name: "Assets"))
1321
+ ValidationData.struct_class = Types::ValidationData
1322
+
1249
1323
  VersionNames.member = Shapes::ShapeRef.new(shape: VersionName)
1250
1324
 
1251
1325
  Video.add_member(:s3_object, Shapes::ShapeRef.new(shape: S3Object, location_name: "S3Object"))
@@ -1567,6 +1641,22 @@ module Aws::Rekognition
1567
1641
  o.errors << Shapes::ShapeRef.new(shape: HumanLoopQuotaExceededException)
1568
1642
  end)
1569
1643
 
1644
+ api.add_operation(:detect_protective_equipment, Seahorse::Model::Operation.new.tap do |o|
1645
+ o.name = "DetectProtectiveEquipment"
1646
+ o.http_method = "POST"
1647
+ o.http_request_uri = "/"
1648
+ o.input = Shapes::ShapeRef.new(shape: DetectProtectiveEquipmentRequest)
1649
+ o.output = Shapes::ShapeRef.new(shape: DetectProtectiveEquipmentResponse)
1650
+ o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
1651
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1652
+ o.errors << Shapes::ShapeRef.new(shape: ImageTooLargeException)
1653
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1654
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1655
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1656
+ o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
1657
+ o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
1658
+ end)
1659
+
1570
1660
  api.add_operation(:detect_text, Seahorse::Model::Operation.new.tap do |o|
1571
1661
  o.name = "DetectText"
1572
1662
  o.http_method = "POST"
@@ -1780,6 +1870,7 @@ module Aws::Rekognition
1780
1870
  o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
1781
1871
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1782
1872
  o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
1873
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
1783
1874
  end)
1784
1875
 
1785
1876
  api.add_operation(:list_collections, Seahorse::Model::Operation.new.tap do |o|
@@ -42,6 +42,7 @@ module Aws::Rekognition
42
42
  # * {ResourceInUseException}
43
43
  # * {ResourceNotFoundException}
44
44
  # * {ResourceNotReadyException}
45
+ # * {ServiceQuotaExceededException}
45
46
  # * {ThrottlingException}
46
47
  # * {VideoTooLargeException}
47
48
  #
@@ -216,6 +217,16 @@ module Aws::Rekognition
216
217
  end
217
218
  end
218
219
 
220
+ class ServiceQuotaExceededException < ServiceError
221
+
222
+ # @param [Seahorse::Client::RequestContext] context
223
+ # @param [String] message
224
+ # @param [Aws::Rekognition::Types::ServiceQuotaExceededException] data
225
+ def initialize(context, message, data = Aws::EmptyStructure.new)
226
+ super(context, message, data)
227
+ end
228
+ end
229
+
219
230
  class ThrottlingException < ServiceError
220
231
 
221
232
  # @param [Seahorse::Client::RequestContext] context
@@ -37,8 +37,8 @@ module Aws::Rekognition
37
37
  end
38
38
 
39
39
  # Assets are the images that you use to train and evaluate a model
40
- # version. Assets are referenced by Sagemaker GroundTruth manifest
41
- # files.
40
+ # version. Assets can also contain validation information that you use
41
+ # to debug a failed model training.
42
42
  #
43
43
  # @note When making an API call, you may pass Asset
44
44
  # data as a hash:
@@ -54,7 +54,8 @@ module Aws::Rekognition
54
54
  # }
55
55
  #
56
56
  # @!attribute [rw] ground_truth_manifest
57
- # The S3 bucket that contains the Ground Truth manifest file.
57
+ # The S3 bucket that contains an Amazon Sagemaker Ground Truth format
58
+ # manifest file.
58
59
  # @return [Types::GroundTruthManifest]
59
60
  #
60
61
  class Asset < Struct.new(
@@ -80,7 +81,7 @@ module Aws::Rekognition
80
81
  # @return [Integer]
81
82
  #
82
83
  # @!attribute [rw] number_of_channels
83
- # The number of audio channels in the segement.
84
+ # The number of audio channels in the segment.
84
85
  # @return [Integer]
85
86
  #
86
87
  class AudioMetadata < Struct.new(
@@ -110,10 +111,11 @@ module Aws::Rekognition
110
111
  include Aws::Structure
111
112
  end
112
113
 
113
- # Identifies the bounding box around the label, face, or text. The
114
- # `left` (x-coordinate) and `top` (y-coordinate) are coordinates
115
- # representing the top and left sides of the bounding box. Note that the
116
- # upper-left corner of the image is the origin (0,0).
114
+ # Identifies the bounding box around the label, face, text or personal
115
+ # protective equipment. The `left` (x-coordinate) and `top`
116
+ # (y-coordinate) are coordinates representing the top and left sides of
117
+ # the bounding box. Note that the upper-left corner of the image is the
118
+ # origin (0,0).
117
119
  #
118
120
  # The `top` and `left` values returned are ratios of the overall image
119
121
  # size. For example, if the input image is 700x200 pixels, and the
@@ -499,6 +501,25 @@ module Aws::Rekognition
499
501
  include Aws::Structure
500
502
  end
501
503
 
504
+ # Information about an item of Personal Protective Equipment covering a
505
+ # corresponding body part. For more information, see
506
+ # DetectProtectiveEquipment.
507
+ #
508
+ # @!attribute [rw] confidence
509
+ # The confidence that Amazon Rekognition has in the value of `Value`.
510
+ # @return [Float]
511
+ #
512
+ # @!attribute [rw] value
513
+ # True if the PPE covers the corresponding body part, otherwise false.
514
+ # @return [Boolean]
515
+ #
516
+ class CoversBodyPart < Struct.new(
517
+ :confidence,
518
+ :value)
519
+ SENSITIVE = []
520
+ include Aws::Structure
521
+ end
522
+
502
523
  # @note When making an API call, you may pass CreateCollectionRequest
503
524
  # data as a hash:
504
525
  #
@@ -1445,6 +1466,64 @@ module Aws::Rekognition
1445
1466
  include Aws::Structure
1446
1467
  end
1447
1468
 
1469
+ # @note When making an API call, you may pass DetectProtectiveEquipmentRequest
1470
+ # data as a hash:
1471
+ #
1472
+ # {
1473
+ # image: { # required
1474
+ # bytes: "data",
1475
+ # s3_object: {
1476
+ # bucket: "S3Bucket",
1477
+ # name: "S3ObjectName",
1478
+ # version: "S3ObjectVersion",
1479
+ # },
1480
+ # },
1481
+ # summarization_attributes: {
1482
+ # min_confidence: 1.0, # required
1483
+ # required_equipment_types: ["FACE_COVER"], # required, accepts FACE_COVER, HAND_COVER, HEAD_COVER
1484
+ # },
1485
+ # }
1486
+ #
1487
+ # @!attribute [rw] image
1488
+ # The image in which you want to detect PPE on detected persons. The
1489
+ # image can be passed as image bytes or you can reference an image
1490
+ # stored in an Amazon S3 bucket.
1491
+ # @return [Types::Image]
1492
+ #
1493
+ # @!attribute [rw] summarization_attributes
1494
+ # An array of PPE types that you want to summarize.
1495
+ # @return [Types::ProtectiveEquipmentSummarizationAttributes]
1496
+ #
1497
+ class DetectProtectiveEquipmentRequest < Struct.new(
1498
+ :image,
1499
+ :summarization_attributes)
1500
+ SENSITIVE = []
1501
+ include Aws::Structure
1502
+ end
1503
+
1504
+ # @!attribute [rw] protective_equipment_model_version
1505
+ # The version number of the PPE detection model used to detect PPE in
1506
+ # the image.
1507
+ # @return [String]
1508
+ #
1509
+ # @!attribute [rw] persons
1510
+ # An array of persons detected in the image (including persons not
1511
+ # wearing PPE).
1512
+ # @return [Array<Types::ProtectiveEquipmentPerson>]
1513
+ #
1514
+ # @!attribute [rw] summary
1515
+ # Summary information for the types of PPE specified in the
1516
+ # `SummarizationAttributes` input parameter.
1517
+ # @return [Types::ProtectiveEquipmentSummary]
1518
+ #
1519
+ class DetectProtectiveEquipmentResponse < Struct.new(
1520
+ :protective_equipment_model_version,
1521
+ :persons,
1522
+ :summary)
1523
+ SENSITIVE = []
1524
+ include Aws::Structure
1525
+ end
1526
+
1448
1527
  # A set of optional parameters that you can use to set the criteria that
1449
1528
  # the text must meet to be included in your response. `WordFilter` looks
1450
1529
  # at a word’s height, width, and minimum confidence. `RegionOfInterest`
@@ -1618,6 +1697,36 @@ module Aws::Rekognition
1618
1697
  include Aws::Structure
1619
1698
  end
1620
1699
 
1700
+ # Information about an item of Personal Protective Equipment (PPE)
1701
+ # detected by DetectProtectiveEquipment. For more information, see
1702
+ # DetectProtectiveEquipment.
1703
+ #
1704
+ # @!attribute [rw] bounding_box
1705
+ # A bounding box surrounding the item of detected PPE.
1706
+ # @return [Types::BoundingBox]
1707
+ #
1708
+ # @!attribute [rw] confidence
1709
+ # The confidence that Amazon Rekognition has that the bounding box
1710
+ # (`BoundingBox`) contains an item of PPE.
1711
+ # @return [Float]
1712
+ #
1713
+ # @!attribute [rw] type
1714
+ # The type of detected PPE.
1715
+ # @return [String]
1716
+ #
1717
+ # @!attribute [rw] covers_body_part
1718
+ # Information about the body part covered by the detected PPE.
1719
+ # @return [Types::CoversBodyPart]
1720
+ #
1721
+ class EquipmentDetection < Struct.new(
1722
+ :bounding_box,
1723
+ :confidence,
1724
+ :type,
1725
+ :covers_body_part)
1726
+ SENSITIVE = []
1727
+ include Aws::Structure
1728
+ end
1729
+
1621
1730
  # The evaluation results for the training of a model.
1622
1731
  #
1623
1732
  # @!attribute [rw] f1_score
@@ -2578,7 +2687,10 @@ module Aws::Rekognition
2578
2687
  # @return [String]
2579
2688
  #
2580
2689
  # @!attribute [rw] segments
2581
- # An array of segments detected in a video.
2690
+ # An array of segments detected in a video. The array is sorted by the
2691
+ # segment types (TECHNICAL\_CUE or SHOT) specified in the
2692
+ # `SegmentTypes` input parameter of `StartSegmentDetection`. Within
2693
+ # each segment type the array is sorted by timestamp values.
2582
2694
  # @return [Array<Types::SegmentDetection>]
2583
2695
  #
2584
2696
  # @!attribute [rw] selected_segment_types
@@ -2676,7 +2788,8 @@ module Aws::Rekognition
2676
2788
  include Aws::Structure
2677
2789
  end
2678
2790
 
2679
- # The S3 bucket that contains the Ground Truth manifest file.
2791
+ # The S3 bucket that contains an Amazon Sagemaker Ground Truth format
2792
+ # manifest file.
2680
2793
  #
2681
2794
  # @note When making an API call, you may pass GroundTruthManifest
2682
2795
  # data as a hash:
@@ -3205,17 +3318,17 @@ module Aws::Rekognition
3205
3318
  # @return [String]
3206
3319
  #
3207
3320
  # @!attribute [rw] x
3208
- # The x-coordinate from the top left of the landmark expressed as the
3209
- # ratio of the width of the image. For example, if the image is 700 x
3210
- # 200 and the x-coordinate of the landmark is at 350 pixels, this
3211
- # value is 0.5.
3321
+ # The x-coordinate of the landmark expressed as a ratio of the width
3322
+ # of the image. The x-coordinate is measured from the left-side of the
3323
+ # image. For example, if the image is 700 pixels wide and the
3324
+ # x-coordinate of the landmark is at 350 pixels, this value is 0.5.
3212
3325
  # @return [Float]
3213
3326
  #
3214
3327
  # @!attribute [rw] y
3215
- # The y-coordinate from the top left of the landmark expressed as the
3216
- # ratio of the height of the image. For example, if the image is 700 x
3217
- # 200 and the y-coordinate of the landmark is at 100 pixels, this
3218
- # value is 0.5.
3328
+ # The y-coordinate of the landmark expressed as a ratio of the height
3329
+ # of the image. The y-coordinate is measured from the top of the
3330
+ # image. For example, if the image height is 200 pixels and the
3331
+ # y-coordinate of the landmark is at 50 pixels, this value is 0.25.
3219
3332
  # @return [Float]
3220
3333
  #
3221
3334
  class Landmark < Struct.new(
@@ -3702,11 +3815,11 @@ module Aws::Rekognition
3702
3815
  # @return [Types::OutputConfig]
3703
3816
  #
3704
3817
  # @!attribute [rw] training_data_result
3705
- # The manifest file that represents the training results.
3818
+ # Contains information about the training results.
3706
3819
  # @return [Types::TrainingDataResult]
3707
3820
  #
3708
3821
  # @!attribute [rw] testing_data_result
3709
- # The manifest file that represents the testing results.
3822
+ # Contains information about the testing results.
3710
3823
  # @return [Types::TestingDataResult]
3711
3824
  #
3712
3825
  # @!attribute [rw] evaluation_result
@@ -3714,6 +3827,12 @@ module Aws::Rekognition
3714
3827
  # training is successful.
3715
3828
  # @return [Types::EvaluationResult]
3716
3829
  #
3830
+ # @!attribute [rw] manifest_summary
3831
+ # The location of the summary manifest. The summary manifest provides
3832
+ # aggregate data validation results for the training and test
3833
+ # datasets.
3834
+ # @return [Types::GroundTruthManifest]
3835
+ #
3717
3836
  class ProjectVersionDescription < Struct.new(
3718
3837
  :project_version_arn,
3719
3838
  :creation_timestamp,
@@ -3725,7 +3844,158 @@ module Aws::Rekognition
3725
3844
  :output_config,
3726
3845
  :training_data_result,
3727
3846
  :testing_data_result,
3728
- :evaluation_result)
3847
+ :evaluation_result,
3848
+ :manifest_summary)
3849
+ SENSITIVE = []
3850
+ include Aws::Structure
3851
+ end
3852
+
3853
+ # Information about a body part detected by DetectProtectiveEquipment
3854
+ # that contains PPE. An array of `ProtectiveEquipmentBodyPart` objects
3855
+ # is returned for each person detected by `DetectProtectiveEquipment`.
3856
+ #
3857
+ # @!attribute [rw] name
3858
+ # The detected body part.
3859
+ # @return [String]
3860
+ #
3861
+ # @!attribute [rw] confidence
3862
+ # The confidence that Amazon Rekognition has in the detection accuracy
3863
+ # of the detected body part.
3864
+ # @return [Float]
3865
+ #
3866
+ # @!attribute [rw] equipment_detections
3867
+ # An array of Personal Protective Equipment items detected around a
3868
+ # body part.
3869
+ # @return [Array<Types::EquipmentDetection>]
3870
+ #
3871
+ class ProtectiveEquipmentBodyPart < Struct.new(
3872
+ :name,
3873
+ :confidence,
3874
+ :equipment_detections)
3875
+ SENSITIVE = []
3876
+ include Aws::Structure
3877
+ end
3878
+
3879
+ # A person detected by a call to DetectProtectiveEquipment. The API
3880
+ # returns all persons detected in the input image in an array of
3881
+ # `ProtectiveEquipmentPerson` objects.
3882
+ #
3883
+ # @!attribute [rw] body_parts
3884
+ # An array of body parts detected on a person's body (including body
3885
+ # parts without PPE).
3886
+ # @return [Array<Types::ProtectiveEquipmentBodyPart>]
3887
+ #
3888
+ # @!attribute [rw] bounding_box
3889
+ # A bounding box around the detected person.
3890
+ # @return [Types::BoundingBox]
3891
+ #
3892
+ # @!attribute [rw] confidence
3893
+ # The confidence that Amazon Rekognition has that the bounding box
3894
+ # contains a person.
3895
+ # @return [Float]
3896
+ #
3897
+ # @!attribute [rw] id
3898
+ # The identifier for the detected person. The identifier is only
3899
+ # unique for a single call to `DetectProtectiveEquipment`.
3900
+ # @return [Integer]
3901
+ #
3902
+ class ProtectiveEquipmentPerson < Struct.new(
3903
+ :body_parts,
3904
+ :bounding_box,
3905
+ :confidence,
3906
+ :id)
3907
+ SENSITIVE = []
3908
+ include Aws::Structure
3909
+ end
3910
+
3911
+ # Specifies summary attributes to return from a call to
3912
+ # DetectProtectiveEquipment. You can specify which types of PPE to
3913
+ # summarize. You can also specify a minimum confidence value for
3914
+ # detections. Summary information is returned in the `Summary`
3915
+ # (ProtectiveEquipmentSummary) field of the response from
3916
+ # `DetectProtectiveEquipment`. The summary includes which persons in an
3917
+ # image were detected wearing the requested types of person protective
3918
+ # equipment (PPE), which persons were detected as not wearing PPE, and
3919
+ # the persons in which a determination could not be made. For more
3920
+ # information, see ProtectiveEquipmentSummary.
3921
+ #
3922
+ # @note When making an API call, you may pass ProtectiveEquipmentSummarizationAttributes
3923
+ # data as a hash:
3924
+ #
3925
+ # {
3926
+ # min_confidence: 1.0, # required
3927
+ # required_equipment_types: ["FACE_COVER"], # required, accepts FACE_COVER, HAND_COVER, HEAD_COVER
3928
+ # }
3929
+ #
3930
+ # @!attribute [rw] min_confidence
3931
+ # The minimum confidence level for which you want summary information.
3932
+ # The confidence level applies to person detection, body part
3933
+ # detection, equipment detection, and body part coverage. Amazon
3934
+ # Rekognition doesn't return summary information with a confidence
3935
+ # than this specified value. There isn't a default value.
3936
+ #
3937
+ # Specify a `MinConfidence` value that is between 50-100% as
3938
+ # `DetectProtectiveEquipment` returns predictions only where the
3939
+ # detection confidence is between 50% - 100%. If you specify a value
3940
+ # that is less than 50%, the results are the same specifying a value
3941
+ # of 50%.
3942
+ # @return [Float]
3943
+ #
3944
+ # @!attribute [rw] required_equipment_types
3945
+ # An array of personal protective equipment types for which you want
3946
+ # summary information. If a person is detected wearing a required
3947
+ # requipment type, the person's ID is added to the
3948
+ # `PersonsWithRequiredEquipment` array field returned in
3949
+ # ProtectiveEquipmentSummary by `DetectProtectiveEquipment`.
3950
+ # @return [Array<String>]
3951
+ #
3952
+ class ProtectiveEquipmentSummarizationAttributes < Struct.new(
3953
+ :min_confidence,
3954
+ :required_equipment_types)
3955
+ SENSITIVE = []
3956
+ include Aws::Structure
3957
+ end
3958
+
3959
+ # Summary information for required items of personal protective
3960
+ # equipment (PPE) detected on persons by a call to
3961
+ # DetectProtectiveEquipment. You specify the required type of PPE in the
3962
+ # `SummarizationAttributes` (ProtectiveEquipmentSummarizationAttributes)
3963
+ # input parameter. The summary includes which persons were detected
3964
+ # wearing the required personal protective equipment
3965
+ # (`PersonsWithRequiredEquipment`), which persons were detected as not
3966
+ # wearing the required PPE (`PersonsWithoutRequiredEquipment`), and the
3967
+ # persons in which a determination could not be made
3968
+ # (`PersonsIndeterminate`).
3969
+ #
3970
+ # To get a total for each category, use the size of the field array. For
3971
+ # example, to find out how many people were detected as wearing the
3972
+ # specified PPE, use the size of the `PersonsWithRequiredEquipment`
3973
+ # array. If you want to find out more about a person, such as the
3974
+ # location (BoundingBox) of the person on the image, use the person ID
3975
+ # in each array element. Each person ID matches the ID field of a
3976
+ # ProtectiveEquipmentPerson object returned in the `Persons` array by
3977
+ # `DetectProtectiveEquipment`.
3978
+ #
3979
+ # @!attribute [rw] persons_with_required_equipment
3980
+ # An array of IDs for persons who are wearing detected personal
3981
+ # protective equipment.
3982
+ # @return [Array<Integer>]
3983
+ #
3984
+ # @!attribute [rw] persons_without_required_equipment
3985
+ # An array of IDs for persons who are not wearing all of the types of
3986
+ # PPE specified in the RequiredEquipmentTypes field of the detected
3987
+ # personal protective equipment.
3988
+ # @return [Array<Integer>]
3989
+ #
3990
+ # @!attribute [rw] persons_indeterminate
3991
+ # An array of IDs for persons where it was not possible to determine
3992
+ # if they are wearing personal protective equipment.
3993
+ # @return [Array<Integer>]
3994
+ #
3995
+ class ProtectiveEquipmentSummary < Struct.new(
3996
+ :persons_with_required_equipment,
3997
+ :persons_without_required_equipment,
3998
+ :persons_indeterminate)
3729
3999
  SENSITIVE = []
3730
4000
  include Aws::Structure
3731
4001
  end
@@ -3768,7 +4038,7 @@ module Aws::Rekognition
3768
4038
 
3769
4039
  # @!attribute [rw] celebrity_faces
3770
4040
  # Details about each celebrity found in the image. Amazon Rekognition
3771
- # can detect a maximum of 15 celebrities in an image.
4041
+ # can detect a maximum of 64 celebrities in an image.
3772
4042
  # @return [Array<Types::Celebrity>]
3773
4043
  #
3774
4044
  # @!attribute [rw] unrecognized_faces
@@ -4059,12 +4329,14 @@ module Aws::Rekognition
4059
4329
  #
4060
4330
  # @!attribute [rw] start_timestamp_millis
4061
4331
  # The start time of the detected segment in milliseconds from the
4062
- # start of the video.
4332
+ # start of the video. This value is rounded down. For example, if the
4333
+ # actual timestamp is 100.6667 milliseconds, Amazon Rekognition Video
4334
+ # returns a value of 100 millis.
4063
4335
  # @return [Integer]
4064
4336
  #
4065
4337
  # @!attribute [rw] end_timestamp_millis
4066
4338
  # The end time of the detected segment, in milliseconds, from the
4067
- # start of the video.
4339
+ # start of the video. This value is rounded down.
4068
4340
  # @return [Integer]
4069
4341
  #
4070
4342
  # @!attribute [rw] duration_millis
@@ -4131,11 +4403,17 @@ module Aws::Rekognition
4131
4403
  include Aws::Structure
4132
4404
  end
4133
4405
 
4406
+ # The size of the collection exceeds the allowed limit. For more
4407
+ # information, see Limits in Amazon Rekognition in the Amazon
4408
+ # Rekognition Developer Guide.
4409
+ #
4410
+ class ServiceQuotaExceededException < Aws::EmptyStructure; end
4411
+
4134
4412
  # Information about a shot detection segment detected in a video. For
4135
4413
  # more information, see SegmentDetection.
4136
4414
  #
4137
4415
  # @!attribute [rw] index
4138
- # An Identifier for a shot detection segment detected in a video
4416
+ # An Identifier for a shot detection segment detected in a video.
4139
4417
  # @return [Integer]
4140
4418
  #
4141
4419
  # @!attribute [rw] confidence
@@ -5207,8 +5485,8 @@ module Aws::Rekognition
5207
5485
  include Aws::Structure
5208
5486
  end
5209
5487
 
5210
- # A Sagemaker Groundtruth format manifest file representing the dataset
5211
- # used for testing.
5488
+ # Sagemaker Groundtruth format manifest files for the input, output and
5489
+ # validation datasets that are used and created during testing.
5212
5490
  #
5213
5491
  # @!attribute [rw] input
5214
5492
  # The testing dataset that was supplied for training.
@@ -5220,9 +5498,15 @@ module Aws::Rekognition
5220
5498
  # issues.
5221
5499
  # @return [Types::TestingData]
5222
5500
  #
5501
+ # @!attribute [rw] validation
5502
+ # The location of the data validation manifest. The data validation
5503
+ # manifest is created for the test dataset during model training.
5504
+ # @return [Types::ValidationData]
5505
+ #
5223
5506
  class TestingDataResult < Struct.new(
5224
5507
  :input,
5225
- :output)
5508
+ :output,
5509
+ :validation)
5226
5510
  SENSITIVE = []
5227
5511
  include Aws::Structure
5228
5512
  end
@@ -5337,8 +5621,8 @@ module Aws::Rekognition
5337
5621
  include Aws::Structure
5338
5622
  end
5339
5623
 
5340
- # A Sagemaker Groundtruth format manifest file that represents the
5341
- # dataset used for training.
5624
+ # Sagemaker Groundtruth format manifest files for the input, output and
5625
+ # validation datasets that are used and created during testing.
5342
5626
  #
5343
5627
  # @!attribute [rw] input
5344
5628
  # The training assets that you supplied for training.
@@ -5349,9 +5633,15 @@ module Aws::Rekognition
5349
5633
  # Custom Labels.
5350
5634
  # @return [Types::TrainingData]
5351
5635
  #
5636
+ # @!attribute [rw] validation
5637
+ # The location of the data validation manifest. The data validation
5638
+ # manifest is created for the training dataset during model training.
5639
+ # @return [Types::ValidationData]
5640
+ #
5352
5641
  class TrainingDataResult < Struct.new(
5353
5642
  :input,
5354
- :output)
5643
+ :output,
5644
+ :validation)
5355
5645
  SENSITIVE = []
5356
5646
  include Aws::Structure
5357
5647
  end
@@ -5391,6 +5681,32 @@ module Aws::Rekognition
5391
5681
  include Aws::Structure
5392
5682
  end
5393
5683
 
5684
+ # Contains the Amazon S3 bucket location of the validation data for a
5685
+ # model training job.
5686
+ #
5687
+ # The validation data includes error information for individual JSON
5688
+ # lines in the dataset. For more information, see Debugging a Failed
5689
+ # Model Training in the Amazon Rekognition Custom Labels Developer
5690
+ # Guide.
5691
+ #
5692
+ # You get the `ValidationData` object for the training dataset
5693
+ # (TrainingDataResult) and the test dataset (TestingDataResult) by
5694
+ # calling DescribeProjectVersions.
5695
+ #
5696
+ # The assets array contains a single Asset object. The
5697
+ # GroundTruthManifest field of the Asset object contains the S3 bucket
5698
+ # location of the validation data.
5699
+ #
5700
+ # @!attribute [rw] assets
5701
+ # The assets that comprise the validation data.
5702
+ # @return [Array<Types::Asset>]
5703
+ #
5704
+ class ValidationData < Struct.new(
5705
+ :assets)
5706
+ SENSITIVE = []
5707
+ include Aws::Structure
5708
+ end
5709
+
5394
5710
  # Video file stored in an Amazon S3 bucket. Amazon Rekognition video
5395
5711
  # start operations such as StartLabelDetection use `Video` to specify a
5396
5712
  # video for analysis. The supported file formats are .mp4, .mov and
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.42.0
4
+ version: 1.47.0
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: 2020-07-02 00:00:00.000000000 Z
11
+ date: 2020-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.99.0
22
+ version: 3.109.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.99.0
32
+ version: 3.109.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement