kopia lustrzana https://github.com/OpenDroneMap/docs
280 wiersze
8.2 KiB
Plaintext
280 wiersze
8.2 KiB
Plaintext
# SOME DESCRIPTIVE TITLE.
|
|
# Copyright (C) 2020, OpenDroneMap
|
|
# This file is distributed under the same license as the OpenDroneMap
|
|
# package.
|
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
|
|
#
|
|
#, fuzzy
|
|
msgid ""
|
|
msgstr ""
|
|
"Project-Id-Version: OpenDroneMap 2.7.0\n"
|
|
"Report-Msgid-Bugs-To: \n"
|
|
"POT-Creation-Date: 2021-12-28 10:32-0500\n"
|
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
"MIME-Version: 1.0\n"
|
|
"Content-Type: text/plain; charset=utf-8\n"
|
|
"Content-Transfer-Encoding: 8bit\n"
|
|
"Generated-By: Babel 2.9.1\n"
|
|
|
|
#: ../../large.rst:4
|
|
msgid "Splitting Large Datasets"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:6
|
|
msgid ""
|
|
"Starting with ODM version ``0.6.0`` you can split up very large datasets "
|
|
"into manageable chunks (called submodels), running the pipeline on each "
|
|
"chunk, and then producing merged DEMs, orthophotos and point clouds. The "
|
|
"process is referred to as \"split-merge\"."
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:8
|
|
msgid ""
|
|
"Why might you use the split-merge pipeline? If you have a very large "
|
|
"number of images in your dataset, split-merge will help make the "
|
|
"processing more manageable on a large machine (it will require less "
|
|
"memory). If you have many machines all connected to the same network you "
|
|
"can also process the submodels in parallel, thus allowing for horizontal "
|
|
"scaling and processing thousands of images more quickly."
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:10
|
|
msgid ""
|
|
"Split-merge works in WebODM out of the box as long as the processing "
|
|
"nodes support split-merge, by enabling the ``--split`` option when "
|
|
"creating a new task."
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:13
|
|
msgid "Calibrate images"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:15
|
|
msgid ""
|
|
"Image calibration is recommended (but not required) for large datasets "
|
|
"because error propagation due to image distortion could cause a bowl "
|
|
"effect on the models. Calibration instructions can be found at "
|
|
"`Calibrate Images <tutorials.html#calibrating-the-camera>`_."
|
|
msgstr ""
|
|
|
|
msgid "image of lens distortion effect on bowling of data"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:21
|
|
msgid ""
|
|
"Bowling effect on point cloud over 13,000+ image dataset collected by "
|
|
"World Bank Tanzania over the flood prone Msimbasi Basin, Dar es Salaam, "
|
|
"Tanzania."
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:24
|
|
msgid "Local Split-Merge"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:26
|
|
msgid ""
|
|
"Splitting a dataset into more manageable submodels and sequentially "
|
|
"processing all submodels on the same machine is easy! Just use "
|
|
"``--split`` and ``--split-overlap`` to decide the the average number of "
|
|
"images per submodels and the overlap (in meters) between submodels "
|
|
"respectively"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:32
|
|
msgid ""
|
|
"If you already know how you want to split the dataset, you can provide "
|
|
"that information and it will be used instead of the clustering algorithm."
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:34
|
|
msgid ""
|
|
"The grouping can be provided by adding a file named image_groups.txt in "
|
|
"the main dataset folder. The file should have one line per image. Each "
|
|
"line should have two words: first the name of the image and second the "
|
|
"name of the group it belongs to. For example::"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:42
|
|
msgid ""
|
|
"will create 3 submodels. Make sure to pass ``--split-overlap 0`` if you "
|
|
"manually provide a ``image_groups.txt`` file."
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:46
|
|
msgid "Distributed Split-Merge"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:48
|
|
msgid ""
|
|
"ODM can also automatically distribute the processing of each submodel to "
|
|
"multiple machines via `NodeODM "
|
|
"<https://github.com/OpenDroneMap/NodeODM>`_ nodes, orchestrated via "
|
|
"`ClusterODM <https://github.com/OpenDroneMap/ClusterODM>`_."
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:55
|
|
msgid "Getting Started with Distributed Split-Merge"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:57
|
|
msgid "The first step is start ClusterODM"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:63
|
|
msgid ""
|
|
"Then on each machine you want to use for processing, launch a NodeODM "
|
|
"instance via"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:69
|
|
msgid ""
|
|
"Connect via telnet to ClusterODM and add the IP addresses/port of the "
|
|
"machines running NodeODM"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:84
|
|
msgid "Make sure you are running version ``1.5.1`` or higher of the NodeODM API."
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:86
|
|
msgid ""
|
|
"At this point, simply use the ``--sm-cluster`` option to enable "
|
|
"distributed split-merge"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:93
|
|
msgid "Understanding the Cluster"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:95
|
|
msgid ""
|
|
"When connected via telnet, it is possible to interrogate what is "
|
|
"happening on the cluster. For example, we can use the command HELP to "
|
|
"find out available commands"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:118
|
|
msgid ""
|
|
"If, for example, the NodeODM instance wasn't active when ClusterODM "
|
|
"started, we might list nodes and see something as follows"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:125
|
|
msgid ""
|
|
"To address this, we can start up our local node (if not already started),"
|
|
" and then perform a ``NODE UPDATE``"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:135
|
|
msgid "Accessing the Logs"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:137
|
|
msgid ""
|
|
"While a process is running, it is also possible to list the tasks, and "
|
|
"view the task output"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:145
|
|
msgid "Autoscaling ClusterODM"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:147
|
|
msgid ""
|
|
"ClusterODM also includes the option to autoscale on multiple platforms, "
|
|
"including, to date, Amazon and Digital Ocean. This allows users to reduce"
|
|
" costs associated with always-on instances as well as being able to scale"
|
|
" processing based on demand."
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:149
|
|
msgid "To setup autoscaling you must:"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:151
|
|
msgid "Have a functioning version of NodeJS installed and then install ClusterODM"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:159
|
|
msgid "Make sure docker-machine is installed."
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:160
|
|
msgid "Setup a S3-compatible bucket for storing results."
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:161
|
|
msgid ""
|
|
"Create a configuration file for `DigitalOcean "
|
|
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/digitalocean.md>`_"
|
|
" or `Amazon Web Services "
|
|
"<https://github.com/OpenDroneMap/ClusterODM/blob/master/docs/aws.md>`_."
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:163
|
|
msgid "You can then launch ClusterODM with"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:169
|
|
msgid "You should see something similar to following messages in the console"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:177
|
|
#, python-format
|
|
msgid ""
|
|
"You should always have at least one static NodeODM node attached to "
|
|
"ClusterODM, even if you plan to use the autoscaler for all processing. If"
|
|
" you setup auto scaling, you can't have zero nodes and rely 100% on the "
|
|
"autoscaler. You need to attach a NodeODM node to act as the \"reference "
|
|
"node\" otherwise ClusterODM will not know how to handle certain requests "
|
|
"(for the forwarding the UI, for validating options prior to spinning up "
|
|
"an instance, etc.). For this purpose, you should add a \"dummy\" NodeODM "
|
|
"node and lock it"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:187
|
|
msgid "This way all tasks will be automatically forwarded to the autoscaler."
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:190
|
|
msgid "Limitations"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:192
|
|
msgid ""
|
|
"The 3D textured meshes are currently not being merged as part of the "
|
|
"workflow (only point clouds, DEMs and orthophotos are)."
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:194
|
|
msgid ""
|
|
"GCPs are fully supported, however, there needs to be at least 3 GCP "
|
|
"points on each submodel for the georeferencing to take place. If a "
|
|
"submodel has fewer than 3 GCPs, a combination of the remaining GCPs + "
|
|
"EXIF data will be used instead (which is going to be less accurate). We "
|
|
"recommend using the ``image_groups.txt`` file to accurately control the "
|
|
"submodel split when using GCPs."
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:197
|
|
msgid "Acknowledgments"
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:198
|
|
msgid ""
|
|
"Huge props to Pau and the folks at Mapillary for their amazing "
|
|
"contributions to OpenDroneMap through their OpenSfM code, which is a key "
|
|
"component of the split-merge pipeline. We look forward to further pushing"
|
|
" the limits of OpenDroneMap and seeing how big a dataset we can process."
|
|
msgstr ""
|
|
|
|
#: ../../large.rst:201
|
|
msgid ""
|
|
"`Learn to edit <https://github.com/opendronemap/docs#how-to-make-your-"
|
|
"first-contribution>`_ and help improve `this page "
|
|
"<https://github.com/OpenDroneMap/docs/blob/publish/source/large.rst>`_!"
|
|
msgstr ""
|
|
|