Skip to content

Commit 5fe1632

Browse files
committed
resolved merge conflict. Moved common messages to the top of the file. Used header messages for DetectedStationaryObject
2 parents f9c58d0 + 0703124 commit 5fe1632

File tree

5 files changed

+175
-203
lines changed

5 files changed

+175
-203
lines changed

osi_common.proto

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,8 @@ message BaseStationary
278278
// The two dimensional (flat) contour of the object. This is an extension of
279279
// the concept of a bounding box as defined by \c Dimension3d. The contour is
280280
// the projection of the object's outline onto the z-plane in the object
281-
// frame (independent of its current position and orientation).
281+
// frame (independent of its current position and orientation). The height
282+
// is the same as the height of the bounding box.
282283
//
283284
// Usage as sensor data:
284285
// The polygon describes the visible part of the object's contour.
@@ -359,7 +360,8 @@ message BaseMoving
359360
// The two dimensional (flat) contour of the object. This is an extension of
360361
// the concept of a bounding box as defined by \c Dimension3d. The contour is
361362
// the projection of the object's outline onto the z-plane in the object
362-
// frame (independent of its current position and orientation).
363+
// frame (independent of its current position and orientation). The height
364+
// is the same as the height of the bounding box.
363365
//
364366
// Usage as sensor data:
365367
// The polygon describes the visible part of the object's contour.

osi_detectedobject.proto

Lines changed: 135 additions & 183 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,96 @@ import "osi_sensorspecific.proto";
99

1010
package 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+
}

osi_groundtruth.proto

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,6 @@ message GroundTruth
106106
//
107107
repeated LaneBoundary lane_boundary = 10;
108108

109-
// The list of landmarks.
110-
//
111-
// \note OSI uses singular instead of plural for repeated field names.
112-
//
113-
repeated Landmark landmark = 1000;
114-
115109
// The list of passengers in the (host) vehicle(s).
116110
//
117111
// \note OSI uses singular instead of plural for repeated field names.

0 commit comments

Comments
 (0)