传统地震去噪算法实战(二)——构造导向滤波去噪
上一节课给各位同学介绍了传统信号最常用的算法——中值滤波算法。这个算法以优异的去噪性能和对信号本身较小的破坏,成为图片、视频等处理的首选。
不过在地震信号处理领域,处理噪声和提高分辨率性能更好的选择是另外一种算法——构造导向滤波算法。
01 什么是构造导向滤波
构造导向滤波采用 “各向异性扩散”平滑算法,即平滑操作只对平行于地震同相轴的信息进行,而对垂直于地震同相轴方向的信息不作任何平滑。如果发现地震同相轴横向不连续,将不作平滑,即此平滑操作不是超出地震反射终止(断层及岩性边界)的操作,因此这种滤波方法能保护断层和岩性边界信息。由图可见,经构造导向滤波处理后使原始地震数据中的断续反射(珍珠串反射)变得稳定,成为连续的、可追踪的同相轴,但在断层处反射终止形式被保留。
02 一个实战案例
我们继续延续以前案例的数据。
测试数据使用64*64的一个仿真地震数据,如图所示。
加上了15%的随机噪声,就变成了图中这模样。
可以看出,噪声对有效信号影响是比较大的,特别在信号边缘,出现了很大的干扰。接下来,我们就来看看怎样使用构造导向滤波来降噪。
接下来就是构造导向滤波的主函数:
这个函数比较复杂,具体的推导公式都是热学上的,感兴趣的可以去看原论文。这里简单介绍一下用到的公式。主要迭代方程如下:
I是信号,因为是个迭代公式,所以有迭代次数t。四个散度公式是在四个方向上对当前像素求偏导,news就是东南西北四个方向,公式如下:
而cN/cS/cE/cW则代表四个方向上的导热系数,边界的导热系数都是小的。公式如下:
最后整个公式需要先前设置的参数主要有三个,迭代次数t,根据情况设置;导热系数相关的k,取值越大越平滑,越不易保留边缘;lambda同样也是取值越大越平滑。
公式理解起来比较困难,大家主要理解怎样用就可以了。
根据实际的使用经验,这个函数主要关注的参数有这么几个:
一是迭代次数。一般来说不超过10次,迭代次数太多,很多细节都被过滤了。
二是kappa参数。对于图像来说,最大值255,一般选择50左右。所以对于地震图像首先要进行归一化,然后根据数值范围设置参数。
三是option参数。如果对于信号边缘要求比较高,建议选2。
最后看看处理的效果:
可以看到去除的噪声比较多,边缘也能够保证,相比中值滤波的效果要好。
以上就是今天的课程。这节课我们介绍了一种在传统的滤波算法中效果较好的一种方案——构造导向滤波。如果大家对程序感兴趣,可以联系我交流。今天的课程就到这里,再见。