From 2cacbb0be4b0c6591a0a72a57be4a7ed005db762 Mon Sep 17 00:00:00 2001
From: Scheaven <xuepengqiang>
Date: 星期五, 23 七月 2021 14:24:13 +0800
Subject: [PATCH] bug

---
 src/detecter_tools/model.cpp |  114 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 62 insertions(+), 52 deletions(-)

diff --git a/src/detecter_tools/model.cpp b/src/detecter_tools/model.cpp
index fd7752c..f3b21a8 100644
--- a/src/detecter_tools/model.cpp
+++ b/src/detecter_tools/model.cpp
@@ -268,12 +268,72 @@
 void Detecter::setOutput(int type)
 {
     m_OutputTensors.clear();
-    if(type==0)
-        for (int i = 0; i < 3; ++i)
+    printf("0-0-0-0-0-0------------------%d",type);
+    if(type==2)
+        for (int i = 0; i < 2; ++i)
         {
             TensorInfo outputTensor;
             outputTensor.numClasses = CLASS_BUM;
             outputTensor.blobName = "yolo_" + std::to_string(i);
+            outputTensor.gridSize = (m_InputH / 32) * pow(2, i);
+            outputTensor.grid_h = (m_InputH / 32) * pow(2, i);
+            outputTensor.grid_w = (m_InputW / 32) * pow(2, i);
+            outputTensor.stride = m_InputH / outputTensor.gridSize;
+            outputTensor.stride_h = m_InputH / outputTensor.grid_h;
+            outputTensor.stride_w = m_InputW / outputTensor.grid_w;
+            outputTensor.numBBoxes = 3;
+            outputTensor.volume = outputTensor.grid_h* outputTensor.grid_w
+                *(outputTensor.numBBoxes*(5 + outputTensor.numClasses));
+            if(i==1)
+            {
+                outputTensor.masks.push_back(1);
+                outputTensor.masks.push_back(2);
+                outputTensor.masks.push_back(3);
+            }
+            if(i==0)
+            {
+                outputTensor.masks.push_back(3);
+                outputTensor.masks.push_back(4);
+                outputTensor.masks.push_back(5);
+            }
+            outputTensor.anchors.push_back(10);
+            outputTensor.anchors.push_back(14);
+            outputTensor.anchors.push_back(23);
+            outputTensor.anchors.push_back(27);
+            outputTensor.anchors.push_back(37);
+            outputTensor.anchors.push_back(58);
+            outputTensor.anchors.push_back(81);
+            outputTensor.anchors.push_back(82);
+            outputTensor.anchors.push_back(135);
+            outputTensor.anchors.push_back(169);
+            outputTensor.anchors.push_back(344);
+            outputTensor.anchors.push_back(319);
+
+            if (m_ClassNames.empty())
+            {
+                for (uint32_t j=0;j< outputTensor.numClasses;++j)
+                {
+                    m_ClassNames.push_back(std::to_string(j));
+                }
+            }
+            m_OutputTensors.push_back(outputTensor);
+        }
+    else
+        for (int i = 0; i < 3; ++i)
+        {
+            TensorInfo outputTensor;
+            outputTensor.numClasses = CLASS_BUM;
+            outputTensor.blobName = "yolo_" + to_string(i);
+            // if (i==0)
+            // {
+            //     outputTensor.blobName = "139_convolutional_reshape_2";
+            // }else if (i==1)
+            // {
+            //     outputTensor.blobName = "150_convolutional_reshape_2";
+            // }else if (i==2)
+            // {
+            //     outputTensor.blobName = "161_convolutional_reshape_2";
+            // }
             outputTensor.gridSize = (m_InputH / 32) * pow(2, 2-i);
             outputTensor.grid_h = (m_InputH / 32) * pow(2, 2-i);
             outputTensor.grid_w = (m_InputW / 32) * pow(2, 2-i);
@@ -319,56 +379,6 @@
             outputTensor.anchors.push_back(243);
             outputTensor.anchors.push_back(459);
             outputTensor.anchors.push_back(401);
-
-            if (m_ClassNames.empty())
-            {
-                for (uint32_t j=0;j< outputTensor.numClasses;++j)
-                {
-                    m_ClassNames.push_back(std::to_string(j));
-                }
-            }
-            m_OutputTensors.push_back(outputTensor);
-        }
-    else
-        for (int i = 0; i < 2; ++i)
-        {
-
-            TensorInfo outputTensor;
-            outputTensor.numClasses = CLASS_BUM;
-            outputTensor.blobName = "yolo_" + std::to_string(i);
-            outputTensor.gridSize = (m_InputH / 32) * pow(2, i);
-            outputTensor.grid_h = (m_InputH / 32) * pow(2, i);
-            outputTensor.grid_w = (m_InputW / 32) * pow(2, i);
-            outputTensor.stride = m_InputH / outputTensor.gridSize;
-            outputTensor.stride_h = m_InputH / outputTensor.grid_h;
-            outputTensor.stride_w = m_InputW / outputTensor.grid_w;
-            outputTensor.numBBoxes = 3;
-            outputTensor.volume = outputTensor.grid_h* outputTensor.grid_w
-                *(outputTensor.numBBoxes*(5 + outputTensor.numClasses));
-            if(i==1)
-            {
-                outputTensor.masks.push_back(1);
-                outputTensor.masks.push_back(2);
-                outputTensor.masks.push_back(3);
-            }
-            if(i==0)
-            {
-                outputTensor.masks.push_back(3);
-                outputTensor.masks.push_back(4);
-                outputTensor.masks.push_back(5);
-            }
-            outputTensor.anchors.push_back(10);
-            outputTensor.anchors.push_back(14);
-            outputTensor.anchors.push_back(23);
-            outputTensor.anchors.push_back(27);
-            outputTensor.anchors.push_back(37);
-            outputTensor.anchors.push_back(58);
-            outputTensor.anchors.push_back(81);
-            outputTensor.anchors.push_back(82);
-            outputTensor.anchors.push_back(135);
-            outputTensor.anchors.push_back(169);
-            outputTensor.anchors.push_back(344);
-            outputTensor.anchors.push_back(319);
 
             if (m_ClassNames.empty())
             {

--
Gitblit v1.8.0