aws-sdk-rekognition 1.43.0 → 1.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5ea6d15345651e1e48665fb99e061b5bad9ec71c42dc52d0fa3a31f8b4b81275
4
- data.tar.gz: e87f93e1481b02a8b95addb2767c9bf6611812f31d9942ae5e3d355c12cf2959
3
+ metadata.gz: c8712d8a8745ac5f434412fb4d681689522b73d8ef20222e9cb189dd8db24fb5
4
+ data.tar.gz: 0a0cb19389cf4ca3edb7a3827aefeb7dd0890f3c61356dae40106ac119763054
5
5
  SHA512:
6
- metadata.gz: d6cea4b4caa51148fb6cf297d460d0388b85e2ade4368cabd5185d5587f577e3cb399347664804c8674142a2e921af2c720e4c9bc42f22a21a8e39f62752005f
7
- data.tar.gz: fa226a63a45ca3405bdf5b2e65511e1a13e4e5ca03b84d041f2259d5c96d7f965fba9cdf092a986cd93dfde263efa2fc066a16ba16bcf932c78a732ba67b08f9
6
+ metadata.gz: 74f3b388d7c538b8ed182a00db942ee1829fba5552774852fcbbdc2a40d5b31326e4e36551256e95ffd624d27f314ac35551601575b6fe7d1136c51b303d17f1
7
+ data.tar.gz: 1d92408117749ad85ad8582d68b8faf73bf4be01d9b4268637f117ca54ea08220ea284ee3aad799932960fd0600cf5af932c1f74f72e337c0299601a225b6ea2
@@ -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
 
@@ -48,6 +49,6 @@ require_relative 'aws-sdk-rekognition/customizations'
48
49
  # @!group service
49
50
  module Aws::Rekognition
50
51
 
51
- GEM_VERSION = '1.43.0'
52
+ GEM_VERSION = '1.48.0'
52
53
 
53
54
  end
@@ -378,12 +378,6 @@ module Aws::Rekognition
378
378
  # want to filter detected faces, specify `NONE`. The default value is
379
379
  # `NONE`.
380
380
  #
381
- # <note markdown="1"> To use quality filtering, you need a collection associated with
382
- # version 3 of the face model or higher. To get the version of the face
383
- # model associated with a collection, call DescribeCollection.
384
- #
385
- # </note>
386
- #
387
381
  # If the image doesn't contain Exif metadata, `CompareFaces` returns
388
382
  # orientation information for the source and target images. Use these
389
383
  # values to display the images with the correct image orientation.
@@ -1124,6 +1118,10 @@ module Aws::Rekognition
1124
1118
  # resp.project_version_descriptions[0].training_data_result.output.assets[0].ground_truth_manifest.s3_object.bucket #=> String
1125
1119
  # resp.project_version_descriptions[0].training_data_result.output.assets[0].ground_truth_manifest.s3_object.name #=> String
1126
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
1127
1125
  # resp.project_version_descriptions[0].testing_data_result.input.assets #=> Array
1128
1126
  # resp.project_version_descriptions[0].testing_data_result.input.assets[0].ground_truth_manifest.s3_object.bucket #=> String
1129
1127
  # resp.project_version_descriptions[0].testing_data_result.input.assets[0].ground_truth_manifest.s3_object.name #=> String
@@ -1134,10 +1132,17 @@ module Aws::Rekognition
1134
1132
  # resp.project_version_descriptions[0].testing_data_result.output.assets[0].ground_truth_manifest.s3_object.name #=> String
1135
1133
  # resp.project_version_descriptions[0].testing_data_result.output.assets[0].ground_truth_manifest.s3_object.version #=> String
1136
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
1137
1139
  # resp.project_version_descriptions[0].evaluation_result.f1_score #=> Float
1138
1140
  # resp.project_version_descriptions[0].evaluation_result.summary.s3_object.bucket #=> String
1139
1141
  # resp.project_version_descriptions[0].evaluation_result.summary.s3_object.name #=> String
1140
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
1141
1146
  # resp.next_token #=> String
1142
1147
  #
1143
1148
  #
@@ -1809,6 +1814,115 @@ module Aws::Rekognition
1809
1814
  req.send_request(options)
1810
1815
  end
1811
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
+
1812
1926
  # Detects text in the input image and converts it into machine-readable
1813
1927
  # text.
1814
1928
  #
@@ -3672,11 +3786,11 @@ module Aws::Rekognition
3672
3786
  # more information, see Recognizing Celebrities in the Amazon
3673
3787
  # Rekognition Developer Guide.
3674
3788
  #
3675
- # `RecognizeCelebrities` returns the 100 largest faces in the image. It
3789
+ # `RecognizeCelebrities` returns the 64 largest faces in the image. It
3676
3790
  # lists recognized celebrities in the `CelebrityFaces` array and
3677
3791
  # unrecognized faces in the `UnrecognizedFaces` array.
3678
3792
  # `RecognizeCelebrities` doesn't return celebrities whose faces aren't
3679
- # among the largest 100 faces in the image.
3793
+ # among the largest 64 faces in the image.
3680
3794
  #
3681
3795
  # For each celebrity recognized, `RecognizeCelebrities` returns a
3682
3796
  # `Celebrity` object. The `Celebrity` object contains the celebrity
@@ -4885,7 +4999,7 @@ module Aws::Rekognition
4885
4999
  params: params,
4886
5000
  config: config)
4887
5001
  context[:gem_name] = 'aws-sdk-rekognition'
4888
- context[:gem_version] = '1.43.0'
5002
+ context[:gem_version] = '1.48.0'
4889
5003
  Seahorse::Client::Request.new(handlers, context)
4890
5004
  end
4891
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.43.0
4
+ version: 1.48.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-08-25 00:00:00.000000000 Z
11
+ date: 2021-02-02 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.112.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.112.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement