mirror of
https://github.com/opencv/opencv.git
synced 2025-06-11 20:09:23 +08:00
Merge pull request #10676 from dkurt:dnn_for_newer_mobilenet_ssd
This commit is contained in:
commit
104502c5be
@ -416,6 +416,11 @@ public:
|
||||
{
|
||||
_boxWidth = _widths[0] * _scales[0];
|
||||
_boxHeight = _heights[0] * _scales[0];
|
||||
if (_bboxesNormalized)
|
||||
{
|
||||
_boxWidth *= _imageWidth;
|
||||
_boxHeight *= _imageHeight;
|
||||
}
|
||||
}
|
||||
else
|
||||
_boxWidth = _boxHeight = _minSize * _scales[0];
|
||||
@ -463,6 +468,11 @@ public:
|
||||
{
|
||||
_boxWidth = _widths[i] * _scales[i];
|
||||
_boxHeight = _heights[i] * _scales[i];
|
||||
if (_bboxesNormalized)
|
||||
{
|
||||
_boxWidth *= _imageWidth;
|
||||
_boxHeight *= _imageHeight;
|
||||
}
|
||||
for (int j = 0; j < _offsetsX.size(); ++j)
|
||||
{
|
||||
float center_x = (w + _offsetsX[j]) * stepX;
|
||||
|
@ -1411,23 +1411,17 @@ void TFImporter::populateNet(Net dstNet)
|
||||
layerParams.set("clip", getLayerAttr(layer, "clip").b());
|
||||
if (hasLayerAttr(layer, "offset"))
|
||||
layerParams.set("offset", getLayerAttr(layer, "offset").f());
|
||||
if (hasLayerAttr(layer, "variance"))
|
||||
|
||||
const std::string paramNames[] = {"variance", "aspect_ratio", "scales",
|
||||
"width", "height"};
|
||||
for (int i = 0; i < 5; ++i)
|
||||
{
|
||||
Mat variance = getTensorContent(getLayerAttr(layer, "variance").tensor());
|
||||
layerParams.set("variance",
|
||||
DictValue::arrayReal<float*>((float*)variance.data, variance.total()));
|
||||
}
|
||||
if (hasLayerAttr(layer, "aspect_ratio"))
|
||||
{
|
||||
Mat aspectRatios = getTensorContent(getLayerAttr(layer, "aspect_ratio").tensor());
|
||||
layerParams.set("aspect_ratio",
|
||||
DictValue::arrayReal<float*>((float*)aspectRatios.data, aspectRatios.total()));
|
||||
}
|
||||
if (hasLayerAttr(layer, "scales"))
|
||||
{
|
||||
Mat scales = getTensorContent(getLayerAttr(layer, "scales").tensor());
|
||||
layerParams.set("scales",
|
||||
DictValue::arrayReal<float*>((float*)scales.data, scales.total()));
|
||||
if (hasLayerAttr(layer, paramNames[i]))
|
||||
{
|
||||
Mat values = getTensorContent(getLayerAttr(layer, paramNames[i]).tensor());
|
||||
layerParams.set(paramNames[i],
|
||||
DictValue::arrayReal<float*>((float*)values.data, values.total()));
|
||||
}
|
||||
}
|
||||
int id = dstNet.addLayer(name, "PriorBox", layerParams);
|
||||
layer_id[name] = id;
|
||||
|
Loading…
Reference in New Issue
Block a user