trackingIMM
Interacting multiple model (IMM) filter for object tracking
Description
The trackingIMM
object represents an interacting multiple model
(IMM) filter designed for tracking objects that are highly maneuverable. Use the filter to
predict the future location of an object, to reduce noise in the detected location, or help
associate multiple object detections with their tracks.
The IMM filter deals with the multiple motion models in the Bayesian framework. This method resolves the target motion uncertainty by using multiple models at a time for a maneuvering target. The IMM algorithm processes all the models simultaneously and switches between models according to their updated weights.
Creation
Syntax
Description
returns an IMM filter
object with default tracking filters
imm
= trackingIMM{trackingEKF,trackingEKF,trackingEKF}
with the motion models set as
constant velocity, constant acceleration, and constant turn, respectively. The filter
uses the default conversion function, @switchimm
.
specifies the TrackingFilters property and sets all other properties to default values. imm
= trackingIMM(trackingFilters
)
also specifies the ModelConversionFcn property.imm
= trackingIMM(trackingFilters
,modelConversionFcn
)
also specifies the TransitionProbabilities property.imm
= trackingIMM(trackingFilters
,modelConversionFcn
,transitionProbabilities
)
specifies the properties of the filter using one or more imm
= trackingIMM(___,Name,Value)Name,Value
pair arguments. Any unspecified properties take default values. Specify any other input
arguments from previous syntaxes first.
Properties
Object Functions
predict | Predict state and state estimation error covariance of tracking filter |
correct | Correct state and state estimation error covariance using tracking filter |
correctjpda | Correct state and state estimation error covariance using tracking filter and JPDA |
distance | Distances between current and predicted measurements of tracking filter |
likelihood | Likelihood of measurement from tracking filter |
clone | Create duplicate tracking filter |
initialize | Initialize state and covariance of tracking filter |
smooth | Backward smooth state estimates of
trackingIMM filter |
retrodict | Retrodict filter to previous time step |
retroCorrect | Correct filter with OOSM using retrodiction |
retroCorrectJPDA | Correct tracking filter with OOSMs using JPDA-based algorithm |
tunableProperties | Get tunable properties of filter |
setTunedProperties | Set properties to tuned values |
setMeasurementSizes | Sets the sizes of the measurement and measurement noise |
Examples
References
[1] Bar-Shalom, Yaakov, Peter K. Willett, and Xin Tian. Tracking and data fusion. Storrs, CT, USA:: YBS publishing, 2011.
[2] Blackman, Samuel, and Robert Popoli. "Design and analysis of modern tracking systems." Norwood, MA: Artech House, 1999.
Extended Capabilities
Version History
Introduced in R2018bSee Also
trackingKF
| trackingEKF
| trackingUKF
| trackingCKF
| trackingGSF
| constvel
| constacc
| constturn