@ALDAOperator(genericExecutionMode=NONE,
level=STANDARD)
public class MultiObservationTrackerRBMCDAIMM
extends MTBOperator
| Modifier and Type | Field and Description |
|---|---|
double |
delta_t |
String |
dotGraphFilename |
double |
essPercentage |
protected Vector<MultiState<MotionModelID>> |
groundtruthObservations |
protected Vector<MultiState<MotionModelID>> |
inputObservations |
double |
lambdaBirth |
double |
lambdaClutter |
double |
lambdaDeath |
double |
maxDistNeighbors |
int |
maxNumNeighbors |
Jama.Matrix |
modelTransition |
boolean |
noNeighborsOldAlgo |
int |
numSamples |
protected ObservationAdjacency |
obsAssocAdjacency |
protected Vector<MultiState<MotionModelID>> |
outputObservations |
double |
pDetect |
double |
qsize |
double |
qxy |
double |
qxy_ |
protected Random |
rand |
long |
randomSeed |
double |
rsize |
double |
rxy |
private RBMCDASampleInfo<MotionModelID>[] |
sampleInfo |
private double[] |
sampleJointProb |
double |
sqrtSizeMax |
double |
sqrtSizeMin |
DynamicColorLUT |
trackcolors |
double |
xMax |
double |
xMin |
double |
yMax |
double |
yMin |
| Constructor and Description |
|---|
MultiObservationTrackerRBMCDAIMM() |
| Modifier and Type | Method and Description |
|---|---|
Vector<MultiState<MotionModelID>> |
getOutputObservations()
Get a copy of the input observations with IDs set corresponding to the tracking results after GreedyGourmetPartitioning
of the track graph constructed from the RBMCDA samples.
|
double |
getSampleConditionalProb(int i,
int t)
Get the probability of the associations of
i-th sample at the time t conditional on previous associations and all
observations up to time t. |
RBMCDASampleInfo<MotionModelID> |
getSampleInfo(int i)
Get the sample info object of the i-th sample.
|
double |
getSampleJointProb(int i)
Get the joint probability of all associations of the
i-th sample conditional on all observations,
normalized by all samples' probabilities. |
double[] |
getSampleJointProbs()
Get the joint probability of all associations of all samples conditional on all observations,
normalized by all samples' probabilities.
|
Vector<MultiState<MotionModelID>> |
getSampleObservations(int i)
Get a copy of the observations with IDs set corresponding to the i-th sample's tracking results.
|
protected void |
operate() |
void |
setGroundtruthObservations(Vector<MultiState<MotionModelID>> groundtruthObservations) |
void |
setInputObservations(Vector<MultiState<MotionModelID>> inputObservations) |
readResolveaddOperatorExecutionProgressEventListener, addParameter, addParameter, addParameterUnconditioned, fieldContained, fireOperatorExecutionProgressEvent, getALDPortHashAccessKey, getConstructionMode, getDocumentation, getHidingMode, getInactiveParameterNames, getInInoutNames, getInInoutNames, getInNames, getInOutNames, getMissingRequiredInputs, getName, getNumParameters, getOutInoutNames, getOutNames, getParameter, getParameterDescriptor, getParameterDescriptorUnconditioned, getParameterNames, getParameterUnconditioned, getSupplementalNames, getVerbose, getVersion, handleOperatorExecutionProgressEvent, hasInOutParameters, hasParameter, isAnnotatedParameter, isConfigured, print, print, print, printInterface, printInterface, readHistory, reinitializeParameterDescriptors, removeOperatorExecutionProgressEventListener, removeParameter, runOp, runOp, runOp, setConstructionMode, setConstructionMode, setConstructionMode, setHidingMode, setName, setParameter, setParameterUnconditioned, setVerbose, toStringVerbose, unconfiguredItems, validate, validateCustom, validateGeneric, writeHistory, writeHistory, writeHistory@Parameter(label="inputObservations",
required=true,
direction=IN,
description="Input observations")
protected Vector<MultiState<MotionModelID>> inputObservations
@Parameter(label="groundtruthObservations",
required=false,
direction=IN,
description="groundtruth observations")
protected Vector<MultiState<MotionModelID>> groundtruthObservations
@Parameter(label="outputObservations",
required=false,
direction=OUT,
description="Output observations (MotionModelIDs set according to tracking results)")
protected Vector<MultiState<MotionModelID>> outputObservations
@Parameter(label="obsAssocAdjacency",
required=false,
direction=OUT,
description="Adjacency matrix of observation associations from all samples")
protected ObservationAdjacency obsAssocAdjacency
@Parameter(label="dotGraphFilename",
required=false,
direction=IN,
description="File to write the observation associations graph and computed subgraphs (tracks) to")
public String dotGraphFilename
@Parameter(label="pDetect",
required=true,
direction=IN,
description="Probability of detecting a target")
public double pDetect
@Parameter(label="lambdaBirth",
required=true,
direction=IN,
description="Mean/variance of the Poisson distribution of the number of newborn observed targets")
public double lambdaBirth
@Parameter(label="lambdaClutter",
required=true,
direction=IN,
description="Mean/variance of the Poisson distribution of the number of clutter observations")
public double lambdaClutter
@Parameter(label="lambdaDeath",
required=true,
direction=IN,
description="Parameter of the exponential distribution of the survival of nonassociated targets")
public double lambdaDeath
@Parameter(label="delta_t",
required=false,
direction=IN,
description="time interval between two frames")
public double delta_t
@Parameter(label="xMin",
required=true,
direction=IN,
description="x-min of the rectangular region where the observations reside in (e.g. for image creation)")
public double xMin
@Parameter(label="yMin",
required=true,
direction=IN,
description="y-min of the rectangular region where the observations reside in (e.g. for image creation)")
public double yMin
@Parameter(label="xMax",
required=true,
direction=IN,
description="x-max of the rectangular region where the observations reside in (e.g. for image creation)")
public double xMax
@Parameter(label="yMax",
required=true,
direction=IN,
description="y-max of the rectangular region where the observations reside in (e.g. for image creation)")
public double yMax
@Parameter(label="sqrtSizeMin",
required=true,
direction=IN,
description="Minimum sqrt(size) (third component of observation vector)")
public double sqrtSizeMin
@Parameter(label="sqrtSizeMax",
required=true,
direction=IN,
description="Maximum sqrt(size) (third component of observation vector)")
public double sqrtSizeMax
@Parameter(label="modelTransition",
required=true,
direction=IN,
description="A 2x2 markov matrix with probabilities of changing the dynamic models from time t-1 to t")
public Jama.Matrix modelTransition
@Parameter(label="qxy",
required=true,
direction=IN,
description="Variance of the current x-/y-position in the process noise covariance matrix")
public double qxy
@Parameter(label="qxy_",
required=true,
direction=IN,
description="Variance of the last x-/y-position in the process noise covariance matrix")
public double qxy_
@Parameter(label="qsize",
required=true,
direction=IN,
description="Variance of sqrt(size) in the process noise covariance matrix")
public double qsize
@Parameter(label="rxy",
required=true,
direction=IN,
description="Variance of the current x-/y-position in the measurement noise covariance matrix")
public double rxy
@Parameter(label="rsize",
required=true,
direction=IN,
description="Variance of sqrt(size) in the measurement noise covariance matrix")
public double rsize
@Parameter(label="numSamples",
required=true,
direction=IN,
description="The number RBMCDA samples")
public int numSamples
@Parameter(label="ESS percentage",
required=true,
direction=IN,
description="The percentage (range [0,1]) of number of samples below ESS to trigger resampling.")
public double essPercentage
@Parameter(label="No neighbors (old algo)",
required=true,
direction=IN,
description="Do not consider any neighbor observations and compute with old algo.")
public boolean noNeighborsOldAlgo
@Parameter(label="Max number of neighbors",
required=true,
direction=IN,
description="The maximum number of neighboring observations considered")
public int maxNumNeighbors
@Parameter(label="Max distance of neighbors",
required=true,
direction=IN,
description="The maximum number of neighboring observations considered")
public double maxDistNeighbors
@Parameter(label="randomSeed",
required=true,
direction=IN,
description="A seed for the random number generator")
public long randomSeed
protected Random rand
private double[] sampleJointProb
@Parameter(label="sampleInfo",
required=false,
direction=OUT,
description="Info objects about the RBMCDA samples")
private RBMCDASampleInfo<MotionModelID>[] sampleInfo
public DynamicColorLUT trackcolors
public MultiObservationTrackerRBMCDAIMM()
throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionpublic void setInputObservations(Vector<MultiState<MotionModelID>> inputObservations)
public void setGroundtruthObservations(Vector<MultiState<MotionModelID>> groundtruthObservations)
public Vector<MultiState<MotionModelID>> getOutputObservations()
protected void operate()
throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException,
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
operate in class de.unihalle.informatik.Alida.operator.ALDOperatorde.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionde.unihalle.informatik.Alida.exceptions.ALDProcessingDAGExceptionpublic double getSampleConditionalProb(int i,
int t)
i-th sample at the time t conditional on previous associations and all
observations up to time t.public double getSampleJointProb(int i)
i-th sample conditional on all observations,
normalized by all samples' probabilities.public double[] getSampleJointProbs()
public Vector<MultiState<MotionModelID>> getSampleObservations(int i)
getSampleInfo.public RBMCDASampleInfo<MotionModelID> getSampleInfo(int i)
getSampleObservations.Copyright © 2010–2020 Martin Luther University Halle-Wittenberg, Institute of Computer Science, Pattern Recognition and Bioinformatics. All rights reserved.