ПОСТРОЕНИЕ КАРТ СМЕЩЕНИЙ ПО НЕРЕКТИФИЦИРОВАННЫМ СТЕРЕОИЗОБРАЖЕНИЯМ Корчемкин Д. А., студент СПбГУ, 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/