OpenCV 5.0.0
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.