GAMES101.闫令琪.10.光场(Lecture 20)
- https://www.bilibili.com/video/av90798049
光场
- Light Field / Lumigraph
- 同义词
- 历史遗留问题,两个组同时各自发现这个概念
我们看到的世界
- 放上一块幕布,让我们看到的东西和原来一模一样
- 虚拟现实技术的原理
- 我们只是看到各个方向的光线,看不到光线是多远来的、从什么地方来的
全光函数
- The Plenoptic Function
- 描述我们往各个方向看看到的光线
- \(P(\theta,\phi)\)
- 灰度图
- \(P(\theta,\phi,\lambda)\)
- 彩色图
- \(P(\theta,\phi,\lambda,t)\)
- 电影
- \(P(\theta,\phi,\lambda,t,V_x,V_y,V_z)\)
- 人眼/摄像机的位置可以改变
- 全息电影
- 我们能看到的所有东西
- 7 个维度的函数就可以描述我们看到的整个世界
- 全光函数
光线
- ray
- \(P(\theta,\phi,V_x,V_y,V_z)\)
- 起点和方向
- 物体表面的话可以用 4D 表示
光场
- 光场:在任何一个位置,往任何一个方向去的光的强度
- 2D 的位置,2D 的方向
- 3D 物体的表面是在一个 2D 的空间中的
- 纹理映射的思想
- 2D 的方向
- \(\theta,\phi\)
- 有个光场之后,可以得到任意位置对物体的观测
- 对于观测相机,做出视线,求出在物体表面的反射光线,然后从光场中读出即可
- 我们不需要知道光场描述的具体的物体,只需要知道在物体表面的任何位置、任何方向的光线强度即可
- 可以当作黑盒
- 前提:观测点得在物体外面(我们记录的信息是往外的)
- 取一个平面,对于平面上任意一个点、任意一个方向,记录光照强度,这样也可以描述光场
- 另外一种参数化方式
- 取两个平行的平面,然后在两个平面上各取一个点,这样也能描述光场
- 两个点相当于确定了一个方向
- \(u,v,s,t\) 描述
- \(u,v,s,t\) 的两种理解方式
- \(u,v\) 不变,取遍 \(s,t\)
- 能看到完整的物体图
- 相当于摄像机看向整个世界
- \(s,t\) 不变,取遍 \(u,v\)
- 能看到同一个点来自各个方向的光照
- 看的是同一个东西,但是是从各个不同的角度去看
- 相当于把记录的 irradiance 展开为 radiance
- \(u,v\) 不变,取遍 \(s,t\)
Stanford camera array
- 利用上面的想法,从不同的 \(u,v\) 看向整个世界,让后把记录到的结果整合出来
- 贵
苍蝇的眼睛(复眼)
- 就是一个光场
- lenslet:像素
- 把光分开,把来自各个方向上的光分到不同的位置上去
- 把实际的感光元件放在背后,前面放置一个透镜,通过透镜将光分开
- 把 irradiance 分解为 radiance
光场摄像机
- Light Field Camera
- 上面提到的复眼的原理,透镜代替原来的像素,实际的感光元件放在背后
- 支持重新聚焦
- 原理就是光场
- 很实用,重要的照片拍糊了,没关系,重新调焦距
原理
- Each pixel (irradiance) is now stored as a block of pixels (radiance)
怎么获取从光场摄像机的结果中获取一张照片
- 每个小透镜都选择一个相同的方向
- 相当于摄像机朝着这个方向去拍
- 方向可以任意选择
- 相当于可以虚拟的移动相机位置
- 每个小透镜都选择一个相同的方向
怎么生成给定对焦平面后的结果照片
- 根据对焦平面计算出每一个光线的方向,在光场上查询出具体的强度
- visually changing focal length, picking the refocused ray directions accordingly
问题
- 分辨率较低
- 方向分辨率更高,空间分辨率更低
- same film used for both spatial and directional information
- 价格贵
- 微透镜的设计很麻烦