如何使用 Microsoft 的 Face API 来识别用户?
How to Use Microsoft's Face API for Identifying user?
我正在做一个 android 应用程序,该应用程序可以捕获照片以验证用户。
我正在尝试用很少的图像创建 personGroup。但是我得到了这个错误。
com.microsoft.projectoxford.face.rest.ClientException: Person group ID is invalid.
我的代码是,
public fun createPersonGroup(personGroupId: String, personGroupName: String) {
faceServiceClient.createPersonGroup(personGroupId, personGroupName, null)
}
public fun addPersonToGroup(personGroupId: String, name: String, pathToImages: File) {
val person = faceServiceClient.createPerson(personGroupId, name, null)
detectAndRegister(personGroupId, person, pathToImages)
}
private fun detectAndRegister(personGroupId: String, person: CreatePersonResult?, pathToImages: File) {
for (file in pathToImages.listFiles()) {
val stream = file.inputStream()
faceServiceClient.addPersonFace(personGroupId, person!!.personId, stream, null, null)
}
trainingAI(personGroupId)
}
private fun trainingAI(personGroupId: String) {
faceServiceClient.trainPersonGroup(personGroupId)
var trainingStatus: TrainingStatus? = null
while (true) {
trainingStatus = faceServiceClient.getPersonGroupTrainingStatus(personGroupId)
if (trainingStatus!!.status != TrainingStatus.Status.Running) {
runOnUiThread { progressDialog.dismiss() }
break
}
}
}
根据Face API reference v1.0,组id的有效字符包括数字,小写的英文字母,' -' 和 '_'。 personGroupId 的最大长度为 64.
检查您的操作顺序是否正确。
创建人员组。
将用户添加到带有图片的人员组。
培养人组。
尝试识别人物组内的图片。
也如 Luis 所说,请检查您是否使用了任何无效字符。
我正在做一个 android 应用程序,该应用程序可以捕获照片以验证用户。 我正在尝试用很少的图像创建 personGroup。但是我得到了这个错误。
com.microsoft.projectoxford.face.rest.ClientException: Person group ID is invalid.
我的代码是,
public fun createPersonGroup(personGroupId: String, personGroupName: String) {
faceServiceClient.createPersonGroup(personGroupId, personGroupName, null)
}
public fun addPersonToGroup(personGroupId: String, name: String, pathToImages: File) {
val person = faceServiceClient.createPerson(personGroupId, name, null)
detectAndRegister(personGroupId, person, pathToImages)
}
private fun detectAndRegister(personGroupId: String, person: CreatePersonResult?, pathToImages: File) {
for (file in pathToImages.listFiles()) {
val stream = file.inputStream()
faceServiceClient.addPersonFace(personGroupId, person!!.personId, stream, null, null)
}
trainingAI(personGroupId)
}
private fun trainingAI(personGroupId: String) {
faceServiceClient.trainPersonGroup(personGroupId)
var trainingStatus: TrainingStatus? = null
while (true) {
trainingStatus = faceServiceClient.getPersonGroupTrainingStatus(personGroupId)
if (trainingStatus!!.status != TrainingStatus.Status.Running) {
runOnUiThread { progressDialog.dismiss() }
break
}
}
}
根据Face API reference v1.0,组id的有效字符包括数字,小写的英文字母,' -' 和 '_'。 personGroupId 的最大长度为 64.
检查您的操作顺序是否正确。
创建人员组。 将用户添加到带有图片的人员组。 培养人组。 尝试识别人物组内的图片。
也如 Luis 所说,请检查您是否使用了任何无效字符。