Photogrammétrie gratuite sur Mac OS : des photos aux modèles 3D : 5 étapes
Photogrammétrie gratuite sur Mac OS : des photos aux modèles 3D : 5 étapes
Anonim
Photogrammétrie gratuite sur Mac OS: des photos aux modèles 3D
Photogrammétrie gratuite sur Mac OS: des photos aux modèles 3D

La photogrammétrie est l'utilisation d'images/photographies pour mesurer des distances entre des objets (merci Webster). Mais à des fins modernes, il est souvent utilisé pour créer un modèle 3D de choses du monde réel sans avoir besoin d'un scanner 3D.

Il existe de nombreux logiciels que vous pouvez utiliser pour la photogrammétrie, y compris d'excellentes options gratuites, mais j'ai remarqué que beaucoup (comme Meshroom) n'avaient pas de versions Mac disponibles. Ou ils nécessiteraient une carte graphique avec prise en charge CUDA (pas typique avec des choses comme un Macbook). Cela signifiait donc qu'il fallait creuser.

Je suis enfin tombé sur cet excellent article:

Cela a conduit à un script de construction de suivi:

Il m'a fallu un certain temps pour que cela fonctionne, mais une fois que je l'ai démarré, j'étais assez satisfait des résultats que j'ai commencé à obtenir. Je vais donc détailler un peu plus les étapes, en particulier pour les utilisateurs de Mac.

Étape 1: Obtenez COLMAP

COLMAP (https://colmap.github.io/install.html) est un joli petit outil gratuit pour débuter avec la photogrammétrie. Je l'ai essayé seul au début, mais certaines des étapes ultérieures nécessitaient CUDA. J'ai donc dû recommencer à chercher. C'est pourquoi nous utiliserons d'autres logiciels pour les étapes ultérieures.

Le téléchargement de COLMAP est simple. Vous pouvez suivre les instructions ici:

Ou vous pouvez consulter la dernière version sur leur page github: https://github.com/colmap/colmap/releases et télécharger la dernière COLMAP-dev-mac-no-cuda.zip

Une fois que vous avez téléchargé le zip, décompressez-le et collez l'application COLMAP dans votre dossier Applications.

Étape 2: Obtenez et créez OpenMVS

Le prochain programme que j'utilise pour terminer la construction des modèles 3D est OpenMVS (https://cdcseacave.github.io/openMVS/). Vous allez devoir construire cela sur votre machine, je vais donc essayer de rendre cela aussi indolore que possible.

Le lien vers les instructions pour obtenir et construire OpenMVS sur un Mac est ici:

mais j'ai dû modifier légèrement. Voici ce que j'ai fait:

  • Téléchargez Xcode depuis l'App Store

    Ouvrez Xcode et acceptez la licence

  • Installez Homebrew si vous ne l'avez pas déjà:
  • Installez GIT:
  • Installez CMake:
  • Ouvrez un terminal et exécutez le script suivant. Assurez-vous de le faire depuis un endroit où vous voulez qu'openMVS vive (j'ai un dossier 'Projets' sous mon utilisateur principal):

#Install dependenciesbrew update brew install boost eigen opencv cgal ceres-solver main_path=`pwd` #VCGLib (Obligatoire) git clone https://github.com/cdcseacave/VCG.git vcglib #Obtention des sources OpenMVS: git clone https:/ /github.com/cdcseacave/openMVS.git #Build OpenMVS mkdir openMVS_build && cd openMVS_build cmake…/openMVS -DCMAKE_BUILD_TYPE=Release -DVCG_ROOT="$main_path/vcglib" -G "Xcode"

xcodebuild -configuration Version

Étape 3: Créer un script de photogrammétrie

J'ai ensuite créé un script basé sur celui d'ici:

Voici ce à quoi je me suis retrouvé (faites attention aux notes dans le script, car cela vous oblige à définir certains emplacements):

Photogrammétrie.sh

# Ces paramètres sont spécifiques à l'ordinateur # Stocke le répertoire courant: currDir=$PWD

# obtenir le nom du dossier comme variable

mondossier=${PWD##*/}

# Définir le répertoire colmap (changez-le à l'endroit où vous avez téléchargé colmap, remplacez 'dev' par le numéro de version si nécessaire):

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

# Définir le répertoire openMVS (changez-le dans le dossier 'bin/Release' où vous avez téléchargé et construit openMVS)

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

# Définir le répertoire de travail (je crée un dossier d'espace de travail temporaire dans mon répertoire 'Projets' pour y traiter les données)

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

mkdir $workDir

cp *-j.webp

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

$colDir exhaustif_matcher --database_path database.db mkdir sparse $colDir mapper --database_path database.db --image_path. --output_path sparse $colDir model_converter --input_path sparse/0 --output_path model.nvm --output_type NVM $oMVS/InterfaceVisualSFM model.nvm $oMVS/DensifyPointCloud model.mvs $oMVS/ReconstructMesh model_dense.mvs --eMVS/Mvs niveau de résolution 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

Étape 4: Exécutez le script

Maintenant que vous avez le script, vous pouvez prendre des photos d'un objet dont vous souhaitez créer un modèle 3D. Il existe d'autres articles et vidéos qui peuvent vous donner d'excellents conseils sur la meilleure façon de prendre des photos à des fins de photogrammétrie (comme celui-ci: https://www.tested.com/art/makers/460142-art- photo…).

Mais ces photos dans un dossier, la copie du script que vous avez créé dans le dossier.

Depuis votre terminal, allez dans le dossier où se trouvent les photos et le script et lancez:

sh Photogrammétrie.sh

Le script fera ensuite le reste du travail pour vous. Veuillez noter que cela peut prendre un peu de temps à traiter (surtout si vous utilisez beaucoup de photos haute résolution). Je suggérerais d'essayer d'abord quelques ensembles de photos plus petits. Quelques exemples de séries de photos simples peuvent être trouvés ici: (https://www.regard3d.org/index.php/demo-models)

Conseillé: