Classification

Algorithms for classifying object into small, medium, large or predicting class of the object using machine learning models.

Table 1. Available fields in blickfeld.percept_pipeline.config.Classification
Field Type Default Unit

size

Size

-

-

Rule-based classification using object size thresholds.

model

Model

-

-

Model-based classification using a trained machine learning model.

Size

The minimum size limits of the bounding box area used for classification.

Table 2. Available fields in blickfeld.percept_pipeline.config.Classification.Size
Field Type Default Unit

bounding_box_surface

BoundingBoxSurface

-

-

Use object surface size for object classification.

Bounding Box Surface

The maximum surface area between the bounding box’s OXZ and OYZ planes is used to classify objects based on the limits specified in this message.

Table 3. Available fields in blickfeld.percept_pipeline.config.Classification.Size.BoundingBoxSurface
Field Type Default Unit

small_min_size

float

-

m^2

The surface area of the objects bounding box should be larger than this value to be considered a small object.

medium_min_size

float

-

m^2

The surface area of the objects bounding box should be larger than this value to be considered a medium object.

large_min_size

float

-

m^2

The surface area of the objects bounding box should be larger than this value to be considered a large object.

Model

Configuration for model-based classification.

Table 4. Available fields in blickfeld.percept_pipeline.config.Classification.Model
Field Type Default Unit

weights

bytes

-

-

Serialized model weights.

type

Type

-

-

The type of the model.

normalization

Normalization

-

-

The normalization parameters used to preprocess input features.

feature_generator

FeatureGenerator

-

-

The feature generator method used.

object_category

ObjectClass

-

-

The subset of classes to use.

Normalization

Configuration for feature normalization before feeding them into the model.

Table 5. Available fields in blickfeld.percept_pipeline.config.Classification.Model.Normalization
Field Type Default Unit

mean_coeffs

repeated float

-

-

The mean coefficients used to normalize each input feature. For each input feature: (x - mean) / std

std_coeffs

repeated float

-

-

The standard deviation coefficients used for normalization.

Type

Machine learning model types.

Table 6. Available values for blickfeld.percept_pipeline.config.Classification.Model.Type enum
Name Value Description

TYPE_UNSPECIFIED

0

The zero value should not be used

TYPE_SVM

1

Support Vector Machine Model

Feature Generator

Enum specifying which feature generation method to use for ML model predictions.

Table 7. Available values for blickfeld.percept_pipeline.config.Classification.Model.FeatureGenerator enum
Name Value Description

FEATURE_GENERATOR_UNSPECIFIED

0

The zero value should not be used

FEATURE_GENERATOR_EIGVALS_DIMS

1

Generate features from: - Eigenvalues (λ1, λ2, λ3) of the 3D covariance matrix of the object’s point cloud. - Object dimensions: height, width, and length. Resulting feature vector: [λ1, λ2, λ3, height, width, length]

FEATURE_GENERATOR_EIGVALS_DIMS_WITH_VARIANCE

2

Generate features from: - Eigenvalues (λ1, λ2, λ3) of the 3D covariance matrix. - Object dimensions: height, width, and length. - Per-axis variance: var_x, var_y, var_z. Resulting feature vector: [λ1, λ2, λ3, height, width, length, var_x, var_y, var_z]