zhangzengfei
2024-04-18 bdcc9624341ee34298be74a706b09f12f8306456
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)