转载自:机器之心 | 字节跳动视觉技术团队
来自字节跳动视觉技术团队的研究者将 NeRF 和 Multiplane Image(MPI)结合,提出了一种新的三维空间表达方式 MINE。该方法通过对单张图片做三维重建,实现新视角合成和深度估算。
字节跳动视觉技术团队结合 NeRF 和 Multiplane Image(MPI),提出了一种新的三维空间表达方式 MINE。MINE 通过对单张图片做三维重建,实现新视角合成和深度估算。通过引入隐式神经场(NeRF),研究者将 Multiplane Images (MPI)扩展成连续的深度平面。给定单个图片作为输入,MINE 能在相机视锥中的任意深度,预测出一个四通道的图像,四通道包括 RGB 颜色和空间密度。这种任意深度的四通道预测,实际上是对输入图片的视锥的三维重建,以及对被遮挡内容的填充(inpainting)。我们可以利用被重建和填充的视锥方便地渲染出新视角下的 RGB 图片和深度图,并且渲染过程是可导的。
论文地址:https://arxiv.org/pdf/2103.14910.pdf
项目地址:https://github.com/vincentfung13/MINE
在 RealEstate10K,KITTI 和 Flowers Light Fields 数据集上的实验表明,MINE 在新视角合成的性能上大幅超越了当前最前沿的方法。同时,在 iBims-1 和 NYU-v2 的实验表明,团队在没有使用真值深度做监督训练的情况下,获得了和前沿方法接近的深度估计性能。
该研究的训练代码与 pretrain model 已经开源。
相关工作
近年来,在新视角合成这个领域里,最火爆的方法无疑是 ECCV 2020 的 NeRF [5]。与传统的一些手工设计的显式三维表达(Light Fields,LDI,MPI 等)不同,NeRF 把整个三维空间的几何信息与 texture 信息全部用一个 MLP 的权重来表达,输入任意一个空间坐标以及观察角度,MLP 会预测一个 RGB 值和 volume density。目标图片的渲染通过 ray tracing 和 volume rendering 的方式来完成。尽管 NeRF 的效果非常惊艳,但它的缺点也非常明显:
一个模型只能表达一个场景,且优化一个场景耗时久;
per-pixel 渲染较为低效;
泛化能力较差,一个场景需要较多的照片才能训练好。
另外一个与该研究较相关的是 MPI(Multiplane Image)[1, 2, 3]。MPI 包含了多个平面的 RGB-alpha 图片,其中每个平面表达场景在某个深度中的内容,它的主要缺点在于深度是固定及离散的,这个缺点限制了它对三维空间的表达能力。[1, 2, 3] 都能方便地泛化到不同的场景,然而 MPI 各个平面的深度是固定且离散的,这个缺点严重限制了它的效果。
方法综述
该团队采用一个 encoder-decoder 的结构来生成三维表达:
Encoder 是一个全卷积网络,输入为单个 RGB 图片,输出为 feature maps;
Decoder 也是一个全卷积网络,输入为 encoder 输出的 feature map,以及任意深度值(repeat + concat),输出该深度下的 RGB-sigma 图片;
最终的三维表达由多个平面组成,也就是说在一次完整的 forward 中,encoder 需要 inference 一次,而 decoder 需要 inference N 次获得个 N 平面。
获得三维表达后,不再需要任何的网络 inference,渲染任意 target 相机 pose 下的视角只需要两步:
利用 homography wrapping 建立像素点间的 correspondence。可以想象,从 target 相机射出一条光线,这条光线与 target 图片的一个像素点相交,然后,研究者延长这条射线,让它与 source 相机视锥的各个平面相交。相交点的 RGB-sigma 值可以通过 bilinear sampling 获得;
利用 volume rendering 将光线上的点渲染到目标图片像素点上,获得该像素点的 RGB 值与深度。
Scale 校正
MINE 可以利用 structure-from-motion 计算的相机参数与点云进行场景的学习,在这种情况下,深度是 ambiguous 的。由于在这个方法中,深度采样的范围是固定的。所以需要计算一个 scale factor,使网络预测的 scale 与 structure-from-motion 的 scale 进行对齐。团队利用通过 Structure from Motion 获得的每个图片的可见 3D 点 P 以及网络预测的深度图 Z 计算 scale factor:
获得 scale factor 后,对相机的位移进行 scale:
需要注意的是,由于需要和 ground truth 比较,所以在训练和测试时需要做 scale calibration。而在部署时不需要做这一步。
端到端的训练
MINE 可以仅通过 RGB 图片学习到场景的三维几何信息,训练 Loss 主要由两部分组成:
1.Reconsturction loss——计算渲染出的 target 图片与 ground truth 的差异:
2.Edge-aware smoothness loss——确保在图片颜色没有突变的地方,深度也不会突变,这里主要参考了 monodepth2 [6] 种的实现:
3.Sparse disparity loss——在训练集各场景的 scale 不一样时,利用 structure-from-motion 获得的稀疏点云辅助场景几何信息的学习:
实验结果
新视角合成
在 KITTI 数据集上,可以看出,此方法在生成质量上大幅超越了当前的 SOTA——把 SSIM 从 0.733 提高到了 0.822。同时,可看出增加预测的平面数,生成图片的质量也会提高,由于这并不会改变模型的参数量,所以可以看出,采样平面的深度越稠密,就越利于场景表达的学习。在图片可视化上,MINE 生成的图片形变和 artefacts 明显更少。
单目深度估计
利用在 RealEstate10K 上训练的模型,在 NYU 以及 iBims-1 数据集上测试了单目深度估计的结果。虽然只有 RGB 和 sparse 深度监督,但 MINE 在单目深度估计任务上取得了非常接近全监督的 3DKenBurns 的性能,并大幅超越了其他弱监督的方法。其中,和 MPI 相比,此方法更不受图片 texture 的影响,在 texture 丰富的区域依然能生成平滑的深度图。
MINE 与 MPI、NeRF 的比较
MINE 是 MPI 的一种连续深度的扩展,相比于 MPI 和 NeRF,MINE 有几个明显的优势:
与 NeRF 相比,MINE 能够泛化到训练集没有出现过的场景;
与 NeRF 的逐点渲染相比,MINE 的渲染非常高效;
与 MPI 相比,MINE 的深度是连续的,能稠密地表示相机的视锥;
MPI 通过 alpha 合成(alpha compositing)进行渲染,但该方法与射线上点之间的距离无关,而 MINE 利用 volume rendering 解决了这个限制。
然而,MINE 也有一些自身的局限性:
由于输入是单张图片,MINE 无法表达相机视锥以外的三维空间;
由于 MINE 的输入里没有观察角度,所以其无法对一些复杂的 view-dependent 效果(如光盘上的彩虹等)进行建模。
参考文献:
[1]. Tinghui Zhou, Richard Tucker, John Flynn, Graham Fyffe, Noah Snavely. Stereo Magnification: Learning View Synthesis using Multiplane Images. (SIGGRAPH 2018)
[2]. Ben Mildenhall, Pratul P. Srinivasan, Rodrigo Ortiz-Cayon, Nima Khademi Kalantari, Ravi Ramamoorthi, Ren Ng, Abhishek Kar. Local Light Field Fusion: Practical View Synthesis with Prescriptive Sampling Guidelines. (SIGGRAPH 2019)
[3]. Richard Tucker, Noah Snavely. Single-View View Synthesis with Multiplane Images. (CVPR 2020)
[4]. Meng-Li Shih, Shih-Yang Su, Johannes Kopf, Jia-Bin Huang. 3D Photography using Context-aware Layered Depth Inpainting. (CVPR 2020)
[5]. Ben Mildenhall, Pratul P. Srinivasan, Matthew Tancik, Jonathan T. Barron, Ravi Ramamoorthi, Ren Ng. NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis. (ECCV 2020)
[6]. Clement Godard, Oisin Mac Aodha, Michael Firman, Gabriel Brostow. Digging Into Self-Supervised Monocular Depth Estimation. (ICCV 2019)
本文仅做学术分享,如有侵权,请联系删文。
3D视觉精品课程推荐:
1.面向自动驾驶领域的多传感器数据融合技术2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~