关注公众号,发现CV技术之美

刘东生

-  联想晨星算法工程师

-【晨星小课堂】讲师

如果说最近两年最火的三维视觉技术是什么,相信NeRF是一个绝对绕不过去的名字。

这项技术一经提出,就被众多研究者所重视,对NeRF争先恐后地探索、研究、改进,让该项技术仅仅用了两年时间就成为三维视觉领域的主流。

这说明什么?我认为,这恰恰说明了NeRF拥有超强的三维表达能力和广泛的潜在应用。

今天,我们就来看一看NeRF是什么,学习下该方法到底强在哪里?

NeRF到底是什么?

NeRF(Neural Radiance Fields神经辐射场)最早是在2020年ECCV会议上的最佳论文中提出的概念,其将隐式表达推上了一个新的高度,仅用2D的posed images作为监督,即可表示复杂的三维场景。

它要处理的任务是新视角合成。我们用一个直观的表述方式来理解它的作用,如下图所示,如果我们需要对图中的挖掘机进行新视角合成,首先我们会围绕挖掘机采集不同角度的图像,之后计算每个采集角度的相机位姿,将采集的图像序列以及它们对应的位姿送入到NeRF,就可以合成一些新的视角。

也就是我们从空间中任意位置来看这个挖掘机,看到的图像应该是什么样的,NeRF可以合成出来。

相比传统,NeRF到底“香”在哪

传统的三维重建根据输入的图片是深度图还是彩色图可分为主动式被动式两种重建方式,它们的原理如下面两张图所示:

被动式

传统的被动式三维重建中,首先从不同角度拍摄待重建物体的彩色图像,随后通过SfM(structure from motion)等技术获得相机位姿和模型的初始点云。随后通过深度估计、点云的稠密重建、网格重建及优化和网格贴图等流程得到最终带有贴图的模型。

主动式

在传统的主动式三维重建中,首先从不同角度拍摄待重建物体的深度图像,由于彩色图像有助于相机定位及给模型添加颜色,也可以在采集深度图像同时,采集对应的彩色图像。随后通过ICP(Iterative Closest Point)等技术计算相机姿态。之后将场景隐式表达为SDF体素网格模型,最后通过raycasting渲染出重建的视角,最后输出给AR设备显示。

传统的三维重建有很多缺点,例如最终重建的模型中可能会有孔洞、纹理混叠、由于体素分辨率限制丢失很多细节。

NeRF可以合成照片级别的新视角,重建的模型细节更加丰富,它通过使用稀疏的输入视图集优化底层连续的体积场景函数,实现了综合复杂场景视图的最好结果,无空洞、细节还原,且由于研究的人多,发展也尤为迅速,这也就是它的“真香”所在。

图 | 来自instant ngp

NeRF是如何做的?

图片来自:原始版本Nerf

对于一个代建的物体,首先我们会选定一个boundingbox把待渲染的物体给包围起来,对于一张图片从视角到某个像素发射的一条射线而言,我们会在这条射线上采样很多点,每个黑点都有一个xyz表示它的位置。

表示观察的角度。

MLP网络的输入就是boundingbox中所有黑点的五个自由度。对于每个采样点MLP网络会计算出这一点的颜色和密度,密度可以理解为这个点在这条射线方向上的一个不可见度。每个点的密度只和xyz有关,而每个点的颜色除了和点的位置有关还和观察的视角有关。之后通过volume rendering渲染出像素的颜色,和真实的颜色算误差,就可以训练网络。

NeRF也有缺点?!

虽然NeRF的优势显而易见,但在原始版本的NeRF中有存在很多缺点:

(1)训练和渲染都很慢

(2)只能表示静态场景

(3)经过训练的NeRF表示不会泛化到其他场景。

针对NeRF的不足,近两年有着各种各样的工作在不断完善它。主要的改进集中在四个方向:

(1)对于单场景的NeRF,从渲染的质量、场景大小着手。主要的改进工作有Mip-NeRF、NeRF++、Mip-NeRF-360、NeRF-W、Block-NeRF、Urban-NeRF、CityNeRF等。例如Block-NeRF可以对一个市区大小的场景进行高质量的重建。

图片来自:源自Block-NeRF

(2)针对训练的图片数量:原始版NeRF需要100张左右的图片进行训练,而PixelNeRF、IBRNet、MVSNeRF等工作只需要几张图像就可以进行高质量重建。

图片来自:源自PixelNerf

(3)针对训练和渲染的速度:原始版NeRF需要数十小时训练一个小场景,而Plenoxels、instant-ngp等工作极大地加速了训练进程,instant ngp甚至只需要5s就可以训练一个场景。原始版NeRF渲染图像的速率只有0.06fps,而最近的FastNeRF、SqueezeNeRF等工作可以以200fps的速度进行渲染。

图片来自:instant NGP

(4)针对特定场景的NeRF的改进:除了上述说到的,比如针对镜面反射、针对人脸、针对动态人体领域,也有大量的改进工作。

图片来自:instant DNerf

最重要的是用在哪!

关于NeRF的应用,我们很自然想到就是自动驾驶。上面这个视频是Nvidia在今年3月份的开发者大会上展示的Nvidia自动驾驶的Demo。用NeRF进行重建可以做到虚拟和现实的实时融合。

下面的视频展示了NeRF可以模拟一些复杂的道路情况,例如对道路进行雨雪加湿等,实际上是给自动驾驶提供一个很好的模拟数据。

此外,像BlockNeRF等工作可以重建城市级别的逼真场景,也可以对场景进行不同条件下的光照渲染。可以用NeRF技术来构建整个城市的三维模型,作为元宇宙的数字地图,也可以作为游戏地图。

此外,对于工业场景来说,NeRF可以重建精细的三维模型,用于工厂的AR巡检等任务。科研、工业、能源、制造......几乎在所有的领域中都能制作出极具真实感的三维模型及场景,结合XR技术后,与当前大热的“元宇宙”概念不谋而合,也许这就是NeRF越来越火爆的原因!


x

欢迎提问

亲,看了上述的内容是否对NeRF的概念以及应用有所认识了呢?其实这些只是“冰山一角”...

还有什么关于NeRF的问题,欢迎在评论区留下您的问题~

「文章来源」

公众号:联想上研

文章作者:联想晨星算法工程师 刘东生

END

欢迎加入「三维重建交流群

NeRF:火爆科研圈的三维重建技术大揭秘相关推荐

  1. 火爆科研圈的三维重建技术:Neural radiance fields (NeRF)

    如果说最近两年最火的三维重建技术是什么,相信NeRF[1]是一个绝对绕不过去的名字.这项强到逆天的技术,一经提出,就被众多研究者所重视,对该技术进行深入研究并提出改进已经成为一个热点.仅仅过了不到两年 ...

  2. 技术系列课回顾 | 网易云信线上万人连麦技术大揭秘

    导读:本文根据网易云信资深音视频服务端开发工程师陈策在<MCtalk Live#5:网易云信线上万人连麦技术大揭秘>线上直播分享整理. 文|陈策 网易云信资深音视频服务端开发工程师 大家好 ...

  3. 免费下载 | 超级APP背后的移动端技术大揭秘

    隔空手势操作.互动视频技术.人脸识别的弹幕跟随......优酷移动端的一路优化革新,无论是从用户体验还是技术上,都是名副其实的"超级APP".本章从 基础架构.组件化解决方案.播放 ...

  4. 抖音 Android 基础技术大揭秘!

    从2016年9月的1.0版本上线至今,抖音在6年间实现了从零开始的快速增长.这短短6年伴随的是移动开发技术与云计算.机器学习等技术融合带来的技术落地新形式,也遇到了直播.连麦等新的用户需求所带来的产品 ...

  5. 【高德地图API】汇润做爱地图技术大揭秘

    原文:[高德地图API]汇润做爱地图技术大揭秘 昨日收到了高德地图微信公众号的消息推送,说有[一大波免费情趣用品正在袭来],点进去看了一眼,说一个电商公司(估计是卖情趣用品的)用高德云图制作了一张可以 ...

  6. 抢红包技术大揭秘:如何使用Redis轻松实现抢红包

    黑马程序员视频库 播妞QQ号:3077485083 传智播客旗下互联网资讯.学习资源免费分享平台 世上最倒霉的事情,莫过于 ... 吃火锅不管坐哪里,烟都往你脸上飘 PS图层千千万,结果最后没保存 三 ...

  7. 黑客爱用的 HOOK 技术大揭秘!

    黑客爱用的 HOOK 技术大揭秘! 什么是 HOOK 技术? 病毒木马为何惨遭杀软拦截? 商业软件为何频遭免费破解? 系统漏洞为何能被补丁修复? 这一切的背后到底是人性的扭曲,还是道德的沦丧,敬请收看 ...

  8. 远光ECP智能运维平台-天象 技术大揭秘:探针技术

    远光ECP智能运维平台-天象 技术大揭秘:探针技术 首先,天象探针是做什么的? 天象探针的技术栈选择? 天象探针的演进历程? 天象探针的应用场景? 天象探针的发展方向? 天象有多强?这些"硬 ...

  9. 【Dev Club 分享第三期】iOS 黑客技术大揭秘

    "8小时内拼工作,8小时外拼成长"这是大家共同的理想.除了每天忙于工作外,我们都希望能更多地区吸收领域内的新知识与新技能,从而走向人生巅峰. Dev Club 是一个交流移动开发技 ...

最新文章

  1. 项目管理:多项目同时进行如何做好进度管理?
  2. C语言再学习 -- NUL和NULL的区别
  3. 线程间通讯机制(提高篇)——深入浅出实现原理
  4. C语言quaternion(四元数)(附完整源码)
  5. mysql导入竖杠分割的数据_MYSQL :逗号分隔串表,分解成竖表
  6. hik中心服务器登录失败,蒲公英云平台登录失败解决方案
  7. 阿里云物联网平台体验(NetGadgeteer+C#篇)
  8. 23.2. REPLACE
  9. Java IO流学习总结一:输入输出流
  10. 图像压缩-《Learned Image Compression with Discretized Gaussian Mixture Likelihoods and Attention Modules》
  11. 大数据如何赋能产品—用户特征分析
  12. CSS calc无效
  13. LAMP源码环境搭建
  14. 追剧一个月赚了2万,在家用手机做短视频也能赚钱,步骤分享
  15. Spring Data ElasticSearch增删改查
  16. 国产自研系统的用户突破4亿,打破美国企业的垄断,谷歌后悔不迭
  17. Istio服务网格详解
  18. CS 常用LaTex符号
  19. sync是同步还是非同步_1588v2,是怎样实现时钟同步的?
  20. [项目管理-4]:软硬件项目管理 - 人月神话:项目时间管理(时间)

热门文章

  1. 微信小程序毕业设计 基于微信小程序的家政服务预约系统开题报告
  2. html画圆属性,html 5画圆
  3. 基于LSTM时间序列分析预测拉尼娜年天气
  4. React Native FlatList优化
  5. 抖音显示服务器审核为什么,抖音上传的视频为什么一直正在审核是违规吗不给显示出来吗...
  6. 很哇塞的网页特效之摩天轮相册
  7. 【已解决】笔记本电脑突然花屏
  8. Unhandled error during execution of render function
  9. 上班一族解乏提神的七秘方
  10. 想要简单轻松创建柱状图是怎么做到的?