@@ -62,12 +62,13 @@ class MotionDetectorExample : public VideoExample
6262 TrackerSettings settings;
6363 settings.SetDistance (tracking::DistCenters);
6464 settings.m_kalmanType = tracking::KalmanLinear;
65- settings.m_filterGoal = tracking::FilterRect ;
65+ settings.m_filterGoal = tracking::FilterCenter ;
6666 settings.m_lostTrackType = tracking::TrackKCF; // Use visual objects tracker for collisions resolving
6767 settings.m_matchType = tracking::MatchHungrian;
6868 settings.m_dt = 0 .4f ; // Delta time for Kalman filter
6969 settings.m_accelNoiseMag = 0 .5f ; // Accel noise magnitude for Kalman filter
70- settings.m_distThres = frame.rows / 10 .f ; // Distance threshold between region and object on two frames
70+ settings.m_distThres = 0 .95f ; // Distance threshold between region and object on two frames
71+ settings.m_minAreaRadius = frame.rows / 20 .f ;
7172
7273 settings.m_useAbandonedDetection = false ;
7374 if (settings.m_useAbandonedDetection )
@@ -172,17 +173,18 @@ class FaceDetectorExample : public VideoExample
172173 // / \param frame
173174 // / \return
174175 // /
175- bool InitTracker (cv::UMat /* frame*/ )
176+ bool InitTracker (cv::UMat frame)
176177 {
177178 TrackerSettings settings;
178179 settings.SetDistance (tracking::DistJaccard);
179180 settings.m_kalmanType = tracking::KalmanUnscented;
180181 settings.m_filterGoal = tracking::FilterRect;
181- settings.m_lostTrackType = tracking::TrackCSRT; // Use visual objects tracker for collisions resolving
182+ settings.m_lostTrackType = tracking::TrackCSRT; // Use visual objects tracker for collisions resolving
182183 settings.m_matchType = tracking::MatchHungrian;
183- settings.m_dt = 0 .3f ; // Delta time for Kalman filter
184- settings.m_accelNoiseMag = 0 .1f ; // Accel noise magnitude for Kalman filter
185- settings.m_distThres = 0 .8f ; // Distance threshold between region and object on two frames
184+ settings.m_dt = 0 .3f ; // Delta time for Kalman filter
185+ settings.m_accelNoiseMag = 0 .1f ; // Accel noise magnitude for Kalman filter
186+ settings.m_distThres = 0 .8f ; // Distance threshold between region and object on two frames
187+ settings.m_minAreaRadius = frame.rows / 20 .f ;
186188 settings.m_maximumAllowedSkippedFrames = cvRound (m_fps / 2 ); // Maximum allowed skipped frames
187189 settings.m_maxTraceLength = cvRound (5 * m_fps); // Maximum trace length
188190
@@ -274,11 +276,12 @@ class PedestrianDetectorExample : public VideoExample
274276 settings.SetDistance (tracking::DistRects);
275277 settings.m_kalmanType = tracking::KalmanLinear;
276278 settings.m_filterGoal = tracking::FilterRect;
277- settings.m_lostTrackType = tracking::TrackCSRT; // Use visual objects tracker for collisions resolving
279+ settings.m_lostTrackType = tracking::TrackCSRT; // Use visual objects tracker for collisions resolving
278280 settings.m_matchType = tracking::MatchHungrian;
279281 settings.m_dt = 0 .3f ; // Delta time for Kalman filter
280282 settings.m_accelNoiseMag = 0 .1f ; // Accel noise magnitude for Kalman filter
281- settings.m_distThres = frame.rows / 10 .f ; // Distance threshold between region and object on two frames
283+ settings.m_distThres = 0 .8f ; // Distance threshold between region and object on two frames
284+ settings.m_minAreaRadius = frame.rows / 20 .f ;
282285 settings.m_maximumAllowedSkippedFrames = cvRound (m_fps); // Maximum allowed skipped frames
283286 settings.m_maxTraceLength = cvRound (5 * m_fps); // Maximum trace length
284287
@@ -371,11 +374,12 @@ class SSDMobileNetExample : public VideoExample
371374 settings.SetDistance (tracking::DistRects);
372375 settings.m_kalmanType = tracking::KalmanLinear;
373376 settings.m_filterGoal = tracking::FilterRect;
374- settings.m_lostTrackType = tracking::TrackCSRT; // Use visual objects tracker for collisions resolving
377+ settings.m_lostTrackType = tracking::TrackCSRT; // Use visual objects tracker for collisions resolving
375378 settings.m_matchType = tracking::MatchHungrian;
376379 settings.m_dt = 0 .3f ; // Delta time for Kalman filter
377380 settings.m_accelNoiseMag = 0 .1f ; // Accel noise magnitude for Kalman filter
378- settings.m_distThres = frame.rows / 10 .f ; // Distance threshold between region and object on two frames
381+ settings.m_distThres = 0 .8f ; // Distance threshold between region and object on two frames
382+ settings.m_minAreaRadius = frame.rows / 20 .f ;
379383 settings.m_maximumAllowedSkippedFrames = cvRound (2 * m_fps); // Maximum allowed skipped frames
380384 settings.m_maxTraceLength = cvRound (5 * m_fps); // Maximum trace length
381385
@@ -495,11 +499,12 @@ class YoloExample : public VideoExample
495499 settings.SetDistance (tracking::DistRects);
496500 settings.m_kalmanType = tracking::KalmanLinear;
497501 settings.m_filterGoal = tracking::FilterRect;
498- settings.m_lostTrackType = tracking::TrackCSRT; // Use visual objects tracker for collisions resolving
502+ settings.m_lostTrackType = tracking::TrackCSRT; // Use visual objects tracker for collisions resolving
499503 settings.m_matchType = tracking::MatchHungrian;
500504 settings.m_dt = 0 .3f ; // Delta time for Kalman filter
501505 settings.m_accelNoiseMag = 0 .2f ; // Accel noise magnitude for Kalman filter
502- settings.m_distThres = frame.rows / 10 .f ; // Distance threshold between region and object on two frames
506+ settings.m_distThres = 0 .8f ; // Distance threshold between region and object on two frames
507+ settings.m_minAreaRadius = frame.rows / 20 .f ;
503508 settings.m_maximumAllowedSkippedFrames = cvRound (2 * m_fps); // Maximum allowed skipped frames
504509 settings.m_maxTraceLength = cvRound (5 * m_fps); // Maximum trace length
505510
@@ -620,11 +625,12 @@ class YoloDarknetExample : public VideoExample
620625 settings.SetDistance (tracking::DistCenters);
621626 settings.m_kalmanType = tracking::KalmanLinear;
622627 settings.m_filterGoal = tracking::FilterRect;
623- settings.m_lostTrackType = tracking::TrackNone; // Use visual objects tracker for collisions resolving
628+ settings.m_lostTrackType = tracking::TrackNone; // Use visual objects tracker for collisions resolving
624629 settings.m_matchType = tracking::MatchHungrian;
625630 settings.m_dt = 0 .3f ; // Delta time for Kalman filter
626631 settings.m_accelNoiseMag = 0 .2f ; // Accel noise magnitude for Kalman filter
627- settings.m_distThres = frame.rows / 10 .f ; // Distance threshold between region and object on two frames
632+ settings.m_distThres = 0 .8f ; // Distance threshold between region and object on two frames
633+ settings.m_minAreaRadius = frame.rows / 20 .f ;
628634 settings.m_maximumAllowedSkippedFrames = cvRound (2 * m_fps); // Maximum allowed skipped frames
629635 settings.m_maxTraceLength = cvRound (5 * m_fps); // Maximum trace length
630636
0 commit comments