掌桥专利:专业的专利平台
掌桥专利
首页

一种基于CNN分类算法的泥岩岩性识别系统

文献发布时间:2023-06-19 10:16:30


一种基于CNN分类算法的泥岩岩性识别系统

技术领域

本发明涉及到泥岩岩性识别领域,更为具体的,涉及一种基于CNN分类算法的泥岩岩性识别系统。

背景技术

在岩土工程项目中,技术人员的水平主要依赖于长期的工程实践经验,高水平技术人员培养时间较长。然而,近年来我国工程项目数量快速增长,现有岩土技术人员已不能满足工程建设的需求。另外,在岩土勘察工作中,对于钻孔岩芯的岩性及风化程度识别主要依赖技术人员工程经验和主观意识,缺乏相关的规范约束,没有统一的标准,导致在同样的场地环境中,钻孔岩芯判识结果也因人而异。近年来,得益于大数据和云计算的快速发展,不同领域的研究者和技术人员对人工智能算法展开了大量研究,人工智能技术也取得了突破进展。但在岩土工程行业,人工智能和智慧勘察结合的研究尚不够深入。

发明内容

本发明的目的在于克服现有技术的不足,提供一种基于CNN分类算法的泥岩岩性识别系统,可以接收用户上传的标签信息,并自动化地利用标签信息实现算法模块的更新,提高算法的准确率,从而提高系统的准确率,且具有识别精准度高,效率高,交互性强等优点。

本发明的目的是通过以下方案实现的:

一种基于CNN分类算法的泥岩岩性识别系统,包括:

前端操作模块,用于将图像数据发送至服务器,并将图像数据保存至数据库服务器;

泥岩容器检测模块,用于识别出图像数据中泥岩容器的位置信息,便于裁剪出每个泥岩并作后一步的操作;

泥质风化识别模块,用于检测单个泥岩图像的风化程度和泥质,风化程度包括中等风化、全风化和强风化中任一种,泥质包括砂岩、泥岩、砂质泥岩和泥质砂岩中任一种。

进一步地,泥岩容器检测模块包括程序以及运行程序的存储介质,运行程序的存储介质基于Canny边缘检测算法,结合凸包、LSD直线检测对图像进行分解处理,具体包括流程:

S1,对图像进行放缩,在待求像素的四邻像素中,将距离待求像素最近的像素灰度赋给待求像素,设(i+u,j+v)为待求像素坐标,如果(i+u,j+v)落在A区,即u<0.5,v<0.5,则将左上角像素的灰度值赋给待求像素,同理,落在B区则赋予右上角的像素灰度值,落在C区则赋予左下角像素的灰度值,落在D区则赋予右下角像素的灰度值;其中,i,j为正整数,u,v为大于零小于1的小数;

S2,图像放缩后,对获得的图像通过图像模糊滤波器降低图像中的噪声,采用如下二维滤波器公式计算G(x,y):

其中,G(x,y)为图像坐标;

S3,降噪处理后,将获得的图像结果采用Canny算法进行边缘检测,采用的算子为Sobel:

计算图像的梯度幅值M(x,y):

其中,d

θ

S4,进行Canny边检检测后进行非极大值抑制,目的在于去除冗余边框,NMS算法本质是搜索局部极大值,抑制非极大值元素,公式如下:

其中,s

S5,通过Canny处理后得到的图像进行LSD直线检测,用于检测出特定图像中的泥岩容器。

进一步地,在步骤S5中,包括子步骤:

步骤S51,输入灰度图像I并进行高斯采样,设置采样率S=0.8;

步骤S52,计算图像中各点的梯度值和方向,然后根据梯度值大小排序;

步骤S53,将梯度值小于ρ的点状态设置为USED,其余为UNUSED;

步骤S54,取出剩下的排序表中状态为UNUSED的点;

步骤S55,设置方向变化最大容忍值τ进行区域生长Region Grow;

步骤S56,计算生长得到的区域的同性点密度D;

步骤S57,比较同性点密度D与截断阈值D

步骤S58,比较错误控制函数NFA与错误控制阈值ε,如果NFA<ε,输出直线段数据,排序表是否还有状态为UNUSED的点,若有,转至步骤S54,否则,结束程序,则输出检测直线段数据RECT。

进一步地,通过凸包检测,提取出泥岩容器,获取到泥岩容器后便对容器中的泥岩进行单个裁剪,将容器中的泥岩裁剪为单个图像,并用于进行后续的岩性检测。

进一步地,在泥质风化识别模块中,基于CNN卷积神经网络对图像进行图像压缩和高斯去噪操作,包括:

A1,先对图像进行卷积计算,根据卷积核kernel提取出泥岩图像中的特征,卷积的层数越高,提取到的特征就越全局化;对于图中的RGB图像,采用三种独立的2-D kernel,假设单一通道输入图像的空间坐标为(x,y),卷积核大小为p*q,kernal权重为w,图像亮度值为v,卷积过程就是kernel所有权重与其在输入图像上对应元素亮度之和,表示为:

根据上面的计算过程,将kernel随(x,y)平移扫描,得到输出空间feature map;其中,conv

A2,通过卷积计算后,再对得到的输出空间feature map进行激活计算,设激活函数activation function为h(*),则计算过程如下:

其中主流的h(*)包含有线性整流单元、Sigmoid函数和tanh函数三类;

其中,z

A3,通过激活函数计算后,针对激活的结果进行池化计算pooling;

A4,对上述三种计算过程,即卷积计算、激活计算、池化计算进行排列组合后再次计算,然后进行全连接计算fully connected network,根据最终得到的池化结果进行排列并计算各种泥岩岩性的概率,对于第l层的第i个神经元,它的输出计算方式为:

考虑激活函数activation function之后,对于第l层的第i个神经元,输出是:

a

计算这一层中的所有神经元之后,作为下一层的输入;其中,z

A5,在上述的计算基础之上,通过均方误差Mean Square Error和K-L散度K-Ldivergence来衡量误差:

其中,r

进一步地,在步骤A3中,池化操作包括最大值池化Max pooling、平均值池化Average pooling和L2池化L2 pooling。

进一步地,在最大值池化Max pooling中,具体计算为:

其中,超出输出空间feature maps部分用0补齐。

进一步地,所述前端操作模块基于APP应用的形式,用户可将基础元数据发送至WEB服务器,WEB服务器通过接收所述基础元数据,并将所述基础元数据保存至数据库服务器,基础元数据包括用户输入的图像、标签信息、地理位置信息。

进一步地,用户通过APP应用对数据库服务器中的数据进行更新与修正。

进一步地,用户按要求以Excel表格的形式下载上传过的基础元数据,下载的数据存至用户手机和WEB服务器;管理员用户通过FTP的方式查询服务端口的数据,服务端接收前端操作模块发送的各类请求,包括对发送图片的解析与识别,前端操作模块也用于接收和展示服务端处理后的结果。

本发明的有益效果是:

(1)本发明系统可以接收用户上传的标签信息,并自动化地利用标签信息实现算法模块的更新,以提高算法地准确率,从而提高系统的准确率。

(2)本发明系统CNN图像分类算法模块采用两步策略,首先裁剪出图像中的所有泥块,最后针对每个泥块进行单独地识别,这样的优势在于识别精准度高、效率快、交互性强等。

(3)本发明系统所采用的检测和识别算法均是对现有算法进行改进后的算法,可以适应特定的场景,应用到本发明系统以及其他系统中,可以有效的检测和识别出泥块的风化程度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为泥岩岩性检测系统整体架构图;

图2为APP后台架构图;

图3为泥岩图像切割算法流程;

图4为CNN泥岩岩性检测系统结构图;

图5为最邻近元法插值;

图6为CNN岩性检测算法示意图;

图7为泥岩岩性检测模型计算流程。

具体实施方式

本说明书中所有实施例公开的所有特征(包括任何附加权利要求、摘要和附图),或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。

为解决目前岩土工程勘察中核心技术人员缺乏和勘察判识标准不统一的问题,引入合理智能的岩土勘察智能技术,依据统一标准进行岩芯识别,辅助开展岩土工程勘察工作。虽然岩芯识别算法比较成熟,但在岩土工程勘察领域内,采用机器学习人工智能识别岩芯的研究基本处于空白。最终本发明通过大量深入调研、实践,开发一种基于CNN分类算法的泥岩岩性识别系统。

如图1~7所示,一种基于CNN分类算法的泥岩岩性识别系统,包括:

前端操作模块,用于将图像数据发送至服务器,并将图像数据保存至数据库服务器;

泥岩容器检测模块,用于识别出图像数据中泥岩容器的位置信息,便于裁剪出每个泥岩并作后一步的操作;

泥质风化识别模块,用于检测单个泥岩图像的风化程度和泥质,风化程度包括中等风化、全风化和强风化中任一种,泥质包括砂岩、泥岩、砂质泥岩和泥质砂岩中任一种。

进一步地,泥岩容器检测模块包括程序以及运行程序的存储介质,运行程序的存储介质基于Canny边缘检测算法,结合凸包、LSD直线检测对图像进行分解处理,具体包括流程:

S1,对图像进行放缩,在待求像素的四邻像素中,将距离待求像素最近的像素灰度赋给待求像素,设(i+u,j+v)为待求像素坐标,如果(i+u,j+v)落在A区,即u<0.5,v<0.5,则将左上角像素的灰度值赋给待求像素,同理,落在B区则赋予右上角的像素灰度值,落在C区则赋予左下角像素的灰度值,落在D区则赋予右下角像素的灰度值;其中,i,j为正整数,u,v为大于零小于1的小数;

S2,图像放缩后,对获得的图像通过图像模糊滤波器降低图像中的噪声,采用如下二维滤波器公式计算G(x,y):

其中,G(x,y)为图像坐标;

S3,降噪处理后,将获得的图像结果采用Canny算法进行边缘检测,采用的算子为Sobel:

计算图像的梯度幅值M(x,y):

其中,d

计算图像的角度θ

θ

S4,进行Canny边检检测后进行非极大值抑制,目的在于去除冗余边框,NMS算法本质是搜索局部极大值,抑制非极大值元素,公式如下:

其中,s

S5,通过Canny处理后得到的图像进行LSD直线检测,用于检测出特定图像中的泥岩容器。

进一步地,在步骤S5中,包括子步骤:

步骤S51,输入灰度图像I并进行高斯采样,设置采样率S=0.8;

步骤S52,计算图像中各点的梯度值和方向,然后根据梯度值大小排序;

步骤S53,将梯度值小于ρ的点状态设置为USED,其余为UNUSED;

步骤S54,取出剩下的排序表中状态为UNUSED的点;

步骤S55,设置方向变化最大容忍值τ进行区域生长Region Grow;

步骤S56,计算生长得到的区域的同性点密度D;

步骤S57,比较同性点密度D与截断阈值D

步骤S58,比较错误控制函数NFA与错误控制阈值ε,如果NFA<ε,输出直线段数据,排序表是否还有状态为UNUSED的点,若有,转至步骤S54,否则,结束程序,则输出检测直线段数据RECT。

进一步地,通过凸包检测,提取出泥岩容器,获取到泥岩容器后便对容器中的泥岩进行单个裁剪,将容器中的泥岩裁剪为单个图像,并用于进行后续的岩性检测。

进一步地,在泥质风化识别模块中,基于CNN卷积神经网络对图像进行图像压缩和高斯去噪操作,包括:

A1,先对图像进行卷积计算,根据卷积核kernel提取出泥岩图像中的特征,卷积的层数越高,提取到的特征就越全局化;对于图中的RGB图像,采用三种独立的2-D kernel,假设单一通道输入图像的空间坐标为(x,y),卷积核大小为p*q,kernal权重为w,图像亮度值为v,卷积过程就是kernel所有权重与其在输入图像上对应元素亮度之和,表示为:

根据上面的计算过程,将kernel随(x,y)平移扫描,得到输出空间feature map;其中,conv

A2,通过卷积计算后,再对得到的输出空间feature map进行激活计算,设激活函数activation function为h(*),则计算过程如下:

其中主流的h(*)包含有线性整流单元、Sigmoid函数和tanh函数三类;

其中,z

A3,通过激活函数计算后,针对激活的结果进行池化计算pooling;

A4,对上述三种计算过程,即卷积计算、激活计算、池化计算进行排列组合后再次计算,然后进行全连接计算fully connected network,根据最终得到的池化结果进行排列并计算各种泥岩岩性的概率,对于第l层的第i个神经元,它的输出计算方式为:

考虑激活函数activation function之后,对于第l层的第i个神经元,输出是:

a

计算这一层中的所有神经元之后,作为下一层的输入;其中,z

A5,在上述的计算基础之上,通过均方误差Mean Square Error和K-L散度K-Ldivergence来衡量误差:

其中,r

进一步地,在步骤A3中,池化操作包括最大值池化Max pooling、平均值池化Average pooling和L2池化L2 pooling。

进一步地,在最大值池化Max pooling中,具体计算为:

其中,超出输出空间feature maps部分用0补齐。

进一步地,所述前端操作模块基于APP应用的形式,用户可将基础元数据发送至WEB服务器,WEB服务器通过接收所述基础元数据,并将所述基础元数据保存至数据库服务器,基础元数据包括用户输入的图像、标签信息、地理位置信息。

进一步地,用户通过APP应用对数据库服务器中的数据进行更新与修正。

进一步地,用户按要求以Excel表格的形式下载上传过的基础元数据,下载的数据存至用户手机和WEB服务器;管理员用户通过FTP的方式查询服务端口的数据,服务端接收前端操作模块发送的各类请求,包括对发送图片的解析与识别,前端操作模块也用于接收和展示服务端处理后的结果。

在本发明的其他实施例中,本发明实施例可以作为一种检测软件及运行该软件的系统,因此包含有用户端和服务端,下面将结合附图详细介绍本发明的工作流程。其中,附图1为软件的整体架构图,主要描述了各个模块间是如何工作的。

首先,该系统的整体操作流程是用户通过开发的APP应用程序将泥岩信息如泥岩图像、泥岩的孔号、泥岩的箱号、泥岩管道的测深等上传至服务端,完成后用户通过APP应用程序调用服务端的相应接口进行计算,并返回结果,附图2示。其中的接口包含有泥岩图像中泥岩的分割结果、泥岩图像的单个风化识别结果等。另外,用户可通过APP应用程序上传更多标签信息对服务端的算法进行优化。

在服务端中主要含有有两类核心算法,第一类是泥岩图像分解(切割),第二类是CNN泥岩岩性识别(判定)。服务端通过接收特定的图像,通过附图3的算法流程对图像进行泥块分割,其中主要涉及到的有Canny边缘检测、LSD直线检测和凸包检测。为加快图像处理的速度,首先采用附图5的方式对图像进行放缩,在待求像素的四邻像素中,将距离待求像素最近的像素灰度赋给待求像素,设i+u,j+v(i,j为正整数,u,v为大于零小于1的小数)为待求像素坐标。如果(i+u,j+v)落在A区,即u<0.5,v<0.5,则将左上角像素的灰度值赋给待求像素,同理,落在B区则赋予右上角的像素灰度值,落在C区则赋予左下角像素的灰度值,落在D区则赋予右下角像素的灰度值。

图像放缩后,由于泥岩图像拍摄通常为工地等户外场所,因此图像中可能存在大量的颗粒等,为此需将获得的图像通过图像模糊滤波器降低图像中的噪声,二维滤波器计算公式如下:

处理后将获得的图像结果采用Canny算法进行边缘检测,采用的算子为soble:

图像的梯度幅值为:

其中,d

角度计算为:

θ

进行Canny边检检测后进行非极大值抑制(Non-Maximum Suppression),目的在于排除边缘像素,NMS算法本质是搜索局部极大值,抑制非极大值元素,公式如下:

其中,s

将通过Canny处理后得到的图像进行LSD直线检测,其目的在于检测出特定图像中的泥岩容器,算法步骤如下:

下一步通过凸包检测,提取出泥岩容器,获取到泥岩容器后便对容器中的泥岩进行单个裁剪,将容器中的泥岩裁剪为单个图像,并进行后续的岩性检测。

泥岩岩性检测算法是基于卷积神经网络(CNN)算法基础而设计的,由于CNN具有较强的鲁棒性和扛干扰性,因此对于复杂的图像CNN算法具有良好的分类效果,其中岩性检测算法如附图6所示,模型计算如附图7所示。

在泥岩岩性识别模型的计算中,首先是对图像进行卷积计算,主要目的是根据卷积核(kernel)提取出泥岩图像中的特征,卷积的层数越高,提取到的特征就越全局化。对于图中的RGB图像,采用三种独立的2-D kernel。假设单一通道输入图像的空间坐标为(x,y),卷积核大小为p*q,kernal权重为w,图像亮度值为v,卷积过程就是kernel所有权重与其在输入图像上对应元素亮度之和,可以表示为:

根据上面的计算过程,将kernel随(x,y)平移扫描,可以得到输出空间featuremap。

通过卷积计算后,再对得到的feature map进行激活计算,主要作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好地适应复杂的图像。假设激活函数(activation function)是h(*),则计算过程如下:

其中主流的h(*)包含有线性整流单元、Sigmoid函数和tanh函数三类,通过激活函数计算后,就是针对激活的结果进行池化计算(pooling),池化的主要作用是降低featuremaps的特征空间,或者说是降低feature maps的分辨率,从而忽略一些不必要的细节,也是为了在保证准确性的同时加快计算效率。池化操作主要有最大值池化(Max pooling)、平均值池化(Average pooling)和L2池化(L2 pooling),此处采用了最大值池化。

具体计算为:

其中超出feature maps部分用0补齐;

针对上述三种计算过程(卷积、激活和池化)进行排列组合并再次计算,以加强神经网络对图像的理解程度,从而提高模型的准确程度。

最后是全连接计算(fully connected network),主要目的是根据最终得到的池化结果进行排列并计算各种泥岩岩性的概率,对于第l层的第i个神经元,它的输出计算方式为:

考虑activation function之后,对于第l层的第i个神经元,输出是:

a

计算这一层中的所有神经元之后,作为下一层的输入。

在上述的计算基础之上,通过均方误差(Mean Square Error)和K-L散度(K-Ldivergence)来衡量误差:

其中,r

本发明功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

相关技术
  • 一种基于CNN分类算法的泥岩岩性识别系统
  • 一种基于层次Trans-CNN的多标签文本分类算法
技术分类

06120112479396