Odm: Split-Merge schlägt beim Erstellen von Untermodellen im Server fehl

Erstellt am 19. Juli 2019  ·  3Kommentare  ·  Quelle: OpenDroneMap/ODM

Wie hast du OpenDroneMap installiert? (Docker, nativ, ...)?

Docker auf einem Linux-Server verwenden

Was ist dein Browser und Betriebssystem? (Kopieren/Einfügen der Ausgabe von https://www.whatismybrowser.com/)

Kommandozeile über PuTTy

Worin besteht das Problem?

Wenn ich ODM auf einem lokalen Computer ausführe, funktioniert es mit und ohne Aufteilen des Datasets mit

docker run -it --rm -v G:/test:/datasets/code opendronemap/odm --project-path /datasets

oder

docker run -it --rm -v G:/test:/datasets/code opendronemap/odm --project-path /datasets --split 10 --split-overlap 3

Solange ich die Daten in einem lokalen Ordner habe (entweder Festplatte oder externe USB-Festplatte), funktioniert alles wie erwartet

Aber wenn ich es auf dem Server ausführe, funktioniert es nur ohne den Split-Befehl:

docker run -it --rm -v /my-server/Project folder:/datasets/code opendronemap/odm --project-path /datasets
Funktioniert gut, aber sobald ich hinzufüge
--split 10 --split-overlap 3

zum Code erhalte ich folgende Fehlermeldung:

[INFO] Ausführen von /code/SuperBuild/src/opensfm/bin/opensfm create_submodels >/var/www/data/44a86e01-7ff1-4848-a6b6-711097026c96/opensfm
Traceback (letzter Anruf zuletzt):
Datei „/code/SuperBuild/src/opensfm/bin/opensfm“, Zeile 34, in
command.run(args)
Datei „/code/SuperBuild/src/opensfm/opensfm/commands/create_submodels.py“, Zeile 37, in run
meta_data.load_clusters_with_neighbors())
Datei „/code/SuperBuild/src/opensfm/opensfm/large/metadataset.py“, Zeile 154, in >create_submodels
os.symlink(src_relpath, dst)
OSError: [Errno 95] Vorgang nicht unterstützt
Traceback (letzter Anruf zuletzt):
Datei „/code/run.py“, Zeile 56, in
app.execute()
Datei „/code/stages/odm_app.py“, Zeile 93, in execute
self.first_stage.run()
Datei „/code/opendm/types.py“, Zeile 376, in Ausführung
self.next_stage.run(Ausgänge)
Datei „/code/opendm/types.py“, Zeile 357, in Ausführung
self.process(self.args, output)
Datei „/code/stages/splitmerge.py“, Zeile 65, in Bearbeitung
octx.run("create_submodels")
Datei „/code/opendm/osfm.py“, Zeile 21, in Ausführung
(context.opensfm_path, command, self.opensfm_project_path))
Datei „/code/opendm/system.py“, Zeile 76, in Ausführung
Raise Exception("Kind zurückgegeben {}".format(retcode))
Ausnahme: Kind zurückgegeben 1

Offenbar hat opensfm Probleme beim Lesen/Schreiben des Submodels-Ordners. Ich werde der Docker-Benutzergruppe hinzugefügt, habe aber keine Sudo-Rechte, wenn ich den Befehl ausführe.

Welches Verhalten sollte erwartet werden? Wenn es sich um eine Funktionsanfrage handelt, beschreiben Sie bitte detailliert die Änderungen, die Ihrer Meinung nach am Code vorgenommen werden sollten, und geben Sie, wenn möglich, Dateien und Zeilen an, in denen Änderungen vorgenommen werden sollten.

Das erwartete Verhalten ist, dass ODM die Untermodellordner erstellt und den Datensatz in Blöcken verarbeitet, sodass ich dann das Orthofoto und das DSM jedes Untermodells extrahieren kann, um anschließend mit kleineren tif-Dateien zu arbeiten

Wie können wir das reproduzieren? (Welche Schritte haben Sie unternommen, um das Problem auszulösen? Welche Parameter verwenden Sie für die Verarbeitung? Wenn möglich, fügen Sie bitte eine Kopie Ihres auf Google Drive oder Dropbox hochgeladenen Datensatzes bei. Seien Sie detailliert.)

Führen Sie ODM mit --split auf einer Serverfestplatte aus

bug

Alle 3 Kommentare

Ich bin mit dem Serveradministrator hin und her gegangen und ich denke, wir haben das Problem gefunden:
Symlinks hat Probleme bei der Ausführung auf einem cifs-Dateisystem, das das Hinzufügen des mfsymlink-Flags zum Mount-Befehl erfordert, und deshalb wurde der Fehler angezeigt. Nach dem Hinzufügen des mfsymlink-Flags funktioniert der Vorgang einwandfrei. Ich betreibe jetzt ein größeres Dataset, um sicherzugehen, aber es scheint, als ob es jetzt behoben ist.

Ja, das macht absolut Sinn. Die starke Verwendung von Symlinks ist ein definitiver Fallstrick für das Dateisystem.

Piero – halten Sie das immer noch für einen Fehler, oder sollten wir bitten, dass x-ancin etwas zu den Dokumenten hinzufügt, wenn sie können?

Ich denke nicht, dass dies ein Fehler ist, sondern ein Problem mit dem Dateisystem. Schließen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen