From ffda28153ae4676d842315d3750dea7cd3a89745 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期一, 18 十一月 2019 20:41:20 +0800
Subject: [PATCH] ---
---
ruleserver/personTrack.go | 29 +++++++++++------------------
1 files changed, 11 insertions(+), 18 deletions(-)
diff --git a/ruleserver/personTrack.go b/ruleserver/personTrack.go
index 7abe6fe..7ddfee7 100644
--- a/ruleserver/personTrack.go
+++ b/ruleserver/personTrack.go
@@ -2,8 +2,8 @@
import (
"basic.com/pubsub/protomsg.git"
- "ruleprocess/logger"
"github.com/golang/protobuf/proto"
+ "basic.com/valib/logger.git"
"ruleprocess/structure"
"sync"
)
@@ -57,7 +57,7 @@
}
// 杩借釜浜轰綋锛屾鏌ユ暟閲忔槸鍚︿竴鑷�
-func BodyIsSame(msg *protomsg.SdkMessage) bool {
+func BodyIsSame(args *structure.SdkDatas,msg *protomsg.SdkMessage) bool{
logger.Debug("+++++++++++++++++++++浜轰綋杩借釜寮�濮�+++++++++++++++鎽勫儚鏈篿d涓猴細", msg.Cid, "---缂撳瓨姹犱负锛�", TrackPond)
for _, sdkinfo := range msg.Tasklab.Sdkinfos { // 閬嶅巻鍚勭畻娉曠殑sdkData
if sdkinfo.Sdktype == "Yolo" {
@@ -80,36 +80,30 @@
logger.Info("================杩借釜涔嬪墠yolo鐨勪釜鏁帮細", yoloNum, "杩樻病鏈夎繖涓憚鍍忔満鐨勭紦瀛�")
}
if yoloParam.Infos != nil && TrackPond[msg.Cid] != nil && yoloNum == TrackPond[msg.Cid].Yolo { // yolo鐨勫鏋滄暟閲忕浉鍚屽垯瑙嗕负涓嶅彉銆佹妸yolo鐨剆dkData娓呯┖
- //yoloParam.Infos = (yoloParam.Infos)[0:0]
- //sdkinfo.Sdkdata, err = proto.Marshal(&yoloParam)
- //if err != nil {
- // logger.Error("yolo搴忓垪鍖栭敊璇�", err)
- //}
- logger.Info("璺熶箣鍓嶇浉鍚岋紝娓呯┖yolo鏁版嵁")
+ yoloParam.Infos = (yoloParam.Infos)[0:0]
+ sdkinfo.Sdkdata, err = proto.Marshal(&yoloParam)
+ if err != nil {
+ logger.Error("yolo搴忓垪鍖栭敊璇�", err)
+ }
+ delete(args.RuleResult,"yolo")
+ logger.Info("娓呴櫎yolo鏍囩锛�",args.RuleResult["yolo"])
+ logger.Info("璺熶箣鍓嶇浉鍚岋紝娓呯┖yolo鏁版嵁锛屼汉浣撹拷韪粨鏉�")
return true
} else {
if TrackPond[msg.Cid] != nil {
logger.Info("鏇存柊褰撳墠鎽勫儚鏈虹紦瀛樻睜涓殑yolo涓暟锛�", yoloNum)
- lock.Lock()
TrackPond[msg.Cid].Yolo = yoloNum
- lock.Unlock()
} else {
logger.Info("鏂板缓褰撳墠鎽勫儚鏈虹紦瀛樻睜涓殑yolo涓暟锛�", yoloNum)
- lock.Lock()
TrackPond[msg.Cid] = &PersonTrack{Yolo: yoloNum}
- lock.Unlock()
}
return false
}
} else {
if TrackPond[msg.Cid] != nil {
- lock.Lock()
TrackPond[msg.Cid].Yolo = 0
- lock.Unlock()
} else {
- lock.Lock()
TrackPond[msg.Cid] = &PersonTrack{Yolo: 0}
- lock.Unlock()
}
logger.Info("鎽勫儚鏈�:" + msg.Cid + "-娌℃湁yolo锛岃閲嶇疆涓�0")
continue
@@ -119,6 +113,7 @@
logger.Debug("---------------------------------浜轰綋杩借釜缁撴潫--------------------------------------")
return false
}
+
func TrackOrNot(label map[string]interface{}) bool {
if label["yolo"] != nil && len(label["yolo"].([]structure.Result)) > 0 {
for _, res := range label["yolo"].([]structure.Result) {
@@ -150,7 +145,6 @@
for _, face := range faceParam.Faces {
facesTemp = append(facesTemp, *face) // 鍏堟妸鏁版嵁杞瓨涓�浠斤紝涓嶇劧涓�浼氬効鏁版嵁鍒犲噺涔嬪悗鎵句笉鍒板師濮嬫暟鎹紝涓嶈兘璁╃紦瀛樻暟鎹洿鏂颁簡
}
-
for i := 0; i < len(faceParam.Faces); {
faceFlag := false
for _, val := range TrackPond[cameraId].Faces {
@@ -176,7 +170,6 @@
}
}
logger.Info("鍙嶅簭鍒楀寲閲嶆柊瑁呴厤涔嬪墠浜鸿劯鐨勪釜鏁帮細", len(faceParam.Faces))
-
logger.Info("涓存椂瀛樺偍鐨勬柊鏉ユ暟鎹細")
for _, temp := range facesTemp {
logger.Info("涓存椂瀛樺偍鐨勬柊鏉ョ殑鐨刦ace鏁版嵁锛�", temp.Pos.FaceID, temp.Pos.FAngle.Confidence)
--
Gitblit v1.8.0