APP下载

基于主成分分析的分块视频噪声估计

2018-10-15肖进胜朱力赵博强雷俊锋王莉

自动化学报 2018年9期
关键词:正态分布差分纹理

肖进胜 朱力 赵博强 雷俊锋 王莉

视频信号在捕捉、记录和传输的过程中都可能引入噪声.引入的噪声严重降低视频画面质量,影响观众的视觉体验.而视频去噪是将数字视频图像的特点与现有的信号处理技术相结合,尽可能地降低视频图像中噪声干扰的一种多媒体信息处理技术.目前存在的大多数视频去噪算法的性能都不同程度地依赖于含噪视频中的噪声参数.虽然通过各种各样的算法,可以达到很理想的去噪效果,但大多数算法都有个假设前提,即噪声强度是预先知道的[1−3].人为给定噪声参数或者噪声参数不准确,都会导致去噪效果不理想.因此对于含噪视频的噪声参数估计是视频去噪研究中一个关键性问题.近年来,图像去噪算法在空域和变换域等取得了较大发展.其中较为优秀的是Knaus等的基于空域和频域的双域滤波图像去噪算法[4],去噪后的图像细节信息丰富,但是需要设置与噪声有关的经验参数.Pierazzo等[5]利用非局部贝叶斯去噪替换了文献[4]中的引导层,构造图像快速去噪算法,但图片的适用性不高.为了实现视频噪声去除,肖进胜等[6]将文献[4]和三维块匹配算法相结合将图像去噪拓展到了视频去噪领域,主客观效果较好,但对未知噪声水平时鲁棒性较差.另外Knaus等[7]基于双域滤波引入了鲁棒噪声估计,部分解决了人为设定噪声值的问题.Dabov等[8]对视频图像进行3D稀疏变换后再滤波(Video blockmatching and 3-D filtering,VBM3D),取得了较优秀的去噪性能.但该算法耗时高,且去噪视频存在块效应.Matteo等提出了VBM4D[9]算法,该算法将VBM3D拓展到4维结构,能更好地保存视频的细节.上述去噪算法均没有对噪声进行有效的估计,对于未知噪声的视频序列不能获得其最佳的去噪效果.

高斯白噪声是视频图像采集中最常见的一种噪声,针对该噪声的估计主要分为空域、时域和空时域[10]三种.空域法通常分为基于块[11−12],基于滤波[13]和变换域三种方法[14].Amer等[15]采用自适应平均的方法对所有块的方差进行选取和平均,基于块进行噪声估计,但该算法对平滑块的数量有严格的要求.基于图像块的算法估计结果受图像内容和噪声强度影响很大,而Pyatykh等[16]提出的基于主成分分析(Principal component analysis,PCA)的方法则对含噪图像没有严格的要求,且估计结果较精确.柳薇[17]利用PCA的思想对图像块进行噪声估计,图像块的协方差矩阵最小特征值作为噪声方差的估计值,该方法无需图像含有许多同种类区域.Aditya等[18]是一种基于奇异值分解的比较稳定的噪声估计方法,用奇异值的尾部数据进行噪声强度估计,降低图像信息对噪声估计的干扰.而时域的方法主要考虑帧与帧之间的关系,对视频的整体运动较难把握,因此需要进行运动检测或者运动补偿.Yin等[19]提出基于运动估计的视频噪声估计算法,考虑到了视频编码,该算法能对各类型的视频信号进行准确的估计.目前主要有算法[10,20−21]利用了时空域的信息对视频噪声估计,Zlokolica等[20]主要用小波变换系数对空时域进行分析,然而该方法计算复杂性较高.Ghazal等[10]利用5个域来探索空时域的信息,每个域的局部相似性主要利用了高斯拉普拉斯算子,该算法估计效果较好.Yang等[21]利用Sobel梯度作为同种类块的衡量标准,利用了3个域进行噪声估计,计算复杂性降低.总体上说,噪声估计算法的效果都有待提高.

考虑到PCA对含噪图像和噪声类型的鲁棒性,本文提出一种基于PCA的分块视频噪声估计.本文所提出的方法有如下创新:1)首先通过前后帧块匹配寻找相似块,充分利用了视频序列的相关性,并进行前后帧的差分运算以消除视频运动的影响.2)使用正态分布函数作为选择弱纹理块的阈值函数,使得计算复杂度降低,同时简化了算法模型.3)设置了明确的迭代指标,使得最终结果更加精确.通过理论分析和实验结果表明本文的视频噪声估计算法具有较大的应用范围,成功的运用于盲视频去噪.

1 基于PCA的图像噪声估计

文献[14]提出的基于PCA的图像噪声水平估计算法,对于纹理信息丰富的噪声图,基于PCA的噪声估计会高估其噪声水平.若先选择噪声图中的弱纹理块,PCA则可以精确地估计出噪声水平,因此本文算法首先选择含噪图中的弱纹理块,再基于弱纹理块估计图像的噪声水平.含噪图像块模型为

其中,zi是原始图像第i个矢量块,yi是观测到的矢量块,ni是零均值高斯噪声.图像块可以认为是欧氏空间的数据,利用PCA计算最小方差向量.协方差矩阵定义如下:

其中,M是数据数目,µ是数据集yi的平均数.投影到最小方差方向数据的方差与协方差矩阵最小特征值相等,可得到下述公式:

Σy和Σz分别指噪声块y和不含噪块z的协方差矩阵,λmin表示最小特征值.对于一般的图像块,λmin(Σz)是未知的.弱纹理块只适用于低维子空间,它的协方差矩阵的最小特征值约为零,对于弱纹理块噪声水平可以简化为

含噪块的梯度矩阵如下(其中zf是不含噪的平坦块)

对角线的元素有相同的特性,设

ε(n)的生成函数决定了其分布[15],且ε(n)的生成函数与伽马(Gamma)分布的生成函数形式一致,因此对应的Gamma分布的形状参数α和尺度参数β,分别为

该算法主要通过Gamma函数来逼近从而求得最终的阈值函数,但Gamma函数形式较复杂,不利于广泛的应用.同时原算法文献[14]中设置经验的迭代次数作为迭代停止条件,虽然效果不错,但始终存在适应性[22−23]的隐患.

2 基于正态分布阈值的视频噪声估计

本文视频噪声估计算法首先通过前后帧块匹配寻找相似块,对匹配效果最佳的块(弱纹理块)进行噪声估计,并进行前后帧的差分运算以消除视频运动的影响.其次修改了选择弱纹理块的阈值函数,使得判断标准更加精确,减少图像纹理信息对估计结果的干扰.

2.1 基于帧间块匹配的视频噪声估计

视频图像序列前后两帧图像在时间上具有很强的相关性.原本拥有很多纹理和细节信息的块,如果它在前后两帧具有较强的相关性,那么差分的结果仍然会产生一个平滑块,降低了图像信息对噪声估计的影响,同时降低了噪声水平对估计结果的影响.算法首先对当前帧图像进行块划分,然后对于每一图像块在前一帧图像内进行块匹配寻找相似块,并根据最小代价得到最佳匹配块,所有块与最佳匹配块的差值块合并得到帧间差分图像,接下来将差分图像作为原始含噪图像进行噪声估计.较朱磊等[24]对整幅图像进行差分运算,本文算法的效率和精确度得到了提高.

假设观察到的视频图像为

其中,S(i,j,n)为原始不含噪的视频帧,N(i,j,n)为噪声信号,n为帧编号,i,j是像素坐标.经过块匹配,我们选择的是匹配效果最佳的块(弱纹理块)进行噪声估计.通过选择弱纹理块,降低了图像纹理对噪声估计的干扰,对于最佳匹配块有:

此时的差分图像可以表示为:

假如原始图像的实际噪声方差为σ2N,根据概率计算式(12)中差分图像的噪声方差σ2D有:

因此,如果原始图像中前后两帧的最佳匹配块足够接近,那么差分图像块将会变为平滑块,该平滑块的方差可以认为是噪声造成的,可以用式(13)进行噪声方差的估计.

2.2 基于正态分布的阈值函数

对于伽马(Gamma)分布,通过如下图1所示可以得到:当形状参数α越大其峰值越远离Y轴,同时越逼近正态分布.当α为正整数时,分布可看作α个独立的指数分布之和,当α趋向于较大数值时,分布近似于正态分布.普通参数的Gamma分布可以看作多个独立的Gamma分布之和.按照中心极限定理,独立同分布的随机变量之和趋于正态分布[25].

图1 Gamma概率密度图Fig.1 Gamma probability density function

由图1,α,β的变化也可看出当α足够大时Gamma分布近似正态分布.通过计算可以得到:

由于梯度算子的大小只与块的大小有关,不受含噪图像的影响,因此当用3阶滤波算子时,水平和垂直梯度算子为常矩阵,也为常矩阵.本文中,α值为N2/2,块的大小为5,可以用正态分布近似Gamma分布,于是由式(9)和(14)可得到正态分布的均值和方差为

可得到本文的阈值为

其中,F−1(δ,α,β)是正态分布的逆累加分布函数,δ是人为给定的显著性水平(本文为0.99).当显著性水平和噪声水平给定时,阈值随之确定.这里经过推导简化了Gamma分布的形状参数α和尺度参数β,同时用正态分布替换了Gamma分布,对算法的运算函数也进行了简化.而当图像块梯度协方差矩阵的最大特征值小于上述阈值时,即为选定的弱纹理块,再对图像中的弱纹理区域利用PCA进行噪声估计.实验结果表明当块大小小于5时,同样可以达到较好的估计效果.改进的正态分布函数和Gamma分布的噪声估计准确度(单位:dB)对比如下表所示:

表1 不同分布函数噪声估计对比Table 1 Comparison of noise estimation for__________________different function

由上表可以看出,替换后的函数估计效果更好.因此噪声估计采用的分布函数改为正态分布完全可行且取得更好的估计效果.大量实验结果表明迭代次数达到6次时,噪声水平可基本达到稳定.但是为了进一步提高噪声估计算法的稳定性,对于迭代次数的设置,本文采用经验次数和前后两次噪声估计水平的差值比例也可确定来决定迭代停止条件.下面将讨论一下针对不同噪声水平,改进算法相对于其他算法噪声估计的效果.当噪声强度小于10dB时,大部分图像算法的有效性都会降低,但Shin等[26]算法例外,它仅在低噪环境下工作稳定可靠.由于Shin等提出的自适应高斯滤波的算法只适用于低噪环境,因此仅在σ<15的情况下比较Liu 等[14]、Pyatykh 等[16]、Shin 等[26]和本文算法的实验结果.在低噪声强度下噪声估计对比结果如图2所示,噪声估计的误差定义为δ(σ)=|ˆσ−σ|(dB).分别选取了Lena(含有细节较少)和Baboon(含有细节较多)等图片进行测试.由图可以看出本文算法比Pyatykh等[16]、Aditya等[18]和Shin等[26]误差较小.对于Liu等[14],本文算法在σ<10时也明显误差较小.当图像含有复杂的纹理结构,图像块的最小特征值大于0,估计误差较大.由图2(a)和(b)对比看出,细节较少的图片噪声估计更为精确.本文算法的噪声强度估计结果对细节较少和细节较多的图片均较对比算法精确,说明本文的噪声估计算法在低噪条件下有较高的准确性.

图2 在低噪声强度下估计效果对比Fig.2 Comparisons in low noise case

图3 在高噪声强度下估计效果对比Fig.3 Comparisons in high noise case

在较高噪声水平情况下,Pyatykh等[16]是目前广为应用的基于主成分分析的噪声估计方法,有较高的精确性和较快的速度.由曲线图可以看出,Pyatykh等[16]估计误差随着噪声水平增加,当误差大于40dB时逐渐减小,Aditya等[18]估计误差相对较稳定,Liu等[14]算法估计误差较小,本文算法估计误差比这3种算法小.因此,本文算法在高噪声水平下对噪声的估计结果较其他算法精确,受噪声强度的影响较小.通常一段视频噪声的分布是均匀的,每帧的噪声水平是类似的.考虑到视频噪声的突变情况,本文在对视频进行噪声估计时,利用前后帧信息和PCA得到当前帧的噪声水平,因此当下一帧出现噪声突变时,对估计结果没有影响.

2.3 算法整体流程

本文视频噪声估计算法首先通过前后帧块匹配寻找相似块,充分利用了视频序列的相关性,并进行前后帧的差分运算以消除视频运动的影响.其次修改了选择弱纹理块的阈值函数,用正态分布函数简化了计算复杂度降低.最后设置了明确的迭代指标,使得估计结果更加精确.本文的视频噪声水平估计过程如下图4所示:

图4 本文算法迭代噪声水平估计流程图Fig.4 Flowchart of the iterative noise level estimation for proposed algorithm

3 实验结果

为验证本文算法对视频进行噪声估计的效果,使用两个CIF格式的标准测试视频,两个测试视频为:Flowergarden和Football.算法运行环境为Windows XP,CPU-Intel Core i5-2500K,主频3.30GHz,内存3GB,32bit.由于Shin等[26]数据取自原文,因此本文对这两个测试视频同样加入均值为0,标准差为20,30,40的高斯白噪声与算法Amer等[15]、Pyatykh等[16]、Liu等[14]进行对比.图5~图7是本文算法和其他算法在视频序列前40帧不同噪声水平的估计误差,对于不同的视频序列和噪声水平,本文算法的估计误差较低.

PSNR和SSIM是两个比较常用的评价去噪效果的客观指标,本文选用这两个指标来对VBM3D算法、PID算法、VBM4D算法和文献[6]算法加噪声估计进行对比.由于VBM3D和VBM4D未加入噪声估计,因此测试程序中设定随机取真实值附近的噪声水平进行视频去噪.不同噪声水平下各算法的去噪效果的PSNR和SSIM对比如表2所示:

图5 加噪20dB视频序列(Flower,Football)估计误差Fig.5 Noise estimation error for 20dB noisy sequences(Flower,Football)

图6 加噪30dB视频序列(Flower,Football)估计误差Fig.6 Noise estimation error for 30dB noisy sequences(Flower,Football)

图7 加噪40dB视频序列(Flower,Football)估计误差Fig.7 Noise estimation error for 40dB noisy sequences(Flower,Football)

表2 VBM3D、PID、VBM4D和本文算法的PSNR和SSIM对比Table 2 The comparisons of PSNR and SSIM results of VBM3D,PID,VBM4D and proposed algorithm

从表2中的对比结果可以看出,本文算法的PSNR和SSIM比VBM3D算法在大多数情况下高出很多,主要是因为VBM3D处理过后像素值减小,图像的亮度降低,导致PSNR与SSIM均较低.对于Flowergarden视频序列,本文客观效果在噪声水平较低情况下比VBM3D略低,主要因为在对视频去噪时,本文指定的是真实噪声水平利用VBM3D进行测试,而实际情况中并不可能准确获取图像的真实噪声水平.PID算法中加入了噪声估计,但综合而言,本文的客观指标在各种噪声水平均比PID略高.上述表格表明,本文算法与VBM3D、PID、VBM4D进行对比时,客观效果优势较明显.因此说明本文算法不仅去除了图像中的噪声,而且较好地保持了图像本身结构的信息,去噪效果较为优秀,同时加入了噪声估计应用范围更广.

4 结论

本文提出了一种新颖的视频噪声估计算法,充分利用了视频序列的相关性,利用帧间进行相似块的搜索,基于最小代价准则获得帧间的差分图像,消除了视频运动的影响,得到初步的弱纹理差分图像:引入基于块的噪声估计,能自适应地获取噪声水平参数,并提出正态分布函数作为文中选择弱纹理块的阈值函数,降低了计算复杂度,另设置了明确的迭代指标使得估计的噪声水平更加精确.最后考虑像素会受到噪声饱和效应的影响,避免了在高噪声水平下的低估现象.通过理论分析和实验结果表明本文提出的视频噪声估计算法估计精确,可运用到盲视频去噪领域,具有广阔的应用前景.

猜你喜欢

正态分布差分纹理
RLW-KdV方程的紧致有限差分格式
符合差分隐私的流数据统计直方图发布
关于n维正态分布线性函数服从正态分布的证明*
数列与差分
生活常态模式
基于BM3D的复杂纹理区域图像去噪
偏对称正态分布的若干性质
使用纹理叠加添加艺术画特效
TEXTURE ON TEXTURE质地上的纹理
正态分布及其应用