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

Public Member Functions

 ReliabilityClassification (Datapool *i_data)
 
double convertAlpha (double original_alpha)
 
double NormalizeAngle (double alpha)
 
void computeImageWorkingArea (QImage *i_segm)
 
void initBlob3DData ()
 
void adjustBlobLimitsByOcclusion (Blob *blob)
 
DetectionProblemType isBlobOnImageBorder (Blob *blob)
 
void setBlob3DFacts (Blob *blob, QImage *i_segm)
 
void setLastBlobData (double h, double l, double w, double alpha, Blob *blob, bool _90_rotated)
 
double set_possible_solution (double w, double l, double h, Blob *blob, bool rotated, bool normal)
 
void fillOcclusionList (Blob *blob)
 
double static_occlusion_search_alpha (Blob *)
 
double search_solution_by_height (Blob *, interval_t, interval_t, bool)
 
double static_occlusion_search_alpha (Blob *, std::map< ObjectType, SpModelInterface >::iterator)
 
double search_solution_by_height (Blob *, std::map< ObjectType, SpModelInterface >::iterator, interval_t, interval_t, bool)
 
void addModel (ObjectType, SpModelInterface)
 
void removeBlob (Blob *)
 
const std::map< int, std::map< ObjectType, double > > & getClassifMap () const
 
const std::map< ObjectType, SpModelInterface > & getModelsMap () const
 
SpModelInterface getModelFromType (ObjectType)
 
void top_probabilities_and_reliabilities (Blob *blob)
 
virtual void init_data ()
 
void top_init ()
 
void reset_top ()
 
void free_top ()
 
bool can_be_inserted_top (Blob *blob, bool normalList)
 
s3ddata_t insert_top (Blob *blob, bool normalList)
 
void top_output ()
 
void computeGeometricFacts (Blob *blob)
 
virtual void updateScoreForType (Blob *i_blob1, ObjectType i_blobType, double i_score)
 
void buildClassifTable (Blob *blob)
 
void RC_set_3D_bbox_blob_level_data (Blob *blob)
 
void RC_set_3D_bbox_initial_alpha_level_data (double alpha)
 
void RC_set_3D_bbox_alpha_level_data ()
 
int RC_compute_blob_3Dbbox (Blob *blob, double h)
 
void setPixelAnalysis (Blob *blob, ddata_t ddata, parallelpiped_t _3Dbbox)
 
void setExtraPixelInfo (Blob *blob, ddata_t ddata, QImage *i_segm)
 
void putBestByPixels (bool occlusion)
 
double densityDistance (ddata_t ddata)
 
double check_walls (Blob *blob, DetectionProblemType octype)
 
DetectionProblemType isBlobOccludedByStaticObject (Blob *blob)
 
double set_best_without_model_limits (Blob *blob, double w, double l, double h, double alpha)
 
double getProbability (double h, double l, double w)
 
void init_pertinent_occlusion_walls ()
 
void check_walls_ver (Blob *, DetectionProblemType)
 
void check_walls_hor (Blob *, DetectionProblemType)
 
bool parallelpiped_base_inside_pertinent_walls (Blob *, double, double)
 
double limits_by_max_possible_blob (Blob *, DetectionProblemType)
 
void get_xy_k_distant_from_init_point (double *, double *, double, double, double, double, double, double)
 
void RC_compute_h_from_w (double, double *, double *)
 
void RC_compute_h_from_l (double, double *, double *)
 
int RC_compute_w_from_h (double, double *)
 
int RC_compute_l_from_h (double, double *)
 
void RC_get_h_from_w (double, double *, double)
 
void RC_get_h_from_l (double, double *, double)
 
int RC_set_3Dbbox_case_and_variable_indexes ()
 
int calculate_hintervals (interval_t, interval_t)
 
int calculate_hintervals_old (interval_t, interval_t)
 
bool thereIsIntersection (interval_t, interval_t, interval_t, interval_t)
 
DetectionProblemType improveObjectAnalysis (world::ContextObject *, DetectionProblemType, Blob *, interval_t, interval_t)
 
bool all_possible_base_inside (bool[][3], int)
 
int determine_points_inside_context_object (world::ContextObject *, double *, double *, bool[][3])
 
void clearWallsInPoint ()
 
void checkPointsInWallVer (world::ContextObject *, double[], double[], DetectionProblemType, world::Wall2D *)
 
void checkPointsInWallHor (world::ContextObject *, double[], double[], DetectionProblemType, world::Wall2D *)
 
void checkPointsInRoof (world::ContextObject *, double[], double[], QSharedPointer< polygon2D< double > >, DetectionProblemType)
 
bool getIntersectionWithSegment (double, double, double, world::WallSegment *, bool, double &)
 
DetectionProblemType correctBlobDetectionProblemType (world::ContextObject *, double[], double[], DetectionProblemType)
 
void setObjectOcclusionLimit (Blob *, DetectionProblemType, bool)
 
void setAnnoyingWallsForContextObject (Blob *, world::ContextObject *, bool)
 
void setAnnoyingWallsForContextWalls (Blob *, bool)
 
void setNearObjects (Blob *)
 
void setMaxBlobNearObjects ()
 
bool blobOverContextWalls (Blob *)
 
double getX2DInHeight (std::map< int, double >, world::Wall2D *, double, bool)
 
double getY2DInHeight (std::map< int, double >, world::Wall2D *, double, bool)
 
bool noWallsValidatedSolution ()
 
void checkBlobSize (Blob *blob)
 
bool checkBlobSize (int &reduced, int &excesive, s3ddata_t s3d, ObjectType type, int position, DetectionProblemType occtype)
 
void checkSubModelsSize (int &reduced, int &excesive, SpModelInterface objectModel, ObjectType modelType, Blob *blob)
 
void checkSubModelsSize (int &reduced, int &excesive, SpModelInterface objectModel, ObjectType modelType, s3ddata_t s3d, int position, DetectionProblemType occtype)
 
int checkIfBlobIsReducedSize (Blob *blob, double hmin, double lmin, double wmin)
 
int checkIfBlobIsReducedSize (s3ddata_t s3d, double hmin, double lmin, double wmin, int position)
 
int checkIfBlobIsExcesiveSize (Blob *blob, double hmax, double lmax, double wmax)
 
int checkIfBlobIsExcesiveSize (s3ddata_t s3d, double hmax, double lmax, double wmax, int position)
 
Shape3DDatagetMostCoherentDataFromMobileAndBBoxLimit (MobileObject *mobile, std::map< ObjectType, Shape3DData > *&normal, std::map< ObjectType, Shape3DData > *&occ, Blob *blob)
 
void getMostCoherentDataFromMobile (s3ddata_t bests3d, MobileObject *mobile, DetectionProblemType occtype, Blob *blob)
 
void setPostureLimits (ObjectType type)
 
bool reliability_tracking_search_alpha (Blob *blob)
 
double search_solution_by_height_for_tracking (Blob *blob, interval_t interval_h, double previous_best)
 
double set_possible_solution_for_tracking (double w, double l, double h, Blob *blob, double current_best)
 
int calculate_hintervals_for_tracking (interval_t interval_h_0)
 
int calculate_hintervals_for_tracking_old (interval_t interval_h_0)
 
bool set_best_valid_alpha_for_tracking ()
 
void limits_by_mean_model_values (double *mean_limits, double *starting_angles, Blob *blob, DetectionProblemType octype)
 
void fillOcclusionListWithStartingPoints (Blob *blob)
 
void static_occlusion_search_2D (double *mean_limits, double *starting_angles, Blob *blob, DetectionProblemType occtype, double dim_limit)
 
double static_occlusion_search_alpha_with_starting_point (Blob *blob, double &starting_alpha)
 
void limits_by_mean_model_values_bottom_occlusion (double *mean_limits, double *mean_left_limits, double *mean_right_limits, double *starting_angles, Blob *blob, bool with_left_occlusion, Rectangle< int > *mean_bboxes, parallelpiped_t meanparallelpipeds)
 
void fillOcclusionListWithStartingPoints2 (Blob *blob)
 
int RC_set_3Dbbox_case_and_variable_indexes_simpler (Blob *blob)
 
int RC_compute_blob_3Dbbox_get_case (Blob *blob)
 
void RC_set_3D_bbox_alpha_level_data_get_case ()
 
void RC_set_3D_bbox_alpha_level_data_simpler ()
 
int calculate_hintervals_simpler (interval_t interval_h_0, interval_t interval_h_90)
 
int RC_compute_blob_3Dbbox_simpler (Blob *blob, double h)
 
void static_occlusion_bottom_search_2D_in_corner (double *mean_limits, double *mean_left_limits, double *mean_right_limits, double *starting_angles, Blob *blob, DetectionProblemType ver_occtype, DetectionProblemType hor_occtype, double ver_dim_limit, double hor_dim_limit)
 
bool not_over_an_object (parallelpiped_t par, bool not_occluded)
 
bool covering_bbox (Blob *blob)
 
bool covering_bbox (int blob_position, Blob *blob, ddata_t ddata, parallelpiped_t _3Dbbox)
 
void setPixelAnalysis (int blob_position, Blob *blob, ddata_t ddata, parallelpiped_t _3Dbbox)
 
void prepareBlobForRClassification (Blob *blob, QImage *i_segm)
 
void setDPForBlob (Blob *blob, QImage *i_segm)
 
s3ddata_t getMostLikelyDataFromMobile (Blob *blob, ObjectType type)
 
s3ddata_t getMostLikelyDataForType (Blob *blob)
 
s3ddata_t generateS3DListsForBlob (Blob *blob, ObjectType analyzed_type)
 
s3ddata_t addBestDataForType (bool normal, Blob *blob, ObjectType analyzed_type, std::map< ObjectType, Shape3DData > *s3d_list, s3ddata_t data)
 
std::map< ObjectType, Shape3DData > * getBestOnesList (bool normal, Shape3DData **best_s3d, double *best, bool *exists3d, Blob *i_blob)
 
void setExtraPixelInfo (Blob *blob, QImage *i_segm)
 
bool positiveAngleDirection (double beta, double angle)
 
bool allowed_base_dimensions (double w, double l)
 
bool setParameters (QDomNode &config)
 
bool defaultParameters ()
 
void classify (std::vector< Blob > &i_blobs, QImage *i_segm)
 
bool parallelpipedBaseOnAOIGround (Parallelpiped *par, SceneModel *context)
 
bool blobOnAOIGround (Blob *i_blob, SceneModel *context)
 
void assignTypeToBlob (Blob *i_blob)
 
bool prepareRun ()
 
bool init ()
 
bool checkIfBetter (double *best, Shape3DData *s3d)
 
bool changeBlobTypeToUnknown (Blob *i_blob)
 

Static Public Member Functions

static void setPixelRates (int bwidth, int bheight, double *horRate, double *verRate)
 
static polygon2D< double > * set_polygon_from_3Dbb (parallelpiped_t _3Dbbox, int position)
 
static int get_nearest_from_middle_points (parallelpiped_t _3Dbbox, int limit)
 
static void orderBlobsAscending (double *values, Blob **blobs, int top, int bottom)
 
static int getMiddle (double *values, Blob **blobs, int top, int bottom)
 

Public Attributes

bool initialized
 
bool imageWorkingAreaNotComputed
 
double ALPHA_STEP
 
double H_STEP_CM
 
int DIM2D_STEP
 
bool m_orderByDensity
 
bool m_treatBorderOcclusion
 
bool m_treatContextObjectOcclusion
 
bool m_treatWallCoherence
 
int m_rcntop
 
classificationCriteria m_rcIntraCriteria
 
classificationCriteria m_rcInterCriteria
 
double m_cuttingAreaRate
 
double m_wallInsideLengthRate
 
int RC_PROXIMITY_PIXELS
 
double m_maxRoofAndBaseIntersectionRatio
 
double m_maxBaseAndBaseIntersectionRatio
 
double m_minPixelCoverageRatio
 
Datapoolm_data
 
SceneModelm_context
 
QImage * m_foreground
 
Rectangle< int > realBBox
 
double m_classifThres
 
double m_classifThresInter
 
bool m_parametersSet
 
std::multimap< DetectionProblemType, world::Wall2D * > m_pertinent_walls
 
std::map< ObjectType, SpModelInterface > m_mapModels
 
std::map< ObjectType, bool > sizeOkForAnalysis
 
std::map< ObjectType, std::map< ObjectSubtype, bool > > subSizeOkForAnalysis
 
std::map< int, std::map< ObjectType, double > > m_mapClassif
 
std::map< ObjectType, std::deque< Shape3DData * > > m_top
 
std::map< ObjectType, std::deque< Shape3DData * > > m_topocc
 
std::map< ObjectType, int > m_ntop
 
std::map< ObjectType, int > m_ntopocc
 
std::map< ObjectType, s3ddata_tbest_valid
 
std::map< ObjectType, bool > there_is_best_valid
 
s3ddata_t best_considering_alpha
 
s3ddata_t best_considering_h
 
bool best_by_alpha_found
 
bool best_by_h_found
 
double bestAlphaDistance
 
double bestDimDistance
 
double currentDimDistance
 
bool currentRigid
 
std::map< ObjectType, std::map< ObjectSubtype, std::deque< Shape3DData * > > > m_sub_top
 
std::map< ObjectType, std::map< ObjectSubtype, std::deque< Shape3DData * > > > m_sub_topocc
 
std::map< ObjectType, std::map< ObjectSubtype, int > > m_sub_ntop
 
std::map< ObjectType, std::map< ObjectSubtype, int > > m_sub_ntopocc
 
std::map< ObjectType, std::map< ObjectSubtype, s3ddata_t > > sub_best_valid
 
std::map< ObjectType, std::map< ObjectSubtype, bool > > sub_there_is_best_valid
 
SpModelInterface m_currentModel
 
ObjectType m_modelId
 
ObjectSubtype m_subModelId
 
double * g_postureMinw
 
double * g_postureMinl
 
double * g_postureMinh
 
double * g_postureMaxw
 
double * g_postureMaxl
 
double * g_postureMaxh
 
int Winitial
 
int Hinitial
 
double alphaInit
 
double alphaMobile
 
double alphaChange
 
double alphaVar
 
double hInit
 
double dChange
 
double hVar
 
double hMin
 
double hMax
 
double hMobile
 
double wMobile
 
double lMobile
 
Interval interval_hmobile
 
std::deque< world::Wall2D * > real_walls
 
std::deque< world::ContextObject * > near_objects
 
std::deque< world::ContextObject * > not_near_objects
 
std::map< world::ContextObject *, DetectionProblemType > object_occlusion_type
 
std::deque< world::ContextObject * > near_objects_extended
 
std::map< world::ContextObject *, std::map< int, std::deque< inWall > > > enteredWallsForPointLeft
 
std::map< world::ContextObject *, std::map< int, std::deque< inWall > > > enteredWallsForPointRight
 
std::map< world::ContextObject *, std::map< int, std::deque< inWall > > > enteredWallsForPointTop
 
std::map< world::ContextObject *, std::map< int, std::deque< inWall > > > enteredWallsForPointBottom
 
std::map< world::ContextObject *, std::map< int, double > > analyzedPointsForObjectX
 
std::map< world::ContextObject *, std::map< int, double > > analyzedPointsForObjectY
 
std::deque< world::WallSegment * > annoyingWallSegments
 
double m_HToleranceCoeff
 
double m_VToleranceCoeff
 
double imgCamx
 
double imgCamy
 
double camx
 
double camy
 
double camz
 
int m_XMinWA
 
int m_XMaxWA
 
int m_YMinWA
 
int m_YMaxWA
 
double H
 
double W
 
double Hmax
 
double Wmax
 
double borderMinLeft
 
double borderMaxRight
 
double borderMinTop
 
double borderMaxBottom
 
double objectMinLeft
 
double objectMaxRight
 
double objectMinTop
 
double objectMaxBottom
 
double OcclusionMinLeft
 
double OcclusionMaxRight
 
double OcclusionMinTop
 
double OcclusionMaxBottom
 
bool possible_occlusion
 
double model_hmin
 
double model_hmax
 
double model_hmean
 
double model_lmin
 
double model_lmax
 
double model_lmean
 
double model_wmin
 
double model_wmax
 
double model_wmean
 
Interval interval_modelw
 
Interval interval_modelh
 
Interval interval_modell
 
double alpha
 
double sina
 
double cosa
 
double beta
 
int beta_direction
 
int with_sol_counter
 
int models_calculated_counter
 
int global_models_calculated_counter
 
int valid_models_counter
 
int models_accepted_after_walls_checking
 
int Case
 
int a
 
int b
 
int c
 
int d
 
int sp_var
 
double V [4][4]
 
double p00
 
double p01
 
double p02
 
double p03
 
double p10
 
double p11
 
double p12
 
double p13
 
double p20
 
double p21
 
double p22
 
double p23
 
double k1
 
double k2
 
double k3
 
double k4
 
double k5
 
double k6
 
double k7
 
double k8
 
double k9
 
double k10
 
double k11
 
double k12
 
double k13
 
double k14
 
double k15
 
double k16
 
double k17
 
double k18
 
double k19
 
double k20
 
double k21
 
double k22
 
double k23
 
double k24
 
double k25
 
double k26
 
double k27
 
double k28
 
double k29
 
double k30
 
double k31
 
double k32
 
double k33
 
double k34
 
double Vl0
 
double Vl1
 
double Vl2
 
double Vb0
 
double Vb1
 
double Vb2
 
double Vr0
 
double Vr1
 
double Vr2
 
double Vt0
 
double Vt1
 
double Vt2
 
double ml0
 
double ml1
 
double mb0
 
double mb1
 
double mr0
 
double mr1
 
double mt0
 
double mt1
 
double KK1
 
double KK2
 
double KK3
 
double KK4
 
double KK5
 
double KK6
 
double KK7
 
double KK8
 
double KK9
 
double KK10
 
double KK11
 
double KK12
 
double KK13
 
double KK14
 
double KK15
 
double KK16
 
double LL1
 
double LL2
 
double LL3
 
double LL4
 
double LL5
 
double LL6
 
double LL7
 
double LL8
 
double LL9
 
double LL10
 
double LL11
 
double LL12
 
double LL13
 
double LL14
 
double LL15
 
double DD
 
double MM1
 
double MM2
 
double MM3
 
double MM4
 
double MM5
 
double MM6
 
double K [22]
 
double L [5]
 
double C [16]
 
double d1
 
double d2
 
double d3
 
double d4
 
double d5
 
double d6
 
double d7
 
double d8
 
double wa
 
double wb
 
double wc
 
double la
 
double lb
 
double lc
 
int position
 
int limits [4][4]
 
int nlimits [4]
 
int in_height [4]
 
int BlobLimits [4]
 
int varlimrel [4]
 
int eq_relations [4][4]
 
bool normalised90
 
bool normalised180
 

Static Public Attributes

static int RC_MAX_PIXELS = 200
 
static int RC_MIN_PIXELS = 50
 
static double m_pixelDensity = 0.50
 

Protected Member Functions

void constructClassifMap (std::vector< Blob > &, QImage *)
 

Protected Attributes

bool someOcclusionSolutionInserted
 
bool someNormalSolutionInserted
 
bool aoi_in
 

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