moment_axes — 3D match_pose op

• Datenarten: points → axes

• Aufruf: import fullseye as fs; fs.ledger.moment_axes(points, weights=None) (die Implementierung direkt: import match3d; match3d.moment_axes(points, weights=None); aus dem Register: ops3d.get("moment_axes"))

• GPU: nein (nur CPU-Referenzimplementierung)

Verwendung

Schwerpunkt und Hauptachsen (die Eigenvektoren des Trägheitstensors) einer Punktmenge oder gewichteter Punkte. Die Grundlage der Posenschätzung.

Rückgabewert (Schwerpunkt(3,), Achsen(3,3) Spalten=Hauptachsen, Eigvale(3,)). Eigenwert in absteigender Reihenfolge. Wird zur Rotationsnormalisierung verwendet.

Definition: Normalisieren Sie „w“ auf eine Summe von 1, Schwerpunkt „c = Σ w p“, Streumatrix „C = Σ w (p−c)(p−c)ᵀ“. (Kovarianz. Der Trägheitstensor „tr(C)I − C“ und die Eigenvektoren sind gemeinsam, aber die Reihenfolge der Eigenwerte ist umgekehrt) durch „eigh“. Zerlegen. „axes[:, i]“ ist die Hauptachse des i-ten größten Eigenwerts (in absteigender Reihenfolge). Der Eigenwert ist die Varianz (Länge²).

• Die Vorzeichen der Eigenvektoren sind beliebig und „Achsen“ können linkshändig sein (det=−1) („match_pca“ legt die dritte Achse fest

(Invertiert, um es rechtshändig zu machen).

• „Gewichte“ ist die Länge N. Die Summe von 0 ist NaN, wenn sie durch 0 geteilt wird (es tritt keine Ausnahme auf). Eine Punktzahl von 0 ist explizit ein ValueError.

• Wenn die Hauptachse entartet ist (z. B. eine Kugel), ist die Richtung der Achse unbestimmt.

Später: „match_pca“, „obb“ (gerichtete Bbox), Rotation zur kanonischen Einstellung.

Eine leere Eingabe („Punkte“ von 0 Elementen) führt zu einem ValueError.

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• itokawa_pose_canonical — py -3.11 examples_3d/itokawa_pose_canonical.py

Typkompatible Folge-Operatoren (nehmen axes als Eingabe)

fuse_to_voxel

Gleiche Kategorie (match_pose)

match_phase_3d · match_pca · find_surface_pose · match_logpolar_z


*Provenance: match3d.py — 3D Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.