-
Notifications
You must be signed in to change notification settings - Fork 0
/
osi_detectedobject.proto
152 lines (119 loc) · 5.27 KB
/
osi_detectedobject.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
syntax = "proto2";
option optimize_for = SPEED;
import "osi_common.proto";
import "osi_modelinternal.proto";
import "osi_object.proto";
import "osi_sensorspecific.proto";
package osi;
//
// \brief Object in the environment as detected and perceived by the sensor.
//
message DetectedObject
{
// Specific id of the object as assigned by the sensor internally. Need not match with ground_truth_id.
//
optional Identifier tracking_id = 1;
// The id of the original object in the ground truth list of vehicles / objects / ..
// Multiple entries if detected object is a merge of multiple ground truth objects.
repeated Identifier ground_truth_id = 2;
// Base parameters of the object. Reference point is the middle of the bounding box of the target object.
//
optional BaseMoving object = 3;
// The standard deviations of the base parameters in object (cross correlations are currently neglected).
//
optional BaseMoving standard_deviation = 4;
// The estimated probabilities for the object to belong to a specific class.
//
optional ClassProbability class_probability = 5;
// The estimated probability that this object really exists. Range [0,1].
//
optional double existence_probability = 6;
// Current state of lights as perceived by sensor, only relevant if the object is estimated to be an object that
// has lights.
optional Vehicle.LightState light_state = 7;
// Reference point of the sensor measurement (required to decouple position and bounding box estimation) as used by
// the sensor (model).
// Note that the value of this field has no impact on the value of object.position, which always references the
// center of the object / bounding box.
optional ReferencePoint reference_point = 8;
// Additional internal data and state flags required and used by the sensor-models, should not be used by
// subscribers to SensorData. Generally this field should be cleared after internal processing.
optional ModelInternalObject model_internal_object = 9;
// Additional data that is specific to radar sensors.
// Field need not be set if simulated sensor is not a radar sensor.
optional RadarSpecificObjectData radar_specifics = 10;
// Additional data that is specific to lidar sensors.
// Field need not be set if simulated sensor is not a lidar sensor.
optional LidarSpecificObjectData lidar_specifics = 11;
// Additional data that is specific to camera sensors.
// Field need not be set if simulated sensor is not a camera sensor.
optional CameraSpecificObjectData camera_specifics = 12;
// Definition of available reference points.
//
enum ReferencePoint
{
// Reference point is unknown, i.e. sensor does not report a reference point for the position coordinate.
// Value must not be used in ground truth data.
// Usually this means that the reference point for the given position coordinates is a largely arbitrary point
// within the bounding volume unknown to the sensor. If this value is set, the center of the bounding box should
// be used as reference point by convention, unless the specific use case requires otherwise.
REFERENCE_POINT_UNKNOWN = 0;
// Other (unspecified but known) reference point.
//
REFERENCE_POINT_OTHER = 1;
// Center of the bounding box.
//
REFERENCE_POINT_CENTER = 2;
// Middle-Left of the bounding box.
//
REFERENCE_POINT_MIDDLE_LEFT = 3;
// Middle-Right of the bounding box.
//
REFERENCE_POINT_MIDDLE_RIGHT = 4;
// Rear-Middle of the bounding box.
//
REFERENCE_POINT_REAR_MIDDLE = 5;
// Rear-Left of the bounding box.
//
REFERENCE_POINT_REAR_LEFT = 6;
// Rear-Right of the bounding box.
//
REFERENCE_POINT_REAR_RIGHT = 7;
// Front-Middle of the bounding box.
//
REFERENCE_POINT_FRONT_MIDDLE = 8;
// Front-Left of the bounding box.
//
REFERENCE_POINT_FRONT_LEFT = 9;
// Front-Right of the bounding box.
//
REFERENCE_POINT_FRONT_RIGHT = 10;
}
//
// \brief Probabilities for the classification of the object as perceived by the sensor.
//
message ClassProbability
{
// Probability that the object has unknown type. Range [0,1].
//
optional double prob_unknown = 1;
// Probability that the object is a car. Range [0,1].
//
optional double prob_car = 2;
// Probability that the object is a truck. Range [0,1].
//
optional double prob_truck = 3;
// Probability that the object is a motorbike. Range [0,1].
//
optional double prob_motorbike = 4;
// Probability that the object is a bicycle. Range [0,1].
//
optional double prob_bicycle = 5;
// Probability that the object is a pedestrian. Range [0,1].
//
optional double prob_pedestrian = 6;
// Probability that the object is a stationary object. Range [0,1].
//
optional double prob_stationary = 7;
}
}