Исторический район Кенигсберга
Исторический район Кенигсберга

На современных картах все больше появляется 360 аэроснимков, которые принято называть "Сферические панорамы". Почти каждый владелец БПЛА с камерой может создавать свою собственную сферу. Но при изучении материалов на эту тему, обнаружил совсем мало информации об инструментах и способах склеивания. На Хабре уже была хорошая статья, но мы попробуем разобрать более подробный способ создания 360 панорамы с помощью бюджетного дрона DJI Mini 2. Этот туториал подойдет также для старших линеек. 

DJI Mini 2.
DJI Mini 2.

С выходом Mini 2 появилось много фишек, как съемка изображений в формате RAW (DNG), 4K разрешение а также поддержка умных режимов. При автоматическом создании 360 сферы с помощью приложения DJI Fly, мы получаем достаточно неплохой результат, но не без грехов. В некоторых местах цветокоррекция оставляет желать лучшего, не говоря о разрешении такой панорамы.

Дефолтно приложение отдает фото в качестве JPEG, а в установочных параметрах во время съемки сферы RAW вообще выключен. Для его включения необходимо запустить дрон непосредственно в воздух и уже в полете применить необходимую настройку.

В настройках выбираем RAW+JPEG. Готово. Теперь можно производить съемку. Обычно я не использую PRO режим, а оставляю AUTO на экспозицию, баланс белого и выдержку. (Кроме ночных съемок)

Для лучшего качества изображения использую ND-фильтры от PGYTECH. (Эффект солнечных очков) Обращайте внимание на погодные условия: облачность в районе 20-50%, ветер не более 7 м/с. При сильных порывах кадр может быть смазан или в него вовсе попадет "шапка" дрона. Для выбора благоприятной погоды рекомендуется использовать сервис UAV Forecast, где уже в зависимости от характеристик беспилотника можно выбирать наилучшее время для полета. Также избегайте яркого солнца — снимки получаются слишком насыщенными и не поддаются обработке, а при высокой облачности наблюдается дымка, которая при засветке сильно искажает кадр. Обычно я выбираю для съемок ранее утро или вечер. С композицией и цветами лучше работать при таком освещении. 

Панорама сделанная приложением DJI Fly
Панорама сделанная приложением DJI Fly

Локация выбрана, настройки произведены — можно начинать съемку. Всего дрон создаст около 26 снимков в разрешении 4000:3000 в папке PANORAMA. Теперь преступим к обработке полученного материала.

Инструменты: 

Для начала нам понадобится старый добрый Adobe Photoshop (Или Lightroom) с модулем Camera Raw версии 13.3 с обновленным эффектом резкости. Из папки выбираем все наши 26 DNG снимков и переходим к фотошопу. 

В глаза сразу бросаются артефакты: недостаточное освещение, размытость фона, тусклые цвета... В боковом меню выбираем все изображения через Cmd + A (Ctrl + A) - тогда настройки будут применятся ко всем фото.

Первым делом редактируем экспозицию в большую сторону, чтобы изображение стало более светлым, увеличиваем контрастность, понижаем уровень теней и затемнения. Уровень четкости, удаления дымки и текстуры обычно находится на 20, но это при условии отсутствия сильных шумов. Как правило эта настройка выставляется индивидуально, а на снимках горизонта может быть выкручена на + 10 от остальных. Красочность и насыщенность выставляется также индивидуально, но в рамках естественности, чтобы цвета не выглядели кислотно.

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

В параметрах детализации PS уже автоматически проставляет значение для цвета, нам же необходимо применить около 25 к параметру Уменьшение шума. Для кадров горизонта это значение может увеличиться на разницу параметра резкости от остальных из настроек выше.

Важный пункт: Смещение цветов. Здесь мы красим наши цвета: зеленый делаем более насыщенным, а синий/голубой менее освещенным. Тогда панорама приобретает уже более живой вид. Хочу отметить, что при покраске неба, необходимо добиться минимальной яркости, для более четкого контура облаков. Это также можно сделать в настройках кривых.

После и До редактирования.
После и До редактирования.
Пример исправления слишком темного изображения
Пример исправления слишком темного изображения

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

Далее необходимо сохранить все 26 кадров в формате TIFF со сжатием LZW. В Lightroom это будет проще :)

Многие могут спросить: почему процесс склейки нельзя сделать в самом PS? К сожалению, постоянно наблюдаю проблемы с производительность обработки файлов DNG - этот процесс затягивается на часы, а на выходе получается нескладное изображение. Для создания горизонтальных панорам, в принципе, PS справляется неплохо, но не для 360... Поэтому мы будем использовать проверенную временем нейронку PTGui.

Готовые файлы грузим в PTGui Pro. Программа автоматически установит фокусное расстояние камеры из EXIF data. При необходимости можно изменить надстройку в ручную. Запускаем процесс установки контрольных точек и сшития через Align images — далее откроется окно с превью нашей панорамы.

Стартовый интерфейс
Стартовый интерфейс
Превью склейки
Превью склейки

После обработки получаем неплохой результат. PTGui предварительно исправляет возможные погрешности экспозиции и света, которые могли произойти во время обработки в PS. В кадре мы можем увидеть "шапку" дрона, про этот кейс я говорил чуть выше. Сейчас мы используем старую версию PTGui — поэтому получаем пустоту в верхней части экрана. Счастливые обладатели последней версии могут наблюдать как программа сама заполнит пустое пространство. Как исправить это вручную на старых версиях, опишу чуть ниже.

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

Интерфейс установки контрольных точек. Добавляем точку на правом изображении, соотносим на левом и добавляем еще раз. Минимум 6-10 точек
Интерфейс установки контрольных точек. Добавляем точку на правом изображении, соотносим на левом и добавляем еще раз. Минимум 6-10 точек

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

Жмем на последнюю вкладку и задаем следующие параметры:

  1. Размеры 10000:5000 px - Больше при необходимости.

  2. Формат TIFF.

  3. Сжатие 16 bit с LZW компрессии.

Готовую панораму открываем вновь в Photoshop. Попробуем заполнить наше пространство и кажется что нейронки PS в этом отлично справятся. Выделяем пустоту, увеличиваем выделение так чтобы 100 px изображения попадало в выделяемую зону. Переходим в пункт Редактирование - Заливка с учетом содержимого. Применяем.

Многие могут подумать что на этом все, но нет. При загрузке на какой-нибудь сервис можно будет увидеть резкие поля склейки в верхней части панорамы. Для того чтобы это исправить отправимся в Affinity photo, предварительно объединив слои и сохранив изображение в том же TIFF. Кто-то может опять сказать, что редактирование панорамы можно сделать в том же PS в 3D режиме — мне честно он не зашел, несмотря на мощное железо он и на нем умудряется лагать. А с лагами не всегда приятно работать.

Уже в Affinity photo открываем изображение и идем в пункт Слои -> Динамическая проекция -> Равнопрямоугольная проекция.

Теперь с помощью перемещения (M) можно полноценно прокрутить нашу панораму. На этом этапе переходим к исправлению нашего неба. Изменяем поле обзора в левой верхней панели на 90°. Перемещаем обзор вверх и вызываем Кисть зарисовки (J) - Проблемные участки закрашиваем выделением и ждем чудо нейронки.

Кейс с облаками будет сложнее исправить, но в целом не каждый будет изучать панораму под таким углом)
Кейс с облаками будет сложнее исправить, но в целом не каждый будет изучать панораму под таким углом)

После обработки необходимо вновь вызвать перемещение (M) и нажать на кнопку "Изменить проекцию", чтобы продолжить поиск проблемных участков. В целом, если грехов больше нет, можно удалить Динамическую проекцию и финально сохранить готовую панораму. Обычно я использую формат JPEG. Такой формат можно загрузить быстро на Яндекс.Панорамы или SkyPixel. Вес при этом будет составлять всего 33-35 мб.

Итоговое изображение
Итоговое изображение

Для создания подобной сферы можно обратиться с сервису imgonline. Загружаем свой JPEG и отключаем опцию Сглаживание шов в начале и конце панорамы. Итоговый результат можно скачать в любом формате.

Итоговое изображение можно заценить на SkyPixel или Яндекс.Панорамы.

Нюансы

  1. Использование Affinity photo и Photoshop. Оба продукта хороши в цветообработке и в целом можно использовать только один Affinity (Он обойдется дешевле фотошопа), но PS не уступает по качеству редактирования RAW, но проигрывает в удобстве при работе с динамической проекцией. Возможно я могу ошибаться.

  2. Обработка цвета панорамы после склейки. Не рекомендую это делать, так как после изменения насыщенности или яркости изображения Вы скорее всего столкнетесь с шовной линией по середине панорамы.

  3. После обработки PTGui могут обнаружиться нестыковки в кадрах. Это можно быстро исправить в фотошопе с помощью зарисовки или штампа.

Итог

Мы получаем 100% способ создания Сферической панорамы без явных артефактов, пустого дна или неба. Приблизительно у Вас уйдет минут 20 на каждую панораму.

Комментарии (12)


  1. zxcvbv
    30.08.2021 00:05
    +1

    По мне так склеить панораму в фотошопе и "подкрасить кисточкой" косяки для целевой аудитории хабра - вещь тривиальная (особенно в последних версиях). Вот как потом это смотреть в офлайне без вот этих вот облачных сервисов - вот это было бы интересно, может есть какой вменяемый софт.


    1. susanin39 Автор
      30.08.2021 12:53

      Имеете ввиду как посмотреть панораму после ее публикации без сервисов Яндекса или DJI? Можно прямо в Affinity photo или в том же PTGUI. + Подобный функционал есть в Google Photo. Но вот прямо отдельного софта пока не видел)


      1. zxcvbv
        30.08.2021 20:21

        Видимо, сначала нужно появление некоего общепризнанного формата файла хранения 360°-панорам, после чего стандартные просмотрщики изображений уже подтянутся и реализуют просмотр (или такой уже есть?).


        1. susanin39 Автор
          31.08.2021 10:28

          Скорее всего дело не в формате) Это может быть tiff, jpeg или png. Просто средство универсального просмотра должно создать виртуальную камеру внутри такого изображения. Я думаю необходимо признание общего тэга в EXIF data. Тогда Photoshop или обычный Viewer сможет открыть правильно нашу сферу без сторонних сервисов)


          1. zxcvbv
            31.08.2021 15:50

            Скорее всего дело не в формате) Это может быть tiff, jpeg или png.

            Я имел в виду, что все эти форматы хранят изображение в прямоугольной системе координат. Натягивание прямоугольной картинки на сферу влечет искажение пикселов ближе к полюсам (для равномерной плотности пикселов в сферической системе координат, их декартова проекция должна быть прорежена по широте, и уплотнена по долготе чем ближе мы подходим к полюсам). Если хранить картинку в сферических координатах, то получим равномерно максимальное разрешение по всей сфере при минимально возможном размере файла. Но наверное вы правы, и такой подход - это оверкилл и излишнее усложнение: приобретаем меньше (качество у полюсов при минимуме размера файла), чем теряем (сложность редактирования и хранения).


    1. zlob
      01.09.2021 13:12

      За десктоп не скажу, а для мобилок нужно только поискать.

      Android https://play.google.com/store/apps/details?id=com.xojot.vrplayer
      iOS https://spherium.app/

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

      Google Photo закрывает этот вопрос (хранение, доставка, просмотр).


  1. Naglec
    30.08.2021 03:48

    Отличный туториал, спасибо!


  1. Moskus
    30.08.2021 04:37

    фото в качестве формате JPEG


  1. Gordon01
    30.08.2021 07:43

    На яндекс-панорамах выглядит шикарно, а вот фотка с кругом, имхо, довольно бесполезна.

    Вот бы все это автоматизировать, чтобы не сидеть по 20 минут. Удивлен, что DJI не сделали склейку панорам прямо на дроне.

    P.S. артефакт проскочил:


    1. by_MHz
      30.08.2021 12:17

      Все там есть, просто в фирменном приложении необходимо зайти в альбом


    1. susanin39 Автор
      30.08.2021 12:59

      Да автоматизация есть у DJI, но разрешение, которое Вы получите из приложения, не будет таким, как если бы Вы сделаете панораму в вручную. + Верхушка будет просто залита размытым цветом без детальной прорисовки.

      Да такие артефакты боль(


  1. Javian
    30.08.2021 09:23
    +1

    Microsoft Image Composite Editor неплохо клеит панорамы. А по статье: ожидал увидеть в статье на Хабре некую автоматизацию процесса от съемки до заливки результата куда-то в галерею, а не инструкцию куда нажимать.