Anpassen einer Ebene an eine Reihe von Punkten in 3D mithilfe von PCA


8

Ich versuche, eine Mittelebene eines 3D-Modells unter Verwendung der Mittelpunkte gepaarter Landmarken zu schätzen, um fehlende Daten zu rekonstruieren (die Mittelebene bezieht sich hier auf die mittlere / saggitale Ebene des Schädels, die den Schädel in zwei symmetrische Hälften schneidet, links und rechts). .

Ich muss daher eine Ebene aus 27 Punkten in 3D schätzen. Ich muss die Gleichung der Ebene als

einx+by+cz=d.

Ich habe mich mit orthogonaler Regression und Hauptkomponentenanalyse (PCA) als Methoden befasst, aber ich habe keine Mathematik über das Abitur hinaus gemacht und habe Probleme. Ich weiß, dass ich angeblich die Eigenvektoren verwenden kann, um die Gleichung der Ebene der besten Anpassung zu erhalten, aber ich brauche jemanden, der genau erklärt, wie. Ich benutze R für die PCA, bin aber auch bei R nicht besonders gut.

Wenn es eine bessere Möglichkeit gibt, das Flugzeug zu schätzen, würde ich mich freuen, es zu hören!


Was ist ein Midplane?
MichaelChirico

1
Entschuldigung, Mittelebene ist in diesem Fall die Mittelebene des Schädels, auch als Sagittalebene bekannt, die den Schädel in zwei symmetrische Hälften schneidet (links und rechts)
Suzy

klingt wie maschinelles Lernen ist besonders gut für dieses Problem geeignet
MichaelChirico

1
Das Format der Ausgabe spielt keine große Rolle, solange ich die Gleichung für die 3D-Ebene im folgenden Format ausarbeiten kann: ax + by + cz = d. Ich habe gelesen, dass die ersten beiden Eigenvektoren verwandt sind und eine PCA ausführen können, verstehe jedoch nicht, was ich mit den Eigenvektoren tun soll, wenn ich sie erhalten habe, und wie sie verwendet werden können, um die Gleichung der Ebene zu berechnen. Danke im Voraus.
Suzy

1
Entschuldigung für die verspätete Antwort @amoeba, dies hat meine Frage beantwortet und ich habe jetzt die Methode ausprobiert und zum Laufen gebracht! Danke vielmals!
Suzy

Antworten:


7

Wenn Sie eine Hauptkomponentenanalyse (PCA) für Ihre 27 Punkte in 3D durchführen, subtrahieren Sie zuerst den Mittelwertvektor m und dann drei Eigenvektoren erhalten e1,e2,e3der Kovarianzmatrix. Die ersten beiden Eigenvektoren (mit zwei größten Eigenwerten) überspannen die Ebene, die Sie finden möchten. Die geometrische Situation sieht also folgendermaßen aus:

PCA-Flugzeug

Die Frage ist: Wie kommt man von hier zur Gleichung dieser Ebene in der Form?

einx+by+cz=d.
Diese Gleichung kann wie folgt umformuliert werden: einx=d, wo x liegt irgendein Punkt in der Ebene und ein ist ein Vektor (ein,b,c). Mit anderen Worten, wir müssen einen Vektor findeneinso dass sein Punktprodukt mit einem beliebigen Punkt in der Ebene den gleichen konstanten Wert ergibtd.

Aus dem obigen Bild sehen wir, dass jeder Punkt, der zur Ebene gehört, als geschrieben werden kann x=m+Ge1+he2, wo G und hsind einige reelle Zahlen. Daraus folgt, dass das Punktprodukt zwischene3 und x ist gegeben durch

e3x=e3(m+Ge1+he2)=e3m=cÖnst.
Also hier haben wir es: Wir können nehmen ein=e3 und d=e3m.

Alles in allem lautet die Lösung:

ein=e31b=e32c=e33d=e31m1+e32m2+e33m3.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.