CAD&CG2020会议记录——三维几何数据的表示(王鹏帅)

背景:深度学习
侧重点:在深度学习下的应用

文章目录

  • 1、三维数据的稀疏性
  • 2、体素表达
  • 3、多视角表达
  • 4、点云表达
  • 5、网格表达
  • 6、隐式表达

1、三维数据的稀疏性

三维数据在现代工业与生活中应用十分广泛,例如:机器人、增强现实、自动驾驶等等
与二维数据相比,三维数据最大的特性为稀疏性
CAD&CG2020会议记录——三维几何数据的表示(王鹏帅)_第1张图片
如图所示,狗狗图片在二维平面上是稠密表达,可以使用网格、利用矩阵将该数据进行表达;三维数据通常是利用扫描仪、激光雷达等等进行获取数据,如图片右方的兔子,通过扫描仪获取了两个视角,然后将这些点云进行拼接,组成三维模型,可以发现该模型在三维空间中只占据了极稀疏的有限部分,此处之所以不过分强调该模型的不规则性,是因为这些点云看似不规则,但若不考虑存储代价,可以使用体素表达进行网格处理,每个格子中存储一些平均的几何属性,形成三维的体表达,此时不规则可转变为规则,但其本质为三维数据的稀疏性
注:这里讲述的数据并不是CT数据,而是在图形学中常用的几何物体、几何场景的一些数据;这里的稀疏主要是空间的稀疏性,而不是随机的稀疏性,空间稀疏虽然在空间稀疏,但局部是稠密的
卷积神经网络
CAD&CG2020会议记录——三维几何数据的表示(王鹏帅)_第2张图片
两个重要的运算:
1、卷积运算:本质为在定义域中取一个小方块(或取一个小的邻域),在该邻域中进行可微运算(矩阵乘等等),反传梯度至各个神经网络层级,以此对神经网络的权重进行优化
2、降采样:在做图像分类时,输入可能是32 * 32,所以在运算同时需要进行降采样(也需要可微)

2、体素表达

对于一个三维形体而言,从图像到三维的推广,可以在三维空间中进行打稠密的网格(属于该物体可标记为1,用1信号表达,不属于该物体标记为0,用0信号表达),从而变成规则的表达,可借鉴二维图像的卷积运算,接着推广到三维,进行三维CNN运算。明显缺点为:内存和时间开销较大,假设分辨率为n,以此方法则有n的3次方个小格点,对这些格点进行运算,开销很大
体素——>八叉树

可以发现,该数据为稀疏的,貌似三维物体,实则只占据了稀疏部分,可利用图形学中常用的八叉树数据结构把非0的信号编码至树形结构中
八叉树和体素的主要区别:体素打均匀的网格,八叉树则是从根节点开始,每次对空间进行八个区域的划分,即把一个节点从x、y、z轴三个方向进行划分,将其变成8个节点,以此类推,当该节点不为空时,继续划分(递归),直到达到最大深度为止,为空时,不再进行划分。
如上图右方所示,一些空的地方可用一个大的节点表达,不空的地方用一些小的、分辨率较高的格点进行表达,由于该数据是稀疏的,只是三维空间中的一个曲面,本征维度还是二维,使用该表达,所有有效单元只有C · n的平方个,通常该常数较小(只有2或3左右),因此存储开销降低,当把神经网络运算和存储都集中在有效单元中,整个神经网络框架将变得十分高效

八叉树——>哈希表
CAD&CG2020会议记录——三维几何数据的表示(王鹏帅)_第3张图片

若使神经网络框架进一步提高效率,可使用哈希表进行表达
八叉树将一个节点一变八,递归直到最大深度为止,当把一个节点划分为八个小节点时,不是所有节点都为空,也不是所有节点都为非空,当三维格点与曲面求交时,大概会有一半与格点没有交点,因此八叉树节点中大概有一半为空,另一半不为空
空间哈希把所有非空节点构建一个哈希表,若想取出所需格点,可在哈希表中进行查找,当其在GPU上进行良好优化时,查找十分高效,可做到常数时间,在该情况下,哈希表比八叉树又节省一定内存(只存储非空节点)
CAD&CG2020会议记录——三维几何数据的表示(王鹏帅)_第4张图片
利用稀疏性的基本思想,可采用八叉树或哈希表只存储三维的稀疏信号
CNN所有运算只发生在信号非0的位置,即存储的有信号的位置,CNN定义同2D CNN
降采样:原来格点是从高分辨率到低分辨率,现在只存储了稀疏格点,也有高分辨率与低分辨率之别,信号也是从高分辨率到低分辨率,处理好高分辨率到低分辨率之间的对应关系即可
与二维卷积区别:把存储和运算都限定在信号非0的位置
OctNet核心思想:运算发生在整个三维空间中,把重复运算忽略掉:利用树形结构检测出重叠部分,减少一部分运算(在信号重叠的地方,属于兔子有一大片信号都为1,那么运算都一样)
MinkowskiNet:将哈希表CNN推广到4D(四维数据:三维空间+一维时间),将有效单元利用哈希表进行存储,运算限制在信号非零的位置

3、多视角表达

多视角:可以在三维模型周围放一圈摄像机,接着拍一圈照片,可把一个三维模型转化为二维图片
CAD&CG2020会议记录——三维几何数据的表示(王鹏帅)_第5张图片
仅需进行数据转换,CNN运算就可在2D进行
利用二维的研究成果来做三维的任务
缺点:本质二维表达,无法克服遮挡等问题;3D投影到2D,存在表达高效性问题,例如三位点和三角形网格,到底拍多少张照片能够将全部信息进行表达,没有很好的解决办法,通常做法为均匀的拍一圈照片,所以存在遮挡和有效性问题

4、点云表达

最直观、最简单的一种表达
CAD&CG2020会议记录——三维几何数据的表示(王鹏帅)_第6张图片
三维扫描仪通常获取的是一些点,或深度图,可把深度图投影到3D,投影后自然会表达成一堆点,将这些点的坐标存储下来,则表达了最原始的三维点云信号
CAD&CG2020会议记录——三维几何数据的表示(王鹏帅)_第7张图片
降采样:最远点采样:原来有1000个点,可以采样500个点;随机采样
通过三维点云定义图结构,在图结构上设计可微运算,通过降采样不断运算最后得到关于该物体的特征表达
DGCNN:既然可以把点云看成一张图,那么可以把这张图当成一个整体,不是把该图结构固定,可按照三维特征距离,每次运算图的结构都会发生变换,可以将其看成动态图,也可看成全局图,所有的点都在图中,每次运算使用特征距离进行运算

5、网格表达

CAD&CG2020会议记录——三维几何数据的表示(王鹏帅)_第8张图片
如图所示,若仍按照空间位置进行表达的话,很容易把两条腿连接起来
在图形学中,有非常多的数据有天然的结构,例如三角形网格
CAD&CG2020会议记录——三维几何数据的表示(王鹏帅)_第9张图片
对三角网格进行处理、分析

6、隐式表达

用函数表达三维结构:
CAD&CG2020会议记录——三维几何数据的表示(王鹏帅)_第10张图片
可用神经网络来参数化该f(x),然后可对其进行训练
CAD&CG2020会议记录——三维几何数据的表示(王鹏帅)_第11张图片

CAD&CG2020会议记录——三维几何数据的表示(王鹏帅)_第12张图片

你可能感兴趣的:(人工智能)