一种基于运动检测的智能视频序列降噪算法[图]

星座9个月前发布 ooozhi
21 0 0

 摘要:提出了基于运动检测的视频图像自适应滤波降噪算法,该算法能够智能地区分图像的静止部分和运动部分,并针对性地使用不同的滤波算法。实验结果表明,由于本算法充分利用了视频的空域、时域信息,能够显著提高图像的信噪比和图像的主观质量,比单纯的空域或时域滤波取得更好的效果。

引 言

目前图像去噪的方法大致分为空域滤波和时域滤波两类。

空域滤波有中值滤波、基于小波变换的滤波、系数自适应滤波等经典滤波方法,都取得较好的图像处理效果,但在视频应用中,由于空域滤波没有充分利用时域的信息,不能取得最佳效果。时域滤波由于考虑了帧间图像的相关性,具有更好的效果,但是此类方法只适用于静止目标,对运动目标会产生伪影等时域模糊现象。对于微位移目标,该方法会引起目标边缘的虚像甚至伪像;对于大运动目标,可能导致目标图像不可识别。在后两种情况下,图像的信噪比会降低。

本文提出一种基于运动检测的智能时域、空域视频滤波降噪算法,该方法能够有效地区分每帧图像的运动区域和静止区域,并对每帧运动区域和静止区域的像素采用不同的滤波策略,每一策略又进一步根据当前像素的局部特性自适应地进行处理。实验结果表明,由于该方法结合了运动检测算法、时域自适应算法、空域自适应算法,所以能够使图像去噪的效果达到单个算法所不能达到的效果。

1 基于运动检测的自适应滤波算法

1.1算法原理

整个算法的流程如图1所示。由于时域均值滤波能对视频序列的静止区域产生更好的结果,算法应尽可能使用时域均值滤波。为此,算法降低了对静止区域的判决标准:除了前后帧没有差别的区域被认为是静止区域之外,那些只有前面少量帧检测到运动的位置依然被认为是静止区域(这种情况的例子很多,如静止背景中有快速运动物体划过、静止不动的物体偶尔地运动等)。对于运动区域,为了避免伪影等时域模糊现象,算法只使用空间处理。其中阈值Tt用于判断在时域上两个像素之间的差别是由运动造成的还是由噪声造成的;阈值Ts用来判断空域上两个像素间的差别是由噪声造成的还是由图像边缘或纹理等空间细节造成的,这两个阈值与噪声的方差成正比。

1.2运动区域检测算法

运动区域检测在本算法中居于核心地位,决定整个算法的性能。为了降低噪声对检测准确性的干扰,本算法先将输入帧划分为小块,计算小块的均值来判断前后帧是否有运动出现,这实际t是先进行空间滤波后进行判断,而区域的运动性质判断则以子块为单位。

将当前帧划分成4×4大小的子快,首先计算块内的平均值,然后进行比较,若两子块差值小于阈值Tt,则将计数Count(记为c)加1。如果c大于80%,也就是说,当前帧的前L帧中绝大多数(大于80%)的当前位置处没有运动,则为静止区域,可以进行时域均值滤波,否则判断为运动区域。为进一步保证检测的准确性,本算法还加入对检测结果的空间约束,亦即若某一子块被发现是运动子块,那么它的所有相邻子块都被判定是运动子块。

上述运动检测(输入当前帧的当前子块B(i,j,k)时)的步骤如下:

a)完成初始设置,置C=0。

b)若当前子块的标记M(i,j)已被标记为运动或静止,则不作处理,直接转步骤^。

c)计算子块的平均值S(i,j,k),即

d)比较。s与第k一l帧对应子块平均值。s(i,j,k一l),若差值小于阈值T1时,转步骤e,否则转步骤f。其中,阈值T1=(1.3σv)2。

e)C=C+1。

f)若全部帧已经比较完毕,转步骤g,否则l=l+l,转步骤d。

g)若C/L>80%,置当前子块的标记M(j,j)为静止块,否则为运动块,并置当前块的所有相邻块为运动块。

h)当前子块的检测结束。

1.3时域自适应滤波算法

如前所述,对于静止区域的像素,简单的时域均值滤波能得到原始信号的最优估计,因而本算法中采用下式所示的自适应时域滤波器:

1.4空域自适应滤波算法

空域滤波比时域滤波复杂得多,这是因为视频图像的每一帧都包含丰富的空间信息,几乎不可能出现静止区域像素在时域上组成一个常数信号的情况。在使用空间滤波器滤除噪声时,容易对每帧的细节产生明显的模糊,降低视频图像的视觉质量。因而,空域的滤波要求更高的灵活性,在降噪的同时要尽可能保留图像中的边缘、纹理等细节信息。

本算法采用的空域自适应滤波的原理如下式:

式中:S1j为空间滤波器的范围;T=(1.8σv)2。

由式(2)和式(3)可见,本算法的空域自适应滤波为避免毁坏图像各帧中的边缘、纹理等细节,当前像素的滤波值只由滤波器范围内彼此相近的像素决定,当某像素与当前像素差别较大时,其权值很小,因而对当前点的滤波值的影响也很小。同时,与当前像素空间位置越接近的点对当前像素的滤波值影响越大,这进一步减轻了空间滤波过程对图像的空间细节的毁坏。

2 实验结果分析

本文只对加了高斯噪声的“Foreman”测试序列进行了处理。处理结果如图2所示。

3种滤波器进行处理后的图像的信噪比见表1。

经过分析可以发现,使用空域滤波器得到的效果最差,时域滤波器得到的效果比较好,但是在图像运动部分效果一般。用本文提出的基于运动检测的算法处理时,得到的效果最好,其信噪比有很大的提高,同时,主观上可以看出明显的区别。

3 结束语

本文提出的算法结合了时域、空域视频滤波降噪算法,能够充分发挥两者的优点,同时能够避免使用单个算法的缺点,所以得到了最佳的效果,试验结果也证明了这一点。 一种基于运动检测的智能视频序列降噪算法[图]

© 版权声明

相关文章