insertdata/insertDataToEs.go | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruleserver/personTrack.go | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruleserver/ruleToformula.go | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
insertdata/insertDataToEs.go
@@ -214,6 +214,7 @@ logger.Error("上传ES出错!---", err1) } else { logger.Info("插入es返回的信息:", resp1) // 发出录像信号 ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: resp1["_id"].(string), CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, ImgId: i.Id, SdkIds: []string{}}) } } @@ -287,6 +288,7 @@ logger.Error("上传ES出错!---", err1) } else { logger.Info("插入es返回的信息:", resp1) // 发出录像信号 ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: resp1["_id"].(string), CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, ImgId: i.Id, SdkIds: []string{}}) } //if msg.RuleResult["cacheData"] != nil { @@ -340,6 +342,11 @@ logger.Error("查询摄像机信息失败") } serverIp, err := GetLocalIP() if msg.RuleResult["cacheData"] != nil { InsertYolo(msg.RuleResult["cacheData"].(ruleserver.ResultMsg)) // 把缓存的数据上传后得到地址存进去 } peraction := Personaction{ uuid.NewV4().String(), msg.Cid, @@ -378,9 +385,6 @@ ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: resp1["_id"].(string), CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, ImgId: i.Id, SdkIds: []string{}}) logger.Warn("__________________________________________往ES插入yolo数据成功") //os.Exit(1) } if msg.RuleResult["cacheData"] != nil { InsertYolo(msg.RuleResult["cacheData"].(ruleserver.ResultMsg)) } } } @@ -447,6 +451,7 @@ logger.Error("往ES插入数据失败", err) } else { logger.Info("插入es返回的信息:", resp1) // 发出录像信号 ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: resp1["_id"].(string), CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, ImgId: i.Id, SdkIds: []string{}}) logger.Warn("__________________________________________往ES插入yolo数据成功") //os.Exit(1) ruleserver/personTrack.go
@@ -10,7 +10,9 @@ type PersonTrack struct { Face int // 人脸的id数组 改为数量 FaceN int // 添加容错,初始值为5,连续5次不对才算不对 Yolo int // yolo对象的id数组 改为数量 YoloN int // 添加容错,初始值为5,连续5次不对才算不对 } // 检查是否前后两次的数据id是否完全相同(人脸和yolo) 改为直接检查数量是否一致 @@ -36,9 +38,15 @@ logger.Info("===================追踪中途人脸的个数",len(faceParam.Faces)) } else { if TrackPond[msg.Cid] != nil { if TrackPond[msg.Cid].FaceN > 0 { TrackPond[msg.Cid].FaceN-- } if TrackPond[msg.Cid].FaceN == 0 { //此时连续五次不对 TrackPond[msg.Cid].Face = len(faceParam.Faces) TrackPond[msg.Cid].FaceN = 5 } } else { TrackPond[msg.Cid] = &PersonTrack{Face:len(faceParam.Faces)} TrackPond[msg.Cid] = &PersonTrack{Face: len(faceParam.Faces),FaceN:5} } } //for i := 0; i < len(faceParam.Faces); { @@ -76,8 +84,15 @@ } else { if TrackPond[msg.Cid] != nil { TrackPond[msg.Cid].Yolo = yoloNum if TrackPond[msg.Cid].YoloN > 0 { TrackPond[msg.Cid].YoloN-- } if TrackPond[msg.Cid].YoloN == 0 { //此时连续五次不对 TrackPond[msg.Cid].Yolo = yoloNum TrackPond[msg.Cid].YoloN = 5 } } else { TrackPond[msg.Cid] = &PersonTrack{Yolo:yoloNum} TrackPond[msg.Cid] = &PersonTrack{Yolo: yoloNum,YoloN:5} } } } else { @@ -87,6 +102,7 @@ } logger.Debug("---------------------------------------追踪结束--------------------------------------") } //// 判断一个人脸id在不在追踪池中 //func FaceIsInPond(cameraId string,face *protomsg.ResultFaceDetect) bool{ // if TrackPond[cameraId].Face > 0 { ruleserver/ruleToformula.go
@@ -89,6 +89,12 @@ Location []Rect // 目标的坐标 AlarmPolygon string // 触发的报警框 } // 过规则库打上的标签 type FaceResult struct { Result Args []*Arg } type LittleRuleResult struct { SdkName string // 记录下此结果是哪个sdk的结果 Result string // 已包含了前置连接符