de.unihalle.informatik.MiToBo.tracking.multitarget.algo
Class MultiObservationGenerator
java.lang.Object
de.unihalle.informatik.Alida.operator.ALDOperator
de.unihalle.informatik.MiToBo.tracking.multitarget.algo.MultiObservationGenerator
- All Implemented Interfaces:
- de.unihalle.informatik.Alida.datatypes.ALDConfigurationValidator
@ALDAOperator(genericExecutionMode=NONE,
level=STANDARD)
public class MultiObservationGenerator
- extends de.unihalle.informatik.Alida.operator.ALDOperator
Operator to create a (time) series of observations which can be used for evaluation of multi target tracking algorithms.
- Author:
- Oliver Gress
Nested classes/interfaces inherited from class de.unihalle.informatik.Alida.operator.ALDOperator |
de.unihalle.informatik.Alida.operator.ALDOperator.HidingMode |
Fields inherited from class de.unihalle.informatik.Alida.operator.ALDOperator |
completeDAG, name, portHashAccess, verbose, versionProvider |
Methods inherited from class de.unihalle.informatik.Alida.operator.ALDOperator |
deserializeFromXmlFile, fieldContained, getALDPortHashAccessKey, getConstructionMode, getInInoutNames, getInInoutNames, getInNames, getInOutNames, getMissingRequiredInputs, getName, getNumParameters, getOutInoutNames, getOutNames, getParameter, getParameterDescriptor, getParameterNames, getSupplementalNames, getVerbose, getVersion, isConfigured, parametersToXmlObject, print, print, print, printInterface, printInterface, readHistory, readResolve, reinitializeParameterDescriptors, runOp, runOp, runOp, serializeToXmlFile, setConstructionMode, setName, setParameter, setParametersFromXml, setParametersFromXml, setVerbose, toStringVerbose, unconfiguredItems, validate, validateCustom, validateGeneric, writeHistory, writeHistory, writeHistory, writeParametersToXml |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
delta_t
@Parameter(label="delta_t",
required=false,
direction=IN,
description="time interval between two frames")
public double delta_t
genInfo
@Parameter(label="genInfo",
required=false,
direction=OUT,
description="Information about the generated observations")
public MultiObservationGenerator.GeneratorInfo genInfo
lambdaBirth
@Parameter(label="lambdaBirth",
required=true,
direction=IN,
description="Mean/variance of the Poisson distribution of the number of newborn targets")
public double lambdaBirth
lambdaClutter
@Parameter(label="lambdaClutter",
required=true,
direction=IN,
description="Mean/variance of the Poisson distribution of the number of clutter observations")
public double lambdaClutter
lambdaDeath
@Parameter(label="lambdaDeath",
required=true,
direction=IN,
description="Parameter of the exponential distribution of the survival of nonassociated targets")
public double lambdaDeath
maxTargetID
public int maxTargetID
modelTransition
@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
nInitialTargets
@Parameter(label="nInitialTargets",
required=true,
direction=IN,
description="Number of initial targets")
public short nInitialTargets
nTimesteps
@Parameter(label="nTimesteps",
required=true,
direction=IN,
description="Number of time steps (frames)")
public int nTimesteps
observations
@Parameter(label="observations",
required=false,
direction=OUT,
description="Generated observations")
protected java.util.Vector<MultiState<MotionModelID>> observations
Pdeath
protected ExponentialDistribution Pdeath
pDetect
@Parameter(label="pDetect",
required=true,
direction=IN,
description="Probability of detecting a target")
public double pDetect
qsize
@Parameter(label="qsize",
required=true,
direction=IN,
description="Variance of sqrt(size) in the process noise covariance matrix")
public double qsize
qxy
@Parameter(label="qxy",
required=true,
direction=IN,
description="Variance of the current x-/y-position in the process noise covariance matrix")
public double qxy
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_
rand
protected java.util.Random rand
randomSeed
@Parameter(label="randomSeed",
required=true,
direction=IN,
description="A seed for the random number generator")
public long randomSeed
rsize
@Parameter(label="rsize",
required=true,
direction=IN,
description="Variance of sqrt(size) in the measurement noise covariance matrix")
public double rsize
rxy
@Parameter(label="rxy",
required=true,
direction=IN,
description="Variance of the current x-/y-position in the measurement noise covariance matrix")
public double rxy
sqrtSizeMax
@Parameter(label="maxSqrtSize",
required=true,
direction=IN,
description="Maximum sqrt(size) for newborn observations")
public double sqrtSizeMax
sqrtSizeMin
@Parameter(label="minSqrtSize",
required=true,
direction=IN,
description="Minimum radius for newborn observations")
public double sqrtSizeMin
xMax
@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
xMin
@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
yMax
@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
yMin
@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
MultiObservationGenerator
public MultiObservationGenerator()
throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
- Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
createDynamicModels
protected LinearTransformGaussNoise[] createDynamicModels()
createInitialStates
protected MultiState<MotionModelID> createInitialStates()
createObservationModel
protected LinearTransformGaussNoise createObservationModel()
generateNextStates
protected MultiState<MotionModelID> generateNextStates(MultiState<MotionModelID> X,
LinearTransformGaussNoise[] dynamicModels)
generateObservations
protected MultiState<MotionModelID> generateObservations(MultiState<MotionModelID> states,
LinearTransformGaussNoise obsModel,
MultiStateFactory<MotionModelID> obsFactory)
getObservations
public java.util.Vector<MultiState<MotionModelID>> getObservations()
obsConflict
protected boolean obsConflict(Jama.Matrix z,
MultiState<MotionModelID> Z)
operate
protected void operate()
throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException,
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
- Specified by:
operate
in class de.unihalle.informatik.Alida.operator.ALDOperator
- Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
stateConflict
protected boolean stateConflict(Jama.Matrix x,
MultiState<MotionModelID> X)