一种改进的BM3D 绝缘子图像去噪算法
2021-08-24李俊杰张晓龙张峻豪
李俊杰,张晓龙,王 聪,张峻豪
(昆明理工大学机电工程学院,云南昆明 650500)
0 引言
随着我国经济的快速发展,我国电力系统也发展迅速,无论是民用还是工业用电量都大幅增加。绝缘子作为电力传输线路的重要组成部分之一,主要用于高压线的绝缘和机械固定[1-4]。由于用电量增加导致电路负载增大,或因环境因素如风蚀、雷击、冰雹等,输电线路上的绝缘子时常受到损坏,给电力线路检修带来困难,同时造成经济损失。为使电力系统更加稳定地运行,减少输电线路故障带来的停电问题,国家致力于提升电力系统的自动化水平。随着输电线路巡检机器人与无人机巡检技术的发展,绝缘子目标检测是上述技术发展的一个重点,都需要对绝缘子图像进行检测与识别。目前对绝缘子图像目标检测大多基于深度学习的方法,一般的步骤是首先对拍摄到的图片进行图像去噪、图像锐化、边缘检测等,提取图像低层次特征[5-7],然后用边缘检测算法提取图像边缘信息,最后训练神经网络对图像进行分类与目标定位。
绝缘子图像一般由输电线路作业机器人自带摄像头拍摄或利用无人机进行拍摄,因高空和户外环境及电磁场等因素影响,一般获得的图片比较模糊时常带有噪点即图像噪声。图像噪声的存在会影响图像质量,图像的准确性、直观性也会随之下降,对于绝缘子的目标检测有着负面影响,所以图像去噪是绝缘子目标检测中十分重要的一步,去噪效果直接影响着目标检测效果[8-9]。图像去噪的主要目的是去除图像中存在的噪声,且能最大限度地保存图像特征信息。图像去噪得到的高质量图片可使后续图像处理工作具有更高的起点,所以对绝缘子图像的去噪是十分必要的。
图像去噪有很多方法,有基于统计学、偏微分方程、线性以及非线性的滤波和波普,还有多尺度分析模型[10]。Tukey 提出的中值滤波通过平滑邻域均值进行去噪等,是一种比较简单的方法。虽然该方法能够去噪,但是存在边缘失真问题,容易造成图像模糊,导致绝缘子识别精度下降[11]。小波阈值去噪也是图像去噪的一种常用方法,首先对待处理图像进行小波变换,变换后图像和噪声就有了不同特性。图像噪声主要存在于高频子带上,然后使用软硬阈值去噪,因其具有多尺度多分辨分析以及时频局部化的优点,比传统去噪方法效果更佳[12]。但在噪声多的图片中,小波变化会给图像分辨率造成损失,从而使图像细节模糊。Dabov 提出的三维块匹配协同滤波方法(BM3D)对图像去噪有着很好的效果,但是BM3D 算法去噪效率较低、耗费时间长,且对高强度噪声效果不太明显[13]。为了解决BM3D 算法存在的问题,本文提出基于SFCM 聚类的改进BM3D 算法用于绝缘子图像去噪,以提升算法效率、减少运行时间,并获得更清晰的绝缘子图像。最后通过实验验证了该算法的有效性,为绝缘子图像去噪提供了一种新的可借鉴方法。
1 BM3D 去噪算法
1.1 算法原理
BM3D 算法降噪过程如下:首先将待处理图像分成若干块,将相似度较高的二维块糅合成一个三维堆;然后对该三维堆作变换,在变换域中可得到本征信号和分离出来的噪声;最后在该变换域中作阈值截断或者滤波。使用这一系列方法对三维堆进行处理后,再将上述变换作逆变换,将处理后的结果返回原始图像,即得到降噪后的图像[14-17]。其算法流程如图1 所示。
Fig.1 BM3D algorithm flow图1 BM3D 算法流程
1.2 算法实现
BM3D 去噪主要分为两步:第一步是将图片分成许多小块,然后搜索整个图片中相似的小块,将这些小块构建成三维堆,对其进行3D 变换。之后使用阈值进行截断,初步去除信号噪声,此时的三维堆还需进行逆变换才能得到基本图形。第二步操作与第一步类似,只是不需要第一步的阈值,而是用维纳滤波函数进行滤波。
2 基于SFCM 聚类的BM3D 算法
虽然BM3D 算法对图像的去噪效果很好,但由于该算法在分块和匹配时要对整个图片进行全局搜索找到相似的块,效率非常低。且绝缘子图像有时会带有一定强度的噪声,使用该算法得到相似块的相似程度无法保证,从而影响绝缘子图像去噪效果。因此,本文提出基于SFCM 聚类的BM3D 算法对绝缘子图像噪声进行聚类,先把图像分为一些同质的区域,块匹配过程就在这些同质区域内进行,从而缩小块匹配时的搜索范围,在加快匹配效率的同时也能提高匹配准确率[18]。
2.1 FCM 算法原理
聚类分析方法是将图像像素点作为样本,然后按某种方法将其划分成一些类,相似样本存在于同一类中,不在同一类则认为不相似。FCM 是一种基于划分的聚类算法,不同类的样本相似度很低。设一个样本集X={x1,x2,…xN}可以划分成C 个样本簇,每个样本簇都会有对应的质心,使得不相似指标的目标函数可以取最小值,具体如式(1)所示。
式中,vi表示第i个样本质心,uij表示目前样本xj对vi的隶属度,m表示隶属度因子,表示当前xj与vi的欧式距离。这里的质心代表样本簇的平均特征,可用该点代表当前样本簇。
2.2 SFCM 算法原理
空间模糊C 均值算法(SFCM)与FCM 算法相似,目标函数如式(2)所示。
与FCM 算法相似,SFCM 目标函数也要进行多次迭代才能求得最小值。
空间域中图像邻近像素点之间的相关性很高,所以相邻像素点之间隶属度相同。这些相邻像素点划分为同一样本簇,第j个像素点空间中的隶属度函数如下:
式中,Nj表示空间集合,即目前像素点与邻近像素点的集合。Nk表示集合样本个数,uik表示空间全部样本的隶属度。把式(3)代入式(2)得到更新后的隶属度:
由式(4)可知,p、q 直接影响着隶属度,对于噪声图像的像素点,其所属样本簇一定不会与附近图像的像素点属于同一样本簇。所以需要减少噪声图像的像素点所属样本簇权重,才能使因噪声干扰而被错误归类的图像像素点聚类到正确的样本簇中,从而提高降噪性能[19-20]。基于SFCM 聚类的BM3D 算法流程如图2 所示。
Fig.2 BM3D algorithm flow based on SFCM clustering图2 基于SFCM 聚类的BM3D 算法流程
3 实验结果与分析
为测试基于SFCM 的BM3D 图像去噪算法的有效性,对绝缘子图像采用两种算法进行对比实验。实验选用的绝缘子图像来自百度AI Studio 开放数据集,该数据集包含6 000 张绝缘子图像,选取一张清晰的绝缘子图像。实验采用的操作系统为Windows10 64、双核CPU,算法基于MAT⁃LAB 实现。为对比几种算法对绝缘子图像的处理效果,本文以峰值信噪比(PSNR)作为评判的客观标准,算法效率用算法运行时间来衡量。
SFCM 算法需要设置3 个参数,分别是样本簇数量C、隶属度p 和q,这3 个参数的选取直接影响着算法效果。经过测试,最终选取聚类数为6,p、q 均为1,随机确定初始质心。图3 是绝缘子在添加不同强度噪声下的去噪结果对比,第一列为添加不同方差噪声的图像,第二列为BM3D 算法去噪结果,第三列为SFCM 算法去噪结果。因为绝缘子图像一般不会有过高强度的高斯噪声,因此选择给图像添加均值为0,方差分别为0.01、0.02、0.03、0.04 的噪声作为对比。
表1 是绝缘子图像分别添加方差σ2为0.01、0.02、0.03、0.04 的噪声时,使用BM3D 算法与基于SFCM 改进的BM3D算法去噪得到的峰值信噪比(PSNR)及所用时间。为了确保准确性、避免误差,所消耗的时间主要是对绝缘子图像重复去噪30 次并取平均值。
Table 1 Comparison of two denoising methods表1 两种去噪方法结果对比
由上述实验结果可知,无论是主观评价的降噪效果,还是客观评价的峰值信噪比,SFCM 都比传统BM3D 算法的效果更好,且效率更高。改进算法得到的PSNR 提高了0.51~1.59dB,平均提高1.002 5dB,同时也可减少识别所消耗的时间,减少时间为1.96~3.84s,平均减少了2.6s。
4 结语
绝缘子图像噪声是影响图像质量的重要因素之一,绝缘子图像去噪在输电线路障碍检测研究中是不可或缺的。本文针对传统BM3D 算法去噪消耗时间过长且去噪效果不佳的问题,提出基于SFCM 改进的BM3D 算法对绝缘子图像进行去噪。基于同质区像素点相似特性,利用SFCM 聚类方法能有效提高搜索效率、提高块匹配效果,并添加不同强度的噪声进行对比实验。研究结果表明,基于SFCM改进的BM3D 去噪算法有着较好效果,能有效提高PSNR,同时也能加快去噪速度、减少消耗时间。该方法对基于图像的输电线路障碍检测研究具有一定意义,同时也提供了一种用于图像降噪的新方法。
虽然本文算法在一般情况下有着较好的去噪效果,但是未对高强度噪声(σ≥40)情况下的绝缘子图像进行研究。在采集绝缘子图像时有可能获取到带有高强度噪声的图像,因此后续工作主要需要对高强度噪声进行处理。