一种基于蚁群跟踪算法的地震波图像断层识别方法与流程

文档序号:19787923发布日期:2020-01-24 13:50阅读:359来源:国知局
一种基于蚁群跟踪算法的地震波图像断层识别方法与流程

本发明属于图像识别领域,具体涉及一种基于蚁群跟踪算法的地震波图像断层识别方法。



背景技术:

在地震资料中,断层主要表现为反射层位的位移或者中断,横向上振幅不连续,在断层的两侧,反射振幅存在着明显的差异,这些特征在地震波图像上可以被肉眼识别。因此,对于断层系统的分析和解释,常规的方法是沿着主地层线方向,或者选择与断层走向垂直的测线方向逐线的拾取断层。通常解释人员利用时间切片或者沿层切片来控制断层的空间延伸和对比,由于地层产状的起伏变化,同一时间的振幅切片上可能会包含不同层位的信息,使用沿层切片是一种改进的方法。但是使用沿层切片来控制断层的空间延伸首先要受到层位解释的人为因素所影响,而且在地震资料质量较差的情况下可信度比较低。因此,常规断层解释分析方法存在周期长,主观性强等不足,而且在断层系统比较复杂时,常规的解释方法可信度低,解释能力局限。



技术实现要素:

本发明的目的在于提供一种基于蚁群跟踪算法的地震波图像断层识别方法,用以解决现有技术中的对于复杂断层系统分析识别时可信度低的问题。

为了实现上述任务,本发明采用以下技术方案,包括:

步骤1:获取待识别地震波图像,对待识别地震波图像进行预处理,得到效果增强图像;

步骤2:对步骤1得到的效果增强图像进行断点提取,获得多个断点,判断步骤1的待识别地震波图像的断层上下盘的相对位置,若断层上下盘的相对位置不变,则执行步骤3;若断层上下盘的相对位置改变,则执行步骤4;

步骤3:对步骤2得到的多个断点进行霍夫变换,得到待识别地震波图像的断层线;

步骤4:首先对步骤2得到的多个断点进行霍夫变换,得到待识别地震波图像的断层线范围,然后根据断层线范围对图像的分水岭进行裁剪,最后根据剪裁后的图像利用蚁群跟踪算法对断层线进行拟合,得到得到待识别地震波图像的断层线。

进一步的,步骤1的预处理为通过各向异性扩散滤波对输入的地震波图像进行增强,所述各向异性扩散滤波的表达式为:

其中,u(x,y,t)表示t时刻扩散滤波后的图像,u0(x,y)为初始图像,c为扩散程度的主控因子,表示图像的梯度,是扩散系数。

进一步的,所述断点提取包括如下子步骤:

步骤a:对步骤1得到的效果增强图像进行二值化处理,然后提取地层线信息,得到包含地层线信息的二值图像;

步骤b:对包含地层线信息的二值图像进行细化处理、加粗处理和过滤处理,得到包含伪断点和断点的二值图像;

步骤c:对步骤b得到的图像进行进行伪断点去除,获得多个断点。

进一步的,所述霍夫变换的短线阈值为40,所述霍夫变换的合并间隔阈值为70。

进一步的,步骤4包括如下子步骤:

步骤4.1:对步骤2得到的多个断点进行霍夫变换,得到待识别地震波图像的断层线范围,所述断层线范围表示经过霍夫变换后到初始断层线两端点的距离小于15的点的集合,令断层线范围等于蚁群跟踪算法的识别范围;

步骤4.2:根据断层线范围对图像的分水岭进行裁剪;

步骤4.3:根据剪裁后的图像利用蚁群跟踪算法对断层线进行拟合,得到得到待识别地震波图像的断层线。

本发明与现有技术相比具有以下技术特点:

(1)本方法在仅仅使用地震波图像的情况下,不需要对地震波数据进行相干性分析等大数据量的复杂操作,可以实现较为准确且具有较大参考价值的断层线检测。

(2)本方法能依据断层的形态学特征对地震波图像进行形态学操作即可得到断点。

(3)本方法能通过改进的蚁群算法拟合出地震波图像中的断层位置。

附图说明

图1为本发明的流程图;

图2为实施例中清晰的待识别地震波图像;

图3为实施例中进行各向异性扩散滤波后效果图;

图4为实施例中地层细化图;

图5为实施例中异或并滤波后获得的断点位置图;

图6为实施例中清晰图像对断点进行霍夫变换后识别断层线位置图;

图7(a)为实施例中不清晰的待识别地震波图像;

图7(b)为实施例中断层线范围示意图;

图7(c)为实施例中蚁群跟踪算法的蚂蚁前进路径示意图;

图8为实施例中蚁群跟踪算法得到的识别断层线位置图。

具体实施方式

实施例1

在本实施例中公开了一种基于蚁群跟踪算法的地震波图像断层识别方法,包括如下步骤:

步骤1:获取待识别地震波图像,对待识别地震波图像进行预处理,得到效果增强图像;

步骤2:对步骤1得到的效果增强图像进行断点提取,获得多个断点,判断步骤1的待识别地震波图像的断层上下盘的相对位置,若断层上下盘的相对位置不变,则执行步骤3;若断层上下盘的相对位置改变,则执行步骤4;

步骤3:对步骤2得到的多个断点进行霍夫变换,得到待识别地震波图像的断层线;

步骤4:首先对步骤2得到的多个断点进行霍夫变换,得到待识别地震波图像的断层线范围,然后根据断层线范围对图像的分水岭进行裁剪,最后根据剪裁后的图像利用蚁群跟踪算法对断层线进行拟合,得到得到待识别地震波图像的断层线。

由于杂波的存在使得通常我们所获得的地震波图像在清晰度上往往不能满足清晰易识别,所以图像的增强便显得尤为重要。所以我们通过matlab软件平台使用各向异性扩散滤波对输入的地震波图像进行增强,各项异性扩散滤波算法是基于物理学中热传导的方法而提出的一种空间域中的图像增强算法,主要是通过选择性平滑对图像进行平滑处理;这种平滑在均匀区域不受限制,只在跨越边缘时受到抑制,从而有选择性的降低了噪声和一些次要细节的干扰。

具体的,步骤1的预处理为通过各向异性扩散滤波对输入的地震波图像进行增强,所述各向异性扩散滤波的表达式为:

其中,u(x,y,t)表示t时刻扩散滤波后的图像,u0(x,y)为初始图像,这是偏微分方程领域内比较经典的初值问题,在不同时刻t可以获得此时刻下扩散滤波后的图像,c为扩散程度的主控因子,表示图像的梯度它是一个图像空间内的梯度矢量,表示为通常认为,梯度是反应图像特征的物理量,是扩散系数。是梯度幅值的减函数,即梯度越大的地方,扩散系数越小;在梯度小的地方,扩散系数越大,这样便形成了方向性的自适应扩散,即图像局部梯度有关的滤波函数。基于此原理运用于图像特征方向的内在坐标系,使得扩散机制变得十分直观,并具有以下特征:

(1)平滑量的控制在图像特征多的区域平滑量应该尽可能的小甚至不平滑;在图像特征少的区域或没有图像特征的区域平滑量要大;

(2)平滑方向的控制沿图像特征方向的扩散量大,穿越图像特征的扩散量小甚至不平滑。通过使用各项异性扩散滤波对图像起平滑作用,同时其在平滑图像时是保留图像边缘的,和双边滤波很像,从而克服了高斯模糊的缺陷。通过使用这种滤波方式使得原始图像处理得更利于识别,突出了断层信息。

进一步的,所述断点提取包括如下子步骤:

步骤a:对步骤1得到的效果增强图像进行二值化处理,然后提取地层线信息,得到包含地层线信息的二值图像;为了提取出地震波图像中的断点我们需要对其地层大致走向有一定的判断,为提取图像中地层的主要信息,我们需要继续滤除图像中形态以外的多余信息,对于灰度图像来即通过设置阈值使其灰度值变为二值,即使用黑色和白色图像表示灰度图像中的信息。

步骤b:对包含地层线信息的二值图像进行细化处理、加粗处理和过滤处理,得到包含伪断点和断点的二值图像;通过形态学分析可知,断点的位置与其地层的厚度无直接联系,为了得到断点的位置从而保留断层的主要信息所以需要将地层中非位置特征删去。因此对已经二值化后的图像进行地层线细化操作,这样可以将地层的主要存在信息存留下来,滤去不重要的信息,使得地层线的走向更为明显;同时通过细化操作后使得断层的长度被人为地缩短,所以在细化操作保留主要信息后再对细化的地层线进行加粗操作,将断层信息放大恢复其在长度上的延续。

具体的,地层线细化操作为对图像中地层线的像素进行垂直方向的取上界和取下界,然后取中值,将除中值外的信息删去,获得细化的地层线。通过这样的处理,即可获得细化后的地层图像。对细化后的地层线进行加粗操作,通过对细化的后的图像进行一定长度的上下延拓,使得断层的长度进行延长,从而突出了断层线不延续位置的主要信息,有利于进行断点判别。

具体的,通过对断层的形态学分析可知,断层在地层方向上通常具有较大的落差,依据此原理对地层加粗后的图像进行水平方向上的异或操作即可将地层线中垂直差异过大的点提取出来。随后再对其中垂直方向连续数量等于加粗数量数的点滤掉(过滤处理),这样即可获得可能性最高的断点。

步骤c:对步骤b得到的图像进行进行伪断点去除,获得多个断点。

具体的,由于通过提取垂直方向差异过大的地层点作为断点可能会将本来垂直方向落差较大的点也保留下来,所以需要对其中的伪断点进行滤波。由形态学上的特征可知,(断层在水平方向上几乎没或者有很小的落差但地层即使出现较强的垂直差异在水平方向上也会一定的连续性),断层通常具有延续性,所以单独的断点不可能存在,因此,可以认为单独存在的断点通常是伪断点,所以对滤波后获得的可疑断点的图像再进行滤波,将其中单独存在的点删去,即可将伪断点删去。具体实现方法为遍历图像中每一个点,将图像中孤立的点,即周围没有断点的点,将这些点删除。在算法实现中我们取每一个点横向7个单位,纵向7个单位,组成的7*7的矩形区域内的点值,并相加,如果,所得的值为12240,即意味着,在该点周围48个点,均为255(空点)。将这个点从原图像中删除。

之前的步骤已经得到了地震波图像中断点的位置,但是由于断点是离散的,无法直接获得其断层线,依据图像类型的不同需要通过霍夫变换或者霍夫变换配合蚁群算法进行断层线的精确拟合。

对于收集到的地震波图像通常分为两种,第一类在较好的地层中获得的清晰图像,地层走向清晰,在一套地层之间断裂明显,断层上下盘相对位置稳定(如图2)。第二类不清晰图像,由于地层内部物质的不均匀或者断层位置过于复杂导致在一套地层内出现三处以上的错断现象,导致断层上下盘位置交替出现,在图片中显示为断层中出现一大部分的空缺或者扭曲(如图7(a))。本发明对两种图像分别进行了形态学操作和蚁群算法的识别。其中第一类图像由于地层形状较为良好,经过形态学的操作后可以获得准确的断点,再使用霍夫变换将断点拟合线段即可获得断层的清晰图像,对于此类图像不需要再进行蚁群算法的拟合。而对于另一类断层形状不好的,在通过霍夫变换识别完断层存在范围后,再进行蚁群算法拟合出完整的断层线。

具体的,对于原图像中断层清晰的地震波图像,已经获得了地震波图像中的断点存在位置。通过对于滤波获得的断点进行霍夫变换的识别,可以获得其在地震波图像中的精确位置。霍夫变换通过将平面坐标系转换为极坐标系可以把平面坐标系中的直线映射为极坐标系中的点;过直线的点越多则极坐标系中同一个点被映射的次数越多,则通过寻找映射次数最大的点即可获得平面坐标系中最符合要求的直线,

优选的,识别规则为:1.尽可能短的识别单个直线(算法设置短线阈值为40,即将长度大于40的线段全部识别),这样可以使每一条可能断层都保留下来;2.将方向一致且间隔小于一定阈值(选择阈值为70)的线段合并,通过这样处理增强断层的延续性。通过对所有断点进行霍夫变换并选择最优结果后,将会获得与断层线所在位置的精确线段。

具体的,步骤4包括如下子步骤:

步骤4.1:对步骤2得到的多个断点进行霍夫变换,得到待识别地震波图像的断层线范围,所述断层线范围表示经过霍夫变换后到初始断层线两端点的距离小于15的点的集合,令断层线范围等于蚁群跟踪算法的识别范围;

步骤4.2:根据断层线范围对图像的分水岭进行裁剪;

分水岭图像分割是一种基于拓扑理论的数学形态学分割方法。其基本思想是把图像看为是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的高度。分水岭算法对微弱边缘具有良好的响应,图像中的噪声、物体表面细微的灰度变化都能识别并体现在图像上。所以由分水岭算法获得的图像可以细微地体现地层的变化,从而可以最高程度的保留地层内部信息以及地层与地层之间的信息。对分水岭图进行分析后可知,断层线基本上位于分水岭图像的边界上,所以需要从复杂的分水岭边界中提取出断层线。

分水岭边界图的获取可以通过使用matlab中的watershed函数对灰度图进行操作得到。但是从分水岭图像中可见,断层线所占用的边界线比重非常小,若直接使用蚂蚁算法会对整张分水岭图像进行识别,需要很多的迭代次数以及蚂蚁数量,提取出精确断层线的效率很低。所以先使用霍夫变换得到的断层线范围,依据此范围裁剪出蚁群算法的识别范围。具体实现如下:将霍夫变换获得的粗略断层线线段的两端点的坐标存入矩阵中,即可获得该线段的解析方程。通过遍历分水岭图像中每一点,寻找在该解析方程上的点,选择与该点距离小于一定阈值(本文设置阈值为15)的点,组成断层存在范围。并以此图作为蚁群算法识别断层的路径图。

步骤4.3:根据剪裁后的图像利用蚁群跟踪算法对断层线进行拟合,得到得到待识别地震波图像的断层线。

具体的,蚁群跟踪算法的具体步骤为:

a.算法初始化

首先对蚁群算法的参数赋初值,主要如下:信息素蒸发系数ρ=2,信息素增加强度系数q=9,信息素矩阵τ初始时与裁剪图路径相同且其值为1,最大迭代次数为nc_max,设蚂蚁总数为m,蚂蚁m=m(m=1,2,3…m),蚂蚁初始化时随机地放置于底边的裁剪图节点上,tau为裁剪后的图像,imh为图像底边的y值。find函数从裁剪图中取出所有底边上的点的x坐标,并存入xindexes中。当选择初始化蚂蚁放置的位置时,通过rand函数随机选择xindexes中的坐标。

b.蚂蚁前进方向的确定

蚂蚁在裁剪图中的前进方向分为四种,分别为上下左右,依次用序号1,2,3,4表示(如图5.6)。因为蚁群初始化时全部置于图像底部,所以对于蚂蚁来说,断层总是在蚂蚁的上方,所以将蚂蚁向上前进的概率人为地调大,向下的概率人为地调小,从而获得蚂蚁下一步向各个方向前进的概率,其计算方法见公式5.1,k为蚂蚁所走的方向。

c.禁忌表的更新

禁忌表作为蚂蚁前进路径中发现有问题地路径,为了避免其他蚂蚁以及在随后的迭代中继续选择这些路径,将这些路径上的点写入禁忌表中。禁忌表中主要存储蚁群前进中不能选择的点。主要有两种情况,分别是无头路和环路。对于这两种情况分别进行如下操作更新禁忌表。

蚂蚁在前进过程中如果遇到断头路则会将这条路径上的点逐点的删去。具体实现是当蚂蚁遇到走不通的路时,即将该点置入禁忌表中,这样以后的蚂蚁和以后迭代中将不会再次走这个点,依次即可实现将所有断头路中的点置入禁忌表中。

蚂蚁在前进途中出现环路则会将环路重合点置入禁忌表中,随后依照断头路的处理方式置入禁忌表中,从而去除环路。

其中newecsheet是更新后的禁忌表,antrty,antrty是当前已经被判断是环路或者断头路的点的坐标。

d.信息素更新

每一次蚂蚁拟合完一次路径时,即所有蚂蚁走完了,其中将有一条最优路径诞生。此时对整个信息素矩阵进行一次信息素挥发,将信息素浓度下降。然后将此次拟合的最佳路径上的点进行信息素增强,以完成信息素矩阵的更新。。通过这样的操作可以使得蚂蚁在多次迭代中更多地选择每一次迭代中的最优路径,这样即可获得断层线存在的准确位置。

每只蚂蚁拟合完一次路径时蚂蚁死亡,蚂蚁总数减一,antnum=antnum-1。当所有蚂蚁都死亡时,即所有蚂蚁都在图上选择了一条路径行走完毕时,一次迭代完成。但迭代次数等于初始化的最大迭代次数时,即nc=nc_max时算法结束。将最优的蚂蚁路径输出。这样即可获得断层线在不清晰的或者断层扭曲的地震波图像中的位置。

实施例2

在本实施例中公开了一种基于蚁群跟踪算法的地震波图像断层识别方法,在实施例1的基础上公开了以下技术特征:

为实现断层识别的自动化,使用matlab2016作为实验环境。依据之前的图像处理原编写相应的代码和算法,存入处理图像所用的工作空间。随后按照处理流程对输入图像进行处理,并在输入图像中显示断层在其中的位置。

(a)断层明显的地震波图像的断层识别流程

1.将原始的地震波图像读入实验平台中,展示结果如图2。从中可见图像清晰度较低,无法直观的确认断层线的精确位置,而且地层线周围的噪声过大,所以需要使用图像增强,以便于获得其断层形态。

2.对输入的原始图像进行图像增强,具体实现是使用各项异性扩散滤波对原始图像进行平滑,以达到平滑地层突出断层位置,结果如图3。

3.对各项异扩散滤波结果图已经可以大值确认出断层存在位置,但其中仍包含过多颜色等与形态无关的信息,通过对该图像进行二值化以及地层细化以获取地层线中的主要形态信息,如图4所示。在该图像可见断层位于地层线中断的位置,但仍有许多地层线错断是由于非断层原因导致,对于这些非断层导致的地层错断需要通过滤波滤去。

4.通过对细化的地层线进行加粗操作以加强主要地层信息,并恢复断层线的延续性,随后进行水平异或即可得到图像中地层发生跃变的点,对于长度小于加粗宽度的线段进行滤波即可获得由断层原因导致的断点。随后再将其中由于地层落差过大的伪断点进行滤除,即可获得图像中最高概率的断点。成果图5。

5.对所得的离散断点进行霍夫变换直线识别,将其中最多的断点拟合到一条线段中即可获得断层线在图像中的位置,并显示在原图中,效果如图6。

(b)断层不明显的地震波图像的断层识别流程

1.对于断层位置不明显的地震波图像前期的识别工作大致相同,具体过程不再累述。获得的霍夫变换以及通过使用霍夫变换对分水岭图像进行裁剪获得到的断层线的范围如图7(a)、图7(b)和图7(c)所示。

2.随后通过对所得断层线的范围裁剪分水岭图像并作为启发因子,使用蚁群算法拟合出断层的存在位置,如图8所示。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1