]> rtime.felk.cvut.cz Git - hercules2020/kcf.git/commitdiff
Rename scale_factor to fit_factor
authorMichal Sojka <michal.sojka@cvut.cz>
Wed, 26 Sep 2018 13:18:52 +0000 (15:18 +0200)
committerMichal Sojka <michal.sojka@cvut.cz>
Wed, 26 Sep 2018 15:00:34 +0000 (17:00 +0200)
The variable is related to --fit and not to scale estimation.

src/kcf.cpp
src/kcf.h

index 32af199c202a77b8a58b868a451e56b0362106f2..abf67fcb1eb97bde15c29e8d8d4d1c96a853afb6 100644 (file)
@@ -151,20 +151,20 @@ void KCF_Tracker::init(cv::Mat &img, const cv::Rect &bbox, int fit_size_x, int f
             std::cerr << "Error: Fit size is not multiple of HOG cell size (" << p_cell_size << ")" << std::endl;
             std::exit(EXIT_FAILURE);
         }
-        p_scale_factor_x = (double)fit_size_x / round(p_pose.w * (1. + p_padding));
-        p_scale_factor_y = (double)fit_size_y / round(p_pose.h * (1. + p_padding));
-        std::cout << "resizing image horizontaly by factor of " << p_scale_factor_x << " and verticaly by factor of "
-                  << p_scale_factor_y << std::endl;
+        p_fit_factor_x = (double)fit_size_x / round(p_pose.w * (1. + p_padding));
+        p_fit_factor_y = (double)fit_size_y / round(p_pose.h * (1. + p_padding));
+        std::cout << "resizing image horizontaly by factor of " << p_fit_factor_x << " and verticaly by factor of "
+                  << p_fit_factor_y << std::endl;
         p_fit_to_pw2 = true;
-        p_pose.scale_x(p_scale_factor_x);
-        p_pose.scale_y(p_scale_factor_y);
-        if (fabs(p_scale_factor_x - 1) > p_floating_error || fabs(p_scale_factor_y - 1) > p_floating_error) {
-            if (p_scale_factor_x < 1 && p_scale_factor_y < 1) {
-                cv::resize(input_gray, input_gray, cv::Size(0, 0), p_scale_factor_x, p_scale_factor_y, cv::INTER_AREA);
-                cv::resize(input_rgb, input_rgb, cv::Size(0, 0), p_scale_factor_x, p_scale_factor_y, cv::INTER_AREA);
+        p_pose.scale_x(p_fit_factor_x);
+        p_pose.scale_y(p_fit_factor_y);
+        if (fabs(p_fit_factor_x - 1) > p_floating_error || fabs(p_fit_factor_y - 1) > p_floating_error) {
+            if (p_fit_factor_x < 1 && p_fit_factor_y < 1) {
+                cv::resize(input_gray, input_gray, cv::Size(0, 0), p_fit_factor_x, p_fit_factor_y, cv::INTER_AREA);
+                cv::resize(input_rgb, input_rgb, cv::Size(0, 0), p_fit_factor_x, p_fit_factor_y, cv::INTER_AREA);
             } else {
-                cv::resize(input_gray, input_gray, cv::Size(0, 0), p_scale_factor_x, p_scale_factor_y, cv::INTER_LINEAR);
-                cv::resize(input_rgb, input_rgb, cv::Size(0, 0), p_scale_factor_x, p_scale_factor_y, cv::INTER_LINEAR);
+                cv::resize(input_gray, input_gray, cv::Size(0, 0), p_fit_factor_x, p_fit_factor_y, cv::INTER_LINEAR);
+                cv::resize(input_rgb, input_rgb, cv::Size(0, 0), p_fit_factor_x, p_fit_factor_y, cv::INTER_LINEAR);
             }
         }
     }
@@ -258,8 +258,8 @@ void KCF_Tracker::updateTrackerPosition(BBox_c &bbox)
         p_pose.cy = tmp.cy;
     } else if (p_fit_to_pw2) {
         BBox_c tmp = bbox;
-        tmp.scale_x(p_scale_factor_x);
-        tmp.scale_y(p_scale_factor_y);
+        tmp.scale_x(p_fit_factor_x);
+        tmp.scale_y(p_fit_factor_y);
         p_pose.cx = tmp.cx;
         p_pose.cy = tmp.cy;
     } else {
@@ -277,8 +277,8 @@ BBox_c KCF_Tracker::getBBox()
     if (p_resize_image)
         tmp.scale(1 / p_downscale_factor);
     if (p_fit_to_pw2) {
-        tmp.scale_x(1 / p_scale_factor_x);
-        tmp.scale_y(1 / p_scale_factor_y);
+        tmp.scale_x(1 / p_fit_factor_x);
+        tmp.scale_y(1 / p_fit_factor_y);
     }
 
     return tmp;
@@ -294,14 +294,14 @@ void KCF_Tracker::resizeImgs(cv::Mat &input_rgb, cv::Mat &input_gray)
     if (p_resize_image) {
         cv::resize(input_gray, input_gray, cv::Size(0, 0), p_downscale_factor, p_downscale_factor, cv::INTER_AREA);
         cv::resize(input_rgb, input_rgb, cv::Size(0, 0), p_downscale_factor, p_downscale_factor, cv::INTER_AREA);
-    } else if (p_fit_to_pw2 && fabs(p_scale_factor_x - 1) > p_floating_error &&
-               fabs(p_scale_factor_y - 1) > p_floating_error) {
-        if (p_scale_factor_x < 1 && p_scale_factor_y < 1) {
-            cv::resize(input_gray, input_gray, cv::Size(0, 0), p_scale_factor_x, p_scale_factor_y, cv::INTER_AREA);
-            cv::resize(input_rgb, input_rgb, cv::Size(0, 0), p_scale_factor_x, p_scale_factor_y, cv::INTER_AREA);
+    } else if (p_fit_to_pw2 && fabs(p_fit_factor_x - 1) > p_floating_error &&
+               fabs(p_fit_factor_y - 1) > p_floating_error) {
+        if (p_fit_factor_x < 1 && p_fit_factor_y < 1) {
+            cv::resize(input_gray, input_gray, cv::Size(0, 0), p_fit_factor_x, p_fit_factor_y, cv::INTER_AREA);
+            cv::resize(input_rgb, input_rgb, cv::Size(0, 0), p_fit_factor_x, p_fit_factor_y, cv::INTER_AREA);
         } else {
-            cv::resize(input_gray, input_gray, cv::Size(0, 0), p_scale_factor_x, p_scale_factor_y, cv::INTER_LINEAR);
-            cv::resize(input_rgb, input_rgb, cv::Size(0, 0), p_scale_factor_x, p_scale_factor_y, cv::INTER_LINEAR);
+            cv::resize(input_gray, input_gray, cv::Size(0, 0), p_fit_factor_x, p_fit_factor_y, cv::INTER_LINEAR);
+            cv::resize(input_rgb, input_rgb, cv::Size(0, 0), p_fit_factor_x, p_fit_factor_y, cv::INTER_LINEAR);
         }
     }
 }
@@ -382,8 +382,8 @@ void KCF_Tracker::track(cv::Mat &img)
     p_pose.cx += p_current_scale * p_cell_size * double(new_location.x);
     p_pose.cy += p_current_scale * p_cell_size * double(new_location.y);
     if (p_fit_to_pw2) {
-        clamp2(p_pose.cx, 0.0, (img.cols * p_scale_factor_x) - 1);
-        clamp2(p_pose.cy, 0.0, (img.rows * p_scale_factor_y) - 1);
+        clamp2(p_pose.cx, 0.0, (img.cols * p_fit_factor_x) - 1);
+        clamp2(p_pose.cy, 0.0, (img.rows * p_fit_factor_y) - 1);
     } else {
         clamp2(p_pose.cx, 0.0, img.cols - 1.0);
         clamp2(p_pose.cy, 0.0, img.rows - 1.0);
index 8b344309986c593c9537fd0fbad9142963f6ea2e..f21d8222dd506b1cb260cfdf019c0031214e9ab2 100644 (file)
--- a/src/kcf.h
+++ b/src/kcf.h
@@ -98,8 +98,8 @@ private:
     bool p_fit_to_pw2 = false;
 
     const double p_downscale_factor = 0.5;
-    double p_scale_factor_x = 1;
-    double p_scale_factor_y = 1;
+    double p_fit_factor_x = 1;
+    double p_fit_factor_y = 1;
     const double p_floating_error = 0.0001;
 
     const double p_padding = 1.5;