УДК 519.67
ДИСКРЕТНАЯ ИНТЕРПОЛЯЦИЯ СИБСОНА БЕЗ ПРЕДВАРИТЕЛЬНОГО ПОСТРОЕНИЯ ДИАГРАММЫ ВОРОНОГО
Белгородский
государственный
университет
М. А. МАЙДАКОВ
В работе рассмотрен метод быстрого построения дискретной интерполяции Сибсона для больших наборов исходных данных основанный на подходе с «разбросом значений». Ускорения достигается за счет отсутствия необходимости предварительного вычисления диаграммы Вороного, что позволяет не только существенно снизить вычислительное время, но и использовать простые структуры данных для хранения промежуточных данных.
e-mail: [email protected]
Ключевые слова: дискретная интерполяция Сибсона, диаграмма Вороного, построение блочных моделей.
Введение
Методы интерполяции естественных соседей, такие как метод Сибсона, являются хорошо известными схемами аппроксимации и реконструкции многомерных данных, используемые во многих областях, таких как геология, горное дело, экология и механика твердого тела. Несмотря на многочисленные свои положительные свойства, метод Сибсона характеризуется весьма трудоемким и сложным в реализации, особенно когда он используется для высоких размерностей. Основная причина этих проблем состоит в том, что реализация метода основана на диаграмме Вороного всего множества точек данных.
Задача интерполяции, в общем случае, сводится к задаче вычисления значения некоторой функции 10 = Кхо) в заданной точке Хо, по ее значениям, заданным на фиксированной системе узлов хі є Ей. Алгоритмы вычисления значений неизвестной функции 1 = 1(х), тем или иным способом сводятся к окончательной формуле вида:
В выражении (1) а, - коэффициенты интерполяции, зависящие от расположения системы точек и не зависящие от самой функции/; п - количество точек, по которым производится интерполяция функции/ .
Различные методы интерполяции отличаются способом выбора коэффициентов интерполяции и методами выбора соседей для узловой точки. Однако среди множества известных методов интерполяции особое место занимает интерполяция Сибсона, для которой весовой вклад пробы не задается мерой длины одинаковой для всех направлений, а определяется соответствующей мерой Лебега в пространстве направлений, что обеспечивает единственность и непрерывность результатов интерполяции, а также их устойчивость относительно малых возмущений [1]. Среди других свойств, методы интерполяции естественных соседей являются локальными, то есть для них необходимы лишь локальные соседи, и они имеют линейную точность и С1 непрерывность всюду за исключением мест опробования. Интерполяция естественных соседей существенного лучше традиционных методов дистанционного взвешивания, так как её плотность меняется в зависимости от суммарного вклада влияющих областей.
Описание основных методов дискретной интерполяции Сибсона Определение коэффициентов интерполяции Сибсона опирается на понятие ячейки или диаграммы Вороного. Стандартная диаграмма Вороного представляет собой разбиение некоторой области на ячейки или регионы на основе заданного ко-
(1)
нечного множества рассеянных точек данных, названных сайтами. Диаграмма Вороного Vor(N) множества N в области Q является разбиением области на регионы Vor(pi) с Q таким образом, что любая точка в Vor(pi) находится ближе к пробе pi, чем к любой другой пробе pj е N(j # i). Регион Vor(pi) ассоциированный с пробой pi называется ячейкой Вороного и определяется как:
Vor(Pi ) = {Р е Q : d(p> Pi ) <d{p, Pj )Vi * j) (2)
где d - метрика расстояния
Тогда для получения значения функции интерполяции в узле p, в диаграмму Вороного вставляется временная проба p, как это показано на рис. 1 (б). Полученная ячейка Вороного V(p) имеет к соседних ячеек Vor(pi),..., Vor(pk). Смежные к проб pi,..., pk называются естественными соседями временной пробы p. Площадь или объем ячейки Vor(p) является объединением площадей или объемов Ui принадлежавших соседним ячейкам Вороного V(pi) в исходной диаграмме Вороного, как это показано на рис. 1 (в). Интерполянт Сибсона функции ( оценивается в узле p следующим образом [3]:
f (Р ) = -Р) = £=, U f(p,), где Ч=^Г- (3)
У « У и
Z_Ji =1 1 1=1 1
где Ui - является пересечением площадей (объемов) ячейки Воронного для точки pi и временной ячейки Вороного для точки p.
P1>l k!4
*р» 1 •P^u4 Г * Р 4
’р 1 ■•••' Р:
\ \ • Рз\ Р/ / Р4
* Pl Р:
• Рз Р 4
а б в г
Рис. 1. Интерполяция Сибсона начинается с расчета диаграммы Вороного (a)
и временной вставки узловой пробы p (б) для определения размеров областей и;(в), которые используются в качестве весов интерполяции (г)
Интерполяция Сибсона традиционно реализуется геометрически, то есть вычисляются весовые вклады для интерполянта путём определения площадей или объемов щ связанных с пробами pi после вставки в диаграмму Вороного временного узла p [3]. Поскольку расчет интерполянта Сибсона в узле p эквивалентен определению средних значений соседних проб, то дискретная интерполяция Сибсона может быть вычислена путём усреднения дискретных элементов. Накапливая все значения данных опробования для исходной диаграммы Вороного внутри временно вставляемого региона Вороного ^г^) (рис. 2а) и разделив накопленное значение на число просуммированных элементов, мы определим среднее значение для региона. Это значение и есть дискретный эквивалент значения интерполяции Сибсона. Поскольку дискретные элементы накапливаются в одной позиции, то данная схема интерполяции называется “подходом собирания”.
Намного более эффективный подход предложен в работе [3]. Ключевая идея построения более эффективного интерполянта Сибсона состоит в рассмотрении проблемы с “обратной” стороны, когда значения “разбрасываются”, а не собираются.
Данный подход основывается на теореме 1.
Теорема 1:
В дискретном интерполянте Сибсона, значение ^0) растра i воздействует только на те внешние растры p, которые находятся внутри некоторой d-мерной сферы вокруг растра 1, радиус которой равен расстоянию от растра i до ближайшей пробы.
Тогда вместо итеративного прохода по всем позициям р и накопления всех значений позиций растра і є V(p) в с(р), можно выполнить итерации по растровым позициям і и определять, какие ^) находятся под влиянием значения растра і (рис. 2б). Смешав сферы для каждого растра I в результате мы получим дискретный ин-терполянт Сибсона.
Рис. 2 Подход с накоплением значения (а), Подход с разбросом значений (б)
При этом нахождение ближайшего соседа происходит без прямого построения диаграммы Воронго, а при помощи построения kd-дерева. Однако для построение kd-дерева для п точек на предварительном этапе требуется о(п*^п) времени. Запрос ближайшего соседа для каждого растра i потребует еще О(^п) времени.
Построение в том или ином виде диаграммы Вороного и является слабым местом построения дискретной интерполяции Сибсона, поскольку такой подход требует не только вычислительных затрат для вычисления ближайших соседей, но и требует достаточно сложных структур данных для хранения промежуточных результатов, особенно в высоких размерностях.
При этом с увеличение количества исходных точек данных существенно увеличивается и вычислительное время. Что делает данные подходы дорогостоящими не только в вычислительном отношении, но и трудно реализуемые с алгоритмической точки зрения.
Метод дискретной интерполяции Сибсона без построения диаграммы Вороного
В данной работе предлагается подход для вычисления дискретной интерполяции Сибсона без предварительного построения диаграммы Вороного. Данный метод основан на подходе с «разбросом» значения. Однако не требует предварительного поиска расстояния и значения ближайшего соседа.
Основная идея данного метода, основывается на геометрических свойствах дискретной диаграммы Вороного, и заключается в объединении задачи поиска ближайшего соседа с задачей разброса значения для каждого растра. Разброс значения осуществляется с последовательным увеличением радиуса разброса для каждого растра ^ до тех пор, пока не встретится первая точка исходных данных (рис 3).
Щ
:р
рз
р2
рз;
р1
Рис. 3. Итерации поиска и разброса значения с последовательным увеличением радиуса
Серия История. Политология. Экономика. Информатика. д-|
2010. № 1 (72). Выпуск 13/1
При этом нетрудно доказать что точка исходных данных, которая встретиться при таком разбросе и является ближайшим соседом для заданного растра. Основная проблема заключается в том, что до нахождения ближайшего соседа не известно его значение. Поэтому предлагается разбрасывать указатель на значение ближайшего соседа, т.е. адрес зарезервированной ячейки памяти. При этом, как только ближайший сосед будет найден в результате последовательного разброса, в данную ячейку памяти будет записано его значение, а следовательно и присвоено всем ячейкам, находящимся под влиянием данного растра. После разброса значения всех растров, для каждого растра осуществляется сложение всех значений и усреднение итогового значения путем деления на количество влиявших элементов.
Пусть P - набор исходных точек данных p содержащих значение Vp, I - набор выходных растров i регулярной решетки, vali -указатель на ячейку со значением растра i, veci - вектор для хранения указателей на влияющие значения, flagi - переменная указывающая найдена ли ближайшая исходная точка p. Ri - текущий радиус. F(i) - значение интерполяна растра i.
Тогда алгоритм для построения дискретной интерполяции Сибсона, можно свести к нескольким простым шагам:
Для всех выходных растров i е I выполнить:
- Установить flagi = true, Ri=i;
- Пока flagi = true выполнить:
о Для каждой точки j лежащей на окружности радиуса Ri с центром в точке i:
Если j содержит значение Vp Тогда:
• flagi=false; vali= Vp;
Иначе:
• Добавить к vecj значение vali;
• Увеличить Ri на единицу;
- Для всех выходных растров i е I: F(i)= ^k vali (t)/ k
Результаты
В отличие от других методов дискретной интерполяции Сибсона, предложенный метод позволяет обойтись без построения и хранения промежуточной диаграммы Вороного, что обуславливает алгоритмическую простоту данного метода и позволяет существенно сократить вычислительное время для больших наборов исходных данных.
Для оценки производительности данного метода дискретной интерполяции Сибсона, было произведено сравнение с методом на основе разброса значений с использованием промежуточной диаграммы Вороного. Данные генерировались на компьютере с процессором 3 GHz Pentium 4, имеющем 2GB RAM, с операционной системой Windows XP. На Рис. 4 проиллюстрировано сравнение времени вычислений обоих алгоритмов при изменении числа входных значений для регулярной решетки 512 x 512 пикселей.
*3000 8000 7000 6000 * М>С«0
1 4000 3000 ¿ООО 1ÛÛÛ О
Рис. 4. Сравнение производительности алгоритмов на основе стандартного подхода (standart) и подхода без построения диаграммы вороного (RIS)
НАУЧНЫЕ ВЕДОМОСТИ
На графике видно, что для сравнительно небольшого числа проб предложенный подход (RSI) медленнее стандартного (Standart), поскольку расстояние между исходными пробами достаточно велико и для каждого растра выполняется большое количество итераций по разбросу значений. Однако для большого количества проб данных он существенно быстрее, поскольку в отличие стандартных подходов основанных на диаграмме Вороного имеет обратную зависимость от количества исходных данных. Таким образом, чем точнее исходная модель, тем быстрее вычисляется интерполяция данной модели.
Литература
1. Афанасьев К.Е. Сравнительное исследование алгоритмов интерполяции Сибсона и Лапласа [Текст]/ К.Е Афанасьев, Т.С. Рейн // Сборник научных трудов VII Всероссийской научно-практической конференции «Инновационные недра Кузбасса. IT-технологии». - Кемерово: ИНТ, 2008. - С. 286-291.
2. Sukumar N.; Morann B. and Belyschko T. The Natural Element Method in Solid Mechanics. Int’l J. Numerical Methods in Eng., November, 1998, vol. 43 - pp. 839-887.
3. Sung W. Park; Lars Linsen; Oliver Kreylos; John D. Owens; Bernd Hamann Discrete Sibson Interpolation. IEEE Transactions On Visualization And Computer Graphics, 2006, vol. 12, No. 2,-pp. 243-253.
DISCRETE SIBSON INTERPOLATION WITHOUT PRE-OF VORONOI DIAGRAM
M.A. MAIDAKOV
Belgorod State University e-mail: [email protected]
This paper represents a fast method for construction discrete Sibson interpolation for lage large sets of input data based on the “scatter” approach. Acceleration is achieved by not having to pre-computation of Voronoi diagrams that allows not only significantly reduce the computing time, but use simple data structures to store intermediate data.
Key words: discrete Sibson interpolation, Voronoi diagram, construction block models.
02301126