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