Diese Lernressource wird Sie bei der Erstellung eines 3D-Modells aus einer Reihe von Bildern unterstützen.

Regard3D

Bearbeiten

Regard3D ist eine OpenSource Photogrammetrie-Software, die aus einer Reihe von Bildern ein 3D-Modell erstellt.

Webbasierte Demos der Ergebnisse

Bearbeiten

Workflow für Photogrammetrie

Bearbeiten

Hinweise zur Aufnahme von Bildern

Bearbeiten
  • Es ist wichtig, 40 bis 60 Fotos/Bilder und aus mehreren Winkeln aufzunehmen, um eine gute Qualität des 3D-Modells zu erzielen. Mehr Bilder erfordern mehr Rechenzeit, aber Sie erhalten eine bessere Qualität Ihres 3D-Modells.
  • Legen Sie eine strukturierte Oberfläche unter das Objekt, das Sie scannen möchten. Sie hilft Regard3D, die räumliche Verbindung zwischen den Bildern zu erkennen (siehe Demo rechts mit einer schachbrettartigen Oberfläche, die eindeutige Markierungen an den Kanten hat, um die Identifizierung der 3D-Geometrie zu unterstützen). Die Oberfläche kann nach der Berechnung des 3D-Modells in Regard3D entfernt werden.
  • Vermeiden Sie direktes Sonnenlicht und Schatten in Ihren Bildern
  • alle Bilder mit dem gleichen konstanten Licht ausstatten (einige Korrekturen z.B. in GIMP.

alle Bilder mit demselben konstanten Licht (einige Korrekturen z.B. in GIMP vornehmen)

Karlsburg Bilder und Modelle

Bearbeiten
Source Object 3D Model
 
Karlsburg Durlach - Germany
Regard3D - Generate 3D Model with just 14 images from different angles from the ground (no drone images) without the cleanup of the 3D mesh
 
(1) Regard3D Screenshot - Start Screen
 
(2) Regard3D Screenshot - Create New Project
 
(3) Regard3D Screenshot - Add Picture Set
 
(4) Regard3D Screenshot - Added Pictures
 
(5) Regard3D Screenshot - Press Button (Compute Matches)
 
(6) Regard3D Screenshot - Set Parameters for Matching Process
 
(7) Regard3D Screenshot - Show Matching Results
 
(8) Regard3D Screenshot - Start Triangulation and set Triangulation Parameter
 
(9) Regard3D Screenshot - Show Triangulated Points - Preparation for Calculation of Point Cloud
 
(10) Regard3D Screenshot - Calculation of Point Cloud - Time intensive Process
 
(11) Regard3D Screenshot - Point Cloud Setting - Set Colorisation Method to "TEXTURE"
 
(12) Regard3D Screenshot - View final Model

3D-Objekt für Bilder

Bearbeiten

Regard3D verwendet eine Reihe von Bildern als Quelle, um daraus ein 3D-Objekt zu erstellen. Die Bilder werden aus verschiedenen Blickwinkeln und in unterschiedlichen Höhen aufgenommen. In diesem Kurs werden Sie lernen, ein 3D-Modell mit Regard3D zu erstellen. Regard3D ist eine OpenSource Photogrammetrie-Software, die ein 3D-Modell aus einer Reihe von Bildern erstellt.

Webbasierte Demos der Ergebnisse

Bearbeiten

Workflow für Photogrammetrie

Bearbeiten

Hinweise zur Aufnahme von Bildern

Bearbeiten
  • (Anzahl der Bilder) Es ist wichtig, 40 bis 60 Bilder aus verschiedenen Blickwinkeln aufzunehmen, um eine gute Qualität des 3D-Modells zu erreichen. Mehr Bilder erfordern mehr Rechenzeit, aber Sie erhalten eine bessere Qualität Ihres 3D-Modells.
  • (Gebäude) Bei 3D-Modellen von höheren Gebäuden (wie z. B. dem Schloss in Durlach) fehlen einige 3D-Punkte im oberen Bereich des Gebäudes. Schnappschüsse aus verschiedenen Höhen sind nicht immer möglich (z.B. Schnappschüsse von der Spitze eines anderen Gebäudes in der Nähe)
  • (Drohnen) Drohnen können bei der Aufnahme von Bildern über die Objekte fliegen und von unterschiedlichen räumlichen Positionen Bilder aufnehmen.
  • (Kleine Objekte) Legen Sie für kleinere Objekte eine strukturierte Fläche unter das zu scannende Objekt (z. B. ein Schachbrettgitter mit eindeutigen Markierungen an den Rändern). Sie hilft Regard3D bei der Identifizierung der räumlichen Lage von Punkten und der Berechnung zwischen den Bildern (siehe Demo rechts mit einer schachbrettartigen Fläche, die an den Rändern eindeutige Markierungen hat, um die Identifizierung der 3D-Geometrie zu unterstützen). Die Oberfläche kann nach der Berechnung des 3D-Modells in Regard3D entfernt werden.
  • (Sonnenlicht und Schatten) Vermeiden Sie direktes Sonnenlicht und Schatten in Ihren Bildern, da diese als Kanten von 3D-Objekten erkannt werden könnten und die Photogrammetrie Artefakte für die Schatten erzeugen könnte.
  • (Konstantes Licht) Die Beleuchtung eines Objekts, das sich im Freien befindet, kann aufgrund von Veränderungen der Bewölkung oder der Anpassung der Bildhelligkeit durch die Kamera (wenn helle Objekte oder die Sonne im Kamerabild sichtbar sind) unterschiedlich sein. Es wird empfohlen, alle Bilder mit der gleichen konstanten Helligkeit zu versehen oder einige Korrekturen mit einer Bildbearbeitungssoftware vorzunehmen (z.B. Open Source Software GIMP)
  • (Spiegelungen) vermeiden Sie Spiegelungen auf den Objekten, da diese Spiegelungen als 3D-Punkte in der Punktwolke betrachtet werden können und diese Spiegelungen Artefakte im generierten 3D-Modell erzeugen könnten. Sie können Spiegelungen mit GIMP's Clone tool (Youtube)[2] entfernen, wenn nötig)

Für die 3D-Punktwolke wurde die Schloss Karlsburg in Karlruhe-Durlach, Deutschland verwendet und ca. 14 Bilder aus verschiedenen Winkeln auf dem Platz mit Regard3D verwendet. Es war keine Drohne verfügbar, um Bilder aus größerer Höhe zu erhalten.

Unterabschnitt

Bearbeiten

Arbeitsablauf mit Screenshots

Bearbeiten

Die Bilder auf der rechten Seite zeigen einen Arbeitsablauf mit Regard3D Schritt für Schritt.

  • (1) Regard3D Start: Starten Sie Regard3D,
  • (2) Regard3D-New Project: Erstellen eines neuen Projekts in Regard3D,
  • (3) Regard3D-Add Picture Set: Füge eine Reihe von Bildern hinzu, die du mit deiner Digitalkamera aus verschiedenen Winkeln aufgenommen hast,
  • (4) Regard3D-Check Camera Sensor Width: nach dem Hinzufügen des Bildsatzes in der Liste durch Scrollen nach rechts prüfen, ob die Kamera-Sensorbreite in der Kamera-Sensor-Datenbank vorhanden ist. Die Sensorbreite ist die letzte Spalte im Bild (scrollen Sie also nach rechts)
    • Name der Bilddatei
    • Bildgröße
    • Kamerahersteller
    • Kameramodell
    • Brennweite
    • Sensorbreite (die erforderlichen Informationen über die Kamera stammen aus der Kamera-Sensor-Datenbank)
  • (5) Regard3D - Compute Matches: Compute Matches versucht, gemeinsame Punkte in verschiedenen Bildern des geladenen Satzes von Bildern zu identifizieren. Die Referenzpunkte sind die Schlüsselinformation für die Rekonstruktion des 3D-Modells aus der Bildmenge.
  • (6) Regard3D - Setze Parameter für Key Point Matching: erstellt eine Triangulation der dichten Punktwolke einschließlich der Texturpunktwolke.
  • (7) MeshLab; Bereinigen Sie das berechnete 3D-Modell mit MeshLap.

Letzter Schritt: Bereinigung der Punktwolke (MeshLab)

Bearbeiten
  • Entfernen von Artefakten in der Punktwolke,
  • Entfernen von Rauschen in der Punktwolke
  • Optimieren des Netzes
    • Verkleinerung
    • Textur-Optimierung

Die oben genannten Aufgaben können mit der OpenSource-Software MeshLab durchgeführt werden.

OpenSource Ressourcen für Lernressourcen

Bearbeiten

3D-Modelle

Bearbeiten

3D-Modelle können zu einem Photogrammetriemodell hinzugefügt werden (z.B. Fahrzeuge, Pflanzen, Dampfmaschine...)

Programmieraufgabe

Bearbeiten

Die folgenden Lernaufgaben sind für fortgeschrittene Lernende, die die Ergebnisse von Regard3D verbessern wollen. Nichtsdestotrotz ist es eine gute Softwareentwicklungsübung, um zumindest zu Beginn der 3D-Modellverbesserung zu analysieren.

  • Mustererkennung: Gebäude bestehen aus sich wiederholenden symmetrischen Elementen. Erläutern Sie eine Methode,
    • wie Sie fehlende 3D-Punkte/Voxel durch Identifizierung ähnlicher geometrischer Elemente im 3D-Modell eines Gebäudes füllen können,
    • wie man die Symmetrieannahme eines Gebäudes nutzen und zur Korrektur von Artefakten verwenden kann,
    • aufgrund der Annahme, dass einige Teile der Oberfläche bestimmte geometrische Eigenschaften haben (Linien, Kreis, Quadrat, Rechtecke, ...) Interpolation
  • Small Structure Injection: Angenommen, wir haben ein 3D-Modell eines Fensters, das zuvor mit einer höheren Auflösung gescannt oder künstlich erzeugt wurde (z. B. in Blender). Nun betrachten wir eine Small Structure Injection (SSI) in einem 3D-Modell.
    • Vergleichen Sie grob gescannte Objekte/Oberflächen mit bestehenden 3D-Modellen, die im 3D-Modell identifiziert werden können, und erstellen Sie einen Index zwischen 0 und 1, der angibt, wie ähnlich die gescannte Oberfläche von Regard3D im Vergleich zu den Referenz-3D-Modellen ist, die kleinere Elemente darstellen.
    • Definieren Sie einen Schwellenwert, wenn eine kleinere Struktur
    • Ersetzen Sie den erkannten Teil im Regard 3D-Modell durch den eingespritzten Teil des bereits vorhandenen 3D-Modells mit hoher Auflösung - dadurch wird der Detailgrad des gescannten Modells künstlich verbessert.
    • Das Ergebnis sieht besser aus, aber was sind die Folgen dieser Methode? Artefakte sind z. B. schwieriger zu erkennen.
    • Wenden Sie die Kleinstrukturinjektion auf Blätter und Zweige eines Baumes an. Was sind Konzepte zur Mustererkennung, um einen Baum anhand von 3D-Form, Farbe, ... zu erkennen? Ist SSI eine akzeptable Methode für Bäume oder Pflanzen im Allgemeinen und was sind die Anforderungen und Beschränkungen für solche Anwendungsfälle?


Quellennachweise

Bearbeiten
  1. a b Regard3D Homepage - (accessd 2017/11/18) - http://www.regard3d.org
  2. a b GIMP Tutorial - Removing an Object from an Image - by Aubrey Watt (2013) - Youtube Video https://www.youtube.com/watch?v=mXV6KKfOBAk
  3. Eduardo Cortez (2019) Regard3D Tutorial - from Installation to 3D Object - URL: https://www.youtube.com/watch?v=QOjy6oPnLDA (assessed 2020/02/07)
  4. Alan's Art Log (2018) How to Scan Objects into 3D Models II - Settings and Setup Comparisons - URL: https://www.youtube.com/watch?v=7pGJ8rWiecw (assessed 2020/02/07)

Siehe auch

Bearbeiten