[总结] Kernel Foveated Rendering

论文标题:

Kernel Foveated Rendering

关键词:

关注点渲染、感知、对数极坐标映射、眼睛跟踪、虚拟现实

在传统的渲染中,由于对画面中的每一个细节都需要精确计算,因此会花费较多的渲染时间。但是,用户在观测该画面的时候,并无法对每一个细节都全神贯注。因此,本文提出一种关注点渲染的方式,较大程度上地优化渲染流程。通过重点渲染关注点,减少对其余内容的渲染,将速度提升至3-6倍。该文献的方法主要是,通过在经典对数极坐标映射中嵌入多项式核函数,进行参数化关注点绘制。同时,由于是参数化形式的转换方式,该文献对不同参数得出来的结果进行用户研究,最终得出相关的经验性参数。

研究结果:

1. 研究问题

1.1 背景
在制作光场照片的时候,需要对同一个物体进行不同方位的拍照。但是由于照片众多,同时一张照片精细度较高,导致计算较为耗时。

1.1.1 基于人眼注视点的数据

image.png
  • 人眼视角虽然宽,但是每个部位的可接受分辨率是不一样的,只有视角前方的可接受分辨率最高。

1.1.2 2017年研究显示

image.png
  • 在VR中,人眼具有高分辨率注视点的区域就只有4%。
  • 对于剩下的部分,人眼并没有用全分辨率去感知这个区域。

1.2 假设


image.png
  • 是否可以将关注点重点渲染,其余部分稍微虚化一些?

2. 算法构造

2.1 转换方程
LogPloar坐标转换(笛卡尔转LogPolar再转笛卡尔坐标)


image.png
image.png
  • 因为有log操作,因此距离圆心越近的数据,在Log-Polar那边就会显得越大。

2.2 面积大小


image.png
  • 当数据转化回笛卡尔坐标系之后,中间信息不被压缩,边缘信息被压缩。

2.3 示例


image.png

2.4 改善画质

  • 通过:改变像素分布率

  • 通过核函数,改变像素分布律

  • 该方式,可以灵活变化各种数据之间的占比


    image.png
  • 目的:


    image.png
  • 通过该方程转化,可以模拟出人眼中像素点的分布。同时,人眼无法区分出图片是否被压缩过。

2.4 最终算法
2.4.1 参数

  • buffer


    原图宽度/LogPolar宽度
    • 随着σ的增大,中心几乎不变,但是边缘变虚。因此需要把握住σ的大小。


      image.png
  • 核函数参数 α
核函数公式
  • 随着α增大,边缘越来越清晰,因此需要注意α的大小。


    image.png

2.4.2 渲染流程

  • 将渲染原料渲染后,变化为Log Polar坐标系
  • 对其进行反渲染,得到效率较高的渲染结果


    image.png

2.4.3 加速结果

  • 在做完用户测试后,σ=1.8,α=4的时候效果较能被接受,计算时间为原来的1/3。


    image.png

对设计的启示:

  • 该文章相当巧妙,通过研究人视觉的关注点,将算力集中于该部分,以提高渲染效率。

  • 该文章也将压缩过程量化,通过具体函数完成转换。之后可以直接选定关注点后,进行快速压缩。同时,通过参数化算法,对得出来的像素结果再做映射,通过算法参数调节映射结果。算法本身并不难,但思路相当巧妙。

  • 传统渲染方向的论文会将研究重心放在渲染模型时三角面的快速近似计算。但该文章很好地将计算机算法与人的可视化观测方式结合在一起,从人体本身出发,设计算法。这部分可能可以被认为是另外一种形式的交互,隐式交互。

  • 作者另外的一篇文章讲的是左眼与右眼,哪一只眼为主视眼,哪一只为副。该结果也能在某种程度上辅助图形学可视化。

未来:

  • 目前该文章只能针对静态图片,期待未来加入视频元素。

  • 该方法不适用于常规可视化屏幕,更适用于VR结果,因为VR本身设备可以捕捉瞳孔运动,可以通过该数据,对图片进行快速渲染,降低渲染延迟性。

  • 期待之后能在人机交互的方向上,探索到人与机器更为本质的相关性,而非仅仅是从计算机角度考虑,然后做可视化。也可以尝试反过来推理,用户的身体机能是否真的有如此精确的需求,如果没有,其实可以对传统算法、传统模型进一步优化。

你可能感兴趣的:([总结] Kernel Foveated Rendering)