Два подхода к поиску точек схода на перспективно искаженных изображениях Постников Василий Валерьевич Московский Физико-Технический институт [email protected] Шешкус Александр Владимирович Институт системного анализа РАН [email protected] Аннотация Два альтернативных метода поиска точек схода на изображении, основывающихся на прямых и их сегментах рассмотрены. Первый метод – комбинаторный, второй – аккумулятивный. Сравниваются результаты работы двух методов на общедоступной базе данных, состоящей из различных урбанистических изображений (YorkUrbanDB). Краткий обзор основных существующих методов. Соколов Валерий Владимирович Институт проблем передачи информации РАН [email protected] внимание в нем уделяется построению сочетаний точек прямых. Другой – аккумулятивный. В этом методе рассматривается работа с аккумулятивным пространством. Работоспособность алгоритмов проверялась на общедоступной базе данных YorkUrbanDB, предложенной в работе [11], содержащих архитектурные пейзажи, для которых характерны три ортогональных пучка параллельных линий. YorkUrbanDB доступна по ссылке: http://www.elderlab.yorku.ca/YorkUrbanDB 1. Введение 2. Существующие алгоритмы Архитектурные конструкции и многие другие объекты, построенные человеком, часто имеют множество параллельных линий. При проецировании подобной трехмерной сцены на плоское изображение эти линии, вообще говоря, будут пересекаться. Точка пересечения может быть бесконечно удалена или находится в ограниченной области. Важно, что набор прямых, бывших параллельными в трехмерной сцене, будет пересекаться в одной точке, которая и будет называться «точкой схода». Поиск точек схода, а значит и пучков таких прямых может нам дать ценную информацию об ориентации объекта, положении объекта и камеры относительно друг друга. При известном местонахождении камеры можно судить о форме и размерах объекта. Решение задачи обычно состоит из трех этапов: поиск прямых линий и их сегментов, построение аккумуляционного пространства и выявление кандидатов на искомые точки. В данной работе будут подробно рассмотрены два метода. Первый метод – комбинаторный. Основное Большинство существующих методов и алгоритмов опирается на прямые линии и их сегменты, найденные на изображении. Поиск прямых линий – тема для отдельной работы. Однако, существует несколько методов. Метод, основанный на преобразовании Хаффа, описан в [2]. Также, много методов используют алгоритм поиска краев Канни для нахождения прямых [3]. В нашей работе для поиска прямых линий мы использовали алгоритмы быстрого преобразования Хаффа [10]. Работы над решением данной задачи ведутся по крайней мере с 1983-го года [1], когда Бернард в своей статье впервые описал использование гауссовой сферы, как аккумуляционного пространства. Данный алгоритм в последствие был взят за основу многими авторами, оптимизирован, улучшен, доработан ([6],[7]). В работе [4] предлагается отображать неограниченную плоскость изображения не на сферу, а на три прямоугольных области. А в [5] в качестве начального преобразования пространства изображения рассматривается преобразование Хаффа. 413 Также стоит отметить достаточно широкий спектр работ, в которых поиск точек схода ведется непосредственно в двумерном пространстве изображения [8]. В общем случае, такая схема требует вероятностного подхода к решению задачи [9]. Остановимся на комбинаторном методе и на методе, основанном на работе с аккумулятивным пространством подробнее. попадающих в конус C в единичной окружности с небольшим углом phi при вершине конуса (центр координат). C E vp , Для всех плоскостей OPiQi, имеющих невырожденное пересечение с конусом C посчитаем сумму Wi. Таким образом получим формальную оценку данного направления Evp. Для поиска направления Evp, указывающего на наилучшую точку схода вычислим попарные пересечения плоскостей Eij. Для каждой из iплоскостей полученные векторы будут лежать на дуге полуокружности, по которой данная плоскость пересекает единичную окружность в неотрицательной части пространства z >= 0. Отсортируем полученные попарные пересечения по углу с вектором Ei0, указывающим на начало или конец данной дуги. Ei 0 0,0,1 Pi Qi Рис 1. Положение сферы и плоскости изображения относительно друг друга 3. Комбинаторный метод В качестве входных данных могут использоваться выделенные на изображении отрезки границ, либо выделенные прямые линии (например, полученные с помощью преобразования Хафа). В случае линий будем говорить об отрезках, концы которых лежат на пересечении прямых с границами изображения. Будем считать что отрезкам или линиям приписаны веса. В качестве весов отрезков могут использоваться длины отрезков, для линий это могут быть значения, накопленные с помощью преобразования Хафа. Более слабо выраженным линиям или отрезкам соответствуют меньшие веса. Пусть P1Q1, P2Q2, …PnQn - множество отрезков, выделенных на изображении. Пусть W1..Wn – соответствующие им веса. Расположим их в пространстве камеры XZY в плоскости изображения, т.е. при z = f, где f – фокальное расстояние системы. Обозначим векторами Eij отнормированные вектора попарных пересечений плоскостей OPiQi, OPjQj, лежащие в неотрицательной части (z >= 0) единичной полусферы. Задачу поиска точек схода будем рассматривать как поиск «наилучшего» подмножества векторов, 414 (1) (2) Данная формула справедлива, так как Ei0 одновременно перпендикулярен к нормали плоскости OPiQi, а также перпендикулярен к оси Z. После того, как пересечения с другими плоскостями отсортированы по углу, задача поиска диапазона углов, внутрь которых попадают вектора пересечения, обеспечивающие максимальную сумму весов, может быть решена за линейный проход по векторам пересечений. Тем самым, наилучшая точка схода может быть найдена для каждой из n прямых и общая сложность алгоритма составляет On n logn (3) В результате работы алгоритма порождается n точек схода, каждая из которых имеет вес, полученный как сумма весов пересекшихся линий-плоскостей. Для задач поиска точек схода для снимков двухмерных или трехмерных прямоугольных решеточных структур необходимо на полученном множестве точек произвести поиск комбинации ортогональных точек схода, дающей наилучшую оценку качества. 4. Аккумулятивный метод Аналогично комбинаторному методу, рассмотрим геометрическую сцену, где плоскость изображения находится на некотором расстоянии h от центра координат, одновременно являющегося и центром проекции. Пусть уже найдены прямые линии. В рассматриваемой работе у каждой линии имеется вес, некоторая мера ее «силы». Рассмотрим плоскости, проходящие через каждую из линий и центр координат. Такие плоскости будет пересекаться по прямой, содержащей вектор, указывающий на точку пересечения прямых. В случае параллельных прямых плоскости так же пересекуться по прямой, параллельной плоскости изображения, а вектор будет указывать лишь направление на точку пересечения. vp [[a b] [c d ]] (4) Где vp – вектор, направленный на точку схода, a, b – вектора на начало и конец прямолинейного сегмента первой прямой, c, d – вектора на начало и конец прямолинейного сегмента второй прямой. Если имеется N прямых, то общее количество их точек пересечения будет N vp N ( N 1) 2 (5) Построим подобные вектора для всех точек попарного пересечения прямых. Будем иметь в виду, что в случае взвешенных прямых точки пересечения также будут иметь вес, являющийся некоторой функцией от веса исходных прямых. Самый простой вариант – вес точки пересечения является суммой весов прямых, ее составляющих. Теперь построим аккумуляционное пространство: рассмотрим цилиндр, ось которого совпадает с осью Z системы координат. Рис 2. Построение аккумуляционного пространства на поверхности цилиндра Таким образом каждый вектор vp переходит в точку A на поверхности цилиндра. vp [ x, y, z] A( x' , y' ) (6) 415 Координаты x’, y’ – угол между проекцией vp на плоскость OXY и плоскостью OXZ и Z-координата точки A соответственно. Вектора на точки пересечения прямых на поверхности цилиндра образуют некоторую карту. Теперь развернем поверхность цилиндра и будем рассматривать ее как изображение. Мы получим максимальную концентрацию точек на данном изображении в местах пересечения многих прямых, тем самым определив точки схода. Необходимо отметить, что при проецировании на цилиндр расстояния между точками на изображении и на цилиндре связаны не линейно. Чем ближе точки к оптической оси (верхняя часть изображенияповерхности цилиндра), тем больше между ними расстояние при одинаковом линейном расстоянии на искомом изображении. 5. Заключение В данной работе было подробно рассмотрено два алгоритма поиска точек схода на изображении, основываясь на уже найденных прямых. Метод, основанный на кластеризации точек попарного пересечения и аккумулятивный метод. Работоспособность обоих методов была проверена на общедоступной базе данных урбанистических изображений, которая также включает в себя разметку: сегменты линий и их ассоциацию с соответствующей точкой схода. 6. Список литературы [1] S. T. Barnard: Interpreting perspective images. Artificial Intelligence 21, 1983, pp. 435-462 [2] Richard O. Duda Peret E. Hart: Use of the Hough transformation to detect lines and curves in pictures. Artificial Intelligence, 1971. Comm. ACM, Vol 15, No. 1, pp. 11-15 [3] J. Canny: A Computational Approach to Edge Detection, IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 8, pp. 679-698, 1986. [4] Seo, K.S., Lee, J.H., Choi H.M.: An efficient detection of vanishing points using inverted coordinates image space. Pattern Recogn. Lett. 27(2) (2006) 102-108 [5] Frank Schmitt, Lutz Priese: Vanishing point detection with an intersection point neighborhood. DGCI'09 Proceedings of the 15th IAPR international conference on Discrete geometry for computer imagery, 2009 [6] M. J. Magee and J. K. Aggarwal: Determining Vanishing Points from Perspective Images. Computer Vision, Graphics and Image Processing 26, 1984, pp 256-267 [7] J. A. Shufelt: Performance Evaluation and Analysis of Vanishing Point Detection Techniques, IEEE Transactions on Pattern Analysis and Machine Intelligence, pp 282-288, 1999 [8] Van Den Heuvel, F. A., 1998: Vanishing point detection for architectural photogrammetry. International Archives of Photogrammetry and Remote Sensing 32(5), pp/ 652-659 [9] Almansa, A., Desolneux, A. and Vamech, S., 2003. Vanishing point detection without any a priori information. IEEE Trans. Pattern Anal. Mach. Intell. 25(4), pp. 502-507 [10] D. Nikolaev, S. Karpenko, I. Nikolaev, P. Nikolayev. Hough Transform: Underestimated Tool in the Computer Vision Field // Proceedings of 22th European Conference on Modelling and Simulation, 2008, стр. 238-243. [11] Denis, P., Elder, J.H. & Estrada, F. (2008). Efficient EdgeBased Methods for Estimating Manhattan Frames in Urban Imagery. Proc. European Conference on Computer Vision (5303), 197-211. 416