Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten...

77
aib - Automation durch integrierte Bildverarbeitung - Workshop 5 - Softwaremodule zur Verarbeitung Softwaremodule zur Verarbeitung von 3D von 3D - - Daten Daten Dipl.-Ing. Frank Gaßmann Zentrum für Bild- und Signalverarbeitung (ZBS) e. V. Kontakt: ZBS e.V., G-Kirchhoff-Str. 5, 98693 Ilmenau Email: [email protected] URL: http://www.zbs-ilmenau.de Tel.: +49 3677 2010304 Fax: +49 3677 2010302

Transcript of Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten...

Page 1: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

aib - Automation durch integrierte Bildverarbeitung- Workshop 5 -

Softwaremodule zur Verarbeitung Softwaremodule zur Verarbeitung von 3Dvon 3D--DatenDaten

Dipl.-Ing. Frank GaßmannZentrum für Bild- und Signalverarbeitung (ZBS) e. V.

Kontakt: ZBS e.V., G-Kirchhoff-Str. 5, 98693 IlmenauEmail: [email protected]: http://www.zbs-ilmenau.deTel.: +49 3677 2010304Fax: +49 3677 2010302

Page 2: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

2

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Softwaremodule (und Verfahren)zur Verarbeitung von 3D-Punktwolken

Homogenisierung / Ausdünnung von Punktwolken und Triangulationen

Segmentierung der Randpunkte von Formelemente-punktwolken

Netzrekonstruktion / Triangulation

Vermessung von 2D- und 3D-Regelgeometrien

Page 3: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

3

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Punktwolken aus 3D-Digitalisiersystemen

Gegenstand von VerarbeitungsverfahrenGegenstand von Verarbeitungsverfahren4 in den Bereichen: CAD, Reverse Engineering, Qualitätskontrolle, ...4 Vorverarbeitung: Beseitigung von Meßfehlern, Redundanzen, Datenreduktion,

Regularisierung, Realisierung anwendungsspezifischer Punktverteilungen, Glättung, Registrierung von Teildatensätzen, ...

4 Verarbeitung: Flächenrückführung (Triangulation, Segmentierung von Regelgeometrien, Patchsegmentierung freigeformter Bereiche, Kantendetektion, Volumenrekonstruktion für Stereolithografie, ...), Vermessung (Formelemente, Soll-Ist-Vergleich), Fräsbahngenerierung

4 Verarbeitung aufgrund unterschiedlicher Anwendungsfälle und zur Beseitigung unerwünschter Punktwolkeneigenschaften

Eigenschaften der RohpunktwolkenEigenschaften der Rohpunktwolken4 sehr große Datenmengen 4 erhebliche Redundanz4 inhomogene Punktwolken4 fehlende Strukturierung

4 Speicherplatz4 Verarbeitungsdauer4 Weiterverarbeitung eingeschränkt

Page 4: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

4

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Büste, Rohpunktwolke, 600.000 Punkte (mit freundlicher Genehmigung des IOF Jena)

Page 5: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

5

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Büste, Rohpunktwolke, Detailansicht

Page 6: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

6

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Büste, Rohpunktwolke, Bereichsbild Kamera 1, 120.000 Punkte

Page 7: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

7

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Büste, Rohpunktwolke, Bereichsbild Kamera 2, 100.000 Punkte

Page 8: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

8

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Büste, Rohpunktwolke, Bereichsbild Kamera 3, 220.000 Punkte

Page 9: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

9

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Büste, Rohpunktwolke, Bereichsbild Kamera 4, 160.000 Punkte

Page 10: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

10

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Büste, Rohpunktwolke trianguliert, schattierte Darstellung

Page 11: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

11

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Homogenisierung: Anforderungen

4 homogenes Ausdünnen, wahlweise Berücksichtigung der Krümmung der Objektoberfläche

4 anwendbar auf Punktwolken oder Triangulationen

4 einfache Handhabung durch automatische Festlegung von Bearbeitungsparametern

4 Berücksichtigung und Verwendung von Qualitätsangaben zu den Datenpunkten

4 Verwendung räumlicher oder oberflächenbezogener Abstandsmaße zum Ausgleich von Rauschen und zum korrekten Ausdünnen unterschiedlich stark gekrümmter Gebiete

4 Ausdünnen wahlweise durch Entfernen oder Zusammenfassen von Punkten

Page 12: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

12

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Homogenisierung von PunktwolkenAnsatz:

Berechnung eines Dichtemaßes pro Punktflächenbezogen j/n, krümmungsabhängig j/n

Prioritätswarteschlange

4 Punkt mit der niedrigsten Priorität entfernen4 Abstandsmaße der Nachbarpunkte und Warteschlange aktualisieren

solange Zielpunktanzahl nicht erreicht ist:

Besonderheiten:

4 hohe Ergebnisqualität durch Abstandsmaß pro 3D-Punkt4 kurze Laufzeiten durch effektive Verfahren zur Nachbarschaftssuche

Page 13: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

13

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Homogenisierung von Punktwolken

Details:

Krümmungsberechnung4 pro Punkt: Approximation der Umgebungspunkte durch biquadratisches

Polynom, Hauptkrümmungen aus den Polynomkoeffizienten

Abstandsmaße4 räumlich: euklidischer Punktabstand zum nächstliegenden Nachbarpunkt4 oder flächenbezogen: Abstand des nächstliegenden projizierten Punkts in

Tangentialebene (Ausgleich von Rauschen und klaffenden Teildatensätzen)

Nachbarschaftssuche4 3D-Gitterverfahren für die schnelle Beantwortung von Suchanfragen

(Bereichssuche, Nächste-Nachbar-Suche)

Page 14: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

14

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Gitterverfahren für 3D-Suchanfragen

Prinzip: 4 Zerlegung der Punktmenge in Raumzellen4 jede Raumzelle kennt die enthaltenen Punkte

sowie die unmittelbaren Nachbarzellen

Eigenschaften: 4 schnelle Realisierung von Suchanfragen4 gute Eignung für Bereichsanfragen und

Nächste-Nachbar-Suche4 geringer Speicherbedarf4 moderater Implementierungsaufwand

Page 15: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

15

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Büste, Rohpunktwolke, 600.000 Punkte

Page 16: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

16

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Büste, gleichabständig homogenisiert, 50.000 Punkte

Page 17: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

17

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Büste, krümmungsabhängig homogenisiert, 50.000 Punkte

Page 18: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

18

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Rohpunktwolke:Bremstrommel,450000 Punkte

Page 19: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

19

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Bremstrommel, Detail

Page 20: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

20

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Bremstrommel, Detail

Page 21: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

21

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Bremstrommel, Detail, gleichabständig homogenisiert

Page 22: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

22

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Bremstrommel, Detail, gleichabständig homogenisiert

Page 23: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

23

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Bremstrommel, Detail, krümmungsabhängig homogenisiert

Page 24: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

24

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Bremstrommel, Detail, krümmungsabhängig homogenisiert

Page 25: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

25

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Homogenisierung von TriangulationenAnsatz:

Berechnung eines kombinierten Krümmungs- / Dichtemaßes pro Dreieckskante

Prioritätswarteschlange

4 Kante mit der niedrigsten Priorität entfernen4 Prioritäten der Nachbarkanten und Warteschlange aktualisieren

solange Zielpunktanzahl nicht erreicht ist:

Besonderheiten:

4 hohe Ergebnisqualität durch Abstandsmaß pro 3D-Kante4 kurze Laufzeiten durch effektive Datenstruktur für Triangulation

Page 26: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

26

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Homogenisierung von Triangulationen

Details:

GitterrepräsentationWinged-Edge-Struktur (Repräsentation jeder Kante durch ein Paar gerichteter Kanten, Referenzierungvon Vorgänger- und Nachfolgekanten)

Kanten entfernendurch Kollabieren einer Kante, die beiden Kantenknoten verschmelzen oder ein Kantenpunkt entfällt

KantenprioritätÄnderung des Flächeninhalts beim Entfernen der Kante: gewichtetes Produkt von Krümmungsmaß (Winkel zwischen den Normalenvektoren der beiden Kantenpunkte) und Abstandsmaß (Kantenlänge)

Page 27: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

27

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Gitterreduktion krümmungsabhängig, schattierte Ansicht mit überlagertem Dreiecksgitter

Gitterreduktion gleichabständig, schattierte Ansicht mit überlagertem Dreiecksgitter

Gitterreduktion gleichabständig, schattierte AnsichtGitterreduktion krümmungsabhängig, schattierte Ansicht

Page 28: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

28

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Originaldaten gleichabständig krümmungsabhängig

Spritzgußteil, ILMCAD GmbH Ilmenau, Laserscanner CyLan®3D / INTECU GmbH

Page 29: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

29

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Softwaremodul zur Homogenisierung

Input:

4 ungeordnete Punktwolke oder Triangulation

Parameter:

4 Flag für Homogenisierungsart (gleichabständig / krümmungsabhängig)4 Gewicht für Krümmungseinfluss4 Flag für Art des Abstandsmaßes (Berechnung auf Basis Oberflächenprojektion j/n)4 Grenzwert für maximal zulässigen Punktabstand4 Flag für Punktmanipulation (Punkte entfernen oder zusammenfassen)4 Reduktionsfaktor oder Zielpunktanzahl

Output:

4 homogenisierte ungeordnete Punktwolke oder Triangulation

Page 30: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

30

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Softwaremodul zur Homogenisierung

Eigenschaften:

4 robustes und qualitativ hochwertiges Verfahren

4 automatische Parametrisierung möglich

4 Qualitätsangaben zu den Datenpunkten können berücksichtigt werden

4 Homogenisierung wahlweise durch Entfernen oder Zusammenfassen von Punkten

4 Verwendung oberflächenbezogener Abstandsmaße möglich

4 Laufzeit: AMD AthlonTM 2700 XP, Reduktion von 600.000 auf 250.000 Messpunkte: 30 s

Page 31: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

31

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Triangulation von Punktwolken: Anforderungen

4 Triangulation von unstrukturierten 3D-Punktwolken ohne a-priori-Informationen

4 weitgehend automatische Parametrisierung

4 robustes Verfahren, resistent gegen Ausreißer, Dichteschwankungen und Rauschen

4 Verarbeitung beliebiger Punktanzahlen

4 niedrige Laufzeit

Page 32: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

32

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Triangulation von Punktwolken: Verfahrenssystematik

2D: Flächentriangulierung (Dreiecke)

3D: Volumentriangulierung (Tetraeder)

2D / 3D: im R3 eingebettete Flächen

Volumenorientierte Verfahren4 Verfahren auf Delaunay - Basis4 Alpha-shapes4 Gamma-neighborhood graph4 Rekonstruktion mit Mittelachsen

Flächenorientierte Verfahren4 Step-by-step Verfahren4 Surface Description Graphes

4 erhebliche Verfahrensvielfalt

4 i.A. hohe Komplexität der Verfahren

4 kein Optimalalgorithmus verfügbar (2D, 3D: Delaunay-Kriterium)

4 Bewertung eines Verfahrens nur über Implementierung und Probetriangulationen möglich

Verfahren auf Voxelbasis4 Verfahren von Algorri und Schmitt4 Verfahren von Curless und Levoi

Mischformen / Sonderformen4 Marching-cubes-Modifikationen4 Verfahren von Bajaj u.a.4 Kohonen feature map

Page 33: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

33

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Triangulation von Punktwolken

Ansatz (stark vereinfacht)

Berechnung einer Starttriangulationpro Randkante ein Knotenkandidat mit Affinitätsmaß (Priorität)

Prioritätswarteschlange

4neues Dreieck aus Randkante + Kandidat mit der höchster Priorität4Abstandsmaße der Nachbarkanten und Warteschlange aktualisieren

solange noch Kandidaten:

Warum Wachstumsverfahren ?

4niedrige bis mittlere Komplexität, lineares Einstufenverfahren, überschaubar 4modifiziertes Delaunay-Kriterium für Prioritätsmaß verwendbar4begrenzter Implementierungsaufwand

Page 34: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

34

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Triangulation von Punktwolken

Besonderheiten4 verteilte Starttriangulation Qualität, Robustheit4 Wachstumsprinzip Qualität, Robustheit4 Verwendung modifiziertes Optimalkriterium Qualität4 Unterstützung von Suchverfahren durch

sowohl geeignete Datenstruktur für Triangulationals auch Gitterverfahren für Punktwolken Laufzeit, Speicherbedarf

Affinitätsmaß

4 Basis: 2D-Delaunay-Kriterium (kleinster Umkreis)

4 Modifikation: Wichtung mit Winkel zwischen den Normalenvektoren

Page 35: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

35

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Starttriangulation, 500 Dreiecke5%, 4.000 Dreiecke10%, 33.000 Dreiecke25%, 85.000 Dreiecke35%, 120.000 Dreiecke50%, 175.000 Dreiecke75%, 250.000 Dreiecke.000 Knoten, 1.030.000 Kanten, 350.000 DreieckeTeiltriangulationTeiltriangulationTeiltriangulationTeiltriangulationTeiltriangulationTeiltriangulationfertige Triangulation, 175

Page 36: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

36

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

fertige Triangulation, rot markiert: detektierte Ausreißer

Page 37: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

37

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Detailansicht, Zoomfaktor 2,5

Page 38: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

38

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Detailansicht, Zoomfaktor 10

Page 39: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

39

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Detailansicht, Zoomfaktor 10, Drahtgitter eingeblendet

Page 40: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

40

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Softwaremodul zur Triangulation von Punktwolken

Input:4 ungeordnete 3D-Punktwolke

Parameter:

4 Flag für simultane Glättung j/n4 Schwellwert für maximal zulässigen Winkel bei Dreiecksanschluss4 Schwellwert für Begrenzung der Länge der Dreieckskanten4 Flag für Nachbearbeitung der Triangulationsränder (Entfernen spitzer Randdreiecke) j/n

Output:4 Triangulation, Ausreißer

Eigenschaften:

4 automatische Parametrisierung möglich4 simultane Datenglättung (optional) und Ausreißerdetektion4 robustes und qualitativ hochwertiges Verfahren, resistent gegen Ausreißer,

Dichteschwankungen und Rauschen4 Verarbeitung beliebiger Punktanzahlen 4 Laufzeit: AMD AthlonTM 2700 XP, 250.000 Messpunkte: 75 s

Page 41: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

41

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Randpunktesegmentierung / Aufgabenstellung

4 Randpunkteextraktion zwecks Verschneiden von Formelementen mit Freiformflächen (sog. Trimmen) für die Formelemente: Ebene, Kugel, Kegel und Zylinder, zusätzlich: Identifikation von Innen- und Außenkonturen

Page 42: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

42

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Randpunktesegmentierung / Verfahren

Randbedingung4 Formelementparameter sind a-priori bekannt

Ansatz4 Randpunktdefinition: morphologischer Kreis,

minimale Randkrümmung in ebenen Punktwolkenoder kleinstmögliche Innenkontur

4 Rückführung der Formelemente Kugel, Kegel und Zylinder auf die ebene Problemstellung durch Abwicklung der Punktwolken

Probleme4 Periodizität der Abwicklung Arbeiten mit Überlappung4 Kugelabwicklung ist nicht verzerrungsfrei sphärisches Abstandsmaß

Page 43: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

43

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Randpunktesegmentierung / Parametrierung

Randpunktesegmentierung einer ebenen Punktwolke mit verschiedenen minimalen Randkrümmungen

links: Ausgangspunktwolke unten: Randpunkte (minimalen Randkrümmungen v.l.n.r. 0.5, 1, 3, 10, blau: Außenkontur, grün Innenkonturen)

Page 44: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

44

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Softwaremodul zur Randpunktesegmentierung

Implementierung:4 Sweepalgorithmus mit minimalem Krümmungsradius als halbe Sweepbereichsbreite

Input:4 ungeordnete 3D-Punktwolke eines Formelementes, Formelementeparameter

Parameter:

4 minimaler Krümmungsradius bzw. minimale Lochgröße

Output:

4 detektierte Randpunkte 4 Index für Zuordnung zur jeweiligen Randkontur4 Flag für Kennzeichnung Innen- oder Außenkontur

Eigenschaften:

4 automatische Erkennung von Innen- und Außenkonturen4 automatische Parametrierung über mittleren Punktabstand möglich4 Verarbeitung beliebiger Punktanzahlen 4 Laufzeit: AMD AthlonTM 2700 XP, 150.000 Messpunkte: 6 s

Page 45: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

45

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Vermessung von Geometrielementen: Aufgabenstellung

Zielstellung4 Bestimmung der Parameter von Geometrieelementen aus gegebenen Messpunkten4 praktisch relevante Geometrieelemente: 2D: Gerade, Kreis, Ellipse; 3D: Gerade, Kreis,

Ellipse, Ebene, Kugel, Zylinder, Kegel, Torus

Anwendungsbereich4 gesamter industrieller Bereich

(Fertigungsmesstechnik, Prüftechnik, industrielle Messtechnik, Qualitätskontrolle, Reverse Engineering, ...)

4 alle Messbereiche bzw. -volumina (nm bis >>m)

Bedeutung der Geometrieelemente resultiert aus4 funktionale Gründe (Passungen, Führungen, Lager,

Normale, ...)4 einfache und genaue Herstellung (Fertigung)

Profilsystemteil, Geometrieelemente Kreis, Gerade, Ebene, Zylinder und Kegel

Page 46: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

46

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Ausgleichsrechnung: Fehlerquadratansatz

Aufgabenstellung4gegeben sind: K Messpunkte: 2D: oder 3D:

sowie die Beschreibungsgleichung F des Geometrieelements mit N Parameter ai

4Bestimmung der unbekannten Parameter des Geometrieelements

Ansatz4Definition Abstandsfunktion (senkrechter Abstand)

4Aufstellung Zielfunktional

4Ableitung Zielfunktional (partielle Ableitungen), Nullsetzen und Lösung des Gleichungssystems

( ) ( )kkkkkkk zyxxyxx ,,, ==rr

( )kk xaFd rr,=

( ) Minimum 1

21 →=∑

=

K

kkN daaZ K

0,,01

=∂∂

=∂∂

NaZ

aZ

K

Lösung durch Minimierung der Quadratsumme der senkrechten Abstände der Messpunkte zur betreffenden Kurve bzw. Fläche

Page 47: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

47

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Ausgleichsrechnung: Fehlerquadratansatz

andere übliche Bezeichnungen in der Literatur4 Methode der kleinsten Quadrate4 Gaußsche Fehlerquadratmethode4 Approximation im Mittel

Variationen der Aufgabenstellung4 Berechnung aller Parameter eines

Geometrieelements (Standardfall)4 einige Parameter des Geometrieelements sind a-priori bekannt (einzelne

Parameter, Form-, Lageparameter)4 Berücksichtigung externer Nebenbedingungen (Constraints), z.B.

4 Oberflächenpunkte vorgegeben4 Lagerestriktionen zu anderen Geometrieelementen (z.B. parallel, senkrecht,

tangential, koaxial, Punkt auf Achse, ...)

Page 48: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

48

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Stand der Normung: ISO 10360-6

ISO 10360-6:2001Acceptance and reverification tests for coordinate measuring machines (CMM) -Part 6: Estimation of errors in computing Gaussian associated features

EN ISO 10360-6:2001 Geometrische Produktspezifikation (GPS) - Annahmeprüfung und Bestätigungs-prüfung für Koordinatenmessgeräte (KMG) - Teil 6: Abweichungsabschätzung beim Berechnen zugeordneter Geometrieelemente nach Gauß (ISO 10360-6:2001)

Inhalt4 Begriffe und Definitionen4 verwandte Normen4 Anforderungen an Software zur Geometrievermessung4 Generierung von Referenzdatensätzen (Arten von Referenzdatensätzen,

Generieren von Zufallswerten, nominelle Erfassungsbereiche, Addition von Formabweichungen, Stichprobenauswahl)

Page 49: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

49

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Parametrierung und Mindestmesspunktanzahl

Anzahl und Art der freien Parameter Mindestanzahl Messpunkte

Gerade 2D 2 Normale, Abstand zum Ursprung 2Gerade 3D 4 Zuführungs-, Richtungsvektor 2

Ebene 3 Normale, Abstand zum Ursprung 3

Kreis 2D 3 Mittelpunkt, Radius 3Kreis 3D 6 Mittelpunkt, Radius, Achsrichtung 3Ellipse 5 Mittelpunkt, Länge und Richtung Halbachsen 4

Kugel 4 Mittelpunkt, Radius 4

Zylinder 5 Zuführungs-, Richtungsvektor, Radius 5

Kegel 6 Scheitelpunkt, Richtungsvektor, Öffnungswinkel 6

Torus 7 Mittelpunkt, Achsrichtung, Radien 7

Vereinbarungen für Zuführungs-, Richtungsvektor, Normale: 1.1,1.1,0. =====⊥ nnbzwnrrbzwrrzbzwrz TT rrrrrrrrrr

Page 50: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

50

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Ausgleichsrechnung: lineares Zielfunktional / inhomogene Form

( ) Minimum 2

1 1

)(0

)(1 →

−=∑ ∑

= =

K

k

N

i

kkiiN ffaaaZ K

=

∑∑∑

∑∑∑

∑∑∑

=

=

=

===

===

===

K

k

kN

k

K

k

kk

K

k

kk

NK

k

kN

kN

K

k

kkN

K

k

kkN

K

k

kN

kK

k

kkK

k

kk

K

k

kN

kK

k

kkK

k

kk

ff

ff

ff

a

aa

ffffff

ffffff

ffffff

1

)()(0

1

)(2

)(0

1

)(1

)(0

2

1

1

)()(

1

)(2

)(

1

)(1

)(

1

)()(2

1

)(2

)(2

1

)(1

)(2

1

)()(1

1

)(2

)(1

1

)(1

)(1

MM

L

MMMM

L

L

Abstandsfunktion

Zielfunktional

Normalgleichungssystem

Lösung von M a = b z.B. durch Cholesky-Verfahren(M ist symmetrisch und positiv definit)

∑=

−=N

i

kkiik ffad

1

)(0

)(

Page 51: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

51

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Ausgleichsrechnung: lineares Zielfunktional / homogene Form

Abstandsfunktion

Vermeidung der trivialen Lösung durch Einführung der Nebenbedingung ,Formulierung durch sog. Lagrange - Multiplikator

Zielfunktional

spezielles Eigenwertproblem

Lösung von M a = a z.B. durch Verfahren von Mises (i.A. ist die Ermittlung des zum betragsgrößten oder -kleinsten Eigenwert gehörenden Eigenvektors ausreichend)

∑=

=N

i

kiik fad

1

)(

( ) ( ) Minimum 1λ2

1 1

)(1 →

−−=∑ ∑

= =

K

k

TN

i

kiiN aafaaaZ rr

K

=

∑∑∑

∑∑∑

∑∑∑

===

===

===

NNK

k

kN

kN

K

k

kkN

K

k

kkN

K

k

kN

kK

k

kkK

k

kk

K

k

kN

kK

k

kkK

k

kk

a

aa

a

aa

ffffff

ffffff

ffffff

MM

L

MMMM

L

L

2

1

2

1

1

)()(

1

)(2

)(

1

)(1

)(

1

)()(2

1

)(2

)(2

1

)(1

)(2

1

)()(1

1

)(2

)(1

1

)(1

)(1

λ

1=aaT rr0=iaλ

λ

Page 52: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

52

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Ausgleichsrechnung: nichtlineares Zielfunktional (Gauß-Newton-Verfahren)

Abstandsfunktion

Zielfunktional

Idee: sukzessive Verbesserung einer Startlösung

Normalgleichungssystem ( ist Jakobimatrix, Größe KxN)

Lösung z.B. durch Cholesky-Verfahren bzw. QR-Zerlegung

),( kk xaFd rr=

( ) ( )( ) Minimum ,,,2

1

)(1 →=∑

=

K

kk

kN xaFaaZ rr

K

lll aaa rrr∆+=+1

4 Taylor-Reihenentwicklung von F (Abbruch nach 2. Glied) liefert neues Zielfunktional, hier ist gegeben (alte Näherung) und der Schrittweitenvektor unbekannt

4 eine Minimierung des Fehlers für einen Iterationsschritt kann nun durch Lösung der linearen Ausgleichsaufgabe für erfolgen

lar lar∆

lar∆

( ) ( ) ( ) ( )aFaFaaFaF TlT rrrrr ′=∆′′

( )aF r′

( ) ( )aFaaF rrr=∆′bzw.

Page 53: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

53

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Ausgleichsrechnung: nichtlineares Zielfunktional / praktische Aspekte

Numerik:

QR-Zerlegung (Lösung überbestimmtes Gleichungssystem) ist numerischstabiler, verwendet wird i.a. die Houshoulder-Transformation

Bestimmung der Jakobimatrix:

zur Vermeidung der analytischen Ableitung der Zielfunktion kann mit einerApproximation durch Differenzenquotienten gearbeitet werden

Konvergenz:

4 für eine globale Konvergenz sind ausreichend genaue Startwerte erforderlich4 wegen der unvollständigen Reihenentwicklung ist ungenau, üblich sind

Modifikationen des Gauß-Newton-Verfahrens:4 Dämpfungsverfahren: wird anhand von Konvergenztests skaliert4 Levenberg-Marquardt-Verfahren: Mischung aus Gradientenabstiegs-

verfahren ( weit entfernt von ) und Gauß-Newton-Verfahren (in Minimumnähe)

lar∆

lar∆

minlarlar

Page 54: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

54

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Ausgleichsrechnung: nichtlineares Zielfunktional / praktische Aspekte

Gewichtung der Messwerte4 in der Praxis können zu den Messpunkten Qualitätswerte gegeben sein4 eine Berücksichtigung der Qualitätswerte erfolgt als Gewichtung des

Fittingfehlers pro Messpunkt

Abbruchkriterien4 absoluter Fehler RMS (root mean square):

4 relativer Fehler (RMS-Änderung bezogen auf Gesamtfehler):

4 maximal zulässige Anzahl von Iterationsschritten

∑∑=

k

kkRMS w

dwError

)( 2

1

1

+

+−=

l

llrelativ RMS

RMSRMSError

Page 55: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

55

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Softwarebibliothek: Ansätze nach Art des Zielfunktionals

mathematische Ansätze nach Verfahrensgruppe und Art des Geometrieelements

VerfahrensgruppeFormelement

Ausgleich aller Parame-ter

Ausgleich mit fixenParametern

Formelementpunktevorgegeben

2D-Gerade linear linear linear

2D-Kreis nichtlinear(lineare Näherung)

abhängig von konkreterParameterkombination nichtlinear

Ellipse nichtlinear(lineare Näherung) nichtlinear -

3D-Gerade linear abhängig von konkreterParameterkombination linear

3D-Kreis nichtlinear abhängig von konkreterParameterkombination nichtlinear

Ebene linear linear linear

Kugel nichtlinear(lineare Näherung)

abhängig von konkreterParameterkombination nichtlinear

Zylinder nichtlinear abhängig von konkreterParameterkombination

abhängig von konkreterParameterkombination

Kegel nichtlinear abhängig von konkreterParameterkombination

abhängig von konkreterParameterkombination

Torus nichtlinear abhängig von konkreterParameterkombination -

Page 56: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

56

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

lineares Zielfunktional, inhomogene Form, Beispiel

Kreisapproximation durch lineare Näherungsfunktion

Kreisgleichung

Umformung

Substitution

Normalgleichungssystem

( ) ( ) 222 rmymx yx =−+−

022 22222 =++−++−− yxrmmymxm yxyx

,,2,2 222321 rmmamama yxyx −+=−=−=

( )22)(0

)(3

)(2

)(1 ,1,, kk

kkk

kk

k yxffyfxf +−====

( )

( )( )

( )( )

( )

+−

+−

+−

=

−+−−

∑∑∑

∑∑∑

∑∑∑

=

=

=

===

===

===

K

kkk

K

kkkk

K

kkkk

yx

y

x

K

k

K

kk

K

kk

K

kk

K

kk

K

kkk

K

kk

K

kkk

K

kk

yx

yyx

xyx

rmmmm

yx

yyyx

xyxx

1

22

1

22

1

22

222

111

11

2

1

111

2

22

1

Page 57: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

57

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Kreisapproximation, geometrische und algebraische Lösung

• rot / grün: verrauschte Punkte (Stützstellen) und Sollkreis eines Kreissegments

• rot / grün: verrauschte Punkte (Stützstellen) und Sollkreis eines Kreissegments

• blau: algebraische Lösung, Näherungslösung

• rot / grün: verrauschte Punkte (Stützstellen) und Sollkreis eines Kreissegments

• blau: algebraische Lösung, Näherungslösung

• gelb: geometrische Lösung, Fehlerquadratapproximation des senkrechten Abstands

Page 58: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

58

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Ellipsenapproximation, geometrische und algebraische Lösung

rot: verrauschte Punkte (Stützstellen)rot / grün: verrauschte Punkte (Stützstellen) und Sollellipse eines Ellipsensegments blau: algebraische Lösung, Näherungslösung rot / grün: verrauschte Punkte (Stützstellen) und Sollellipse eines Ellipsensegments rot / grün: verrauschte Punkte (Stützstellen) und Sollellipse eines Ellipsensegments blau: algebraische Lösung, Näherungslösung gelb: geometrische Lösung, Fehlerquadratapproximation des senkrechten Abstands

Page 59: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

59

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

lineares Zielfunktional, homogene Form, Beispiel

2D-Geradenapproximation

Geradengleichung (hier: nichtnormierte Parameter)

Ansatz unddanana yx

Normalgleichungssystem

gesucht wird der zum größten Eigenwert gehörende Eigenvektor, da genau

dann die Zielfunktion minimal wird

=== 321 ,,

0=++ dynxn yx

( )( )222 1λ∑ −++−++ yxkykx dnndynxn

1,, )(3

)(2

)(1 === k

kk

kk fyfxf

=

∑∑∑

∑∑∑

∑∑∑

===

===

===

dnn

dnn

yx

yyyx

xyxx

K y

x

y

x

K

k

K

kk

K

kk

K

kk

K

kk

K

kkk

K

kk

K

kkk

K

kk

λ

111

11

2

1

111

2

1

1

2

1=

K

k

Page 60: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

60

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

nichtlineares Zielfunktional, Beispiel Zylinderfitting

Abstandsfunktion (Achsabstand abzüglich Radius)

Zielfunktion

Ableitungen (mit und )

( )( )2

1∑=

−−×=K

kk radzxrZ rrr

( ) radzxrd kk −−×=rr

( )zxrg kkrrr

−=

( )k

xkxkx

x

k

fzxgr

zd −−

=∂∂

( )k

ykyky

y

k

fzxgr

zd −−

=∂∂

( )[ ]k

xkxkxk

x

k

fzxgrg

rd −−

=∂∂

( )[ ]k

ykykyk

y

k

fzxgrg

rd −−

=∂∂

( )zxrf kkrrr

−×=

( )k

zkzkz

z

k

fzxgr

zd −−

=∂∂ ( )[ ]

k

zkzkzk

z

k

fzxgrg

rd −−

=∂∂

1−=∂∂raddk

Page 61: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

61

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Iteration RMS dRMSrelativ0 10.5793 -1 6.40806 0.3942842 1.64117 0.7438893 0.0850883 0.9481544 0.029304 0.6556055 0.029304 0.6556056 0.0292892 0.0005044537 0.0292892 1.63323e-108 0.0292892 1.23568e-159 0.0292892 2.33034e-16

0

1

2

0

1

2

nichtlineares Zielfunktional, Beispiel ZylinderfittingVermessung des Anschlußstutzens eines Spritzgußteils

Page 62: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

62

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

nichtlineares Zielfunktional, Beispiel Kegelfitting

Härteprüfung nach Rockwell (DIN 50103)Iteration RMS dRMSrelativ ϕ0 0.669 90.0°1 0.654 0.0227 101.4°2 0.645 0.0137 126.2°3 0.072 0.8883 119.9°4 0.013 0.8139 122.3°5 0.00299126 0.7769 117.89°6 0.00262962 0.1209 117.5039°7 0.00262932 0.000111 117.497485°8 0.00262932 1.10316e-06 117.497662°

0

1

2

3

Page 63: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

63

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Rohpunktwolke mit Kalibrierkörper, 550.000 PunkteRohpunktwolke mit segmentiertem KalibrierkörperRohpunktwolke, Kugelmessung auf Kalibrierkörper

nichtlineares Zielfunktional, Beispiel Kugelfitting

Page 64: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

64

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

nichtlineares Zielfunktional, Beispiel Kugelfitting

Kugelmessung, Detailansichten

Page 65: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

65

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Bereitstellung von Startwerten

4 manuelle Vorgabe: Nutzung von a-priori-Wissen über Messsituation und Messobjekt 4 lineare Näherungsverfahren für Kreis, Kugel und Ellipse 4 generische Generierung (zufällige Auswahl von Startparametern und repräsentativen

Teilpunktmengen, Parameterberechnung für jede Teilpunktmenge, Startwert wird der Parametersatz mit dem kleinsten Fehler)

4 Auswertung der Messpunktstatistik 4 Vollkreis, -ellipse, -kugel, -torus: Mittelpunkt der Formelemente aus

Schwerpunkt, Radien durch Auswertung der Relation einzelner Messpunkte zum Zentrum

4 Formelemente mit ausgeprägter Verteilung der Messpunkte in eine Richtung: Achslage aus Parametern der Hauptachsentransformation

4 Berechnung von Parametern anhand einer minimalen Messpunktanzahl4 Zylinder, Kegel, Torus: Reduktion auf 2D-Formelemente durch Projektion von

räumlichen Schnittmengen, Selektion anhand Approximationsfehler, Kombination der Parameter der 2D-Formelemente

Page 66: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

66

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Bereitstellung von Startwerten4 Kugel, Zylinder, Kegel, Torus: Berechnung der Hauptkrümmungsrichtungen von

lokalen Teilpunktmengen, Ableitung der Parameter aus der resultierenden Gaußkugel

Hauptkrümmungen kmax, kmin, Hauptkrümmungsrichtungen rkmax, rkmin am Beispiel von Kegel und Zylinder:

r kmin

kmaxr

r kmin

kmaxr

Formelement Form auf Gaußkugel kmin rkmax (⊥ zu rkmin) Kreiszylinder

h, a, r 1 Kreissegment, rad=1 bzw. 2 Einzelpunkte 0 a

Kreiskegel m, a, Φ

3 Kreissegmente, radmax=1, radmin<1 0 mp −

Page 67: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

67

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Softwaremodul zur Vermessung von Geometrieelementen

Input:

4 ungeordnete 3D-Punktwolke4 Qualitätswert pro Messpunkt (optional)4 Angabe des Geometrieelementetyps

4 nichtlineare Ansätze: 4 Startwerte für Formelementeparameter4 Abbruchkriterien: minimaler RMS, minimale Änderung des

RMS, zulässige Iterationsanzahl

Output:

4 Geometrieelementeparameter

Parameter:

Page 68: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

68

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Adaptive AusgleichsrechnungProblem4 Punktwolken (insbesondere optisch antastende Messverfahren)

enthalten Ausreißer4 Fittingverfahren setzen eine korrekte Segmentierung der zum

betreffenden Geometrieelement gehörenden Messpunkte voraus

interaktive und manuelle Ausreißerdetektion bzw. Segmentierung der Messpunkte durch den Anwender ist zeitaufwendig und subjektivnotwendig ist zumindest eine teilautomatische Detektion der Regel-geometriepunkte

Lösung4 iteratives Verfahren der adaptiven Ausgleichsrechnung,

gekennzeichnet durch Gewichtung der einzelnen Messpunkte je nachZugehörigkeit zum Geometrieelement

4 Voraussetzung ist Grobsegmentierung

Page 69: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

69

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Adaptive Ausgleichsrechnung

Ansatz: Einführung von Gewichten wk pro Messpunkt, diese geben die Zugehörigkeit zum Geometrieelement an

Zielfunktion mit

nach dem Gesetz der Großen Zahlen wird angenommen, daß die Defekte normalverteilt sind, Einführung der Dichtefunktion ϕ

mit und

Gewichtsberechnung mit

Abbruchkriterien analog nichtlineare Iterationsverfahren, zusätzlich Mindestpunktanzahl

∑=

→K

kk Minimumd

1

2

∑=

=K

kkd

K 1

21µ ( )∑=

−−

=K

kkd

K 1

22

11 µσ( )

( )2

22

2

21,, σ

µ

πσµϕ

−−

=kd

k ed

( ) kkk dw ϕσµϕ Σ= ,,

kkk wxaZd ⋅= ),(2 rr

( )∑=

=ΣK

kkk d

1,, σµϕϕ

minpn

Page 70: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

70

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Adaptive Ausgleichsrechnung

Ebenensegmentierung, Beispiel Wendeschneidplatterot: segmentierte PunkteZielzustand nach 12 Iterationen

Page 71: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

71

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Adaptive Ausgleichsrechnung

Kugelsegmentierung, Beispiel Wendeschneidplatterot: segmentierte PunkteZielzustand nach 8 Iterationen

Page 72: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

72

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Softwaremodul zur Feinsegmentierung von Geometrieelementen

Input:

4 ungeordnete 3D-Punktwolke4 Qualitätswert pro Messpunkt (optional)4 Angabe des Geometrieelementetyps

Parameter:

4 nichtlineare Ansätze: 4 Startwerte für Formelementeparameter4 Abbruchkriterien: minimaler RMS, minimale Änderung des

RMS, zulässige Iterationsanzahl, Zielpunktanzahl

Output:

4 Geometrieelementeparameter4 Segmentierungswert pro Messpunkt (Maß für Zugehörigkeit zum

Geometrieelement)

Page 73: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

73

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Softwarebibliothek: Implementationsstand (1/1)

verfügbare Verfahren nach Verfahrensgruppe und Art des Geometrieelements

Verfahrensgruppe

FormelementAusgleich aller

ParameterAusgleich mit

fixen Parametern

Formelement-punkte vorgege-

ben

Feinsegmentie-rung

2D-Gerade vorhanden vorhanden vorhanden vorhanden

2D-Kreis vorhanden vorhanden vorhanden vorhanden

Ellipse vorhanden vorhanden nicht vorhanden vorhanden

2D-Quadrik vorhanden vorhanden

3D-Gerade vorhanden vorhanden vorhanden vorhanden

3D-Kreis vorhanden vorhanden vorhanden vorhanden

Ebene vorhanden vorhanden vorhanden vorhanden

Kugel vorhanden vorhanden vorhanden vorhanden

Zylinder vorhanden vorhanden teilweisevorhanden vorhanden

Kegel vorhanden vorhanden teilweisevorhanden vorhanden

Torus vorhanden vorhanden nicht vorhanden vorhanden

3D-Quadrik vorhanden vorhanden

Page 74: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

74

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Softwarebibliothek: Implementationsstand (1/2) Restriktion

(konstante Parameter oder vorgegebene Form-elementpunkte)

Zielfunktional

2D-Gerade Normalenvektor linearAbstand zum Koordinatenursprung nichtlinear

ein Kurvenpunkt linear2D-Kreis Radius nichtlinear

Mittelpunkt linearein und zwei Kurvenpunkte nichtlinear

Ellipse Halbachsen nichtlinearMittelpunkt nichtlinear

Richtungsvektor große Halbachse nichtlinearRichtungsvektor große Halbachse und Radius nichtlinear

ein – vier Kurvenpunkte nicht implementiert3D-Kreis Radius nicht implementiert

Mittelpunkt nicht implementiertRichtungsvektor der Kreisebene nicht implementiert

Radius und Richtungsvektor nicht implementiertRadius und Mittelpunkt nicht implementiert

ein und zwei Kurvenpunkte nicht implementiert

verfügbare Verfahren nach Verfahrensgruppe und Art des Geometrieelements

Page 75: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

75

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Softwarebibliothek: Implementationsstand (1/3) Restriktion

(konstante Parameter oder vorgegebene Form-elementpunkte)

Zielfunktional

3D-Gerade Richtungsvektor linearAbstand zum Koordinatenursprung nicht implementiert

ein Kurvenpunkt linearEbene Normalenvektor linear

Abstand zum Koordinatenursprung linearein und zwei Oberflächenpunkte linear

Kugel Radius nichtlinearMittelpunkt linear

ein – drei Oberflächenpunkte nichtlinearZylinder Radius nichtlinear

Richtungsvektor der Achse nichtlinear,lineare Näherungslösung

Radius und Richtungsvektor nichtlinear,lineare Näherungslösung

Zylinderachse linearein Achspunkt nichtlinear

ein Oberflächenpunkt nichtlinearzwei – fünf Oberflächenpunkte nicht implementiert

verfügbare Verfahren nach Verfahrensgruppe und Art des Geometrieelements

Page 76: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

76

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Softwarebibliothek: Implementationsstand (1/4)

Restriktion(konstante Parameter oder vorgegebene Form-

elementpunkte)

Zielfunktional

Kegel Öffnungswinkel nichtlinearKegelspitze nichtlinear

Richtungsvektor der Achse nichtlinearRichtungsvektor der Achse und Öffnungswinkel nichtlinear

Richtungsvektor der Achse und Kegelspitze linearRichtungsvektor der Achse und Achspunkt linear

ein Achspunkt nichtlinearein Oberflächenpunkt nichtlinear

ein – sechs Oberflächenpunkte nicht implementiertTorus Radien nichtlinear

Mittelpunkt nichtlinearRichtungsvektor der Achse nichtlinear

Radien und Richtungsvektor nichtlinearTorusachse nichtlinear

Richtungsvektor der Achse und Achspunkt nichtlinearein – sieben Oberflächenpunkte nicht implementiert

verfügbare Verfahren nach Verfahrensgruppe und Art des Geometrieelements

Page 77: Softwaremodule zur Verarbeitung von 3D Daten2 Softwaremodule zur Verarbeitung von 3D-Daten Softwaremodule (und Verfahren) zur Verarbeitung von 3D-Punktwolken zHomogenisierung / Ausdünnung

77

Softwaremodule zur Verarbeitung von 3DSoftwaremodule zur Verarbeitung von 3D--DatenDaten

Vielen Dank für Ihre Aufmerksamkeit.