This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

rpnClassificationLayer

Classification layer for region proposal networks (RPNs)

Description

A region proposal network (RPN) classification layer classifies image regions as either object or background by using a cross entropy loss function. Use this layer to create a Faster R-CNN object detection network.

Creation

Syntax

layer = rpnClassificationLayer
layer = rpnClassificationLayer('Name',Name)

Description

layer = rpnClassificationLayer creates a two-class classification layer for a Faster R-CNN object detection network.

example

layer = rpnClassificationLayer('Name',Name) creates a two-class classification layer and sets the optional Name property.

Properties

expand all

Layer name, specified as a character vector or a string scalar. To include a layer in a layer graph, you must specify a nonempty unique layer name. If you train a series network with the layer and Name is set to '', then the software automatically assigns a name to the layer at training time.

Data Types: char | string

Number of inputs of the layer. This layer accepts a single input only.

Data Types: double

Input names of the layer. This layer accepts a single input only.

Data Types: cell

Examples

collapse all

Create an RPN softmax layer with the name 'rpn_softmax'.

rpnSoftmax = rpnSoftmaxLayer('Name','rpn_softmax')
rpnSoftmax = 
  RPNSoftmaxLayer with properties:

    Name: 'rpn_softmax'

Create an RPN classification layer with the name 'rpn_cls'.

rpnClassification = rpnClassificationLayer('Name','rpn_cls')
rpnClassification = 
  RPNClassificationLayer with properties:

    Name: 'rpn_cls'

Add the RPN softmax and RPN classification layers to a Layer array, to form the classification branch of an RPN.

numAnchors = 3;
rpnClassLayers = [
    convolution2dLayer(1,numAnchors*2,'Name','conv1x1_box_cls')
    rpnSoftmax
    rpnClassification
    ]
rpnClassLayers = 
  3x1 Layer array with layers:

     1   'conv1x1_box_cls'   Convolution                 6 1x1 convolutions with stride [1  1] and padding [0  0  0  0]
     2   'rpn_softmax'       RPN Softmax                 rpn softmax
     3   'rpn_cls'           RPN Classification Output   cross-entropy loss with 'object' and 'background' classes

Introduced in R2018b