![Исторический район Кенигсберга Исторический район Кенигсберга](https://habrastorage.org/getpro/habr/upload_files/d11/ba8/9d1/d11ba89d17c08e702701d7f8690fdf13.jpg)
На современных картах все больше появляется 360 аэроснимков, которые принято называть "Сферические панорамы". Почти каждый владелец БПЛА с камерой может создавать свою собственную сферу. Но при изучении материалов на эту тему, обнаружил совсем мало информации об инструментах и способах склеивания. На Хабре уже была хорошая статья, но мы попробуем разобрать более подробный способ создания 360 панорамы с помощью бюджетного дрона DJI Mini 2. Этот туториал подойдет также для старших линеек.
![DJI Mini 2. DJI Mini 2.](https://habrastorage.org/getpro/habr/upload_files/83d/718/ab6/83d718ab6413c4317e5ad0e290cd2932.jpg)
С выходом Mini 2 появилось много фишек, как съемка изображений в формате RAW (DNG), 4K разрешение а также поддержка умных режимов. При автоматическом создании 360 сферы с помощью приложения DJI Fly, мы получаем достаточно неплохой результат, но не без грехов. В некоторых местах цветокоррекция оставляет желать лучшего, не говоря о разрешении такой панорамы.
Дефолтно приложение отдает фото в качестве JPEG, а в установочных параметрах во время съемки сферы RAW вообще выключен. Для его включения необходимо запустить дрон непосредственно в воздух и уже в полете применить необходимую настройку.
![](https://habrastorage.org/getpro/habr/upload_files/073/6a2/1ef/0736a21efa9dd06c0444a26fb03ef06c.png)
![](https://habrastorage.org/getpro/habr/upload_files/ebf/1b8/fe1/ebf1b8fe1804c5b9ae4e99b5acb09898.png)
В настройках выбираем RAW+JPEG. Готово. Теперь можно производить съемку. Обычно я не использую PRO режим, а оставляю AUTO на экспозицию, баланс белого и выдержку. (Кроме ночных съемок)
Для лучшего качества изображения использую ND-фильтры от PGYTECH. (Эффект солнечных очков) Обращайте внимание на погодные условия: облачность в районе 20-50%, ветер не более 7 м/с. При сильных порывах кадр может быть смазан или в него вовсе попадет "шапка" дрона. Для выбора благоприятной погоды рекомендуется использовать сервис UAV Forecast, где уже в зависимости от характеристик беспилотника можно выбирать наилучшее время для полета. Также избегайте яркого солнца — снимки получаются слишком насыщенными и не поддаются обработке, а при высокой облачности наблюдается дымка, которая при засветке сильно искажает кадр. Обычно я выбираю для съемок ранее утро или вечер. С композицией и цветами лучше работать при таком освещении.
![Панорама сделанная приложением DJI Fly Панорама сделанная приложением DJI Fly](https://habrastorage.org/getpro/habr/upload_files/70e/ba6/f5b/70eba6f5ba8b69bd2aae322652de9b01.jpg)
Локация выбрана, настройки произведены — можно начинать съемку. Всего дрон создаст около 26 снимков в разрешении 4000:3000 в папке PANORAMA. Теперь преступим к обработке полученного материала.
Инструменты:
Adobe Photoshop
Модуль Camera Raw 13.3.0
PTGui Pro
Affinity photo
Для начала нам понадобится старый добрый Adobe Photoshop (Или Lightroom) с модулем Camera Raw версии 13.3 с обновленным эффектом резкости. Из папки выбираем все наши 26 DNG снимков и переходим к фотошопу.
![](https://habrastorage.org/getpro/habr/upload_files/baf/d7d/36f/bafd7d36f23a348272092d3655f373e3.png)
В глаза сразу бросаются артефакты: недостаточное освещение, размытость фона, тусклые цвета... В боковом меню выбираем все изображения через Cmd + A (Ctrl + A) - тогда настройки будут применятся ко всем фото.
Первым делом редактируем экспозицию в большую сторону, чтобы изображение стало более светлым, увеличиваем контрастность, понижаем уровень теней и затемнения. Уровень четкости, удаления дымки и текстуры обычно находится на 20, но это при условии отсутствия сильных шумов. Как правило эта настройка выставляется индивидуально, а на снимках горизонта может быть выкручена на + 10 от остальных. Красочность и насыщенность выставляется также индивидуально, но в рамках естественности, чтобы цвета не выглядели кислотно.
В кривых можно самостоятельно поиграться в уровнях тона и цвета, но все изображения должны быть в одном тоне. Слишком яркие или слишком темные кадры рекомендуется редактировать изолированно от всех.
В параметрах детализации PS уже автоматически проставляет значение для цвета, нам же необходимо применить около 25 к параметру Уменьшение шума. Для кадров горизонта это значение может увеличиться на разницу параметра резкости от остальных из настроек выше.
Важный пункт: Смещение цветов. Здесь мы красим наши цвета: зеленый делаем более насыщенным, а синий/голубой менее освещенным. Тогда панорама приобретает уже более живой вид. Хочу отметить, что при покраске неба, необходимо добиться минимальной яркости, для более четкого контура облаков. Это также можно сделать в настройках кривых.
![После и До редактирования. После и До редактирования.](https://habrastorage.org/getpro/habr/upload_files/75e/6ff/f54/75e6fff54167fd8aa72173f05c242a78.png)
![Пример исправления слишком темного изображения Пример исправления слишком темного изображения](https://habrastorage.org/getpro/habr/upload_files/7d2/887/454/7d2887454303aae856196a19c9acc801.png)
После обработки изображений не забываем выделить их все в превью и открыть уже непосредственно в самом интерфейсе фотошопа. При необходимости можно произвести дополнительное точечное редактирование снимков — удалить лишние объекты, исправить яркость, вырезать с кадра случайных прохожих, подправить цвета.
Далее необходимо сохранить все 26 кадров в формате TIFF со сжатием LZW. В Lightroom это будет проще :)
![](https://habrastorage.org/getpro/habr/upload_files/014/5d3/d5c/0145d3d5ce7cff251d1f80e81e9f8705.png)
Многие могут спросить: почему процесс склейки нельзя сделать в самом PS? К сожалению, постоянно наблюдаю проблемы с производительность обработки файлов DNG - этот процесс затягивается на часы, а на выходе получается нескладное изображение. Для создания горизонтальных панорам, в принципе, PS справляется неплохо, но не для 360... Поэтому мы будем использовать проверенную временем нейронку PTGui.
Готовые файлы грузим в PTGui Pro. Программа автоматически установит фокусное расстояние камеры из EXIF data. При необходимости можно изменить надстройку в ручную. Запускаем процесс установки контрольных точек и сшития через Align images — далее откроется окно с превью нашей панорамы.
![Стартовый интерфейс Стартовый интерфейс](https://habrastorage.org/getpro/habr/upload_files/e88/0f0/167/e880f0167bb7d1e4fb9c720f412902f8.png)
![Превью склейки Превью склейки](https://habrastorage.org/getpro/habr/upload_files/5dd/6d0/fb5/5dd6d0fb56c330f38c8064488b158b0f.png)
После обработки получаем неплохой результат. PTGui предварительно исправляет возможные погрешности экспозиции и света, которые могли произойти во время обработки в PS. В кадре мы можем увидеть "шапку" дрона, про этот кейс я говорил чуть выше. Сейчас мы используем старую версию PTGui — поэтому получаем пустоту в верхней части экрана. Счастливые обладатели последней версии могут наблюдать как программа сама заполнит пустое пространство. Как исправить это вручную на старых версиях, опишу чуть ниже.
При захвате местности с водой, снегом или большим полем можно столкнуться с невозможностью установить контрольные точки автоматически. PTGui попросит Вас самостоятельно свести проблемные участки. В целом в этом нет ничего сложного. В одной из своих панорам я делал это практически в слепую.
![Интерфейс установки контрольных точек. Добавляем точку на правом изображении, соотносим на левом и добавляем еще раз. Минимум 6-10 точек Интерфейс установки контрольных точек. Добавляем точку на правом изображении, соотносим на левом и добавляем еще раз. Минимум 6-10 точек](https://habrastorage.org/getpro/habr/upload_files/444/5ff/667/4445ff667fa3fdb02c267a9c2dee8310.png)
Если проблем не возникло, горизонт ровно по линии а на превью нет явных артефактов, переходим уже к финальной выгрузке панорамы.
Жмем на последнюю вкладку и задаем следующие параметры:
Размеры 10000:5000 px - Больше при необходимости.
Формат TIFF.
Сжатие 16 bit с LZW компрессии.
![](https://habrastorage.org/getpro/habr/upload_files/007/8ac/a4e/0078aca4e7860e9db7784a2f165744d6.png)
Готовую панораму открываем вновь в Photoshop. Попробуем заполнить наше пространство и кажется что нейронки PS в этом отлично справятся. Выделяем пустоту, увеличиваем выделение так чтобы 100 px изображения попадало в выделяемую зону. Переходим в пункт Редактирование - Заливка с учетом содержимого. Применяем.
![](https://habrastorage.org/getpro/habr/upload_files/4ca/405/420/4ca4054201812e1bf7a8f9f2561b4a1a.png)
![](https://habrastorage.org/getpro/habr/upload_files/168/f1a/1bb/168f1a1bb61808288290c43f396b00ec.png)
Многие могут подумать что на этом все, но нет. При загрузке на какой-нибудь сервис можно будет увидеть резкие поля склейки в верхней части панорамы. Для того чтобы это исправить отправимся в Affinity photo, предварительно объединив слои и сохранив изображение в том же TIFF. Кто-то может опять сказать, что редактирование панорамы можно сделать в том же PS в 3D режиме — мне честно он не зашел, несмотря на мощное железо он и на нем умудряется лагать. А с лагами не всегда приятно работать.
Уже в Affinity photo открываем изображение и идем в пункт Слои -> Динамическая проекция -> Равнопрямоугольная проекция.
![](https://habrastorage.org/getpro/habr/upload_files/c91/e04/d4a/c91e04d4a0ec84cf5031d2dc61be5e66.png)
Теперь с помощью перемещения (M) можно полноценно прокрутить нашу панораму. На этом этапе переходим к исправлению нашего неба. Изменяем поле обзора в левой верхней панели на 90°. Перемещаем обзор вверх и вызываем Кисть зарисовки (J) - Проблемные участки закрашиваем выделением и ждем чудо нейронки.
![Кейс с облаками будет сложнее исправить, но в целом не каждый будет изучать панораму под таким углом) Кейс с облаками будет сложнее исправить, но в целом не каждый будет изучать панораму под таким углом)](https://habrastorage.org/getpro/habr/upload_files/9c5/c38/72f/9c5c3872f4e06d8d52b0c532944b7fbf.png)
После обработки необходимо вновь вызвать перемещение (M) и нажать на кнопку "Изменить проекцию", чтобы продолжить поиск проблемных участков. В целом, если грехов больше нет, можно удалить Динамическую проекцию и финально сохранить готовую панораму. Обычно я использую формат JPEG. Такой формат можно загрузить быстро на Яндекс.Панорамы или SkyPixel. Вес при этом будет составлять всего 33-35 мб.
![Итоговое изображение Итоговое изображение](https://habrastorage.org/getpro/habr/upload_files/e94/e12/383/e94e12383e5c44019b2ada22ef46bbb9.jpg)
Для создания подобной сферы можно обратиться с сервису imgonline. Загружаем свой JPEG и отключаем опцию Сглаживание шов в начале и конце панорамы. Итоговый результат можно скачать в любом формате.
Итоговое изображение можно заценить на SkyPixel или Яндекс.Панорамы.
Нюансы
Использование Affinity photo и Photoshop. Оба продукта хороши в цветообработке и в целом можно использовать только один Affinity (Он обойдется дешевле фотошопа), но PS не уступает по качеству редактирования RAW, но проигрывает в удобстве при работе с динамической проекцией. Возможно я могу ошибаться.
Обработка цвета панорамы после склейки. Не рекомендую это делать, так как после изменения насыщенности или яркости изображения Вы скорее всего столкнетесь с шовной линией по середине панорамы.
После обработки PTGui могут обнаружиться нестыковки в кадрах. Это можно быстро исправить в фотошопе с помощью зарисовки или штампа.
Итог
Мы получаем 100% способ создания Сферической панорамы без явных артефактов, пустого дна или неба. Приблизительно у Вас уйдет минут 20 на каждую панораму.
Комментарии (12)
Gordon01
30.08.2021 07:43На яндекс-панорамах выглядит шикарно, а вот фотка с кругом, имхо, довольно бесполезна.
Вот бы все это автоматизировать, чтобы не сидеть по 20 минут. Удивлен, что DJI не сделали склейку панорам прямо на дроне.
P.S. артефакт проскочил:
susanin39 Автор
30.08.2021 12:59Да автоматизация есть у DJI, но разрешение, которое Вы получите из приложения, не будет таким, как если бы Вы сделаете панораму в вручную. + Верхушка будет просто залита размытым цветом без детальной прорисовки.
Да такие артефакты боль(
Javian
30.08.2021 09:23+1Microsoft Image Composite Editor неплохо клеит панорамы. А по статье: ожидал увидеть в статье на Хабре некую автоматизацию процесса от съемки до заливки результата куда-то в галерею, а не инструкцию куда нажимать.
zxcvbv
По мне так склеить панораму в фотошопе и "подкрасить кисточкой" косяки для целевой аудитории хабра - вещь тривиальная (особенно в последних версиях). Вот как потом это смотреть в офлайне без вот этих вот облачных сервисов - вот это было бы интересно, может есть какой вменяемый софт.
susanin39 Автор
Имеете ввиду как посмотреть панораму после ее публикации без сервисов Яндекса или DJI? Можно прямо в Affinity photo или в том же PTGUI. + Подобный функционал есть в Google Photo. Но вот прямо отдельного софта пока не видел)
zxcvbv
Видимо, сначала нужно появление некоего общепризнанного формата файла хранения 360°-панорам, после чего стандартные просмотрщики изображений уже подтянутся и реализуют просмотр (или такой уже есть?).
susanin39 Автор
Скорее всего дело не в формате) Это может быть tiff, jpeg или png. Просто средство универсального просмотра должно создать виртуальную камеру внутри такого изображения. Я думаю необходимо признание общего тэга в EXIF data. Тогда Photoshop или обычный Viewer сможет открыть правильно нашу сферу без сторонних сервисов)
zxcvbv
Я имел в виду, что все эти форматы хранят изображение в прямоугольной системе координат. Натягивание прямоугольной картинки на сферу влечет искажение пикселов ближе к полюсам (для равномерной плотности пикселов в сферической системе координат, их декартова проекция должна быть прорежена по широте, и уплотнена по долготе чем ближе мы подходим к полюсам). Если хранить картинку в сферических координатах, то получим равномерно максимальное разрешение по всей сфере при минимально возможном размере файла. Но наверное вы правы, и такой подход - это оверкилл и излишнее усложнение: приобретаем меньше (качество у полюсов при минимуме размера файла), чем теряем (сложность редактирования и хранения).
zlob
За десктоп не скажу, а для мобилок нужно только поискать.
Android https://play.google.com/store/apps/details?id=com.xojot.vrplayer
iOS https://spherium.app/
Но большого смысла в них не вижу. Самому смотреть это конечно весело, но хочется же поделиться и чтобы у человека на другом конце не возникло проблем с просмотром.
Google Photo закрывает этот вопрос (хранение, доставка, просмотр).