SinNerf理解和效果

SinNerf 解决的问题

该方法主要解决的问题是: 现有都使用多张照片来进行nerf 表示的学习,这篇文章的话,主要是想使用一张单视角的照片来Nerf表示的学习。通过从单张照片中得到的伪标签以半监督的形式来约束学习到的nerf表示。

方法和结构

具体的,该方式使用了两种伪标签,通过image wraping的方式重投影reference view 和 unseen view之间深度。这样做可以用来约束辐射场的几何连续性。第二个伪标签就是主要关注不可见views的语义质量。这里对看不见的views的约束是非常重要的。因为如果没有多视角的话,Nerf是没有能力学习潜在的几何形状的。
这篇文章讲的是将可见的这一个view propagates到 看不见的view上。具体什么意思? 我的理解是就是,假设有50个相机对着一个物体,这些相机的位姿,内外参都是知道的,只是只有一个相机是有图像,其他的相机都没有图像。有图像的这一个相机就是reference view, 没有图像的就是unseen views。因为相机和相机的关系是知道的,可以通过image wraping,根据现有的reference view 和相机之间关系,去推算那些unseen view的深度。这些深度就作为unseen views的一个几何伪标签。本文还是用inverse deoth smoothness loss 去regularize那些因为occlusion而导致的预估深度不准确的情况。这个可以理解成是像素值在x位置的拉普拉斯。类似的还将unseen view 重新投影会reference views 来促进几何连续性。

除了几何约束之外,还有一个语义约束。 这个语义约束由两部分组成,第一分部是叫local texture guidence,第二部分是global texture gudiance。 local texture guidence就是使用一个类似gan-based拟念。Nerf出来的照片当做是假的照片,并将reference images 变成小Patch, 然后把这些看成是real images。对于所谓的 global texture gudiance,直接是使用DINO-ViT 来提取reference view和unseen view的features,然后最小化他们之间的L2 distance。

自己训练的效果

因为笔者本地是只有RTX 4070, 所以按照它github上的指示调小了patch size 以及将precision 调整到了16。这些都会影响最终的效果。
在这里插入图片描述

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值