Files
2026-06-24 09:35:46 +08:00

692 lines
26 KiB
Protocol Buffer
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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