|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.unihalle.informatik.MiToBo.tracking.multitarget.algo.MultiTargetIMMFilter
public class MultiTargetIMMFilter
Multi-target Interacting Multiple Models (IMM) filter for varying number of targets.
Field Summary | |
---|---|
protected double |
delta_t
|
protected AbstractMultiStateFactory<MotionModelID> |
factoryX
|
protected AbstractMultiStateFactory<MotionModelID> |
factoryZ
|
protected Jama.Matrix |
markov
Markov matrix probability of dynamic model switching: A matrix with size (#dynamicmodels x #dynamicmodels). |
protected AbstractMultiState<MotionModelID> |
meanX
|
protected GaussMixDistribution |
newbornStateDistrib
|
protected Jama.Matrix |
newbornStateFromObs
|
private MultiObsDistributionIndepGaussMix<MotionModelID> |
p_obs
|
protected ExponentialDistribution |
pdeath
|
protected java.util.Vector<GaussMixDistribution> |
pobs
observation distribution: independent Gaussian mixtures for each target |
protected LinearTransformGaussNoise[] |
predictors
dynamic models |
protected LinearTransformGaussNoise |
projector
observation model |
protected java.util.Vector<GaussMixDistribution> |
pstate
state distribution: independent Gaussian mixtures for each target |
protected java.util.Random |
rand
|
protected java.util.HashMap<java.lang.Short,java.lang.Integer> |
targetIDtoIdx
|
Constructor Summary | |
---|---|
MultiTargetIMMFilter(MultiTargetIMMFilter imm)
Copy constructor. |
|
MultiTargetIMMFilter(java.util.Vector<GaussMixDistribution> initialStateDistrib,
LinearTransformGaussNoise observationModel,
LinearTransformGaussNoise[] dynamicsModels,
Jama.Matrix markov,
double delta_t,
ExponentialDistribution targetDeathDistrib,
GaussMixDistribution newbornStateDistrib,
Jama.Matrix stateFromObs,
AbstractMultiStateFactory<MotionModelID> factoryX,
AbstractMultiStateFactory<MotionModelID> factoryZ)
Constructor that initializes the internal random generator with seed 1. |
|
MultiTargetIMMFilter(java.util.Vector<GaussMixDistribution> initialStateDistrib,
LinearTransformGaussNoise observationModel,
LinearTransformGaussNoise[] dynamicsModels,
Jama.Matrix markov,
double delta_t,
ExponentialDistribution targetDeathDistrib,
GaussMixDistribution newbornStateDistrib,
Jama.Matrix stateFromObs,
AbstractMultiStateFactory<MotionModelID> factoryX,
AbstractMultiStateFactory<MotionModelID> factoryZ,
java.util.Random rand)
Constructor. |
Method Summary | |
---|---|
MultiTargetPredictionFilterIndep<MotionModelID> |
copy()
|
java.util.Set<java.lang.Short> |
getExistingTargetIDs()
|
AbstractMultiState<MotionModelID> |
getMean()
|
AbstractMultiObservationDistributionIndep<MotionModelID,MotionModelID> |
getObservationDistribution()
|
protected void |
letTargetsDie()
Let targets die randomly using the specified distribution of target death and the internal random generator. |
void |
predict()
Prediction step method |
void |
update(AbstractMultiState<MotionModelID> observation,
DataAssociation association)
Update step method given a multi-target observation |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected double delta_t
protected AbstractMultiStateFactory<MotionModelID> factoryX
protected AbstractMultiStateFactory<MotionModelID> factoryZ
protected Jama.Matrix markov
protected AbstractMultiState<MotionModelID> meanX
protected GaussMixDistribution newbornStateDistrib
protected Jama.Matrix newbornStateFromObs
private MultiObsDistributionIndepGaussMix<MotionModelID> p_obs
protected ExponentialDistribution pdeath
protected java.util.Vector<GaussMixDistribution> pobs
protected LinearTransformGaussNoise[] predictors
protected LinearTransformGaussNoise projector
protected java.util.Vector<GaussMixDistribution> pstate
protected java.util.Random rand
protected java.util.HashMap<java.lang.Short,java.lang.Integer> targetIDtoIdx
Constructor Detail |
---|
public MultiTargetIMMFilter(MultiTargetIMMFilter imm)
public MultiTargetIMMFilter(java.util.Vector<GaussMixDistribution> initialStateDistrib, LinearTransformGaussNoise observationModel, LinearTransformGaussNoise[] dynamicsModels, Jama.Matrix markov, double delta_t, ExponentialDistribution targetDeathDistrib, GaussMixDistribution newbornStateDistrib, Jama.Matrix stateFromObs, AbstractMultiStateFactory<MotionModelID> factoryX, AbstractMultiStateFactory<MotionModelID> factoryZ)
initialStateDistrib
- distributions of the different independent targets' statesobservationModel
- observation modeldynamicsModels
- multiple dynamic modelsmarkov
- model transition matrix: each column holds the probabilities to switch from the dynamic model of column-index to the corresponding model of row-indexdelta_t
- time steptargetDeathDistrib
- distribution of the death/survival of targets depending on last time of associationnewbornStateDistrib
- distribution of newborn targetsstateFromObs
- a matrix to transform an observation (vector) to a state vectorfactoryX
- multi-state factoryfactoryZ
- multi-observation factorypublic MultiTargetIMMFilter(java.util.Vector<GaussMixDistribution> initialStateDistrib, LinearTransformGaussNoise observationModel, LinearTransformGaussNoise[] dynamicsModels, Jama.Matrix markov, double delta_t, ExponentialDistribution targetDeathDistrib, GaussMixDistribution newbornStateDistrib, Jama.Matrix stateFromObs, AbstractMultiStateFactory<MotionModelID> factoryX, AbstractMultiStateFactory<MotionModelID> factoryZ, java.util.Random rand)
initialStateDistrib
- distributions of the different independent targets' statesobservationModel
- observation modeldynamicsModels
- multiple dynamic modelsmarkov
- model transition matrix: each column holds the probabilities to switch from the dynamic model of column-index to the corresponding model of row-indexdelta_t
- time steptargetDeathDistrib
- distribution of the death/survival of targets depending on last time of associationnewbornStateDistrib
- distribution of newborn targetsstateFromObs
- a matrix to transform an observation (vector) to a state vectorfactoryX
- multi-state factoryfactoryZ
- multi-observation factoryrand
- random generatorMethod Detail |
---|
public MultiTargetPredictionFilterIndep<MotionModelID> copy()
copy
in interface MultiTargetPredictionFilterIndep<MotionModelID>
copy
in interface Copyable<MultiTargetPredictionFilter<AbstractMultiState<MotionModelID>>>
public java.util.Set<java.lang.Short> getExistingTargetIDs()
public AbstractMultiState<MotionModelID> getMean()
getMean
in interface FirstOrderMoment<AbstractMultiState<MotionModelID>>
public AbstractMultiObservationDistributionIndep<MotionModelID,MotionModelID> getObservationDistribution()
getObservationDistribution
in interface MultiTargetPredictionFilterIndep<MotionModelID>
protected void letTargetsDie()
public void predict()
MultiTargetPredictionFilter
predict
in interface MultiTargetPredictionFilter<AbstractMultiState<MotionModelID>>
public void update(AbstractMultiState<MotionModelID> observation, DataAssociation association)
MultiTargetPredictionFilter
update
in interface MultiTargetPredictionFilter<AbstractMultiState<MotionModelID>>
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |