项目、论文地址:在公众号「计算机视觉工坊」,后台回复「pixelNeRF」,即可直接下载。
作者提出了pixelNeRF,一个只需要输入单张或多张图像,就能得到连续场景表示的学习框架。由于现存的构建神经辐射场【1】的方法涉及到独立优化每个场景的表示,这需要许多校准的视图和大量的计算时间,因此作者引入了一种新的网络架构。实验结果表明,在所有情况下,pixelNeRF在新视图合成和单图像三维重建方面都优于当前最先进的工作。
该项目主要研究的问题是如何从一个稀疏的输入视图集中合成这个场景的新视图,在可微神经渲染出现之前,这个长期存在的问题一直没有得到进展。同时,最近的神经渲染场NeRF通过编码体积密度和颜色,在特定场景的新视图合成方面表现出很好的效果。虽然NeRF可以渲染非常逼真的新视图,但它通常是不切实际的,因为它需要大量的位姿图像和冗长的场景优化。
在这篇文章中,作者对上述方法进行了改进,与NeRF网络不使用任何图像特征不同的是,pixelNeRF将与每个像素对齐的空间图像特征作为输入。这种图像调节允许框架在一组多视图图像上进行训练,学习场景先验,然后从一个或几个输入图像中合成视图,如下图所示。
PixelNeRF具有很多特点:首先,Pixel可以在多视图图像的数据集上面进行训练,而不需要任何额外的监督;其次,PixelNeRF预测输入图像的摄像机坐标系中的NeRF表示,而不是标准坐标系,这是泛化看不见的场景和物体类别的必要条件,因为在有多个物体的场景中,不存在明确的规范坐标系;第三,它是完全卷积的,这允许它保持图像和输出3D表示之间的空间对齐;最后,PixelNeRF可以在测试时合并任意数量的输入视图,且不需要任何优化。
新视图合成:这是一个长期存在的问题,它需要从一组输入视图中构建一个场景的新视图。尽管现在有很多工作都已经取得了逼真的效果,但是存在比较多的问题,例如需要密集的视图和大量的优化时间。
其他方法通过学习跨场景共享的先验知识,从单个或少数输入视图进行新的视图合成,但是这些方法使用2.5D表示,因此它们能够合成的摄像机运动范围是有限的。在这项工作中,作者提出了PixelNeRF,能够直接从相当大的基线中合成新视图。
基于学习的三维重建:得益于深度学习的发展,单视图或多视图的三维重建也得到快速的发展。问题是,很多表示方法都需要3D模型进行监督,尽管多视图监督限制更小、更容易获取,其中的很多方法也需要物体的mask。相比之下,PixelNeRF可以单独从图像中训练,允许它应用到含有两个对象的场景而不需要修改。
以观察者为中心的三维重建:对于3D学习任务,可以在以观察者为中心的坐标系(即视图空间)或以对象为中心的坐标系(即规范空间)中进行预测。大多数现存的方法都是在规范空间中进行预测,虽然这使得学习空间规律更加容易,但是会降低不可见对象和具有多个对象场景的预测性能。PixelNeRF在视图空间中操作,这在【2】中已经被证明可以更好地重建看不见的对象类别,并且不鼓励对训练集的记忆。下表是PixelNeRF和其他方法的对比:
NeRF【1】将场景编码为颜色和密度的连续体积辐射场f。特别地,对于一个3D点x和
观察方向单位向量d,f返回微分密度σ和RGB颜色c:f(x, d) = (σ, c)。体积辐射场可以通过下面的函数渲染成2D图像:
其中T(t)处理遮挡。对于具有姿态P的目标视图,相机光线可以参数化为r(t)=o+td,o为光线原点(相机中心)。沿着相机光线在预定义的深度边界[tn,tf]之间计算积分。在实践中,这种积分是通过沿每个像素射线采样点的数值求积来近似的。
然后,将摄影机光线r的渲染像素值与对应的真实像素值C(r)进行比较,最后的loss定义如下:
其中R(P)是具有目标姿态的所有相机光线的集合。虽然NeRF实现了最新的视图合成,但它是一种基于优化的方法,每个场景必须单独优化,场景之间没有知识共享。这种方法不仅耗时,而且在单个或极稀疏视图的限制下,无法利用任何先验知识来加速重建或完成形状。
为了克服上面提到的关于NeRF的问题,作者提出了一种基于空间图像特征的NeRF结构。该模型由两个部分组成:一个完全卷积的图像编码器E(将输入图像编码为像素对齐的特征网格)和一个NeRF网络f(给定一个空间位置及其对应的编码特征,输出颜色和密度)。
单视图pixelNeRF:首先固定坐标系为输入图像的视图空间,并在这个坐标系中指定位置和摄像机光线。给定场景的输入图像I,首先提取出它的特征量W=E(I)。然后,对于相机光线上的一个点x,通过使用已知的内参,将x投影到图像坐标π(x)上,然后在像素特征之间进行双线性插值来提取相应的图像特征向量W(π(x))。最后把图像特征连同位置和视图方向(都在输入视图坐标系统中)传递到NeRF网络:
其中γ()是x上的位置编码。
合并多个视图:多个视图提供了有关场景的附加信息,并解决了单视图固有的三维几何歧义。作者扩展了该模型,不同于现有的在测试时只使用单个输入视图的方法,它允许在测试时有任意数量的视图。
在有多个输入视图的情况下,只假设相对的相机姿态是已知的,为了便于解释,可以为场景任意固定一个世界坐标系。把输入图像记为I,其相关联的摄像机记为P=[R t]。对于新的目标摄影机光线,将视图方向为d的点x转换到每个输入视图i的坐标系,转换如下:
为了获得输出的密度和颜色,作者独立地处理每个视图坐标帧中的坐标和相应的特征,并在NeRF网络中聚合视图。将NeRF网络的初始层表示为f1,它分别处理每个输入视图空间中的输入,并将最终层表示为f2,它处理聚合视图。
和单视图类似,作者将每个输入图像编码成特征体积W(i)=E(I(i))。对于点x(i),在投影图像坐标π(x(i))处从特征体W(i)中提取相应的图像特征,然后将这些输入传递到f1,以获得中间向量:
最后用平均池化算子ψ将中间向量V(i)聚合并传递到最后一层f2,得到预测的密度和颜色:
特定类别的单视图重建
特定类别的双视图重建
特定类别的单视图和双视图重建结果对比
参考文献:
【1】Ben Mildenhall, Pratul P. Srinivasan, Matthew Tancik,Jonathan T. Barron, Ravi Ramamoorthi, and Ren Ng. Nerf: Representing scenes as neural radiance fields for view synthesis. In Eur. Conf. Comput. Vis., 2020
【2】Daeyun Shin, Charless Fowlkes, and Derek Hoiem. Pixels, voxels, and views: A study of shape representations for single view 3d object shape prediction. In IEEE Conf. Comput.Vis. Pattern Recog., 2018.
备注:作者系我们「3D视觉从入门到精通」知识星球特邀嘉宾:一个超干货的3D视觉学习社区
本文仅做学术分享,如有侵权,请联系删文。
下载1
在「计算机视觉工坊」公众号后台回复:深度学习,即可下载深度学习算法、3D深度学习、深度学习框架、目标检测、GAN等相关内容近30本pdf书籍。
下载2
在「计算机视觉工坊」公众号后台回复:计算机视觉,即可下载计算机视觉相关17本pdf书籍,包含计算机视觉算法、Python视觉实战、Opencv3.0学习等。
下载3
在「计算机视觉工坊」公众号后台回复:SLAM,即可下载独家SLAM相关视频课程,包含视觉SLAM、激光SLAM精品课程。
重磅!计算机视觉工坊-学习交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题