Два подхода к поиску точек схода на перспективно искаженных

advertisement
Два подхода к поиску точек схода на перспективно искаженных
изображениях
Постников Василий
Валерьевич
Московский
Физико-Технический
институт
vassili.postnikov@gmail.com
Шешкус Александр
Владимирович
Институт системного
анализа РАН
astdcall@gmail.com
Аннотация
Два альтернативных метода поиска точек схода на
изображении, основывающихся на прямых и их
сегментах
рассмотрены.
Первый
метод
–
комбинаторный,
второй
–
аккумулятивный.
Сравниваются результаты работы
двух методов на общедоступной базе данных,
состоящей
из
различных
урбанистических
изображений (YorkUrbanDB). Краткий обзор основных
существующих методов.
Соколов Валерий
Владимирович
Институт проблем
передачи
информации РАН
sokolov.valeri@gmail.com
внимание в нем уделяется построению сочетаний точек
прямых. Другой – аккумулятивный. В этом методе
рассматривается
работа
с
аккумулятивным
пространством.
Работоспособность
алгоритмов
проверялась
на
общедоступной
базе
данных
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 прямых и общая сложность
алгоритма составляет
On  n  logn
(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
Download