【发布时间】:2022-02-08 16:11:47
【问题描述】:
我正在尝试使用 Azure FaceAPI 构建人脸识别考勤系统。我创建了一个人脸列表。然后,我从 firebase 下载了图像的 URL,然后使用检测方法来检测每个人脸。我将每个面孔添加到面孔列表中。最后,我想通过给它一个带有 faces UUID 数组的现有面来测试 findSimilar 方法。 这些是部分代码(我每次调用都使用一个线程)
private FaceServiceClient faceServiceClient=new FaceServiceRestClient("https://train.cognitiveservices.azure.com/face/v1.0/",key);
--
faceServiceClient.createFaceList(faceListId, "mylist", "recognition_04");
--
// in a loop from i=0 --> i < no of images
faces= faceServiceClient.detect(Urls.get(i), false, false, null);
facesIds.add( faceServiceClient.addFacesToFaceList(faceListId, Urls.get(i), null, faces[0].faceRectangle).persistedFaceId);
--
faceServiceClient.findSimilar(id,ids, 1 );
我打印出所有 ID 并检查它们是否存在。但是调用 findSimilar 方法后总是报错。
com.microsoft.projectoxford.face.rest.ClientException: Face is not found.
谁能告诉我问题出在哪里?
【问题讨论】:
-
检查您的 URL 端点,例如:
https://<resource_name>.cognitiveservices.azure.com/face/v1.0/detect -
这能回答你的问题吗? Detection failed: Resource not found
-
还没有。我认为我输入的端点是正确的,因为我可以在 Azure 门户中看到部署成功。唯一的问题是 findSimilar 方法。我应该为此使用另一个端点吗?
-
我刚刚发现了问题!它来自Face ID。只是为了测试,我使用了人脸列表中人脸的现有 ID。但是,ID似乎应该来自检测结果。
标签: java android azure face-api