From dfbec7ea2bf7d324fe80647dde72957683539974 Mon Sep 17 00:00:00 2001
From: AlexeyAB <alexeyab84@gmail.com>
Date: Wed, 18 Jul 2018 12:08:34 +0000
Subject: [PATCH] PascalVOC label scripts are updated

---
 scripts/voc_label_difficult.py |    8 ++++----
 scripts/voc_label.py           |   13 ++++++++-----
 src/yolo_v2_class.hpp          |   22 +++++++++++-----------
 3 files changed, 23 insertions(+), 20 deletions(-)

diff --git a/scripts/voc_label.py b/scripts/voc_label.py
index d1e8823..679fc36 100644
--- a/scripts/voc_label.py
+++ b/scripts/voc_label.py
@@ -10,10 +10,10 @@
 
 
 def convert(size, box):
-    dw = 1./size[0]
-    dh = 1./size[1]
-    x = (box[0] + box[1])/2.0
-    y = (box[2] + box[3])/2.0
+    dw = 1./(size[0])
+    dh = 1./(size[1])
+    x = (box[0] + box[1])/2.0 - 1
+    y = (box[2] + box[3])/2.0 - 1
     w = box[1] - box[0]
     h = box[3] - box[2]
     x = x*dw
@@ -34,7 +34,7 @@
     for obj in root.iter('object'):
         difficult = obj.find('difficult').text
         cls = obj.find('name').text
-        if cls not in classes or int(difficult) == 1:
+        if cls not in classes or int(difficult)==1:
             continue
         cls_id = classes.index(cls)
         xmlbox = obj.find('bndbox')
@@ -54,3 +54,6 @@
         convert_annotation(year, image_id)
     list_file.close()
 
+os.system("cat 2007_train.txt 2007_val.txt 2012_train.txt 2012_val.txt > train.txt")
+os.system("cat 2007_train.txt 2007_val.txt 2007_test.txt 2012_train.txt 2012_val.txt > train.all.txt")
+
diff --git a/scripts/voc_label_difficult.py b/scripts/voc_label_difficult.py
index 93e57fe..cfffce3 100644
--- a/scripts/voc_label_difficult.py
+++ b/scripts/voc_label_difficult.py
@@ -10,10 +10,10 @@
 
 
 def convert(size, box):
-    dw = 1./size[0]
-    dh = 1./size[1]
-    x = (box[0] + box[1])/2.0
-    y = (box[2] + box[3])/2.0
+    dw = 1./(size[0])
+    dh = 1./(size[1])
+    x = (box[0] + box[1])/2.0 - 1
+    y = (box[2] + box[3])/2.0 - 1
     w = box[1] - box[0]
     h = box[3] - box[2]
     x = x*dw
diff --git a/src/yolo_v2_class.hpp b/src/yolo_v2_class.hpp
index 3dc9386..199b1c9 100644
--- a/src/yolo_v2_class.hpp
+++ b/src/yolo_v2_class.hpp
@@ -1,13 +1,13 @@
 #pragma once
 #ifdef YOLODLL_EXPORTS
 #if defined(_MSC_VER)
-#define YOLODLL_API __declspec(dllexport) 
+#define YOLODLL_API __declspec(dllexport)
 #else
 #define YOLODLL_API __attribute__((visibility("default")))
 #endif
 #else
 #if defined(_MSC_VER)
-#define YOLODLL_API __declspec(dllimport) 
+#define YOLODLL_API __declspec(dllimport)
 #else
 #define YOLODLL_API
 #endif
@@ -71,7 +71,7 @@
     YOLODLL_API int get_net_height() const;
     YOLODLL_API int get_net_color_depth() const;
 
-    YOLODLL_API std::vector<bbox_t> tracking_id(std::vector<bbox_t> cur_bbox_vec, bool const change_history = true, 
+    YOLODLL_API std::vector<bbox_t> tracking_id(std::vector<bbox_t> cur_bbox_vec, bool const change_history = true,
                                                 int const frames_story = 10, int const max_dist = 150);
 
     std::vector<bbox_t> detect_resized(image_t img, int init_w, int init_h, float thresh = 0.2, bool use_mean = false)
@@ -97,14 +97,14 @@
     {
         if (mat.data == NULL) return std::shared_ptr<image_t>(NULL);
 
-        cv::Size s = mat.size();
-        if (get_net_width() != s.width || get_net_height() != s.height) {
-            cv::Mat det_mat;
-            cv::resize(mat, det_mat, cv::Size(get_net_width(), get_net_height()));
-            return mat_to_image(det_mat);
-        }
+        cv::Size network_size = cv::Size(get_net_width(), get_net_height());
+        cv::Mat det_mat;
+        if (mat.size() != network_size)
+            cv::resize(mat, det_mat, network_size);
+        else
+            det_mat = mat;  // only reference is copied
 
-        return mat_to_image(mat);
+        return mat_to_image(det_mat);
     }
 
     static std::shared_ptr<image_t> mat_to_image(cv::Mat img_src)
@@ -304,7 +304,7 @@
 
         std::vector<bbox_t> result_bbox_vec;
 
-        if (err_cpu.cols == cur_bbox_vec.size() && status_cpu.cols == cur_bbox_vec.size()) 
+        if (err_cpu.cols == cur_bbox_vec.size() && status_cpu.cols == cur_bbox_vec.size())
         {
             for (size_t i = 0; i < cur_bbox_vec.size(); ++i)
             {

--
Gitblit v1.10.0