Информатика, вычислительная техника и управление
УДК 004.92, 519.17, 514.144
DOI: 10.14529/cmse180406
АЛГОРИТМ ПОЛИНОМИАЛЬНОИ СЛОЖНОСТИ
ДЛЯ ПОИСКА СООТВЕТСТВУЮЩИХ ТОЧЕК
НА ОСНОВЕ ЭПИПОЛЯРНОЙ ГЕОМЕТРИИ
© 2018 С.А. Тушев, Б.М. Суховилов
Южно-Уральский государственный университет
(454080 Челябинск, пр. им. В.И. Ленина, д. 76) E-mail: semyon.tushev@susu.ru, sukhovilovbm@susu.ru Поступила в редакцию: 03.12.2018
Задача установления соответствий между изображениями точек на различных снимках является основой многих базовых алгоритмов компьютерного зрения. Существуют несколько подходов к решению данной задачи: на основе дескрипторов, на основе эпиполярной геометрии и комбинированные методы. В настоящей статье рассматриваются методы поиска соответствующих точек, основанные на эпиполярной геометрии, применительно к разрабатываемой авторами фотограмметрической измерительной системе (ФИС), использующей искусственные световозвращающие однотипные круговые маркеры (мишени) в роли контрольных точек. В качестве математической модели для задачи нахождения соответствий авторами предлагается использовать взвешенный многодольный неориентированный граф, множество вершин в котором соответствует множеству изображений искусственных маркеров (мишеней) на снимках, а множество ребер определяет множество изображений, взаимно удовлетворяющих эпиполярным ограничениям. Представлено теоретически точное решение задачи на основе суперклики. Выполнена оценка временной сложности решения задачи через суперклику; показано, что данный подход является экспоненциально сложным. Рассмотрены варианты применения различных эвристических алгоритмов установления соответствий между точками. Подобные алгоритмы не всегда приводят к точному результату, однако способны сформировать приближенное решение за практически приемлемое время. Благодаря особой архитектуре, разработанной авторами ФИС, становится возможным использование быстрых приближенных алгоритмов; возможные неточности будут автоматически нейтрализованы на дальнейших этапах работы ФИС. Подобный подход позволяет восстанавливать точную трехмерную структуру измеряемой сцены за приемлемое время. Авторами предложен новый полиномиальный параллельный алгоритм поиска соответствующих точек. Оценена временная сложность разработанного алгоритма (полином 4-й степени). Выполнена сравнительная оценка производительности и эффективности нового алгоритма, в качестве алгоритмов сравнения выступают более ранние алгоритмы авторов, а также алгоритм H.-G. Maas. Новый алгоритм превосходит по производительности все конкурирующие алгоритмы.
Ключевые слова: фотограмметрия, компьютерное зрение, поиск соответствующих точек, поиск наибольшей клики, эпиполярная геометрия, полиномиальные алгоритмы, стереозрение.
ОБРАЗЕЦ ЦИТИРОВАНИЯ
Тушев С. А., Суховилов Б.М. Алгоритм полиномиальной сложности для поиска соответствующих точек на основе эпиполярной геометрии // Вестник ЮУрГУ. Серия: Вычислительная математика и информатика. 2018. Т. 7, № 4. С. 83-104. DOI: 10.14529/cmse180406.
Введение
Одной из основных задач компьютерного зрения является поиск соответствий между изображениями одной и той же точки на различных снимках. Установление соответствий является основой многих базовых алгоритмов компьютерного зрения [1].
В настоящее время существует несколько подходов к решению данной проблемы. Методы решения задачи отличаются сферой применения, точностью и скоростью установ-
ления соответствий, принципом работы и др. В частности, существуют методы, основанные на использовании характерных особенностей изображения для поиска соответствий (т.н. дескрипторов). Альтернативой данным методам является подход, основанный на применении т.н. эпиполярной геометрии. В разделе 1 приведен более детальный обзор существующих методов установления соответствий между точками сцены.
Авторы ведут работу по созданию высокоточной фотограмметрической системы измерения пространственных координат и геометрических параметров объектов [1—4]. Особенностью данной системы является применение однотипных искусственных световозвра-щающих маркеров (мишеней) в качестве характерных (контрольных) точек системы. Идентичность мишеней, а также использование импульсных источников света (фотовспышек), существенно изменяющих картину освещенности сцены от снимка к снимку, приводят к тому, что методы поиска соответствующих точек, основанные на использовании характерных особенностей изображения, не способны эффективно устанавливать соответствия. В таком случае единственно «работающими» остаются методы, основанные на эпиполярной геометрии.
В разделе 2 мы приводим краткие сведения об эпиполярной геометрии, а также формулируем задачу поиска соответствующих точек с использованием многодольного графа в качестве математической модели. Здесь же содержится описание методов точного решения задачи и оценка ее вычислительной сложности. Поскольку точный алгоритм оказывается дважды экспоненциально сложным, в этом же разделе приводится анализ вариантов решения, допускающих приближенные алгоритмы нахождения соответствий.
В разделе 3 описаны различные алгоритмы поиска соответствий на основе эпиполяр-ной геометрии, в том числе, разработанный авторами алгоритм полиномиальной сложности. В разделе 4 выполнен экспериментальный сравнительный анализ описанных алгоритмов. В заключении сформулированы основные результаты работы и приведены направления дальнейших исследований.
1. Обзор подходов и методов поиска соответствующих точек
1.1. Обзор существующих подходов к решению задачи установления соответствий между изображениями точки на различных снимках
В настоящее время в компьютерном зрении существует несколько общепринятых подходов к решению задачи установления соответствий между изображениями одной и той же точки на различных снимках. Наиболее распространенными являются методы, основанные на использовании т.н. характерных точек — методы SIFT [5], SURF [6], методы, основанные на детекторе Харриса [7] и ряд других; тематике характерных точек (дескрипторов) посвящено большое количество публикаций и исследований.
Данные методы выделяют на снимках т.н. характерные точки, такие как углы, точки резкой смены контраста, после чего для всех найденных точек вычисляется определенная характеристика - вектор-дескриптор, численным образом характеризующий изображение в некоторой локальной окрестности характерной точки. Достоинством данного подхода является «моментальное» установление соответствий между точками (путем сравнения числовых величин векторов дескрипторов), а также отсутствие необходимости знать взаимное расположение камер. К сожалению, эти методы эффективны лишь при сравнительно неизменном освещении и близких ракурсах фотосъемки. Перемещение источника
света, либо использование фотовспышки, как в случае с разрабатываемой авторами фотограмметрической измерительной системой (ФИС), существенно влияет на изображения характерных точек и их локальных окрестностей, что приводит к изменению значений дескрипторов [8]. Таким образом, установить соответствие между точками изображения при помощи дескрипторов становится невозможным.
Кроме того, в большинстве промышленных ФИС (включая разрабатываемую) в качестве характерных точек используются идентичные круговые световозвращающие мишени, которые невозможно различить между собой. Также подобные системы часто работают с недоэкспонированными снимками, на которых, благодаря фотовспышке, хорошо различимы только искусственные световозвращающие мишени. Изображения этих мишеней легко выделяются пороговым фильтром, после чего система работает с набором выделенных точек на снимках.
Для подобных условий применимы два альтернативных метода установления соответствий между изображениями точек на различных снимках — поиск жестких структур (паттернов) и методы, основанные на эпиполярной геометрии.
Первый метод эффективен при наличии в сцене недеформируемых объектов с заранее известной геометрией. В случае с разрабатываемой авторами фотограмметрической системой, к таковым объектам относятся т.н. кодовые марки — искусственные маркеры, используемые для определения относительного положения камеры, задания системы координат и связи снимков между собой, а также выступающие в качестве приближенной меры масштаба [2, 9]. Благодаря заранее известной конфигурации, а также наличию уникального кода для каждой марки, их идентификация и сопоставление между снимками не представляют труда.
В отличие от кодовых марок, конфигурация световозвращающих мишеней на измеряемом объекте, как правило, произвольна. В таком случае для нахождения соответствий между точками используются методы, основанные на эпиполярной геометрии.
Как показано в [1], при известном взаимном расположении камер, точка, видимая на первом снимке, может находиться на эпиполярной линии на втором снимке (более подробные сведения об эпиполярной геометрии приведены в разделе 2.1), что упрощает задачу поиска соответствующего изображения точки с двухмерной (поиск по площади всего снимка) до одномерной (поиск вдоль эпиполярной линии). Тем не менее, погрешности определения взаимного положения камер и параметров модели камеры приводят к тому, что искомая точка располагается вблизи эпиполярной прямой. Поэтому на практике поиск точек выполняется в эпиполярных коридорах некоторой заданной ширины.
В случае, если в эпиполярном коридоре находится только одно изображение точки, это изображение с максимальной вероятностью будет представлять собой искомую соответствующую точку. Однако в реальных ситуациях в эпиполярном коридоре могут находиться другие точки, в связи с чем задача установления соответствий перестает быть тривиальной.
H.-G. Maas с соавторами в ряде работ [10-12] предложил использовать пересечения эпиполярных линий на нескольких снимках. Этот подход позволяет обрабатывать снимки тройками либо четверками, и таким образом разрешить неоднозначность при наличии нескольких точек в эпиполярной коридоре в большинстве случаев. В работе [11] описано расширение данного метода для произвольного количества снимков путем поочередной
обработки троек снимков; при этом авторы отмечают значительную вычислительную сложность данного подхода. Данный метод более подробно рассмотрен в разделе 1.2.
Аналогичный подход, позволяющий обрабатывать произвольное количество снимков, описан в работе Zhu et al. [13].
Д.В. Юриным в [14], Zhang в [15] описаны комбинированные подходы к поиску соответствий. Так, согласно методике, рассмотренной в [14], первоначальные соответствия между изображениями точек устанавливаются при помощи дескрипторов характерных точек. Далее, на основе найденных соответствий методом RANSAC вычисляется фундаментальная матрица, характеризующая взаимное расположение снимков. На финальном этапе выполняется нахождение соответствий для не идентифицированных ранее характерных точек при помощи эпиполярной геометрии; также возможно комбинирование эпиполярных ограничений и сравнения вектора параметров, описывающих точку.
В ряде работ, в частности [16] и [17], рассматриваются комбинированные методы поиска соответствующих (как дискретных точек, так и анализ диспаритетности) точек с применением теории графов. К примеру, Колмогоров в [16] предлагает использовать разрезы графа для решения задачи о соответствиях в формулировке минимизации энергии. В работе [17] предлагается представлять информацию о взаимном расположении характерных точек, выделенных дескриптором, в виде графов (т.е., выполнять сопоставление паттернов в изображениях). При этом поиск соответствий между точками выполняется на основе сравнения спектров получаемых графов. Zhang в [15] также приводит подборку методов, связанных с поиском характерных точек через изоморфизм графов.
Стоит отметить, что большинство алгоритмов поиска соответствующих точек можно классифицировать как глобальные либо как локальные. Локальные алгоритмы действуют по принципу «Winner takes all» (WTA) — «победитель забирает все». При этом локальные алгоритмы как правило быстрее глобальных, но обеспечивают меньшую точность установления соответствий. Глобальные алгоритмы учитывают возможные зависимости между точками, обеспечивая более корректное сопоставление изображений точкам (т.е., нахождение глобального оптимума) ценой увеличенного времени работы [14, 15].
Кроме того, существует ряд методов, выполняющих поиск соответствий в трёхмерном пространстве [18-20]. Преимуществом данных методов является автоматическая валида-ция результатов (без необходимости в отдельном шаге для триангуляции точек и т.д.), а недостатком — повышенные требования к точности определения первоначальных параметров внешней ориентации и внутренних параметров камеры.
В работе [21] рассматривается ряд других современных гибридных подходов к задаче автоматизации фотограмметрических измерений, выходящих за предмет рассмотрения настоящей статьи.
1.2. Алгоритм поиска соответствий, основанный на пересечении эпиполярных прямых
В качестве алгоритма-оппонента для оценки эффективности разработанных авторами алгоритмов был выбран алгоритм, описанный в работе H.-G. Maas и J. Dold [11] как наиболее близкий к реализованным авторами ранее алгоритмам. Кроме того, форматы входных данных и программная архитектура, требуемые для реализация данного алгоритма, идентичны используемым в разрабатываемой фотограмметрической системе, что позволяет выполнять оценку эффективности алгоритмов в равных условиях.
Идея алгоритма заключается в обработке произвольного количества снимков тройками (рис. 1) [10]. Для этого на первом снимке выбирают точку Р'. На втором снимке к данной точке проводят эпиполярную линию Е1-2 (см. раздел 2.1). Для каждой точки, попадающей на данную линию (в рассматриваемом примере — Ра>Ръ >Р"), на третьем снимке также проводят соответствующую эпиполярную линию £'(2—з)£. Также на третьем снимке проводят эпиполярную линию Е1-3. Точка третьего снимка, лежащая на пересечении эпиполярных линий, проведенных для точки первого и второго снимка, принимается в качестве соответствующей. Поочередно обрабатывая все другие снимки фотограмметрической сессии в качестве третьего, алгоритм получает несколько (по количеству точек второго снимка) наборов потенциально соответствующих изображений точек с различных снимков. Набор, содержащий наибольшее количество изображений, принимается в качестве установленного соответствия.
Рис. 1. Конфигурация камер и принцип работы алгоритма поиска соответствий на основе пересечения эпиполярных линий
Как отмечают H.-G. Maas и J. Dold, данный алгоритм является эвристическим и основанным на вероятностном подходе, что потенциально может приводить к ложным соответствиям1. Преимуществом данного алгоритма является более высокая скорость работы по сравнению с подходом, описанным H.-G. Maas в [10].
2. Многодольный граф и суперклика как теоретическое решение задачи установления соответствий
2.1. Краткие сведения о эпиполярной геометрии
Как известно [1], эпиполярная геометрия описывает т.н. стереопару — две камеры с известным взаимным расположением, производящие фотосъемку одного и того же трехмерного объекта. При этом, точка, видимая на первом снимке, на втором снимке может
1 Разрабатываемая авторами ФИС устойчива к ошибочным соответствиям точек (см. раздел 2.2). 2018, т. 7, № 4 87
находиться только на эпиполярной линии. Эту зависимость возможно использовать для нахождения соответствий между точками на снимках.
Предположим, что точка X видна одновременно на левой камере с центром 0Ь и правой камере с центром 0К (рис. 2). На плоскости изображения левой камеры трехмерной точке X соответствует двухмерная точка Хь, на плоскости изображения правой камеры — точка Хк. Линия, соединяющая оптические центры камер 0Ь и 0К (т.н. базовая линия), пересекает плоскости изображений в точках £ь и , называемых эпиполями [1].
Очевидно, что для каждой трехмерной точки X существует своя эпиполярная плоскость 0Ь0КХ, проходящая через X (а следовательно, и через Хь) и базовую линию. При этом пересечение эпиполярной плоскости с плоскостью изображения правого снимка формирует эпиполярную линию. Соответственно, все изображения точек х1 ...хп, лежащих на луче 0ЬХ, включая саму точку X, на правом снимке будут лежать на данной эпиполярной линии.
В случае, если истинные трехмерные координаты точки X нам неизвестны (например, при обработке фотоснимков, где известны только двухмерные координаты точки Хь), мы
X
Хт
2с1
Камера 2 , у
- эпиполярная линия -граница эп и полярного коридора
Рис. 2. Эпиполярная геометрия точки X для системы из двух камер
не можем однозначно установить положение изображения Хя трехмерной точки X на правом снимке из-за потери информации о глубине при проецировании. Однако, в таком случае мы можем сузить область поиска соответствующей точки со всей площади изображения до эпиполярной линии.
При известном взаимном расположении камер эпиполярная линия е (вида ах + Ьу + с = 0) для точки Хь на правом снимке может быть описана уравнением (1):
е =
= Е-Х,
(1)
где F — фундаментальная матрица, вычисляемая через матрицу внутренних параметров камеры К и существенную матрицу Е (2):
0 -£х(3) £х(2) £х(3) 0 -£х(1) -£х(2) £х(1) 0
= К~1- Е- К = К
- V-!
• Я- к,
(2)
где, в свою очередь, Я и £х — матрица поворота и вектор переноса между двумя камерами, формирующими стереопару. При наличии матриц вращения Аь и Ак, а также векторов переноса и для левой и правой камер в общей (глобальной) системе координат Я и £х можно вычислить как:
На практике в силу недостаточной точности определения взаимных расположений камер, в совокупности с несовершенством электронно-оптических систем камер, изображение точки Хк крайне редко попадает на вычисленную эпиполярную линию. В связи с этим поиск соответствующих точек выполняется в эпиполярных коридорах полуширины й. В случае, если расстояние от изображения точки на правом снимке до эпиполяр-ной линии не превышает й, точка считается лежащей в эпиполярном коридоре и может рассматриваться как кандидат на соответствующую точку.
Из рис. 1 и рис. 2 очевидно, что любые другие точки, лежащие на эпиполярной линии на правом снимке, могут также рассматриваться в качестве кандидатов на соответствие изображению точки Хь. Переход к эпиполярным коридорам приводит к еще большему росту количества кандидатов на соответствующие точки. Это значительно усложняет задачу поиска соответствий.
2.2. Многодольный граф как математическая модель в задаче поиска соответствующих точек
Алгоритмы, рассмотренные в разделе 1.1, решают задачу поиска соответствий на основе эпиполярных ограничений методом построения путей и подсчета потенциальных кандидатов на соответствующую точку.
Мы предлагаем использовать взвешенный многодольный неориентированный граф С = {V; Е] в качестве математической модели для задачи о нахождении соответствующих точек. Данный граф состоит из множества вершин V, каждая из которых представляет собой изображение круговой мишени на снимке, а также множества ребер графа Е. Две вершины в данном графе связаны ребром в том случае, если соответствующие изображения точек на стереопаре взаимно попадают в эпиполярные коридоры ширины 2d.
Каждая вершина данного графа представляет собой уникальный идентификатор, который взаимно однозначно соответствует изображению точки, кроме того, каждая вершина (изображение) соответствует одному из множества снимков. Принадлежность вершины определенному снимку характеризует многодольный характер получаемого графа; каждый снимок формирует собственную, отдельную долю графа (т.к. точки, расположенные на одном и том же снимке, не могут быть связаны друг с другом). Данная информация может быть использована при разработке оптимизированного алгоритма поиска соответствующих точек.
Каждое ребро графа в предлагаемой нами модели также получает собственный вес, равный усредненному пиксельному расстоянию для пары изображений точек до соответствующих этим точкам эпиполярных линий на противоположном снимке:
я = А1ГА1,
(3)
(4)
£х =
1
{Рь'Ргд = -
.V еь(1)2+еь(2)2 + 7ей(1)2+ей(2)
кь • Ря\ , кк • Рь\
(5)
2
где еь, — коэффициенты уравнения эпиполярной линии (1) для левого и правого снимка соответственно, рь, рк — однородные пиксельные координаты изображений точки на левом и правом снимках.
Информация о весе ребра может также быть использована при разработке оптимизированного алгоритма поиска соответствующих точек. В частности, при выборе между двумя наборами изображений точек — претендентами на соответствующую точку предпочтение отдается набору с меньшим суммарным весом ребер, как более приближенному к совокупности эпиполярных ограничений.
Представление задачи поиска соответствующих точек в графовой форме позволяет частично абстрагироваться от эпиполярной геометрии и разделить задачу поиска соответствий на две подзадачи: этап формирования графа и этап поиска соответствующих точек в графе. Подобный подход позволяет реализовать как локальные, так и глобальные алгоритмы поиска соответствий.
На этапе формирования графа мы собираем исключительно информацию о том, удовлетворяет ли данная пара изображений круговых мишеней взаимным эпиполярным ограничениям (в отличие от алгоритма Zhu, где проверка на взаимность выполняется на последнем этапе). В результате полученный граф содержит информацию о всех парах точек, являющихся потенциальными кандидатами на соответствие; а также степени соответствия — в виде веса ребра.
Этап поиска соответствующих точек, в свою очередь, позволяет применить математический аппарат теории графов для установления соответствий между точками. Очевидно, что математическим представлением соответствующей точки I в данной модели будет являться клика Сг = {У} сС — подмножество графа С, в котором все вершины связаны между собой. При этом, в силу особенностей описываемой модели, в одной и той же клике не может быть двух и более вершин, принадлежащей одной и той же доле графа (снимку).
Каждая клика графа характеризуется мощностью клики ЩС;) (количеством вершин, ее образующих), весом клики, равным сумме весов всех ребер (6), и средним весом клики, рассчитываемым как (7):
™С1щие(Сд = Х^Й1! W(.Pk,Pj), (6)
_(г Л = 2~ £¿=1
Данные параметры характеризуют степень достоверности, с которой клика является изображением одной и той же точки. В частности, возможно принять, что клика с мощностью, меньшей некоторой заданной пороговой мощности £, являются представлением помехи (блика, отражения либо ошибочно идентифицированной мишени), которое нужно исключить из обработки2. Величина данного значения частично зависит от формы измеряемого объекта. В разрабатываемой фотограмметрической системе авторы используют г = 4...6.
2 В случае, если помеха, по форме совпадающая с формой круговой мишени, наблюдается на большем количестве снимков, ее можно рассматривать как дополнительную трехмерную точку (естественную особенность), которую допустимо использовать в расчетах.
Также, при наличии двух имеющих общие вершины клик равной мощности, критерий веса клики позволяет выбрать между ними предпочтительную клику: клика с меньшим весом лучше удовлетворяет эпиполярным ограничениям, а, следовательно, и является более достоверной.
С геометрической точки зрения клика мощностью N представляет собой совокупность N изображений круговых мишеней на различных снимках. Каждое из входящих в клику изображений находится в области пересечения всех Ы — 1 эпиполярных коридоров от всех других точек клики, построенных на данном снимке, как показано на рис. 3.
При этом, согласно геометрическим соображениям, с ростом количества точек в клике (и, соответственно, ростом количества пересекающихся эпиполярных коридоров) вероятность ошибочной идентификации точек уменьшается в силу уменьшения области одновременного пересечения всех коридоров (рис. 4). Аналогично, при уменьшении ширины d эпиполярного коридора уменьшается вероятность попадания изображения «ложной» трехмерной точки в данный коридор. Таким образом, в предельной форме вероятность правильной идентификации трехмерной точки в качестве клики можно записать как (8) (при условии безошибочного определения параметров модели камеры):
Р->1, (8)
П^СО,
где Р — вероятность того, что сформированная клика содержит изображения одной и той же трехмерной точки на различных снимках (без ошибочно включенных изображений).
Рис. 3. Схематическое изображение принципа поиска соответствий между изображениями точек. Каждая линия фактически представляет собой эпиполярный коридор заданной ширины
Соответственно, с геометрической точки зрения, решением задачи установления соответствий между изображениями всех трехмерных точек сессии будет являться набор вышеописанных множеств изображений точек (клик).
| эпиполярные линии — ■ — • — ■ — ■ — ■ границы соответствующих эпиполярных коридоров
Рис. 4. Фрагменты эпиполярной геометрии реальной сцены с различным размером клик (координаты указаны в пикселях)
Определение 1. Решением задачи поиска п соответствующих точек является совокупность не имеющих общих вершин клик {С;}, г = 1 ...п графа б с мощностью каждой клики, не меньшей порога фильтрации помех £ (т.е., для любой Сг справедливо выражение >£). При этом, каждая клика не может содержать более одной вершины, принадлежащей одной доле графа б.
Теоретически точный вариант решения данной задачи приведен далее в разделе 2.3.
Отметим, что в реальных условиях приведенный выше подход идентифицирует трехмерную точку с некоторой вероятностью, поскольку положения и ориентация камер, матрица внутренних параметров и вектор параметров модели дисторсии известны с погрешностью. Это приводит к тому, что положения эпиполярных линий (и, соответственно, эпиполярных коридоров) на снимках вычисляются с погрешностью; реальные изображения точек могут выходить за пределы коридоров назначенной ширины 2d. Таким образом, алгоритмы, использующие эпиполярную геометрию, могут не давать решений или приводить к нахождению ошибочных соответствий.
2.3. Суперклика, вычислительная сложность задачи и приближенное решение
Теоретическим (точным) решением задачи поиска соответствий является нахождение суперклики — наибольшей клики в суперграфе, определение и схема построения которого приведены ниже.
Определение 2. Суперграфом Б в задаче поиска установления соответствий между изображениями точек называется граф, множество вершин которого тождественно множеству клик-кандидатов {Сг} графа б, а множество ребер определяет набор не имеющих общих вершин клик-кандидатов графа б (С; ПС;- = 0).
Определение 3. Кликой-кандидатом графа С называется подмножество попарно связанных между собой ребрами вершин графа С (т.е., взаимно удовлетворяющих эпиполяр-ным ограничениям изображений точек) с размером подмножества, не меньшим £ - величины, используемой для фильтрации помех.
Для того, чтобы сформировать суперграф Б, в графе С сначала находят все максимальные клики с количеством вершин не меньше порогового значения £. Каждая такая клика С; представляет собой трехмерную точку-кандидат, состоящую из набора изображений точек (в виде множества вершин У;), которые удовлетворяют взаимным эпиполяр-ным ограничениям. При этом на практике возможны ситуации, когда одна и та же вершина может входить в несколько клик (т.к. изображение может попадать в несколько эпиполярных коридоров, особенно при больших значениях ширины коридоров).
На следующем этапе строится суперграф — граф Б, вершинами которого являются клики С;. Вершины С; и С,- в суперграфе будут связаны ребром в случае, если клики С; и С,- не содержат общих вершин графа С — т.е., С; ПС;- = 0.
Покажем, что суперклика, или наибольшая клика суперграфа 5 представляет собой решение задачи поиска соответствующих точек.
Согласно определению наибольшей клики, найденная в суперграфе 5 суперклика будет представлять собой наибольшую совокупность не имеющих общих вершин клик-кандидатов С;, принадлежащих графу С. Каждая клика-кандидат Сг представляет собой набор изображений точек, в котором любые два изображения находятся на разных снимках и взаимно удовлетворяют эпиполярным ограничениям (согласно принципу формирования графа С). Таким образом, суперклика удовлетворяет Определению 1, и является точным решением задачи о нахождении соответствий между точками на снимках. При этом данная задача решается в два шага — нахождение всех клик в графе С и наибольшей клики в графе Б.
Нахождение суперклики на практике ограничено вычислительной сложностью. В настоящее время задачу поиска всех максимальных клик в графе и нахождения наибольшей клики считают КР-полными [23]. Как известно, в графе из п вершин может содержаться до 3™/3 максимальных клик [24]. Таким образом, количество клик в суперграфе 8, согласно определению 2, может достигать значительно больших значений
Как показано в [23], наилучшие из доступных в настоящее время алгоритмов поиска наибольшей клики имеют временную сложность вида 0(2шМ), где ш> 0 — некоторая константа, а N — количество вершин в графе. Подставляя в данное выражение верхнюю оценку количества вершин в суперграфе Ы= 3™/3, получим верхнюю оценку временной сложности для нахождения суперклики в виде (9):
0(2"-3"/3), (9)
где ш=- для наиболее быстрого из известных на сегодняшний день алгоритмов поиска
4-
наибольшей клики [25], п — количество идентифицированных мишеней на всех снимках фотограмметрической сессии.
Таким образом, поиск суперклики имеет дважды экспоненциальную временную сложность. На текущем этапе развития вычислительной техники практическое применение такого подхода невозможно, исключая случаи с небольшим количеством снимков и контрольных точек, не представляющие собой интереса с точки зрения практической применимости.
Разработанная нами ФИС отличается высокой робастностью к ошибкам установления соответствий. В частности, для решения указанной проблемы авторами применена итерационная схема [4] с обратным проецированием триангулированных трехмерных точек с уточненными через метод связок (англ. bundle adjustment) [22] координатами. Данный подход позволяет успешно находить «потерянные» изображения; возможные неточности сопоставления будут исправлены либо отфильтрованы в ходе работы итерационной схемы. Таким образом, на практике допускается применение эвристических алгоритмов нахождения соответствий, т.е. алгоритмов, не являющихся теоретически точными (дающих приближенное решение). При этом подобные алгоритмы, как правило, отличаются высокой производительностью и масштабируемостью (способностью обрабатывать большее количество точек), что является приоритетным для практического применения фотограмметрической системы.
Авторами предлагается разработать подобный алгоритм, который формирует приближенное решение задачи, удовлетворяющее определению 1. Основными требованиями к новому алгоритму являются высокая скорость работы, масштабируемость, невысокие требования к ресурсам и высокое «качество установления соответствий» (максимальная приближенность результата к истинному, так, что фотограмметрическая система находит точное решение за минимальное количество итераций).
3. Алгоритмы поиска соответствующих точек на основе эпиполярной геометрии
3.1. Алгоритмы, основанные на поиске клики в графе
В процессе разработки фотограмметрической системы авторами ранее был предложен ряд эвристических алгоритмов поиска соответствующих точек. Из них в настоящее время в качестве наиболее эффективных могут быть названы алгоритм CliqueErase [8], также известный как Pivot/CE, и алгоритм PPLGx [4].
Недостатком алгоритма Pivot/CE является его последовательный характер, а также высокие временные затраты при обработке сессий с большим (1000+) количеством трехмерных контрольных точек (в силу того, что в основе алгоритма лежит поиск всех максимальных клик в графе). Алгоритм PPLGx является параллельным и более производительным в силу своей архитектуры. Тем не менее, он также использует поиск наибольшей клики, что является экспоненциально сложной задачей.
В связи с этим авторами было принято решение разработать эвристический алгоритм поиска соответствующих точек, имеющий неэкспоненциальную временную сложность, и, как следствие, способный обрабатывать задачи с большим количеством точек.
3.2. Алгоритм поиска соответствующих точек полиномиальной сложности
Разработанный авторами алгоритм получил название PolylPV. В основе алгоритма лежит принцип локальной обработки точек, а также отказ от использования алгоритмов поиска клик. При этом алгоритм построен по парадигме Map-Reduce, которая позволяет объединить преимущества локальных и глобальных подходов, а также применить распараллеливание на Мар-шаге.
Псевдокод алгоритма приведен на рис 5.
На Мар-шаге алгоритм обрабатывает все множество вершин {У} графа G. Для каждой вершины v вычисляется ее окружение Н (вершины, связанные ребром с v), после чего для каждой вершины п окружения Н функцией compute localpartite degrees рассчитывается ее локально-долевая валентность (LPV).
Определение 4. Локально-долевой валентностью вершины п многодольного графа называется количество долей графа, которым принадлежат вершины, связанные ребром с вершиной п.
function Poly1PV
parallel for v : {V}
Map(v) Reduce({C})
function Map(v)
{Q} := 0; v ^ {Q}
{H} = v.adjacent vertices
{LPV} = compute localpartite degrees({H}) {H}.sort(degree, {LPV}) _
for n : {H}
(*)if NOT in_same_partitions(n, {Q}) if linked_to_all(n, {Q}) n ^ {Q} if {Q}.size > t {Q} ^ {C}
function Reduce({C})
(C).sort(size, weight).deduplicate for clique : {C}
for clique2 : {C}[clique...end] if (clique П clique2 ф 0) _{C} := {C} \ clique2_
Рис. 5. Алгоритм сортировки массива по возрастанию выбором
Отметим, что локально-долевая валентность вершины в заданной формулировке задачи представляет собой ни что иное, как количество снимков, на которых для рассматриваемого изображения точки в эпиполярных коридорах были обнаружены изображения-кандидаты на соответствие.
Алгоритм формирует множество Q — аналог клики в графе, и вносит в него первоначальную вершину v.
Далее алгоритм выполняет последовательную обработку вершин окружения точки из множества Н, упорядоченного по убыванию локально-долевой валентности. Для каждой вершины п Е Н проверяется, не находится ли данная вершина в одной доле графа с любой из вершин, входящих в растущую клику Q, а также, связана ли вершина п ребром с каждой вершиной, входящей в Q. Если оба данных условия3 последовательно выполняются, рассматриваемая вершина п (изображение точки) вносится в растущую клику Q.
3 Второе условие (наличие ребер между всеми вершинами растущей клики и текущей вершиной) автоматически влечет за собой первое (т.к., по определению, вершины из одной доли графа не могут быть соединены между собой ребром). Первое условие введено в оптимизационных целях и позволяет отсечь нежелательные ветви алгоритма для сложных сцен (содержащих мишени-линейки или сетки из мишеней) с большим количеством точек-кандидатов в эпиполярных коридорах.
Таким образом, по завершению данного этапа множество Q будет содержать набор изображений предполагаемой трехмерной точки на различных снимках, каждое из которых удовлетворяет взаимным эпиполярным ограничениям. В случае, если мощность клики Q равна или превышает пороговое значение t, используемое для фильтрации помех, клика Q вносится в набор клик-кандидатов С.
На Reduce-шаге алгоритм выполняет сортировку набора клик по критериям размера и суммарного веса клики (при равном размере предпочтение отдается клике с меньшим весом), а также дедупликацию полученного набора клик4. Далее алгоритм выполняет очистку упорядоченного набора клик, так, что при обнаружении пересечения двух клик (наличия совместных вершин) клика с меньшим размером/весом удаляется из набора. Результатом работы алгоритма PolylPV является набор клик, удовлетворяющий определению 1.
Оценка временной сложности предлагаемого алгоритма может быть выполнена следующим образом. Мар-шаг алгоритма включает в себя формирование хэш-таблицы LPV со сложностью 0(п2), сортировку окружения (реализуемую стандартной библиотекой языка С++ со сложностью 0(п • logn), согласно документации) с поиском в хэш-таблице LPV сложностью 0(п), а также обработку окружения со сложностью 0(п3 +n2). Reduce-шаг, в свою очередь, включает в себя сортировку, дедупликацию со сложностью 0(п2), и очистку со сложностью 0(п4). Если учесть, что Мар-шаг должен быть выполнен для каждой из N вершин графа, то верхнюю оценку временной сложности алгоритма PolylPV можно представить как (10):
0(N(n2 +п2 logп + п3 + п2) + N2 log N + N2 +N4), (10)
где п< N — среднее количество связей одной вершины (как правило, п на 1-2 порядка меньше N). В пределе, для п = N, выражение (10) упрощается до (11):
О (w2(l + 2N + 2 N2 + log(N) + N log(N))) = 0(N4). (11)
Таким образом, предлагаемый алгоритм Poly1PV является полиномиально сложным (полином 4-й степени). Кроме того, в отличие от предшествующих алгоритмов, он учитывает многодольный характер графа эпиполярных связей между изображениями точек.
4. Экспериментальная часть
4.1. Особенности реализации алгоритмов и тестовая среда
Все рассматриваемые в статье алгоритмы реализованы на языке программирования C++14 в среде Microsoft Visual Studio 2017. Алгоритмы Pivot/CE, PPLGx и Poly1PV реализованы в рамках одного приложения, включающего в себя алгоритм формирования графа, описанный в [4] и исследуемые алгоритмы поиска клик в графе. Алгоритм [11]
Согласно нашим исследованиям, данное условие не оказывает негативного влияния на производительность в большинстве типовых сцен.
4 Архитектура алгоритма приводит к тому, что Мар-шаг неизбежно формирует дублирующиеся клики. Однако, согласно нашим экспериментам, временные расходы на предотвращение формирования совпадающих клик (синхронизацию) существенно превышают затраты на «избыточные» расчеты и последующее устранение повторяющихся клик.
(далее — Maas-N3) реализован в виде отдельного приложения с аналогичной архитектурой и типами данных. Распараллеливание выполнялось при помощи среды выполнения с параллелизмом Microsoft Concurrency Runtime [26].
В исследованиях участвовали 2 тестовых машины. Машина А оснащена процессором Intel Core i7-6700K с 4 ядрами с поддержкой технологии Hyper-Threading, работающими на частоте 4,0 ГГц; 48 Гб DDR4 RAM с частотой 2133 МГц. Машина В оснащена процессором Intel Pentium G2030 с 2 ядрами, работающими на частоте 3,0 ГГц; 12 Гб DDR3 RAM с частотой 1600 МГц. Обе машины работают под управлением ОС Windows 10. Все исполняемые, входные и промежуточные файлы ФИС во время исследования были размещены на RAM-диске.
4.2. Сравнительный анализ эффективности алгоритмов
Для оценки эффективности исследуемых алгоритмов авторами была выполнена оценка их производительности для ряда наборов данных. В качестве источника тестовых данных использовались фотограмметрические сессии из коллекции авторов, а также синтетические сессии, полученные при помощи имитационной модели ФИС [3].
Среднее время выполнения алгоритмов в рамках одной итерации ФИС (для данных, полученных при помощи имитационной модели; обработка на машине А), приведено на рис. 6. В таблице приведено суммарное время работы ФИС для различных алгоритмов поиска соответствий.
50
w
К 40 к
ф к
а30
3 м
w 20
S ф
а « 10
ф ф к
$ 0 а
О
Maas-N3 Pivot/CE PPLGx Poly1PV
100 200 300 400 500 600 700
Количество точек
800
900
1000
Рис. 6. Сравнительная скорость работы алгоритмов поиска соответствующих точек
в рамках одной итерации ФИС
Таблица
Суммарное время работы ФИС в зависимости от алгоритма поиска соответствий
Количество 3D точек Среднее время работы ФИС, с.
Maas-N3 Pivot/CE PPLGx Poly1PV
100 84,21 91,71 90,88 89,45
300 135,41 118,30 117,17 115,09
500 407,02 444,89 420,06 393,12
Суммарное время работы ФИС выступает в роли оценки «качества» исследуемых алгоритмов, поскольку (как показано в разделе 2.3) ФИС автоматически устраняет возможные пропуски точек или ложные соответствия, сформированные в ходе работы эвристических алгоритмов в рамках отдельной итерации.
Как видно из полученных данных, предлагаемый алгоритм Ро1у1РУ быстрее конкурентов для сцен с количеством точек > 250. На задачах небольшой размерности алгоритм более производительным является алгоритм Маав-КЗ. Кроме того, авторами была выполнена оценка производительности алгоритмов для экстремально больших задач (с количеством точек 5000—10000). В силу своей экспоненциальной временной сложности алгоритмы Р1уо1,/СЕ и РРЬОх не смогли выполнить ни один расчет за максимально допустимое время работы в рамках теста — 5000 с. Алгоритмы Маав-Ш и Ро1у1РУ успешно завершили данные тесты, при этом Ро1у1РУ показал себя примерно в 3-4 раза более производительным как на машине А, так и на машине В.
Большинство сцен для реальных фотограмметрических сессий из коллекции авторов содержит 50-200 контрольных точек. Как показали тесты, разброс значений суммарного времени работы ФИС для данных сессий (при обработке различными алгоритмами) незначителен и находится в пределах 5 секунд. Это объясняется тем, что доля времени, затрачиваемого на установление соответствий, для небольшого (< 200) количества точек, не превышает 1% от суммарного времени работы ФИС. Однако, нами было установлено, что алгоритм Маав-КЗ наиболее эффективен при обработке плоских сцен и, напротив, недостаточно точно устанавливает соответствия в сценах, снимающих цилиндрические объекты со всех ракурсов. В объемных сценах наиболее производительным (хоть и с незначительным отрывом), согласно полученным данным, является новый алгоритм Ро1у1РУ.
На рис. 7 приведен график ускорения параллельного алгоритма Ро1у1РУ для синтетической сцены, состоящей из 2500 трехмерных точек (на машине А). В качестве времени выполнения принято время работы алгоритма поиска клик в графе (т.е., время построения графа не учитывается).
0 1 2 3 4 5 67 9
Количество потоков
Рис. 7. График ускорения параллельного алгоритма Ро1у1РУ Заключение
Задача поиска соответствующих точек для однотипных искусственных маркеров по-прежнему остается актуальной. В данной работе авторами предложена формулировка задачи об установлении соответствий на основе взвешенного многодольного графа. Подробно описаны принципы формирования графа потенциальных соответствий. Графовая
формулировка позволяет использовать такие инструменты теории графов, как методы поиска клик, для нахождения соответствий между изображениями точек.
Нами представлено теоретически точное решение задачи — в виде суперклики. К сожалению, алгоритм, реализующий теоретически точное решение задачи, имеет дважды экспоненциальную временную сложность и не может использоваться в практических целях.
Благодаря особой архитектуре разработанной авторами, ФИС становится возможным использовать эвристические алгоритмы установления соответствий. Подобные алгоритмы не всегда приводят к полному и однозначному набору соответствий, однако способны сформировать набор не пересекающихся клик, состоящих из вершин разных долей графа, за практически приемлемое время.
В настоящей работе представлен новый полиномиальный алгоритм поиска соответствующих точек. В отличие от более ранних алгоритмов авторов, данный алгоритм не использует поиск наибольшей клики (как известно, обладающий экспоненциальной временной сложностью). Вместо этого клика формируется перебором потенциальных вершин-кандидатов, с проверкой ряда ограничений (для отсечения ненужных ветвей).
Отличительной особенностью данного алгоритма также является использование многодольного характера графа потенциальных соответствий при формировании клики. Это позволяет обрабатывать потенциально наиболее подходящие вершины в первую очередь.
Также новый алгоритм реализован с применением парадигмы Map-Reduce. На Map-шаге выполняется независимая обработка множества вершин графа, что позволяет распараллелить данный этап. Reduce-шаг, выполняющий своеобразную «свертку» полученных результатов, допускает только один поток.
В рамках настоящей статьи была выполнена экспериментальная проверка и оценка эффективности представленных алгоритмов. Новый полиномиальный алгоритм, два более ранних алгоритма, основанных на графах, а также конкурирующий сторонний алгоритм были реализованы на языке C++. Результаты экспериментов подтвердили ожидаемую высокую производительность нового алгоритма, а также его хорошую масштабируемость.
В качестве наполнения дальнейших работ авторы видят дальнейшее снижение сложности алгоритмов поиска соответствующих точек, а также исследования в области комбинированных алгоритмов.
Авторы хотят поблагодарить профессора Hans-Gerd Maas (TU Dresden) за ценные комментарии по алгоритму Maas-N3 [11].
Литература
1. Hartley R., Zisserman A. Multiple View Geometry in Computer Vision, 2nd ed. Cambridge University Press, 2004.
2. Tushev S.A., Sukhovilov B.M., Sartasov E.M. Architecture of Industrial Close-Range Photogrammetric System with Multi-Functional Coded Targets. // Procedings of the 2017 2nd International Ural Conference on Measurements (UralCon), Chelyabinsk, Russia, 2017. IEEE Xplore Digital Library. P. 435-442. DOI: 10.1109/URALCON.2017.8120748.
3. Тушев С.А., Суховилов Б.М. Анализ эффективности фотограмметрической системы методами имитационного моделирования. Вестник ЮУрГУ. Серия: Математическое
моделирование и программирование. 2018. Т. 11, № 1. С. 109-123. DOI: 10.14529/mmp180110.
4. Tushev S.A., Sukhovilov B.M. Parallel Algorithms for Effective Correspondence Problem Solution in Computer Vision // Вестник ЮУрГУ. Серия: Вычислительная математика и информатика. 2017. Т. 6, № 2. С. 49-68. DOI: 10.14529/cmse170204.
5. Lowe D.G. Distinctive Image Features from Scale Invariant Keypoints // International Journal of Computer Vision. 2004. Vol. 60. P. 91-110. DOI: 10.1023/B:VISI.0000029664.99615.94.
6. Bay H., Tuytelaars T., van Gool L. SURF: Speeded Up Robust Features // Computer Vision and Image Understanding. 2008. Vol. 110, No. 3, P. 346-359. DOI: 10.1016/j.cviu.2007.09.014.
7. Harris C., Stephens M. A Combined Corner and Edge Detector // Proceedings of the 4th Alvey Vision Conference, 1988. P. 147-151. DOI: 10.5244/C.2.23.
8. Tushev S.A., Sukhovilov B.M. Effective Graph-Based Point Matching Algorithms // Procedings of the 2nd International Conference on Industrial Engineering, Applications and Manufacturing (ICIEAM), Chelyabinsk, Russia, 2016. IEEE Xplore Digital Library. P. 1-5. DOI: 10.1109/ICIEAM.2016.7911628.
9. Sukhovilov B. M., Sartasov E. M., Grigorova E. A. Improving the Accuracy of Determining the Position of the Code Marks in the Problems of Constructing Three-dimensional Models of Objects // Procedings of the 2nd International Conference on Industrial Engineering, Applications and Manufacturing (ICIEAM), Chelyabinsk, Russia, 2016. IEEE Xplore Digital Library. P. 1-4. DOI: 10.1109/ICIEAM.2016.7911682.
10. Maas H.-G. Complexity Analysis for the Establishment of Image Correspondences of Dense Spatial Target Fields // International Archives of Photogrammetry and Remote Sensing. 1992. Vol. 29. P. 102-107.
11. Dold J., Maas H.-G. An Application of Epipolar Line Intersection in a Hybrid Close Range Photogrammetric System // International Archives of Photogrammetry and Remote Sensing. 1994. Vol. 30, No. 5. P. 65-70.
12. Maas, H.-G., Gruen A. Digital Photogrammetric Techniques for High-Resolution Three-Dimensional Flow Velocity Measurements // Optical Engineering. 1995. Vol. 34, No. 7. P. 1970-1976.
13. Zhu Z. et al. Automatic Three-Dimensional Measurement of Large-Scale Structure Based on Vision Metrology // Scientific World Journal. Hindawi Publishing Corporation, 2014. Vol. 2014. DOI: 10.1155/2014/185269.
14. Юрин Д.В. Современный взгляд на структуру систем автоматического построения трехмерных виртуальных моделей по изображениям // Международная Научная конференция, посвященная 80-летию со дня рождения академика В.А. Мельникова. Сборник докладов, Некоммерческая Организация Научный Фонд «Первая Исследовательская Лаборатория им. академика В. А. Мельникова». 2009. C. 118-121.
15. Zhang Z. et al. A Robust Technique for Matching Two Uncalibrated Images through the Recovery of the Unknown Epipolar Geometry // Artificial Intelligence. 1995. Vol. 78, No. 1-2. P. 87-119. DOI: 10.1016/0004-3702(95)00022-4.
16. Kolmogorov V., Zabih R. Computing Visual Correspondence with Occlusions Using Graph Cuts // Proceedings Eighth IEEE International Conference on Computer Vision. ICCV 2001. Vol. 2. P. 508-515. DOI: 10.1109/ICCV.2001.937668.
17. Тужилкин А.Ю., Захаров А.А., Жизняков А.Л. Нахождение соответствий на изображениях с использованием спектра графов для задач трехмерной реконструкции // Ползуновский вестник. 2015. Т. 2, №. 4. C. 37-39.
18. Clarke T.A. et al. Automated Three Dimensional Measurement Using Multiple CCD Camera Views // The Photogrammetric Record. 1995. Vol. 15, № 85. P. 27-42.
19. Leung C., Lovell B.C. 3D Reconstruction through Segmentation of Multi-View Image Sequences // Proceedings of the 2003 APRS Workshop on Digital Image Computing. 2003. P. 87-92.
20. Qiqiang F., Guangyun L. Matching of Artificial Target Points Based on Space Intersection // The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. 2008. Vol. XXXVII. P. 111-114.
21. Fraser C.S., Cronk S. A Hybrid Measurement Approach for Close-Range Photogrammetry // ISPRS Journal of Photogrammetry and Remote Sensing. Elsevier B.V., 2009. Vol. 64, No. 3. P. 328-333. DOI: 10.1016/j.isprsjprs.2008.09.009.
22. Triggs B. et al. Bundle Adjustment - A Modern Synthesis // Vision Algorithms: Theory and Practice. 2000. Vol. 1883. P. 298-372. DOI: 10.1007/3-540-44480-7_21.
23. Züge A.P., Carmo R. On Comparing Algorithms for the Maximum Clique Problem // Discrete Applied Mathematics. Elsevier B.V., 2018. No. 2. P. 1-13. DOI: 10.1016/j.dam.2018.01.005.
24. Moon J.W., Moser L. On Cliques in Graphs // Israel Journal of Mathematics. 1965. Vol. 3, No. 1. P 3-28. DOI: 10.1007/BF02760024.
25. Robson J.M. Finding a Maximum Independent Set in Time O(2~(n/4)) // Technical Report of the Universite de Bordeaux I. URL: https://www.labri.fr/perso/robson/mis/ techrep.html (дата обращения: 23.06.2018).
26. Concurrency Runtime. URL: https://msdn.microsoft.com/en-us/library/dd504870.aspx (дата обращения: 23.06.2018).
Тушев Семен Александрович, аспирант, кафедра информационных технологий в экономике, Южно-Уральский государственный университет (национальный исследовательский университет) (Челябинск, Российская Федерация)
Суховилов Борис Максович, доктор технических наук, старший научный сотрудник, заведующий кафедрой, кафедра информационных технологий в экономике, ЮжноУральский государственный университет (национальный исследовательский университет) (Челябинск, Российская Федерация)
DOI: 10.14529/cmse180406
POLYNOMIAL POINT MATCHING ALGORITHM BASED ON EPIPOLAR GEOMETRY
© 2018 S.A. Tushev, B.M. Sukhovilov
South Ural State University (pr. Lenina 76, Chelyabinsk, 454080 Russia) E-mail: semyon.tushev@susu.ru, sukhovilovbm@susu.ru Received: 03.12.2018
Point correspondence problem is one of the key problems in computer vision. There are several approaches for solving this problem, such as descriptor-based approach, an approach that is based on epipolar geometry, as well as hybrid methods. This article reviews point matching by the means of epipolar geometry. These methods are intended to be used with a photogrammetric system that is currently under development. The system uses artificial circular retroreflective targets. We propose to use multipartite weighted undirected graph as a mathematical model of the point correspondence problem. Its vertices represent images of the circle targets in the photos, while its edges define the set of images that satisfy mutual epipolar constraint. We show the exact solution of the point correspondence problem via superclique, and show that the exact solution has exponential time complexity. We also review various heuristic approaches to point matching. Heuristic algorithms do not always provide an exact solution of the problem, but they have much lower time complexity. The architecture of our photogrammetric systems makes it possible to use such fast heuristic point matching algorithms: all the discrepancies will be automatically determined and filtered out in the further stages of photogrammetric reconstruction. This allows to iteratively find an exact reconstruction of the scene in reasonable time. We propose a new polynomial point matching algorithm, and estimate its time complexity as O(n4). We also estimate its efficiency and performance in comparison to other in-house algorithms, as well as in comparison to H.-G. Maas's algorithms. Our new algorithm outperforms all competitors.
Keywords: photogrammetry, computer vision, point matching, correspondence problem, maximum clique problem, epipolar geometry, polynomial algorithm, stereo vision.
FOR CITATION
Tushev S.A., Sukhovilov B.M. Polynomial Point Matching Algorithm Based on Epipolar Geometry. Bulletin of the South Ural State University. Series: Computational Mathematics and Software Engineering. 2018. vol. 7, no. 4. pp. 83-104. (in Russian) DOI: 10.14529/cmse180406.
References
1. Hartley R., Zisserman A. Multiple View Geometry in Computer Vision, 2nd ed. Cambridge University Press, 2004.
2. Tushev S.A., Sukhovilov B.M., Sartasov E.M. Architecture of Industrial Close-Range Photogrammetric System with Multi-Functional Coded Targets. Procedings of the 2017 2nd International Ural Conference on Measurements (UralCon), Chelyabinsk, Russia, 2017. IEEE Xplore Digital Library. pp. 435-442. DOI: 10.1109/URALC0N.2017.8120748.
3. Tushev S.A., Sukhovilov B.M. Efficiency Analysis of Photogrammetric System by Simulation Modelling. Bulletin of the South Ural State University. Ser. Mathematical Modelling, Programming & Computer Software (Bulletin SUSU MMCS), 2018, vol. 11, no. 1, pp. 109123. (in Russian) DOI: 10.14529/mmp180110.
4. Tushev S.A., Sukhovilov B.M. Parallel Algorithms for Effective Correspondence Problem Solution in Computer Vision. Bulletin of the South Ural State University. Series: Computational Mathematics and Software Engineering. 2017. vol. 6, no 2. pp. 49-68. DOI: 10.14529/cmse170204.
С.А. TymeB, B.M. CyxoBH^OB
5. Lowe D.G. Distinctive Image Features from Scale Invariant Keypoints. International Journal of Computer Vision. 2004. vol. 60. pp. 91-110. DOI: 10.1023/B:VISI.0000029664.99615.94.
6. Bay H., Tuytelaars T., van Gool L. SURF: Speeded Up Robust Features. Computer Vision and Image Understanding. 2008. vol. 110, no. 3, pp. 346-359. DOI: 10.1016/j.cviu.2007.09.014.
7. Harris C., Stephens M. A Combined Corner and Edge Detector. Proceedings of the 4th Alvey Vision Conference, 1988. pp. 147-151. DOI: 10.5244/C.2.23.
8. Tushev S.A., Sukhovilov B.M. Effective Graph-Based Point Matching Algorithms. Procedings of the 2nd International Conference on Industrial Engineering, Applications and Manufacturing (ICIEAM), Chelyabinsk, Russia, 2016. IEEE Xplore Digital Library. pp. 1-5. DOI: 10.1109/ICIEAM.2016.7911628.
9. Sukhovilov B. M., Sartasov E. M., Grigorova E. A. Improving the Accuracy of Determining the Position of the Code Marks in the Problems of Constructing Three-dimensional Models of Objects. Procedings of the 2nd International Conference on Industrial Engineering, Applications and Manufacturing (ICIEAM), Chelyabinsk, Russia, 2016. IEEE Xplore Digital Library. pp. 1-4. DOI: 10.1109/ICIEAM.2016.7911682.
10. Maas H.-G. Complexity Analysis for the Establishment of Image Correspondences of Dense Spatial Target Fields. International Archives of Photogrammetry and Remote Sensing. 1992. vol. 29. pp. 102-107.
11. Dold J., Maas H.-G. An Application of Epipolar Line Intersection in a Hybrid Close Range Photogrammetric System. International Archives of Photogrammetry and Remote Sensing. 1994. vol. 30, no. 5. pp. 65-70.
12. Maas, H.-G., Gruen A. Digital Photogrammetric Techniques for High-Resolution Three-Dimensional Flow Velocity Measurements. Optical Engineering. 1995. vol. 34, no. 7. pp. 1970-1976.
13. Zhu Z. et al. Automatic Three-Dimensional Measurement of Large-Scale Structure Based on Vision Metrology. Scientific World Journal. Hindawi Publishing Corporation, 2014. vol. 2014. DOI: 10.1155/2014/185269.
14. Yurin D.V. A Modern Review of the Structure of Automatic Systems for 3D Reconstruction from Images. Mezhdunarodnaya Nauchnaya konferenciya, posvyashchennaya 80-letiyu so dnya rozhdeniya akademika V.A.Mel'nikova [Proceedings of International Scientific Conference Dedicated to the 80th Anniversary of Academician V.A. Melnikov]. Nekom-mercheskaya Organizaciya Nauchnyj Fond "Pervaya Issledovatel'skaya Laboratoriya im. akademika V. A. Mel'nikova". 2009. pp. 118-121. (in Russian)
15. Zhang Z. et al. A Robust Technique for Matching Two Uncalibrated Images through the Recovery of the Unknown Epipolar Geometry. Artificial Intelligence. 1995. vol. 78, no. 1-2. pp. 87-119. DOI: 10.1016/0004-3702(95)00022-4.
16. Kolmogorov V., Zabih R. Computing Visual Correspondence with Occlusions Using Graph Cuts. Proceedings Eighth IEEE International Conference on Computer Vision. ICCV 2001. vol. 2. pp. 508-515. DOI: 10.1109/ICCV.2001.937668.
17. Tuzhilkin A.Yu., Zaharov A.A., Zhiznyakov A.L. Finding Matches on Images Using Eigen-decomposition of Graphs for 3D Reconstruction Tasks. Polzunovskij vestnik. [Polzunov Bulletin]. 2015. vol. 2, no. 4. pp. 37-39. (in Russian)
18. Clarke T.A. et al. Automated Three Dimensional Measurement Using Multiple CCD Camera Views. The Photogrammetric Record. 1995. vol. 15, no. 85. pp. 27-42.
19. Leung C., Lovell B.C. 3D Reconstruction through Segmentation of Multi-View Image Sequences. Proceedings of the 2003 APRS Workshop on Digital Image Computing. 2003. pp. 87-92.
20. Qiqiang F., Guangyun L. Matching of Artificial Target Points Based on Space Intersection. The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. 2008. vol. XXXVII. pp. 111-114.
21. Fraser C.S., Cronk S. A Hybrid Measurement Approach for Close-Range Photogrammetry. ISPRS Journal of Photogrammetry and Remote Sensing. Elsevier B.V., 2009. vol. 64, no. 3. pp. 328-333. DOI: 10.1016/j.isprsjprs.2008.09.009.
22. Triggs B. et al. Bundle Adjustment - A Modern Synthesis. Vision Algorithms: Theory and Practice. 2000. vol. 1883. pp. 298-372. DOI: 10.1007/3-540-44480-7_21.
23. Züge A.P., Carmo R. On Comparing Algorithms for the Maximum Clique Problem. Discrete Applied Mathematics. Elsevier B.V., 2018. no. 2. pp. 1-13. DOI: 10.1016/j.dam.2018.01.005.
24. Moon J.W., Moser L. On Cliques in Graphs. Israel Journal of Mathematics. 1965. vol. 3, no. 1. pp. 23-28. DOI: 10.1007/BF02760024.
25. Robson J.M. Finding a Maximum Independent Set in Time O(2~(n/4)). Technical Report of the Universite de Bordeaux I. Available at: https://www.labri.fr/perso/robson/mis/ techrep.html (accessed: 23.06.2018).
26. Concurrency Runtime. Available at: https://msdn.microsoft.com/en-us/li-brary/dd504870.aspx (accessed: 23.06.2018).