用例如下
现在看着how to,我理解如下
这是正确的方法吗?
应用滤镜后,我们的系统可以说出约1000-3000张图像。
顺便说一句,在给定的链接中,提到在检测到呼叫后24小时后,faceid将过期:(
在这种情况下,我们还需要注意性能,因此我们正在考虑异步调用,然后将结果返回到系统中的某个位置,以便以后检索。
什么是最好的方法?
定价
我可能在这里丢失了一些东西,如果有人可以在上面扔灯,那将是很棒的
答案 0 :(得分:2)
让我们看看您需要实现的过程。
在文档here中说;
Face API涵盖以下类别:
...
- FaceList :用于管理查找相似的FaceList。
- (大型)PersonGroup :用于管理标识的(大型)PersonGroup数据集。
- (大型)PersonGroup人员头像:用于管理(大型)PersonGroup头像以获取标识。
在您的情况下,您似乎想识别面孔,因此将PersonGroup
与PersonGroup Person
项一起使用。
因此,首先需要将已知的面孔存储在一个组中(给定要存储的项目数,称为PersonGroup
或LargePersonGroup
),以便使用由您的用户。它将保留项目,而这些组没有“ 24小时限制”。
如果您想了解“正常”和“大规模”人群之间的区别,请参见参考文献here:您必须考虑一些区别,特别是在培训过程方面。
因此,让我们使用普通的PersonGroup
,不大。请注意,物品的数量取决于您的订阅:
- 免费订阅配额:1,000人组。每个最多可容纳1,000人。
- S0层订阅配额:1,000,000个人组。每个人最多可容纳10,000人。
请注意,这里我指的是API操作,但是所有这些操作都可以通过这些API调用以任何语言执行,但也可以直接使用提供的某些语言的SDK来执行(请参见列表{{3 }})
PersonGroup - Create
here创建人员组。您将在请求中指定一个personGroupId
,并将在下面使用然后针对每个已知面孔的人:
使用PersonGroup Person - Create
operation创建人,并在请求中提供前一个personGroupId
。结果,您将得到一个personId
的Guid值,例如“ 25985303-c537-4467-b41d-bdb45cd95ca1”
PersonGroup Person - Add Face
operation并另外提供personGroupId
,personId
,将此用户的为该用户的新面孔添加面孔请求中的可选信息以及正文中的图片网址。
请注意,此操作:
有效图像大小为1KB至4MB。每张只允许一张脸 图片。
最后,一旦您将自己的人与他们的脸相加:
然后,您就可以根据此组识别人员了!
简单,只需执行以下两项操作即可:
调用Face - Detect
operation在图像中查找人脸。结果将是包含faceId
和其他属性的项的数组
如果已检测到脸部,请使用以下参数调用Face - Identify
operation:
faceId
,它是来自检测操作的值personGroupId
:您在步骤1中创建的组的ID。confidenceThreshold
:您的置信度阈值,例如0.8 maxNumOfCandidatesReturned
:返回的候选人数(1到100之间,默认为10)索取样品:
{
"personGroupId": "sample_group",
"faceIds": [
"c5c24a82-6845-4031-9d5d-978df9175426",
"65d083d4-9447-47d1-af30-b626144bf0fb"
],
"maxNumOfCandidatesReturned": 1,
"confidenceThreshold": 0.8
}
每1000张图像的人脸存储成本为16.53 / m,这是否意味着 Face-Detect API将存储在Azure Blob存储中吗?如果是,仍然 faceId将在24小时后删除吗?
Face-Detect API未存储图像。存储成本大约是使用PersonGroup或FaceLists
人脸存储-存储每张最大4 MB的图像-而 Face-Detect说,最多可以存储6 MB
如前所述,存储是关于持久化面部的,例如当您使用PersonGroup Person - Add Face
时,其限制为4MB,而不是6