Comparing the results from linear blend skinning and an ML model against the simulated ground truth.

The new example-based ML nodes allow you to create machine learning setups entirely from within Houdini. A large class of regression problems can be solved using a new, generic ML training node, without needing to write a training script.

The example-based ML toolset consists of two parts:

The example-based ML nodes consist of:

ML Attribute Generate

Generate a set of packed primitives, each of which contains a geometry with a specific attribute randomized. Each of these can be an input for a data generation step.

ML Example

Create an example by combining an input component, for example generated by ML Attribute Generate with a target component, which may be the output of a procedural network for the input component.

ML Example Decompose

Decompose an example into its input component and its target component. This is useful for pre-processing examples, for example, using Principal Component Analysis.

ML Example Partition

Partition a collection of examples into parts (subcollections). This is useful for optimizing the generation and pre-processing of data, allowing memory use to be balanced against speed.

ML Extract Example

From a collection of examples, extract the single example at a specified index. This is useful when processing examples from within TOPs. This is also a useful node for visualization and troubleshooting.

ML Example Output

Write a collection of examples to a raw data file for training with ML Regression Train.

ML Regression Train

Train a model (feed-forward neural network) on a collection of examples previously written to disk using ML Example Output.

ML Regression Inference

Apply a model trained by ML Regression Train to one or more (previously unseen) inputs.

ML Regression Proximity

Use nearest-neighbor search to find the input component in a collection of examples closest to a given query input and return the corresponding target component. This is an example of ML that is not deep learning.

ML Example Import

Read from disk a collection of examples previously written using ML Example Output.

ML Pose Generate

This adapter node allows the example-based ML tools to work with animation. It generates a randomized set of rig poses, which can be inputs for a rig to apply machine learning to.

ML Pose Serialize

This adapter node allows the example-based ML tools to work with animation. It converts a rig pose into a point float attribute, for inclusion in a data set. This same node would also prepare inputs for ML Regression Inference.

Intermediate preprocessing stage for the ML Deformer: Mapping tet cages to skins.
Final preprocessing stage for the ML Deformer: Serializing poses and compressing displacements using PCA.
Generating synthetic training data using procedural geometry operations.
Training multiple neural networks, each with a different number of hidden layers.

What’s new in Houdini 20.5