692 lines
26 KiB
Protocol Buffer
Executable File
692 lines
26 KiB
Protocol Buffer
Executable File
syntax = "proto3";
|
||
import "google/protobuf/any.proto";
|
||
import "google/protobuf/timestamp.proto";
|
||
import "geometry.proto";
|
||
import "data_source.proto";
|
||
import "calib_param.proto";
|
||
import "vehicle_signal.proto";
|
||
import "vehicle_signal_v2.proto";
|
||
import "command_signal.proto";
|
||
import "object_warning.proto";
|
||
import "camera.proto";
|
||
import "scene.proto";
|
||
import "tsr_define.proto";
|
||
|
||
// VERSION
|
||
// 0.6
|
||
|
||
package perception;
|
||
|
||
message Object {
|
||
// 目标检测分类
|
||
enum ObjectType {
|
||
kNone = 0;
|
||
kVehicle = 1; // 车辆
|
||
kPed = 2; // 行人
|
||
kBike = 3; // 二轮车
|
||
kCone = 4; // 锥桶
|
||
|
||
kVehicleWheel = 5; // 车轮
|
||
kVehiclePlate = 6; // 车牌
|
||
kPedHead = 7; // 人头
|
||
kCyclist = 8; // 骑行者
|
||
kWarningTriangle = 9; // 三角警告牌
|
||
kSmallTrafficSign = 10; // 小标牌
|
||
kBigTrafficSign = 11; // 大标牌
|
||
kTrafficLight = 12; // 交通信号灯
|
||
kAnimals = 13; // 动物
|
||
kVehicleLight = 14; // 车灯
|
||
kStreetLamp = 15; // 路灯
|
||
kRoadBarrier = 16; // 水马
|
||
kTrafficLightBulb = 17; // 交通信号灯的灯芯
|
||
kTrafficLightDigit = 18; // 交通信号灯的数字
|
||
kObstacle = 19; // 障碍物
|
||
kThreeWheeledVehicle = 20;// 三轮车
|
||
kObjectTypeNum = 24;
|
||
}
|
||
|
||
enum ObjectCategory {
|
||
kCategoryNone = 0;
|
||
|
||
kCategoryCar = 1; // 小轿车
|
||
kCategorySuv = 2; // SUV
|
||
kCategoryPickup = 3; // 皮卡
|
||
kCategoryMediumCar = 4; // 中型车
|
||
kCategoryVan = 5; // 面包车
|
||
kCategoryBus = 6; // 客车
|
||
kCategoryTruck = 7; // 卡车/罐车/大型货车/工程车
|
||
kCategorySpecialVehicle = 8; // 特种车
|
||
kCategoryTricycle = 9; // 三轮车/三轮骑行者
|
||
kCategoryUnknownVehicle = 10; // 未知车辆
|
||
|
||
kCategoryPedestrian = 30; // 行人
|
||
kCategoryBike = 31; // 自行车/摩托车
|
||
kCategoryCyclist = 32; // 自行车骑行者/摩托车骑行者
|
||
|
||
kCategoryTrafficSign = 40; // 交通标志牌
|
||
|
||
kCategoryVehicleWheel = 90; // 车轮
|
||
kCategoryLicensePlate = 91; // 车牌
|
||
kCategoryHead = 92; // 人头
|
||
}
|
||
|
||
// 车辆姿态分类
|
||
enum VehiclePose {
|
||
kInvalid = 0; // 背景
|
||
kLeftTail = 1; // 左侧同向车
|
||
kMidTail = 2; // 中间同向车
|
||
kRightTail = 3; // 右侧同向车
|
||
kLeftHead = 4; // 左侧对向车
|
||
kMidHead = 5; // 中间对向车
|
||
kRightHead = 6; // 右侧对向车
|
||
kLeftSide = 7; // 朝左横向车
|
||
kRightSide = 8; // 朝右横向车
|
||
kLeftCutIn = 9; // 左侧切入
|
||
kRightCutIn = 10; // 右侧切入
|
||
kLeftCutOut = 11; // 左侧切出
|
||
kRightCutOut = 12; // 右侧切出
|
||
kOccluded = 13; // 车头遮挡/车尾遮挡/横向遮挡 (deprecated)
|
||
kSide = 14; // 横向车(不知道朝左,还是朝右)
|
||
kOccludedTail = 15; // 车尾遮挡
|
||
kOccludedHead = 16; // 车头遮挡
|
||
kOccludedSide = 17; // 横向遮挡
|
||
kVehicleOtherPose = 18; // 其他(切车、横向车、遮挡车)
|
||
kUnknownPose = 20; // unknown pose
|
||
}
|
||
|
||
enum OccludedType {
|
||
kWithoutOccluded = 0; // 无遮挡
|
||
kPartOccluded = 1; // 部分遮挡
|
||
kLeftOccluded = 2; // 左遮挡
|
||
kRightOccluded = 4; // 右遮挡
|
||
kTopOccluded = 8; // 上遮挡
|
||
kBottomOccluded = 16; // 底部遮挡
|
||
}
|
||
|
||
// 行人姿态分类
|
||
enum PedPose {
|
||
kPedInvalidPose = 0; // 背景
|
||
kPedForward = 1; // 朝前
|
||
kPedBackward = 4; // 朝后
|
||
kPedLeft = 7; // 朝左
|
||
kPedRight = 10; // 朝右
|
||
kPedUnknownPose = 20; // 未知朝向
|
||
}
|
||
|
||
enum PedCls {
|
||
kPedInvalidCls = 0; // 背景
|
||
kPedFull = 1; // 完整行人
|
||
kPedOccluded = 2; // 遮挡行人
|
||
kPedCyclist = 3; // 骑车行人
|
||
kPedAdvert = 4; // 广告行人
|
||
kPedFakeFull = 5; // 伪装直立行人
|
||
kPedFakeCyclist = 6; // 伪装骑行者
|
||
kPedUnknownCls = 20; // 未知类别
|
||
}
|
||
|
||
// 锚点信息
|
||
enum AnchorPtInfo {
|
||
kVehicleHead = 0;
|
||
kVehicleTail = 1;
|
||
kVehicleFrontWheel = 2; // deprecated
|
||
kVehicleRearWheel = 3; // deprecated
|
||
kVehicleSomeWheel = 4;
|
||
kDetectBottomCenter = 5;
|
||
kVehicleLeftFrontWheel = 6;
|
||
kVehicleLeftRearWheel = 7;
|
||
kVehicleRightFrontWheel = 8;
|
||
kVehicleRightRearWheel = 9;
|
||
kMonocular3DFront = 21;
|
||
kMonocular3DRear = 22;
|
||
kMonocular3DLeft = 23;
|
||
kMonocular3DRight = 24;
|
||
kMonocular3DCenter = 25;
|
||
}
|
||
|
||
// 车辆测距方式
|
||
enum MeasureType {
|
||
kVehicleMeasureHeadReg = 0;
|
||
kVehicleMeasureTailReg = 1;
|
||
kVehicleMeasureDetect = 2;
|
||
kVehicleMeasureWheel = 3;
|
||
kVehicleMeasurePlate = 4;
|
||
kVehicleMeasureHeadProjection = 5;
|
||
kVehicleMeasureTailProjection = 6;
|
||
kVehicleMeasureHeadWidth = 7;
|
||
kVehicleMeasureTailWidth = 8;
|
||
kPedMeasureBox = 10; // 行人测距方式
|
||
kPedMeasureProjection = 11;
|
||
|
||
// add 2024/09/20
|
||
kVehicleMeasureLaneWidth = 9; // 基于车道宽度
|
||
kVehicleMeasureDetHeight = 12; // 基于检测框高度
|
||
kVehicleMeasureDetWidth = 13; // 基于检测框宽度
|
||
kVehicleMeasureRegHeight = 14; // 基于回归框高度
|
||
kVehicleMeasureRegWidth = 15; // 基于回归框宽度
|
||
|
||
kMeasureMono3D = 16; // 模型测距方式
|
||
kMeasureBev = 17;
|
||
kMeasureFusion = 20; // 融合测距
|
||
}
|
||
|
||
// 车型细分类
|
||
enum VehicleClass {
|
||
kNegative = 0; // 背景
|
||
kBus = 1; // 大巴
|
||
kCar = 2; // 小轿车,suv
|
||
kMiniBus = 3; // 面包车
|
||
kBucketTruck = 4; // 斗卡
|
||
kContainerTruck = 5; // 箱卡
|
||
kTricycle = 6; // 三轮车
|
||
kTanker = 7; // 油罐车,晒水车(车身带有圆形,椭圆形,半圆形的罐)
|
||
kCementTankTruck = 8; // 水泥罐车
|
||
kPickup = 9; // 皮卡
|
||
kSedimentTruck = 10; // 渣土车
|
||
kIveco = 11; // 依维柯
|
||
kSpecialCar = 12; // 异型车
|
||
kCityAuto = 13; // 市政车
|
||
kVehicleUnknown = 14; // 未知车辆
|
||
kWrecker = 15; // 小型拖车,清障车
|
||
kFlatTransporter = 16; // 大型平板拖车
|
||
kTractorHead = 17; // 卡车车头,牵引车车头
|
||
kSpecialFlatTransporter = 18; // 大型特种拖车(相对于大型平板拖车会多挡板)
|
||
kCarCarrier = 19; // 轿运车
|
||
|
||
// 盖布车(车身上的货物全部被布盖着,同时对车辆尾部进行了遮挡)
|
||
kTruckWithTrap = 20;
|
||
kEngineeringVehicle = 21; // 工程车
|
||
kSweeper = 22; // 扫地车
|
||
kRoadServiceCar = 23; // 道路维修车
|
||
kSanitationTruck = 24; // 环卫车
|
||
kGarbageTruck = 25; // 垃圾车
|
||
kFakeCar = 26; // 伪装小车
|
||
}
|
||
|
||
enum WheelClass {
|
||
kWheelUnknown = 0; // 车轮方向未知
|
||
kWheelFront = 1; // 前车轮
|
||
kWheelRear = 2; // 后车轮
|
||
}
|
||
|
||
enum TrafficLightColor { // 交通灯颜色 cls
|
||
kTLCBackground = 0; // 背景
|
||
kTLCRed = 1; // 红灯
|
||
kTLCGreen = 2; // 绿灯
|
||
kTLCYellow = 3; // 黄灯
|
||
kTLCUnknown = 8; // 未知
|
||
}
|
||
|
||
enum TrafficLightShape { // 交通灯形状 pose
|
||
kTLSBackground = 0; // 背景
|
||
kTLSUp = 1; // 上
|
||
kTLSDown = 2; // 下
|
||
kTLSLeft = 3; // 左
|
||
kTLSRight = 4; // 右
|
||
kTLSCircle = 5; // 圆
|
||
kTLSTurnAround = 6; // 调头
|
||
kTLSDigit = 7; // 数字
|
||
kTLSPerson = 8; // 人
|
||
kTLSBicycle = 9; // 自行车
|
||
kTLSUnknown = 16; // 未知
|
||
}
|
||
|
||
enum VehicleLightClass { // 车灯分类
|
||
kVLUnknown = 0;
|
||
kVLHeadLight = 1; // 车头灯
|
||
kVLTailLight = 2; // 车尾灯
|
||
kVLBrakeLight = 4; // 刹车等
|
||
kVLTurnLeftLight = 8; // 左变道灯
|
||
kVLTurnRightLight = 16; // 右变道灯
|
||
}
|
||
|
||
enum VehicleLightStatus { // 车灯状态
|
||
kVLSUnknown = 0;
|
||
kVLSOn = 1; // 开
|
||
kVLSOff = 2; // 关(指示灯全灭)
|
||
kVLSFlash = 3; // 闪烁(deprecated)
|
||
kVLSLeftTurnLightOn = 4; // 左转向灯亮
|
||
kVLSRightTurnLightOn = 8; // 右转向灯亮
|
||
kVLSBrakeLightOn = 16; // 刹车灯亮
|
||
kVLSHazardLightOn = 32; // 双闪灯亮
|
||
}
|
||
|
||
// 工况场景判断
|
||
enum MoveState {
|
||
kMSUnknown = 0; // 未知
|
||
kEgoDirectionDriving = 1; // 跟车流方向一致,向前行驶
|
||
kEgoDirectionStopped = 2; // 跟车流方向一致, 停止
|
||
kEgoDirectionReversing = 3; // 跟车流方向一致, 横穿
|
||
kOnComming = 4; // 对向来车
|
||
kCrossing = 5; // 横穿车辆
|
||
kStationary = 6; // 静止
|
||
kTurning = 7; // 转弯
|
||
}
|
||
|
||
// 目标位置状态 -> 2024/09/20
|
||
enum PositionState {
|
||
kPosUnknown = 0; // 未知
|
||
kPosShortDistance = 1; // 近距离
|
||
kPosMediumDistance = 2; // 中距离
|
||
kPosLongDistance = 3; // 远距离
|
||
}
|
||
|
||
message ImageInfo {
|
||
perception.common.Rect2f det_rect = 1; // 检测框
|
||
perception.common.Rect2f reg_rect = 2; // 回归框(尾部框)
|
||
perception.common.Rect2f track_rect = 3; // 跟踪框
|
||
perception.common.Rect2f smooth_rect = 4; // 光流跟踪框
|
||
perception.common.Rect2f plate_rect = 5; // 车牌框
|
||
repeated perception.common.Rect2f wheel_list = 6; // 车轮踪框
|
||
repeated perception.common.Point2f reg_pt_list = 7; // 回归点列表
|
||
perception.common.Rect2f bike_rect = 8; // 二轮车框
|
||
|
||
perception.common.Box3D box = 10; // 3dbox
|
||
minieye.CamID camera_id = 11; // 对应那个摄像头
|
||
|
||
perception.common.Rect2f det_rc_refined = 15; // 经过refine(补框)后的检测框
|
||
perception.common.Rect2f reg_rc_refined = 16; // 经过refine(补框)后的回归框
|
||
perception.common.Rect2f det_rc_refined_vel = 17; // 经过refine(补框)后的检测框的速速
|
||
reserved 18;
|
||
GroundContactLines ground_contact_lines = 19; // 车辆四个面的接地线,图像侧按 (u, v, z) 组织
|
||
}
|
||
|
||
message GroundContactLines {
|
||
perception.common.Point3fList front = 1; // 前面接地线,固定 5 个点
|
||
perception.common.Point3fList rear = 2; // 后面接地线,固定 5 个点
|
||
perception.common.Point3fList left = 3; // 左面接地线,固定 5 个点
|
||
perception.common.Point3fList right = 4; // 右面接地线,固定 5 个点
|
||
}
|
||
|
||
enum VehicleRigidAnchor {
|
||
kVRARear = 0;
|
||
kVRARearWheel = 1;
|
||
kVRAHeadWheel = 2;
|
||
kVRAHead = 3;
|
||
kVRAMaxNum = 4;
|
||
}
|
||
|
||
enum ObjImportanceType {
|
||
kNormal = 0; // 普通的目标
|
||
kCrucial = 1; // 决定性的目标,cipv, cipp
|
||
kInterested = 2; // 关注的目标
|
||
}
|
||
|
||
message VehicleRigid {
|
||
// 长度方向,刚体量测细节
|
||
repeated perception.common.Float meas_along_length =
|
||
1; // kVRAMaxNum * kVRAMaxNum
|
||
perception.common.Float w = 2; // width
|
||
perception.common.Float h = 3; // height
|
||
}
|
||
|
||
enum TrackStatus {
|
||
kTSUnknown = 0;
|
||
kTSFirstDetectd = 1; // 第一次检测
|
||
kTSTracking = 2; // 稳定跟踪 (只针对关键车)
|
||
kTSPredict = 3; // 预测
|
||
}
|
||
|
||
enum SelectLevelStatus {
|
||
kSLOriginDet = 0; // 原始检测
|
||
kSLDetAfterInnerROINMS = 1; // 经过ROI内NMS后的检测
|
||
kSLDetAfterCrossROINMS = 2; // 经过ROI间NMS后的检测
|
||
kSLReservered = 3; // 保留字段
|
||
kSLCandidateDet = 4; // 候选目标 (所有检测出来的目标都是候选目标)
|
||
kSLConcerned = 5; // 需要重点关注的目标
|
||
kSLCrucial = 6; // 决定性的目标 (cipv, cipp)
|
||
}
|
||
|
||
enum LaneDirection { // 车道朝向
|
||
kSameDirectionLane = 0; // 同向车道
|
||
kOppositeDirectionLane = 1; // 对向车道
|
||
kObjDirectionUnknown = 2; // 方向unknown
|
||
}
|
||
|
||
enum PropertyType {
|
||
kPropertyVehicleRearLamp = 0;
|
||
kPropertyInvalidity = 1;
|
||
kPropertyOcclusion = 2;
|
||
kPropertyLeftOccluded = 3; // 左遮挡
|
||
kPropertyRightOccluded = 4; // 右遮挡
|
||
kPropertyBottomOccluded = 5; // 底部遮挡
|
||
kPropertyTopOccluded = 6; // 上部遮挡
|
||
}
|
||
|
||
enum PropertyInvalidity {
|
||
kReservedInvalidity = 0;
|
||
kVelocityInvalidity = 1;
|
||
kPositionInvalidity = 2;
|
||
kHeadingInvalidity = 4;
|
||
}
|
||
|
||
enum ObstacleType {
|
||
kObstacleBackground = 0; // 背景
|
||
kObstacleCone = 1; // 锥桶
|
||
kObstacleCrashBarrel = 2; // 防撞桶
|
||
kObstacleWarningTriangle = 3; // 三角警告牌
|
||
kObstacleCylindrical = 4; // 柱形石墩
|
||
kObstacleSphericalstone = 5; // 球形石墩
|
||
kObstaclePlasticpole = 6; // 塑料地桩
|
||
kObstacleBumpingpost = 7; // 铁地桩
|
||
kObstacleWaterbarrier = 8; // 水马
|
||
kObstacleCarton = 9; // 纸箱子
|
||
kObstacleTyre = 10; // 轮胎
|
||
kObstaclePlasticpoleBumpingpost = 11; // 地桩(塑料地桩、铁地桩)
|
||
kObstacleOther = 32; // 其它
|
||
}
|
||
|
||
enum Mode {
|
||
kNoneMode = 0;
|
||
kPilotMode = 1; // 行车
|
||
kParkingMode = 2; // 泊车
|
||
kCamera1Mono3d = 4;// camera1使用mono3d
|
||
}
|
||
|
||
// 法规场景具体类型
|
||
enum SpecificSceneType {
|
||
kSceneUnknown = 0; // 未知
|
||
kSceneCNCAP2024SCP = 1; // SCP场景
|
||
kSceneCNCAP2024CCFT = 2; // CCFT场景
|
||
kSceneCNCAP2024CCRS = 3; // CCRS场景
|
||
kSceneCNCAP2024SCPO = 4; // SCPO场景
|
||
kSceneCNCAP2024CCRH = 5; // CCRH场景
|
||
kSceneCNCAP2024CPLA = 6; // CPLA场景
|
||
kSceneCNCAP2024CPLAN = 7; // CPLA_N场景
|
||
kSceneCNCAP2024CPTALN = 8; // CPTA_LN场景
|
||
kSceneCNCAP2024CPTALF = 9; // CPTA_LF场景
|
||
kSceneCNCAP2024CPTARF = 10; // CPTA_RF场景
|
||
kSceneCNCAP2024CPFAO = 11; // CPFAO场景
|
||
kSceneCNCAP2024CPFAON = 12; // CPFAO_N场景
|
||
kSceneCNCAP2024CPNCO = 13; // CPNCO场景
|
||
kSceneCNCAP2024CBNAO = 14; // CBNAO场景
|
||
kSceneCNCAP2024CSFAO = 15; // CSFAO场景
|
||
kSceneCNCAP2024CSTALN = 16; // CSTA_LN场景
|
||
kSceneCNCAP2024CBLA = 17; // CBLA场景
|
||
kSceneCNCAP2024CSTARN = 18; // CSTA_RN场景
|
||
kScene1242CPFA = 19; // 行人从左到右横穿
|
||
kScene1242CPNA = 20; // 行人从右到左横穿
|
||
kScene1242CPLA = 21; // 正前方静止行人
|
||
kScene1242CCRS = 22; // 1242 CCRS场景
|
||
kScene1242CCRM = 23; // 1242 CCRM场景
|
||
}
|
||
//
|
||
//enum SFObstaclePropertyType {
|
||
//
|
||
// SAF_OBS_PRO_NOT_ON_ROAD = (1<<0),【根据freespace判断⽬标是否在道路边界外】
|
||
// SAF_OBS_PRO_COVERD_BY_OTHERS = (1 << 1),//【⽬标是否被物体遮挡】
|
||
// SAF_OBS_PRO_OBSERVE_JUMP = (1 << 2),// 【通过图像检测框判断⽬标是否跳变】
|
||
// SAF_OBS_PRO_OBSERVE_SIDE = (1 << 3),// 【⽬标是否在图像边缘】
|
||
//通过⻆点、检测框、速度⽐例判断横穿转直⾏,仅骑⻋⼈输出,内部使⽤
|
||
// SAF_OBS_PRO_BT_TAP_LEVEL_1 = (1 << 4),
|
||
// SAF_OBS_PRO_BT_TAP_LEVEL_2 = (1 << 5),
|
||
// SAF_OBS_PRO_BT_TAP_LEVEL_3 = (1 << 6),
|
||
// SAF_OBS_PRO_PED_ON_MOTOR = (1 << 7),//【可能是三轮⻋上⾏⼈flag,根据IOU进⾏判断】
|
||
// SAF_OBS_PRO_PED_GROUP = 1 << 8, //【⼈群】
|
||
// SAF_OBS_PRO_CROSSING_GHOST= 1 << 9,//【⻤探头】
|
||
//}
|
||
message PropertyValue {
|
||
int32 value = 1;
|
||
float valuef = 2;
|
||
float confidence = 3;
|
||
}
|
||
|
||
message OperatingCondition {
|
||
enum RoadSurface {
|
||
kRoadSurfaceSmooth = 0;
|
||
kRoadSurfaceBumpy = 1;
|
||
}
|
||
enum RoadGradient {
|
||
kRoadGradientFlatGround = 0;
|
||
kRoadGradientUphill = 1;
|
||
kRRoadGradientDownhill = 2;
|
||
}
|
||
enum MotionState {
|
||
kMotionStateNone = 0;
|
||
kMotionStateStationary = 1;
|
||
kMotionStateMoving = 2;
|
||
kMotionStateTurning = 4;
|
||
kMotionStateStraight = 8;
|
||
}
|
||
bool airborne = 1; // 悬空
|
||
RoadSurface road_surface = 2; // 颠簸
|
||
RoadGradient road_gradient = 3; // 上下坡
|
||
uint32 motion_state = 4; // 运动状态
|
||
}
|
||
|
||
message LaneAssignment {
|
||
perception.common.Int lane_index = 1; // 车道位置(--3 -2 -1 0 1 2 3)
|
||
LaneDirection direction = 2; // 车道朝向
|
||
// 是否侵道 ( > 0 - 侵道, < 0 - 未侵道, 其值为侵入的多少, 单位m)
|
||
perception.common.Float has_cut_lane = 3;
|
||
|
||
// 透视图下车尾侵入本车道的比例[-103, 100]
|
||
// < 0, 侵入当前右车道线,> 0, 侵入当前左车道线, 0 - 无侵入
|
||
// -101 -> 无车尾回归框
|
||
// -102 -> 无匹配车道线
|
||
// -103 -> 既无回归框也无车道线
|
||
perception.common.Int cut_in_ratio_on_persp = 4;
|
||
|
||
// 关联的车道属性
|
||
repeated perception.common.Int associated_lane_idxs = 5;
|
||
}
|
||
|
||
// 单目3D信息
|
||
message Monocular3D {
|
||
// Box3D中心点的像素坐标(xc, yc)
|
||
perception.common.Point2f ctr_pt_2d = 1;
|
||
// 深度(z)
|
||
perception.common.Float z = 2;
|
||
|
||
// Box3D(l, w, h)
|
||
perception.common.Float l = 3;
|
||
perception.common.Float w = 4;
|
||
perception.common.Float h = 5;
|
||
|
||
// alpha(人眼看的车辆方向)
|
||
perception.common.Float alpha = 6;
|
||
|
||
// 模型原始测距的锚点信息
|
||
AnchorPtInfo anchor = 7;
|
||
|
||
// 模型原始输出的3D位置和朝向信息
|
||
message Model3DPos {
|
||
float x3d = 1;
|
||
float y3d = 2;
|
||
float z3d = 3;
|
||
float heading = 4;
|
||
}
|
||
Model3DPos model_3d_pos = 8;
|
||
}
|
||
|
||
message WorldInfo {
|
||
perception.common.XYZ vel = 1; // 速度
|
||
perception.common.XYZ rel_vel = 2; // 相对速度
|
||
perception.common.XYZ acc = 3; // 加速度
|
||
perception.common.XYZ pos = 4; // 位置
|
||
perception.common.Size3D size = 5; // 长宽高
|
||
// 与自车的中心夹角 左边缘夹角 右边缘夹角
|
||
perception.common.Angle3f angle = 6;
|
||
|
||
// 基于回归框估计的宽高
|
||
perception.common.Size3D size_est1 = 7;
|
||
|
||
// 基于检测框估计的宽高
|
||
perception.common.Size3D size_est2 = 8;
|
||
|
||
perception.common.Box3D box = 10; // 3dbox
|
||
|
||
uint32 id = 11; // 目标id
|
||
|
||
// 类型细分类,可能取:
|
||
//
|
||
// - VehicleClass
|
||
// - PedCls
|
||
// - TrafficLightColor
|
||
// - tsr.SignType
|
||
//
|
||
perception.common.Int cls = 12;
|
||
|
||
// 模糊类型。
|
||
//
|
||
// 遮挡等情况下,模型无法判断物体具体类型,possible_cls_list
|
||
// 表示此物体的可能类型。
|
||
//
|
||
// - 当此列表为空时,视作仅包含 cls.val。
|
||
// - 当此列表仅包含 cls.val,表示结果不模糊的。
|
||
// - 否则,cls.val 的值是无效的(一般设为某种未知类型)。
|
||
repeated int32 possible_cls_list = 42;
|
||
|
||
float val = 13; // 分类值
|
||
perception.common.Int pose = 14; // 姿态分类 : VehiclePose PedPose TrafficLightShape
|
||
float ttc = 15; // 碰撞时间
|
||
float headway = 16; // 时距=距离/自车速度
|
||
int32 cipv = 17; // 前方目标是否为关键车(CIPV),关键车为1,非关键车为0
|
||
int32 cipp = 18; // 前方目标是否为关键人(CIPP),关键人为1,非关键人为0
|
||
perception.common.PoseAngle pose_angle =
|
||
19; // 姿态角,单位:度,左正右负, ±180
|
||
perception.common.Int motion_state = 20; // 运动状态,参考MoveState定义
|
||
AnchorPtInfo anchor = 21; // 测距对应的锚点信息
|
||
|
||
perception.common.Point3D pos_var = 22; // pos的方差(deprecated)
|
||
perception.common.Point3D size_var = 23; // 长宽高的方差(deprecated)
|
||
|
||
// (deprecated) pose_angle的方差
|
||
perception.common.Point3D pose_angle_var = 24;
|
||
perception.common.XYZ anchor_offset = 25; // 锚点的offset
|
||
repeated perception.common.XY odom_trace = 26; // 历史轨迹
|
||
|
||
perception.common.Int pose_ori = 30; // 模型直出的pose
|
||
perception.common.Int cls_ori = 31; // 模型直出的cls
|
||
ObjectType hit_type = 32; // 目标检测大类别
|
||
float confidence = 33; // 综合置信度
|
||
MeasureType measure_type = 34; // 量测类型
|
||
TrackStatus track_status = 35; // 跟踪状态
|
||
LaneAssignment road_assignment = 36; // 目标所在的车道信息
|
||
int32 life_time = 37; // 生命周期
|
||
int32 index = 38; // 索引
|
||
uint32 age = 39; // 目标存活周期
|
||
|
||
Monocular3D monocular_3d = 40; // 单目3D信息
|
||
//障碍物(⾏⼈、骑⻋⼈)属性,包含:是否在道路边界外, 是否被遮挡等,其中pro_flag按照bitmap⽅式SFObstaclePropertyType填充:
|
||
int32 pro_flag = 41;
|
||
ObjectCategory object_category = 43; // 检测细分类,保留模型原始类别语义
|
||
GroundContactLines ground_contact_lines = 44; // 车辆四个面的接地线,转换到车身坐标系后的点集
|
||
}
|
||
|
||
message FusionInfo { // fusion要用到的关联信息
|
||
// 关联到的各个摄像头的检测框
|
||
repeated ImageInfo associated_image_infos = 1;
|
||
// 关联到的各个摄像头的检测框
|
||
repeated WorldInfo associated_world_infos = 2;
|
||
repeated float associated_conf_matrix = 3; // 关联置信度 num * num
|
||
WorldInfo fusion_world_info = 4; // 多视fusion后的结果
|
||
map<int32, PropertyValue> properties = 5; // <PropertyType, PropertyValue>
|
||
}
|
||
|
||
int32 hit_id = 1; // 目标检测ID (deprecated, 以hit_type为准)
|
||
ObjectType hit_type = 2; // 目标检测类别enum
|
||
string hit_type_str = 6; // 目标检测类别string
|
||
float confidence = 3; // 检测置信度(综合)
|
||
|
||
int32 frame_cnt = 4; // frame count
|
||
int32 life_time = 5; // live us
|
||
uint64 time_creation = 7; // 障碍物被识别的时间戳(微秒)
|
||
|
||
ImageInfo image_info = 8; // 图像信息 (前视1v专用)
|
||
WorldInfo world_info = 9; // 车辆坐标系下信息 (前视1v专用)
|
||
|
||
int32 track_status = 10; // track状态
|
||
int32 trace_status = 11; // deprecated
|
||
int32 select_level = 12; // 选择等级 (SelectLevelStatus)
|
||
|
||
uint32 id = 15; // object id
|
||
FusionInfo fusion_info = 16; // fusion需要信息
|
||
MeasureType measure_type = 17; // 量测类型
|
||
|
||
uint64 timestamp = 18; // 当前时刻 timestamp (微秒)
|
||
uint64 frame_id = 19; // 当前帧 frame id
|
||
|
||
perception.common.Int lane_assignment = 21; // 目标所在车道信息(deprecated)
|
||
// 是否侵道 ( > 0 - 侵道, < 0 - 未侵道, 其值为侵入的多少, 单位m)(deprecated)
|
||
perception.common.Float has_cut_lane = 22;
|
||
|
||
VehicleRigid veh_rigid = 23; // 车辆刚体信息
|
||
|
||
perception.common.FloatArray features = 24; // 特征向量
|
||
|
||
LaneAssignment road_assignment = 25; // 目标所在车道信息
|
||
uint32 occluded_mask = 26; // 值域范围(0 | OccludedType[i])
|
||
google.protobuf.Timestamp timestamp_ts = 27; // 管理面时间
|
||
google.protobuf.Timestamp tick_ts = 28; // 数据面时间
|
||
// 遮挡率可以使用该map表示
|
||
map<int32, PropertyValue> properties = 29; // <PropertyType, PropertyValue>
|
||
OperatingCondition operating_condition = 30; // 工况
|
||
SpecificSceneType specific_scene = 31; // 法规场景具体类型
|
||
uint32 age = 32; // 目标存活周期
|
||
ObjectCategory object_category = 33; // 检测细分类,保留模型原始类别语义
|
||
|
||
repeated Object key_components = 60; // 组件信息
|
||
}
|
||
|
||
// topic : "ObjectPerceptionObjectList"
|
||
message ObjectList {
|
||
repeated Object list = 1; // object list
|
||
|
||
string version = 3; // 版本号
|
||
|
||
uint64 frame_id = 4; // 帧IDs
|
||
uint64 timestamp = 5; // utc时戳, us
|
||
|
||
perception.object.Warning warning = 6; // 告警
|
||
repeated perception.common.Rect2f roi_list = 7; // 检测ROI列表
|
||
|
||
uint64 tick = 9; // tick时戳, us
|
||
uint64 start_time_us = 10; // 算法流程开始时间
|
||
uint64 end_time_us = 11; // 算法流程结束时间
|
||
repeated uint64 profiling_time = 12; // 模块耗时列表
|
||
repeated Scene scene = 13; // 场景分类(deprecated)
|
||
SceneList scene_list = 14; // 场景分类
|
||
|
||
minieye.DataSource data_source = 15; // 描述数据源 字节数: 4
|
||
minieye.CalibParam calib_param = 16; // 标定参数
|
||
minieye.VehicleSignal vehicle_signal = 17; // 车身信号
|
||
minieye.CameraParam camera_param = 18; // 相机内外参数(多v融合结果不适用)
|
||
minieye.CamID cam_id = 19; // 摄像头id(cam_id.id(), 等同instance_id)
|
||
uint32 cam_prj_id = 20; // 用于进行投影变换的id
|
||
minieye.CommandSignal command_signal = 21; // 触发式信号
|
||
google.protobuf.Timestamp timestamp_ts = 22; // 管理面时间
|
||
google.protobuf.Timestamp tick_ts = 23; // 数据面时间
|
||
|
||
minieye.VehicleSignalHighFreq vehicle_signal_high_freq = 24; // 车身高频信号
|
||
minieye.VehicleSignalLowFreq vehicle_signal_low_freq = 25; // 车身低频信号
|
||
uint32 mode = 26; // 模式
|
||
repeated uint32 frame_ids = 27; // [前短焦,后,前长焦,往左前看,往左后看,往右前看,往右后看] 不存在的补0
|
||
uint64 roadmarking_frame_id = 28; // 匹配路面感知的frame_id
|
||
uint64 roadmarking_tick_ms = 29; // 匹配路面感知的tick(毫秒)
|
||
google.protobuf.Any debug_details = 30; // debug信息
|
||
}
|
||
|
||
// topic : "ObjectPerceptionVisionObjects"
|
||
message VisionObjects {
|
||
string version = 1; // 版本号
|
||
google.protobuf.Timestamp tick = 2; // 数据面时间
|
||
google.protobuf.Timestamp timestamp = 3; // 管理面时间
|
||
repeated Object.FusionInfo fusion_info = 4; // 视觉检测结果
|
||
// [前短焦,后,前长焦,往左前看,往左后看,往右前看,往右后看]
|
||
// 不存在的补0
|
||
repeated uint32 frame_ids = 5; // 各v的frame_id
|
||
SceneList scene = 6; // 场景分类
|
||
|
||
google.protobuf.Timestamp start_tick = 7; // 算法开始时间
|
||
google.protobuf.Timestamp end_tick = 8; // 算法结束时间
|
||
uint32 mode = 9; // 模式
|
||
uint64 roadmarking_frame_id = 10; // 匹配路面感知的frame_id
|
||
uint64 roadmarking_tick_ms = 11; // 匹配路面感知的tick(毫秒)
|
||
}
|
||
|
||
// topic : "VisionObjectsWarning"
|
||
// perception.object.Warning
|
||
|
||
// topic : "SagWarning"
|
||
// perception.object.SAGWarning
|