From bdcc9624341ee34298be74a706b09f12f8306456 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期四, 18 四月 2024 23:16:56 +0800 Subject: [PATCH] 优化缓存的数据, 取消多次的base64计算和float32转换 --- compare/compare.go | 16 ++++++---------- 1 files changed, 6 insertions(+), 10 deletions(-) diff --git a/compare/compare.go b/compare/compare.go index 5b86ce6..2fc28b5 100644 --- a/compare/compare.go +++ b/compare/compare.go @@ -1,7 +1,6 @@ package compare import ( - "encoding/base64" "fmt" "strconv" @@ -18,6 +17,8 @@ if args.FaceFeature == nil { return nil } + + floatFeat := ByteSlice2float32Slice(args.FaceFeature) //鎸囧畾鏈�浣庡垎 baseScore := thresholdLimit @@ -36,7 +37,7 @@ if args.TreeNodes != nil && len(args.TreeNodes) > 0 { for _, id := range args.TreeNodes { if _, ok := cache.CacheMap.Area[id]; ok { - targets := cache.CacheMap.Area[id].Walk(DoSdkCompare, args.FaceFeature, baseScore) + targets := cache.CacheMap.Area[id].Walk(DoSdkCompare, floatFeat, baseScore) if len(targets) > 0 { scResult.CompareResult = append(scResult.CompareResult, targets...) } @@ -60,7 +61,7 @@ continue } - targets := val.Walk(DoSdkCompare, args.FaceFeature, baseScore) + targets := val.Walk(DoSdkCompare, floatFeat, baseScore) if len(targets) > 0 { scResult.CompareResult = append(scResult.CompareResult, targets...) // todo 娣诲姞灏忓尯澶栫殑鍏宠仈鍏崇郴, 涓嬫浼樺厛姣斿 @@ -78,13 +79,8 @@ return buf } -func DoSdkCompare(ci []byte, co string) float32 { - co_d, err := base64.StdEncoding.DecodeString(co) - if err != nil { - logger.Error("DoSdkCompare err:", err) - return -1 - } - sec := DecCompare(ci, co_d) +func DoSdkCompare(ci, co []float32) float32 { + sec := DirectCompare(ci, co) //logger.Debug("姣斿寰楀垎涓猴細", sec) sec = ParseScore(sec) -- Gitblit v1.8.0