ОПТИМИЗАЦИЯ И РЭНДЕРИНГ ПАНОРАМ
После того, как контрольные точки расставлены, можем приступить к процессу оптимизации. Что есть оптимизация? Поскольку эта статья рассчитана на тот круг любителей панорамной фотографии, кто стремиться достичь вершин мастерства, то без небольшой теории в этом вопросе не обойтись.
Подразумевается, что читатель уже не только ознакомился, а постарался вдумчиво разобраться с принципами работы Panorama Tools на сайте Панорамный мир А. Назарова.
Данная статья содержит практические
рекомендации, о том как сделать грамотою оптимизацию проекта, с целью получения
минимального отклонения координат контрольных точек и свести к минимуму ретушь
результата.
Основы и принципы оптимизации на сайте Панорамный мир освещены в цикле статей Пакет программ PanoTools . Далее я буду ссылаться и цитировать эти статьи.
Итак начинаем. К.т. установлены в достаточном количестве, и присутствуют на всех стыкуемых изображениях. Результат первой оптимизации нас не устраивает, отклонения большие и картинка в окне Panorama Editor нам не нравится. В качестве наглядного примера, рассмотрим панораму сделанную Олегом Гапонюк (Olevka) с летящего вертолёта, её я приводил в качестве примера на станице Smartblend, начало работы с плагином
Загрузить архив с примерами Загрузить с зеркала
Правой кнопкой на ссылке – сохранить как…
При попытке собрать панораму в автоматическом режиме получаем весьма неприглядный результат:
Давайте посмотрим, как генератор установил к.т., нажимаем на закладку Control Points и видим следующую картину:
Есть небольшая проблема – на ближнем плане к.т. имеются, а на дальнем их нет. В ручном режиме устанавливаем к.т. на дальний план. Руководствуемся принципом – более равномерно заполнить зону перекрытия:
Проект на этапе установки к.т.
- manual_01.pts в архиве с примерами.
Оптимизацию будем проводить в несколько этапов. Сначала задать самые мягкие условия оптимизации, с последующим ужесточением требований. Почему так? Даже невооружённым взглядом, видно, что на стыкуемых изображениях присутствует параллакс. Съёмка производилась с движущегося вертолёта и ни о каком соответствии в зоне стыковки не может быть и речи! В данной ситуации, нам потребуется МИНИМИЗИРОВАТЬ отклонения между стыкуемыми точками.
Задав сразу жёсткие условия оптимизации можем загнать оптимизатор в режим состояние устойчивости и картинка в окне Panorama Editor «свернётся в точку», наверное уже сталкивались с таким неприятным фактом.
У нас есть возможность использовать два оптимизатора PTGui и Panorama Tools:
В чём их отличие? Оптимизатор PTGui более устойчив, при значительных отклонениях к.т. а оптимизатор Panorama Tools – даст меньшее отклонение. Поэтому я рекомендую на начальном этапе использовать оптимизатор PTGui постепенно задавая более жёсткие параметры оптимизации и в конечном результате перейти к оптимизатору Panorama Tools. Но этим принципом лучше руководствоваться при оптимизации с незначительными отклонениями значений к.т. Например, в нашем варранте нет смысла использовать оптимизатор Panorama Tools. В данной ситуации нам следует добиваться не минимальных отклонений, а совокупности минимизировать отклонение значений к.т. одновременно контролируя искажения панорамы. Начинаем оптимизировать с режима применив вот такие установки:
Оттенён фрагмент закладки Lens Setting. В результате увидим картинку (выше справа) в окне Panorama Editor, на мой взгляд, совсем даже «не страшную». Отклонение к.т. не очень хорошие:
Что нам мешает? Переходим на закладку Control Points:
Анализируем ситуацию. Сортируем к.т. по отклонению. Всё ясно! Промазал при установке дополнительной к.т №24. Решение – удалить. После удаления этой точки видим, что точка с максимальным отклонением 71,402 установлена на своё место:
Повторная оптимизация уже с параметрами:
Оттенен
скриншот закладки Lens Setting, активирован индивидуальный сдвиг параметров для обеих изображений.
Для всех изображений легко выделить двойным кликом, по кнопке Shift
и так же, убрать. Применять индивидуальные
параметры для каждой линзы, следует осторожно! Если съёмка велась действительно
с одной и той же линзой, то при наличии искажений параллакса могут возникнуть
значительные искажения на панораме. При данном варианте оптимизации отклонения получились
порядка 56 пикселов. Как видим по
результату в окне Panorama Editor – пришлось «дотянуть» верхний левый угол на изображении №2.
Предлагаю на этом и закончить оптимизацию. Подогнать регуляторами размер рамки,
выставить желаемый размер и отрендерить панораму.
Давайте подробнее рассмотрим поле Use individual parameters , расположенное на закладке Lens Setting:
Устанавливать-снимать флаг на чекбоксе, двойным кликом левой кнопки мыши.
Установить-удалить флаги на всю строку или столбец, двойным кликом, по названию, соответствующей группы:
Что даёт параметр Shift? Прямое назначение – исправить ошибку сдвига оптического центра оптики относительно центра матрицы. Так как мы используем радиальное преобразование координат, то подразумевается, что они должны совпадать. На практике, установка этого флага позволяет значительно снизить отклонение при сборке многорядных панорам и панорам, снятых с рук. Использую в подавляющем числе случаев.
Установка флага Shear даёт возможность корректировать наклон матрицы, относительно оптической оси линзы. Разработчик рекомендует использовать его для изображений полученных при сканировании, когда плоскость сканирования не параллельна матрице. При практическом использовании, этот параметр никакого воздействия не оказывает. Это связано с тем, что современные камеры довольно точно соблюдают этот параметр. В отличии от совпадения оптического центра объектива и центра матрицы. Такие случаи рассматриваются в статье CROP (обрезка).
На что следует обратить внимание. После каждой последующей оптимизации, при наличии больших отклонений связанных с ошибками параллакса получаем разный результат. Это связано ч тем, что в такой ситуации оптимизатор неустойчив и даёт неоднозначное решение. Поэтому следует оптимизировать осторожно, желательно сохранять промежуточные результаты. В том случае, когда съёмка велась с пан. головки, т.е., ошибки параллакса минимальны, то можно подойти к результату, когда оптимизатор даёт устойчивый результат.
Как уже
некоторые обрати внимание, перед оптимизацией ч не вводил предварительно
вычисленные коэффициенты. Почему? В данном случае, они не требуются. Искажения
параллакса вносят такое отклонение, что от них никакого прока нет. Когда же их
применять? Ответ – в основном для фишаев и создания шаблонов проектов сделанных
фишаями. Для фишаев, и для всей широкоугольной оптики они важны. Почему? Уравнение
преобразовании координат имеет вид степенного полинома:
(x,y) = a f (x0,y0) + b f (x0,y0)² + c f (x0,y0)³
В Panorama Tools используется полином не выше третьей степени. Коэффициенты a,b,c - соответственно относятся к линейной, квадратичной и кубической составляющей полинома. Обратим внимание на наш пример. Тот, кто его повторил, видимо уже заметил, что при каждой оптимизации эти коэффициенты изменяются. А в результате получилось: a=0 , b=0,0xxxxx, c=0. то связано с тем, что мы применяли линейную оптику (EXIF присутствует). В случае применения более широкоугольной оптики и фишаев коэффициент c будет не равен нулю.
В котором же из случаев применять эти коэффициенты. Как показала практика, они годятся только для программы PTLens, использующей движок Panorama Tools…. Почему так? Для преобразования координат приходится учитывать наклоны и повороты изображений относительно друг друга. Особенно при многорядной съёмке. Поэтом у я рекомендую использовать эти коэффициенты только для оптимизации проекта, который впоследствии будет сохранён как шаблон template. Что нам даст образец? Если Вы повторите последовательность съёмки, то после применения шаблона картинки приблизятся к требуемым позициям и в закладке Image Parameters:
Можете увидеть,
что значения наклонов-поворотов уже имеют значения близкие к финальным. Этот
момент значительно сужает область поиска коэффициентов! Причём, их значения
гораздо ближе, к результату, чем значения коэффициентов преобразования
вычисленных без наклонов поворотов.
Резюме: ШАБЛОНЫ!!!!
Присвойте
шаблону имя связанной с типом применяемой оптики, числом кадров и типом панорамы. Наступит большое
облегчение!
Едем
дальше.
Купили
фишай или сверхширокоугольник. С чего начать?
С
банальной калибровки.
Как её сделать? Просто.
Прежде всего понадобится панорамная головка. Калибруя широкоугольник не удаётся уйти от ближних планов и параллакс испортит результат. На крайний случай отвес.. Делаем два кадра с 50% перекрытием. Что это нам даёт? Мы получаем область изменения координат от центра кадра до его края, т.е. всю область преобразования. Так гораздо легче определить функцию преобразования и устойчивость оптимизатора возрастёт.
В случае
применения фишаев, т.е оптики типа Circular, не забываем использовать соответствующий кроп! Вспоминаем важные моменты из соответствующего раздела! Определение зоны кропа и
его центра.
Снимать такие кадры следует без наклонов, поворачивая камеру строго в горизонтальной плоскости. Сюжет следует выбрать сюжет где присутствуют мелкие и контрастные детали.
При первой оптимизации проекта, в котором использованы изображения сделанные фишаем, следует применить коэффициенты вычисленные для пары кадров с 50% перекрытием. Оптимизацию проводить по шагам, постепенно устанавливая более жёсткий режим. Так как описано в начале статьи. В данной ситуации, очень желательно добиться вердикта – very good Далее сохранить проект как шаблон.
После применения шаблона, значения коэффициентов и кропа будут установлены автоматически, и можете сражу использовать оптимизацию с максимально жёсткими условиями!
Затруднения
могут возникнуть при использовании камер с полноформатным 35мм кадром.
Естественно, такой кадр охватывает периферийные зоны, скрытые на камерах с APSC
матрицей. ______________________________________________________________________________________________________________________________________