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

Syntax

``layer = pointCloudInputLayer(inputSize)``
``layer = pointCloudInputLayer(inputSize,Name=Value)``

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`.

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`

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

Data Types: `double`

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`

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' ```

Version History

Introduced in R2022b