From 42c44ba5c6f9cb4299b5411ac817407be141224e Mon Sep 17 00:00:00 2001 From: Jan Moringen Date: Fri, 31 May 2013 19:02:22 +0200 Subject: [PATCH] temp commit message --- .../rst/classification/ClassifiedRegion2D.proto | 27 +++++++++ .../rst/classification/ClassifiedRegion3D.proto | 27 +++++++++ proto/sandbox/rst/geometry/CameraPose.proto | 58 ++++++++++++++++++++ proto/sandbox/rst/geometry/FieldOfView.proto | 28 ++++++++++ proto/sandbox/rst/geometry/Frustum.proto | 56 +++++++++++++++++++ proto/sandbox/rst/vision/LocatedXYZImage.proto | 26 +++++++++ 6 files changed, 222 insertions(+) create mode 100644 proto/sandbox/rst/classification/ClassifiedRegion2D.proto create mode 100644 proto/sandbox/rst/classification/ClassifiedRegion3D.proto create mode 100644 proto/sandbox/rst/geometry/CameraPose.proto create mode 100644 proto/sandbox/rst/geometry/FieldOfView.proto create mode 100644 proto/sandbox/rst/geometry/Frustum.proto create mode 100644 proto/sandbox/rst/vision/LocatedXYZImage.proto diff --git a/proto/sandbox/rst/classification/ClassifiedRegion2D.proto b/proto/sandbox/rst/classification/ClassifiedRegion2D.proto new file mode 100644 index 0000000..e93618b --- /dev/null +++ b/proto/sandbox/rst/classification/ClassifiedRegion2D.proto @@ -0,0 +1,27 @@ +package rst.classification; + +import "rst/geometry/BoundingBox.proto"; +import "rst/classification/ClassificationResult.proto"; + +option java_outer_classname = "ClassifiedRegion2DType"; + +/** + * Focus on image coordinate systems (vision-based). + * + * A image region with a classification result. + * + * @author Leon Ziegler + */ +message ClassifiedRegion2D { + + /** + * Region in the input image. + */ + optional geometry.BoundingBox region = 1; + + /** + * The class represented by the image region. + */ + optional ClassificationResult result = 2; + +} diff --git a/proto/sandbox/rst/classification/ClassifiedRegion3D.proto b/proto/sandbox/rst/classification/ClassifiedRegion3D.proto new file mode 100644 index 0000000..60883fb --- /dev/null +++ b/proto/sandbox/rst/classification/ClassifiedRegion3D.proto @@ -0,0 +1,27 @@ +package rst.classification; + +import "rst/geometry/BoundingBox3DFloat.proto"; +import "rst/classification/ClassificationResult.proto"; + +option java_outer_classname = "ClassifiedRegion3DType"; + +/** + * Focus on image coordinate systems (vision-based). + * + * A region in 3D space with a classification result. + * + * @author Leon Ziegler + */ +message ClassifiedRegion3D { + + /** + * Region in 3D space. + */ + optional geometry.BoundingBox3DFloat region = 1; + + /** + * The class represented by the 3D region. + */ + optional ClassificationResult result = 2; + +} diff --git a/proto/sandbox/rst/geometry/CameraPose.proto b/proto/sandbox/rst/geometry/CameraPose.proto new file mode 100644 index 0000000..5d21eeb --- /dev/null +++ b/proto/sandbox/rst/geometry/CameraPose.proto @@ -0,0 +1,58 @@ +package rst.geometry; + +import "rst/geometry/Pose.proto"; + +option java_outer_classname = "CameraPoseType"; + +/** + * Pose of a camera with semantic annotation of the axes. + * + * @todo "extend explanation" + * + * @author Leon Ziegler + */ +message CameraPose { + + /** + * Semantic annotation of the axes. (all right-handed) + */ + enum CoordinateFrame { + + /** + * X: right - Y: down - Z: forward (depth axis) + */ + CAMERA_IMAGE_FRAME = 0; + + /** + * X: up - Y: right - Z: forward (depth axis) + */ + CAMERA_X_UP_FRAME = 1; + + /** + * X: left - Y: up - Z: forward (depth axis) + */ + CAMERA_Y_UP_FRAME = 2; + + /** + * X: forward (depth axis) - Y: left - Z: up + */ + LASER_FRAME = 3; + + /** + * X: right - Y: up - Z: towards viewer (negative depth axis) + */ + SCREEN_FRAME = 4; + + } + + /** + * Annotation of the axes. + */ + optional CoordinateFrame coordinate_frame = 1 [default = CAMERA_IMAGE_FRAME]; + + /** + * TODO + */ + required geometry.Pose pose = 2; + +} diff --git a/proto/sandbox/rst/geometry/FieldOfView.proto b/proto/sandbox/rst/geometry/FieldOfView.proto new file mode 100644 index 0000000..eddc00d --- /dev/null +++ b/proto/sandbox/rst/geometry/FieldOfView.proto @@ -0,0 +1,28 @@ +package rst.geometry; + +option java_outer_classname = "FieldOfViewType"; + +/** + * The field of view of a sensor. + * + * @todo "extend explanation" + * + * @author Leon Ziegler + */ +message FieldOfView { + + /** + * An angle defining the horizontal bounds of the FOV. + */ + // @constraint(value > 0) + // @unit(radian) + required float horizontal_aov = 1; + + /** + * An angle defining the vertical bounds of the FOV. + */ + // @constraint(value > 0) + // @unit(radian) + required float vertical_aov = 2; + +} diff --git a/proto/sandbox/rst/geometry/Frustum.proto b/proto/sandbox/rst/geometry/Frustum.proto new file mode 100644 index 0000000..b12f51a --- /dev/null +++ b/proto/sandbox/rst/geometry/Frustum.proto @@ -0,0 +1,56 @@ +package rst.geometry; + +import "rst/geometry/CameraPose.proto"; +import "rst/geometry/FieldOfView.proto"; + +option java_outer_classname = "FrustumType"; + +/** + * A camera's view frustum. + * + * @author Leon Ziegler + */ +// @constraint(.maximal_distance > .minimal_distance) +message Frustum { + + /** + * Origin of the frustum. + */ + required CameraPose camera = 1; + + /** + * The field of view of the frustum. + */ + required FieldOfView fov = 2; + + /** + * The minimal perceivable distance. + */ + // @constraint(value > 0) + // @unit(meter) + optional float minimal_distance = 3 [default = 0]; + + /** + * The maximal perceivable distance. + */ + // @constraint(value > 0) + // @unit(meter) + optional float maximal_distance = 4 [default = 99999]; + + /** + * The angular difference between the individual pixels in the + * image + */ + // @constraint(value > 0) + // @unit(radian) + optional float angular_resolution_x = 5 [default = 0]; + + /** + * The angular difference between the individual pixels in the + * image + */ + // @constraint(value > 0) + // @unit(radian) + optional float angular_resolution_y = 6 [default = 0]; + +} diff --git a/proto/sandbox/rst/vision/LocatedXYZImage.proto b/proto/sandbox/rst/vision/LocatedXYZImage.proto new file mode 100644 index 0000000..62f1c13 --- /dev/null +++ b/proto/sandbox/rst/vision/LocatedXYZImage.proto @@ -0,0 +1,26 @@ +package rst.vision; + +import "rst/geometry/Frustum.proto"; +import "rst/vision/SimpleXYZImage.proto"; + +option java_outer_classname = "LocatedXYZImageType"; + +/** + * A simple point cloud represented in 2D structure with information + * from where it was taken. + * + * @author Leon Ziegler + */ +message LocatedXYZImage { + + /** + * The camera's frustum. + */ + required geometry.Frustum camera = 1; + + /** + * The background model. + */ + required vision.SimpleXYZImage image = 2; + +} -- 1.7.9.5