当前位置:网站首页>【3D形状重建系列】Implicit Functions in Feature Space for 3D Shape Reconstruction and Completion
【3D形状重建系列】Implicit Functions in Feature Space for 3D Shape Reconstruction and Completion
2022-04-23 06:11:00 【^_^ 晅菲】
清库存系列,拖了好久啊。
1. 概要
题目:Implicit Functions in Feature Space for 3D Shape Reconstruction and Completion,CVPR 2020
论文:https://virtualhumans.mpi-inf.mpg.de/papers/chibane20ifnet/chibane20ifnet.pdf
代码:https://virtualhumans.mpiinf.mpg.de/ifnets/.
2. 动机
现有重构刚性物体都受限于两点:
- 不能够代表复杂的物体,例如重构经常失去手臂或腿;
- 他们不能够保留在输入数据中所呈现的细节。
可能受限的原因:
- 网络学习了在xyz坐标上过于强大的先验破坏了清晰度的不变形;
- 形状编码向量缺乏三位编码,导致编码看起来更像是对形状原型的分类,而不是连续回归。因此,当前方法受限于上述2点;
本工作就是基于上面的考虑,提出来隐特征网络,在5个维度进行了改进。

希望达到的效果:

3 算法
本质上其实是decode的设计,因为encoder就是基础的特征提取部分;而decoder其实就是在预测点是在这个物体里面还是外面,那么两者的边界就是我们所需要的物体表面。最终是要通过其他算法来复现连续曲面的。因为输出的离散值:0或1。

3.1 背景:隐表面学习
定义occupancy公式。使用隐形表达 z z z来编码3D形状。则连续的形状表达可以荣国学习神经函数来获得:

表面通过[0,1]设定是否属于物体内或外。这样的话表面就是决策边缘。连续表达可以不受像素限制。
后面可以通过构建mesh中marching cubes算法来表达物体限制,但是有两个限制:
- 不能够表达复杂物体,例如 有关节的人物等。
- 没能保留输入数据的细节。
3.2 隐形特征网络
形状编码 g g g: 使用了3D卷积,多尺度深度特征网格 F F F,如下:

其实最主要还是用到了occupancy实现多分辨率输出,知识过程中用到了多尺度来保障保留细节。
形状解码 f f f:
不同于直接将点云坐标 p \mathbf{p} p进行分类,我们通过坐标提取了学习到的特征 F 1 ( p ) , . . . , F n ( p ) \mathbf{F}_1(\mathbf{p}),..., \mathbf{F}_n(\mathbf{p}) F1(p),...,Fn(p)。由于特征网格是离散的,因此使用三次线性插值来获得连续的3D点。这里是为了在最前面的小感受野区域内可以编码某个点与其领域的点,笛卡尔坐标表示如下:

其中 d d d是距离中心的点。 e i e_i ei为第 i i i个笛卡尔单位向量。
将编码器结果输入给解码器 f f f,包括一个全连接层来预测点 p \mathbf{p} p是在表面外还是内,如下式所示:

所以与最基本的隐式表达,公式(1)对比,这里的特征包含了局部和全局的特征,而不仅仅只是坐标信息。由于这样的多尺度编码模式,细节也可以很好的被保留。
总之提取特征级别就是万能的:多尺度来考虑到全局+局部关联信息。
3.3 模型训练
使用 最小化mini-batch的损失来决定:本质上就是预测该点是0还是1,然后和GT的 o i ( ) o_i() oi()比对。

4. 实验结果
可视化效果:会有比较光滑的曲面,然后包含一些细节

补全:

应用到体素上:

5. 结论及思考
本质就是,将点的学习转化为 分类问题来操作,预测哪里是曲面内,哪里是曲面外,用0,1来标注。那么其实这些点都是离散的,所以需要后处理来实现曲面化。
基于点的:就给每个点一个预测;
基于体素:使用 marching cubes算法实现;
版权声明
本文为[^_^ 晅菲]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_43882112/article/details/108653110
边栏推荐
- Pytorch model pruning example tutorial III. multi parameter and global pruning
- xcode 编译速度慢的解决办法
- [2021 book recommendation] effortless app development with Oracle visual builder
- 【2021年新书推荐】Practical Node-RED Programming
- AVD Pixel_ 2_ API_ 24 is already running. If that is not the case, delete the files at C:\Users\admi
- Compression and acceleration technology of deep learning model (I): parameter pruning
- Android暴露组件——被忽略的组件安全
- Android room database quick start
- [dynamic programming] different paths 2
- face_recognition人脸检测
猜你喜欢

GEE配置本地开发环境

机器学习 二:基于鸢尾花(iris)数据集的逻辑回归分类

常用UI控件简写名

【2021年新书推荐】Learn WinUI 3.0

图像分类白盒对抗攻击技术总结
![[2021 book recommendation] effortless app development with Oracle visual builder](/img/db/d8802b42d5374e4117db638a0b82b0.png)
[2021 book recommendation] effortless app development with Oracle visual builder

【2021年新书推荐】Artificial Intelligence for IoT Cookbook

adb shell top 命令详解

Google AdMob advertising learning

Cancel remote dependency and use local dependency
随机推荐
【2021年新书推荐】Red Hat RHCSA 8 Cert Guide: EX200
读书小记——Activity
What did you do during the internship
项目,怎么打包
Component learning (2) arouter principle learning
MySQL notes 1_ database
Android清除应用缓存
一款png生成webp,gif, apng,同时支持webp,gif, apng转化的工具iSparta
torch.mm() torch.sparse.mm() torch.bmm() torch.mul() torch.matmul()的区别
Fill the network gap
Pytorch trains the basic process of a network in five steps
adb shell常用模拟按键keycode
[2021 book recommendation] learn winui 3.0
MySQL的安装与配置——详细教程
Markdown basic grammar notes
Migrating your native/mobile application to Unified Plan/WebRTC 1.0 API
Thanos.sh灭霸脚本,轻松随机删除系统一半的文件
Pytorch模型保存与加载(示例)
Bottom navigation bar based on bottomnavigationview
Pytorch best practices and coding style guide