将隐式曲面拟合到定向点集


13

我有一个关于二次拟合到一组点和相应法线(或等效切线)的问题。二次曲面拟合点数据已得到很好的探索。部分作品如下:

诸如此类的一些作品也涉及到拟合投影轮廓。

从所有这些作品中,我认为Taubin的二次拟合方法非常流行:

让我简要总结一下。可以用代数形式写一个二次: 其中是系数向量,是3D坐标。如果,则任何点位于二次,其中: Q

f(c,x)=Ax2+By2+Cz2+2Dxy+2Exz+2Fyz+2Gx+2Hy+2Iz+J
cxxQxTQx=0
Q=[ADEGDBFHEFCIGHIJ]

代数拟合原则上,我们想求解使点与二次曲面之间的几何距离平方和最小的参数。不幸的是,事实证明这是一个没有已知分析解决方案的非凸优化问题。相反,一种标准方法是求解代数拟合,即求解最小化的参数 :c

i=1nf(c,xi)2=cTMc
M= n i=1lxilxiT{xi}l=[x2y2z2xyxzyz , 其中是该点中的点云和
M=i=1nl(xi)l(xi)T
{xi}
l=[x2,y2,z2,xy,xz,yz,x,y,z,1]T

注意,这样的直接最小化将产生简单的解,其原点为。这个问题已经在文献中被广泛研究。Taubin的方法(在上面引用)被发现在实践中效果很好,其中引入了以下约束: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)
其中
FCX=2[一种X+dÿ+Fž+Gÿ+dX+Ëž+HCž+Ëÿ+FX+一世]

但是,Taubin的方法仅利用点几何,而不利用切线空间。而且我不知道有许多方法适合拟合二次曲面,使得二次曲面的切线也与基础点云的切线匹配。我正在寻找上述方法或任何其他覆盖这些一阶导数的方法的潜在扩展。

我想实现的目标可能是在具有更原始表面(曲线)类型的低维空间中部分解决。例如,此处涵盖考虑到渐变信息的图像边缘拟合线。将平面(简单的二次曲面)拟合到3D云非常普遍(链接1),或者可以将球体或圆柱体拟合到定向点集(链接2)。所以我想知道是类似的东西,但是拟合的图元是二次曲面。

我也欢迎对提议的方法进行分析,例如:

  • 所需的最少定向点数是多少?
  • 什么是退化病例?
  • 关于鲁棒性可以说些什么?

更新:我想提出一个方向。正式而言,我希望实现的目标:

F-ñ=0
在处。也许可以将其与Taubin的方法融合在一起,以提出一个附加约束,并使用拉格朗日乘数最小化?X


Q中的许多元素不是在Q中错位了吗?
Museful

您说得对,现在我已解决此问题。
Tolga Birdal

Answers:


5

我对上述问题未能得到满意的答复感到惊讶,我的调查表明,这确实是一个未开发的领域。因此,我花了一些力气来解决这个问题,并发表了以下手稿:

T. Birdal,B.Busam,N.Navab,S.Ilic和P.Sturm。“一种极简方法,可对点云中的二次曲面进行类型不可知的检测。” IEEE计算机视觉和模式识别会议论文集。2018.http: //openaccess.thecvf.com/content_cvpr_2018/html/Birdal_A_Minimalist_Approach_CVPR_2018_paper.html

T. Birdal,B. Busam,N. Navab,S. Ilic和P. Sturm,“使用新颖最小二次拟合的点云中的通用原始检测”,在IEEE Transactions on Pattern Analysis and Machine Intelligence。 https://arxiv.org/abs/1901.01255

在这里,我将简要介绍一下主要思想:

此方法类似于渐变一拟合()。我们将二次的梯度矢量与点云的法线对齐。但是,与 -fits不同,我们选择使用线性约束来增加等级,而不是对解决方案进行正规化。这似乎很简单,因为矢量-矢量对齐方式会带来以下形式的非线性约束: 1个X一世ñ一世[R31个

X一世X一世-ñ一世=0要么X一世X一世ñ一世=1。
非线性是由归一化引起的,因为很难事先知道幅度,因此很难预先知道均一的尺度。我们通过在未知数之间引入一个正常的尺度解决此问题,并写出: 其中 将所有个点堆叠起来和法线会形成形式的系统: α一世
X一世=v一世Ťq=α一世ñ一世
v=[X2ÿ2ž22Xÿ2Xž2ÿž2X2ÿ2ž1个]Ť
ñX一世ñ一世一种q=0
[v1个Ť000v2Ť000vñŤ000v1个Ť-ñ1个0303v2Ť03-ñ203vñŤ0303-ññ][一种一世Ĵα1个α2αñ]=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 {equation} ,其中,是一个v一世Ť=vX一世Ť[R3×10033×1个零的列向量,为,是未知的同类标度。一种4ñ×ñ+10α={α一世}

尽管此公式的解决方案位于的无效空间中,可以产生可接受的结果,但系统在其可以执行的操作方面没有任何限制(比例因子过于宽松)。最好找到一个合适的正则化器,并且实现起来也不会太复杂。在实践中,再次类似于梯度一拟合,我们可能更喜欢单位范数多项式梯度,因此可以写或等效地,这是一个常见的比例因子。这种软约束一种α一世=1个α一世α¯将尝试强制多项式的零集尊重数据的局部连续性。这样的正则化也使我们免于求解敏感的齐次系统,并使我们以更紧凑的形式重写系统:一种q=ñ

[X1个2ÿ1个2ž1个22X1个ÿ1个2X1个ž1个2ÿ1个ž1个2X1个2ÿ1个2ž1个1个X22ÿ22ž222X2ÿ22X2ž22ÿ2ž22X22ÿ22ž21个2X1个002ÿ1个2ž1个0200002ÿ1个02X1个02ž1个0200002ž1个02X1个2ÿ1个00202X2002ÿ22ž20200002ÿ202X202ž20200002ž202X22ÿ20020][一种CdËFGH一世Ĵ]=[00ñX1个ñÿ1个ñž1个ñX2ñÿ2ñž2]

总而言之,求解该方程组将同时引导二次曲面入射到点云,同时将其梯度朝向法线对齐。也可以不同地权衡点和法线的贡献。在某些情况下,为了获得特定于类型的拟合,可以对进行较小的重新设计,以适合所需的原始类型。有关所有这些详细信息以及一些理论分析和伪代码,请参考上述出版物。一种


这很棒!一个人如何修改A以不同地加权点和法线的相对贡献?
Museful

只需将点等式的第一行乘以所需的权重即可。可选地,要缩放对应于法线的行,还需要缩放等式的右手边:。ñ
Tolga Birdal

谢谢。难道不应该从最后一个方程式的q和n中删除移置符号吗?
Museful

再次感谢。删除它们。
Tolga Birdal


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.