提交 bb9df884 编写于 作者: L Liangliang Zhang

Perception: Updated perception proto.

上级 e54caa60
load("//tools:cpplint.bzl", "cpplint")
package(default_visibility = ["//visibility:public"])
cc_proto_library(
......@@ -14,164 +16,10 @@ proto_library(
"traffic_light_detection.proto",
],
deps = [
"//modules/common/proto:geometry_proto_lib",
"//modules/map/proto:map_proto_lib",
"//modules/common/proto:error_code_proto_lib",
"//modules/common/proto:geometry_proto_lib",
"//modules/common/proto:header_proto_lib",
"//modules/map/proto:map_proto_lib",
],
)
cc_proto_library(
name = "lane_post_process_config_lib_proto",
deps = [
":lane_post_process_config_lib",
],
)
proto_library(
name = "lane_post_process_config_lib",
srcs = [
"lane_post_process_config.proto",
],
)
cc_proto_library(
name = "probabilistic_fusion_config_lib_proto",
deps = [
":probabilistic_fusion_config_lib",
],
)
proto_library(
name = "probabilistic_fusion_config_lib",
srcs = [
"probabilistic_fusion_config.proto",
],
)
cc_proto_library(
name = "yolo_camera_detector_config_lib_proto",
deps = [
":yolo_camera_detector_config_lib",
],
)
proto_library(
name = "yolo_camera_detector_config_lib",
srcs = [
"yolo_camera_detector_config.proto",
],
)
cc_proto_library(
name = "modest_radar_detector_config_lib_proto",
deps = [
":modest_radar_detector_config_lib",
],
)
proto_library(
name = "modest_radar_detector_config_lib",
srcs = [
"modest_radar_detector_config.proto",
],
)
cc_proto_library(
name = "tracker_config_lib_proto",
deps = [
":tracker_config_lib",
],
)
proto_library(
name = "tracker_config_lib",
srcs = [
"tracker_config.proto",
],
)
cc_proto_library(
name = "sequence_type_fuser_config_lib_proto",
deps = [
":sequence_type_fuser_config_lib",
],
)
proto_library(
name = "sequence_type_fuser_config_lib",
srcs = [
"sequence_type_fuser_config.proto",
],
)
cc_proto_library(
name = "async_fusion_config_lib_proto",
deps = [
":async_fusion_config_lib",
],
)
proto_library(
name = "async_fusion_config_lib",
srcs = [
"async_fusion_config.proto",
],
)
cc_proto_library(
name = "geometry_camera_converter_config_lib_proto",
deps = [
":geometry_camera_converter_config_lib",
],
)
proto_library(
name = "geometry_camera_converter_config_lib",
srcs = [
"geometry_camera_converter_config.proto",
],
)
cc_proto_library(
name = "cnn_segmentation_config_lib_proto",
deps = [
":cnn_segmentation_config_lib",
],
)
proto_library(
name = "cnn_segmentation_config_lib",
srcs = [
"cnn_segmentation_config.proto",
],
)
cc_proto_library(
name = "hdmap_roi_filter_config_lib_proto",
deps = [
":hdmap_roi_filter_config_lib",
],
)
proto_library(
name = "hdmap_roi_filter_config_lib",
srcs = [
"hdmap_roi_filter_config.proto",
],
)
cc_proto_library(
name = "low_object_filter_config_lib_proto",
deps = [
":low_object_filter_config_lib",
],
)
proto_library(
name = "low_object_filter_config_lib",
srcs = [
"low_object_filter_config.proto",
],
)
......@@ -189,7 +37,8 @@ proto_library(
],
deps = [
"//modules/common/proto:geometry_proto_lib",
"//modules/common/proto:error_code_proto_lib",
"//modules/common/proto:header_proto_lib",
],
)
cpplint()
syntax = "proto2";
package apollo.perception.async_fusion_config;
message ModelConfigs {
optional string name = 1 [default = "AsyncFusion"];
optional string version = 2 [default = "1.0.0"];
optional string match_method = 3 [default = "hm_matcher"];
optional float max_match_distance = 4 [default = 4.0];
optional float max_lidar_invisible_period = 5 [default = 0.25];
optional float max_radar_invisible_period = 6 [default = 0.25];
optional float max_radar_confident_angle = 7 [default = 30.0];
optional float min_radar_confident_distance = 8 [default = 40.0];
optional bool publish_if_has_lidar = 9 [default = true];
optional bool publish_if_has_radar = 10 [default = true];
// candidate values: "velodyne_64", "radar", "camera_front_short"
optional string publish_sensor = 11 [default = "velodyne_64"];
optional bool use_radar = 12 [default = true];
optional bool use_lidar = 13 [default = true];
}
syntax = "proto2";
package apollo.perception.cnn_segmentation_config;
message ModelConfigs {
optional string name = 1 [default = "CNNSegmentation"];
optional string version = 2 [default = "1.0.0"];
optional string config_file = 3
[default = "modules/perception/model/cnn_segmentation/cnnseg.conf"];
optional string proto_file = 4
[default = "modules/perception/model/cnn_segmentation/deploy.prototxt"];
optional string weight_file = 5
[default = "modules/perception/model/cnn_segmentation/deploy.caffemodel"];
}
syntax = "proto2";
package apollo.perception.geometry_camera_converter_config;
message ModelConfigs {
optional string name = 1 [default = "GeometryCameraConverter"];
optional string version = 2 [default = "1.0.0"];
optional string camera_intrinsic_file = 3
[default = "modules/perception/data/params/front_camera_intrinsics.yaml"];
}
syntax = "proto2";
package apollo.perception.hdmap_roi_filter_config;
// hdmap ROI filter model
message ModelConfigs {
optional string name = 1 [default = "HdmapROIFilter"];
optional string version = 2 [default = "1.0.0"];
// @name: range
// @brief: create a bitmap mask which represents [-range, range]*[-range,
// range]
// square area around the car.
// @required: range > 0.0 && range - (-range) > cell_size
optional double range = 3 [default = 70.0];
// @name: cell_size
// @brief: discretize the area using small cells.
// @required: cell_size > 0.0
optional double cell_size = 4 [default = 0.25];
// @name: extend_dist
// @brief: extend the intervals returned by polygon scans conversion algorithm
// @required: none
optional double extend_dist = 5 [default = 0.0];
}
syntax = "proto2";
package apollo.perception.lane_post_process_config;
message ModelConfigs {
optional string name = 1;
optional string version = 2;
optional string space_type = 3;
optional int32 image_width = 4;
optional int32 image_height = 5;
repeated float roi = 6;
optional bool use_non_mask = 7;
repeated float non_mask = 8;
optional float lane_map_confidence_thresh = 9 [default = 0.95];
optional float cc_split_siz = 10 [default = 50.0];
optional int32 cc_split_len = 11 [default = 25];
optional int32 min_cc_pixel_num = 12 [default = 10];
optional int32 min_cc_size = 13 [default = 5];
optional float min_y_search_offset = 14 [default = 0.5];
optional float min_y_search_offset_image = 15 [default = 0.5];
optional string assoc_method = 16;
optional float assoc_min_distance = 17 [default = -0.5];
optional float assoc_min_distance_image = 18 [default = -3.0];
optional float assoc_max_distance = 19 [default = 60.0];
optional float assoc_max_distance_image = 20 [default = 400.0];
optional float assoc_distance_weight = 21 [default = 0.4];
optional float assoc_max_deviation_angle = 22 [default = 15.0];
optional float assoc_max_deviation_angle_image = 23 [default = 45.0];
optional float assoc_deviation_angle_weight = 24 [default = 0.2];
optional float assoc_max_departure_distance = 25 [default = 3.0];
optional float assoc_max_departure_distance_image = 26 [default = 80.0];
optional float assoc_departure_distance_weight = 27 [default = 0.2];
optional float assoc_max_relative_orie = 28 [default = 15.0];
optional float assoc_max_relative_orie_image = 29 [default = 45.0];
optional float assoc_relative_orie_weight = 30 [default = 0.2];
optional float assoc_min_orientation_estimation_size = 31 [default = 3.0];
optional float assoc_min_orientation_estimation_size_image = 32
[default = 10.0];
optional int32 max_cc_marker_match_num = 33 [default = 1];
optional float slide_window_size = 34 [default = 15.0];
optional float slide_window_size_image = 35 [default = 200.0];
optional int32 slide_window_max_point_num = 36 [default = 3];
optional int32 max_group_prediction_marker_num = 37 [default = 3];
optional int32 orientation_estimation_skip_marker_num = 38 [default = 1];
optional float lane_interval_distance = 39 [default = 4.0];
optional float min_instance_size_prefiltered = 40 [default = 3.0];
optional float min_instance_size_prefiltered_image = 41 [default = 20.0];
optional float max_size_to_fit_straight_line = 42 [default = 10.0];
optional float max_size_to_fit_straight_line_image = 43 [default = 300.0];
optional float online_pitch_angle = 44 [default = -2.5];
optional float ground_height = 45 [default = 1.6];
optional float max_distance_to_see_for_transformer = 46 [default = 500.0];
optional float lane_map_scale = 47 [default = 2.0];
optional int32 start_y_pos = 48 [default = 312];
optional int32 lane_map_width = 49 [default = 960];
optional int32 lane_map_height = 50 [default = 384];
}
syntax = "proto2";
package apollo.perception.low_object_filter_config;
message ModelConfigs {
optional string name = 1 [default = "LowObjectFilter"];
optional string version = 2 [default = "1.0.0"];
optional double object_height_threshold = 3 [default = 0.10];
optional double object_position_height_threshold = 4 [default = -1.6];
}
syntax = "proto2";
package apollo.perception.modest_radar_detector_config;
message ModelConfigs {
optional string name = 1 [default = "ModestRadarDetector"];
optional string version = 2 [default = "1.0.0"];
optional bool use_had_map = 3 [default = true];
optional double max_theta = 4 [default = 30.0];
optional int32 delay_frames = 5 [default = 4];
optional bool use_fp_filter = 6 [default = true];
optional double probexist_vehicle = 7 [default = 0.9];
optional double probexist_pedestrian = 8 [default = 0.25];
optional double probexist_bicycle = 9 [default = 0.25];
optional double probexist_unknown = 10 [default = 0.99];
optional double lo_vel_rms_vehicle = 11 [default = 0.2];
optional double la_vel_rms_vehicle = 12 [default = 0.3];
optional double lo_dist_rms_vehicle = 13 [default = 0.15];
optional double la_dist_rms_vehicle = 14 [default = 0.2];
optional double lo_vel_rms_pedestrian = 15 [default = 0.5];
optional double la_vel_rms_pedestrian = 16 [default = 0.8];
optional double lo_dist_rms_pedestrian = 17 [default = 0.5];
optional double la_dist_rms_pedestrian = 18 [default = 0.8];
optional double lo_vel_rms_bicycle = 19 [default = 0.5];
optional double la_vel_rms_bicycle = 20 [default = 0.8];
optional double lo_dist_rms_bicycle = 21 [default = 0.5];
optional double la_dist_rms_bicycle = 22 [default = 0.8];
optional double lo_vel_rms_unknown = 23 [default = 0.2];
optional double la_vel_rms_unknown = 24 [default = 0.3];
optional double lo_dist_rms_unknown = 25 [default = 0.2];
optional double la_dist_rms_unknown = 26 [default = 0.3];
}
syntax = "proto2";
package apollo.perception;
import "modules/common/proto/header.proto";
import "modules/map/proto/map.proto";
// Temporary proto for map ROI used in perception module.
// Will be deprecated once the HOI map is ready.
// Next id: 9
message PerceptionMapROI {
optional apollo.common.Header header = 1; // Header.
optional apollo.hdmap.Header hdmap_header = 8; // HDMap header.
// Minimum x and y values in the map.
optional double origin_x = 2;
optional double origin_y = 3;
// Partition the map into cells of grid.
optional double grid_size = 4; // in meters.
optional int32 num_rows = 5; // respect to x.
optional int32 num_columns = 6; // respect to y.
// ROI regions on the grid.
message Region {
optional int32 start_x = 1;
optional int32 end_x = 2;
optional int32 start_y = 3;
optional int32 end_y = 4;
// Minimum distance to the road, in meters.
optional int32 extension_distance = 5;
}
repeated Region region = 7;
}
......@@ -7,19 +7,56 @@ import "modules/common/proto/geometry.proto";
import "modules/common/proto/header.proto";
import "modules/map/proto/map_lane.proto";
message BBox2D {
optional double xmin = 1; // in pixels.
optional double ymin = 2; // in pixels.
optional double xmax = 3; // in pixels.
optional double ymax = 4; // in pixels.
}
message LightStatus {
optional double brake_visible = 1;
optional double brake_switch_on = 2;
optional double left_turn_visible = 3;
optional double left_turn_switch_on = 4;
optional double right_turn_visible = 5;
optional double right_turn_switch_on = 6;
}
message SensorMeasurement {
optional string sensor_id = 1;
optional int32 id = 2;
optional common.Point3D position = 3;
optional double theta = 4;
optional double length = 5;
optional double width = 6;
optional double height = 7;
optional common.Point3D velocity = 8;
optional PerceptionObstacle.Type type = 9;
optional PerceptionObstacle.SubType sub_type = 10;
optional double timestamp = 11;
optional BBox2D box = 12; // only for camera measurements
}
message PerceptionObstacle {
optional int32 id = 1; // obstacle ID.
optional apollo.common.Point3D position = 2; // obstacle position in the world coordinate
// system.
// obstacle position in the world coordinate system.
optional common.Point3D position = 2;
optional double theta = 3; // heading in the world coordinate system.
optional apollo.common.Point3D velocity = 4; // obstacle velocity.
optional common.Point3D velocity = 4; // obstacle velocity.
// Size of obstacle bounding box.
optional double length = 5; // obstacle length.
optional double width = 6; // obstacle width.
optional double width = 6; // obstacle width.
optional double height = 7; // obstacle height.
repeated apollo.common.Point3D polygon_point = 8; // obstacle corner points.
repeated common.Point3D polygon_point = 8; // obstacle corner points.
// duration of an obstacle since detection in s.
optional double tracking_time = 9;
......@@ -27,36 +64,72 @@ message PerceptionObstacle {
UNKNOWN = 0;
UNKNOWN_MOVABLE = 1;
UNKNOWN_UNMOVABLE = 2;
PEDESTRIAN = 3; // Pedestrian, usually determined by moving behaviour.
BICYCLE = 4; // bike, motor bike
VEHICLE = 5; // Passenger car or truck.
PEDESTRIAN = 3; // Pedestrian, usually determined by moving behavior.
BICYCLE = 4; // bike, motor bike
VEHICLE = 5; // Passenger car or truck.
};
optional Type type = 10; // obstacle type
optional Type type = 10; // obstacle type
optional double timestamp = 11; // GPS time in seconds.
// Just for offline debugging, onboard will not fill this field.
// Format like : [x0, y0, z0, x1, y1, z1...]
// Just for offline debugging, will not fill this field onboard.
// Format: [x0, y0, z0, x1, y1, z1...]
repeated double point_cloud = 12 [packed = true];
optional double confidence = 13 [default = 1.0];
optional double confidence = 13 [deprecated = true];
enum ConfidenceType {
CONFIDENCE_UNKNOWN = 0;
CONFIDENCE_CNN = 1;
CONFIDENCE_RADAR = 2;
CONFIDENCE_UNKNOWN = 0;
CONFIDENCE_CNN = 1;
CONFIDENCE_RADAR = 2;
};
optional ConfidenceType confidence_type = 14 [default = CONFIDENCE_CNN];
repeated apollo.common.Point3D drops = 15; // trajectory of object.
}
optional ConfidenceType confidence_type = 14 [deprecated = true];
// trajectory of object.
repeated common.Point3D drops = 15 [deprecated = true];
message CIPVInfo {
optional int32 cipv_id = 1;
repeated int32 potential_cipv_id = 2;
// The following fields are new added in Apollo 4.0
optional common.Point3D acceleration = 16; // obstacle acceleration
// a stable obstacle point in the world coordinate system
// position defined above is the obstacle bounding box ground center
optional common.Point3D anchor_point = 17;
optional BBox2D bbox2d = 18;
enum SubType {
ST_UNKNOWN = 0;
ST_UNKNOWN_MOVABLE = 1;
ST_UNKNOWN_UNMOVABLE = 2;
ST_CAR = 3;
ST_VAN = 4;
ST_TRUCK = 5;
ST_BUS = 6;
ST_CYCLIST = 7;
ST_MOTORCYCLIST = 8;
ST_TRICYCLIST = 9;
ST_PEDESTRIAN = 10;
ST_TRAFFICCONE = 11;
};
optional SubType sub_type = 19; // obstacle sub_type
repeated SensorMeasurement measurements = 20; // sensor measurements
// orthogonal distance between obstacle lowest point and ground plane
optional double height_above_ground = 21 [default = nan];
// position covariance which is a row-majored 3x3 matrix
repeated double position_covariance = 22 [packed = true];
// velocity covariance which is a row-majored 3x3 matrix
repeated double velocity_covariance = 23 [packed = true];
// acceleration covariance which is a row-majored 3x3 matrix
repeated double acceleration_covariance = 24 [packed = true];
// lights of vehicles
optional LightStatus light_status = 25;
}
message LaneMarker {
optional apollo.hdmap.LaneBoundaryType.Type lane_type = 1;
optional double quality = 2; // range = [0,1]; 1 = the best quality
optional double quality = 2; // range = [0,1]; 1 = the best quality
optional int32 model_degree = 3;
// equation X = c3 * Z^3 + c2 * Z^2 + c1 * Z + c0
optional double c0_position = 4;
optional double c1_heading_angle = 5;
......@@ -74,10 +147,15 @@ message LaneMarkers {
repeated LaneMarker next_right_lane_marker = 4;
}
message CIPVInfo {
optional int32 cipv_id = 1;
repeated int32 potential_cipv_id = 2;
}
message PerceptionObstacles {
repeated PerceptionObstacle perception_obstacle = 1; // An array of obstacles
optional apollo.common.Header header = 2; // Header
optional apollo.common.ErrorCode error_code = 3 [default = OK];
optional common.Header header = 2; // Header
optional common.ErrorCode error_code = 3 [default = OK];
optional LaneMarkers lane_marker = 4;
optional CIPVInfo cipv_info = 5; // closest in path vehicle
optional CIPVInfo cipv_info = 5; // Closest In Path Vehicle (CIPV)
}
......@@ -6,13 +6,13 @@ import "modules/common/proto/header.proto";
import "modules/common/proto/geometry.proto";
message ImpendingCollisionEdge {
optional int32 id = 1; // edge ID.
repeated int32 cone_id_list = 2; // cone ID.
repeated apollo.common.Point3D point = 3;
optional int32 id = 1; // edge ID.
repeated int32 cone_id_list = 2 [deprecated = true]; // cone ID.
repeated common.Point3D point = 3;
optional double tracking_time = 4; // tracking time since detected in s
}
message ImpendingCollisionEdges {
repeated ImpendingCollisionEdge impending_collision_edge = 1; // obstacles
optional apollo.common.Header header = 2; // Header
optional common.Header header = 2; // Header
}
syntax = "proto2";
package apollo.perception.probabilistic_fusion_config;
message ModelConfigs {
optional string name = 1 [default = "ProbabilisticFusion"];
optional string version = 2 [default = "1.0.0"];
optional string match_method = 3 [default = "hm_matcher"];
optional float max_match_distance = 4 [default = 4.0];
optional float max_lidar_invisible_period = 5 [default = 0.25];
optional float max_radar_invisible_period = 6 [default = 0.25];
optional float max_radar_confident_angle = 7 [default = 30];
optional float min_radar_confident_distance = 8 [default = 40];
optional bool publish_if_has_lidar = 9 [default = true];
optional bool publish_if_has_radar = 10 [default = true];
// candidate values: "velodyne_64", "radar", "camera_front_short"
optional string publish_sensor = 11 [default = "velodyne_64"];
optional bool use_radar = 12 [default = true];
optional bool use_lidar = 13 [default = true];
optional float max_camera_invisible_period = 14 [default = 0.25];
}
syntax = "proto2";
package apollo.perception.sequence_type_fuser_config;
message ModelConfigs {
optional string name = 1 [default = "SequenceTypeFuser"];
optional string version = 2 [default = "1.1.0"];
optional float temporal_window = 3 [default = 20.0];
optional string classifiers_property_file_path = 4
[default =
"modules/perception/model/sequence_type_fuser/classifiers.property"];
optional string transition_property_file_path = 5
[default =
"modules/perception/model/sequence_type_fuser/transition.property"];
}
syntax = "proto2";
package apollo.perception.tracker_config;
message ModelConfigs {
optional string name = 1 [default = "HmObjectTracker"];
optional string version = 2 [default = "1.1.0"];
enum MatcherType { HUNGARIAN_MATCHER = 1; }
optional MatcherType matcher_method = 3 [default = HUNGARIAN_MATCHER];
enum FilterType { KALMAN_FILTER = 1; }
optional FilterType filter_method = 4 [default = KALMAN_FILTER];
optional int32 track_cached_history_size_maximum = 5 [default = 5];
optional int32 track_consecutive_invisible_maximum = 6 [default = 1];
optional float track_visible_ratio_minimum = 7 [default = 0.6];
optional int32 collect_age_minimum = 8 [default = 0];
optional int32 collect_consecutive_invisible_maximum = 9 [default = 0];
optional float acceleration_noise_maximum = 10 [default = 5];
optional float speed_noise_maximum = 11 [default = 0.4];
optional float match_distance_maximum = 12 [default = 4.0];
optional float location_distance_weight = 13 [default = 0.6];
optional float direction_distance_weight = 14 [default = 0.2];
optional float bbox_size_distance_weight = 15 [default = 0.1];
optional float point_num_distance_weight = 16 [default = 0.1];
optional float histogram_distance_weight = 17 [default = 0.5];
optional int32 histogram_bin_size = 18 [default = 10];
optional bool use_adaptive = 19 [default = true];
optional float measurement_noise = 20 [default = 0.4];
optional float initial_velocity_noise = 21 [default = 5.0];
optional float xy_propagation_noise = 22 [default = 10.0];
optional float z_propagation_noise = 23 [default = 10.0];
optional float breakdown_threshold_maximum = 24 [default = 10.0];
}
package(default_visibility = ["//visibility:public"])
cc_proto_library(
name = "multi_camera_projection_config_lib_proto",
deps = [
":multi_camera_projection_config_lib",
],
)
proto_library(
name = "multi_camera_projection_config_lib",
srcs = [
"multi_camera_projection_config.proto",
],
)
cc_proto_library(
name = "recognizer_config_lib_proto",
deps = [
":recognizer_config_lib",
],
)
proto_library(
name = "recognizer_config_lib",
srcs = [
"recognizer_config.proto",
],
)
cc_proto_library(
name = "preprocessor_config_lib_proto",
deps = [
":preprocessor_config_lib",
],
)
proto_library(
name = "preprocessor_config_lib",
srcs = [
"preprocessor_config.proto",
],
)
cc_proto_library(
name = "rectifier_config_lib_proto",
deps = [
":rectifier_config_lib",
],
)
proto_library(
name = "rectifier_config_lib",
srcs = [
"rectifier_config.proto",
],
)
cc_proto_library(
name = "reviser_config_lib_proto",
deps = [
":reviser_config_lib",
],
)
proto_library(
name = "reviser_config_lib",
srcs = [
"reviser_config.proto",
],
)
cc_proto_library(
name = "subnode_config_lib_proto",
deps = [
":subnode_config_lib",
],
)
proto_library(
name = "subnode_config_lib",
srcs = [
"subnode_config.proto",
],
)
syntax = "proto2";
package apollo.perception.traffic_light.multi_camera_projection_config;
message CameraFocusConfig {
optional string name = 1;
optional string camera_extrinsic_file = 2;
optional string camera_intrinsic_file = 3;
}
message MultiCamerasProjectionConfig {
optional string name = 1 [default = "MultiCamerasProjection"];
optional string version = 2 [default = "1.0.0"];
optional string single_projection = 3 [default = "BoundaryProjection"];
repeated string camera_names = 4;
repeated CameraFocusConfig camera_focus_config = 5;
}
message ModelConfigs {
optional MultiCamerasProjectionConfig multi_camera_projection_config = 1;
}
syntax = "proto2";
package apollo.perception.traffic_light.preprocessor_config;
message ModelConfigs {
optional string name = 1 [default = "TLPreprocessor"];
optional string version = 2 [default = "1.0.0"];
optional int32 max_cached_lights_size = 3 [default = 100];
optional int32 projection_image_cols = 4 [default = 1920];
optional int32 projection_image_rows = 5 [default = 1080];
optional float sync_interval_seconds = 6 [default = 0.1];
optional float no_signals_interval_seconds = 7 [default = 0.5];
}
syntax = "proto2";
package apollo.perception.traffic_light.recognizer_config;
message RecognizerConfig {
optional string name = 1;
optional string version = 2;
optional string classify_model = 3;
optional string classify_net = 4;
optional float classify_threshold = 5;
optional int32 classify_resize_width = 6;
optional int32 classify_resize_height = 7;
}
message ModelConfigs {
repeated RecognizerConfig recognizer_config = 1;
}
syntax = "proto2";
package apollo.perception.traffic_light.rectifier_config;
message ModelConfigs {
optional string name = 1;
optional string version = 2;
optional float crop_scale = 3;
optional int32 crop_min_size = 4;
optional string detection_model = 5;
optional string detection_net = 6;
optional int32 crop_method = 7;
optional int32 detect_method = 8;
}
syntax = "proto2";
package apollo.perception.traffic_light.reviser_config;
message HMMReviserConfig {
optional string name = 1;
optional string version = 2;
optional string param_file = 3;
}
message ColorReviserConfig {
optional string name = 1;
optional string version = 2;
optional int32 enable = 3;
optional float blink_time = 4;
}
message ModelConfigs {
optional HMMReviserConfig hmm_reviser_config = 1;
optional ColorReviserConfig color_reviser_config = 2;
}
syntax = "proto2";
package apollo.perception.traffic_light.subnode_config;
message TLPreprocessorSubnodeConfig {
optional string name = 1 [default = "TLPreprocessorSubnode"];
optional string version = 2 [default = "1.0.0"];
optional float max_ahead_seconds = 3 [default = 0.3];
optional float max_process_image_fps = 4 [default = 8.0];
optional float query_tf_inverval_seconds = 5 [default = 0.2];
}
message TLProcSubnodeConfig {
optional string name = 1 [default = "TLProcSubnode"];
optional string version = 2 [default = "1.0.0"];
optional int32 image_border = 3 [default = 100];
optional float valid_ts_interval = 4 [default = 0.5];
}
message SubnodeConfig {
optional TLPreprocessorSubnodeConfig tl_preprocessor_subnode_config = 1;
optional TLProcSubnodeConfig tl_proc_subnode_config = 2;
}
......@@ -11,6 +11,7 @@ message TrafficLightBox {
optional int32 height = 4;
optional TrafficLight.Color color = 5;
optional bool selected = 6;
optional string camera_name = 7;
}
message TrafficLightDebug {
......@@ -22,7 +23,11 @@ message TrafficLightDebug {
optional double ts_diff_sys = 6;
optional int32 project_error = 7;
optional double distance_to_stop_line = 8;
optional int32 camera_id = 9;
optional int32 camera_id = 9 [deprecated = true];
repeated TrafficLightBox crop_roi = 10;
repeated TrafficLightBox projected_roi = 11;
repeated TrafficLightBox rectified_roi = 12;
repeated TrafficLightBox debug_roi = 13;
}
message TrafficLight {
......@@ -34,12 +39,21 @@ message TrafficLight {
BLACK = 4;
};
optional Color color = 1;
// Traffic light string-ID in the map data.
optional string id = 2;
// How confidence about the detected results, between 0 and 1.
optional double confidence = 3 [default = 1.0];
// Duration of the traffic light since detected.
optional double tracking_time = 4;
// Is traffic blinking
optional bool blink = 5;
// v2x traffic light remaining time.
optional double remaining_time = 6;
}
message TrafficLightDetection {
......@@ -47,4 +61,11 @@ message TrafficLightDetection {
repeated TrafficLight traffic_light = 1;
optional TrafficLightDebug traffic_light_debug = 3;
optional bool contain_lights = 4;
enum CameraID {
CAMERA_FRONT_LONG = 0;
CAMERA_FRONT_NARROW = 1;
CAMERA_FRONT_SHORT = 2;
CAMERA_FRONT_WIDE = 3;
};
optional CameraID camera_id = 5;
}
syntax = "proto2";
package apollo.perception.yolo_camera_detector_config;
message ModelConfigs {
optional string name = 1 [default = "YoloCameraDetector"];
optional string version = 2 [default = "1.0.0"];
optional string yolo_root = 3
[default = "/apollo/modules/perception/model/yolo_camera_detector"];
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册