@@ -9,6 +9,96 @@ import "osi_sensorspecific.proto";
99
1010package osi3 ;
1111
12+ //
13+ // \brief The common information for a detected item as estimated by the
14+ // sensor.
15+ //
16+ message DetectedItemHeader
17+ {
18+ // Specific ID of the detected item as assigned by the sensor internally.
19+ // Need not match with \c #ground_truth_id.
20+ //
21+ optional Identifier tracking_id = 1 ;
22+
23+ // The ID of the original detected item in the ground truth.
24+ //
25+ // \note OSI uses singular instead of plural for repeated field names.
26+ //
27+ repeated Identifier ground_truth_id = 2 ;
28+
29+ // The estimated probability that this detected item really exists, not
30+ // based on history.
31+ //
32+ // \note Use as confidence measure where a low value means less confidence
33+ // and a high value indicates strong confidence.
34+ //
35+ // Range: [0,1]
36+ //
37+ optional double existence_probability = 3 ;
38+
39+ // A list of sensors which detected this detected item.
40+ //
41+ // If \c SensorData has detected entities and all detections are missing,
42+ // then e.g. the number of sensors can confirm the
43+ // \c #existence_probability.
44+ //
45+ // \note This information can be determined via the detected entities'
46+ // detections ( \c ...Detection::object_id = 'this detected item' ) and
47+ // the sensors (their IDs) to which these detections belong.
48+ //
49+ // \note OSI uses singular instead of plural for repeated field names.
50+ //
51+ repeated Identifier sensor_id = 4 ;
52+ }
53+
54+ //
55+ // \brief The common information for a detected item's candidate as estimated
56+ // by the sensor.
57+ //
58+ message DetectedCandidateItemHeader
59+ {
60+ // The estimated probability that this candidate is the true value.
61+ // The sum of all \c #probability must be one.
62+ //
63+ // Range: [0,1]
64+ //
65+ optional double probability = 1 ;
66+
67+ // The amount of time that this detected object has been currently
68+ // observed/tracked.
69+ //
70+ // Unit: [s]
71+ //
72+ optional double age = 2 ;
73+
74+ // The measurement state.
75+ //
76+ optional MeasurementState measurement_state = 3 ;
77+ }
78+
79+ // Definition of measurement states.
80+ //
81+ enum MeasurementState
82+ {
83+ // Measurement state is unknown (must not be used in ground truth).
84+ //
85+ MEASUREMENT_STATE_UNKNOWN = 0 ;
86+
87+ // Measurement state is unspecified (but known, i.e. value is not part of
88+ // this enum list).
89+ //
90+ MEASUREMENT_STATE_OTHER = 1 ;
91+
92+ // Entity has been measured by the sensor in the current timestep.
93+ //
94+ MEASUREMENT_STATE_MEASURED = 2 ;
95+
96+ // Entity has not been measured by the sensor in the current timestep.
97+ // Values provided by tracking only.
98+ //
99+ MEASUREMENT_STATE_PREDICTED = 3 ;
100+ }
101+
12102//
13103// \brief Object in the environment as detected and perceived by the sensor.
14104//
@@ -40,12 +130,12 @@ message DetectedObject
40130 // Base parameters of the object. object.position is the middle of the
41131 // bounding box of the target object.
42132 //
43- optional BaseMoving object = 5 ;
133+ optional BaseMoving base = 5 ;
44134
45135 // The root mean squared error of the base parameters in object (cross
46136 // correlations are currently neglected).
47137 //
48- optional BaseMoving object_rmse = 6 ;
138+ optional BaseMoving base_rmse = 6 ;
49139
50140 // Reference point location specification of the sensor measurement
51141 // (required to decouple sensor measurement, position and bounding box
@@ -110,7 +200,10 @@ message DetectedObject
110200
111201 // The estimated probabilities for the object to belong to a specific class.
112202 //
113- optional ClassProbability class_probability = 16 ;
203+ // \note The probability for each class of object has to be provided.
204+ // \note OSI uses singular instead of plural for repeated field names.
205+ //
206+ repeated ClassProbability class_probability = 16 ;
114207
115208 // Pedestrian head pose for behavior prediction. Describes the head
116209 // orientation w.r.t. the host vehicle orientation.
@@ -254,198 +347,57 @@ message DetectedObject
254347 //
255348 message ClassProbability
256349 {
257- // Probability that the object has unknown type.
258- //
259- // Range: [0,1]
260- //
261- optional double prob_unknown = 1 ;
262-
263- // Probability that the object is unspecified but known.
264- //
265- // Range: [0,1]
266- //
267- optional double prob_other = 2 ;
268-
269- // Probability that the object is a car.
270- //
271- // Range: [0,1]
272- //
273- optional double prob_car = 3 ;
274-
275- // Probability that the object is a heavy truck.
276- //
277- // Range: [0,1]
278- //
279- optional double prob_heavy_truck = 4 ;
280-
281- // Probability that the object is a van.
282- //
283- // Range: [0,1]
350+ // The class of object that has been estimated with a certain
351+ // probability.
284352 //
285- optional double prob_van = 5 ;
353+ optional Vehicle.Type class = 1 ;
286354
287- // Probability that the object is a bus .
355+ // Probability that the object is of that certain class .
288356 //
289357 // Range: [0,1]
290358 //
291- optional double prob_bus = 6 ;
292-
293- // Probability that the object is a trailer.
294- //
295- // Range: [0,1]
296- //
297- optional double prob_trailer = 7 ;
298-
299- // Probability that the object is a semitrailer.
300- //
301- // Range: [0,1]
302- //
303- optional double prob_semitrailer = 8 ;
304-
305- // Probability that the object is a tram.
306- //
307- // Range: [0,1]
308- //
309- optional double prob_tram = 9 ;
310-
311- // Probability that the object is a train.
312- //
313- // Range: [0,1]
314- //
315- // \note Can also be used for underground railway.
316- //
317- optional double prob_train = 10 ;
318-
319- // Probability that the object is a motorbike.
320- //
321- // Range: [0,1]
322- //
323- optional double prob_motorbike = 11 ;
324-
325- // Probability that the object is a bicycle.
326- //
327- // Range: [0,1]
328- //
329- optional double prob_bicycle = 12 ;
330-
331- // Probability that the object is a pedestrian.
332- //
333- // Range: [0,1]
334- //
335- optional double prob_pedestrian = 13 ;
336-
337- // Probability that the object is a wheelchair.
338- //
339- // Range: [0,1]
340- //
341- optional double prob_wheelchair = 14 ;
342-
343- // Probability that the object is an animal.
344- //
345- // Range: [0,1]
346- //
347- optional double prob_animal = 15 ;
348-
349- // Probability that the object is a stationary object.
350- //
351- // Range: [0,1]
352- //
353- optional double prob_stationary = 16 ;
354-
355- // Probability that the object is an unspecified but known vehicle.
356- //
357- // Range: [0,1]
358- //
359- optional double prob_other_vehicle = 17 ;
359+ optional double probability = 2 ;
360360 }
361361}
362362
363- // Definition of measurement states.
364- //
365- enum MeasurementState
366- {
367- // Measurement state is unknown (must not be used in ground truth).
368- //
369- MEASUREMENT_STATE_UNKNOWN = 0 ;
370-
371- // Measurement state is unspecified (but known, i.e. value is not part of
372- // this enum list).
373- //
374- MEASUREMENT_STATE_OTHER = 1 ;
375-
376- // Entity has been measured by the sensor in the current timestep.
377- //
378- MEASUREMENT_STATE_MEASURED = 2 ;
379-
380- // Entity has not been measured by the sensor in the current timestep.
381- // Values provided by tracking only.
382- //
383- MEASUREMENT_STATE_PREDICTED = 3 ;
384- }
385-
386363//
387- // \brief The common information for a detected item as estimated by the
388- // sensor.
364+ // \brief A stationary object (e.g. landmark) in the environment as detected by
365+ // the sensor.
389366//
390- message DetectedItemHeader
367+ message DetectedStationaryObject
391368{
392- // Specific ID of the detected item as assigned by the sensor internally.
393- // Need not match with \c #ground_truth_id.
394- //
395- optional Identifier tracking_id = 1 ;
396-
397- // The ID of the original detected item in the ground truth.
398- //
399- // \note OSI uses singular instead of plural for repeated field names.
400- //
401- repeated Identifier ground_truth_id = 2 ;
402-
403- // The estimated probability that this detected item really exists, not
404- // based on history.
405- //
406- // \note Use as confidence measure where a low value means less confidence
407- // and a high value indicates strong confidence.
408- //
409- // Range: [0,1]
369+ // Common information of one detected item.
410370 //
411- optional double existence_probability = 3 ;
371+ optional DetectedItemHeader header = 1 ;
412372
413- // A list of sensors which detected this detected item.
414373 //
415- // If \c SensorData has detected entities and all detections are missing,
416- // then e.g. the number of sensors can confirm the
417- // \c #existence_probability.
418- //
419- // \note This information can be determined via the detected entities'
420- // detections ( \c ...Detection::object_id = 'this detected item' ) and
421- // the sensors (their IDs) to which these detections belong.
422- //
423- // \note OSI uses singular instead of plural for repeated field names.
374+ // \brief A candidate for a detected stationary object (e.g. landmark) as
375+ // estimated by the sensor.
424376 //
425- repeated Identifier sensor_id = 4 ;
426- }
427-
428- //
429- // \brief The common information for a detected item's candidate as estimated
430- // by the sensor .
431- //
432- message DetectedCandidateItemHeader
433- {
434- // The estimated probability that this candidate is the true value.
435- // The sum of all \c #probability must be one.
436- //
437- // Range: [0,1]
438- //
439- optional double probability = 1 ;
440-
441- // The amount of time that this detected object has been currently
442- // observed/tracked .
443- //
444- // Unit: [s]
445- //
446- optional double age = 2 ;
447-
448- // The measurement state.
449- //
450- optional MeasurementState measurement_state = 3 ;
451- }
377+ message EstimatedStationaryObject
378+ {
379+ // A list of candidates for this stationary object as estimated by the
380+ // sensor.
381+ //
382+ // \note OSI uses singular instead of plural for repeated field names .
383+ //
384+ repeated CandidateStationaryObject candidate = 1 ;
385+
386+ // The root mean squared error of the base parameters of the detected
387+ // stationary object (e.g. landmark). \c StationaryObject::base has to be
388+ // identical for all \c #candidate stationary objects.
389+ //
390+ optional BaseStationary base_rmse = 2 ;
391+
392+ message CandidateStationaryObject
393+ {
394+ // Common information of one detected item candidate .
395+ //
396+ optional DetectedCandidateItemHeader header = 1 ;
397+
398+ // The description of the stationary object (e.g. landmark).
399+ //
400+ optional StationaryObject stationary_object = 2 ;
401+ }
402+ }
403+ }
0 commit comments