Module opencv::dnn[][src]

Expand description

Deep Neural Network module

This module contains: - API for new layers creation, layers are building bricks of neural networks; - set of built-in most-useful Layers; - API to construct and modify comprehensive neural networks from layers; - functionality for loading serialized networks models from different frameworks.

Functionality of this module is designed only for forward pass computations (i.e. network testing). A network training is in principle not supported.

Modules

Structs

Derivatives of this class encapsulates functions of certain backends.

Partial List of Implemented Layers

This class represents high-level API for classification models.

Constant layer produces the same data blob at an every forward pass.

This class represents high-level API for object detection networks.

Detection output layer.

This class implements name-value dictionary, values are instances of DictValue.

This struct stores the scalar value (or array) of one of the following type: double, cv::String or int64. @todo Maybe int64 is useless because double type exactly stores at least 2^52 integers.

Element wise operation on inputs

Bilinear resize layer from https://github.com/cdmh/deeplab-public-ver2

This class represents high-level API for keypoints models

This interface class allows to build new Layers - are building blocks of networks.

%Layer factory allows to create instances of registered layers.

This class provides all data needed to initialize layer.

This class is presented high-level API for neural networks.

This class allows to create and manipulate comprehensive artificial neural networks.

inline formula

- normalization layer.

Adds extra values for specific axes.

Resize input 4-dimensional blob by nearest neighbor or bilinear strategy.

This class represents high-level API for segmentation models

Permute channels of 4-dimensional input blob.

Slice layer has several modes:

Base class for text detection networks

This class represents high-level API for text detection DL networks compatible with DB model.

This class represents high-level API for text detection DL networks compatible with EAST model.

This class represents high-level API for text recognition networks.

Enums

Enum of computation backends supported by layers.

Enum of target devices for computations.

Constants

DNN_BACKEND_DEFAULT equals to DNN_BACKEND_INFERENCE_ENGINE if OpenCV is built with Intel’s Inference Engine library or DNN_BACKEND_OPENCV otherwise.

DNN_BACKEND_DEFAULT equals to DNN_BACKEND_INFERENCE_ENGINE if OpenCV is built with Intel’s Inference Engine library or DNN_BACKEND_OPENCV otherwise.

Intel’s Inference Engine computational backend

FPGA device with CPU fallbacks using Inference Engine’s Heterogeneous plugin.

Traits

Derivatives of this class encapsulates functions of certain backends.

Derivatives of this class wraps cv::Mat for different backends and targets.

Partial List of Implemented Layers

This class represents high-level API for classification models.

Constant layer produces the same data blob at an every forward pass.

This class represents high-level API for object detection networks.

Detection output layer.

This class implements name-value dictionary, values are instances of DictValue.

This struct stores the scalar value (or array) of one of the following type: double, cv::String or int64. @todo Maybe int64 is useless because double type exactly stores at least 2^52 integers.

Element wise operation on inputs

Bilinear resize layer from https://github.com/cdmh/deeplab-public-ver2

This class represents high-level API for keypoints models

LSTM recurrent layer

%Layer factory allows to create instances of registered layers.

This class provides all data needed to initialize layer.

This interface class allows to build new Layers - are building blocks of networks.

This class is presented high-level API for neural networks.

This class allows to create and manipulate comprehensive artificial neural networks.

inline formula

- normalization layer.

Adds extra values for specific axes.

Classical recurrent layer

Resize input 4-dimensional blob by nearest neighbor or bilinear strategy.

This class represents high-level API for segmentation models

Permute channels of 4-dimensional input blob.

Slice layer has several modes:

This class represents high-level API for text detection DL networks compatible with DB model.

This class represents high-level API for text detection DL networks compatible with EAST model.

This class represents high-level API for text recognition networks.

Functions

Creates 4-dimensional blob from image. Optionally resizes and crops @p image from center, subtract @p mean values, scales values by @p scalefactor, swap Blue and Red channels.

Creates 4-dimensional blob from image. @details This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Creates 4-dimensional blob from series of images. Optionally resizes and crops @p images from center, subtract @p mean values, scales values by @p scalefactor, swap Blue and Red channels.

Creates 4-dimensional blob from series of images. @details This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Enables detailed logging of the DNN model loading with CV DNN API.

Returns Inference Engine internal backend API.

Returns Inference Engine CPU type.

Returns Inference Engine VPU type.

Parse a 4D blob and output the images it contains as 2D arrays through a simpler data structure (std::vectorcv::Mat).

Performs non maximum suppression given boxes and corresponding scores.

C++ default parameters

C++ default parameters

C++ default parameters

Read deep learning network represented in one of the supported formats.

Read deep learning network represented in one of the supported formats. @details This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Reads a network model stored in Caffe framework’s format.

Reads a network model stored in Caffe model in memory.

Reads a network model stored in Caffe model in memory. @details This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Reads a network model stored in Darknet model files.

Reads a network model stored in Darknet model files.

Reads a network model stored in Darknet model files.

Load a network from Intel’s Model Optimizer intermediate representation.

Load a network from Intel’s Model Optimizer intermediate representation.

Load a network from Intel’s Model Optimizer intermediate representation.

Reads a network model ONNX.

Reads a network model from ONNX in-memory buffer.

Reads a network model from ONNX in-memory buffer.

Reads a network model stored in TensorFlow framework’s format.

Reads a network model stored in TensorFlow framework’s format.

Reads a network model stored in TensorFlow framework’s format. @details This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Reads a network model stored in Torch7 framework’s format.

Creates blob from .pb file.

Loads blob which was serialized as torch.Tensor object of Torch7 framework. @warning This function has the same limitations as readNetFromTorch().

Release a HDDL plugin.

Release a Myriad device (binded by OpenCV).

Specify Inference Engine internal backend API.

C++ default parameters

Convert all weights of Caffe network to half precision floating point.

C++ default parameters

C++ default parameters

Create a text representation for a binary network stored in protocol buffer format.

Type Definitions

Each Layer class must provide this function to the factory

Container for strings and integers.