RANSAC для шлицевого соединения

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

У меня есть объем, содержащий набор точек в каждой плоскости XY, скажем, 400 из них в направлении Z, а форма сплайна появляется визуально, просто глядя на нанесенные данные в трехмерном пространстве. У меня уже есть схема RANSAC, где ошибка определяется простой мерой расстояния, но я не могу понять, как определить модель для сплайна / полилинии.


person tompish    schedule 05.10.2012    source источник
comment
Значит, точки - это контур трехмерной поверхности ??? извините, но мой английский ничего не стоит, и это единственный случай, о котором я могу вспомнить из вашего описания. Думаю, изображение было бы лучше всего.   -  person Spektre    schedule 08.01.2014


Ответы (1)


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

http://users.acin.tuwien.ac.at/tmoerwald/?site=5

Вот домашняя страница проекта (я думаю):

http://www.acin.tuwien.ac.at/?id=316

Исходный код также доступен в рамках проекта PCL (библиотека PointClouds).

Я сам немного читал по этой теме, и кажется, что общая проблема подгонки сплайнов / сплайнов сводится к поиску наилучшего вектора узлов. Большинство подходов чередуются между оптимизацией вектора узла (при условии, что контрольные точки фиксированы) и оптимизацией контрольных точек (при условии, что вектор узла фиксирован) и использованием суммированного расстояния точек от облака до аппроксимируемого сплайна в качестве показателя ошибки. Я думаю, что RANSAC не подошел бы этим методам, потому что он «перетащил бы сплайн» к точкам выброса, но это только мое безумное предположение.

person Violin Yanev    schedule 01.01.2015