From baf3fcb491ee1a5e083fbdfdf2c28aaf36488e92 Mon Sep 17 00:00:00 2001
From: AlexeyAB <alexeyab84@gmail.com>
Date: Fri, 16 Feb 2018 23:26:08 +0000
Subject: [PATCH] Calculation TP, FP, FN, avg_IoU for default threshold during mAP calculation

---
 src/yolo_v2_class.hpp |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/yolo_v2_class.hpp b/src/yolo_v2_class.hpp
index 1eaafb8..8abb9e2 100644
--- a/src/yolo_v2_class.hpp
+++ b/src/yolo_v2_class.hpp
@@ -144,8 +144,8 @@
 };
 
 
-#ifdef OPENCV
-#ifdef TRACK_OPTFLOW
+
+#if defined(TRACK_OPTFLOW) && defined(OPENCV)
 
 #include <opencv2/cudaoptflow.hpp>
 #include <opencv2/cudaimgproc.hpp>
@@ -193,8 +193,7 @@
 	void update_cur_bbox_vec(std::vector<bbox_t> _cur_bbox_vec)
 	{
 		cur_bbox_vec = _cur_bbox_vec;
-		good_bbox_vec_flags.resize(cur_bbox_vec.size());
-		for (auto &i : good_bbox_vec_flags) i = true;
+		good_bbox_vec_flags = std::vector<bool>(cur_bbox_vec.size(), true);
 		cv::Mat prev_pts, cur_pts_flow_cpu;
 
 		for (auto &i : cur_bbox_vec) {
@@ -297,7 +296,8 @@
 				float moved_y = cur_key_pt.y - prev_key_pt.y;
 
 				if (abs(moved_x) < 100 && abs(moved_y) < 100 && good_bbox_vec_flags[i])
-					if (err_cpu.at<float>(0, i) < flow_error && status_cpu.at<unsigned char>(0, i) != 0)
+					if (err_cpu.at<float>(0, i) < flow_error && status_cpu.at<unsigned char>(0, i) != 0 &&
+						((float)cur_bbox_vec[i].x + moved_x) > 0 && ((float)cur_bbox_vec[i].y + moved_y) > 0)
 					{
 						cur_bbox_vec[i].x += moved_x + 0.5;
 						cur_bbox_vec[i].y += moved_y + 0.5;
@@ -324,9 +324,11 @@
 
 class Tracker_optflow {};
 
-#endif	// TRACK_OPTFLOW
+#endif	// defined(TRACK_OPTFLOW) && defined(OPENCV)
 
 
+#ifdef OPENCV
+
 cv::Scalar obj_id_to_color(int obj_id) {
 	int const colors[6][3] = { { 1,0,1 },{ 0,0,1 },{ 0,1,1 },{ 0,1,0 },{ 1,1,0 },{ 1,0,0 } };
 	int const offset = obj_id * 123457 % 6;
@@ -469,4 +471,3 @@
 	}
 };
 #endif	// OPENCV
-

--
Gitblit v1.10.0