普通视图

发现新文章,点击刷新页面。
昨天以前Java不加糖's Blog

ODE常微分方程总结

作者 Java不加糖
2023年2月24日 18:54

教材:DLI-BSc-Mathematics-Documents/Ordinary Differential Equatrions.pdf at main · JavaZeroo/DLI-BSc-Mathematics-Documents (github.com)

第一章

Explicit First Order Equations

这种形式的 \[y' = f(x, y)\] 称为 'Explicit First Order Equations' 。

\(y'=f(x)\)

1. Equations with Separated Variables

\[y' = f(x)g(y)\]

这种可以直接变成 \(\frac{dy}{g(y)}=f(x)dx\)

积分完后 \[\int\frac{dy}{g(y)}=\int f(x)dx\] IVP: \(y(\xi)=\eta\) \[\int^y_{\eta}\frac{dy}{g(y)}=\int^x_{\xi} f(x)dx\] 这里需要注意的是如果\(g(y(\xi))=g(\eta)=0\) 那么,直接就有 \(y'=0\) 因此\(y=\eta\) ;

2. 普通的替换

\[y'=f(ax+by+c)\]

这种情况用\(u(x) = ax+by+c\) 去替换掉变量\(x\) 。原理是\(u'=a+by'(x)=a+bf(u)\)。很关键的一点是,\(u\)\(y\) 都是一次的。求导后刚好是线性关系。

因此 最后得出的\(u(x)\)后可以直接利用\(u(x)=ax+by+c\)得到\(y\)

3. 普通的Homogeneous Differential Equation

\[y'=f\left(\frac{y}{x}\right)\]

同样的道理用\(u(x) = \frac{y(x)}{x}, (x\neq0)\)替换掉变量\(y\)。有\(y'=u+xu'=f(\frac{y}{x})\) ,可得\(u'=\frac{f(u)-u}{x}\)

因此 最后得出的\(u(x)\)后可以直接利用\(u(x)=\frac{y(x)}{x}\)得到\(y\)

4. 高级的 Homogeneous Differential Equation

\[y'=f\left(\frac{ax+by+c}{\alpha x+\beta y+ \gamma}\right)\]

这个的核心思想是转换成“普通的Homogeneous Differential Equation”。

首先分析行列式 \[\left | \begin{matrix}a &b \\\alpha &\beta \\\end{matrix} \right | \]

  1. 行列式为零时,说明\(a=\lambda_a \alpha, b=\lambda_b \beta\) 此时 可以直接转换成“普通的Homogeneous Differential Equation”
  2. 行列式不为零的时候,说明方程组有唯一解。

首先解方程组 \[\left\{\begin{align} ax+by+c&=0\\ \alpha x+\beta y+ \gamma&=0\\\end{align}\right.\] 可以解出一组\((x_0, y_0)\) 利用这组解将“高级的 Homogeneous Differential Equation”转换成“普通的Homogeneous Differential Equation”

原理是新建坐标系得\(\bar{x}:=x-x_0, \bar{y}:=y-y_0\) 那么在这个坐标系下面原方程就变成了\(\bar{y}(\bar{x}):=y(\bar{x}+x_0)-y_0\)。对这个方程求导可以将\(y\)消掉,将原问题变\(\bar{y}\)\(x\)的关系。这样做的目的就是将“高级的 Homogeneous Differential Equation”转换成“普通的Homogeneous Differential Equation”

\(\bar{y}\)求导后可以发现(利用方程\(\bar{y}(\bar{x}):=y(\bar{x}+x_0)-y_0, ax_0+by_0+c=0, \alpha x_0+\beta y_0+ \gamma=0\)\[\frac{\bar{y}(x)}{d\bar{x}} = y'(\bar{x}+x_0)=f\left(\frac{a\bar{x}+b\bar{y}(\bar{x})}{\alpha\bar{x}+\beta\bar{y}(\bar{x})}\right)\] 这里就可以像刚才的普通的Homogeneous Differential Equation一样去做了。值得注意的是,这样解出来的\(\bar{y}\)需要转换成原来的\(y\)。这里可以用 \[y(x):=y_0+\bar{y}(x-x_0)\] 得到最后的\(y\)

The Linear Differential Equation

这种形式的 \[y' + g(x)y=h(x)\] 称为 'The Linear Differential Equation' 。

这时有两种情况:\(h(x)=0\)\(h(x)\neq0\), 分别称为"homogeneous" 和"nonhomogeneous"

事实上当\(h(x)=0\)也就是"homogeneous"时,就是上面的"Explicit First Order Equations",这里就不在赘述了。

对于\(h(x)\neq0\)的情况,也就是"nonhomogeneous"时,我们需要用到"Method of variation of constants"。

Method of variation of constants:这个方法首先计算出齐次的时候的通解。对于方程\(y'+g(x)y=h(x)\)他的齐次方程的通解是通过解\(y'+g(x)y=0\),可得 \[y=C\cdot e^{-\int g(x)dx}\] 此时我们将常数\(C\)作为一个与\(x\)的函数\(C(x)\)。这个时候,只需要解出一个\(C(x)\)就是非齐次情况下的答案

那么现在的问题就变成了,如何得到一个\(C(x)\)使得\(y' + g(x)y=h(x)\)

首先先计算\(C'(x)\) \[\begin{align}y &=C(x)\cdot e^{-\int g(x)dx}\\y'&=\left( C(x) \right)'\cdot e^{-\int g(x)}+C(x)\cdot \left( e^{-\int g(x)dx }\right)' \\y'&=C'(x)\cdot e^{-\int g(x)}+C(x)\cdot \left( e^{-\int g(x)dx }\cdot\left(-\int g(x)\right)'\right) \\y'&=C'(x)\cdot e^{-\int g(x)}+C(x)\cdot \left( e^{-\int g(x)dx }\cdot -g(x)\right) \\&\Downarrow \\y'&=C'\cdot e^{-\int g(x)}-gC\cdot e^{-\int g(x)dx}\end{align}\] 然后代入\(y' + g(x)y=h(x)\) \[\begin{align}L_y \equiv y' + g(x)y&=h(x)\\L_y&=C'\cdot e^{-\int g(x)dx}-gC\cdot e^{-\int g(x)dx}+gC\cdot e^{-\int g(x)dx}\\L_y&=C'\cdot e^{-\int g(x)dx}=h(x) \\&\Downarrow \\C'(x)&=h(x)\cdot e^{\int g(x)dx} \\&\Downarrow \\C(x)&=\int h(x)\cdot e^{\int g(x)dx}dx + C_0\end{align}\] 现在我们可以知道,当\(y=C(x)\cdot e^{-\int g(x)dx}\)\(C(x)=\int h(x)\cdot e^{\int g(x)dx} + C_0\)时。,有\(y' + g(x)y=h(x)\)。这里有个二级结论

If \(y, \bar{y}\), yare two solutions to the nonhomogeneous equation \(L_y = h\), then \(L(y - y) = L_y - L_{\bar{y}} = 0, i.e., z(x) = y - \bar{y}\) is a solution of the homogeneous equation \(L_y = 0\). Thus all solutions \(y(x)\) of the nonhomogeneous equation can be written in the form \[y(x)=\bar{y}+z(x)\]

这里面\(z(x)\)就是刚刚的\(y=C\cdot e^{-\int g(x)dx}\)\(\bar{y}\)就是\(C(x)=\int h(x)\cdot e^{\int g(x)dx} + C_0\)\(y=C\cdot e^{-\int g(x)dx}\)的结合中的\(y\),也就是\(\bar{y}=\left(\int h(x)\cdot e^{\int g(x)dx}dx + C_0\right)\cdot e^{-\int g(x)dx}\)

Bernoulli's Equation

这种形式的 \[y'+g(x)y+h(x)y^{\alpha}=0.\alpha \neq 1\] 非常的简单,只需要把\(y^{\alpha}\)解决了就可以了。等式去除\(y^{\alpha}\)\[y'y^{-\alpha}+g(x)y^{(1-\alpha)}+h(x)=0\] 利用\(z=y^{(1-\alpha)} \implies z'=(1-\alpha)y^{-\alpha}\cdot y'\)替换原式得 \[\frac{1}{1-\alpha}z'+g(x)z+h(x)=0\] 现在,就变成了nonhomogeneous的"The Linear Differential Equation"。最后解出\(z\),别忘了替换回\(y\)

Exact differential equations

这种形式的 \[M(x,y)dx+N(x,y)dy=0,\\ \exists\ U(x, y)\ s.t.\ U_x(x,y)=M(x,y),U_y(x,y)=N(x,y)\]

\(xdx+ydy=0\) is an exact equation, and \(U(x,y)=1/2 (x^2+y^2 )\)is a potential function.

Integrating Factors

Integrating Factors是用来让非 Exact 变成Exact differential equations。

E.g. \(ydx + 2xdy = 0\) is not exact. However, it can easily be made an exact differential equation (in the domain \(x > 0\)) by multiplying the equation by \(1/\sqrt{x}\). The resulting differential equation \[\frac{y}{\sqrt{x}}dx+2\sqrt{x}dy=0\] is exact, and a potential function is given by \[F(x,y)=2y\sqrt{x}=0\ (x>0)\]

对于一个not excat differential equation我们需要找到一个Factor \(U(x,y)\) 使得\(U(x,y)\cdot M(x,y)dx+U(x,y)\cdot N(x,y)dy=0\)变成一个Exact differential equations。

这里有一个"Theorem on potential functions"保证可以找到\(U(x,y)\)

现在的问题就是,如何去找?首先令\(M' = U\cdot M,N'=U\cdot N\)如果\(F_x=M',F_y=N'\)则有\(M'_y=N'_x\)。利用这个关系可以知道

事实上就是\(F_{xy}=F_{yx}\) (Jacobian Matrix)

\[\begin{align}&(U\cdot M)_y=(U\cdot N)_x\\\implies &U_y\cdot M+U\cdot M_y=U_x\cdot N+U\cdot N_x \\\end{align}\] 此时需要考虑,Integrating Factors是只与\(x\)有关还是只与\(y\)有关(只需要选一个)
  1. 假如只与\(x\)有关则\(U_y=0\)则有

\[\begin{align}U_y\cdot M+U\cdot M_y&=U_x\cdot N+U\cdot N_x \\U\cdot M_y &= U' \cdot N+U \cdot N_x \\\frac{1}{U}U'&=\frac{M_y-N_x}{N} \\(\ln U)'&=\frac{M_y-N_x}{N} \\U&=e^{\int \frac{M_y-N_x}{N}dx}\end{align}\]

这里的答案不是\(U=C\cdot e^{\int \frac{M_y-N_x}{N}dx}\)的原因是,我们只需要找到一个\(U\),因此你可以认为我们选择\(C=1\)作为答案。下面的情况同理。

  1. 假如只与\(y\)有关则\(U_x=0\)则有

\[\begin{align}U_y\cdot M+U\cdot M_y&=U_x\cdot N+U\cdot N_x \\U'\cdot M+U\cdot M_y &= U \cdot N_x \\\frac{1}{U}U'&=\frac{N_x-M_y}{M} \\(\ln U)'&=\frac{N_x-M_y}{M} \\U &=e^{\int \frac{N_x-M_y}{M}}\end{align}\]

Implicit First Order Differential Equations

这种形式的 \[F(x, y, y')=0\] 一般来说有两种解决办法。要么通过一些方法获得explicit differential equation,要么就用参数化。

在这里我们只讨论两种情况:

  1. $F(x, y')=0 $, \(F(y, y')=0\)
  2. \(y=f(x,y')\), \(x=f(y,y')\)

第一种情况

对于$F(x, y')=0 $我们使用参数化: \[\left\{\begin{array}{l}x=\phi(t) \\y'=\psi(t)\end{array}\right.\] 此时方程变为\(F(\phi(t), \psi(t))=0\),同时我们有 $$ \[\begin{align}y'&=\frac{dy}{dx} \ \text{and} \ \phi'(t)=\frac{d\phi(t)}{dt} \\dy&=y'dx \ \ \text{and} \ d\phi(t)=\phi'(t)dt\\ y&=\int y'dx + C\\y&=\int \psi(t)d\phi(t) + C \\y&=\int \psi(t)\phi'(t)dt +C\end{align}\] \[最后得到:\] {\[\begin{array}{l}x=\phi(t) \\y=\int \psi(t)\phi'(t)dt +C\end{array}\]

. $$

第一种情况2

对于\(F(y,y')=0\)我们仍然参数化: \[\left\{\begin{array}{l}y=\phi(t) \\y'=\psi(t)\end{array}\right.\] 此时有\(F(\phi(t),\psi(t)=0\),同时有: \[\begin{align}y'&=\frac{dy}{dx} \ \text{and} \ \phi'(t)=\frac{dy}{dt} \\dx&=\frac{dy}{\psi(t)} \ \text{and} \ dy=\phi'(t)dt \\dx&=\frac{\phi'(t)dt}{\psi(t)} \\\int dx&= \int \frac{\phi'(t)dt}{\psi(t)} \\x&=\int \frac{\phi'(t)dt}{\psi(t)}\end{align}\]

An Existence and Uniqueness Theorem

中文名是存在唯一性定理。首先我们介绍Lipschitz condition:

We consider the following initial value problem \[y' = f(x,y),\ \text{for}\ \xi \leq x\leq \xi+a,\ y(\xi)=\eta\] The main assumptions in the following theorem are that \(f\) is continuous in the strip \(S=J\times\mathbb{R}\) with \(J=[\xi,\xi+a]\) and satisfies a Lipschitz condition with respect to \(y\) in \(S\) \[|f(x,y)-f(x, \bar{y})|\leq L|y-\bar{y}|\] No restrictions are placed on the value of the Lipschitz constant \(L\geq 0\)

然后引出存在唯一性定理:

Let \(f \in C(S)\) satisfy the Lipschitz condition. Then the IVP has exactly one solution \(y(x)\). The solution exists in the interval \(J: \xi\leq x \leq\xi +a\)

The extension of solutions.

以下三个定理是用于 The extension of solutions.

1️⃣Local Lipschitz condition. The function \(f(x,y)\) is said to satisfy a local Lipschitz condition with respect to \(y\) in \(D\subset R^2\) if for every \((x_0,y_0 )\in D\) there exists a neighborhood \(U=U(x_0,y_0 )\) and an \(L=L(x_0,y_0 )\) such that in \(U\cup D\) the function \(f\) satisfies the Lipschitz condition \(|f(x,y)-f(x,\bar{y})|\leq L|y-\bar{y}|\).

注意!我们一般通过连续性来判断Local Lipschitz condition

If \(D\) is open and if \(f \in C(D)\) has a continuous derivative \(f_y\) in \(D\), then f satisfies a local Lipschitz condition in this set.

2️⃣Theorem on local solvability If \(D\) is open and \(f\in C(D)\) satisfies a local Lipschitz condition in \(D\), then the IVP is locally uniquely solvable for$ (x_0,y_0 )∈D$; i.e., there is a neighborhood \(I\) of$ x_0$ such that exactly one solution exists in \(I\).

3️⃣Theorem on the extension of solutions Let \(f \in C (D)\) satisfy a local Lipschitz condition with respect to \(y\) in \(D\). Then for every \((x_0, y_0)\in D\) the initial value problem \(y' = f (x, y), y(x_0) = y_0\) has a solution that can be extended to the left and to the right comes arbitrarily close to the boundary of \(D\).

最后我们有:

The Peano existence theorem. If \(f(x,y)\) is continuous in a domain \(D\) and \((\xi,\eta)\) is a point in \(D\), then at least one solution of the differential equation \(y′=f(x,y)\) goes through \((\xi,\eta)\). Every solution can be extended to the left and to the right up to the boundary of \(D\).

Linear System

这里开始就是在讨论,常微分方程组。

Systems of n Linear Differential Equations

给出常微分方程组的形式: $$ \[\begin{align}y_1' &= a_{11}(t)y_1+\cdots+ a_{1n}(t)y_n+b_1(t) \\&\ \ \vdots \\y_1' &= a_{11}(t)y_1+\cdots+a_{1n}(t)y_n+b_1(t) \\\end{align}\] \[或者:\] '=A(t)+(t)\ \ A(t)=(a_{ij}(t)), (t)=(b_1(t), , b_n(t))^ $$ 值得一提的是,存在唯一性定理在常微分方程组也同样适用。

Homogeneous Linear Systems

对于齐次的形式,常微分方程组就变成了: \[\mathbf{y}'=A(x)\mathbf{y}\] 此时,根据存在唯一性定理有: \[\exist \text{ exactly one solution } \mathbf{y}=\mathbf{y}(t;\tau,\boldsymbol{\eta})\ \forall \tau \in J, \boldsymbol{\eta}\in \R^n\text{ or }\C^n\] 当然,齐次常微分方程组有一些重要的性质:

  1. $ $ in $ J$ is a solution of the homogeneous linear systems.
  2. There exist \(n\) linearly independent solutions \(_1,\dots,\mathbf{y}_n\). Every such set of \(n\) linearly independent solutions is called a fundamental system of solutions. If \(\mathbf{y}_1,\dots,\mathbf{y}_n\) is a fundamental system, then every solution \(\mathbf{y}\) can be written in a unique way as a linear combination \(\mathbf{y}=C_1 \mathbf{y}_1+\dots+C_n \mathbf{y}_n\).
  3. A system of \(n\) solutions \(\mathbf{y}_1,…,\mathbf{y}_n\) can be assembled into an \(n\times n\) solution matrix \(\Phi(x)=(\mathbf{y}_1,\dots,\mathbf{y}_n )\). If \(n\) solutions \(\mathbf{y}_1,\dots,\mathbf{y}_n\) are linearly independent, then \(\Phi(x)\) is a system of \(n\) solutions \(\mathbf{y}_1,\dots,\mathbf{y}_n\) can be assembled into an \(n\times n\) solution matrix \(\Phi(x)=(\mathbf{y}_1,\dots,\mathbf{y}_n )\). If \(n\) solutions \(\mathbf{y}_1,\dots,\mathbf{y}_n\) are linearly independent, then \(\Phi(x)\)is a Fundamental Matrix.

The Wronskian

现在讨论一下,齐次常微分方程的解,是线性无关还是线性相关。

  • The Wronskian. If \(\Phi(x)=(\mathbf{y}_1,\dots,\mathbf{y}_n )\) is a solution matrix of \(\mathbf{y}^′=A(x)\mathbf{y}\), then its determinant \(W(x)=|\Phi(x)|\)is called the Wronskian determinant.

  • Theorem If \(\mathbf{y}_1,\dots,\mathbf{y}_n\) are linearly dependent in \(J\), then the Wronskian \(W(x)\equiv0\).

  • Theorem If \(\mathbf{y}_1,…,\mathbf{y}_n\) is a fundamental system of equation \(\mathbf{y}'=A(x)\mathbf{y}\), then the Wronskian \(W(x)\neq0\) in \(J\).

  • Theorem. There exists a fundamental system of solutions for equation \(\mathbf{y}'=A(x)\mathbf{y}\).

因此,我们先求出\(n\)个解,然后再去判断这\(n\)个解的Fundamental Matrix的行列式,也就是The Wronskian,是否为零。

Inhomogeneous Systems

对于非齐次的常微分方程组,就是最开始样子: \[\mathbf{y}'=A(t)\mathbf{y}+\mathbf{b}(t)\] 下面这个定理类似线性代数,非齐次方程组的通解是,齐次方程组的通解+非齐次方程组的特解:

  • Theorem. Let \(\tilde{\mathbf{y}}(x)\)be a fixed solution of the inhomogeneous equation (1). If \(\mathbf{y}_0 (x)\) is an arbitrary solution of the homogeneous equation, then \(\mathbf{y}(x)=\tilde{\mathbf{y}}(x)+\mathbf{y}_0 (x)\)is a solution of the inhomogeneous equation, and all solutions of the inhomogeneous equation are obtained in this way.

Windows分应用跳过管理员弹窗

作者 Java不加糖
2022年11月15日 20:54

程序设置管理员启动

右键exe文件->属性

程序设置管理员启动

把程序打开一次后关闭(这个时候还会有弹窗是正常的,别急😠)

进入注册表

摁住Win+R,输入regedit打开注册表编辑器

注册表编辑

Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers下面找到对应的程序,然后修改程序的数值为RUNASINVOKER

编辑值

再次打开软件就不会有弹窗了。

NgeNet论文理解

作者 Java不加糖
2022年8月25日 17:09

由于点云传统配准(ICP:迭代最近点算法)效果不佳,于是考虑使用深度学习的方法。 这里采用NgeNet

Neighborhood-aware Geometric Encoding Network 邻域感知几何编码网络

论文链接:https://arxiv.org/abs/2201.12094

Introduction

点云配准深度学习方法的分类

作者将其分为了两种

  1. end-to-end:将feature learning 和 transformation estimation 融合到了一个模型
    1. 其中有一些方法依赖相关性的建立来进行后续的Procrustes分析
    2. 而其他方法则更关注点云之间的全局特征
  2. feature-learning:更加关注learning of discriminative point feature(学习辨别性的点的特征),而transformation则是由pose estimators来估计的

提出网络

NgeNet利用多尺度结构明确地生成具有多种邻域大小的点状特征,并利用几何指导的编码模块来最大限度地利用几何信息。具体来说,设计了一个投票机制,为每个点选择一个合适的邻域大小,并拒绝在无法区分的表面上出现虚假的特征。

主要贡献

  • 多尺度结构与几何引导编码相结合,产生多层次的几何和语义信息编码的特征。
  • 多层次的一致性投票,为每个点选择适当的邻域并拒绝虚假的邻域。
  • 我们的方法中所提出的技术是与模型无关的,能够很容易地移植到其他骨干结构上并提高性能。

Preliminaries (引言)

点云配准问题的数学表达

arg 是变元(即自变量argument)的英文缩写。 arg min 就是使后面这个式子达到最小值时的变量的取值 arg max 就是使后面这个式子达到最大值时的变量的取值 例如 函数F(x,y): arg min F(x,y)就是指当F(x,y)取得最小值时,变量x,y的取值 arg max F(x,y)就是指当F(x,y)取得最大值时,变量x,y的取值

\[arg\ \underset{T}{\mathrm{min}}\frac{1}{|\sigma|}\sum_{(i, j)\in \sigma}||T (x_i ) − y_j ||_2\]

Cardinal Number(基数):集合论中刻画集合大小的数

邻域分析

在特征学习中常常用到encoder-decoder网络来提取特征; 模型的输入为\(X\in\mathbb{R}^3\) 维数从\(N\times 3\) -> $N C $意思是每个点输出C维的特征

有两种方式去影响领域的范围一个是依靠连续的卷积层,隐形的增加了领域的范围;另一个是在encoder-decoder网络中常常使用两倍大小的分层卷积层来模拟点云的down sample。

方法

网络

NgeNet的网络架构

可以很清楚的看到NgeNet是一个encoder-decoder网络 - encoder模块由:residual-style KPConv/strided KPConv层、instance norm层和Leaky ReLU层(k=0.1)组成

KPConv 是用于三维点云中的一种卷积方式

  • decoder模块由:decoder中的上采样块采用最近搜索来进行特征插值。 unary block由一个线性(MLP)层、一个实例范数层和一个 Leaky ReLU 层 (k=0.1) 组成,而last unary block仅由一个线性层(MLP)组成

Input是什么?

Input为the source point cloud \(X\) and its initial descriptor \(F_X\) , the target point cloud \(Y\) and its initial descriptor \(F_Y\)

  • 其中\(F_X\) and \(F_Y\) 都被init为全部为\(1\)的矩阵

组成部分

SIAMESE MULTI - SCALE BACKBONE

连体式多级骨干(什么鬼翻译

用途:用于处理输入的点云

如何工作?

  • Shared Encoder:可以在绿色的Encoder部分看到一共做了四次卷积;这样做是为了拓展领域特征。此时一共有四个输出,最后的输出得到Super points \(X'\)\(X'\)集合会在下文经常提到其中包括他的点\(x'_i \in X '\))和它的feature \(F^{en}_{X'}\)(我理解上标的en意思是end;最后一个输出);前三步输出的feature作为中间变量也被保存了下来,为了decoder去生成multi-scale的feature。这三个中间变量被记为\(F^1_{X}, F^2_{X}, F^3_{X}\)。这里需要注意的是,每个点特征的邻接点的感知范围从\(F^1_X\)延伸到\(F^3_{X}\) (最后一句话是KPConv的知识)

    • 最后Shared Encoder输出的是\(X' \in \mathbb{R}^{N' \times 3}\)\(F^{en}_{X'} \in \mathbb{R}^{N' \times D_{en} }\) ,加起来是应该是\((X', F^{en}_{X'}) \in \mathbb{R}^{N' \times (3+D_en)}\)有待考证
  • Parallel Decoder:上面说在decoder的时候需要用到我们刚才保存的\(F^1_{X}, F^2_{X}, F^3_{X}\),同时还有之后会介绍的\(F^{inter}_{X'}\),一共这四个输入。最后得到的output是关于\(X'\)的高、中、低级别的feature

  • 现在我们定义一个函数(后面要用) \[\phi (F^1 , F^2 , g) = cat[Up(g(F^2 )), F^1 ]\] 其中\(F^1\)\(F^2\)是输入的feature,\(g\)是一个代表MLP或者Identity Layer的函数, \(cat\)表示concatenation(拼接矩阵),\(Up\)是nearest upsampling

  • 现在可以表示 \(F^l_X , F^m_X\)\(F^h_X\) 的计算方式

\[\begin{split}F^l_X &= MLP_2(\phi(F^1_X, F^2_X, MLP_1), \\F^m_X &= MLP_5(\phi(F^1_X, \phi (F^2_X, F^3_X, MLP_3), MLP_4), \\F^h_X &= MLP_8(\phi(F^1_X, \phi (F^2_X, \phi (F^3_X, F^{inter}_X, Identity), MLP_6), MLP_7 ).\end{split}\]

  • 同时给出overlap(重复性)分数\(O_X\)和saliency(显著性)分数\(S_X\)

GEOMETRIC - GUIDED ENCODING

几何学引导式编码

GGE模块是一个 一个输入一个输出的模块

GGE模块

用途:GGE将super points和潜在的feature(也就是Shared Encoder输出的\((X', F^{en}_{X'}) \in \mathbb{R}^{N' \times (3 + D_{en})}\))作为输入;然后输出几何增强后的feature

如何工作?

  • Normal vectors smoothing:这里计算Normal vector的方式比较特别。这一步的目的是去获得super points的Normal vector,但是他没有直接去用open3d的库直接计算。而是将super points的点映射回原来的全部点集中。再通过全部点集中,super points周围点的normal vectors去平均得到super points的normal vector。

\[N_{X_i^{'}}=\frac{1}{|J_i^N|}\sum_{x_j \in J_i^N}{N_{X_j}}\]

公式里面\(J_i^N = \{x_j| \left|| x_j-x'_i \right|| < r^N \}\) 其中\(x_j\in X\)\(r^N\)\(x'_i\)的邻域。

稍微解释一下公式:

\(N_{X'_i}\)是我们想要的\(X'\)的normal vector的集合

\(J^N_i\)代表得是点\(x_i\)邻域内的点

  • Geometric encoding:这里我们想要的是每个点的几何特征,记为\(G_{x'_i}\),利用PPF(Point Pair feature)去计算几何特征

\[\begin{equation}\begin{split}PPF(x'_i, x'_j) &= (\angle(x'_j-x'_i, N_{x'_i}), \angle(x'_j-x'_i, N_{x'_j}), \angle(N_{x'_i}, N_{x'_j}), \left|| x'_i - x'_j\right||_2), \\G_{x'_j} &= f_1(x'_i, x'_j-x'_i, PPF(x'_i, x'_j)), \\G_{x'_i} &= max\{ G_{x'_j}|x'_j \in J^G_i \}.\end{split}\end{equation}\]

公式里面\(\angle(\cdot, \cdot)\in(0, \pi)\) 代表两个向量之间的夹角, \(f_1\)是pointnet里的一个函数, \(J^G_i = \{x'_j \left|| x'_j-x'_i\right||<r^G\}\)\(r^G\)\(x'_i\)邻域的半径,\(max(\cdot)\)意思是channel-wise max-pooling

这个公式也解释一下:

PPF我这里理解的就是一个四维向量包含了(按照NgeNet的顺序),一个法向量和{两个法向量之间的向量d}的夹角,另一个法向量和{两个法向量之间的向量d}的夹角,两个法向量的夹角,两点之间的距离。对应下图的\((F_2, F_3, F_4, F_1)\)

原论文的图片

\(f_1\)函数:暂时不清楚什么意思 \(G_{x'_i}\):找到\(G_{x'_j}\)中最大的;至于channel-wise再点云中代表什么几何含义,暂时不清楚

  • Semantic encoding:需要更新

损失函数

这里我们将损失函数从两个方面来看:特征损失 和 重叠与显着性损失

特征损失

这里说的特征损失,就是我们之前提到的\(F^h_X, F^m_X, F^l_X, F^h_Y, F^m_Y, F^l_Y\) 两个点云三个类别的特征。

重叠与显着性损失

投票机制

为什么要投票

不同级别的特征

在Parallel Decoder我们强调了,在每一次计算特征的时候,我们都保存下来了那些中间变量;他们是\(F^l_X\)\(F^m_X\) ,最后的输出是\(F^h_X\)

此时它们三个分别可以决定哪些source的特征点和target的特征点可以一一对应。那么每一个特征点都会存在三种方案。所以需要通过投票决定使用哪一种。

如何投票

投票算法
❌
❌