Kaynağa Gözat

update face verify apis.

deason 11 ay önce
ebeveyn
işleme
45b7ccabbe

+ 5 - 6
examcloud-core-oe-student-service/src/main/java/cn/com/qmth/examcloud/core/oe/student/service/impl/ExamCaptureServiceImpl.java

@@ -13,10 +13,7 @@ import cn.com.qmth.examcloud.core.oe.student.service.ExamCaptureService;
 import cn.com.qmth.examcloud.core.oe.student.service.ExamRecordDataService;
 import cn.com.qmth.examcloud.starters.face.verify.common.CommonUtils;
 import cn.com.qmth.examcloud.starters.face.verify.model.FaceResult;
-import cn.com.qmth.examcloud.starters.face.verify.model.param.ImageBase64Parm;
-import cn.com.qmth.examcloud.starters.face.verify.model.param.ImageParm;
-import cn.com.qmth.examcloud.starters.face.verify.model.param.ImageTokenParm;
-import cn.com.qmth.examcloud.starters.face.verify.model.param.ImageUrlParm;
+import cn.com.qmth.examcloud.starters.face.verify.model.param.*;
 import cn.com.qmth.examcloud.starters.face.verify.service.FaceVerifyService;
 import cn.com.qmth.examcloud.support.Constants;
 import cn.com.qmth.examcloud.support.cache.CacheHelper;
@@ -135,14 +132,16 @@ public class ExamCaptureServiceImpl implements ExamCaptureService {
                 byte[] capturePhotoBytes = FssFactory.getInstance().readFile(capturePhotoPath);
                 ImageParm capturePhoto = new ImageBase64Parm(Base64.encodeBase64String(capturePhotoBytes));
 
-                faceResult = faceVerifyService.faceCompareByBaidu(basePhoto, capturePhoto, baiduExpectFaceCompareScore);
+                // faceResult = faceVerifyService.faceCompareByBaidu(basePhoto, capturePhoto, baiduExpectFaceCompareScore);
+                faceResult = faceVerifyService.faceCompare(FaceParam.builder().images(basePhoto, capturePhoto).expectFaceCompareScore(baiduExpectFaceCompareScore));
             } else {
                 ImageParm basePhoto = new ImageTokenParm(student.getFaceToken());
 
                 String capturePhotoUrl = FssHelper.finalFileUrl(fileUrl);
                 ImageParm capturePhoto = new ImageUrlParm(capturePhotoUrl);
 
-                faceResult = faceVerifyService.faceCompareByFacePlus(basePhoto, capturePhoto);
+                // faceResult = faceVerifyService.faceCompareByFacePlus(basePhoto, capturePhoto);
+                faceResult = faceVerifyService.faceCompare(FaceParam.builder().images(basePhoto, capturePhoto).apiType(FaceApiType.FACE_PLUS));
             }
 
             info.setIsPass(faceResult.isFacePass());

+ 7 - 5
examcloud-core-oe-student-starter/src/test/java/cn/com/qmth/examcloud/core/oe/student/test/FaceVerifyTest.java

@@ -5,6 +5,7 @@ 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.common.JsonHelper;
 import cn.com.qmth.examcloud.starters.face.verify.model.FaceResult;
+import cn.com.qmth.examcloud.starters.face.verify.model.param.FaceParam;
 import cn.com.qmth.examcloud.starters.face.verify.model.param.ImageFileParm;
 import cn.com.qmth.examcloud.starters.face.verify.service.impl.FaceVerifyServiceImpl;
 import org.apache.commons.codec.digest.DigestUtils;
@@ -45,10 +46,10 @@ public class FaceVerifyTest {
         System.setProperty("log.commonLevel", "INFO");
 
         FaceVerifyProperties properties = new FaceVerifyProperties();
-        properties.setBaiduLocalEnabled(true);
-        properties.setBaiduLocalAppId("test");
-        properties.setBaiduLocalUrlPrefix("http://192.168.20.253");
-        // properties.setBaiduLocalUrlPrefix("http://192.168.0.118");
+        properties.setDefaultPrivateBaiduApi(true);
+        properties.setPrivateBaiduAppId("test");
+        properties.setPrivateBaiduUrlPrefix("http://192.168.20.253");
+        // properties.setPrivateBaiduUrlPrefix("http://192.168.12.241:8300");
 
         faceVerifyService = new FaceVerifyServiceImpl();
         faceVerifyService.setProperties(properties);
@@ -149,7 +150,8 @@ public class FaceVerifyTest {
                         }
                         scores.put(photoUrl + "|" + capturePhotoUrl, Double.valueOf(x.split("\\|")[1]));
                     } else {
-                        FaceResult result = faceVerifyService.faceCompareByBaidu(new ImageFileParm(photoPath), new ImageFileParm(capturePhotoPath));
+                        FaceResult result = faceVerifyService.faceCompare(FaceParam.builder()
+                                .images(new ImageFileParm(photoPath), new ImageFileParm(capturePhotoPath)));
                         if (result.isApiNeedRetry()) {
                             System.out.println(new JsonHelper().toJson(result));
                             return;