-
Notifications
You must be signed in to change notification settings - Fork 131
Add obstruction fields to SensorView #548
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -172,6 +172,43 @@ message GenericSensorView | |
optional GenericSensorViewConfiguration view_configuration = 1; | ||
} | ||
|
||
// | ||
// \brief Obstruction values for a given object and sensor. | ||
// | ||
// For a given object in the ground truth data, and for a particular sensor, how | ||
// obstructed is that object from the point of view of that sensor. | ||
// | ||
message Obstruction | ||
{ | ||
// ID of the object in ground truth data | ||
// | ||
// This field is required as without it the entire message ships | ||
// no useful information. | ||
// | ||
optional Identifier ground_truth_id = 1; | ||
|
||
// Total visible proportion for the object. | ||
// | ||
// This value considers various factors that would stop an object from being | ||
// visible from the point of view of this sensor. It should include | ||
// truncation (outside of the field of view of the sensor), distance (beyond | ||
// the range of the sensor), and occlusion (how hidden is the object by | ||
// other objects in the scene). | ||
// | ||
// Occlusion can be caused by both static objects (trees, buildings, etc.) | ||
// and dynamic objects (cars, pedestrians, etc.). By convention | ||
// semi-transparent surfaces (e.g. car windows) are considered opaque. | ||
// | ||
// \note The object is considered to be the 2D cross-section of the object | ||
// as visible from the sensor. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It would probably be useful to specify more precisely that all objects are projected, for example, onto a sphere or cylinder with a radius of 1 m from the eye point of the sensor. |
||
// | ||
// The value is in the range 0.0 (fully hidden) and 1.0 (fully visible). | ||
// | ||
// \image html OSI_Obstruction_visibility.svg "Obstruction visibility" | ||
// | ||
optional double visibility = 2; | ||
} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would ask for the absolute projected area in sqm of the projection onto the Z-plane (e.g. sphere or cylinder at 1 m). |
||
|
||
// | ||
// \brief Definition of the radar sensor view. | ||
// | ||
|
@@ -192,6 +229,12 @@ message RadarSensorView | |
// | ||
repeated Reflection reflection = 2; | ||
|
||
// Obstruction level for the objects | ||
// | ||
// \note OSI uses singular instead of plural for repeated field names. | ||
// | ||
repeated Obstruction obstruction = 3; | ||
|
||
// | ||
// \brief Definition of the radar reflection. | ||
// | ||
|
@@ -265,6 +308,12 @@ message LidarSensorView | |
// | ||
repeated Reflection reflection = 2; | ||
|
||
// Obstruction level for the objects | ||
// | ||
// \note OSI uses singular instead of plural for repeated field names. | ||
// | ||
repeated Obstruction obstruction = 3; | ||
|
||
// | ||
// \brief Definition of the lidar reflection. | ||
// | ||
|
@@ -331,6 +380,12 @@ message CameraSensorView | |
// camera sensor input configuration. | ||
// | ||
optional bytes image_data = 2; | ||
|
||
// Obstruction level for the objects | ||
// | ||
// \note OSI uses singular instead of plural for repeated field names. | ||
// | ||
repeated Obstruction obstruction = 3; | ||
} | ||
|
||
// | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First question that comes to my mind (as a non-native speaker) is: Why is it named obstruction and not occlusion?