# Photogrammetrie/Regard3D

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

## Regard3D

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

### Webbasierte Demos der Ergebnisse

* Regard3D Demos

### Workflow für Photogrammetrie

* Nehmen Sie ein Foto des Objekts aus mehreren Winkeln auf.
* Schauen Sie sich die folgenden Videos an, um mehr über Photogrammetrie mit Regard3D zu erfahren
** Wie man Objekte mit einer Kamera in 3D-Modelle umwandelt/scannt Youtube Video by Alan's Art Lab (2016)

### Hinweise zur Aufnahme von Bildern

* 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)
* Spiegelungen auf den Objekten vermeiden (ggf. mit GIMP's Clone tool (Youtube) entfernen)

## Karlsburg Bilder und Modelle

* Karlsburg, Durlach - 360-Grad-Ansicht mit WikiCommons equirectangular Image
* 360-Degree Panorama with AFrame (see WikiCommons2Aframe - Starter Panorama)
| 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 |

## 3D-Objekt für Bilder

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

* Regard3D Demos
* Regard3D Workflow zur Erstellung eines eigenen 3D-Modells

### Workflow für Photogrammetrie

* Nehmen Sie ein Foto des Objekts aus mehreren Winkeln auf.
* Sehen Sie sich die folgenden Videos an, um mehr über Photogrammetrie mit Regard3D zu erfahren
* Wie man Objekte mit einer Kamera in 3D-Modelle umwandelt/scannt Youtube Video by Alan's Art Lab (2016)

### Hinweise zur Aufnahme von Bildern

* (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) 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

* Installation und Download von Software und Kamerasensordaten
* Download von Beispielbildern zum Einstieg und zum Kennenlernen der Funktionen der Software.

## Arbeitsablauf mit Screenshots

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)

* 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

* http://www.regard3d.org
* http://www.meshlab.net
* https://github.com/alicevision/Meshroom - OpenSource Photogrammetrie-Software - GitHub-Repository
* https://www.opendronemap.org
* Regard3D Installer für Windows und MacOSX
* Regard3D auf Linux mit Wine. Wine erlaubt es, Windows-Anwendungen unter Linux zu installieren und auszuführen. Da derzeit kein Linux-Paket verfügbar ist, scheint die WineHQ-Installation der einfachste Weg zu sein, Regard3D unter Linux zu nutzen.

## 3D-Modelle

3D-Modelle können zu einem Photogrammetriemodell hinzugefügt werden (z.B. Fahrzeuge, Pflanzen, Dampfmaschine...)
* https://sketchfab.com
* https://www.regard3d.org/index.php/demo-models

## Programmieraufgabe

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?

## Videos

* Regard3D - Tutorial (Duration 1h) - Youtube (2019) by Eduardo Cortez
* Regard3D - Settings and Setup Comparisons - Youtube (2018) by Alan's Art Log - How to mprove the quality of the 3D scan-

## Quellennachweise

* 1 2 Regard3D Homepage - (accessd 2017/11/18) - http://www.regard3d.org
* 1 2 GIMP Tutorial - Removing an Object from an Image - by Aubrey Watt (2013) - Youtube Video https://www.youtube.com/watch?v=mXV6KKfOBAk
* ↑ Eduardo Cortez (2019) Regard3D Tutorial - from Installation to 3D Object - URL: https://www.youtube.com/watch?v=QOjy6oPnLDA (assessed 2020/02/07)
* ↑ 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)