Contents

泊松重建 (Possion Reconstruction)

论文 代码

Reconstructing 3D surfaces from point samples

三维指示函数拟合

输入:有法向量的点集\(S\)(有向点云)

样本点 \(s\in{S}\) 位于未知模型 \(M\) 的表面 \(∂M\) 附in近,且必须包含两个属性: \(s.p\)(坐标)和 \(s.\overrightarrow{N}\)(朝内的法向)。

输出:指示函数(indicator function)\(\chi\),用于确定表里

Contents

Marching Cube (移动立方体)

如何理解

简单的 2D “移动正方形”

  1. 将目标表面分割为小正方形
  2. 标注每个小正方形的顶点在目标表面内还是外(红内蓝外)
  3. 一角在内一角在外的边上,一定存在目标表面和小正方形的交点(紫)
  4. 把所有小正方形上的紫点连接起来,可以获得原有表面的近似

image-20200724001221349

Contents

论文代码

首先分析一下作者的源码

ExplainModule这个类定义了GNNExplainer网络的模块结构,继承自nn.Module

init时用construct_edge_maskconstruct_feat_mask函数初始化要学习的两个mask(分别对应于两个nn.Parameter类型的变量:\(n\times n\)维的mask,\(d\)维全0的feat_mask);diag_mask即主对角线上是0,其余元素均为1的矩阵,用于_masked_adj函数。

_masked_adj函数将mask用sigmod或ReLu激活后,加上自身转置再除以2,以转为对称矩阵,然后乘上diag_mask,最终将原邻接矩阵adj变换为masked_adj

下面分析一下其中的forwardloss函数。