Skip to content

Commit 1aad35f

Browse files
authored
Merge pull request #161 from OpenSimulationInterface/Detected--message-references-sensors-V2
New proposal for SensorID List
2 parents cd14115 + bde32cc commit 1aad35f

File tree

6 files changed

+283
-183
lines changed

6 files changed

+283
-183
lines changed

osi_detectedlandmark.proto

Lines changed: 101 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -13,53 +13,69 @@ package osi;
1313
//
1414
message DetectedTrafficSign
1515
{
16-
// Header attributes of detected traffic sign.
17-
//
18-
optional DetectedObjectHeader header = 1;
19-
20-
// Specific ID of the traffic sign as assigned by the sensor internally. Need not match with ground_truth_id.
16+
// Specific ID of the traffic sign as assigned by the sensor internally.
17+
// Need not match with ground_truth_id.
2118
//
2219
optional Identifier tracking_id = 2;
2320

2421
// The ID of the original traffic sign in the ground truth.
25-
// In case of a ghost sign (no corresponding ground truth), this field should be unset.
22+
// In case of a ghost sign (no corresponding ground truth), this field
23+
// should be unset.
24+
//
2625
optional Identifier ground_truth_id = 3;
2726

2827
// A list of candidates for this traffic sign as estimated by the sensor.
2928
//
3029
repeated CandidateSign candidate_sign = 4;
3130

32-
// A list of candidates for (a) possible supplementary sign(s) as estimated by the sensor.
33-
//
31+
// A list of candidates for (a) possible supplementary sign(s) as estimated
32+
// by the sensor.
33+
//
3434
repeated CandidateSupplementarySign candidate_supplementary_sign = 5;
3535

3636
// The detected geometry of the traffic sign.
3737
//
3838
optional Geometry geometry = 6;
3939

40-
// The estimated probability that this traffic sign really exists, not based on history.
40+
// The estimated probability that this traffic sign really exists, not based
41+
// on history.
42+
//
43+
// \note Use as confidence measure where a low value means less confidence
44+
// and a high value indicates strong confidence.
4145
//
42-
// \note Use as confidence measure where a low value means less confidence and a high value indicates
43-
// strong confidence.
4446
optional double existence_probability = 7;
4547

4648
// The measurement state.
4749
//
4850
optional MeasurementState measurement_state = 8;
49-
// The root mean squared error of the base parameters of the detected traffic sign.
51+
52+
// The root mean squared error of the base parameters of the detected
53+
// traffic sign.
5054
//
5155
optional BaseStationary rmse = 9;
5256

5357
// Links to the corresponding lanes.
5458
//
5559
repeated RelevantLane relevant_lane = 10;
60+
61+
// A list of sensors which detected this detected entity.
62+
//
63+
// If SensorData has detected entities and all detections are missing, then
64+
// e.g. the number of sensors can confirm the existence_probability.
65+
//
66+
// \note This information can be determined via the detected entities'
67+
// detections ( \c ...Detection::object_id = 'this detected entity' ) and
68+
// the sensors (their IDs) to which these detections belong.
69+
//
70+
repeated Identifier sensor_id = 11;
5671

5772
// Definition of traffic sign geometries.
5873
//
5974
enum Geometry
6075
{
61-
// Geometry of the traffic sign is unknown (must not be used in ground truth).
62-
//
76+
// Geometry of the traffic sign is unknown (must not be used in ground
77+
// truth).
78+
//
6379
GEOMETRY_UNKNOWN = 0;
6480

6581
// Geometry of the traffic sign is unspecified (but known).
@@ -100,14 +116,17 @@ message DetectedTrafficSign
100116

101117
// Traffic sign has a rectangle geometry. (width is bigger than height)
102118
// E.g. one-way
119+
//
103120
GEOMETRY_RECTANGLE = 10;
104121

105122
// Traffic sign that has a pole geometry. (height is bigger than width)
106123
// E.g. pole indicating highways exit in xx m.
124+
//
107125
GEOMETRY_POLE = 11;
108126

109127
// Traffic sign that has an oversize rectangle geometry.
110128
// E.g. direction plates on highway or city signs.
129+
//
111130
GEOMETRY_PLATE = 12;
112131
}
113132
}
@@ -118,12 +137,14 @@ message DetectedTrafficSign
118137
message CandidateSign
119138
{
120139
// The definition of the candidate's properties.
121-
// The sign.id values of all CandidateSigns within one DetectedTrafficSign correspond to the tracking ID and must
122-
// be identical.
140+
// The sign.id values of all \c CandidateSign within one
141+
// \c DetectedTrafficSign correspond to the tracking ID and must be identical.
142+
//
123143
optional TrafficSign sign = 1;
124144

125-
// The estimated probability that this candidate is the true value. Range [0,1].
126-
// The sum of all candidate_probabilities must be one.
145+
// The estimated probability that this candidate is the true value.
146+
// Range [0,1]. The sum of all candidate_probabilities must be one.
147+
//
127148
optional double candidate_probability = 2;
128149

129150
// The amount of time that this detected object has been currently
@@ -134,16 +155,18 @@ message CandidateSign
134155
}
135156

136157
//
137-
// \brief A candidate for (a) detected supplementary sign(s) as estimated by the sensor.
138-
//
158+
// \brief A candidate for (a) detected supplementary sign(s) as estimated by the
159+
// sensor.
139160
message CandidateSupplementarySign
140161
{
141-
// The definition of one of more supplementary signs that together define this candidate.
162+
// The definition of one of more supplementary signs that together define
163+
// this candidate.
142164
//
143165
repeated SupplementarySign sign = 1;
144166

145-
// The estimated probability that this candidate is the true value. Range [0,1].
146-
// The sum of all candidate_probabilities must be one.
167+
// The estimated probability that this candidate is the true value.
168+
// Range [0,1]. The sum of all candidate_probabilities must be one.
169+
//
147170
optional double candidate_probability = 2;
148171

149172
// The amount of time that this detected object has been currently
@@ -158,16 +181,15 @@ message CandidateSupplementarySign
158181
//
159182
message DetectedTrafficLight
160183
{
161-
// Header attributes of detected traffic light.
162-
//
163-
optional DetectedObjectHeader header = 1;
164-
165-
// Specific ID of the traffic light as assigned by the sensor internally. Need not match with ground_truth_id.
184+
// Specific ID of the traffic light as assigned by the sensor internally.
185+
// Need not match with ground_truth_id.
166186
//
167187
optional Identifier tracking_id = 2;
168188

169189
// The ID of the original traffic light in the ground truth.
170-
// In case of a ghost detection (no corresponding ground truth), this field should be unset.
190+
// In case of a ghost detection (no corresponding ground truth), this field
191+
// should be unset.
192+
//
171193
optional Identifier ground_truth_id = 3;
172194

173195
// Description of the detected traffic light.
@@ -182,18 +204,33 @@ message DetectedTrafficLight
182204
//
183205
repeated RelevantLane relevant_lane = 6;
184206

185-
// The estimated probability that this traffic light really exists, not based on history.
207+
// The estimated probability that this traffic light really exists, not
208+
// based on history.
209+
//
210+
// \note Use as confidence measure where a low value means less confidence
211+
// and a high value indicates strong confidence.
186212
//
187-
// \note Use as confidence measure where a low value means less confidence and a high value indicates
188-
// strong confidence.
189213
optional double existence_probability = 7;
190214

191215
// The measurement state.
192216
//
193217
optional MeasurementState measurement_state = 8;
194-
// The root mean squared error of the base parameters of the detected traffic light.
218+
219+
// The root mean squared error of the base parameters of the detected
220+
// traffic light.
195221
//
196222
optional BaseStationary rmse = 9;
223+
224+
// A list of sensors which detected this detected entity.
225+
//
226+
// If SensorData has detected entities and all detections are missing, then
227+
// e.g. the number of sensors can confirm the existence_probability.
228+
//
229+
// \note This information can be determined via the detected entities'
230+
// detections ( \c ...Detection::object_id = 'this detected entity' ) and
231+
// the sensors (their IDs) to which these detections belong.
232+
//
233+
repeated Identifier sensor_id = 10;
197234

198235
//
199236
// \brief Further specifies the relevant directions of the traffic light.
@@ -215,15 +252,19 @@ message DetectedTrafficLight
215252
// Direction is unknown (must not be used in ground truth).
216253
//
217254
DIRECTION_UNKNOWN = 0;
255+
218256
// Other (unspecified but known) direction.
219257
//
220258
DIRECTION_OTHER = 1;
259+
221260
// Direction is straight.
222261
//
223262
DIRECTION_STRAIGHT = 2;
263+
224264
// Direction is left.
225265
//
226266
DIRECTION_LEFT = 3;
267+
227268
// Direction is right.
228269
//
229270
DIRECTION_RIGHT = 4;
@@ -250,26 +291,27 @@ message RelevantLane
250291
//
251292
message DetectedRoadMarking
252293
{
253-
// Header attributes of detected road marking.
254-
//
255-
optional DetectedObjectHeader header = 1;
256-
257-
// Specific ID of the road marking as assigned by the sensor internally. Need not match with ground_truth_id.
294+
// Specific ID of the road marking as assigned by the sensor internally.
295+
// Need not match with ground_truth_id.
258296
//
259297
optional Identifier tracking_id = 2;
260298

261299
// The ID of the original road marking in the ground truth.
262-
// In case of a ghost detection (no corresponding ground truth), this field should be unset.
300+
// In case of a ghost detection (no corresponding ground truth), this field
301+
// should be unset.
302+
//
263303
optional Identifier ground_truth_id = 3;
264304

265305
// A list of candidates for this road marking as estimated by the sensor.
266306
//
267307
repeated CandidateRoadMarking candidate_road_marking = 4;
268308

269-
// The estimated probability that this road marking really exists, not based on history.
309+
// The estimated probability that this road marking really exists, not based
310+
// on history.
311+
//
312+
// \note Use as confidence measure where a low value means less confidence
313+
// and a high value indicates strong confidence.
270314
//
271-
// \note Use as confidence measure where a low value means less confidence and a high value indicates
272-
// strong confidence.
273315
optional double existence_probability = 5;
274316

275317
// Links to the corresponding lanes.
@@ -279,9 +321,22 @@ message DetectedRoadMarking
279321
// The measurement state.
280322
//
281323
optional MeasurementState measurement_state = 7;
282-
// The root mean squared error of the base parameters of the detected road marking.
324+
325+
// The root mean squared error of the base parameters of the detected road
326+
// marking.
283327
//
284328
optional BaseStationary rmse = 8;
329+
330+
// A list of sensors which detected this detected entity.
331+
//
332+
// If SensorData has detected entities and all detections are missing, then
333+
// e.g. the number of sensors can confirm the existence_probability.
334+
//
335+
// \note This information can be determined via the detected entities'
336+
// detections ( \c ...Detection::object_id = 'this detected entity' ) and
337+
// the sensors (their IDs) to which these detections belong.
338+
//
339+
repeated Identifier sensor_id = 11;
285340
}
286341

287342
//
@@ -293,8 +348,9 @@ message CandidateRoadMarking
293348
//
294349
optional RoadMarking road_marking = 1;
295350

296-
// The estimated probability that this candidate is the true value. Range [0,1].
297-
// The sum of all candidate_probabilities must be one.
351+
// The estimated probability that this candidate is the true value.
352+
// Range [0,1]. The sum of all candidate_probabilities must be one.
353+
//
298354
optional double candidate_probability = 2;
299355

300356
// The amount of time that this detected object has been currently

osi_detectedlane.proto

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,14 @@ package osi;
1313
//
1414
message DetectedLane
1515
{
16-
// Header attributes of detected lane.
17-
//
18-
optional DetectedObjectHeader header = 1;
19-
20-
// Specific ID of the detected lane as assigned by the sensor internally. Need not match with ground_truth_id.
21-
//
16+
// Specific ID of the detected lane as assigned by the sensor internally.
17+
// Need not match with ground_truth_id.
2218
optional Identifier tracking_id = 2;
2319

2420
// The ID of the original lane in the ground truth.
25-
// Multiple entries if the detected lane is a merge of multiple lanes in ground truth (as lane segment definitions
26-
// may vary between sensor and ground truth).
21+
// Multiple entries if the detected lane is a merge of multiple lanes in
22+
// ground truth (as lane segment definitions may vary between sensor and
23+
// ground truth).
2724
repeated Identifier ground_truth_id = 3;
2825

2926
// The amount of time that this detected object has been currently
@@ -40,24 +37,31 @@ message DetectedLane
4037
//
4138
optional Lane lane = 4;
4239

43-
// The estimated probability that this lane really exists, not based on history.
40+
// The estimated probability that this lane really exists, not based on
41+
// history.
4442
//
45-
// \note Use as confidence measure where a low value means less confidence and a high value indicates
46-
// strong confidence.
43+
// \note Use as confidence measure where a low value means less confidence
44+
// and a high value indicates strong confidence.
4745
optional double existence_probability = 5;
46+
47+
// A list of sensors which detected this detected entity.
48+
//
49+
// If SensorData has detected entities and all detections are missing, then
50+
// e.g. the number of sensors can confirm the existence_probability.
51+
//
52+
// \note This information can be determined via the detected entities'
53+
// detections ( \c ...Detection::object_id = 'this detected entity' ) and
54+
// the sensors (their IDs) to which these detections belong.
55+
repeated Identifier sensor_id = 6;
4856
}
4957

5058
//
5159
// \brief A lane segment as detected by the sensor.
5260
//
5361
message DetectedLaneBoundary
5462
{
55-
// Header attributes of detected lane boundary.
56-
//
57-
optional DetectedObjectHeader header = 1;
58-
59-
// Specific ID of the detected lane boundary as assigned by the sensor internally. Need not match with ground_truth_id.
60-
//
63+
// Specific ID of the detected lane boundary as assigned by the sensor
64+
// internally. Need not match with ground_truth_id.
6165
optional Identifier tracking_id = 2;
6266

6367
// The ID of the original LaneBoundary in the ground truth.
@@ -72,8 +76,8 @@ message DetectedLaneBoundary
7276
// Unit: [s]
7377
optional double age = 1000;
7478

75-
// State of the measurement. Lane boundary measured in the current image or Lane boundary predicted (no measurement in current image).
76-
//
79+
// State of the measurement. Lane boundary measured in the current image or
80+
// lane boundary predicted (no measurement in current image).
7781
optional MeasurementState measurement_state = 5;
7882

7983
// The basic measured lane boundary.
@@ -102,4 +106,14 @@ message DetectedLaneBoundary
102106
// Confidence of the segments of the BoundaryPoint information from a LaneBoundary.
103107
// For every \c lane_boundary.boundary_line point exact one \c boundary_line_confidence confidence value is specified.
104108
repeated double boundary_line_point_confidences = 10;
109+
110+
// A list of sensors which detected this detected entity.
111+
//
112+
// If SensorData has detected entities and all detections are missing, then
113+
// e.g. the number of sensors can confirm the existence_probability.
114+
//
115+
// \note This information can be determined via the detected entities'
116+
// detections ( \c ...Detection::object_id = 'this detected entity' ) and
117+
// the sensors (their IDs) to which these detections belong.
118+
repeated Identifier sensor_id = 11;
105119
}

0 commit comments

Comments
 (0)