QtMeshEditor β€” Mesh Part Segmentation

A point-cloud part-segmentation network (PointNet++-style) that predicts a semantic body-part label (head / torso / left+right arm / left+right leg) per point, exported to ONNX for in-app inference via ONNX Runtime.

Built for QtMeshEditor (issue #410) β€” a free, open-source 3D mesh & animation editor β€” and its companion QtMesh Cloud asset service. The app downloads this model on first use and runs it locally (offline) to power the Edit-Mode "Select by Part (AI)" action, the qtmesh segment CLI, and the segment_mesh MCP tool. Labels also feed the auto-rigger as placement priors.

Model

  • Input: a sampled point cloud float32 [1, N, 3] (normalised to a centred unit box).
  • Output: per-point class logits over 7 labels (unknown, head, torso, left_arm, right_arm, left_leg, right_leg); argmax β†’ label, scattered back to mesh vertices/faces by nearest sampled point.
  • When the model is unavailable, QtMeshEditor falls back to a deterministic geometric segmenter (connected-component islands + an up-axis/lateral spatial heuristic, refined by skeleton-bone proximity when the mesh is rigged).

Training data & license

Trained from scratch on synthetic, permissively-derived data: per-vertex part labels read from rigged-humanoid bone weights (a CC0 derivation we own) sampled into point clouds. This sidesteps the standard part-segmentation datasets (ShapeNet-Part, PartNet), which are non-commercial and therefore incompatible with QtMeshEditor's permissive (MIT) distribution.

Works best on upright humanoid meshes near the training distribution; other shapes fall back to the geometric labeling.

Weights released under CC-BY-4.0; please credit QtMeshEditor.

Reproducing

scripts/export-meshseg-onnx.py in the QtMeshEditor repo (one-time, offline; not shipped with the app).

Versions

  • v1.1.0 (current) β€” retrained with T/A-pose arms (horizontal, the real rigged-character case), upright + yaw-only augmentation (consistent left/right), head-protrusion samples (ears/hats label as head), wider proportions, and a PointNet++-style local kNN feature in the network. Clean symmetric head/torso/arm/leg on humanoid meshes; non-humanoid creatures are approximate (the app prefers exact rig-bone labels when the mesh is rigged). ~0.58 MB.
  • v1.0.0 β€” initial flat-PointNet model on synthetic primitive humanoids (arms-down only; over-assigned lateral protrusions to "arm").
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support