OpenCV: Partial List of Implemented Layers

| OpenCV 3.4.2 Open Source Computer Vision

Classes
Partial List of Implemented Layers
Deep Neural Network module

## Classes
class | cv::dnn::AbsLayer
class | cv::dnn::ActivationLayer
class | cv::dnn::BaseConvolutionLayer
class | cv::dnn::BatchNormLayer
class | cv::dnn::BlankLayer
class | cv::dnn::BNLLLayer
class | cv::dnn::ChannelsPReLULayer
class | cv::dnn::ConcatLayer
class | cv::dnn::ConvolutionLayer
class | cv::dnn::CropAndResizeLayer
class | cv::dnn::CropLayer
class | cv::dnn::DeconvolutionLayer
class | cv::dnn::DetectionOutputLayer
class | cv::dnn::EltwiseLayer
class | cv::dnn::ELULayer
class | cv::dnn::FlattenLayer
class | cv::dnn::InnerProductLayer
class | cv::dnn::InterpLayer
| Bilinear resize layer from https://github.com/cdmh/deeplab-public. More...
class | cv::dnn::LRNLayer
class | cv::dnn::LSTMLayer
| LSTM recurrent layer. More...
class | cv::dnn::MaxUnpoolLayer
class | cv::dnn::MVNLayer
class | cv::dnn::NormalizeBBoxLayer
| \( L_p \) - normalization layer. More...
class | cv::dnn::PaddingLayer
| Adds extra values for specific axes. More...
class | cv::dnn::PermuteLayer
class | cv::dnn::PoolingLayer
class | cv::dnn::PowerLayer
class | cv::dnn::PriorBoxLayer
class | cv::dnn::ProposalLayer
class | cv::dnn::RegionLayer
class | cv::dnn::ReLU6Layer
class | cv::dnn::ReLULayer
class | cv::dnn::ReorgLayer
class | cv::dnn::ReshapeLayer
class | cv::dnn::ResizeLayer
| Resize input 4-dimensional blob by nearest neighbor or bilinear strategy. More...
class | cv::dnn::RNNLayer
| Classical recurrent layer. More...
class | cv::dnn::ScaleLayer
class | cv::dnn::ShiftLayer
class | cv::dnn::ShuffleChannelLayer
class | cv::dnn::SigmoidLayer
class | cv::dnn::SliceLayer
class | cv::dnn::SoftmaxLayer
class | cv::dnn::SplitLayer
class | cv::dnn::TanHLayer

## Detailed Description

This subsection of dnn module contains information about built-in layers and their descriptions.

Classes listed here, in fact, provides C++ API for creating instances of built-in layers. In addition to this way of layers instantiation, there is a more common factory API (see Utilities for New Layers Registration), it allows to create layers dynamically (by name) and register new ones. You can use both API, but factory API is less convenient for native C++ programming and basically designed for use inside importers (see readNetFromCaffe(), readNetFromTorch(), readNetFromTensorflow()).

Built-in layers partially reproduce functionality of corresponding Caffe and Torch7 layers. In particular, the following layers and Caffe importer were tested to reproduce Caffe functionality:

- Convolution
- Deconvolution
- Pooling
- InnerProduct
- TanH, ReLU, Sigmoid, BNLL, Power, AbsVal
- Softmax
- Reshape, Flatten, Slice, Split
- LRN
- MVN
- Dropout (since it does nothing on forward pass -))