Небольшое отступление. Некоторое время назад выкладывал свои работы, в том числе несколько своих потуг по части сборки сферических панорам, которые понравились
AnkaRiya00, и она предложила написать небольшой гайд по их созданию. В первую очередь статья будет касаться сферических панорам, но этими же правилами необходимо руководствоваться при съемке и склейке "обычных" широкоформатных панорам. Материал с тех пор несколько раз корректировался и дополнялся, поэтому на скриншотах будут приведены примеры сборки разных панорам, а версии используемого ПО могут отличаться.
Введение
Сферическая панорама должна иметь охват 360° или полный круговой обзор по горизонтали и 180° по вертикали или обзор от нижней точки (так называемый надир) до верхней точки (зенит). Если охват будет меньше - такая панорама уже не будет сферической.
Для того, чтобы снять сферическую панораму, в теории сгодится даже самая простая дешевая мыльница, но желательно иметь фотоаппарат с режимом ручных настроек выдержки, диафрагмы и чувствительности (зеркальный или беззеркальный), штатив и специальную панорамную головку, которая позволяет вращать и наклонять фотоаппарат вокруг точки пересечения лучей в объективе (нодальной точки). Эта точка находится приблизительно в центральной части объектива (если точнее, там, где находится диафрагма), но ее расположение у каждого объектива индивидуально.
Вот так в идеале должен вращаться аппарат на штативной головке вокруг нодальной точки (картинка справедлива для обеих осей вращения по горизонтали и по вертикали).
У объективов с выдвигающимся далеко вперед линзоблоком (в народе такой конструктив имеет название "хобот") при изменении фокусного расстояния и у объективов с выраженным эффектом "focus breathing" или "фокусного дыхания" (это явление, когда при наведении объектива на разные дистанции при неизменном фокусном расстоянии меняется угол его обзора), положение нодальной точки меняется для разных положений линзоблока.
Наглядный пример эффекта "фокусного дыхания" при съемке монеты крупным планом с целью сложения серии в стек, наведение последовательно от минимальной дистанции до бесконечности, монета и фотоаппарат неподвижны
А вот так выглядит панорамная головка (на фото головка
Сфера-3) с установленным на ней фотоаппаратом (Canon 600D).
Суть использования панорамной головки заключается в том, чтобы свести к минимуму эффект параллакса. Чтобы наглядно оценить этот эффект, вытяните вперед руку, поднимите вверх большой палец и посмотрите на него сперва одним глазом, потом не меняя положения руки и головы - вторым глазом. Видно, что задний план заметно смещается относительно пальца. Съемку панорам в тесных условиях (особенно в помещении), а также панорам с большим количеством сложных деталей без панорамной головки лучше даже не начинать, потому что из-за эффекта параллакса будет очень тяжело или даже невозможно нормально склеить снимки. Пейзажные панорамы с минимумом деталей вполне можно снимать даже с самого дешевого штатива или вовсе с рук. Я во время походов обычно снимаю только с рук, потому что на манипуляции со штативом и головкой нужна уйма времени, а группа ждать точно не будет. При этом как правило получается достаточно неплохо, но может потребоваться возня в фоторедакторе.
Настройка панорамной головки
Установить фотоаппарат на панорамную головку - мало. Еще необходимо ее настроить. Настройка головки сводится к установке положения фотоаппарата так, чтобы он вращался вокруг нодальной точки. В интернете можно найти уже готовые данные по наиболее распространенным объективам или определить положение нодальной точки самостоятельно с помощью двух длинных и узких предметов (хорошо подойдут свечки, карандаши и т. д.). Для настройки головки сперва выравниваем положение фотоаппарата по нижнему уровню так, чтобы он был строго в центре кадра, потом ставим свечки или карандаши вертикально один за другим на некотором расстоянии друг от друга строго на оптической оси фотоаппарата (чем дальше друг за другом они будут стоять, тем точнее получится настройка, хороший результат получается при расстоянии 40-50 см между предметами и 70-100 см до фотоаппарата). При этом задний предмет не должно быть видно за передним. Сперва поворачиваем головку так, чтобы предметы находились возле левого края кадра, подстраиваем положение головки так, чтобы передний предмет закрывал задний, потом поворачиваем головку так, чтобы предметы оказались возле правого края и точно так же подстраиваем положение, чтобы предметы были один за другим. Если ни в одном из трех положений (крайнее левое, центральное, крайнее правое) задний предмет не выглядывает из-за переднего, значит, что головка настроена правильно. Теперь можно сделать метки для дальнейшей быстрой настройки головки или затянуть винты намертво, если смена объективов не планируется.
Съемка панорамы
Когда головка настроена, можно приступить к съемкам.
Делаем серию снимков по следующим правилам (этими правилами необходимо руководствоваться и для съемки обычных панорам):
1. Включаем приоритет диафрагмы и выставляем желаемое значение диафрагмы. При съемке днем имеет смысл поставить диафрагму F/7.1 - F/9 или даже сильнее, поскольку это увеличит глубину резкости и резкость всей системы в целом. В темное время суток диафрагму наоборот необходимо открыть (съемка панорам звездного неба и т. д.). Если же идет съемка улицы, освещенной фонарями, то диафрагму также лучше закрыть до значения F/7.1-F/9. Поскольку значение выдержки при съемке в темное время суток может составлять несколько секунд, то необходим штатив и желательно использовать спусковой тросик, беспроводной пульт или просто активированный автоспуск - достаточно автотаймера на пару секунд. Впрочем, тросик будет нелишним иметь и просто для удобства взаимодействия с камерой на головке и увеличения скорости съемки. Я пользуюсь самодельным тросиком, изготовленным согласно приведенной ниже схеме, нужен лишь разъем jack 2.5, кусок трехжильного провода (также подойдет завалявшаяся ненужная гарнитура от мобильного телефона из середины 2000-х, но в таком случае общему проводу в распайке будет соответствовать третий от наконечника контакт, на который обычно заведены кнопка подъема трубки и микрофон) и две нефиксируемые тактовые кнопки (кнопку снимка можно также продублировать включенной параллельно с ней фиксируемой кнопкой или тумблером, что будет полезно для съемок в режиме Bulb, чтобы не держать кнопку спуска рукой в течение всего времени съемки), а упакована конструкция у меня в корпус от контроллера китайской восьмипрограммной новогодней гирлянды.
Схема простейшего спускового тросика
2. В настройках выставляем баланс белого, соответствующий конкретной обстановке - ясно, облачно и т. д.
Он не должен быть на автомате (справедливо, по крайней мере, для компактных аппаратов и мобильных устройств, сохраняющих изображения в JPEG; при выводе из RAW необходимо подстроить баланс белого по одному снимку и применить его к остальным кадрам серии). Вспышку необходимо либо отключить совсем, либо держать принудительно включенной.
Это важно!!!
3. Наводим аппарат на участок средней освещенности, прижимаем кнопку затвора и запоминаем значение выдержки.
4. Переключаем аппарат на ручной режим и задаем ту же диафрагму и выдержку, после чего отключаем автофокусировку, не сбивая положение кольца фокусировки или передней линзы. Действия в пп. 1 - 4 направлены на то, чтобы на стыках между снимками не было выбивания по цвету, по экспозиции и по фокусировке.
5. При съемке со штатива обязательно отключаем стабилизатор изображения на камере и/или на объективе (если он есть), поскольку при использовании штатива он будет не компенсировать тряску, а наоборот сам приведет к дрожанию камеры и смазыванию изображения (чем более мощный стабилизатор в объективе и чем более длиннофокусная оптика, тем заметнее). Я сравнивал результаты съемки на 70-300 4-5.6 IS USM со стабилизатором и без него, в итоге при съемке со стабилизатором на 300 мм у меня полезли очень заметные смазы, а без стабилизации получилось резкое несмазанное изображение.
6. Видовые панорамы с достаточно удаленными объектами без особых проблем можно снимать и с рук (многие мои походные панорамы сняты с рук, впрочем, сентябре 2018 года взамен устроившего серьезное западло с выкрутившимся винтом и выпавшей гайкой старого штатива, приобрел отличный новый штатив, который в сложенном виде имеет длину 40 см, помещается в любой сумке
и уже успел побывать на высоте 3300 метров) - здесь эффект параллакса влияет мало (а небольшие нестыковки подгонятся при сшивке и ретуши в фоторедакторе), но снимать на автофокусировке и сбивать фокусировку все равно нельзя, иначе на первом снимке резкость может оказаться "вот на этом дереве", а на втором снимке - "вон на той горе", и поэтому на стыке снимков часть объекта может получиться резкая, а часть - размытая.
7. Делаем серию снимков с гарантированным перехлестом, лучше вертикально (при той же ширине охвата панорама получится в большем разрешении), лучше всего - перехлест до 1/4-1/5 кадра, поскольку чем шире область перекрытия, тем больше вероятность удачного схождения снимков.
8. Съемку панорамы нужно производить как можно быстрее, особенно в условиях, когда в кадре есть люди, транспорт, облака и прочие движущиеся объекты, в противном случае на панораме могут возникнуть казусы, типа выезжающих из ниоткуда и въезжающих в никуда автомобилей и двойников людей, вплоть до невозможности нормальной сшивки.
9. Обрабатываем всю серию в RAW-конвертере с одинаковыми параметрами или обрабатываем один снимок, после чего все настройки применяем к остальным снимкам серии.
Если мыльница не умеет снимать в RAW и/или имеет ручных настроек, то пропускаем пункты 1, 3, 4, 5 и 9.
Программное обеспечение
Далее нам потребуется программа для сшивки панорам. Я перепробовал множество инструментов для сборки панорам, в частности,
PTGui,
Kolor AutoPano Giga (работает вроде бы неплохо, но одну из моих панорам почему-то изогнул волной), бесплатный
Hugin (основан на морально и физически устаревшем движке Panorama Tools, лично у меня перевернул панораму вверх ногами и после долгих раздумий вылетел с ошибкой) и встроенное средство сложения изображений в Photoshop (сложные панорамы собирает весьма коряво), но самый лучший результат, по моему мнению, выдает именно PTGui. Единственный ее существенный недостаток - ресурсоемкость (необходимость в большом объеме оперативной памяти и свободного дискового пространства).
После установки сразу же создайте временную папку для PTGui на наиболее свободном разделе (необходимо выделить около 40 гигабайт), освободите 20-30 гигабайт на системном разделе и при возможности поставьте хотя бы 8, а лучше 16 ГБ оперативной памяти (у меня при 8 гигах ОЗУ PTGui сжирала всю оперативку и весь своп, при этом компьютер толком больше ничего делать не мог, а когда поставил 16 ГБ, PTGui стала отъедать 10 гигов, но и системе стало полегче). Кстати говоря, в 10 версии очень сильно переработаны алгоритмы и добавлена поддержка аппаратного ускорения на дискретных видеокартах. Если при выводе окончательного изображения полезут артефакты при включенном аппаратном ускорении - обновите или наоборот поставьте более старый видеодрайвер; на Intel HD аппаратное ускорение не работает, а PTGUi может вообще вылетать с ошибкой.
Также можно установить (ставятся путем простого копирования в рабочую папку PTGui и прописывания путей в ее настройках) плагины Enblend, Smartblend (это вообще очень крутая вещь - устраняет эффект параллакса и позволяет свести несводимое, хотя работает очень медленно, потому что не поддерживает многопоточность и 64-битную архитектуру, также возможны проблемы с изображениями объемом более 4 ГБ, в этом случае помогает снизить разрешение выходного файла до 15000-20000 пикселей по длинной стороне), Autopano (это не одноименная программа AutoPano Giga, хотя они и выпускаются одним и тем же разработчиком), PTOptimizer и PTStitcher. Все эти плагины можно найти в Интернете.
Есть также
портативка 12 версии (наиболее свежий доступный вариант). Работает где-то лучше, а где-то хуже, чем 10, проекты из 10 не поддерживаются, интерфейс в 10, на мой взгляд, гораздо удобнее.
Сшивка панорамы
Итак, фрагменты панорамы сохранены в JPEG из RAW:
Панорама была снята с рук без особой надежды на результат, больше из интереса. Здесь я сделал 57 снимков с избыточностью по небу и по земле, чтобы хоть что-то получилось, потому что при более ранних попытках этих снимков мне как раз и не хватало, поэтому небо и землю приходилось достраивать вручную. Забегая вперед, скажу, что несколько снимков земли из проекта я исключил. Вот, где мне совсем не помешала бы панорамная головка, которой тогда еще у меня не было.
Будем считать, что PTGui у нас уже установлена и настроена, и можно приступать к работе.
1. Загружаем серию изображений в PTGui:
2. Нажимаем Align images. Программа выполнит анализ изображений, сгенерирует контрольные точки и попытается по этим точкам соединить изображения. Результат будет показан в окне Panorama Editor, здесь также можно двигать и наклонять панораму в разные стороны, а также выбрать тип проекции:
Сразу бросаются в глаза "засечки" на плитках, кусок тени от меня и небольшие дырки в областях, которые оказались недосняты.
3. Возвращаемся к главному окну PTGui, сразу же нажимаем кнопку Advanced справа (появятся дополнительные вкладки и параметры).
Поскольку низ у меня был снят с избыточностью, я сразу же сразу же исключил из проекта изображения под номерами 52 и 54.
Получилось следующее: тень от меня стала гораздо меньше.
4. Теперь переходим на вкладку Control Points. Здесь мы будем добавлять собственные контрольные точки, по которым будет сшиваться панорама, особенно если их недостаточно или PTGui не смогла их найти совсем. В данном случае сразу после первичной сборки панорамы будет выведено предупреждение о том, что часть фрагментов не удалось привязать к панораме и номера этих фрагментов. Добавление контрольных точек вручную - едва ли не самое муторное занятие при создании панорамы, потому что необходимо расставить точки между каждой парой сообщающихся между собой изображений. Но в PTGui данный инструмент реализован наиболее удобно по сравнению с другими аналогичными программами: при достаточном количестве имеющихся точек (начиная уже от 3-5) PTGui сама может предсказывать расположение добавляемых точек. Жирным выделены изображения, имеющие общие между собой контрольные точки. Так например, с фрагментом №0 связаны изображения №№ 1, 10, 11, 12, 34, 35, 45 и 46, а с №1 - изображения №№ 0, 2, 12, 13, 14, 34, 35, 36 и 46. Сама PtGui расставляет точки по одной ей понятной системе. Я же советую для удобства расставлять точки по наиболее выделяющимся объектам, например, по углам плиток, декоративным элементам, цветам на клумбе.
Поскольку эта панорама была отснята с рук, ряды получились немного перекошенные, а в каждом ряду - разное количество снимков. При съемке с головки все будет ровно и красиво: снимки каждого последующего ряда будут находиться строго над снимками каждого предыдущего ряда.
5. По окончании добавления точек переходим на вкладку Optimizer, где отмечаем галки напротив всех изображений в столбце Viewpoint, ставим галки Horizontal shear и Vertical shear, выбираем Optimize using PtGui, нажимаем Run Optimizer и соглашаемся применить изменения. Снова возвращаемся на 1 вкладку, открываем Panorama Editor и видим, что стало ГОРАЗДО лучше - засечки практически исчезли.
6. Открываем вкладку Exposure. Здесь можно выполнить коррекцию экспозиции, баланса белого, винъетирования и т. д. Несмотря на то, что данный инструмент выполняет коррекцию очень и очень неплохо, он не всемогущий, и слишком выбивающиеся по экспозиции и балансу белого снимки нормально не выправит. Ставим галку Exposure Compensation, нажимаем Settings, где ставим Optimize Vignetting - Enabled, Optimize - Enabled (Full), Optimize White Balance - Enabled, Optimize Flare и Camera responce Curve не трогаем (оставляем Disabled и Automatic соотвественно). Нажимаем OK и соглашаемся применить коррекцию.
Можем проверить результат в окне Panorama Editor.
7. Переходим на последнюю вкладку Create Panorama, выбираем Blend Using - SmartBlend plugin и возвращаемся на одну вкладку назад - открываем Preview. Здесь можно вывести панораму в черновом качестве для предварительного просмотра. Задаем желаемое разрешение(самое оптимальное 2-3 тысячи точек по высоте, чтобы как раз влезало в монитор, и можно было немного помасштабировать), жмем Preview и выбираем, в чем будем смотреть - встроенными средствами PTGui или просмотрщиком изображений по умолчанию. Я выбираю второй вариант. Если же выбрать средства PTGui, откроется окно, в котором можно покрутить сферическую панораму. После выбора желаемого просмотрщика надо немного подождать, пока сошьется панорама. А вот и результат:
Оптимизаторы сработали настолько отлично, что тень от меня пропала вовсе, засечки на плитках тоже исчезли.
Впрочем, в PTGui 10 версии свой совсем неплохой оптимизатор; в последнее время пользовался только им.
Если материал отснят с использованием панорамной головки, общая ошибка (Average error) даже в случае сложной панорамы может составлять не более 4-5 попугаев, что соответствует хорошему результату (good), а дальнейшая оптимизация может привести к снижению общей ошибки до 1.5-1.7 попугаев (это уже считается very good); в ряде случаев это значение вообще может быть меньше единицы. Справедливости ради, приемлемый результат можно получить и при гораздо бОльших значениях ошибки.
8. Когда результат устраивает, можно делать финальный вывод. Для этого открываем последнюю вкладку Create Panorama, выбираем желаемый формат, нажимаем Create Panorama и оставляем компьютер на время от нескольких минут до нескольких часов, в зависимости от производительности железа, а также размеров и сложности панорамы.
9. Дело техники отретушировать выведенное изображение в графическом редакторе. Это я оставляю за пределами данного руководства, потому что все сводилось к зарисовыванию дырок и оставшихся засечек клонированным штампом.
10. Теперь надо сохранить полученную панораму, уменьшить разрешение (оптимально 10000*5000 даже с запасом на масштабирование) и можно выгружать на сайты виртуальных туров.
Покрутить панораму можно
тут.
Чтобы сделать собственный тур, необходима программа
Pano2VR, которая позволяет выводить сферические панорамы во Flash и в HTML5 для просмотра в любом браузере и встраивания в страницы на сайтах, а также преобразовать их в различные нестандартные проекции ("рыбий глаз", маленькая планета" и т. п.). Многие ее ругают, но для человека, незнакомого с программированием, это наиболее простой вариант. Здесь я коснусь минимума реализованных в ней функций, а так на самом деле она сама достойна написания отдельной статьи по ее использованию, потому что позволяет создавать туры из нескольких панорам с точками переходов, добавлять изображения, звуки, текстовые метки и т. д.
1. Нажимаем Импорт, выбираем сохраненную панораму:
2. В списке справа выбираем шаблон оформления, для просмотра и редактирования шаблона нажимаем Редактировать оформление:
Здесь к стандартному шаблону controller_new добавлен прямоугольник с текстом подписи панорамы.
3. Для вывода интерактивной панорамы нажимаем на плюсик справа, выбираем Flash или HTML5, выбираем шаблон оформления, задаем желаемые параметры автопрокрутки, возврата в горизонт, работу мыши и т. д. Для окончания вывода нажимаем на шестеренку и ждем.
Вот конечный результат наших трудов:
Если планируется публикация панорамы или полноценного тура из нескольких панорам на персональном сайте без использования сторонних сервисов, советую экспортировать в HTML5, потому что такие панорамы будут доступны для просмотра на большем количестве устройств, включая смартфоны и планшеты.
При экспорте в HTML5 будут созданы папки с тайлами, скрипт движка и HTML-файл для открытия в браузере.
Для публикации панорамы необходимо содержимое папки с панорамой выгрузить через FTP на сервер хостинга с соблюдением всех путей (корневая папка хостинга) и указать ссылку на HTML-файл из папки с панорамой.
Чтобы встроить панораму в страницу сайта, необходимо скопировать текст из HTML-файла и вставить его на сайте в режиме редактирования кода страницы.
Пример встраивания панорамы в одну из популярных CMS Joomla (из кода HTML-файла убрана таблица с копирайтами).
При необходимости можно отредактировать пути в файлах стиля и движка, особенно если планируется размещение нескольких несвязанных виртуальных туров, но нужно быть предельно внимательным, чтобы ничего не перепутать.
При импорте панорамы в Pano2VR могут быть заметны явные косяки типа сходящихся конусом неба и земли, например, такие:
В данном случае панораму необходимо разрезать на квадраты, затем эти квадраты отретушировать в фоторедакторе и заново собрать из них панораму.
Для этого:
1. Нажимаем Преобразовать импорт, в открывшемся окне выбираем Тип - Грани куба, все остальное оставляем как есть и нажимаем Конвертировать.
После конвертации в папке с панорамой появятся 6 квадратных фрагментов панорамы:
2. Видно, что необходимо избавиться от конуса на небе (фрагмент IMG_3931 Panorama1_cube_4.tif).
Каждый решает сам, как и что будет делать. Я его размазал с помощью микс-кисти.
До и после:
3. Сохраняем отретушированный фрагмент и загружаем его в Pano2VR, после чего проверяем, нормально ли он состыковался с остальными кусками панорамы.
4. Конуса как раньше больше нет, поэтому панораму можно собирать обратно. Снова нажимаем Преобразовать импорт, но теперь выбираем Тип - Эквидистантная, указываем ширину исходного изображения и снова нажимаем Конвертировать.
При съемке со штатива в нижней части панорамы неизбежно появление черного круга - области, не охваченной во время съемки, а также ног от штатива. Единых рецептов по устранению черного круга нет - в случае, если надир простой (земля, асфальт и т. д.) - достаточно круг замазать клонированным штампом. При ретуши надира с повторяющимися элементами (плитка, паркет и т. д.) можно сделать заплатку из фрагмента, взятого рядом с кругом, подогнать его различными трансформациями и по месту пройтись ластиком и подмазать клонированным штампом. Еще более сложный надир (ковры со сложным узором и т. д.) однозначно требует съемки кадра земли, который будет использован в качестве заплатки.
5. Полученное изображение в TIFF можно пересохранить в JPEG и использовать для выгрузки на сайты сферических панорам или создания собственных виртуальных туров.
Надеюсь, эта информация была для кого-то полезной.
6. Если при сборке панорамы вылезли двойники или "распиленные" объекты, я либо заретушевываю их клонированным штампом (если это представляется возможным), либо открываю исходное фото, выделяю нужный объект, копирую, вставляю в панораму, подгоняю с помощью различных видов трансформации (искажение, деформация и т. д.), объединяю слои и прохожусь по краю вставленного фрагмента клонированным штампом или перед объединением слоев прохожусь ластиком с мягкими краями и нажимом 50-70%.