1// Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//    http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package v20180301
16
17import (
18    "encoding/json"
19    tcerr "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
20    tchttp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http"
21)
22
23type AnalyzeDenseLandmarksRequest struct {
24	*tchttp.BaseRequest
25
26	// 检测模式。0 为检测所有出现的人脸, 1 为检测面积最大的人脸。
27	// 默认为 0。
28	// 最多返回 5 张人脸的五官定位(人脸关键点)具体信息。
29	Mode *uint64 `json:"Mode,omitempty" name:"Mode"`
30
31	// 图片 base64 数据,base64 编码后大小不可超过5M。
32	// jpg格式长边像素不可超过4000,其他格式图片长边像素不可超2000。
33	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
34	Image *string `json:"Image,omitempty" name:"Image"`
35
36	// 图片的 Url 。对应图片 base64 编码后大小不可超过5M。
37	// jpg格式长边像素不可超过4000,其他格式图片长边像素不可超2000。
38	// Url、Image必须提供一个,如果都提供,只使用 Url。
39	// 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
40	// 非腾讯云存储的Url速度和稳定性可能受一定影响。
41	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
42	Url *string `json:"Url,omitempty" name:"Url"`
43
44	// 人脸识别服务所用的算法模型版本。本接口仅支持 “3.0“ 输入。
45	FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
46
47	// 是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。
48	NeedRotateDetection *int64 `json:"NeedRotateDetection,omitempty" name:"NeedRotateDetection"`
49}
50
51func (r *AnalyzeDenseLandmarksRequest) ToJsonString() string {
52    b, _ := json.Marshal(r)
53    return string(b)
54}
55
56// FromJsonString It is highly **NOT** recommended to use this function
57// because it has no param check, nor strict type check
58func (r *AnalyzeDenseLandmarksRequest) FromJsonString(s string) error {
59	f := make(map[string]interface{})
60	if err := json.Unmarshal([]byte(s), &f); err != nil {
61		return err
62	}
63	delete(f, "Mode")
64	delete(f, "Image")
65	delete(f, "Url")
66	delete(f, "FaceModelVersion")
67	delete(f, "NeedRotateDetection")
68	if len(f) > 0 {
69		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "AnalyzeDenseLandmarksRequest has unknown keys!", "")
70	}
71	return json.Unmarshal([]byte(s), &r)
72}
73
74type AnalyzeDenseLandmarksResponse struct {
75	*tchttp.BaseResponse
76	Response *struct {
77
78		// 请求的图片宽度。
79		ImageWidth *int64 `json:"ImageWidth,omitempty" name:"ImageWidth"`
80
81		// 请求的图片高度。
82		ImageHeight *int64 `json:"ImageHeight,omitempty" name:"ImageHeight"`
83
84		// 稠密人脸关键点具体信息。
85		DenseFaceShapeSet []*DenseFaceShape `json:"DenseFaceShapeSet,omitempty" name:"DenseFaceShapeSet"`
86
87		// 人脸识别服务所用的算法模型版本。本接口仅支持 “3.0“ 输入。
88		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
89
90		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
91		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
92	} `json:"Response"`
93}
94
95func (r *AnalyzeDenseLandmarksResponse) ToJsonString() string {
96    b, _ := json.Marshal(r)
97    return string(b)
98}
99
100// FromJsonString It is highly **NOT** recommended to use this function
101// because it has no param check, nor strict type check
102func (r *AnalyzeDenseLandmarksResponse) FromJsonString(s string) error {
103	return json.Unmarshal([]byte(s), &r)
104}
105
106type AnalyzeFaceRequest struct {
107	*tchttp.BaseRequest
108
109	// 检测模式。0 为检测所有出现的人脸, 1 为检测面积最大的人脸。默认为 0。最多返回 10 张人脸的五官定位(人脸关键点)具体信息。
110	Mode *uint64 `json:"Mode,omitempty" name:"Mode"`
111
112	// 图片 base64 数据,base64 编码后大小不可超过5M。
113	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
114	Image *string `json:"Image,omitempty" name:"Image"`
115
116	// 图片的 Url 。对应图片 base64 编码后大小不可超过5M。
117	// Url、Image必须提供一个,如果都提供,只使用 Url。
118	// 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
119	// 非腾讯云存储的Url速度和稳定性可能受一定影响。
120	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
121	Url *string `json:"Url,omitempty" name:"Url"`
122
123	// 人脸识别服务所用的算法模型版本。
124	//
125	// 目前入参支持 “2.0”和“3.0“ 两个输入。
126	//
127	// 2020年4月2日开始,默认为“3.0”,之前使用过本接口的账号若未填写本参数默认为“2.0”。
128	//
129	// 2020年11月26日后开通服务的账号仅支持输入“3.0”。
130	//
131	// 不同算法模型版本对应的人脸识别算法不同,新版本的整体效果会优于旧版本,建议使用“3.0”版本。
132	FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
133
134	// 是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。
135	NeedRotateDetection *uint64 `json:"NeedRotateDetection,omitempty" name:"NeedRotateDetection"`
136}
137
138func (r *AnalyzeFaceRequest) ToJsonString() string {
139    b, _ := json.Marshal(r)
140    return string(b)
141}
142
143// FromJsonString It is highly **NOT** recommended to use this function
144// because it has no param check, nor strict type check
145func (r *AnalyzeFaceRequest) FromJsonString(s string) error {
146	f := make(map[string]interface{})
147	if err := json.Unmarshal([]byte(s), &f); err != nil {
148		return err
149	}
150	delete(f, "Mode")
151	delete(f, "Image")
152	delete(f, "Url")
153	delete(f, "FaceModelVersion")
154	delete(f, "NeedRotateDetection")
155	if len(f) > 0 {
156		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "AnalyzeFaceRequest has unknown keys!", "")
157	}
158	return json.Unmarshal([]byte(s), &r)
159}
160
161type AnalyzeFaceResponse struct {
162	*tchttp.BaseResponse
163	Response *struct {
164
165		// 请求的图片宽度。
166		ImageWidth *uint64 `json:"ImageWidth,omitempty" name:"ImageWidth"`
167
168		// 请求的图片高度。
169		ImageHeight *uint64 `json:"ImageHeight,omitempty" name:"ImageHeight"`
170
171		// 五官定位(人脸关键点)具体信息。
172		FaceShapeSet []*FaceShape `json:"FaceShapeSet,omitempty" name:"FaceShapeSet"`
173
174		// 人脸识别所用的算法模型版本。
175		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
176
177		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
178		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
179	} `json:"Response"`
180}
181
182func (r *AnalyzeFaceResponse) ToJsonString() string {
183    b, _ := json.Marshal(r)
184    return string(b)
185}
186
187// FromJsonString It is highly **NOT** recommended to use this function
188// because it has no param check, nor strict type check
189func (r *AnalyzeFaceResponse) FromJsonString(s string) error {
190	return json.Unmarshal([]byte(s), &r)
191}
192
193type AttributeItem struct {
194
195	// 属性值
196	Type *int64 `json:"Type,omitempty" name:"Type"`
197
198	// Type识别概率值,【0,1】,代表判断正确的概率。
199	Probability *float64 `json:"Probability,omitempty" name:"Probability"`
200}
201
202type Candidate struct {
203
204	// 人员ID
205	PersonId *string `json:"PersonId,omitempty" name:"PersonId"`
206
207	// 人脸ID
208	FaceId *string `json:"FaceId,omitempty" name:"FaceId"`
209
210	// 候选者的匹配得分。
211	//
212	// 1万大小人脸底库下,误识率百分之一对应分数为70分,误识率千分之一对应分数为80分,误识率万分之一对应分数为90分;
213	// 10万大小人脸底库下,误识率百分之一对应分数为80分,误识率千分之一对应分数为90分,误识率万分之一对应分数为100分;
214	// 30万大小人脸底库下,误识率百分之一对应分数为85分,误识率千分之一对应分数为95分。
215	//
216	// 一般80分左右可适用大部分场景,建议分数不要超过90分。您可以根据实际情况选择合适的分数。
217	Score *float64 `json:"Score,omitempty" name:"Score"`
218
219	// 人员名称
220	// 注意:此字段可能返回 null,表示取不到有效值。
221	PersonName *string `json:"PersonName,omitempty" name:"PersonName"`
222
223	// 人员性别
224	// 注意:此字段可能返回 null,表示取不到有效值。
225	Gender *int64 `json:"Gender,omitempty" name:"Gender"`
226
227	// 包含此人员的人员库及描述字段内容列表
228	// 注意:此字段可能返回 null,表示取不到有效值。
229	PersonGroupInfos []*PersonGroupInfo `json:"PersonGroupInfos,omitempty" name:"PersonGroupInfos"`
230}
231
232type CheckSimilarPersonRequest struct {
233	*tchttp.BaseRequest
234
235	// 待整理的人员库列表。
236	// 人员库总人数不可超过200万,人员库个数不可超过10个。
237	GroupIds []*string `json:"GroupIds,omitempty" name:"GroupIds"`
238
239	// 人员查重整理力度的控制。
240	// 1:力度较高的档案整理,能够消除更多的重复身份,对应稍高的非重复身份误清除率;
241	// 2:力度较低的档案整理,非重复身份的误清除率较低,对应稍低的重复身份消除率。
242	UniquePersonControl *int64 `json:"UniquePersonControl,omitempty" name:"UniquePersonControl"`
243}
244
245func (r *CheckSimilarPersonRequest) ToJsonString() string {
246    b, _ := json.Marshal(r)
247    return string(b)
248}
249
250// FromJsonString It is highly **NOT** recommended to use this function
251// because it has no param check, nor strict type check
252func (r *CheckSimilarPersonRequest) FromJsonString(s string) error {
253	f := make(map[string]interface{})
254	if err := json.Unmarshal([]byte(s), &f); err != nil {
255		return err
256	}
257	delete(f, "GroupIds")
258	delete(f, "UniquePersonControl")
259	if len(f) > 0 {
260		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CheckSimilarPersonRequest has unknown keys!", "")
261	}
262	return json.Unmarshal([]byte(s), &r)
263}
264
265type CheckSimilarPersonResponse struct {
266	*tchttp.BaseResponse
267	Response *struct {
268
269		// 查重任务ID,用于查询、获取查重的进度和结果。
270		JobId *string `json:"JobId,omitempty" name:"JobId"`
271
272		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
273		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
274	} `json:"Response"`
275}
276
277func (r *CheckSimilarPersonResponse) ToJsonString() string {
278    b, _ := json.Marshal(r)
279    return string(b)
280}
281
282// FromJsonString It is highly **NOT** recommended to use this function
283// because it has no param check, nor strict type check
284func (r *CheckSimilarPersonResponse) FromJsonString(s string) error {
285	return json.Unmarshal([]byte(s), &r)
286}
287
288type CompareFaceRequest struct {
289	*tchttp.BaseRequest
290
291	// A 图片 base64 数据,base64 编码后大小不可超过5M。
292	// 若图片中包含多张人脸,只选取其中人脸面积最大的人脸。
293	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
294	ImageA *string `json:"ImageA,omitempty" name:"ImageA"`
295
296	// B 图片 base64 数据,base64 编码后大小不可超过5M。
297	// 若图片中包含多张人脸,只选取其中人脸面积最大的人脸。
298	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
299	ImageB *string `json:"ImageB,omitempty" name:"ImageB"`
300
301	// A 图片的 Url ,对应图片 base64 编码后大小不可超过5M。
302	// A 图片的 Url、Image必须提供一个,如果都提供,只使用 Url。
303	// 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
304	// 非腾讯云存储的Url速度和稳定性可能受一定影响。
305	// 若图片中包含多张人脸,只选取其中人脸面积最大的人脸。
306	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
307	UrlA *string `json:"UrlA,omitempty" name:"UrlA"`
308
309	// B 图片的 Url ,对应图片 base64 编码后大小不可超过5M。
310	// B 图片的 Url、Image必须提供一个,如果都提供,只使用 Url。
311	// 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
312	// 非腾讯云存储的Url速度和稳定性可能受一定影响。
313	// 若图片中包含多张人脸,只选取其中人脸面积最大的人脸。
314	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
315	UrlB *string `json:"UrlB,omitempty" name:"UrlB"`
316
317	// 人脸识别服务所用的算法模型版本。
318	//
319	// 目前入参支持 “2.0”和“3.0“ 两个输入。
320	//
321	// 2020年4月2日开始,默认为“3.0”,之前使用过本接口的账号若未填写本参数默认为“2.0”。
322	//
323	// 2020年11月26日后开通服务的账号仅支持输入“3.0”。
324	//
325	// 不同算法模型版本对应的人脸识别算法不同,新版本的整体效果会优于旧版本,建议使用“3.0”版本。
326	FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
327
328	// 图片质量控制。
329	// 0: 不进行控制;
330	// 1:较低的质量要求,图像存在非常模糊,眼睛鼻子嘴巴遮挡至少其中一种或多种的情况;
331	// 2: 一般的质量要求,图像存在偏亮,偏暗,模糊或一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,至少其中三种的情况;
332	// 3: 较高的质量要求,图像存在偏亮,偏暗,一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,其中一到两种的情况;
333	// 4: 很高的质量要求,各个维度均为最好或最多在某一维度上存在轻微问题;
334	// 默认 0。
335	// 若图片质量不满足要求,则返回结果中会提示图片质量检测不符要求。
336	QualityControl *uint64 `json:"QualityControl,omitempty" name:"QualityControl"`
337
338	// 是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。
339	NeedRotateDetection *uint64 `json:"NeedRotateDetection,omitempty" name:"NeedRotateDetection"`
340}
341
342func (r *CompareFaceRequest) ToJsonString() string {
343    b, _ := json.Marshal(r)
344    return string(b)
345}
346
347// FromJsonString It is highly **NOT** recommended to use this function
348// because it has no param check, nor strict type check
349func (r *CompareFaceRequest) FromJsonString(s string) error {
350	f := make(map[string]interface{})
351	if err := json.Unmarshal([]byte(s), &f); err != nil {
352		return err
353	}
354	delete(f, "ImageA")
355	delete(f, "ImageB")
356	delete(f, "UrlA")
357	delete(f, "UrlB")
358	delete(f, "FaceModelVersion")
359	delete(f, "QualityControl")
360	delete(f, "NeedRotateDetection")
361	if len(f) > 0 {
362		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CompareFaceRequest has unknown keys!", "")
363	}
364	return json.Unmarshal([]byte(s), &r)
365}
366
367type CompareFaceResponse struct {
368	*tchttp.BaseResponse
369	Response *struct {
370
371		// 两张图片中人脸的相似度分数。
372	// 不同算法版本返回的相似度分数不同。
373	// 若需要验证两张图片中人脸是否为同一人,3.0版本误识率千分之一对应分数为40分,误识率万分之一对应分数为50分,误识率十万分之一对应分数为60分。  一般超过50分则可认定为同一人。
374	// 2.0版本误识率千分之一对应分数为70分,误识率万分之一对应分数为80分,误识率十万分之一对应分数为90分。 一般超过80分则可认定为同一人。
375	// 若需要验证两张图片中的人脸是否为同一人,建议使用人脸验证接口。
376		Score *float64 `json:"Score,omitempty" name:"Score"`
377
378		// 人脸识别所用的算法模型版本。
379		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
380
381		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
382		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
383	} `json:"Response"`
384}
385
386func (r *CompareFaceResponse) ToJsonString() string {
387    b, _ := json.Marshal(r)
388    return string(b)
389}
390
391// FromJsonString It is highly **NOT** recommended to use this function
392// because it has no param check, nor strict type check
393func (r *CompareFaceResponse) FromJsonString(s string) error {
394	return json.Unmarshal([]byte(s), &r)
395}
396
397type CopyPersonRequest struct {
398	*tchttp.BaseRequest
399
400	// 人员ID
401	PersonId *string `json:"PersonId,omitempty" name:"PersonId"`
402
403	// 待加入的人员库列表
404	GroupIds []*string `json:"GroupIds,omitempty" name:"GroupIds"`
405}
406
407func (r *CopyPersonRequest) ToJsonString() string {
408    b, _ := json.Marshal(r)
409    return string(b)
410}
411
412// FromJsonString It is highly **NOT** recommended to use this function
413// because it has no param check, nor strict type check
414func (r *CopyPersonRequest) FromJsonString(s string) error {
415	f := make(map[string]interface{})
416	if err := json.Unmarshal([]byte(s), &f); err != nil {
417		return err
418	}
419	delete(f, "PersonId")
420	delete(f, "GroupIds")
421	if len(f) > 0 {
422		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CopyPersonRequest has unknown keys!", "")
423	}
424	return json.Unmarshal([]byte(s), &r)
425}
426
427type CopyPersonResponse struct {
428	*tchttp.BaseResponse
429	Response *struct {
430
431		// 成功加入的人员库数量
432		SucGroupNum *uint64 `json:"SucGroupNum,omitempty" name:"SucGroupNum"`
433
434		// 成功加入的人员库列表
435		SucGroupIds []*string `json:"SucGroupIds,omitempty" name:"SucGroupIds"`
436
437		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
438		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
439	} `json:"Response"`
440}
441
442func (r *CopyPersonResponse) ToJsonString() string {
443    b, _ := json.Marshal(r)
444    return string(b)
445}
446
447// FromJsonString It is highly **NOT** recommended to use this function
448// because it has no param check, nor strict type check
449func (r *CopyPersonResponse) FromJsonString(s string) error {
450	return json.Unmarshal([]byte(s), &r)
451}
452
453type CreateFaceRequest struct {
454	*tchttp.BaseRequest
455
456	// 人员ID。
457	PersonId *string `json:"PersonId,omitempty" name:"PersonId"`
458
459	// 图片 base64 数据,base64 编码后大小不可超过5M。
460	// 人员人脸总数量不可超过5张。
461	// 若图片中包含多张人脸,只选取其中人脸面积最大的人脸。
462	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
463	Images []*string `json:"Images,omitempty" name:"Images"`
464
465	// 图片的 Url 。对应图片 base64 编码后大小不可超过5M。
466	// Url、Image必须提供一个,如果都提供,只使用 Url。
467	// 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
468	// 非腾讯云存储的Url速度和稳定性可能受一定影响。
469	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
470	// 人员人脸总数量不可超过5张。
471	// 若图片中包含多张人脸,只选取其中人脸面积最大的人脸。
472	Urls []*string `json:"Urls,omitempty" name:"Urls"`
473
474	// 只有和该人员已有的人脸相似度超过FaceMatchThreshold值的人脸,才能增加人脸成功。
475	// 默认值60分。取值范围[0,100] 。
476	FaceMatchThreshold *float64 `json:"FaceMatchThreshold,omitempty" name:"FaceMatchThreshold"`
477
478	// 图片质量控制。
479	// 0: 不进行控制;
480	// 1:较低的质量要求,图像存在非常模糊,眼睛鼻子嘴巴遮挡至少其中一种或多种的情况;
481	// 2: 一般的质量要求,图像存在偏亮,偏暗,模糊或一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,至少其中三种的情况;
482	// 3: 较高的质量要求,图像存在偏亮,偏暗,一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,其中一到两种的情况;
483	// 4: 很高的质量要求,各个维度均为最好或最多在某一维度上存在轻微问题;
484	// 默认 0。
485	// 若图片质量不满足要求,则返回结果中会提示图片质量检测不符要求。
486	QualityControl *uint64 `json:"QualityControl,omitempty" name:"QualityControl"`
487
488	// 是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。
489	NeedRotateDetection *uint64 `json:"NeedRotateDetection,omitempty" name:"NeedRotateDetection"`
490}
491
492func (r *CreateFaceRequest) ToJsonString() string {
493    b, _ := json.Marshal(r)
494    return string(b)
495}
496
497// FromJsonString It is highly **NOT** recommended to use this function
498// because it has no param check, nor strict type check
499func (r *CreateFaceRequest) FromJsonString(s string) error {
500	f := make(map[string]interface{})
501	if err := json.Unmarshal([]byte(s), &f); err != nil {
502		return err
503	}
504	delete(f, "PersonId")
505	delete(f, "Images")
506	delete(f, "Urls")
507	delete(f, "FaceMatchThreshold")
508	delete(f, "QualityControl")
509	delete(f, "NeedRotateDetection")
510	if len(f) > 0 {
511		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateFaceRequest has unknown keys!", "")
512	}
513	return json.Unmarshal([]byte(s), &r)
514}
515
516type CreateFaceResponse struct {
517	*tchttp.BaseResponse
518	Response *struct {
519
520		// 加入成功的人脸数量
521		SucFaceNum *uint64 `json:"SucFaceNum,omitempty" name:"SucFaceNum"`
522
523		// 加入成功的人脸ID列表
524		SucFaceIds []*string `json:"SucFaceIds,omitempty" name:"SucFaceIds"`
525
526		// 每张人脸图片添加结果,-1101 代表未检测到人脸,-1102 代表图片解码失败,
527	// -1601代表不符合图片质量控制要求, -1604 代表人脸相似度没有超过FaceMatchThreshold。
528	// 其他非 0 值代表算法服务异常。
529	// RetCode的顺序和入参中 Images 或 Urls 的顺序一致。
530		RetCode []*int64 `json:"RetCode,omitempty" name:"RetCode"`
531
532		// 加入成功的人脸索引。索引顺序和入参中 Images 或 Urls 的顺序一致。
533	// 例, Urls 中 有 3 个 url,第二个 url 失败,则 SucIndexes 值为 [0,2] 。
534		SucIndexes []*uint64 `json:"SucIndexes,omitempty" name:"SucIndexes"`
535
536		// 加入成功的人脸框位置。顺序和入参中 Images 或 Urls 的顺序一致。
537		SucFaceRects []*FaceRect `json:"SucFaceRects,omitempty" name:"SucFaceRects"`
538
539		// 人脸识别所用的算法模型版本。
540		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
541
542		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
543		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
544	} `json:"Response"`
545}
546
547func (r *CreateFaceResponse) ToJsonString() string {
548    b, _ := json.Marshal(r)
549    return string(b)
550}
551
552// FromJsonString It is highly **NOT** recommended to use this function
553// because it has no param check, nor strict type check
554func (r *CreateFaceResponse) FromJsonString(s string) error {
555	return json.Unmarshal([]byte(s), &r)
556}
557
558type CreateGroupRequest struct {
559	*tchttp.BaseRequest
560
561	// 人员库名称,[1,60]个字符,可修改,不可重复。
562	GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
563
564	// 人员库 ID,不可修改,不可重复。支持英文、数字、-%@#&_,长度限制64B。
565	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
566
567	// 人员库自定义描述字段,用于描述人员库中人员属性,该人员库下所有人员将拥有此描述字段。
568	// 最多可以创建5个。
569	// 每个自定义描述字段支持[1,30]个字符。
570	// 在同一人员库中自定义描述字段不可重复。
571	// 例: 设置某人员库“自定义描述字段”为["学号","工号","手机号"],
572	// 则该人员库下所有人员将拥有名为“学号”、“工号”、“手机号”的描述字段,
573	// 可在对应人员描述字段中填写内容,登记该人员的学号、工号、手机号等信息。
574	GroupExDescriptions []*string `json:"GroupExDescriptions,omitempty" name:"GroupExDescriptions"`
575
576	// 人员库信息备注,[0,40]个字符。
577	Tag *string `json:"Tag,omitempty" name:"Tag"`
578
579	// 人脸识别服务所用的算法模型版本。
580	//
581	// 目前入参支持 “2.0”和“3.0“ 两个输入。
582	//
583	// 2020年4月2日开始,默认为“3.0”,之前使用过本接口的账号若未填写本参数默认为“2.0”。
584	//
585	// 2020年11月26日后开通服务的账号仅支持输入“3.0”。
586	//
587	// 不同算法模型版本对应的人脸识别算法不同,新版本的整体效果会优于旧版本,建议使用“3.0”版本。
588	FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
589}
590
591func (r *CreateGroupRequest) ToJsonString() string {
592    b, _ := json.Marshal(r)
593    return string(b)
594}
595
596// FromJsonString It is highly **NOT** recommended to use this function
597// because it has no param check, nor strict type check
598func (r *CreateGroupRequest) FromJsonString(s string) error {
599	f := make(map[string]interface{})
600	if err := json.Unmarshal([]byte(s), &f); err != nil {
601		return err
602	}
603	delete(f, "GroupName")
604	delete(f, "GroupId")
605	delete(f, "GroupExDescriptions")
606	delete(f, "Tag")
607	delete(f, "FaceModelVersion")
608	if len(f) > 0 {
609		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateGroupRequest has unknown keys!", "")
610	}
611	return json.Unmarshal([]byte(s), &r)
612}
613
614type CreateGroupResponse struct {
615	*tchttp.BaseResponse
616	Response *struct {
617
618		// 人脸识别所用的算法模型版本。
619		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
620
621		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
622		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
623	} `json:"Response"`
624}
625
626func (r *CreateGroupResponse) ToJsonString() string {
627    b, _ := json.Marshal(r)
628    return string(b)
629}
630
631// FromJsonString It is highly **NOT** recommended to use this function
632// because it has no param check, nor strict type check
633func (r *CreateGroupResponse) FromJsonString(s string) error {
634	return json.Unmarshal([]byte(s), &r)
635}
636
637type CreatePersonRequest struct {
638	*tchttp.BaseRequest
639
640	// 待加入的人员库ID。
641	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
642
643	// 人员名称。[1,60]个字符,可修改,可重复。
644	PersonName *string `json:"PersonName,omitempty" name:"PersonName"`
645
646	// 人员ID,单个腾讯云账号下不可修改,不可重复。支持英文、数字、-%@#&_,长度限制64B。
647	PersonId *string `json:"PersonId,omitempty" name:"PersonId"`
648
649	// 0代表未填写,1代表男性,2代表女性。
650	Gender *int64 `json:"Gender,omitempty" name:"Gender"`
651
652	// 人员描述字段内容,key-value。[0,60]个字符,可修改,可重复。
653	PersonExDescriptionInfos []*PersonExDescriptionInfo `json:"PersonExDescriptionInfos,omitempty" name:"PersonExDescriptionInfos"`
654
655	// 图片 base64 数据,base64 编码后大小不可超过5M。
656	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
657	Image *string `json:"Image,omitempty" name:"Image"`
658
659	// 图片的 Url 。对应图片 base64 编码后大小不可超过5M。
660	// Url、Image必须提供一个,如果都提供,只使用 Url。
661	// 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
662	// 非腾讯云存储的Url速度和稳定性可能受一定影响。
663	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
664	Url *string `json:"Url,omitempty" name:"Url"`
665
666	// 此参数用于控制判断 Image 或 Url 中图片包含的人脸,是否在人员库中已有疑似的同一人。
667	// 如果判断为已有相同人在人员库中,则不会创建新的人员,返回疑似同一人的人员信息。
668	// 如果判断没有,则完成创建人员。
669	// 0: 不进行判断,无论是否有疑似同一人在库中均完成入库;
670	// 1:较低的同一人判断要求(百一误识别率);
671	// 2: 一般的同一人判断要求(千一误识别率);
672	// 3: 较高的同一人判断要求(万一误识别率);
673	// 4: 很高的同一人判断要求(十万一误识别率)。
674	// 默认 0。
675	// 注: 要求越高,则疑似同一人的概率越小。不同要求对应的误识别率仅为参考值,您可以根据实际情况调整。
676	UniquePersonControl *uint64 `json:"UniquePersonControl,omitempty" name:"UniquePersonControl"`
677
678	// 图片质量控制。
679	// 0: 不进行控制;
680	// 1:较低的质量要求,图像存在非常模糊,眼睛鼻子嘴巴遮挡至少其中一种或多种的情况;
681	// 2: 一般的质量要求,图像存在偏亮,偏暗,模糊或一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,至少其中三种的情况;
682	// 3: 较高的质量要求,图像存在偏亮,偏暗,一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,其中一到两种的情况;
683	// 4: 很高的质量要求,各个维度均为最好或最多在某一维度上存在轻微问题;
684	// 默认 0。
685	// 若图片质量不满足要求,则返回结果中会提示图片质量检测不符要求。
686	QualityControl *uint64 `json:"QualityControl,omitempty" name:"QualityControl"`
687
688	// 是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。
689	NeedRotateDetection *uint64 `json:"NeedRotateDetection,omitempty" name:"NeedRotateDetection"`
690}
691
692func (r *CreatePersonRequest) ToJsonString() string {
693    b, _ := json.Marshal(r)
694    return string(b)
695}
696
697// FromJsonString It is highly **NOT** recommended to use this function
698// because it has no param check, nor strict type check
699func (r *CreatePersonRequest) FromJsonString(s string) error {
700	f := make(map[string]interface{})
701	if err := json.Unmarshal([]byte(s), &f); err != nil {
702		return err
703	}
704	delete(f, "GroupId")
705	delete(f, "PersonName")
706	delete(f, "PersonId")
707	delete(f, "Gender")
708	delete(f, "PersonExDescriptionInfos")
709	delete(f, "Image")
710	delete(f, "Url")
711	delete(f, "UniquePersonControl")
712	delete(f, "QualityControl")
713	delete(f, "NeedRotateDetection")
714	if len(f) > 0 {
715		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreatePersonRequest has unknown keys!", "")
716	}
717	return json.Unmarshal([]byte(s), &r)
718}
719
720type CreatePersonResponse struct {
721	*tchttp.BaseResponse
722	Response *struct {
723
724		// 人脸图片唯一标识。
725		FaceId *string `json:"FaceId,omitempty" name:"FaceId"`
726
727		// 检测出的人脸框的位置。
728	// 注意:此字段可能返回 null,表示取不到有效值。
729		FaceRect *FaceRect `json:"FaceRect,omitempty" name:"FaceRect"`
730
731		// 疑似同一人的PersonId。
732	// 当 UniquePersonControl 参数不为0且人员库中有疑似的同一人,此参数才有意义。
733		SimilarPersonId *string `json:"SimilarPersonId,omitempty" name:"SimilarPersonId"`
734
735		// 人脸识别所用的算法模型版本。
736		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
737
738		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
739		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
740	} `json:"Response"`
741}
742
743func (r *CreatePersonResponse) ToJsonString() string {
744    b, _ := json.Marshal(r)
745    return string(b)
746}
747
748// FromJsonString It is highly **NOT** recommended to use this function
749// because it has no param check, nor strict type check
750func (r *CreatePersonResponse) FromJsonString(s string) error {
751	return json.Unmarshal([]byte(s), &r)
752}
753
754type DeleteFaceRequest struct {
755	*tchttp.BaseRequest
756
757	// 人员ID
758	PersonId *string `json:"PersonId,omitempty" name:"PersonId"`
759
760	// 待删除的人脸ID列表
761	FaceIds []*string `json:"FaceIds,omitempty" name:"FaceIds"`
762}
763
764func (r *DeleteFaceRequest) ToJsonString() string {
765    b, _ := json.Marshal(r)
766    return string(b)
767}
768
769// FromJsonString It is highly **NOT** recommended to use this function
770// because it has no param check, nor strict type check
771func (r *DeleteFaceRequest) FromJsonString(s string) error {
772	f := make(map[string]interface{})
773	if err := json.Unmarshal([]byte(s), &f); err != nil {
774		return err
775	}
776	delete(f, "PersonId")
777	delete(f, "FaceIds")
778	if len(f) > 0 {
779		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteFaceRequest has unknown keys!", "")
780	}
781	return json.Unmarshal([]byte(s), &r)
782}
783
784type DeleteFaceResponse struct {
785	*tchttp.BaseResponse
786	Response *struct {
787
788		// 删除成功的人脸数量
789		SucDeletedNum *uint64 `json:"SucDeletedNum,omitempty" name:"SucDeletedNum"`
790
791		// 删除成功的人脸ID列表
792		SucFaceIds []*string `json:"SucFaceIds,omitempty" name:"SucFaceIds"`
793
794		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
795		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
796	} `json:"Response"`
797}
798
799func (r *DeleteFaceResponse) ToJsonString() string {
800    b, _ := json.Marshal(r)
801    return string(b)
802}
803
804// FromJsonString It is highly **NOT** recommended to use this function
805// because it has no param check, nor strict type check
806func (r *DeleteFaceResponse) FromJsonString(s string) error {
807	return json.Unmarshal([]byte(s), &r)
808}
809
810type DeleteGroupRequest struct {
811	*tchttp.BaseRequest
812
813	// 人员库ID。
814	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
815}
816
817func (r *DeleteGroupRequest) ToJsonString() string {
818    b, _ := json.Marshal(r)
819    return string(b)
820}
821
822// FromJsonString It is highly **NOT** recommended to use this function
823// because it has no param check, nor strict type check
824func (r *DeleteGroupRequest) FromJsonString(s string) error {
825	f := make(map[string]interface{})
826	if err := json.Unmarshal([]byte(s), &f); err != nil {
827		return err
828	}
829	delete(f, "GroupId")
830	if len(f) > 0 {
831		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteGroupRequest has unknown keys!", "")
832	}
833	return json.Unmarshal([]byte(s), &r)
834}
835
836type DeleteGroupResponse struct {
837	*tchttp.BaseResponse
838	Response *struct {
839
840		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
841		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
842	} `json:"Response"`
843}
844
845func (r *DeleteGroupResponse) ToJsonString() string {
846    b, _ := json.Marshal(r)
847    return string(b)
848}
849
850// FromJsonString It is highly **NOT** recommended to use this function
851// because it has no param check, nor strict type check
852func (r *DeleteGroupResponse) FromJsonString(s string) error {
853	return json.Unmarshal([]byte(s), &r)
854}
855
856type DeletePersonFromGroupRequest struct {
857	*tchttp.BaseRequest
858
859	// 人员ID
860	PersonId *string `json:"PersonId,omitempty" name:"PersonId"`
861
862	// 人员库ID
863	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
864}
865
866func (r *DeletePersonFromGroupRequest) ToJsonString() string {
867    b, _ := json.Marshal(r)
868    return string(b)
869}
870
871// FromJsonString It is highly **NOT** recommended to use this function
872// because it has no param check, nor strict type check
873func (r *DeletePersonFromGroupRequest) FromJsonString(s string) error {
874	f := make(map[string]interface{})
875	if err := json.Unmarshal([]byte(s), &f); err != nil {
876		return err
877	}
878	delete(f, "PersonId")
879	delete(f, "GroupId")
880	if len(f) > 0 {
881		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeletePersonFromGroupRequest has unknown keys!", "")
882	}
883	return json.Unmarshal([]byte(s), &r)
884}
885
886type DeletePersonFromGroupResponse struct {
887	*tchttp.BaseResponse
888	Response *struct {
889
890		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
891		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
892	} `json:"Response"`
893}
894
895func (r *DeletePersonFromGroupResponse) ToJsonString() string {
896    b, _ := json.Marshal(r)
897    return string(b)
898}
899
900// FromJsonString It is highly **NOT** recommended to use this function
901// because it has no param check, nor strict type check
902func (r *DeletePersonFromGroupResponse) FromJsonString(s string) error {
903	return json.Unmarshal([]byte(s), &r)
904}
905
906type DeletePersonRequest struct {
907	*tchttp.BaseRequest
908
909	// 人员ID
910	PersonId *string `json:"PersonId,omitempty" name:"PersonId"`
911}
912
913func (r *DeletePersonRequest) ToJsonString() string {
914    b, _ := json.Marshal(r)
915    return string(b)
916}
917
918// FromJsonString It is highly **NOT** recommended to use this function
919// because it has no param check, nor strict type check
920func (r *DeletePersonRequest) FromJsonString(s string) error {
921	f := make(map[string]interface{})
922	if err := json.Unmarshal([]byte(s), &f); err != nil {
923		return err
924	}
925	delete(f, "PersonId")
926	if len(f) > 0 {
927		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeletePersonRequest has unknown keys!", "")
928	}
929	return json.Unmarshal([]byte(s), &r)
930}
931
932type DeletePersonResponse struct {
933	*tchttp.BaseResponse
934	Response *struct {
935
936		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
937		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
938	} `json:"Response"`
939}
940
941func (r *DeletePersonResponse) ToJsonString() string {
942    b, _ := json.Marshal(r)
943    return string(b)
944}
945
946// FromJsonString It is highly **NOT** recommended to use this function
947// because it has no param check, nor strict type check
948func (r *DeletePersonResponse) FromJsonString(s string) error {
949	return json.Unmarshal([]byte(s), &r)
950}
951
952type DenseFaceShape struct {
953
954	// 人脸框左上角横坐标。
955	X *int64 `json:"X,omitempty" name:"X"`
956
957	// 人脸框左上角纵坐标。
958	Y *int64 `json:"Y,omitempty" name:"Y"`
959
960	// 人脸框宽度。
961	Width *int64 `json:"Width,omitempty" name:"Width"`
962
963	// 人脸框高度。
964	Height *int64 `json:"Height,omitempty" name:"Height"`
965
966	// 描述左侧眼睛轮廓的 XX 点。
967	LeftEye []*Point `json:"LeftEye,omitempty" name:"LeftEye"`
968
969	// 描述右侧眼睛轮廓的 XX 点。
970	RightEye []*Point `json:"RightEye,omitempty" name:"RightEye"`
971
972	// 描述左侧眉毛轮廓的 XX 点。
973	LeftEyeBrow []*Point `json:"LeftEyeBrow,omitempty" name:"LeftEyeBrow"`
974
975	// 描述右侧眉毛轮廓的 XX 点。
976	RightEyeBrow []*Point `json:"RightEyeBrow,omitempty" name:"RightEyeBrow"`
977
978	// 描述外嘴巴轮廓的 XX 点, 从左侧开始逆时针返回。
979	MouthOutside []*Point `json:"MouthOutside,omitempty" name:"MouthOutside"`
980
981	// 描述内嘴巴轮廓的 XX 点,从左侧开始逆时针返回。
982	MouthInside []*Point `json:"MouthInside,omitempty" name:"MouthInside"`
983
984	// 描述鼻子轮廓的 XX 点。
985	Nose []*Point `json:"Nose,omitempty" name:"Nose"`
986
987	// 左瞳孔轮廓的 XX 个点。
988	LeftPupil []*Point `json:"LeftPupil,omitempty" name:"LeftPupil"`
989
990	// 右瞳孔轮廓的 XX 个点。
991	RightPupil []*Point `json:"RightPupil,omitempty" name:"RightPupil"`
992
993	// 中轴线轮廓的 XX 个点。
994	CentralAxis []*Point `json:"CentralAxis,omitempty" name:"CentralAxis"`
995
996	// 下巴轮廓的 XX 个点。
997	Chin []*Point `json:"Chin,omitempty" name:"Chin"`
998
999	// 左眼袋的 XX 个点。
1000	LeftEyeBags []*Point `json:"LeftEyeBags,omitempty" name:"LeftEyeBags"`
1001
1002	// 右眼袋的 XX 个点。
1003	RightEyeBags []*Point `json:"RightEyeBags,omitempty" name:"RightEyeBags"`
1004
1005	// 额头的 XX 个点。
1006	Forehead []*Point `json:"Forehead,omitempty" name:"Forehead"`
1007}
1008
1009type DetectFaceAttributesRequest struct {
1010	*tchttp.BaseRequest
1011
1012	// 最多处理的人脸数目。
1013	// 默认值为1(仅检测图片中面积最大的那张人脸),最大值为120。
1014	// 此参数用于控制处理待检测图片中的人脸个数,值越小,处理速度越快。
1015	MaxFaceNum *uint64 `json:"MaxFaceNum,omitempty" name:"MaxFaceNum"`
1016
1017	// 图片 base64 数据,base64 编码后大小不可超过5M。
1018	// jpg格式长边像素不可超过4000,其他格式图片长边像素不可超2000。
1019	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
1020	Image *string `json:"Image,omitempty" name:"Image"`
1021
1022	// 图片的 Url 。
1023	// 对应图片 base64 编码后大小不可超过5M。
1024	// jpg格式长边像素不可超过4000,其他格式图片长边像素不可超2000。
1025	// Url、Image必须提供一个,如果都提供,只使用 Url。
1026	// 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
1027	// 非腾讯云存储的Url速度和稳定性可能受一定影响。
1028	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
1029	Url *string `json:"Url,omitempty" name:"Url"`
1030
1031	// 是否返回年龄、性别、情绪等属性。
1032	// 合法值为(大小写不敏感):None、Age、Beauty、Emotion、Eye、Eyebrow
1033	// Gender、Hair、Hat、Headpose、Mask、Mouth、Moustache、Nose、Shape、Skin、Smile。
1034	// None为不需要返回。默认为 None。
1035	// 需要将属性组成一个用逗号分隔的字符串,属性之间的顺序没有要求。
1036	// 关于各属性的详细描述,参见下文出参。
1037	// 最多返回面积最大的 5 张人脸属性信息,超过 5 张人脸(第 6 张及以后的人脸)的 AttributesInfo 不具备参考意义。
1038	FaceAttributesType *string `json:"FaceAttributesType,omitempty" name:"FaceAttributesType"`
1039
1040	// 是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。
1041	NeedRotateDetection *uint64 `json:"NeedRotateDetection,omitempty" name:"NeedRotateDetection"`
1042
1043	// 人脸识别服务所用的算法模型版本。本接口仅支持“3.0”输入
1044	FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
1045}
1046
1047func (r *DetectFaceAttributesRequest) ToJsonString() string {
1048    b, _ := json.Marshal(r)
1049    return string(b)
1050}
1051
1052// FromJsonString It is highly **NOT** recommended to use this function
1053// because it has no param check, nor strict type check
1054func (r *DetectFaceAttributesRequest) FromJsonString(s string) error {
1055	f := make(map[string]interface{})
1056	if err := json.Unmarshal([]byte(s), &f); err != nil {
1057		return err
1058	}
1059	delete(f, "MaxFaceNum")
1060	delete(f, "Image")
1061	delete(f, "Url")
1062	delete(f, "FaceAttributesType")
1063	delete(f, "NeedRotateDetection")
1064	delete(f, "FaceModelVersion")
1065	if len(f) > 0 {
1066		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DetectFaceAttributesRequest has unknown keys!", "")
1067	}
1068	return json.Unmarshal([]byte(s), &r)
1069}
1070
1071type DetectFaceAttributesResponse struct {
1072	*tchttp.BaseResponse
1073	Response *struct {
1074
1075		// 请求的图片宽度。
1076		ImageWidth *uint64 `json:"ImageWidth,omitempty" name:"ImageWidth"`
1077
1078		// 请求的图片高度。
1079		ImageHeight *uint64 `json:"ImageHeight,omitempty" name:"ImageHeight"`
1080
1081		// 人脸信息列表。
1082		FaceDetailInfos []*FaceDetailInfo `json:"FaceDetailInfos,omitempty" name:"FaceDetailInfos"`
1083
1084		// 人脸识别所用的算法模型版本。
1085		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
1086
1087		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1088		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1089	} `json:"Response"`
1090}
1091
1092func (r *DetectFaceAttributesResponse) ToJsonString() string {
1093    b, _ := json.Marshal(r)
1094    return string(b)
1095}
1096
1097// FromJsonString It is highly **NOT** recommended to use this function
1098// because it has no param check, nor strict type check
1099func (r *DetectFaceAttributesResponse) FromJsonString(s string) error {
1100	return json.Unmarshal([]byte(s), &r)
1101}
1102
1103type DetectFaceRequest struct {
1104	*tchttp.BaseRequest
1105
1106	// 最多处理的人脸数目。默认值为1(仅检测图片中面积最大的那张人脸),最大值为120。
1107	// 此参数用于控制处理待检测图片中的人脸个数,值越小,处理速度越快。
1108	MaxFaceNum *uint64 `json:"MaxFaceNum,omitempty" name:"MaxFaceNum"`
1109
1110	// 人脸长和宽的最小尺寸,单位为像素。
1111	// 默认为34。建议不低于34。
1112	// 低于MinFaceSize值的人脸不会被检测。
1113	MinFaceSize *uint64 `json:"MinFaceSize,omitempty" name:"MinFaceSize"`
1114
1115	// 图片 base64 数据,base64 编码后大小不可超过5M。
1116	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
1117	Image *string `json:"Image,omitempty" name:"Image"`
1118
1119	// 图片的 Url 。对应图片 base64 编码后大小不可超过5M。
1120	// Url、Image必须提供一个,如果都提供,只使用 Url。
1121	// 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
1122	// 非腾讯云存储的Url速度和稳定性可能受一定影响。
1123	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
1124	Url *string `json:"Url,omitempty" name:"Url"`
1125
1126	// 是否需要返回人脸属性信息(FaceAttributesInfo)。0 为不需要返回,1 为需要返回。默认为 0。
1127	// 非 1 值均视为不需要返回,此时 FaceAttributesInfo 不具备参考意义。
1128	// 最多返回面积最大的 5 张人脸属性信息,超过 5 张人脸(第 6 张及以后的人脸)的 FaceAttributesInfo 不具备参考意义。
1129	// 提取人脸属性信息较为耗时,如不需要人脸属性信息,建议关闭此项功能,加快人脸检测速度。
1130	NeedFaceAttributes *uint64 `json:"NeedFaceAttributes,omitempty" name:"NeedFaceAttributes"`
1131
1132	// 是否开启质量检测。0 为关闭,1 为开启。默认为 0。
1133	// 非 1 值均视为不进行质量检测。
1134	// 最多返回面积最大的 30 张人脸质量分信息,超过 30 张人脸(第 31 张及以后的人脸)的 FaceQualityInfo不具备参考意义。
1135	// 建议:人脸入库操作建议开启此功能。
1136	NeedQualityDetection *uint64 `json:"NeedQualityDetection,omitempty" name:"NeedQualityDetection"`
1137
1138	// 人脸识别服务所用的算法模型版本。目前入参支持 “2.0”和“3.0“ 两个输入。
1139	// 2020年4月2日开始,默认为“3.0”,之前使用过本接口的账号若未填写本参数默认为“2.0”。
1140	// 不同算法模型版本对应的人脸识别算法不同,新版本的整体效果会优于旧版本,建议使用“3.0”版本。
1141	FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
1142
1143	// 是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。
1144	NeedRotateDetection *uint64 `json:"NeedRotateDetection,omitempty" name:"NeedRotateDetection"`
1145}
1146
1147func (r *DetectFaceRequest) ToJsonString() string {
1148    b, _ := json.Marshal(r)
1149    return string(b)
1150}
1151
1152// FromJsonString It is highly **NOT** recommended to use this function
1153// because it has no param check, nor strict type check
1154func (r *DetectFaceRequest) FromJsonString(s string) error {
1155	f := make(map[string]interface{})
1156	if err := json.Unmarshal([]byte(s), &f); err != nil {
1157		return err
1158	}
1159	delete(f, "MaxFaceNum")
1160	delete(f, "MinFaceSize")
1161	delete(f, "Image")
1162	delete(f, "Url")
1163	delete(f, "NeedFaceAttributes")
1164	delete(f, "NeedQualityDetection")
1165	delete(f, "FaceModelVersion")
1166	delete(f, "NeedRotateDetection")
1167	if len(f) > 0 {
1168		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DetectFaceRequest has unknown keys!", "")
1169	}
1170	return json.Unmarshal([]byte(s), &r)
1171}
1172
1173type DetectFaceResponse struct {
1174	*tchttp.BaseResponse
1175	Response *struct {
1176
1177		// 请求的图片宽度。
1178		ImageWidth *int64 `json:"ImageWidth,omitempty" name:"ImageWidth"`
1179
1180		// 请求的图片高度。
1181		ImageHeight *int64 `json:"ImageHeight,omitempty" name:"ImageHeight"`
1182
1183		// 人脸信息列表。包含人脸坐标信息、属性信息(若需要)、质量分信息(若需要)。
1184		FaceInfos []*FaceInfo `json:"FaceInfos,omitempty" name:"FaceInfos"`
1185
1186		// 人脸识别服务所用的算法模型版本。
1187	//
1188	// 目前入参支持 “2.0”和“3.0“ 两个输入。
1189	//
1190	// 2020年4月2日开始,默认为“3.0”,之前使用过本接口的账号若未填写本参数默认为“2.0”。
1191	//
1192	// 2020年11月26日后开通服务的账号仅支持输入“3.0”。
1193	//
1194	// 不同算法模型版本对应的人脸识别算法不同,新版本的整体效果会优于旧版本,建议使用“3.0”版本。
1195		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
1196
1197		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1198		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1199	} `json:"Response"`
1200}
1201
1202func (r *DetectFaceResponse) ToJsonString() string {
1203    b, _ := json.Marshal(r)
1204    return string(b)
1205}
1206
1207// FromJsonString It is highly **NOT** recommended to use this function
1208// because it has no param check, nor strict type check
1209func (r *DetectFaceResponse) FromJsonString(s string) error {
1210	return json.Unmarshal([]byte(s), &r)
1211}
1212
1213type DetectLiveFaceRequest struct {
1214	*tchttp.BaseRequest
1215
1216	// 图片 base64 数据,base64 编码后大小不可超过5M(图片的宽高比请接近3:4,不符合宽高比的图片返回的分值不具备参考意义)。
1217	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
1218	Image *string `json:"Image,omitempty" name:"Image"`
1219
1220	// 图片的 Url 。对应图片 base64 编码后大小不可超过5M。
1221	// Url、Image必须提供一个,如果都提供,只使用 Url。
1222	// (图片的宽高比请接近 3:4,不符合宽高比的图片返回的分值不具备参考意义)
1223	// 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
1224	// 非腾讯云存储的Url速度和稳定性可能受一定影响。
1225	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
1226	Url *string `json:"Url,omitempty" name:"Url"`
1227
1228	// 人脸识别服务所用的算法模型版本。
1229	//
1230	// 目前入参支持 “2.0”和“3.0“ 两个输入。
1231	//
1232	// 2020年4月2日开始,默认为“3.0”,之前使用过本接口的账号若未填写本参数默认为“2.0”。
1233	//
1234	// 2020年11月26日后开通服务的账号仅支持输入“3.0”。
1235	//
1236	// 不同算法模型版本对应的人脸识别算法不同,新版本的整体效果会优于旧版本,建议使用“3.0”版本。
1237	FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
1238}
1239
1240func (r *DetectLiveFaceRequest) ToJsonString() string {
1241    b, _ := json.Marshal(r)
1242    return string(b)
1243}
1244
1245// FromJsonString It is highly **NOT** recommended to use this function
1246// because it has no param check, nor strict type check
1247func (r *DetectLiveFaceRequest) FromJsonString(s string) error {
1248	f := make(map[string]interface{})
1249	if err := json.Unmarshal([]byte(s), &f); err != nil {
1250		return err
1251	}
1252	delete(f, "Image")
1253	delete(f, "Url")
1254	delete(f, "FaceModelVersion")
1255	if len(f) > 0 {
1256		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DetectLiveFaceRequest has unknown keys!", "")
1257	}
1258	return json.Unmarshal([]byte(s), &r)
1259}
1260
1261type DetectLiveFaceResponse struct {
1262	*tchttp.BaseResponse
1263	Response *struct {
1264
1265		// 活体打分,取值范围 [0,100],分数一般落于[80, 100]区间内,0分也为常见值。推荐相大于 87 时可判断为活体。可根据具体场景自行调整阈值。
1266	// 本字段当且仅当FaceModelVersion为2.0时才具备参考意义。
1267		Score *float64 `json:"Score,omitempty" name:"Score"`
1268
1269		// 人脸识别所用的算法模型版本。
1270		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
1271
1272		// 活体检测是否通过。
1273	// 本字段只有FaceModelVersion为3.0时才具备参考意义。
1274		IsLiveness *bool `json:"IsLiveness,omitempty" name:"IsLiveness"`
1275
1276		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1277		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1278	} `json:"Response"`
1279}
1280
1281func (r *DetectLiveFaceResponse) ToJsonString() string {
1282    b, _ := json.Marshal(r)
1283    return string(b)
1284}
1285
1286// FromJsonString It is highly **NOT** recommended to use this function
1287// because it has no param check, nor strict type check
1288func (r *DetectLiveFaceResponse) FromJsonString(s string) error {
1289	return json.Unmarshal([]byte(s), &r)
1290}
1291
1292type EstimateCheckSimilarPersonCostTimeRequest struct {
1293	*tchttp.BaseRequest
1294
1295	// 待整理的人员库列表。
1296	// 人员库总人数不可超过200万,人员库个数不可超过10个。
1297	GroupIds []*string `json:"GroupIds,omitempty" name:"GroupIds"`
1298}
1299
1300func (r *EstimateCheckSimilarPersonCostTimeRequest) ToJsonString() string {
1301    b, _ := json.Marshal(r)
1302    return string(b)
1303}
1304
1305// FromJsonString It is highly **NOT** recommended to use this function
1306// because it has no param check, nor strict type check
1307func (r *EstimateCheckSimilarPersonCostTimeRequest) FromJsonString(s string) error {
1308	f := make(map[string]interface{})
1309	if err := json.Unmarshal([]byte(s), &f); err != nil {
1310		return err
1311	}
1312	delete(f, "GroupIds")
1313	if len(f) > 0 {
1314		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "EstimateCheckSimilarPersonCostTimeRequest has unknown keys!", "")
1315	}
1316	return json.Unmarshal([]byte(s), &r)
1317}
1318
1319type EstimateCheckSimilarPersonCostTimeResponse struct {
1320	*tchttp.BaseResponse
1321	Response *struct {
1322
1323		// 人员查重任务预估需要耗费时间。 单位为分钟。
1324		EstimatedTimeCost *uint64 `json:"EstimatedTimeCost,omitempty" name:"EstimatedTimeCost"`
1325
1326		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1327		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1328	} `json:"Response"`
1329}
1330
1331func (r *EstimateCheckSimilarPersonCostTimeResponse) ToJsonString() string {
1332    b, _ := json.Marshal(r)
1333    return string(b)
1334}
1335
1336// FromJsonString It is highly **NOT** recommended to use this function
1337// because it has no param check, nor strict type check
1338func (r *EstimateCheckSimilarPersonCostTimeResponse) FromJsonString(s string) error {
1339	return json.Unmarshal([]byte(s), &r)
1340}
1341
1342type Eye struct {
1343
1344	// 识别是否佩戴眼镜。
1345	// AttributeItem对应的Type为 —— 0:无眼镜,1:普通眼镜,2:墨镜
1346	Glass *AttributeItem `json:"Glass,omitempty" name:"Glass"`
1347
1348	// 识别眼睛的睁开、闭合状态。
1349	// AttributeItem对应的Type为 —— 0:睁开,1:闭眼
1350	EyeOpen *AttributeItem `json:"EyeOpen,omitempty" name:"EyeOpen"`
1351
1352	// 识别是否双眼皮。
1353	// AttributeItem对应的Type为 —— 0:无,1:有。
1354	EyelidType *AttributeItem `json:"EyelidType,omitempty" name:"EyelidType"`
1355
1356	// 眼睛大小。
1357	// AttributeItem对应的Type为 —— 0:小眼睛,1:普通眼睛,2:大眼睛。
1358	EyeSize *AttributeItem `json:"EyeSize,omitempty" name:"EyeSize"`
1359}
1360
1361type Eyebrow struct {
1362
1363	// 眉毛浓密。
1364	// AttributeItem对应的Type为 —— 0:淡眉,1:浓眉。
1365	EyebrowDensity *AttributeItem `json:"EyebrowDensity,omitempty" name:"EyebrowDensity"`
1366
1367	// 眉毛弯曲。
1368	// AttributeItem对应的Type为 —— 0:不弯,1:弯眉。
1369	EyebrowCurve *AttributeItem `json:"EyebrowCurve,omitempty" name:"EyebrowCurve"`
1370
1371	// 眉毛长短。
1372	// AttributeItem对应的Type为 —— 0:短眉毛,1:长眉毛。
1373	EyebrowLength *AttributeItem `json:"EyebrowLength,omitempty" name:"EyebrowLength"`
1374}
1375
1376type FaceAttributesInfo struct {
1377
1378	// 性别[0~49]为女性,[50,100]为男性,越接近0和100表示置信度越高。NeedFaceAttributes 不为 1 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1379	Gender *int64 `json:"Gender,omitempty" name:"Gender"`
1380
1381	// 年龄 [0~100]。NeedFaceAttributes 不为1 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1382	Age *int64 `json:"Age,omitempty" name:"Age"`
1383
1384	// 微笑[0(normal,正常)~50(smile,微笑)~100(laugh,大笑)]。NeedFaceAttributes 不为1 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1385	Expression *int64 `json:"Expression,omitempty" name:"Expression"`
1386
1387	// 是否有眼镜 [true,false]。NeedFaceAttributes 不为1 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1388	Glass *bool `json:"Glass,omitempty" name:"Glass"`
1389
1390	// 上下偏移[-30,30],单位角度。NeedFaceAttributes 不为1 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1391	// 建议:人脸入库选择[-10,10]的图片。
1392	Pitch *int64 `json:"Pitch,omitempty" name:"Pitch"`
1393
1394	// 左右偏移[-30,30],单位角度。 NeedFaceAttributes 不为1 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1395	// 建议:人脸入库选择[-10,10]的图片。
1396	Yaw *int64 `json:"Yaw,omitempty" name:"Yaw"`
1397
1398	// 平面旋转[-180,180],单位角度。 NeedFaceAttributes 不为1 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1399	// 建议:人脸入库选择[-20,20]的图片。
1400	Roll *int64 `json:"Roll,omitempty" name:"Roll"`
1401
1402	// 魅力[0~100]。NeedFaceAttributes 不为1 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1403	Beauty *int64 `json:"Beauty,omitempty" name:"Beauty"`
1404
1405	// 是否有帽子 [true,false]。NeedFaceAttributes 不为1 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1406	// 注意:此字段可能返回 null,表示取不到有效值。
1407	Hat *bool `json:"Hat,omitempty" name:"Hat"`
1408
1409	// 是否有口罩 [true,false]。NeedFaceAttributes 不为1 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1410	// 注意:此字段可能返回 null,表示取不到有效值。
1411	Mask *bool `json:"Mask,omitempty" name:"Mask"`
1412
1413	// 头发信息,包含头发长度(length)、有无刘海(bang)、头发颜色(color)。NeedFaceAttributes 不为1 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1414	// 注意:此字段可能返回 null,表示取不到有效值。
1415	Hair *FaceHairAttributesInfo `json:"Hair,omitempty" name:"Hair"`
1416
1417	// 双眼是否睁开 [true,false]。只要有超过一只眼睛闭眼,就返回false。 NeedFaceAttributes 不为1 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1418	// 注意:此字段可能返回 null,表示取不到有效值。
1419	EyeOpen *bool `json:"EyeOpen,omitempty" name:"EyeOpen"`
1420}
1421
1422type FaceDetailAttributesInfo struct {
1423
1424	// 年龄 [0,65],其中65代表“65岁及以上”。
1425	// FaceAttributesType 不为含Age 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1426	Age *int64 `json:"Age,omitempty" name:"Age"`
1427
1428	// 美丑打分[0,100]。
1429	// FaceAttributesType 不含 Beauty 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1430	Beauty *int64 `json:"Beauty,omitempty" name:"Beauty"`
1431
1432	// 情绪,可识别自然、高兴、惊讶、生气、悲伤、厌恶、害怕。
1433	// AttributeItem对应的Type为 —— 0:自然,1:高兴,2:惊讶,3:生气,4:悲伤,5:厌恶,6:害怕
1434	// FaceAttributesType 不含Emotion 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1435	Emotion *AttributeItem `json:"Emotion,omitempty" name:"Emotion"`
1436
1437	// 眼睛相关信息,可识别是否戴眼镜、是否闭眼、是否双眼皮和眼睛大小。
1438	// FaceAttributesType 不含Eye 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1439	Eye *Eye `json:"Eye,omitempty" name:"Eye"`
1440
1441	// 眉毛相关信息,可识别眉毛浓密、弯曲、长短信息。
1442	// FaceAttributesType 不含Eyebrow 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1443	Eyebrow *Eyebrow `json:"Eyebrow,omitempty" name:"Eyebrow"`
1444
1445	// 性别信息。
1446	// AttributeItem对应的Type为 —— 	0:男性,1:女性。
1447	// FaceAttributesType 不含Gender 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1448	Gender *AttributeItem `json:"Gender,omitempty" name:"Gender"`
1449
1450	// 头发信息,包含头发长度、有无刘海、头发颜色。
1451	// FaceAttributesType 不含Hair 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1452	Hair *Hair `json:"Hair,omitempty" name:"Hair"`
1453
1454	// 帽子信息,可识别是否佩戴帽子、帽子款式、帽子颜色。
1455	// FaceAttributesType 不含Hat 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1456	Hat *Hat `json:"Hat,omitempty" name:"Hat"`
1457
1458	// 姿态信息,包含人脸的上下偏移、左右偏移、平面旋转信息。
1459	// FaceAttributesType 不含Headpose 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1460	HeadPose *HeadPose `json:"HeadPose,omitempty" name:"HeadPose"`
1461
1462	// 口罩佩戴信息。
1463	// AttributeItem对应的Type为 —— 0: 无口罩, 1: 有口罩不遮脸,2: 有口罩遮下巴,3: 有口罩遮嘴,4: 正确佩戴口罩。
1464	// FaceAttributesType 不含Mask 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1465	Mask *AttributeItem `json:"Mask,omitempty" name:"Mask"`
1466
1467	// 嘴巴信息,可识别是否张嘴、嘴唇厚度。
1468	// FaceAttributesType 不含 Mouth 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1469	Mouth *Mouth `json:"Mouth,omitempty" name:"Mouth"`
1470
1471	// 胡子信息。
1472	// AttributeItem对应的Type为 —— 0:无胡子,1:有胡子。
1473	// FaceAttributesType 不含 Moustache 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1474	Moustache *AttributeItem `json:"Moustache,omitempty" name:"Moustache"`
1475
1476	// 鼻子信息。
1477	// AttributeItem对应的Type为 —— 0:朝天鼻,1:鹰钩鼻,2:普通,3:圆鼻头
1478	// FaceAttributesType 不含 Nose 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1479	Nose *AttributeItem `json:"Nose,omitempty" name:"Nose"`
1480
1481	// 脸型信息。
1482	// AttributeItem对应的Type为 —— 0:方脸,1:三角脸,2:鹅蛋脸,3:心形脸,4:圆脸。
1483	// FaceAttributesType 不含 Shape 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1484	Shape *AttributeItem `json:"Shape,omitempty" name:"Shape"`
1485
1486	// 肤色信息。
1487	// AttributeItem对应的Type为 —— 0:黄色皮肤,1:棕色皮肤,2:黑色皮肤,3:白色皮肤。
1488	// FaceAttributesType 不含 Skin 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1489	Skin *AttributeItem `json:"Skin,omitempty" name:"Skin"`
1490
1491	// 微笑程度,[0,100]。
1492	// FaceAttributesType 不含 Smile 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。
1493	Smile *int64 `json:"Smile,omitempty" name:"Smile"`
1494}
1495
1496type FaceDetailInfo struct {
1497
1498	// 检测出的人脸框位置。
1499	FaceRect *FaceRect `json:"FaceRect,omitempty" name:"FaceRect"`
1500
1501	// 人脸属性信息,根据 FaceAttributesType 输入的类型,返回年龄(Age)、颜值(Beauty)
1502	// 情绪(Emotion)、眼睛信息(Eye)、眉毛(Eyebrow)、性别(Gender)
1503	// 头发(Hair)、帽子(Hat)、姿态(Headpose)、口罩(Mask)、嘴巴(Mouse)、胡子(Moustache)
1504	// 鼻子(Nose)、脸型(Shape)、肤色(Skin)、微笑(Smile)等人脸属性信息。
1505	// 若 FaceAttributesType 没有输入相关类型,则FaceDetaiAttributesInfo返回的细项不具备参考意义。
1506	FaceDetailAttributesInfo *FaceDetailAttributesInfo `json:"FaceDetailAttributesInfo,omitempty" name:"FaceDetailAttributesInfo"`
1507}
1508
1509type FaceHairAttributesInfo struct {
1510
1511	// 0:光头,1:短发,2:中发,3:长发,4:绑发
1512	// 注意:此字段可能返回 null,表示取不到有效值。
1513	Length *int64 `json:"Length,omitempty" name:"Length"`
1514
1515	// 0:有刘海,1:无刘海
1516	// 注意:此字段可能返回 null,表示取不到有效值。
1517	Bang *int64 `json:"Bang,omitempty" name:"Bang"`
1518
1519	// 0:黑色,1:金色,2:棕色,3:灰白色
1520	// 注意:此字段可能返回 null,表示取不到有效值。
1521	Color *int64 `json:"Color,omitempty" name:"Color"`
1522}
1523
1524type FaceInfo struct {
1525
1526	// 人脸框左上角横坐标。
1527	// 人脸框包含人脸五官位置并在此基础上进行一定的扩展,若人脸框超出图片范围,会导致坐标负值。
1528	// 若需截取完整人脸,可以在完整分completess满足需求的情况下,将负值坐标取0。
1529	X *int64 `json:"X,omitempty" name:"X"`
1530
1531	// 人脸框左上角纵坐标。
1532	// 人脸框包含人脸五官位置并在此基础上进行一定的扩展,若人脸框超出图片范围,会导致坐标负值。
1533	// 若需截取完整人脸,可以在完整分completess满足需求的情况下,将负值坐标取0。
1534	Y *int64 `json:"Y,omitempty" name:"Y"`
1535
1536	// 人脸框宽度。
1537	Width *int64 `json:"Width,omitempty" name:"Width"`
1538
1539	// 人脸框高度。
1540	Height *int64 `json:"Height,omitempty" name:"Height"`
1541
1542	// 人脸属性信息,包含性别( gender )、年龄( age )、表情( expression )、
1543	// 魅力( beauty )、眼镜( glass )、口罩(mask)、头发(hair)和姿态 (pitch,roll,yaw )。只有当 NeedFaceAttributes 设为 1 时才返回有效信息。
1544	FaceAttributesInfo *FaceAttributesInfo `json:"FaceAttributesInfo,omitempty" name:"FaceAttributesInfo"`
1545
1546	// 人脸质量信息,包含质量分(score)、模糊分(sharpness)、光照分(brightness)、遮挡分(completeness)。只有当NeedFaceDetection设为1时才返回有效信息。
1547	// 注意:此字段可能返回 null,表示取不到有效值。
1548	FaceQualityInfo *FaceQualityInfo `json:"FaceQualityInfo,omitempty" name:"FaceQualityInfo"`
1549}
1550
1551type FaceQualityCompleteness struct {
1552
1553	// 眉毛的遮挡分数[0,100],分数越高遮挡越少。
1554	// 参考范围:[0,80]表示发生遮挡。
1555	// 注意:此字段可能返回 null,表示取不到有效值。
1556	Eyebrow *int64 `json:"Eyebrow,omitempty" name:"Eyebrow"`
1557
1558	// 眼睛的遮挡分数[0,100],分数越高遮挡越少。
1559	// 参考范围:[0,80]表示发生遮挡。
1560	// 注意:此字段可能返回 null,表示取不到有效值。
1561	Eye *int64 `json:"Eye,omitempty" name:"Eye"`
1562
1563	// 鼻子的遮挡分数[0,100],分数越高遮挡越少。
1564	// 参考范围:[0,60]表示发生遮挡。
1565	// 注意:此字段可能返回 null,表示取不到有效值。
1566	Nose *int64 `json:"Nose,omitempty" name:"Nose"`
1567
1568	// 脸颊的遮挡分数[0,100],分数越高遮挡越少。
1569	// 参考范围:[0,70]表示发生遮挡。
1570	// 注意:此字段可能返回 null,表示取不到有效值。
1571	Cheek *int64 `json:"Cheek,omitempty" name:"Cheek"`
1572
1573	// 嘴巴的遮挡分数[0,100],分数越高遮挡越少。
1574	// 参考范围:[0,50]表示发生遮挡。
1575	// 注意:此字段可能返回 null,表示取不到有效值。
1576	Mouth *int64 `json:"Mouth,omitempty" name:"Mouth"`
1577
1578	// 下巴的遮挡分数[0,100],分数越高遮挡越少。
1579	// 参考范围:[0,70]表示发生遮挡。
1580	// 注意:此字段可能返回 null,表示取不到有效值。
1581	Chin *int64 `json:"Chin,omitempty" name:"Chin"`
1582}
1583
1584type FaceQualityInfo struct {
1585
1586	// 质量分: [0,100],综合评价图像质量是否适合人脸识别,分数越高质量越好。
1587	// 正常情况,只需要使用Score作为质量分总体的判断标准即可。Sharpness、Brightness、Completeness等细项分仅供参考。
1588	// 参考范围:[0,40]较差,[40,60] 一般,[60,80]较好,[80,100]很好。
1589	// 建议:人脸入库选取70以上的图片。
1590	// 注意:此字段可能返回 null,表示取不到有效值。
1591	Score *int64 `json:"Score,omitempty" name:"Score"`
1592
1593	// 清晰分:[0,100],评价图片清晰程度,分数越高越清晰。
1594	// 参考范围:[0,40]特别模糊,[40,60]模糊,[60,80]一般,[80,100]清晰。
1595	// 建议:人脸入库选取80以上的图片。
1596	// 注意:此字段可能返回 null,表示取不到有效值。
1597	Sharpness *int64 `json:"Sharpness,omitempty" name:"Sharpness"`
1598
1599	// 光照分:[0,100],评价图片光照程度,分数越高越亮。
1600	// 参考范围: [0,30]偏暗,[30,70]光照正常,[70,100]偏亮。
1601	// 建议:人脸入库选取[30,70]的图片。
1602	// 注意:此字段可能返回 null,表示取不到有效值。
1603	Brightness *int64 `json:"Brightness,omitempty" name:"Brightness"`
1604
1605	// 五官遮挡分,评价眉毛(Eyebrow)、眼睛(Eye)、鼻子(Nose)、脸颊(Cheek)、嘴巴(Mouth)、下巴(Chin)的被遮挡程度。
1606	// 注意:此字段可能返回 null,表示取不到有效值。
1607	Completeness *FaceQualityCompleteness `json:"Completeness,omitempty" name:"Completeness"`
1608}
1609
1610type FaceRect struct {
1611
1612	// 人脸框左上角横坐标。
1613	// 人脸框包含人脸五官位置并在此基础上进行一定的扩展,若人脸框超出图片范围,会导致坐标负值。
1614	// 若需截取完整人脸,可以在完整分completess满足需求的情况下,将负值坐标取0。
1615	X *int64 `json:"X,omitempty" name:"X"`
1616
1617	// 人脸框左上角纵坐标。
1618	// 人脸框包含人脸五官位置并在此基础上进行一定的扩展,若人脸框超出图片范围,会导致坐标负值。
1619	// 若需截取完整人脸,可以在完整分completess满足需求的情况下,将负值坐标取0。
1620	Y *int64 `json:"Y,omitempty" name:"Y"`
1621
1622	// 人脸宽度
1623	Width *uint64 `json:"Width,omitempty" name:"Width"`
1624
1625	// 人脸高度
1626	Height *uint64 `json:"Height,omitempty" name:"Height"`
1627}
1628
1629type FaceShape struct {
1630
1631	// 描述脸型轮廓的 21 点。
1632	FaceProfile []*Point `json:"FaceProfile,omitempty" name:"FaceProfile"`
1633
1634	// 描述左侧眼睛轮廓的 8 点。
1635	LeftEye []*Point `json:"LeftEye,omitempty" name:"LeftEye"`
1636
1637	// 描述右侧眼睛轮廓的 8 点。
1638	RightEye []*Point `json:"RightEye,omitempty" name:"RightEye"`
1639
1640	// 描述左侧眉毛轮廓的 8 点。
1641	LeftEyeBrow []*Point `json:"LeftEyeBrow,omitempty" name:"LeftEyeBrow"`
1642
1643	// 描述右侧眉毛轮廓的 8 点。
1644	RightEyeBrow []*Point `json:"RightEyeBrow,omitempty" name:"RightEyeBrow"`
1645
1646	// 描述嘴巴轮廓的 22 点。
1647	Mouth []*Point `json:"Mouth,omitempty" name:"Mouth"`
1648
1649	// 描述鼻子轮廓的 13 点。
1650	Nose []*Point `json:"Nose,omitempty" name:"Nose"`
1651
1652	// 左瞳孔轮廓的 1 个点。
1653	LeftPupil []*Point `json:"LeftPupil,omitempty" name:"LeftPupil"`
1654
1655	// 右瞳孔轮廓的 1 个点。
1656	RightPupil []*Point `json:"RightPupil,omitempty" name:"RightPupil"`
1657}
1658
1659type GetCheckSimilarPersonJobIdListRequest struct {
1660	*tchttp.BaseRequest
1661
1662	// 起始序号,默认值为0。
1663	Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
1664
1665	// 返回数量,默认值为10,最大值为1000。
1666	Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
1667}
1668
1669func (r *GetCheckSimilarPersonJobIdListRequest) ToJsonString() string {
1670    b, _ := json.Marshal(r)
1671    return string(b)
1672}
1673
1674// FromJsonString It is highly **NOT** recommended to use this function
1675// because it has no param check, nor strict type check
1676func (r *GetCheckSimilarPersonJobIdListRequest) FromJsonString(s string) error {
1677	f := make(map[string]interface{})
1678	if err := json.Unmarshal([]byte(s), &f); err != nil {
1679		return err
1680	}
1681	delete(f, "Offset")
1682	delete(f, "Limit")
1683	if len(f) > 0 {
1684		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetCheckSimilarPersonJobIdListRequest has unknown keys!", "")
1685	}
1686	return json.Unmarshal([]byte(s), &r)
1687}
1688
1689type GetCheckSimilarPersonJobIdListResponse struct {
1690	*tchttp.BaseResponse
1691	Response *struct {
1692
1693		// 人员查重任务信息列表。
1694		JobIdInfos []*JobIdInfo `json:"JobIdInfos,omitempty" name:"JobIdInfos"`
1695
1696		// 查重任务总数量。
1697		JobIdNum *uint64 `json:"JobIdNum,omitempty" name:"JobIdNum"`
1698
1699		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1700		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1701	} `json:"Response"`
1702}
1703
1704func (r *GetCheckSimilarPersonJobIdListResponse) ToJsonString() string {
1705    b, _ := json.Marshal(r)
1706    return string(b)
1707}
1708
1709// FromJsonString It is highly **NOT** recommended to use this function
1710// because it has no param check, nor strict type check
1711func (r *GetCheckSimilarPersonJobIdListResponse) FromJsonString(s string) error {
1712	return json.Unmarshal([]byte(s), &r)
1713}
1714
1715type GetGroupInfoRequest struct {
1716	*tchttp.BaseRequest
1717
1718	// 人员库 ID。
1719	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
1720}
1721
1722func (r *GetGroupInfoRequest) ToJsonString() string {
1723    b, _ := json.Marshal(r)
1724    return string(b)
1725}
1726
1727// FromJsonString It is highly **NOT** recommended to use this function
1728// because it has no param check, nor strict type check
1729func (r *GetGroupInfoRequest) FromJsonString(s string) error {
1730	f := make(map[string]interface{})
1731	if err := json.Unmarshal([]byte(s), &f); err != nil {
1732		return err
1733	}
1734	delete(f, "GroupId")
1735	if len(f) > 0 {
1736		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetGroupInfoRequest has unknown keys!", "")
1737	}
1738	return json.Unmarshal([]byte(s), &r)
1739}
1740
1741type GetGroupInfoResponse struct {
1742	*tchttp.BaseResponse
1743	Response *struct {
1744
1745		// 人员库名称
1746		GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
1747
1748		// 人员库ID
1749		GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
1750
1751		// 人员库自定义描述字段
1752		GroupExDescriptions []*string `json:"GroupExDescriptions,omitempty" name:"GroupExDescriptions"`
1753
1754		// 人员库信息备注
1755		Tag *string `json:"Tag,omitempty" name:"Tag"`
1756
1757		// 人脸识别所用的算法模型版本。
1758		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
1759
1760		// Group的创建时间和日期 CreationTimestamp。CreationTimestamp 的值是自 Unix 纪元时间到Group创建时间的毫秒数。
1761		CreationTimestamp *uint64 `json:"CreationTimestamp,omitempty" name:"CreationTimestamp"`
1762
1763		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1764		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1765	} `json:"Response"`
1766}
1767
1768func (r *GetGroupInfoResponse) ToJsonString() string {
1769    b, _ := json.Marshal(r)
1770    return string(b)
1771}
1772
1773// FromJsonString It is highly **NOT** recommended to use this function
1774// because it has no param check, nor strict type check
1775func (r *GetGroupInfoResponse) FromJsonString(s string) error {
1776	return json.Unmarshal([]byte(s), &r)
1777}
1778
1779type GetGroupListRequest struct {
1780	*tchttp.BaseRequest
1781
1782	// 起始序号,默认值为0
1783	Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
1784
1785	// 返回数量,默认值为10,最大值为1000
1786	Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
1787}
1788
1789func (r *GetGroupListRequest) ToJsonString() string {
1790    b, _ := json.Marshal(r)
1791    return string(b)
1792}
1793
1794// FromJsonString It is highly **NOT** recommended to use this function
1795// because it has no param check, nor strict type check
1796func (r *GetGroupListRequest) FromJsonString(s string) error {
1797	f := make(map[string]interface{})
1798	if err := json.Unmarshal([]byte(s), &f); err != nil {
1799		return err
1800	}
1801	delete(f, "Offset")
1802	delete(f, "Limit")
1803	if len(f) > 0 {
1804		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetGroupListRequest has unknown keys!", "")
1805	}
1806	return json.Unmarshal([]byte(s), &r)
1807}
1808
1809type GetGroupListResponse struct {
1810	*tchttp.BaseResponse
1811	Response *struct {
1812
1813		// 返回的人员库信息
1814		GroupInfos []*GroupInfo `json:"GroupInfos,omitempty" name:"GroupInfos"`
1815
1816		// 人员库总数量
1817	// 注意:此字段可能返回 null,表示取不到有效值。
1818		GroupNum *uint64 `json:"GroupNum,omitempty" name:"GroupNum"`
1819
1820		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1821		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1822	} `json:"Response"`
1823}
1824
1825func (r *GetGroupListResponse) ToJsonString() string {
1826    b, _ := json.Marshal(r)
1827    return string(b)
1828}
1829
1830// FromJsonString It is highly **NOT** recommended to use this function
1831// because it has no param check, nor strict type check
1832func (r *GetGroupListResponse) FromJsonString(s string) error {
1833	return json.Unmarshal([]byte(s), &r)
1834}
1835
1836type GetPersonBaseInfoRequest struct {
1837	*tchttp.BaseRequest
1838
1839	// 人员ID
1840	PersonId *string `json:"PersonId,omitempty" name:"PersonId"`
1841}
1842
1843func (r *GetPersonBaseInfoRequest) ToJsonString() string {
1844    b, _ := json.Marshal(r)
1845    return string(b)
1846}
1847
1848// FromJsonString It is highly **NOT** recommended to use this function
1849// because it has no param check, nor strict type check
1850func (r *GetPersonBaseInfoRequest) FromJsonString(s string) error {
1851	f := make(map[string]interface{})
1852	if err := json.Unmarshal([]byte(s), &f); err != nil {
1853		return err
1854	}
1855	delete(f, "PersonId")
1856	if len(f) > 0 {
1857		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetPersonBaseInfoRequest has unknown keys!", "")
1858	}
1859	return json.Unmarshal([]byte(s), &r)
1860}
1861
1862type GetPersonBaseInfoResponse struct {
1863	*tchttp.BaseResponse
1864	Response *struct {
1865
1866		// 人员名称
1867		PersonName *string `json:"PersonName,omitempty" name:"PersonName"`
1868
1869		// 人员性别
1870		Gender *int64 `json:"Gender,omitempty" name:"Gender"`
1871
1872		// 包含的人脸 ID 列表
1873		FaceIds []*string `json:"FaceIds,omitempty" name:"FaceIds"`
1874
1875		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1876		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1877	} `json:"Response"`
1878}
1879
1880func (r *GetPersonBaseInfoResponse) ToJsonString() string {
1881    b, _ := json.Marshal(r)
1882    return string(b)
1883}
1884
1885// FromJsonString It is highly **NOT** recommended to use this function
1886// because it has no param check, nor strict type check
1887func (r *GetPersonBaseInfoResponse) FromJsonString(s string) error {
1888	return json.Unmarshal([]byte(s), &r)
1889}
1890
1891type GetPersonGroupInfoRequest struct {
1892	*tchttp.BaseRequest
1893
1894	// 人员ID
1895	PersonId *string `json:"PersonId,omitempty" name:"PersonId"`
1896
1897	// 起始序号,默认值为0
1898	Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
1899
1900	// 返回数量,默认值为10,最大值为100
1901	Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
1902}
1903
1904func (r *GetPersonGroupInfoRequest) ToJsonString() string {
1905    b, _ := json.Marshal(r)
1906    return string(b)
1907}
1908
1909// FromJsonString It is highly **NOT** recommended to use this function
1910// because it has no param check, nor strict type check
1911func (r *GetPersonGroupInfoRequest) FromJsonString(s string) error {
1912	f := make(map[string]interface{})
1913	if err := json.Unmarshal([]byte(s), &f); err != nil {
1914		return err
1915	}
1916	delete(f, "PersonId")
1917	delete(f, "Offset")
1918	delete(f, "Limit")
1919	if len(f) > 0 {
1920		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetPersonGroupInfoRequest has unknown keys!", "")
1921	}
1922	return json.Unmarshal([]byte(s), &r)
1923}
1924
1925type GetPersonGroupInfoResponse struct {
1926	*tchttp.BaseResponse
1927	Response *struct {
1928
1929		// 包含此人员的人员库及描述字段内容列表
1930		PersonGroupInfos []*PersonGroupInfo `json:"PersonGroupInfos,omitempty" name:"PersonGroupInfos"`
1931
1932		// 人员库总数量
1933	// 注意:此字段可能返回 null,表示取不到有效值。
1934		GroupNum *uint64 `json:"GroupNum,omitempty" name:"GroupNum"`
1935
1936		// 人脸识别服务所用的算法模型版本。
1937	// 注意:此字段可能返回 null,表示取不到有效值。
1938		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
1939
1940		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1941		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1942	} `json:"Response"`
1943}
1944
1945func (r *GetPersonGroupInfoResponse) ToJsonString() string {
1946    b, _ := json.Marshal(r)
1947    return string(b)
1948}
1949
1950// FromJsonString It is highly **NOT** recommended to use this function
1951// because it has no param check, nor strict type check
1952func (r *GetPersonGroupInfoResponse) FromJsonString(s string) error {
1953	return json.Unmarshal([]byte(s), &r)
1954}
1955
1956type GetPersonListNumRequest struct {
1957	*tchttp.BaseRequest
1958
1959	// 人员库ID
1960	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
1961}
1962
1963func (r *GetPersonListNumRequest) ToJsonString() string {
1964    b, _ := json.Marshal(r)
1965    return string(b)
1966}
1967
1968// FromJsonString It is highly **NOT** recommended to use this function
1969// because it has no param check, nor strict type check
1970func (r *GetPersonListNumRequest) FromJsonString(s string) error {
1971	f := make(map[string]interface{})
1972	if err := json.Unmarshal([]byte(s), &f); err != nil {
1973		return err
1974	}
1975	delete(f, "GroupId")
1976	if len(f) > 0 {
1977		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetPersonListNumRequest has unknown keys!", "")
1978	}
1979	return json.Unmarshal([]byte(s), &r)
1980}
1981
1982type GetPersonListNumResponse struct {
1983	*tchttp.BaseResponse
1984	Response *struct {
1985
1986		// 人员数量
1987		PersonNum *uint64 `json:"PersonNum,omitempty" name:"PersonNum"`
1988
1989		// 人脸数量
1990		FaceNum *uint64 `json:"FaceNum,omitempty" name:"FaceNum"`
1991
1992		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1993		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1994	} `json:"Response"`
1995}
1996
1997func (r *GetPersonListNumResponse) ToJsonString() string {
1998    b, _ := json.Marshal(r)
1999    return string(b)
2000}
2001
2002// FromJsonString It is highly **NOT** recommended to use this function
2003// because it has no param check, nor strict type check
2004func (r *GetPersonListNumResponse) FromJsonString(s string) error {
2005	return json.Unmarshal([]byte(s), &r)
2006}
2007
2008type GetPersonListRequest struct {
2009	*tchttp.BaseRequest
2010
2011	// 人员库ID
2012	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
2013
2014	// 起始序号,默认值为0
2015	Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
2016
2017	// 返回数量,默认值为10,最大值为1000
2018	Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
2019}
2020
2021func (r *GetPersonListRequest) ToJsonString() string {
2022    b, _ := json.Marshal(r)
2023    return string(b)
2024}
2025
2026// FromJsonString It is highly **NOT** recommended to use this function
2027// because it has no param check, nor strict type check
2028func (r *GetPersonListRequest) FromJsonString(s string) error {
2029	f := make(map[string]interface{})
2030	if err := json.Unmarshal([]byte(s), &f); err != nil {
2031		return err
2032	}
2033	delete(f, "GroupId")
2034	delete(f, "Offset")
2035	delete(f, "Limit")
2036	if len(f) > 0 {
2037		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetPersonListRequest has unknown keys!", "")
2038	}
2039	return json.Unmarshal([]byte(s), &r)
2040}
2041
2042type GetPersonListResponse struct {
2043	*tchttp.BaseResponse
2044	Response *struct {
2045
2046		// 返回的人员信息
2047		PersonInfos []*PersonInfo `json:"PersonInfos,omitempty" name:"PersonInfos"`
2048
2049		// 该人员库的人员数量
2050	// 注意:此字段可能返回 null,表示取不到有效值。
2051		PersonNum *uint64 `json:"PersonNum,omitempty" name:"PersonNum"`
2052
2053		// 该人员库的人脸数量
2054	// 注意:此字段可能返回 null,表示取不到有效值。
2055		FaceNum *uint64 `json:"FaceNum,omitempty" name:"FaceNum"`
2056
2057		// 人脸识别所用的算法模型版本。
2058	// 注意:此字段可能返回 null,表示取不到有效值。
2059		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
2060
2061		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2062		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2063	} `json:"Response"`
2064}
2065
2066func (r *GetPersonListResponse) ToJsonString() string {
2067    b, _ := json.Marshal(r)
2068    return string(b)
2069}
2070
2071// FromJsonString It is highly **NOT** recommended to use this function
2072// because it has no param check, nor strict type check
2073func (r *GetPersonListResponse) FromJsonString(s string) error {
2074	return json.Unmarshal([]byte(s), &r)
2075}
2076
2077type GetSimilarPersonResultRequest struct {
2078	*tchttp.BaseRequest
2079
2080	// 查重任务ID,用于查询、获取查重的进度和结果。
2081	JobId *string `json:"JobId,omitempty" name:"JobId"`
2082}
2083
2084func (r *GetSimilarPersonResultRequest) ToJsonString() string {
2085    b, _ := json.Marshal(r)
2086    return string(b)
2087}
2088
2089// FromJsonString It is highly **NOT** recommended to use this function
2090// because it has no param check, nor strict type check
2091func (r *GetSimilarPersonResultRequest) FromJsonString(s string) error {
2092	f := make(map[string]interface{})
2093	if err := json.Unmarshal([]byte(s), &f); err != nil {
2094		return err
2095	}
2096	delete(f, "JobId")
2097	if len(f) > 0 {
2098		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetSimilarPersonResultRequest has unknown keys!", "")
2099	}
2100	return json.Unmarshal([]byte(s), &r)
2101}
2102
2103type GetSimilarPersonResultResponse struct {
2104	*tchttp.BaseResponse
2105	Response *struct {
2106
2107		// 查重任务完成进度。取值[0.0,100.0]。当且仅当值为100时,SimilarPersons才有意义。
2108		Progress *float64 `json:"Progress,omitempty" name:"Progress"`
2109
2110		// 疑似同一人的人员信息文件临时下载链接, 有效时间为5分钟,结果文件实际保存90天。
2111	// 文件内容由 SimilarPerson 的数组组成。
2112		SimilarPersonsUrl *string `json:"SimilarPersonsUrl,omitempty" name:"SimilarPersonsUrl"`
2113
2114		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2115		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2116	} `json:"Response"`
2117}
2118
2119func (r *GetSimilarPersonResultResponse) ToJsonString() string {
2120    b, _ := json.Marshal(r)
2121    return string(b)
2122}
2123
2124// FromJsonString It is highly **NOT** recommended to use this function
2125// because it has no param check, nor strict type check
2126func (r *GetSimilarPersonResultResponse) FromJsonString(s string) error {
2127	return json.Unmarshal([]byte(s), &r)
2128}
2129
2130type GetUpgradeGroupFaceModelVersionJobListRequest struct {
2131	*tchttp.BaseRequest
2132
2133	// 起始序号,默认值为0。
2134	Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
2135
2136	// 返回数量,默认值为10,最大值为1000。
2137	Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
2138}
2139
2140func (r *GetUpgradeGroupFaceModelVersionJobListRequest) ToJsonString() string {
2141    b, _ := json.Marshal(r)
2142    return string(b)
2143}
2144
2145// FromJsonString It is highly **NOT** recommended to use this function
2146// because it has no param check, nor strict type check
2147func (r *GetUpgradeGroupFaceModelVersionJobListRequest) FromJsonString(s string) error {
2148	f := make(map[string]interface{})
2149	if err := json.Unmarshal([]byte(s), &f); err != nil {
2150		return err
2151	}
2152	delete(f, "Offset")
2153	delete(f, "Limit")
2154	if len(f) > 0 {
2155		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetUpgradeGroupFaceModelVersionJobListRequest has unknown keys!", "")
2156	}
2157	return json.Unmarshal([]byte(s), &r)
2158}
2159
2160type GetUpgradeGroupFaceModelVersionJobListResponse struct {
2161	*tchttp.BaseResponse
2162	Response *struct {
2163
2164		// 人员库升级任务信息列表。
2165		JobInfos []*UpgradeJobInfo `json:"JobInfos,omitempty" name:"JobInfos"`
2166
2167		// 升级任务总数量。
2168		JobNum *uint64 `json:"JobNum,omitempty" name:"JobNum"`
2169
2170		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2171		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2172	} `json:"Response"`
2173}
2174
2175func (r *GetUpgradeGroupFaceModelVersionJobListResponse) ToJsonString() string {
2176    b, _ := json.Marshal(r)
2177    return string(b)
2178}
2179
2180// FromJsonString It is highly **NOT** recommended to use this function
2181// because it has no param check, nor strict type check
2182func (r *GetUpgradeGroupFaceModelVersionJobListResponse) FromJsonString(s string) error {
2183	return json.Unmarshal([]byte(s), &r)
2184}
2185
2186type GetUpgradeGroupFaceModelVersionResultRequest struct {
2187	*tchttp.BaseRequest
2188
2189	// 升级任务ID,用于查询、获取人员库升级的进度和结果。
2190	JobId *string `json:"JobId,omitempty" name:"JobId"`
2191}
2192
2193func (r *GetUpgradeGroupFaceModelVersionResultRequest) ToJsonString() string {
2194    b, _ := json.Marshal(r)
2195    return string(b)
2196}
2197
2198// FromJsonString It is highly **NOT** recommended to use this function
2199// because it has no param check, nor strict type check
2200func (r *GetUpgradeGroupFaceModelVersionResultRequest) FromJsonString(s string) error {
2201	f := make(map[string]interface{})
2202	if err := json.Unmarshal([]byte(s), &f); err != nil {
2203		return err
2204	}
2205	delete(f, "JobId")
2206	if len(f) > 0 {
2207		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetUpgradeGroupFaceModelVersionResultRequest has unknown keys!", "")
2208	}
2209	return json.Unmarshal([]byte(s), &r)
2210}
2211
2212type GetUpgradeGroupFaceModelVersionResultResponse struct {
2213	*tchttp.BaseResponse
2214	Response *struct {
2215
2216		// 人员升级任务预估结束时间。 StartTimestamp的值是自 Unix 纪元时间到人员查重任务预估结束的毫秒数。
2217	// Unix 纪元时间是 1970 年 1 月 1 日星期四,协调世界时 (UTC) 00:00:00。
2218	// 如果为0表示这个任务已经执行完毕。
2219		EndTimestamp *uint64 `json:"EndTimestamp,omitempty" name:"EndTimestamp"`
2220
2221		// 升级任务完成进度。取值[0.0,100.0]。
2222		Progress *float64 `json:"Progress,omitempty" name:"Progress"`
2223
2224		// 0表示升级中,1表示升级完毕,2表示回滚完毕。
2225		Status *int64 `json:"Status,omitempty" name:"Status"`
2226
2227		// 升级起始时间。
2228	// StartTime的值是自 Unix 纪元时间到Group创建时间的毫秒数。
2229	// Unix 纪元时间是 1970 年 1 月 1 日星期四,协调世界时 (UTC) 00:00:00。
2230	// 有关更多信息,请参阅 Unix 时间。
2231		StartTime *uint64 `json:"StartTime,omitempty" name:"StartTime"`
2232
2233		// 当前算法模型版本。
2234		FromFaceModelVersion *string `json:"FromFaceModelVersion,omitempty" name:"FromFaceModelVersion"`
2235
2236		// 目标算法模型版本。
2237		ToFaceModelVersion *string `json:"ToFaceModelVersion,omitempty" name:"ToFaceModelVersion"`
2238
2239		// 人员库ID。
2240		GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
2241
2242		// 无法升级的人脸Id信息,文件格式为json。半小时有效
2243		FailedFacesUrl *string `json:"FailedFacesUrl,omitempty" name:"FailedFacesUrl"`
2244
2245		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2246		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2247	} `json:"Response"`
2248}
2249
2250func (r *GetUpgradeGroupFaceModelVersionResultResponse) ToJsonString() string {
2251    b, _ := json.Marshal(r)
2252    return string(b)
2253}
2254
2255// FromJsonString It is highly **NOT** recommended to use this function
2256// because it has no param check, nor strict type check
2257func (r *GetUpgradeGroupFaceModelVersionResultResponse) FromJsonString(s string) error {
2258	return json.Unmarshal([]byte(s), &r)
2259}
2260
2261type GroupCandidate struct {
2262
2263	// 人员库ID 。
2264	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
2265
2266	// 识别出的最相似候选人。
2267	Candidates []*Candidate `json:"Candidates,omitempty" name:"Candidates"`
2268}
2269
2270type GroupExDescriptionInfo struct {
2271
2272	// 人员库自定义描述字段Index,从0开始
2273	// 注意:此字段可能返回 null,表示取不到有效值。
2274	GroupExDescriptionIndex *uint64 `json:"GroupExDescriptionIndex,omitempty" name:"GroupExDescriptionIndex"`
2275
2276	// 需要更新的人员库自定义描述字段内容
2277	GroupExDescription *string `json:"GroupExDescription,omitempty" name:"GroupExDescription"`
2278}
2279
2280type GroupInfo struct {
2281
2282	// 人员库名称
2283	GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
2284
2285	// 人员库ID
2286	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
2287
2288	// 人员库自定义描述字段
2289	// 注意:此字段可能返回 null,表示取不到有效值。
2290	GroupExDescriptions []*string `json:"GroupExDescriptions,omitempty" name:"GroupExDescriptions"`
2291
2292	// 人员库信息备注
2293	// 注意:此字段可能返回 null,表示取不到有效值。
2294	Tag *string `json:"Tag,omitempty" name:"Tag"`
2295
2296	// 人脸识别所用的算法模型版本。
2297	// 注意:此字段可能返回 null,表示取不到有效值。
2298	FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
2299
2300	// Group的创建时间和日期 CreationTimestamp。CreationTimestamp 的值是自 Unix 纪元时间到Group创建时间的毫秒数。
2301	// Unix 纪元时间是 1970 年 1 月 1 日星期四,协调世界时 (UTC) 00:00:00。有关更多信息,请参阅 Unix 时间。
2302	// 注意:此字段可能返回 null,表示取不到有效值。
2303	CreationTimestamp *uint64 `json:"CreationTimestamp,omitempty" name:"CreationTimestamp"`
2304}
2305
2306type Hair struct {
2307
2308	// 头发长度信息。
2309	// AttributeItem对应的Type为 —— 0:光头,1:短发,2:中发,3:长发,4:绑发。
2310	Length *AttributeItem `json:"Length,omitempty" name:"Length"`
2311
2312	// 刘海信息。
2313	// AttributeItem对应的Type为 —— 0:无刘海,1:有刘海。
2314	Bang *AttributeItem `json:"Bang,omitempty" name:"Bang"`
2315
2316	// 头发颜色信息。
2317	// AttributeItem对应的Type为 —— 0:黑色,1:金色,2:棕色,3:灰白色。
2318	Color *AttributeItem `json:"Color,omitempty" name:"Color"`
2319}
2320
2321type Hat struct {
2322
2323	// 帽子佩戴状态信息。
2324	// AttributeItem对应的Type为 —— 0:不戴帽子,1:普通帽子,2:头盔,3:保安帽。
2325	Style *AttributeItem `json:"Style,omitempty" name:"Style"`
2326
2327	// 帽子颜色。
2328	// AttributeItem对应的Type为 —— 0:不戴帽子,1:红色系,2:黄色系,3:蓝色系,4:黑色系,5:灰白色系,6:混色系子。
2329	Color *AttributeItem `json:"Color,omitempty" name:"Color"`
2330}
2331
2332type HeadPose struct {
2333
2334	// 上下偏移[-30,30]。
2335	Pitch *int64 `json:"Pitch,omitempty" name:"Pitch"`
2336
2337	// 左右偏移[-30,30]。
2338	Yaw *int64 `json:"Yaw,omitempty" name:"Yaw"`
2339
2340	// 平面旋转[-180,180]。
2341	Roll *int64 `json:"Roll,omitempty" name:"Roll"`
2342}
2343
2344type JobIdInfo struct {
2345
2346	// 查重任务ID,用于查询、获取查重的进度和结果。
2347	JobId *string `json:"JobId,omitempty" name:"JobId"`
2348
2349	// 查重起始时间。
2350	// StartTime的值是自 Unix 纪元时间到Group创建时间的毫秒数。
2351	// Unix 纪元时间是 1970 年 1 月 1 日星期四,协调世界时 (UTC) 00:00:00。
2352	// 有关更多信息,请参阅 Unix 时间。
2353	StartTime *uint64 `json:"StartTime,omitempty" name:"StartTime"`
2354
2355	// 查重任务是否已完成。0: 成功 1: 未完成 2: 失败
2356	JobStatus *int64 `json:"JobStatus,omitempty" name:"JobStatus"`
2357}
2358
2359type ModifyGroupRequest struct {
2360	*tchttp.BaseRequest
2361
2362	// 人员库ID
2363	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
2364
2365	// 人员库名称
2366	GroupName *string `json:"GroupName,omitempty" name:"GroupName"`
2367
2368	// 需要修改的人员库自定义描述字段,key-value
2369	GroupExDescriptionInfos []*GroupExDescriptionInfo `json:"GroupExDescriptionInfos,omitempty" name:"GroupExDescriptionInfos"`
2370
2371	// 人员库信息备注
2372	Tag *string `json:"Tag,omitempty" name:"Tag"`
2373}
2374
2375func (r *ModifyGroupRequest) ToJsonString() string {
2376    b, _ := json.Marshal(r)
2377    return string(b)
2378}
2379
2380// FromJsonString It is highly **NOT** recommended to use this function
2381// because it has no param check, nor strict type check
2382func (r *ModifyGroupRequest) FromJsonString(s string) error {
2383	f := make(map[string]interface{})
2384	if err := json.Unmarshal([]byte(s), &f); err != nil {
2385		return err
2386	}
2387	delete(f, "GroupId")
2388	delete(f, "GroupName")
2389	delete(f, "GroupExDescriptionInfos")
2390	delete(f, "Tag")
2391	if len(f) > 0 {
2392		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyGroupRequest has unknown keys!", "")
2393	}
2394	return json.Unmarshal([]byte(s), &r)
2395}
2396
2397type ModifyGroupResponse struct {
2398	*tchttp.BaseResponse
2399	Response *struct {
2400
2401		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2402		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2403	} `json:"Response"`
2404}
2405
2406func (r *ModifyGroupResponse) ToJsonString() string {
2407    b, _ := json.Marshal(r)
2408    return string(b)
2409}
2410
2411// FromJsonString It is highly **NOT** recommended to use this function
2412// because it has no param check, nor strict type check
2413func (r *ModifyGroupResponse) FromJsonString(s string) error {
2414	return json.Unmarshal([]byte(s), &r)
2415}
2416
2417type ModifyPersonBaseInfoRequest struct {
2418	*tchttp.BaseRequest
2419
2420	// 人员ID
2421	PersonId *string `json:"PersonId,omitempty" name:"PersonId"`
2422
2423	// 需要修改的人员名称
2424	PersonName *string `json:"PersonName,omitempty" name:"PersonName"`
2425
2426	// 需要修改的人员性别
2427	Gender *int64 `json:"Gender,omitempty" name:"Gender"`
2428}
2429
2430func (r *ModifyPersonBaseInfoRequest) ToJsonString() string {
2431    b, _ := json.Marshal(r)
2432    return string(b)
2433}
2434
2435// FromJsonString It is highly **NOT** recommended to use this function
2436// because it has no param check, nor strict type check
2437func (r *ModifyPersonBaseInfoRequest) FromJsonString(s string) error {
2438	f := make(map[string]interface{})
2439	if err := json.Unmarshal([]byte(s), &f); err != nil {
2440		return err
2441	}
2442	delete(f, "PersonId")
2443	delete(f, "PersonName")
2444	delete(f, "Gender")
2445	if len(f) > 0 {
2446		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyPersonBaseInfoRequest has unknown keys!", "")
2447	}
2448	return json.Unmarshal([]byte(s), &r)
2449}
2450
2451type ModifyPersonBaseInfoResponse struct {
2452	*tchttp.BaseResponse
2453	Response *struct {
2454
2455		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2456		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2457	} `json:"Response"`
2458}
2459
2460func (r *ModifyPersonBaseInfoResponse) ToJsonString() string {
2461    b, _ := json.Marshal(r)
2462    return string(b)
2463}
2464
2465// FromJsonString It is highly **NOT** recommended to use this function
2466// because it has no param check, nor strict type check
2467func (r *ModifyPersonBaseInfoResponse) FromJsonString(s string) error {
2468	return json.Unmarshal([]byte(s), &r)
2469}
2470
2471type ModifyPersonGroupInfoRequest struct {
2472	*tchttp.BaseRequest
2473
2474	// 人员库ID
2475	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
2476
2477	// 人员ID
2478	PersonId *string `json:"PersonId,omitempty" name:"PersonId"`
2479
2480	// 需要修改的人员描述字段内容,key-value
2481	PersonExDescriptionInfos []*PersonExDescriptionInfo `json:"PersonExDescriptionInfos,omitempty" name:"PersonExDescriptionInfos"`
2482}
2483
2484func (r *ModifyPersonGroupInfoRequest) ToJsonString() string {
2485    b, _ := json.Marshal(r)
2486    return string(b)
2487}
2488
2489// FromJsonString It is highly **NOT** recommended to use this function
2490// because it has no param check, nor strict type check
2491func (r *ModifyPersonGroupInfoRequest) FromJsonString(s string) error {
2492	f := make(map[string]interface{})
2493	if err := json.Unmarshal([]byte(s), &f); err != nil {
2494		return err
2495	}
2496	delete(f, "GroupId")
2497	delete(f, "PersonId")
2498	delete(f, "PersonExDescriptionInfos")
2499	if len(f) > 0 {
2500		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyPersonGroupInfoRequest has unknown keys!", "")
2501	}
2502	return json.Unmarshal([]byte(s), &r)
2503}
2504
2505type ModifyPersonGroupInfoResponse struct {
2506	*tchttp.BaseResponse
2507	Response *struct {
2508
2509		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2510		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2511	} `json:"Response"`
2512}
2513
2514func (r *ModifyPersonGroupInfoResponse) ToJsonString() string {
2515    b, _ := json.Marshal(r)
2516    return string(b)
2517}
2518
2519// FromJsonString It is highly **NOT** recommended to use this function
2520// because it has no param check, nor strict type check
2521func (r *ModifyPersonGroupInfoResponse) FromJsonString(s string) error {
2522	return json.Unmarshal([]byte(s), &r)
2523}
2524
2525type Mouth struct {
2526
2527	// 是否张嘴信息。
2528	// AttributeItem对应的Type为 —— 0:不张嘴,1:张嘴。
2529	MouthOpen *AttributeItem `json:"MouthOpen,omitempty" name:"MouthOpen"`
2530}
2531
2532type PersonExDescriptionInfo struct {
2533
2534	// 人员描述字段Index,从0开始
2535	// 注意:此字段可能返回 null,表示取不到有效值。
2536	PersonExDescriptionIndex *uint64 `json:"PersonExDescriptionIndex,omitempty" name:"PersonExDescriptionIndex"`
2537
2538	// 需要更新的人员描述字段内容
2539	PersonExDescription *string `json:"PersonExDescription,omitempty" name:"PersonExDescription"`
2540}
2541
2542type PersonGroupInfo struct {
2543
2544	// 包含此人员的人员库ID
2545	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
2546
2547	// 人员描述字段内容
2548	PersonExDescriptions []*string `json:"PersonExDescriptions,omitempty" name:"PersonExDescriptions"`
2549}
2550
2551type PersonInfo struct {
2552
2553	// 人员名称
2554	PersonName *string `json:"PersonName,omitempty" name:"PersonName"`
2555
2556	// 人员Id
2557	PersonId *string `json:"PersonId,omitempty" name:"PersonId"`
2558
2559	// 人员性别
2560	Gender *int64 `json:"Gender,omitempty" name:"Gender"`
2561
2562	// 人员描述字段内容
2563	PersonExDescriptions []*string `json:"PersonExDescriptions,omitempty" name:"PersonExDescriptions"`
2564
2565	// 包含的人脸照片列表
2566	FaceIds []*string `json:"FaceIds,omitempty" name:"FaceIds"`
2567
2568	// 人员的创建时间和日期 CreationTimestamp。CreationTimestamp 的值是自 Unix 纪元时间到Group创建时间的毫秒数。
2569	// Unix 纪元时间是 1970 年 1 月 1 日星期四,协调世界时 (UTC) 00:00:00。有关更多信息,请参阅 Unix 时间。
2570	CreationTimestamp *uint64 `json:"CreationTimestamp,omitempty" name:"CreationTimestamp"`
2571}
2572
2573type Point struct {
2574
2575	// x坐标
2576	X *int64 `json:"X,omitempty" name:"X"`
2577
2578	// Y坐标
2579	Y *int64 `json:"Y,omitempty" name:"Y"`
2580}
2581
2582type Result struct {
2583
2584	// 识别出的最相似候选人
2585	Candidates []*Candidate `json:"Candidates,omitempty" name:"Candidates"`
2586
2587	// 检测出的人脸框位置
2588	FaceRect *FaceRect `json:"FaceRect,omitempty" name:"FaceRect"`
2589
2590	// 检测出的人脸图片状态返回码。0 表示正常。
2591	// -1601代表不符合图片质量控制要求,此时Candidate内容为空。
2592	RetCode *int64 `json:"RetCode,omitempty" name:"RetCode"`
2593}
2594
2595type ResultsReturnsByGroup struct {
2596
2597	// 检测出的人脸框位置。
2598	FaceRect *FaceRect `json:"FaceRect,omitempty" name:"FaceRect"`
2599
2600	// 识别结果。
2601	GroupCandidates []*GroupCandidate `json:"GroupCandidates,omitempty" name:"GroupCandidates"`
2602
2603	// 检测出的人脸图片状态返回码。0 表示正常。
2604	// -1601代表不符合图片质量控制要求,此时Candidate内容为空。
2605	RetCode *int64 `json:"RetCode,omitempty" name:"RetCode"`
2606}
2607
2608type RevertGroupFaceModelVersionRequest struct {
2609	*tchttp.BaseRequest
2610
2611	// 需要回滚的升级任务ID。
2612	JobId *string `json:"JobId,omitempty" name:"JobId"`
2613}
2614
2615func (r *RevertGroupFaceModelVersionRequest) ToJsonString() string {
2616    b, _ := json.Marshal(r)
2617    return string(b)
2618}
2619
2620// FromJsonString It is highly **NOT** recommended to use this function
2621// because it has no param check, nor strict type check
2622func (r *RevertGroupFaceModelVersionRequest) FromJsonString(s string) error {
2623	f := make(map[string]interface{})
2624	if err := json.Unmarshal([]byte(s), &f); err != nil {
2625		return err
2626	}
2627	delete(f, "JobId")
2628	if len(f) > 0 {
2629		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RevertGroupFaceModelVersionRequest has unknown keys!", "")
2630	}
2631	return json.Unmarshal([]byte(s), &r)
2632}
2633
2634type RevertGroupFaceModelVersionResponse struct {
2635	*tchttp.BaseResponse
2636	Response *struct {
2637
2638		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2639		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2640	} `json:"Response"`
2641}
2642
2643func (r *RevertGroupFaceModelVersionResponse) ToJsonString() string {
2644    b, _ := json.Marshal(r)
2645    return string(b)
2646}
2647
2648// FromJsonString It is highly **NOT** recommended to use this function
2649// because it has no param check, nor strict type check
2650func (r *RevertGroupFaceModelVersionResponse) FromJsonString(s string) error {
2651	return json.Unmarshal([]byte(s), &r)
2652}
2653
2654type SearchFacesRequest struct {
2655	*tchttp.BaseRequest
2656
2657	// 希望搜索的人员库列表,上限100个。
2658	GroupIds []*string `json:"GroupIds,omitempty" name:"GroupIds"`
2659
2660	// 图片 base64 数据,base64 编码后大小不可超过5M。
2661	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
2662	Image *string `json:"Image,omitempty" name:"Image"`
2663
2664	// 图片的 Url 。对应图片 base64 编码后大小不可超过5M。
2665	// Url、Image必须提供一个,如果都提供,只使用 Url。
2666	// 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
2667	// 非腾讯云存储的Url速度和稳定性可能受一定影响。
2668	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
2669	Url *string `json:"Url,omitempty" name:"Url"`
2670
2671	// 最多识别的人脸数目。默认值为1(仅检测图片中面积最大的那张人脸),最大值为10。
2672	// MaxFaceNum用于,当输入的待识别图片包含多张人脸时,设定要搜索的人脸的数量。
2673	// 例:输入的Image或Url中的图片包含多张人脸,设MaxFaceNum=5,则会识别图片中面积最大的5张人脸。
2674	MaxFaceNum *uint64 `json:"MaxFaceNum,omitempty" name:"MaxFaceNum"`
2675
2676	// 人脸长和宽的最小尺寸,单位为像素。默认为34。低于34的人脸图片无法被识别。建议设置为80。
2677	MinFaceSize *uint64 `json:"MinFaceSize,omitempty" name:"MinFaceSize"`
2678
2679	// 单张被识别的人脸返回的最相似人员数量。默认值为5,最大值为100。
2680	// 例,设MaxFaceNum为1,MaxPersonNum为8,则返回Top8相似的人员信息。
2681	// 值越大,需要处理的时间越长。建议不要超过10。
2682	MaxPersonNum *uint64 `json:"MaxPersonNum,omitempty" name:"MaxPersonNum"`
2683
2684	// 是否返回人员具体信息。0 为关闭,1 为开启。默认为 0。其他非0非1值默认为0
2685	NeedPersonInfo *int64 `json:"NeedPersonInfo,omitempty" name:"NeedPersonInfo"`
2686
2687	// 图片质量控制。
2688	// 0: 不进行控制;
2689	// 1:较低的质量要求,图像存在非常模糊,眼睛鼻子嘴巴遮挡至少其中一种或多种的情况;
2690	// 2: 一般的质量要求,图像存在偏亮,偏暗,模糊或一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,至少其中三种的情况;
2691	// 3: 较高的质量要求,图像存在偏亮,偏暗,一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,其中一到两种的情况;
2692	// 4: 很高的质量要求,各个维度均为最好或最多在某一维度上存在轻微问题;
2693	// 默认 0。
2694	// 若图片质量不满足要求,则返回结果中会提示图片质量检测不符要求。
2695	QualityControl *uint64 `json:"QualityControl,omitempty" name:"QualityControl"`
2696
2697	// 出参Score中,只有超过FaceMatchThreshold值的结果才会返回。默认为0。
2698	FaceMatchThreshold *float64 `json:"FaceMatchThreshold,omitempty" name:"FaceMatchThreshold"`
2699
2700	// 是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。
2701	NeedRotateDetection *uint64 `json:"NeedRotateDetection,omitempty" name:"NeedRotateDetection"`
2702}
2703
2704func (r *SearchFacesRequest) ToJsonString() string {
2705    b, _ := json.Marshal(r)
2706    return string(b)
2707}
2708
2709// FromJsonString It is highly **NOT** recommended to use this function
2710// because it has no param check, nor strict type check
2711func (r *SearchFacesRequest) FromJsonString(s string) error {
2712	f := make(map[string]interface{})
2713	if err := json.Unmarshal([]byte(s), &f); err != nil {
2714		return err
2715	}
2716	delete(f, "GroupIds")
2717	delete(f, "Image")
2718	delete(f, "Url")
2719	delete(f, "MaxFaceNum")
2720	delete(f, "MinFaceSize")
2721	delete(f, "MaxPersonNum")
2722	delete(f, "NeedPersonInfo")
2723	delete(f, "QualityControl")
2724	delete(f, "FaceMatchThreshold")
2725	delete(f, "NeedRotateDetection")
2726	if len(f) > 0 {
2727		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SearchFacesRequest has unknown keys!", "")
2728	}
2729	return json.Unmarshal([]byte(s), &r)
2730}
2731
2732type SearchFacesResponse struct {
2733	*tchttp.BaseResponse
2734	Response *struct {
2735
2736		// 识别结果。
2737		Results []*Result `json:"Results,omitempty" name:"Results"`
2738
2739		// 搜索的人员库中包含的人脸数。
2740		FaceNum *uint64 `json:"FaceNum,omitempty" name:"FaceNum"`
2741
2742		// 人脸识别所用的算法模型版本。
2743		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
2744
2745		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2746		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2747	} `json:"Response"`
2748}
2749
2750func (r *SearchFacesResponse) ToJsonString() string {
2751    b, _ := json.Marshal(r)
2752    return string(b)
2753}
2754
2755// FromJsonString It is highly **NOT** recommended to use this function
2756// because it has no param check, nor strict type check
2757func (r *SearchFacesResponse) FromJsonString(s string) error {
2758	return json.Unmarshal([]byte(s), &r)
2759}
2760
2761type SearchFacesReturnsByGroupRequest struct {
2762	*tchttp.BaseRequest
2763
2764	// 希望搜索的人员库列表,上限60个。
2765	GroupIds []*string `json:"GroupIds,omitempty" name:"GroupIds"`
2766
2767	// 图片 base64 数据,base64 编码后大小不可超过5M。
2768	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
2769	Image *string `json:"Image,omitempty" name:"Image"`
2770
2771	// 图片的 Url 。对应图片 base64 编码后大小不可超过5M。
2772	// Url、Image必须提供一个,如果都提供,只使用 Url。
2773	// 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
2774	// 非腾讯云存储的Url速度和稳定性可能受一定影响。
2775	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
2776	Url *string `json:"Url,omitempty" name:"Url"`
2777
2778	// 最多识别的人脸数目。默认值为1(仅检测图片中面积最大的那张人脸),最大值为10。
2779	// MaxFaceNum用于,当输入的待识别图片包含多张人脸时,设定要搜索的人脸的数量。
2780	// 例:输入的Image或Url中的图片包含多张人脸,设MaxFaceNum=5,则会识别图片中面积最大的5张人脸。
2781	MaxFaceNum *uint64 `json:"MaxFaceNum,omitempty" name:"MaxFaceNum"`
2782
2783	// 人脸长和宽的最小尺寸,单位为像素。默认为34。低于34将影响搜索精度。建议设置为80。
2784	MinFaceSize *uint64 `json:"MinFaceSize,omitempty" name:"MinFaceSize"`
2785
2786	// 被检测到的人脸,对应最多返回的最相似人员数目。默认值为5,最大值为10。
2787	// 例,设MaxFaceNum为3,MaxPersonNum为5,则最多可能返回3*5=15个人员。
2788	MaxPersonNumPerGroup *uint64 `json:"MaxPersonNumPerGroup,omitempty" name:"MaxPersonNumPerGroup"`
2789
2790	// 是否返回人员具体信息。0 为关闭,1 为开启。默认为 0。其他非0非1值默认为0
2791	NeedPersonInfo *int64 `json:"NeedPersonInfo,omitempty" name:"NeedPersonInfo"`
2792
2793	// 图片质量控制。
2794	// 0: 不进行控制;
2795	// 1:较低的质量要求,图像存在非常模糊,眼睛鼻子嘴巴遮挡至少其中一种或多种的情况;
2796	// 2: 一般的质量要求,图像存在偏亮,偏暗,模糊或一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,至少其中三种的情况;
2797	// 3: 较高的质量要求,图像存在偏亮,偏暗,一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,其中一到两种的情况;
2798	// 4: 很高的质量要求,各个维度均为最好或最多在某一维度上存在轻微问题;
2799	// 默认 0。
2800	// 若图片质量不满足要求,则返回结果中会提示图片质量检测不符要求。
2801	QualityControl *uint64 `json:"QualityControl,omitempty" name:"QualityControl"`
2802
2803	// 出参Score中,只有大于等于FaceMatchThreshold值的结果才会返回。
2804	// 默认为0。
2805	// 取值范围[0.0,100.0) 。
2806	FaceMatchThreshold *float64 `json:"FaceMatchThreshold,omitempty" name:"FaceMatchThreshold"`
2807
2808	// 是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。
2809	NeedRotateDetection *uint64 `json:"NeedRotateDetection,omitempty" name:"NeedRotateDetection"`
2810}
2811
2812func (r *SearchFacesReturnsByGroupRequest) ToJsonString() string {
2813    b, _ := json.Marshal(r)
2814    return string(b)
2815}
2816
2817// FromJsonString It is highly **NOT** recommended to use this function
2818// because it has no param check, nor strict type check
2819func (r *SearchFacesReturnsByGroupRequest) FromJsonString(s string) error {
2820	f := make(map[string]interface{})
2821	if err := json.Unmarshal([]byte(s), &f); err != nil {
2822		return err
2823	}
2824	delete(f, "GroupIds")
2825	delete(f, "Image")
2826	delete(f, "Url")
2827	delete(f, "MaxFaceNum")
2828	delete(f, "MinFaceSize")
2829	delete(f, "MaxPersonNumPerGroup")
2830	delete(f, "NeedPersonInfo")
2831	delete(f, "QualityControl")
2832	delete(f, "FaceMatchThreshold")
2833	delete(f, "NeedRotateDetection")
2834	if len(f) > 0 {
2835		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SearchFacesReturnsByGroupRequest has unknown keys!", "")
2836	}
2837	return json.Unmarshal([]byte(s), &r)
2838}
2839
2840type SearchFacesReturnsByGroupResponse struct {
2841	*tchttp.BaseResponse
2842	Response *struct {
2843
2844		// 搜索的人员库中包含的人脸数。
2845		FaceNum *uint64 `json:"FaceNum,omitempty" name:"FaceNum"`
2846
2847		// 识别结果。
2848		ResultsReturnsByGroup []*ResultsReturnsByGroup `json:"ResultsReturnsByGroup,omitempty" name:"ResultsReturnsByGroup"`
2849
2850		// 人脸识别所用的算法模型版本。
2851		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
2852
2853		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2854		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2855	} `json:"Response"`
2856}
2857
2858func (r *SearchFacesReturnsByGroupResponse) ToJsonString() string {
2859    b, _ := json.Marshal(r)
2860    return string(b)
2861}
2862
2863// FromJsonString It is highly **NOT** recommended to use this function
2864// because it has no param check, nor strict type check
2865func (r *SearchFacesReturnsByGroupResponse) FromJsonString(s string) error {
2866	return json.Unmarshal([]byte(s), &r)
2867}
2868
2869type SearchPersonsRequest struct {
2870	*tchttp.BaseRequest
2871
2872	// 希望搜索的人员库列表,上限100个。
2873	GroupIds []*string `json:"GroupIds,omitempty" name:"GroupIds"`
2874
2875	// 图片 base64 数据,base64 编码后大小不可超过5M。
2876	// 若图片中包含多张人脸,只选取其中人脸面积最大的人脸。
2877	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
2878	Image *string `json:"Image,omitempty" name:"Image"`
2879
2880	// 图片的 Url 。对应图片 base64 编码后大小不可超过5M。
2881	// Url、Image必须提供一个,如果都提供,只使用 Url。
2882	// 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
2883	// 非腾讯云存储的Url速度和稳定性可能受一定影响。
2884	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
2885	Url *string `json:"Url,omitempty" name:"Url"`
2886
2887	// 最多识别的人脸数目。默认值为1(仅检测图片中面积最大的那张人脸),最大值为10。
2888	// MaxFaceNum用于,当输入的待识别图片包含多张人脸时,设定要搜索的人脸的数量。
2889	// 例:输入的Image或Url中的图片包含多张人脸,设MaxFaceNum=5,则会识别图片中面积最大的5张人脸。
2890	MaxFaceNum *uint64 `json:"MaxFaceNum,omitempty" name:"MaxFaceNum"`
2891
2892	// 人脸长和宽的最小尺寸,单位为像素。默认为34。低于34将影响搜索精度。建议设置为80。
2893	MinFaceSize *uint64 `json:"MinFaceSize,omitempty" name:"MinFaceSize"`
2894
2895	// 单张被识别的人脸返回的最相似人员数量。默认值为5,最大值为100。
2896	// 例,设MaxFaceNum为1,MaxPersonNum为8,则返回Top8相似的人员信息。
2897	// 值越大,需要处理的时间越长。建议不要超过10。
2898	MaxPersonNum *uint64 `json:"MaxPersonNum,omitempty" name:"MaxPersonNum"`
2899
2900	// 图片质量控制。
2901	// 0: 不进行控制;
2902	// 1:较低的质量要求,图像存在非常模糊,眼睛鼻子嘴巴遮挡至少其中一种或多种的情况;
2903	// 2: 一般的质量要求,图像存在偏亮,偏暗,模糊或一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,至少其中三种的情况;
2904	// 3: 较高的质量要求,图像存在偏亮,偏暗,一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,其中一到两种的情况;
2905	// 4: 很高的质量要求,各个维度均为最好或最多在某一维度上存在轻微问题;
2906	// 默认 0。
2907	// 若图片质量不满足要求,则返回结果中会提示图片质量检测不符要求。
2908	QualityControl *uint64 `json:"QualityControl,omitempty" name:"QualityControl"`
2909
2910	// 出参Score中,只有大于等于FaceMatchThreshold值的结果才会返回。默认为0。取值范围[0.0,100.0) 。
2911	FaceMatchThreshold *float64 `json:"FaceMatchThreshold,omitempty" name:"FaceMatchThreshold"`
2912
2913	// 是否返回人员具体信息。0 为关闭,1 为开启。默认为 0。其他非0非1值默认为0
2914	NeedPersonInfo *int64 `json:"NeedPersonInfo,omitempty" name:"NeedPersonInfo"`
2915
2916	// 是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。
2917	NeedRotateDetection *uint64 `json:"NeedRotateDetection,omitempty" name:"NeedRotateDetection"`
2918}
2919
2920func (r *SearchPersonsRequest) ToJsonString() string {
2921    b, _ := json.Marshal(r)
2922    return string(b)
2923}
2924
2925// FromJsonString It is highly **NOT** recommended to use this function
2926// because it has no param check, nor strict type check
2927func (r *SearchPersonsRequest) FromJsonString(s string) error {
2928	f := make(map[string]interface{})
2929	if err := json.Unmarshal([]byte(s), &f); err != nil {
2930		return err
2931	}
2932	delete(f, "GroupIds")
2933	delete(f, "Image")
2934	delete(f, "Url")
2935	delete(f, "MaxFaceNum")
2936	delete(f, "MinFaceSize")
2937	delete(f, "MaxPersonNum")
2938	delete(f, "QualityControl")
2939	delete(f, "FaceMatchThreshold")
2940	delete(f, "NeedPersonInfo")
2941	delete(f, "NeedRotateDetection")
2942	if len(f) > 0 {
2943		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SearchPersonsRequest has unknown keys!", "")
2944	}
2945	return json.Unmarshal([]byte(s), &r)
2946}
2947
2948type SearchPersonsResponse struct {
2949	*tchttp.BaseResponse
2950	Response *struct {
2951
2952		// 识别结果。
2953		Results []*Result `json:"Results,omitempty" name:"Results"`
2954
2955		// 搜索的人员库中包含的人员数。若输入图片中所有人脸均不符合质量要求,则返回0。
2956		PersonNum *uint64 `json:"PersonNum,omitempty" name:"PersonNum"`
2957
2958		// 人脸识别所用的算法模型版本。
2959	// 注意:此字段可能返回 null,表示取不到有效值。
2960		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
2961
2962		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2963		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2964	} `json:"Response"`
2965}
2966
2967func (r *SearchPersonsResponse) ToJsonString() string {
2968    b, _ := json.Marshal(r)
2969    return string(b)
2970}
2971
2972// FromJsonString It is highly **NOT** recommended to use this function
2973// because it has no param check, nor strict type check
2974func (r *SearchPersonsResponse) FromJsonString(s string) error {
2975	return json.Unmarshal([]byte(s), &r)
2976}
2977
2978type SearchPersonsReturnsByGroupRequest struct {
2979	*tchttp.BaseRequest
2980
2981	// 希望搜索的人员库列表,上限60个。
2982	GroupIds []*string `json:"GroupIds,omitempty" name:"GroupIds"`
2983
2984	// 图片 base64 数据,base64 编码后大小不可超过5M。
2985	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
2986	Image *string `json:"Image,omitempty" name:"Image"`
2987
2988	// 图片的 Url 。对应图片 base64 编码后大小不可超过5M。
2989	// Url、Image必须提供一个,如果都提供,只使用 Url。
2990	// 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
2991	// 非腾讯云存储的Url速度和稳定性可能受一定影响。
2992	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
2993	Url *string `json:"Url,omitempty" name:"Url"`
2994
2995	// 最多识别的人脸数目。默认值为1(仅检测图片中面积最大的那张人脸),最大值为10。
2996	// MaxFaceNum用于,当输入的待识别图片包含多张人脸时,设定要搜索的人脸的数量。
2997	// 例:输入的Image或Url中的图片包含多张人脸,设MaxFaceNum=5,则会识别图片中面积最大的5张人脸。
2998	MaxFaceNum *uint64 `json:"MaxFaceNum,omitempty" name:"MaxFaceNum"`
2999
3000	// 人脸长和宽的最小尺寸,单位为像素。默认为34。低于34将影响搜索精度。建议设置为80。
3001	MinFaceSize *uint64 `json:"MinFaceSize,omitempty" name:"MinFaceSize"`
3002
3003	// 被检测到的人脸,对应最多返回的最相似人员数目。默认值为5,最大值为10。
3004	// 例,设MaxFaceNum为3,MaxPersonNumPerGroup为5,GroupIds长度为3,则最多可能返回3*5*3=45个人员。
3005	MaxPersonNumPerGroup *uint64 `json:"MaxPersonNumPerGroup,omitempty" name:"MaxPersonNumPerGroup"`
3006
3007	// 图片质量控制。
3008	// 0: 不进行控制;
3009	// 1:较低的质量要求,图像存在非常模糊,眼睛鼻子嘴巴遮挡至少其中一种或多种的情况;
3010	// 2: 一般的质量要求,图像存在偏亮,偏暗,模糊或一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,至少其中三种的情况;
3011	// 3: 较高的质量要求,图像存在偏亮,偏暗,一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,其中一到两种的情况;
3012	// 4: 很高的质量要求,各个维度均为最好或最多在某一维度上存在轻微问题;
3013	// 默认 0。
3014	// 若图片质量不满足要求,则返回结果中会提示图片质量检测不符要求。
3015	QualityControl *uint64 `json:"QualityControl,omitempty" name:"QualityControl"`
3016
3017	// 出参Score中,只有超过FaceMatchThreshold值的结果才会返回。默认为0。
3018	FaceMatchThreshold *float64 `json:"FaceMatchThreshold,omitempty" name:"FaceMatchThreshold"`
3019
3020	// 是否返回人员具体信息。0 为关闭,1 为开启。默认为 0。其他非0非1值默认为0
3021	NeedPersonInfo *int64 `json:"NeedPersonInfo,omitempty" name:"NeedPersonInfo"`
3022
3023	// 是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。
3024	NeedRotateDetection *uint64 `json:"NeedRotateDetection,omitempty" name:"NeedRotateDetection"`
3025}
3026
3027func (r *SearchPersonsReturnsByGroupRequest) ToJsonString() string {
3028    b, _ := json.Marshal(r)
3029    return string(b)
3030}
3031
3032// FromJsonString It is highly **NOT** recommended to use this function
3033// because it has no param check, nor strict type check
3034func (r *SearchPersonsReturnsByGroupRequest) FromJsonString(s string) error {
3035	f := make(map[string]interface{})
3036	if err := json.Unmarshal([]byte(s), &f); err != nil {
3037		return err
3038	}
3039	delete(f, "GroupIds")
3040	delete(f, "Image")
3041	delete(f, "Url")
3042	delete(f, "MaxFaceNum")
3043	delete(f, "MinFaceSize")
3044	delete(f, "MaxPersonNumPerGroup")
3045	delete(f, "QualityControl")
3046	delete(f, "FaceMatchThreshold")
3047	delete(f, "NeedPersonInfo")
3048	delete(f, "NeedRotateDetection")
3049	if len(f) > 0 {
3050		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SearchPersonsReturnsByGroupRequest has unknown keys!", "")
3051	}
3052	return json.Unmarshal([]byte(s), &r)
3053}
3054
3055type SearchPersonsReturnsByGroupResponse struct {
3056	*tchttp.BaseResponse
3057	Response *struct {
3058
3059		// 搜索的人员库中包含的人员数。若输入图片中所有人脸均不符合质量要求,则返回0。
3060		PersonNum *uint64 `json:"PersonNum,omitempty" name:"PersonNum"`
3061
3062		// 识别结果。
3063		ResultsReturnsByGroup []*ResultsReturnsByGroup `json:"ResultsReturnsByGroup,omitempty" name:"ResultsReturnsByGroup"`
3064
3065		// 人脸识别所用的算法模型版本。
3066		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
3067
3068		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3069		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3070	} `json:"Response"`
3071}
3072
3073func (r *SearchPersonsReturnsByGroupResponse) ToJsonString() string {
3074    b, _ := json.Marshal(r)
3075    return string(b)
3076}
3077
3078// FromJsonString It is highly **NOT** recommended to use this function
3079// because it has no param check, nor strict type check
3080func (r *SearchPersonsReturnsByGroupResponse) FromJsonString(s string) error {
3081	return json.Unmarshal([]byte(s), &r)
3082}
3083
3084type UpgradeGroupFaceModelVersionRequest struct {
3085	*tchttp.BaseRequest
3086
3087	// 需要升级的人员库ID。
3088	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
3089
3090	// 需要升级至的算法模型版本。默认为最新版本。不可逆向升级
3091	FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
3092}
3093
3094func (r *UpgradeGroupFaceModelVersionRequest) ToJsonString() string {
3095    b, _ := json.Marshal(r)
3096    return string(b)
3097}
3098
3099// FromJsonString It is highly **NOT** recommended to use this function
3100// because it has no param check, nor strict type check
3101func (r *UpgradeGroupFaceModelVersionRequest) FromJsonString(s string) error {
3102	f := make(map[string]interface{})
3103	if err := json.Unmarshal([]byte(s), &f); err != nil {
3104		return err
3105	}
3106	delete(f, "GroupId")
3107	delete(f, "FaceModelVersion")
3108	if len(f) > 0 {
3109		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpgradeGroupFaceModelVersionRequest has unknown keys!", "")
3110	}
3111	return json.Unmarshal([]byte(s), &r)
3112}
3113
3114type UpgradeGroupFaceModelVersionResponse struct {
3115	*tchttp.BaseResponse
3116	Response *struct {
3117
3118		// 升级任务ID,用于查询、获取升级的进度和结果。
3119		JobId *string `json:"JobId,omitempty" name:"JobId"`
3120
3121		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3122		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3123	} `json:"Response"`
3124}
3125
3126func (r *UpgradeGroupFaceModelVersionResponse) ToJsonString() string {
3127    b, _ := json.Marshal(r)
3128    return string(b)
3129}
3130
3131// FromJsonString It is highly **NOT** recommended to use this function
3132// because it has no param check, nor strict type check
3133func (r *UpgradeGroupFaceModelVersionResponse) FromJsonString(s string) error {
3134	return json.Unmarshal([]byte(s), &r)
3135}
3136
3137type UpgradeJobInfo struct {
3138
3139	// 人员库升级任务ID,用于查询、获取升级的进度和结果。
3140	JobId *string `json:"JobId,omitempty" name:"JobId"`
3141
3142	// 人员库ID。
3143	GroupId *string `json:"GroupId,omitempty" name:"GroupId"`
3144
3145	// 当前算法模型版本。
3146	FromFaceModelVersion *string `json:"FromFaceModelVersion,omitempty" name:"FromFaceModelVersion"`
3147
3148	// 目标算法模型版本。
3149	ToFaceModelVersion *string `json:"ToFaceModelVersion,omitempty" name:"ToFaceModelVersion"`
3150
3151	// 升级起始时间。
3152	// StartTime的值是自 Unix 纪元时间到Group创建时间的毫秒数。
3153	// Unix 纪元时间是 1970 年 1 月 1 日星期四,协调世界时 (UTC) 00:00:00。
3154	// 有关更多信息,请参阅 Unix 时间。
3155	StartTime *uint64 `json:"StartTime,omitempty" name:"StartTime"`
3156
3157	// 0表示升级中,1表示升级完毕,2表示回滚完毕。
3158	Status *uint64 `json:"Status,omitempty" name:"Status"`
3159}
3160
3161type VerifyFaceRequest struct {
3162	*tchttp.BaseRequest
3163
3164	// 待验证的人员ID。人员ID具体信息请参考人员库管理相关接口。
3165	PersonId *string `json:"PersonId,omitempty" name:"PersonId"`
3166
3167	// 图片 base64 数据,base64 编码后大小不可超过5M。
3168	// 若图片中包含多张人脸,只选取其中人脸面积最大的人脸。
3169	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
3170	Image *string `json:"Image,omitempty" name:"Image"`
3171
3172	// 图片的 Url 。对应图片 base64 编码后大小不可超过5M。
3173	// Url、Image必须提供一个,如果都提供,只使用 Url。
3174	// 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
3175	// 非腾讯云存储的Url速度和稳定性可能受一定影响。
3176	// 若图片中包含多张人脸,只选取其中人脸面积最大的人脸。
3177	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
3178	Url *string `json:"Url,omitempty" name:"Url"`
3179
3180	// 图片质量控制。
3181	// 0: 不进行控制;
3182	// 1:较低的质量要求,图像存在非常模糊,眼睛鼻子嘴巴遮挡至少其中一种或多种的情况;
3183	// 2: 一般的质量要求,图像存在偏亮,偏暗,模糊或一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,至少其中三种的情况;
3184	// 3: 较高的质量要求,图像存在偏亮,偏暗,一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,其中一到两种的情况;
3185	// 4: 很高的质量要求,各个维度均为最好或最多在某一维度上存在轻微问题;
3186	// 默认 0。
3187	// 若图片质量不满足要求,则返回结果中会提示图片质量检测不符要求。
3188	QualityControl *uint64 `json:"QualityControl,omitempty" name:"QualityControl"`
3189
3190	// 是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。
3191	NeedRotateDetection *uint64 `json:"NeedRotateDetection,omitempty" name:"NeedRotateDetection"`
3192}
3193
3194func (r *VerifyFaceRequest) ToJsonString() string {
3195    b, _ := json.Marshal(r)
3196    return string(b)
3197}
3198
3199// FromJsonString It is highly **NOT** recommended to use this function
3200// because it has no param check, nor strict type check
3201func (r *VerifyFaceRequest) FromJsonString(s string) error {
3202	f := make(map[string]interface{})
3203	if err := json.Unmarshal([]byte(s), &f); err != nil {
3204		return err
3205	}
3206	delete(f, "PersonId")
3207	delete(f, "Image")
3208	delete(f, "Url")
3209	delete(f, "QualityControl")
3210	delete(f, "NeedRotateDetection")
3211	if len(f) > 0 {
3212		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "VerifyFaceRequest has unknown keys!", "")
3213	}
3214	return json.Unmarshal([]byte(s), &r)
3215}
3216
3217type VerifyFaceResponse struct {
3218	*tchttp.BaseResponse
3219	Response *struct {
3220
3221		// 给定的人脸图片与 PersonId 对应人脸的相似度。若 PersonId 下有多张人脸(Face),返回相似度最大的分数。
3222	//
3223	// 不同算法版本返回的相似度分数不同。
3224	// 若需要验证两张图片中人脸是否为同一人,3.0版本误识率千分之一对应分数为40分,误识率万分之一对应分数为50分,误识率十万分之一对应分数为60分。 一般超过50分则可认定为同一人。
3225	// 2.0版本误识率千分之一对应分数为70分,误识率万分之一对应分数为80分,误识率十万分之一对应分数为90分。 一般超过80分则可认定为同一人。
3226		Score *float64 `json:"Score,omitempty" name:"Score"`
3227
3228		// 是否为同一人的判断。
3229		IsMatch *bool `json:"IsMatch,omitempty" name:"IsMatch"`
3230
3231		// 人脸识别所用的算法模型版本。
3232		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
3233
3234		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3235		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3236	} `json:"Response"`
3237}
3238
3239func (r *VerifyFaceResponse) ToJsonString() string {
3240    b, _ := json.Marshal(r)
3241    return string(b)
3242}
3243
3244// FromJsonString It is highly **NOT** recommended to use this function
3245// because it has no param check, nor strict type check
3246func (r *VerifyFaceResponse) FromJsonString(s string) error {
3247	return json.Unmarshal([]byte(s), &r)
3248}
3249
3250type VerifyPersonRequest struct {
3251	*tchttp.BaseRequest
3252
3253	// 待验证的人员ID。人员ID具体信息请参考人员库管理相关接口。
3254	PersonId *string `json:"PersonId,omitempty" name:"PersonId"`
3255
3256	// 图片 base64 数据。
3257	// 若图片中包含多张人脸,只选取其中人脸面积最大的人脸。
3258	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
3259	Image *string `json:"Image,omitempty" name:"Image"`
3260
3261	// 图片的 Url 。 图片的 Url、Image必须提供一个,如果都提供,只使用 Url。
3262	// 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
3263	// 非腾讯云存储的Url速度和稳定性可能受一定影响。
3264	// 若图片中包含多张人脸,只选取其中人脸面积最大的人脸。
3265	// 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
3266	Url *string `json:"Url,omitempty" name:"Url"`
3267
3268	// 图片质量控制。
3269	// 0: 不进行控制;
3270	// 1:较低的质量要求,图像存在非常模糊,眼睛鼻子嘴巴遮挡至少其中一种或多种的情况;
3271	// 2: 一般的质量要求,图像存在偏亮,偏暗,模糊或一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,至少其中三种的情况;
3272	// 3: 较高的质量要求,图像存在偏亮,偏暗,一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,其中一到两种的情况;
3273	// 4: 很高的质量要求,各个维度均为最好或最多在某一维度上存在轻微问题;
3274	// 默认 0。
3275	// 若图片质量不满足要求,则返回结果中会提示图片质量检测不符要求。
3276	QualityControl *uint64 `json:"QualityControl,omitempty" name:"QualityControl"`
3277
3278	// 是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。
3279	NeedRotateDetection *uint64 `json:"NeedRotateDetection,omitempty" name:"NeedRotateDetection"`
3280}
3281
3282func (r *VerifyPersonRequest) ToJsonString() string {
3283    b, _ := json.Marshal(r)
3284    return string(b)
3285}
3286
3287// FromJsonString It is highly **NOT** recommended to use this function
3288// because it has no param check, nor strict type check
3289func (r *VerifyPersonRequest) FromJsonString(s string) error {
3290	f := make(map[string]interface{})
3291	if err := json.Unmarshal([]byte(s), &f); err != nil {
3292		return err
3293	}
3294	delete(f, "PersonId")
3295	delete(f, "Image")
3296	delete(f, "Url")
3297	delete(f, "QualityControl")
3298	delete(f, "NeedRotateDetection")
3299	if len(f) > 0 {
3300		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "VerifyPersonRequest has unknown keys!", "")
3301	}
3302	return json.Unmarshal([]byte(s), &r)
3303}
3304
3305type VerifyPersonResponse struct {
3306	*tchttp.BaseResponse
3307	Response *struct {
3308
3309		// 给定的人脸照片与 PersonId 对应的相似度。若 PersonId 下有多张人脸(Face),会融合多张人脸信息进行验证。
3310		Score *float64 `json:"Score,omitempty" name:"Score"`
3311
3312		// 是否为同一人的判断。
3313		IsMatch *bool `json:"IsMatch,omitempty" name:"IsMatch"`
3314
3315		// 人脸识别所用的算法模型版本。
3316		FaceModelVersion *string `json:"FaceModelVersion,omitempty" name:"FaceModelVersion"`
3317
3318		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3319		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
3320	} `json:"Response"`
3321}
3322
3323func (r *VerifyPersonResponse) ToJsonString() string {
3324    b, _ := json.Marshal(r)
3325    return string(b)
3326}
3327
3328// FromJsonString It is highly **NOT** recommended to use this function
3329// because it has no param check, nor strict type check
3330func (r *VerifyPersonResponse) FromJsonString(s string) error {
3331	return json.Unmarshal([]byte(s), &r)
3332}
3333