OpenCV 5.1.0-dev
Open Source Computer Vision
Loading...
Searching...
No Matches
Partial List of Implemented Layers

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 readNetFromTensorflow()).

Built-in layers reproduce the functionality of the corresponding ONNX and TensorFlow operators. The following layers are among the core building blocks used to assemble imported networks:

Classes

class  cv::dnn::AbsLayer
 
class  cv::dnn::AccumLayer
 
class  cv::dnn::AcoshLayer
 
class  cv::dnn::AcosLayer
 
struct  cv::dnn::ActivationInt8Params
 
class  cv::dnn::ActivationLayer
 
class  cv::dnn::ActivationLayerInt8
 
class  cv::dnn::AffineGridLayer
 
class  cv::dnn::ArgLayer
 ArgMax/ArgMin layer. More...
 
class  cv::dnn::AsinhLayer
 
class  cv::dnn::AsinLayer
 
class  cv::dnn::AtanhLayer
 
class  cv::dnn::AtanLayer
 
class  cv::dnn::AttentionLayer
 
class  cv::dnn::AttentionOnnxAiLayer
 
class  cv::dnn::AveragePoolLayer
 
class  cv::dnn::BaseConvolutionLayer
 
class  cv::dnn::BatchNorm2Layer
 
class  cv::dnn::BatchNormLayer
 
class  cv::dnn::BatchNormLayerInt8
 
class  cv::dnn::BitShiftLayer
 
class  cv::dnn::BlackmanWindowLayer
 
class  cv::dnn::BlankLayer
 
class  cv::dnn::BNLLLayer
 
class  cv::dnn::Cast2Layer
 
class  cv::dnn::CastLayer
 
class  cv::dnn::CeilLayer
 
class  cv::dnn::CeluLayer
 
class  cv::dnn::CenterCropPadLayer
 
class  cv::dnn::ChannelsPReLULayer
 
class  cv::dnn::ClipLayer
 
class  cv::dnn::CompareLayer
 
class  cv::dnn::Concat2Layer
 
class  cv::dnn::ConcatLayer
 
class  cv::dnn::ConstantOfShapeLayer
 
class  cv::dnn::ConstLayer
 
class  cv::dnn::Conv2Int8Layer
 
struct  cv::dnn::Conv2Int8Params
 
class  cv::dnn::Conv2Layer
 
class  cv::dnn::ConvolutionLayer
 
class  cv::dnn::ConvolutionLayerInt8
 
class  cv::dnn::ConvTranspose2Layer
 
class  cv::dnn::CorrelationLayer
 
class  cv::dnn::CoshLayer
 
class  cv::dnn::CosLayer
 
class  cv::dnn::CropAndResizeLayer
 
class  cv::dnn::CropLayer
 
class  cv::dnn::CumSumLayer
 
class  cv::dnn::DataAugmentationLayer
 
class  cv::dnn::DeconvolutionLayer
 
class  cv::dnn::DepthToSpaceLayer
 
class  cv::dnn::DequantizeLayer
 
class  cv::dnn::DequantizeLinearLayer
 
class  cv::dnn::DetectionOutputLayer
 Detection output layer. More...
 
class  cv::dnn::DetLayer
 
class  cv::dnn::DFTLayer
 
class  cv::dnn::EinsumLayer
 This function performs array summation based on the Einstein summation convention. The function allows for concise expressions of various mathematical operations using subscripts. More...
 
class  cv::dnn::Eltwise2Int8Layer
 
struct  cv::dnn::Eltwise2Int8Params
 
class  cv::dnn::EltwiseLayer
 Element wise operation on inputs. More...
 
class  cv::dnn::EltwiseLayerInt8
 
class  cv::dnn::ELULayer
 
class  cv::dnn::ErfLayer
 
class  cv::dnn::Expand2Layer
 
class  cv::dnn::ExpandLayer
 
class  cv::dnn::ExpLayer
 
class  cv::dnn::EyeLikeLayer
 
class  cv::dnn::FlattenLayer
 
class  cv::dnn::FloorLayer
 
class  cv::dnn::FlowWarpLayer
 
class  cv::dnn::Gather2Layer
 
class  cv::dnn::GatherElementsLayer
 GatherElements layer GatherElements takes two inputs data and indices of the same rank r >= 1 and an optional attribute axis and works such that: output[i][j][k] = data[index[i][j][k]][j][k] if axis = 0 and r = 3 output[i][j][k] = data[i][index[i][j][k]][k] if axis = 1 and r = 3 output[i][j][k] = data[i][j][index[i][j][k]] if axis = 2 and r = 3. More...
 
class  cv::dnn::GatherLayer
 Gather layer. More...
 
class  cv::dnn::GatherNDLayer
 GatherND layer. More...
 
class  cv::dnn::GeluApproximationLayer
 
class  cv::dnn::GeluLayer
 
class  cv::dnn::GemmLayer
 
class  cv::dnn::GlobalAveragePoolLayer
 
class  cv::dnn::GridSampleLayer
 
class  cv::dnn::GroupNormLayer
 
class  cv::dnn::GRULayer
 GRU recurrent one-layer. More...
 
class  cv::dnn::HammingWindowLayer
 
class  cv::dnn::HannWindowLayer
 
class  cv::dnn::HardmaxLayer
 
class  cv::dnn::HardSigmoidLayer
 
class  cv::dnn::HardSwishLayer
 
class  cv::dnn::IfLayer
 
struct  cv::dnn::InnerProductInt8Params
 
class  cv::dnn::InnerProductLayer
 
class  cv::dnn::InnerProductLayerInt8
 
class  cv::dnn::InstanceNormLayer
 
class  cv::dnn::InterpLayer
 Bilinear resize layer from https://github.com/cdmh/deeplab-public-ver2. More...
 
class  cv::dnn::IsInfLayer
 
class  cv::dnn::IsNaNLayer
 
class  cv::dnn::LayerNorm2Layer
 
class  cv::dnn::LayerNormLayer
 
class  cv::dnn::LogLayer
 
class  cv::dnn::LoopLayer
 
class  cv::dnn::LRNLayer
 
class  cv::dnn::LSTM2Layer
 
class  cv::dnn::LSTMLayer
 LSTM recurrent layer. More...
 
class  cv::dnn::MatMulInt8Layer
 
struct  cv::dnn::MatMulInt8Params
 
class  cv::dnn::MatMulLayer
 
class  cv::dnn::MaxPoolLayer
 
class  cv::dnn::MaxUnpoolLayer
 
class  cv::dnn::MishLayer
 
class  cv::dnn::MVNLayer
 
class  cv::dnn::NaryEltwiseLayer
 
class  cv::dnn::NegativeLogLikelihoodLossLayer
 
class  cv::dnn::NonMaxSuppressionLayer
 
class  cv::dnn::NonZeroLayer
 
class  cv::dnn::NormalizeBBoxLayer
 \( L_p \) - normalization layer. More...
 
class  cv::dnn::NotLayer
 
class  cv::dnn::OneHotLayer
 
class  cv::dnn::Pad2Layer
 
class  cv::dnn::PaddingLayer
 Adds extra values for specific axes. More...
 
class  cv::dnn::PermuteLayer
 
class  cv::dnn::Pool2Int8Layer
 
struct  cv::dnn::Pool2Int8Params
 
class  cv::dnn::PoolingLayer
 
class  cv::dnn::PoolingLayerInt8
 
class  cv::dnn::PowerLayer
 
class  cv::dnn::PriorBoxLayer
 
class  cv::dnn::ProposalLayer
 
class  cv::dnn::QuantizeLayer
 
class  cv::dnn::QuantizeLinearLayer
 
class  cv::dnn::RandomNormalLikeLayer
 
class  cv::dnn::RangeLayer
 
class  cv::dnn::ReciprocalLayer
 
class  cv::dnn::Reduce2Layer
 
class  cv::dnn::ReduceLayer
 
class  cv::dnn::RegionLayer
 
class  cv::dnn::ReLU6Layer
 
class  cv::dnn::ReLULayer
 
class  cv::dnn::ReorgLayer
 
class  cv::dnn::RequantizeLayer
 
class  cv::dnn::Reshape2Layer
 
class  cv::dnn::ReshapeLayer
 
class  cv::dnn::Resize2Layer
 
class  cv::dnn::ResizeLayer
 Resize input 4-dimensional blob by nearest neighbor or bilinear strategy. More...
 
class  cv::dnn::RMSNormLayer
 
class  cv::dnn::RNNLayer
 Classical recurrent layer. More...
 
class  cv::dnn::RoiAlignLayer
 
class  cv::dnn::RotaryEmbeddingLayer
 
class  cv::dnn::RoundLayer
 
class  cv::dnn::ScaleLayer
 
class  cv::dnn::ScaleLayerInt8
 
class  cv::dnn::ScatterLayer
 
class  cv::dnn::ScatterNDLayer
 
class  cv::dnn::SDPALayer
 
class  cv::dnn::SeluLayer
 
class  cv::dnn::ShapeLayer
 
class  cv::dnn::ShiftLayer
 
class  cv::dnn::ShiftLayerInt8
 
class  cv::dnn::ShrinkLayer
 
class  cv::dnn::ShuffleChannelLayer
 
class  cv::dnn::SigmoidLayer
 
class  cv::dnn::SignLayer
 
class  cv::dnn::SinhLayer
 
class  cv::dnn::SinLayer
 
class  cv::dnn::SizeLayer
 
class  cv::dnn::Slice2Layer
 
class  cv::dnn::SliceLayer
 
class  cv::dnn::SoftmaxCrossEntropyLossLayer
 
class  cv::dnn::SoftmaxLayer
 
class  cv::dnn::SoftmaxLayerInt8
 
class  cv::dnn::SoftplusLayer
 
class  cv::dnn::SoftsignLayer
 
class  cv::dnn::SpaceToDepthLayer
 
class  cv::dnn::Split2Layer
 
class  cv::dnn::SplitLayer
 
class  cv::dnn::SqrtLayer
 
class  cv::dnn::SqueezeLayer
 
class  cv::dnn::SwishLayer
 
class  cv::dnn::TanHLayer
 
class  cv::dnn::TanLayer
 
class  cv::dnn::ThresholdedReluLayer
 
class  cv::dnn::Tile2Layer
 
class  cv::dnn::TileLayer
 
class  cv::dnn::TopK2Layer
 
class  cv::dnn::TopKLayer
 
class  cv::dnn::TransformLayoutLayer
 
class  cv::dnn::TransposeLayer
 
class  cv::dnn::TriluLayer
 
class  cv::dnn::UniqueLayer
 
class  cv::dnn::UnsqueezeLayer
 

Typedefs

typedef void(* cv::dnn::ActivationFunc) (const void *input, void *output, size_t len, const float *params)
 

Enumerations

enum  cv::dnn::ActivationType {
  cv::dnn::ACTIV_NONE = 0 ,
  cv::dnn::ACTIV_MISH ,
  cv::dnn::ACTIV_SWISH ,
  cv::dnn::ACTIV_SIGMOID ,
  cv::dnn::ACTIV_TANH ,
  cv::dnn::ACTIV_ELU ,
  cv::dnn::ACTIV_HARDSWISH ,
  cv::dnn::ACTIV_HARDSIGMOID ,
  cv::dnn::ACTIV_GELU ,
  cv::dnn::ACTIV_GELU_APPROX ,
  cv::dnn::ACTIV_RELU ,
  cv::dnn::ACTIV_CLIP
}
 
enum  cv::dnn::AutoPadding {
  cv::dnn::AUTO_PAD_NONE = 0 ,
  cv::dnn::AUTO_PAD_SAME_UPPER = 1 ,
  cv::dnn::AUTO_PAD_SAME_LOWER = 2 ,
  cv::dnn::AUTO_PAD_VALID = 3
}
 
enum  cv::dnn::LossReduction {
  cv::dnn::LOSS_REDUCTION_NONE = 0 ,
  cv::dnn::LOSS_REDUCTION_MEAN = 1 ,
  cv::dnn::LOSS_REDUCTION_SUM = 2
}
 

Functions

ActivationFunc cv::dnn::getActivationFunc (int activationType)
 

Typedef Documentation

◆ ActivationFunc

typedef void(* cv::dnn::ActivationFunc) (const void *input, void *output, size_t len, const float *params)

Enumeration Type Documentation

◆ ActivationType

#include <opencv2/dnn/all_layers.hpp>

Activation type enumeration for dispatched activation function retrieval.

Enumerator
ACTIV_NONE 
Python: cv.dnn.ACTIV_NONE
ACTIV_MISH 
Python: cv.dnn.ACTIV_MISH
ACTIV_SWISH 
Python: cv.dnn.ACTIV_SWISH
ACTIV_SIGMOID 
Python: cv.dnn.ACTIV_SIGMOID
ACTIV_TANH 
Python: cv.dnn.ACTIV_TANH
ACTIV_ELU 
Python: cv.dnn.ACTIV_ELU
ACTIV_HARDSWISH 
Python: cv.dnn.ACTIV_HARDSWISH
ACTIV_HARDSIGMOID 
Python: cv.dnn.ACTIV_HARDSIGMOID
ACTIV_GELU 
Python: cv.dnn.ACTIV_GELU
ACTIV_GELU_APPROX 
Python: cv.dnn.ACTIV_GELU_APPROX
ACTIV_RELU 
Python: cv.dnn.ACTIV_RELU
ACTIV_CLIP 
Python: cv.dnn.ACTIV_CLIP

◆ AutoPadding

#include <opencv2/dnn/all_layers.hpp>

Enumerator
AUTO_PAD_NONE 
Python: cv.dnn.AUTO_PAD_NONE
AUTO_PAD_SAME_UPPER 
Python: cv.dnn.AUTO_PAD_SAME_UPPER
AUTO_PAD_SAME_LOWER 
Python: cv.dnn.AUTO_PAD_SAME_LOWER
AUTO_PAD_VALID 
Python: cv.dnn.AUTO_PAD_VALID

◆ LossReduction

#include <opencv2/dnn/all_layers.hpp>

Enumerator
LOSS_REDUCTION_NONE 
Python: cv.dnn.LOSS_REDUCTION_NONE
LOSS_REDUCTION_MEAN 
Python: cv.dnn.LOSS_REDUCTION_MEAN
LOSS_REDUCTION_SUM 
Python: cv.dnn.LOSS_REDUCTION_SUM

Function Documentation

◆ getActivationFunc()

ActivationFunc cv::dnn::getActivationFunc ( int activationType)

#include <opencv2/dnn/all_layers.hpp>

Returns a platform-optimized activation function pointer for the given type. The returned function is selected via CPU dispatch for the best available ISA.