Научная статья на тему 'Меры для сравнения дискретных моделей однозначных поверхностей'

Меры для сравнения дискретных моделей однозначных поверхностей Текст научной статьи по специальности «Математика»

CC BY
65
14
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДИСКРЕТНАЯ МОДЕЛЬ ПОВЕРХНОСТИ / ТРИАНГУЛЯЦИЯ ДЕЛОНЕ / МИНИМАЛЬНОЕ ОСТОВНОЕ ДЕРЕВО / СЛИЯНИЕ НЕРАЗДЕЛЕННЫХ ТРИАНГУЛЯЦИЙ / ВЫЧИСЛИТЕЛЬНАЯ ГЕОМЕТРИЯ / DISCRETE SURFACE MODEL / DELAUNAY TRIANGULATION / MINIMUM SPANNING TREE / MERGING OF NONSEPARATED TRIANGULATIONS / COMPUTATIONAL GEOMETRY

Аннотация научной статьи по математике, автор научной работы — Дышкант Н. Ф.

Рассматривается задача сравнения поверхностей, однозначно проецируемых на плоскость, представленных облаками точек с трехмерными координатами. Такая задача может быть сведена к задаче сравнения функций двух переменных, определенных на разных конечных множествах точек, т.е. в узлах разных сеток. Предлагаются новая мера для сравнения таких поверхностей и новый алгоритм ее расчета, эффективный с вычислительной точки зрения, для общего случая, при котором обе сетки являются неструктурированными и могут иметь разную плотность. Доказана линейная по количеству точек в двух сетках оценка сложности алгоритма, вычисляющего введенную меру на основе двух триангуляций Делоне исходных множеств точек.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Measures for comparison of discrete models of 2.

We consider a problem of surface comparison represented as point clouds with spatial coordinates that can be uniquely projected to a plane. This problem can be reduced to a problem of comparison of functions of two variables defined on different finite point sets, or nodes of different grids. A new measure for surface comparison and a new computationally efficient algorithm to calculate it are proposed. The measure is appropriate for general case when both grids are unstructured and can have different density. Evaluation of time complexity for the algorithm of surface comparison is proved. On basis of two Delaunay triangulations of initial point sets time complexity is linear in the number of nodes in two grids.

Текст научной работы на тему «Меры для сравнения дискретных моделей однозначных поверхностей»

УДК 004.925.83, 510.52

H.Ф. Дышкант1

МЕРЫ ДЛЯ СРАВНЕНИЯ ДИСКРЕТНЫХ МОДЕЛЕЙ ОДНОЗНАЧНЫХ ПОВЕРХНОСТЕЙ*

Рассматривается задача сравнения поверхностей, однозначно проецируемых на плоскость, представленных облаками точек с трехмерными координатами. Такая задача может быть сведена к задаче сравнения функций двух переменных, определенных на разных конечных множествах точек, т. е. в узлах разных сеток. Предлагаются новая мера для сравнения таких поверхностей и новый алгоритм ее расчета, эффективный с вычислительной точки зрения, для общего случая, при котором обе сетки являются неструктурированными и могут иметь разную плотность. Доказана линейная по количеству точек в двух сетках оценка сложности алгоритма, вычисляющего введенную меру на основе двух триангуляций Делоне исходных множеств точек.

Ключевые слова: дискретная модель поверхности, триангуляция Делоне, минимальное остовное дерево, слияние неразделенных триангуляций, вычислительная геометрия.

I. Введение. Трехмерные модели поверхностей объектов из реального мира становятся все более востребованными в самых разных областях науки. На стыке компьютерного зрения и других областей (например, медицины, геоинформатики) возникают задачи анализа и обработки моделей таких поверхностей.

Одним из способов получения моделей поверхностей реальных объектов является использование трехмерного сканера. Модели, полученные таким способом, представляют собой несвязанное облако трехмерных точек. На основе полученного облака точек можно перейти к триангуляционной кусочно-линейной модели поверхности.

Многие современные трехмерные сканеры имеют встроенное программное обеспечение, позволяющее получать целостную модель объекта по серии его отдельных снимков, снятых с разных позиций. Для этого может быть использован, например, итеративный алгоритм ближайших точек (ICP — iterative closest point), предложенный в [1] и ставший классическим для решения задачи совмещения поверхностей. Так как каждый снимок содержит информацию лишь о тех точках объекта, которые видны с позиции наблюдения, то изначально получаемые при сканировании поверхности являются однозначными (2,5d поверхности). Они могут быть рассмотрены как функции высот, определенные на конечных множествах точек с плоскости изображения.

Для моделирования однозначных поверхностей используются два основных вида структур — регулярная (структурированная) и нерегулярная (хаотическая) сетки. Под плоской двумерной сеткой будем понимать набор взаимосвязанных геометрических элементов (узлы, ребра, ячейки). Узлы сетки представляют собой конечное множество точек на плоскости.

Регулярная сетка состоит из узлов, удаленных друг от друга на равное расстояние по вертикали и горизонтали. Все ячейки такой сетки (чаще всего треугольники или прямоугольники) равны между собой. В нерегулярной, или неструктурированной, сетке узлы располагаются произвольно, т. е. регулярная упорядоченная структура отсутствует. Обычно нерегулярная сетка является триангуляционной сеткой Делоне, которая максимизирует минимальное значение углов треугольников.

При использовании регулярных сеток возникает проблема выбора оптимального размера ячейки для достижения приемлемой точности аппроксимации. Шаг сетки приходится выбирать в соответствии с элементами поверхности с наибольшим градиентом. В этом случае такой же мелкий шаг устанавливается и для областей с небольшим градиентом, где было бы достаточно большего шага. Регулярные сетки плохо адаптируются к точности описания: возникает избыточность описания, которая влечет вычислительную и емкостную неэффективность. Поверхности, полученные методами трехмерного сканирования, заданы на нерегулярных сетках. При использовании таких сеток качество аппроксимации поверхностей значительно выше, так как есть возможность адаптации к необходимой

1 Факультет ВМК МГУ, асп., e-mail: natalia.dyshkantQgmail.com

* Работа выполнена при финансовой поддержке РФФИ, проекты № 10-07-00609, 11-01-00783.

точности описания, но требуется введение и разработка более сложных мер для сравнения поверхностей и соответствующих обрабатывающих алгоритмов.

2. Задача сравнения поверхностей. Общая постановка задачи заключается в следующем: даны две поверхности, заданные функциями высот на двух конечных множествах точек, требуется вычислить некоторую меру сходства/различия между ними.

Существует несколько подходов к ее решению. Предварительный этап некоторых алгоритмов состоит в приведении исходных нерегулярных сеток к общей регулярной [2], на которой в дальнейшем можно быстро вычислить меру различия (например, среднюю разницу между высотами). При этом используется интерполяция и экстраполяция значений исходных данных, при которых теряется точность аппроксимации поверхности. В некоторых подходах предполагается изначальное непрерывное представление поверхности [3] либо использование регулярной сетки [4]. Существующие меры и алгоритмы для сравнения поверхностей в случае их задания в узлах разных неструктурированных сеток, т. е. когда напрямую вычисление разницы между ними невозможно, либо требуют большого количества вычислений, либо дают неточную оценку сходства. Поэтому задача разработки мер для сравнения таких поверхностей остается актуальной.

В работе предлагаются меры и подход для сравнения однозначных поверхностей, подразумевающие сохранение исходной неструктурированности сеток. Основное достоинство такого подхода в том, что он не использует переход к регулярным сеткам, который требует вычислительных затрат и понижает точность описания.

2.1. Постановка задачи. Математическая задача состоит в следующем: даны две плоские неразделенные* триангуляционные сетки Делоне д\ и д2, в общем случае имеющие разные плотности, и две сеточные функции и /2, заданные векторами значений в узлах сеток д\ и д2; требуется ввести меру для сравнения таких функций и разработать алгоритм для ее вычисления.

Пусть 7~1. 7*_. и / — триангуляции Делоне, построенные на множествах узлов сеток д\, д2 и общей сетки д = д\ и д2 соответственно. Будем называть Т общей, или объединенной, триангуляцией. Обозначим через Сопу(д) выпуклую оболочку сетки д. Будем считать, что исходные сетки состоят из непересекающихся множеств узлов.

2.2. Меры для сравнения поверхностей. В [5] рассматривалась задача сравнения поверхностей одного и того же объекта, заданных на разных множествах точек, при этом расстояние от точки на одной поверхности до другой поверхности предлагалось вычислять вдоль нормалей к сплайнам второй поверхности. Такой подход не требует приведения сравниваемых функций к общей сетке. Для таких мер, как, например, среднее расстояние между высотами, которые могут быть напрямую вычислены при задании обеих поверхностей в узлах общей сетки, не очевидны пути обобщения на случай их задания в узлах разных сеток без этапа приведения сеток к регулярным. В [4] мера для сравнения поверхностей вводилась как максимальное евклидово расстояние (¿(^[г],д2у^), где д\Щ € <71, а д2[^г] — ближайший к дхЩ узел второй сетки. Такая мера может быть обобщена на случай разных нерегулярных сеток, но ее вычисление будет иметь квадратичную сложность и, кроме того, ее физический смысл приемлем в малом количестве приложений.

В [6] автором были предложены мера сравнения поверхностей, заданных однозначными функциями в узлах разных нерегулярных триангуляционных сеток, и алгоритм ее вычисления. При определении меры вычислялась сумма объемов разности между функциями по всем треугольникам Т. При этом значения исходных функций /1 и /2 интерполировались в точках противоположной сетки с использованием локализации триангуляций Т\ и Т2 друг в друге. В результате интерполяции получаем непрерывные функции и /2, заданные на множестве Сопу(д), для которых Д = /1 в узлах д 1, /2 = /2 в узлах д2. Пусть /¿(ж, у) — функция, определяющая вес (значимость) различия поверхностей в точке (х,у). Будем считать, что /¿(ж, у) определена и конечна во всех точках Сопу(д) и равна нулю вне Сопу(д).

*То есть имеющие пересекающиеся выпуклые оболочки множеств узлов.

Введем обозначение взвешенного объема разности между поверхностями на треугольной области:

^(ДВ,С,/ь/2)= Ц\/1(х,у)-/2(х,у)\ф,у)<1х(1у. (1)

ААВС

Объем У^ при ¡1=1 является метрикой для проинтерполированных исходных функций Д и /2 на ААВС. Обозначим через Зсопу(д) площадь выпуклой оболочки множества д, которая будет равна сумме площадей всех треугольников триангуляции множества д. В качестве меры для сравнения предлагалась мера

Сопу(д) • (2)

ААВСеТ

Суммирование происходит по всем треугольникам Т.

Предложенная мера может быть адаптирована для каждого конкретного приложения с помощью введения функции ¡1. Если в качестве ¡1 взять тождественную единицу, то сходство всех фрагментов поверхностей будет учитываться с одинаковым весом. Обозначим через V значение (1) при ¡1 = 1 на Сопу(д), а через ру — соответствующую (2) меру сравнения.

Один и тот же вес для всех фрагментов может быть оправдан в том случае, когда обе сетки равномерные и имеют одинаковую плотность. Однако природа реальных данных такова, что исходные сетки не всегда равномерные, и в объединенной сетке, по которой происходит сравнение, присутствуют существенные по площади области, состоящие из узлов только одной из исходных сеток.

Недостатком меры ру является то, что она с одинаковым весом учитывает разницу поверхностей и там, где узлы двух сеток "перемешаны" между собой, и там, где одна из сеток гуще, чем другая. На практике этот недостаток проявляется при решении задачи сравнения поверхностей объектов, полученных разными сканерами, которые могут отличаться по точности на несколько порядков. В случае сильной разреженности одной из сеток (рис. 1) возможны большие ошибки линейной интерполяции поверхности.

Рис. 1. Модели, аппроксимирующие одну и ту же поверхность

_ 2 _ 2

£ = хе х у , заданные на сетках с разными плотностями

В результате мера, описанная в [6], дает неадекватные результаты сравнения, так как шумовое влияние ошибок линейной интерполяции очень велико. Предлагается использовать в качестве меры сравнения такую, которая будет учитывать только репрезентативные данные — те области, где сосредоточены узлы обеих сеток:

Рау(/ь/2)= £ (3)

ААВС еТ: ААВС £Т1гААВС £Т2

где ¿¡п^) — суммарная площадь таких областей. Суммирование происходит только по тем треугольникам Т, которые не входят ни в одну из триангуляций Т\ и Т2 исходных сеток. Треугольник из Т, соединяющий узлы разных сеток, — это новый треугольник, построенный при слиянии Т\ жТ2. Если треугольник целиком перешел из Т\(Т2) в Т, то все его вершины являются узлами сетки д\(д2). Поэтому треугольники, по которым происходит суммирование, и только они объединяют вершины из обеих исходных сеток д\ и д2.

Определение 1. Ребра и грани (треугольники) общей триангуляции Т, построенной на множестве узлов сетки д = д\ и д2^ соединяющие узлы из разных исходных сеток д\ и д2^ будем называть интерфейсными.

Утверждение 1. Мера (3) представляет собой частный случай меры (2): рду(/15/2) = = РуД/ъ/2) при весовой функции

/ ч (х,у) £ ААВС : ААВС £Т, ААВС и ААВС ¿Т2;

= ^ л (4)

10, иначе.

Доказательство. Непосредственно из определения введенной меры руц (Д, /2) вытекает, что использование в ней весовой функции (4) дает меру роу(/1, /2) •

3. Алгоритм поиска интерфейсных граней. Исходными данными для алгоритма являются две неразделенные триангулированные сетки д2^ на выходе требуется получить список всех интерфейсных граней общей триангуляции. Предлагаемый алгоритм сходен с алгоритмом слияния неразделенных триангуляций Делоне [7, 8].

Множество интерфейсных граней разбивается на несколько подмножеств, каждое из которых является цепочкой из инцидентных (смежных по стороне) треугольников: либо замкнутой, либо разомкнутой, в которой крайние треугольники имеют хотя бы одну граничную сторону, т. е. сторону Сопу(д) (рис. 2). Поэтому алгоритм выделения всех интерфейсных граней сводится к прослеживанию цепочек из таких граней.

Рис. 2. Неразделенные триангулированные нерегулярные сетки (а); их общая триангуляция Делоне с закрашенными цепочками интерфейсных граней: тремя замкнутыми (темно-серый цвет) и двумя разомкнутыми (светло-серый цвет) (б)

Определим понятия связности элементов триангуляции.

Определение 2. Множество узлов и ребер (ребер и граней) в триангуляции называется связным, если для любой пары входящих в него узлов (ребер) существует цепь из попарно инцидентных узлов и ребер (ребер и граней).

ОпределениеЗ. Максимальные связные подмножества узлов и ребер, перешедшие в Т из одной триангуляции без изменений, будем называть лоскутами.

Заметим, что задачу прослеживания цепочек интерфейсных граней можно рассматривать как задачу локализации лоскутов в триангуляции.

Будем называть интерфейсное ребро общей триангуляции Делоне Т из еще не прослеженной цепочки граней стартером. Стартер инициализирует процесс прослеживания цепочки интерфейсных граней. Тогда алгоритм выделения интерфейсных граней состоит из следующих этапов: 1) поиска начального стартера; 2) прослеживания цепочки граней, соответствующих найденному стартеру; 3) поиска очередного стартера. Если стартер найден, перейти к предыдущему этапу, иначе закончить.

3.1. Поиск начального стартера. Пусть узлы сеток д\ и д2 упорядочены лексикографически, 51 [0] и д2Щ — самые левые узлы сеток и д\[0] -< д2[0].

Для поиска начального стартера рассмотрим окружность, проходящую через узлы д\ [0], д2 [0] с центром на горизонтальном луче, выходящем из д2 [0] влево. Окружность называется пустой относительно сетки, если она не содержит внутри себя узлов этой сетки. По построению рассматриваемая окружность пуста относительно д2, однако внутри нее могут находиться узлы из д\. Проведем через каждый из таких узлов и д2 [0] окружности с центрами на том же горизонтальном луче и выберем такой узел д\ [&], который лежит на окружности минимального радиуса (рис. 3). Эта окружность будет пуста относительно сеток д2, а значит, и д. Поэтому для ребра, соединяющего д\[к] и д2[0],

выполняется условие Делоне — условие существования пустой окружности, проходящей через концевые точки ребра, и оно является ребром Т. Ребро [0] будет начальным стартером, так как выполняются условия следующей теоремы.

Теорема 1 (критерий существования стартера [8]). Узел сетки д± (д2) имеет инцидентное интерфейсное ребро общей триангуляции Делоне, построенной на множестве узлов сетки д± и д2, тогда и только тогда, когда существует инцидентная этому узлу окружность, пустая относительно остальных узлов из д\ (д2), но содержащая внутри себя или проходящая через хотя бы один узел противоположной сетки д2 (д\).

Время поиска начального стартера складывается из времени на вычисление самых левых узлов сеток д\ и д2 и времени однократного просмотра узлов сетки д2 при поиске окружности минимального радиуса. Таким образом, оно линейно по числу узлов в д.

3.2. Прослеживание цепочки интерфейсных граней. В процессе прослеживания строятся новые интерфейсные ребра, смежные с последним построенным ребром (на первом этапе — со стартером). Новый интерфейсный треугольник может иметь пересечение с ребрами из Тх, Т2. Такие ребра должны быть разрушены при построении следующего интерфейсного ребра. В этом случае новое ребро будет смежным с последним построенным вследствие следующей леммы.

Лемма 1 [8]. Если узел является инцидентным разрушенному ребру из Т\ или Т2, то в Т он будет инцидентным интерфейсному ребру.

Таким образом, процесс прослеживания состоит в следующем: а) объявить стартер текущим ребром; б) произвести в Т\ и Т2 коррекцию ребер, инцидентных концевым узлам текущего ребра, — удалить ребра, для которых не выполнено условие Делоне; в) построить новое ребро, инцидентное текущему, соединяющее узлы разных сеток, объявить его текущим; г) удалить ребра Тх и Т2, пересекающие треугольную грань, образованную текущим и новым ребрами.

Алгоритм прослеживания работает аналогично алгоритму построения триангуляции Делоне Ли и Шехтера (Ьее, ЭсЬасМег), состоящему из фаз расчистки и сшивания, описанному в [9]. Если на шаге (в) новое ребро совпадает со стартером, то цепочка прослеживаемых граней замкнутая; а если новое ребро построить не удалось, то цепочка разомкнутая, и текущее ребро является концевым ребром прослеживаемой цепочки. Тогда следует продолжить процесс прослеживания от стартера в обратную сторону до тех пор, пока не будет найдено второе концевое ребро цепочки.

3.3. Поиск стартеров. Поиск остальных стартеров осуществляется с помощью минимальных остовных деревьев (МОД) триангуляций Делоне Тх и Т2, так как справедливо следующее утверждение.

Утверждение 2. Если в процессе прослеживания цепочки интерфейсных граней нарушается связность Тх (Т2), то среди разрушенных ребер есть ребро МОД.

Следуя [8], будем называть ребра МОД триангуляций Т\ и Т2, удаленные в процессе прослеживания, мостамщ а окружность, диаметром которой является мост, — окружностью влияния моста. Один из концевых узлов моста принадлежит уже прослеженной интерфейсной грани, а второй узел остается свободным.

Лемма 2 [8]. Для каждого свободного узла существует инцидентный стартер.

Таким образом, при разрушении моста образуется свободный узел, для которого найдется стартер и будет прослежена новая цепочка интерфейсных граней. Следующая лемма показывает, среди каких узлов нужно искать второй концевой узел стартера.

Лемма 3 [8]. Пусть А — узел Т, В — свободный узел, пара АВ образует стартер. Тогда узел В находится внутри хотя бы одной из максимальных пустых окружностей в Т, инцидентных узлу А.

о

о

Рис. 3. Поиск начального стартера

Поиск стартера по свободному узлу А и мосту АВ состоит из следующих шагов: а) поиска прослеженной интерфейсной грани, внутри описанной окружности которой находится свободный узел А (направленным перебором вдоль АВ); б) поиска интерфейсных граней, смежных с найденной гранью, внутри описанных окружностей которых находится свободный узел А; в) построения множества I) = {1?1,..., !)„} узлов найденных граней, расположенных внутри окружности влияния моста АВ; г) построения для каждого узла I), ^ I) окружности, проходящей через узлы I), и Л с центром на АВ, и выбора узла /),». соответствующего окружности минимального радиуса (аналогично поиску начального стартера). Ребро /.),»Л является новым стартером.

3.4. Вычислительная сложность алгоритма.

Теорема 2. Вычислительная сложность этапа поиска всех стартеров составляет 0(Ж), где N — общее число узлов в объединенной сетке.

Доказательство теоремы 2 приведено в [8] и основано на следующем. По определению мост является ребром МОД. Из свойств МОД следует, что окружность влияния моста пуста относительно концевых и серединных точек других мостов. С помощью этого свойства оценивается мера пересечения одного моста и окружности влияния другого. Далее оценивается количество мостов из которые может разрушить одно ребро из Т2, и общее количество пересечений мостов с ребрами.

Теорема 2 позволила оценить сложность алгоритма поиска интерфейсных граней:

Теорема 3 (оценка сложности алгоритма). Алгоритм выделения всех интерфейсных граней имеет сложность О(Ж), где N — общее число узлов в объединенной сетке.

Доказательство. Во время работы алгоритма происходит разрушение некоторых ребер из Ч"\. ']'■> и построение интерфейсных ребер из Т. При реализации структуры данных для триангуляции в задаче удобно использовать структуру "узлы с соседями" [10].

Построение нового ребра включает проверку углового критерия [10] для двух ребер, которая производится за 0(1), и проверку углового критерия для двух инцидентных с ними ребер из Т\ и ']'■>. В случае, когда ребро не удовлетворяет угловому критерию, оно разрушается и проверке подвергается инцидентное ему ребро. При включении в Т первого интерфейсного ребра, образованного стартером, в худшем случае потребуется полный перебор всех ребер, инцидентных концевым узлам нового ребра (О(Ж)). При построении каждого следующего интерфейсного ребра потребуется константное время 0(1), так как оно соседнее для текущего ребра, т.е. включается в фиксированную позицию. Общее количество разрушенных ребер не превосходит количества ребер н 1\ и 'А (0(Л^1) + 0(Ж2)), а общее количество построенных ребер не превосходит количества ребер в Т (О(Ж)). Следовательно, общее время на разрушение и построение всех ребер линейно по числу узлов в Т.

4. Алгоритм сравнения поверхностей. Общий алгоритм Ар сравнения поверхностей, заданных на разных конечных множествах точек на плоскости мощностью N1 и Н2 соответственно (N1 + N2 = -/V), т.е. в узлах сеток дх, д2, вычисляющий меру р, включает в себя следующие этапы (для каждого из них указана сложность): 1) построение Т1, Т2 на множествах узлов сеток 51, д2 ~ 0(Ж1 \ogNx) + 0(Ж2 2) построение МОД для Ть Т2 ~ 0(М1) + О(N2); 3) локализацию

узлов д2 в Т2, Т\ с использованием МОД: экспериментально ~ О(Ы); 4) интерполяцию значений /1, /2 в узлах д2, д\ на основе локализации ~ 0{Н); 5) вычисление меры р(/1,/2) для сравнения поверхностей.

В [6] показано, что алгоритм АР¥ на основе построенных Ть Т2 экспериментально работает за время О(Ы) при условии равномерности расположения узлов в д 1, д2. Однако в худшем случае этап локализации не является линейным.

Для вычисления меры (3) предлагается алгоритм АР9У — модификация алгоритма Ар, состоящая в том, что вместо этапа локализации сеток в триангуляции с использованием МОД производятся два этапа — поиск интерфейсных граней и локализация сеток на основе списка найденных интерфейсных граней.

Теорема 4. Локализация сетки в триангуляции на основе списка интерфейсных граней может быть осуществлена за время О(Ы).

Доказательство. Как отмечалось выше, задачи прослеживания цепочек интерфейсных граней и локализации лоскутов в триангуляции эквивалентны. Поэтому для каждого лоскута из Т\ можно

получить упорядочение вершин (узлов) его контура, например, по часовой стрелке: Л1. Л2.....Л„

(рис. 4).

Рис. 4. Локализация сетки в триангуляции на основе списка интерфейсных граней

Далее произведем локализацию узла в треугольнике из Т2 (0(N2)) и составим циклический список треугольников Т2 (каждый следующий смежен по стороне с предыдущим), начинающийся с найденного треугольника. Этот список будет состоять из 0(N2) треугольников. Узел А\ будет локализован в первом треугольнике AB±B^Bq. При локализации каждого следующего узла контура достаточно просматривать лишь "хвост" списка начиная с треугольника, в котором локализован предыдущий узел. Такая локализация будет осуществлена за 0(N2). Аналогичным образом происходит локализация контура Bi, В2,..., Вт в списке треугольников из Ti.

Теорема 5. Алгоритм APdv имеет вычислительную сложность 0(N\ogN). При построенных на этапе предобработки триангуляциях Делоне Ti, Т2 вычислительная сложность алгоритма равна O(N).

Доказательство. Алгоритм АРду включает следующие этапы: 1) построение Ti, Т2 на множествах узлов ди д2 ~ 0(Ni logTVi) + 0(N2 log TV2); 2) построение МОД для Ть T2 - 0(Ni) + 0(N2) (алгоритм Черитона и Тарьяна (Cheriton, Tarjan)); 3) поиск интерфейсных треугольников ~ 0(N) (теорема 3); 4) локализацию узлов gi, д2 в Т2, Ti ~ 0(N) (теорема 4); 5) интерполяцию значений Д, /2 в узлах д2, gi на основе локализации ~ 0(N); 6) вычисление меры pgy(Д,/2) по интерфейсным треугольникам ~ O(N). Таким образом, все этапы, кроме первого, имеющего сложность O(TVlogTV), выполняются за линейное по числу узлов в общей сетке время.

5. Заключение. Предложена мера для сравнения дискретных моделей поверхностей, определенных в узлах разных триангуляционных сеток (в общем случае имеющих разную плотность узлов), и алгоритм выделения интерфейсных граней, по которым вычисляется эта мера. Доказана линейная оценка сложности предложенного алгоритма. Доказаны линейная сложность этапа локализации узлов сетки в триангуляции на основе результатов алгоритма поиска интерфейсных граней. Доказана оценка сложности алгоритма сравнения поверхностей, вычисляющего введенную меру.

СПИСОК ЛИТЕРАТУРЫ

1. Besl P., McKay Н. A method for registration of 3-d shapes // IEEE Transactions on Pattern Analysis and Machine Intelligence. 1992. 14. N 2. P. 239-256.

2. Колесов А., Павлова О. Пакет Surfer — обработка и визуализация двумерных функций // КомпьютерПресс. 1999. № 2/99. С. 51-57.

3. Grúen A., Akca D. Squares 3D surface and curve matching // ISPRS J. Photogrammetry and Remote Sensing. 2005. 59. P. 151-174.

4. Cignoni P., Roccini C., Scopigno R. Metro: measuring error on simplified surfaces // Computer Graphics Forum. Vol. 12. N 2. Lisbon, Portugal: Blackwell Publishers, 1998. P. 167-174.

5. Schenk Т. Digital Photogrammetry. Laurelville: Terra-Science, 1999.

6. Dyshkant N. An algorithm for calculating the similarity measures of surfaces represented as point clouds // Pattern Recognition and Image Analysis. 2010. 20. N 4. P. 495-504.

7. Местецкий Л.М., Царик E.B. Триангуляция Делоне: рекурсия без пространственного разделения точек // Труды конференции ТрафиКон'2004". М.: Изд. отдел ф-та ВМК МГУ, 2004. С. 267-270.

48

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

ВЕСТН. МОСК. УН-ТА. СЕР. 15. ВЫЧИСЛ. МАТЕМ. И КИБЕРН. 2011. № 4

8. Местецкий Jl. М., Цари к Е. В. Слияние неразделенных триангуляций Делоне // Сложные системы: обработка информации, моделирование и оптимизация. № 2. Тверь: Тверской гос. университет, 2004. С. 216-231.

9. Местецкий Jl. М. Непрерывная морфология бинарных изображений: фигуры, скелеты, циркуляры. М.: Физматлит, 2009.

10. Скворцов A.B. Обзор алгоритмов построения триангуляции Делоне // Вычисл. методы и программирование. 2002. № 3. С. 14-39.

Поступила в редакцию 06.12.10

MEASURES FOR COMPARISON OF DISCRETE MODELS OF 2.5D SURFACES

Dyshkant N. F.

We consider a problem of surface comparison represented as point clouds with spatial coordinates that can be uniquely projected to a plane. This problem can be reduced to a problem of comparison of functions of two variables defined on different finite point sets, or nodes of different grids. A new measure for surface comparison and a new computationally efficient algorithm to calculate it are proposed. The measure is appropriate for general case when both grids are unstructured and can have different density. Evaluation of time complexity for the algorithm of surface comparison is proved. On basis of two Delaunay triangulations of initial point sets time complexity is linear in the number of nodes in two grids.

Keywords: discrete surface model, Delaunay triangulation, minimum spanning tree, merging of nonseparated triangulations, computational geometry.

i Надоели баннеры? Вы всегда можете отключить рекламу.