fernandotonon's picture
Upload README.md with huggingface_hub
00d0881 verified
|
Raw
History Blame Contribute Delete
2.75 kB
metadata
license: cc-by-4.0
tags:
  - mesh-segmentation
  - part-segmentation
  - point-cloud
  - building
  - architecture
  - onnx
  - 3d
  - qtmesheditor
library_name: onnx
pipeline_tag: other

QtMeshEditor — Building Part Segmentation

A point-cloud part-segmentation network (PointNet++-style) that labels each point of a building mesh as wall, roof, window, door, chimney, or foundation, exported to ONNX for local inference via ONNX Runtime.

One of the category-specialised segmentation models built for QtMeshEditor (epic #818, Track B2) — a free, open-source 3D mesh & animation editor. The app auto-detects the mesh category with a companion point-cloud classifier and dispatches to this model for buildings; siblings: body, vegetation, vehicle. Aggregate download source used by the app: QtMeshEditor-models (segment/meshseg_building.onnx).

Model

  • Input: a sampled point cloud float32 [1, N, 3] (normalised to a centred unit box; +Y up).
  • Output: per-point class logits over 7 channels (unknown, wall, roof, window, door, chimney, foundation); argmax → label, scattered back to mesh vertices/faces by nearest sampled point.
  • Architecture: shared per-point MLP + two kNN local-aggregation blocks (in-graph cdist+topk, ONNX-exportable) + a global max-pooled feature; ~0.78 MB. Trained at the app's inference sample size (4096 points).

Training data & license

Trained from scratch, 100% on procedurally generated synthetic buildings we own (no third-party data at all): parametric houses / towers / huts with gable, pyramid, and flat roofs (triangle/quad surface patches), proud window panes in rows, doors, chimneys, and foundation slabs — labels are exact by construction. Weights released under CC-BY-4.0; please credit QtMeshEditor.

Evaluation

  • Held-out synthetic validation accuracy: 86.9% (per-point, unknown masked). Real-world CC0 building kits are the planned next data slice (mined via submesh/material-name labels).

Reproducing

scripts/export-meshseg-onnx.py --category building in the QtMeshEditor repo (one-time, offline; the app never runs Python). Strategy + roadmap: docs/MESH_SEGMENTATION_STRATEGY.md.

Versions

  • v1.0.0 (current) — initial synthetic-only release (#818 Track B2).