|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.unihalle.informatik.MiToBo.tracking.multitarget.distributions.abstracts.AbstractAssociationDistribution<S,T>
de.unihalle.informatik.MiToBo.tracking.multitarget.distributions.impl.AssociationDistribution<S,T>
de.unihalle.informatik.MiToBo.tracking.multitarget.distributions.impl.AssociationDistributionNN<S,T>
S
- Type of discrete variables in the multi target observationT
- Type of discrete variables in the multi target statepublic class AssociationDistributionNN<S extends TargetID,T extends TargetID>
Association distribution to sample association variables for a set of observations based
on a model of how observations are formed.
Observations are comprised from existing targets that are detected with probability P_D
,
a number of observations of newborn targets distributed according to a distribution nu
and a number of clutter observations distributed according to a distribution mu
.
The association variables of the individual observations are sampled sequentially and
their distributions are assumed to depend on the likelihood of the current observation
for a specific realization of the association variable and the probability of the association variable
given all previous associations. Furthermore the likelihood of nearby observations is considered. The
number of the considered neighboring observations can be controlled by a maximum number as well as a
maximum Euklidean distance. Keep the combinatorial problem in mind that explodes when the number of
considered neighbors increases!!
Nested Class Summary | |
---|---|
static class |
AssociationDistributionNN.AType
|
private class |
AssociationDistributionNN.ObsDistance
|
private class |
AssociationDistributionNN.ProbTreeData
|
Field Summary | |
---|---|
protected AssociationDistributionNN.ObsDistance[][] |
kNearestObs
Stores for each observation the k-nearest observations that will be associated after the corresponding observation. |
protected LogFaculty |
logFac
An object to compute and store log(n!) |
protected double |
maxDistNeighbors
Maximum distance of neighboring observations |
protected int |
maxNumNeighbors
Maximum number of neighboring observations |
Fields inherited from class de.unihalle.informatik.MiToBo.tracking.multitarget.distributions.impl.AssociationDistribution |
---|
chi, lastM, lastN, lastSample, logBinom, logMuValues, logNuValues, logP_C, logP_MN, M_max, minMN, mu, newtargetID, nu, P_D, phi_0, phi_1, psi |
Fields inherited from class de.unihalle.informatik.MiToBo.tracking.multitarget.distributions.abstracts.AbstractAssociationDistribution |
---|
assocfactory, clutterdistrib, log_pzc, M, N, newborndistrib, obsdistrib, rand, Z |
Constructor Summary | |
---|---|
AssociationDistributionNN(java.util.Random rand,
AbstractMultiState<S> Z,
AbstractMultiObservationDistributionIndep<S,T> observationDistrib,
LogProbabilityDensityFunction spatialClutterDistrib,
LogProbabilityDensityFunction spatialNewbornDistrib,
LogProbabilityMassFunction mu,
LogProbabilityMassFunction nu,
double P_D,
int maxNumNeighbors,
double maxDistNeighbors)
Constructor. |
|
AssociationDistributionNN(java.util.Random rand,
AbstractMultiState<S> Z,
AbstractMultiObservationDistributionIndep<S,T> observationDistrib,
LogProbabilityDensityFunction spatialClutterDistrib,
LogProbabilityDensityFunction spatialNewbornDistrib,
LogProbabilityMassFunction mu,
LogProbabilityMassFunction nu,
double P_D,
int M_max,
int maxNumNeighbors,
double maxDistNeighbors)
Constructor where the maximum number of observations in the time series is specified to avoid some re-computations. |
Method Summary | |
---|---|
private double |
compute_pczAhead(MTBTreeNode pcTree,
java.util.Vector<java.lang.Integer> availableTargets,
java.util.Stack<java.lang.Integer> observations)
Compute probability of all possible associations of neighboring observations including their likelihood |
private MTBTreeNode |
compute_qAhead(int m,
int mmax,
int kmin,
int bmin,
double logPc_previous,
MTBTreeNode subtree)
Compute tree of data association prior probabilities depending on previous associations. |
DataAssociation |
drawSample()
Generate a new sample from this density. |
DataAssociation |
drawSampleDebug(DataAssociation groundtruth,
java.io.OutputStream ostream)
|
protected AssociationDistributionNN.ObsDistance[][] |
kNearestObservations(int maxNumNeighbors,
double maxDistNeighbors)
Get the (k) nearest observations for each observation in this.Z, i.e. for each observation z_m all following observations z_{m:M} are sorted by Euklidean distance and stored in an array. |
void |
setNewObservations(AbstractMultiState<S> Z,
AbstractMultiObservationDistributionIndep<S,T> observationDistrib)
|
Methods inherited from class de.unihalle.informatik.MiToBo.tracking.multitarget.distributions.impl.AssociationDistribution |
---|
letNewbornTargetIDsStartFrom, log_p, p, reset |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected AssociationDistributionNN.ObsDistance[][] kNearestObs
protected LogFaculty logFac
protected double maxDistNeighbors
protected int maxNumNeighbors
Constructor Detail |
---|
public AssociationDistributionNN(java.util.Random rand, AbstractMultiState<S> Z, AbstractMultiObservationDistributionIndep<S,T> observationDistrib, LogProbabilityDensityFunction spatialClutterDistrib, LogProbabilityDensityFunction spatialNewbornDistrib, LogProbabilityMassFunction mu, LogProbabilityMassFunction nu, double P_D, int maxNumNeighbors, double maxDistNeighbors)
rand
- random generator for samplingZ
- the current observationsobservationDistrib
- distribution of the observations modelspatialClutterDistrib
- spatial distribution of possible clutter appearancespatialNewbornDistrib
- spatial distribution of possible newborn appearancemu
- distribution of the number of clutter observationsnu
- distribution of the number of observations from newborn targetsP_D
- probability of target detectionmaxNumNeighbors
- maximum number of neighboring observations to be considered for each associationmaxDistNeighbors
- maximum Euklidean distance of neighboring observations to be considered for each associationpublic AssociationDistributionNN(java.util.Random rand, AbstractMultiState<S> Z, AbstractMultiObservationDistributionIndep<S,T> observationDistrib, LogProbabilityDensityFunction spatialClutterDistrib, LogProbabilityDensityFunction spatialNewbornDistrib, LogProbabilityMassFunction mu, LogProbabilityMassFunction nu, double P_D, int M_max, int maxNumNeighbors, double maxDistNeighbors)
rand
- random generator for samplingZ
- the current observationsobservationDistrib
- distribution of the observations modelspatialClutterDistrib
- spatial distribution of possible clutter appearancespatialNewbornDistrib
- spatial distribution of possible newborn appearancemu
- distribution of the number of clutter observationsnu
- distribution of the number of observations from newborn targetsP_D
- probability of target detectionmaxNumNeighbors
- maximum number of neighboring observations to be considered for each associationmaxDistNeighbors
- maximum Euklidean distance of neighboring observations to be considered for each associationM_max
- maximum number of observations in the time seriesMethod Detail |
---|
private double compute_pczAhead(MTBTreeNode pcTree, java.util.Vector<java.lang.Integer> availableTargets, java.util.Stack<java.lang.Integer> observations)
pcTree
- availableTargets
- observations
-
private MTBTreeNode compute_qAhead(int m, int mmax, int kmin, int bmin, double logPc_previous, MTBTreeNode subtree)
m
- mmax
- kmin
- bmin
- logPc_previous
- subtree
-
public DataAssociation drawSample()
SamplingDistribution
drawSample
in interface SamplingDistribution<DataAssociation>
drawSample
in class AssociationDistribution<S extends TargetID,T extends TargetID>
public DataAssociation drawSampleDebug(DataAssociation groundtruth, java.io.OutputStream ostream)
drawSampleDebug
in class AssociationDistribution<S extends TargetID,T extends TargetID>
protected AssociationDistributionNN.ObsDistance[][] kNearestObservations(int maxNumNeighbors, double maxDistNeighbors)
k
is larger 0
only the k-nearest observations are returned, if maxDist
is larger 0 only observations in that range
are returned. Both parameters may be specified.
public void setNewObservations(AbstractMultiState<S> Z, AbstractMultiObservationDistributionIndep<S,T> observationDistrib)
setNewObservations
in class AssociationDistribution<S extends TargetID,T extends TargetID>
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |