panlei
2019-12-16 1570637a67ec0849dbe53cff570c8691a9cff49b
structure/rule.go
@@ -5,20 +5,27 @@
)
// 每个目标的参数:相似度,占比,尺寸
type SourceArg struct {
   Id          string
   Uuid        string
   Score       float64                  // 区域内的目标的相似度
   Proportion  float64                  // 区域内的目标的占比
   Size        float64                  // 区域内的目标的尺寸
   AreaJson    string                   // 所属区域
   Type        string                   // 记载数据类型
   Location    Rect                     // 记下每个目标的位置参数,最后给结果装配目标数据的时候用的到
   Car         *protomsg.PlateIDVehicle // 车辆参数
   Feature     []byte
   BodyFeature []float32
   ThftRes     protomsg.ThftResult
   Liker       []*BaseInfo
   TimeLable   string
   CacheData   ResultMsg
}
type Arg struct {
   Id         uint64
   Uuid      string
   Score      float64 // 区域内的目标的相似度
   Proportion float64 // 区域内的目标的占比
   Size       float64 // 区域内的目标的尺寸
   AreaJson   string  // 所属区域
   IsYolo     bool    // 是否是yolo数据
   Location   Rect    // 记下每个目标的位置参数,最后给结果装配目标数据的时候用的到
   Feature    []byte
   ThftRes    protomsg.ThftResult
   Liker      []*BaseInfo
   TimeLable  string
   CacheData  ResultMsg
   SourceArg
   AttachArg SourceArg
}
// 每个区域内的图片数据集合
@@ -35,19 +42,26 @@
   TargetNum     int    // 区域内目标数量
   Args          []*Arg // 区域内目标集合
   FilterData    []*Arg // 过滤后区域内目标集合
   AlarmObj     []*Arg // 区域内最后满足规则的目标
   AlarmObj      []*Arg // 区域内最后满足规则的目标
   Time          string // 当前时间(用以匹配时间规则)
   IsEffective   bool   // 规则中是否用到了此区域
}
type SourcePhoto struct {
   Id          string
   Rects       Rect    // 矩形区域参数
   Score       float64 // 相似度得分(有多大程度像一个目标。人脸,人体或车等等)
   Type        string  // 记载数据类型
   ThftRes     protomsg.ThftResult
   Feature     []byte
   BodyFeature []float32
   Car         *protomsg.PlateIDVehicle
}
// sdk输出的图片上单个目标的数据
type PhotoMap struct {
   Id      uint64
   Rects   Rect    // 矩形区域参数
   Score   float64 // 相似度得分(有多大程度像一个目标。人脸,人体或车等等)
   IsYolo  bool    // 是否是yolo数据
   ThftRes protomsg.ThftResult
   Feature []byte
   SourcePhoto
   AttachObj SourcePhoto
}
// 每个算法对于当前帧画面自己提取的数据
@@ -56,8 +70,6 @@
   IpcId       string
   IsYolo      bool
   Photo       []PhotoMap // yolo算法结构,也可以存人脸的数据,毕竟人脸中能用规则来测的还是那些参数
   KeepRight   bool       // 是否靠右行 算法判断的与上一帧图像的比较结果
   IsStatic    bool       // 是否静止
   ImageWidth  int        // 摄像机拍摄的图像宽 像素
   ImageHeight int        // 摄像机拍摄的图像高 像素
   AreaMapList []*AreaMap // 本sdk提取的数据按照区域划分后的数据集合
@@ -79,13 +91,12 @@
// 过规则库打上的标签
type Result struct {
   TaskId       string // 任务id
   SdkName      string
   SdkName      string // 算法名称
   RuleGroupId  string // 规则组id
   DefenceState bool   // 是否布防
   AlarmLevel   int32  // 报警等级
   RuleText     string // 文字版规则组
   //Location     []TargetInfo // 目标的坐标
   AlarmObj    []*Arg   // 报警的目标数据  打算废掉上面的Location
   AlarmObj     []*Arg // 报警的目标数据
   AlarmPolygon string // 触发的报警框
   IsLink       bool   // 是否是联动任务
   Others
@@ -121,12 +132,10 @@
   TableName    string  `json:"tableName"`
   BwType       string  `json:"bwType"`
   CompareScore float64 `json:"compareScore"`
   PersonId     string  `json:"personId"`
   PersonName   string  `json:"personName"`
   PersonPicUrl string  `json:"personPicUrl"`
   PhoneNum     string  `json:"phoneNum"`
   Sex          string  `json:"sex"`
   IdCard       string  `json:"idCard"`
   TargetId     string  `json:"targetId"`
   TargetName   string  `json:"targetName"`
   TargetPicUrl string  `json:"targetPicUrl"`
   MonitorLevel string  `json:"monitorLevel"`
   Content      string  `json:"content"`
   DbLabel      string  `json:"labels"`
}