Mercurial Hosting > traffic-intelligence
comparison c/Parameters.cpp @ 507:081a9da6f85b
first version with undistort implemented in the feature tracking process
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Thu, 01 May 2014 17:41:10 -0400 |
parents | 13d4eb96a751 82c06ad62254 |
children | 935430b1d408 |
comparison
equal
deleted
inserted
replaced
506:13d4eb96a751 | 507:081a9da6f85b |
---|---|
31 ("homography-filename", po::value<string>(&homographyFilename), "filename of the homography matrix") | 31 ("homography-filename", po::value<string>(&homographyFilename), "filename of the homography matrix") |
32 ("intrinsic-camera-filename", po::value<string>(&intrinsicCameraFilename), "filename of the homography matrix") | 32 ("intrinsic-camera-filename", po::value<string>(&intrinsicCameraFilename), "filename of the homography matrix") |
33 ("distortion-coefficients", po::value<std::vector<float> >(&distortionCoefficients)->multitoken(), "") | 33 ("distortion-coefficients", po::value<std::vector<float> >(&distortionCoefficients)->multitoken(), "") |
34 ("undistorted-size-multiplication", po::value<float>(&undistortedImageMultiplication), "undistorted image multiplication") | 34 ("undistorted-size-multiplication", po::value<float>(&undistortedImageMultiplication), "undistorted image multiplication") |
35 ("mask-filename", po::value<string>(&maskFilename), "filename of the mask image (where features are detected)") | 35 ("mask-filename", po::value<string>(&maskFilename), "filename of the mask image (where features are detected)") |
36 ("undistort", po::value<bool>(&undistort), "undistort the video for feature tracking") | |
36 ("load-features", po::value<bool>(&loadFeatures), "load features from database") | 37 ("load-features", po::value<bool>(&loadFeatures), "load features from database") |
37 ("display", po::value<bool>(&display), "display trajectories on the video") | 38 ("display", po::value<bool>(&display), "display trajectories on the video") |
38 ("video-fps", po::value<float>(&videoFPS), "original video frame rate") | 39 ("video-fps", po::value<float>(&videoFPS), "original video frame rate") |
39 ("frame1", po::value<unsigned int>(&frame1), "first frame to process") | 40 ("frame1", po::value<unsigned int>(&frame1), "first frame to process") |
40 ("nframes", po::value<int>(&nFrames), "number of frame to process") | 41 ("nframes", po::value<int>(&nFrames), "number of frame to process") |
41 // feature tracking | 42 // feature tracking |
42 ("max-nfeatures", po::value<int>(&maxNFeatures), "maximum number of features added at each frame") | 43 ("max-nfeatures", po::value<int>(&maxNFeatures), "maximum number of features added at each frame (1000s)") |
43 ("feature-quality", po::value<float>(&featureQuality), "quality level of the good features to track") | 44 ("feature-quality", po::value<float>(&featureQuality), "quality level of the good features to track (]0. 1?])") |
44 ("min-feature-distanceklt", po::value<float>(&minFeatureDistanceKLT), "minimum distance between features") | 45 ("min-feature-distanceklt", po::value<float>(&minFeatureDistanceKLT), "minimum distance between features (]0. 10?])") |
45 ("window-size", po::value<int>(&windowSize), "size of the search window at each pyramid level") | 46 ("block-size", po::value<int>(&blockSize), "size of the block for feature characteristics ([1 ?])") |
46 ("use-harris-detector", po::value<bool>(&useHarrisDetector), "use of Harris corner detector") | 47 ("use-harris-detector", po::value<bool>(&useHarrisDetector), "use of Harris corner detector") |
47 ("k", po::value<float>(&k), "k parameter to detect good features to track (OpenCV)") | 48 ("k", po::value<float>(&k), "k parameter to detect good features to track (OpenCV)") |
48 ("pyramid-level", po::value<int>(&pyramidLevel), "maximal pyramid level in the feature tracking algorithm") | 49 ("window-size", po::value<int>(&windowSize), "size of the search window at each pyramid level ([1 ?])") |
49 ("ndisplacements", po::value<unsigned int>(&nDisplacements), "number of displacement to test minimum feature motion") | 50 ("pyramid-level", po::value<int>(&pyramidLevel), "maximal pyramid level in the feature tracking algorithm ([0 maxLevel=5?])") |
50 ("min-feature-displacement", po::value<float>(&minFeatureDisplacement), "minimum displacement to keep features") | 51 ("ndisplacements", po::value<unsigned int>(&nDisplacements), "number of displacements to test minimum feature motion ([2 4])") |
51 ("acceleration-bound", po::value<float>(&accelerationBound), "maximum feature acceleration") | 52 ("min-feature-displacement", po::value<float>(&minFeatureDisplacement), "minimum displacement per frame (in world space) to keep features (]0. 0.1?])") |
52 ("deviation-bound", po::value<float>(&deviationBound), "maximum feature deviation") | 53 ("acceleration-bound", po::value<float>(&accelerationBound), "maximum feature acceleration (]1 3+])") |
53 ("smoothing-halfwidth", po::value<int>(&nFramesSmoothing), "number of frames to smooth positions (half window)") | 54 ("deviation-bound", po::value<float>(&deviationBound), "maximum feature deviation (on cosine) (]0 1])") |
54 ("max-number-iterations", po::value<int>(&maxNumberTrackingIterations), "maximum number of iterations to stop feature tracking") | 55 ("smoothing-halfwidth", po::value<int>(&nFramesSmoothing), "number of frames to smooth positions (half window) ([0 inf[") |
55 ("min-tracking-error", po::value<float>(&minTrackingError), "minimum error to reach to stop feature tracking") | 56 ("max-number-iterations", po::value<int>(&maxNumberTrackingIterations), "maximum number of iterations to stop optical flow (20-30?)") |
56 ("min-feature-eig-threshold", po::value<float>(&minFeatureEigThreshold)->default_value(1e-4), "minimum eigen value of a 2x2 normal matrix of optical flow equations") | 57 ("min-tracking-error", po::value<float>(&minTrackingError), "minimum error to reach to stop optical flow (0.3-0.01)") |
57 ("min-feature-time", po::value<unsigned int>(&minFeatureTime), "minimum length of a feature (number of frames) to consider a feature for grouping") | 58 ("min-feature-eig-threshold", po::value<float>(&minFeatureEigThreshold)->default_value(1e-4), "minimum eigen value of a 2x2 normal matrix of optical flow equations (10^-4)") |
58 ("mm-connection-distance", po::value<float>(&mmConnectionDistance), "connection distance in feature grouping") | 59 ("min-feature-time", po::value<unsigned int>(&minFeatureTime), "minimum length of a feature (number of frames) to consider a feature for grouping [5 20+]") |
59 ("mm-segmentation-distance", po::value<float>(&mmSegmentationDistance), "segmentation distance in feature grouping") | 60 ("mm-connection-distance", po::value<float>(&mmConnectionDistance), "connection distance in feature grouping (in world space) (ped: [0.5m 2m+], cars: [1.7m 4m+])") |
60 ("max-distance", po::value<float>(&maxDistance), "maximum distance between features for grouping") | 61 ("mm-segmentation-distance", po::value<float>(&mmSegmentationDistance), "segmentation distance in feature grouping (in world space) (< mm-connection-distance, empirically ~ mm-connection-distance / 2.5)") |
61 ("min-velocity-cosine", po::value<float>(&minVelocityCosine), "minimum cosine of the angle between the velocity vectors for grouping") | 62 ("max-distance", po::value<float>(&maxDistance), "maximum distance between features for grouping (in world space) (unused)") |
62 ("min-nfeatures-group", po::value<float>(&minNFeaturesPerGroup), "minimum average number of features per frame to create a vehicle hypothesis") | 63 ("min-velocity-cosine", po::value<float>(&minVelocityCosine), "minimum cosine of the angle between the velocity vectors for grouping (unused)") |
64 ("min-nfeatures-group", po::value<float>(&minNFeaturesPerGroup), "minimum average number of features per frame to create a vehicle hypothesis (]1 3+])") | |
63 // ("max-uturn-cosine", po::value<float>(&maxUTurnCosine), "maximum cosine value to detect U-turn") | 65 // ("max-uturn-cosine", po::value<float>(&maxUTurnCosine), "maximum cosine value to detect U-turn") |
64 // ("nframes-avoid-uturn", po::value<int>(&nFramesAvoidUTurn), "number of frames over which a feature should not make a U-turn") | 66 // ("nframes-avoid-uturn", po::value<int>(&nFramesAvoidUTurn), "number of frames over which a feature should not make a U-turn") |
65 // Safety Analysis | 67 // Safety Analysis |
66 ("max-predicted-speed", po::value<float>(&maxPredictedSpeed)->default_value(50.), "maximum speed when predicting future motion (km/h)") | 68 ("max-predicted-speed", po::value<float>(&maxPredictedSpeed)->default_value(50.), "maximum speed when predicting future motion (km/h)") |
67 ("prediction-time-horizon", po::value<float>(&predictionTimeHorizon)->default_value(5.), "time horizon for collision prediction (s)") | 69 ("prediction-time-horizon", po::value<float>(&predictionTimeHorizon)->default_value(5.), "time horizon for collision prediction (s)") |