VAT  3.0
Video Analysis Tool
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Friends | List of all members
MobileObject2D Class Reference

Public Member Functions

 MobileObject2D (SpMobileObject2D)
 
void initUsedBlobs ()
 
void initInvolvedBlobs ()
 
void initMaps ()
 
void insertNewBlob (Blob *blob)
 
void insertNewBlob (Blob *blob, int lastMilliSecondsDifference)
 
void setMobileId (unsigned long i_id)
 
void setRMobileId (unsigned long i_id)
 
void setNewMobileFromBlob (Blob *blob, unsigned long mobile_id, unsigned long rmobile_id)
 
void setNumberOfFramesNotSeen (int num)
 
void incrementNumberOfFramesNotSeen ()
 
void incrementNumberOfFramesSinceFirstTimeSeen ()
 
void setGlobalProbability ()
 
Blob * determineMostLikelyBlob ()
 
unsigned long getMobileId ()
 
unsigned long getRMobileId ()
 
int getNumberOfFramesNotSeen ()
 
int getNumberOfFramesSinceFirstTimeSeen ()
 
double getGlobalProbability ()
 
void getMobileTolerances (double &, double &)
 
void updateMobilePath (Blob *blob)
 
void updateMobileData ()
 
double DimensionalCoherenceReliability (double sigma_dim, double min, double max)
 
double dimensional2DReliability (double blobW, double blobH)
 
double position2DReliability (double distance2D)
 
double get2DDistanceToFocalPoint (Blob *blob)
 
double get2DDistanceToFocalPoint (Rectangle< int > *rectangle)
 
double get2DDistanceToFocalPoint (double X, double Y)
 
bool mobile2DCoherenceIsAcceptable ()
 
bool mobile2DVelocityCoherenceIsAcceptable ()
 
void incorporateNewInformation ()
 
void incrementalUpdateCooling (int bufferSize)
 
void incrementalUpdateOrientation (int bufferSize, Shape3DData **data, DetectionProblemType *dpFlags, double *visualSupport)
 
void incrementalUpdate2DPosition (int bufferSize, Rectangle< int > *bboxesToAnalyze, DetectionProblemType *dpFlags, double *visualSupport, double maxDistanceFactor)
 
void incrementalUpdate2DDimensions (int bufferSize, Rectangle< int > *bboxesToAnalyze, DetectionProblemType *dpFlags, double *visualSupport, double maxDistanceFactor)
 
void getCurrentBoundingBoxForMobile (Rectangle< int > *bbox)
 
void getCurrentBoundingBoxForMobileKeepingSize (Rectangle< int > *bbox)
 
void improveBBoxSupport (Rectangle< int > *improvedBBox, Rectangle< int > *estimatedBBox, Rectangle< int > *visualEvidence)
 
bool mobileOutOfScene ()
 
void generateFirstClassifiedSequence ()
 
void generateMostCoherentSequence (std::deque< SpBlob >::iterator first_blob_it, int newBufferSize, int frame_index)
 
double probabilisticCoherenceReliability (double data, double mean, double sigma, double acuity)
 
double normalisedSigmaCoherenceReliability (double sigma, double acuity)
 
void setSpecialBBoxToAnalyze (Rectangle< int > *bboxResult, Rectangle< int > *realBBox, double visualSupport)
 
void setInitialNormalList (Blob *current_blob)
 

Static Public Member Functions

static double coolingFunction (double x)
 
static double NormalizeOrientation (double)
 
static double minimalAngularDistance (double alpha1, double alpha2)
 
static double NormalizeVelocityAngle (double)
 

Public Attributes

unsigned long mobile_id
 
unsigned long rmobile_id
 
ObjectType best_type
 
ObjectSubtype best_subtype
 
double P
 
bool ensureMode
 
bool productionMode
 
int numberOfFramesNotSeen
 
int numberOfFramesSinceFirstTimeSeen
 
int numberOfFound
 
int previousBufferSize
 
int currentBufferSize
 
Rectangle< int > * bboxesToAnalyze
 
double * visualSupport
 
DetectionProblemType * dpFlags
 
DetectionProblemType currentVisualState
 
bool * foundSupport
 
int debug_data_flag
 
double RFoundSolutions
 
double RVFoundSolutions
 
double P2D
 
double R2D
 
double PV2DC
 
double RV2DC
 
tracking2DimensionalData t2DDimData
 
tracking2DSpatialData t2DSpatialData
 
IncrementalExtraGeneralData2D iGData
 
IncrementalExtra2DData i2DData
 
blobBuffer blobHistory
 
Trajectory trajectory2D
 
bool * usedBlobs
 
int numUsed
 
int usedLength
 
bool * involvedBlobs
 
int numInvolved
 
bool accepted_solution
 
bool comparedMobile
 
bool toErase
 
std::deque< int > currentlyMergedBlobs
 

Static Public Attributes

static double ONE_OVER_SQRT_2_TIMES_PI = 1.0 / sqrt(2 * M_PI)
 
static QImage * m_pSegmentation = NULL
 
static int m_currentTrackingBlobsNumber = 0
 
static double m_lambda = 1000
 
static int m_blobsBufferSize = 5
 
static int m_trajectoryMaxSize = 0
 
static bool m_firstFrame = true
 
static double m_SpatialCoherenceReliabilityThreshold = 0.1
 
static double m_SpatialCoherenceProbabilityThreshold = 0.5
 
static double m_DimensionalCoherenceReliabilityThreshold = 0.1
 
static double m_DimensionalCoherenceProbabilityThreshold = 0.5
 
static double m_MinimalHistoryProbability
 
static double * secDiffSequence = NULL
 
static double * secDiffToCurrent = NULL
 
static double * coolingValue = NULL
 
static double m_probabilityToEnsureMode = 0.8
 
static double * g_secDiffSequence
 
static double * g_coolingValue
 
static double * g_secDiffToCurrent
 
static tracking2DimensionalData * g_t2DDimData
 
static tracking2DSpatialData * g_t2DSpatialData
 
static IncrementalExtraGeneralData2D * g_iGData
 
static IncrementalExtra2DData * g_i2DData
 
static Rectangle< int > * g_newBBoxesToAnalyze
 
static double * g_newVisualSupport
 
static DetectionProblemType * g_newDPFlags
 
static int g_currentBufferSize
 
static double zeroTolerance = 0.00001
 
static double m_minimalTolerance = 4
 
static int m_pixelAcuity = 3
 
static double m_max2DSpeed = 100
 
static double m_reliableObjectLength = 50
 

Friends

std::ostream & operator<< (std::ostream &, SpMobileObject2D)
 

The documentation for this class was generated from the following files: