|
@@ -71,58 +71,53 @@ public class FaceIdenService {
|
|
* 初始化人脸识别库
|
|
* 初始化人脸识别库
|
|
*/
|
|
*/
|
|
public void initFaceDataset() {
|
|
public void initFaceDataset() {
|
|
|
|
+ FaceMonitor faceMonitor = FaceMoniterCache.getFaceMonitor(Constants.FACE_FEAT_PTR_CACHE_KEY);
|
|
|
|
+ if (faceMonitor == null) {
|
|
|
|
+ MyFaceMonitor myFaceMonitor = FaceIdenTool.getMyFaceMonitor();
|
|
|
|
+ faceMonitor = myFaceMonitor.getFaceMonitor();
|
|
|
|
+ FaceMoniterCache.setFaceMonitor(Constants.FACE_FEAT_PTR_CACHE_KEY, faceMonitor);
|
|
|
|
+
|
|
|
|
+ List<FaceModel> faceModelList = new ArrayList<>();
|
|
|
|
+ //注册人员
|
|
|
|
+ QueryWrapper<IdenPerson> queryWrapper = new QueryWrapper<>();
|
|
|
|
+ queryWrapper.select("uid", "feat_ptr");
|
|
|
|
+ queryWrapper.lambda().isNotNull(IdenPerson::getFeatPtr);
|
|
|
|
+ List<IdenPerson> idenPersonList = idenPersonService.list(queryWrapper);
|
|
|
|
+ if (CollUtil.isNotEmpty(idenPersonList)) {
|
|
|
|
+
|
|
|
|
+ for (int i = 0; i < idenPersonList.size(); i++) {
|
|
|
|
+ IdenPerson idenPerson = idenPersonList.get(i);
|
|
|
|
+ FaceModel faceModel = new FaceModel();
|
|
|
|
+ faceModel.setPersonId(idenPerson.getUid().intValue());
|
|
|
|
+ faceModel.setName(String.valueOf(idenPerson.getUid()));
|
|
|
|
+ faceModel.setFeatValue(ByteUtil.hex2Byte(idenPerson.getFeatPtr()));
|
|
|
|
+ faceModelList.add(faceModel);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
- List<FaceModel> faceModelList = new ArrayList<>();
|
|
|
|
- //注册人员
|
|
|
|
- QueryWrapper<IdenPerson> queryWrapper = new QueryWrapper<>();
|
|
|
|
- queryWrapper.select("uid","feat_ptr");
|
|
|
|
- queryWrapper.lambda().isNotNull(IdenPerson::getFeatPtr);
|
|
|
|
- List<IdenPerson> idenPersonList = idenPersonService.list(queryWrapper);
|
|
|
|
- if (CollUtil.isNotEmpty(idenPersonList)) {
|
|
|
|
-
|
|
|
|
- for (int i = 0; i < idenPersonList.size(); i++) {
|
|
|
|
- IdenPerson idenPerson = idenPersonList.get(i);
|
|
|
|
- FaceModel faceModel = new FaceModel();
|
|
|
|
- faceModel.setPersonId(idenPerson.getUid().intValue());
|
|
|
|
- faceModel.setName(String.valueOf(idenPerson.getUid()));
|
|
|
|
- faceModel.setFeatValue(ByteUtil.hex2Byte(idenPerson.getFeatPtr()));
|
|
|
|
- faceModelList.add(faceModel);
|
|
|
|
|
|
+ //陌生人
|
|
|
|
+ QueryWrapper<IdenPersonStranger> queryWrapper1 = new QueryWrapper<>();
|
|
|
|
+ queryWrapper1.select("uid", "feat_ptr");
|
|
|
|
+ queryWrapper1.lambda().isNotNull(IdenPersonStranger::getFeatPtr);
|
|
|
|
+ List<IdenPersonStranger> idenPersonStrangerList = this.idenPersonStrangerService.list(queryWrapper1);
|
|
|
|
+ if (CollUtil.isNotEmpty(idenPersonStrangerList)) {
|
|
|
|
+
|
|
|
|
+ for (int i = 0; i < idenPersonStrangerList.size(); i++) {
|
|
|
|
+ IdenPersonStranger idenPersonStranger = idenPersonStrangerList.get(i);
|
|
|
|
+ FaceModel faceModel = new FaceModel();
|
|
|
|
+ faceModel.setPersonId(idenPersonStranger.getUid().intValue());
|
|
|
|
+ faceModel.setName(String.valueOf(idenPersonStranger.getUid()));
|
|
|
|
+ faceModel.setFeatValue(ByteUtil.hex2Byte(idenPersonStranger.getFeatPtr()));
|
|
|
|
+ faceModelList.add(faceModel);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
|
|
- //陌生人
|
|
|
|
- QueryWrapper<IdenPersonStranger> queryWrapper1 = new QueryWrapper<>();
|
|
|
|
- queryWrapper1.select("uid","feat_ptr");
|
|
|
|
- queryWrapper1.lambda().isNotNull(IdenPersonStranger::getFeatPtr);
|
|
|
|
- List<IdenPersonStranger> idenPersonStrangerList = this.idenPersonStrangerService.list(queryWrapper1);
|
|
|
|
- if (CollUtil.isNotEmpty(idenPersonStrangerList)) {
|
|
|
|
-
|
|
|
|
- for(int i = 0; i < idenPersonStrangerList.size() ; i++){
|
|
|
|
- IdenPersonStranger idenPersonStranger = idenPersonStrangerList.get(i);
|
|
|
|
- FaceModel faceModel = new FaceModel();
|
|
|
|
- faceModel.setPersonId(idenPersonStranger.getUid().intValue());
|
|
|
|
- faceModel.setName(String.valueOf(idenPersonStranger.getUid()));
|
|
|
|
- faceModel.setFeatValue(ByteUtil.hex2Byte(idenPersonStranger.getFeatPtr()));
|
|
|
|
- faceModelList.add(faceModel);
|
|
|
|
|
|
+ if (CollUtil.isNotEmpty(faceModelList)) {
|
|
|
|
+ FaceModel[] dataset = new FaceModel[faceModelList.size()];
|
|
|
|
+ faceModelList.toArray(dataset);
|
|
|
|
+ faceMonitor.loadFaceDataset(dataset);
|
|
}
|
|
}
|
|
- }
|
|
|
|
-
|
|
|
|
- if(CollUtil.isNotEmpty(faceModelList)){
|
|
|
|
- FaceModel[] dataset = new FaceModel[faceModelList.size()];
|
|
|
|
- faceModelList.toArray(dataset);
|
|
|
|
-
|
|
|
|
- FaceMonitor faceMonitorOld = FaceMoniterCache.getFaceMonitor(Constants.FACE_FEAT_PTR_CACHE_KEY);
|
|
|
|
- if(faceMonitorOld != null){
|
|
|
|
- faceMonitorOld.loadFaceDataset(dataset);
|
|
|
|
- } else {
|
|
|
|
- MyFaceMonitor myFaceMonitor = FaceIdenTool.getMyFaceMonitor();
|
|
|
|
- FaceMonitor faceMonitor = myFaceMonitor.getFaceMonitor();
|
|
|
|
- if(faceMonitor != null){
|
|
|
|
- faceMonitor.loadFaceDataset(dataset);
|
|
|
|
- FaceMoniterCache.setFaceMonitor(Constants.FACE_FEAT_PTR_CACHE_KEY, faceMonitor);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|