From c0324c6499ffb591ed78aaaa3639b57ddd4ea15f Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期一, 29 七月 2019 15:44:08 +0800
Subject: [PATCH] 调整人体追踪

---
 insertdata/insertDataToEs.go |    2 
 main.go                      |    3 -
 ruleserver/personTrack.go    |  102 +++++++++++++++++++++++++++-----------------------
 3 files changed, 57 insertions(+), 50 deletions(-)

diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go
index ffb81ab..f4611a7 100644
--- a/insertdata/insertDataToEs.go
+++ b/insertdata/insertDataToEs.go
@@ -120,12 +120,12 @@
 	logger.Debug("鎻掑叆鏁版嵁鍓嶇湅鐪嬫姤璀︽爣蹇椾綅锛�", timeLabel)
 	if timeLabel == "01" { // 鏃犲畾鏃跺櫒鐘舵�佽鎻掑叆鐨勬姤璀︽暟鎹�
 		InsertFace(msg)
+		ruleserver.BodyIsSame(msg.SdkMessage)
 		InsertYolo(msg)
 	}
 	if timeLabel == "10" { // 瀹氭椂鍣ㄧ姸鎬佽鎻掑叆鐨勯甯ф姤璀︽暟鎹�傝繛甯︾潃瀹氭椂鍣ㄥ紑鍚椂鐨勯偅甯�
 		InsertFace(msg)
 		InsertYolo(msg)
-
 	}
 	//if timeLabel == "12" { // 骞堕潪鎶ヨ鏁版嵁锛屽彧鏄姸鎬佹敼鍙樼殑鏁版嵁
 	//	//ChangeStatusFace(msg)
diff --git a/main.go b/main.go
index 5284b7d..dc306cf 100644
--- a/main.go
+++ b/main.go
@@ -74,7 +74,6 @@
 				// 鎶奱rg閲岀殑鎵撶殑鏍囩鎷垮嚭鏉ョ粰m鍐嶅皝瑁呬竴灞�
 				resultMag := ruleserver.ResultMsg{SdkMessage: &m, RuleResult: arg.RuleResult}
 				//logger.Info("鎵撳畬鏍囩鍚庣殑缁撴灉锛�",resultMag)
-
 				// 灏嗘墦瀹屾爣绛剧殑鏁版嵁鎻掑叆鍒癊S
 				insertdata.InsertToEs(resultMag)
 			}
@@ -108,7 +107,7 @@
 		panic("瑙f瀽msg鏃跺嚭鐜伴敊璇�")
 	}
 	// 鍏堣繘琛屼竴涓嬭拷韪�
-	ruleserver.IsSame(&m)
+	ruleserver.FaceIsSame(&m)
 	args.CameraId = m.Cid
 	args.TaskId = m.Tasklab.Taskid
 	// 鎶婂浘鐗囩殑浜岃繘鍒惰В鍘嬬缉杩涜鐢绘鍦ㄥ帇缂╁洖鍘�
diff --git a/ruleserver/personTrack.go b/ruleserver/personTrack.go
index 48199f4..33c6ae9 100644
--- a/ruleserver/personTrack.go
+++ b/ruleserver/personTrack.go
@@ -18,8 +18,8 @@
 }
 
 var num int = 5
-// 妫�鏌ユ槸鍚﹀墠鍚庝袱娆$殑鏁版嵁id鏄惁瀹屽叏鐩稿悓锛堜汉鑴稿拰yolo锛�     鏀逛负鐩存帴妫�鏌ユ暟閲忔槸鍚︿竴鑷�
-func IsSame(msg *protomsg.SdkMessage) {
+// 妫�鏌ユ槸鍚﹀墠鍚庝袱娆$殑鏁版嵁id鏄惁瀹屽叏鐩稿悓锛堜汉鑴革級
+func FaceIsSame(msg *protomsg.SdkMessage) {
 	logger.Debug("+++++++++++++++++++++杩借釜寮�濮�+++++++++++++++鎽勫儚鏈篿d涓猴細", msg.Cid, "---缂撳瓨姹犱负锛�", TrackPond)
 	for _, sdkinfo := range msg.Tasklab.Sdkinfos { // 閬嶅巻鍚勭畻娉曠殑sdkData
 		if sdkinfo.Sdktype == "FaceDetect" { // 浜鸿劯妫�娴�
@@ -44,51 +44,59 @@
 				}
 			}
 		}
-		//if sdkinfo.Sdktype == "Yolo" {
-		//			if len(sdkinfo.Sdkdata) > 1 {
-		//				yoloParam := protomsg.ParamYoloObj{}
-		//				err := proto.Unmarshal(sdkinfo.Sdkdata, &yoloParam)
-		//				if err != nil {
-		//					logger.Info("瑙f瀽yolo鏁版嵁鏃跺嚭鐜伴敊璇�", err)
-		//					continue
-		//				}
-		//				var yoloNum int = 0
-		//				for i := 0; i < len(yoloParam.Infos); i++ {
-		//					if yoloParam.Infos[i].Typ == 0 {
-		//						yoloNum++
-		//					}
-		//				}
-		//				if TrackPond[msg.Cid] != nil {
-		//					logger.Info("================杩借釜涔嬪墠yolo鐨勪釜鏁帮細", yoloNum, "鐜板湪缂撳瓨姹犱腑璁板綍鐨勪釜鏁帮細", TrackPond[msg.Cid].Yolo)
-		//				} else {
-		//					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鏁版嵁")
-		//				} else {
-		//					if TrackPond[msg.Cid] != nil {
-		//						logger.Info("鏇存柊褰撳墠鎽勫儚鏈虹紦瀛樻睜涓殑yolo涓暟锛�", yoloNum)
-		//						TrackPond[msg.Cid].Yolo = yoloNum
-		//					} else {
-		//						logger.Info("鏂板缓褰撳墠鎽勫儚鏈虹紦瀛樻睜涓殑yolo涓暟锛�", yoloNum)
-		//						TrackPond[msg.Cid] = &PersonTrack{Yolo: yoloNum}
-		//					}
-		//				}
-		//			} else {
-		//				if TrackPond[msg.Cid] != nil {
-		//					TrackPond[msg.Cid].Yolo = 0
-		//				} else {
-		//					TrackPond[msg.Cid] = &PersonTrack{Yolo: 0}
-		//				}
-		//				logger.Info("鎽勫儚鏈�:" + msg.Cid + "-娌℃湁yolo锛岃閲嶇疆涓�0")
-		//				continue
-		//	}
-		//}
+	}
+	logger.Debug("---------------------------------------浜鸿劯杩借釜缁撴潫--------------------------------------")
+}
+
+//  杩借釜浜轰綋锛屾鏌ユ暟閲忔槸鍚︿竴鑷�
+func BodyIsSame(msg *protomsg.SdkMessage) {
+	logger.Debug("+++++++++++++++++++++杩借釜寮�濮�+++++++++++++++鎽勫儚鏈篿d涓猴細", msg.Cid, "---缂撳瓨姹犱负锛�", TrackPond)
+	for _, sdkinfo := range msg.Tasklab.Sdkinfos { // 閬嶅巻鍚勭畻娉曠殑sdkData
+		if sdkinfo.Sdktype == "Yolo" {
+					if len(sdkinfo.Sdkdata) > 1 {
+						yoloParam := protomsg.ParamYoloObj{}
+						err := proto.Unmarshal(sdkinfo.Sdkdata, &yoloParam)
+						if err != nil {
+							logger.Info("瑙f瀽yolo鏁版嵁鏃跺嚭鐜伴敊璇�", err)
+							continue
+						}
+						var yoloNum int = 0
+						for i := 0; i < len(yoloParam.Infos); i++ {
+							if yoloParam.Infos[i].Typ == 0 {
+								yoloNum++
+							}
+						}
+						if TrackPond[msg.Cid] != nil {
+							logger.Info("================杩借釜涔嬪墠yolo鐨勪釜鏁帮細", yoloNum, "鐜板湪缂撳瓨姹犱腑璁板綍鐨勪釜鏁帮細", TrackPond[msg.Cid].Yolo)
+						} else {
+							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鏁版嵁")
+						} else {
+							if TrackPond[msg.Cid] != nil {
+								logger.Info("鏇存柊褰撳墠鎽勫儚鏈虹紦瀛樻睜涓殑yolo涓暟锛�", yoloNum)
+								TrackPond[msg.Cid].Yolo = yoloNum
+							} else {
+								logger.Info("鏂板缓褰撳墠鎽勫儚鏈虹紦瀛樻睜涓殑yolo涓暟锛�", yoloNum)
+								TrackPond[msg.Cid] = &PersonTrack{Yolo: yoloNum}
+							}
+						}
+					} else {
+						if TrackPond[msg.Cid] != nil {
+							TrackPond[msg.Cid].Yolo = 0
+						} else {
+							TrackPond[msg.Cid] = &PersonTrack{Yolo: 0}
+						}
+						logger.Info("鎽勫儚鏈�:" + msg.Cid + "-娌℃湁yolo锛岃閲嶇疆涓�0")
+						continue
+			}
+		}
 	}
 	logger.Debug("---------------------------------------杩借釜缁撴潫--------------------------------------")
 }

--
Gitblit v1.8.0