2015-07-13 15 views
3

У меня есть облака 3D-точки и вы хотите восстановить поверхность. Я пробовал различные методы в Meshlab, чтобы найти алгоритм, который лучше всего подходит для моего определенного вида облака.3D-реконструкция поверхности путем сохранения положения точки

Реконструкция поверхности Пуассона очень перспективна, но не сохраняет исходное положение точки. После реконструкции и измерения в определенных положениях в облаке оказалось, что измерения отключены более чем в 1,5 раза по сравнению с измерениями на объекте в реальном мире.

Алгоритм шарового шарнира лучше. Он сохранил положение точек, и измерения также находились в ожидаемом диапазоне. Однако этот алгоритм запатентован в США, поэтому я не могу использовать его для коммерческого проекта.

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

Любая помощь будет оценена по достоинству.

+0

Использование альфа-форм https://en.wikipedia.org/wiki/Alpha_shape. Они были опубликованы перед патентом, что не является чем-то новым. –

+0

Я пробовал альфа-форму в Мешлабе, и это кажется неплохим. Но, сравнив его с шаровым шарниром, есть некоторые серьезные недостатки. Количество треугольников слишком велико. Теперь нет ни одной сетки, которая показывает поверхность, а много треугольников, которые перекрывают друг друга. Я попробовал упростить сетку, но это не могло сравниться с шариковым шарниром. Пример Альфа форма и каркасные сетки: http://abload.de/img/alphawireframe69qyf.png http://abload.de/img/alphameshefrbt.png Примеры шаровой шарнир и каркасные сетки: HTTP: // abload.de/img/ballpivotwireframe1lqpp.png http://abload.de/img/ballpivotmesh6qrfw.png – RBS

+0

Альфа-формы и шаровая опора на самом деле одинаковы. Правильно ли вы отрегулировали радиус? –

ответ

3

Для интерполяция реконструкция поверхности (которая хранит данные), два алгоритма работают достаточно хорошо (коры и конусы).

Корочка алгоритм:

Идея заключается в том, чтобы сначала вычислить Вороную диаграмму множества точек, а затем выберите из Вороной вершины те, которые являются хорошим приближением к медиальной оси (так называемых полюса), то вычислить триангуляцию 3D Delaunay входных точек + полюсов и, наконец, извлечь треугольники, которые соединяют три точки входа в тетраэдре, где четвертая вершина является полюсом.

Дополнительные ссылки:

http://web.cs.ucdavis.edu/~amenta/pubs/crust.pdf

http://web.mit.edu/manoli/crust/www/crust.html

  • плюс: достаточно просто реализовать некоторые теоретические гарантии, если входные данные хороший выборки

  • минус: требует вычислить две триангуляции Делоне

Со-конус Алгоритм:

Идея заключается в том, чтобы вычислить Вороную схему множества точек, а затем в каждой ячейке Вороной вычислить хорошее приближение нормали к поверхности (как вектор, соедините полюсы, т. е. две вершины Вороного, наиболее удаленные от точки данных). Тогда в каждой клетке Вороного рассматривается комплемент конуса (конуса), центрированного на datapoint и имеющего нормальную ось. Если три конуса имеют непустое пересечение с краем Вороного, то три точки данных связаны с треугольником. Обратите внимание, что объекты ко-конуса не нужно строить явно (нужно просто сравнить углы, чтобы проверить, есть ли пересечение).

Другие ссылки:

http://web.cse.ohio-state.edu/~tamaldey/surfrecon.htm

  • Плюс: требует одного триангуляции Делоне (по сравнению с 2 для земной коры), некоторые теоретические гарантии, если входные данные «хорошая выборка»

  • Минус: немного сложнее, чем кора (но стоит усилий, я думаю)

Некоторые заключительные слова:

Эти алгоритмы построить хороший (т.е. многообразие), если точечное множество реализует хорошую выборку (т. е. плотность, пропорциональную толщине и кривизне, что называется «местный размер объекта» = расстояние до медиальной оси). На практике входные данные не удовлетворяют этому условию, поэтому выход метода будет «супом треугольников», который будет в основном ОК, но для исправления некоторых локальных дефектов потребуется некоторая пост-обработка.

Редактировать 03/21/16 Вы также можете попробовать свой собственный алгоритм (Co3Ne), реализованный в моей программной библиотеке Geogram (http://alice.loria.fr/software/geogram/doc/html/index.html) и мое программное обеспечение Graphite (http://alice.loria.fr/software/graphite/doc/html/). Графит можно скачать там: http://gforge.inria.fr/frs/?group_id=1465 (как переносимый исходный код, так и исполняемый Windows64). Это форма Co-конуса с различными оптимизациями и параллельной реализацией.