3D Surface modeling from Curves 论文笔记(原理介绍)

3.1 通过两个相交曲线的重建

       主要思想是在曲面曲线的交点附近逼近曲面来重建,微分曲面的基本性质,即所有经过某一点的曲面曲线的切线都位于该点与该曲面相切的平面上。理论上,曲面曲线交点处的平面可以用来粗略地近似一个曲面。在本方法中,使用有限数量的交点,并在这些交点及其邻域中的点上使用切面建立可靠的表面表示。

       重构曲面\widetilde{S}隐式表示为向量场(vector field)f:R^{^{3}}\rightarrow R^{3},其中f(p)表示p到曲面\widetilde{S}上最近点p_{_{c}}的方向和距离,即

 p+f(p)=p_{c}\in \widetilde{S}  (1)

P_c = \arg\min_{q \in \widetilde{S}} d(p, q)   (2)

       其中d表示距离度量,向量场f(p)是在曲面附近的体积网格上的点 计算的,通常称为包络(envelope),包络包含到表面距离小于限定正值\epsilon的网格点,如图 4 所示

图4 蓝色是包络线,其中包含了所有到曲面的距离比限定值\epsilon小的网格点

       为了计算曲面的隐式表示f(p),我们从两条相交于点的曲面曲线p _ { i } = \alpha _ { 1 } ( U _ { 1 } ) \cap\alpha _ { 2 } ( U _ { 2 } )的曲面曲线\alpha _ { 1 } : U _ { 1 } \subset R \rightarrow R ^ { 3 } , \alpha _ { 2 } : U _ { 2 } \subset R \rightarrow R ^ { 3 }入手。下面假设曲 面可微,曲线可以通过弧线长度参数化。现在对某个网格点p,到曲面最近点的切平面的法向量n可以用在最靠近点p的点p _ { 1 } \in \alpha _ { 1 }和 p _ { 2 } \in\alpha _ { 2 }的切向量t_{1}和切向量t_{2}的向量积来估计,即

n = t _ { 1 } \times t _ { 2 }  (3)

p _ { 1 } = a r g \min _ { q \in \alpha _ { 1 } } d ( p , q ) = \alpha _ { 1 } ( u _ { 1 } ) , u _ { 1 } \in U _ { 1 }  (4)

p _ { 2 } = a r g _ { q \in \alpha _ { 2 } } d ( p , q ) = \alpha _ { 2 } ( u _ { 2 } ) , u _ { 2 } \in U _ { 2 }  

t _ { 1 } = \alpha _ { 1 } ^ { \prime } ( u _ { 1 } )

t _ { 2 } = \alpha _ { 2 } ^ { \prime } ( u _ { 2 } )

图6 

      式 3 中计算得到的法向量n是指向曲面上最近的点的。将向量v _ { 1 } = p - p _ { 1 }和向量v _ { 2 } = p - p _ { 2 }在法向量n上的投影的平均值作为到 曲面的距离,即

d ( p , S ) = \frac { 1 } { 2 } < v _ { 1 } + v _ { 2 } , n >  (5)

         向量场f(p)在点p处的函数值为

f ( p ) = d ( p , S ) \cdot n  (6)

图5 在规则网格上计算向量场的例子

a) 场的值用到表面最近点的方向和距离来表示,如式1定义;

b) 向量场的范数编码为灰度级,具有与表面相关的方向;

       图5展示了一个向量场的例子,通过对向量场f(p)使用Marching Cubes算法提取出重建的曲面。Marching Cubes算法使用的标量场是通过计算f(p)的有符号范数获得的,该范数是一个标量场,其符号是通过计算f(p)和传感器方向之间的标量积得到的。图1显示了通过两条曲线重建曲面的例子。

图1

      需要注意的是,只要两条曲线不是直线,重构曲面上就不存在平面区域,切平面用来近似曲面,但是每个平面只表示曲面上的一个点。


3.2 通过多条曲线的重建

       将3.1中的双曲线重建方法扩展到多曲线的情况是很简单的,如图7所示,一个体素(voxel)可以位于两条以上的曲线附近,因此切平面必须使用所有曲线来估计。曲面的近似可以通过使用所有附近曲线的最近点的切线对法线进行最小二乘估计来获取,这个估计对应于一组切线的“最垂直”向量。

图7

       更正式的说,设a _ { 1 } , \ldots , a _ { N }作为N条从点(体素)p经过某个限定距离\epsilon的曲面曲线,设t _ { 1 } , \ldots , t _ { N }为它们各自的离p最近的点处的切线,则得到曲面上的法线为向量n = \left[ n _ { x } , n _ { y } , n _ { z } \right] ^ { T }可以使得下面的式7最小

\xi = \sum _ { i = 1 } ^ { N } < t _ { i } , n > ^ { 2 }  (7)

        求\xin _ { x } , n _ { y } , n _ { z }的导数,令其为0,可以定义如下方程组

\frac { 1 } { N } \sum _ { i = 1 } ^ { N } t _ { i } t _ { i } ^ { T } n = C n = \left[ 0 \;0 \;0 \right] ^ { T }  (8)

        方程组的解n是对应于C的最小特征值的特征向量,同时也是切线组的协方差矩阵。到曲面的距离是在估计法线上的投影距离向量的平均值,即

d ( p , \widehat { S } ) = \frac { 1 } { N } \sum _ { i = 1 } ^ { N } < p _ { i } - p , n > = < \tilde { v } , n >  (9)

        其中p_{i}是在曲线\alpha _{i}上到p最近的点。最后,p点场的值是

f ( p ) = d ( p , S ) \cdot n  (10)

        为了估计曲面某点p处的切平面,至少需要两个不平行的切线来计算p点处的矩阵C,这是因为单个切线不能定义一个平面。这种情况可以通过分析矩阵C的特征值来证实:如果两个特征值为0,则只有一个切线存在(或者两个及以上平行的切线),并且在该点估计的法向量也没有发挥作用。这意味着切平面不能用平行曲线来估计,从而使估计值对配准误差(曲线的相对位置)不是很敏感。

       在无噪声和精确定位的曲线的交点处,所有的切线共面,因此一个特征值总是为0,并且切线张成一个平面。这是因为,在我们的例子中,曲面是在交点的领域中进行近似估计的,因此所有三个特征值通常都大于0。同样,如果通过有噪声数据来估计切线,这三个特征值可能会有相似的值,此时切线会张成一个立方体,切平面的估计是无效的,因此需要对这些特征值进行额外的验证。设e _ { 1 } , e _ { 2 } , e _ { 3 }是三个特征值且e _ { 1 } < e _ { 2 } < e _ { 3 }。。因为矩阵C是归一化的,特征值的和总是为1,即e _ { 1 } + e _ { 2 } + e _ { 3 } = 1,所以可以采用固定阈值来测试特征值。实验验证,施加约束e _ { 2 } > 0 . 0 5e _ { 1 } < 0 . 5 e _ { 2 }可以验证估计的切平面。施加这些约束仅仅意味着用于计算C的切线必须近似共面。

       由于包络线的大小决定了在每个体素上有多少曲线会影响矩阵C,因此它在重建过程中发挥重要的作用:如果选择的包络线相对于曲线的密度过小,则重建的表面会包含孔洞或者显示为一组位于交点附近的斑块。图8显示了使用过小的包络来重建表面的两个例子。

图8

(a) 使用未加权矩阵C的重建   (b)使用式11定义的权重函数进行重建

        图9中可以看到,增大包络的大小可以解决这个问题。

 图9

       然而,增加包络的大小也会增加算法的执行时间,因为场(field)需要计算庞大数量的点。更重要的是通过增加包络的大小,用于估计切线数量也会增加,同时到涉及对应切线的曲线的距离也会增加。结果会造成在重建曲面上的细节损失,因为切平面的最小二乘估计充当的是一个低通滤波器。考虑到这些限制,选择包络的大小变成了一种妥协。我们更希望可以通过更密集地采样曲面来解决数据稀疏的问题。因为我们的方法旨在进行交互式的建模,即在获取每条曲线后可以立刻得到重建的曲面,因此在获取距离数据时很容易发现和重采样低密度的区域。

       单条曲线仅在位于其包络内的点处影响场(field),在包络以外其影响会降低为0。因此,从式10计算得到的场在包络边缘以及重建的曲面都是不连续的。图9显示了这样一个重建的曲面例子。这个问题的解决方案是用距离的连续函数对切线进行加权,这个函数在包络边缘降低为0,任何递减的单调函数都可以用于此处。在我们的实验中,下面的函数被证明有效

\omega ( d ) = e ^ { - \frac { d ^ { 2 } } { \alpha ^ { 2 } } }  (11)

       \sigma的值选择等于\frac{1}{2}\epsilon,这样确保\omega的值在包络以外会降低为0。权值函数也会影响重构曲面的形状,因为它相当于一个低通滤波器,对更靠近的曲线给予更大的影响。图8中可以看到,在交点附近重建的曲面斑块的形状收到权重函数的影响,这是由于对矩阵C的特征值施加了约束。

为了减少可信度低的数据的影响,切线还可以用这样的方式来加权,通过考虑某些不确定度量\tau,例如基于曲线的法线和入射测量射线之间的角度。在用\tau\omega加权后,式8中定义的矩阵C变成了

C = \frac { 1 } { \sum _ { i = 1 } ^ { N } \tau _ { i } \omega _ { i } } \sum _ { i = 1 } ^ { N } \tau _ { i } \omega _ { i } t _ { i } t _ { i } ^ { T }  (12)


3.3 Incremental reconstruction(增量重建)

       对于上面的重建方法,都是假设在重建之前已经收集到了所有的数据。如果重建必须在线进行,则每汇入一个单独测量的曲线,就需要增量更新一次场。然而,曲面法线的最小二乘估计,以及向量场,都不能增量计算。另一方面,在每个体素p上计算的矩阵C是作为求和得到的,因此可以增量更新。设C(p)是体素p的矩阵C,式12可以写作

C ( p ) = \frac { 1 } { \sum _ { i = 1 } ^ { N } \tau _ { i } \omega _ { i } } \sum _ { i = 1 } ^ { N } \tau _ { i } \omega _ { i } C _ { i } ( p )  (13)

       其中C _ { i } ( p ) = t _ { i } t _ { i } ^ { T }。在重建过程中,矩阵C(p)与每个体素有关,并在通过求和C _ { i } ( p )得到每条曲线\alpha _ { i }后更新。矩阵C _ { i } ( p )只取决于曲线\alpha _ { i }并且使用在曲线上最接近点p的点p _ { i }点处的切线t _ { i }来计算。除了矩阵C,距离向量\tilde { \nu }的和也保持在每个体素。场f(p)的值,在式9和10中有定义,只有在使用Marching Cubes算法对曲面进行重建之前或是配准期间被计算。


3.4 定义距离并计算向量场

       目前位置,这些曲线被认为是连续的且无噪声。但在实际中,测量得到的曲线表示为线段的集合,并且受噪声影响。除了重建表面的质量外,噪声的水平对算法的功能(表面重建的过程)并没有显著的影响。噪声最重要的影响是在配准过程中,尤其是在匹配步骤。在图15.a所示,噪声水平高的点往往会吸引大量的对应点,这减慢了配准的过程同时使其不那么准确。为了避免这个问题,我们对式3中的距离d采用了一个新的定义来代替欧式距离。

图15 噪声对配准中匹配步骤的影响

a) 利用欧式距离和噪声曲线(或曲面)S _ { 2 }匹配,由于本例中有噪声的点最接近S _ { 1 },所以它吸引了大多数点;b) 使用式21定义的距离和未滤波法线(箭头表示)进行匹配;c) 滤波法线方向的匹配,匹配点更均匀地分布在S _ { 2 }

       为了提高匹配的鲁棒性,必须对朝线段上最近的点的方向进行校正,同时考虑两个重要的约束条件:1)距离场必须是连续的;2)测量的3D点的位置不应该改变。这个问题的解决方案是在线段上过滤和插入切线,并使用过滤的切线来定义距离。为了清楚起见,距离的计算首先在2D中进行阐述,曲线包含在一个平面中。

      曲线被认为是测量点\left \{ p_{1},...,p_{N} \right \}的线性插值,表示为一组线段\alpha =\left\{ 1 _ { 1 } , \ldots 1 _ { N - 1 } \right\},其中l _ { i } = \overline { p _ { i } p _ { i + 1 } }。除了端点之外,各测量点p_{i}处的切线可以计算如下

t _ { i } = \frac { 1 } { 2 } \left[ \frac { p _ { i - 1 } - p _ { i } } { | | p _ { i - 1 } - p _ { i } | | } + \frac { p _ { i } - p _ { i + 1 } } { | | p _ { i } - p _ { i + 1 } | } \right]  (14)

       切线t_{i}被滤波器\Phi(尺寸为2N+1)过滤得到:

t _ { i } = \sum _ { k = i - N } ^ { i + N } t _ { k } \Phi ( k - i )  (15)

       这里本文的实验,选择的是一个简单的低通滤波器

\Phi _{i}=\left\{\begin{matrix} \frac{1}{(2N+1))} \; \; if \, i\in [-N,...,N],& \\& 0 \; \;otherwise \end{matrix}\right.  (16)

       某点p和曲线\alpha之间的距离是相对于最近的线段l_{c}计算得到的,即

d ( p , a ) = d ( p , l _ { c } ) ,  (17)

l _ { c } = a r g \min _ { l \in \alpha } d ( p , l ) ,

      其中d表示距离度量。因此,给出一点到一线段的距离就足够了。离线段l_{c}最近的所有点的集合\pi \subset R ^ { 3 }称为与生成线段l_{c}相关联的基本单元。为了进行曲面建模,只需要在测量曲线相对较小距离\epsilon >0内计算场,从而将单元的大小限制为比\epsilon更小的点的集合,即在包络中。如果d是欧式距离,那么基本单元对应于Voronoi图中的一组线段的单元。

       引入新的距离定义需要将线段\overline { p _ { 1 } p _ { 2 } }参数化:

l ( u ) = p _ { 1 } + u ( p _ { 2 } - p _ { 1 } ) , 0 \leq u \leq 1  (18)

       在两个端点处的切线在线段上插值为:

t ( u ) = t _ { 1 } + u ( t _ { 2 } - t _ { 1 } ) , 0 \leq u \leq 1  (19)

       线段上每一点的法向量n(u)定义为垂直于切线的向量,也可以插值:

n ( u ) = n _ { 1 } + u ( n _ { 2 } - n _ { 1 } ) , 0 \leq u \leq 1  (20)

图10 计算插值法线方向上的距离。点p与线段\overline { p _ { 1 } p _ { 2 } }之间的距离d定义为点p与点p_{c}之间的距离,点p_{c}的法向量n_{c}经过点p。距离d是通过找到包含点p的等距线段q_{1}q_{2}(每个点与\overline { p _ { 1 } p _ { 2 } }的距离相等的线段)来计算的

       最后,点p与线段\overline { p _ { 1 } p _ { 2 } }之间的距离d定义为点p与点p_{c}之间的距离,点p_{c}的法向量n_{c}经过点p,如图10所示。更正式的有:

d ( p , \overline { p } _ { 1 } p _ { 2 } ) = d ( p , l ( u _ { c } ) ) = e , 0 \leq u _ { c } \leq 1  (21)

       这样就有

p = l ( u _ { c } ) + e \cdot n ( u _ { c } )  (22)

      根据上述定义,要得到点p与线段\overline { p _ { 1 } p _ { 2 } }之间距离的封闭形式解,我们注意到,如果距离为d,则该点位于端点为q _ { 1 } = p _ { 1 } + d \cdot n _ { 1 }q _ { 2 } = p _ { 2 } + d \cdot n _ { 2 }的线段上,如图10所示。此线段是等距线段,其点均位于与生成线段\overline { p _ { 1 } p _ { 2 } }距离d处。这个距离等于三角形区域q _ { 1 } q _ { 2 } p的面积为0的距离,即q _ { 1 } - pq _ { 2 } - p的叉乘为0。这就有了下面的等式:

( p _ { 1 } + d \cdot n _ { 1 } - p ) \times ( p _ { 2 } + d \cdot n _ { 2 } - p ) = 0  (23)

      简化形式为:

a + d \cdot b + d ^ { 2 } \cdot c = 0  (24)

     方程23是由三个二次方程组成的,只有一个未知的d。在确保所选的参数不会消失后,这些方程中的任何一个都可以用来计算d。所选方程最多可以有两个实根。如果没有实根,则点p位于单元之外。如果只有一个实根,则该点位于单元内并且距离有效。如果有两个实根,感兴趣的根是绝对值小的那个。第二个根和基本单元的自交现象有关(参见图11,14),在本节稍后会对此解释。此时,只要指出另一个根大于单元内允许的最大距离就足够了。根的有效性也可以通过测试点p是否包含在线段\overline { p _ { 1 } p _ { 2 } }中来验证(见图11)。

图11 式23中实根的说明。尽管两个根d_{1}d_{2}满足式23,但是只有绝对值较小的根表示有效距离。另一个根大于单元内允许的最大距离。点p包含在线段\overline{q_{1}^{'}q_{2}^{'}},但不在\overline{q_{1}^{"}q_{2}^{"}}中。

        将上述扩展到3D的情况是直接的。在包含p_{1}p_{2}p的平面上投影切线和法线就足够了,如图12所示。投影的切线t _ { 1 } ^ { \prime }t _ { 2 } ^ { \prime },以及投影的法线n _ { 1 } ^ { \prime }n _ { 2 } ^ { \prime },然后在方程19-23中使用,而不是用t_{1}t_{2}

图12 计算非平面曲线在插值法线方向上的距离。在计算距离之前,将切线t_{1}t_{2}投影到包含p_{1},p_{2}p的平面上。然后将投影t _ { 1 } ^ { \prime }t _ { 2 } ^ { \prime }代替t_{1}t_{2}用于式19-23

       选择距离的定义,就可以描述基本单元的形状。要做到这一点,注意到在线段\overline { p _ { 1 } p _ { 2 } }两端的投影法向量n _ { 1 } ^ { \prime }n _ { 2 } ^ { \prime }将单元限制在平面p _ { 1 } p _ { 2 } p上(见图10和12)。投影在包含线段\overline { p _ { 1 } p _ { 2 } }的所有平面上的法向量位于与两个切线垂直的两个平面上(图12中红色部分)。因此,单元由这两个平面和规定的最大距离来限制划分。一般来说,基本单元呈圆柱形。图13显示了一个基本单元的示例。

图13 线段\overline { p _ { 1 } p _ { 2 } }的基本单元的例子,单元由两个垂直于线段端点的切线t_{1}t_{2}的平面划分,划分单元的圆柱形表面的大小取决于最大规定距离(包络尺寸)

       式23定义的距离计算需要平面p _ { 1 } p _ { 2 } p上的投影法向量。在实际中投影法向量是通过注意它们包含在平面p _ { 1 } p _ { 2 } p以及垂直于切线t_{1}t_{2}的限定平面区域来计算得到的。因此,两个法向量为:

n _ { 1 } ^ { \prime } = t _ { 1 } \times n _ { p }  (25)

n _ { 2 } ^ { \prime } = t _ { 2 } \times n _ { p }

      其中n_{p}是平面p _ { 1 } p _ { 2 } p上的法线。

图14 基本单元的自相交

a) 由于噪声的原因,法线n_{2}n_{3}在包络内相遇,使得与线段\overline { p _ { 2 } p _ { 3 } }相关的单元的一部分(阴影区域)内的距离无效;b) 过滤切线(以及法线)使交点出现在包络之外,从而使距离对包络内的所有点都有效;c) 三维空间中自相交单元的包络

       噪声数据和未充分过滤的切线会导致基本单元自相交以及与邻近单元相交;如图14的a和c。这些区域的距离没有被定义,因此不会被计算。有两种方法可以避免这个问题。第一个方法是增加切线的过滤级别,从而使交点出现在包络之外,如图14的b所示。在极端情况下,切线是平行的,单元永远不会自相交。第二个方法是删除所有不在限制平面右侧的体素。假设切线的方向如图12所示,当满足下面两个条件时,点p属于线段\overline { p _ {1 } p _ { 2 } }所关联的单元格的有效区域:

< p _ { 1 } - p , t _ { 1 } > \leq 0 ,  (26)

< p _ { 2 } - p , t _ { 2 } > \leq 0 ,

        因为切线是垂直于限定平面的。

       式21仅在线段的基本单元内是有效的。在计算某些点p到曲线的距离之前,必须找出点p属于哪个单元格。这是一项繁琐的任务,可以通过反转这个过程来避免,而不是单独找到所有落在每个单元内的体素。这样做,场计算的复杂性和线段(测量点)的数量将成线性关系。

       因此,计算单元的场可以简化为简单的两个步骤。

       首先,计算单元的边界框。边界框的两个定义角分别是p _ { 1 } +\epsilon , p _ { 1 } - \epsilon , p _ { 2 } + \epsilon , p _ { 2 } - \epsilon中的最小值和最大值。然后,对于位于边界框内的所有网格点,验证它们是否位于两个限定平面之间,如式26所示。如果是这样,则计算距离并且接受这个小于最大允许距离的距离。

       在存在噪声的情况下,选择式21定义的距离对匹配的影响如图15的b和c所示。过滤这些切线,同时也过滤这些法线,改变了指向最近点的方向,从而匹配了方向。因此,匹配点在曲线和重建曲面上分布地更加均匀。重要的是要注意,只有曲线上的切线被过滤时,测量的3D数据才保持不变。

        计算场的步骤在下面的伪代码中更详细的说明。假设法线和切线是在场计算之前计算的。

Data:曲线组\alpha _ { i } = \left\{ p _ { i , 1 } , \ldots , p _ { i , N _ { i } } \right\}和在每个点p _ { i j }处的切线t _ { i , j }

初始化在所有体素处的矩阵C为0;

For i=1:曲线的数量

       For j=1:N _ { i - 1 }(曲线i上点的个数)

              计算线段\overline { } \overline { p _ { i , j }p _ { i , j + 1} }的限制框

              For 所有在限制框内的体素p_{v}

                    If  p_{v}是和\overline { } \overline { p _ { i , j }p _ { i , j + 1} }有关的基本单元(式26)

                    Then

                            计算投影法线n _ { i , j } ^ { \prime }n _ { i , j+1 } ^ { \prime }(式25)

                            计算p_{v}和线段之间的距离(式23)

                            计算参数u_{c},使得式22满足

                            计算在最近点处的切线t(u_{c})(式19)

                            用体素v更新矩阵C(式13)

                            用p_{c}-p_{v}更新距离向量\tilde{v}之和(式9)

                     End

              End

      End

End


3.5 使用向量场进行配准

       和距离图像不同,表面曲线不能一次配准一对。两条曲线之间的交点数量取决于曲线的形状,通常不足以计算对齐曲线所需的刚性变换。在某些情况下,例如在配准表面轮廓时,这种方法只会使曲线重叠。此外,就曲线数量而言,同时配准所有曲线的复杂度为O(N^{2}),并且由于重建对象需要大量的曲线,因此很快就会受到限制。避免这些问题的一种有效的方法是将曲线配准到重建模型中。由于向量场包含匹配所需的所有有用信息,所以计算复杂度和曲线的数量保持线性关系。

图16 使用最接近的体素中心p_{v}来匹配点p。最近的点p_{v}是由式29求得。

        一旦为合理数量的曲线计算了向量场,配准一个曲线就变得很简单:对于曲线上的控制点p = \left[ x , y , z \right] ^ { T },重构表面上对应的点p_{c}将作为点p到最近的体素p_{v}的向量场值。

p _ { c } = p + f _ { ( p _ { v } ) }  (27)

        最接近的体素p_{v}计算为

p _ { v } = \left[ p \right] = \left[ \left[ x / \Delta + 0 . 5 \right] , \left[ y / \Delta + 0 . 5 \right] , \left[ z / \Delta + 0 . 5 \right] \right] ^ { T }  (28)

        这里的\Delta是体素大小(见图16)。显然,体素的大小引入了一个误差,这个误差可以通过在体素p_{v}处进行线性插值场的值来减小,即

p _ { v } = p + f ( p _ { v } ) + \frac { f ( p _ { v } ) < f ( p _ { v } ) . ( p - p _ { v } ) > } { | | f ( p _ { v } ) | | ^ { 2 } }  (29)

       图16说明了这一改正措施。请注意,由于它是线性插值,最近的点通常不会精确地位于表面上。但是,正如下一节演示的,误差很小。

       曲线可以被配准到一个完整或部分的重建模型,从而提供了同步和增量两种配准策略。对同步配准来说,首先从所有可用的曲线中重建模型,也就是说,向量场是用所有曲线计算的。然后,每条曲线都会被配准到这个模型中,一次一条。最后,重新计算向量场,重复整个过程,知道没有进一步的改进。对增量配准来说,初始模型是由相对较少的曲线创建的。然后,首先对下一条曲线配准,将其整合到模型中。

     如前所述,通过更新位于至少一条曲线的包络内的每个体素的矩阵C(见式12)来更新场。尽管该场是通过矩阵C间接表示的,但在下面的伪代码中,我们将其称为向量场f。下面的伪代码描述了这两种策略:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值