Kostenlose Photogrammetrie unter Mac OS: Von Fotos zu 3D-Modellen - Gunook
Kostenlose Photogrammetrie unter Mac OS: Von Fotos zu 3D-Modellen - Gunook
Anonim
Kostenlose Photogrammetrie unter Mac OS: Von Fotos zu 3D-Modellen
Kostenlose Photogrammetrie unter Mac OS: Von Fotos zu 3D-Modellen

Photogrammetrie ist die Verwendung von Bildern/Fotografie, um Abstände zwischen Objekten zu messen (danke Webster). Aber für moderne Zwecke wird es oft verwendet, um ein 3D-Modell von etwas aus der realen Welt zu erstellen, ohne einen 3D-Scanner zu benötigen.

Es gibt viele Software, die Sie für die Photogrammetrie verwenden können, einschließlich einiger großartiger kostenloser Optionen, aber mir ist aufgefallen, dass viele (wie Meshroom) keine Mac-Builds zur Verfügung hatten. Oder sie benötigen eine Grafikkarte mit CUDA-Unterstützung (nicht typisch für Dinge wie ein Macbook). Das bedeutete also einiges Herumgraben.

Endlich bin ich über diesen ausgezeichneten Artikel gestolpert:

Dies führte zu einem Folge-Build-Skript:

Es dauerte eine Weile, bis es funktionierte, aber als ich es in Gang brachte, war ich ziemlich zufrieden mit den Ergebnissen, die ich erhielt. Also werde ich die Schritte ein wenig mehr aufschlüsseln, besonders für Sie Mac-Benutzer da draußen.

Schritt 1: Holen Sie sich COLMAP

COLMAP (https://colmap.github.io/install.html) ist ein nettes, kleines kostenloses Tool für den Einstieg in die Photogrammetrie. Ich habe es zuerst alleine versucht, aber einige der späteren Schritte erforderten CUDA. Also musste ich wieder anfangen zu suchen. Deshalb werden wir für die späteren Schritte andere Software verwenden.

Das Herunterladen von COLMAP ist einfach. Sie können den Anweisungen hier folgen:

Oder Sie können sich die neueste Version auf ihrer Github-Seite ansehen: https://github.com/colmap/colmap/releases und die neueste COLMAP-dev-mac-no-cuda.zip herunterladen

Nachdem Sie die ZIP-Datei heruntergeladen haben, entpacken Sie sie und stecken Sie die COLMAP-App in Ihren Anwendungsordner.

Schritt 2: OpenMVS herunterladen und erstellen

Das nächste Programm, das ich verwende, um die Erstellung der 3D-Modelle abzuschließen, ist OpenMVS (https://cdcseacave.github.io/openMVS/). Sie müssen dies auf Ihrem Computer erstellen, also werde ich versuchen, dies so schmerzlos wie möglich zu gestalten.

Der Link zu den Anweisungen zum Abrufen und Erstellen von OpenMVS auf einem Mac ist hier:

aber ich musste etwas modifizieren. Folgendes habe ich getan:

  • Laden Sie Xcode aus dem App Store herunter

    Öffnen Sie Xcode und stimmen Sie der Lizenz zu

  • Installiere Homebrew, falls du es noch nicht hast:
  • GIT installieren:
  • CMake installieren:
  • Öffnen Sie ein Terminal und führen Sie das folgende Skript aus. Stellen Sie sicher, dass Sie dies von einem Ort aus tun, an dem openMVS leben soll (ich habe einen Ordner "Projekte" unter meinem Hauptbenutzer):

#Install Dependenciesbrew Update brew install boost eigen opencv cgal ceres-solver main_path=`pwd` #VCGLib (Erforderlich) git clone https://github.com/cdcseacave/VCG.git vcglib #Beziehen der OpenMVS-Quellen: git clone https:/ /github.com/cdcseacave/openMVS.git #Build OpenMVS mkdir openMVS_build && cd openMVS_build cmake…/openMVS -DCMAKE_BUILD_TYPE=Freigabe -DVCG_ROOT="$main_path/vcglib" -G "Xcode"

xcodebuild -Konfigurations-Release

Schritt 3: Erstellen Sie ein Photogrammetrie-Skript

Ich habe dann ein Skript erstellt, das auf dem von hier basiert:

Hier ist, was ich herausgefunden habe (achten Sie auf die Hinweise im Skript, da Sie einige Orte festlegen müssen):

Photogrammetrie.sh

# Diese Parameter sind spezifisch für den Computer # Aktuelles Verzeichnis speichern: currDir=$PWD

# Ordnernamen als Variable abrufen

meinordner=${PWD##*/}

# colmap-Verzeichnis festlegen (ändern Sie dies dorthin, wo Sie colmap heruntergeladen haben, ersetzen Sie 'dev' bei Bedarf durch die Versionsnummer):

colDir=/Applications/COLMAP.app/Contents/MacOS/colmap

# OpenMVS-Verzeichnis festlegen (ändern Sie dies in den Ordner 'bin/Release', in dem Sie openMVS heruntergeladen und erstellt haben)

oMVS=/Users/joecooning/Projects/openMVS_build/bin/Release

# Arbeitsverzeichnis festlegen (ich erstelle einen temporären Arbeitsbereichsordner in meinem 'Projekte'-Verzeichnis, um Daten darin zu verarbeiten)

workDir=/Users/joecooning/Projects/3dscans/workspace/$myfolder/

mkdir $workDir

cp *-j.webp

$colDir feature_extractor --database_path database.db --image_path.

$colDir erschöpfender_matcher --database_path database.db mkdir spärlich $colDir mapper --database_path database.db --image_path. --output_path spärlich $colDir model_converter --input_path spärlich/0 --output_path model.nvm --output_type NVM $oMVS/InterfaceVisualSFM model.nvm $oMVS/DensifyPointCloud model.mvs $oMVS/ReconstructMesh model_denseMVS/Refin $MeMVS/Refin Auflösungsstufe 1 model_dense_mesh.mvs $oMVS/TextureMesh --export-type obj -o $myfolder.obj model_dense_mesh_refine.mvs

mkdir $currDir/model/

cp *.obj $currDir/model/ cp *.mtl $currDir/model/ cp *Kd-j.webp

cd $currDir

Schritt 4: Führen Sie das Skript aus

Nachdem Sie das Skript erstellt haben, können Sie Fotos von einem Objekt aufnehmen, von dem Sie ein 3D-Modell erstellen möchten. Es gibt andere Artikel und Videos, die Ihnen gute Ratschläge geben, wie Sie am besten Fotos für die Photogrammetrie aufnehmen (wie dieser hier: https://www.tested.com/art/makers/460142-art- Foto…).

Aber diese Fotos in einen Ordner, das Skript, das Sie erstellt haben, in den Ordner kopieren.

Gehen Sie von Ihrem Terminal aus in den Ordner, in dem sich die Fotos und das Skript befinden, und führen Sie Folgendes aus:

sh Photogrammetrie.sh

Das Skript erledigt dann den Rest für Sie. Bitte beachten Sie, dass die Verarbeitung einige Zeit in Anspruch nehmen kann (insbesondere wenn Sie viele hochauflösende Fotos verwenden). Ich würde vorschlagen, zuerst einige kleinere Fotosets auszuprobieren. Einige einfache Beispielfotosets finden Sie hier: (https://www.regard3d.org/index.php/demo-models)

Empfohlen: