pointCloudInputLayer
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
creates a point cloud input layer with the specified input size. The
layer
= pointCloudInputLayer(inputSize
)inputSize
argument sets the InputSize
property.
specifies properties using one or more name-value arguments. For example,
layer
= pointCloudInputLayer(inputSize
,Name=Value
)Normalization="zscore"
applies z-score normalization to the layer.
Properties
3-D Point Cloud Input
InputSize
— Size of the input
vector of positive integers
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
.
Normalization
— Data normalization
'none'
(default) | 'zerocenter'
| 'zscore'
| 'rescale-symmetric'
| 'rescale-zero-one'
| function handle
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)
, whereX
is the input data and the outputY
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
NormalizationDimension
— Normalization dimension
'auto'
(default) | 'channel'
| 'element'
| 'all'
Normalization dimension, specified as one of the following:
'auto'
– If the training option isfalse
and you specify any of the normalization statistics (Mean
,StandardDeviation
,Min
, orMax
), 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
— Mean for zero-center and z-score normalization
[]
(default) | matrix | 3-D array | numeric scalar
Mean for zero-center and z-score normalization, specified as a one of these options.
Point Cloud Format | Element-Wise Normalization | Channel-Wise Normalization |
---|---|---|
Unorganized point cloud | M-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 cloud | M-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
StandardDeviation
— Standard deviation for z-score normalization
[]
(default) | matrix | 3-D array | numeric scalar
Standard deviation for z-score normalization, specified as a one of these options.
Point Cloud Format | Element-Wise Normalization | Channel-Wise Normalization |
---|---|---|
Unorganized point cloud | M-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 cloud | M-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
Min
— Minimum value for rescaling
[]
(default) | matrix | 3-D array | numeric scalar
Minimum value for rescaling, specified as a one of these options.
Point Cloud Format | Element-Wise Normalization | Channel-Wise Normalization |
---|---|---|
Unorganized point cloud | M-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 cloud | M-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
Max
— Maximum value for rescaling
[]
(default) | matrix | 3-D array | numeric scalar
Maximum value for rescaling, specified as one of these options.
Point Cloud Format | Element-Wise Normalization | Channel-Wise Normalization |
---|---|---|
Unorganized point cloud | M-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 cloud | M-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
Name
— Layer name
''
(default) | character vector | string scalar
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
NumInputs
— Number of inputs
0
(default)
This property is read-only.
Number of inputs of the layer. The layer has no inputs.
Data Types: double
InputNames
— Input names
{}
(default)
This property is read-only.
Input names of the layer. The layer has no inputs.
Data Types: cell
NumOutputs
— Number of outputs
1
(default)
Number of outputs of the layer. The layer has one output.
Data Types: double
OutputNames
— Output names
{'out'}
(default)
This property is read-only.
Output names of the layer. This layer has a single output only.
Data Types: cell
Examples
Create Point Cloud Input Layer
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
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
The function supports code generation for organized point clouds only.
For an example on how to perform code generation with unorganized point clouds, see Code Generation for Aerial Lidar Semantic Segmentation Using PointNet++ Deep Learning.
Code generation does not support passing
dlarray
objects with unspecified (U) dimensions to this layer.Code generation does not support
Normalization
specified using a function handle.
GPU Code Generation
Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.
Refer to the usage notes and limitations in the C/C++ Code Generation section. The same limitations apply to GPU code generation.
Version History
Introduced in R2022b
See Also
trainNetwork
(Deep Learning Toolbox) | layerGraph
(Deep Learning Toolbox) | squeezesegv2Network
| pointnetplusNetwork
| pcsemanticseg
Topics
- Getting Started with Point Clouds Using Deep Learning
- List of Deep Learning Layers (Deep Learning Toolbox)
- Datastores for Deep Learning (Deep Learning Toolbox)
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)