• 15、三维表面重建-Occupancy Networks


    简介

    随着深度神经网络的到来,基于学习的三维重建方法逐渐变得流行。但是和图像不同的是,在3D中没有规范的表示,既能高效地进行计算,又能有效地存储,同时还能表示任意拓扑的高分辨率几何图形。很多先进的基于学习的三维重建方法只能表示粗糙的三维几何,或者限制于一个特定的领域。在这篇论文中,作者提出了占用网格,一种新的基于学习的三维重建方法。占位网络隐式地将三维曲面表示为深度神经网络分类器的连续决策边界。与现有方法相比,该表示方式编码了高分辨率的3D输出,并且没有过多的内存占用。同时该方法能够高效地编码三维结构,并且能够从不同种类的输入推断出模型。实验证明,无论是在质量上还是在数量上,对于从单个图像、有噪声的点云和粗糙的离散体素网格进行三维重建,该方法都获得了具有竞争力的结果。

    和传统多视图立体几何算法相比,学习模型的方法能够编码3D形状空间中的丰富先验信息,这有助于解决输入的模糊性。生成模型的方法在高分辨率的图像上已经取得了很好的效果,但是还没有复制到3D领域。与2D领域相比,暂时还没有就3D输出表示达成一致,这种表示既能提高内存效率,又能从数据中有效推断

    现存的表示方法能够大概分成三类:体素、网格、点云
    在这里插入图片描述

    贡献点

    • 介绍了一种基于学习连续三维映射的三维几何表示方法
    • 使用此表示法重建各种输入类型的3D几何图形
    • 此表示方法能够生成高质量的网格,并且达到先进技术水平

    实现思路

    占用网格

    理想情况下,我们不仅要在固定的离散的3D位置(就像在体素表示中)考虑占用率,而且要在每一个可能的3D点p考虑占用率。称以下函数为3D物体的占用函数
    在这里插入图片描述
    这个函数的关键是,可以用一个神经网络来近似这个3D函数,该神经网络分配给每个位置p一个在0到1之间的占用概率。这个网络相当于一个用于二分类的神经网络,而我们关注的是对象表面的决策边界

    根据对物体的观察(如图像、点云等),当使用这样的网络对物体进行三维重建时,必须以输入作为条件。作者使用了下面的简单的功能对等:一个函数,它接受一个观察x作为输入,输出一个从点p到R的函数,这可以通过一个函数等价描述:一对(p, x)作为输入和输出一个实数。后一种表示可以用一个神经网络参数化,该神经网络以一对(p,x)作为输入,输出一个表示占用概率的实数
    在这里插入图片描述

    训练

    为了学习神经网络的参数,考虑在对象的三维边界体中随机采样点,对于第i个样本,采样K个点,然后评估这些位置的小批量损失Lb
    在这里插入图片描述
    xi是B批次的第i个观测值,Oij是点云的真实位置,L是交叉熵损失

    该方法的性能取决于用于绘制用于训练的pij位置的采样方案,在带有附加小填充的对象的边界框内均匀采样会产生最好的结果。这个三维表示方法也可以用于学习概率潜在变量模型,定义损失函数如下
    在这里插入图片描述
    KL表示KL-散度,p0(z)是潜在变量zi(通常为高斯分布)的先验分布,编码器网络gψ(·),位置pij,占位oij,预测潜在z∈RL上高斯分布的qψ(z|(pij, oij)j=1:K)的平均μψ和标准偏差σψ,负对数似然的下界,p((oij )j=1:K |(pij )j=1:K )

    推论

    为了提取给定训练过的占用网络的新观测对应的等值面,引入了多分辨率等值面提取(MISE),这是一种层次化的等值面提取算法。通过增量构建八叉树,MISE使我们能够从占用网络中提取高分辨率网格,而无需密集评估高维占用网格的所有点

    在这里插入图片描述

    • 把要判断的范围按一个粗粒度的初始分辨率分成grid。每个grid有一些角点(三维的话相当于一个cube,有8个顶点)
    • 所有这些角点,用训练好的网络计算出occupancy value (0-1之间的实数).
    • 网络超参数τ ,物体厚度。大于等于τ 的为occupied,否则为unoccupied. (可以认为边界点的occupancy value 为τ。)
    • 如果一个grid,他有的角点是occupied,有的是unoccupied,那他就是active的grid。(淡红色的那些grid)
    • 把所有active的grid再次细分,(对半分,最后一共八个)。重复以上步骤,直到满足目标分辨率。
    • 用marching cubes 算法来得到mesh。(线性插值认为一个grid的一条边中,和等值面的交点由顶点值做线性插值计算。(等值面是occupancy value为τ 的面)
    • 用一阶和二阶梯度来优化一下得到的mesh
    • 从输出网格的每个面随机采样点pk,并将损失降到最低
      在这里插入图片描述
      n(pk)为pk处网格的法向量,λ = 0.01
  • 相关阅读:
    金九银十招聘季, 自动化测试面试题分享
    Informer论文思维导图
    常见的实时操作系统(RTOS)(嵌入式和物联网操作系统)介绍
    cookie过大导致request 400 错误研究
    必看!!!客户端requests与服务端request收发请求
    CSDN里的常用网址(2)
    【c++百日刷题计划】 ———— DAY4,带你轻松学习算法
    大模型参数高效微调技术原理综述(二)-BitFit、Prefix Tuning、Prompt Tuning
    Java后台解决request请求体不能重复读取+解决XSS漏洞问题
    javascrip非标准 json格式转换为标准格式
  • 原文地址:https://blog.csdn.net/weixin_50973728/article/details/126409161