导向滤波和AV1中的自导滤波
导向滤波Guided Filter是一种利用引导图像来辅助处理目标图像的滤波技术,最大的特点是,既能平滑图像中的噪点/平坦区域,又能保护边缘细节不被模糊。
一 核心原理
1 引导图的作用
可以把引导图理解成一张地图,告诉滤波器
哪里是边缘,哪里是平坦区域
引导图像可以是原始图像本身,这样就会类似于双边滤波,也可以是其他图像,比如视频序列中的前一帧,或者参考帧图像。
2 数学实现
对每个像素点,导向滤波的输出公式为
输出 = a * 引导图像像素 + b
其中系数a和b通过局部窗口内的统计特性计算,目标是
平坦区域:a趋近0,输出结果平滑
边缘区域:a趋近1 保留原始边缘
这个a和b的系数求解,可以参考我的另一篇文章,最小二乘法,求解线性回归
- 与传统滤波对比
滤波类型 | 优点 | 缺点 |
高斯 | 计算简单 | 模糊边缘,细节丢失 |
双边 | 保留边缘 | 速度慢,参数敏感 |
导向 | 保留边缘 | 速度快,选择合理的引导图像 |
三 典型应用场景
1 图像去噪
(引导图 = 原图)在平滑噪点的同时,保护人脸五官,文字边缘等细节
示例:
原图有颗粒噪点-〉导向滤波后皮肤平滑,但是睫毛依然清晰
2 图像增强
引导图=边缘检测结果 强化纹理细节,弱化背景。
示例
风景照片中,让云层纹理更突出,天空区域更纯净
3 视频编码
引导图 = 原始帧 + 编码帧 用于抑制块效应,提升压缩画质。
示例
AV1编码中的自导滤波,就是导向滤波的变种
- 通俗理解
如果把图像比作一副素描画
传统滤波:用橡皮擦涂抹,可能吧线条擦模糊
导向滤波:用一张描边底稿做参考,只擦除噪点,不破坏轮廓线条
- 自导滤波 vs导向滤波
导向滤波:通用技术,引导图可以是任意图像
自导滤波:指用原始编码图像作为引导图,专门为编码器优化
导向滤波就像PS工具,而自导滤波压缩视频的时候恢复原始图像使用的。