-
Notifications
You must be signed in to change notification settings - Fork 129
/
Copy pathosi_detectedlane.proto
188 lines (165 loc) · 5.83 KB
/
osi_detectedlane.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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
syntax = "proto2";
option optimize_for = SPEED;
import "osi_lane.proto";
import "osi_detectedobject.proto";
import "osi_common.proto";
package osi3;
//
// \brief A lane segment as detected by the sensor.
//
message DetectedLane
{
// Common information of one detected item.
//
optional DetectedItemHeader header = 1;
// A list of candidates for this lane as estimated by the sensor.
//
repeated CandidateLane candidate = 2;
//
// \brief A candidate for a detected lane as estimated by the
// sensor.
//
message CandidateLane
{
// The estimated probability that this candidate is the true value.
//
// \note The sum of all \c #probability must be one. This probability is
// given under the condition of
// \c DetectedItemHeader::existence_probability.
//
// \rules
// is_less_than_or_equal_to: 1
// is_greater_than_or_equal_to: 0
// \endrules
//
optional double probability = 1;
// The classification of one lane that defines this candidate.
//
// \note IDs, which are referenced in this message, usually
// reference to \c DetectedXXX::tracking_id IDs.
//
optional Lane.Classification classification = 2;
}
}
//
// \brief A lane boundary segment as detected by the sensor.
//
// \image html OSI_DetectedLaneBoundary.svg
//
message DetectedLaneBoundary
{
// Common information of one detected item.
//
optional DetectedItemHeader header = 1;
// A list of candidates for this lane boundary as estimated by the
// sensor.
//
repeated CandidateLaneBoundary candidate = 2;
// The list of individual points defining the location of the lane boundary
// (as a list of segments).
//
// Since a \c BoundaryPoint is part of a sequence, only the position
// attribute has to be set for each instance. All other values will be
// reused from the previous \c BoundaryPoint in the sequence or set to
// default values if there is none or it was never set. For dashed lines,
// one \c LaneBoundary::BoundaryPoint has to be at the start and another at
// the end of each dashed line segment. For Botts' dots lines, one \c
// LaneBoundary::BoundaryPoint position has to define each Botts' dot.
//
// \attention For \c LaneBoundary::BoundaryPoint the same rules regarding
// maximum distance and approximation error apply as for \c
// Lane::Classification::centerline.
//
repeated LaneBoundary.BoundaryPoint boundary_line = 3;
// The root mean squared error of the \c LaneBoundary::BoundaryPoint.
// Each \c #candidate has the same \c #boundary_line points and exact
// one \c #boundary_line_rmse rmse confidence value is
// specified which is suitable for all candidates.
//
repeated LaneBoundary.BoundaryPoint boundary_line_rmse = 4;
// Confidence of the segments of the \c LaneBoundary::BoundaryPoint.
// Each \c #candidate has the same \c #boundary_line points and exact
// one \c #boundary_line_confidences confidence value is
// specified which is suitable for all candidates.
//
// \rules
// is_greater_than_or_equal_to: 0
// is_less_than_or_equal_to: 1
// \endrules
//
repeated double boundary_line_confidences = 5;
// The visual color of the material of the lane boundary.
//
// \note This does not represent the semantic classification but the visual
// appearance. For semantic classification of the lane boundary use the color
// field in \c CandidateLaneBoundary::classification.
//
optional ColorDescription color_description = 6;
// The boundary line can be expressed as a polyline of nth order.
//
repeated BoundaryPolyLineModel boundary_poly_line_model = 7;
// The range until where the lane boundary is detected.
//
// Unit: m
//
// \rules
// is_greater_than_or_equal_to: 0
// is_less_than_or_equal_to: 1000
// \endrules
//
optional double view_range = 8;
//
// \brief A candidate for a detected lane boundary as estimated by the
// sensor.
//
message CandidateLaneBoundary
{
// The estimated probability that this candidate is the true value.
//
// \note The sum of all \c #probability must be one. This probability is
// given under the condition of
// \c DetectedItemHeader::existence_probability.
//
// \rules
// is_greater_than_or_equal_to: 0
// is_less_than_or_equal_to: 1
// \endrules
//
optional double probability = 1;
// The classification of one lane boundary that defines this candidate.
//
// \note IDs, which are referenced in this message, usually
// reference to \c DetectedXXX::tracking_id IDs.
//
optional LaneBoundary.Classification classification = 2;
}
//
// \brief The lane boundary as polyline model up to third order.
//
message BoundaryPolyLineModel
{
// P0 parameter of the poly function model that describes the lane boundary.
//
// Unit: m
//
optional double polyline_parameter_p0 = 1;
// P1 parameter of the poly function model that describes the lane boundary.
//
// Unit: 1
//
optional double polyline_parameter_p1 = 2;
// P2 parameter of the poly function model that describes the lane boundary.
//
// Unit: 1/m
//
optional double polyline_parameter_p2 = 3;
// P3 parameter of the poly function model that describes the lane boundary.
//
// Unit: 1/m2
//
optional double polyline_parameter_p3 = 4;
// The measured width within the detected range.
//
optional double polyline_width = 5;
}
}