1 Star 13 Fork 2

tencentcloud / tencentcloud-sdk-dotnet

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
IaiClient.cs 71.12 KB
一键复制 编辑 原始数据 按行查看 历史
tencentcloud 提交于 2024-04-26 04:45 . release 3.0.994
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096
/*
* Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
namespace TencentCloud.Iai.V20200303
{
using Newtonsoft.Json;
using System.Threading.Tasks;
using TencentCloud.Common;
using TencentCloud.Common.Profile;
using TencentCloud.Iai.V20200303.Models;
public class IaiClient : AbstractClient{
private const string endpoint = "iai.tencentcloudapi.com";
private const string version = "2020-03-03";
private const string sdkVersion = "SDK_NET_3.0.994";
/// <summary>
/// Client constructor.
/// </summary>
/// <param name="credential">Credentials.</param>
/// <param name="region">Region name, such as "ap-guangzhou".</param>
public IaiClient(Credential credential, string region)
: this(credential, region, new ClientProfile { Language = Language.ZH_CN })
{
}
/// <summary>
/// Client Constructor.
/// </summary>
/// <param name="credential">Credentials.</param>
/// <param name="region">Region name, such as "ap-guangzhou".</param>
/// <param name="profile">Client profiles.</param>
public IaiClient(Credential credential, string region, ClientProfile profile)
: base(endpoint, version, credential, region, profile)
{
SdkVersion = sdkVersion;
}
/// <summary>
/// 对请求图片进行五官定位(也称人脸关键点定位),获得人脸的精准信息,返回多达888点关键信息,对五官和脸部轮廓进行精确定位。
/// </summary>
/// <param name="req"><see cref="AnalyzeDenseLandmarksRequest"/></param>
/// <returns><see cref="AnalyzeDenseLandmarksResponse"/></returns>
public Task<AnalyzeDenseLandmarksResponse> AnalyzeDenseLandmarks(AnalyzeDenseLandmarksRequest req)
{
return InternalRequestAsync<AnalyzeDenseLandmarksResponse>(req, "AnalyzeDenseLandmarks");
}
/// <summary>
/// 对请求图片进行五官定位(也称人脸关键点定位),获得人脸的精准信息,返回多达888点关键信息,对五官和脸部轮廓进行精确定位。
/// </summary>
/// <param name="req"><see cref="AnalyzeDenseLandmarksRequest"/></param>
/// <returns><see cref="AnalyzeDenseLandmarksResponse"/></returns>
public AnalyzeDenseLandmarksResponse AnalyzeDenseLandmarksSync(AnalyzeDenseLandmarksRequest req)
{
return InternalRequestAsync<AnalyzeDenseLandmarksResponse>(req, "AnalyzeDenseLandmarks")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 对请求图片进行五官定位(也称人脸关键点定位),计算构成人脸轮廓的 90 个点,包括眉毛(左右各 8 点)、眼睛(左右各 8 点)、鼻子(13 点)、嘴巴(22 点)、脸型轮廓(21 点)、眼珠[或瞳孔](2点)。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// </summary>
/// <param name="req"><see cref="AnalyzeFaceRequest"/></param>
/// <returns><see cref="AnalyzeFaceResponse"/></returns>
public Task<AnalyzeFaceResponse> AnalyzeFace(AnalyzeFaceRequest req)
{
return InternalRequestAsync<AnalyzeFaceResponse>(req, "AnalyzeFace");
}
/// <summary>
/// 对请求图片进行五官定位(也称人脸关键点定位),计算构成人脸轮廓的 90 个点,包括眉毛(左右各 8 点)、眼睛(左右各 8 点)、鼻子(13 点)、嘴巴(22 点)、脸型轮廓(21 点)、眼珠[或瞳孔](2点)。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// </summary>
/// <param name="req"><see cref="AnalyzeFaceRequest"/></param>
/// <returns><see cref="AnalyzeFaceResponse"/></returns>
public AnalyzeFaceResponse AnalyzeFaceSync(AnalyzeFaceRequest req)
{
return InternalRequestAsync<AnalyzeFaceResponse>(req, "AnalyzeFace")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 对两张图片中的人脸进行相似度比对,返回人脸相似度分数。
///
/// 若您需要判断 “此人是否是某人”,即验证某张图片中的人是否是已知身份的某人,如常见的人脸登录场景,建议使用[人脸验证](https://cloud.tencent.com/document/product/867/44983)或[人员验证](https://cloud.tencent.com/document/product/867/44982)接口。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// </summary>
/// <param name="req"><see cref="CompareFaceRequest"/></param>
/// <returns><see cref="CompareFaceResponse"/></returns>
public Task<CompareFaceResponse> CompareFace(CompareFaceRequest req)
{
return InternalRequestAsync<CompareFaceResponse>(req, "CompareFace");
}
/// <summary>
/// 对两张图片中的人脸进行相似度比对,返回人脸相似度分数。
///
/// 若您需要判断 “此人是否是某人”,即验证某张图片中的人是否是已知身份的某人,如常见的人脸登录场景,建议使用[人脸验证](https://cloud.tencent.com/document/product/867/44983)或[人员验证](https://cloud.tencent.com/document/product/867/44982)接口。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// </summary>
/// <param name="req"><see cref="CompareFaceRequest"/></param>
/// <returns><see cref="CompareFaceResponse"/></returns>
public CompareFaceResponse CompareFaceSync(CompareFaceRequest req)
{
return InternalRequestAsync<CompareFaceResponse>(req, "CompareFace")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 对两张图片中的人脸进行相似度比对,返回人脸相似度分数。
///
/// 防疫场景人脸比对接口可在人脸戴口罩情况下使用,口罩遮挡程度最高可以遮挡鼻尖。
///
/// 如图片人脸不存在防疫场景下戴口罩的情况,建议使用人脸比对服务。
/// </summary>
/// <param name="req"><see cref="CompareMaskFaceRequest"/></param>
/// <returns><see cref="CompareMaskFaceResponse"/></returns>
public Task<CompareMaskFaceResponse> CompareMaskFace(CompareMaskFaceRequest req)
{
return InternalRequestAsync<CompareMaskFaceResponse>(req, "CompareMaskFace");
}
/// <summary>
/// 对两张图片中的人脸进行相似度比对,返回人脸相似度分数。
///
/// 防疫场景人脸比对接口可在人脸戴口罩情况下使用,口罩遮挡程度最高可以遮挡鼻尖。
///
/// 如图片人脸不存在防疫场景下戴口罩的情况,建议使用人脸比对服务。
/// </summary>
/// <param name="req"><see cref="CompareMaskFaceRequest"/></param>
/// <returns><see cref="CompareMaskFaceResponse"/></returns>
public CompareMaskFaceResponse CompareMaskFaceSync(CompareMaskFaceRequest req)
{
return InternalRequestAsync<CompareMaskFaceResponse>(req, "CompareMaskFace")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 将已存在于某人员库的人员复制到其他人员库,该人员的描述信息不会被复制。单个人员最多只能同时存在100个人员库中。
/// >
/// - 注:若该人员创建时算法模型版本为2.0,复制到非2.0算法模型版本的Group中时,复制操作将会失败。
/// </summary>
/// <param name="req"><see cref="CopyPersonRequest"/></param>
/// <returns><see cref="CopyPersonResponse"/></returns>
public Task<CopyPersonResponse> CopyPerson(CopyPersonRequest req)
{
return InternalRequestAsync<CopyPersonResponse>(req, "CopyPerson");
}
/// <summary>
/// 将已存在于某人员库的人员复制到其他人员库,该人员的描述信息不会被复制。单个人员最多只能同时存在100个人员库中。
/// >
/// - 注:若该人员创建时算法模型版本为2.0,复制到非2.0算法模型版本的Group中时,复制操作将会失败。
/// </summary>
/// <param name="req"><see cref="CopyPersonRequest"/></param>
/// <returns><see cref="CopyPersonResponse"/></returns>
public CopyPersonResponse CopyPersonSync(CopyPersonRequest req)
{
return InternalRequestAsync<CopyPersonResponse>(req, "CopyPerson")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 将一组人脸图片添加到一个人员中。一个人员最多允许包含 5 张图片。若该人员存在多个人员库中,所有人员库中该人员图片均会增加。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// </summary>
/// <param name="req"><see cref="CreateFaceRequest"/></param>
/// <returns><see cref="CreateFaceResponse"/></returns>
public Task<CreateFaceResponse> CreateFace(CreateFaceRequest req)
{
return InternalRequestAsync<CreateFaceResponse>(req, "CreateFace");
}
/// <summary>
/// 将一组人脸图片添加到一个人员中。一个人员最多允许包含 5 张图片。若该人员存在多个人员库中,所有人员库中该人员图片均会增加。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// </summary>
/// <param name="req"><see cref="CreateFaceRequest"/></param>
/// <returns><see cref="CreateFaceResponse"/></returns>
public CreateFaceResponse CreateFaceSync(CreateFaceRequest req)
{
return InternalRequestAsync<CreateFaceResponse>(req, "CreateFace")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 用于创建一个空的人员库,如果人员库已存在返回错误。
/// 可根据需要创建自定义描述字段,用于辅助描述该人员库下的人员信息。
///
/// 1个APPID下最多创建10万个人员库(Group)、最多包含5000万张人脸(Face)。
///
/// 不同算法模型版本(FaceModelVersion)的人员库(Group)最多可包含人脸(Face)数不同。算法模型版本为2.0的人员库最多包含100万张人脸,算法模型版本为3.0的人员库最多可包含300万张人脸。
/// </summary>
/// <param name="req"><see cref="CreateGroupRequest"/></param>
/// <returns><see cref="CreateGroupResponse"/></returns>
public Task<CreateGroupResponse> CreateGroup(CreateGroupRequest req)
{
return InternalRequestAsync<CreateGroupResponse>(req, "CreateGroup");
}
/// <summary>
/// 用于创建一个空的人员库,如果人员库已存在返回错误。
/// 可根据需要创建自定义描述字段,用于辅助描述该人员库下的人员信息。
///
/// 1个APPID下最多创建10万个人员库(Group)、最多包含5000万张人脸(Face)。
///
/// 不同算法模型版本(FaceModelVersion)的人员库(Group)最多可包含人脸(Face)数不同。算法模型版本为2.0的人员库最多包含100万张人脸,算法模型版本为3.0的人员库最多可包含300万张人脸。
/// </summary>
/// <param name="req"><see cref="CreateGroupRequest"/></param>
/// <returns><see cref="CreateGroupResponse"/></returns>
public CreateGroupResponse CreateGroupSync(CreateGroupRequest req)
{
return InternalRequestAsync<CreateGroupResponse>(req, "CreateGroup")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 创建人员,添加人脸、姓名、性别及其他相关信息。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// </summary>
/// <param name="req"><see cref="CreatePersonRequest"/></param>
/// <returns><see cref="CreatePersonResponse"/></returns>
public Task<CreatePersonResponse> CreatePerson(CreatePersonRequest req)
{
return InternalRequestAsync<CreatePersonResponse>(req, "CreatePerson");
}
/// <summary>
/// 创建人员,添加人脸、姓名、性别及其他相关信息。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// </summary>
/// <param name="req"><see cref="CreatePersonRequest"/></param>
/// <returns><see cref="CreatePersonResponse"/></returns>
public CreatePersonResponse CreatePersonSync(CreatePersonRequest req)
{
return InternalRequestAsync<CreatePersonResponse>(req, "CreatePerson")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 删除一个人员下的人脸图片。如果该人员只有一张人脸图片,则返回错误。
/// </summary>
/// <param name="req"><see cref="DeleteFaceRequest"/></param>
/// <returns><see cref="DeleteFaceResponse"/></returns>
public Task<DeleteFaceResponse> DeleteFace(DeleteFaceRequest req)
{
return InternalRequestAsync<DeleteFaceResponse>(req, "DeleteFace");
}
/// <summary>
/// 删除一个人员下的人脸图片。如果该人员只有一张人脸图片,则返回错误。
/// </summary>
/// <param name="req"><see cref="DeleteFaceRequest"/></param>
/// <returns><see cref="DeleteFaceResponse"/></returns>
public DeleteFaceResponse DeleteFaceSync(DeleteFaceRequest req)
{
return InternalRequestAsync<DeleteFaceResponse>(req, "DeleteFace")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 删除该人员库及包含的所有的人员。同时,人员对应的所有人脸信息将被删除。若某人员同时存在多个人员库中,该人员不会被删除,但属于该人员库中的自定义描述字段信息会被删除,属于其他人员库的自定义描述字段信息不受影响。
/// </summary>
/// <param name="req"><see cref="DeleteGroupRequest"/></param>
/// <returns><see cref="DeleteGroupResponse"/></returns>
public Task<DeleteGroupResponse> DeleteGroup(DeleteGroupRequest req)
{
return InternalRequestAsync<DeleteGroupResponse>(req, "DeleteGroup");
}
/// <summary>
/// 删除该人员库及包含的所有的人员。同时,人员对应的所有人脸信息将被删除。若某人员同时存在多个人员库中,该人员不会被删除,但属于该人员库中的自定义描述字段信息会被删除,属于其他人员库的自定义描述字段信息不受影响。
/// </summary>
/// <param name="req"><see cref="DeleteGroupRequest"/></param>
/// <returns><see cref="DeleteGroupResponse"/></returns>
public DeleteGroupResponse DeleteGroupSync(DeleteGroupRequest req)
{
return InternalRequestAsync<DeleteGroupResponse>(req, "DeleteGroup")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 删除该人员信息,此操作会导致所有人员库均删除此人员。同时,该人员的所有人脸信息将被删除。
/// </summary>
/// <param name="req"><see cref="DeletePersonRequest"/></param>
/// <returns><see cref="DeletePersonResponse"/></returns>
public Task<DeletePersonResponse> DeletePerson(DeletePersonRequest req)
{
return InternalRequestAsync<DeletePersonResponse>(req, "DeletePerson");
}
/// <summary>
/// 删除该人员信息,此操作会导致所有人员库均删除此人员。同时,该人员的所有人脸信息将被删除。
/// </summary>
/// <param name="req"><see cref="DeletePersonRequest"/></param>
/// <returns><see cref="DeletePersonResponse"/></returns>
public DeletePersonResponse DeletePersonSync(DeletePersonRequest req)
{
return InternalRequestAsync<DeletePersonResponse>(req, "DeletePerson")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 从某人员库中删除人员,此操作仅影响该人员库。若该人员仅存在于指定的人员库中,该人员将被删除,其所有的人脸信息也将被删除。
/// </summary>
/// <param name="req"><see cref="DeletePersonFromGroupRequest"/></param>
/// <returns><see cref="DeletePersonFromGroupResponse"/></returns>
public Task<DeletePersonFromGroupResponse> DeletePersonFromGroup(DeletePersonFromGroupRequest req)
{
return InternalRequestAsync<DeletePersonFromGroupResponse>(req, "DeletePersonFromGroup");
}
/// <summary>
/// 从某人员库中删除人员,此操作仅影响该人员库。若该人员仅存在于指定的人员库中,该人员将被删除,其所有的人脸信息也将被删除。
/// </summary>
/// <param name="req"><see cref="DeletePersonFromGroupRequest"/></param>
/// <returns><see cref="DeletePersonFromGroupResponse"/></returns>
public DeletePersonFromGroupResponse DeletePersonFromGroupSync(DeletePersonFromGroupRequest req)
{
return InternalRequestAsync<DeletePersonFromGroupResponse>(req, "DeletePersonFromGroup")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 检测给定图片中的人脸(Face)的位置、相应的面部属性和人脸质量信息,位置包括 (x,y,w,h),面部属性包括性别(gender)、年龄(age)、表情(expression)、魅力(beauty)、眼镜(glass)、发型(hair)、口罩(mask)和姿态 (pitch,roll,yaw),人脸质量信息包括整体质量分(score)、模糊分(sharpness)、光照分(brightness)和五官遮挡分(completeness)。
///
///
/// 其中,人脸质量信息主要用于评价输入的人脸图片的质量。在使用人脸识别服务时,建议您对输入的人脸图片进行质量检测,提升后续业务处理的效果。该功能的应用场景包括:
///
/// 1) 人员库[创建人员](https://cloud.tencent.com/document/product/867/45014)/[增加人脸](https://cloud.tencent.com/document/product/867/45016):保证人员人脸信息的质量,便于后续的业务处理。
///
/// 2) [人脸搜索](https://cloud.tencent.com/document/product/867/44994):保证输入的图片质量,快速准确匹配到对应的人员。
///
/// 3) [人脸验证](https://cloud.tencent.com/document/product/867/44983):保证人脸信息的质量,避免明明是本人却认证不通过的情况。
///
/// 4) 人脸融合:保证上传的人脸质量,人脸融合的效果更好。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// </summary>
/// <param name="req"><see cref="DetectFaceRequest"/></param>
/// <returns><see cref="DetectFaceResponse"/></returns>
public Task<DetectFaceResponse> DetectFace(DetectFaceRequest req)
{
return InternalRequestAsync<DetectFaceResponse>(req, "DetectFace");
}
/// <summary>
/// 检测给定图片中的人脸(Face)的位置、相应的面部属性和人脸质量信息,位置包括 (x,y,w,h),面部属性包括性别(gender)、年龄(age)、表情(expression)、魅力(beauty)、眼镜(glass)、发型(hair)、口罩(mask)和姿态 (pitch,roll,yaw),人脸质量信息包括整体质量分(score)、模糊分(sharpness)、光照分(brightness)和五官遮挡分(completeness)。
///
///
/// 其中,人脸质量信息主要用于评价输入的人脸图片的质量。在使用人脸识别服务时,建议您对输入的人脸图片进行质量检测,提升后续业务处理的效果。该功能的应用场景包括:
///
/// 1) 人员库[创建人员](https://cloud.tencent.com/document/product/867/45014)/[增加人脸](https://cloud.tencent.com/document/product/867/45016):保证人员人脸信息的质量,便于后续的业务处理。
///
/// 2) [人脸搜索](https://cloud.tencent.com/document/product/867/44994):保证输入的图片质量,快速准确匹配到对应的人员。
///
/// 3) [人脸验证](https://cloud.tencent.com/document/product/867/44983):保证人脸信息的质量,避免明明是本人却认证不通过的情况。
///
/// 4) 人脸融合:保证上传的人脸质量,人脸融合的效果更好。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// </summary>
/// <param name="req"><see cref="DetectFaceRequest"/></param>
/// <returns><see cref="DetectFaceResponse"/></returns>
public DetectFaceResponse DetectFaceSync(DetectFaceRequest req)
{
return InternalRequestAsync<DetectFaceResponse>(req, "DetectFace")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 检测给定图片中的人脸(Face)的位置、相应的面部属性和人脸质量信息,位置包括 (x,y,w,h),面部属性包括性别(gender)、年龄(age)、表情(expression)、魅力(beauty)、眼镜(glass)、发型(hair)、口罩(mask)和姿态 (pitch,roll,yaw)。
///
///
/// 其中,人脸质量信息主要用于评价输入的人脸图片的质量。在使用人脸识别服务时,建议您对输入的人脸图片进行质量检测,提升后续业务处理的效果。该功能的应用场景包括:
///
/// 1) 人员库[创建人员](https://cloud.tencent.com/document/product/867/32793)/[增加人脸](https://cloud.tencent.com/document/product/867/32795):保证人员人脸信息的质量,便于后续的业务处理。
///
/// 2) [人脸搜索](https://cloud.tencent.com/document/product/867/32798):保证输入的图片质量,快速准确匹配到对应的人员。
///
/// 3) [人脸验证](https://cloud.tencent.com/document/product/867/32806):保证人脸信息的质量,避免明明是本人却认证不通过的情况。
///
/// 4) [人脸融合](https://cloud.tencent.com/product/facefusion):保证上传的人脸质量,人脸融合的效果更好。
///
/// >
/// - 本接口是[人脸检测与分析](https://cloud.tencent.com/document/product/867/44989)的升级,具体在于:
/// 1.本接口可以指定需要计算返回的人脸属性,避免无效计算,降低耗时;
/// 2.本接口支持更多属性细项数,也会持续增加更多功能。
/// 请您使用本接口完成相应的人脸检测与属性分析需求。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// </summary>
/// <param name="req"><see cref="DetectFaceAttributesRequest"/></param>
/// <returns><see cref="DetectFaceAttributesResponse"/></returns>
public Task<DetectFaceAttributesResponse> DetectFaceAttributes(DetectFaceAttributesRequest req)
{
return InternalRequestAsync<DetectFaceAttributesResponse>(req, "DetectFaceAttributes");
}
/// <summary>
/// 检测给定图片中的人脸(Face)的位置、相应的面部属性和人脸质量信息,位置包括 (x,y,w,h),面部属性包括性别(gender)、年龄(age)、表情(expression)、魅力(beauty)、眼镜(glass)、发型(hair)、口罩(mask)和姿态 (pitch,roll,yaw)。
///
///
/// 其中,人脸质量信息主要用于评价输入的人脸图片的质量。在使用人脸识别服务时,建议您对输入的人脸图片进行质量检测,提升后续业务处理的效果。该功能的应用场景包括:
///
/// 1) 人员库[创建人员](https://cloud.tencent.com/document/product/867/32793)/[增加人脸](https://cloud.tencent.com/document/product/867/32795):保证人员人脸信息的质量,便于后续的业务处理。
///
/// 2) [人脸搜索](https://cloud.tencent.com/document/product/867/32798):保证输入的图片质量,快速准确匹配到对应的人员。
///
/// 3) [人脸验证](https://cloud.tencent.com/document/product/867/32806):保证人脸信息的质量,避免明明是本人却认证不通过的情况。
///
/// 4) [人脸融合](https://cloud.tencent.com/product/facefusion):保证上传的人脸质量,人脸融合的效果更好。
///
/// >
/// - 本接口是[人脸检测与分析](https://cloud.tencent.com/document/product/867/44989)的升级,具体在于:
/// 1.本接口可以指定需要计算返回的人脸属性,避免无效计算,降低耗时;
/// 2.本接口支持更多属性细项数,也会持续增加更多功能。
/// 请您使用本接口完成相应的人脸检测与属性分析需求。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// </summary>
/// <param name="req"><see cref="DetectFaceAttributesRequest"/></param>
/// <returns><see cref="DetectFaceAttributesResponse"/></returns>
public DetectFaceAttributesResponse DetectFaceAttributesSync(DetectFaceAttributesRequest req)
{
return InternalRequestAsync<DetectFaceAttributesResponse>(req, "DetectFaceAttributes")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 用于对用户上传的静态图片进行人脸活体检测。与动态活体检测的区别是:静态活体检测中,用户不需要通过唇语或摇头眨眼等动作来识别。
///
/// 静态活体检测适用于手机自拍的场景,或对防攻击要求不高的场景。如果对活体检测有更高安全性要求,请使用[人脸核身·云智慧眼](https://cloud.tencent.com/product/faceid)产品。
///
/// >
/// - 图片的宽高比请接近3:4,不符合宽高比的图片返回的分值不具备参考意义。本接口适用于类手机自拍场景,非类手机自拍照返回的分值不具备参考意义。
///
/// >
/// - 使用过程中建议正对摄像头,不要距离太远,使面部可以完整地显示在识别的框内,识别过程中不要移动设备或遮挡面部。不要选择光线过强或过弱的环境进行面部识别,识别时不要添加任何滤镜。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// </summary>
/// <param name="req"><see cref="DetectLiveFaceRequest"/></param>
/// <returns><see cref="DetectLiveFaceResponse"/></returns>
public Task<DetectLiveFaceResponse> DetectLiveFace(DetectLiveFaceRequest req)
{
return InternalRequestAsync<DetectLiveFaceResponse>(req, "DetectLiveFace");
}
/// <summary>
/// 用于对用户上传的静态图片进行人脸活体检测。与动态活体检测的区别是:静态活体检测中,用户不需要通过唇语或摇头眨眼等动作来识别。
///
/// 静态活体检测适用于手机自拍的场景,或对防攻击要求不高的场景。如果对活体检测有更高安全性要求,请使用[人脸核身·云智慧眼](https://cloud.tencent.com/product/faceid)产品。
///
/// >
/// - 图片的宽高比请接近3:4,不符合宽高比的图片返回的分值不具备参考意义。本接口适用于类手机自拍场景,非类手机自拍照返回的分值不具备参考意义。
///
/// >
/// - 使用过程中建议正对摄像头,不要距离太远,使面部可以完整地显示在识别的框内,识别过程中不要移动设备或遮挡面部。不要选择光线过强或过弱的环境进行面部识别,识别时不要添加任何滤镜。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// </summary>
/// <param name="req"><see cref="DetectLiveFaceRequest"/></param>
/// <returns><see cref="DetectLiveFaceResponse"/></returns>
public DetectLiveFaceResponse DetectLiveFaceSync(DetectLiveFaceRequest req)
{
return InternalRequestAsync<DetectLiveFaceResponse>(req, "DetectLiveFace")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 人脸静态活体检测(高精度版)可用于对用户上传的静态图片进行防翻拍活体检测,以判断是否是翻拍图片。
///
/// 相比现有静态活体检测服务,高精度版在维持高真人通过率的前提下,增强了对高清屏幕、裁剪纸片、3D面具等攻击的防御能力,攻击拦截率约为业内同类型产品形态4-5倍。同时支持多场景人脸核验,满足移动端、PC端各类型场景的图片活体检验需求,适用于各个行业不同的活体检验应用。
///
/// 人脸静态活体检测(高精度版)接口于2022年8月1日 00:00起正式开始计费,采取后付费按量计费模式,详见[计费概述](https://cloud.tencent.com/document/product/867/17640)。
/// </summary>
/// <param name="req"><see cref="DetectLiveFaceAccurateRequest"/></param>
/// <returns><see cref="DetectLiveFaceAccurateResponse"/></returns>
public Task<DetectLiveFaceAccurateResponse> DetectLiveFaceAccurate(DetectLiveFaceAccurateRequest req)
{
return InternalRequestAsync<DetectLiveFaceAccurateResponse>(req, "DetectLiveFaceAccurate");
}
/// <summary>
/// 人脸静态活体检测(高精度版)可用于对用户上传的静态图片进行防翻拍活体检测,以判断是否是翻拍图片。
///
/// 相比现有静态活体检测服务,高精度版在维持高真人通过率的前提下,增强了对高清屏幕、裁剪纸片、3D面具等攻击的防御能力,攻击拦截率约为业内同类型产品形态4-5倍。同时支持多场景人脸核验,满足移动端、PC端各类型场景的图片活体检验需求,适用于各个行业不同的活体检验应用。
///
/// 人脸静态活体检测(高精度版)接口于2022年8月1日 00:00起正式开始计费,采取后付费按量计费模式,详见[计费概述](https://cloud.tencent.com/document/product/867/17640)。
/// </summary>
/// <param name="req"><see cref="DetectLiveFaceAccurateRequest"/></param>
/// <returns><see cref="DetectLiveFaceAccurateResponse"/></returns>
public DetectLiveFaceAccurateResponse DetectLiveFaceAccurateSync(DetectLiveFaceAccurateRequest req)
{
return InternalRequestAsync<DetectLiveFaceAccurateResponse>(req, "DetectLiveFaceAccurate")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 获取人员库信息。
/// </summary>
/// <param name="req"><see cref="GetGroupInfoRequest"/></param>
/// <returns><see cref="GetGroupInfoResponse"/></returns>
public Task<GetGroupInfoResponse> GetGroupInfo(GetGroupInfoRequest req)
{
return InternalRequestAsync<GetGroupInfoResponse>(req, "GetGroupInfo");
}
/// <summary>
/// 获取人员库信息。
/// </summary>
/// <param name="req"><see cref="GetGroupInfoRequest"/></param>
/// <returns><see cref="GetGroupInfoResponse"/></returns>
public GetGroupInfoResponse GetGroupInfoSync(GetGroupInfoRequest req)
{
return InternalRequestAsync<GetGroupInfoResponse>(req, "GetGroupInfo")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 获取人员库列表。
/// </summary>
/// <param name="req"><see cref="GetGroupListRequest"/></param>
/// <returns><see cref="GetGroupListResponse"/></returns>
public Task<GetGroupListResponse> GetGroupList(GetGroupListRequest req)
{
return InternalRequestAsync<GetGroupListResponse>(req, "GetGroupList");
}
/// <summary>
/// 获取人员库列表。
/// </summary>
/// <param name="req"><see cref="GetGroupListRequest"/></param>
/// <returns><see cref="GetGroupListResponse"/></returns>
public GetGroupListResponse GetGroupListSync(GetGroupListRequest req)
{
return InternalRequestAsync<GetGroupListResponse>(req, "GetGroupList")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 获取指定人员的信息,包括姓名、性别、人脸等。
/// </summary>
/// <param name="req"><see cref="GetPersonBaseInfoRequest"/></param>
/// <returns><see cref="GetPersonBaseInfoResponse"/></returns>
public Task<GetPersonBaseInfoResponse> GetPersonBaseInfo(GetPersonBaseInfoRequest req)
{
return InternalRequestAsync<GetPersonBaseInfoResponse>(req, "GetPersonBaseInfo");
}
/// <summary>
/// 获取指定人员的信息,包括姓名、性别、人脸等。
/// </summary>
/// <param name="req"><see cref="GetPersonBaseInfoRequest"/></param>
/// <returns><see cref="GetPersonBaseInfoResponse"/></returns>
public GetPersonBaseInfoResponse GetPersonBaseInfoSync(GetPersonBaseInfoRequest req)
{
return InternalRequestAsync<GetPersonBaseInfoResponse>(req, "GetPersonBaseInfo")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 获取指定人员的信息,包括加入的人员库、描述内容等。
/// </summary>
/// <param name="req"><see cref="GetPersonGroupInfoRequest"/></param>
/// <returns><see cref="GetPersonGroupInfoResponse"/></returns>
public Task<GetPersonGroupInfoResponse> GetPersonGroupInfo(GetPersonGroupInfoRequest req)
{
return InternalRequestAsync<GetPersonGroupInfoResponse>(req, "GetPersonGroupInfo");
}
/// <summary>
/// 获取指定人员的信息,包括加入的人员库、描述内容等。
/// </summary>
/// <param name="req"><see cref="GetPersonGroupInfoRequest"/></param>
/// <returns><see cref="GetPersonGroupInfoResponse"/></returns>
public GetPersonGroupInfoResponse GetPersonGroupInfoSync(GetPersonGroupInfoRequest req)
{
return InternalRequestAsync<GetPersonGroupInfoResponse>(req, "GetPersonGroupInfo")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 获取指定人员库中的人员列表。
/// </summary>
/// <param name="req"><see cref="GetPersonListRequest"/></param>
/// <returns><see cref="GetPersonListResponse"/></returns>
public Task<GetPersonListResponse> GetPersonList(GetPersonListRequest req)
{
return InternalRequestAsync<GetPersonListResponse>(req, "GetPersonList");
}
/// <summary>
/// 获取指定人员库中的人员列表。
/// </summary>
/// <param name="req"><see cref="GetPersonListRequest"/></param>
/// <returns><see cref="GetPersonListResponse"/></returns>
public GetPersonListResponse GetPersonListSync(GetPersonListRequest req)
{
return InternalRequestAsync<GetPersonListResponse>(req, "GetPersonList")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 获取指定人员库中人员数量。
/// </summary>
/// <param name="req"><see cref="GetPersonListNumRequest"/></param>
/// <returns><see cref="GetPersonListNumResponse"/></returns>
public Task<GetPersonListNumResponse> GetPersonListNum(GetPersonListNumRequest req)
{
return InternalRequestAsync<GetPersonListNumResponse>(req, "GetPersonListNum");
}
/// <summary>
/// 获取指定人员库中人员数量。
/// </summary>
/// <param name="req"><see cref="GetPersonListNumRequest"/></param>
/// <returns><see cref="GetPersonListNumResponse"/></returns>
public GetPersonListNumResponse GetPersonListNumSync(GetPersonListNumRequest req)
{
return InternalRequestAsync<GetPersonListNumResponse>(req, "GetPersonListNum")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 避免官网歧义
///
/// 获取人员库升级任务列表
/// </summary>
/// <param name="req"><see cref="GetUpgradeGroupFaceModelVersionJobListRequest"/></param>
/// <returns><see cref="GetUpgradeGroupFaceModelVersionJobListResponse"/></returns>
public Task<GetUpgradeGroupFaceModelVersionJobListResponse> GetUpgradeGroupFaceModelVersionJobList(GetUpgradeGroupFaceModelVersionJobListRequest req)
{
return InternalRequestAsync<GetUpgradeGroupFaceModelVersionJobListResponse>(req, "GetUpgradeGroupFaceModelVersionJobList");
}
/// <summary>
/// 避免官网歧义
///
/// 获取人员库升级任务列表
/// </summary>
/// <param name="req"><see cref="GetUpgradeGroupFaceModelVersionJobListRequest"/></param>
/// <returns><see cref="GetUpgradeGroupFaceModelVersionJobListResponse"/></returns>
public GetUpgradeGroupFaceModelVersionJobListResponse GetUpgradeGroupFaceModelVersionJobListSync(GetUpgradeGroupFaceModelVersionJobListRequest req)
{
return InternalRequestAsync<GetUpgradeGroupFaceModelVersionJobListResponse>(req, "GetUpgradeGroupFaceModelVersionJobList")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 避免官网歧义
///
/// 人员库升级结果查询
/// </summary>
/// <param name="req"><see cref="GetUpgradeGroupFaceModelVersionResultRequest"/></param>
/// <returns><see cref="GetUpgradeGroupFaceModelVersionResultResponse"/></returns>
public Task<GetUpgradeGroupFaceModelVersionResultResponse> GetUpgradeGroupFaceModelVersionResult(GetUpgradeGroupFaceModelVersionResultRequest req)
{
return InternalRequestAsync<GetUpgradeGroupFaceModelVersionResultResponse>(req, "GetUpgradeGroupFaceModelVersionResult");
}
/// <summary>
/// 避免官网歧义
///
/// 人员库升级结果查询
/// </summary>
/// <param name="req"><see cref="GetUpgradeGroupFaceModelVersionResultRequest"/></param>
/// <returns><see cref="GetUpgradeGroupFaceModelVersionResultResponse"/></returns>
public GetUpgradeGroupFaceModelVersionResultResponse GetUpgradeGroupFaceModelVersionResultSync(GetUpgradeGroupFaceModelVersionResultRequest req)
{
return InternalRequestAsync<GetUpgradeGroupFaceModelVersionResultResponse>(req, "GetUpgradeGroupFaceModelVersionResult")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 修改人员库名称、备注、自定义描述字段名称。
/// </summary>
/// <param name="req"><see cref="ModifyGroupRequest"/></param>
/// <returns><see cref="ModifyGroupResponse"/></returns>
public Task<ModifyGroupResponse> ModifyGroup(ModifyGroupRequest req)
{
return InternalRequestAsync<ModifyGroupResponse>(req, "ModifyGroup");
}
/// <summary>
/// 修改人员库名称、备注、自定义描述字段名称。
/// </summary>
/// <param name="req"><see cref="ModifyGroupRequest"/></param>
/// <returns><see cref="ModifyGroupResponse"/></returns>
public ModifyGroupResponse ModifyGroupSync(ModifyGroupRequest req)
{
return InternalRequestAsync<ModifyGroupResponse>(req, "ModifyGroup")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 修改人员信息,包括名称、性别等。人员名称和性别修改会同步到包含该人员的所有人员库。
/// </summary>
/// <param name="req"><see cref="ModifyPersonBaseInfoRequest"/></param>
/// <returns><see cref="ModifyPersonBaseInfoResponse"/></returns>
public Task<ModifyPersonBaseInfoResponse> ModifyPersonBaseInfo(ModifyPersonBaseInfoRequest req)
{
return InternalRequestAsync<ModifyPersonBaseInfoResponse>(req, "ModifyPersonBaseInfo");
}
/// <summary>
/// 修改人员信息,包括名称、性别等。人员名称和性别修改会同步到包含该人员的所有人员库。
/// </summary>
/// <param name="req"><see cref="ModifyPersonBaseInfoRequest"/></param>
/// <returns><see cref="ModifyPersonBaseInfoResponse"/></returns>
public ModifyPersonBaseInfoResponse ModifyPersonBaseInfoSync(ModifyPersonBaseInfoRequest req)
{
return InternalRequestAsync<ModifyPersonBaseInfoResponse>(req, "ModifyPersonBaseInfo")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 修改指定人员库人员描述内容。
/// </summary>
/// <param name="req"><see cref="ModifyPersonGroupInfoRequest"/></param>
/// <returns><see cref="ModifyPersonGroupInfoResponse"/></returns>
public Task<ModifyPersonGroupInfoResponse> ModifyPersonGroupInfo(ModifyPersonGroupInfoRequest req)
{
return InternalRequestAsync<ModifyPersonGroupInfoResponse>(req, "ModifyPersonGroupInfo");
}
/// <summary>
/// 修改指定人员库人员描述内容。
/// </summary>
/// <param name="req"><see cref="ModifyPersonGroupInfoRequest"/></param>
/// <returns><see cref="ModifyPersonGroupInfoResponse"/></returns>
public ModifyPersonGroupInfoResponse ModifyPersonGroupInfoSync(ModifyPersonGroupInfoRequest req)
{
return InternalRequestAsync<ModifyPersonGroupInfoResponse>(req, "ModifyPersonGroupInfo")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 同理
///
/// 本接口用于回滚人员库的人脸识别算法模型版本。单个人员库有且仅有一次回滚机会。
///
/// 回滚操作会在10s内生效,回滚操作中,您对人员库的操作可能会失效。
/// </summary>
/// <param name="req"><see cref="RevertGroupFaceModelVersionRequest"/></param>
/// <returns><see cref="RevertGroupFaceModelVersionResponse"/></returns>
public Task<RevertGroupFaceModelVersionResponse> RevertGroupFaceModelVersion(RevertGroupFaceModelVersionRequest req)
{
return InternalRequestAsync<RevertGroupFaceModelVersionResponse>(req, "RevertGroupFaceModelVersion");
}
/// <summary>
/// 同理
///
/// 本接口用于回滚人员库的人脸识别算法模型版本。单个人员库有且仅有一次回滚机会。
///
/// 回滚操作会在10s内生效,回滚操作中,您对人员库的操作可能会失效。
/// </summary>
/// <param name="req"><see cref="RevertGroupFaceModelVersionRequest"/></param>
/// <returns><see cref="RevertGroupFaceModelVersionResponse"/></returns>
public RevertGroupFaceModelVersionResponse RevertGroupFaceModelVersionSync(RevertGroupFaceModelVersionRequest req)
{
return InternalRequestAsync<RevertGroupFaceModelVersionResponse>(req, "RevertGroupFaceModelVersion")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 用于对一张待识别的人脸图片,在一个或多个人员库中识别出最相似的 TopK 人员,识别结果按照相似度从大到小排序。
///
/// 支持一次性识别图片中的最多 10 张人脸,支持一次性跨 100 个人员库(Group)搜索。
///
/// 单次搜索的人员库人脸总数量和人员库的算法模型版本(FaceModelVersion)相关。算法模型版本为2.0的人员库,单次搜索人员库人脸总数量不得超过 100 万张;算法模型版本为3.0的人员库,单次搜索人员库人脸总数量不得超过 300 万张。
///
/// 与[人员搜索](https://cloud.tencent.com/document/product/867/44992)及[人员搜索按库返回](https://cloud.tencent.com/document/product/867/44991)接口不同的是,本接口将该人员(Person)下的每个人脸(Face)都作为单独个体进行验证,而人员搜索及人员搜索按库返回接口 会将该人员(Person)下的所有人脸(Face)进行融合特征处理,即若某个Person下有4张 Face,本接口会将4张 Face 的特征进行融合处理,生成对应这个 Person 的特征,使搜索更加准确。
///
///
/// 本接口需与[人员库管理相关接口](https://cloud.tencent.com/document/product/867/45015)结合使用。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
///
/// >
/// - 不可同时搜索不同算法模型版本(FaceModelVersion)的人员库。
/// </summary>
/// <param name="req"><see cref="SearchFacesRequest"/></param>
/// <returns><see cref="SearchFacesResponse"/></returns>
public Task<SearchFacesResponse> SearchFaces(SearchFacesRequest req)
{
return InternalRequestAsync<SearchFacesResponse>(req, "SearchFaces");
}
/// <summary>
/// 用于对一张待识别的人脸图片,在一个或多个人员库中识别出最相似的 TopK 人员,识别结果按照相似度从大到小排序。
///
/// 支持一次性识别图片中的最多 10 张人脸,支持一次性跨 100 个人员库(Group)搜索。
///
/// 单次搜索的人员库人脸总数量和人员库的算法模型版本(FaceModelVersion)相关。算法模型版本为2.0的人员库,单次搜索人员库人脸总数量不得超过 100 万张;算法模型版本为3.0的人员库,单次搜索人员库人脸总数量不得超过 300 万张。
///
/// 与[人员搜索](https://cloud.tencent.com/document/product/867/44992)及[人员搜索按库返回](https://cloud.tencent.com/document/product/867/44991)接口不同的是,本接口将该人员(Person)下的每个人脸(Face)都作为单独个体进行验证,而人员搜索及人员搜索按库返回接口 会将该人员(Person)下的所有人脸(Face)进行融合特征处理,即若某个Person下有4张 Face,本接口会将4张 Face 的特征进行融合处理,生成对应这个 Person 的特征,使搜索更加准确。
///
///
/// 本接口需与[人员库管理相关接口](https://cloud.tencent.com/document/product/867/45015)结合使用。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
///
/// >
/// - 不可同时搜索不同算法模型版本(FaceModelVersion)的人员库。
/// </summary>
/// <param name="req"><see cref="SearchFacesRequest"/></param>
/// <returns><see cref="SearchFacesResponse"/></returns>
public SearchFacesResponse SearchFacesSync(SearchFacesRequest req)
{
return InternalRequestAsync<SearchFacesResponse>(req, "SearchFaces")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 用于对一张待识别的人脸图片,在一个或多个人员库中识别出最相似的 TopK 人员,按照**人员库的维度**以人员相似度从大到小顺序排列。
///
/// 支持一次性识别图片中的最多 10 张人脸,支持跨人员库(Group)搜索。
///
/// 单次搜索的人员库人脸总数量和人员库的算法模型版本(FaceModelVersion)相关。算法模型版本为2.0的人员库,单次搜索人员库人脸总数量不得超过 100 万张;算法模型版本为3.0的人员库,单次搜索人员库人脸总数量不得超过 300 万张。
///
/// 与[人员搜索](https://cloud.tencent.com/document/product/867/44992)及[人员搜索按库返回](https://cloud.tencent.com/document/product/867/44991)接口不同的是,本接口将该人员(Person)下的每个人脸(Face)都作为单独个体进行验证,而[人员搜索](https://cloud.tencent.com/document/product/867/44992)及[人员搜索按库返回](https://cloud.tencent.com/document/product/867/44991)接口 会将该人员(Person)下的所有人脸(Face)进行融合特征处理,即若某个Person下有4张 Face,本接口会将4张 Face 的特征进行融合处理,生成对应这个 Person 的特征,使搜索更加准确。
///
/// 本接口需与[人员库管理相关接口](https://cloud.tencent.com/document/product/867/45015)结合使用。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
///
/// >
/// - 不可同时搜索不同算法模型版本(FaceModelVersion)的人员库。
/// </summary>
/// <param name="req"><see cref="SearchFacesReturnsByGroupRequest"/></param>
/// <returns><see cref="SearchFacesReturnsByGroupResponse"/></returns>
public Task<SearchFacesReturnsByGroupResponse> SearchFacesReturnsByGroup(SearchFacesReturnsByGroupRequest req)
{
return InternalRequestAsync<SearchFacesReturnsByGroupResponse>(req, "SearchFacesReturnsByGroup");
}
/// <summary>
/// 用于对一张待识别的人脸图片,在一个或多个人员库中识别出最相似的 TopK 人员,按照**人员库的维度**以人员相似度从大到小顺序排列。
///
/// 支持一次性识别图片中的最多 10 张人脸,支持跨人员库(Group)搜索。
///
/// 单次搜索的人员库人脸总数量和人员库的算法模型版本(FaceModelVersion)相关。算法模型版本为2.0的人员库,单次搜索人员库人脸总数量不得超过 100 万张;算法模型版本为3.0的人员库,单次搜索人员库人脸总数量不得超过 300 万张。
///
/// 与[人员搜索](https://cloud.tencent.com/document/product/867/44992)及[人员搜索按库返回](https://cloud.tencent.com/document/product/867/44991)接口不同的是,本接口将该人员(Person)下的每个人脸(Face)都作为单独个体进行验证,而[人员搜索](https://cloud.tencent.com/document/product/867/44992)及[人员搜索按库返回](https://cloud.tencent.com/document/product/867/44991)接口 会将该人员(Person)下的所有人脸(Face)进行融合特征处理,即若某个Person下有4张 Face,本接口会将4张 Face 的特征进行融合处理,生成对应这个 Person 的特征,使搜索更加准确。
///
/// 本接口需与[人员库管理相关接口](https://cloud.tencent.com/document/product/867/45015)结合使用。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
///
/// >
/// - 不可同时搜索不同算法模型版本(FaceModelVersion)的人员库。
/// </summary>
/// <param name="req"><see cref="SearchFacesReturnsByGroupRequest"/></param>
/// <returns><see cref="SearchFacesReturnsByGroupResponse"/></returns>
public SearchFacesReturnsByGroupResponse SearchFacesReturnsByGroupSync(SearchFacesReturnsByGroupRequest req)
{
return InternalRequestAsync<SearchFacesReturnsByGroupResponse>(req, "SearchFacesReturnsByGroup")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 用于对一张待识别的人脸图片,在一个或多个人员库中识别出最相似的 TopK 人员,按照相似度从大到小排列。
///
/// 支持一次性识别图片中的最多 10 张人脸,支持一次性跨 100 个人员库(Group)搜索。
///
/// 单次搜索的人员库人脸总数量和人员库的算法模型版本(FaceModelVersion)相关。算法模型版本为2.0的人员库,单次搜索人员库人脸总数量不得超过 100 万张;算法模型版本为3.0的人员库,单次搜索人员库人脸总数量不得超过 300 万张。
///
/// 本接口会将该人员(Person)下的所有人脸(Face)进行融合特征处理,即若某个 Person 下有4张 Face ,本接口会将4张 Face 的特征进行融合处理,生成对应这个 Person 的特征,使人员搜索(确定待识别的人脸图片是某人)更加准确。而[人脸搜索](https://cloud.tencent.com/document/product/867/44994)及[人脸搜索按库返回接口](https://cloud.tencent.com/document/product/867/44993)将该人员(Person)下的每个人脸(Face)都作为单独个体进行搜索。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// - 仅支持算法模型版本(FaceModelVersion)为3.0的人员库。
/// </summary>
/// <param name="req"><see cref="SearchPersonsRequest"/></param>
/// <returns><see cref="SearchPersonsResponse"/></returns>
public Task<SearchPersonsResponse> SearchPersons(SearchPersonsRequest req)
{
return InternalRequestAsync<SearchPersonsResponse>(req, "SearchPersons");
}
/// <summary>
/// 用于对一张待识别的人脸图片,在一个或多个人员库中识别出最相似的 TopK 人员,按照相似度从大到小排列。
///
/// 支持一次性识别图片中的最多 10 张人脸,支持一次性跨 100 个人员库(Group)搜索。
///
/// 单次搜索的人员库人脸总数量和人员库的算法模型版本(FaceModelVersion)相关。算法模型版本为2.0的人员库,单次搜索人员库人脸总数量不得超过 100 万张;算法模型版本为3.0的人员库,单次搜索人员库人脸总数量不得超过 300 万张。
///
/// 本接口会将该人员(Person)下的所有人脸(Face)进行融合特征处理,即若某个 Person 下有4张 Face ,本接口会将4张 Face 的特征进行融合处理,生成对应这个 Person 的特征,使人员搜索(确定待识别的人脸图片是某人)更加准确。而[人脸搜索](https://cloud.tencent.com/document/product/867/44994)及[人脸搜索按库返回接口](https://cloud.tencent.com/document/product/867/44993)将该人员(Person)下的每个人脸(Face)都作为单独个体进行搜索。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// - 仅支持算法模型版本(FaceModelVersion)为3.0的人员库。
/// </summary>
/// <param name="req"><see cref="SearchPersonsRequest"/></param>
/// <returns><see cref="SearchPersonsResponse"/></returns>
public SearchPersonsResponse SearchPersonsSync(SearchPersonsRequest req)
{
return InternalRequestAsync<SearchPersonsResponse>(req, "SearchPersons")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 用于对一张待识别的人脸图片,在一个或多个人员库中识别出最相似的 TopK 人员,按照**人员库的维度**以人员相似度从大到小顺序排列。
///
/// 支持一次性识别图片中的最多 10 张人脸,支持跨人员库(Group)搜索。
///
/// 单次搜索的人员库人脸总数量和人员库的算法模型版本(FaceModelVersion)相关。算法模型版本为2.0的人员库,单次搜索人员库人脸总数量不得超过 100 万张;算法模型版本为3.0的人员库,单次搜索人员库人脸总数量不得超过 300 万张。
///
/// 本接口会将该人员(Person)下的所有人脸(Face)进行融合特征处理,即若某个 Person 下有4张 Face ,本接口会将4张 Face 的特征进行融合处理,生成对应这个 Person 的特征,使人员搜索(确定待识别的人脸图片是某人)更加准确。而[人脸搜索](https://cloud.tencent.com/document/product/867/44994)及[人脸搜索按库返回接口](https://cloud.tencent.com/document/product/867/44993)将该人员(Person)下的每个人脸(Face)都作为单独个体进行搜索。
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// - 仅支持算法模型版本(FaceModelVersion)为3.0的人员库。
/// </summary>
/// <param name="req"><see cref="SearchPersonsReturnsByGroupRequest"/></param>
/// <returns><see cref="SearchPersonsReturnsByGroupResponse"/></returns>
public Task<SearchPersonsReturnsByGroupResponse> SearchPersonsReturnsByGroup(SearchPersonsReturnsByGroupRequest req)
{
return InternalRequestAsync<SearchPersonsReturnsByGroupResponse>(req, "SearchPersonsReturnsByGroup");
}
/// <summary>
/// 用于对一张待识别的人脸图片,在一个或多个人员库中识别出最相似的 TopK 人员,按照**人员库的维度**以人员相似度从大到小顺序排列。
///
/// 支持一次性识别图片中的最多 10 张人脸,支持跨人员库(Group)搜索。
///
/// 单次搜索的人员库人脸总数量和人员库的算法模型版本(FaceModelVersion)相关。算法模型版本为2.0的人员库,单次搜索人员库人脸总数量不得超过 100 万张;算法模型版本为3.0的人员库,单次搜索人员库人脸总数量不得超过 300 万张。
///
/// 本接口会将该人员(Person)下的所有人脸(Face)进行融合特征处理,即若某个 Person 下有4张 Face ,本接口会将4张 Face 的特征进行融合处理,生成对应这个 Person 的特征,使人员搜索(确定待识别的人脸图片是某人)更加准确。而[人脸搜索](https://cloud.tencent.com/document/product/867/44994)及[人脸搜索按库返回接口](https://cloud.tencent.com/document/product/867/44993)将该人员(Person)下的每个人脸(Face)都作为单独个体进行搜索。
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// - 仅支持算法模型版本(FaceModelVersion)为3.0的人员库。
/// </summary>
/// <param name="req"><see cref="SearchPersonsReturnsByGroupRequest"/></param>
/// <returns><see cref="SearchPersonsReturnsByGroupResponse"/></returns>
public SearchPersonsReturnsByGroupResponse SearchPersonsReturnsByGroupSync(SearchPersonsReturnsByGroupRequest req)
{
return InternalRequestAsync<SearchPersonsReturnsByGroupResponse>(req, "SearchPersonsReturnsByGroup")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 避免官网歧义
///
/// 升级人员库。升级过程中,人员库仍然为原算法版本,人员库相关操作仍然支持。升级完成后,人员库为新算法版本。
/// 单个人员库有且仅支持一次回滚操作。
///
/// 升级是一个耗时的操作,执行时间与人员库的人脸数相关,升级的人员库中的人脸数越多,升级的耗时越长。升级接口是个异步任务,调用成功后返回JobId,通过GetUpgradeGroupFaceModelVersionResult查询升级进度和结果。如果升级成功,人员库版本将切换到新版本。如果想回滚到旧版本,可以调用RevertGroupFaceModelVersion进行回滚。
///
/// 注:某些接口无法进行跨人员库版本操作,例如SearchFaces,SearchPersons和CopyPerson等。当业务有多个Group操作的场景时,如同时搜索Group1和Group2,如果升级了Group1,此时Group1和Group2版本不同,造成了跨版本操作,将导致Search接口无法正常执行,返回不允许执行跨版本操作错误,升级前需考虑业务是否有多库操作的场景,否则会影响线上接口表现。
/// </summary>
/// <param name="req"><see cref="UpgradeGroupFaceModelVersionRequest"/></param>
/// <returns><see cref="UpgradeGroupFaceModelVersionResponse"/></returns>
public Task<UpgradeGroupFaceModelVersionResponse> UpgradeGroupFaceModelVersion(UpgradeGroupFaceModelVersionRequest req)
{
return InternalRequestAsync<UpgradeGroupFaceModelVersionResponse>(req, "UpgradeGroupFaceModelVersion");
}
/// <summary>
/// 避免官网歧义
///
/// 升级人员库。升级过程中,人员库仍然为原算法版本,人员库相关操作仍然支持。升级完成后,人员库为新算法版本。
/// 单个人员库有且仅支持一次回滚操作。
///
/// 升级是一个耗时的操作,执行时间与人员库的人脸数相关,升级的人员库中的人脸数越多,升级的耗时越长。升级接口是个异步任务,调用成功后返回JobId,通过GetUpgradeGroupFaceModelVersionResult查询升级进度和结果。如果升级成功,人员库版本将切换到新版本。如果想回滚到旧版本,可以调用RevertGroupFaceModelVersion进行回滚。
///
/// 注:某些接口无法进行跨人员库版本操作,例如SearchFaces,SearchPersons和CopyPerson等。当业务有多个Group操作的场景时,如同时搜索Group1和Group2,如果升级了Group1,此时Group1和Group2版本不同,造成了跨版本操作,将导致Search接口无法正常执行,返回不允许执行跨版本操作错误,升级前需考虑业务是否有多库操作的场景,否则会影响线上接口表现。
/// </summary>
/// <param name="req"><see cref="UpgradeGroupFaceModelVersionRequest"/></param>
/// <returns><see cref="UpgradeGroupFaceModelVersionResponse"/></returns>
public UpgradeGroupFaceModelVersionResponse UpgradeGroupFaceModelVersionSync(UpgradeGroupFaceModelVersionRequest req)
{
return InternalRequestAsync<UpgradeGroupFaceModelVersionResponse>(req, "UpgradeGroupFaceModelVersion")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 给定一张人脸图片和一个 PersonId,判断图片中的人和 PersonId 对应的人是否为同一人。PersonId 请参考[人员库管理相关接口](https://cloud.tencent.com/document/product/867/45015)。
///
/// 与[人脸比对](https://cloud.tencent.com/document/product/867/44987)接口不同的是,人脸验证用于判断 “此人是否是此人”,“此人”的信息已存于人员库中,“此人”可能存在多张人脸图片;而[人脸比对](https://cloud.tencent.com/document/product/867/44987)用于判断两张人脸的相似度。
///
/// 与[人员验证](https://cloud.tencent.com/document/product/867/44982)接口不同的是,人脸验证将该人员(Person)下的每个人脸(Face)都作为单独个体进行验证,而[人员验证](https://cloud.tencent.com/document/product/867/44982)会将该人员(Person)下的所有人脸(Face)进行融合特征处理,即若某个 Person下有4张 Face,人员验证接口会将4张 Face 的特征进行融合处理,生成对应这个 Person 的特征,使人员验证(确定待识别的人脸图片是某人员)更加准确。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// </summary>
/// <param name="req"><see cref="VerifyFaceRequest"/></param>
/// <returns><see cref="VerifyFaceResponse"/></returns>
public Task<VerifyFaceResponse> VerifyFace(VerifyFaceRequest req)
{
return InternalRequestAsync<VerifyFaceResponse>(req, "VerifyFace");
}
/// <summary>
/// 给定一张人脸图片和一个 PersonId,判断图片中的人和 PersonId 对应的人是否为同一人。PersonId 请参考[人员库管理相关接口](https://cloud.tencent.com/document/product/867/45015)。
///
/// 与[人脸比对](https://cloud.tencent.com/document/product/867/44987)接口不同的是,人脸验证用于判断 “此人是否是此人”,“此人”的信息已存于人员库中,“此人”可能存在多张人脸图片;而[人脸比对](https://cloud.tencent.com/document/product/867/44987)用于判断两张人脸的相似度。
///
/// 与[人员验证](https://cloud.tencent.com/document/product/867/44982)接口不同的是,人脸验证将该人员(Person)下的每个人脸(Face)都作为单独个体进行验证,而[人员验证](https://cloud.tencent.com/document/product/867/44982)会将该人员(Person)下的所有人脸(Face)进行融合特征处理,即若某个 Person下有4张 Face,人员验证接口会将4张 Face 的特征进行融合处理,生成对应这个 Person 的特征,使人员验证(确定待识别的人脸图片是某人员)更加准确。
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// </summary>
/// <param name="req"><see cref="VerifyFaceRequest"/></param>
/// <returns><see cref="VerifyFaceResponse"/></returns>
public VerifyFaceResponse VerifyFaceSync(VerifyFaceRequest req)
{
return InternalRequestAsync<VerifyFaceResponse>(req, "VerifyFace")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
/// <summary>
/// 给定一张人脸图片和一个 PersonId,判断图片中的人和 PersonId 对应的人是否为同一人。PersonId 请参考[人员库管理相关接口](https://cloud.tencent.com/document/product/867/45015)。
/// 本接口会将该人员(Person)下的所有人脸(Face)进行融合特征处理,即若某个Person下有4张 Face,本接口会将4张 Face 的特征进行融合处理,生成对应这个 Person 的特征,使人员验证(确定待识别的人脸图片是某人员)更加准确。
///
/// 和人脸比对相关接口不同的是,人脸验证相关接口用于判断 “此人是否是此人”,“此人”的信息已存于人员库中,“此人”可能存在多张人脸图片;而人脸比对相关接口用于判断两张人脸的相似度。
///
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// - 仅支持算法模型版本(FaceModelVersion)为3.0的人员库。
/// </summary>
/// <param name="req"><see cref="VerifyPersonRequest"/></param>
/// <returns><see cref="VerifyPersonResponse"/></returns>
public Task<VerifyPersonResponse> VerifyPerson(VerifyPersonRequest req)
{
return InternalRequestAsync<VerifyPersonResponse>(req, "VerifyPerson");
}
/// <summary>
/// 给定一张人脸图片和一个 PersonId,判断图片中的人和 PersonId 对应的人是否为同一人。PersonId 请参考[人员库管理相关接口](https://cloud.tencent.com/document/product/867/45015)。
/// 本接口会将该人员(Person)下的所有人脸(Face)进行融合特征处理,即若某个Person下有4张 Face,本接口会将4张 Face 的特征进行融合处理,生成对应这个 Person 的特征,使人员验证(确定待识别的人脸图片是某人员)更加准确。
///
/// 和人脸比对相关接口不同的是,人脸验证相关接口用于判断 “此人是否是此人”,“此人”的信息已存于人员库中,“此人”可能存在多张人脸图片;而人脸比对相关接口用于判断两张人脸的相似度。
///
///
/// >
/// - 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
/// - 仅支持算法模型版本(FaceModelVersion)为3.0的人员库。
/// </summary>
/// <param name="req"><see cref="VerifyPersonRequest"/></param>
/// <returns><see cref="VerifyPersonResponse"/></returns>
public VerifyPersonResponse VerifyPersonSync(VerifyPersonRequest req)
{
return InternalRequestAsync<VerifyPersonResponse>(req, "VerifyPerson")
.ConfigureAwait(false).GetAwaiter().GetResult();
}
}
}
1
https://gitee.com/tencentcloud/tencentcloud-sdk-dotnet.git
git@gitee.com:tencentcloud/tencentcloud-sdk-dotnet.git
tencentcloud
tencentcloud-sdk-dotnet
tencentcloud-sdk-dotnet
master

搜索帮助