Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 96 additions & 8 deletions osi_detectedlandmark.proto
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,10 @@ message CandidateSign
//
// Unit: [s]
optional double age = 3;

// The measurement state.
//
optional MeasurementState measurement_state = 4;
}

//
Expand All @@ -174,6 +178,10 @@ message CandidateSupplementarySign
//
// Unit: [s]
optional double age = 3;

// The measurement state.
//
optional MeasurementState measurement_state = 4;
}

//
Expand Down Expand Up @@ -217,10 +225,6 @@ message DetectedTrafficLight
// and a high value indicates strong confidence.
//
optional double existence_probability = 8;

// The measurement state.
//
optional MeasurementState measurement_state = 9;

// A list of sensors which detected this detected entity.
//
Expand Down Expand Up @@ -287,6 +291,16 @@ message CandidateTrafficLight
// The sum of all candidate_probabilities must be one.
//
optional double candidate_probability = 2;

// The amount of time that this detected object has been currently
// observed/tracked.
//
// Unit: [s]
optional double age = 3;

// The measurement state.
//
optional MeasurementState measurement_state = 4;
}

//
Expand Down Expand Up @@ -334,10 +348,6 @@ message DetectedRoadMarking
// Links to the corresponding lanes.
//
repeated RelevantLane relevant_lane = 6;

// The measurement state.
//
optional MeasurementState measurement_state = 7;

// The root mean squared error of the base parameters of the detected road
// marking.
Expand Down Expand Up @@ -375,4 +385,82 @@ message CandidateRoadMarking
//
// Unit: [s]
optional double age = 3;

// The measurement state.
//
optional MeasurementState measurement_state = 4;
}

//
// \brief A landmark in the environment as detected by the sensor.
//
message DetectedLandmark
{
// Specific ID of the landmark as assigned by the sensor internally.
// Need not match with \c #ground_truth_id_list.
//
optional Identifier tracking_id = 1;

// The ID of the original landmark in the ground truth.
// In case of a ghost detection (no corresponding ground truth), this field
// should be unset.
//
repeated Identifier ground_truth_id_list = 2;

// A list of candidates for this landmark as estimated by the sensor.
//
repeated CandidateLandmark candidate_landmarks = 3;

// The estimated probability that this landmark really exists, not based
// on history.
//
// \note Use as confidence measure where a low value means less confidence
// and a high value indicates strong confidence.
//
optional double existence_probability = 4;

// The root mean squared error of the base parameters of the detected
// landmark. \c RoadMarking::base has to be identical for
// all \c #candidate_landmarks landmarks.
//
optional BaseStationary base_rmse = 5;

// A list of sensors which detected this detected entity.
//
// If \c SensorData has detected entities and all detections are missing,
// then e.g. the number of sensors can confirm the #existence_probability.
//
// \note This information can be determined via the detected entities'
// detections ( \c ...Detection::object_id = 'this detected entity' ) and
// the sensors (their IDs) to which these detections belong.
//
repeated Identifier sensor_id_list = 6;
}

//
// \brief A candidate for a detected landmark as estimated by the sensor.
//
message CandidateLandmark
{
// The description of the landmark.
//
optional Landmark landmark = 1;

// The estimated probability that this candidate is the true value.
// The sum of all \c #candidate_probability must be one.
//
// Range: [0,1]
//
optional double candidate_probability = 2;

// The amount of time that this detected object has been currently
// observed/tracked.
//
// Unit: [s]
//
optional double age = 3;

// The measurement state.
//
optional MeasurementState measurement_state = 4;
}
4 changes: 4 additions & 0 deletions osi_groundtruth.proto
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,10 @@ message GroundTruth
//
repeated LaneBoundary lane_boundary = 10;

// The list of landmarks.
//
repeated Landmark landmarks = 1000;

// The list of passengers in the (host) vehicle(s).
//
repeated Occupant occupant = 11;
Expand Down
62 changes: 62 additions & 0 deletions osi_landmark.proto
Original file line number Diff line number Diff line change
Expand Up @@ -1172,3 +1172,65 @@ message RoadMarking
COLOR_VIOLET = 8;
}
}

//
// \brief A landmark.
//
// Landmarks for example the pole of a traffic light or traffic sign.
//
// All coordinates and orientations are relative to the global ground truth
// coordinate system.
//
message Landmark
{
// The ID of the road marking.
//
optional Identifier id = 1;

// The base parameters of the landmark.
//
optional BaseStationary base = 2;

// The type of the landmark.
//
optional Type type = 3;

// Definition of landmark types.
//
enum Type
{
// Type of landmark is unknown (must not be used in ground truth).
//
TYPE_UNKNOWN = 0;

// Other (unspecified but known) type of landmark.
//
TYPE_OTHER = 1;

// Landmarks corresponding to vertical structures in the environment,
// like poles.
//
TYPE_VERTICAL_STRUCTURE = 2;

// Landmarks corresponding to rectangular structures in the environment,
// like walls.
//
TYPE_RECTANGULAR_STRUCTURE = 3;

// Landmarks corresponding to overhead structures in the environment,
// like sign bridges.
//
TYPE_OVERHEAD_STRUCTURE = 4;

// Landmarks corresponding to light sources or reflective structures in
// the environment, like street lights or reflective poles on the road
// boarder.
//
TYPE_REFLECTIVE_STRUCTURE = 5;

// Landmarks corresponding to construction site elements in the
// environment, like cones or beacons.
//
TYPE_CONSTRUCTION_SITE_ELEMENT = 6;
}
}
12 changes: 10 additions & 2 deletions osi_sensordata.proto
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,15 @@ message SensorData
// The list of lane boundary markings detected by the sensor.
//
repeated DetectedLaneBoundary lane_boundary = 14;


// General information about the \c DetectedLandmark .
//
optional DetectedEntityHeader landmarks_header = 1000;

// The list of landmarks detected by the sensor.
//
repeated DetectedLandmark landmarks = 1001;

// General information about the \c DetectedOccupant .
//
optional DetectedEntityHeader occupant_header = 106;
Expand Down Expand Up @@ -207,7 +215,7 @@ message DetectedEntityHeader

// Continuous up counter to identify the cycle.
//
optional uint32 cycle_counter = 2;
optional uint64 cycle_counter = 2;

// Data Qualifier expresses to what extent the content of this event can be
// relied on.
Expand Down