Ректификация изображений

advertisement
ПОСТРОЕНИЕ КАРТ СМЕЩЕНИЙ ПО
НЕРЕКТИФИЦИРОВАННЫМ
СТЕРЕОИЗОБРАЖЕНИЯМ
Корчемкин Д. А., студент СПбГУ, dmitriy.korchemkin@gmail.com
Салищев С. И., старший преподаватель кафедры информатики СПбГУ,
sergey.i.salishev@gmail.com
Аннотация
В данной работе описаны модификации алгоритмов
слепой ректификации стереоизображений и построения
плотных
карт
смещений
для
ректифицированных
изображений.
Введение
Построение карт смещений является предварительным этапом
решения многих практических задач в области компьютерного зрения и
компьютерной графики. Специфика различных задач накладывает
дополнительные
ограничения.
Появление
автостереоскопических
многоракурсных дисплеев, стереоскопических систем отображения с
отслеживанием взгляда и успехи в развитии голографических дисплеев
приводят к необходимости разработки алгоритмов подготовки
правдоподобных трехмерных моделей для отображения на этих
устройствах на основе стереоскопических изображений, снятых бытовой
фото и видео аппаратурой. Это приводит к отличиям в постановке задачи
от случая компьютерного зрения. Во-первых, изображения могут быть
сняты различными камерами, параметры которых неизвестны. Наличие
функции автоматической фокусировки приводит к изменению параметров
камеры во времени. Таким образом, необходима слепая калибровка камер.
Это также позволяет ректифицировать изображения, проектируя
эпиполярные лини на горизонтали, что упрощает алгоритмы построения
карт смещений. Во-вторых, карта смещений должна быть плотной,
поскольку даже точечные выбросы приводят к визуальным артефактам
отображения. В-третьих, изображения имеют высокое разрешение.
Библиотеки OpenCV[1] и Mathworks Computer Vision System
Toolbox[2] содержат функциональность для решения задач слепой
ректификации. При использовании этих алгоритмов на практике они
показали свою неустойчивость. В работе предлагаются модификации
алгоритма слепой ректификации для повышения его устойчивости.
Задача
построения
плотной
карты
смещений
решается
Колмогоровым[3] с помощью алгоритма глобальной оптимизации на
основе нахождения минимального разреза графа. На практике алгоритм
неприменим для изображений высокого разрешения из-за вычислительных
затрат. Гейгер[4] предлагает менее вычислительно сложный двухшаговый
алгоритм, во многих случаях дающий не худшие результаты, чем алгоритм
Колмогорова. Алгоритм Гейгера чувствителен к недостаточной плотности
опорных точек и к ошибке в смещении опорных точек. В работе
рассмотрена модификация алгоритма, устраняющая эти недостатки.
Ректификация изображений
Для слепой ректификации использовался алгоритм предложенный
Фузелло[5]. Этот алгоритм аналогичен алгоритмам из библиотек OpenCV и
Mathworks Computer Vision System Toolbox. Алгоритм состоит из 4 этапов:
выделение особых точек, сопоставление особых точек на паре
изображений, вычисление фундаментальной матрицы, факторизация
фундаментальной матрицы. Выделение особых точек осуществлялось с
помощью алгоритма SURF[6]. Вычисление фундаментальной матрицы
выполнялось с помощю алгоритма RANSAC[7]. При экспериментальной
проверке было установлено, что наличие среди найденных сопоставлений
неверных сильно влияет на результат ректификации. Для увеличения
устойчивости ректификации к неверным сопоставлениям использовалась
фильтрация особых точек исходя из предположения о том, что верные
сопоставления преобладают среди найденных и образуют на изображениях
группы, имеющие практически одинаковые размер и форму на обоих
изображениях
Кроме того, производится несколько решений задачи оптимизации с
различными начальными данными (фокусным расстоянием и углами
поворота) с целью выбора решения, лежащего в заданных границах.
Введём обозначения: 𝑚𝑖𝑙 = (𝑥𝑖𝑙 , 𝑦𝑖𝑙 ), 𝑚𝑖𝑟 = (𝑥𝑖𝑟 , 𝑦𝑖𝑟 ) (i = 1. . N) для
найденных с помощью SURF сопоставлений на левом и правом
изображениях соответственно; обозначим однородные координаты
сопоставлений 𝑚
̅ 𝑖𝑙 = (𝑥𝑖𝑙 , 𝑦𝑖𝑙 , 1), 𝑚
̅ 𝑖𝑟 = (𝑥𝑖𝑟 , 𝑦𝑖𝑟 , 1).
Фильтрация с помощью разбиения на кластеры
Для отсеивания неверных сопоставлений особые точки на одном из
изображений разбиваются на кластеры. Разбиение точек на кластеры
производилось с помощью алгоритма k-means для стандартного
расстояния на плоскости; оценка на число кластеров – √𝑁.
Обозначим С𝑗 – индексы сопоставлений, принадлежащих 𝑗-ому
кластеру, N𝑗 – количество сопоставлений, принадлежащих кластеру 𝐶𝑗 ;
𝑐𝑗𝑙 , 𝑐𝑗𝑟 (𝑗 = 1. . 𝑁𝐶 ) – центры кластеров на левом и правом изображениях;
расстояние между точками из сопоставления обозначим 𝑑𝑖 = ‖𝑚𝑖𝑙 − 𝑚𝑖𝑟 ‖; и
медиану расстояний для точек кластера 𝑀𝑗 = median{𝑑𝑖 |𝑖 ∈ 𝐶𝑗 };.
Расстояние до центра кластера на левом изображении 𝑑𝑖𝑙 = ‖𝑚𝑖𝑙 − 𝑐𝑗𝑙 ‖ (jиндекс кластера, которому соответствует сопоставление); расстояние до
центра кластера на правом изображении 𝑑𝑖𝑟 = ‖𝑚𝑖𝑟 − 𝑐𝑗𝑟 ‖; M𝑗𝑙 =
median{𝑑𝑖𝑙 |𝑖 ∈ 𝐶𝑗 }; M𝑗𝑟 = median{𝑑𝑖𝑟 |𝑖 ∈ 𝐶𝑗 }.
Исходя из предположения, что особые точки образуют сгущения на
изображении, сопоставление считается неверным, если:
 Сопоставление входит в кластер, размеры которого (M𝑗𝑙 и M𝑗𝑟 )
отличаются более чем в 𝑘1 раз
 Расстояние 𝑑𝑖 сопоставления, соответствующего
превосходит 𝑀𝑗 более чем в 𝑘2 раз
кластеру
𝑗,
Фильтрация по ошибке, вносимой точкой
Считая, что среди найденных сопоставлений преобладают верные,
Рисунок 1: Пример неверного сопоставления, которое будет
исключено при фильтрации путём разбиения на кластеры
предлагается производить ректификацию в несколько этапов, отсеивая
точки, вносящие наибольшую ошибку в промежутке между итерациями.
Рисунок 2: Пример результата ректификации
Поиск смещений
Для поиска смещений рассматривался алгоритм, предложенный
Гейгером. Алгоритм состоит из двух основных шагов: вычисление
смещений в опорных точках, и решение оптимизационной задачи для
вутренних точек треугольников треангулированной сетки опорных точек.
Алгоритм существенно выигрывает в производительности у глобальных
алгоритмов, но является чувствительным к выбору опорных точек.
Рассматривались пути улучшения работы этапа выбора опорных точек на
больших (>6Mpx) изображениях; изображения были предварительно
ректифицированы с помощью алгоритма, описанного выше.
Рисунок 3: Пример построенной карты смещений
Выбор дескриптора для точек изображения
Обозначив 𝐼 – интенсивности точек изображения, результаты свёртки
−1 0 1
оператором Собеля по горизонтали 𝑆𝑥 = 𝐼 ∗ [−2 0 2] ; результаты
−1 0 1
−1 −2 −1
свёртки оператором Собеля по вертикали 𝑆𝑦 = 𝐼 ∗ [ 0
0
0]
1
2
1
В качестве дескрипторов точек изображения были рассмотрены
значения 𝐼, 𝑆𝑥 , 𝑆𝑦 , а также – комбинированный дескриптор из 𝑆𝑥 , 𝑆𝑦 .
В качестве метрики схожести участков изображений использовалась
сумма модулей разности (SAD). Для оценки того, насколько качественно
дескриптор подходит для поиска смещений, использовался набор
изображений middlebury [8], содержащий ground truth.
Было установлено, что наилучшие результаты (в смысле доли верных
смещений, соответствующих минимуму) получаются при использовании
комбинированного дескриптора.
Использование информации о цвете
В ходе работы была проверена гипотеза о том, что использование
информации о цвете может привести к повышению плотности карты
смещений и повышению точности найденных смещений. На наборе
изображений middlebury (схожесть участков изображения определялась как
Рисунок 4: Пример построенной карты смещений
сумма схожести по каждому из каналов, которая, в свою очередь,
основывалась на описанном выше комбинированном дескрипторе)
показала, что с использованием информации о цвете уменьшается
количество точек, для которых совпадает смещение, задаваемое
минимумом SAD дескрипторов точки и её (возможного) образа на другом
изображении при поиске смещения слева направо и справа налево, но доля
точек, для которых смещение найдено верно, увеличивается; это может
быть полезно для нахождения опорных точек в рассматриваемом
алгоритме.
Заключение
В данной работе рассматриваются улучшения алгоритмов слепой
ректификации и построения плотных карт смещений по изображениям,
полученным бытовой фото и видео аппаратурой. В качестве тестового
стенда использовался автофокусный стереофотоаппарат Fujifilm Finepix
Real3D W3. В целом был получен удовлетворительный результат как на
изображениях, сделанных авторами, так и на сандартном тестовом наборе.
В дальнейшем предполагается использовать полученные карты
смещений для восстановления промежуточных ракурсов и увеличения
реалистичности отображения трехмерной сцены на стерео дисплее с
помощью отслеживания положения головы пользователя.
Литература
1.
2.
3.
4.
5.
6.
7.
8.
OpenCV, http://opencv.org
Mathworks Computer Vision System Toolkit www.mathworks.com
Vladimir Kolmogorov and Ramin Zabih. Multi-camera Scene
Reconstruction via Graph Cuts. In Proceedings of the 7th European
Conference on Computer Vision-Part III (ECCV '02). 2002. SpringerVerlag, London, UK, 82-96.
Andreas Geiger, Martin Roser, Raquel Urtasun. Efficient Large-Scale
Stereo Matching // Asian Conference on Computer Vision (ACCV) – 2010
A. Fusiello, L. Irsara. Quasi-euclidean uncalibrated epipolar rectification //
Pattern Recognition – 2008 С 1-4
Herbert Bay, Andreas Ess, Tinne Tuytelaars, Luc Van Gool "SURF:
Speeded Up Robust Features", Computer Vision and Image Understanding
(CVIU), Vol. 110, No. 3, pp. 346--359, 2008
David A. Forsyth and Jean Ponce (2003). Computer Vision, a modern
approach. Prentice Hall. ISBN 0-13-085198-1.
D. Scharstein Middlebury Stereo Datasets
http://vision.middlebury.edu/stereo/data/
Download