Обработка данных аэрофотосъемки средствами открытого пакета OpenDroneMap

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Эта страница является черновиком статьи.


Установка OpenDroneMap на виртуальную машину и расчёт базовых продуктов (ортофотоплан, ЦММ, 3D-модель) по данным аэрофотосъемки с использованием планово-высотного обоснования и без него

В связи с бурным развитием как фотограмметрических технологий, так и индустрии простых в освоении БПЛА оснащенных фото/видео-аппаратурой, у специалистов самых разных профилей стал расти интерес к возможностям организации аэрофотосъемки и обработки получаемых данных для дальнейшей работы с географическими продуктами, такими как ортофотопланы, цифровые модели местности, трёхмерные модели. На рынке представлено большое количество решений как аппаратных (преимущественно БПЛА), так и программных. Программные продукты для фотограмметрической обработки данных стали разрабатывать практически все крупные вендоры (Autodesk, Trimble, ...), также появилось множество новых компаний, продвигающих собственные пакеты (Agisoft, Pix4D, DroneDeploy, ...). Параллельно начали развиваться и проекты с открытым исходным кодом. Установка и использование одного из наиболее удачных - OpenDroneMap - рассмотрено в представленной статье.

С учётом доступности дешевых, простых в освоении и эффективных для многих задач БПЛА (см. статью), наличие достаточно мощного бесплатного пакета для обработки данных оказывается очень важным, т.к. позволяет начать работу с фотограмметрическими технологиями с минимальными финансовыми вложениями, что актуально для большого количество людей, работающих или почти бесплатно, или имеющих крайне ограниченное финансирование (добровольные пожарные, археологи, независимые исследователи, научные сотрудники географических институтов...).

OpenDroneMap - технически сложное программное обеспечение, относительно просто которое можно развернуть только в среде Linux Ubuntu. Для того, чтобы доступ к нему мог получить любой пользователь вне зависимости от используемой им операционной системы, в статье подробно описан процесс установки и настройки Ubuntu в виртуальной среде средствами продукта Oracle VirtualBox, использовать который можно на любой современной ОС. Использование виртуальной машины рекомендуется также и тем, кто использует в качестве основной ОС Ubuntu, в целях изоляции пакета с большим количеством зависимостей от основной рабочей среды.

Подготовка среды

Установка Oracle VirtualBox

Oracle VirtualBox - самый популярный в мире открытый настольный гипервизор виртуальных машин, то есть специальное программное обеспечение, предназначенное для создания и запуска виртуальных машин, полноценных операционных систем, работающих внутри вашего основного окружения. С помощью него вы можете работать, к примеру, одновременно с Windows, Linux и MacOS в трёх отдельных окнах, при этом каждая из операционных систем будет считать, что она запущена на отдельном полноценном компьютере. Каждой из виртуальных машин вы можете полноценно управлять, выделять ей строго определенный ресурс и так далее. Большим преимуществом работы с виртуальной машиной является изоляция рабочих сред, так, если при работе с виртуальной системой что-то пошло не так, вы можете просто остановить её, и это никак не отразится на вашей основной системе (которая в терминологии виртуализации называется хостом).

Для начала нужно загрузить на свой компьютер дистрибутив операционной системы, которую необходимо установить как виртуальную машину. В нашем случае это Linux Ubuntu 16.04 LTS - один из наиболее распространненных дистрибутивов Linux, последняя стабильная версия. Дистрибутив доступен на сайте ubuntu.ru/get. Если вы работаете в Windows, с большой долей вероятности вы сможете установить только 32-х разрядную версию Ubuntu, что связано с особенностями виртуализации на системах Microsoft. При работе с Linux-хостом таких проблем обычно не бывает. Для унификации в описываемом примере загрузим именно 32-х разрядную версию.

Сайт с ссылками на дистрибутивы Linux Ubuntu

Теперь загрузим установочный файл Oracle VirtualBox с сайта https://www.virtualbox.org/wiki/Downloads в соответствии с вашей основной операционной системой.

Сайт с ссылками на дистрибутивы Oracle VirtualBox

Если вы работаете в Linux, VirtualBox устанавливается через пакетный менеджер, например

sudo apt-get install virtualbox

В Windows нужно пройти стандартный мастер установки, оставляя все опции по умолчанию:

Установка VirtualBox в Windows (нажмите на изображение, чтобы увеличить)

После установки, если вы не сняли флаг на последнем шаге, гипервизор запустится автоматически. Также его в любое время можно запустить стандартными средствами операционной системы.

Установка Ubuntu 14.04 LTS на VirtualBox

Приступаем к созданию виртуальной машины. Нажимаем кнопку "Создать" на главной панели VirtualBox:

Создание новой виртуальной машины

На первом этапе необходимо задать имя новой виртуальной машины и её тип. Примем название Ubuntu ODM (от OpenDroneMap) и выберем в списке Linux - Ubuntu (32-bit)"

Настройки новой виртуальной машины

На следующем этапе задаётся объем оперативной памяти, которое виртуальная машина сможет занимать от доступного хосту объема. Для 32-х разрядных систем не имеет смысла указывать более 4-х гигабайт. Если вы решили установить 64-х разрядную версию Ubuntu, можете указать любой объем (не рекомендуется выделять виртуальной машине >65% всей доступной памяти).

Настройки новой виртуальной машины

Далее следуют настройки виртуального жесткого диска. Последовательно выбираем "Создать новый жесткий диск", VDI, "Динамический жесткий виртуальный диск":

Настройки новой виртуальной машины
Настройки новой виртуальной машины
Настройки новой виртуальной машины

На следующем этапе нужно определить максимальное физическое место на жестком диске, которое будет позволено занять виртуальной машине, а также расположение файла виртуального жесткого диска. Обратите внимание, что по умолчанию виртуальный жесткий диск будет сохранен в моих документах (для windows) или директории home (для Linux). Часто это неподходящий вариант, особенно если у вас под систему выделен небольшой SSD, и домашние директории расположены на нём. Для хранения виртуального диска можно выбрать любое другое расположение.

Настройки новой виртуальной машины

Виртуальная машина создана, теперь нужно инициализировать её, собственно установив Linux Ubuntu. В основном окне VirualBox в списке слева появилась Ubuntu ODM. В контекстном меню, вызываемом нажатием правой кнопки мыши, доступны все инструменты управления. Перед инициализацией зайдём в меню "Настроить".

Контекстное меню виртуальной машины

На различных вкладках меню настроек вы можете изменить выделенное количество оперативной памяти, ядер процессора, видеопамяти и так далее. Нас сейчас интересует вкладка "Общие папки": необходимо настроить какое-то общее файловое хранилище, чтобы из виртуальной среды мы могли осуществлять доступ к собственным файлам на хосте. Переходим к "Общие папки" и нажимаем кнопку "Добавить новую общую папку".

Добавление новой общей папки

В открывшемся меню выбираем путь до папки на хосте, к которой открывается доступ, и её название в виртуальной среде. Обязательно отмечаем галочку "авто-подключение".

Настройки новой общей папки

В списке общих папок теперь видим добавленную:

Добавление новой общей папки

Теперь возвращаемся в главное меню VirtualBox и активируем опцию "Запустить" для нашей виртуальной машины:

Запуск виртуальной машины

В первом диалоге необходимо выбрать дистрибутив, загруженный ранее, из которого будет производиться установка операционной системы. Выбираем загруженный файл формата .iso

Выбор дистрибутива для установки
Выбор дистрибутива для установки
Выбор дистрибутива для установки

Загружается установочный мастер Ubuntu. На первом шаге выбираем слева язык и, затем, "Установить Ubuntu":

Установка Ubuntu

На следующем шаге устанавливаем оба флага:

Установка Ubuntu

Затем указываем "Стереть диск и установить Ubuntu". Не беспокойтесь, речь идёт о виртуальном диске, созданном несколько шагов назад. Ваша основная система и файлы на ней не могут пострадать.

Установка Ubuntu

Соглашаемся с предупреждением:

Установка Ubuntu

Выбираем часовой пояс и раскладку клавиатуры:

Установка Ubuntu
Установка Ubuntu

Задаём имя пользователя и пароль. Пароль вам понадобится для установки приложений, так что его следует запомнить.

Установка Ubuntu

Дальше установка будет произведена автоматически.

Установка Ubuntu

По окончанию установки нужно будет перезагрузиться, нажав Enter:

Установка Ubuntu
Установка Ubuntu

После этого вы сразу попадёте в интерфейс операционной системы. Поздравляю, вы развернули Ubuntu на виртуальной машине!

Ubuntu установлена!

Важные сочетания клавиш при работе с virtual-box:

  • Правый Ctrl возвращает курсор мыши в хост
  • Правый Ctrl+F: развернуть окно с виртуальной машиной в полноэкранный режим.

Настройка Ubuntu 16.04

Пришло время подготовить нашу свежеиспеченную систему к работе. Очень важно освоить базовые навыки работы с терминалом (командной строкой). Вызвать его можно, набрав в строке поиске Terminal (строка поиска вызывается нажатием на логотип Ubuntu в левом верхнем углу или по нажатию кнопки Windows на клавиатуре), либо воспользовавшись горячими клавишами: Ctrl+Alt+T.

Запуск терминала

Терминал - основное средство взаимодействия с системой. Выглядит так:

Терминал

Осмотритесь в системе. В правом меню вы можете вызвать оконный файловый менеджер, и управлять файлами как в Windows. Однако вернёмся в терминал. Начнём готовить систему с помощью последовательности команд. Сначала обновим списки в репозиториях с программным обеспечением для пакетного менеджера. Понадобится ввести пароль.

sudo apt-get update

Затем установим программу git

sudo apt-get install git

Здесь пакетный менеджер спросит у вас разрешения на установку. Соглашайтесь! Принимается и "Д", и "Y" (без кавычек).

Установка пакета

Также установим пакет meshlab, он нам понадобится для работы с результатами обработки.

sudo apt-get install meshlab

Немного технических вещей. Чтобы мы имели доступ к настроенной ранее общей папке, нужно добавить нашего пользователя в группу vboxsf. Вместо ekazakov используйте своё имя пользователя, введенное на этапе установки.

sudo usermod -G vboxsf -a ekazakov

Также нужно установить пакет улучшений работы VirtualBox с Ubuntu. Для этого выходим из полноэкранного режима виртуальной машины (правый Ctrl+F), если вы были в нём, в окне виртуальной машины сверху находим пункт меню "Devices" и выбираем там опцию "Install Guest Additions CD Image". Если у вас русифицированы эти пункты меню, можно ожидать, что это будет "Устройства" - "Установить дополнение гостевой ОС".

Установка дополнений

Сразу при активации этой опции вы получите предложение запустить установку дополнений. Соглашаемся и смотрим на процесс установки.

Перезагружаем Ubuntu. Управление выключением и перезагрузкой осуществляется с помощью меню в правом верхнем углу, справа от часов.

Меню с выключением и перезагрузкой

Установка OpenDroneMap на Ubuntu 16.04 LTS

OpenDroneMap

Список настроек для запуска ODM

Подготовка данных для расчёта без опорных точек

Расчёт базовых продутов без опорных точек

Подготовка данных для расчёта с опорными точками

Расчёт базовых продутов с опорными точками