• NeuralODF: Learning Omnidirectional Distance Fields for 3D Shape Representation


    定义:Neural Omnidirectional Distance Fields,a new shape representation encodes  geometry by storing the depth to the object’s surface from any 3D position in any viewing direction.

                           一种通用的3D表达方式,可以生成mesh,点云,深度图

     SDF/UDF是带有表面法向约束的ODF,ODF是可以用来表示SDF、UDF的,如下图所示

    总体架构:

     总体架构和deepsdf很相似,输入与nerf的相同(x,y,z,\omega ,\vartheta),输出(光沿发射角度的距离dp:是否占用(0或1)),训练过程中会像deepsdf一样每一个instance 训练一个latent code,网络总共8层,前两层输出p,最后一层输出d,这是为了把参数空间留给更复杂的深度估计,仿照deepsdf,同一类物体可以共享一个网络参数,inference的时候只需要优化latent code的参数即可,latent code默认是一个高斯分布。(NeuralODF can be used for both overfitting a single shape and generalizing to a category of shapes.

    Loss:

    第一个就是预测depth和gt depth的均方差,第二个就是一个二分类的cross-entropy loss,第三个是因为latent code是一个高斯分布,取最小化负对数似然以后就是这个公式

    数据增强:

    这个部分应该没什么解释的,基本是一些常规操作,就不贴文字了

    Recursive inference:

     

     算法2 ,其实就类似于TSDF,加了一个深度限制,在算法3的recursive inference过程中,为了避免学到的噪声带来的影响,沿着梯度下降的方向多次迭代得到一个较好的结果(如10~17行所示)。

     Jumping cube 算法:

    空间按照一定的分辨率划分之后,譬如,右图1.红色的栅格沿着z方向,位置和角度输入网络inference,一旦这个栅格沿着z方向上对应的深度是占用的,那么当前栅格到占用栅格之间的栅格推理的信息就可以直接按照线性比例输出了,不需要都inference一遍了,节省计算资源。

    生成三角面片的时候,根据cube的边(12条)与物体表面的相交情况来生成面片,正常应该是2^{12}种情况,考虑旋转以后,就简化为218种情况。

     

     

  • 相关阅读:
    Java基础之final(最简单最详细)
    springboot整合百度富文本编辑器ueditor实现图片上传和文件上传以及回显
    2023快递高质量发展高峰论坛暨2023上海国际快递物流产业博览会
    VBA操作Excl表格常用命令
    visionpro学习课程-CogPMAlignTool大总结
    语言主要是一种交流工具,而不是思维工具?GPT5何去何从?
    科技云报道:产业为根大模型应用为擎,容联云推动企业营销服场景重塑
    避免遮掩继承而来的名称
    三种获取URL参数值的方法
    第三章 栈、队列和数组
  • 原文地址:https://blog.csdn.net/u013630299/article/details/125491278