来源:深蓝学院《基于NeRF的三维内容生成》张凯
三维内容
从图片中生成 三维内容【人工耗费时间、精力】 => 通过计算机辅助手段来自动生成
图片:非常容易获得 => 反渲染 生成三维内容
计算机图形学:如何去生成高质量的渲染图像
计算机视觉:给定图片 => 反渲染生成计算机图形学中所需要的三维内容【可以改变光照,插入物体等等】
反渲染的三个要素
1.形状表征
Triangle Mesh、Point Cloud、Occupancy field、Signed distance filed
不同形状表征可能会决定解决问题的难度【不同的优化方法】
2.外观
左边将材料和光照分开表征【理想情况,可以换光照,编辑材质,但非常难解(涉及到图形学中的渲染过程)】,右边将材料和光照打包到一起【无法很好编辑,把物体放到新的环境里观察它的外观,】
反渲染相对于三维重建,关键的是differentiable,2D->3D->2D
三维重建是反渲染的一个特例,三维重建原本不focus渲染质量。
3.渲染过程 【优化】
Ray tracing rendering: 追踪光线的传播过程,对图像中穿过每一个pixel的光线方向颜色分布进行加权求和的过程=>得到像素的颜色
NeRF
右图:深度图质量非常高
Soft Shape: 像雾一样,在空间中每一部分都出现一点,不像固体物体一样只占空间的一小部分。
成功因素:
1.形状表征 【软形状表征(雾状)】
2.外观 【材料和光照】
3.渲染过程 【函数都是可微的】
右边的几何细节可能不够好 【NeRF缺点】
之前用神经网络的工作不够好 =>选择了硬表征方式(eg. Triangle Mesh)
选择软形状成功的原因:
缺点:光线上每一个点都predict颜色=>Expensive
=》证明软形状的有效性,没有神经网络仍然可以实现比较好的渲染
没有神经网络(evaluation很慢),对于每个像素的光线都要去querry
初期引入神经网络来进行场景表示:
另一个问题:神经网络有special bias,倾向于拟合smooth shape=> 引入了一种map
Y
Y
Y
五种场景:
- 360 没有背景,只有前景
- 只在很小范围内移动相机
- 全景拍摄模式
- 在房间里拿着手机随便拍【相机分布更加不规则】
- 360in和outforward的场景,既想重建前景又想重建背景
局部or总体 有一个trade off (a) 把点都选在前景上 (b) 把点分别分在前景后景中
有resolution问题
NeRF++
画球形式处理前景后景
这种wrapping的性质可以很好的解决分辨率问题:空间受到挤压
NeRF本身有很好的composition的性质
NeRF目前还无法在实时在线设备上运行,还无法很好地支持编辑。
NeRF采样频率对应pixel大小
NeRF核心假设: 物体是静态的
锯齿问题出现在降采样时,和图像采样频率有关。
奈奎斯特频率问题