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:
Typbeschränkte direkte Anpassung von quadratischen Oberflächen , James Andrews, Carlo H. Sequin Computer-Aided Design & Applications, 10 (a), 2013, bbb-ccc
Algebraische Anpassung quadratischer Flächen an Daten , I. Al-Subaihi und GA Watson , University of Dundee
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:
- G. Taubin, "Schätzung planarer Kurven, Oberflächen und nichtplanarer Raumkurven, definiert durch implizite Gleichungen, mit Anwendungen zur Kanten- und Bereichsbildsegmentierung ", IEEE Trans. PAMI. 13, 1991, S. 1115–1138.
Lassen Sie mich kurz zusammenfassen. Ein quadratisches kann in der algebraischen Form geschrieben werden:
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 zu lösen, die Folgendes minimieren:
Beachten Sie, dass eine solche direkte Minimierung die triviale Lösung mit 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:
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.
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:
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:
quelle
Antworten:
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:
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:∇1 ∇Q(xi) ni∈R3 ∇1 ∇Q(xi)∥∇Q(xi)∥−ni=0or∇Q(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)=∇vTiq=αini v=[x2y2z22xy2xz2yz2x2y2z1]T N xi ni A′q=0 ⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢vT1vT2⋮vTn∇vT1∇vT2⋮∇vTn00⋮0−n103⋮0300⋮003−n2⋮03⋯⋯⋱⋯⋯⋯⋱⋯00⋮00303⋮−nn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢AB⋮IJα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 a∇vTi=∇v(xi)T∈R3×10 03 3×1 Spaltenvektor von Nullen, ist und sind die unbekannten homogenen Skalen.A′ 4N×(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
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
quelle
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.
quelle
Siehe auch dieses Papier
und ist Erweiterung
quelle