Введение
Схемы подразделений появились в задачах геометрического моделирования, причем в последствии обнаружилась тесная их связь с вейвлетами [1]. В частности вейвлеты и масштабирующие функции можно получать посредством схем подразеделений, в которых в качестве маски схемы выступает масштабная последовательность [1,2]. Схема подъема, использующая схемы подразделений, представленная в статье [3], позволяет строить биортогональные вейвлеты с заданными свойствами. Использованию схем подразделений и вейвлетов в задачах геометрического моделирования посвящены, например статьи [4-9]. Схема подъема и схема подразделений позволяет построить парметрическое семейство биортогональных вейвлетов, которое предоставляет параметрическое семейство фильтров. Такое семейство было использовано в статье [10] в задаче подрисовки изображений и нужный вейвлет выбирается не из общих соображений, а из решения оптимизационной задачи. По схемам подразделений следует отметить монографию [11], в которой даказываются основные результаты относящиеся к ним и работу [12], в которой исследуется сходимость схем.
В работах [13,14] изучаются основанные на вейвлет-фреймах алгоритмы для 3D-реконструкции поверхности или области по облаку точек. Так, в работе [13] с помощью фреймов аппроксимируется характеристическая функция множества, граница которого представленна облаком точек, а в работе [14] таже задача решается построением аппроксимации функции линейной комбинацией масштабирующих функций. Сама поверхность (граница области), построенная по облаку точек задается уравнением . В обеих работах аппроксимация ищется с помощью алогритма Брегмана. Недостаток метода, основанного на масштабирующих функциях состоит в том, что они редко когда известны в аналитическом виде и матрицу системы линейных уравнений составить затруднительно.
В настоящей работе на основе статей [13,14] развивается метод реконструкции поверхности или области по облаку точек. В этом методе поверхность (область) описывается с помощью линейной комбинации масштабирующих функций, но при этом сами функции не находятся, а функция описывающая поверхность (область) находится через схему подразделений. Причем преобразование Фурье начальной последовательности к этой схеме определяется методом наименьших квадратов. Полученная линейная комбинация аппроксимирует характеристическую функцию множества, граница которого содержит данное облако точек. Все примеры, представленные в статье, созданны с использованием языка программирования Python и библиотек Numpy и Plotly. Облака точек, полученных лазерным сканированием, взяты с сайта https://sites.cc.gatech.edu/projects/large_models/.
Схемы подразделений. Основные результаты
В данном разделе приводятся основные результаты, касающиеся стационарных схем подразделений, которые будут использованы в дальнейшем. Схема подразделений [11] определяется заданной последовательностью Мы будем предполагать, что – конечное множество. Обозначим линейное нормированное пространство ограниченных последовательностей , в котором норма определяется равенством Введем в рассмотрение оператор , который определим формулой Последовательность будем называть маской схемы подразделений, а – оператором схемы подразделений.
Определение 1. [11] Будем говорить, что схема подразделений
сходится в , если существует непрерывная функция такая, что
. (1)
Если функция удовлетворяет дополнительному свойству , то она называется интерполяционной.
Следует заметить, что для интерполяционной схемы должно быть выполнено условие [11] , где при и в остальных случаях.
Теорема 1. (Необходимое условие сходимости схемы подразделений [11]) Пусть . Предположим, что схема подразделений сходится для некоторого и . Тогда маска удовлетворяет условию .
Введем в рассмотрение многочлен Лорана . Тогда из необходимого условия сходимости схемы подразделений получаем: ; Из первого равенства следует, что, если маска имеет конечный носитель, т.е. где – многочлен, то этот многочлен делится нацело на . Поэтому Пусть и .
Теорема 2. [12] Пусть . Схема сходится при любом выборе начальной последовательности , если существует такое, что .
Если обозначить , то имеет место равенство [12]:
.
Теорема 3. [12] Пусть и . Если сходится при любом выборе начальной последовательности, то для любой начальной последовательности и где и , .
Теорема 4. [11] Предположим, что схема подразделений сходится для всех и для некоторого функция . Тогда маска определяет единственную непрерывную функцию с компактным носителем , удовлетворяющую условиям:
Более того,
Применение дискретного преобразования Фурье к нахождению итераций схемы подразделений
Пусть , . Определим последовательность
Если , и — периодическая последовательность , , для всех , то дискретное преобразование Фурье последовательности определяется равенством [1]:
для , и последовательность также является периодической. В дальнейшем периодическую последовательность будем указывать на периоде, т.е. .
Обратное преобразование Фурье последовательности определяется равенством:
Лемма 1. Если задана периодическая последовательность , то справедливо равенство
Доказательство. Имеем
Определение 2. Пусть даны две периодические последовательности Циклическая свертка таких последовательностей представляет собой периодическую последовательность, которая определяется равенством
Как известно [1], имеет место равенство . Пусть и натуральные числа являются четными. Введем обозначение
При этом .
Лемма 2. Если дано преобразование вида
(1)
где — заданная последовательность и , , то
(2)
Доказательство. Согласно лемме 1, для преобразования (1) получим (произведение поэлементное)
Отсюда получаем утверждение леммы.
Заметим, что в схемах подразделений используются не циклические, а линейные свертки. Определение итераций схем подразделений с помощью дискретного преобразования Фурье дается следующей теоремой.
Теорема 5. Пусть дана схема подразделений , , где
Если , , , и периодическую последовательность на множестве определить равенством
то где ,
и , .
Доказательство. В схеме подразделений
которую можно записать в виде , ненулевые значения могут быть полученны лишь при , где , . Таким образом,
Рассмотрим преобразование
где , . Пусть . Тогда ненулевые значения могут получаться только при т.е. при , где , .
Пусть и , , . Тогда , и С другой стороны
Пусть , . Замечая, что при ,
получаем . Продолжая рассуждение, находим Тот факт, что следует из леммы 2.
Определение начальной последовательности схемы подразделений
В данном разделе использованы обозначения из теоремы 5. Пусть известны значения некоторой функции в точках , , , при этом . Будем искать начальную последовательность схемы подразделений , , из условия
(3)
Введем в рассмотрение последовательности , где и , , . Тогда вместо задачи (3) можно рассмотреть задачу . Как показано в теореме 5
Если обозначить , то можно рассмотреть переопределенную систему линейных уравнений
(4)
При этом нужно заметить, что в левой части каждого уравнения произведение поэлементное. Если обозначить , , — вектор-столбцы, в которых в некотором порядке (одинаковом) перечислены все элементы , и , соответственно, а — диагональная матрица, у которой на диагонали стоят элементы вектор-столбца , то каждое уравнение (4) можно записать в матричном виде .
Рис. 1. Последовательности а) , б) , в) , г) , для
Рис. 2. Последовательности а) , б) , в) , г) , для
Обозначим — блочную матрицу, блоки которой представляют собой матрицы , расположенные друг под другом. соответственно, — вектор-столбец, у которого расположены друг под другом. Таким образом, представляет собой решение методом наименьших квадратов системы линейных уравнений . Отсюда . Заметим, что представляет собой диагональную матрицу, у которой на главной диагонали перечислены все элементы , где произведение поэлементное. Поэтому, если под « » и «/» понимать поэлементное умножение и деление, то
Искомая начальная последовательность определяется равенством:
В примере, представленном на рис. 1 рассматривалась схема подразделений , . Заданная последовательность , которая принимает значения 0 и 1 в точках , , представлена на рис. 1 а). Последовательность и последовательность , найденная с помощью дискретного преобразования Фурье, представлены на рис. 1 б), в) соответственно. На рис. 1 г) представлена последовательность для . Аналогичные последовательности для схемы подразделений , и представлены на рис. 2. В обоих примерах использовалась маска , где .
Моделирование поверхности и области по облаку точек
Пусть задано множество точек , и — характеристическая функция множества . Для определим последовательность
(5)
где . Здесь нужно отметить следующее. В статье [13] предлагается сначала построить функцию, значение которой в каждой точке равно расстоянию от этой точки до множества и с помощью нее определять уже характеристическую функцию области. Построение такой функии занимает существенно больше времени, чем построение функции (5). Если задает границу замкнутой области , то для получения харакеристической функции этой замкнутой области в статье использовался морфологический алгоритм заполнения области.
Пусть выбран кратномасштабный анализ [1] с масштабной последовательностью и масштабирующей функцией . Рассмотрим схему подразделений , , где . Последовательность будем находить методом, описанным в предыдущем разделе, где в качестве последовательности используется . В этом случае, по теореме 4, функция
является гладкой аппроксимацией функции . Соответсвенно область можно описать неравенством , где .
Рис. 3. а) Данное множество точек , б) последовательность для в) характеристическая функция области , граница которой представлена заданным множеством точек , г) последовательность , д) последовательность после обнуления части вейвлет-коэффициентов, е) последовательность , ж) последовательность для , з) последовательность для при обнулении части вейвлет-коэффициентов
Пример моделирования области на плоскости представлен на рис. 3, где на рис. 3 а) показано исходное множество точек, на рис. 3 б) последовательность , а на рис. 3 в) характеристическая функция замкнутой области, граница которой определяется . В этом примере рассматривалась схема подразделений , и для нахождения начальной последовательности использовалась характеристическая функция . На рис. 3 г) представлена последовательность , а найденная с помощью дискрентого преобразования Фурье последовательность , показана на рис. 3 е). На рис. 3 ж) представлена последовательность для .
Для достижения еще больших сглаживающих эффектов, можно использовать алгоритм вейвлет-разложения [1,2] последовательности с последующим обнулением вейвлет-коэффициентов по модулю меньших заданного порога и вейвлет-восстановлением [1,2]. Так на рис. 3 д), з) представлены последовательности и после обнуления части вейвлет-коэффициентов.
Примеры моделирования трехмерной области показаны на рис. 4 и 5. В обоих случаях рассматривалась схема подразделений , . На рис. а) показано данное облако точек, на рис. б) представлена харакетристическая функция области, на рис. в) и г) показана последовательность до и после обнуления части вейвлет-коэффициентов.
Рис. 4 а) Данное множество точек , б) характеристическая функция области , граница которой представлена заданным множеством точек , в) последовательность , д) последовательность после обнуления части вейвлет-коэффициентов
Рис. 5 а) Данное множество точек , б) характеристическая функция области , граница которой представлена заданным множеством точек , в) последовательность , д) последовательность после обнуления части вейвлет-коэффициентов
Заключение
В данной статье представленно развитие метода геометрического моделирования, основанного на схемах подразделений. Нужно заметить, что к таким схемам относятся часто используемые в задачах геометрического моделирования В-сплайн кривые и поверхности, поскольку сами В-сплайны могут быть получены через схемы подразделений. Статья опирается на результаты, полученные в работах [13,14]. Представлен способ нахождения начальной последовательности схемы посредством дискретного преобразования Фурье и метода наименьших квадратов (МНК). Следует отметить, что без преобразования использовать МНК затруднительно, поскольку размеры матриц велики, а с преобразованием Фурье МНК записывается в очень простой форме и построение матрицы как таковой не требуется.