|
@@ -3,6 +3,7 @@ package cn.com.qmth.examcloud.core.oe.student.test;
|
|
import cn.com.qmth.examcloud.commons.helpers.poi.ExcelReader;
|
|
import cn.com.qmth.examcloud.commons.helpers.poi.ExcelReader;
|
|
import cn.com.qmth.examcloud.commons.util.FileUtil;
|
|
import cn.com.qmth.examcloud.commons.util.FileUtil;
|
|
import cn.com.qmth.examcloud.starters.face.verify.FaceVerifyProperties;
|
|
import cn.com.qmth.examcloud.starters.face.verify.FaceVerifyProperties;
|
|
|
|
+import cn.com.qmth.examcloud.starters.face.verify.common.JsonHelper;
|
|
import cn.com.qmth.examcloud.starters.face.verify.model.FaceResult;
|
|
import cn.com.qmth.examcloud.starters.face.verify.model.FaceResult;
|
|
import cn.com.qmth.examcloud.starters.face.verify.model.param.ImageFileParm;
|
|
import cn.com.qmth.examcloud.starters.face.verify.model.param.ImageFileParm;
|
|
import cn.com.qmth.examcloud.starters.face.verify.service.impl.FaceVerifyServiceImpl;
|
|
import cn.com.qmth.examcloud.starters.face.verify.service.impl.FaceVerifyServiceImpl;
|
|
@@ -12,6 +13,7 @@ import org.junit.Test;
|
|
|
|
|
|
import java.io.File;
|
|
import java.io.File;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
|
+import java.math.RoundingMode;
|
|
import java.nio.charset.StandardCharsets;
|
|
import java.nio.charset.StandardCharsets;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
@@ -91,7 +93,7 @@ public class FaceVerifyTest {
|
|
// 重新计算不同阈值下的通过率
|
|
// 重新计算不同阈值下的通过率
|
|
Map<Double, Integer> statisticMaps = new TreeMap<>();
|
|
Map<Double, Integer> statisticMaps = new TreeMap<>();
|
|
for (int n = 65; n <= 80; n++) {
|
|
for (int n = 65; n <= 80; n++) {
|
|
- statisticMaps.put((double) n, 1);
|
|
|
|
|
|
+ statisticMaps.put((double) n, 0);
|
|
}
|
|
}
|
|
for (Map.Entry<String, Double> entry : scores.entrySet()) {
|
|
for (Map.Entry<String, Double> entry : scores.entrySet()) {
|
|
for (Map.Entry<Double, Integer> map : statisticMaps.entrySet()) {
|
|
for (Map.Entry<Double, Integer> map : statisticMaps.entrySet()) {
|
|
@@ -148,7 +150,11 @@ public class FaceVerifyTest {
|
|
scores.put(photoUrl + "|" + capturePhotoUrl, Double.valueOf(x.split("\\|")[1]));
|
|
scores.put(photoUrl + "|" + capturePhotoUrl, Double.valueOf(x.split("\\|")[1]));
|
|
} else {
|
|
} else {
|
|
FaceResult result = faceVerifyService.faceCompareByBaidu(new ImageFileParm(photoPath), new ImageFileParm(capturePhotoPath));
|
|
FaceResult result = faceVerifyService.faceCompareByBaidu(new ImageFileParm(photoPath), new ImageFileParm(capturePhotoPath));
|
|
- // System.out.println(new JsonHelper().toJson(result));
|
|
|
|
|
|
+ if (result.isApiNeedRetry()) {
|
|
|
|
+ System.out.println(new JsonHelper().toJson(result));
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
if (result.isFacePass()) {
|
|
if (result.isFacePass()) {
|
|
passNum.incrementAndGet();
|
|
passNum.incrementAndGet();
|
|
}
|
|
}
|
|
@@ -202,7 +208,7 @@ public class FaceVerifyTest {
|
|
if (n < 0) n = 0;
|
|
if (n < 0) n = 0;
|
|
BigDecimal _value = new BigDecimal(Double.toString(value));
|
|
BigDecimal _value = new BigDecimal(Double.toString(value));
|
|
BigDecimal one = new BigDecimal("1");
|
|
BigDecimal one = new BigDecimal("1");
|
|
- return _value.divide(one, n, BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
|
|
|
|
+ return _value.divide(one, n, RoundingMode.HALF_UP).doubleValue();
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|