Skip to content
193 changes: 193 additions & 0 deletions osi_common.proto
Original file line number Diff line number Diff line change
Expand Up @@ -551,6 +551,7 @@ message StatePoint
//
optional Orientation3d orientation = 3;
}

//
// \brief Detailed WavelengthRange message.
//
Expand Down Expand Up @@ -611,3 +612,195 @@ message SpatialSignalStrength
//
optional double signal_strength = 3;
}

//
// \brief The description of a color within available color spaces.
//
// ColorDescription represents the visual, non-semantic appearance of an object, structure or feature within various available color spaces.
//
// Depending on the context, this may define the color of an object or structure a priori (e.g. GroundTruth objects)
// or describe a perceived color (e.g. CameraDetections).
//
message ColorDescription
{
// Greyscale color model
//
optional ColorGrey grey = 1;

// RGB (Red, Green, Blue) color model
//
optional ColorRGB rgb = 2;

// RGBIR (Red, Green, Blue, Infrared) color model
//
optional ColorRGBIR rgbir = 3;

// HSV (Hue, Saturation, Value) color model
//
optional ColorHSV hsv = 4;

// LUV (Luminance, U-coordinate, V-coordinate) color model
//
optional ColorLUV luv = 5;

// CMYK (Cyan, Magenta, Yellow, Key) color model
//
optional ColorCMYK cmyk = 6;
}

//
// \brief Greyscale color model
//
// ColorGrey defines a greyscale.
//
message ColorGrey
{
// Definition of a greyscale
//
// Range: [0,1]
//
optional double grey = 1;
}

//
// \brief RGB color model
//
// ColorRGB provides values for red, green and blue.
//
message ColorRGB
{
// Red ratio
//
// Range: [0,1]
//
optional double red = 1;

// Green ratio
//
// Range: [0,1]
//
optional double green = 2;

// Blue ratio
//
// Range: [0,1]
//
optional double blue = 3;
}

//
// \brief RGBIR color model
//
// ColorRGBIR provides values for red, green, blue and infrared.
//
message ColorRGBIR
{
// Red ratio
//
// Range: [0,1]
//
optional double red = 1;

// Green ratio
//
// Range: [0,1]
//
optional double green = 2;

// Blue ratio
//
// Range: [0,1]
//
optional double blue = 3;

// Infrared
//
// Range: [0,1]
//
optional double infrared = 4;
}

//
// \brief HSV color model
//
// ColorHSV provides values for hue, saturation and value/brightness.
//
message ColorHSV
{
// Hue
//
// Unit: deg
// Range: [0,360[
//
optional double hue = 1;

// Saturation
//
// Range: [0,1]
//
optional double saturation = 2;

// Value
//
// Range: [0,1]
//
optional double value = 3;
}

//
// \brief LUV color model
//
// ColorLUV provides values for luminance, U- and V-coordinate.
//
message ColorLUV
{
// Luminance
//
// Range: [0,1]
//
optional double luminance = 1;

// U-coordinate
//
// Range: [0,1]
//
optional double u = 2;

// V-Coordinate
//
// Range: [0,1]
//
optional double v = 3;
}

//
// \brief CMYK colors model
//
// ColorCMYK provides values for cyan, magenta, yellow and key/black.
//
message ColorCMYK
{
// Cyan ratio
//
// Range: [0,1]
//
optional double cyan = 1;

// Magenta ratio
//
// Range: [0,1]
//
optional double magenta = 2;

// Yellow ratio
//
// Range: [0,1]
//
optional double yellow = 3;

// Black ratio
//
// Range: [0,1]
//
optional double key = 4;
}
9 changes: 9 additions & 0 deletions osi_detectedlane.proto
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ option optimize_for = SPEED;

import "osi_lane.proto";
import "osi_detectedobject.proto";
import "osi_common.proto";

package osi3;

Expand Down Expand Up @@ -104,6 +105,14 @@ message DetectedLaneBoundary
//
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.
Expand Down
8 changes: 8 additions & 0 deletions osi_detectedobject.proto
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,10 @@ message DetectedStationaryObject
//
repeated CandidateStationaryObject candidate = 4;

// The dominating color of the material of the structure.
//
optional ColorDescription color_description = 5;

//
// \brief A candidate for a detected stationary object as estimated
// by the sensor.
Expand Down Expand Up @@ -221,6 +225,10 @@ message DetectedMovingObject
//
repeated CandidateMovingObject candidate = 8;

// The dominating color of the material of the moving object.
//
optional ColorDescription color_description = 9;

// Additional data that is specific to radar sensors.
//
// \note Field needs not to be set if simulated sensor is not a radar
Expand Down
8 changes: 8 additions & 0 deletions osi_detectedroadmarking.proto
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,14 @@ message DetectedRoadMarking
//
repeated CandidateRoadMarking candidate = 4;

// The visual color of the material of the road marking.
//
// \note This does not represent the semantic classification but the visual
// appearance. For semantic classification of the road marking use the color
// field in \c CandidateRoadMarking::classification.
//
optional ColorDescription color_description = 5;

//
// \brief A candidate for a detected road marking as estimated by the
// sensor.
Expand Down
8 changes: 8 additions & 0 deletions osi_detectedtrafficlight.proto
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,14 @@ message DetectedTrafficLight
//
repeated CandidateTrafficLight candidate = 4;

// The visual color of the traffic light.
//
// \note This does not represent the semantic classification but the visual
// appearance. For semantic classification of the traffic light use the color
// field in \c CandidateTrafficLight::classification.
//
optional ColorDescription color_description = 5;

//
// \brief A candidate for a detected traffic light as estimated by
// the sensor.
Expand Down
12 changes: 12 additions & 0 deletions osi_featuredata.proto
Original file line number Diff line number Diff line change
Expand Up @@ -853,6 +853,10 @@ message CameraDetection

// The dominant color of the shape.
//
// \attention DEPRECATED: This color enum will be removed in version
// 4.0.0. Use the field \c #color_description (\c ColorDescription)
// instead.
//
optional Color color = 28;

// The probability of the shape's color.
Expand Down Expand Up @@ -885,8 +889,16 @@ message CameraDetection
//
optional uint32 number_of_points = 32;

//
// The dominant color of the shape.
//
optional ColorDescription color_description = 33;

// Definition of shape dominant color.
//
// \attention DEPRECATED: This color enum will be removed in version
// 4.0.0. Use \c ColorDescription instead.
//
enum Color
{
// Color of the shape is unknown (must not be used in ground
Expand Down
18 changes: 16 additions & 2 deletions osi_lane.proto
Original file line number Diff line number Diff line change
Expand Up @@ -763,6 +763,14 @@ message LaneBoundary
//
repeated ExternalReference source_reference = 4;

// 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 Classification.
//
optional ColorDescription color_description = 5;

//
// \brief A single point of a lane boundary.
//
Expand Down Expand Up @@ -905,7 +913,10 @@ message LaneBoundary
//
optional Type type = 1;

// The color of the lane boundary in case of lane markings.
// The semantic color of the lane boundary in case of lane markings.
//
// \note The color types represent the semantic classification of
// lane markings only. They do not represent an actual visual appearance.
//
optional Color color = 2;

Expand Down Expand Up @@ -987,10 +998,13 @@ message LaneBoundary
TYPE_STRUCTURE = 13;
}

// The color of the lane boundary in case of a lane markings.
// The semantic color of the lane boundary in case of a lane markings.
// Lane markings that alternate in color must be represented by
// individual \c LaneBoundary segments.
//
// \note The color types represent the semantic color classification of
// lane markings only. They do not represent an actual visual appearance.
//
enum Color
{
// Color of marking is unknown. Value must not be used in ground
Expand Down
Loading