changeset 118:b3e3d9f80a6a

added configuration file and parameter structure
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Wed, 10 Aug 2011 18:36:05 -0400
parents fea680fb03ee
children 45a426552aaa
files c/tracking.cfg include/Parameters.hpp
diffstat 2 files changed, 81 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/c/tracking.cfg	Wed Aug 10 18:36:05 2011 -0400
@@ -0,0 +1,50 @@
+# video file to process: videoFilenamePrefix
+video-filename = carrefour.avi
+# original video frame rate: videoFPS
+video-fps = 29.97
+# number of digits of precision for all measurements derived from video: measurementPrecision
+measurement-precision = 3
+# first frame to process: frame1
+frame1 = 0
+# number of frame to process: nFrames
+nframes = -1
+# feature tracking
+# maximum number of tracked features (> 500): maxNFeatures
+max-nfeatures = 1000
+# quality level of the good features to track: featureQuality
+feature-quality = 0.1
+# minimum distance between features: minFeatureDistanceKLT
+min-feature-distance = 5
+# size of the search window at each pyramid level: windowSize
+window-size = 7
+# maximal pyramid level in the feature tracking algorithm: pyramidLevel
+pyramid-level = 5
+# number of frames to compute the feature displacement: nFramesDisplacement
+nframes-displacement = 3
+# minimum displacement to keep features: minFeatureDisplacement
+min-feature-displacement = 0.05
+# maximum feature acceleration: accelerationBound
+acceleration-bound = 3
+# maximum feature deviation: deviationBound
+deviation-bound = 0.6
+# number of frames to smooth positions (half window): nFramesSmoothing
+nframes-smoothing = 5
+# number of frames to compute velocities: nFramesVelocity
+nframes-velocity = 5
+# maximum number of iterations to stop feature tracking:  maxNumberTrackingIterations
+max-number-iterations = 20
+# minimum error to reach to stop feature tracking: minTrackingError
+min-tracking-error = 0.3
+# minimum length of a feature (number of frames) to consider a feature for grouping: minFeatureTime
+min-feature-time = 20
+# Min Max similarity parameters (Beymer et al. method)
+# connection distance in feature grouping: mmConnectionDistance
+mm-connection-distance = 3.75
+# segmentation distance in feature grouping: mmSegmentationDistance
+mm-segmentation-distance = 1.5
+# maximum distance between features for grouping: maxDistance
+max-distance = 5
+# minimum cosine of the angle between the velocity vectors for grouping: minVelocityCosine
+min-velocity-cosine = 0.8
+# minimum average number of features per frame to create a vehicle hypothesis: minNFeaturesPerGroup
+min-nfeatures-group = 3
--- a/include/Parameters.hpp	Tue Aug 09 15:10:31 2011 -0400
+++ b/include/Parameters.hpp	Wed Aug 10 18:36:05 2011 -0400
@@ -1,3 +1,34 @@
 // ifdef...
 
 /// \todo Class for parameters, with utilities to save and load from configuration files
+
+struct FeatureTrackingParameters {
+  /// whether to load saved features, or compute them
+  bool loadFeatures;
+
+  std::string videoFilename;
+  int videoFPS;
+  int measurementPrecision;
+  int frame1;
+  int nFrames;
+  // feature tracking
+  int maxNFeatures;
+  float featureQuality;
+  float minFeatureDistanceKLT;
+  int windowSize;
+  int pyramidLevel;
+  int nFramesDisplacement;
+  float minFeatureDisplacement;
+  float accelerationBound;
+  float deviationBound;
+  int nFramesSmoothing;
+  int nFramesVelocity;
+  int maxNumberTrackingIterations;
+  float minTrackingError;
+  int minFeatureTime;
+  float mmConnectionDistance;
+  float mmSegmentationDistance;
+  float maxDistance;
+  float minVelocityCosine;
+  int minNFeaturesPerGroup;
+};