APP下载

基于块聚类匹配与PCA的图像去噪方法研究

2022-03-05孟凡云田玉铢

关键词:邻域像素点方差

孟凡云,韩 志,田玉铢,王 帅

(1.青岛理工大学信息与控制工程学院,山东 青岛 266525;2.大连理工大学数学科学学院,辽宁 大连 116024)

0 引言

计算机视觉是人工智能领域的重要研究方向,自动驾驶、目标识别等应用对图像的特征提取十分严格,图像的色彩失真、边缘模糊、噪声等都会对图像的信息提取产生不可预估的影响,严重的甚至可能影响到图像的识别效果,造成图像的误识别,误分类等问题.图像在采集和传输的过程中,由于图像设备或外界因素的影响,获取的图像往往含有一定的噪声污染,因此对图像进行去噪就成了计算机视觉处理领域不可或缺的重要步骤[1].

传统的图像降噪的方法大致可以分为两类,一类是基于图像的空间特征,对像素点与其周围像素点的通过卷积、均值代替等操作实现代替完成的,如高斯滤波[2]、中值滤波[3-4]、均值滤波[5]和双边滤波[2]等,另一种是通过将图像的特征进行数学描述,通过数学变换公式处理图像信息,对应到某个变换域中,然后再进行图像重构,在这一过程中尽可能的消除图像噪声,常见的方法有小波变换(Wavelet transform)、拉普拉斯变换(Laplacian transform)和离散余弦变换(DCT)等[5-7].由于图像结构往往具有局部性的特点,通常可以通过周围邻域像素的特点,一定程度上还原被处理像素,因此将像素和他们的邻域组合为局部块一同处理往往会取得较好的效果.

近年来随着机器学习和深度学习研究的不断深入,很多机器学习和深度学习算法被应用到图像去噪问题中,如LPG-PCA[8-9]、K-SVD字典学习[10-11]以及部分神经网络算法[12]等.LPG-PCA方法利用主成分分析方法处理数据集来实现信噪分离,进而消除噪声;K-SVD字典学习方法则是利用奇异值分解来对筛选的数据集构造自适应字典来实现去噪目的.这些学习算法在带来新的技巧的同时也带来了新的问题,这些学习算法往往需要通过对数据集进行训练,学习获得结果,如何获取数据集就成为了重要问题.针对这一问题,大部分算法会采用类似像素块匹配[13-14]等较为简单的方法,但这种方法对于数据集的提取有一定的弊端,数据的选取只经过了简单的筛选,且窗口固定过于机械,往往会带来边缘处理效果较差、纹理不清晰等问题.

针对这些缺陷,本文设计了一种新型聚类算法对图像的每个像素块进行预先分类,并根据匹配窗口内同类块数量的多少进行匹配窗口缩减或增大,达到自适应确定匹配窗口大小的功能.通过这种方式提高匹配的精确性,兼顾了图像纹理变化以及图像块在匹配窗口中的数量变化.然后在对提取后的数据集进行PCA处理.通过上述方式明显的改善了边缘处理效果差、纹理不清晰等问题,也提高了降噪处理后的图像质量.

本论文共分为四节,第一节为引言,第二节为基于块聚类匹配与PCA的图像降噪算法介绍,对邻域像素块聚类算法、基于主成分分析的图像去噪算法、自适应的像素块匹配算法进行分析,第三节介绍了基于块聚类匹配与PCA的图像去噪算法的流程以及相关实验分析,第四节为结论.

1 基于块聚类匹配与PCA的图像降噪方法

基于块聚类匹配与PCA的图像降噪方法主要采用了邻域块聚类匹配、主成分分析去噪以及自适应匹配窗口处理这三个方法来实现,本节将分别介绍这三部分内容.

1.1 邻域像素块聚类

传统的图像聚类算法是一类非常重要的图像分割工具[15],在图像处理中有着广泛应用.传统的图像聚类算法,如OpenCV内置的K-Means算法,以孤立的像素点的灰度值为聚类单元,得到聚类中心像素点的值,进而产生整个图像的聚类分布图.这种图像聚类方法简单迅速,但仅能机械的反映图像像素点的灰度信息,忽略了以该像素点为中心某区域的局部结构信息,容易受图像的噪声影响,对聚类类别的正确分类造成偏差.图1使用OpenCV内置图像聚类算法,得到了不同噪声水平下cameraman图像的聚类结果,聚类类别为5类.从图1可以看出,对无噪声图像(σ=0,σ为噪声方差)进行聚类,得到的聚类类别较为清晰,当噪声水平较高(σ=10、σ=20)时,聚类类别变得支离破碎,甚至同一整体被分割为不同的类别(如人物整体、天空、海洋等).因此当图像噪声比较大时,使用孤立像素点的聚类方法得到的聚类效果十分不理想.

图1 OpenCV内置图像聚类算法效果图

为克服使用孤立像素点的传统聚类方法造成的聚类类别错误,本文以每个像素点为中心,考虑该像素点与其周围像素点共同构成的邻域块,使用像素点的邻域块代替孤立像素点对图像进行聚类,从而改善图像的聚类效果,提升聚类算法的抗噪性和鲁棒性.

这种新的块聚类算法的具体执行方式如下:

假设目标图像nI具有M×N个像素点,为防止处理之后边缘特征消失,使用对称填充方式填补图像的边缘.以图像每个像素点为中心,R为半径,令L=M×N,P=R2+1,将图像矩阵拆解为L×P格式的行向量样本矩阵(这里默认样本矩阵以行向量进行处理),也就是,将图像每个像素点对应的邻域块构成的集合描述为P维空间中的L个样本点.在P维空间中对L个样本点进行K-Means聚类处理,假设图像聚类类别数量为C.图2给出了鹦鹉、Cameraman和Lena的原始图像和聚类图像.在这里,我们对3幅原始图片添加方差σ=10的高斯噪声,并根据使用聚类算法将其分割为五类作为展示,如图2,不同颜色代表不同的类别.从图2可以看出鹦鹉的眼部细节、Cameraman和Lena的边缘聚类分割的效果很好,图像整体轮廓清晰,图像中许多复杂细节均得到很好的保留.在噪声方差σ=10的情况下,对Cameraman图像,从图1和图2对比可以看出,邻域块聚类算法比孤立像素点聚类算法具有更好的聚类效果.

图2 不同含噪图像的聚类效果图(C=5,σ=10)

邻域像素块聚类算法与传统的孤立像素点聚类算法相比,在同一噪声水平上,它具有更好的抗噪效果,能够很好地保留图像的边界边缘特征.邻域像素块聚类算法避免了传统块匹配算法容易产生的边缘模糊问题,以块样本为主的处理方式,不仅提取了聚类像素块中心点的像素特征,而且也提取了该像素点与周围邻域像素点的共同特征.在聚类时,像素点的局部特征信息和边缘信息等结构特征均能够被考虑进去,从而进行单独划分成类.因此邻域像素块聚类算法在图像的整体统一性和细节整齐度上均具有较好的聚类效果.

1.2 引入主成分分析进行图像去噪

主成分分析是一种常用的数据降维算法,它通过线性变换将原数据投影到重新构建的坐标轴上,获取最大的数据方差,提取数据的主成分,从而实现数据降维的特征提取.由信号方差理论可知,在一幅含噪声图片上,信号主要集中在某几个主成分上且方差较大,而噪声则均匀的分布在每一个成分上且方差较小,根据这一特性,主成分分析方法可以很好的将信号与噪声分离开来,从而达到图像去噪的目的[16-19].

主成分分析算法的主要思想是:将线性空间中的样本在某一方向进行投影,得到该样本在投影方向的分布.这种分布可以从最大可分性入手分析,使得到投影之后样本方差最大,这种方式可以将数据从原空间寻找其样本方差最大的投影方向将其分离,通过对信号的协方差矩阵进行特征值分解从而求得最优的投影方向.

然而在实际中,大多数的图像并非是纯粹的信号集,而是含有噪声的数据集.假设含噪声图像数据集其中X为无噪声的数据集,N为噪声,且X与N不相关.得到含噪数据集的解.

也就是

而不含噪声情况下的数据集的特征值分解结果为:

由(2)和(4)可知,两者的特征向量是相同的.因此可以直接使用含噪数据集的协方差矩阵特征向量来对数据集进行PCA处理映射.

基于主成分分析的去噪算法流程如下:

STEP1:(中心化)对于样本集Ω′=[X1,X2,…,Xl]T中的每一个样本减去该样本集的均值,即得到中心化的样本集

STEP5:(去除噪声)借助线性最小均方误差估计方法对Φ进行噪声分离,即对Φ=[Y1,Y2,…,Yl]的每个样本 Yk计算

其中

1.3 自适应的像素块匹配

借助主成分分析方法,可以有效地将图像中的噪声去除.在主成分分析方法进行图像去噪时,大多数的图像去噪算法构建图像数据集的过程中,往往采用图像块匹配方法,这类方法以去噪图像的样本块为中心,选取适当大小的像素块,在该像素块内设置滑动窗口,滑动获取像素块内所有的子块与中心块组成样本数据集.这种方法简单方便,对于图像纹理较为明显的区域,这种方法往往造成图像边缘纹理失真、模糊,信息损失严重等问题.

针对上述图像块匹配方法的缺陷,本文根据图像的聚类结果,借助邻域像素块聚类算法得到的聚类类别进行像素块匹配.选取以中心块XC为主,大小为R×R的像素块,在其中搜索与中心块属于同一聚类类别的子块,组合成样本数据集.邻域像素块聚类算法将特征相同的像素块聚为一类,因此这种方式处理得到的样本在一定程度上具有相同的特征.图3给出了传统块匹配算法与自适应的聚类块匹配算法匹配模式示意图的对比,在聚类像素块匹配方法中,借助聚类匹配可以将同一特征的像素块送入同一数据集中,由此提高了块匹配的准确度.

图3 传统块匹配与聚类像素块匹配示意图

聚类像素块匹配算法可以提高样本数据集的匹配精确度,在匹配过程中,理论上,选取匹配窗口(即像素块)在较小的范围内比较合适,但在较小的范围内图像的纹理变化往往不是很大,此时如果选取一个较小的窗口,可能会导致某些聚类类别的像素块出现窗口内与其类型相同的块数量稀少,样本数量无法保证,进而影响图像的去噪效果.当匹配窗口在较大的范围时,该范围可以容纳更多数量较少的类,但这样又会反过来影响选取样本的质量.针对上述矛盾,为了在合适的范围选取合适大小的匹配窗口,本文进一步改进像素块匹配算法,通过每次采样匹配窗口内的样本数量,实现自适应的确定匹配窗口的尺寸.这种自适应选取方式既保证了大部分块的选取是在一个较小的范围,又能保证对某些局部相同类别较少的聚类类别在一个较大的匹配窗口选取.

在自适应像素块匹配算法中,首先确定窗口半径上限RH和窗口半径下限RL,计算该匹配窗口内与中心块属于同一聚类类别的块数量m,假设该窗口共包含M个块,使用线性尺寸确定函数来确定窗口的半径R:

当m趋近于M时,即窗口内该种类数量较多时,窗口收缩,趋向于半径下限RL,反之当m趋近于0时,即窗口内该种类数量较少,则窗口倾向于维持较大的半径RH.图4给出了自适应窗口在不同位置下的半径选择示意图,在相同种类较少时,窗口趋向于扩张,反之则窗口倾向于收缩.

图4 自适应窗口尺寸示意图

针对自适应聚类像素块匹配获得的数据集Ω,进一步对数据集Ω进行均方误差筛选,选出满足ek<T+σ2的目标样本块集,其中ek=(Xi-XC)2,σ为当前图像噪声水平的方差,T为选定阈值,由此得到了待处理的PCA样本集Ωk′.

2 算法流程与实验分析

2.1 算法流程

基于上述邻域像素块聚类算法、主成分分析方法和自适应像素块匹配算法的分析,本文提出了基于自适应块聚类匹配的PCA图像降噪算法.图5给出了基于自适应块聚类匹配的PCA图像降噪算法的整个流程.

图5 算法流程图

如图5所示,基于自适应块聚类匹配的PCA图像降噪算法的详细步骤为:

STEP1:(图像聚类)对含噪图像nI进行邻域像素块聚类算法处理,得到该图像的聚类图像eI.

STEP2:(自适应像素块匹配)结合聚类图像eI,对含噪图像nI进行自适应的像素块匹配,通过大小为R的自适应匹配窗口遍历图像,获得匹配数据集Ω′.

STEP3:(PCA实现信噪分离)对于匹配结果数据集Ω′进行PCA域变换处理,将数据集通过中心化、求协方差ΩC、特征值分解等过程,获得数据的协方差矩阵特征向量V,进而获取信噪分离后的数据集Φ.

STEP4:(噪声去除)数据集Φ=ΦX+ΦN,使用线性最小均方误差估计去除噪声,来获得信号集ΦX.

STEP5:(图像重构)对于信号集ΦX,将其重映射回到原像空间,得到去噪后的像素块,进而得到去噪后的图像dI.

2.2 实验结果分析

我们将从3个方面对实验结果进行分析比较:1)不同图像在不同噪声情况下的峰值信噪比(PSNR)和结构相似度(SSIM);2)自适应的像素块匹配算法与非自适应的像素块匹配算法对比;3)本文图像降噪算法和其他典型的图像降噪算法对比.

本文采用Python3.7对基于自适应块聚类匹配的PCA图像降噪算法进行编程实现,对8张尺寸为256*256的灰度图像进行测试分析.

本次实验算法涉及的实验参数选择如表1.

表1 参数选定

(1)峰值信噪比与结构相似度的实验结果

峰值信噪比和结构相似度是常用的用来衡量两幅图像相似程度的指标,前者注重于每个像素点位置的对应相似性,后者则看重结构、亮度、对比度等层次的相似性,常常用来作为判别信号相似度的手段.

对8张图像进行自适应块聚类PCA图像去噪处理,得到它们在噪声方差分别为5、10、20、40的情况下的降噪结果,表2是去噪图像的PSNR,表3是去噪图像的SSIM.

表2 实验结果-PSNR

表3 实验结果-SSIM

从表2和表3可以看出,本文的算法在图像的PSNR和SSIM上具有明显的提升.图6和图7给出了不同噪声之下的降噪图像,从图像中可以看出,本文算法明显的提升了图像的质量,无论是高频的细节部分还是低频的背景区域,去噪效果都较为出色.

图6 去噪效果对比图1

图7 去噪效果对比图2

(2)自适应的像素块匹配算法与非自适应的像素块匹配算法对比

本节对非自适应固定匹配窗口的块聚类PCA去噪算法和自适应的匹配窗口的块聚类PCA去噪算法进行对比,采用PSNR作为依据,来对比不同图片和不同的噪声水平下,两种算法得到的实验结果图片PSNR值的区别如图8所示(深色虚线为自适应结果,浅色实线为非自适应结果,红绿蓝三色对应不同的噪声方差值).由图8可以看出几乎所有的图像结果都是深色虚线在浅色实线上方,相比非自适应算法而言,自适应算法得到的PSNR值大部分都要优于常规固定窗口大小的算法.

图8 自适应非自适应结果对比图

图9给出了噪声方差为20情况下的局部对比效果图.从图9中可以看出,自适应去噪算法的去噪效果相对非自适应要更加良好,且对于较为光滑的低频区域(如Lena的面部、Cameraman和House的天空部分),自适应算法处理后的图片更加光滑.而对于纹理较为复杂的高频区域(如Lena的头饰羽毛、Cameraman的相机部分等),自适应算法的处理效果和非自适应几乎无异.

图9 自适应与非自适应去噪效果局部对比图

(3)与其他图像降噪算法对比

将本文方法与局部像素块匹配PCA算法LPG-PCA[8]、字典训练去噪算法K-SVD[10]、非局部均值去噪算法NL-Mean[20]等传统算法以及两种小波去噪算法CNLM[21-22]、BLS-GSM[23]进行对比.将不同图像在不同噪声下的PSNR进行对比.表4给出了各个算法的PSNR对比结果.从表4可以看出,本文提出的算法在Lena、house和peppers图像上均具有良好的效果.在噪声方差较小时,本文算法处理效果均优于其他算法,甚至高于其他算法,当噪声方差较大时,本文算法的降噪结果相对较弱.本文的图像降噪算法前期会对图像进行聚类,根据聚类结果对图像进行降噪.当图像的噪声较小时,图像的聚类效果更为精确,因而图像降噪效果更好.当图像的噪声较大时,对图像进行聚类会产生一定的误差,进而影响图像的降噪效果.

表4 各算法PSNR对比结果

3 结论

在图像降噪中,传统的局部块匹配算法具有搜索盲目且冗余的问题,本文采用邻域像素块聚类算法来代替传统的像素聚类或局部块匹配算法来实现样本集的获取问题.通过自适应的方法对匹配窗口的大小进行调整,并结合主成分分析方法实现了图像的降噪处理.这种基于邻域像素块聚类算法对图像块进行筛选和数据集的处理,可以有效改善图像边缘处理效果差、纹理不清晰等问题.实验结果也表明,本方法能够显著的提高图像的PSNR和SSIM值.未来我们将考虑采用其他分离筛选算法对数据集进行筛选,针对图像的非线性特征,我们将使用核主成分分析方法对图像进行降噪.

猜你喜欢

邻域像素点方差
混合型数据的邻域条件互信息熵属性约简算法
基于混合变邻域的自动化滴灌轮灌分组算法
含例邻域逻辑的萨奎斯特对应理论
概率与统计(2)——离散型随机变量的期望与方差
基于局部相似性的特征匹配筛选算法
一种X射线图像白点噪声去除算法
基于canvas的前端数据加密
方差生活秀
图像采集过程中基于肤色理论的采集框自动定位
揭秘平均数和方差的变化规律