你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Face class
表示人脸的类。
构造函数
Face(Face |
创建人脸。 |
方法
detect |
检测图像中的人脸,返回人脸矩形以及可选的 faceId、地标和属性。
|
detect |
|
detect |
|
detect |
检测图像中的人脸,返回人脸矩形以及可选的 faceId、地标和属性。
|
detect |
|
detect |
|
find |
给定查询人脸的 faceId,用于在 faceId 数组、人脸列表或大型人脸列表中搜索类似的人脸。 faceId 数组包含由 Face - Detect With Url 或 Face - Detect With Stream 创建的人脸,这些人脸将在创建后 faceIdTimeToLive 指定的时间过期。 “faceListId”由 FaceList 创建 - 创建 包含不会过期的 persistedFaceIds。 “largeFaceListId”由 LargeFaceList 创建 - 创建 包含持久化FaceIds 且不会过期。 根据输入,返回的相似人脸列表包含按相似性排名的 faceIds 或 persistedFaceId。
|
find |
|
find |
|
group(string[], Request |
根据人脸相似性将候选人脸划分为组。
|
group(string[], Request |
|
group(string[], Service |
|
identify(string[], Face |
一对多的识别,用于在人员组或大型人员组中查找与特定查询人脸最接近的匹配项。
备注:
|
identify(string[], Face |
|
identify(string[], Service |
|
verify |
验证两张人脸是否属于同一个人,或者一张人脸是否属于某一个人。
|
verify |
|
verify |
|
verify |
验证两张人脸是否属于同一个人。 将人脸 ID 与人员 ID 进行比较 |
verify |
|
verify |
构造函数详细信息
Face(FaceClientContext)
方法详细信息
detectWithStream(HttpRequestBody, FaceDetectWithStreamOptionalParams)
检测图像中的人脸,返回人脸矩形以及可选的 faceId、地标和属性。
- 不会存储任何图像。 只有提取的人脸特征将存储在服务器上。 faceId 是人脸功能的标识符,将在 人脸 - 标识、 人脸 - 验证和 人脸 - 查找相似内容中使用。 存储的人脸功能 () 将在原始检测调用后 faceIdTimeToLive 指定的时间过期并被删除。
- 可选参数包括 faceId、陆标和属性。 属性包括年龄、性别、头部、微笑、面部、眼镜、情感、头发、化妆、遮挡、配件、模糊、曝光、噪音、面具和 qualityForRecognition。 为特定属性返回的某些结果可能不太准确。
- 支持 JPEG、PNG、GIF (第一帧) 和 BMP 格式。 允许的图像文件大小为 1KB 到 6MB。
- 一张图像最多可以返回 100 张人脸。 人脸将根据人脸矩形大小按从大到小的顺序排序。
- 若要在查询 人脸 - 识别、 人脸 - 验证和 人脸 - 查找相似 ('returnFaceId'为 true) 时获得最佳结果,请使用正面、清晰且最小大小为 200x200 像素 (眼睛) 100 像素的人脸。
- 在不超过 1920x1080 像素的图像中,可检测到的最小人脸大小为 36x36 像素。 尺寸大于 1920x1080 像素的图像需要按比例增大最小人脸大小。
- 可以提供不同的“detectionModel”值。 若要使用和比较不同的检测模型,请参阅 如何指定检测模型
- 提供了不同的“recognitionModel”值。 如果需要“验证”、“识别”、“查找相似”等后续操作,请使用“recognitionModel”参数指定识别模型。 “recognitionModel”的默认值为“recognition_01”,如果需要最新的模型,请在此参数中显式指定所需的模型。 指定后,检测到的 faceId 将与指定的识别模型相关联。 有关详细信息,请参阅 指定识别模型。
function detectWithStream(image: HttpRequestBody, options?: FaceDetectWithStreamOptionalParams): Promise<FaceDetectWithStreamResponse>
参数
- image
- HttpRequestBody
图像流。
可选参数
返回
Promise<FaceDetectWithStreamResponse>
Promise<Models.FaceDetectWithStreamResponse>
detectWithStream(HttpRequestBody, FaceDetectWithStreamOptionalParams, ServiceCallback<DetectedFace[]>)
function detectWithStream(image: HttpRequestBody, options: FaceDetectWithStreamOptionalParams, callback: ServiceCallback<DetectedFace[]>)
参数
- image
- HttpRequestBody
图像流。
可选参数
- callback
回调
detectWithStream(HttpRequestBody, ServiceCallback<DetectedFace[]>)
function detectWithStream(image: HttpRequestBody, callback: ServiceCallback<DetectedFace[]>)
参数
- image
- HttpRequestBody
图像流。
- callback
回调
detectWithUrl(string, FaceDetectWithUrlOptionalParams)
检测图像中的人脸,返回人脸矩形以及可选的 faceId、地标和属性。
不会存储任何图像。 只有提取的人脸特征将存储在服务器上。 faceId 是人脸特征的标识符,将在 人脸 - 识别、 人脸 - 验证和 人脸 - 查找相似内容中使用。 () 存储的人脸特征将在原始检测调用后 faceIdTimeToLive 指定的时间过期并被删除。
可选参数包括 faceId、地标和属性。 属性包括年龄、性别、头部、微笑、面部毛发、眼镜、情感、头发、化妆、遮挡、配件、模糊、曝光、噪音、面具和 qualityForRecognition。 为特定属性返回的某些结果可能不准确。
支持 JPEG、PNG、GIF (第一帧) 和 BMP 格式。 允许的图像文件大小为 1KB 到 6MB。
一张图像最多可以返回 100 张人脸。 人脸将根据人脸矩形大小按从大到小的顺序排序。
若要在查询 人脸 - 识别、 人脸验证和 人脸时获得最佳结果-查找相似 (“returnFaceId”为 true) ,请使用正面、清晰且最小大小为 200x200 像素 (100 像素的人脸) 。
在不超过 1920x1080 像素的图像中,可检测的最小人脸大小为 36x36 像素。 尺寸高于 1920x1080 像素的图像需要成比例更大的最小人脸大小。
可以提供不同的“detectionModel”值。 若要使用和比较不同的检测模型,请参阅 如何指定检测模型。
提供了不同的“recognitionModel”值。 如果需要后续操作(如验证、识别、查找相似内容),请使用“recognitionModel”参数指定识别模型。 “recognitionModel”的默认值为“recognition_01”,如果需要最新的模型,请在此参数中显式指定所需的模型。 指定后,检测到的 faceId 将与指定的识别模型相关联。 有关详细信息,请参阅 指定识别模型。
function detectWithUrl(url: string, options?: FaceDetectWithUrlOptionalParams): Promise<FaceDetectWithUrlResponse>
参数
- url
-
string
图像的可公开访问 URL
- options
- FaceDetectWithUrlOptionalParams
可选参数
返回
Promise<FaceDetectWithUrlResponse>
Promise<Models.FaceDetectWithUrlResponse>
detectWithUrl(string, FaceDetectWithUrlOptionalParams, ServiceCallback<DetectedFace[]>)
function detectWithUrl(url: string, options: FaceDetectWithUrlOptionalParams, callback: ServiceCallback<DetectedFace[]>)
参数
- url
-
string
图像的可公开访问 URL
- options
- FaceDetectWithUrlOptionalParams
可选参数
- callback
回调
detectWithUrl(string, ServiceCallback<DetectedFace[]>)
function detectWithUrl(url: string, callback: ServiceCallback<DetectedFace[]>)
参数
- url
-
string
图像的可公开访问 URL
- callback
回调
findSimilar(string, FaceFindSimilarOptionalParams)
给定查询人脸的 faceId,用于在 faceId 数组、人脸列表或大型人脸列表中搜索类似的人脸。 faceId 数组包含由 Face - Detect With Url 或 Face - Detect With Stream 创建的人脸,这些人脸将在创建后 faceIdTimeToLive 指定的时间过期。 “faceListId”由 FaceList 创建 - 创建 包含不会过期的 persistedFaceIds。 “largeFaceListId”由 LargeFaceList 创建 - 创建 包含持久化FaceIds 且不会过期。 根据输入,返回的相似人脸列表包含按相似性排名的 faceIds 或 persistedFaceId。
查找类似的有两种工作模式:“matchPerson”和“matchFace”。 “matchPerson”是默认模式,它尝试使用内部同一人员阈值来查找同一人的人脸。 查找已知人员的其他照片很有用。 请注意,如果没有人脸通过内部阈值,将返回空列表。 “matchFace”模式忽略同一人阈值,并返回排名相似的人脸,即使相似性也很低。 它可用于搜索名人脸等情况。
与查询人脸的 faceId 关联的“recognitionModel”应与目标 faceId 数组、人脸列表或大型人脸列表使用的“recognitionModel”相同。
function findSimilar(faceId: string, options?: FaceFindSimilarOptionalParams): Promise<FaceFindSimilarResponse>
参数
- faceId
-
string
查询人脸的 FaceId。 用户需要首先调用人脸 - 检测才能获取有效的 faceId。 请注意,此 faceId 不持久化,将在检测调用后 faceIdTimeToLive 指定的时间过期
- options
- FaceFindSimilarOptionalParams
可选参数
返回
Promise<FaceFindSimilarResponse>
Promise<Models.FaceFindSimilarResponse>
findSimilar(string, FaceFindSimilarOptionalParams, ServiceCallback<SimilarFace[]>)
function findSimilar(faceId: string, options: FaceFindSimilarOptionalParams, callback: ServiceCallback<SimilarFace[]>)
参数
- faceId
-
string
查询人脸的 FaceId。 用户需要首先调用人脸 - 检测才能获取有效的 faceId。 请注意,此 faceId 不持久化,将在检测调用后 faceIdTimeToLive 指定的时间过期
- options
- FaceFindSimilarOptionalParams
可选参数
- callback
回调
findSimilar(string, ServiceCallback<SimilarFace[]>)
function findSimilar(faceId: string, callback: ServiceCallback<SimilarFace[]>)
参数
- faceId
-
string
查询人脸的 FaceId。 用户需要首先调用人脸 - 检测才能获取有效的 faceId。 请注意,此 faceId 不持久化,将在检测调用后 faceIdTimeToLive 指定的时间过期
- callback
回调
group(string[], RequestOptionsBase)
根据人脸相似性将候选人脸划分为组。
- 输出是一个或多个不连续的人脸组和一个混乱的组。 人脸组包含外观相似的人脸,通常是同一个人。 人脸组按组大小(即人脸数量)进行排名。 请注意,属于同一人的人脸可能会在结果中拆分为多个组。
- MessyGroup 是一个特殊的人脸组,包含无法从原始人脸中找到任何相似的对应人脸的人脸。 如果所有人脸都找到了对应的人,则杂乱的Group 将不会显示在结果中。
- 组 API 至少需要 2 张候选人脸,最多需要 1000 张。 我们建议尝试 人脸 - 验证 你是否只有 2 张候选人脸。
- 与查询人脸关联的“recognitionModel”faceIds 应相同。
function group(faceIds: string[], options?: RequestOptionsBase): Promise<FaceGroupResponse>
参数
- faceIds
-
string[]
由人脸 - 检测创建的候选 faceId 数组。 最大为 1000 张人脸
- options
- RequestOptionsBase
可选参数
返回
Promise<FaceGroupResponse>
Promise<Models.FaceGroupResponse>
group(string[], RequestOptionsBase, ServiceCallback<GroupResult>)
function group(faceIds: string[], options: RequestOptionsBase, callback: ServiceCallback<GroupResult>)
参数
- faceIds
-
string[]
由人脸 - 检测创建的候选 faceId 数组。 最大为 1000 张人脸
- options
- RequestOptionsBase
可选参数
- callback
回调
group(string[], ServiceCallback<GroupResult>)
function group(faceIds: string[], callback: ServiceCallback<GroupResult>)
参数
- faceIds
-
string[]
由人脸 - 检测创建的候选 faceId 数组。 最大为 1000 张人脸
- callback
回调
identify(string[], FaceIdentifyOptionalParams)
一对多的识别,用于在人员组或大型人员组中查找与特定查询人脸最接近的匹配项。
对于 faceIds 数组中的每个人脸,人脸识别将计算查询人脸与由 personGroupId) 或大型人组 (由 largePersonGroupId) 提供的人员组 (的所有人脸之间的相似性,并返回按相似性置信度排名的该人脸的候选人员 (s) 。 应训练人员组/大型人员组,使其准备好进行识别。 有关详细信息,请参阅 PersonGroup - Train 和 LargePersonGroup - Train。
备注:
- 该算法允许在同一请求中独立识别多个人脸,但不超过 10 张人脸。
- 人员组/大型人员组中的每个人都可以有多个人脸,但不能超过 248 张人脸。
- 更高的人脸图像质量意味着更好的识别精度。 请考虑高质量的人脸:正面、清晰,人脸大小为 200x200 像素 (100 像素,眼睛之间) 或更大。
- 返回的候选项数受 maxNumOfCandidatesReturned 和 confidenceThreshold 的限制。 如果未标识人员,则返回的候选项将为空数组。
- 当需要从人脸列表/大型人脸列表中而不是人员组/大型人脸组中查找相似人脸时,请尝试“ 查找相似 人脸”。
- 与查询人脸关联的“recognitionModel”faceIds 应与目标人员组或大型人员组使用的“recognitionModel”相同。
function identify(faceIds: string[], options?: FaceIdentifyOptionalParams): Promise<FaceIdentifyResponse>
参数
- faceIds
-
string[]
查询人脸的数组 faceIds,由人脸 - 检测创建。 每个人脸都是独立标识的。 faceIds 的有效数目在 [1, 10] 之间。
- options
- FaceIdentifyOptionalParams
可选参数
返回
Promise<FaceIdentifyResponse>
Promise<Models.FaceIdentifyResponse>
identify(string[], FaceIdentifyOptionalParams, ServiceCallback<IdentifyResult[]>)
function identify(faceIds: string[], options: FaceIdentifyOptionalParams, callback: ServiceCallback<IdentifyResult[]>)
参数
- faceIds
-
string[]
查询人脸的数组 faceIds,由人脸 - 检测创建。 每个人脸都是独立标识的。 faceIds 的有效数目在 [1, 10] 之间。
- options
- FaceIdentifyOptionalParams
可选参数
- callback
回调
identify(string[], ServiceCallback<IdentifyResult[]>)
function identify(faceIds: string[], callback: ServiceCallback<IdentifyResult[]>)
参数
- faceIds
-
string[]
查询人脸的数组 faceIds,由人脸 - 检测创建。 每个人脸都是独立标识的。 faceIds 的有效数目在 [1, 10] 之间。
- callback
回调
verifyFaceToFace(string, string, RequestOptionsBase)
验证两张人脸是否属于同一个人,或者一张人脸是否属于某一个人。
备注:
- 更高的人脸图像质量意味着更好的识别精度。 请考虑高质量的人脸:正面、清晰,人脸大小为 200x200 像素 (100 像素,眼睛之间) 或更大。
- 对于对准确性敏感的方案,请做出自己的判断。
- 与查询人脸关联的“recognitionModel”faceIds 应与目标人脸、人员组或大型人员组使用的“recognitionModel”相同。
function verifyFaceToFace(faceId1: string, faceId2: string, options?: RequestOptionsBase): Promise<FaceVerifyFaceToFaceResponse>
参数
- faceId1
-
string
第一张人脸的 FaceId 来自人脸 - 检测
- faceId2
-
string
第二张人脸的 FaceId 来自人脸 - 检测
- options
- RequestOptionsBase
可选参数
返回
Promise<FaceVerifyFaceToFaceResponse>
Promise<Models.FaceVerifyFaceToFaceResponse>
verifyFaceToFace(string, string, RequestOptionsBase, ServiceCallback<VerifyResult>)
function verifyFaceToFace(faceId1: string, faceId2: string, options: RequestOptionsBase, callback: ServiceCallback<VerifyResult>)
参数
- faceId1
-
string
第一张人脸的 FaceId 来自人脸 - 检测
- faceId2
-
string
第二张人脸的 FaceId 来自人脸 - 检测
- options
- RequestOptionsBase
可选参数
- callback
回调
verifyFaceToFace(string, string, ServiceCallback<VerifyResult>)
function verifyFaceToFace(faceId1: string, faceId2: string, callback: ServiceCallback<VerifyResult>)
参数
- faceId1
-
string
第一张人脸的 FaceId 来自人脸 - 检测
- faceId2
-
string
第二张人脸的 FaceId 来自人脸 - 检测
- callback
回调
verifyFaceToPerson(string, string, FaceVerifyFaceToPersonOptionalParams)
验证两张人脸是否属于同一个人。 将人脸 ID 与人员 ID 进行比较
function verifyFaceToPerson(faceId: string, personId: string, options?: FaceVerifyFaceToPersonOptionalParams): Promise<FaceVerifyFaceToPersonResponse>
参数
- faceId
-
string
人脸的 FaceId,来自人脸 - 检测
- personId
-
string
指定人员组中的某个人员或大型人员组中的某个人员。 personId 是在 PersonGroup Person - Create 或 LargePersonGroup Person - Create 中创建的。
可选参数
返回
Promise<FaceVerifyFaceToPersonResponse>
Promise<Models.FaceVerifyFaceToPersonResponse>
verifyFaceToPerson(string, string, FaceVerifyFaceToPersonOptionalParams, ServiceCallback<VerifyResult>)
function verifyFaceToPerson(faceId: string, personId: string, options: FaceVerifyFaceToPersonOptionalParams, callback: ServiceCallback<VerifyResult>)
参数
- faceId
-
string
人脸的 FaceId,来自人脸 - 检测
- personId
-
string
指定人员组中的某个人员或大型人员组中的某个人员。 personId 是在 PersonGroup Person - Create 或 LargePersonGroup Person - Create 中创建的。
可选参数
- callback
回调
verifyFaceToPerson(string, string, ServiceCallback<VerifyResult>)
function verifyFaceToPerson(faceId: string, personId: string, callback: ServiceCallback<VerifyResult>)
参数
- faceId
-
string
人脸的 FaceId,来自人脸 - 检测
- personId
-
string
指定人员组中的某个人员或大型人员组中的某个人员。 personId 是在 PersonGroup Person - Create 或 LargePersonGroup Person - Create 中创建的。
- callback
回调