视频降噪综述

1. 前沿与背景

每年在各类顶级会议期刊如CVPR(IEEE Conference on Computer Vision and Pattern Recognition,Ieee国际计算机视觉与模式识别会议)、ICCV(IEEE International Conference on Computer Vision,国际计算机视觉大会)、ECCV(European Conference on Computer Vision,欧洲计算机视觉国际会议)、SIGGRAPH(Special Interest Group for Computer GRAPHICS,计算机图形图像特别兴趣小组)都会出现很多篇视频降噪的论文,范围涉及到各类传统算法与深度学习算法。学术界拥有如此多的视频降噪算法,但拍照或者视频还是会出现很多噪点,这就是学术届优秀降噪成果难以有效在工业界落地的问题。

在视频应用广泛的互联网时代,清晰纯净的视频一定是各类应用场景的追求。在刷短视频或者观看直播,我们更愿意将目光长时间停留在图1.1,而图1.2是我们第一时间想划过去的视频画面。

降噪是图像/视频处理领域一直很基础很热门也很难的问题,也出现在不少产品应用中,但却很少在视频直播产品中见到降噪技术的应用。比如腾讯会议一款软件应用了视频降噪技术,带来的实际视频效果体验以及隐形的带宽流量节省都是显而易见。
视频降噪综述_第1张图片
图1.1
视频降噪综述_第2张图片
图1.2

2. 视频噪声

● 噪声来源主要分为两种:
 ○ 图像获取中:图像传感器CCD 、CMOS采集图像时,受到传感器材料属性、工作环境、电子元器件、电路结构影响;
 ○ 图像信号传输中:传输介质和记录设备不完善;
● 噪声分类
 ○ 高斯噪声:概率密度函数服从高斯分布(正态分布);
 ○ 泊松噪声:光子离散噪声,实际数字图像中的噪声基本是高斯噪声和泊松噪声的混合噪声;
 ○ 椒盐噪声、加性噪声、乘性噪声、量化噪声等;
● 噪声场景
 ○ 夜晚场景:夜晚除了画面不清楚外,大量噪声也是引起视频体验的主要因素;
 ○ 平坦区域:摄像头的物理硬件的随机波动,在平坦区域会产生被视觉更容易察觉的噪声;
 ○ 高分辨率:分辨率越高,噪声波动对人眼视觉越明显;
 ○ 背光区域:由于前后景亮度差异过大,背光区域曝光不足,会让噪声看起来更明显;

3. 视频降噪技术

● 滤波法
 ○ 空域法:mean filters、gaussian filters、medium filters、bilateral filters、NLM、NLB等;
 ○ 变换域法:维纳、离散傅立叶、离散小波、DCT等;
 ○ 混合时空变换法 :BM3D、meshflow、hqdn3d、卡尔曼等;
● 稀疏表达:k-SVD
● 聚类低秩:WNNM(weighted nuclear norm minization,加权核范数最小化)
● 统计模型:高斯混合模型
● 深度学习:FFDNet、CBDNet等;

4. 视频降噪优势

视觉效果:大幅提升视频主观体验,增加视频观看舒适度。
编码压缩与带宽传输:提升视频编码RD性能、运动估计更准确更高效、熵编码速度更快、降低码率、降低编码复杂度。

5. 常见降噪算法介绍

mean filters
典型的空域线性滤波算法,原理简单,即在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标像素为中心的周围8个像素,构成一个滤波模板,即包括目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。

medium filters
典型的空域非线性滤波算法,原理简单,每一个目标像素值设置为该点某邻域窗口内的所有像素值的中值。

guassian filters
典型的空域线性平滑滤波算法,原理简单,每一个像素值,都由其本身和邻域内的其他像素值经过加权平均后得到。

bilateral filters
典型的空域非线性滤波算法,原理简单,即可以认为是高斯滤波的改进迭代版,同时考虑图像的空间近邻度和像素值相似度的一种折中算法。

NLB
“Non-Local Bayes” (NL-Bayes)非局部贝叶斯,利用图像的自相似结构进行去噪。
○ 原理
  ■ one-step
    ● 找到与给定图像块相似的图像块,并组成3D块
    ● 协方差滤波
      ○ 贝叶斯公式应用到3D块;
      ○ 重新定位3D块;
    ● 聚合
      ○ 聚合就是为了消除3D滤波产生的滤波块重叠,被获取的许多估计数需要为每个像素组合;
    ● Acceleration 加速
  ■ two-step
    ● grouping 组块
    ● Collaborative Filtering 协方差滤波
    ● Aggregation 聚合
○ 迭代版本
  ■ Non-local Bayesian Video Denoising 非局部贝叶斯视频去噪
 ■ https://github.com/pariasm/vnlb

BM3D
代码:https://github.com/gfacciol/bm3d
典型的且效果较好的空域与变换域结合的去噪算法,原理相对较复杂,算法复杂度也相对较高,当然实际去噪效果也相对传统的去噪算法有明显的提升。
中心思想:充分利用自然图像中丰富的自相似结构来进行图像降噪;
step1:基础估计
  ■ 相似块分组Grouping
 ■ 协同滤波Collaborative Filtering
 ■ 聚合 Aggregation
step2:最终估计
 ■ 块匹配Grouping
 ■ 3D协同维纳滤波 Collaborative Filtering
 ■ 聚合加权滤波Aggregation
视频降噪综述_第3张图片
meshflow
meshflow来源于2017年中国电子科技大学一篇sci级别论文。steadyflow需要计算密集的光流(optical flow)并提取所有像素位置的像素配置来进行处理;与steadyflow相比,meshflow仅在稀疏规则的顶点配置网格上进行操作。
通过对论文中meshflow算法剖析,在相邻帧之间进行估计,这些帧用于在一个滑动时间窗口内对齐帧,整个方案可以分成特征跟踪网格流估计运动累积一致性检查像素融合;该算法具有模型轻量级、非参数化、空间变形体等内在特征,能够有效地实现多帧图像的去噪,具体算法思路如图2.1所示:
视频降噪综述_第4张图片
图2.1

论文介绍实验结果,1920x1080的分辨率单帧平均需要260 ms,具体来说,特征跟踪27ms、网格流估计21ms、运动累积38 ms、一致性检查25 ms、像素融合149ms。从论文实验结果对比分析,视频降噪效果大多数场景效果非常明显,但算法复杂度仍然相对较高,距离实时视频应用场景落地还有一段路程。

hqdn3d
作为Avisynth一款视频处理插件,集成应用到Mplayer播放器中。hqdn3d是时域、空域混合滤波算法,不涉及变换域 ,算法原理容易理解,总结其原理,包含几点:
● 逐像素进行,不涉及频域变换,不涉及运动搜索,不涉及帧间对齐;
● 3D去噪,当前像素参考左邻、上邻、上帧同一位置的三个像素;
● 根据相邻像素的差,确定偏移量,将相邻像素颜色值“拉近”,即对像素做加减法;
● 较小的像素差异,拉近距离,若差异较大,降低偏置系数,达到保边效果;
● 通过外部设置滤波强度,调整峰值位置;
视频降噪综述_第5张图片

6. 各类算法复杂度对比

视频降噪综述_第6张图片

7. 参考

  1. 在线实验各类新算法网址:https://www.ipol.im/

你可能感兴趣的:(视频前处理,视频前处理,视频降噪,实时音视频,图像降噪,深度学习)