降噪
降噪算法
路径追踪使用蒙特卡洛积分,每个像素需要追踪数百甚至数千条路径才能收敛到无噪点结果。实时光线追踪只能追踪每像素 1-4 条路径,噪点严重。降噪算法利用空间和时间相干性,从低采样率图像重建高质量图像。
空间滤波
空间滤波假设相邻像素的光照相似,通过加权平均减少噪点。
- 高斯滤波:对像素周围的像素加权平均,权重随距离衰减
- 双边滤波:同时考虑空间距离和颜色相似度,保留边缘
- 非局部均值(Non-Local Means):搜索整幅图像中相似的图像块,加权平均
时间累积
时间累积利用帧间相干性,将当前帧与历史帧混合。
- 指数移动平均:
- 运动向量:使用光栅化阶段计算的运动向量,将历史帧对齐到当前帧
- 阴影/反射重投影:对阴影和反射通道单独重投影,减少幽灵伪影
混合降噪
现代游戏引擎使用结合空间滤波和时间累积的混合降噪方案,典型的如 NVIDIA 的 Real-Time Denoiser(RTXDI)和 AMD 的 FidelityFX SPD。
分类通道:
- 根据材质类型(镜面、漫反射、发射)将图像分成多个通道
- 每个通道单独降噪,保留不同材质的特征
- 通道间交互避免分离伪影
自适应采样:
- 对高方差区域(边缘、反射)增加采样数
- 对低方差区域(平坦表面)减少采样数
- 使用方差估计指导采样分配
神经降噪:
- 使用小型的 CNN 网络学习噪点模式
- 训练数据来自离线渲染器的高质量图像
- 推理速度极快,适合实时应用