当前位置: 首页 > news >正文

28、iNeRF

简介

论文地址:https://arxiv.org/pdf/2012.05877.pdf
在这里插入图片描述
执行无网格的姿态估计,通过反演一个对象或场景的神经辐射场。中间的图为iNeRF迭代姿态估计过程中估计的姿态轨迹(灰色)和地面真实姿态(绿色)。通过比较观察和渲染图像,执行基于梯度的优化来估计相机的姿态,而无需访问对象的网格模型
在这里插入图片描述
创新点

  • iNeRF可以使用一个NeRF模型来估计具有复杂几何形状的场景和物体的6自由度姿态,而不需要使用3D网格模型或深度感知——只使用RGB图像作为输入
  • 对梯度优化的射线采样和批大小进行了彻底的调查,以表征iNeRF的鲁棒性和局限性
  • iNeRF可以通过预测额外图像的相机姿态来改善NeRF,然后可以将这些图像添加到NeRF的训练集中
  • iNeRF可以通过预测额外图像的相机姿态来改善NeRF,然后可以将这些图像添加到NeRF的训练集中

实现流程

在这里插入图片描述
iNeRF是反优化的神经辐射场(NeRF)。给定一个最初估计的姿势,我们首先决定发射哪条射线。沿着光线和相应的观察方向采样的点被送入NeRF的体渲染程序,输出渲染像素。由于整个管道是可微的,我们可以通过最小化渲染和观察像素之间的残差来细化我们的估计姿态。

有了一个训练好的nerf之后,我们注意到颜色积分公式是对坐标可导的。坐标又可以对相机参数进行求导,因此便可以使用nerf渲染得到的图片和目标图片的loss对相机参数进行梯度优化来进行相机姿态估计

Gradient-Based SE(3) Optimization

设Θ是一个训练和固定的NeRF的参数,ˆTi是当前优化步骤i估计的相机姿态,i是观察到的图像,L(ˆTi | i, Θ)是在NeRF中用于训练精细模型的损失,为了确保在基于梯度的优化过程中,估计的姿态ˆTi继续位于SE(3)流形上,我们用指数坐标参数化ˆTi
在这里插入图片描述

S = [ω, ν]T表示螺旋轴,θ表示幅值,[w]表示w的斜对称3 × 3矩阵,K(S, θ) = (Iθ +(1−cos θ)[ω] + (θ−sin θ)[ω]2)ν[14],目标是解决从初始估计姿态T0的最优相对变换
在这里插入图片描述
通过MLP对损失函数进行迭代微分,得到了用于更新估计相对变换的梯度∇SθL(e[S]θT0 | I, Θ),对于每个观测图像,我们在0附近初始化Sθ,其中每个元素从一个零均值正态分布N (0, σ = 10−6)随机绘制

在这里插入图片描述

用 e^ [S]θ T0 而不是 T0 e^ [S]θ 参数化会导致旋转中心在初始估计的中心,而不是在相机框架的中心。这就减轻了优化过程中旋转和平移之间的耦合

Sampling Rays

在这里插入图片描述
对输入图像和对应于场景估计姿态的渲染进行平均。用x表示背景上的采样像素;+表示被渲染和观察图像覆盖的采样像素;O表示只被渲染或输入图像覆盖的采样像素。当执行随机抽样(左),许多抽样像素是x,这没有提供梯度更新姿态。对于“兴趣点”采样(中间),一些采样像素已经对齐,因此提供的信息很少。对于“感兴趣区域”采样,许多采样像素为o,有助于姿态估计达到更高的精度和更快的收敛速度。
在这里插入图片描述

Random Sampling

一个直观的策略是在图像平面上随机采样M个像素位置{pix, piy}^M i=0,并计算它们对应的射线。实际上,NeRF本身在优化Θ时就使用了这种策略(假设不使用图像批处理),当射线b的批大小很小时,这种随机抽样策略的性能是无效的。大多数随机采样像素对应于图像中平坦、无纹理的区域,这些区域提供的姿态信息很少(这与众所周知的孔径问题一致)。

Interest Point Samplin

受图像对齐文献的启发,论文提出兴趣点采样来指导iNeRF优化,其中首先使用兴趣点探测器来定位观察图像中的一组候选像素位置。然后,从检测到的兴趣点中采样M个点,如果没有检测到足够的兴趣点,就返回到随机抽样。虽然由于引入了较少的随机性,这种策略使优化收敛更快,但实验发现,由于它只考虑观察图像上的兴趣点,而不是同时考虑观察图像和渲染图像上的兴趣点,因此容易出现局部最小值。然而,在渲染的图像中获取兴趣点需要O(HW n)次正向MLP传递(H,W图像宽高,n采样点数),因此在优化中使用成本非常高。

Interest Region Sampling

为了防止只从兴趣点采样导致局部最小,论文提出了“兴趣区域”采样,一种放松兴趣点采样的策略,从以兴趣点为中心的扩张掩模中采样。在兴趣点检测器定位兴趣点后,对 I 次迭代应用5 × 5形态扩张来扩大采样区域。在实际应用中,发现当射线的批处理规模较小时,这种方法可以加快优化速度。注意,如果 I 被设置为一个大的数字,兴趣区域抽样就会回到随机抽样。

Self-Supervising NeRF with iNeRF

除了在给定训练好的NeRF的情况下使用iNeRF来执行姿态估计,还探索使用估计的姿态来反馈到训练的NeRF表示。具体来说,首先训练一个NeRF给定一组训练RGB图像与已知的相机姿势{(Ii, Ti)}^Ntrain i=1,产生NeRF参数Θtrain。然后,使用iNeRF获取额外的未知姿态观测图像{Ii}^Ntest i=1,并求解估计姿态{ˆTi}^Ntest i=1。给定这些估计的姿势,然后可以使用自我监督的姿势标签将{(Ii,ˆTi)}^Ntest i=1添加到训练集中。这个过程允许在半监督的环境下对NeRF进行训练。

效果

在这里插入图片描述

相关文章:

  • 相关性 与 独立性
  • set和map的模拟
  • window环境下安装大数据环境
  • 解决navicat premium连接数据库自动断开问题
  • 学历提升中的我,入职产品经理之路
  • 网络安全专家,这5本入门秘籍人手一套
  • 智源AI日报(2022-08-30): 华为谢凌曦:关于视觉识别领域发展的个人观点
  • 示波器十大基础知识你都了解多少
  • 【经典算法学习-排序篇】冒泡排序
  • Nacos系列【26】源码分析篇之客户端自动注册
  • DBeaver常用快捷键(含复制当前行)
  • Java ThreadPoolExecutor的拒绝策略
  • 操作系统——磁盘操作
  • DSPE-PEG-FSHB,FSHB-PEG-DSPE,磷脂-聚乙二醇-靶向多肽FSHB
  • JAVA 力扣练习题:回文数
  • android 一些 utils
  • Fabric架构演变之路
  • Laravel Telescope:优雅的应用调试工具
  • leetcode讲解--894. All Possible Full Binary Trees
  • Spring Boot快速入门(一):Hello Spring Boot
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • 浮动相关
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 十年未变!安全,谁之责?(下)
  • 使用Swoole加速Laravel(正式环境中)
  • 一份游戏开发学习路线
  • 一天一个设计模式之JS实现——适配器模式
  • Python 之网络式编程
  • 阿里云重庆大学大数据训练营落地分享
  • 容器镜像
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • #if和#ifdef区别
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • #考研#计算机文化知识1(局域网及网络互联)
  • (11)MATLAB PCA+SVM 人脸识别
  • (33)STM32——485实验笔记
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (二)丶RabbitMQ的六大核心
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (七)理解angular中的module和injector,即依赖注入
  • (三)uboot源码分析
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (转)【Hibernate总结系列】使用举例
  • (转)原始图像数据和PDF中的图像数据
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .net 流——流的类型体系简单介绍
  • .net和php怎么连接,php和apache之间如何连接
  • .NET连接MongoDB数据库实例教程
  • .Net中ListT 泛型转成DataTable、DataSet
  • /var/spool/postfix/maildrop 下有大量文件
  • @ConfigurationProperties注解对数据的自动封装