azure_cognitiveservices_face 0.18.0 → 0.19.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.
@@ -0,0 +1,16 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::CognitiveServices::Face::V1_0
7
+ module Models
8
+ #
9
+ # Defines values for DetectionModel
10
+ #
11
+ module DetectionModel
12
+ Detection01 = "detection_01"
13
+ Detection02 = "detection_02"
14
+ end
15
+ end
16
+ end
@@ -25,35 +25,41 @@ module Azure::CognitiveServices::Face::V1_0
25
25
  # Create a new person group with specified personGroupId, name, user-provided
26
26
  # userData and recognitionModel.
27
27
  # <br /> A person group is the container of the uploaded person data, including
28
- # face images and face recognition features.
28
+ # face recognition features.
29
29
  # <br /> After creation, use [PersonGroup Person -
30
30
  # Create](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523c)
31
31
  # to add persons into the group, and then call [PersonGroup -
32
32
  # Train](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395249)
33
33
  # to get this group ready for [Face -
34
34
  # Identify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395239).
35
- # <br /> The person's face, image, and userData will be stored on server until
36
- # [PersonGroup Person -
35
+ # <br /> No image will be stored. Only the person's extracted face features and
36
+ # userData will be stored on server until [PersonGroup Person -
37
37
  # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523d)
38
38
  # or [PersonGroup -
39
39
  # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395245)
40
40
  # is called.
41
- # <br />
41
+ # <br/>'recognitionModel' should be specified to associate with this person
42
+ # group. The default value for 'recognitionModel' is 'recognition_01', if the
43
+ # latest model needed, please explicitly specify the model you need in this
44
+ # parameter. New faces that are added to an existing person group will use the
45
+ # recognition model that's already associated with the collection. Existing
46
+ # face features in a person group can't be updated to features extracted by
47
+ # another version of recognition model.
48
+ # * 'recognition_01': The default recognition model for [PersonGroup -
49
+ # Create](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395244).
50
+ # All those person groups created before 2019 March are bonded with this
51
+ # recognition model.
52
+ # * 'recognition_02': Recognition model released in 2019 March.
53
+ # 'recognition_02' is recommended since its overall accuracy is improved
54
+ # compared with 'recognition_01'.
55
+ #
56
+ # Person group quota:
42
57
  # * Free-tier subscription quota: 1,000 person groups. Each holds up to 1,000
43
58
  # persons.
44
59
  # * S0-tier subscription quota: 1,000,000 person groups. Each holds up to
45
60
  # 10,000 persons.
46
61
  # * to handle larger scale face identification problem, please consider using
47
62
  # [LargePersonGroup](/docs/services/563879b61984550e40cbbe8d/operations/599acdee6ac60f11b48b5a9d).
48
- # <br />
49
- # 'recognitionModel' should be specified to associate with this person group.
50
- # The default value for 'recognitionModel' is 'recognition_01', if the latest
51
- # model needed, please explicitly specify the model you need in this parameter.
52
- # New faces that are added to an existing person group will use the recognition
53
- # model that's already associated with the collection. Existing face features
54
- # in a person group can't be updated to features extracted by another version
55
- # of recognition model.
56
- #
57
63
  #
58
64
  # @param person_group_id [String] Id referencing a particular person group.
59
65
  # @param name [String] User defined name, maximum length is 128.
@@ -73,35 +79,41 @@ module Azure::CognitiveServices::Face::V1_0
73
79
  # Create a new person group with specified personGroupId, name, user-provided
74
80
  # userData and recognitionModel.
75
81
  # <br /> A person group is the container of the uploaded person data, including
76
- # face images and face recognition features.
82
+ # face recognition features.
77
83
  # <br /> After creation, use [PersonGroup Person -
78
84
  # Create](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523c)
79
85
  # to add persons into the group, and then call [PersonGroup -
80
86
  # Train](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395249)
81
87
  # to get this group ready for [Face -
82
88
  # Identify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395239).
83
- # <br /> The person's face, image, and userData will be stored on server until
84
- # [PersonGroup Person -
89
+ # <br /> No image will be stored. Only the person's extracted face features and
90
+ # userData will be stored on server until [PersonGroup Person -
85
91
  # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523d)
86
92
  # or [PersonGroup -
87
93
  # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395245)
88
94
  # is called.
89
- # <br />
95
+ # <br/>'recognitionModel' should be specified to associate with this person
96
+ # group. The default value for 'recognitionModel' is 'recognition_01', if the
97
+ # latest model needed, please explicitly specify the model you need in this
98
+ # parameter. New faces that are added to an existing person group will use the
99
+ # recognition model that's already associated with the collection. Existing
100
+ # face features in a person group can't be updated to features extracted by
101
+ # another version of recognition model.
102
+ # * 'recognition_01': The default recognition model for [PersonGroup -
103
+ # Create](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395244).
104
+ # All those person groups created before 2019 March are bonded with this
105
+ # recognition model.
106
+ # * 'recognition_02': Recognition model released in 2019 March.
107
+ # 'recognition_02' is recommended since its overall accuracy is improved
108
+ # compared with 'recognition_01'.
109
+ #
110
+ # Person group quota:
90
111
  # * Free-tier subscription quota: 1,000 person groups. Each holds up to 1,000
91
112
  # persons.
92
113
  # * S0-tier subscription quota: 1,000,000 person groups. Each holds up to
93
114
  # 10,000 persons.
94
115
  # * to handle larger scale face identification problem, please consider using
95
116
  # [LargePersonGroup](/docs/services/563879b61984550e40cbbe8d/operations/599acdee6ac60f11b48b5a9d).
96
- # <br />
97
- # 'recognitionModel' should be specified to associate with this person group.
98
- # The default value for 'recognitionModel' is 'recognition_01', if the latest
99
- # model needed, please explicitly specify the model you need in this parameter.
100
- # New faces that are added to an existing person group will use the recognition
101
- # model that's already associated with the collection. Existing face features
102
- # in a person group can't be updated to features extracted by another version
103
- # of recognition model.
104
- #
105
117
  #
106
118
  # @param person_group_id [String] Id referencing a particular person group.
107
119
  # @param name [String] User defined name, maximum length is 128.
@@ -121,35 +133,41 @@ module Azure::CognitiveServices::Face::V1_0
121
133
  # Create a new person group with specified personGroupId, name, user-provided
122
134
  # userData and recognitionModel.
123
135
  # <br /> A person group is the container of the uploaded person data, including
124
- # face images and face recognition features.
136
+ # face recognition features.
125
137
  # <br /> After creation, use [PersonGroup Person -
126
138
  # Create](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523c)
127
139
  # to add persons into the group, and then call [PersonGroup -
128
140
  # Train](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395249)
129
141
  # to get this group ready for [Face -
130
142
  # Identify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395239).
131
- # <br /> The person's face, image, and userData will be stored on server until
132
- # [PersonGroup Person -
143
+ # <br /> No image will be stored. Only the person's extracted face features and
144
+ # userData will be stored on server until [PersonGroup Person -
133
145
  # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523d)
134
146
  # or [PersonGroup -
135
147
  # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395245)
136
148
  # is called.
137
- # <br />
149
+ # <br/>'recognitionModel' should be specified to associate with this person
150
+ # group. The default value for 'recognitionModel' is 'recognition_01', if the
151
+ # latest model needed, please explicitly specify the model you need in this
152
+ # parameter. New faces that are added to an existing person group will use the
153
+ # recognition model that's already associated with the collection. Existing
154
+ # face features in a person group can't be updated to features extracted by
155
+ # another version of recognition model.
156
+ # * 'recognition_01': The default recognition model for [PersonGroup -
157
+ # Create](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395244).
158
+ # All those person groups created before 2019 March are bonded with this
159
+ # recognition model.
160
+ # * 'recognition_02': Recognition model released in 2019 March.
161
+ # 'recognition_02' is recommended since its overall accuracy is improved
162
+ # compared with 'recognition_01'.
163
+ #
164
+ # Person group quota:
138
165
  # * Free-tier subscription quota: 1,000 person groups. Each holds up to 1,000
139
166
  # persons.
140
167
  # * S0-tier subscription quota: 1,000,000 person groups. Each holds up to
141
168
  # 10,000 persons.
142
169
  # * to handle larger scale face identification problem, please consider using
143
170
  # [LargePersonGroup](/docs/services/563879b61984550e40cbbe8d/operations/599acdee6ac60f11b48b5a9d).
144
- # <br />
145
- # 'recognitionModel' should be specified to associate with this person group.
146
- # The default value for 'recognitionModel' is 'recognition_01', if the latest
147
- # model needed, please explicitly specify the model you need in this parameter.
148
- # New faces that are added to an existing person group will use the recognition
149
- # model that's already associated with the collection. Existing face features
150
- # in a person group can't be updated to features extracted by another version
151
- # of recognition model.
152
- #
153
171
  #
154
172
  # @param person_group_id [String] Id referencing a particular person group.
155
173
  # @param name [String] User defined name, maximum length is 128.
@@ -212,6 +230,8 @@ module Azure::CognitiveServices::Face::V1_0
212
230
  end
213
231
 
214
232
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
233
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
234
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
215
235
 
216
236
  result
217
237
  end
@@ -293,6 +313,8 @@ module Azure::CognitiveServices::Face::V1_0
293
313
  end
294
314
 
295
315
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
316
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
317
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
296
318
 
297
319
  result
298
320
  end
@@ -385,6 +407,8 @@ module Azure::CognitiveServices::Face::V1_0
385
407
  end
386
408
 
387
409
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
410
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
411
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
388
412
  # Deserialize Response
389
413
  if status_code == 200
390
414
  begin
@@ -496,6 +520,8 @@ module Azure::CognitiveServices::Face::V1_0
496
520
  end
497
521
 
498
522
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
523
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
524
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
499
525
 
500
526
  result
501
527
  end
@@ -575,6 +601,8 @@ module Azure::CognitiveServices::Face::V1_0
575
601
  end
576
602
 
577
603
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
604
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
605
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
578
606
  # Deserialize Response
579
607
  if status_code == 200
580
608
  begin
@@ -715,6 +743,8 @@ module Azure::CognitiveServices::Face::V1_0
715
743
  end
716
744
 
717
745
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
746
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
747
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
718
748
  # Deserialize Response
719
749
  if status_code == 200
720
750
  begin
@@ -822,6 +852,8 @@ module Azure::CognitiveServices::Face::V1_0
822
852
  end
823
853
 
824
854
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
855
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
856
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
825
857
 
826
858
  result
827
859
  end
@@ -113,6 +113,8 @@ module Azure::CognitiveServices::Face::V1_0
113
113
  end
114
114
 
115
115
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
116
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
117
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
116
118
  # Deserialize Response
117
119
  if status_code == 200
118
120
  begin
@@ -223,6 +225,8 @@ module Azure::CognitiveServices::Face::V1_0
223
225
  end
224
226
 
225
227
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
228
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
229
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
226
230
  # Deserialize Response
227
231
  if status_code == 200
228
232
  begin
@@ -257,8 +261,8 @@ module Azure::CognitiveServices::Face::V1_0
257
261
  end
258
262
 
259
263
  #
260
- # Delete an existing person from a person group. All stored person data, and
261
- # face features in the person entry will be deleted.
264
+ # Delete an existing person from a person group. The persistedFaceId, userData,
265
+ # person name and face feature in the person entry will all be deleted.
262
266
  #
263
267
  # @param person_group_id [String] Id referencing a particular person group.
264
268
  # @param person_id Id referencing a particular person.
@@ -272,8 +276,8 @@ module Azure::CognitiveServices::Face::V1_0
272
276
  end
273
277
 
274
278
  #
275
- # Delete an existing person from a person group. All stored person data, and
276
- # face features in the person entry will be deleted.
279
+ # Delete an existing person from a person group. The persistedFaceId, userData,
280
+ # person name and face feature in the person entry will all be deleted.
277
281
  #
278
282
  # @param person_group_id [String] Id referencing a particular person group.
279
283
  # @param person_id Id referencing a particular person.
@@ -287,8 +291,8 @@ module Azure::CognitiveServices::Face::V1_0
287
291
  end
288
292
 
289
293
  #
290
- # Delete an existing person from a person group. All stored person data, and
291
- # face features in the person entry will be deleted.
294
+ # Delete an existing person from a person group. The persistedFaceId, userData,
295
+ # person name and face feature in the person entry will all be deleted.
292
296
  #
293
297
  # @param person_group_id [String] Id referencing a particular person group.
294
298
  # @param person_id Id referencing a particular person.
@@ -334,6 +338,8 @@ module Azure::CognitiveServices::Face::V1_0
334
338
  end
335
339
 
336
340
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
341
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
342
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
337
343
 
338
344
  result
339
345
  end
@@ -420,6 +426,8 @@ module Azure::CognitiveServices::Face::V1_0
420
426
  end
421
427
 
422
428
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
429
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
430
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
423
431
  # Deserialize Response
424
432
  if status_code == 200
425
433
  begin
@@ -532,6 +540,8 @@ module Azure::CognitiveServices::Face::V1_0
532
540
  end
533
541
 
534
542
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
543
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
544
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
535
545
 
536
546
  result
537
547
  end
@@ -540,8 +550,11 @@ module Azure::CognitiveServices::Face::V1_0
540
550
  end
541
551
 
542
552
  #
543
- # Delete a face from a person. Relative feature for the persisted face will
544
- # also be deleted.
553
+ # Delete a face from a person in a person group by specified personGroupId,
554
+ # personId and persistedFaceId.
555
+ # <br /> Adding/deleting faces to/from a same person will be processed
556
+ # sequentially. Adding/deleting faces to/from different persons are processed
557
+ # in parallel.
545
558
  #
546
559
  # @param person_group_id [String] Id referencing a particular person group.
547
560
  # @param person_id Id referencing a particular person.
@@ -557,8 +570,11 @@ module Azure::CognitiveServices::Face::V1_0
557
570
  end
558
571
 
559
572
  #
560
- # Delete a face from a person. Relative feature for the persisted face will
561
- # also be deleted.
573
+ # Delete a face from a person in a person group by specified personGroupId,
574
+ # personId and persistedFaceId.
575
+ # <br /> Adding/deleting faces to/from a same person will be processed
576
+ # sequentially. Adding/deleting faces to/from different persons are processed
577
+ # in parallel.
562
578
  #
563
579
  # @param person_group_id [String] Id referencing a particular person group.
564
580
  # @param person_id Id referencing a particular person.
@@ -574,8 +590,11 @@ module Azure::CognitiveServices::Face::V1_0
574
590
  end
575
591
 
576
592
  #
577
- # Delete a face from a person. Relative feature for the persisted face will
578
- # also be deleted.
593
+ # Delete a face from a person in a person group by specified personGroupId,
594
+ # personId and persistedFaceId.
595
+ # <br /> Adding/deleting faces to/from a same person will be processed
596
+ # sequentially. Adding/deleting faces to/from different persons are processed
597
+ # in parallel.
579
598
  #
580
599
  # @param person_group_id [String] Id referencing a particular person group.
581
600
  # @param person_id Id referencing a particular person.
@@ -624,6 +643,8 @@ module Azure::CognitiveServices::Face::V1_0
624
643
  end
625
644
 
626
645
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
646
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
647
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
627
648
 
628
649
  result
629
650
  end
@@ -717,6 +738,8 @@ module Azure::CognitiveServices::Face::V1_0
717
738
  end
718
739
 
719
740
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
741
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
742
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
720
743
  # Deserialize Response
721
744
  if status_code == 200
722
745
  begin
@@ -735,7 +758,35 @@ module Azure::CognitiveServices::Face::V1_0
735
758
  end
736
759
 
737
760
  #
738
- # Update a person persisted face's userData field.
761
+ # Add a face to a person into a person group for face identification or
762
+ # verification. To deal with an image contains multiple faces, input face can
763
+ # be specified as an image with a targetFace rectangle. It returns a
764
+ # persistedFaceId representing the added face. No image will be stored. Only
765
+ # the extracted face feature will be stored on server until [PersonGroup
766
+ # PersonFace -
767
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523e),
768
+ # [PersonGroup Person -
769
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523d)
770
+ # or [PersonGroup -
771
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395245)
772
+ # is called.
773
+ # <br /> Note persistedFaceId is different from faceId generated by [Face -
774
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236).
775
+ # * Higher face image quality means better recognition precision. Please
776
+ # consider high-quality faces: frontal, clear, and face size is 200x200 pixels
777
+ # (100 pixels between eyes) or bigger.
778
+ # * Each person entry can hold up to 248 faces.
779
+ # * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed
780
+ # image file size is from 1KB to 6MB.
781
+ # * "targetFace" rectangle should contain one face. Zero or multiple faces will
782
+ # be regarded as an error. If the provided "targetFace" rectangle is not
783
+ # returned from [Face -
784
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236),
785
+ # there’s no guarantee to detect and add the face successfully.
786
+ # * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or
787
+ # large occlusions will cause failures.
788
+ # * Adding/deleting faces to/from a same person will be processed sequentially.
789
+ # Adding/deleting faces to/from different persons are processed in parallel.
739
790
  #
740
791
  # @param person_group_id [String] Id referencing a particular person group.
741
792
  # @param person_id Id referencing a particular person.
@@ -753,7 +804,35 @@ module Azure::CognitiveServices::Face::V1_0
753
804
  end
754
805
 
755
806
  #
756
- # Update a person persisted face's userData field.
807
+ # Add a face to a person into a person group for face identification or
808
+ # verification. To deal with an image contains multiple faces, input face can
809
+ # be specified as an image with a targetFace rectangle. It returns a
810
+ # persistedFaceId representing the added face. No image will be stored. Only
811
+ # the extracted face feature will be stored on server until [PersonGroup
812
+ # PersonFace -
813
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523e),
814
+ # [PersonGroup Person -
815
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523d)
816
+ # or [PersonGroup -
817
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395245)
818
+ # is called.
819
+ # <br /> Note persistedFaceId is different from faceId generated by [Face -
820
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236).
821
+ # * Higher face image quality means better recognition precision. Please
822
+ # consider high-quality faces: frontal, clear, and face size is 200x200 pixels
823
+ # (100 pixels between eyes) or bigger.
824
+ # * Each person entry can hold up to 248 faces.
825
+ # * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed
826
+ # image file size is from 1KB to 6MB.
827
+ # * "targetFace" rectangle should contain one face. Zero or multiple faces will
828
+ # be regarded as an error. If the provided "targetFace" rectangle is not
829
+ # returned from [Face -
830
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236),
831
+ # there’s no guarantee to detect and add the face successfully.
832
+ # * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or
833
+ # large occlusions will cause failures.
834
+ # * Adding/deleting faces to/from a same person will be processed sequentially.
835
+ # Adding/deleting faces to/from different persons are processed in parallel.
757
836
  #
758
837
  # @param person_group_id [String] Id referencing a particular person group.
759
838
  # @param person_id Id referencing a particular person.
@@ -771,7 +850,35 @@ module Azure::CognitiveServices::Face::V1_0
771
850
  end
772
851
 
773
852
  #
774
- # Update a person persisted face's userData field.
853
+ # Add a face to a person into a person group for face identification or
854
+ # verification. To deal with an image contains multiple faces, input face can
855
+ # be specified as an image with a targetFace rectangle. It returns a
856
+ # persistedFaceId representing the added face. No image will be stored. Only
857
+ # the extracted face feature will be stored on server until [PersonGroup
858
+ # PersonFace -
859
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523e),
860
+ # [PersonGroup Person -
861
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523d)
862
+ # or [PersonGroup -
863
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395245)
864
+ # is called.
865
+ # <br /> Note persistedFaceId is different from faceId generated by [Face -
866
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236).
867
+ # * Higher face image quality means better recognition precision. Please
868
+ # consider high-quality faces: frontal, clear, and face size is 200x200 pixels
869
+ # (100 pixels between eyes) or bigger.
870
+ # * Each person entry can hold up to 248 faces.
871
+ # * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed
872
+ # image file size is from 1KB to 6MB.
873
+ # * "targetFace" rectangle should contain one face. Zero or multiple faces will
874
+ # be regarded as an error. If the provided "targetFace" rectangle is not
875
+ # returned from [Face -
876
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236),
877
+ # there’s no guarantee to detect and add the face successfully.
878
+ # * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or
879
+ # large occlusions will cause failures.
880
+ # * Adding/deleting faces to/from a same person will be processed sequentially.
881
+ # Adding/deleting faces to/from different persons are processed in parallel.
775
882
  #
776
883
  # @param person_group_id [String] Id referencing a particular person group.
777
884
  # @param person_id Id referencing a particular person.
@@ -834,6 +941,8 @@ module Azure::CognitiveServices::Face::V1_0
834
941
  end
835
942
 
836
943
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
944
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
945
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
837
946
 
838
947
  result
839
948
  end
@@ -842,8 +951,51 @@ module Azure::CognitiveServices::Face::V1_0
842
951
  end
843
952
 
844
953
  #
845
- # Add a representative face to a person for identification. The input face is
846
- # specified as an image with a targetFace rectangle.
954
+ # Add a face to a person into a person group for face identification or
955
+ # verification. To deal with an image contains multiple faces, input face can
956
+ # be specified as an image with a targetFace rectangle. It returns a
957
+ # persistedFaceId representing the added face. No image will be stored. Only
958
+ # the extracted face feature will be stored on server until [PersonGroup
959
+ # PersonFace -
960
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523e),
961
+ # [PersonGroup Person -
962
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523d)
963
+ # or [PersonGroup -
964
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395245)
965
+ # is called.
966
+ # <br /> Note persistedFaceId is different from faceId generated by [Face -
967
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236).
968
+ # * Higher face image quality means better recognition precision. Please
969
+ # consider high-quality faces: frontal, clear, and face size is 200x200 pixels
970
+ # (100 pixels between eyes) or bigger.
971
+ # * Each person entry can hold up to 248 faces.
972
+ # * JPEG, PNG, GIF (the first frame), and BMP format are supported. The
973
+ # allowed image file size is from 1KB to 6MB.
974
+ # * "targetFace" rectangle should contain one face. Zero or multiple faces
975
+ # will be regarded as an error. If the provided "targetFace" rectangle is not
976
+ # returned from [Face -
977
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236),
978
+ # there’s no guarantee to detect and add the face successfully.
979
+ # * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose,
980
+ # or large occlusions will cause failures.
981
+ # * Adding/deleting faces to/from a same person will be processed
982
+ # sequentially. Adding/deleting faces to/from different persons are processed
983
+ # in parallel.
984
+ # * The minimum detectable face size is 36x36 pixels in an image no larger than
985
+ # 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will
986
+ # need a proportionally larger minimum face size.
987
+ # * Different 'detectionModel' values can be provided. To use and compare
988
+ # different detection models, please refer to [How to specify a detection
989
+ # model](https://docs.microsoft.com/en-us/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)
990
+ # | Model | Recommended use-case(s) |
991
+ # | ---------- | -------- |
992
+ # | 'detection_01': | The default detection model for [PersonGroup Person - Add
993
+ # Face](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523b).
994
+ # Recommend for near frontal face detection. For scenarios with exceptionally
995
+ # large angle (head-pose) faces, occluded faces or wrong image orientation, the
996
+ # faces in such cases may not be detected. |
997
+ # | 'detection_02': | Detection model released in 2019 May with improved
998
+ # accuracy especially on small, side and blurry faces. |
847
999
  #
848
1000
  # @param person_group_id [String] Id referencing a particular person group.
849
1001
  # @param person_id Id referencing a particular person.
@@ -856,19 +1008,68 @@ module Azure::CognitiveServices::Face::V1_0
856
1008
  # is more than one face in the image, targetFace is required to specify which
857
1009
  # face to add. No targetFace means there is only one face detected in the
858
1010
  # entire image.
1011
+ # @param detection_model [DetectionModel] Name of detection model. Detection
1012
+ # model is used to detect faces in the submitted image. A detection model name
1013
+ # can be provided when performing Face - Detect or (Large)FaceList - Add Face
1014
+ # or (Large)PersonGroup - Add Face. The default value is 'detection_01', if
1015
+ # another model is needed, please explicitly specify it. Possible values
1016
+ # include: 'detection_01', 'detection_02'
859
1017
  # @param custom_headers [Hash{String => String}] A hash of custom headers that
860
1018
  # will be added to the HTTP request.
861
1019
  #
862
1020
  # @return [PersistedFace] operation results.
863
1021
  #
864
- def add_face_from_url(person_group_id, person_id, url, user_data:nil, target_face:nil, custom_headers:nil)
865
- response = add_face_from_url_async(person_group_id, person_id, url, user_data:user_data, target_face:target_face, custom_headers:custom_headers).value!
1022
+ def add_face_from_url(person_group_id, person_id, url, user_data:nil, target_face:nil, detection_model:nil, custom_headers:nil)
1023
+ response = add_face_from_url_async(person_group_id, person_id, url, user_data:user_data, target_face:target_face, detection_model:detection_model, custom_headers:custom_headers).value!
866
1024
  response.body unless response.nil?
867
1025
  end
868
1026
 
869
1027
  #
870
- # Add a representative face to a person for identification. The input face is
871
- # specified as an image with a targetFace rectangle.
1028
+ # Add a face to a person into a person group for face identification or
1029
+ # verification. To deal with an image contains multiple faces, input face can
1030
+ # be specified as an image with a targetFace rectangle. It returns a
1031
+ # persistedFaceId representing the added face. No image will be stored. Only
1032
+ # the extracted face feature will be stored on server until [PersonGroup
1033
+ # PersonFace -
1034
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523e),
1035
+ # [PersonGroup Person -
1036
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523d)
1037
+ # or [PersonGroup -
1038
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395245)
1039
+ # is called.
1040
+ # <br /> Note persistedFaceId is different from faceId generated by [Face -
1041
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236).
1042
+ # * Higher face image quality means better recognition precision. Please
1043
+ # consider high-quality faces: frontal, clear, and face size is 200x200 pixels
1044
+ # (100 pixels between eyes) or bigger.
1045
+ # * Each person entry can hold up to 248 faces.
1046
+ # * JPEG, PNG, GIF (the first frame), and BMP format are supported. The
1047
+ # allowed image file size is from 1KB to 6MB.
1048
+ # * "targetFace" rectangle should contain one face. Zero or multiple faces
1049
+ # will be regarded as an error. If the provided "targetFace" rectangle is not
1050
+ # returned from [Face -
1051
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236),
1052
+ # there’s no guarantee to detect and add the face successfully.
1053
+ # * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose,
1054
+ # or large occlusions will cause failures.
1055
+ # * Adding/deleting faces to/from a same person will be processed
1056
+ # sequentially. Adding/deleting faces to/from different persons are processed
1057
+ # in parallel.
1058
+ # * The minimum detectable face size is 36x36 pixels in an image no larger than
1059
+ # 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will
1060
+ # need a proportionally larger minimum face size.
1061
+ # * Different 'detectionModel' values can be provided. To use and compare
1062
+ # different detection models, please refer to [How to specify a detection
1063
+ # model](https://docs.microsoft.com/en-us/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)
1064
+ # | Model | Recommended use-case(s) |
1065
+ # | ---------- | -------- |
1066
+ # | 'detection_01': | The default detection model for [PersonGroup Person - Add
1067
+ # Face](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523b).
1068
+ # Recommend for near frontal face detection. For scenarios with exceptionally
1069
+ # large angle (head-pose) faces, occluded faces or wrong image orientation, the
1070
+ # faces in such cases may not be detected. |
1071
+ # | 'detection_02': | Detection model released in 2019 May with improved
1072
+ # accuracy especially on small, side and blurry faces. |
872
1073
  #
873
1074
  # @param person_group_id [String] Id referencing a particular person group.
874
1075
  # @param person_id Id referencing a particular person.
@@ -881,18 +1082,67 @@ module Azure::CognitiveServices::Face::V1_0
881
1082
  # is more than one face in the image, targetFace is required to specify which
882
1083
  # face to add. No targetFace means there is only one face detected in the
883
1084
  # entire image.
1085
+ # @param detection_model [DetectionModel] Name of detection model. Detection
1086
+ # model is used to detect faces in the submitted image. A detection model name
1087
+ # can be provided when performing Face - Detect or (Large)FaceList - Add Face
1088
+ # or (Large)PersonGroup - Add Face. The default value is 'detection_01', if
1089
+ # another model is needed, please explicitly specify it. Possible values
1090
+ # include: 'detection_01', 'detection_02'
884
1091
  # @param custom_headers [Hash{String => String}] A hash of custom headers that
885
1092
  # will be added to the HTTP request.
886
1093
  #
887
1094
  # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
888
1095
  #
889
- def add_face_from_url_with_http_info(person_group_id, person_id, url, user_data:nil, target_face:nil, custom_headers:nil)
890
- add_face_from_url_async(person_group_id, person_id, url, user_data:user_data, target_face:target_face, custom_headers:custom_headers).value!
1096
+ def add_face_from_url_with_http_info(person_group_id, person_id, url, user_data:nil, target_face:nil, detection_model:nil, custom_headers:nil)
1097
+ add_face_from_url_async(person_group_id, person_id, url, user_data:user_data, target_face:target_face, detection_model:detection_model, custom_headers:custom_headers).value!
891
1098
  end
892
1099
 
893
1100
  #
894
- # Add a representative face to a person for identification. The input face is
895
- # specified as an image with a targetFace rectangle.
1101
+ # Add a face to a person into a person group for face identification or
1102
+ # verification. To deal with an image contains multiple faces, input face can
1103
+ # be specified as an image with a targetFace rectangle. It returns a
1104
+ # persistedFaceId representing the added face. No image will be stored. Only
1105
+ # the extracted face feature will be stored on server until [PersonGroup
1106
+ # PersonFace -
1107
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523e),
1108
+ # [PersonGroup Person -
1109
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523d)
1110
+ # or [PersonGroup -
1111
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395245)
1112
+ # is called.
1113
+ # <br /> Note persistedFaceId is different from faceId generated by [Face -
1114
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236).
1115
+ # * Higher face image quality means better recognition precision. Please
1116
+ # consider high-quality faces: frontal, clear, and face size is 200x200 pixels
1117
+ # (100 pixels between eyes) or bigger.
1118
+ # * Each person entry can hold up to 248 faces.
1119
+ # * JPEG, PNG, GIF (the first frame), and BMP format are supported. The
1120
+ # allowed image file size is from 1KB to 6MB.
1121
+ # * "targetFace" rectangle should contain one face. Zero or multiple faces
1122
+ # will be regarded as an error. If the provided "targetFace" rectangle is not
1123
+ # returned from [Face -
1124
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236),
1125
+ # there’s no guarantee to detect and add the face successfully.
1126
+ # * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose,
1127
+ # or large occlusions will cause failures.
1128
+ # * Adding/deleting faces to/from a same person will be processed
1129
+ # sequentially. Adding/deleting faces to/from different persons are processed
1130
+ # in parallel.
1131
+ # * The minimum detectable face size is 36x36 pixels in an image no larger than
1132
+ # 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will
1133
+ # need a proportionally larger minimum face size.
1134
+ # * Different 'detectionModel' values can be provided. To use and compare
1135
+ # different detection models, please refer to [How to specify a detection
1136
+ # model](https://docs.microsoft.com/en-us/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)
1137
+ # | Model | Recommended use-case(s) |
1138
+ # | ---------- | -------- |
1139
+ # | 'detection_01': | The default detection model for [PersonGroup Person - Add
1140
+ # Face](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523b).
1141
+ # Recommend for near frontal face detection. For scenarios with exceptionally
1142
+ # large angle (head-pose) faces, occluded faces or wrong image orientation, the
1143
+ # faces in such cases may not be detected. |
1144
+ # | 'detection_02': | Detection model released in 2019 May with improved
1145
+ # accuracy especially on small, side and blurry faces. |
896
1146
  #
897
1147
  # @param person_group_id [String] Id referencing a particular person group.
898
1148
  # @param person_id Id referencing a particular person.
@@ -905,12 +1155,18 @@ module Azure::CognitiveServices::Face::V1_0
905
1155
  # is more than one face in the image, targetFace is required to specify which
906
1156
  # face to add. No targetFace means there is only one face detected in the
907
1157
  # entire image.
1158
+ # @param detection_model [DetectionModel] Name of detection model. Detection
1159
+ # model is used to detect faces in the submitted image. A detection model name
1160
+ # can be provided when performing Face - Detect or (Large)FaceList - Add Face
1161
+ # or (Large)PersonGroup - Add Face. The default value is 'detection_01', if
1162
+ # another model is needed, please explicitly specify it. Possible values
1163
+ # include: 'detection_01', 'detection_02'
908
1164
  # @param [Hash{String => String}] A hash of custom headers that will be added
909
1165
  # to the HTTP request.
910
1166
  #
911
1167
  # @return [Concurrent::Promise] Promise object which holds the HTTP response.
912
1168
  #
913
- def add_face_from_url_async(person_group_id, person_id, url, user_data:nil, target_face:nil, custom_headers:nil)
1169
+ def add_face_from_url_async(person_group_id, person_id, url, user_data:nil, target_face:nil, detection_model:nil, custom_headers:nil)
914
1170
  fail ArgumentError, '@client.endpoint is nil' if @client.endpoint.nil?
915
1171
  fail ArgumentError, 'person_group_id is nil' if person_group_id.nil?
916
1172
  fail ArgumentError, "'person_group_id' should satisfy the constraint - 'MaxLength': '64'" if !person_group_id.nil? && person_group_id.length > 64
@@ -944,7 +1200,7 @@ module Azure::CognitiveServices::Face::V1_0
944
1200
  options = {
945
1201
  middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
946
1202
  path_params: {'personGroupId' => person_group_id,'personId' => person_id},
947
- query_params: {'userData' => user_data,'targetFace' => target_face.nil? ? nil : target_face.join(',')},
1203
+ query_params: {'userData' => user_data,'targetFace' => target_face.nil? ? nil : target_face.join(','),'detectionModel' => detection_model},
948
1204
  body: request_content,
949
1205
  headers: request_headers.merge(custom_headers || {}),
950
1206
  base_url: request_url
@@ -961,6 +1217,8 @@ module Azure::CognitiveServices::Face::V1_0
961
1217
  end
962
1218
 
963
1219
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1220
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1221
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
964
1222
  # Deserialize Response
965
1223
  if status_code == 200
966
1224
  begin
@@ -979,8 +1237,51 @@ module Azure::CognitiveServices::Face::V1_0
979
1237
  end
980
1238
 
981
1239
  #
982
- # Add a representative face to a person for identification. The input face is
983
- # specified as an image with a targetFace rectangle.
1240
+ # Add a face to a person into a person group for face identification or
1241
+ # verification. To deal with an image contains multiple faces, input face can
1242
+ # be specified as an image with a targetFace rectangle. It returns a
1243
+ # persistedFaceId representing the added face. No image will be stored. Only
1244
+ # the extracted face feature will be stored on server until [PersonGroup
1245
+ # PersonFace -
1246
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523e),
1247
+ # [PersonGroup Person -
1248
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523d)
1249
+ # or [PersonGroup -
1250
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395245)
1251
+ # is called.
1252
+ # <br /> Note persistedFaceId is different from faceId generated by [Face -
1253
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236).
1254
+ # * Higher face image quality means better recognition precision. Please
1255
+ # consider high-quality faces: frontal, clear, and face size is 200x200 pixels
1256
+ # (100 pixels between eyes) or bigger.
1257
+ # * Each person entry can hold up to 248 faces.
1258
+ # * JPEG, PNG, GIF (the first frame), and BMP format are supported. The
1259
+ # allowed image file size is from 1KB to 6MB.
1260
+ # * "targetFace" rectangle should contain one face. Zero or multiple faces
1261
+ # will be regarded as an error. If the provided "targetFace" rectangle is not
1262
+ # returned from [Face -
1263
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236),
1264
+ # there’s no guarantee to detect and add the face successfully.
1265
+ # * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose,
1266
+ # or large occlusions will cause failures.
1267
+ # * Adding/deleting faces to/from a same person will be processed
1268
+ # sequentially. Adding/deleting faces to/from different persons are processed
1269
+ # in parallel.
1270
+ # * The minimum detectable face size is 36x36 pixels in an image no larger than
1271
+ # 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will
1272
+ # need a proportionally larger minimum face size.
1273
+ # * Different 'detectionModel' values can be provided. To use and compare
1274
+ # different detection models, please refer to [How to specify a detection
1275
+ # model](https://docs.microsoft.com/en-us/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)
1276
+ # | Model | Recommended use-case(s) |
1277
+ # | ---------- | -------- |
1278
+ # | 'detection_01': | The default detection model for [PersonGroup Person - Add
1279
+ # Face](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523b).
1280
+ # Recommend for near frontal face detection. For scenarios with exceptionally
1281
+ # large angle (head-pose) faces, occluded faces or wrong image orientation, the
1282
+ # faces in such cases may not be detected. |
1283
+ # | 'detection_02': | Detection model released in 2019 May with improved
1284
+ # accuracy especially on small, side and blurry faces. |
984
1285
  #
985
1286
  # @param person_group_id [String] Id referencing a particular person group.
986
1287
  # @param person_id Id referencing a particular person.
@@ -993,19 +1294,68 @@ module Azure::CognitiveServices::Face::V1_0
993
1294
  # is more than one face in the image, targetFace is required to specify which
994
1295
  # face to add. No targetFace means there is only one face detected in the
995
1296
  # entire image.
1297
+ # @param detection_model [DetectionModel] Name of detection model. Detection
1298
+ # model is used to detect faces in the submitted image. A detection model name
1299
+ # can be provided when performing Face - Detect or (Large)FaceList - Add Face
1300
+ # or (Large)PersonGroup - Add Face. The default value is 'detection_01', if
1301
+ # another model is needed, please explicitly specify it. Possible values
1302
+ # include: 'detection_01', 'detection_02'
996
1303
  # @param custom_headers [Hash{String => String}] A hash of custom headers that
997
1304
  # will be added to the HTTP request.
998
1305
  #
999
1306
  # @return [PersistedFace] operation results.
1000
1307
  #
1001
- def add_face_from_stream(person_group_id, person_id, image, user_data:nil, target_face:nil, custom_headers:nil)
1002
- response = add_face_from_stream_async(person_group_id, person_id, image, user_data:user_data, target_face:target_face, custom_headers:custom_headers).value!
1308
+ def add_face_from_stream(person_group_id, person_id, image, user_data:nil, target_face:nil, detection_model:nil, custom_headers:nil)
1309
+ response = add_face_from_stream_async(person_group_id, person_id, image, user_data:user_data, target_face:target_face, detection_model:detection_model, custom_headers:custom_headers).value!
1003
1310
  response.body unless response.nil?
1004
1311
  end
1005
1312
 
1006
1313
  #
1007
- # Add a representative face to a person for identification. The input face is
1008
- # specified as an image with a targetFace rectangle.
1314
+ # Add a face to a person into a person group for face identification or
1315
+ # verification. To deal with an image contains multiple faces, input face can
1316
+ # be specified as an image with a targetFace rectangle. It returns a
1317
+ # persistedFaceId representing the added face. No image will be stored. Only
1318
+ # the extracted face feature will be stored on server until [PersonGroup
1319
+ # PersonFace -
1320
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523e),
1321
+ # [PersonGroup Person -
1322
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523d)
1323
+ # or [PersonGroup -
1324
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395245)
1325
+ # is called.
1326
+ # <br /> Note persistedFaceId is different from faceId generated by [Face -
1327
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236).
1328
+ # * Higher face image quality means better recognition precision. Please
1329
+ # consider high-quality faces: frontal, clear, and face size is 200x200 pixels
1330
+ # (100 pixels between eyes) or bigger.
1331
+ # * Each person entry can hold up to 248 faces.
1332
+ # * JPEG, PNG, GIF (the first frame), and BMP format are supported. The
1333
+ # allowed image file size is from 1KB to 6MB.
1334
+ # * "targetFace" rectangle should contain one face. Zero or multiple faces
1335
+ # will be regarded as an error. If the provided "targetFace" rectangle is not
1336
+ # returned from [Face -
1337
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236),
1338
+ # there’s no guarantee to detect and add the face successfully.
1339
+ # * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose,
1340
+ # or large occlusions will cause failures.
1341
+ # * Adding/deleting faces to/from a same person will be processed
1342
+ # sequentially. Adding/deleting faces to/from different persons are processed
1343
+ # in parallel.
1344
+ # * The minimum detectable face size is 36x36 pixels in an image no larger than
1345
+ # 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will
1346
+ # need a proportionally larger minimum face size.
1347
+ # * Different 'detectionModel' values can be provided. To use and compare
1348
+ # different detection models, please refer to [How to specify a detection
1349
+ # model](https://docs.microsoft.com/en-us/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)
1350
+ # | Model | Recommended use-case(s) |
1351
+ # | ---------- | -------- |
1352
+ # | 'detection_01': | The default detection model for [PersonGroup Person - Add
1353
+ # Face](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523b).
1354
+ # Recommend for near frontal face detection. For scenarios with exceptionally
1355
+ # large angle (head-pose) faces, occluded faces or wrong image orientation, the
1356
+ # faces in such cases may not be detected. |
1357
+ # | 'detection_02': | Detection model released in 2019 May with improved
1358
+ # accuracy especially on small, side and blurry faces. |
1009
1359
  #
1010
1360
  # @param person_group_id [String] Id referencing a particular person group.
1011
1361
  # @param person_id Id referencing a particular person.
@@ -1018,18 +1368,67 @@ module Azure::CognitiveServices::Face::V1_0
1018
1368
  # is more than one face in the image, targetFace is required to specify which
1019
1369
  # face to add. No targetFace means there is only one face detected in the
1020
1370
  # entire image.
1371
+ # @param detection_model [DetectionModel] Name of detection model. Detection
1372
+ # model is used to detect faces in the submitted image. A detection model name
1373
+ # can be provided when performing Face - Detect or (Large)FaceList - Add Face
1374
+ # or (Large)PersonGroup - Add Face. The default value is 'detection_01', if
1375
+ # another model is needed, please explicitly specify it. Possible values
1376
+ # include: 'detection_01', 'detection_02'
1021
1377
  # @param custom_headers [Hash{String => String}] A hash of custom headers that
1022
1378
  # will be added to the HTTP request.
1023
1379
  #
1024
1380
  # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1025
1381
  #
1026
- def add_face_from_stream_with_http_info(person_group_id, person_id, image, user_data:nil, target_face:nil, custom_headers:nil)
1027
- add_face_from_stream_async(person_group_id, person_id, image, user_data:user_data, target_face:target_face, custom_headers:custom_headers).value!
1382
+ def add_face_from_stream_with_http_info(person_group_id, person_id, image, user_data:nil, target_face:nil, detection_model:nil, custom_headers:nil)
1383
+ add_face_from_stream_async(person_group_id, person_id, image, user_data:user_data, target_face:target_face, detection_model:detection_model, custom_headers:custom_headers).value!
1028
1384
  end
1029
1385
 
1030
1386
  #
1031
- # Add a representative face to a person for identification. The input face is
1032
- # specified as an image with a targetFace rectangle.
1387
+ # Add a face to a person into a person group for face identification or
1388
+ # verification. To deal with an image contains multiple faces, input face can
1389
+ # be specified as an image with a targetFace rectangle. It returns a
1390
+ # persistedFaceId representing the added face. No image will be stored. Only
1391
+ # the extracted face feature will be stored on server until [PersonGroup
1392
+ # PersonFace -
1393
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523e),
1394
+ # [PersonGroup Person -
1395
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523d)
1396
+ # or [PersonGroup -
1397
+ # Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395245)
1398
+ # is called.
1399
+ # <br /> Note persistedFaceId is different from faceId generated by [Face -
1400
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236).
1401
+ # * Higher face image quality means better recognition precision. Please
1402
+ # consider high-quality faces: frontal, clear, and face size is 200x200 pixels
1403
+ # (100 pixels between eyes) or bigger.
1404
+ # * Each person entry can hold up to 248 faces.
1405
+ # * JPEG, PNG, GIF (the first frame), and BMP format are supported. The
1406
+ # allowed image file size is from 1KB to 6MB.
1407
+ # * "targetFace" rectangle should contain one face. Zero or multiple faces
1408
+ # will be regarded as an error. If the provided "targetFace" rectangle is not
1409
+ # returned from [Face -
1410
+ # Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236),
1411
+ # there’s no guarantee to detect and add the face successfully.
1412
+ # * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose,
1413
+ # or large occlusions will cause failures.
1414
+ # * Adding/deleting faces to/from a same person will be processed
1415
+ # sequentially. Adding/deleting faces to/from different persons are processed
1416
+ # in parallel.
1417
+ # * The minimum detectable face size is 36x36 pixels in an image no larger than
1418
+ # 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will
1419
+ # need a proportionally larger minimum face size.
1420
+ # * Different 'detectionModel' values can be provided. To use and compare
1421
+ # different detection models, please refer to [How to specify a detection
1422
+ # model](https://docs.microsoft.com/en-us/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)
1423
+ # | Model | Recommended use-case(s) |
1424
+ # | ---------- | -------- |
1425
+ # | 'detection_01': | The default detection model for [PersonGroup Person - Add
1426
+ # Face](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523b).
1427
+ # Recommend for near frontal face detection. For scenarios with exceptionally
1428
+ # large angle (head-pose) faces, occluded faces or wrong image orientation, the
1429
+ # faces in such cases may not be detected. |
1430
+ # | 'detection_02': | Detection model released in 2019 May with improved
1431
+ # accuracy especially on small, side and blurry faces. |
1033
1432
  #
1034
1433
  # @param person_group_id [String] Id referencing a particular person group.
1035
1434
  # @param person_id Id referencing a particular person.
@@ -1042,12 +1441,18 @@ module Azure::CognitiveServices::Face::V1_0
1042
1441
  # is more than one face in the image, targetFace is required to specify which
1043
1442
  # face to add. No targetFace means there is only one face detected in the
1044
1443
  # entire image.
1444
+ # @param detection_model [DetectionModel] Name of detection model. Detection
1445
+ # model is used to detect faces in the submitted image. A detection model name
1446
+ # can be provided when performing Face - Detect or (Large)FaceList - Add Face
1447
+ # or (Large)PersonGroup - Add Face. The default value is 'detection_01', if
1448
+ # another model is needed, please explicitly specify it. Possible values
1449
+ # include: 'detection_01', 'detection_02'
1045
1450
  # @param [Hash{String => String}] A hash of custom headers that will be added
1046
1451
  # to the HTTP request.
1047
1452
  #
1048
1453
  # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1049
1454
  #
1050
- def add_face_from_stream_async(person_group_id, person_id, image, user_data:nil, target_face:nil, custom_headers:nil)
1455
+ def add_face_from_stream_async(person_group_id, person_id, image, user_data:nil, target_face:nil, detection_model:nil, custom_headers:nil)
1051
1456
  fail ArgumentError, '@client.endpoint is nil' if @client.endpoint.nil?
1052
1457
  fail ArgumentError, 'person_group_id is nil' if person_group_id.nil?
1053
1458
  fail ArgumentError, "'person_group_id' should satisfy the constraint - 'MaxLength': '64'" if !person_group_id.nil? && person_group_id.length > 64
@@ -1083,7 +1488,7 @@ module Azure::CognitiveServices::Face::V1_0
1083
1488
  options = {
1084
1489
  middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1085
1490
  path_params: {'personGroupId' => person_group_id,'personId' => person_id},
1086
- query_params: {'userData' => user_data,'targetFace' => target_face.nil? ? nil : target_face.join(',')},
1491
+ query_params: {'userData' => user_data,'targetFace' => target_face.nil? ? nil : target_face.join(','),'detectionModel' => detection_model},
1087
1492
  body: request_content,
1088
1493
  headers: request_headers.merge(custom_headers || {}),
1089
1494
  base_url: request_url
@@ -1100,6 +1505,8 @@ module Azure::CognitiveServices::Face::V1_0
1100
1505
  end
1101
1506
 
1102
1507
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1508
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1509
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1103
1510
  # Deserialize Response
1104
1511
  if status_code == 200
1105
1512
  begin