Пример #1
0
        private Layer ConvertPriorBox(paddle.OpDesc op)
        {
            var image      = GetParameter(op.Inputs, "Image").Arguments[0];
            var imageShape = GetVarShape(image);

            var minSizes     = GetAttr(op, "min_sizes").Floats.ToArray();
            var maxSizes     = GetAttr(op, "max_sizes").Floats.ToArray();
            var aspectRatios = GetAttr(op, "aspect_ratios").Floats.ToArray();
            var variances    = GetAttr(op, "variances").Floats.ToArray();
            var flip         = GetAttr(op, "flip").B;
            var clip         = GetAttr(op, "clip").B;
            var stepWidth    = GetAttr(op, "step_w").I;
            var stepHeight   = GetAttr(op, "step_h").I;
            var offset       = GetAttr(op, "offset").F;

            var input = GetParameter(op.Inputs, "Input").Arguments[0];
            var boxes = GetParameter(op.Outputs, "Boxes").Arguments[0];
            var v     = GetParameter(op.Outputs, "Variances").Arguments[0];

            var layer = new PriorBox(GetVarShape(input), imageShape[3], imageShape[2], minSizes, maxSizes, aspectRatios, variances, flip, clip, stepWidth, stepHeight, offset);

            _inputs.Add(layer.Input, input);
            _outputs.Add(boxes, layer.Boxes);
            _outputs.Add(v, layer.VariancesOutput);
            return(layer);
        }
        public override void OnWebCamTextureToMatHelperInitialized()
        {
            base.OnWebCamTextureToMatHelperInitialized();

            Size input_shape  = new Size(inpWidth > 0 ? inpWidth : 320, inpHeight > 0 ? inpHeight : 240);
            Size output_shape = bgrMat.size();

            pb = new PriorBox(input_shape, output_shape);
        }
        public override void OnWebCamTextureToMatHelperDisposed()
        {
            base.OnWebCamTextureToMatHelperDisposed();

            if (pb != null)
            {
                pb.dispose();
                pb = null;
            }

            if (boxes_m_c1 != null)
            {
                boxes_m_c1.Dispose();
            }
            if (boxes_m_c4 != null)
            {
                boxes_m_c4.Dispose();
            }
            if (confidences_m != null)
            {
                confidences_m.Dispose();
            }
            if (boxes != null)
            {
                boxes.Dispose();
            }
            if (confidences != null)
            {
                confidences.Dispose();
            }
            if (indices != null)
            {
                indices.Dispose();
            }

            boxes_m_c1    = null;
            boxes_m_c4    = null;
            confidences_m = null;
            boxes         = null;
            confidences   = null;
            indices       = null;
        }