VAT  3.0
Video Analysis Tool
FootballContextModule.h
1 #ifndef __FOOTBALLCONTEXTMODULE_H
2 #define __FOOTBALLCONTEXTMODULE_H
3 
4 #include "ModuleInterface.h"
5 #include "Datapool.h"
6 
7 #include <src/colorModelLearning.h>
8 #include <src/apparienceModelLearning.h>
9 
10 typedef struct modelParameters modelParameters;
12 {
13  bool m_include;
14  //Flag que indica que modelos entrenar
15  bool m_trainColorModel;
16  bool m_trainAppModel;
17  //Nombre de archivos de datos
18  QString m_filename;
19 };
20 
21 typedef std::map<soccerClass, modelParameters> parametersMap;
22 typedef std::map<ColorModelType, colorModelLearning*> colorModelMap;
23 typedef std::pair<ColorModelType, colorModelLearning*> colorModelpair;
24 
26 {
27 public:
30 
31  //Set module configuration parameters
32  bool setParameters(QDomNode& config);
33 
34  //Initialization after reading parameters
35  bool init();
36 
37  //Function executed at each frame
38  bool run();
39 
40  //update parameters at runtime.
41  bool updateParameters();
42 
43  //Directorio donde se encuentran los modelos a cargar
44  QString m_modelsDirectory;
45 
46  //Parametros para modelo de scene de fútbol
47  double m_hmodel;
48  double m_wmodel;
49  double m_par1;
50  double m_par2;
51 
52  //Flag que indica que modelos cargar
53  bool m_tA;
54  bool m_tB;
55  bool m_Ref;
56  bool m_field;
57 
58  /* Flag que indica que modelos entrenar
59  * Cada uno de los equipos debe entrenar equipo y arquero en el modelo de Color
60  * Field entrena campo de juego y lines del campo de juego
61  */
62  bool m_tA_trainColorModel;
63  bool m_tB_trainColorModel;
64  bool m_Ref_trainColorModel;
65  bool m_field_trainColorModel;
66 
67  bool m_trainAppModel;
68  int n_clustersAppModel;
69  double m_topTh_Luma;
70  double m_bottomTh_Luma;
71  typeDistanceMetric m_dMetric;
72 
73  bool m_tA_obtainHistogram;
74  bool m_tB_obtainHistogram;
75  bool m_Ref_obtainHistogram;
76  bool m_GKTA_obtainHistogram;
77  bool m_GKTB_obtainHistogram;
78  bool m_field_obtainHistogram;
79 
80  bool m_tA_showHistogram;
81  bool m_tB_showHistogram;
82  bool m_Ref_showHistogram;
83  bool m_GKTA_showHistogram;
84  bool m_GKTB_showHistogram;
85  bool m_field_showHistogram;
86 
87  bool m_tA_showColorModel;
88  bool m_tB_showColorModel;
89  bool m_Ref_showColorModel;
90  bool m_GKTA_showColorModel;
91  bool m_GKTB_showColorModel;
92  bool m_field_showColorModel;
93 
94  //Número de Clusters por clase
95  std::map< playerPart, int > n_clustersTA_CM;
96  std::map< playerPart, int > n_clustersTB_CM;
97  std::map< playerPart, int > n_clustersRef_CM;
98  int n_clustersField_CM;
99  int n_clustersLines_CM;
100 
101  //Nombre de archivos de datos
102  QString tA_filename;
103  QString tB_filename;
104  QString Ref_filename;
105  QString Field_filename;
106  QString GKTA_filename;
107  QString GKTB_filename;
108 
109  parametersMap modelsPar;
110 
111  //Periodo de actualización de Modelos
112  int m_modelsUpdatePeriod;
113 
114  colorModelMap colorModels;
116 
117  bool initColorModels();
118  void setColorModelsParameters(ColorModelType type, bool fromTrained);
119  QString colorModelTypeToFileName(ColorModelType type);
120 
121  void apparienceModelLearningProcess();
122  void teamASetAndLearningProcess();
123  void teamBSetAndLearningProcess();
124  void RefereeSetAndLearningProcess();
125  void FieldSetAndLearningProcess();
126 
127  void defaultParameters();
128 };
129 
130 #endif // FOOTBALLCONTEXTMODULE_H
Definition: apparienceModelLearning.h:46
Definition: apparienceModelLearning.h:29
Definition: ModuleInterface.h:43
An object of this class is instantiated at main code, and this object is used by every class to push ...
Definition: Datapool.h:39
Definition: FootballContextModule.h:25
Definition: FootballContextModule.h:11