Main Content

objectTrack

Single object track report

Since R2019b

Description

objectTrack captures the track information of a single object. objectTrack is the standard output format for trackers.

Creation

Description

track = objectTrack creates an objectTrack object with default property values. An objectTrack object contains information like the age and state of a single track.

Tip

To create an empty objectTrack object, use objectTrack.empty().

example

track = objectTrack(Name,Value) allows you to set properties using one or more name-value pairs. Enclose each property name in single quotes.

Properties

expand all

Unique track identifier, specified as a nonnegative integer. This property distinguishes different tracks.

Example: 2

Unique track branch identifier, specified as a nonnegative integer. This property distinguishes different track branches.

Example: 1

Index of source track reporting system, specified as a nonnegative integer. This property identifies the source that reports the track.

Example: 3

Time at which the track was updated by a tracker, specified as a nonnegative real scalar.

Example: 1.2

Data Types: single | double

Number of times the track was updated, specified as a positive integer. When a track is initialized, its Age is equal to 1. Any subsequent update with a hit or miss increases the track Age by 1.

Example: 2

The current state of the track at the UpdateTime, specified as a real-valued N-element vector, where N is the dimension of the state. The format of track state depends on the model used to track the object. For example, for 3-D constant velocity model used with constvel, the state vector is [x; vx; y; vy; z; vz].

Example: [1 0.2 3 0.2]

Data Types: single | double

The current state uncertainty covariance of the track, specified as a real positive semidefinite symmetric N-by-N matrix, where N is the dimension of state specified in the State property.

Data Types: single | double

Parameters of the track state reference frame, specified as a structure or a structure array. Use this property to define the track state reference frame and how to transform the track from the source coordinate system to the fuser coordinate system.

Object class identifier, specified as a nonnegative integer. This property distinguishes between different user-defined object types. For example, you can use 1 for objects of type "car", and 2 for objects of type "pedestrian". 0 is reserved for unknown classification.

If you specify this property as a nonzero integer, you can use the ObjectClassProbablities property to specify the classification probabilities.

Example: 3

Object classification probabilities of the track, specified as an N-element vector of nonnegative scalars. N is the total number of possible classes of the track. Each element must be a scalar in the range [0 1], and the sum of all elements must be equal to 1.The i-th element of the vector corresponds to the probability that the track belongs to the class i.

Example: [0.7 0.3]

Confirmation and deletion logic type, specified as:

  • 'History' – Track confirmation and deletion is based on the number of times the track has been assigned to a detection in the latest tracker updates.

  • 'Score' – Track confirmation and deletion is based on a log-likelihood track score. A high score means that the track is more likely to be valid. A low score means that the track is more likely to be a false alarm.

  • 'Integrated' – Track confirmation and deletion is based on the integrated probability of track existence.

The current state of the track logic type. Based on the logic type specified in the TrackLogic property, the logic state is specified as:

  • 'History' – A 1-by-M logical vector, where M is the number of latest track logical states recorded. true (1) values indicate hits, and false (0) values indicate misses. For example, [1 0 1 1 1] represents four hits and one miss in the last five updates. The default value for logic state is 1.

  • 'Score' – A 1-by-2 real-valued vector, [cs, ms]. cs is the current score, and ms is the maximum score. The default value is [0, 0].

  • 'Integrated' – A nonnegative scalar. The scalar represents the integrated probability of existence of the track. The default value is 0.5.

Indicate if the track is confirmed, specified as true or false.

Data Types: logical

Indicate if the track is coasted, specified as true or false. A track is coasted if its latest update is based on prediction instead of correction using detections.

Data Types: logical

Indicate if the track is self reported, specified as true or false. A track is self reported if it is reported from internal sources (senors, trackers, or fusers). To limit the propagation of rumors in a tracking system, use the value false if the track was updated by an external source.

Example: false

Data Types: logical

Object attributes passed by the tracker, specified as a structure.

Object Functions

toStructConvert objectTrack object to struct

Examples

collapse all

Create a report of a track using objectTrack.

x = (1:6)';
P = diag(1:6);
track = objectTrack('State',x,'StateCovariance',P);
disp(track)
  objectTrack with properties:

                     TrackID: 1
                    BranchID: 0
                 SourceIndex: 1
                  UpdateTime: 0
                         Age: 1
                       State: [6x1 double]
             StateCovariance: [6x6 double]
             StateParameters: [1x1 struct]
               ObjectClassID: 0
    ObjectClassProbabilities: 1
                  TrackLogic: 'History'
             TrackLogicState: 1
                 IsConfirmed: 1
                   IsCoasted: 0
              IsSelfReported: 1
            ObjectAttributes: [1x1 struct]

Extended Capabilities

Version History

Introduced in R2019b

expand all