APP下载

基于低秩矩阵补全的视频去噪研究

2019-07-05包文瑞

计算技术与自动化 2019年2期

包文瑞

摘   要:针对视频数据中严重的混合噪声问题,提出了一种基于块的视频去噪算法。通过对空间域和时间域的相似块进行分组,将混合噪声的去噪问题转化为一个低秩矩阵补全问题,从而得到一个对噪声统计特征没有强假设的去噪方法。由此产生的核范数最小化问题通过拉格朗日函数和不动点迭代算法得到有效的解决。实验验证了所提出的视频去噪方法在去除混合噪声方面的鲁棒性和有效性。

关键词:矩阵补全;低秩矩阵;视频去噪;核范数;不动点迭代

中图分类号:TN957.52                                            文献标识码:A

Video Denoising Based on Low Rank Matrix Complementation

BAO Wen-rui?覮

(Baoji University of Arts and Sciences,Baoji,Shannxi 721013,China)

Abstract: Aiming at the serious mixed noise problem in video data,this paper proposes a block-based video denoising algorithm. By grouping similar blocks in the spatial domain and the time domain,the denoising problem of mixed noise is transformed into a low rank matrix completion problem,and a denoising method with no strong assumptions on noise statistical features is obtained. The resulting kernel norm minimization problem is effectively solved by the Lagrangian function and the fixed point iterative algorithm. The experiment verifies the robustness and effectiveness of the proposed video denoising method in removing mixed noise.

Key words: matrix complement; low rank matrix; video denoising; kernel norm;fixed point iteration

隨着传感器设计的不断发展,低端数码相机在高灵敏度(如低光照条件、高ISO设置和高速率)下的图像和视频相对噪声较多[1],图像帧的去噪问题十分重要[2-4]。由于摄像机的高速捕获率,视频数据往往比单幅图像的噪声更大[5]。视频去噪的目的是通过在时间域和空间域中的信息来有效地消除视频所有帧中的噪声。与单幅图像去噪相比,视频存在较高的时间冗余[6],现有的图像和视频去噪技术大多依赖于单一的图像噪声统计模型,如高斯噪

声[7]。文献[8]中识别出了五种不同统计分布的图像噪声源:固定模式噪声、放大器噪声、光子散射噪声、暗电流噪声和量化噪声。

开发一种能够去除图像序列中的混合噪声的视频去噪算法。所提出的视频去噪方法在对图像噪声的统计特性假设最小的情况下,建立在块方法相同的“分组协同过滤”方法基础上,将匹配块堆栈中的噪声去除问题转化为一个低秩矩阵补全问题,该问题可以通过最小化线性约束矩阵的核范数(所有奇异值的L1范数)来有效地解决。实验表明,基于低秩矩阵补全方法可以有效地消除多个统计分布中混合的复杂噪声。

1   问题形成和解决方案概述

设F = {fk}K   k=1为具有K帧的图像序列。每个图像fk是其底层干净图像gk和噪声nk的总和:

fk = gk + nk                (1)

视频去噪的目标是通过从fk中删除nk来恢复G = {gk}M   k=1。为了利用视频中的时间冗余,本文采用了一种基于块的方法来联合所有重新移动图像帧的图像噪声nk。对于每个图像fk,考虑一个以像素 j为中心的图像块pj,k,大小为n×n(即n = 8)。

将该块设置为参考块,并在所有其他图像和图像fk本身的邻域内搜索类似于pj,k的块。当存在明显的图像噪声时,假设空间域存在m个块

{pi,j,k}M   k=1类似于pj,k。如果将每个块pi,j,k表示为向量pi,j,k∈Rn2 ,通过连接所有列的块,则可以组成一个 n2 × m矩阵:

Pj,k = (p1,j,k,p1,j,k,…,pm,j,k)        (2)

可以将公式(1)改写为补全矩阵的形式:

Pj,k = Qj,k + Nj,k        (3)

其中,Qj,k表示补全矩阵gk中的干净图像, Nj,k表示噪声。

图像噪声nk或Nj,k通常可建模为具有一定统计特征的随机变量。由于噪声源较多且具有不同的统计特性。因此,目的是开发一种仅假设图像噪声最小的统计特性方法。

如果数据没有噪声且块能够完全匹配,那么Qj,k中的所有列向量都有相似的底层图像结构,Qj,k的秩应该很低,Pj,k中每个行向量的方差应该很小。在这种理想情况下,通过简单地对Pj,k进行奇异值分解,即可得到Qj,k的良好估计。在复杂噪声存在的情况下,SVD方法对许多类型的噪声都很敏感。本文提出了一种更为有效的鲁棒估计Qj,k的两阶段方法,即仅需少量的元素即可恢复完整的矩阵。因此只保留非常可靠的元素,而丢弃所有其他元素。在本文方法中,那些远离行向量均值的Pj,k矩阵元素被认为是高度不可靠且需要丢弃的元素。这些元素可能是脉冲噪声损坏的像素,也可能是幅值较大的高斯/泊松噪声损坏的像素,也可能是不匹配块受干扰的像素。

在介绍本文方法之前,需要定义一些符号来简化讨论。矩阵X的模糊范数定义为:

X的核范数定义为:

‖X‖· :=  (σi(X))          (5)

其中,σi(X)表示第i个最大奇异值。设X = U∑VT为X的SVD,“软收缩”算子Dτ(X)定义为[9]:

Dτ(X) = U∑VT             (6)

其中,∑τ = diag(max(σi - τ,0)),设Ω为索引集, X|Ω表示仅包含Ω元素的向量。

所提出方法的第一阶段,在Pj,k中,可靠的元素是根据它们对同一行中所有元素的平均值的偏差进行识别。令Ω表示所有这些元素的索引集。第二阶段的主要任务是从Pj,k的不完整版本中恢复Qj,k,用Pj,k|Ω表示,这实际上是一个矩阵补全问题。即在Qj,k的秩很小的情况下,如何从它的噪声和不完全观测中恢复Pj,k|Ω。在本文中,估计Pj,k|Ω的Qj,k通过求解以下最小化问题:

其中, ‖·‖· 为核范数,#(Ω)为集合Ω的大小, 为噪声标准差的估计值,通过计算每行各元素方差的平均值得到。很多缺失像素的主成分分析(PCA)方法[10]也可用于解决矩阵补全问题。本文选择上述最小化方法的主要原因是其数学背景严谨[11]且求解公式(7)和(8)的可用数值方案实现简单。

2   具体算法

2.1   块匹配和分组

随着时间的推移,匹配相似的块是视频处理中一个重要的问题[12]。由于去噪算法中有一个内置的离群值去除器,所提算法对块匹配的准确性不太敏感。因此,采用了一种快速的三步分层搜索算法。

当视频数据受到图像噪声严重干扰时,则不可以直接对噪声数据应用块匹配算法。由于脉冲噪声干扰像素强度范围较广(即0或255),像素值上的较大失真会导致两个块之间的匹配极不稳定。因此,在块匹配之前对脉冲噪声进行预处理,可以提升相似块组的性能。采用文献[13]中提出的自适应中值滤波器来识别被脉冲噪声干扰的像素,并用小邻域的中值来替换这些受干扰的像素。在存在其他类型图像噪声的情况下,通过自适应均值滤波器恢复的像素质量并不好,但足以用于修补匹配。

与VBM3D方法[14]类似,不直接对原始视频数据应用块匹配算法。相反,首先使用现有的去噪技术或所提出的算法获得视频数据的基本(中间)估计值,然后使用中间去噪的视频数据进行块匹配,与未去噪的原始数据相比,这提高了块匹配的

精度。

2.2   去噪块矩阵

对于每个块,通过块匹配算法在空间和时间域中找到相似的块来形成矩阵Pj,k。Pj,k的缺失元素集有两个子集:第一个子集是使用基于自适应中值滤波的脉冲噪声检测器的脉冲噪声干扰的像素。第二个子集包括其值与相应行向量的平均值相差的量大于预先定义的阈值的像素。然后将所有剩余像素的索引包括在内,并形成Ω。

通过求解公式(7)和(8)的最小化问题,可以从Qj,k 未完全观测Pj,k|Ω中恢复。本文不直接求解公式(7)和(8),而是求解其拉格朗日函數:

2.3   由去噪块到去噪图像

将上述两阶段算法应用于输入图像帧的每个块,可以有效地去除所有块中的大部分噪声。最后一步是从这些去噪块合成去噪图像。在本文中,使用重叠区域对图像块进行采样。因此,每个像素都被几个去噪块覆盖。然后,通过取该像素处去噪块的平均值来确定图像中每个像素的值,这将抑制块边界附近可能的伪像。

3   实验分析

实验中使用的所有视频数据都是选取YUV测试序列视频下载网站。默认情况下,我们使用K =50的图像帧,将“块大小”设置为8×8像素,样本引用的块采样间隔为4×4像素。将图像强度范围设置为[0,255]。对于每个参考块,在基于L1范数距离函数的每个图像帧中使用5个最相似的块。因此,在矩阵完成算法中,参考块共有250个,矩阵的列维数为250。从块矩阵中选择可靠像素的阈值为2σ,其中σ是噪声标准差的估计值,可以用与 类似的方法获得。在矩阵补全算法中,迭代终止的标准为公差ε≤10-5或达到最大迭代次数30。

3.1   输入混合噪声的图像数据

由于某些类型的图像噪声比其他噪声(如量化噪声)小得多,因此可以预先校准(如固定模式噪声),在实验中通过以下三种典型噪声的总和来合成nk:

其中, ngk~N(0,σ2I)为平均值为零且与像素无关的高斯噪声(放大器噪声),npk为平均值为零且方差为κnk的泊松噪声(炮点噪声),nik为由死点、变频器或传输误差等构成的脉冲噪声。脉冲噪声建模为:

fk(i,j)={0,255}3,脉冲噪声概率为s时(gk+ngk+npk)(i,j),脉冲噪声概率为1-s时

其中,{0,255}3为强度值为0或255的三个波段(实验中使用彩色视频)。然后根据以上三种噪声类型的不同参数配置,合成具有不同混合噪声等级的噪声图像帧:(σ,κ,s)。

为了研究所提算法如何随不同噪声等级而變化的性能。由于单高斯图像噪声不是本文的研究重点,本实验将高斯噪声等级固定在σ = 10,泊松噪声等级κ和脉冲噪声等级s分别设置在[5,30]和[10%,40%]的范围内。当视频序列的σ = 30,κ = 5和s = 30%时,去噪结果如图1所示。

(a)原始图像           (b)对应的噪声图像       (c)初始去噪结果

图1   当σ = 30,κ = 5和s = 30%时,图像帧去噪结果

视频序列的图像帧经过中值滤波器的初始去噪结果通过其定义的PSNR值来衡量:

PSNR(f  r) = 10 log10       (16)

其中,f为原始数据,f  r为恢复结果。

当高斯噪声等级固定在σ = 10时,不同泊松噪声和脉冲噪声等级去噪图像帧的PSNR值如表1所示。

表1   去噪图像帧的PSNR值

从表1中可以看出,对于一个固定的泊松噪声等级,当脉冲噪声等级s从10%增加到40%时,恢复图像的PSNR值下降很小,这意味着本文的算法对脉冲噪声具有较强的鲁棒性。而当脉冲噪声等级固定,泊松噪声等级κ从5增加到30时,恢复图像的PSNR值会显著降低。因此,块匹配对严重的泊松噪声更为敏感,但对脉冲噪声不太敏感,这是由于本文已经对数据中的脉冲噪声进行了预处理。

3.2   性能比较

将所提出的去噪方法应用于多个不同混合噪声等级的视频,并将结果与现有的两种视频去噪方法进行了比较:一种是使用文献[16]中VBM3D方法的可执行代码;另一种是基于PCA的方法[10]。其中,文献[10]中使用深度约束的块匹配来形成高质量的块堆栈。由于本文的重点是如何对块堆栈进行去噪,因此只实现了文献[10]中的去噪部分,并使用所提出的块匹配算法来生成块堆栈。两种方法所涉及的参数都是根据噪声等级的真实值来设置。

实验一:视频数据被显著的混合噪声等级严重破坏,即当σ = 30,κ = 15和s = 20%时,去噪结果如图2所示。

由于VBM3D方法和PCA方法都没有内置的脉冲噪声消除器。因此,本文不仅对测试数据运行两个方法的未修改版本,而且对测试数据运行两个方法的修改版本,同时进行去除脉冲噪声的预处理。在应用这两种方法之前,采用自适应介质滤波方法[17]来消除脉冲噪声,去噪结果如图3所示。

相反,本文所提出的算法不使用现有的脉冲噪声消除器来去除脉冲噪声。取而代之的是使用现有的脉冲噪声检测器来检测那些受干扰的像素,这些像素将通过对匹配的块堆栈进一步细化。

显然,VBM3D方法和基于PCA的方法对脉冲噪声或异常值都不具有鲁棒性,如图3(a)-(b)所示。通过对脉冲噪声的预处理,两种方法的结果得到了很大的改善,如图3(c)-(d)所示。然而,由于脉冲噪声之外还存在其他类型的图像噪声,因此脉冲噪声的检测精度和受干扰像素的估计精度不可避免地会降低。由于对受干扰像素的检测和估计不准确而导致的异常值会降低块堆栈去模糊后期的性能。相反,从图3可以看出,所使用的低秩矩阵综合方法可以得到较好的视觉效果,并且基于BM3D方法(图3(c))、基于PCA的方法(图3(d))和所提出的方法(图3(e))的PSNR值分别分别为21.5db、21.4db和22.5db,这进一步说明了所提方法的有效性。

实验二:本文比较了脉冲噪声预处理方法的结果,并进行了三个数据序列的测试。每个数据序列被不同类型的噪声干扰。图4比较了混合噪声和显性高斯噪声(σ = 50,κ = 5和s = 10%)对数据的去噪结果,图5给出了混合噪声和显性泊松噪声(σ =

从图4至图6可以看出,VBM3D方法的结果趋向于平滑图像细节,而基于PCA的方法的结果仍然有许多明显的噪声,而所提出的算法总体上能够得到较好的去噪结果。

4   结   论

提出了一种基于块的视频混合噪声去噪算法。通过将视频去噪问题归结为一个低秩矩阵补全问题,所提出算法不假设图像噪声的任何特定统计特性,并且对块匹配误差具有鲁棒性。通过具体实验验证了所提算法的有效性,并与现有的两种算法进行了比较。在未来的研究中,希望能够针对泊松噪声的低阶矩阵补全算法展开深入研究。

参考文献

[1]    杨丹,戴芳. 运动目标检测的ViBe算法改进[J]. 中国图象图形学报,2018,23(12):1813—1828.

[2]    周文忠,郭山红,王辉,等. 一种基于颜色不变性的视频烟雾检测方法[J].信息技术,2018(05):106—110+114.

[3]    XIAO J,TIAN H,ZHANG Y,et al. Blind video denoising via texture-aware noise estimation[J]. Computer Vision and Image Understanding,2018,169:1—13.

[4]    杨帆,张子文,徐侃. 一种新型自适应嵌入式流形去噪视频运动目标分割算法[J].吉林大学学报:理学版,2017,55(05):1213—1220.

[5]    付歡,韩战钢. 基于Harris角点检测和EEMD的蚁群实验数据处理方法[J].北京师范大学学报:自然科学版,2018,54(05):593—598.

[6]    周罡.采用双冗余网络接口的TMS320DM368视频存储系统[J]. 单片机与嵌入式系统应用,2016,16(07):64—67.

[7]    李然,梅腊腊,邬长安,等. 针对视频运动补偿帧率提升篡改的主动混噪取证算法[J]. 电子与信息学报,2018,40(03):713—720.

[8]    BEY N Y. Extraction of buried multidimensional signals and images in mixed sources of noise[J]. Signal Processing,2018,144:7—18.

[9]    YAN H,SONG X,TIAN K,et al. Quantitative determination of additive chlorantraniliprole in abamectin preparation: investigation of bootstrapping soft shrinkage approach by mid-infrared spectroscopy[J]. Spectrochimica Acta Part A: Molecular and Biomolecular Spectroscopy,2018,191: 296—302.

[10]  张杰,齐官红,叶蓬,等. 基于PCA的关键帧相似度核聚类检索算法[J]. 控制工程,2017,24(04):728—735.

[11]  邱林润,李蓉蓉. 一种新的基于矩阵秩序数优化的矩阵补全算法研究[J]. 科技通报,2017,33(11):155—157+228.

[12]  段淑玉,陈艳. 基于块匹配运动估计的视频场景切换检测算法[J]. 广西科技大学学报,2018,29(04):92—98.

[13]  孙玉姣,张光斌. 含有脉冲噪声的图像复原研究[J]. 电脑知识与技术,2017,13(29):199—202.

[14]  MOUSSA O,KHLIFA N,ABDALLAH N B. Video despeckling using shearlet tensor-based anisotropic diffusion[J]. Computer Aided Geometric Design,2018,67: 34—46.

[15]  WEN B,RAVISHANKAR S,BRESLER Y. VIDOSAT:high-dimensional sparsifying transform learning for online video denoising[J]. IEEE Transactions on Image Processing,2019,28(4): 1691—1704.

[16]  XIAO J,ZOU W,ZHANG S,et al. Video denoising algorithm based on improved dual-domain filtering and 3D block matching[J]. IET Image Processing,2018,12(12): 2250—2257.

[17]  BUADES A,LISANI J L,MILADINOVI M. Patch-based video denoising with optical flow estimation[J]. IEEE Transactions on Image Processing,2016,25(6): 2573—2586.