贾浩楠 发自 凹非寺
量子位 报道 | 公众号 QbitAI
还记得那个引来巨大争议,最后把LeCun逼退推特的低分辨率图像还原算法PULSE吗?
PULSE是针对低分辨率图像进行还原的,而就在PULSE问世不久后,一个针对模糊视频进行实时高分辨率渲染的算法问世了。
前几天,Facebook公布了一项在即将举行的SIGGRAPH 2020会议上展示的新论文,提出了一种新的神经网络算法神经超采样。
而1080p的视频渲染延迟更是控制到24.4ms!
除了超低延迟,这种算法的巨大进步在于摆脱了特定硬件和技术的束缚(如虚幻引擎的TAAU和英伟达的DSSL),在PC上就可以实现。
高糊骑兵视频马上变4K!
话不多说,直接上实时渲染效果实测。
尽管有些游戏已经有了重制版,但这个算法可以实现自动渲染,极大提升效率。
秒变4K是如何实现的
神经超采样实时渲染(Neural-Supersampling for realtime rendering)算法构造主要有4个不同功能模块。
对于每一帧,特征提取模块将颜色和深度作为输入,并生成8个通道的学习特征,然后与输入的颜色和深度进行连接,从而获得总共12个通道的特征。网络如下图表示。
为了充分利用低层像素后向运动矢量,需要在目标(高)分辨率空间进行时空重投影。首先,将输入(低)分辨率空间的像素样本投影到高分辨率空间,采用零上采样的方式,即把每个输入像素分配到其对应的高分辨率像素上,并将其周围所有缺失的像素作为零。
每个输入像素的位置平均落在高分辨率中的��像素之间,其中��为上采样比。之所以选择零上采样,一是为了提高效率,二是为了给网络提供哪些样本有效或无效的信息。
接下来,进行无采样前帧的后向扭曲,这一步骤使用了向上采样向量,对前一帧进行零向上采样。在翘曲过程中则采用双线插值。
第三部分是特征重新加权。
渲染的运动矢量不反映动态不协调或阴影帧之间的变化。因此,扭曲的帧会包含伪影,如在遮挡区域的阴影和在不一致的阴影区域不匹配的像素。
特征重新加权模块是一个3层卷积神经网络。它将当前帧的零上采样的RGB-D、零上采样、扭曲的前一帧同时作为输入,为之前的每一帧生成一个像素加权图,权重值在0到10之间,其中10是一个超参数。
最后将每个加权图乘以对应前一帧的所有特征。
第四部分是重建,将当前帧的特征和重新加权的先前帧的特征连接起来,并反馈给重建网络,该网络会输出恢复的高分辨率图像。重建子模块采用3级、10层的U-Net,并带有跳过连接。
团队的实验条件是英伟达Titan V卡,并使用了Nvidia TensorRT对算法进行了16bit优化。
下图是算法渲染不同分辨率视频所需的运行时间(提升16倍分辨率),单位为ms。其中Ours为基础算法,Ours-Fast是经过简化的快速版本。
尽管4*4超神经采样算法在低分辨率视频实时渲染上有很好的表现,而Facebook官方也宣称这个算法突破了特殊硬件和技术的限制,在PC上就能运行。
但网友们依然吐槽,要达到实验结果展示的“实时”渲染表现,一块英伟达Titan V是必须的。
而现在一块Titan V官方售价3000美元左右,经过不同厂商优化过的,更是价格高昂。
Reddit网友呼吁,应该建立一个标准,只有在通用CPU上能实现到实时的,才能叫真实时。
论文地址
https://research.fb.com/publications/neural-supersampling-for-real-time-rendering/
成果演示
https://research.fb.com/blog/2020/07/introducing-neural-supersampling-for-real-time-rendering/
本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。
— 完 —
原标题:《高糊视频秒变4K!Facebook发布低分辨率视频实时渲染算法,网友:是好东西,但是玩不起》