Программы сборки панорам
Программа сборки цифровых панорам — это рабочая лошадка процесса изготовления панорамы. Такие программы могут быть полностью автоматическими, а могут требовать занимающей время ручной работы. Это вторая часть данной главы, которая подразумевает, что все кадры, необходимые для сборки панорамы, уже сделаны (первый этап закончен); руководство по первому этапу и обзор процесса сборки в целом читайте в первой части руководства по цифровым панорамам.
Этап 1 | Настройка оборудования и съёмка серии |
---|---|
Этап 2 | Выравнивание снимка и ввод характеристик камеры и объектива |
Этап 3 | Выбор перспективы и типа проекции |
Этап 4 | Сдвиг, поворот и изменение перспективы снимков с целью соответствия требованиям этапов 2 и 3 |
Этап 5 | Ручное или автоматическое наложение швов |
Этап 6 | Кадрирование, ретушь и пост-обработка |
Типы программ сборки панорам
Чтобы начать обрабатывать нашу серию кадров, нам нужно выбрать подходящую программу. Максимальное отличие между вариантами состоит в том, где проходит граница между автоматикой и гибкостью. Вообще говоря, полностью настраиваемая программа сборки всегда достигает лучшего качества, чем автоматические пакеты, но это может означать также перебор по затратам технических усилий или времени.
Данная глава призвана повысить понимание большинства концепций, согласно которым работают программы сборки панорам, сохраняя при этом максимально общий подход, хотя обзор функций ссылается на конкретную программу PTAssembler (интерфейс к PanoTools или PTMender). PTAssembler позволяет сделать полностью автоматическую сборку в одно касание, а также практически полную настройку параметров сборки, доступных в других программах.
На момент написания данной статьи существовали также и другие достойные упоминания программы, включая поставляемые в комплекте с камерой, такие как Canon PhotoStitch, или популярные коммерческие пакеты, такие как Autostitch, Arc Soft Panorama Maker, Panorama Factory и PanaVue, помимо прочих.
Этап 2: контрольные точки и выравнивание снимков
Программы сборки панорам используют пары контрольных точек для определения участков двух снимков, которые относятся к одной и той же точке пространства. Пары контрольных точек могут быть выбраны вручную путём визуальной проверки или созданы автоматически с использованием комплексных алгоритмов (таких как Autopano для PTAssembler). Для большинства фотографий наилучшие результаты можно получить только выбором контрольных точек вручную (что зачастую является наиболее затратным по времени этапом сборки панорамы).
Вышеприведенный пример показывает выбор четырёх пар контрольных точек для снимков в панораме. Наилучшими являются те контрольные точки, которые основаны на неподвижных объектах с чёткими границами или мелкими деталями и распределены равномерно и широко по каждой из зон перекрытия (по 3-5 точек и более на каждую зону). Это означает, что контрольные точки в кронах деревьев, облаках или воде крайне не рекомендуются, кроме случаев, когда других вариантов просто нет. По этой причине рекомендуется всегда иметь в кадре часть твёрдой поверхности или статических объектов в зонах перекрытия всех пар снимков, иначе выбор контрольных точек может оказаться сложным и неточным (как в случае с панорамами, которые целиком состоят из неба или воды).
Следующий пример демонстрирует ситуацию, в которой единственной детальной и статичной частью изображения является рельеф земной поверхности в самом низу — тем самым затрудняя равномерное распределение контрольных точек по зоне перекрытия. В таких случаях автоматический выбор контрольных точек может оказаться более точным.
PTAssembler имеет функцию автоматического микропозиционирования контрольных точек, которая работает, используя заданные вами контрольные точки в качестве первого приближения и затем проверяя смежные пиксели на заданной дистанции (например, 5 пикселей) для поиска лучшего совпадения. При сборке сложных облачных сцен наподобие показанной выше это эффективно сочетает преимущества ручного выбора контрольных точек с мощностями автоматических алгоритмов.
Ещё одним соображением является величина физического удаления контрольной точки от камеры. Для панорам, снятых без использования панорамной головки, ошибка параллакса для объектов переднего плана может оказаться велика, поэтому более точные результаты могут быть получены только по дальним объектам. Любая ошибка параллакса в ближнем переднем плане может оказаться незаметной, если объекты переднего плана не расположены в зоне перекрытия снимков.
Этап 3: точка схождения перспективы
Большинство программ сборки панорам предоставляют возможность задать точку схождения перспективы, а также тип проекции изображения.
Аккуратный выбор точки схождения поможет избежать наклона вертикальных линий (которые в норме выглядят параллельно) или волнистого горизонта. Точка схождения обычно находится там, куда смотрел бы человек, находясь в точке обзора панорамной сцены. Для архитектурных панорам, таких как следующий пример (кадрирование 120° из прямоугольной проекции), эта точка чётко прослеживается по линиям на расстоянии, которые параллельны линии зрения.
Неверное позиционирование точки схождения приводит к тому, что начинают сходиться линии, которые лежат в плоскостях, перпендикулярных линии зрения (хотя в норме они должны были бы оставаться параллельными). Этот эффект также можно наблюдать при использовании в архитектурной съёмке широкоугольного объектива и значительном наклоне камеры выше или ниже линии горизонта — создавая тем самым впечатление накренившихся зданий.
наведите курсор на изображение, чтобы увидеть слишком низкую точку схождения
Точка схождения также критична в сверхширокоугольных панорамах в цилиндрической проекции (таких как круговой обзор, показанный ниже). Её неверное положение может вызвать искажение перспективы, порождающее кривой горизонт.
Если точка схождения расположена слишком высоко, загиб горизонта примет противоположное направление. Порой бывает сложно найти действительный горизонт в связи с присутствием холмов, гор, деревьев или других помех. Для таких сложных сценариев положение горизонта должно быть задано на такой высоте, при которой искривления минимальны.
Программы сборки панорам зачастую предоставляют возможность вращать воображаемый горизонт. Это может быть весьма полезно, когда фотография, содержащая точку схождения перспективы, была снята с завалом горизонта. Для такого случая даже при размещении точки схождения на нужной высоте горизонт может быть изображён как S-образная кривая, если воображаемый горизонт не выравнялся с реальным (на отдельном снимке).
Если сама панорама была снята с выставлением горизонта, наиболее прямым горизонтом станет такой, при котором вертикальный размер изображения будет наименьшим (и этот факт периодически применяют в программах сборки панорам).
Этап 4: оптимизация расположения кадров
После того как и контрольные точки, и точка схождения, и проекция изображения были выбраны, программа сборки панорам начинает выравнивать каждое изображение и изменять его перспективу, чтобы создать итоговую собранную фотографию. Зачастую этот шаг является наиболее вычислительно интенсивным во всём процессе. Он работает посредством систематического поиска комбинаций развёртки, сдвига и поворота снимков с целью минимизировать суммарную ошибку между всеми парами контрольных точек. Этот процесс может также скорректировать искажения перспективы, вносимые объективом, если они не были устранены ранее.
Развёртка | Сдвиг | Поворот |
---|---|---|
Заметьте, что показанные выше снимки несколько искажены, чтобы акцентировать тот факт, что в процессе позиционирования каждого снимка программа сборки корректирует его перспективу, и степень изменения перспективы зависит от положения снимка относительно точки схождения.
Ключевая метрика качества состоит в соблюдении среднего расстояния между контрольными точками. Если это расстояние велико относительно печатного размера, швы могут стать заметны вне зависимости от того, насколько хорошо они были наложены. Прежде всего нужно проверить, не случилось ли некорректного положения контрольных точек, чтобы они соответствовали принципам, перечисленным в описании второго этапа. Если среднее расстояние по-прежнему слишком велико, это может быть вызвано ошибками съёмки, в том числе ошибкой параллакса вследствие движения камеры или использования непанорамной головки.
Этап 5: ручное переопределение и наложение швов
В идеале фотошвы имеет смысл накладывать в неважных частях сцены или естественных границах. Если программа сборки поддерживает многослойный вывод, можно наложить их впоследствии с использованием маски в Фотошопе:
Без наложения | Ручное наложение | Маска ручного наложения |
Обратите внимание, что ручное наложение создаёт равномерное небо и исключает видимые скачки через геометрически выраженные архитектурные линии, включая полумесяц из колонн, передний ряд статуй и белое здание на заднем плане.
Для больших расстояний и гладких текстур, таких как небо, лучше использовать градиентные переходы. Для мелких деталей плавный переход может размыть изображение, если есть малейшее несовпадение кадров. Поэтому склеивать мелкие детали лучше всего короткими переходами в зонах, где отсутствуют легко заметные разрывы (посмотрите на маску ручноо наложения, чтобы увидеть, как были собраны небо и здания).
С другой стороны, ручное наложение швов может оказаться исключительно затратным по времени. К счастью некоторые программы сборки имеют автоматизированную функцию, которая позволяет сделать это прямо в процессе сборки, как описано в следующем разделе.
Этап 5: автоматическое перемещение и наложение швов
Один из наилучших способов наложения швов в собранной фотографии — это использовать метод сплайнов с разными разрешениями, который может порой вылечить даже плохо снятые панорамы и мозаики. Он работает посредством разбиения каждого кадра на несколько компонентов, аналогично тому как снимок в пространстве цветности RGB может быть разбит на отдельные каналы красного, синего и зелёного, за исключением того, что в данном случае каждый компонент представляет различный масштаб текстуры изображения. Мелкодетальные элементы (такие, как листва или лужайка) будут иметь высокое разрешение, тогда как крупномасштабные элементы (такие, как градиент чистого неба) называют низкоразрешёнными.
→ | Вид: | крупные текстуры | мелкие текстуры | |
Исходный чёрно-белый снимок | Обработанное изображение |
Сплайн по разным разрешениям эффективно сопрягает текстуры каждого размера независимо, а затем рекомбинирует их, чтобы создать нормально выглядящую фотографию. Это означает, что крупномасштабные (с низким разрешением) компоненты будут наложены плавным переходом на длинном участке, тогда как мелкодетальные компоненты (с высоким разрешением) будут сопряжены короткими переходами. Это решает распространённую проблему заметных прыжков в швах по гладким областям или размытия вокруг швов в мелких деталях.
В следующем примере мы демонстрируем кажущееся невозможным наложение яблока и апельсина — объектов, которые содержат различные крупномасштабные цвета и мелкодетальную текстуру.
Вид: | яблоко | апельсин | → | Переход: | граничный (обычный) |
сплайн по разрешениям |
Исходные снимки | Наложение |
Конечно такой переход апельсина в яблоко скорее всего не является замыслом собранной фотографии, но он помогает продемонстрировать истинную мощь этого метода.
наведите курсор на изображение, чтобы увидеть итоговый результат
Данный пример демонстрирует его применение на настоящей панораме. Обратите внимание, как заметно неравномерна яркость неба, которая была вызвана в-основном выраженным виньетированием (спадом освещённости на границах кадра, вызванным оптикой). Наведите курсор на изображение, чтобы увидеть, как хорошо справляется со своей задачей сплайн по разным разрешениям.
Smartblend и Enblend — это два встраиваемых инструмента, которые позволяют применять сплайн по разным разрешениям, используя PTAssembler и другие программы сборки панорам. Smartblend имеет дополнительное преимущество, будучи способен разумно размещать швы на основе содержания изображения.
Этап 6: заключительные штрихи
На этом этапе неравномерную форму сборки можно кадрировать, чтобы получить стандартное прямоугольное соотношение сторон или размер кадра. В дальнейшем в терминах пост-обработки собранная панорама может рассматриваться как любой одиночный снимок, в том числе к ней можно применять уровни или кривые. Что наиболее важно, итоговое изображение потребует применения маски нерезкости или другого метода повышения резкости, поскольку изменение перспективы (с использованием интерполяции изображений) и наложение внесут значительное сглаживание.
Основные концепции, используемые в этой статье, обсуждает
часть 1: «Цифровые панорамы: общие понятия и съёмка»,
а также статья о проекциях изображения