APP下载

一种基于FPGA应用于红外图像的去噪方法

2021-11-28邹瑜

今日自动化 2021年8期

邹瑜

[摘    要]视频图像应用规模越来越大,噪声的存在会影响用户的视觉感官,图像去噪成为图像处理不可或缺的环节。国内外对图像去噪的研究能够应用大多数的场景。针对红外图像应用场景,采用去噪效果好、实时性好、资源占用较少的,能在FPGA运行的去噪算法显得尤为重要。主要介绍一种应用在红外图像的去噪方法。该方法基于常规经典算法,结合行业实际应用,对去噪处理后的图像进行合理锐化,从而达到行业实际应用需求。

[关键词]FPGA;图像去噪;红外图像

[中图分类号]TP391.41 [文献标志码]A [文章编号]2095–6487(2021)08–0–02

[Abstract]With the increasing scale of video image application, the existence of noise will affect the user's visual sense. Image denoising has become an indispensable part of image processing. The research on image denoising at home and abroad can be applied to most scenes. For infrared image application scenarios, it is particularly important to use the denoising algorithm which can run in FPGA with good denoising effect, good real-time performance and less resource occupation. This paper mainly introduces a method of infrared image denoising. This method is based on the conventional classical algorithm, combined with the practical application of the industry, to sharpen the denoised image reasonably, so as to meet the practical application needs of the industry.

[Keywords]FPGA; image denoising; infrared image

隨着计算机互联网的发展,视频图像的应用规模越来越大。图像从产生传输到经过处理,都伴随着一定的噪声。噪声的存在会使图像质量变差。被噪声严重污染的图片会淹没图片本身存在的特征或者信息,进而使图像失去保存意义。因而图像去噪成为图像处理必不可缺的环节[1]。

图像研究已形成一套完整的体系。有国外专家针对图像发展的历史,综合整理了图像去噪的发展过程,并介绍了目前各种图像去噪方法[2-3]。目前前沿研究主要集中在深度学习方法。除传统滤波算法外,大部分都无法在FPGA上实时实现。部分去噪保边效果较好的,如BM3D,NML等算法,经过优化后,虽可以在FPGA上实现,但是占用FPGA大量的资源,功耗过大[4]。在实时进行数据传输时,采用复杂的算法,往往会耗费大量的资源。选择合理的算法,在图像保边去噪和实时性方面,选出最优,满足工程需要的算法显得尤为重要。

红外成像系统目前应用越来越广泛。目前已经深入到军事、电力、石油、铁路、林业、农业、雨夜、日常监控等各方面。与可见光图像相比,红外图像易受探测器器件、探测环境、光电转换、环境温度等方面。且成像质量较差。这些因素会带来大量的噪声,影响图像有效信息提取[5]。

常见的低通滤波,高斯滤波、均值滤波、中值滤波、小波变换等算法,简单实用,易在FPGA开发实现,在一些领域应用取得不错的效果。本文结合行业应用,设计出一种易于在FPGA实现,去噪效果良好的红外去噪算法。

1 工程常见去噪方法

1.1 常规时域滤波

在实际应用中,均值滤波、中值滤波、高斯滤波具备良好的滤波效果,在一些特殊的应用方面,能取得良好的效果。

(1)均值滤波。均值滤波是将目标像素点上周围的像素一起进行累加平均,得到新的像素点来代替原来的目标像素点的一种方法。

均值滤波能够良好地滤除高频噪声,属低通滤波类型。但它本身具有固有缺陷,无法保护图像细节。在滤除噪声时也会使图像细节模糊。

(2)中值滤波。中值滤波是将目标像素点上周围的像素一起进行排序,选择数值在中间的像素点值来代替原来的目标像素点的一种方法。该构造一个3×3、5×5、7×7等大小的模板。将模板里(含目标像素点)的数值进行大小排序,一般模板数尽量选择奇数。若是偶数,则将中间的两个数值进行平均,得到最终中间值。二维模板也可以选择十字型,线性等,用的较多的还是方形模板。

工程中会有多个设备供电,某些供电设备电压不稳定等因素,会给图像带来较大的噪声干扰。有很多专家学者针对中值滤波开展诸多研究。中值滤波能够良好地滤除噪声。并且还具有一定的边缘细节保护作用,算法易于在硬件实现。因此该方法在图像处理领域有广泛的应用。

(3)高斯滤波。高斯滤波是将目标像素点上周围的像素一起进行加权平均,得到新的像素点来代替原来的目标像素点的一种方法。该加权值由卷积模板来构成,权值由标准的高斯表达式来产生。

将目标像素点周围的窗口数据与模块权值做卷积处理,得到加权平均值,用该值替换目标像素点的数值。图像中大多数噪声属于高斯噪声。采用高斯滤波能够很好地滤除高斯噪声。因而在图像去噪方法中,高斯滤波应用广泛。

1.2 保边去噪

保边去噪是为了解决压噪和保边之间的矛盾,在求平均值平滑滤波方法的基础上做部分改动。保边去噪目标是寻找输入数据中每个样点附近最相似的区块,求得该区块的平均值,再用这个平均值代替该样点的原始值。目前常用的保边去噪算法有双边滤波和导向滤波。

(1)双边滤波。双边滤波(Bilateral filter)是结合图像的空间邻近度和像素值相似度的一种折中处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的。具有简单、非迭代、局部的特点。双边滤波器的好处是可以做边缘保存(edge preserving),一般过去用的维纳滤波或者高斯滤波去降噪,都会较明显地模糊边缘,对于高频细节的保护效果并不明显。

双边滤波器比高斯滤波多了一个高斯方差sigma_d,它是基于空间分布的高斯滤波函数,所以在边缘附近,离的较远的像素不会太多影响到边缘上的像素值,这样就保证了边缘附近像素值的保存。

(2)导向滤波[6-7]。2010年何凯明等在ECCV发表了《Guided Image Filtering》文章。该方法与双边滤波一样是一种保边去噪的方法。2013年发表改进的快速导向滤波算法实现方法。该模型认为目标点在附近的一区域范围内是成线性关系。只需计算所有包含该点的线性函数的值并做平均即可。该模型采用两张图进行对比,两张图可以选择一样的,也可以選择不一样。这种方法,在表示非解析函数上,非常有用。相对于双边滤波,导向滤波不会出现图像翻转的现象。具有很好地应用价值

1.3 BM3D滤波

BM3D(Block-matching and 3D filtering)通过相似判定找到与参考块相近的二维图像块,并将相似块按照组合成三维数组,对三维数组进行协同滤波处理,再将处理结果聚合到原图像块的位置。该方法去噪效果明显。对于便携式手持设备或者无人机设备载荷,采用FPGA实现BM3D,占用的资源非常的多,功耗非常大,不适合行业应用。

2 易于FPGA工程实现的滤波方法

本文法基于局部均方差思路,结合图像锐化方法,实现图像的保边去噪。该方法简单,去噪效果良好,适合在FPGA平台运行。

一幅M×N的灰度图像的灰度图像,x(i,j)为模板中心的灰度值,那么在(2×n+1)×(2×n+1)的窗口求出局部均值mij,和局部均方差vij。设置一个阈值表达式(sigma值由用户输入),用来调节滤波效果。滤波后的结果为。

当局部方差比较大时,说明该区域处于边缘。当局部方差小时,说明该区域属于平坦区。方差越小,得到阈值α越小。那么权值大的是均值滤波。当方差大时,选择原有图像,尽量保留现有边缘。因为方法使用均值,一定程度上,会导致边界的模糊。本文针对边界模糊,使用sobel再次找出边缘部分,对边缘部分进行锐化加强,并根据sobel计算出来的梯度图像,设置阈值,选取边缘明显的图像数据,与去噪后的图像进行加权,从而得到最终的图像。该方法不但能去除噪声,也能进一步提升图像细节。

该方法步骤可归纳如下:

(1)通过局部均方差的方法,对原始图像进行去噪处理,得到去噪后的图像。

(2)对去噪后的图像进行sobel计算,得到梯度图像。

(3)对梯度图像设置阈值,将大于阈值的数据保留,将小于阈值的数值置零,得到处理后的梯度图像。

(4)将去噪后的图像与处理后的梯度图像叠加,得到最终的图像。

3 算法仿真

根据行业应用,对算法进行仿真测试,测试效果如下。

从图1、图2中,可以看到图像存在噪声。经过处理后,噪声得到去除。头像边缘部分也没有丢失细节。

增加了高斯滤波方法,进行对比测试:

从图3~图5看出,高斯噪声会损失一些细节。该方法简单,易于FPGA实现,可以应用到实际工程中。

4 结束语

本文提出一种能够在FPGA实现的保边去噪算法。对现有的算法进行了修改,能够滤除噪声的同时,保持良好的图像细节。具有极强的工程应用价值。

参考文献

[1] 蔡明晧.基于FPGA的图像去噪处理及硬件实现[D].青岛:青岛大学,2019.

[2] Bhawna Goyal,Ayush Dogra,Sunil Agrawal,et al.Image denoising review: From classical to state-of-the-art approaches[J].Information Fusion,2020,55(3):220-244.

[3] Shuhang Gu,Radu Timofte.A brief review of image denoising algorithms and beyond[J].Inpainting and Denoising Challenges,2019(10):1-21.

[4] 刘存.基于FPGA的图像去噪算法研究及实现[D].北京:北京交通大学,2015.

[5] 柳鑫.红外图像去噪算法研究[D].西安:西安电子科技大学,2019.

[6] Kaiming He,Jian Sun,Xiaoou Tang.Guided Image Filtering[M].ECCV,2010.

[7] Kaiming He,Jian Sun, Xiaoou Tang,Guided Image Filtering[M].TPAMI 2013.