Table of Contents

Interface IPointCloudModel<T>

Namespace
AiDotNet.PointCloud.Interfaces
Assembly
AiDotNet.dll

Defines the core functionality for point cloud processing models.

public interface IPointCloudModel<T> : INeuralNetwork<T>, IFullModel<T, Tensor<T>, Tensor<T>>, IModel<Tensor<T>, Tensor<T>, ModelMetadata<T>>, IModelSerializer, ICheckpointableModel, IParameterizable<T, Tensor<T>, Tensor<T>>, IFeatureAware, IFeatureImportance<T>, ICloneable<IFullModel<T, Tensor<T>, Tensor<T>>>, IGradientComputable<T, Tensor<T>, Tensor<T>>, IJitCompilable<T>

Type Parameters

T

The numeric type used for calculations (e.g., float, double).

Inherited Members
Extension Methods

Remarks

For Beginners: A point cloud is a collection of 3D points that represent the surface of an object or scene.

Think of a point cloud as a 3D scan of the real world:

  • Each point has X, Y, Z coordinates representing its position in 3D space
  • Points can also have additional features like color, intensity, or surface normals
  • Point clouds are commonly collected by LIDAR sensors, depth cameras, or 3D scanners

Common applications:

  • Autonomous vehicles use LIDAR to create point clouds of their surroundings
  • Robotics uses point clouds for object recognition and manipulation
  • AR/VR applications use point clouds for 3D reconstruction
  • Architecture and construction use point clouds for building modeling

This interface defines operations for processing point cloud data with neural networks.

Methods

ExtractGlobalFeatures(Tensor<T>)

Extracts global features from a point cloud.

Vector<T> ExtractGlobalFeatures(Tensor<T> pointCloud)

Parameters

pointCloud Tensor<T>

Input point cloud tensor of shape [N, 3+F] where N is number of points, and 3+F represents XYZ coordinates plus F additional features.

Returns

Vector<T>

A feature vector representing the global characteristics of the point cloud.

Remarks

For Beginners: This method extracts a compact representation of the entire point cloud.

It's like creating a summary or "fingerprint" of the 3D object:

  • Input: Many individual 3D points (could be thousands or millions)
  • Output: A single feature vector that captures the essential characteristics
  • This summary can be used for classification, detection, or comparison

For example, extracting global features from point clouds of chairs would produce similar feature vectors for all chairs, despite differences in specific details.

ExtractPointFeatures(Tensor<T>)

Extracts per-point features from a point cloud.

Tensor<T> ExtractPointFeatures(Tensor<T> pointCloud)

Parameters

pointCloud Tensor<T>

Input point cloud tensor of shape [N, 3+F].

Returns

Tensor<T>

A tensor of shape [N, D] where D is the feature dimension for each point.

Remarks

For Beginners: This method extracts features for each individual point.

Unlike global features which summarize the entire cloud, per-point features describe each point:

  • Input: N points with XYZ coordinates
  • Output: N feature vectors, one for each point
  • Each feature vector captures local and contextual information about that point

This is useful for tasks like:

  • Point cloud segmentation (labeling each point)
  • Finding specific features or parts in the 3D data
  • Understanding the local geometry around each point