CN113591680B - 对地质图片钻井经纬度进行识别的方法和*** - Google Patents
对地质图片钻井经纬度进行识别的方法和*** Download PDFInfo
- Publication number
- CN113591680B CN113591680B CN202110859058.1A CN202110859058A CN113591680B CN 113591680 B CN113591680 B CN 113591680B CN 202110859058 A CN202110859058 A CN 202110859058A CN 113591680 B CN113591680 B CN 113591680B
- Authority
- CN
- China
- Prior art keywords
- geological
- picture
- drilling
- training
- target detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000005553 drilling Methods 0.000 title claims abstract description 118
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000001514 detection method Methods 0.000 claims abstract description 105
- 238000012549 training Methods 0.000 claims abstract description 84
- 238000013508 migration Methods 0.000 claims abstract description 16
- 230000005012 migration Effects 0.000 claims abstract description 16
- 238000004088 simulation Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 17
- 230000009466 transformation Effects 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 claims description 11
- 238000013526 transfer learning Methods 0.000 claims description 9
- 238000003062 neural network model Methods 0.000 claims description 8
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 238000011176 pooling Methods 0.000 claims description 7
- 238000013527 convolutional neural network Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 4
- 230000000873 masking effect Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 7
- 238000013135 deep learning Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000002372 labelling Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 239000003129 oil well Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种对地质图片钻井经纬度进行识别的方法和***,涉及目标检测技术领域,该方法包括:提取地质图片上的坐标轴、刻度线和文本数字,对整张图像建立经纬度坐标系;生成大量的包含钻井标志的仿真图片,将其作为目标检测模型的预训练数据集;通过预训练数据集对目标检测模型进行预训练,得到预训练后的预训练模型;收集多张真实地质图片,对这些地质图片的钻井进行人工标注;用标注好的地质图片,对得到的预训练模型进行迁移学习,得到训练后目标检测模型;用训练后目标检测模型,检测地质图片的钻井标志,并且根据建立的坐标系,最终得到钻井的经纬度。本发明能够只需要少量的标注好的图片,就能使模型收敛并且达到良好的检测效果。
Description
技术领域
本发明涉及目标检测技术领域,具体地,涉及关于地质图片里的钻井位置的检测、并且识别钻井的经纬度,尤其是一种对地质图片钻井经纬度进行识别的方法和***。
背景技术
随着这几年地质学的快速发展,人们发现和勘察了许多新的钻井,并发表论文公布科研成果。但是,学者们在撰写论地质文时,常常不在文章中直接表述钻井的经纬度信息,而是在图像里中一种或几种标注表示。一张图片里通常有几十个钻井,读者需要用肉眼去寻找每一个钻井的位置,非常费时费力,而且容易出差错。所以,用目标检测的方法,自动地找出钻井的位置,有着非常重要的应用价值。随着深度学习的发展,目标检测领域从传统的图像处理,过渡到深度神经网络。
公开号为CN105072414B的发明专利,公开了一种目标检测和跟踪方法及***,根据需要跟踪的目标,在一定高度的水平面上设置两台定位摄像机,使两台定位摄像机的视场相交,相交的部分覆盖所要监控的监控区域,同时还设置视场覆盖该监控区域的特写摄像机;标定设备根据设定的目标检测区域,通过标定目标位置与特写摄像机经纬度坐标,建立目标位置与特写摄像机经纬度坐标的映射关系;从而在定位摄像机检测到目标,获取目标位置后,特写摄像机根据建立的映射关系,获取目标位置对应的特写摄像机经纬度坐标,进行跟踪。
比起传统的图像处理技术,深度神经网络能极大地提高检测的效果和鲁棒性。除了需要检测地质图片里的钻井,还需要检测坐标轴、刻度线和数值,才能知道钻井的经纬度。另外,基于深度学习的目标检测需要成千上万的图片进行训练,每张图片都有对上面的钻井进行标注,会带来很大的工作量。这些都给钻井经纬度检测提出了重大挑战。
发明内容
针对现有技术中的缺陷,本发明提供一种对地质图片钻井经纬度进行识别的方法和***。
根据本发明提供的一种对地质图片钻井经纬度进行识别的方法和***,所述方案如下:
第一方面,提供了一种对地质图片钻井经纬度进行识别的方法,所述方法包括:
步骤S1:提取地质图片上的坐标轴、刻度线和文本数字,对整张图像建立经纬度坐标系;
步骤S2:根据已知的钻井标志种类,生成大量的包含钻井标志的仿真图片,仿照真实的地质图片,并且把这些生成得到的仿真图片作为目标检测模型的预训练数据集;
步骤S3:通过预训练数据集对目标检测模型进行预训练,得到预训练后的预训练模型;
步骤S4:收集多张真实地质图片,并对这些地质图片的钻井进行人工标注;
步骤S5:用标注好的地质图片,对步骤S3得到的所述预训练模型进行迁移学习,得到训练后目标检测模型;
步骤S6:用所述训练后目标检测模型,检测地质图片的钻井标志,并且根据步骤S1建立的坐标系,最终得到钻井的经纬度。
优选的,所述步骤S1中用霍夫变换和paddle ocr工具相互辅助,联合两个工具找到的信息,建立经纬度坐标系,具体过程如下:
步骤S1.1:用霍夫变换检测水平和垂直的直线,用来检测坐标轴和刻度线;
步骤S1.2:用paddle ocr工具检测坐标轴附近的数值,这些数值表示刻度线的具体值;
步骤S1.3:设定一个初始阈值,以初始阈值为半径,根据步骤S1.2得到的数值为圆点,寻找这个圆内是否有短直线;
若这个范围以内,有且仅有一条短直线,就把短直线和数值匹配起来;
若没有短直线,适量增大阈值,即增大搜索半径,直到找到一条短直线。
优选的,所述目标检测模型的网络结构为:
特征图提取网络:采取残差神经网络ResNet50,输入图片统一为1920*1440*3;
特征金字塔网络:总共5层,每一层输入信道数分别是[256,512,1024,2048],每一层输出信道数都是256;
候选框推荐网络:RPN网络的anchor尺寸设置为8,长宽比例设置为[0.5,1.0,2.0],每一层特征图对应在原图上的步长设置为[4,8,16,32,64];
最大池化层:输出尺寸是7*7,每一个候选框被池化到7*7大小,然后输入至后面的卷积层进行训练;
卷积神经网络:全连接层的输入信道数是256,输出信道数是1024,有两层共享全连接层,用于分类和位置回归的两个卷积层参数不共享。
优选的,用迁移学习的方法对目标检测模型进行训练,优化目标检测模型的网络参数,具体包括:
步骤S3.1:由计算机生成预训练数据集,模仿真实的地质图片;
步骤S3.2:把所述预训练数据集输入到目标检测模型进行预训练,通过预训练的反向传播算法,初步优化目标检测模型的网络参数;
步骤S3.3:人工标注多张真实的地质图片,作为迁移学习的数据集;
步骤S3.4:把人工标注的数据集输入到预训练得到的预训练模型,进行迁移学习;通过多数的迭代训练,不断优化目标检测模型的参数,得到最终的训练后目标检测模型。
优选的,采用faster rcnn目标检测模型,为二阶段的神经网络模型,预设的损失函数是:
loss=lossrpn+lossrcnn
其中,lossrpn是第一阶段的rpn网络即目标框建议网络的损失函数;
lossrcnn是第二阶段的rcnn网络即区域卷积网络的损失函数;
lossrpn=lossrpn_cls+lossrpn_reg;
lossrcnn=lossrcnn_cls+lossrcnn_reg;
其中,cls代表目标框分类损失,reg代表目标框位置的回归损失。
优选的,所述训练后目标检测模型检测到钻井标志后,需要用霍夫变换提取图片的坐标轴和刻度线,包括:
用掩码遮盖地质图片的中心区域,仅留下地质图片的四周;
用霍夫变换检测水平和垂直的直线,相对长的直线是坐标轴,相对短的直线是刻度线。
优选的,用paddle ocr工具提取坐标轴上的数值,以及钻井的名称,包括:
步骤S6.1:把整张地质图片输入已经调试好的paddle ocr模型,提取图片里所有的文字和数字;
步骤S6.2:把文字和钻井标志匹配起来,得到每一个钻井的名称;
步骤S6.3:把数字和坐标轴的刻度线匹配起来,得到刻度线代表的数值。
优选的,所述文字和钻井标志匹配,以及数值和刻度线匹配,均采取中心点就近匹配原则。
优选的,根据匹配原则对钻井的名称进行判断,设定一个阈值,当钻井标志和文字的最小距离超过一定阈值,则认为这个钻井是没有标记名称的钻井。
第二方面,提供了一种对地质图片钻井经纬度进行识别的***,所述***包括:
模块M1:提取地质图片上的坐标轴、刻度线和文本数字,对整张图像建立经纬度坐标系;
模块M2:根据已知的钻井标志种类,生成大量的包含钻井标志的仿真图片,仿照真实的地质图片,并且把这些生成得到的仿真图片作为目标检测模型的预训练数据集;
模块M3:通过预训练数据集对目标检测模型进行预训练,得到预训练后的预训练模型;
模块M4:收集多张真实地质图片,并对这些地质图片的钻井进行人工标注;
模块M5:用标注好的地质图片,对模块M3得到的所述预训练模型进行迁移学习,得到训练后目标检测模型;
模块M6:用所述训练后目标检测模型,检测地质图片的钻井标志,并且根据模块M1建立的坐标系,最终得到钻井的经纬度。
与现有技术相比,本发明具有如下的有益效果:
1、传统的目标检测网络需要成千上万张标注好的图片训练,而本发明先用计算机生成的图片进行预训练,通过迁移学习的方法,只需要少量的标注好的图片,就能使模型收敛并且达到良好的检测效果;
2、本发明用paddle ocr和霍夫变换提取图片里的坐标信息,结合faster rcnn神经网络模型的检测效果,就可以得知钻井的经纬度信息。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为实施例的总体流程示意图;
图2为实施例中ocr工具的流程图;
图3为实施例的训练过程的损失函数示意图;
图4为实施例的总体功能模块图;
图5为实施例中钻井标志的目标检测模型的结构图;
图6为实施例中特征金字塔和池化层的网络结构示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
需要说明的是,本发明的有些步骤并不是固定的,步骤的顺序可以发生调换但是并不会冲突。另外,本发明进行功能的划分,并且给出了优选的执行顺序,但是这只是执行方案的一种选择,并不限定模块的执行顺序。再者,本发明对模块的划分是基于功能的相似性,功能类似就划分为同一个模块。基于别的划分准则,可能会化为为不同的模块,但是实质是一样的。本发明的钻井经纬度识别模型,也可以改造成其他特定的用途,例如村庄的经纬度识别、地质勘测油井位置识别。
本发明实施例提供了一种对地质图片钻井经纬度进行识别的方法,参照图1所示,该方法具体包括:
步骤S1:用霍夫变换和paddle ocr工具提取地质图片上的坐标轴、刻度线和文本数字,对整张图像建立经纬度坐标系;
步骤S2:根据已知的钻井标志种类,用计算机生成大量的包含钻井标志的仿真图片,仿照真实的地质图片,并且把这些生成得到的仿真图片作为目标检测模型的预训练数据集;
步骤S3:通过预训练数据集对目标检测模型进行预训练,得到预训练后的预训练模型;
步骤S4:收集适量的真实地质图片,并对这些地质图片的钻井进行人工标注;
步骤S5:用标注好的地质图片,对步骤S3得到的所述预训练模型进行迁移学习,得到训练后目标检测模型;
其中,用迁移学习的方法对目标检测模型进行训练,优化目标检测模型的网络参数,具体包括:由计算机生成预训练数据集,模仿真实的地质图片;把预训练数据集输入到目标检测模型进行预训练,通过预训练的反向传播算法,初步优化目标检测模型的网络参数;人工标注多张真实的地质图片,作为迁移学习的数据集;把人工标注的数据集输入到预训练得到的预训练模型,进行迁移学习;通过多数的迭代训练,不断优化目标检测模型的参数,得到最终的训练后目标检测模型。
步骤S6:用所述训练后目标检测模型,检测地质图片的钻井标志,并且根据步骤S1建立的坐标系,最终得到钻井的经纬度。
在步骤S1中用霍夫变换和paddle ocr工具相互辅助,联合两个工具找到的信息,建立经纬度坐标系,具体过程如下:
用霍夫变换检测水平和垂直的直线,用来检测坐标轴和刻度线;但是由于刻度线比较短,所以很可能检测到许多短直线,有的短直线代表刻度线,有的短直线代表其他内容;
用paddle ocr工具检测坐标轴附近的数值,这些数值表示刻度线的具体值;
设定一个初始阈值,以初始阈值为半径,根据得到的数值为圆点,寻找这个圆内是否有短直线;若这个范围以内,有且仅有一条短直线,就把短直线和数值匹配起来;若没有短直线,适量增大阈值,即增大搜索半径,直到找到一条短直线。
目标检测模型的网络结构为:
特征图提取网络:采取残差神经网络ResNet50,输入图片统一为1920*1440*3;
特征金字塔网络:总共5层,每一层输入信道数分别是[256,512,1024,2048],每一层输出信道数都是256;
候选框推荐网络:RPN网络的anchor尺寸设置为8,长宽比例设置为[0.5,1.0,2.0],每一层特征图对应在原图上的步长设置为[4,8,16,32,64];
最大池化层:输出尺寸是7*7,每一个候选框被池化到7*7大小,然后输入至后面的卷积层进行训练;
卷积神经网络:全连接层的输入信道数是256,输出信道数是1024,有两层共享全连接层,用于分类和位置回归的两个卷积层参数不共享。
采用faster rcnn目标检测模型,为二阶段的神经网络模型,预设的损失函数是:
loss=lossrpn+lossrcnn
其中,lossrpn是第一阶段的rpn网络即目标框建议网络的损失函数;
lossrcnn是第二阶段的rcnn网络即区域卷积网络的损失函数;
lossrpn=lossrpn_cls+lossrpn_reg;
lossrcnn=lossrcnn_cls+lossrcnn_reg;
其中,cls代表目标框分类损失,reg代表目标框位置的回归损失。
在步骤6中,训练后目标检测模型检测到钻井标志后,需要用霍夫变换提取图片的坐标轴和刻度线,包括:
因为坐标轴和刻度线通常在图片的四周,所以先用掩码遮盖地质图片的中心区域,仅留下地质图片的四周;
用霍夫变换检测水平和垂直的直线,相对长的直线是坐标轴,相对短的直线是刻度线。
参照图2所示,用paddle ocr工具提取坐标轴上的数值,以及钻井的名称,包括:
把整张地质图片输入已经调试好的paddle ocr模型,提取图片里所有的文字和数字;
把文字和钻井标志匹配起来,得到每一个钻井的名称;
把数字和坐标轴的刻度线匹配起来,得到刻度线代表的数值。
本实施例中采用的文字和钻井标志匹配,以及数值和刻度线匹配,均采取中心点就近匹配原则。
例如,钻井标志的检测框中心点代表它的具***置,文字检测框中心点代表它的具***置,以中心点的欧几里得距离最短,作为匹配规则。同样的,数字和刻度线的匹配,也是采取这个匹配规则。
另外,有些钻井没有标记名称,所以设定一个阈值,当钻井标志和文字的最小距离超过一定阈值,就认为这个钻井是没有标记名称的。
根据匹配原则对钻井的名称进行判断,设定一个阈值,当钻井标志和文字的最小距离超过一定阈值,则认为这个钻井是没有标记名称的钻井。
以下对本发明具体的叙述:
在一张图像上,用计算机随机生成钻井标志,例如三角形、五角星等,另外在背景中加入随机干扰,比如随机的曲线和文字,总共需要生成一万张图片。
把生成的图像,用于初步训练钻井标志检测的模型。
人工标注几百张地质图像,对2得到的钻井标志检测的模型进行迁移学习,优化网络模型的参数。
用得到的网络模型,检测地质图片上的钻井位置。
用开源的paddle OCR提取地质图片上的文字和数字,比如图例的文字、坐标轴上的数字。
用霍夫变换提取地质图片坐标轴上的刻度线。
综合以上提取到的信息,得到钻井的经纬度坐标。
钻井标志检测网路结构采用的是faster rcnn目标检测模型,按计算单元处理顺序为:
一、在生成图像特征图时,采用的是残差神经网络ResNet50。
二、在RPN网络阶段,anchor的设置参数是[8,16,32,64,128],长宽比例设置为[0.5,1,2]。
三、在RCNN网络阶段,采用最大池化,池化窗口是7*7。
四、在卷积层,输入尺寸是256*7*7,输出是标志的种类和位置。
五、预设置的损失函数是Loss=lossrpn_cls+lossrpn_reg+lossrcnn_cls+lossrcnn_reg。
在一个优选实施方案中,需要计算机随机生成钻井标志图像进行预训练,背景加入随机干扰。在生成图片时,同时会记录钻井标志的种类和位置信息。所以生成的图片是计算机自动标注好的,用于监督学习预训练。具体细节是:
图像大小是1920*1440,随机生成20到50个标志,标志种类也是随机的,像素大小是5到20的随机整数。并且加入10条随机的曲线,宽度是1到3的随机值,长度为500像素。
另外,计算机生成的图片需要加入10组随机的英文文字。这些曲线和文字相当于随机噪声,因为真实地质图像的钻井标志旁边常常有文字和曲线,预训练生成的图像要尽可能模拟真实的地质图片。总共生成一万张图片,按照5:3:2的比例划分为训练集,验证集,测试集。
在一个优选实施方案中,需要人工标注400张真实的地质图像,对神经网络模型进行迁移学习。标注方案是采用开源的labelImg工具,框出图片里的钻井标志,并且标记钻井的种类。常见的钻井标志有小圆点、三角形、正方形和五角星等等。模型检测的性能参照表1所示:
表1:
指标 | [email protected] | [email protected] | mAP |
预训练数据集 | 0.937 | 0.845 | 0.679 |
人工标注数据集 | 0.692 | 0.288 | 0.345 |
在地质图片中,不同类型的钻井标志的数目不一样,我们标注了四百张图片,并且统计了这些标志的数目、召回率、精准率。如表2所示,由于钻井标志的数目不平衡,有些钻井标志占的比例太少,所以精准率偏低:
表2:
在人工标注钻井时,有时候钻井标志太拥挤,存在互相遮挡的情况,我们对于这种区域用忽略框标注。被忽略框标注的区域,不参与模型的训练,也不参与模型的指标评估。图片种小圆点、三角形不代表钻井,而是代表其他的意思,对于这块区域,我们也用忽略框标注。
需要说明的是,钻井检测的模型在训练之前,要指定钻井标志的所有种类。所以,如果需要添加新的钻井标志种类,需要重新训练一次,经过如下两个步骤:
步骤一:用计算机重新生成预训练的图片集,加入新的钻井标志,并且用这个数据集对模型预训练,预训练的损失如附图3所示。
步骤二:用labelImg工具在真实地质图片上标注出新的钻井标志,并且用标注好的地质图片集对步骤一得到的神经网络模型进行迁移学习。
钻井标志的检测模型采用的是faster rcnn目标检测模型,为了应对多尺度变化,还加入了FPN特征金字塔网络。在参数设置里,特征金字塔网络共有五层,每一层特征图对应在原图上的步长设置为[4,8,16,32,64]。钻井标志主要属于小目标检测,所以信息主要集中在特征金字塔网络的前两层。
除了识别钻井标志,还需要识别地质图片的经纬度坐标轴、刻度线和数值。本发明实现的方案中,在识别坐标轴和刻度线线时,采用霍夫变换。具体处理如下:
先对图像做均值滤波,滤出噪声干扰。因为坐标轴和刻度线在地质图片的边缘,图片中心的区域不存在坐标轴和刻度线,所以先遮掩掉图片百分之90的中心矩形区域。用霍夫变换提取水平和垂直的直线,得到坐标轴和刻度线。
本发明还需要检测坐标轴上的经纬度数值,具体方案是:
下载和安装开源的paddle ocr工具,并且下载好多语言检测模型和识别模型。
对图像进行均值滤波,并且遮掩掉图像里百分之90的中心区域,因为只需要检测坐标轴附近的数值。
把遮掩后的图像输入到paddle ocr的数字检测和识别模型,得到数字的具体值和位置。
从上述方案里,可以分别检测出地质图片的钻井标志、坐标轴和刻度线、刻度线附近的数值,接下来就是把这些信息匹配起来。本发明采取的优选方案为:
首先通过霍夫变换提取坐标轴刻度线,通过paddle ocr提取图片里坐标轴的数值。根据提取到的坐标轴、刻度线、经纬度数值,建立整张图片的坐标轴,这样的话,对于图片里的任何一个点,都能准确知道它的坐标。
其次,通过faster rcnn神经网络模型,检测钻井标志的目标框,用目标框的中心坐标表示钻井的位置。
最后根据建立的坐标系、得到的钻井标志位置,可以最终得到钻井的经纬度信息。
接下来,对本发明进行更为具体的说明:
由于操作者的习惯不同,所绘的地质论文钻井标志也会不一样。比如有小圆点、正方形、三角形、倒三角等等形状。本发明采取的实施方案里,已经把常见的标志都加入了训练,模型能检测和识别常见的图标。
如附图1和附图4所示,在本发明的优选实施方案里,模型主要包括三个部分:钻井标志检测和识别、坐标轴和刻度线检测和识别、文本和数字检测和识别。
钻井标志检测和识别,采用的是目标检测的模型。目标检测有两种方案,一种是基于数字图像处理的传统目标检测方法,一种是基于深度学习的目标检测方法。
基于深度学习的目标检测算法准确率大幅度提高、检测速度大幅度提升,但是需要标注好的数据集进行模型训练。
基于深度学习的目标检测算法主要分为两种:一阶段检测算法,例如yolo算法,全称是you only look once,指只浏览一次图片并且检测出目标,常常被应用在实时目标检测领域,优点是检测速度更快;二阶段检测算法,例如faster rcnn算法,指的是“更快的区域卷积网络”,由于该算法加入了区域建议网络,所以相当于检测目标时浏览了两次图片,优点是准确率更高。
正如附图5所示,在一个优质实施方案里,采用的目标检测模型是faster rcnn,并且搭配上特征金字塔网络,能够识别多尺度的钻井标志。其网络结构为:
输入图片的大小都调整为1920*1440*3,残差神经网络ResNet50作为特征提取网络,把地质图片输入到resNet50得到特征图。
如附图6所示,为了预测多尺度的钻井标志,采用了特征金字塔结构特征金字塔结构融合了五层预测特征层的特征。小目标的特征在底层预测特征层,大目标的特征在高层预测特征层。每一层预测特征层上的点对应到原图上的步长设置为[4,8,16,32,64]。
建议框生成网络的anchor生成器,它的anchor大小设置为8,并且长宽比例设置为[0.5,1,2],所以每一个预测特征层的点会生成三种anchor,长宽尺寸分别是5.65*11.3、8*8、11.3*5.65。因为有5层预测特征层,所以一个点总共生成3*5=15个anchor。
根据生成的建议框,提取特征图的区域,然后做7*7最大池化,然后输入到卷积神经网络。卷积神经网络前面有两层全连接层,参数是共享的。最后一层卷积层分为两条支路,一条支路用于钻井目标框的回归,另外一条支路用于钻井目标框的分类,这两条支路的参数不共享。
关于钻井标志检测和识别,因为目标检测模型训练需要大量标注好的图片,如果直接标注大量地质图片,那么需要耗费相当大的时间和精力。所以适合采取迁移学习的方案,先用计算机生成大量的包含钻井标志和位置标注的图片,作为预训练数据集,用这些图片对目标检测模型进行预训练。然后人工标注少量的地质图片,再用这些图片对目标检测模型进行迁移学习。
在本发明的优选实施方案里,计算机生成预训练数据集的钻井标志,有两种生成方案:
方案一:人工定义钻井标志的生成规则。例如,如果需要生成五角星形状的钻井标志,可以写一个函数,它的功能是在图片上生成一个五角星。
方案二:复制真实地质图片里的图例。把地质图片的钻井标志裁剪出来,作为模板,以一定的大小比例把模板复制到生成的图片上。
上述的两种方案都有着各自的优缺点:方案一生成的钻井标志比较纯净,不含背景噪声,而且容易修改,都是难以生成复杂的钻井标志;方案二可以生成复杂的图片,但是在裁剪模板的过程中容易引入背景噪声。
本发明选取的实施方案,将上述的方案一和方案二结合起来,用方案一生成简单的钻井标志,用方案二生成复杂的钻井标志。
用计算机生成的图片对模型预训练之后,需要人工标注一些地质图片,对模型进行迁移学习。
人工标注地质图片需要用到标注工具,在本发明的优选实施方案用到的标志工具是labelImg,具体步骤如下:
步骤1:创建一个txt文本,里面保存所有的钻井标志种类名称,txt文件的每一行代表一个种类。
步骤2:指定需要标注的图片路径,类别名称的txt文本路径,以及已经标注文件的保存路径,然后打开labelImg标注工具。
步骤3:框出钻井标志,并且指定它的种类。同时,对于过于拥挤的钻井标志区域,用一个框标记,划分为忽略区域,不参与模型的训练。
需要注意的是,忽略区域是一种特殊的区域。例如,一张地质图片用小圆点表示钻井,但是图片里有些圆点不代表钻井,代表一个城市或者岛屿。这些不代表钻井的圆点,在模型训练时不能作为正样本也不能作为负样本。所以,把这些圆点用一个框标记出来。
忽略区域不参与模型的训练,同样地,也不参与模型性能的评估。
在预训练后,目标检测模型已经能检测和识别钻井标志。但是,计算机生成的预训练图片的背景和地质图片背景有很大区别,本发明里的迁移学习主要是提高模型对地质图片背景的识别能力。在迁移学习时,模型把地质图片背景当作负样本进行训练。训练完成后,模型能在正确区分正负样本,在地质图片上找出钻井标志。
本发明中的方案里,需要提取地质图片的坐标轴和刻度线,由于坐标轴常常在地质图片的四周,而且是直线。这种直线用传统数字图像处理的方法就能检测,不需要用深度学习的方法。
检测和识别坐标轴和刻度线的一个优选方案,是先遮挡住图像大部分的中心区域,仅仅检测图片的四周,用霍夫变换检测垂直和水平的直线。首先用霍夫变换检测很长的直线,这种直线很少,一般是坐标轴。然后用霍夫变换检测短的直线,除了刻度线是短线段,有的干扰线段也会被检测成刻度线。所以可以通过检测到的坐标轴联合判断,离坐标轴远的线段就舍去,离坐标轴近的短线段判定为刻度线。
如附图4所示,检测数值也是钻井经纬度检测的重要一部分,目前网络上有许多开源的图片文字和数字的识别工具,可以直接拿来使用。本发明在实施方案里,采用的是百度的文字识别工具paddle ocr。它的优点是轻量级,模型只有一百多兆,但是却有不错的识别效果,能检测和识别地质图片的文字和数字。
需要说明的是,本发明的实施方案只是限定了一个用paddle ocr工具提取图片数字的功能模块,并不限定具体使用哪一个paddle ocr工具。比如,除了用百度的paddle ocr提取图片数字,还可以用谷歌的paddle ocr工具。
在地质图片中,经纬度数值除了数字,还往往有右上标的度数符号,paddle ocr工具经常把度数符号识别成字母O或者数字0。但是,只要加入判定规则,对识别到的数值进行综合判断,就能把字母O或者数字0还原成度数符号。判定规则如下:
数字旁边的字母O直接当成度数符号。如果是数字0:若0不在末尾,则是数值0,不是度数符号。如果数字0在末位,需要判定该数值大小,经纬度数值是-180到180,或者0到360,如果数值不在这个范围内,那么就把0当作度数符号。
虽然paddle ocr有时候分不清数字0、字母O、度数符号,但是好在经纬度是有规律的,只要加入匹配规则,这个问题不会影响最终的结果。
经纬度数值旁边常常有字母N/S/W/E,代表四个方位,这四种字母容易被paddleocr识别,不会出现误判的情况。
如上所述,本发明的方法由三个部分组成:钻井标志的检测、坐标轴和刻度线的检测、文本和数字的检测。这三个部分不是完全分离的,而是相辅相成的。例如,识别钻井标志后需要识别钻井的名称,所以需要提取钻井周围的文字。另外,有些钻井没有标记名称,所以设定一个阈值,当钻井标志和文字的最小距离超过一定阈值,就认为这个钻井是没有标记名称的。
在检测刻度线时,由于刻度线比较短,容易检测不出来,所以采用paddle ocr工具检测数值,用来辅助刻度线的检测。当检测到的短线段太少(检测不到刻度线)或者太多(太多的噪声干扰),一种解决方案是把数值的中心点坐标当成刻度线的坐标。具体步骤如下:
1、用掩码遮掩图片的中心区域,因为坐标轴和数值通常在图片的四周。
2、用paddle ocr提取图片四周的数字,并且得到数字的目标框。
3、计算目标框的中心点,把中心点的坐标当成刻度线的位置。
在检测图片四周的数字时,有些数字不一定代表刻度线的数值,可能代表其它的含义。例如,有的数字代表钻井的编号。因为刻度线的数值通常在一条直线上,所以利用这个规律,可以判定哪些数字代表刻度线数值,具体步骤如下:
根据掩码,把图片上检测到的数值分为四类:左边的数值,右边的数值,上边的数值,下边的数值。
以左边的数值为例,用直线回归的方法,判断这些数值是否在一条直线上,除去距离直线太远的点。
根据左边的数值或者右边的数值,得到纵向的纬度坐标轴。根据上边的数值或者下边的数值,得到横向的经度坐标轴。
根据纬度坐标轴和经度坐标轴,建立整张图片的坐标系。
地质图片钻井经纬度检测可以作为图文数一体化的一部分,例如,检测得到的钻井经纬度信息,可以和地质论文的文本信息进行综合分析。图片、文本、数字等各个信息相互补充,例如,文章里提到了某一个钻井的名称,以及它的勘测信息,但是没有说具体在哪个位置,这时,钻井的经纬度信息可以通过本发明的方法提取并且处理。
本发明实施例提供了一种对地质图片钻井经纬度进行识别的方法和***,用计算机生成的图片进行预训练,通过迁移学习的方法,只需要少量的标注好的图片,就能使模型收敛并且达到良好的检测效果;且本发明用paddle ocr和霍夫变换提取图片里的坐标信息,结合faster rcnn神经网络模型的检测效果,就可以得知钻井的经纬度信息。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的***及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的***及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的***及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (9)
1.一种对地质图片钻井经纬度进行识别的方法,其特征在于,包括:
步骤S1:提取地质图片上的坐标轴、刻度线和文本数字,对整张图像建立经纬度坐标系;
步骤S2:根据已知的钻井标志种类,生成大量的包含钻井标志的仿真图片,仿照真实的地质图片,并且把这些生成得到的仿真图片作为目标检测模型的预训练数据集;
步骤S3:通过预训练数据集对目标检测模型进行预训练,得到预训练后的预训练模型;
步骤S4:收集多张真实地质图片,并对这些地质图片的钻井进行人工标注;
步骤S5:用标注好的地质图片,对步骤S3得到的所述预训练模型进行迁移学习,得到训练后目标检测模型;
步骤S6:用所述训练后目标检测模型,检测地质图片的钻井标志,并且根据步骤S1建立的坐标系,最终得到钻井的经纬度;
其中,用迁移学习的方法对目标检测模型进行训练,优化目标检测模型的网络参数,具体包括:
步骤S3.1:由计算机生成预训练数据集,模仿真实的地质图片;
步骤S3.2:把所述预训练数据集输入到目标检测模型进行预训练,通过预训练的反向传播算法,初步优化目标检测模型的网络参数;
步骤S3.3:人工标注多张真实的地质图片,作为迁移学习的数据集;
步骤S3.4:把人工标注的数据集输入到预训练得到的预训练模型,进行迁移学习;通过多数的迭代训练,不断优化目标检测模型的参数,得到最终的训练后目标检测模型。
2.根据权利要求1所述的对地质图片钻井经纬度进行识别的方法,其特征在于,所述步骤S1中用霍夫变换和paddle ocr工具相互辅助,联合两个工具找到的信息,建立经纬度坐标系,具体过程如下:
步骤S1.1:用霍夫变换检测水平和垂直的直线,用来检测坐标轴和刻度线;
步骤S1.2:用paddle ocr工具检测坐标轴附近的数值,这些数值表示刻度线的具体值;
步骤S1.3:设定一个初始阈值,以初始阈值为半径,根据步骤S1.2得到的数值为圆点,寻找这个圆内是否有短直线;
若这个范围以内,有且仅有一条短直线,就把短直线和数值匹配起来;
若没有短直线,适量增大阈值,即增大搜索半径,直到找到一条短直线。
3.根据权利要求1所述的对地质图片钻井经纬度进行识别的方法,其特征在于,所述目标检测模型的网络结构为:
特征图提取网络:采取残差神经网络ResNet50,输入图片统一为1920*1440*3;
特征金字塔网络:总共5层,每一层输入信道数分别是[256,512,1024,2048],每一层输出信道数都是256;
候选框推荐网络:RPN网络的anchor尺寸设置为8,长宽比例设置为[0.5,1.0,2.0],每一层特征图对应在原图上的步长设置为[4,8,16,32,64];
最大池化层:输出尺寸是7*7,每一个候选框被池化到7*7大小,然后输入至后面的卷积层进行训练;
卷积神经网络:全连接层的输入信道数是256,输出信道数是1024,有两层共享全连接层,用于分类和位置回归的两个卷积层参数不共享。
4.根据权利要求1所述的对地质图片钻井经纬度进行识别的方法,其特征在于,采用faster rcnn目标检测模型,为二阶段的神经网络模型,预设的损失函数是:
=/>+/>
其中,是第一阶段的rpn网络即目标框建议网络的损失函数;
是第二阶段的rcnn网络即区域卷积网络的损失函数;
=/>+/>;
=/>+/>;
其中,cls代表目标框分类损失,reg代表目标框位置的回归损失。
5.根据权利要求1所述的对地质图片钻井经纬度进行识别的方法,其特征在于,所述训练后目标检测模型检测到钻井标志后,需要用霍夫变换提取图片的坐标轴和刻度线,包括:
用掩码遮盖地质图片的中心区域,仅留下地质图片的四周;
用霍夫变换检测水平和垂直的直线,相对长的直线是坐标轴,相对短的直线是刻度线。
6.根据权利要求5所述的对地质图片钻井经纬度进行识别的方法,其特征在于,用paddle ocr工具提取坐标轴上的数值,以及钻井的名称,包括:
步骤S6.1:把整张地质图片输入已经调试好的paddle ocr模型,提取图片里所有的文字和数字;
步骤S6.2:把文字和钻井标志匹配起来,得到每一个钻井的名称;
步骤S6.3:把数字和坐标轴的刻度线匹配起来,得到刻度线代表的数值。
7.根据权利要求6所述的对地质图片钻井经纬度进行识别的方法,其特征在于,所述文字和钻井标志匹配,以及数值和刻度线匹配,均采取中心点就近匹配原则。
8.根据权利要求7所述的对地质图片钻井经纬度进行识别的方法,其特征在于,根据匹配原则对钻井的名称进行判断,设定一个阈值,当钻井标志和文字的最小距离超过一定阈值,则认为这个钻井是没有标记名称的钻井。
9.一种对地质图片钻井经纬度进行识别的***,其特征在于,包括:
模块M1:提取地质图片上的坐标轴、刻度线和文本数字,对整张图像建立经纬度坐标系;
模块M2:根据已知的钻井标志种类,生成大量的包含钻井标志的仿真图片,仿照真实的地质图片,并且把这些生成得到的仿真图片作为目标检测模型的预训练数据集;
模块M3:通过预训练数据集对目标检测模型进行预训练,得到预训练后的预训练模型;
模块M4:收集多张真实地质图片,并对这些地质图片的钻井进行人工标注;
模块M5:用标注好的地质图片,对模块M3得到的所述预训练模型进行迁移学习,得到训练后目标检测模型;
模块M6:用所述训练后目标检测模型,检测地质图片的钻井标志,并且根据模块M1建立的坐标系,最终得到钻井的经纬度;
其中,用迁移学习的方法对目标检测模型进行训练,优化目标检测模型的网络参数,具体包括:
模块M3.1:由计算机生成预训练数据集,模仿真实的地质图片;
模块M3.2:把所述预训练数据集输入到目标检测模型进行预训练,通过预训练的反向传播算法,初步优化目标检测模型的网络参数;
模块M3.3:人工标注多张真实的地质图片,作为迁移学习的数据集;
模块M3.4:把人工标注的数据集输入到预训练得到的预训练模型,进行迁移学习;通过多数的迭代训练,不断优化目标检测模型的参数,得到最终的训练后目标检测模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110859058.1A CN113591680B (zh) | 2021-07-28 | 2021-07-28 | 对地质图片钻井经纬度进行识别的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110859058.1A CN113591680B (zh) | 2021-07-28 | 2021-07-28 | 对地质图片钻井经纬度进行识别的方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113591680A CN113591680A (zh) | 2021-11-02 |
CN113591680B true CN113591680B (zh) | 2023-11-21 |
Family
ID=78251277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110859058.1A Active CN113591680B (zh) | 2021-07-28 | 2021-07-28 | 对地质图片钻井经纬度进行识别的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113591680B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451602A (zh) * | 2017-07-06 | 2017-12-08 | 浙江工业大学 | 一种基于深度学习的果蔬检测方法 |
CN110298353A (zh) * | 2019-07-03 | 2019-10-01 | 中国农业银行股份有限公司 | 一种字符识别方法及*** |
CN112196517A (zh) * | 2019-11-26 | 2021-01-08 | 中国科学院地质与地球物理研究所 | 一种基于图像识别的钻井标定方法、装置、设备及介质 |
CN113033482A (zh) * | 2021-04-20 | 2021-06-25 | 上海应用技术大学 | 一种基于区域注意力的交通标志检测方法 |
-
2021
- 2021-07-28 CN CN202110859058.1A patent/CN113591680B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451602A (zh) * | 2017-07-06 | 2017-12-08 | 浙江工业大学 | 一种基于深度学习的果蔬检测方法 |
CN110298353A (zh) * | 2019-07-03 | 2019-10-01 | 中国农业银行股份有限公司 | 一种字符识别方法及*** |
CN112196517A (zh) * | 2019-11-26 | 2021-01-08 | 中国科学院地质与地球物理研究所 | 一种基于图像识别的钻井标定方法、装置、设备及介质 |
CN113033482A (zh) * | 2021-04-20 | 2021-06-25 | 上海应用技术大学 | 一种基于区域注意力的交通标志检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113591680A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108830188B (zh) | 基于深度学习的车辆检测方法 | |
CN111095296B (zh) | 使用机器学习对字符串进行分类 | |
CN109726643B (zh) | 图像中表格信息的识别方法、装置、电子设备及存储介质 | |
CN111259210B (zh) | 用于从管道和仪表图中自动化提取信息的***和方法 | |
Kim et al. | Multi-task convolutional neural network system for license plate recognition | |
CN105574550A (zh) | 一种车辆识别方法及装置 | |
Jiao et al. | A survey of road feature extraction methods from raster maps | |
CN112132014A (zh) | 基于非督导金字塔相似性学习的目标重识别方法及*** | |
CN105512657A (zh) | 字符识别方法和设备 | |
CN112119397A (zh) | 使用机器学习的管道及仪表流程图信息的分类 | |
CN112686242B (zh) | 一种基于多层聚焦注意力网络的细粒度图像分类方法 | |
CN109753962B (zh) | 基于混合网络的自然场景图像中文本区域的处理方法 | |
CN114677646A (zh) | 一种基于Vision Transformer的跨域行人重识别方法 | |
CN111008576A (zh) | 行人检测及其模型训练、更新方法、设备及可读存储介质 | |
CN112990282B (zh) | 一种细粒度小样本图像的分类方法及装置 | |
Unsalan et al. | Classifying land development in high-resolution satellite imagery using hybrid structural-multispectral features | |
CN112347997A (zh) | 一种试题检测识别方法、装置、电子设备及介质 | |
CN114120345A (zh) | 信息提取方法、装置、设备及存储介质 | |
CN110309825A (zh) | 一种复杂背景下的维吾尔文检测方法、***及电子设备 | |
CN112418207A (zh) | 一种基于自注意力蒸馏的弱监督文字检测方法 | |
CN110287970B (zh) | 一种基于cam与掩盖的弱监督物体定位方法 | |
CN113591680B (zh) | 对地质图片钻井经纬度进行识别的方法和*** | |
CN114359912B (zh) | 基于图神经网络的软件页面关键信息提取方法及*** | |
CN116246161A (zh) | 领域知识引导下的遥感图像目标精细类型识别方法及装置 | |
CN114783042A (zh) | 基于多移动目标的人脸识别方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |