当前位置:网站首页>Local Implicit Grid Representations for 3D Scenes详解
Local Implicit Grid Representations for 3D Scenes详解
2022-07-30 05:50:00 【夕阳染色的坡道】
Markdown
Motivation
更好理解论文,可能当时理解有误,但是记下来用于后续深入理解。
论文:Local Implicit Grid Representations for 3D Scenes
目的
在场景中可以通过Grid的隐式表达,这样可以表达重建整个场景。应用如下:场景的点云输入,输出具有mesh的场景。
理解
这篇论文的原理主要是在整个场景中,在固定大小的grid分割下,它们里面的3D表面可能具有相同的几何细节。比如:在一定大小的grid中,桌子的脚的表面几何可能和凳子的脚的表面几何具有相似的特征的。这种性质在整个场景中非常常见,需要学习这些相似的表面表达。通过学习这个相似性可以encode这些表面,用于后续的固定的grid的区域重建。即在grid的区域中,可以通过里面的点云推测3D区域。
论文的主要概念
Local Implicit Grid representation
为了能够完成场景的encode,论文提供了局部区域的encode,同时将其称为为Local Implicit Grid representation。它的表达如下,对shapent中的物体进行watertight的表达,归一化成[0,1]之间,然后分成256256256块,然后生成sdf,然后对这些Grid大小的区域进行encode,从整体的网络架构可以看出为对象的Parts,通过顶点它的decode也是各个Parts,表示如下:
encode grid part的整体的网络架构
论文中是通过对shapenet的对象进行crop,然后训练Part encode,得到Part Latent。对shapenet数据中,对每个对象的Grid大小的区域进行Encode。在这个区域可以得到如下的分布:
可以看到,在Grid大小的区域中,encode各个表面区域,这个encode函数,把相似的曲面聚集在一起。这个encode,可以推广到场景中的各个表面的encode。
训练Grid大小的loss函数,如下:
其中 ∣ P ∣ |P| ∣P∣表示shapenet中一次batchsize 的Grid大小的曲面数量, ∣ B ∣ |B| ∣B∣表示在这些曲面上采样的顶点数量。其中 D θ d D_{\theta_d} Dθd 表示decode网络(输入为x,和encode的vector),其中 E θ e E_{\theta_e} Eθe 表示encode的vector,对区域大小为Gird的区域,也就是 g g g,其中 g i g_i gi 表示第i个Grid区域作为输入,从这个loss函数可以看出来,它是对整个shapenet中的Grid大小区域进行Encode表面信息。
从局部的cell(grid)到整体
对单个曲面能够encode各个表面的信息,这些都是局部坐标系下的,但是在场景或者对象可能会有坐标系和scale的区分,需要进行转化,对cell的小区域进行坐标系转化,表示如下:
其中 c i c_i ci 表示第 i i i 个cell的encode,其中 x i x_i xi为第 i i i 个cell的中心坐标, s s s 为scale的大小。从公式可以看到表达为:先将cell的从世界坐标系转化为cell中心点为原点的局部坐标系,在normalize到[-1,1]之间。
可能表示整体对象的时候,cell之间表达不连续的情况?论文的处理,cell之间有一般是相互重叠的,这个思路很好,如下:
这样的cell,对于encode,发现一个点在三维坐标系中,有8个重复的cell邻近叠加。
因此encode 表达需要通过 w j w_j wj 进行插值,所以公式如(3).
在对象中优化中,可以看到
在训练对象的时候,将对象分成cell后,对采样的点云进行里外的判断。这样构成loss函数。对于cell中的里外判断标准为如下:
在每个cell中,我们通过点云来优化的。
上面是对整体的对象进行分块encode,它表达内外都是点云表面,比如它发向量反的为负,法向量为正。它是refine局部区域的latent code。如下:
这样就可以应用到真实的场景。
边栏推荐
- Redis下载与安装
- Test Development Engineer Growth Diary 001 - Some Introduction to Agile Testing, CI/CD/CT, DecOps
- libgrape-lite on GPUs: GPU helps accelerate graph analysis tasks
- DNS域名解析服务
- Software Testing Terminology - Scenario Testing
- 快速开发 GraphScope 图分析应用
- Install MySQL under Linux (centos7)
- 使用Apifox测试套件自动化测试接口
- MySQL主从复制配置搭建,一步到位
- 藏不住了,我要揭露云原生的那些不好
猜你喜欢

Bull: remove common characters

Install MySQL under Linux (centos7)

Test and Development Engineer Growth Diary 009 - Environment Pai Pai Station: Development Environment, Test Environment, Production Environment, UAT Environment, Simulation Environment
测试开发工程师成长日记010 - Jenkins中的CI/CD/CT(持续集成构建/持续交付/持续测试)

空间顶点到平面的距离计算的证明及其源码

原力计划微服务实战|集中配置中心Config非对称加密与安全管理

如何使用xilinx的FFT ip

测试开发工程师成长日记016 - 关于提测的那些事

libgrape-lite on GPUs:GPU助力加速图分析任务

测试开发工程师成长日记018 - 测试面试必备题记录(持续更新)
随机推荐
GAIA-IR: Parallelized Graph Query Engine on GraphScope
Selenium02
舒尔补(schur completement)
Install MySQL under Linux (centos7)
测试开发工程师成长日记003 - 接口自动化框架搭建
GAIA-IR:GraphScope 上的并行化图查询引擎
矩阵的行列式的计算及其源码
05-Theos
how to use xilinx's FFT ip
Ingress:从静态图分析到动态图分析
Required request body is missing 问题解决
空间顶点到平面的距离计算的证明及其源码
测开基础知识02
作为测试leader,考察求职者的几个方面
Network Protocol 03 - Routing and NAT
libgrape-lite: 提供 GraphScope 的图分析能力
npm安装nodejs环境配置
02-Use of Cycript
使用 Grafana 的 Redis Data Source 插件监控 Redis
(GGG)JWT