Введение
Комбинирование нескольких фотографических изображений с перекрывающимися полями обзора
Сшивание изображений, или фотосшивание, — это процесс объединения нескольких фотографических изображений с перекрывающимися полями обзора для создания панорамы или изображения высокого разрешения. Как правило, это выполняется с помощью компьютерного программного обеспечения. Большинство методов сшивания изображений требуют почти точного перекрытия и одинаковой экспозиции для получения бесшовного результата, хотя некоторые алгоритмы сшивания могут использовать изображения с разной экспозицией для создания изображений с высоким динамическим диапазоном в областях перекрытия. Некоторые цифровые камеры способны выполнять сшивку фотографий непосредственно в камере.
Процесс
Процесс склейки изображений можно разделить на три основных компонента: регистрация изображений, калибровка и объединение.
Алгоритмы сшивания изображений
Для оценки выравнивания изображений требуются алгоритмы, определяющие подходящую математическую модель, связывающую координаты пикселей в одном изображении с координатами пикселей в другом. Алгоритмы, сочетающие прямое сравнение пикселей с градиентным спуском (и другими методами оптимизации), могут использоваться для оценки этих параметров. Можно находить отличительные признаки в каждом изображении и затем эффективно сопоставлять их для быстрого установления соответствий между парами изображений. При наличии нескольких изображений в панораме разработаны методы для вычисления глобально согласованного набора выравниваний и эффективного определения перекрывающихся изображений. Необходима итоговая композитная поверхность, на которую можно деформировать или проективно преобразовать и разместить все выровненные изображения, а также алгоритмы для бесшовного смешивания перекрывающихся изображений, даже при наличии параллакса, дисторсии объектива, движения сцены и разницы в экспозиции.
Проблемы с сшиванием изображения
Поскольку освещение на двух снимках не может быть гарантированно идентичным, склейка двух изображений может привести к появлению заметного шва. Другой причиной появления швов могут быть изменения фона между двумя снимками при одном и том же непрерывном переднем плане. К другим важным проблемам, которые необходимо учитывать, относятся наличие параллакса, искажения объектива, движение сцены и разница в экспозиции. В реальных условиях интенсивность меняется по всей сцене, равно как и контрастность и яркость между кадрами. Кроме того, необходимо учитывать соотношение сторон панорамного изображения для создания визуально привлекательной композиции. Для склейки панорам оптимальный набор изображений должен иметь разумный процент перекрытия (не менее 15–30%), чтобы компенсировать искажения объектива и обеспечить достаточное количество обнаруживаемых признаков. Этот набор изображений должен иметь согласованную экспозицию между кадрами, чтобы минимизировать вероятность появления швов.
Обнаружение ключевых точек
Обнаружение признаков необходимо для автоматического поиска соответствий между изображениями. Для оценки необходимого преобразования, чтобы выровнять изображение с изображением, на которое оно накладывается, требуются устойчивые соответствия. Углы, области, углы Харриса и разности гауссиан углов Харриса – хорошие признаки, поскольку они воспроизводимы и различимы. Один из первых операторов для обнаружения ключевых точек был разработан Хансом П. Моравеком в 1977 году для его исследований, связанных с автоматической навигацией робота в зашумленной среде. Моравек также определил понятие "точек интереса" в изображении и пришел к выводу, что эти точки интереса могут быть использованы для поиска соответствующих областей в разных изображениях. Оператор Моравека считается детектором углов, поскольку он определяет точки интереса как точки, где наблюдаются большие изменения интенсивности во всех направлениях, что часто встречается на углах. Однако Моравеку было интересно не столько находить углы, сколько выделять отличительные области изображения, которые можно использовать для регистрации последовательных кадров. Харрис и Стивенс усовершенствовали детектор углов Моравека, непосредственно рассматривая дифференциал оценки угла относительно направления. Им это требовалось как этап обработки для построения интерпретаций окружающей среды робота на основе последовательностей изображений. Как и Моравеку, им был нужен метод сопоставления соответствующих точек в последовательных кадрах, но они были заинтересованы в отслеживании как углов, так и границ между кадрами. SIFT и SURF – современные алгоритмы обнаружения ключевых точек или точек интереса, однако стоит отметить, что SURF запатентован, и его коммерческое использование ограничено. После обнаружения признака можно применить метод описания, например, дескриптор SIFT, для последующего сопоставления.
Регистрация
Регистрация изображений включает в себя сопоставление признаков в наборе изображений или использование методов прямого выравнивания для поиска выравниваний изображений, минимизирующих сумму абсолютных разностей между перекрывающимися пикселями. При использовании методов прямого выравнивания для достижения лучших результатов изображения можно предварительно откалибровать. Кроме того, пользователи могут предоставить грубую модель панорамы, чтобы помочь этапу сопоставления признаков, например, ограничивая поиск совпадающих признаков только соседними изображениями. Поскольку для сопоставления рассматривается меньшее количество признаков, результат поиска становится точнее, а процесс сравнения – быстрее. Для оценки устойчивой модели на основе данных широко используется метод, известный как RANSAC. Название RANSAC является аббревиатурой от "RANdom SAmple Consensus" (случайный выбор согласия). Это итеративный метод для надежной оценки параметров, позволяющий подогнать математические модели к наборам наблюдаемых точек данных, которые могут содержать выбросы. Алгоритм является недетерминированным, то есть выдает приемлемый результат лишь с определенной вероятностью, которая возрастает с увеличением числа итераций. Тот факт, что это вероятностный метод, означает, что при каждом запуске алгоритма будут получены разные результаты. Алгоритм RANSAC нашел широкое применение в компьютерном зрении, включая одновременное решение задачи установления соответствий и оценку фундаментальной матрицы для пары стереокамер. Основное предположение метода заключается в том, что данные состоят из "входящих" точек, то есть точек, распределение которых можно объяснить некоторой математической моделью, и "выбросов" – точек, не соответствующих этой модели. Выбросы рассматриваются как точки, возникающие из-за шума, ошибочных измерений или просто некорректных данных. Для задачи оценки гомографии RANSAC пытается подогнать несколько моделей, используя различные пары точек, а затем проверяет, способны ли эти модели установить соответствие между большинством точек. Лучшая модель – гомография, обеспечивающая наибольшее количество правильных соответствий – выбирается в качестве решения задачи; таким образом, если отношение числа выбросов к общему числу точек данных достаточно мало, RANSAC выдает адекватную модель, хорошо описывающую данные.
Калибровка
Калибровка изображения направлена на минимизацию расхождений между идеальной моделью линзы и фактической комбинацией линз камеры, а также на устранение оптических дефектов, таких как дисторсия, разница в экспозиции между изображениями, виньетирование, отклик камеры и хроматические аберрации. Если для регистрации изображений использовались методы обнаружения ключевых точек, и абсолютные координаты этих точек были записаны и сохранены, программное обеспечение для склейки может использовать эти данные для геометрической оптимизации изображений, помимо их размещения на панораме. Panotools и различные программы, основанные на нем, используют этот метод.
Композиция
Композиция — это процесс, в котором скорректированные изображения выравниваются таким образом, чтобы казаться одним кадром сцены. Композиция может быть выполнена автоматически, поскольку алгоритм теперь знает, какие соответствия совпадают.
Проективные макеты
Для сегментов изображения, полученных с одной и той же точки пространства, сшитые изображения можно компоновать, используя одну из различных картографических проекций.
Прямолинейный
Прямолинейная проекция, при которой сшитое изображение просматривается на двухмерной плоскости, пересекающей паносферу в одной точке. Линии, прямые в реальности, отображаются как прямые, независимо от их направления на изображении. Широкие обзоры, примерно в 120° и более, начинают демонстрировать сильные искажения вблизи краев изображения. Одним из вариантов прямолинейной проекции является использование граней куба с кубическим отображением для просмотра панорам. Панорама проецируется на шесть квадратов, при этом каждая грань куба отображает область панорамы размером 90 на 90 градусов.
Цилиндрические
Цилиндрическая проекция, при которой сшитое изображение демонстрирует горизонтальный угол обзора в 360° и ограниченный вертикальный угол обзора. Панорамы в этой проекции предназначены для просмотра так, как будто изображение обернуто вокруг цилиндра и рассматривается изнутри. При просмотре на двухмерной плоскости горизонтальные линии кажутся искривленными, а вертикальные линии остаются прямыми. Вертикальные искажения быстро нарастают по мере приближения к верхней части паносферы. Существуют и другие цилиндрические форматы, такие как проекции Меркатора и Миллера, которые имеют меньшие искажения вблизи полюсов паносферы.
Сферическая
Сферическая проекция или эквиректоангулярная проекция — которая, строго говоря, является разновидностью цилиндрической проекции — в которой сшитое изображение отображает поле зрения в 360° по горизонтали и 180° по вертикали, то есть всю сферу. Панорамы в этой проекции предназначены для просмотра так, словно изображение обернуто вокруг сферы и рассматривается изнутри. При просмотре на двухмерной плоскости горизонтальные линии кажутся изогнутыми, как и в цилиндрической проекции, а вертикальные линии остаются прямыми. Названа в честь итальянского художника-ведутти Джованни Паоло Панини или проекции Vedutismo в PTgui. Для точной настройки внешнего вида итогового изображения в одном изображении можно комбинировать различные проекции.
Стереографический
Стереографическая или широкоугольная (рыбий глаз) проекция может быть использована для создания панорамы «маленькой планеты», направив виртуальную камеру строго вниз и установив достаточно широкое поле зрения, чтобы охватить всю землю и часть пространства над ней; направление виртуальной камеры вверх создаёт эффект туннеля. Благодаря конформности стереографическая проекция может дать более визуально привлекательный результат, чем равновеликая широкоугольная проекция, как обсуждается в статье о стереографической проекции.
Артефакты
Использование изображений, сделанных не с одной точки (с вращением вокруг входного зрачка камеры), может привести к ошибкам параллакса в конечном результате. При съемке сцен с быстрым или динамичным движением могут возникать артефакты из-за разницы во времени между отдельными фрагментами изображения. Автоматическое "склеивание" изображений с использованием методов выравнивания по ключевым точкам (см. Автосшивание), в отличие от ручного выбора и склеивания, может приводить к дефектам при создании панорамы.
Программное обеспечение
Специальные программы включают Autostitch, Hugin, Ptgui, Panorama Tools, Microsoft Research Image Composite Editor и CleVR Stitcher. Многие другие программы также могут склеивать несколько изображений; популярным примером является Adobe Systems' Photoshop, который включает в себя инструмент, известный как Photomerge, и, в последних версиях, новую функцию Auto Blend. Другие программы, такие как VideoStitch, позволяют склеивать видео, а Vahana VR обеспечивает склеивание видео в реальном времени. Модуль "Сшивание изображений" для программного обеспечения микроскопа QuickPHOTO позволяет интерактивно соединять несколько полей зрения микроскопа, используя изображение с камеры в реальном времени. Его также можно использовать для ручного склеивания целых микроскопических образцов.