syntax = "proto3"; import "base.proto"; package protomsg; // Image ipc struct message Image { int32 width = 1; int32 height = 2; bytes data = 3; string timestamp = 4; int64 id = 5; string cid = 6; string cname = 7; int32 channel = 8; int64 i64timestamp = 9; } message Target{ uint64 id = 1; string type = 2; int32 confidence = 3; Rect rect = 4; bytes feature= 5; bytes attribute = 6; } message NewSDKMessage{ string sdkID = 1; string sdkType = 2; string sdkName = 3; repeated Target target = 4; string timestamp = 5; } message NewRuleMessage{ string dataType = 1; string handleTrack = 2; repeated NewSDKMessage message = 3; } message FaceAngle { int32 yaw = 1; int32 pitch = 2; int32 roll = 3; float confidence = 4; } message ThftResult { int32 gender = 1; int32 age = 2; int32 race = 3; int32 beauty = 4; int32 smile = 5; } message FacePos { Rect rcFace = 1; Point ptLeftEye = 2; Point ptRightEye = 3; Point ptMouth = 4; Point ptNose = 5; FaceAngle fAngle = 6; int32 quality = 7; bytes facialData = 8; uint64 faceID = 9; } message FaceInfo { Rect rcFace = 1; Point ptLeftEye = 2; Point ptRightEye = 3; Point ptMouth = 4; Point ptNose = 5; FaceAngle fAngle = 6; int32 quality = 7; bytes facialData = 8; int64 faceID = 9; } message ObjInfo { Rect rcObj = 1; int32 typ = 2; float prob = 3; uint64 objID = 4; } // sdk face property message ResultFaceDetect { FacePos pos = 1; ThftResult result = 2; bytes feats = 3; } message ParamFacePos { repeated ResultFaceDetect faces = 1; } message ResultFaceExtCom { bytes feats = 1; bytes comp = 2; ResultFaceDetect pos = 3; } message ParamFaceFeature { repeated ResultFaceExtCom extComp = 2; } // sdk yolo detect message ParamYoloObj { repeated ObjInfo infos = 1; } message SoInfo { string id = 1; string sdkId = 2; string soName = 3; } // sdk plate id detect message PlateID{ string license = 1; string color = 2; int32 nColor = 3; int32 nType = 4; int32 nConfidence = 5; int32 nBright = 6; int32 nDirection = 7; Rect rcLocation = 8; int32 nTime = 9; int32 nCarBright = 10; int32 NCarColor = 11; int32 nCarLogo = 12; int32 nCarType = 13; bytes plateBin = 14; bytes nBinPlateWidth = 15; bytes nBinPlateHeight = 16; Rect rcLogoLocation = 17; bytes nCarModel = 18; bytes nCarModelConfidence = 19; // bytes picCache = 19; // bytes reserved = 20; } // cloud message PlateIDCloud{ string license = 1; Rect rcLocation = 2; int32 nConfidence = 3; int32 nType = 4; int32 nDirection = 5; int32 nCarColor = 6; int32 nCarColor1 = 7; int32 nCarBright = 8; int32 frameNo = 9; int32 faceWidth = 10; int32 faceHeight = 11; int32 grayFaceFlag = 12; int32 charNum = 13; // bytes X = 14; // bytes Y = 15; // int32 pResultBits = 16; // bytes time = 17; // repeated Rect charLocation = 18; // repeated Rect charConfidence = 19; } message PlateIDVehicle{ int32 nPlateFlag = 1; int32 nColor = 2; int32 nType = 3; string license = 4; int32 nConfidence = 5; int32 nCharNum = 6; repeated int32 nCharConfidence = 7; Rect rcLocation = 8; Rect rcCarLocation = 9; string vehicleType = 10; string vehicleBrand = 11; string vehicleSub = 12; string vehicleType1 = 13; float fvdConf = 14; float fConfdence = 15; int32 nVehicleSubModel = 16; int32 nVehicleBright = 17; int32 nVehicleColor1 = 18; int32 nVehicleColor2 = 19; // PCaptureImage [4]uint8 //视频模式识别下抓拍的图片数据 // NImageWidth int32 //视频模式下抓拍图像宽度 // NImageHeight int32 //视频模式下抓拍图像高度 } message PlateIDResult { // repeated PlateID result = 1; // repeated PlateIDCloud result = 1; repeated PlateIDVehicle result = 1; } message HumanTrack { Rect rcHuman = 1; float confidence = 2; int32 x = 3; int32 y = 4; int32 id = 5; repeated float feature = 6; } message HumanTrackResult { repeated HumanTrack result = 1; }