贾浩楠 发自 凹非寺
量子位 报道 | 公众号 QbitAI
还记得那个引来巨大争议,最后把LeCun逼退推特的低分辨率图像还原算法PULSE吗?
PULSE是针对低分辨率图像进行还原的,而就在PULSE问世不久后,一个针对模糊视频进行 实时高分辨率渲染的算法问世了。
前几天,Facebook公布了一项在即将举行的SIGGRAPH 2020会议上展示的新论文,提出了一种新的神经网络算法 神经超采样。
新算法实现了低分辨率视频的4*4的 实时渲染, 也就是说能把大部分视频分辨率提升16倍,直接变成4K视频!
而1080p的视频渲染延迟更是控制到24.4ms!
除了超低延迟,这种算法的巨大进步在于摆脱了特定硬件和技术的束缚(如虚幻引擎的TAAU和英伟达的DSSL),在PC上就可以实现。
高糊骑兵视频马上变4K!
话不多说,直接上实时渲染效果实测。
下图由上至下,分别是低分辨率输入视频、神经超采样算法(分辨率提高16倍)渲染结果、离线渲染目标视频截图。
可以看出,“神经超采样”算法的实时渲染输出,视频细节的精度已经高度接近目标渲染视频。
这样的优秀表现引来网友一片惊叹,尽管Facebook方面认为这项技术未来主要用于游戏开发和实时VR技术,但网友们纷纷喊话FB,希望看到这项技术用在早年的3D游戏重置上,比如三角洲部队、放逐等等。
尽管有些游戏已经有了重制版,但这个算法可以 实现自动渲染,极大提升效率。
那么,这种高性能的实时渲染算法到底怎么实现的呢?
秒变4K是如何实现的
神经超采样实时渲染(Neural-Supersampling for realtime rendering)算法构造主要有4个不同功能模块。
首先是特征提取模块,包含3层卷积神经网络。这个子网络单独处理每个输入帧, 并在除当前帧外的所有帧中共享权重。
对于每一帧,特征提取模块将颜色和深度作为输入,并生成8个通道的学习特征,然后与输入的颜色和深度进行连接,从而获得总共12个通道的特征。网络如下图表示。
其次,为了降低重建网络的复杂性,算法应用了时空重投影,通过使用渲染的运动矢量,将前一帧的像素样本和学习的特征投射到当前。
为了充分利用低层像素后向运动矢量,需要在目标(高)分辨率空间进行时空重投影。首先,将输入(低)分辨率空间的像素样本投影到高分辨率空间,采用零上采样的方式,即把每个输入像素分配到其对应的高分辨率像素上,并将其周围所有缺失的像素作为零。
每个输入像素的位置平均落在高分辨率中的