你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
FaceOperations 类
FaceOperations 操作。
不应直接实例化此类,而应创建一个客户端实例,该实例将为你创建它并将其附加为属性。
- 继承
-
builtins.objectFaceOperations
构造函数
FaceOperations(client, config, serializer, deserializer)
参数
名称 | 说明 |
---|---|
client
必需
|
服务请求的客户端。 |
config
必需
|
服务客户端的配置。 |
serializer
必需
|
对象模型序列化程序。 |
deserializer
必需
|
对象模型反序列化程序。 |
方法
detect_with_stream |
检测图像中的人脸,返回人脸矩形以及可选的 faceId、地标和属性。
|
detect_with_url |
检测图像中的人脸,返回人脸矩形以及可选的 faceId、地标和属性。
|
find_similar |
给定查询人脸的 faceId,用于在 faceId 数组、人脸列表或大型人脸列表中搜索类似的人脸。 faceId 数组包含由 Face - Detect With URL 或 Face - Detect With Stream 创建的人脸,这些人脸将在创建后 faceIdTimeToLive 指定的时间过期。 “faceListId”由 FaceList - 创建 包含不会过期的 persistedFaceIds 创建。 “largeFaceListId”由 LargeFaceList - 创建 ,其中包含也不会过期的 persistedFaceId。 根据输入,返回的相似人脸列表包含按相似性排名的 faceId 或 persistedFaceId。
|
group |
根据人脸相似性将候选人脸划分为组。
|
identify |
一对多的识别,用于在人员组或大型人员组中查找与特定查询人脸最接近的匹配项。
|
verify_face_to_face |
验证两张人脸是否属于同一个人,或者一张人脸是否属于某一个人。
|
verify_face_to_person |
验证两张人脸是否属于同一个人。 将人脸 ID 与人员 ID 进行比较。 |
detect_with_stream
检测图像中的人脸,返回人脸矩形以及可选的 faceId、地标和属性。
- 不会存储任何图像。 只有提取的人脸特征将存储在服务器上。 faceId 是人脸特征的标识符,将在 人脸 - 识别、 人脸 - 验证和 人脸 - 查找相似内容中使用。 () 存储的人脸特征将在原始检测调用后 faceIdTimeToLive 指定的时间过期并被删除。
- 可选参数包括 faceId、地标和属性。 属性包括年龄、性别、头部、微笑、面部毛发、眼镜、情感、头发、化妆、遮挡、配件、模糊、曝光、噪音、面具和 qualityForRecognition。 为特定属性返回的某些结果可能不准确。
- 支持 JPEG、PNG、GIF (第一帧) 和 BMP 格式。 允许的图像文件大小为 1KB 到 6MB。
- 一张图像最多可以返回 100 张人脸。 人脸将根据人脸矩形大小按从大到小的顺序排序。
- 若要在查询 人脸 - 识别、 人脸 - 验证和 人脸 - 查找相似 (“returnFaceId”为 true) 时获得最佳结果,请使用正面、清晰且最小大小为 200x200 像素 (眼睛) 100 像素的人脸。
- 图像中最小可检测人脸大小为 36x36 像素,且不超过 1920x1080 像素。 尺寸高于 1920x1080 像素的图像需要成比例更大的最小人脸大小。
- 可以提供不同的“detectionModel”值。 若要使用和比较不同的检测模型,请参阅 如何指定检测模型
- 提供了不同的“recognitionModel”值。 如果需要后续操作(如验证、识别、查找相似内容),请使用“recognitionModel”参数指定识别模型。 “recognitionModel”的默认值为“recognition_01”,如果需要最新的模型,请在此参数中显式指定所需的模型。 指定后,检测到的 faceId 将与指定的识别模型相关联。 有关详细信息,请参阅 指定识别模型。
detect_with_stream(image, return_face_id=True, return_face_landmarks=False, return_face_attributes=None, recognition_model='recognition_01', return_recognition_model=False, detection_model='detection_01', face_id_time_to_live=86400, custom_headers=None, raw=False, callback=None, **operation_config)
参数
名称 | 说明 |
---|---|
image
必需
|
图像流。 |
return_face_id
|
一个值,该值指示操作是否应返回检测到的人脸的 faceIds。 默认值: True
|
return_face_landmarks
|
一个值,该值指示操作是否应返回检测到的人脸的地标。 默认值: False
|
return_face_attributes
|
分析并返回逗号分隔字符串中的一个或多个指定人脸属性,例如“returnFaceAttributes=age,gender”。 可用属性取决于指定的“detectionModel”。 “detection_01”支持年龄、性别、头部、微笑、面部头发、眼镜、情感、头发、化妆、遮挡、配件、模糊、曝光、噪音和质量ForRecognition。 虽然“detection_02”不支持任何属性,但“detection_03”仅支持 mask 和 qualityForRecognition。 此外,仅当将“recognitionModel”指定为“recognition_03”或“recognition_04”时,才支持 qualityForRecognition。 请注意,每个人脸属性分析都有额外的计算和时间成本。 默认值: None
|
recognition_model
|
识别模型的名称。 提取人脸特征并将其与检测到的 faceIds 相关联时,将使用识别模型, (大型) FaceList 或 (大型) PersonGroup。 执行人脸 - 检测或 (大型) 人脸列表 - 创建或 (大型) PersonGroup - Create 时,可以提供识别模型名称。 默认值为“recognition_01”,如果需要最新的模型,请显式指定所需的模型。 可能的值包括:“recognition_01”、“recognition_02”、“recognition_03”、“recognition_04” 默认值: recognition_01
|
return_recognition_model
|
一个值,该值指示操作是否应返回“recognitionModel”作为响应。 默认值: False
|
detection_model
|
检测模型的名称。 检测模型用于检测提交图像中的人脸。 执行人脸 - 检测或 (大型) 人脸列表 - 添加人脸或 (大型) PersonGroup - 添加人脸时,可以提供检测模型名称。 默认值为“detection_01”,如果需要其他模型,请显式指定它。 可能的值包括:“detection_01”、“detection_02”、“detection_03” 默认值: detection_01
|
face_id_time_to_live
|
正在缓存的 faceId 的秒数。 支持的范围从 60 秒到 86400 秒。 默认值为 86400(24 小时)。 默认值: 86400
|
custom_headers
|
将添加到请求的标头 默认值: None
|
raw
|
返回直接响应以及反序列化的响应 默认值: False
|
callback
|
Callable[<xref:Bytes>, <xref:response=None>]
指定后,将使用流式传输的每个数据块调用 。 回调应采用两个参数:当前数据区块的字节和响应对象。 如果数据正在上传,响应将为“无”。 默认值: None
|
operation_config
必需
|
操作配置替代。 |
返回
类型 | 说明 |
---|---|
<xref:msrest.pipeline.ClientRawResponse>
|
如果 raw=true,则 list 或 ClientRawResponse |
例外
类型 | 说明 |
---|---|
detect_with_url
检测图像中的人脸,返回人脸矩形以及可选的 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 将与指定的识别模型相关联。 有关详细信息,请参阅 指定识别模型。
detect_with_url(url, return_face_id=True, return_face_landmarks=False, return_face_attributes=None, recognition_model='recognition_01', return_recognition_model=False, detection_model='detection_01', face_id_time_to_live=86400, custom_headers=None, raw=False, **operation_config)
参数
名称 | 说明 |
---|---|
url
必需
|
图像的可公开访问 URL |
return_face_id
|
一个值,该值指示操作是否应返回检测到的人脸的 faceIds。 默认值: True
|
return_face_landmarks
|
一个值,该值指示操作是否应返回检测到的人脸的地标。 默认值: False
|
return_face_attributes
|
分析并返回逗号分隔字符串中的一个或多个指定人脸属性,例如“returnFaceAttributes=age,gender”。 可用属性取决于指定的“detectionModel”。 “detection_01”支持年龄、性别、头部、微笑、面部头发、眼镜、情感、头发、化妆、遮挡、配件、模糊、曝光、噪音和质量ForRecognition。 虽然“detection_02”不支持任何属性,但“detection_03”仅支持 mask 和 qualityForRecognition。 此外,仅当将“recognitionModel”指定为“recognition_03”或“recognition_04”时,才支持 qualityForRecognition。 请注意,每个人脸属性分析都有额外的计算和时间成本。 默认值: None
|
recognition_model
|
识别模型的名称。 提取人脸特征并将其与检测到的 faceIds 相关联时,将使用识别模型, (大型) FaceList 或 (大型) PersonGroup。 执行人脸 - 检测或 (大型) 人脸列表 - 创建或 (大型) PersonGroup - Create 时,可以提供识别模型名称。 默认值为“recognition_01”,如果需要最新的模型,请显式指定所需的模型。 可能的值包括:“recognition_01”、“recognition_02”、“recognition_03”、“recognition_04” 默认值: recognition_01
|
return_recognition_model
|
一个值,该值指示操作是否应返回“recognitionModel”作为响应。 默认值: False
|
detection_model
|
检测模型的名称。 检测模型用于检测提交图像中的人脸。 执行人脸 - 检测或 (大型) 人脸列表 - 添加人脸或 (大型) PersonGroup - 添加人脸时,可以提供检测模型名称。 默认值为“detection_01”,如果需要其他模型,请显式指定它。 可能的值包括:“detection_01”、“detection_02”、“detection_03” 默认值: detection_01
|
face_id_time_to_live
|
正在缓存的 faceId 的秒数。 支持的范围从 60 秒到 86400 秒。 默认值为 86400(24 小时)。 默认值: 86400
|
custom_headers
|
将添加到请求的标头 默认值: None
|
raw
|
返回直接响应以及反序列化的响应 默认值: False
|
operation_config
必需
|
操作配置替代。 |
返回
类型 | 说明 |
---|---|
<xref:msrest.pipeline.ClientRawResponse>
|
如果 raw=true,则 list 或 ClientRawResponse |
例外
类型 | 说明 |
---|---|
find_similar
给定查询人脸的 faceId,用于在 faceId 数组、人脸列表或大型人脸列表中搜索类似的人脸。 faceId 数组包含由 Face - Detect With URL 或 Face - Detect With Stream 创建的人脸,这些人脸将在创建后 faceIdTimeToLive 指定的时间过期。 “faceListId”由 FaceList - 创建 包含不会过期的 persistedFaceIds 创建。 “largeFaceListId”由 LargeFaceList - 创建 ,其中包含也不会过期的 persistedFaceId。 根据输入,返回的相似人脸列表包含按相似性排名的 faceId 或 persistedFaceId。
查找类似的有两种工作模式:“matchPerson”和“matchFace”。
“matchPerson”是默认模式,它尝试通过使用内部同一人员阈值来查找同一个人的人脸。 查找已知人员的其他照片很有用。 请注意,如果没有人脸通过内部阈值,将返回空列表。 “matchFace”模式忽略同一人阈值,并返回排名相似的人脸,即使相似性较低。 它可用于搜索名人面孔等情况。
与查询人脸的 faceId 关联的“recognitionModel”应与目标 faceId 数组、人脸列表或大型人脸列表使用的“recognitionModel”相同。
.
find_similar(face_id, face_list_id=None, large_face_list_id=None, face_ids=None, max_num_of_candidates_returned=20, mode='matchPerson', custom_headers=None, raw=False, **operation_config)
参数
名称 | 说明 |
---|---|
face_id
必需
|
查询人脸的 FaceId。 用户需要先调用人脸 - 检测才能获取有效的 faceId。 请注意,此 faceId 不会持久保存,将在检测调用后 faceIdTimeToLive 指定的时间过期 |
face_list_id
|
在人脸列表 - 创建人脸列表中创建的现有用户指定的唯一候选人脸列表。 人脸列表包含一组持久化FaceId,这些持久化且永不过期。 不应同时提供参数 faceListId、largeFaceListId 和 faceIds。 默认值: None
|
large_face_list_id
|
在 LargeFaceList - Create 中创建的现有用户指定的唯一候选人脸大型列表。 大型人脸列表包含一组持久化且永不过期的持久化FaceId。 不应同时提供参数 faceListId、largeFaceListId 和 faceIds。 默认值: None
|
face_ids
|
候选 faceIds 的数组。 所有这些操作均由 Face - Detect 创建,faceId 将在检测调用后 faceIdTimeToLive 指定的时间过期。 faceId 的数量限制为 1000。 不应同时提供参数 faceListId、largeFaceListId 和 faceIds。 默认值: None
|
max_num_of_candidates_returned
|
返回的最相似人脸的数量。 有效范围为 [1, 1000]。 默认值: 20
|
mode
|
类似的人脸搜索模式。 它可以是“matchPerson”或“matchFace”。 可能的值包括:“matchPerson”、“matchFace” 默认值: matchPerson
|
custom_headers
|
将添加到请求的标头 默认值: None
|
raw
|
返回直接响应以及反序列化的响应 默认值: False
|
operation_config
必需
|
操作配置替代。 |
返回
类型 | 说明 |
---|---|
<xref:msrest.pipeline.ClientRawResponse>
|
list 或 ClientRawResponse(如果 raw=true) |
例外
类型 | 说明 |
---|---|
group
根据人脸相似性将候选人脸划分为组。
- 输出是一个或多个不连续的人脸组和一个乱组。 人脸组包含外观相似的人脸,通常是同一个人。 人脸组按组大小(即人脸数量)进行排名。 请注意,属于同一人的人脸可能会在结果中拆分为多个组。
- MessyGroup 是一个特殊的人脸组,其中包含无法从原始人脸中找到任何相似的对应人脸的人脸。 如果所有人脸都找到了对应人,则乱组将不会显示在结果中。
- 组 API 至少需要 2 张候选人脸,最多需要 1000 张。 建议尝试 人脸 - 验证 是否只有 2 张候选人脸。
- 与查询人脸关联的“recognitionModel”faceIds 应相同。 .
group(face_ids, custom_headers=None, raw=False, **operation_config)
参数
名称 | 说明 |
---|---|
face_ids
必需
|
人脸 - 检测创建的候选 faceId 数组。 最多 1000 张人脸 |
custom_headers
|
将添加到请求的标头 默认值: None
|
raw
|
返回直接响应以及反序列化的响应 默认值: False
|
operation_config
必需
|
操作配置替代。 |
返回
类型 | 说明 |
---|---|
<xref:msrest.pipeline.ClientRawResponse>
|
如果 raw=true,则为 GroupResult 或 ClientRawResponse |
例外
类型 | 说明 |
---|---|
identify
一对多的识别,用于在人员组或大型人员组中查找与特定查询人脸最接近的匹配项。
对于 faceIds 数组中的每个人脸,人脸识别将计算查询人脸与 personGroupId) 或 largePersonGroupId) 给出的大人物组 (给定的人员组 (的所有人脸之间的相似性,并返回根据相似度置信度排名的人脸的候选人员 () 。 应对人员组/大型人员组进行培训,使其准备好进行识别。 有关详细信息,请参阅 PersonGroup - Train 和 LargePersonGroup - Train。
备注:
- 该算法允许在同一请求中独立识别多个人脸,但不超过 10 张人脸。
- 人员组/大型人员组中的每个人可以有多个人脸,但不能超过 248 张人脸。
- 人脸图像质量越高,识别精度就越高。 请考虑高质量的人脸:正面、清晰、人脸大小为 200x200 像素 (100 像素,眼睛) 或更大。
- 返回的候选项数受 maxNumOfCandidatesReturned 和 confidenceThreshold 的限制。 如果未标识任何人员,则返回的候选项将是一个空数组。
- 如果需要从人脸列表/大型人脸列表中而不是人员组/大型人员组查找相似人脸,请尝试“ 人脸 - 查找相似 人脸”。
- 与查询人脸关联的“recognitionModel”faceIds 应与目标人员组或大型人员组使用的“recognitionModel”相同。 .
identify(face_ids, person_group_id=None, large_person_group_id=None, max_num_of_candidates_returned=1, confidence_threshold=None, custom_headers=None, raw=False, **operation_config)
参数
名称 | 说明 |
---|---|
face_ids
必需
|
由 Face - Detect 创建的查询 faceIds 数组。 每个人脸都是独立标识的。 faceId 的有效数目介于 [1, 10] 之间。 |
person_group_id
|
目标人员组的 PersonGroupId,由 PersonGroup - Create 创建。 不应同时提供参数 personGroupId 和 largePersonGroupId。 默认值: None
|
large_person_group_id
|
由 LargePersonGroup - Create 创建的目标大型人员组的 LargePersonGroupId。 不应同时提供参数 personGroupId 和 largePersonGroupId。 默认值: None
|
max_num_of_candidates_returned
|
maxNumOfCandidatesReturned 的范围介于 1 到 100 之间 (默认值为 1) 。 默认值: 1
|
confidence_threshold
|
识别的置信度阈值,用于判断一张人脸是否属于一个人。 confidenceThreshold 范围为 [0, 1] (算法) 指定的默认值。 默认值: None
|
custom_headers
|
将添加到请求的标头 默认值: None
|
raw
|
返回直接响应以及反序列化的响应 默认值: False
|
operation_config
必需
|
操作配置替代。 |
返回
类型 | 说明 |
---|---|
<xref:msrest.pipeline.ClientRawResponse>
|
list 或 ClientRawResponse(如果 raw=true) |
例外
类型 | 说明 |
---|---|
verify_face_to_face
验证两张人脸是否属于同一个人,或者一张人脸是否属于某一个人。
备注:
- 人脸图像质量越高,识别精度就越高。 请考虑高质量的人脸:正面、清晰、人脸大小为 200x200 像素 (100 像素,眼睛) 或更大。
- 对于对准确性敏感的方案,请自行做出判断。
- 与查询人脸关联的“recognitionModel”faceIds 应与目标人脸、人员组或大型人员组使用的“recognitionModel”相同。 .
verify_face_to_face(face_id1, face_id2, custom_headers=None, raw=False, **operation_config)
参数
名称 | 说明 |
---|---|
face_id1
必需
|
第一张人脸的 FaceId 来自人脸 - 检测 |
face_id2
必需
|
第二张人脸的 FaceId 来自人脸 - 检测 |
custom_headers
|
将添加到请求的标头 默认值: None
|
raw
|
返回直接响应以及反序列化的响应 默认值: False
|
operation_config
必需
|
操作配置替代。 |
返回
类型 | 说明 |
---|---|
<xref:msrest.pipeline.ClientRawResponse>
|
VerifyResult 或 ClientRawResponse(如果 raw=true) |
例外
类型 | 说明 |
---|---|
verify_face_to_person
验证两张人脸是否属于同一个人。 将人脸 ID 与人员 ID 进行比较。
verify_face_to_person(face_id, person_id, person_group_id=None, large_person_group_id=None, custom_headers=None, raw=False, **operation_config)
参数
名称 | 说明 |
---|---|
face_id
必需
|
人脸的 FaceId,来自人脸 - 检测 |
person_id
必需
|
指定人员组中的某个人员或大型人员组中的某个人员。 personId 是在 PersonGroup Person - Create 或 LargePersonGroup Person - Create 中创建的。 |
person_group_id
|
使用现有 personGroupId 和 personId 快速加载指定人员。 personGroupId 是在 PersonGroup - Create 中创建的。 不应同时提供参数 personGroupId 和 largePersonGroupId。 默认值: None
|
large_person_group_id
|
使用现有的 largePersonGroupId 和 personId 快速加载指定人员。 largePersonGroupId 是在 LargePersonGroup - Create 中创建的。 不应同时提供参数 personGroupId 和 largePersonGroupId。 默认值: None
|
custom_headers
|
将添加到请求的标头 默认值: None
|
raw
|
返回直接响应以及反序列化的响应 默认值: False
|
operation_config
必需
|
操作配置替代。 |
返回
类型 | 说明 |
---|---|
<xref:msrest.pipeline.ClientRawResponse>
|
如果 raw=true,则 VerifyResult 或 ClientRawResponse |
例外
类型 | 说明 |
---|---|
属性
models
models = <module 'azure.cognitiveservices.vision.face.models' from 'C:\\hostedtoolcache\\windows\\Python\\3.11.9\\x64\\Lib\\site-packages\\azure\\cognitiveservices\\vision\\face\\models\\__init__.py'>
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈