Подгонка неявных поверхностей к ориентированным наборам точек


13

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

Подгонка к проективным контурам также рассматривается в некоторых работах, таких как эта .

Из всех этих работ я думаю, что метод Таубина для подгонки квадрик довольно популярен:

Позвольте мне кратко подвести итог. Квадрику Q можно записать в алгебраической форме:

f(c,x)=Ax2+By2+Cz2+2Dxy+2Exz+2Fyz+2Gx+2Hy+2Iz+J
где c - коэффициент-вектор иx - трехмерные координаты. Любая точкаx лежит на квадрикеQ еслиxTQx=0 , где:
Q=[ADEGDBFHEFCIGHIJ]

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

i=1nf(c,xi)2=cTMc
с
M=i=1nl(xi)l(xi)T
где{xi}- точки в облаке точек и
l=[x2,y2,z2,xy,xz,yz,x,y,z,1]T

Обратите внимание, что такая прямая минимизация даст тривиальное решение с c в начале координат. Этот вопрос широко изучен в литературе. Одним из решений, которое, как было установлено, хорошо работает на практике, является метод Таубина (приведенный выше), который вводит ограничение:

xf(c,xi)2=1

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

N=i=1nlx(xi)lx(xi)T+ly(xi)ly(xi)T+lz(xi)lz(xi)T
(MλN)c=0

Основной вопрос Во многих приложениях нормали облака точек доступны (или вычислены). Нормы квадрики также можно вычислить путем дифференцирования и нормализации неявной поверхности:N(x)

N(x)=f(c,x)f(c,x)
где
f(c,x)=2[Ax+Dy+Fz+GBy+Dx+Ez+HCz+Ey+Fx+I]

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

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

Я также приветствовал бы анализ предложенного метода, такого как:

  • Какое минимальное количество ориентированных точек требуется?
  • Каковы вырожденные случаи?
  • Что-нибудь можно сказать о надежности?

Обновление : я хотел бы представить направление для подражания. Формально, чего я хочу добиться:

fn=0
в точке . Может быть, можно было бы объединить его с методом Таубина, чтобы придумать дополнительное ограничение и свести к минимуму использование множителей Лагранжа?x


Не много ли элементов Q неправильно расположено в Q?
Музейный

Вы правы, и я сейчас исправил это.
Толга Бердал

Ответы:


5

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

Т. Бирдал, Б. Бусам, Н. Наваб, С. Илич и П. Штурм. «Минималистский подход к типографическому обнаружению квадрик в облаках точек». Материалы конференции IEEE по компьютерному зрению и распознаванию образов. 2018. http://openaccess.thecvf.com/content_cvpr_2018/html/Birdal_A_Minimalist_Approach_CVPR_2018_paper.html

Т. Бирдал, Б. Бусам, Н. Наваб, С. Илич и П. Штурм, «Общее примитивное обнаружение в облаках точек с использованием новых минимальных квадратичных подборок», в транзакциях IEEE по анализу образов и машинному интеллекту. https://arxiv.org/abs/1901.01255

Я кратко коснусь основной идеи здесь:

Этот подход похож на аппроксимацию по градиенту один ( ). Мы выровняем вектор градиента квадрики с нормалью облака точек . Однако, в отличие от -приборов, мы предпочитаем использовать линейное ограничение для увеличения ранга, а не для регуляризации решения. Это, по-видимому, нетривиально, поскольку выравнивание вектор-вектор приводит к нелинейному ограничению любого вида: 1Q(xi)niR31

Q(xi)Q(xi)ni=0orQ(xi)Q(xi)ni=1.
Нелинейность вызвана нормализацией, поскольку трудно заранее определить величину и, следовательно, однородную шкалу. Мы решаем эту проблему, вводя обычную однородную шкалу среди неизвестных и пишем: где Собираем это для всех точек и нормалей чтобы получить систему вида : αi
Q(xi)=viTq=αini
v=[x2y2z22xy2xz2yz2x2y2z1]T
NxiniAq=0
[v1T000v2T000vnT000v1Tn10303v2T03n203vnT0303nn][ABIJα1α2αn]=0
- \ mathbf {n} _n \ end {bmatrix} \ begin {bmatrix} A \\ B \\ \ vdots \\ I \\ J \\ \ alpha_1 \\ \ alpha_2 \\ \ vdots \\ \ alpha_n \ end { bmatrix} = \ mathbf {0} \ end {уравнение} где , являетсяviT=v(xi)TR3×10033×1 вектор-столбец нулей, равен и - неизвестные однородные шкалы.A4N×(N+10)α={αi}

Хотя решение этой формулировки, лежащее в пустом пространстве дает приемлемые результаты, система совершенно не стеснена в своих действиях (масштабные коэффициенты слишком свободны). Лучше найти подходящий регуляризатор, который также не слишком сложен для реализации. На практике, снова аналогично аппроксимации градиентом один, мы могли бы предпочесть полиномиальные градиенты единичной нормы, и, таким образом, можно написать или, что эквивалентно, , один общий масштабный коэффициент. Это мягкое ограничениеAαi=1αiα¯будет пытаться заставить нулевой набор полинома соблюдать локальную непрерывность данных. Такая регуляризация также избавляет нас от решения чувствительной однородной системы и позволяет переписать систему в более компактной форме :Aq=n

[x12y12z122x1y12x1z12y1z12x12y12z11x22y22z222x2y22x2z22y2z22x22y22z212x1002y12z10200002y102x102z10200002z102x12y100202x2002y22z20200002y202x202z20200002z202x22y20020][ABCDEFGHIJ]=[00nx1ny1nz1nx2ny2nz2]

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


Это здорово! Как изменить A так, чтобы он по-разному взвешивал относительные вклады точек и нормалей?
Музейный

Просто умножьте первые строки, являющиеся точечными уравнениями, на желаемый вес. Необязательно, чтобы масштабировать строки, соответствующие нормали, нужно также масштабировать правую часть уравнения: . n
Толга Бердал

Спасибо. Не следует ли убрать символ транспонирования из q и n в последнем уравнении?
Музейный

Еще раз спасибо. Убрал их.
Толга

1

Я знаю один пример, когда нормали были включены в процедуру подбора. Это не прямая подгонка квадрик. Локально параметризованный патч устанавливается на точки и нормали. Использование нормалей дает больше уравнений в задаче подгонки, позволяя использовать многочлены более высокого порядка.

  1. Новый алгоритм кубического порядка для аппроксимации главных векторов направления

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.