update:version 1.1.0

This commit is contained in:
divenswu 2022-03-18 10:08:55 +08:00
parent 027487e78b
commit 606ef0abcd
2 changed files with 7 additions and 7 deletions

View File

@ -36,18 +36,18 @@ public class FaceCompareServiceImpl implements FaceCompareService {
} }
//计算余弦相似度 //计算余弦相似度
float simVal = Similarity.cosineSimilarity(faceInfoA.embedding.embeds, faceInfoB.embedding.embeds); float simVal = Similarity.cosineSimilarity(faceInfoA.embedding.embeds, faceInfoB.embedding.embeds);
float confidence = (float) Math.floor(simVal * 1000000)/100; float confidence = (float) Math.floor(simVal * 1000000)/10000;
//欧式距离 //欧式距离
float euclideanDistance = Similarity.euclideanDistance(faceInfoA.embedding.embeds, faceInfoB.embedding.embeds); float euclideanDistance = Similarity.euclideanDistance(faceInfoA.embedding.embeds, faceInfoB.embedding.embeds);
float distance = (float) Math.floor(euclideanDistance * 1000000)/100; float distance = (float) Math.floor(euclideanDistance * 10000)/10000;
//构建返回值 //构建返回值
FaceCompareRepVo faceCompareRep = new FaceCompareRepVo(); FaceCompareRepVo faceCompareRep = new FaceCompareRepVo();
faceCompareRep.setDistance(distance); faceCompareRep.setDistance(distance);
faceCompareRep.setConfidence(confidence); faceCompareRep.setConfidence(confidence);
if(compareReq.getNeedFaceInfo()){ if(compareReq.getNeedFaceInfo()){
CompareFace compareFace = new CompareFace(); CompareFace compareFace = new CompareFace();
compareFace.setFaceScoreA((float) Math.floor(faceInfoA.score * 1000000)/100); compareFace.setFaceScoreA((float) Math.floor(faceInfoA.score * 1000000)/10000);
compareFace.setFaceScoreB((float) Math.floor(faceInfoA.score * 1000000)/100); compareFace.setFaceScoreB((float) Math.floor(faceInfoA.score * 1000000)/10000);
FaceInfo.FaceBox boxA = faceInfoA.box; FaceInfo.FaceBox boxA = faceInfoA.box;
compareFace.setLocationA(FaceLocation.build(boxA.leftTop.x, boxA.leftTop.y, boxA.width(), boxA.height())); compareFace.setLocationA(FaceLocation.build(boxA.leftTop.x, boxA.leftTop.y, boxA.width(), boxA.height()));
FaceInfo.FaceBox boxB = faceInfoB.box; FaceInfo.FaceBox boxB = faceInfoB.box;

View File

@ -123,7 +123,7 @@ public class FaceSearchServiceImpl extends BaseService implements FaceSearchServ
FaceInfo.FaceBox box = faceInfos.get(i).box; FaceInfo.FaceBox box = faceInfos.get(i).box;
FaceSearchRepVo vo = FaceSearchRepVo.build(); FaceSearchRepVo vo = FaceSearchRepVo.build();
vo.setLocation(FaceLocation.build(box.leftTop.x, box.leftTop.y, box.width(), box.height())); vo.setLocation(FaceLocation.build(box.leftTop.x, box.leftTop.y, box.width(), box.height()));
vo.setFaceScore((float)Math.floor(faceInfos.get(i).score * 1000000)/100); vo.setFaceScore((float)Math.floor(faceInfos.get(i).score * 1000000)/10000);
List<SampleFaceVo> match = new ArrayList<>(); List<SampleFaceVo> match = new ArrayList<>();
SearchResult searchResult = result.get(i); SearchResult searchResult = result.get(i);
List<SearchDocument> documents = searchResult.getDocuments(); List<SearchDocument> documents = searchResult.getDocuments();
@ -135,7 +135,7 @@ public class FaceSearchServiceImpl extends BaseService implements FaceSearchServ
String faceVectorStr = MapUtils.getString(face, Constant.ColumnNameFaceVector); String faceVectorStr = MapUtils.getString(face, Constant.ColumnNameFaceVector);
float[] faceVector = ValueUtil.convertVector(faceVectorStr); float[] faceVector = ValueUtil.convertVector(faceVectorStr);
float simVal = Similarity.cosineSimilarity(faceInfos.get(i).embedding.embeds, faceVector); float simVal = Similarity.cosineSimilarity(faceInfos.get(i).embedding.embeds, faceVector);
float confidence = (float) Math.floor(simVal * 1000000)/100; float confidence = (float) Math.floor(simVal * 1000000)/10000;
if(null != sampleId && sampleMapping.containsKey(sampleId) && confidence >= search.getConfidenceThreshold()){ if(null != sampleId && sampleMapping.containsKey(sampleId) && confidence >= search.getConfidenceThreshold()){
Map<String, Object> sample = sampleMapping.get(sampleId); Map<String, Object> sample = sampleMapping.get(sampleId);
SampleFaceVo faceVo = SampleFaceVo.build(); SampleFaceVo faceVo = SampleFaceVo.build();
@ -143,7 +143,7 @@ public class FaceSearchServiceImpl extends BaseService implements FaceSearchServ
faceVo.setFaceId(document.getFaceId()); faceVo.setFaceId(document.getFaceId());
faceVo.setFaceScore(faceScore); faceVo.setFaceScore(faceScore);
faceVo.setConfidence(confidence); faceVo.setConfidence(confidence);
faceVo.setDistance((float) Math.floor(document.getScore() * 1000000) / 100); faceVo.setDistance((float) Math.floor(document.getScore() * 10000) / 10000);
faceVo.setFaceData(ValueUtil.getFieldKeyValues(face, ValueUtil.getFaceColumns(collection))); faceVo.setFaceData(ValueUtil.getFieldKeyValues(face, ValueUtil.getFaceColumns(collection)));
faceVo.setSampleData(ValueUtil.getFieldKeyValues(sample, ValueUtil.getSampleColumns(collection))); faceVo.setSampleData(ValueUtil.getFieldKeyValues(sample, ValueUtil.getSampleColumns(collection)));
match.add(faceVo); match.add(faceVo);