Package rst.tracking

Not documented

Messages

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> .

Download this file

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 by info).

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.

Download this file

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.

See AxisAlignedBoundingBox3DFloat.

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.

Download this file

    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 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> .

Download this file

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.

confidence
Type :array of FLOAT32

Constraint: 0 <= value <= 1

Confidence values for the individual positions stored in posture.

Download this file

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 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> .

Download this file

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 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.

confidence
Type :FLOAT32

Constraint: 0 <= value <= 1

Confidence in the correctness of the value stored in position.

Download this file

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 TrackingInfo

class rst.tracking.TrackingInfo

Identifier for tracked objects.

Code author: Johannes Wienke <jwienke@techfak.uni-bielefeld.de>

id
Type :UINT32

A unique id for each track.

Download this file

message TrackingInfo {

    /**
     * A unique id for each track.
     */
    required uint32 id = 1;

}

Table Of Contents

Related Documentation

This Page