Class Dnn


  • public class Dnn
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      Dnn()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static Mat blobFromImage​(Mat image)
      Creates 4-dimensional blob from image.
      static Mat blobFromImage​(Mat image, double scalefactor)
      Creates 4-dimensional blob from image.
      static Mat blobFromImage​(Mat image, double scalefactor, Size size)
      Creates 4-dimensional blob from image.
      static Mat blobFromImage​(Mat image, double scalefactor, Size size, Scalar mean)
      Creates 4-dimensional blob from image.
      static Mat blobFromImage​(Mat image, double scalefactor, Size size, Scalar mean, boolean swapRB)
      Creates 4-dimensional blob from image.
      static Mat blobFromImage​(Mat image, double scalefactor, Size size, Scalar mean, boolean swapRB, boolean crop)
      Creates 4-dimensional blob from image.
      static Mat blobFromImage​(Mat image, double scalefactor, Size size, Scalar mean, boolean swapRB, boolean crop, int ddepth)
      Creates 4-dimensional blob from image.
      static Mat blobFromImages​(java.util.List<Mat> images)
      Creates 4-dimensional blob from series of images.
      static Mat blobFromImages​(java.util.List<Mat> images, double scalefactor)
      Creates 4-dimensional blob from series of images.
      static Mat blobFromImages​(java.util.List<Mat> images, double scalefactor, Size size)
      Creates 4-dimensional blob from series of images.
      static Mat blobFromImages​(java.util.List<Mat> images, double scalefactor, Size size, Scalar mean)
      Creates 4-dimensional blob from series of images.
      static Mat blobFromImages​(java.util.List<Mat> images, double scalefactor, Size size, Scalar mean, boolean swapRB)
      Creates 4-dimensional blob from series of images.
      static Mat blobFromImages​(java.util.List<Mat> images, double scalefactor, Size size, Scalar mean, boolean swapRB, boolean crop)
      Creates 4-dimensional blob from series of images.
      static Mat blobFromImages​(java.util.List<Mat> images, double scalefactor, Size size, Scalar mean, boolean swapRB, boolean crop, int ddepth)
      Creates 4-dimensional blob from series of images.
      static java.util.List<java.lang.Integer> getAvailableTargets​(int be)  
      static java.lang.String getInferenceEngineBackendType()
      Returns Inference Engine internal backend API.
      static java.lang.String getInferenceEngineVPUType()
      Returns Inference Engine VPU type.
      static void imagesFromBlob​(Mat blob_, java.util.List<Mat> images_)
      Parse a 4D blob and output the images it contains as 2D arrays through a simpler data structure (std::vector<cv::Mat>).
      static void NMSBoxes​(MatOfRect2d bboxes, MatOfFloat scores, float score_threshold, float nms_threshold, MatOfInt indices)
      Performs non maximum suppression given boxes and corresponding scores.
      static void NMSBoxes​(MatOfRect2d bboxes, MatOfFloat scores, float score_threshold, float nms_threshold, MatOfInt indices, float eta)
      Performs non maximum suppression given boxes and corresponding scores.
      static void NMSBoxes​(MatOfRect2d bboxes, MatOfFloat scores, float score_threshold, float nms_threshold, MatOfInt indices, float eta, int top_k)
      Performs non maximum suppression given boxes and corresponding scores.
      static void NMSBoxesRotated​(MatOfRotatedRect bboxes, MatOfFloat scores, float score_threshold, float nms_threshold, MatOfInt indices)  
      static void NMSBoxesRotated​(MatOfRotatedRect bboxes, MatOfFloat scores, float score_threshold, float nms_threshold, MatOfInt indices, float eta)  
      static void NMSBoxesRotated​(MatOfRotatedRect bboxes, MatOfFloat scores, float score_threshold, float nms_threshold, MatOfInt indices, float eta, int top_k)  
      static Net readNet​(java.lang.String model)
      Read deep learning network represented in one of the supported formats.
      static Net readNet​(java.lang.String model, java.lang.String config)
      Read deep learning network represented in one of the supported formats.
      static Net readNet​(java.lang.String model, java.lang.String config, java.lang.String framework)
      Read deep learning network represented in one of the supported formats.
      static Net readNet​(java.lang.String framework, MatOfByte bufferModel)
      Read deep learning network represented in one of the supported formats.
      static Net readNet​(java.lang.String framework, MatOfByte bufferModel, MatOfByte bufferConfig)
      Read deep learning network represented in one of the supported formats.
      static Net readNetFromCaffe​(java.lang.String prototxt)
      Reads a network model stored in <a href="http://caffe.berkeleyvision.org">Caffe</a> framework's format.
      static Net readNetFromCaffe​(java.lang.String prototxt, java.lang.String caffeModel)
      Reads a network model stored in <a href="http://caffe.berkeleyvision.org">Caffe</a> framework's format.
      static Net readNetFromCaffe​(MatOfByte bufferProto)
      Reads a network model stored in Caffe model in memory.
      static Net readNetFromCaffe​(MatOfByte bufferProto, MatOfByte bufferModel)
      Reads a network model stored in Caffe model in memory.
      static Net readNetFromDarknet​(java.lang.String cfgFile)
      Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.
      static Net readNetFromDarknet​(java.lang.String cfgFile, java.lang.String darknetModel)
      Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.
      static Net readNetFromDarknet​(MatOfByte bufferCfg)
      Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.
      static Net readNetFromDarknet​(MatOfByte bufferCfg, MatOfByte bufferModel)
      Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.
      static Net readNetFromModelOptimizer​(java.lang.String xml, java.lang.String bin)
      Load a network from Intel's Model Optimizer intermediate representation.
      static Net readNetFromModelOptimizer​(MatOfByte bufferModelConfig, MatOfByte bufferWeights)
      Load a network from Intel's Model Optimizer intermediate representation.
      static Net readNetFromONNX​(java.lang.String onnxFile)
      Reads a network model <a href="https://onnx.ai/">ONNX</a>.
      static Net readNetFromONNX​(MatOfByte buffer)
      Reads a network model from <a href="https://onnx.ai/">ONNX</a> in-memory buffer.
      static Net readNetFromTensorflow​(java.lang.String model)
      Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.
      static Net readNetFromTensorflow​(java.lang.String model, java.lang.String config)
      Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.
      static Net readNetFromTensorflow​(MatOfByte bufferModel)
      Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.
      static Net readNetFromTensorflow​(MatOfByte bufferModel, MatOfByte bufferConfig)
      Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.
      static Net readNetFromTorch​(java.lang.String model)
      Reads a network model stored in <a href="http://torch.ch">Torch7</a> framework's format.
      static Net readNetFromTorch​(java.lang.String model, boolean isBinary)
      Reads a network model stored in <a href="http://torch.ch">Torch7</a> framework's format.
      static Net readNetFromTorch​(java.lang.String model, boolean isBinary, boolean evaluate)
      Reads a network model stored in <a href="http://torch.ch">Torch7</a> framework's format.
      static Mat readTensorFromONNX​(java.lang.String path)
      Creates blob from .pb file.
      static Mat readTorchBlob​(java.lang.String filename)
      Loads blob which was serialized as torch.Tensor object of Torch7 framework.
      static Mat readTorchBlob​(java.lang.String filename, boolean isBinary)
      Loads blob which was serialized as torch.Tensor object of Torch7 framework.
      static void resetMyriadDevice()
      Release a Myriad device (binded by OpenCV).
      static java.lang.String setInferenceEngineBackendType​(java.lang.String newBackendType)
      Specify Inference Engine internal backend API.
      static void shrinkCaffeModel​(java.lang.String src, java.lang.String dst)
      Convert all weights of Caffe network to half precision floating point.
      static void shrinkCaffeModel​(java.lang.String src, java.lang.String dst, java.util.List<java.lang.String> layersTypes)
      Convert all weights of Caffe network to half precision floating point.
      static void writeTextGraph​(java.lang.String model, java.lang.String output)
      Create a text representation for a binary network stored in protocol buffer format.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Dnn

        public Dnn()
    • Method Detail

      • blobFromImage

        public static Mat blobFromImage​(Mat image,
                                        double scalefactor,
                                        Size size,
                                        Scalar mean,
                                        boolean swapRB,
                                        boolean crop,
                                        int ddepth)
        Creates 4-dimensional blob from image. Optionally resizes and crops image from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels.
        Parameters:
        image - input image (with 1-, 3- or 4-channels).
        size - spatial size for output image
        mean - scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true.
        scalefactor - multiplier for image values.
        swapRB - flag which indicates that swap first and last channels in 3-channel image is necessary.
        crop - flag which indicates whether image will be cropped after resize or not
        ddepth - Depth of output blob. Choose CV_32F or CV_8U. if crop is true, input image is resized so one side after resize is equal to corresponding dimension in size and another one is equal or larger. Then, crop from the center is performed. If crop is false, direct resize without cropping and preserving aspect ratio is performed.
        Returns:
        4-dimensional Mat with NCHW dimensions order.
      • blobFromImage

        public static Mat blobFromImage​(Mat image,
                                        double scalefactor,
                                        Size size,
                                        Scalar mean,
                                        boolean swapRB,
                                        boolean crop)
        Creates 4-dimensional blob from image. Optionally resizes and crops image from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels.
        Parameters:
        image - input image (with 1-, 3- or 4-channels).
        size - spatial size for output image
        mean - scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true.
        scalefactor - multiplier for image values.
        swapRB - flag which indicates that swap first and last channels in 3-channel image is necessary.
        crop - flag which indicates whether image will be cropped after resize or not if crop is true, input image is resized so one side after resize is equal to corresponding dimension in size and another one is equal or larger. Then, crop from the center is performed. If crop is false, direct resize without cropping and preserving aspect ratio is performed.
        Returns:
        4-dimensional Mat with NCHW dimensions order.
      • blobFromImage

        public static Mat blobFromImage​(Mat image,
                                        double scalefactor,
                                        Size size,
                                        Scalar mean,
                                        boolean swapRB)
        Creates 4-dimensional blob from image. Optionally resizes and crops image from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels.
        Parameters:
        image - input image (with 1-, 3- or 4-channels).
        size - spatial size for output image
        mean - scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true.
        scalefactor - multiplier for image values.
        swapRB - flag which indicates that swap first and last channels in 3-channel image is necessary. if crop is true, input image is resized so one side after resize is equal to corresponding dimension in size and another one is equal or larger. Then, crop from the center is performed. If crop is false, direct resize without cropping and preserving aspect ratio is performed.
        Returns:
        4-dimensional Mat with NCHW dimensions order.
      • blobFromImage

        public static Mat blobFromImage​(Mat image,
                                        double scalefactor,
                                        Size size,
                                        Scalar mean)
        Creates 4-dimensional blob from image. Optionally resizes and crops image from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels.
        Parameters:
        image - input image (with 1-, 3- or 4-channels).
        size - spatial size for output image
        mean - scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true.
        scalefactor - multiplier for image values. in 3-channel image is necessary. if crop is true, input image is resized so one side after resize is equal to corresponding dimension in size and another one is equal or larger. Then, crop from the center is performed. If crop is false, direct resize without cropping and preserving aspect ratio is performed.
        Returns:
        4-dimensional Mat with NCHW dimensions order.
      • blobFromImage

        public static Mat blobFromImage​(Mat image,
                                        double scalefactor,
                                        Size size)
        Creates 4-dimensional blob from image. Optionally resizes and crops image from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels.
        Parameters:
        image - input image (with 1-, 3- or 4-channels).
        size - spatial size for output image to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true.
        scalefactor - multiplier for image values. in 3-channel image is necessary. if crop is true, input image is resized so one side after resize is equal to corresponding dimension in size and another one is equal or larger. Then, crop from the center is performed. If crop is false, direct resize without cropping and preserving aspect ratio is performed.
        Returns:
        4-dimensional Mat with NCHW dimensions order.
      • blobFromImage

        public static Mat blobFromImage​(Mat image,
                                        double scalefactor)
        Creates 4-dimensional blob from image. Optionally resizes and crops image from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels.
        Parameters:
        image - input image (with 1-, 3- or 4-channels). to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true.
        scalefactor - multiplier for image values. in 3-channel image is necessary. if crop is true, input image is resized so one side after resize is equal to corresponding dimension in size and another one is equal or larger. Then, crop from the center is performed. If crop is false, direct resize without cropping and preserving aspect ratio is performed.
        Returns:
        4-dimensional Mat with NCHW dimensions order.
      • blobFromImage

        public static Mat blobFromImage​(Mat image)
        Creates 4-dimensional blob from image. Optionally resizes and crops image from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels.
        Parameters:
        image - input image (with 1-, 3- or 4-channels). to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true. in 3-channel image is necessary. if crop is true, input image is resized so one side after resize is equal to corresponding dimension in size and another one is equal or larger. Then, crop from the center is performed. If crop is false, direct resize without cropping and preserving aspect ratio is performed.
        Returns:
        4-dimensional Mat with NCHW dimensions order.
      • blobFromImages

        public static Mat blobFromImages​(java.util.List<Mat> images,
                                         double scalefactor,
                                         Size size,
                                         Scalar mean,
                                         boolean swapRB,
                                         boolean crop,
                                         int ddepth)
        Creates 4-dimensional blob from series of images. Optionally resizes and crops images from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels.
        Parameters:
        images - input images (all with 1-, 3- or 4-channels).
        size - spatial size for output image
        mean - scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true.
        scalefactor - multiplier for images values.
        swapRB - flag which indicates that swap first and last channels in 3-channel image is necessary.
        crop - flag which indicates whether image will be cropped after resize or not
        ddepth - Depth of output blob. Choose CV_32F or CV_8U. if crop is true, input image is resized so one side after resize is equal to corresponding dimension in size and another one is equal or larger. Then, crop from the center is performed. If crop is false, direct resize without cropping and preserving aspect ratio is performed.
        Returns:
        4-dimensional Mat with NCHW dimensions order.
      • blobFromImages

        public static Mat blobFromImages​(java.util.List<Mat> images,
                                         double scalefactor,
                                         Size size,
                                         Scalar mean,
                                         boolean swapRB,
                                         boolean crop)
        Creates 4-dimensional blob from series of images. Optionally resizes and crops images from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels.
        Parameters:
        images - input images (all with 1-, 3- or 4-channels).
        size - spatial size for output image
        mean - scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true.
        scalefactor - multiplier for images values.
        swapRB - flag which indicates that swap first and last channels in 3-channel image is necessary.
        crop - flag which indicates whether image will be cropped after resize or not if crop is true, input image is resized so one side after resize is equal to corresponding dimension in size and another one is equal or larger. Then, crop from the center is performed. If crop is false, direct resize without cropping and preserving aspect ratio is performed.
        Returns:
        4-dimensional Mat with NCHW dimensions order.
      • blobFromImages

        public static Mat blobFromImages​(java.util.List<Mat> images,
                                         double scalefactor,
                                         Size size,
                                         Scalar mean,
                                         boolean swapRB)
        Creates 4-dimensional blob from series of images. Optionally resizes and crops images from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels.
        Parameters:
        images - input images (all with 1-, 3- or 4-channels).
        size - spatial size for output image
        mean - scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true.
        scalefactor - multiplier for images values.
        swapRB - flag which indicates that swap first and last channels in 3-channel image is necessary. if crop is true, input image is resized so one side after resize is equal to corresponding dimension in size and another one is equal or larger. Then, crop from the center is performed. If crop is false, direct resize without cropping and preserving aspect ratio is performed.
        Returns:
        4-dimensional Mat with NCHW dimensions order.
      • blobFromImages

        public static Mat blobFromImages​(java.util.List<Mat> images,
                                         double scalefactor,
                                         Size size,
                                         Scalar mean)
        Creates 4-dimensional blob from series of images. Optionally resizes and crops images from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels.
        Parameters:
        images - input images (all with 1-, 3- or 4-channels).
        size - spatial size for output image
        mean - scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true.
        scalefactor - multiplier for images values. in 3-channel image is necessary. if crop is true, input image is resized so one side after resize is equal to corresponding dimension in size and another one is equal or larger. Then, crop from the center is performed. If crop is false, direct resize without cropping and preserving aspect ratio is performed.
        Returns:
        4-dimensional Mat with NCHW dimensions order.
      • blobFromImages

        public static Mat blobFromImages​(java.util.List<Mat> images,
                                         double scalefactor,
                                         Size size)
        Creates 4-dimensional blob from series of images. Optionally resizes and crops images from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels.
        Parameters:
        images - input images (all with 1-, 3- or 4-channels).
        size - spatial size for output image to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true.
        scalefactor - multiplier for images values. in 3-channel image is necessary. if crop is true, input image is resized so one side after resize is equal to corresponding dimension in size and another one is equal or larger. Then, crop from the center is performed. If crop is false, direct resize without cropping and preserving aspect ratio is performed.
        Returns:
        4-dimensional Mat with NCHW dimensions order.
      • blobFromImages

        public static Mat blobFromImages​(java.util.List<Mat> images,
                                         double scalefactor)
        Creates 4-dimensional blob from series of images. Optionally resizes and crops images from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels.
        Parameters:
        images - input images (all with 1-, 3- or 4-channels). to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true.
        scalefactor - multiplier for images values. in 3-channel image is necessary. if crop is true, input image is resized so one side after resize is equal to corresponding dimension in size and another one is equal or larger. Then, crop from the center is performed. If crop is false, direct resize without cropping and preserving aspect ratio is performed.
        Returns:
        4-dimensional Mat with NCHW dimensions order.
      • blobFromImages

        public static Mat blobFromImages​(java.util.List<Mat> images)
        Creates 4-dimensional blob from series of images. Optionally resizes and crops images from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels.
        Parameters:
        images - input images (all with 1-, 3- or 4-channels). to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true. in 3-channel image is necessary. if crop is true, input image is resized so one side after resize is equal to corresponding dimension in size and another one is equal or larger. Then, crop from the center is performed. If crop is false, direct resize without cropping and preserving aspect ratio is performed.
        Returns:
        4-dimensional Mat with NCHW dimensions order.
      • readTensorFromONNX

        public static Mat readTensorFromONNX​(java.lang.String path)
        Creates blob from .pb file.
        Parameters:
        path - to the .pb file with input tensor.
        Returns:
        Mat.
      • readTorchBlob

        public static Mat readTorchBlob​(java.lang.String filename,
                                        boolean isBinary)
        Loads blob which was serialized as torch.Tensor object of Torch7 framework. WARNING: This function has the same limitations as readNetFromTorch().
        Parameters:
        filename - automatically generated
        isBinary - automatically generated
        Returns:
        automatically generated
      • readTorchBlob

        public static Mat readTorchBlob​(java.lang.String filename)
        Loads blob which was serialized as torch.Tensor object of Torch7 framework. WARNING: This function has the same limitations as readNetFromTorch().
        Parameters:
        filename - automatically generated
        Returns:
        automatically generated
      • readNet

        public static Net readNet​(java.lang.String framework,
                                  MatOfByte bufferModel,
                                  MatOfByte bufferConfig)
        Read deep learning network represented in one of the supported formats. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
        Parameters:
        framework - Name of origin framework.
        bufferModel - A buffer with a content of binary file with weights
        bufferConfig - A buffer with a content of text file contains network configuration.
        Returns:
        Net object.
      • readNet

        public static Net readNet​(java.lang.String framework,
                                  MatOfByte bufferModel)
        Read deep learning network represented in one of the supported formats. This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
        Parameters:
        framework - Name of origin framework.
        bufferModel - A buffer with a content of binary file with weights
        Returns:
        Net object.
      • readNet

        public static Net readNet​(java.lang.String model,
                                  java.lang.String config,
                                  java.lang.String framework)
        Read deep learning network represented in one of the supported formats.
        Parameters:
        model - Binary file contains trained weights. The following file extensions are expected for models from different frameworks: * *.caffemodel (Caffe, http://caffe.berkeleyvision.org/) * *.pb (TensorFlow, https://www.tensorflow.org/) * *.t7 | *.net (Torch, http://torch.ch/) * *.weights (Darknet, https://pjreddie.com/darknet/) * *.bin (DLDT, https://software.intel.com/openvino-toolkit) * *.onnx (ONNX, https://onnx.ai/)
        config - Text file contains network configuration. It could be a file with the following extensions: * *.prototxt (Caffe, http://caffe.berkeleyvision.org/) * *.pbtxt (TensorFlow, https://www.tensorflow.org/) * *.cfg (Darknet, https://pjreddie.com/darknet/) * *.xml (DLDT, https://software.intel.com/openvino-toolkit)
        framework - Explicit framework name tag to determine a format.
        Returns:
        Net object. This function automatically detects an origin framework of trained model and calls an appropriate function such REF: readNetFromCaffe, REF: readNetFromTensorflow, REF: readNetFromTorch or REF: readNetFromDarknet. An order of model and config arguments does not matter.
      • readNet

        public static Net readNet​(java.lang.String model,
                                  java.lang.String config)
        Read deep learning network represented in one of the supported formats.
        Parameters:
        model - Binary file contains trained weights. The following file extensions are expected for models from different frameworks: * *.caffemodel (Caffe, http://caffe.berkeleyvision.org/) * *.pb (TensorFlow, https://www.tensorflow.org/) * *.t7 | *.net (Torch, http://torch.ch/) * *.weights (Darknet, https://pjreddie.com/darknet/) * *.bin (DLDT, https://software.intel.com/openvino-toolkit) * *.onnx (ONNX, https://onnx.ai/)
        config - Text file contains network configuration. It could be a file with the following extensions: * *.prototxt (Caffe, http://caffe.berkeleyvision.org/) * *.pbtxt (TensorFlow, https://www.tensorflow.org/) * *.cfg (Darknet, https://pjreddie.com/darknet/) * *.xml (DLDT, https://software.intel.com/openvino-toolkit)
        Returns:
        Net object. This function automatically detects an origin framework of trained model and calls an appropriate function such REF: readNetFromCaffe, REF: readNetFromTensorflow, REF: readNetFromTorch or REF: readNetFromDarknet. An order of model and config arguments does not matter.
      • readNet

        public static Net readNet​(java.lang.String model)
        Read deep learning network represented in one of the supported formats.
        Parameters:
        model - Binary file contains trained weights. The following file extensions are expected for models from different frameworks: * *.caffemodel (Caffe, http://caffe.berkeleyvision.org/) * *.pb (TensorFlow, https://www.tensorflow.org/) * *.t7 | *.net (Torch, http://torch.ch/) * *.weights (Darknet, https://pjreddie.com/darknet/) * *.bin (DLDT, https://software.intel.com/openvino-toolkit) * *.onnx (ONNX, https://onnx.ai/) file with the following extensions: * *.prototxt (Caffe, http://caffe.berkeleyvision.org/) * *.pbtxt (TensorFlow, https://www.tensorflow.org/) * *.cfg (Darknet, https://pjreddie.com/darknet/) * *.xml (DLDT, https://software.intel.com/openvino-toolkit)
        Returns:
        Net object. This function automatically detects an origin framework of trained model and calls an appropriate function such REF: readNetFromCaffe, REF: readNetFromTensorflow, REF: readNetFromTorch or REF: readNetFromDarknet. An order of model and config arguments does not matter.
      • readNetFromCaffe

        public static Net readNetFromCaffe​(java.lang.String prototxt,
                                           java.lang.String caffeModel)
        Reads a network model stored in <a href="http://caffe.berkeleyvision.org">Caffe</a> framework's format.
        Parameters:
        prototxt - path to the .prototxt file with text description of the network architecture.
        caffeModel - path to the .caffemodel file with learned network.
        Returns:
        Net object.
      • readNetFromCaffe

        public static Net readNetFromCaffe​(java.lang.String prototxt)
        Reads a network model stored in <a href="http://caffe.berkeleyvision.org">Caffe</a> framework's format.
        Parameters:
        prototxt - path to the .prototxt file with text description of the network architecture.
        Returns:
        Net object.
      • readNetFromCaffe

        public static Net readNetFromCaffe​(MatOfByte bufferProto,
                                           MatOfByte bufferModel)
        Reads a network model stored in Caffe model in memory.
        Parameters:
        bufferProto - buffer containing the content of the .prototxt file
        bufferModel - buffer containing the content of the .caffemodel file
        Returns:
        Net object.
      • readNetFromCaffe

        public static Net readNetFromCaffe​(MatOfByte bufferProto)
        Reads a network model stored in Caffe model in memory.
        Parameters:
        bufferProto - buffer containing the content of the .prototxt file
        Returns:
        Net object.
      • readNetFromDarknet

        public static Net readNetFromDarknet​(java.lang.String cfgFile,
                                             java.lang.String darknetModel)
        Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.
        Parameters:
        cfgFile - path to the .cfg file with text description of the network architecture.
        darknetModel - path to the .weights file with learned network.
        Returns:
        Network object that ready to do forward, throw an exception in failure cases.
      • readNetFromDarknet

        public static Net readNetFromDarknet​(java.lang.String cfgFile)
        Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.
        Parameters:
        cfgFile - path to the .cfg file with text description of the network architecture.
        Returns:
        Network object that ready to do forward, throw an exception in failure cases.
      • readNetFromDarknet

        public static Net readNetFromDarknet​(MatOfByte bufferCfg,
                                             MatOfByte bufferModel)
        Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.
        Parameters:
        bufferCfg - A buffer contains a content of .cfg file with text description of the network architecture.
        bufferModel - A buffer contains a content of .weights file with learned network.
        Returns:
        Net object.
      • readNetFromDarknet

        public static Net readNetFromDarknet​(MatOfByte bufferCfg)
        Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.
        Parameters:
        bufferCfg - A buffer contains a content of .cfg file with text description of the network architecture.
        Returns:
        Net object.
      • readNetFromModelOptimizer

        public static Net readNetFromModelOptimizer​(java.lang.String xml,
                                                    java.lang.String bin)
        Load a network from Intel's Model Optimizer intermediate representation.
        Parameters:
        xml - XML configuration file with network's topology.
        bin - Binary file with trained weights.
        Returns:
        Net object. Networks imported from Intel's Model Optimizer are launched in Intel's Inference Engine backend.
      • readNetFromModelOptimizer

        public static Net readNetFromModelOptimizer​(MatOfByte bufferModelConfig,
                                                    MatOfByte bufferWeights)
        Load a network from Intel's Model Optimizer intermediate representation.
        Parameters:
        bufferModelConfig - Buffer contains XML configuration with network's topology.
        bufferWeights - Buffer contains binary data with trained weights.
        Returns:
        Net object. Networks imported from Intel's Model Optimizer are launched in Intel's Inference Engine backend.
      • readNetFromONNX

        public static Net readNetFromONNX​(java.lang.String onnxFile)
        Reads a network model <a href="https://onnx.ai/">ONNX</a>.
        Parameters:
        onnxFile - path to the .onnx file with text description of the network architecture.
        Returns:
        Network object that ready to do forward, throw an exception in failure cases.
      • readNetFromONNX

        public static Net readNetFromONNX​(MatOfByte buffer)
        Reads a network model from <a href="https://onnx.ai/">ONNX</a> in-memory buffer.
        Parameters:
        buffer - in-memory buffer that stores the ONNX model bytes.
        Returns:
        Network object that ready to do forward, throw an exception in failure cases.
      • readNetFromTensorflow

        public static Net readNetFromTensorflow​(java.lang.String model,
                                                java.lang.String config)
        Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.
        Parameters:
        model - path to the .pb file with binary protobuf description of the network architecture
        config - path to the .pbtxt file that contains text graph definition in protobuf format. Resulting Net object is built by text graph using weights from a binary one that let us make it more flexible.
        Returns:
        Net object.
      • readNetFromTensorflow

        public static Net readNetFromTensorflow​(java.lang.String model)
        Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.
        Parameters:
        model - path to the .pb file with binary protobuf description of the network architecture Resulting Net object is built by text graph using weights from a binary one that let us make it more flexible.
        Returns:
        Net object.
      • readNetFromTensorflow

        public static Net readNetFromTensorflow​(MatOfByte bufferModel,
                                                MatOfByte bufferConfig)
        Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.
        Parameters:
        bufferModel - buffer containing the content of the pb file
        bufferConfig - buffer containing the content of the pbtxt file
        Returns:
        Net object.
      • readNetFromTensorflow

        public static Net readNetFromTensorflow​(MatOfByte bufferModel)
        Reads a network model stored in <a href="https://www.tensorflow.org/">TensorFlow</a> framework's format.
        Parameters:
        bufferModel - buffer containing the content of the pb file
        Returns:
        Net object.
      • readNetFromTorch

        public static Net readNetFromTorch​(java.lang.String model,
                                           boolean isBinary,
                                           boolean evaluate)
        Reads a network model stored in <a href="http://torch.ch">Torch7</a> framework's format.
        Parameters:
        model - path to the file, dumped from Torch by using torch.save() function.
        isBinary - specifies whether the network was serialized in ascii mode or binary.
        evaluate - specifies testing phase of network. If true, it's similar to evaluate() method in Torch.
        Returns:
        Net object. Note: Ascii mode of Torch serializer is more preferable, because binary mode extensively use long type of C language, which has various bit-length on different systems. The loading file must contain serialized <a href="https://github.com/torch/nn/blob/master/doc/module.md">nn.Module</a> object with importing network. Try to eliminate a custom objects from serialazing data to avoid importing errors. List of supported layers (i.e. object instances derived from Torch nn.Module class): - nn.Sequential - nn.Parallel - nn.Concat - nn.Linear - nn.SpatialConvolution - nn.SpatialMaxPooling, nn.SpatialAveragePooling - nn.ReLU, nn.TanH, nn.Sigmoid - nn.Reshape - nn.SoftMax, nn.LogSoftMax Also some equivalents of these classes from cunn, cudnn, and fbcunn may be successfully imported.
      • readNetFromTorch

        public static Net readNetFromTorch​(java.lang.String model,
                                           boolean isBinary)
        Reads a network model stored in <a href="http://torch.ch">Torch7</a> framework's format.
        Parameters:
        model - path to the file, dumped from Torch by using torch.save() function.
        isBinary - specifies whether the network was serialized in ascii mode or binary.
        Returns:
        Net object. Note: Ascii mode of Torch serializer is more preferable, because binary mode extensively use long type of C language, which has various bit-length on different systems. The loading file must contain serialized <a href="https://github.com/torch/nn/blob/master/doc/module.md">nn.Module</a> object with importing network. Try to eliminate a custom objects from serialazing data to avoid importing errors. List of supported layers (i.e. object instances derived from Torch nn.Module class): - nn.Sequential - nn.Parallel - nn.Concat - nn.Linear - nn.SpatialConvolution - nn.SpatialMaxPooling, nn.SpatialAveragePooling - nn.ReLU, nn.TanH, nn.Sigmoid - nn.Reshape - nn.SoftMax, nn.LogSoftMax Also some equivalents of these classes from cunn, cudnn, and fbcunn may be successfully imported.
      • readNetFromTorch

        public static Net readNetFromTorch​(java.lang.String model)
        Reads a network model stored in <a href="http://torch.ch">Torch7</a> framework's format.
        Parameters:
        model - path to the file, dumped from Torch by using torch.save() function.
        Returns:
        Net object. Note: Ascii mode of Torch serializer is more preferable, because binary mode extensively use long type of C language, which has various bit-length on different systems. The loading file must contain serialized <a href="https://github.com/torch/nn/blob/master/doc/module.md">nn.Module</a> object with importing network. Try to eliminate a custom objects from serialazing data to avoid importing errors. List of supported layers (i.e. object instances derived from Torch nn.Module class): - nn.Sequential - nn.Parallel - nn.Concat - nn.Linear - nn.SpatialConvolution - nn.SpatialMaxPooling, nn.SpatialAveragePooling - nn.ReLU, nn.TanH, nn.Sigmoid - nn.Reshape - nn.SoftMax, nn.LogSoftMax Also some equivalents of these classes from cunn, cudnn, and fbcunn may be successfully imported.
      • getInferenceEngineBackendType

        public static java.lang.String getInferenceEngineBackendType()
        Returns Inference Engine internal backend API. See values of CV_DNN_BACKEND_INFERENCE_ENGINE_* macros. Default value is controlled through OPENCV_DNN_BACKEND_INFERENCE_ENGINE_TYPE runtime parameter (environment variable).
        Returns:
        automatically generated
      • getInferenceEngineVPUType

        public static java.lang.String getInferenceEngineVPUType()
        Returns Inference Engine VPU type. See values of CV_DNN_INFERENCE_ENGINE_VPU_TYPE_* macros.
        Returns:
        automatically generated
      • setInferenceEngineBackendType

        public static java.lang.String setInferenceEngineBackendType​(java.lang.String newBackendType)
        Specify Inference Engine internal backend API. See values of CV_DNN_BACKEND_INFERENCE_ENGINE_* macros.
        Parameters:
        newBackendType - automatically generated
        Returns:
        previous value of internal backend API
      • getAvailableTargets

        public static java.util.List<java.lang.Integer> getAvailableTargets​(int be)
      • NMSBoxes

        public static void NMSBoxes​(MatOfRect2d bboxes,
                                    MatOfFloat scores,
                                    float score_threshold,
                                    float nms_threshold,
                                    MatOfInt indices,
                                    float eta,
                                    int top_k)
        Performs non maximum suppression given boxes and corresponding scores.
        Parameters:
        bboxes - a set of bounding boxes to apply NMS.
        scores - a set of corresponding confidences.
        score_threshold - a threshold used to filter boxes by score.
        nms_threshold - a threshold used in non maximum suppression.
        indices - the kept indices of bboxes after NMS.
        eta - a coefficient in adaptive threshold formula: \(nms\_threshold_{i+1}=eta\cdot nms\_threshold_i\).
        top_k - if &gt;0, keep at most top_k picked indices.
      • NMSBoxes

        public static void NMSBoxes​(MatOfRect2d bboxes,
                                    MatOfFloat scores,
                                    float score_threshold,
                                    float nms_threshold,
                                    MatOfInt indices,
                                    float eta)
        Performs non maximum suppression given boxes and corresponding scores.
        Parameters:
        bboxes - a set of bounding boxes to apply NMS.
        scores - a set of corresponding confidences.
        score_threshold - a threshold used to filter boxes by score.
        nms_threshold - a threshold used in non maximum suppression.
        indices - the kept indices of bboxes after NMS.
        eta - a coefficient in adaptive threshold formula: \(nms\_threshold_{i+1}=eta\cdot nms\_threshold_i\).
      • NMSBoxes

        public static void NMSBoxes​(MatOfRect2d bboxes,
                                    MatOfFloat scores,
                                    float score_threshold,
                                    float nms_threshold,
                                    MatOfInt indices)
        Performs non maximum suppression given boxes and corresponding scores.
        Parameters:
        bboxes - a set of bounding boxes to apply NMS.
        scores - a set of corresponding confidences.
        score_threshold - a threshold used to filter boxes by score.
        nms_threshold - a threshold used in non maximum suppression.
        indices - the kept indices of bboxes after NMS.
      • NMSBoxesRotated

        public static void NMSBoxesRotated​(MatOfRotatedRect bboxes,
                                           MatOfFloat scores,
                                           float score_threshold,
                                           float nms_threshold,
                                           MatOfInt indices,
                                           float eta,
                                           int top_k)
      • NMSBoxesRotated

        public static void NMSBoxesRotated​(MatOfRotatedRect bboxes,
                                           MatOfFloat scores,
                                           float score_threshold,
                                           float nms_threshold,
                                           MatOfInt indices,
                                           float eta)
      • imagesFromBlob

        public static void imagesFromBlob​(Mat blob_,
                                          java.util.List<Mat> images_)
        Parse a 4D blob and output the images it contains as 2D arrays through a simpler data structure (std::vector<cv::Mat>).
        Parameters:
        blob_ - 4 dimensional array (images, channels, height, width) in floating point precision (CV_32F) from which you would like to extract the images.
        images_ - array of 2D Mat containing the images extracted from the blob in floating point precision (CV_32F). They are non normalized neither mean added. The number of returned images equals the first dimension of the blob (batch size). Every image has a number of channels equals to the second dimension of the blob (depth).
      • resetMyriadDevice

        public static void resetMyriadDevice()
        Release a Myriad device (binded by OpenCV). Single Myriad device cannot be shared across multiple processes which uses Inference Engine's Myriad plugin.
      • shrinkCaffeModel

        public static void shrinkCaffeModel​(java.lang.String src,
                                            java.lang.String dst,
                                            java.util.List<java.lang.String> layersTypes)
        Convert all weights of Caffe network to half precision floating point.
        Parameters:
        src - Path to origin model from Caffe framework contains single precision floating point weights (usually has .caffemodel extension).
        dst - Path to destination model with updated weights.
        layersTypes - Set of layers types which parameters will be converted. By default, converts only Convolutional and Fully-Connected layers' weights. Note: Shrinked model has no origin float32 weights so it can't be used in origin Caffe framework anymore. However the structure of data is taken from NVidia's Caffe fork: https://github.com/NVIDIA/caffe. So the resulting model may be used there.
      • shrinkCaffeModel

        public static void shrinkCaffeModel​(java.lang.String src,
                                            java.lang.String dst)
        Convert all weights of Caffe network to half precision floating point.
        Parameters:
        src - Path to origin model from Caffe framework contains single precision floating point weights (usually has .caffemodel extension).
        dst - Path to destination model with updated weights. By default, converts only Convolutional and Fully-Connected layers' weights. Note: Shrinked model has no origin float32 weights so it can't be used in origin Caffe framework anymore. However the structure of data is taken from NVidia's Caffe fork: https://github.com/NVIDIA/caffe. So the resulting model may be used there.
      • writeTextGraph

        public static void writeTextGraph​(java.lang.String model,
                                          java.lang.String output)
        Create a text representation for a binary network stored in protocol buffer format.
        Parameters:
        model - A path to binary network.
        output - A path to output text file to be created. Note: To reduce output file size, trained weights are not included.