首页 版块 访问AI主站 注册 发帖
liuhuan001002
27
积分 积分商城
0
获赞
离线识别Android版,批量注册成功率低
Ta的回复 :技术不精,求大佬指教,这个问题看了一天了...
12
离线识别Android版,批量注册成功率低
Ta的回复 :是因为QPS默认为2的原因吗?
12
离线识别Android版,批量注册成功率低
Ta的回复 :我后来也想了想:离线怎么会有QPS限制呢?但是确实是39张图片,批量注册,成功的一般只有两张,而且两张还不是固定的,有的时候会改变。如果是批量注册,但是文件夹中只有一张的时候,一般是会成功的;若是有两张,一般会成功一张,失败一张。 1:N性能测试没有做,想着先把人脸库以公司想要的样子建立起来,然后再来测性能,但是发现批量注册好像有问题,demo也有这个问题。
12
离线识别Android版,批量注册成功率低
Ta的回复 :本来也想着可能是人脸图片大小不合适,做了裁剪后,也不行。 后来试着在官方demo的离线批量注册人脸的asyncImport方法中对线程做了一个休眠的处理,结果是:39张图片都可以注册成功了... 贴上一段代码: ```java Executors.newSingleThreadExecutor().submit(new Runnable() { @Override public void run() { for (int i = 0; i < files.length; i++) { if (!importing) { break; } Log.e("-------", "currentThread name: " + Thread.currentThread().getName()); String file = files[i]; boolean success = false; File facePath = new File(batchfaceDir, file); if (facePath.exists()) { Bitmap bitmap = BitmapFactory.decodeFile(facePath.getAbsolutePath()); ARGBImg argbImg = FeatureUtils.getImageInfo(bitmap); byte[] bytes = new byte[2048]; int ret = FaceSDKManager.getInstance().getFaceFeature().faceFeature(argbImg, bytes); if (ret == FaceDetector.NO_FACE_DETECTED) { Log.e("-------", "未检测到人脸,可能原因:人脸太小(必须大于最小检测人脸minFaceSize)," + "或者人脸角度太大,人脸不是朝上"); } else if (ret == 512) { //512是什么意思??? String fileName = facePath.getName(); String userName = fileName.substring(0, fileName.indexOf('[')); String userid = fileName.substring(fileName.indexOf('[') + 1, fileName.lastIndexOf(']')); Feature feature = new Feature(); feature.setGroupId(groupId); // final String uid = UUID.randomUUID().toString(); feature.setUserId(userid); feature.setFeature(bytes); feature.setImageName(file); User user = new User(); user.setUserId(userid); user.setUserName(userName); user.setGroupId(groupId); user.getFeatureList().add(feature); if (FaceApi.getInstance().userAdd(user)) { success = true; File faceDir = FileUitls.getFaceDirectory(); if (faceDir != null) { File saveFacePath = new File(faceDir, file); if (FileUitls.saveFile(saveFacePath, bitmap)) { // facePath.delete(); } } } try { //因为线程不睡眠一下的话,注册失败率极高,39张图片只能成功1张或者2张 //这里睡眠一下,基本都能注册成功 Thread.sleep(700); } catch (InterruptedException e) { e.printStackTrace(); } } else if (ret == -1) { Log.e("-------", "抽取特征失败"); } else { Log.e("-------", "未检测到人脸"); } } if (success) { successCount++; } else { failCount++; Log.i("wtf", "失败图片:" + file); } finishCount++; progressDisplay("总人脸数:" + totalCount + ", 完成:" + finishCount + " 成功:" + successCount + " 失败:" + failCount); } importFinish(); } }); ```  
12
离线识别Android版,批量注册成功率低
Ta的回复 :不支持markdown...
12
离线版android人脸识别,设备号不断变化
Ta的回复 :遇到了同样的问题,浪费了我好几个序列号。android,开发板rk3288。
17
关于离线识别sdk,usb摄像头分辨率问题
Ta的回复 :请问你的摄像头是使用的百度文档推荐的那几款吗?我的是在手机上没什么问题,但是在公司给的开发板+摄像头上就不行了,摄像头具体型号身边也没人知道。
2
切换版块
智能客服