Автоматизация съемки сферических панорам с помощью камеры Sony NEX-5Автоматизации съемки панорам мы уже посвятили целый ряд статей:
Казалось бы, вопрос исчерпан, однако ж нет. Фотокубики позволяют решить одну и ту же задачу самыми разными способами. Но главное, что камер существует сегодня уже бесконечное количество. И для каждой требуется свое специфическое решение, поскольку о стандартном способе управления производители даже не пытались договориться. Особенностью камеры Sony NEX-5 (Часть 2) является то, что камерой можно управлять только по ИК каналу, причем последовательность импульсов, которые надо передать, довольно длинная. АЦП с частотой преобразования 120 кГц устройства L-CARD E-154 с помощью программы LGraph2 превращает компьютер в подобие осциллографа, что позволяет оцифровать и записать сигнал с пульта дистанционного управления Sony RMT-DSLR1. Обращаю внимание, что, в отличие от большинства других камер, информацию несет
длина импульсов, а не пауз между ними. Пауза имеет постоянную длину в 576 мкс.
В результате, получаем следующую последовательность импульсов в микросекундах
с несущей частотой 38 кГц: Для успешного спуска затвора эта последовательность должна повторяться не менее 3 раз с интервалом 11136 мкс. Способ, описанный в статье "ИК-пульт управления для камер Canon на базе микрокомпьютера Freeduino Through-Hole" и требующий экспериментальной подборки параметров, является не очень удобным. В данной статье для генерации несущей частоты предлагается использовать режим широтно-импульсной модуляции (ШИМ) микроконтроллера Freeduino Nano v5. Вторая особенность камер Sony NEX - это то, что для них существует насадка Sony VCL-ECF1, превращающая 16мм объектив в объектив Рыбий глаз. В данной статье будет рассмотрено получение сферических панорам, как с помощью 16 мм объектива, так и с помощью 16 мм объектива с насадкой. Кроме того, будет представлено и уже апробированное решение с использованием объектива Пеленг. С точки зрения конструкции она полностью идентична описанной в статье и использующейся с камерами Canon. Отличий всего два. Это крепление источника ИК сигнала, сделанного на светодиоде АЛ107 с включенным последовательно сопротивлением в 1 кОм, которое подключается напрямую к выходу микроконтроллера. Второе отличие в механике - это дополнительная площадка, обеспечивающая надежную фиксацию камеры, поскольку опорная поверхность около штативного гнезда очень маленькая. Камера легкая, и с объективом 16 мм можно было бы обойтись без дополнительных ухищрений, но с объективом и насадкой, и уж, конечно, с объективом Пеленг, без дополнительной фиксации камеры от поворота в вертикальной плоскости не обойтись. Для надежной фиксации была сделана из винипласта площадка, в которой было выдолблено углубление, по форме соответствующее опорной поверхности камеры. А для того, чтобы площадка не проворачивалась, в нее ввинчен дополнительный шип. Этот шип вместе со штативным болтом не позволяет площадке провернуться относительно рейки. В то же время фиксация осуществляется одной контргайкой, что позволяет легко выставить камеру с любым объективом в такое положение, при котором вращение осуществляется относительно центра перспективы. Поскольку форма днища у камеры Sony NEX весьма хитрая, то выдолбить в площадке углубление, точно ему соответствующее, дело достаточно сложное. Я для этого применил отнюдь не самый безопасный для камеры способ. Я разогревал винипластовую пластину, после чего прижимал к ней с помощью штативного винта камеру. На размягченной пластине оставался отпечаток, который в дальнейшем углублялся стамеской, после чего процесс повторялся. На нижеприведенных фотографиях можно увидеть три варианта установки: с объективом16 мм и с объективом Пеленг. Фотография установки с объективом 16 мм и насадкой Sony VCL-ECF1 размещена в начале статьи. Использование камеры с родной оптикой имеет то преимущество, что в результате конструкция получается очень легкой. И для компенсации веса камеры вполне хватает часовой пружины, причем закрученной отнюдь не до упора. При установке объектива Пеленг для компенсации увеличения веса приходится увеличивать натяг пружины на два оборота. Программа управления съемкой для последующего использования можно сказать здесь. Поскольку программа получилась достаточно короткая и я ее постарался достаточно хорошо прокомментировать, то приведу полностью ее текст в статье: // Adafruit Motor shield library AF_Stepper motor1(48, 1); // Число шагов на один оборот мотора для 1 двигателя int buttonPin = 9; // Ножка перемычки. Если 5В, то съемка с насадкой в два ряда for (int i=0; i <= nmstepx; i++) motor1.step((mstepx/2), FORWARD, DOUBLE); //Поворачиваем на пол угла по горизонтали motor2.step((mstepy*nmstepy/2), FORWARD, DOUBLE); //Поворачиваем вниз } void IR_Sony() { //Подпрограмма подачи ИК сигналя для спуска зотвора камеры NEX5 Изначально камера устанавливается в горизонтальное положение и наводится на центральную часть панорамы. Желательно выбрать тот участок, который можно считать эталонным по освещенности. Прежде чем приступать к съемке панорамы, есть смысл сделать несколько кадров и убедиться, что выдержка и диафрагма выбраны правильно. Камеры следует переключить в режим ручного управления и также установить фиксированный баланс белого. Я предлагаю не экономить и снимать в режиме Raw + JPEG. Raw часто бывает предпочтительнее, поскольку динамический диапазон всей сферической панорамы может быть весьма значительным, а снимать с вилкой этой камерой не получится, поскольку выбор режимов у нее устроен таким образом, что либо эксповилка, либо дистанционное управление. Поэтому если динамического диапазона все-таки не хватает, то надо последовательно снимать несколько сферических панорам с разной экспозицией. Кроме того, Raw удобен и для более качественного исправления хроматических аберраций. Это особенно актуально, если используется 16 мм объектив с насадкой. Автофокусировку в большинстве случаев тоже стоит отключить и навести камеру вручную на гиперфокальное расстояние. Программа запускается кнопкой Reset, после чего в зависимости от наличия или отсутствия перемычки, камера будет проводить съемку, оптимизированную либо для 16 мм объектива, либо для объектива Рыбий глаз. В случае использования объективов Рыбий глаз, т.е. 16 мм объектива с насадкой или объектива Пеленг, камера производит съемку в два ряда их пяти кадров каждый. Причем центры кадров второго ряда расположены посередине между кадрами первого ряда. Визуализация связей между кадрами в программе hugin при съемке сферической панорамы 16 мм объективом с насадкой Sony VCL-ECF1 В случае использования 16 мм широкоугольного объектива потребуется уже 3ряда по 10 кадров. Меньше кадров делать нельзя, поскольку в этом случае перекрытие будет недостаточно большим. А вот насчет большего вопрос сложный. Больше кадров - больше работы по сшивке, но когда перекрытие большое, то автоматический поиск совпадающих точек работает более эффективно. Впрочем, мой опыт показал, что проблема не в том, чтобы добавить недостающие точки, а в том, чтобы рассмотреть все остальные автоматически расставленные точки и выкинуть лишние. Таким образом, если перекрытие больше, то точки расставлены с большей точностью, и процент точек с ошибками меньше, но общее число точек существенно возрастает и на их просмотр требуется больше времени. Когда сшиваются панорамы из такого большого количества кадров, то понимаешь полезность графического интерфейса программы hugin, которая позволяет визуально оценить, какой кадр с каким связан и быстро найти выпавшие из общей картины снимки. Процесс съемки мы автоматизировали и сделали достаточно быстрым и комфортным. Панорам за день можно наснимать так много, что можно даже попытаться конкурировать c Google Street View. Но вот обработка остается все равно если не трудоемким, то длительным процессом. Рассмотрим основные стадии и программы использования в процессе обработки. 1. Преобразование Raw в TIFF и исправление хроматических аберраций. Я для этого предлагаю использовать программы либо RawTherapee, либо DarkTable. Летом вышла, наконец, стабильная третья версия программы RawTherapee, версия DarkTable на данный момент 0.9.2, т е это еще не стабильная версия, но вполне работоспособная. Автоматическая коррекция хроматических аберраций в обеих программах с насадкой не справилась, поэтому приходится подбирать значения вручную. Сдвиг там имеет довольно хитрую зависимость, поэтому надо стремиться устранить хроматические аберрации не на самом краю кадра, а чуть отступив от него, поскольку самые края все равно будут отброшены при сшивке. 2. Собственно сшивка в программе hugin. Хороша та программа, которую ты лучше знаешь, с ней получаются и лучшие результаты. Возможно, интерфейс других программ кому-то нравится больше, однако по функциональности вряд ли есть другая программа, превосходящая hugin, хотя, возможно, есть и не уступающие. Открываем вторую закладку программы и загружаем снимки. Поскольку камера не записывает данные о насадке в EXIF, то надо перейти на третью закладку " Камера и объектив" и вручную задать параметры объектива или загрузить этот файл. Предлагаемые параметры объектива носят приближенный характер, и после удачной оптимизации панорамы, снятой вашим конкретным объективом, надо будет не забыть сохранить новое описание параметров объектива. В случае использования объектива Пеленг переходим на четвертую закладку" Кадрирование" и обрезаем углы. Если необходимо убрать что-то случайно попавшее на один из кадров, то можно воспользоваться пятой закладкой "Маска". Альтернативное решение: на последней закладке "Сборка панорамы" ставим галочку в пункте "перепроецированные снимки" и затем в гафическом редакторе загружаем в новый слой правильный снимок и с помощью маски сводим его фрагмент с остальной панорамой. Возвращаемся на вторую закладку "Снимки" и запускаем модуль автоматической расстановки контрольных точек - CPFind. Обращаю внимание, что в выпадающем меню, можно выбрать несколько режимов работы этой подпрограммы. Переходим на шестую вкладку "Контрольные точки" и удаляем лишние и добавляем необходимые, если автоматика плохо справилась со своей задачей. Открываем закладку "Оптимизация" и запускаем выбрав пункт "Позиции (с приращением, начиная с фиксированного снимка). Если параметры объектива заданы приблизительно, то стоит попытаться улучшить результат, выбрав следующие пункты: "Позиция и вид", "Позиции и бочку", "Позиции, вид и бочку" и " Все без переноса". Если точка вращения выбрана правильно, то пункты с "переносом" только ухудшат результат. Открываем закладку "Экспозиция" и запускаем выравнивание кадров по экспозиции и балансу белого. Если панорама снята с постоянной экспозицией для всех кадров, то эта операция необходима в основном для устранения виньетирования. Нажимем кнопку "Просмотр панорамы с аппаратным ускорением" и на вкладке "Проекция" выбираем - Эквидистантная. При необходимости на вкладке "Перемещение на плоскости проекции" выравниваем горизонт. Возвращаемся в окно основной программы и открываем последнюю закладку "Сборка панорамы". Проверяем, что в графе поле обзора стоят цифры 360 и 180 градусов. Нажимаем кнопку "Рассчитать оптимальный размер". Если съемка велась без экспозиционной вилки, то ставим галочку в первом пункте "Коррекция экспозиции, узкий динамический диапазон". Нажимаем кнопку "Собрать сейчас" и ждем минут десять результата. 3. Корректировка экспозиции полученной панорамы и при желании тональное отображение. Поскольку если входящие файлы у нас были 16-битные TIFF, то и на выходе у нас будет 16-битный файл. Так что выбор программ, которые с ним могут работать, не так уж велик. Можно использовать какой-нибудь из полнофункциональных графических редакторов типа CinePaint или Krita. Свободных программ с подобной функциональностью для Windows я, откровенно говоря, не знаю. Так что скорее всего придется заплатить за какой-то из коммерческих продуктов. В Linux можно воспользоваться и более простыми средствами типа программы Fotoxx. С коррекцией и тоновоспроизведением он справляется прекрасно. К сожалению, размеры получаемых файлов оказываются столь большими, что в окне изменения размера не хватает значащих цифр. То есть файл можно откорректировать и сохранить без изменения размера. Конечно, есть вариант задать размер в процентах, но это не всегда удобно, а вот в пикселях уже не получится. Если нужен более изощренный алгоритм тонального отображения, то можно воспользоваться программой Luminance HDR. 4. Ретушь надира и зенита. Для этого нам нужно полученную панораму из эквидистантной проекции преобразовать в кубическую. Это можно сделать либо программой SaladoConverter, либо пакетом программ Panotools-Script . Запускаем скрипт "erect2cubic": erect2cubic --erect=panorama.tif --ptofile=cube_project.pto Получаем на выходе файл cube_project.pto. Это файл настроек hugin для преобразования из эквидистантной в кубическую проекцию с помощью программы "nona". Запускаем ее: nona -o cube_prefix cube_project.pto Panotools-Script при необходимости позволяет после ретуши верхнего и нижнего квадратов преобразовать снова в эквидистантную проекцию. Это можно сделать с помощью программы "cubic2erect": cubic2erect front.tif right.tif back.tif left.tif up.tif down.tif equirectangular.tif [cubic2erect cube_prefix0000.tif cube_prefix0001.tif cube_prefix0002.tif cube_prefix0003.tif cube_prefix0004.tif cube_prefix0005.tif equirectangular.tif] Подробнее см. в статье "Сферические панорамы". 5. Для демонстрации сферической панорамы на локальной машине можно воспользоваться программой Panini. программа уже пару лет не обновляется, но пока достойно отвечает на все вызовы времени. Для презентации же в Интернете я предлагаю использовать программу SaladoPlayer. Недавно вышла версия 1.2 программы. Похоже все мелкие проблемы связанные с привязкой панорам к картам бывшие в версии 1.0 устранены. Появилась возможность выводить паралельно на экран карту Google и привязывать к ней панораму. Подробнее о разных способах представления сферических панорам я писал в статье "Обзор нескольких способов представления сферических панорам". Отмечу, что в случае съемки 16 мм объективом панорама получается размером 19452 х 9726 пикселей в эквидистантной проекции, что по детализации эквивалентно снимку 180 Мп камерой. Это означает, что для просмотра столь больших файлов без использования технологии типа Deep Zoom уже не обойтись. При просмотре панорам на сенсорных планшетах под управлением ОС Android перемешать панораму пальцем удается обычно только включив полноэкранный режим. При этом, правда, масштабирование двумя пальцами не работает. В обычном режиме большинство обозревателей интернета дуреют, не понимая, что от них хотят. Здесь можно посмотреть панораму, снятую объективом с фокусным расстоянием 16 мм, а здесь с той же точки панораму, снятую с использованием этого объектива и насадки Sony VCL-ECF1. В последнем случае реализована и возможность привязки к карте Google. P.S.Итак инструмент создан, осталось научиться им эффективно пользоваться. Для статичных объектов установка позволяет получить детализацию снимка лучшую, чем теоретически возможно достигнуть с помощью единственного снимка с самым лучшим объективом и матрицей. Фактически мы не зависим от аппарата. Какой бы матрицей не обладал аппарат мы всегда можем подобрать объектив и запрограммировать установку таким образом, чтобы получить сколь угодно детализированную фотографию. Это конечно не значит, что нам все равно, какой аппарат использовать. Время съемки, возможность снимать при недостатке освещения и, конечно, удобство, безусловно, от него зависят. Однако маленькая матрица не всегда зло в нашем случае, и почти совпадающий по габаритам с Sony NEX-5 Nikon J1 может лучше подойти данной установке в силу большей глубины резкости и заявленных возможностей полноценного дистанционного управления. Однако вернемся к нашим баранам. Фотограф, вышедший на съемку с вышеописанной установкой, всегда имеет выбор между съемкой панорамы с насадкой и без. Насадка легкая и, следовательно, карман не тянет. Переход из одного режима в другой занимает от силы минуту. Однако критерием выбора является не только желаемый размер панорамы. Предположим, для демонстрации в интернете нам нужна панорама размером в эквидистантной проекции 10000 х 5000 пикселей. Подобная панорама может быть теоретически получена как с использованием объектива рыбий глаз , так и с широкоугольным объективом. Оценим плюсы и минусы. Плюсы объектива рыбий глаз:
Минусы объектива рыбий глаз:
Плюсы широкоугольного объектива:
Минусы широкоугольного объектива:
Попытаюсь применить выше указанные соображения к типичным задачам. Например, надо снять интерьер зала или музея. В этом случае самый критичный минус широкоугольника - возможность появления кадра, в котором нельзя расставить контрольные точки, отсутствует. Значит выбор очевиден, снимаем широкоугольником. Но все не так просто - в помещении может оказаться существенным моментом глубина резкости, а света, как назло, мало и сильно объектив не задиафрагмируешь. Второй пример - пейзаж, где половину сферы занимает небо. Опять же все ясно снимаем объективом Рыбий глаз. Однако и здесь есть нюансы. Если Солнце на небе, то в случае широкоугольника пропадет только маленький кусок сферы, который можно и подрисовать, как и нарисовать безоблачное голубое небо в тех случаях, когда не удалось расставить контрольные точки. Если нужно получить панораму максимального качества невзирая на временные затраты, то эффективным приемом может стать не только съемка с экспозиционной вилкой и вилкой по точке фокусировки, но съемка панорамы двумя объективами. Например при съемке гигапиксельной панорамы города, может оказаться актуальным совместить здания на горизонте, снятые одним объективом, с небесной полусферой, снятой другим. При совмещении сферических панорам, снятых разными объективами, надо иметь ввиду, что для совмещения разных участков можно преобразовывать панорамы в разные проекции. Надир и зенит удобно совмещать в кубической проекции, а объекты на горизонте в эквидистантной или цилиндрической. Проблемой, впрочем, может стать то, что компьютер будет надолго задумываться или вообще откажется работать, сославшись на отсутствие памяти или мощности процессора. Кубическая проекция позволяет в 6 раз уменьшить размер, но надо помнить, что при ретуши лучше не приближаться к граням а общая коррекция должна проводиться со всеми 6 гранями с абсолютно идентичными параметрами. Да и не любая программа способна переварить такие гигантские фотографии. Geeqie c 32 битной операционной системой показывать 180 Мп панораму отказался, а на той же машине, но с 64 битной операционной системой согласился :-) Поэтому напомню, что для работы с большими фотографиями есть и специальные программы, например, nip2 . 02.10.2011
Установите проигрыватель Flash
|
Облако тегов:
...
|