主要内容: 提出了一种基于NeRF的六自由度姿态估计方法,即当给定单个RGB查询图像时通过最小化NeRF模型渲染的图像像素与查询图像中的像素之间的残差来估计相机的平移和旋转。
算法将基于动量的相机外参优化算法集成到Instant Neural Graphics Primitives(一种最近非常快速的NeRF实现,也是NVIDIA提出的),通过在姿态估计任务中引入并行蒙特卡罗采样来克服问题总是收敛到局部极小值的问题,论文还研究了不同的基于像素的损失函数减少误差的程度,最终的实验也表明其方法可以在合成基准和真实基准上实现较好的泛化和鲁棒性
Nerf(Neural Radiance Fields):神经辐射场,它提供了一种仅从一个或几个RGB图像中捕获复杂3D和光学结构的机制,Nerf为在训练或测试期间在没有网格模型的情况下将合成-分析应用到更广泛的现实场景提供了机会,NeRF将场景的密度和颜色参数化为3D场景坐标的函数,该函数既可以从给定相机姿态的多视图图像中学习,也可以给定一个或几个输入图像通过生成模型直接预测。
Instant NGP:其提出是用来降低Nerf的训练和推理代价,采用由可训练的特征向量的多分辨率哈希表增强的小神经网络,允许网络消除哈希冲突的歧义,使其易于在GPU上并行化,实现了几个数量级的组合加速,允许在在线训练和推理等时间受限的环境中使用
出发点: 将Nerf用在姿态估计任务中的第一篇工作则是inerf,即反转Nerf,此论文基于inerf,进一步探索了Nerf在姿态估计任务中的应用,普遍认为NeRF的一个缺点是其计算开销很大,为了克服这一限制,本文利用了他们之前提出的快速NeRF,即即时神经图形原件(Instant NGP),Instant NGP的结构允许并行优化,这可以用来克服局部最小值问题,从而实现比iNeRF更大的鲁棒性。 Inerf:假设已经得到了权重θ参数化的NeRF模型,并且相机内参已知,iNeRF旨在恢复查询图像I的相机姿态T
Contributions:
提出了一种基于NeRF模型的估计6-DoF姿态方法。
将并行蒙特卡罗采样引入到姿态估计任务中,展示了基于像素的损失函数选择对鲁棒性的重要性
通过合成和真实世界基准进行定量演示,证明所提出的方法改进了泛化和鲁棒性
Pipeline:
三个输入:单个RGB图像、初始粗略姿态估计(通过向真值添加干扰得到)以及从目标的多个视图中训练的即时NGP模型。
基于动量的相机外参优化:
相对于标准Nerf,对相机姿态和梯度表示进行了修改,允许梯度更新的动态性结合基于动量的方法来增强优化。
首先,相机姿态由平移分量(位置)和旋转分量(方向)组成,通常由特殊欧式群建模,即SE(3),NeRF中外参优化的目标是找到那些通过梯度下降将图像空间损失最小化的相机姿态,梯度更新在特殊的欧式群上的李代数se(3)中计算,然后生成结合旋转和平移的相机姿态更新,作者认为使用SE(3)/se3表示有一个缺点,即相机姿势更新的旋转中心不在相机原点,而是在旋转轴上,这将相机位置和方向耦合起来,这种耦合导致某些情况下次优梯度更新,如下图所示,
为了解耦平移和旋转更新,作者将相机姿态建模为笛卡尔积SO(3)×T(3)(以及相应的李代数空间上so(3)×t(3)),其在T(3)上采用加法结构,在SO(3)上采用乘积结构,梯度更新将沿直线移动,从而实现更高效的优化。
其次,基于动量的优化在经验上证明了比基于标准梯度的方法更有效,尤其是当与自适应更新相结合时,在NeRF中每个像素对应于具有原点o和方向d的射线,沿着该射线,基于沿射线的移动距离ti得到pi=o+ti.d,损失的梯度与相机距离的叉积定义了每像素(光线)更新影响:
基于刚体力学,对上式有一种物理解释,即由外力对相机产生的一个扭矩,该外力由基于图像的损失函数梯度产生,应用于光线导出点,就像它刚性地连接到相机一样。
因此将此分解应用于Adam优化器,将Adam的第一个moment转化为相机的物理动量,因为相机被用作力矩的梯度“推动”,尽管Adam的第二moment和指数衰减没有直接的物理类似物,由于物理系统遵循最小动作路径,可以推断相机在解耦参数化中遵循从其初始姿态到其优化姿态的有效路径。
并行蒙特卡洛采样: 由于优化的损失函数在6-DoF空间上是非凸的,单相机姿态假设很容易陷入局部极小值,由于Instant NGP的计算能力能够同时从多个假设开始优化,但是一个简单的多起点思想是低效的,特别是在一个大的搜索空间中,其中许多假设在优化过程中会偏离,因此它们无法对最终优化做出贡献,且占用了大量计算资源,从粒子滤波框架中获得灵感,提出了一种简单有效的姿势假设更新策略来处理这个问题。
将优化过程分为两个阶段,自由探索和重采样更新。 在第一阶段,围绕起始姿态生成相机姿态假设,平移和旋转偏移分别在欧式空间和SO(3)中均匀采样,相机姿态假设将进行独立优化,这样其中一些可以相对接近实际情况。 之后第二阶段,比较所有假设的损失,并将其作为采样权重的参考。
不同损失函数的影响: 通过合成视图进行姿态估计的方法最大挑战之一是与原视图相比,视图材质具有不同的视觉表面,包括许多干扰、环境噪声、照明条件变化和遮挡等都可能导致这个问题。
之前inerf使用L2损失,但作者研究了更多的损失选项以测量渲染像素和观察像素之间的差异,不同的损失具有不同的收敛特性,进而影响优化过程
研究了L1(平等的对待error)、L2(惩罚较大的error,宽容较小的error)、Log L1(是L1损耗的对数版本,它试图平滑收敛曲线,尤其是对于较大的误差)、Relative L2(它对高强度目标像素与低强度目标像素错位的情况更敏感)、MAPE(MAPE表示平均绝对百分比误差,作为基于误差相对百分比的精度度量,它也可以被视为相对L2损耗的L1等效值,它与规模无关,对负错误的惩罚更重)、sMAPE(是MAPE的对称版本,解决MAPE的不对称问题,但当预测和GT都具有低强度时,它可能是不稳定的)、Smooth L1(平滑L1损失被设计为对异常值不太敏感,并且可以防止梯度爆炸)
最终通过实验发现常用的L2损失未必是最好的,MAPE在其数据集测试上实现了最好的性能。
实验: 在Nerf合成数据集和真实数据集LLFF与inerf进行了比较
不同损失函数对结果性能的比较:
审核编辑:刘清
-
神经网络
+关注
关注
42文章
4621浏览量
99470 -
RGB
+关注
关注
4文章
778浏览量
57847 -
NGP
+关注
关注
0文章
12浏览量
6663
原文标题:并行Nerf逆过程解决姿态估计问题!(Arxiv 2022)
文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
基于PoseDiffusion相机姿态估计方法
![基于PoseDiffusion相机<b class='flag-5'>姿态</b><b class='flag-5'>估计</b><b class='flag-5'>方法</b>](https://file1.elecfans.com/web2/M00/8D/89/wKgZomS81TmAUf_jAAA9AvnurpY588.png)
基于FPGA EtherCAT的六自由度机器人视觉伺服控制设计
一种修正的近场声源定位时延估计方法
啤酒生产线六自由度机械手抓瓶控制系统设计
基于STM32、以太网、Labview的六自由度Stewart并联运动平台模型
怎么用LabVIEW定义一个导弹的六自由度弹道仿真界面
基于Matlab的开源六自由度协作机器人实验平台
ADIS16300四自由度IMU在姿态测量中的应用
二自由度内模控制方法
![二<b class='flag-5'>自由度</b>内模控制<b class='flag-5'>方法</b>](https://file.elecfans.com/web2/M00/48/F1/pYYBAGKhtC-AGKJHAAAOLauPtWg232.jpg)
三自由度转台的设计与实现
![三<b class='flag-5'>自由度</b>转台的设计与实现](https://file1.elecfans.com//web2/M00/A6/04/wKgZomUMO0qAe1adAAAWyyMKIUc913.jpg)
一种基于六自由度IMU和动力学的车身姿态和侧向速度估计方法
![<b class='flag-5'>一种</b>基于六<b class='flag-5'>自由度</b>IMU和动力学的车身<b class='flag-5'>姿态</b>和侧向速度<b class='flag-5'>估计</b><b class='flag-5'>方法</b>](https://file.elecfans.com/web1/M00/58/D6/o4YBAFtgAZCAS6f0AAAR2O14GpM776.png)
基于深度学习的二维人体姿态估计方法
![基于深度学习的二维人体<b class='flag-5'>姿态</b><b class='flag-5'>估计</b><b class='flag-5'>方法</b>](https://file.elecfans.com/web1/M00/E6/A0/pIYBAGBYThWAZUC5AAGRF8R3RJc699.png)
评论