# initcvimm

## Description

initializes a `imm`

= initcvimm(`detection`

)`trackingIMM`

object with two constant velocity models based on the information provided in
`detection`

. The first model assumes a smooth trajectory and uses low
process noise. The second model assumes a maneuvering trajectory and uses high process
noise. For more details, see Algorithms and `trackingIMM`

.

## Examples

## Input Arguments

## Output Arguments

## Algorithms

The function initializes a

`trackingIMM`

object. The state of the filter is defined as [*x*;*v*_{x};*y*;*v*_{y};*z*;*v*_{z}], where*x*,*y*, and*z*are the position coordinates and*v*_{x},*v*_{y}, and*v*_{z}are the corresponding velocities.The

`TrackingFilters`

property of the initialized`trackingIMM`

object contains these tracking filters.The first filter is a

`trackingEKF`

object based on the constant velocity motion model. The`ProcessNoise`

property of the filter is set to`0.04*eye(3)`

m/s^{2}. The rest of the filter properties are initialized by using the`initcvekf`

function. See the Algorithm section of the`initcvekf`

function page for more details.The second filter is the same as the first filter except its

`ProcessNoise`

property is set to`100*eye(3)`

m/s^{2}.

You can use this function as the

`FilterInitializationFcn`

property of a tracker object such as the`trackerGNN`

object.

## Extended Capabilities

## Version History

**Introduced in R2023b**