Main Content

pointCloudInputLayer

Point cloud input layer

Since R2022b

    Description

    A point cloud input layer inputs 3-D point clouds to a network and applies data normalization. You can input any lidar data, such as 2-D lidar scans, to this layer, but the data must be a 2-D or a 3-D numeric array, as specified by the InputSize property.

    Creation

    Description

    example

    layer = pointCloudInputLayer(inputSize) creates a point cloud input layer with the specified input size. The inputSize argument sets the InputSize property.

    layer = pointCloudInputLayer(inputSize,Name=Value) specifies properties using one or more name-value arguments. For example, Normalization="zscore" applies z-score normalization to the layer.

    Properties

    expand all

    3-D Point Cloud Input

    Size of the input data, specified as vector of positive integers. You can specify one of these options.

    • For an unorganized point cloud, specify input size as two-element vector of the form [M C]. M is the number of points in the point cloud. C is the number of channels, which must be greater than or equal to 1.

    • For an organized point cloud, specify input size as a three-element vector of the form [M N C]. M and N represent the number of rows and columns in the point cloud, respectively. C is the number of channels, which must be a positive integer greater than or equal to 1.

    This property is read-only.

    Data normalization to apply every time data is forward propagated through the input layer, specified as one of the following:

    • 'zerocenter' — Subtract the mean specified by Mean.

    • 'zscore' — Subtract the mean specified by Mean and divide by StandardDeviation.

    • 'rescale-symmetric' — Rescale the input to be in the range [-1, 1] using the minimum and maximum values specified by Min and Max, respectively.

    • 'rescale-zero-one' — Rescale the input to be in the range [0, 1] using the minimum and maximum values specified by Min and Max, respectively.

    • 'none' — Do not normalize the input data.

    • function handle — Normalize the data using the specified function. The function must be of the form Y = func(X), where X is the input data and the output Y is the normalized data.

    Tip

    The software, by default, automatically calculates the normalization statistics when using the trainNetwork (Deep Learning Toolbox) function. To save time when training, specify the required statistics for normalization and set the 'ResetInputNormalization' (Deep Learning Toolbox) option in trainingOptions (Deep Learning Toolbox) to false.

    Data Types: char | string

    Normalization dimension, specified as one of the following:

    • 'auto' – If the training option is false and you specify any of the normalization statistics (Mean, StandardDeviation, Min, or Max), then normalize over the dimensions matching the statistics. Otherwise, recalculate the statistics at training time and apply channel-wise normalization.

    • 'channel' – Channel-wise normalization.

    • 'element' – Element-wise normalization.

    • 'all' – Normalize all values using scalar statistics.

    Data Types: char | string

    Mean for zero-center and z-score normalization, specified as a one of these options.

    Point Cloud FormatElement-Wise NormalizationChannel-Wise Normalization
    Unorganized point cloudM-by-C numeric array. M is the number of points in the point cloud, and C is the number of channels.1-by-C numeric array
    Organized point cloudM-by-N-by-C numeric array. M and N are the number of rows and columns in the point cloud, respectively, and C is the number of channels.1-by-1-by-C numeric array

    You can also specify this value as a scalar, in which case the function normalizes the entire input data set using the specified value.

    Note

    To specify the Mean property, Normalization must be 'zerocenter' or 'zscore'. If Mean is [], then the trainNetwork (Deep Learning Toolbox) function calculates the mean.

    You can set this property when creating networks without training (for example, when assembling networks using assembleNetwork (Deep Learning Toolbox)).

    Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Standard deviation for z-score normalization, specified as a one of these options.

    Point Cloud FormatElement-Wise NormalizationChannel-Wise Normalization
    Unorganized point cloudM-by-C numeric array. M is the number of points in the point cloud, and C is the number of channels.1-by-C numeric array
    Organized point cloudM-by-N-by-C numeric array. M and N are the number of rows and columns in the point cloud, respectively, and C is the number of channels.1-by-1-by-C numeric array

    You can also specify this value as a scalar, in which case the function normalizes the entire input data set using the specified value.

    Note

    To specify the StandardDeviation property, Normalization must be 'zscore'. If StandardDeviation is [], then the trainNetwork (Deep Learning Toolbox) function calculates the standard deviation.

    You can set this property when creating networks without training (for example, when assembling networks using assembleNetwork (Deep Learning Toolbox)).

    Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Minimum value for rescaling, specified as a one of these options.

    Point Cloud FormatElement-Wise NormalizationChannel-Wise Normalization
    Unorganized point cloudM-by-C numeric array. M is the number of points in the point cloud, and C is the number of channels.1-by-C numeric array
    Organized point cloudM-by-N-by-C numeric array. M and N are the number of rows and columns in the point cloud, respectively, and C is the number of channels.1-by-1-by-C numeric array

    You can also specify this value as a scalar, in which case the function normalizes the entire input data set using the specified value.

    Note

    To specify the Min property, Normalization must be 'rescale-symmetric' or 'rescale-zero-one'. If Min is [], then the trainNetwork (Deep Learning Toolbox) function calculates the minima.

    You can set this property when creating networks without training (for example, when assembling networks using assembleNetwork (Deep Learning Toolbox)).

    Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Maximum value for rescaling, specified as one of these options.

    Point Cloud FormatElement-Wise NormalizationChannel-Wise Normalization
    Unorganized point cloudM-by-C numeric array. M is the number of points in the point cloud, and C is the number of channels.1-by-C numeric array
    Organized point cloudM-by-N-by-C numeric array. M and N are the number of rows and columns in the point cloud, respectively, and C is the number of channels.1-by-1-by-C numeric array

    You can also specify this value as a scalar, in which case the function normalizes the entire input data set using the specified value.

    Note

    To specify the Max property, Normalization must be 'rescale-symmetric' or 'rescale-zero-one'. If Max is [], then the trainNetwork (Deep Learning Toolbox) function calculates the maxima.

    You can set this property when creating networks without training (for example, when assembling networks using assembleNetwork (Deep Learning Toolbox)).

    Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Layer

    Layer name, specified as a character vector or a string scalar. For Layer array input, the trainNetwork, assembleNetwork, layerGraph, and dlnetwork functions automatically assign names to layers with the name ''.

    Data Types: char | string

    This property is read-only.

    Number of inputs of the layer. The layer has no inputs.

    Data Types: double

    This property is read-only.

    Input names of the layer. The layer has no inputs.

    Data Types: cell

    Number of outputs of the layer. The layer has one output.

    Data Types: double

    This property is read-only.

    Output names of the layer. This layer has a single output only.

    Data Types: cell

    Examples

    collapse all

    Create a point cloud input layer using an unorganized point cloud with 1000 points 3 channels.

    layer = pointCloudInputLayer([1000 3],Name="Input")
    layer = 
      PointCloudInputLayer with properties:
    
                          Name: 'Input'
                     InputSize: [1000 3]
    
       Hyperparameters
                 Normalization: 'none'
        NormalizationDimension: 'auto'
    
    

    Extended Capabilities

    Version History

    Introduced in R2022b

    See Also

    (Deep Learning Toolbox) | (Deep Learning Toolbox) | | |