Package rst.tracking¶
Tracking refers to the process of maintaining an estimate of some property, such as the position, of a tracked subject over time.
Messages¶
Message TrackingInfoCollection¶
-
class
rst.tracking.
TrackingInfoCollection
¶ Collection of
TrackingInfo
instances.Auto-generated.
-
element
¶ Type: array of rst.tracking.TrackingInfo
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.
-
message TrackingInfoCollection {
/**
* The individual elements of the collection.
*
* Constraints regarding the empty collection, sorting, duplicated
* entries etc. are use case specific.
*/
repeated TrackingInfo element = 1;
}
Message TrackedPoseCollection¶
-
class
rst.tracking.
TrackedPoseCollection
¶ Collection of
TrackedPose
instances.Auto-generated.
-
element
¶ Type: array of rst.tracking.TrackedPose
The individual elements of the collection.
Constraints regarding the empty collection, sorting, duplicated entries etc. are use case specific.
-
message TrackedPoseCollection {
/**
* The individual elements of the collection.
*
* Constraints regarding the empty collection, sorting, duplicated
* entries etc. are use case specific.
*/
repeated TrackedPose element = 1;
}
Message TrackedPositions3DFloat¶
-
class
rst.tracking.
TrackedPositions3DFloat
¶ A collection of
TrackedPosition3DFloat
objects.Collecting multiple
TrackedPosition3DFloat
objects in a single data structure is an easy way to express the fact that they have been recorded at the same point in time.Code author: Jan Moringen <jmoringe@techfak.uni-bielefeld.de>
-
position
¶ Type: array of rst.tracking.TrackedPosition3DFloat
Empty collections of tracked positions are allowed but should rarely be necessary.
Order of positions is not significant since association of tracked positions to tracked subjects is done via <Could not resolve reference to .position.info> .
-
message TrackedPositions3DFloat {
/**
* Empty collections of tracked positions are allowed but should
* rarely be necessary.
*
* Order of positions is not significant since association of
* tracked positions to tracked subjects is done via @ref
* .position.info.
*/
repeated TrackedPosition3DFloat position = 1;
}
Message TrackedPostures3DFloat¶
-
class
rst.tracking.
TrackedPostures3DFloat
¶ A collection of
TrackedPosture3DFloat
objects.Collecting multiple
TrackedPosture3DFloat
objects in a single data structure is an easy way to express the fact that they have been recorded at the same point in time.Code author: Jan Moringen <jmoringe@techfak.uni-bielefeld.de>
-
posture
¶ Type: array of rst.tracking.TrackedPosture3DFloat
Empty collections of tracked postures are allowed but should rarely be necessary.
Order of postures is not significant since association of tracked postures to tracked subjects is done via <Could not resolve reference to .posture.info> .
-
message TrackedPostures3DFloat {
/**
* Empty collections of tracked postures are allowed but should
* rarely be necessary.
*
* Order of postures is not significant since association of
* tracked postures to tracked subjects is done via @ref
* .posture.info.
*/
repeated TrackedPosture3DFloat posture = 1;
}
Message TrackedPosture3DFloat¶
-
class
rst.tracking.
TrackedPosture3DFloat
¶ Constraint:
len(.posture) == len(.confidence)
Posture of an articulated tracked subject.
Code author: Jan Moringen <jmoringe@techfak.uni-bielefeld.de>
-
info
¶ Type: rst.tracking.TrackingInfo
Tracking information such as identity of the subject being tracked.
-
posture
¶ Type: rst.kinematics.Posture3DFloat
Posture of the tracked subject identified by
info
.
-
message TrackedPosture3DFloat {
/**
* Tracking information such as identity of the subject being
* tracked.
*/
required TrackingInfo info = 1;
/**
* Posture of the tracked subject identified by @ref .info.
*/
required kinematics.Posture3DFloat posture = 2;
/**
* Confidence values for the individual positions stored in @ref
* .posture.
*/
// @constraint(0 <= value <= 1)
repeated float confidence = 3;
}
Message States¶
-
class
rst.tracking.
States
¶ A collection of
State
objects.Collecting multiple
State
objects in a single data structure is an easy way to express the fact that they have been recorded at the same point in time.Code author: Jan Moringen <jmoringe@techfak.uni-bielefeld.de>
-
state
¶ Type: array of rst.tracking.State
Empty collections of states are allowed.
Order of states is not significant since association of states to tracked subjects is done via <Could not resolve reference to .state.info> .
-
message States {
/**
* Empty collections of states are allowed.
*
* Order of states is not significant since association of states
* to tracked subjects is done via @ref .state.info.
*/
repeated State state = 1;
}
Message State¶
-
class
rst.tracking.
State
¶ Describes the available tracking information (via
aspect
) for a given tracked subject (identified byinfo
).Possible applications include answering queries regarding the tracking state of certain subjects or broadcasting updated tracking state information when changes occur.
Code author: Jan Moringen <jmoringe@techfak.uni-bielefeld.de>
-
info
¶ Type: rst.tracking.TrackingInfo
Identifies the subject for which the tracking state is reported.
-
aspect
¶ Type: array of rst.tracking.State.Aspect
Lists of the available tracking aspects for the subject identified by
info
.An empty collection of aspects is allowed and corresponds to the fact that a subject has been lost.
The order of aspects is not significant.
-
message State {
/**
* Aspects of tracking information which are available in the
* reported tracking state.
*/
enum Aspect {
/**
* A rough description of the position of the tracked subject
* in two-dimensional space (e.g. in a camera image) is
* available.
*
* See @ref rst.math.Vec2DInt, @ref rst.math.Vec2DFloat.
*/
ASPECT_POSITION_2D = 0;
/**
* A rough description of the position of the tracked subject
* in three-dimensional space is available.
*
* See @ref rst.geometry.Translation.
*/
ASPECT_POSITION_3D = 1;
/**
* An axis-aligned box bounding the area in which the tracked
* subject is contained is available.
*
* See @ref rst.geometry.BoundingBox.
*/
ASPECT_AXIS_ALIGNED_BOUNDING_BOX_2D = 2;
/**
* An axis-aligned box bounding the volume in which the
* tracked subject is contained is available.
*
* See @ref rst.geometry.AxisAlignedBoundingBox3DFloat.
*/
ASPECT_AXIS_ALIGNED_BOUNDING_BOX_3D = 3;
/**
* A box in general position and orientation (i.e. not
* necessarily axis-aligned) bounding the area in which the
* tracked subject is contained is available.
*/
ASPECT_BOUNDING_BOX_2D = 4;
/**
* A box in general position and orientation (i.e. not
* necessarily axis-aligned) bounding the volume in which the
* tracked subject is contained is available.
*
* See @ref rst.geometry.BoundingBox3DFloat.
*/
ASPECT_BOUNDING_BOX_3D = 5;
/**
* A contour bounding the area in which the tracked subject is
* contained is available.
*/
ASPECT_CONTOUR = 6;
/**
* For an articulated tracked subject (such as a human or a
* humanoid robot), individual estimations of the positions of
* certain points on/in the body of the subject in
* two-dimensional space are available.
*/
ASPECT_POSTURE_2D = 7;
/**
* For an articulated tracked subject (such as a human or a
* humanoid robot), individual estimations of the positions of
* certain points on/in the body of the subject in
* three-dimensional space are available.
*
* See @ref rst.kinematics.Posture3DFloat.
*/
ASPECT_POSTURE_3D = 8;
}
/**
* Identifies the subject for which the tracking state is
* reported.
*/
required TrackingInfo info = 1;
/**
* Lists of the available tracking aspects for the subject
* identified by @ref .info.
*
* An empty collection of aspects is allowed and corresponds to
* the fact that a subject has been lost.
*
* The order of aspects is not significant.
*/
repeated Aspect aspect = 2 [packed=true];
}
Message Aspect¶
-
class
rst.tracking.State.
Aspect
¶ Aspects of tracking information which are available in the reported tracking state.
-
ASPECT_POSITION_2D
¶ -
= 0
A rough description of the position of the tracked subject in two-dimensional space (e.g. in a camera image) is available.
See
Vec2DInt
,Vec2DFloat
.
-
ASPECT_POSITION_3D
¶ -
= 1
A rough description of the position of the tracked subject in three-dimensional space is available.
See
Translation
.
-
ASPECT_AXIS_ALIGNED_BOUNDING_BOX_2D
¶ -
= 2
An axis-aligned box bounding the area in which the tracked subject is contained is available.
See
BoundingBox
.
-
ASPECT_AXIS_ALIGNED_BOUNDING_BOX_3D
¶ -
= 3
An axis-aligned box bounding the volume in which the tracked subject is contained is available.
-
ASPECT_BOUNDING_BOX_2D
¶ -
= 4
A box in general position and orientation (i.e. not necessarily axis-aligned) bounding the area in which the tracked subject is contained is available.
-
ASPECT_BOUNDING_BOX_3D
¶ -
= 5
A box in general position and orientation (i.e. not necessarily axis-aligned) bounding the volume in which the tracked subject is contained is available.
See
BoundingBox3DFloat
.
-
ASPECT_CONTOUR
¶ -
= 6
A contour bounding the area in which the tracked subject is contained is available.
-
ASPECT_POSTURE_2D
¶ -
= 7
For an articulated tracked subject (such as a human or a humanoid robot), individual estimations of the positions of certain points on/in the body of the subject in two-dimensional space are available.
-
ASPECT_POSTURE_3D
¶ -
= 8
For an articulated tracked subject (such as a human or a humanoid robot), individual estimations of the positions of certain points on/in the body of the subject in three-dimensional space are available.
See
Posture3DFloat
.
-
enum Aspect {
/**
* A rough description of the position of the tracked subject
* in two-dimensional space (e.g. in a camera image) is
* available.
*
* See @ref rst.math.Vec2DInt, @ref rst.math.Vec2DFloat.
*/
ASPECT_POSITION_2D = 0;
/**
* A rough description of the position of the tracked subject
* in three-dimensional space is available.
*
* See @ref rst.geometry.Translation.
*/
ASPECT_POSITION_3D = 1;
/**
* An axis-aligned box bounding the area in which the tracked
* subject is contained is available.
*
* See @ref rst.geometry.BoundingBox.
*/
ASPECT_AXIS_ALIGNED_BOUNDING_BOX_2D = 2;
/**
* An axis-aligned box bounding the volume in which the
* tracked subject is contained is available.
*
* See @ref rst.geometry.AxisAlignedBoundingBox3DFloat.
*/
ASPECT_AXIS_ALIGNED_BOUNDING_BOX_3D = 3;
/**
* A box in general position and orientation (i.e. not
* necessarily axis-aligned) bounding the area in which the
* tracked subject is contained is available.
*/
ASPECT_BOUNDING_BOX_2D = 4;
/**
* A box in general position and orientation (i.e. not
* necessarily axis-aligned) bounding the volume in which the
* tracked subject is contained is available.
*
* See @ref rst.geometry.BoundingBox3DFloat.
*/
ASPECT_BOUNDING_BOX_3D = 5;
/**
* A contour bounding the area in which the tracked subject is
* contained is available.
*/
ASPECT_CONTOUR = 6;
/**
* For an articulated tracked subject (such as a human or a
* humanoid robot), individual estimations of the positions of
* certain points on/in the body of the subject in
* two-dimensional space are available.
*/
ASPECT_POSTURE_2D = 7;
/**
* For an articulated tracked subject (such as a human or a
* humanoid robot), individual estimations of the positions of
* certain points on/in the body of the subject in
* three-dimensional space are available.
*
* See @ref rst.kinematics.Posture3DFloat.
*/
ASPECT_POSTURE_3D = 8;
}
Message TrackedClassifiedRegions3D¶
-
class
rst.tracking.
TrackedClassifiedRegions3D
¶ A collection of
TrackedClassifiedRegion3D
objects.Collecting multiple
TrackedClassifiedRegion3D
objects in a single data structure is an easy way to express the fact that they have been recorded at the same point in time.Code author: Leon Ziegler <lziegler@techfak.uni-bielefeld.de>
-
region
¶ Type: array of rst.tracking.TrackedClassifiedRegion3D
Empty collections of tracked regions are allowed but should rarely be necessary.
Order of regions is not significant since association of tracked regions to tracked subjects is done via <Could not resolve reference to .region.info> .
-
message TrackedClassifiedRegions3D {
/**
* Empty collections of tracked regions are allowed but should
* rarely be necessary.
*
* Order of regions is not significant since association of
* tracked regions to tracked subjects is done via @ref
* .region.info.
*/
repeated TrackedClassifiedRegion3D region = 1;
}
Message TrackedClassifiedRegion3D¶
-
class
rst.tracking.
TrackedClassifiedRegion3D
¶ A region in 3D space with tracking information and classification results.
Code author: Leon Ziegler <lziegler@techfak.uni-bielefeld.de>
-
info
¶ Type: rst.tracking.TrackingInfo
Tracking information such as identity of the subject being tracked.
-
region
¶ Type: rst.classification.ClassifiedRegion3D
Region and class of the tracked subject identified by
info
in three-dimensional space.
-
message TrackedClassifiedRegion3D {
/**
* Tracking information such as identity of the subject being tracked.
*/
required TrackingInfo info = 1;
/**
* Region and class of the tracked subject identified by @ref .info in
* three-dimensional space.
*/
required classification.ClassifiedRegion3D region = 2;
}
Message TrackedPosition3DFloat¶
-
class
rst.tracking.
TrackedPosition3DFloat
¶ Position of a tracked subject in three-dimensional space.
Code author: Jan Moringen <jmoringe@techfak.uni-bielefeld.de>
-
info
¶ Type: rst.tracking.TrackingInfo
Tracking information such as identity of the subject being tracked.
-
position
¶ Type: rst.geometry.Translation
Position of the tracked subject identified by
info
in three-dimensional space.
-
message TrackedPosition3DFloat {
/**
* Tracking information such as identity of the subject being
* tracked.
*/
required TrackingInfo info = 1;
/**
* Position of the tracked subject identified by @ref .info in
* three-dimensional space.
*/
required geometry.Translation position = 2;
/**
* Confidence in the correctness of the value stored in @ref
* .position.
*/
// @constraint(0 <= value <= 1)
required float confidence = 3;
}
Message TrackedPose¶
-
class
rst.tracking.
TrackedPose
¶ Pose of a tracked subject in three-dimensional space.
Code author: Phillip Luecking <plueckin@techfak.uni-bielefeld.de>
@create_collection
-
info
¶ Type: rst.tracking.TrackingInfo
Tracking information such as identity of the subject being tracked.
-
pose
¶ Type: rst.geometry.Pose
Pose of the tracked subject identified by
info
in three-dimensional space.
-
message TrackedPose {
/**
* Tracking information such as identity of the subject being
* tracked.
*/
required TrackingInfo info = 1;
/**
* Pose of the tracked subject identified by @ref .info in
* three-dimensional space.
*/
required geometry.Pose pose = 2;
/**
* Confidence in the correctness of the translation stored in @ref
* .pose.
*/
// @constraint(0 <= value <= 1)
optional float translation_confidence = 3;
/**
* Confidence in the correctness of the rotation stored in @ref
* .pose.
*/
// @constraint(0 <= value <= 1)
optional float rotation_confidence = 4;
}
Message TrackedPolygonalPatches3D¶
-
class
rst.tracking.
TrackedPolygonalPatches3D
¶ A collection of
TrackedPolygonalPatch3D
objects.Collecting multiple
TrackedPolygonalPatch3D
objects in a single data structure is an easy way to express the fact that they have been recorded at the same point in time.Code author: Leon Ziegler <lziegler@techfak.uni-bielefeld.de>
-
patch
¶ Type: array of rst.tracking.TrackedPolygonalPatch3D
Empty collections of tracked patches are allowed but should rarely be necessary.
Order of patches is not significant since association of tracked patches to tracked subjects is done via <Could not resolve reference to .patch.info> .
-
message TrackedPolygonalPatches3D {
/**
* Empty collections of tracked patches are allowed but should
* rarely be necessary.
*
* Order of patches is not significant since association of
* tracked patches to tracked subjects is done via @ref .patch.info.
*/
repeated TrackedPolygonalPatch3D patch = 1;
}
Message TrackedPolygonalPatch3D¶
-
class
rst.tracking.
TrackedPolygonalPatch3D
¶ A planar polygon in 3D space with tracking information.
Code author: Leon Ziegler <lziegler@techfak.uni-bielefeld.de>
-
info
¶ Type: rst.tracking.TrackingInfo
Tracking information such as identity of the subject being tracked.
-
patch
¶ Type: rst.geometry.PolygonalPatch3D
Geometric properties of the tracked subject identified by
info
in three-dimensional space.
-
message TrackedPolygonalPatch3D {
/**
* Tracking information such as identity of the subject being
* tracked.
*/
required TrackingInfo info = 1;
/**
* Geometric properties of the tracked subject identified by
* @ref .info in three-dimensional space.
*/
required geometry.PolygonalPatch3D patch = 2;
}
Message TrackingInfo¶
-
class
rst.tracking.
TrackingInfo
¶ Identifier for tracked objects.
Code author: Johannes Wienke <jwienke@techfak.uni-bielefeld.de>
@create_collection
-
id
¶ Type: UINT32
A unique id for each track.
-
message TrackingInfo {
/**
* A unique id for each track.
*/
required uint32 id = 1;
}