-
Notifications
You must be signed in to change notification settings - Fork 1
/
osi_detectedlane.proto
138 lines (123 loc) · 4.51 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
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;
//
// \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;
}
}