编辑 | 汽车人
原文链接:https://www.zhihu.com/question/631507898/answer/3337813707
https://www.zhihu.com/question/631507898/answer/3338457783
点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
点击进入→自动驾驶之心【NeRF】技术交流群
本文只做学术分享,如有侵权,联系删文
作者:信息门上飞二哈
neural rendering里面的rendering是重点,neural是蹭热点。你会发现懂深度学习对这个领域帮助并不大,懂图形学,哪怕只是会个blender,对rendering来说都比懂深度学习作用更大。当然如果是生成模型,还是深度学习更重要。
如果说有从深度学习学到任何东西的话,更多应该是基于梯度的end-to-end优化实在太好用了,不止rendering,这东西在simulation里面也很好用。以前大家没想到,都是把novel view synthesis或者image based rendering当成先重建一个3d 模型,然后用morphing等方法插值出来其他角度。现在发现还是end2end好使,算完camera pose直接一把梭效果好多了。
但是深度学习里面的模型这一部分,也就是熟知的神经网络,我觉得可有可无,因为根本没用到神经网络的优点。神经网络的两大优点之一就是少数样本fit出来的模型能做外推(extrapolation),但神经渲染只需要做内推(interpolation)。不仅不能泛化到新的场景,就是优化用的viewpoints之外的view(不是那种能插值出来的角度)都渲染不出来。
个人观点,本质原因是因为所有泛化的能力主要来自于语义信息啦,但rendering loss拿着rgb做l2 regression学不会任何语义信息。无论是叫coordinate-based还是implicit representation,都只是encode了appearance,没有任何high-level的semantic information。因为nerf并没有神经网络当作是一个representation learner在用,而是当作了一种数据结构。如果说以前tensor形式representation是list,那nerf类型的representation就是一个从xyz到value的dictionary。所以本质上神经渲染就是把一组图给转化成3D JPEG啦,JPEG还需要一定要用神经网络表达吗?
那基于此再更进一步,所有那些用rendering loss去学一个neural field作为representation然后拿来做需要语义信息的task的paper,又怎么可能学得会啦。。更别提因为camera pose和数据结构格式的原因还很难scale up。。
作者:higgaraa
其实nerf倒是个很自然的想法。如果你以前搞过CG渲染,应该知道所谓的VR渲染,就是volumn rendering技术。这个技术在医学上用的比较多,可以渲染出非常逼真的图像。这个vr需要的其实就是一个SDF函数,3维的SDF函数。这你也可以理解为什么医学上会先用,因为CT天然就是一个三维函数,每个点的HU值就是这个点的密度。然后这个体数据天然就是一个隐函数,如果你熟悉level-set那套东西的话。所以这套东西其实20多年前大家都在用了。它会去根据这个隐函数计算光照从而实现渲染。而SFM是N年前就有的技术。以前是怎么渲染的呢?先SFM出点云,然后由点云生成三角面片(比如用moving least square之类的方法),然后去渲染。因此一个很自然的想法就是,既然可以通过SFM生成离散的点云然后构建面片再去渲染,为什么不能直接生成SDF做VR呢?这样就可以绕过三角面片,而且可以生成逼真的渲染。因此我觉得NERF出现恰恰是一件理所当然的事情,就是它一定会出来在那个时间点上。
至于未来,我觉得可能还是要靠类似的技术。毕竟DL的上限远高于传统技术。因为我研究NERF实际上是比较早了,而且NERF只是我业余兴趣爱好,不是我的主攻方向,所以我不保证我说的都对。先声明一下。我只是简单看过gauss splatting的一些论文,我不敢说我了解的都对。gauss splating实际上是需要SFM给它稀疏点云的。而且他这个解法很像什么呢?很像点云配准里面的NDT算法,也是一堆高斯去做迭代匹配。所以我怀疑作者以前很可能是搞点云分析的,然后某天突发奇想,可以借鉴一下其他算法的思路来work。但问题是,更加promising的应用实际上是one-shot 3D,就是一张图片3D建模。当然你可以说我可以先生成depth,然后用gauss,但是这样肯定没有直接DL生成SDF来的准。DL就专门是为了解决这种ill-posed problem来的。你可以想想是不是不论CV还是NLP领域,到最后都是需要解决这些ill-posed problem,就不是一些naive或者数学上可解的问题。比如NLP领域的next-word prediction就是非常典型的ill-posed问题。现在各种LLM的本质就是一个条件概率函数往后预测几百几千步。我们都学过概率分布的链式法则,这几千个词的联合分布的概率密度函数的空间维度让这个问题的复杂度简直难以想象。或者我讲的更直白一点,但凡你中间一个词预测错了,可能后面就全错了。与比如SLAM对比,哪怕是3维的SLAM,也只有6个,或者撑死15个自由度。而CV领域实际上最难的也是类似的问题,比如图片补全,图片2D->3D这类的。这类问题基本到最后还是要靠DL+大数据来解决。
还有回答说神经网络会涌现fourier特征,额。。。我建议呢,你看看就好。为啥呢,因为DL刚出来,不光大神们想到了,我都想到用fourier或者小波去解释他。为啥呢?因为额,卷积。。。作为一个学数学的人,你看到卷积的第一反应是什么?傅里叶变换啊。实际上也的确有人用小波做了一套理论,mallet小波,我在其他回答里面提过。所以说有人可以“证明”神经网络涌现出fourier之类的特征,那。。。我一点也不意外。看看就好。
投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!
① 全网独家视频课程
BEV感知、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、大模型与自动驾驶、Nerf、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)

② 国内首个自动驾驶学习社区
近2400人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
④【自动驾驶之心】平台矩阵,欢迎联系我们!