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

Public Member Functions

 MobileObject (SpMobileObject)
 
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 ()
 
BlobdetermineMostLikelyBlob ()
 
unsigned long getMobileId ()
 
unsigned long getRMobileId ()
 
ObjectType getBestType ()
 
ObjectSubtype getBestSubType ()
 
int getNumberOfFramesNotSeen ()
 
int getNumberOfFramesSinceFirstTimeSeen ()
 
double getGlobalProbability ()
 
void velocityMagnitudeAccordingToModels (Shape3DData *s3d)
 
double velocityAngleAccordingToEntranceToScene (Shape3DData *s3d)
 
void setAprioriVelocity (Shape3DData *s3d)
 
void updateMobilePath (Blob *blob)
 
void updateMobileData ()
 
double DimensionalCoherenceReliability (double sigma_dim, double min, double max)
 
Shape3DData ** getS3DBufferToAnalyze (ObjectType type)
 
Shape3DData ** getS3DBufferToAnalyzeByIndex (int index)
 
Shape3DDatagetS3DToAnalyze (ObjectType type, int frame)
 
Shape3DDatagetS3DToAnalyzeByIndex (int index, int frame)
 
void setS3DToAnalyzeByIndex (int index, int frame, Shape3DData *s3d)
 
void insertS3DToAnalyzeByIndex (int index, Shape3DData *s3d)
 
Shape3DDatagetRightS3D (std::map< ObjectType, Shape3DData > *list, ObjectType type)
 
Shape3DDatagetBestPostureCoherentS3DReclassifying (Blob *blob, std::map< ObjectType, Shape3DData > *normal, std::map< ObjectType, Shape3DData > *occ, ObjectType type)
 
double dimensional2DReliability (double distance2D, double blobW, double blobH)
 
double position2DReliability (double distance2D)
 
double get2DDistanceToFocalPoint (Blob *blob)
 
double get2DDistanceToFocalPoint (Rectangle< int > *rectangle)
 
double get2DDistanceToFocalPoint (double X, double Y)
 
bool mobile3DCoherenceIsAcceptable ()
 
bool mobile2DCoherenceIsAcceptable ()
 
bool mobile3DVelocityCoherenceIsAcceptable ()
 
Shape3DDatagetMostCoherentDataFromMobileAndBBoxLimit (std::map< ObjectType, Shape3DData > *normal, std::map< ObjectType, Shape3DData > *occ, Blob *blob)
 
void initPostureLimits (ObjectType type)
 
void freePostureLimits ()
 
void updateBestType3DInformation ()
 
void incrementalUpdateCooling (int bufferSize)
 
void incrementalUpdateOrientation (int bufferSize, Shape3DData **data, DetectionProblemType *dpFlags, double *visualSupport)
 
void incrementalUpdate3DDimensions (int bufferSize, Shape3DData **data, DetectionProblemType *dpFlags, double *visualSupport)
 
void incrementalUpdate3DPosition (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)
 
void generateS3DFrom3DInformation (Shape3DData *outS3D)
 
bool mobileOutOfScene ()
 
void generateFirstClassifiedSequence ()
 
void setBestS3DSequence (std::deque< SpBlob >::iterator first_blob_it, int frame_index, int newBufferSize)
 
void generateMostCoherentS3DSequence (std::deque< SpBlob >::iterator first_blob_it, Shape3DData *firstClassified, int newBufferSize, int frame_index, ObjectType current_type, int current_index)
 
double probabilisticCoherenceReliability (double data, double mean, double sigma, double acuity)
 
double initialSDEstimateFor2DHorizontalAttribute ()
 
double initialSDEstimateFor2DVerticalAttribute ()
 
void setSpecialBBoxToAnalyze (Rectangle< int > *bboxResult, Rectangle< int > *realBBox, double visualSupport)
 
void setInitialNormalList (Blob *current_blob)
 
bool coherentWithRespectOfCurrent3DInformation (Shape3DData *s3d)
 
void repositionS3D (Shape3DData *s3d, double x, double y)
 
void orient3DModel (Shape3DData *improved3DInfo, Rectangle< int > *improvedBBox, DetectionProblemType dptype)
 
Shape3DDatagenerateBestLikelyS3D (Blob *blob, ObjectType type)
 
Shape3DDatagetBestS3D (bool &lastUnknown, Blob *current_blob)
 
void getMobile3DTolerances (double *Wtol, double *Htol)
 

Static Public Member Functions

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

Public Attributes

bool ensureMode
 
bool productionMode
 
bool lastUnknown
 
bool * lastKnownPerType
 
int best_index
 
int numberOfFramesNotSeen
 
int numberOfFramesSinceFirstTimeSeen
 
int previousBufferSize
 
int currentBufferSize
 
Shape3DData ** s3dsToAnalyzeAllTypes
 
Shape3DData ** s3dsToAnalyze
 
info3Di3D
 
Rectangle< int > * bboxesToAnalyze
 
double * visualSupport
 
DetectionProblemType * dpFlags
 
DetectionProblemType currentVisualState
 
bool * classifiedS3ds
 
bool * foundS3ds
 
double * PSumPerType
 
int debug_data_flag
 
int numberOfClassifiedS3ds
 
int numberOfFoundS3ds
 
double RKnownSolutions
 
double RVKnownSolutions
 
double RFoundSolutions
 
double RVFoundSolutions
 
double P2D
 
double R2D
 
double P3D
 
double R3D
 
double PVC
 
double RVC
 
double PV2DC
 
double RV2DC
 
double current_min_w_model
 
double current_max_w_model
 
double current_min_l_model
 
double current_max_l_model
 
double current_min_h_model
 
double current_max_h_model
 
double current_min_velocity_model
 
double current_max_velocity_model
 
tracking3DimensionalData t3DDimData
 
tracking2DimensionalData t2DDimData
 
tracking3DSpatialData t3DSpatialData
 
tracking2DSpatialData t2DSpatialData
 
IncrementalExtraGeneralData iGData
 
IncrementalExtra2DData i2DData
 
IncrementalExtra3DData i3DData
 
blobBuffer blobHistory
 
Trajectory trajectory3D
 
Trajectory trajectory2D
 
bool * usedBlobs
 
int numUsed
 
bool * involvedBlobs
 
int numInvolved
 
bool accepted_solution
 
std::map< ObjectType, ObjectSubtype > lastFoundSubtype
 
int unknownsNumber
 
bool classificationAllowed
 
bool comparedMobile
 
bool toErase
 

Static Public Attributes

static double ONE_OVER_SQRT_2_TIMES_PI = 1.0 / sqrt(2 * M_PI)
 
static SceneModelm_context = NULL
 
static ReliabilityClassificationm_rc = NULL
 
static QImage * m_pSegmentation = NULL
 
static double m_maxSpeed = 5000
 
static double m_maxKnownSpeed = 5000
 
static int m_currentTrackingBlobsNumber = 0
 
static double m_lambda = 1000
 
static int m_blobsBufferSize = 5
 
static int m_trajectoryMaxSize = 0
 
static double m_knownSolutionThreshold = 0.5
 
static std::map< ObjectType, bool > rigidModel
 
static std::map< ObjectType, int > objectModelMap
 
static std::map< ObjectType, std::map< ObjectSubtype, int > > objectSubModelMap
 
static SpModelInterface * objectModelsList = NULL
 
static SpModelInterface ** objectSubModelsList = NULL
 
static double ** objectSubModelMinWidth = NULL
 
static double ** objectSubModelMeanWidth = NULL
 
static double ** objectSubModelMaxWidth = NULL
 
static double ** objectSubModelMinLength = NULL
 
static double ** objectSubModelMeanLength = NULL
 
static double ** objectSubModelMaxLength = NULL
 
static double ** objectSubModelMinHeight = NULL
 
static double ** objectSubModelMeanHeight = NULL
 
static double ** objectSubModelMaxHeight = NULL
 
static double ** objectSubModelMinVelocity = NULL
 
static double ** objectSubModelMeanVelocity = NULL
 
static double ** objectSubModelMaxVelocity = NULL
 
static double * objectModelMinWidth = NULL
 
static double * objectModelMeanWidth = NULL
 
static double * objectModelMaxWidth = NULL
 
static double * objectModelMinLength = NULL
 
static double * objectModelMeanLength = NULL
 
static double * objectModelMaxLength = NULL
 
static double * objectModelMinHeight = NULL
 
static double * objectModelMeanHeight = NULL
 
static double * objectModelMaxHeight = NULL
 
static double * objectModelMinVelocity = NULL
 
static double * objectModelMeanVelocity = NULL
 
static double * objectModelMaxVelocity = NULL
 
static int m_objectModelsNumber = 0
 
static bool m_firstFrame = true
 
static int m_numberOfPostures
 
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 m_Maximal3DDimensionChangeSpeed = 244.0
 
static std::map< ObjectType, ObjectSubtype > lastFoundSubtypeTemplate
 
static double m_classifThreshold = 0.0
 
static double m_maximalAlphaRotationSpeed = 19.6349540849362077417350480601
 
static double * secDiffSequence = NULL
 
static double * secDiffToCurrent = NULL
 
static double * coolingValue = NULL
 
static double m_maxFocalDistance = 0.0
 
static double m_objectSizeForMaxReliability = 0.0
 
static double m_objectDimensionForMaxReliability = 0.0
 
static double m_objectDistanceForMaxReliability = 0.0
 
static double * g_postureMinw = NULL
 
static double * g_postureMinl = NULL
 
static double * g_postureMinh = NULL
 
static double * g_postureMeanw = NULL
 
static double * g_postureMeanl = NULL
 
static double * g_postureMeanh = NULL
 
static double * g_postureMaxw = NULL
 
static double * g_postureMaxl = NULL
 
static double * g_postureMaxh = NULL
 
static ObjectSubtype * g_posturesList = NULL
 
static double m_probabilityToEnsureMode = 0.8
 
static int m_2DLevelFrames = 3
 
static double * g_secDiffSequence
 
static double * g_coolingValue
 
static double * g_secDiffToCurrent
 
static tracking2DimensionalDatag_t2DDimData
 
static tracking2DSpatialDatag_t2DSpatialData
 
static IncrementalExtraGeneralDatag_iGData
 
static IncrementalExtra2DDatag_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
 

Friends

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

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