Anpassen impliziter Flächen an orientierte Punktmengen

12

Ich habe eine Frage zur quadratischen Anpassung an eine Reihe von Punkten und entsprechenden Normalen (oder gleichwertig Tangenten). Das Anpassen von quadratischen Flächen an Punktdaten ist gut erforscht. Einige Werke sind wie folgt:

Die Anpassung an projektive Konturen wird auch von einigen Arbeiten behandelt, wie z. B. dieser .

Von all diesen Arbeiten denke ich, dass Taubins Methode zur Quadric-Anpassung ziemlich beliebt ist:

Lassen Sie mich kurz zusammenfassen. Ein quadratisches Q kann in der algebraischen Form geschrieben werden:

f(c,x)=Ax2+By2+Cz2+2Dxy+2Exz+2Fyz+2Gx+2Hy+2Iz+J
wobei c der Koeffizientenvektor ist undx sind die 3D-Koordinaten. Jeder Punktx liegt auf dem QuadratQ wennxTQx=0 , wobei:
Q=[ADEGDBFHEFCIGHIJ]

Algebraische Anpassung Im Prinzip möchten wir nach den Parametern suchen, die die Summe der quadratischen geometrischen Abstände zwischen den Punkten und der quadratischen Oberfläche minimieren. Leider stellt sich heraus, dass dies ein nicht konvexes Optimierungsproblem ohne bekannte analytische Lösungen ist. Stattdessen besteht ein Standardansatz darin, nach einer algebraischen Anpassung zu suchen, dh nach den Parametern c zu lösen, die Folgendes minimieren:

i=1nf(c,xi)2=cTMc
mit
M=i=1nl(xi)l(xi)T
wobei{xi}die Punkte in der Punktwolke sind und
l=[x2,y2,z2,xy,xz,yz,x,y,z,1]T

Beachten Sie, dass eine solche direkte Minimierung die triviale Lösung mit c am Ursprung ergeben würde. Diese Frage wurde in der Literatur ausführlich untersucht. Eine Lösung, die sich in der Praxis als gut erwiesen hat, ist die oben zitierte Taubin-Methode, mit der die Einschränkung eingeführt wird:

xf(c,xi)2=1

Dies kann wie folgt gelöst werden: Sei: wobei Indizes die Ableitungen bezeichnen. Die Lösung ergibt sich aus der verallgemeinerten Eigenzerlegung . Der am besten passende Parametervektor ist gleich dem Eigenvektor, der dem kleinsten Eigenwert entspricht.

N=i=1nlx(xi)lx(xi)T+ly(xi)ly(xi)T+lz(xi)lz(xi)T
(MλN)c=0

Hauptfrage In vielen Anwendungen sind die Normalen der Punktwolke verfügbar (oder werden berechnet). Die Normalen des Quadrats können auch durch Differenzieren und Normalisieren der impliziten Oberfläche berechnet werden:N(x)

N(x)=f(c,x)f(c,x)
wobei
f(c,x)=2[Ax+Dy+Fz+GBy+Dx+Ez+HCz+Ey+Fx+I]

Taubins Methode verwendet jedoch nur die Punktgeometrie und nicht den Tangentenraum. Und mir sind nicht viele Methoden bekannt, die zum Anpassen von Quadriken geeignet sind, so dass die Tangenten der Quadrik auch mit den Tangenten der zugrunde liegenden Punktwolke übereinstimmen. Ich suche nach möglichen Erweiterungen der oben genannten Methode oder einer anderen, um diese Derivate erster Ordnung abzudecken.

Was ich erreichen möchte, wird möglicherweise teilweise in niederdimensionalen Räumen mit primitiveren Oberflächentypen (Kurven) angesprochen. Zum Beispiel Einpassen Linien auf Bildkanten unter Berücksichtigung der Gradienteninformation bedeckt ist hier . Das Anpassen von Ebenen (eine einfache Art von Quadrik) an 3D-Wolken ist sehr häufig ( Link 1 ), oder das Anpassen von Kugeln oder Zylindern kann an orientierte Punktmengen angepasst werden ( Link 2 ). Was ich mich frage, ist etwas Ähnliches, aber das angepasste Grundelement ist ein Quadriz.

Ich würde auch die Analyse der vorgeschlagenen Methode begrüßen, wie zum Beispiel:

  • Was ist die Mindestanzahl an orientierten Punkten?
  • Was sind die entarteten Fälle?
  • Kann man etwas über Robustheit sagen?

Update : Ich möchte eine Richtung vorstellen, der ich folgen soll. Formal, was ich erreichen möchte:

fn=0
am Punkt . Vielleicht ist es möglich, es mit Taubins Methode zu verschmelzen, um eine zusätzliche Einschränkung zu finden und die Verwendung von Lagrange-Multiplikatoren zu minimieren?x

Tolga Birdal
quelle
Sind nicht viele Elemente von Q in Q falsch positioniert?
Museful
Sie haben Recht, und ich habe dies jetzt behoben.
Tolga Birdal

Antworten:

4

Ich war überrascht, dass ich keine zufriedenstellende Antwort auf die obige Frage erhalten hatte, und meine Untersuchungen zeigten, dass dies tatsächlich ein unerforschter Bereich ist. Daher habe ich einige Anstrengungen unternommen, um Lösungen für dieses Problem zu entwickeln, und die folgenden Manuskripte veröffentlicht:

T. Birdal, B. Busam, N. Navab, S. Ilic und P. Sturm. "Ein minimalistischer Ansatz zur typunabhängigen Erkennung von Quadriken in Punktwolken." Vorträge der IEEE-Konferenz zu Computer Vision und Mustererkennung. 2018. http://openaccess.thecvf.com/content_cvpr_2018/html/Birdal_A_Minimalist_Approach_CVPR_2018_paper.html

T. Birdal, B. Busam, N. Navab, S. Ilic und P. Sturm, "Generische primitive Detektion in Punktwolken unter Verwendung neuartiger minimaler quadratischer Anpassungen", in IEEE-Transaktionen zur Musteranalyse und Maschinenintelligenz. https://arxiv.org/abs/1901.01255

Ich werde hier kurz auf die Hauptidee eingehen:

Dieser Ansatz ähnelt der Gradienten-Eins-Anpassung ( ). Wir richten den Gradientenvektor des Quadrats an der Normalen der Punktwolke . Im Gegensatz zu -fits verwenden wir jedoch eine lineare Einschränkung, um den Rang zu erhöhen, anstatt die Lösung zu regulieren. Dies scheint nicht trivial zu sein, da die Vektor-Vektor-Ausrichtung eine nichtlineare Einschränkung in einer der folgenden Formen mit sich bringt: 1Q(xi)niR31

Q(xi)Q(xi)ni=0orQ(xi)Q(xi)ni=1.
Die Nichtlinearität wird durch die Normalisierung verursacht, da es schwierig ist, die Größe und damit die homogene Skala im Voraus zu kennen. Wir lösen dieses Problem, indem wir eine normale homogene Skala unter den Unbekannten einführen und schreiben: wobei Stapeln für alle Punkte und Normalen führt zu einem System der Form : αi
Q(xi)=viTq=αini
v=[x2y2z22xy2xz2yz2x2y2z1]T
NxiniAq=0
[v1T000v2T000vnT000v1Tn10303v2T03n203vnT0303nn][ABIJα1α2αn]=0
- \ mathbf {n} _n \ end {bmatrix} \ begin {bmatrix} A \\ B \\ \ vdots \\ I \\ J \\ \ alpha_1 \\ \ alpha_2 \\ \ vdots \\ \ alpha_n \ end { bmatrix} = \ mathbf {0} \ end {Gleichung} wobei , ist aviT=v(xi)TR3×10033×1 Spaltenvektor von Nullen, ist und sind die unbekannten homogenen Skalen.A4N×(N+10)α={αi}

Während die Lösung dieser Formulierung, die im Nullraum von akzeptable Ergebnisse liefert, ist das System in seinen Möglichkeiten völlig uneingeschränkt (die Skalierungsfaktoren sind zu frei). Es ist besser, einen geeigneten Regularisierer zu finden, dessen Implementierung ebenfalls nicht zu kompliziert ist. In der Praxis könnten wir, wieder analog zur Anpassung mit Gradient 1, Polynomgradienten mit Einheitsnorm bevorzugen und somit oder äquivalent schreiben , einen gemeinsamen Skalierungsfaktor. Diese weiche EinschränkungAαi=1αiα¯wird versuchen, einen Nullsatz des Polynoms zu erzwingen, der die lokale Kontinuität der Daten berücksichtigt. Eine solche Regularisierung erspart uns auch das Lösen des empfindlichen homogenen Systems und ermöglicht es uns, das System in einer kompakteren Form neu zu schreiben :Aq=n

[x12y12z122x1y12x1z12y1z12x12y12z11x22y22z222x2y22x2z22y2z22x22y22z212x1002y12z10200002y102x102z10200002z102x12y100202x2002y22z20200002y202x202z20200002z202x22y20020][ABCDEFGHIJ]=[00nx1ny1nz1nx2ny2nz2]

Alles in allem führt das Lösen dieses Gleichungssystems gleichzeitig dazu, dass das Quadrat auf die Punktwolke fällt, während seine Gradienten in Richtung der Normalen ausgerichtet werden. Es ist auch möglich, die Beiträge von Punkten und Normalen unterschiedlich abzuwägen. In bestimmten Fällen reicht eine geringfügige Neugestaltung von die auf das gewünschte Grundelement zugeschnitten ist, um eine typspezifische Anpassung zu erhalten . Für all diese Details sowie einige theoretische Analysen und Pseudocodes verweise ich Sie auf die oben genannten Veröffentlichungen.A

Tolga Birdal
quelle
Das ist toll! Wie würde man A modifizieren, um die relativen Beiträge von Punkten und Normalen unterschiedlich zu gewichten?
Museful
Multiplizieren Sie einfach die ersten Zeilen, die die Punktgleichungen sind, mit dem gewünschten Gewicht. Um die den Normalen entsprechenden Zeilen zu skalieren, müsste optional auch die rechte Seite der Gleichung skaliert werden: . n
Tolga Birdal
Vielen Dank. Sollte das Transponierungssymbol in der letzten Gleichung nicht aus q und n entfernt werden?
Museful
Danke noch einmal. Entfernte sie.
Tolga Birdal
1

Ich kenne ein Beispiel, bei dem die Normalen in das Anpassungsverfahren einbezogen wurden. Es ist jedoch keine direkte quadratische Anpassung. Ein lokal parametrisiertes Patch wird an die Punkte und Normalen angepasst. Die Verwendung von Normalen ergibt mehr Gleichungen im Anpassungsproblem, wodurch Polynome höherer Ordnung verwendet werden können.

  1. Ein neuartiger Algorithmus kubischer Ordnung zur Approximation von Hauptrichtungsvektoren
Abhilash Reddy M.
quelle