# 实时光线追踪 2

![image-20230328185527448](https://image-1253155090.cos.ap-nanjing.myqcloud.com/202303281855551.png)

### Implementation of Filtering

#### 空间上的降噪技术

* 通过模糊操作去掉噪声
* 由滤波核决定如何滤波

![image-20230328185824849](https://image-1253155090.cos.ap-nanjing.myqcloud.com/202303281858990.png)

#### 高斯滤波核

* 对于每个像素，以高斯滤波核，取附近像素的加权和，归一化![image-20230328185803126](https://image-1253155090.cos.ap-nanjing.myqcloud.com/202303281858230.png)
* 理论上是无限远的，通常只考虑 3 sigma 内

#### Bilateral Filtering 双边滤波

* 希望高斯去噪声的同时保留边界，使图片不模糊
* 使用颜色差异指导滤波核大小，动态滤波核

**options**

* 滤波核贡献变小
* 不适合降噪，分不出明显的噪声和边界
* 认为颜色剧烈变化时是图像边界
* 颜色剧烈变化时，周围像素给予权重变小，更似原图

#### Joint Bilateral Filtering 联合双边滤波

* 在双边滤波的基础上，使用更多的 Buffer 指导滤波核强度
* 考虑 NormalBuffer 和 DepthBuffer ，如果变化剧烈，应当减小滤波核
* 取各个滤波方式的加权和

**G-Buffer**

* 使用 G-Buffer 中的各种信息指导
* Position Normal Albedo
* G-Buffer 本身是无噪声的

**metric**

* 定义函数，从周围像素到中心像素，任意变量上的距离和贡献的关系
* 不一定同高斯函数指导滤波![image-20220309184720379](https://image-1253155090.cos.ap-nanjing.myqcloud.com/202303281856639.png)

### Implement Large Filters 大型滤波器优化

* 大型滤波器减少采样次数优化
* 拆成多个 pass 执行

#### Solution 1 ：Separate Passes

* 将维度拆成次数
* 减少一个维度数量级 Mnxn -> Mi x n + Mn x i
* 二维高斯描述为两个一维高斯相乘
* ![image-20220309184759096](https://image-1253155090.cos.ap-nanjing.myqcloud.com/202303281907063.png)

#### Solution 2 ：Progressively Growing Sizes

* 使用逐步增大的滤波器
* 同样大小的滤波器，采样的距离逐渐增大
* 多趟统一形成大的 filter image
* 如果滤波器大小为 5x5，采样 5 层，那么每个像素相当在一次 pass 中采样了 64 x 64
* ![image-20220309184822115](https://image-1253155090.cos.ap-nanjing.myqcloud.com/202303281907057.png)

**deeper understanding**

* 每次使用越来越大的 Filter，过滤掉越来越低的频率
* 每迭代一次，图就越模糊
* ![image-20220309184834255](https://image-1253155090.cos.ap-nanjing.myqcloud.com/202303281907075.png)

### Outlier Removal

* 非常亮的点，不但没被过滤，还会在过滤时摊开影响到周围 ：Blocky

**solution**

* 预处理，滤波前处理掉 outlier
* Removal 实际上做的是 clamp，通过均值方差描述值范围
* temporal clamping ，限定到上帧的有效范围内![image-20230328191120876](https://image-1253155090.cos.ap-nanjing.myqcloud.com/202303281911957.png)

### Specific Filtering Approaches for RTRT

* 对于 RTRT 选用的过滤方法
