Math 如何量化曲面法线

Math 如何量化曲面法线,math,3d,geometry,computer-vision,quantization,Math,3d,Geometry,Computer Vision,Quantization,我试图将曲面法线量化为8个箱子 例如,当计算将2D渐变量化为8个单元的功能时,我们只需取y平面的角度,即arctan(y/x),这将为我们提供0-360之间的角度 我的问题是,给定一个3D方向[x,y,z],在这种情况下,曲面法线,我们如何以类似的方式对其进行直方图分析?我们是否只是投影到一个平面上并使用该角度,例如[x,y,z]和[0,1,0]的点积 谢谢 编辑 我最近还读了一篇文章,他们通过测量法线和预先计算的向量之间的角度来量化曲面法线,这些向量围绕一个右圆锥体形状排列。我在问题(第3.3

我试图将曲面法线量化为8个箱子

例如,当计算将2D渐变量化为8个单元的功能时,我们只需取y平面的角度,即arctan(y/x),这将为我们提供0-360之间的角度

我的问题是,给定一个3D方向
[x,y,z]
,在这种情况下,曲面法线,我们如何以类似的方式对其进行直方图分析?我们是否只是投影到一个平面上并使用该角度,例如
[x,y,z]
[0,1,0]
的点积

谢谢

编辑


我最近还读了一篇文章,他们通过测量法线和预先计算的向量之间的角度来量化曲面法线,这些向量围绕一个右圆锥体形状排列。我在问题(第3.3.2节最后一段)中添加了与本文的链接,这是一种有效的方法吗?如果是这样,我们如何计算这些向量?

三维法线无法像二维法线那样容易地量化为一维数组(例如,使用arctan)。我建议将其组织成一个具有极角和方位角的二维空间。例如,在r(半径)值始终为1.0的情况下使用(因为曲面法线已规格化,长度为1.0)。在这种情况下,您可以扔掉r值,只使用极角θ(θ)和方位角φ(φ)对3D法线进行量化。

3D法线无法像二维法线那样轻松量化为一维阵列(例如,使用arctan)。我建议将其组织成一个具有极角和方位角的二维空间。例如,在r(半径)值始终为1.0的情况下使用(因为曲面法线已规格化,长度为1.0)。在这种情况下,您可以丢弃r值,只使用极角θ(θ)和方位角φ(φ)来量化3D法线。

量化连续拓扑空间对应于对其进行分区并为每个分区指定标签。此场景的简单标准方法(量化法线)如下所示

  • 选择您喜欢的均匀多面体:
    • (4张脸)
    • (6张脸)
    • (8张脸)
    • (12张脸)
    • (20张脸)
    • 一般而言:
  • 开发从单位球体上的法线到所选多面体的法线相交面的映射函数。
    • 我建议在多面体面上做一个argmax,取法线和每个多面体面法线的点积。给出最高点积的那张脸是你的正常脸应该放进去的
  • 使用每个多面体面的面法线作为该面的标签
  • 与其他人建议的将球坐标映射到球坐标然后将球坐标分为两部分的方法相比,我们更喜欢这种方法。这种方法在球体的极点附近会受到太多的敏感性的影响

    编辑 在你添加到问题中的论文中,使用了相同的想法。但是,法线仅限于半球-图像中唯一直接可见的曲面的曲面法线与从曲面到视点的向量的距离不超过90度

    本文希望将这些曲面法线量化为8个值,由8位整数表示,其中正好有一位设置为1,其余设置为0。8条预计算法线的计算公式如下:

    ntx=cos(a)*cos(t)

    nty=cos(a)*sin(t)

    ntz=sin(a)

    其中a=pi/4,t=0,pi/4,2*pi/4,3*pi/4,…,7*pi/4

    通知


    [cos(a)*cos(t)]2+[cos(a)*sin(t)]2+[sin(a)]2=cos2(a)[cos2(t)+sin2(t)]+sin2(a)=cos2(a)+sin2(a)=1对连续拓扑空间进行量化对应于对其进行分区并为每个分区分配标签。此场景的简单标准方法(量化法线)如下所示

  • 选择您喜欢的均匀多面体:
    • (4张脸)
    • (6张脸)
    • (8张脸)
    • (12张脸)
    • (20张脸)
    • 一般而言:
  • 开发从单位球体上的法线到所选多面体的法线相交面的映射函数。
    • 我建议在多面体面上做一个argmax,取法线和每个多面体面法线的点积。给出最高点积的那张脸是你的正常脸应该放进去的
  • 使用每个多面体面的面法线作为该面的标签
  • 与其他人建议的将球坐标映射到球坐标然后将球坐标分为两部分的方法相比,我们更喜欢这种方法。这种方法在球体的极点附近会受到太多的敏感性的影响

    编辑 在你添加到问题中的论文中,使用了相同的想法。但是,法线仅限于半球-图像中唯一直接可见的曲面的曲面法线与从曲面到视点的向量的距离不超过90度

    本文希望将这些曲面法线量化为8个值,由8位整数表示,其中正好有一位设置为1,其余设置为0。8条预计算法线的计算公式如下:

    ntx=cos(a)*cos(t)

    nty=cos(a)*sin(t)

    ntz=sin(a)

    其中a=pi/4,t=0,pi/4,2*pi/4,3*pi/4,…,7*pi/4

    通知

    [cos(a)*cos(t)]2+[cos(a)*sin(t)]2+[sin(a)]2=cos2(a)[cos2(t)+sin2(t)]+sin2(a)=cos2(a)+sin2(a)=1

    给定一个3D方向[x,y,z],在这种情况下,曲面法线如何 我们用类似的方法计算它

    在第一种情况下,量化梯度的极性方向
    theta
    。现在需要在二维直方图中量化球形方向
    theta
    phi

    我们只是投射到一个平面上并使用这个角度吗

    球体的组合决定了如何总结信息
    theta = arcsin(sqrt(1 - u * u)) * sign(u)