0001-Added-more-types-represent-classification-results-an.patch

L. Ziegler, 05/31/2013 05:39 PM

Download (7.07 KB)

View differences:

proto/sandbox/rst/classification/ClassifiedRegion2D.proto
1
package rst.classification;
2

  
3
import "rst/geometry/BoundingBox.proto";
4
import "rst/classification/ClassificationResult.proto";
5

  
6
option java_outer_classname = "ClassifiedRegion2DType";
7

  
8
/**
9
 * Focus on image coordinate systems (vision-based).
10
 *
11
 * A image region with a classification result.
12
 *
13
 * @author Leon Ziegler <lziegler@techfak.uni-bielefeld.de>
14
 */
15
message ClassifiedRegion2D {
16

  
17
    /**
18
     * Region in the input image.
19
     */
20
    optional geometry.BoundingBox region = 1;
21

  
22
	/**
23
	 * The class represented by the image region.
24
	 */
25
    optional classification.ClassificationResult result = 2;
26

  
27
}
proto/sandbox/rst/classification/ClassifiedRegion3D.proto
1
package rst.classification;
2

  
3
import "rst/geometry/BoundingBox3DFloat.proto";
4
import "rst/classification/ClassificationResult.proto";
5

  
6
option java_outer_classname = "ClassifiedRegion3DType";
7

  
8
/**
9
 * Focus on image coordinate systems (vision-based).
10
 *
11
 * A region in 3D space with a classification result.
12
 *
13
 * @author Leon Ziegler <lziegler@techfak.uni-bielefeld.de>
14
 */
15
message ClassifiedRegion3D {
16

  
17
    /**
18
     * Region in 3D space.
19
     */
20
    optional geometry.BoundingBox3DFloat region = 1;
21

  
22
	/**
23
	 * The class represented by the 3D region.
24
	 */
25
    optional classification.ClassificationResult result = 2;
26

  
27
}
proto/sandbox/rst/geometry/CameraPose.proto
1
package rst.geometry;
2

  
3
import "rst/geometry/Pose.proto";
4

  
5
option java_outer_classname = "CameraPoseType";
6

  
7
/**
8
 * Pose of a camera with semantic annotation of the axes.
9
 * @todo "extend explanation"
10
 *
11
 * @author Leon Ziegler <lziegler@techfak.uni-bielefeld.de>
12
 */
13
message CameraPose {
14
    
15
    /**
16
    * Semantic annotation of the axes. (all right-handed)
17
    */
18
    enum CoordinateFrame {
19
    
20
    	/**
21
    	 * X: right - Y: down - Z: forward (depth axis)
22
    	 */
23
	    CAMERA_IMAGE_FRAME = 0;
24
	    
25
	    /**
26
    	 * X: up - Y: right - Z: forward (depth axis)
27
    	 */
28
	    CAMERA_X_UP_FRAME = 1;
29
	    
30
	    /**
31
    	 * X: left - Y: up - Z: forward (depth axis)
32
    	 */
33
	    CAMERA_Y_UP_FRAME = 2;
34
	    
35
	    /**
36
    	 * X: forward (depth axis) - Y: left - Z: up
37
    	 */
38
	    LASER_FRAME = 3;
39
	    
40
	    /**
41
    	 * X: right - Y: up - Z: towards viewer (negative depth axis)
42
    	 */
43
	    SCREEN_FRAME = 4;
44
	}
45
	
46
	/**
47
	 * Annotation of the axes.
48
	 */
49
	optional CoordinateFrame coordinateFrame = 1 [default = CAMERA_IMAGE_FRAME];
50
	
51
    /**
52
     * TODO
53
     */
54
    required rst.geometry.Pose pose = 2;
55
}
proto/sandbox/rst/geometry/FieldOfView.proto
1
package rst.geometry;
2

  
3
option java_outer_classname = "FieldOfViewType";
4

  
5
/**
6
 * The field of view of a sensor.
7
 * @todo "extend explanation"
8
 *
9
 * @author Leon Ziegler <lziegler@techfak.uni-bielefeld.de>
10
 */
11
message FieldOfView {
12
	
13
	/**
14
	 * An angle defining the horizontal bounds of the FOV.
15
	 */
16
	// @unit(radian)
17
	required float horizontalAOV = 1;
18
	
19
	/**
20
	 * An angle defining the vertical bounds of the FOV.
21
	 */
22
	// @unit(radian)
23
	required float verticalAOV = 2;
24
}
proto/sandbox/rst/geometry/Frustum.proto
1
package rst.geometry;
2

  
3
import "rst/geometry/CameraPose.proto";
4
import "rst/geometry/FieldOfView.proto";
5

  
6
option java_outer_classname = "FrustumType";
7

  
8
/**
9
 * A camera's view frustum.
10
 *
11
 * @author Leon Ziegler <lziegler@techfak.uni-bielefeld.de>
12
 */
13
message Frustum {
14
    
15
    /**
16
     * Origin of the frustum.
17
     */
18
    required CameraPose camera = 1;
19
	
20
	/**
21
	 * The field of view of the frustum.
22
	 */
23
	required FieldOfView fov = 2;
24
	
25
	/**
26
	 * The minimal perceivable distance.
27
	 */
28
	// @unit(meter)
29
	optional float minDist = 3 [default = 0];
30
	
31
	/**
32
	 * The maximal perceivable distance.
33
	 */
34
	// @unit(meter)
35
	optional float maxDist = 4 [default = 99999];
36
	
37
	/**
38
	 * The angular difference between the individual pixels in the image
39
	 */
40
	// @unit(radian)
41
	optional float angularResolutionX = 5 [default = 0];
42
	
43
	/**
44
	 * The angular difference between the individual pixels in the image
45
	 */
46
	// @unit(radian)
47
	optional float angularResolutionY = 6 [default = 0];
48
}
proto/sandbox/rst/vision/LocatedXYZImage.proto
1
package rst.vision;
2

  
3
import "rst/geometry/Frustum.proto";
4
import "rst/vision/SimpleXYZImage.proto";
5

  
6
option java_outer_classname = "LocatedXYZImageType";
7

  
8
/**
9
 * A simple pointcloud represented in 2D structure with information from where it was taken.
10
 *
11
 * @author Leon Ziegler <lziegler@techfak.uni-bielefeld.de>
12
 */
13
message LocatedXYZImage {
14
    
15
    /**
16
     * The camera's frustum.
17
     */
18
    required rst.geometry.Frustum camera = 1;
19
	
20
	/**
21
     * The background model.
22
     */
23
    required rst.vision.SimpleXYZImage image = 2;
24
}
0
-