在 Android Java 中找不到 Azure FaceAPI 人脸
Azure FaceAPI Face is Not Found in Android Java
我正在尝试使用 Azure FaceAPI 构建人脸识别考勤系统。我创建了一个面孔列表。然后,我从 firebase 下载图像的 URL,然后使用检测方法检测每张脸。我将每张脸都添加到面孔列表中。最后,我想测试 findSimilar 方法,方法是给它一个带有 faces UUID 数组的现有面孔。
这些是代码的一些部分(我为每个调用使用了一个线程)
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.
谁能告诉我问题出在哪里?
答案很简单,findSimilar 方法采用检测到的人脸的 ID,而不是来自 faceList 的 faceID。
对我来说,我使用现有的 faceID 只是为了测试。但是,我必须先检测人脸然后获取其 ID。
faceServiceClient.findSimilar(id,ids, 1 );
总结:用检测到的面部 ID 替换 'id'。
我正在尝试使用 Azure FaceAPI 构建人脸识别考勤系统。我创建了一个面孔列表。然后,我从 firebase 下载图像的 URL,然后使用检测方法检测每张脸。我将每张脸都添加到面孔列表中。最后,我想测试 findSimilar 方法,方法是给它一个带有 faces UUID 数组的现有面孔。 这些是代码的一些部分(我为每个调用使用了一个线程)
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.
谁能告诉我问题出在哪里?
答案很简单,findSimilar 方法采用检测到的人脸的 ID,而不是来自 faceList 的 faceID。 对我来说,我使用现有的 faceID 只是为了测试。但是,我必须先检测人脸然后获取其 ID。
faceServiceClient.findSimilar(id,ids, 1 );
总结:用检测到的面部 ID 替换 'id'。