一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于机器学习的页岩异常孔缝识别方法

2022-12-10 08:01:19 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,具体涉及一种基于机器学习的页岩异常孔缝识别方法。


背景技术:

2.随着人工智能技术越来越成熟,近年来,以深度学习为代表的智能识别方法在地质和岩石行业有了广泛的应用,页岩图像中孔缝类型的自动识别对于研究页岩孔缝及流体渗流的变化规律具有重要作用,根据从图像中提取的轮廓特征,将现有的孔缝类型分为有机质孔,有机质缝,无机质孔,无机质缝,但在实际应用中,由于人工操作失误或仪器故障等原因,图像制样过程中会产生异常孔缝,若不对异常孔缝进行单独识别处理,将会对孔隙度和渗透率的计算结果产生较大误差。
3.目前对图像异常孔缝类检测的方法主要有两种,一类是采用阈值分割的方法,对不同亮度的图像划分不同的阈值提取孔隙,并通过孔隙的颜色,形状和纹理等信息进行具体分类,这类方法的局限性在于需要人为设定分类标准,只适用于特定样本。另一类是采用语义分割的方法,通过将样本和标签数据传入到指定的网络框架中进行训练,选取训练效果最佳的模型来对孔隙进行自动识别,有较好的泛化能力,但是标签数据中缺少异常孔隙标签,人工打点需要具有一定专业知识且特别费时,同时语义分割是对像素点进行分类,可能导致同一轮廓出现多种分类结果,使得这类识别算法的准确率不高。


技术实现要素:

4.针对现有技术中的上述不足,本发明提供的一种基于机器学习的页岩异常孔缝识别方法解决了现有图像孔隙自动分割准确率不高的问题。
5.为了达到上述发明目的,本发明采用的技术方案为:一种基于机器学习的页岩异常孔缝识别方法,包括以下步骤:
6.s1、将岩石图片和标签图片进行预处理,得到训练集和测试集;
7.s2、采用训练集和测试集训练deeplabv3 模型,得到训练完成的deeplabv3 模型;
8.s3、采用训练完成的deeplabv3 模型对待识别图片进行识别,得到像素点分类结果数组;
9.s4、对待识别图片进行分割,得到图片上所有的孔缝轮廓集合;
10.s5、根据孔缝轮廓集合和像素点分类结果数组,找到异常孔缝轮廓。
11.进一步地,所述步骤s1包括以下分步骤:
12.s11、将岩石图片和标签图片进行切割,得到尺寸为512*512的岩石图片和标签图片;
13.s12、对512*512的标签图片进行标记,得到标记图片;
14.s13、将512*512的岩石图片和标记图片划分为训练集和测试集。
15.进一步地,所述步骤s12具体为:
16.对512*512的标签图片中分布在r(120-255)、g(0-100)、b(0-100)的红色像素点像素值标记为1;
17.对512*512的标签图片中分布在r(200-255)、g(200-255)、b(0-150)的黄色像素点像素值标记为2;
18.对512*512的标签图片中分布在r(0-100)、g(200-255)、b(200-255)的蓝色像素点像素值标记为3;
19.对512*512的标签图片中分布在r(0-100)、g(120-255)、b(0-100)的绿色像素点像素值标记为4;
20.对512*512的标签图片中其他的像素点像素值标记为0。
21.进一步地,所述步骤s2中训练deeplabv3 模型的损失函数为:
[0022][0023]
其中,l为损失函数,y
t
为对应图片的deeplabv3 模型预测结果数组,y
hat
为对应图片的标签图片样本数组,c为类别标记值,β为调节因子,“==”为计算数组中与c值相等的结果,sum()为统计数组中为类别c的像素点个数。
[0024]
上述进一步方案的有益效果为:
[0025]
对于分类不准确的样本,损失没有改变,但对于分类准确样本,损失会减小,整体上增加了分类不准确样本在损失函数中的权重,从而解决样本不均衡导致小样本类别分类不准确问题。
[0026]
进一步地,所述步骤s2中训练deeplabv3 模型的权重公式为:
[0027][0028]
其中,θ
i 1
为第i 1次训练的权重,θi为第i次训练的权重,lr为学习率,为第i次训练的真实标签值,hi为第i次训练的deeplabv3 模型实际输出值,xi为第i次训练的deeplabv3 模型输入的样本数据。
[0029]
进一步地,所述步骤s2中采用以下公式作为评价deeplabv3 模型训练完成的目标函数:
[0030][0031]
其中,k为类别数,tp
t
为第t类正确识别的真正例数,fp
t
为第t类错误识别的假正例数,fn
t
为第t类假反例总数。
[0032]
进一步地,所述步骤s4包括以下分步骤:
[0033]
s41、采用大津阈值分割法分割待识别图片,得到第一有机质与无机质分割阈值;
[0034]
s42、将待识别图片中大于第一有机质与无机质分割阈值的像素点像素值赋予0,得到赋值图片;
[0035]
s43、采用大津阈值分割法分割赋值图片,得到第二有机质与无机质分割阈值;
[0036]
s44、采用第二有机质与无机质分割阈值对待识别图片进行二值化处理,得到孔缝轮廓集合。
[0037]
上述进一步方案的有益效果为:
[0038]
该分割方法能够实现孔缝的自动分割,不需要人工干预设置阈值分割,减少了人工工作量,适用于不同场景下的岩石图片孔缝分割,具有很强的移植效果。
[0039]
进一步地,所述步骤s5包括以下分步骤:
[0040]
s51、根据像素点分类结果数组,遍历孔缝轮廓集合中所有像素点,统计同一孔缝轮廓中各个分类结果所对应的像素点数,将像素点数最多的分类结果作为同一孔缝轮廓的类别;
[0041]
s52、计算各类别的孔缝轮廓的长、宽、面积、周长和像素分布方差;
[0042]
s53、将长、宽、面积、周长、像素分布方差和类别,构建为特征数据集;
[0043]
s54、从特征数据集筛选出主要特征;
[0044]
s55、采用k-means聚类法对主要特征进行聚类处理,得到异常孔缝轮廓。
[0045]
进一步地,所述步骤s52包括以下分步骤:
[0046]
s521、建立每个类别的孔缝轮廓的外接矩形框,将外接矩形框的长宽作为该类别的孔缝轮廓的长宽;
[0047]
s522、将外接矩形框内的像素点个数作为该类别的孔缝轮廓的面积;
[0048]
s523、统计孔缝轮廓的边缘像素点个数,作为该类别的孔缝轮廓的周长;
[0049]
s524、根据孔缝轮廓内平均像素值,计算孔缝轮廓的像素分布方差;
[0050]
步骤s524中计算孔缝轮廓的像素分布方差的公式为:
[0051][0052]
其中,s为孔缝轮廓的像素分布方差,x1为孔缝轮廓上的第1个像素值,x2为孔缝轮廓上的第2个像素值,x3为孔缝轮廓上的第3个像素值,xn为孔缝轮廓上的第n个像素值,m为平均像素值,n为孔缝轮廓内像素值的数量。
[0053]
进一步地,所述步骤s54包括以下分步骤:
[0054]
s541、采用零均值法对特征数据集进行处理,得到标准正态分布数据;
[0055]
s542、根据标准正态分布数据,计算协方差矩阵;
[0056]
步骤s542中计算协方差矩阵中元素的公式为:
[0057][0058]
其中,为协方差矩阵中第行第列的元素,num为孔缝轮廓数量,为第b个孔缝轮廓的标准正态分布数据中第维数据,为标准正态分布数据中第维数据,为第b个孔缝轮廓的标准正态分布数据中第维数据,为标准正态分布数据中第维数据,a为数据维数,avg()为计算均值;
[0059]
s543、根据协方差矩阵,得到特征值和特征向量;
[0060]
s544、根据特征值和特征向量,得到主成分;
[0061]
s545、将主成分作为主要特征。
[0062]
综上,本发明的有益效果为:
[0063]
1、本发明先采用deeplabv3 模型对待识别图片进行识别,得到像素点分类结果数组,再对待识别图片进行分割,得到图片上所有的孔缝轮廓集合,再通过统计同一孔缝轮廓中各个分类结果所对应的像素点数,找到像素点最多的分类结果,作为同一孔缝轮廓的类别,提升对孔缝轮廓分类的准确性,避免了同一轮廓出现多种分类结果的情况。
[0064]
2、在获得每个孔缝轮廓的准确类别后,通过主要特征聚类找到异常孔缝轮廓,能降低数据运算量。
[0065]
3、本发明利用了异常孔缝轮廓内像素值的分布抖动较大,以及异常孔缝轮廓的面积偏大等特点,并综合了孔缝轮廓的类型信息,精确找到图像制样过程中由于仪器损坏导致孔缝范围变大,挤压导致裂缝延长得到的异常孔缝轮廓。
附图说明
[0066]
图1为一种基于机器学习的页岩异常孔缝识别方法的流程图
具体实施方式
[0067]
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
[0068]
如图1所示,一种基于机器学习的页岩异常孔缝识别方法,包括以下步骤:
[0069]
s1、将岩石图片和标签图片进行预处理,得到训练集和测试集;
[0070]
s2、采用训练集和测试集训练deeplabv3 模型,得到训练完成的deeplabv3 模型;
[0071]
s3、采用训练完成的deeplabv3 模型对待识别图片进行识别,得到像素点分类结果数组;
[0072]
s4、对待识别图片进行分割,得到图片上所有的孔缝轮廓集合;
[0073]
s5、根据孔缝轮廓集合和像素点分类结果数组,找到异常孔缝轮廓。
[0074]
在本实施例中,所述步骤s1包括以下分步骤:
[0075]
s11、将岩石图片和标签图片进行切割,得到尺寸为512*512的岩石图片和标签图片;
[0076]
s12、对512*512的标签图片进行标记,得到标记图片;
[0077]
s13、将512*512的岩石图片和标记图片划分为训练集和测试集。
[0078]
在本实施例中,所述步骤s12具体为:
[0079]
对512*512的标签图片中分布在r(120-255)、g(0-100)、b(0-100)的红色像素点像素值标记为1;
[0080]
对512*512的标签图片中分布在r(200-255)、g(200-255)、b(0-150)的黄色像素点像素值标记为2;
[0081]
对512*512的标签图片中分布在r(0-100)、g(200-255)、b(200-255)的蓝色像素点像素值标记为3;
[0082]
对512*512的标签图片中分布在r(0-100)、g(120-255)、b(0-100)的绿色像素点像素值标记为4;
[0083]
对512*512的标签图片中其他的像素点像素值标记为0。
[0084]
在本实施例中,所述步骤s2中训练deeplabv3 模型的损失函数为:
[0085][0086]
其中,l为损失函数,y
t
为对应图片的deeplabv3 模型预测结果数组,y
hat
为对应图片的标签图片样本数组,c为类别标记值,β为调节因子,“==”为计算数组中与c值相等的结果,sum()为统计数组中为类别c的像素点个数。
[0087]
在本实施例中,所述步骤s2中训练deeplabv3 模型的权重公式为:
[0088][0089]
其中,θ
i 1
为第i 1次训练的权重,θi为第i次训练的权重,lr为学习率,为第i次训练的真实标签值,hi为第i次训练的deeplabv3 模型实际输出值,xi为第i次训练的deeplabv3 模型输入的样本数据。
[0090]
在本实施例中,所述步骤s2中采用以下公式作为评价deeplabv3 模型训练完成的目标函数:
[0091][0092]
其中,k为类别数,tp
t
为第t类正确识别的真正例数,fp
t
为第t类错误识别的假正例数,fn
t
为第t类假反例总数,在目标函数最大时,deeplabv3 模型训练完成。
[0093]
在本实施例中,所述步骤s4包括以下分步骤:
[0094]
s41、采用大津阈值分割法分割待识别图片,得到第一有机质与无机质分割阈值;
[0095]
有机质与无机质分割阈值的计算公式为:
[0096]
t1=α
×
(1-α)
×
(avg1-avg2)2[0097]
pix=(1,2,3,

,254)
[0098]
其中,t1为第一有机质与无机质分割阈值,α为待识别图片上低于集合pix平均像素值的像素个数占待识别图片的总像素数量的比值,avg1为待识别图片上低于集合pix平均像素值的所有像素点像素值的平均值,avg2为待识别图片上高于集合pix平均像素值的所有像素点像素值的平均值。
[0099]
s42、将待识别图片中大于第一有机质与无机质分割阈值的像素点像素值赋予0,得到赋值图片;
[0100]
s43、采用大津阈值分割法分割赋值图片,得到第二有机质与无机质分割阈值;
[0101]
s44、采用第二有机质与无机质分割阈值对待识别图片进行二值化处理,得到孔缝轮廓集合。
[0102]
在本实施例中,所述步骤s5包括以下分步骤:
[0103]
s51、根据像素点分类结果数组,遍历孔缝轮廓集合中所有像素点,统计同一孔缝轮廓中各个分类结果所对应的像素点数,将像素点数最多的分类结果作为同一孔缝轮廓的类别;
[0104]
s52、计算各类别的孔缝轮廓的长、宽、面积、周长和像素分布方差;
[0105]
s53、将长、宽、面积、周长、像素分布方差和类别,构建为特征数据集;
[0106]
s54、从特征数据集筛选出主要特征;
[0107]
s55、采用k-means聚类法对主要特征进行聚类处理,得到异常孔缝轮廓。
[0108]
在本实施例中,离群点通常在总数据的1%区域内,故将各类别中远离中心点且个数占比为1%的孔缝轮廓标记为异常孔缝轮廓。
[0109]
在本实施例中,所述步骤s52包括以下分步骤:
[0110]
s521、建立每个类别的孔缝轮廓的外接矩形框,将外接矩形框的长宽作为该类别的孔缝轮廓的长宽;
[0111]
s522、将外接矩形框内的像素点个数作为该类别的孔缝轮廓的面积;
[0112]
s523、统计孔缝轮廓的边缘像素点个数,作为该类别的孔缝轮廓的周长;
[0113]
s524、根据孔缝轮廓内平均像素值,计算孔缝轮廓的像素分布方差;
[0114]
步骤s524中计算孔缝轮廓的像素分布方差的公式为:
[0115][0116]
其中,s为孔缝轮廓的像素分布方差,x1为孔缝轮廓上的第1个像素值,x2为孔缝轮廓上的第2个像素值,x3为孔缝轮廓上的第3个像素值,xn为孔缝轮廓上的第n个像素值,m为平均像素值,n为孔缝轮廓内像素值的数量。
[0117]
在本实施例中,所述步骤s54包括以下分步骤:
[0118]
s541、采用零均值法对特征数据集进行处理,得到标准正态分布数据;
[0119]
s542、根据标准正态分布数据,计算协方差矩阵;
[0120]
步骤s542中计算协方差矩阵中元素的公式为:
[0121][0122]
其中,为协方差矩阵中第行第列的元素,num为孔缝轮廓数量,为第b个孔缝轮廓的标准正态分布数据中第维数据,为标准正态分布数据中第维数据,为第b个孔缝轮廓的标准正态分布数据中第维数据,为标准正态分布数据中第维数据,a为数据维数,avg()为计算均值;
[0123]
s543、根据协方差矩阵,得到特征值和特征向量;
[0124]
s544、根据特征值和特征向量,得到主成分;
[0125]
s545、将主成分作为主要特征。
[0126]
本发明先采用deeplabv3 模型对待识别图片进行识别,得到像素点分类结果数组,再对待识别图片进行分割,得到图片上所有的孔缝轮廓集合,再通过统计同一孔缝轮廓中各个分类结果所对应的像素点数,找到像素点最多的分类结果,作为同一孔缝轮廓的类
别,提升对孔缝轮廓分类的准确性,避免了同一轮廓出现多种分类结果的情况。在获得每个孔缝轮廓的准确类别后,通过主要特征聚类找到异常孔缝轮廓,能降低数据运算量。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献