岩石三维图像裂缝提取方法与流程

文档序号:12551890阅读:来源:国知局

技术特征:

1.岩石三维图像裂缝提取方法,其特征在于经过图像预处理后,算法包括以下步骤:

步骤1:计算预处理得到的三角网格模型Aq中每个三角网格单元的单位法向量与三角面积,并调整单位法向量方向,其中q=1,2,3…k,k为三角网格模型个数;接着利用三角网格单元的单位法向量及三角面积特征对Aq的三角网格单元进行K-均值聚类;

步骤2:根据步骤1得到的聚类中心将Aq的三角网格单元重新分类,分类得到多个三角网格类;

步骤3:提取出步骤2中每个三角网格类的三角网格连通分量;

步骤4:剔除步骤3得到的三角网格连通分量中的噪声成分,重新计算三角网格类的聚类中心,并将重新计算得到的聚类中心相邻的所有三角网格类合并为一类;接着对每个三角网格类分别独立执行步骤5到步骤10的操作;

步骤5:步骤4得到的每个三角网格类中的所有三角网格单元组成一个三维面结构,对这个三维面结构执行三维模型孔洞修补操作,操作后可得到一个或多个封闭的三维面结构,这些三维面结构组成一个封闭面结构集合;

步骤6:计算步骤5获得的封闭面结构集合的最小外接长方体;

步骤7:计算步骤5获得的封闭面结构集合的形状因子;计算步骤6得到的最小外接长方体的形状因子;计算面积比参数;

步骤8:利用步骤7得到的两个形状因子及面积比等参数,判定当前封闭面结构集合是否为裂缝;若判定结果为真,则继续执行后续操作;若判定结果为假,则当前封闭面结构集合不是裂缝;

步骤9:提取步骤8中判定结果为真的封闭面结构集合表面及内部的体素点,对提取的体素点集作三维图像形态学膨胀处理;

步骤10:将步骤9中已膨胀的体素点集与原始三维岩石孔隙模型连通分量的体素点集进行逻辑与操作,操作后得到的体素点集即为裂缝。

2.根据权利要求1所述的方法,其特征在于步骤1中所述基于网格单位法向方向及网格三角面积特征的K-均值聚类,计算三角网格单元聚类中心,采用下述计算方法:

K-均值聚类算法流程如下:

①确定初始聚类中心;

②将所有三角网格单元分配到距其最近的聚类中心所属三角网格类;

③更新聚类中心;

④反复执行流程②,③直到满足终止条件;

K-均值聚类算法中相关计算公式如下所示:

流程①中初始聚类中心Vi的计算公式如下所示,其中i=1,2,3:

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>V</mi> <mn>1</mn> </msub> <mo>=</mo> <mi>&sigma;</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>V</mi> <mn>2</mn> </msub> <mo>=</mo> <mi>&sigma;</mi> <mo>&times;</mo> <mi>&xi;</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>V</mi> <mn>3</mn> </msub> <mo>=</mo> <mi>&sigma;</mi> <mo>&times;</mo> <mrow> <mo>(</mo> <mi>&sigma;</mi> <mo>&times;</mo> <mi>&xi;</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

其中σ为Aq中三角面积最大的三角网格单元的单位法向量;ξ为Aq中三角面积最小的三角网格单元的单位法向量;

令Δj为Aq中第j个三角网格单元,λj为Δj单位法向量,其中j∈[1,m],m为Aq含有的三角网格单元个数;为Aq中第i个三角网格类,其聚类中心为Vi,其中i=1,2,3;为第i个三角网格类中第j个三角网格单元,单位法向量,三角面积,其中j∈[1,n],n为第i个三角网格类中三角网格单元个数;

流程②中三角网格单元Δj与各聚类中心Vi距离θij的计算公式如下:

<mrow> <msub> <mi>&theta;</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>&pi;</mi> <mo>-</mo> <msub> <mi>&phi;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mrow> </mtd> <mtd> <mrow> <msub> <mi>&phi;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>&gt;</mo> <mi>&pi;</mi> <mo>/</mo> <mn>2</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <msub> <mi>&phi;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mrow> <msub> <mi>&phi;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>&le;</mo> <mi>&pi;</mi> <mo>/</mo> <mn>2</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中

<mrow> <msub> <mi>cos&phi;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>&lambda;</mi> <mi>j</mi> </msub> <msub> <mi>V</mi> <mi>i</mi> </msub> </mrow> <mrow> <mo>|</mo> <msub> <mi>&lambda;</mi> <mi>j</mi> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>V</mi> <mi>i</mi> </msub> <mo>|</mo> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

流程③中聚类中心计算公式如下:

<mrow> <msub> <mi>V</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <msubsup> <mi>&beta;</mi> <mi>n</mi> <mi>i</mi> </msubsup> <mrow> <mo>|</mo> <msubsup> <mi>&beta;</mi> <mi>n</mi> <mi>i</mi> </msubsup> <mo>|</mo> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

其中

Add定义为:

<mrow> <mi>A</mi> <mi>d</mi> <mi>d</mi> <mrow> <mo>(</mo> <msub> <mi>J</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>J</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>J</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>J</mi> <mn>2</mn> </msub> </mrow> </mtd> <mtd> <mrow> <mo>|</mo> <msub> <mi>J</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>J</mi> <mn>2</mn> </msub> <mo>|</mo> <mo>&GreaterEqual;</mo> <mo>|</mo> <msub> <mi>J</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>J</mi> <mn>2</mn> </msub> <mo>|</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>J</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>J</mi> <mn>2</mn> </msub> </mrow> </mtd> <mtd> <mrow> <mo>|</mo> <msub> <mi>J</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>J</mi> <mn>2</mn> </msub> <mo>|</mo> <mo>&lt;</mo> <mo>|</mo> <msub> <mi>J</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>J</mi> <mn>2</mn> </msub> <mo>|</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <msubsup> <mi>&omega;</mi> <mi>j</mi> <mi>i</mi> </msubsup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mn>5</mn> </mtd> <mtd> <mrow> <msubsup> <mi>S</mi> <mi>j</mi> <mi>i</mi> </msubsup> <mo>&gt;</mo> <msubsup> <mi>S</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <mi>i</mi> </msubsup> <mo>/</mo> <mn>2</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mrow> <msubsup> <mi>S</mi> <mi>j</mi> <mi>i</mi> </msubsup> <mo>&le;</mo> <msubsup> <mi>S</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <mi>i</mi> </msubsup> <mo>/</mo> <mn>2</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <msubsup> <mi>S</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <mi>i</mi> </msubsup> <mo>=</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mo>{</mo> <msubsup> <mi>S</mi> <mi>j</mi> <mi>i</mi> </msubsup> <mo>|</mo> <mi>j</mi> <mo>&Element;</mo> <mo>&lsqb;</mo> <mn>1</mn> <mo>,</mo> <mi>n</mi> <mo>&rsqb;</mo> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>)</mo> </mrow> </mrow>

其中n为第i个三角网格类中三角网格单元个数;

流程④中迭代终止条件为:迭代次数超过50次或者聚类中心变化幅度小于0.001;第K次迭代聚类中心变化幅度值的计算公式如下:

<mrow> <msup> <mo>&part;</mo> <mi>k</mi> </msup> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mn>3</mn> </munderover> <mrow> <mo>(</mo> <mo>|</mo> <msub> <mi>x</mi> <msubsup> <mi>V</mi> <mi>i</mi> <mi>k</mi> </msubsup> </msub> <mo>-</mo> <msub> <mi>x</mi> <msubsup> <mi>V</mi> <mi>i</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> </msub> <mo>|</mo> <mo>+</mo> <mo>|</mo> <msub> <mi>y</mi> <msubsup> <mi>V</mi> <mi>i</mi> <mi>k</mi> </msubsup> </msub> <mo>-</mo> <msub> <mi>y</mi> <msubsup> <mi>V</mi> <mi>i</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> </msub> <mo>|</mo> <mo>+</mo> <mo>|</mo> <msub> <mi>z</mi> <msubsup> <mi>V</mi> <mi>i</mi> <mi>k</mi> </msubsup> </msub> <mo>-</mo> <msub> <mi>z</mi> <msubsup> <mi>V</mi> <mi>i</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> </msub> <mo>|</mo> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow>

其中为第k次迭代结束时聚类中心的三个坐标值。

3.根据权利要求1所述的方法,其特征在于步骤2所述三角网格单元分类方法,采用下述计算方法:

三角网格单元Δj与聚类中心Vi的距离为θij,且

θkj=min{θij|i∈[1,2,3]} (10)

若θkj<0.59359877则Δj属于第k三角网格类否则Δj不属于任何一类。

4.根据权利要求1所述的方法,其特征在于步骤4所述三角网格连通分量噪声剔除及合并相近三角网格类,采用下述计算方法:

三角网格类的三角网格单元三角面积和为三角网格连通分量的三角网格单元三角面积和为其中t∈[1,k],k是三角网格类的三角网格连通分量个数;计算公式如下:

<mrow> <msub> <mi>S</mi> <msubsup> <mi>&eta;</mi> <mi>t</mi> <mi>i</mi> </msubsup> </msub> <mo>=</mo> <munder> <mo>&Sigma;</mo> <mrow> <msubsup> <mi>&Delta;</mi> <mi>j</mi> <mi>i</mi> </msubsup> <mo>&Element;</mo> <msubsup> <mi>&eta;</mi> <mi>t</mi> <mi>i</mi> </msubsup> </mrow> </munder> <msubsup> <mi>S</mi> <mi>j</mi> <mi>i</mi> </msubsup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>12</mn> <mo>)</mo> </mrow> </mrow>

其中为三角网格单元三角面积;

中三角网格连通分量

则将三角网格连通分量视为噪声干扰,并从三角网格类中剔除;

设聚类中心Vi与聚类中心Vj的距离为χij,其计算公式如下:

<mrow> <msub> <mi>&chi;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>&pi;</mi> <mo>-</mo> <msub> <mi>&phi;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mrow> </mtd> <mtd> <mrow> <msub> <mi>&phi;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>&gt;</mo> <mi>&pi;</mi> <mo>/</mo> <mn>2</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <msub> <mi>&phi;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mrow> <msub> <mi>&phi;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>&le;</mo> <mi>&pi;</mi> <mo>/</mo> <mn>2</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>14</mn> <mo>)</mo> </mrow> </mrow>

其中

<mrow> <msub> <mi>cos&phi;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>V</mi> <mi>i</mi> </msub> <msub> <mi>V</mi> <mi>j</mi> </msub> </mrow> <mrow> <mo>|</mo> <msub> <mi>V</mi> <mi>i</mi> </msub> <mo>|</mo> <mo>|</mo> <msub> <mi>V</mi> <mi>j</mi> </msub> <mo>|</mo> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>15</mn> <mo>)</mo> </mrow> </mrow>

若χij<0.7853981,则视两个聚类中心所属三角网格类相邻,将三个三角网格类中所有相邻的类合并为一个类;合并后的三角网格类仍记为其中1≤i≤3。

5.根据权利要求1所述的方法,其特征在于步骤8所述裂缝的判定,采用以下判定标准:

当下列条件均成立时:

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>&Phi;</mi> <mo>&Pi;</mo> </msub> <mo>&le;</mo> <mi>M</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>&Lambda;</mi> <mo>&GreaterEqual;</mo> <mi>E</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>&Phi;</mi> <mi>&psi;</mi> </msub> <mo>&le;</mo> <mn>0.05</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>16</mn> <mo>)</mo> </mrow> </mrow>

或当以下条件均成立时:

<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>&Phi;</mi> <mo>&Pi;</mo> </msub> <mo>&le;</mo> <mn>0.04</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>&Lambda;</mi> <mo>&GreaterEqual;</mo> <mn>0.17</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>&Phi;</mi> <mi>&psi;</mi> </msub> <mo>&le;</mo> <mn>0.05</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>17</mn> <mo>)</mo> </mrow> </mrow>

其中

<mrow> <mi>M</mi> <mo>=</mo> <mn>0.6</mn> <mo>*</mo> <mfrac> <mrow> <msub> <mi>log</mi> <mn>2</mn> </msub> <msub> <mi>V</mi> <mo>&Pi;</mo> </msub> </mrow> <mn>20</mn> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>18</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <mi>E</mi> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mn>0.22</mn> </mtd> <mtd> <mrow> <mi>M</mi> <mo>&lt;</mo> <mn>0.45</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>0.17</mn> </mtd> <mtd> <mrow> <mi>M</mi> <mo>&GreaterEqual;</mo> <mn>0.45</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>19</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <msub> <mi>&Phi;</mi> <mi>&psi;</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mn>36</mn> <msup> <msub> <mi>&pi;V</mi> <mi>&psi;</mi> </msub> <mn>2</mn> </msup> </mrow> <mrow> <msup> <msub> <mi>S</mi> <mi>&psi;</mi> </msub> <mn>3</mn> </msup> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>20</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <msub> <mi>&Phi;</mi> <mo>&Pi;</mo> </msub> <mo>=</mo> <mfrac> <mrow> <mn>36</mn> <msup> <msub> <mi>&pi;V</mi> <mo>&Pi;</mo> </msub> <mn>2</mn> </msup> </mrow> <mrow> <msup> <msub> <mi>S</mi> <mo>&Pi;</mo> </msub> <mn>3</mn> </msup> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>21</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <mi>&Lambda;</mi> <mo>=</mo> <mfrac> <msub> <mi>S</mi> <mi>&psi;</mi> </msub> <msub> <mi>S</mi> <mo>&Pi;</mo> </msub> </mfrac> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>22</mn> <mo>)</mo> </mrow> </mrow>

Vψ为封闭面结构集合ψ的体积,Sψ为ψ孔洞修补前所有三角网格单元三角面积之和,VΠ为封闭面结构集合ψ最小外接长方体Π的体积,SΠ为Π的表面积;

则判定当前封闭面结构集合ψ表面及内部包含的体素点集δ属于裂缝的一部分;否则判定为非裂缝。

6.根据权利要求1所述的方法,其特征在于步骤10所述裂缝的准确提取,使用以下提取方法:

裂缝体素点集ζ计算公式为:

ζ={p|p∈Hq∩δ'} (23)

其中Hq为Aq对应的原始三维岩石孔隙模型连通分量的体素点集,p为任意体素点;δ'为步骤9中形态学膨胀处理后得到的体素点集。

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