Utilisation de l'image docker, en utilisant l'appel de ligne de commande par défaut de docker.
Docker
whatismybrowser.com/w/C6LZ8FJ
Avec une collection de 270 images Phantom 4 collectées avec dronedeploy,
Je lance cette commande :
docker run -ti --rm -v /Users/maechlin/mydocker/odm:/datasets/code opendronemap/odm --project-path /datasets
Et j'obtiens cette erreur
Le programme se ferme pendant le placage de texture :
NFO] Écriture du fichier texturé MVS dans : /datasets/code/odm_texturing/odm_textured_model.obj
[INFO] Suppression de l'ancien répertoire tmp /datasets/code/odm_texturing/tmp
[INFO] en cours d'exécution /code/SuperBuild/install/bin/texrecon /datasets/code/opensfm/reconstruction.nvm /datasets/code/odm_meshing/odm_mesh.ply /datasets/code/odm_texturing/odm_textured_model -d gmi -o gauss_clamping -t aucun -n 65535
/code/SuperBuild/install/bin/texrecon (construit le 13 août 2019, 21:43:57)
Charger et préparer le maillage :
PLY Loader : commenter le fichier PLY généré par VTK
Lecture PLY : 66826 verts... 133449 faces... terminé.
Avertissement : normales de longueur nulle détectées : 0 normales de face, 12 normales de sommet
Génération de vues de texture :
NVM : chargement du fichier...
NVM : Nombre de vues : 265
NVM : Nombre de fonctionnalités : 0
Chargement à 100%... terminé. (A pris 571.993s)
Graphe de contiguïté du bâtiment :
Ajout de bords à 100%... terminé. (A pris 0,344 s)
200085 bords totaux.
Voir la sélection :
Immeuble BVH de 133449 faces... terminé. (Durée : 174 ms)
Calcul des qualités faciales à 100%... terminé. (A pris 149.149s)
Post-traitement des infos visage à 100%... terminé. (A pris 0,298 s)
Qualité maximale d'un visage dans une image : 63541,5
Qualités de serrage à 6577.21 dans les limites de la normalisation.
Écriture du fichier de coût des données... terminée.
Optimisation :
Temps[s] Énergie
0 97756
0 95694
0 93721
1 92617
1 92123
1 91818
1 91639
2 91578
2 91475
2 91385
2 91337
2 91307
2 91277
2 91247
2 91228
17096 visages n'ont pas été vus
A pris : 153,834 s
Génération de patchs de texture :
Courir... Tué
Traceback (appel le plus récent en dernier) :
Fichier "/code/run.py", ligne 56, dans
app.execute()
Fichier "/code/stages/odm_app.py", ligne 92, en exécution
self.first_stage.run()
Fichier "/code/opendm/types.py", ligne 373, en cours d'exécution
self.next_stage.run(sorties)
Fichier "/code/opendm/types.py", ligne 373, en cours d'exécution
self.next_stage.run(sorties)
Fichier "/code/opendm/types.py", ligne 373, en cours d'exécution
self.next_stage.run(sorties)
Fichier "/code/opendm/types.py", ligne 373, en cours d'exécution
self.next_stage.run(sorties)
Fichier "/code/opendm/types.py", ligne 373, en cours d'exécution
self.next_stage.run(sorties)
Fichier "/code/opendm/types.py", ligne 373, en cours d'exécution
self.next_stage.run(sorties)
Fichier "/code/opendm/types.py", ligne 373, en cours d'exécution
self.next_stage.run(sorties)
Fichier "/code/opendm/types.py", ligne 354, en cours d'exécution
self.process(self.args, sorties)
Fichier "/code/stages/mvstex.py", ligne 97, en cours
'-n {nadirWeight}'.format(**kwargs))
Fichier "/code/opendm/system.py", ligne 76, en cours d'exécution
raise Exception("L'enfant a renvoyé {}".format(retcode))
Exception : Enfant retourné 137
J'ai traité un ensemble d'images collectées précédemment, et la même installation d'opendem a produit une carte.
Je peux fournir la collection d'images si ce n'est pas un problème évident.
L'erreur 137 est généralement le résultat d'un manque de mémoire.
Concernant l'ensemble précédent que vous avez traité avec succès, cet ensemble comportait-il moins d'images et les dimensions de ses images étaient-elles plus petites ?
Si oui à l'un ou l'autre, vous avez deux options différentes :
redimensionnez vos images pour qu'elles soient plus petites (avant le processus opendronemap ; il peut y avoir un moyen de le faire dans odm, je ne sais pas).
diminuer la qualité de l'orthophoto (en augmentant -orthophoto-resolution ; la valeur par défaut est 5
utiliser l' approche fractionnée-fusion
obtenir plus de RAM semble être la réponse la plus populaire que j'ai rencontrée.
(Je suis un nouvel utilisateur d'opendronemap, alors prenez-les avec précaution ; puisque cela semble être plus un problème avec votre ensemble de données, les développeurs principaux vous encouragent à demander à community.opendronemap.org)
J'ai essayé de traiter moins d'images, et cette fois, cela s'est terminé sans problème, donc l'explication du manque de mémoire semble correcte. Merci pour les suggestions spécifiques et les alternatives. Je vais passer au site community.opendronemap.org pour ces questions plus générales.
Si vous utilisez le bureau Docker (qui ressemble à un MAC), assurez-vous d'augmenter sa limite de mémoire (et probablement aussi le processeur). La valeur par défaut est souvent assez petite (comme 2 Go).