Skip to content

Commit 3b10608

Browse files
committed
Add obstruction fields to SensorView
1 parent c500a7f commit 3b10608

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed

osi_sensorview.proto

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,57 @@ message GenericSensorView
172172
optional GenericSensorViewConfiguration view_configuration = 1;
173173
}
174174

175+
//
176+
// \brief Obstruction values for a given object and sensor.
177+
//
178+
// For a given object in the ground truth data, and for a particular sensor, how
179+
// obstructed is that object from the point of view of that sensor.
180+
//
181+
message Obstruction
182+
{
183+
// \brief ID of the object in ground truth data
184+
//
185+
// This field is required as without it the entire message ships
186+
// no useful information.
187+
//
188+
optional Identifier ground_truth_id = 1;
189+
190+
// \brief Level of occlusion for the object.
191+
//
192+
// The occlusion level represents a fraction of object volume exposed to the
193+
// sensor assuming the sensor had a full 360 degree field of view (so ignoring
194+
// any truncation of that object).
195+
//
196+
// The possibly occluding objects might be moving ones (other vehicles, pedestrians
197+
// etc) as well as stationary ones (like buildings, trees etc).
198+
//
199+
// Value in range between 0.0 (not occluded) and 1.0 (fully occluded).
200+
//
201+
optional double occlusion = 2;
202+
203+
// \brief Level of truncation for the object.
204+
//
205+
// The truncation level represents a fraction of object volume remaining
206+
// outside of sensor's field of view. The truncation value is independent of
207+
// the occlusion value, so something can be fully occluded but not truncated.
208+
//
209+
// The value is in range between 0.0 (fully within FOV) and 1.0 (fully truncated).
210+
//
211+
optional double truncation = 3;
212+
213+
// \brief Total visible proportion for the object.
214+
//
215+
// This value combines both truncation and occlusion to provide a indicate how
216+
// visible an object is from the view of a particular sensor.
217+
//
218+
// \note This is not the sum of the occlusion and truncation values as the
219+
// two values are independent, so they may overlap, or they may be distinct.
220+
//
221+
// The value is in the range 0.0 (fully hidden) and 1.0 (fully visible).
222+
//
223+
optional double visible = 4;
224+
}
225+
175226
//
176227
// \brief Definition of the radar sensor view.
177228
//
@@ -192,6 +243,12 @@ message RadarSensorView
192243
//
193244
repeated Reflection reflection = 2;
194245

246+
// Obstruction level for the objects
247+
//
248+
// \note OSI uses singular instead of plural for repeated field names.
249+
//
250+
repeated Obstruction obstruction = 3;
251+
195252
//
196253
// \brief Definition of the radar reflection.
197254
//
@@ -265,6 +322,12 @@ message LidarSensorView
265322
//
266323
repeated Reflection reflection = 2;
267324

325+
// Obstruction level for the objects
326+
//
327+
// \note OSI uses singular instead of plural for repeated field names.
328+
//
329+
repeated Obstruction obstruction = 3;
330+
268331
//
269332
// \brief Definition of the lidar reflection.
270333
//
@@ -331,6 +394,12 @@ message CameraSensorView
331394
// camera sensor input configuration.
332395
//
333396
optional bytes image_data = 2;
397+
398+
// Obstruction level for the objects
399+
//
400+
// \note OSI uses singular instead of plural for repeated field names.
401+
//
402+
repeated Obstruction obstruction = 3;
334403
}
335404

336405
//

0 commit comments

Comments
 (0)