基于Grabcut的井道图像抽析系统的设计与实现*
2019-12-18王思怡何小海卿粼波罗彬彬
王思怡,何小海,卿粼波,罗彬彬
(1.四川大学 电子信息学院,四川 成都 610065;2.成都西图科技有限公司,四川 成都 610065)
0 引言
近年来,随着油气勘探技术的不断演进,地质学家推出了新的测井技术——地层微电阻成像(Formation MicroScanner Image,FMI),此技术不但可以提供直观可靠的地层定性解释信息,还能够从中提取定量参数来完成储层评价[1]。为了后续处理和展示地质信息,就需要利用图像分割技术将FMI井道以及核磁共振井道图像内的有效信息从背景中分离出来进行提取。目前井道图像信息提取通常采取的算法有轮廓提取算法,该方法提取出的区域块较零散,并且通过膨胀腐蚀的预处理操作之后,数据区域颜色骤变面积偏大,得到区块数量较多,无法区分出需要的区块,同时多次进行膨胀腐蚀得到的边界相对粗糙,会出现部分区域多余或者丢失[2]。除此之外,还可使用阈值分割算法完成井道图像的分割,李雪英等首先选取这一方法对成像测井图像进行了分割,在选取阈值之前还进行了滤波去噪的预处理工作[3];赵军等也在大量研究奇异点多阈值分割算法、图像间模糊散度的阈值化等算法的基础上,将地层中的目标项从复杂的背景中分离[1];何风等对蚁群优化的最大类间方差法的图像分割算法进行了大量研究,提升了算法性能[4];柯式镇等也选择采用双阈值分割法进行图像分割处理[5]。但是阈值分割算法仍存在不可避免的问题:需要通过大量实验选取合适的阈值,人工耗费量大,且分离出的区域零散;当与背景存在粘连现象时,分割效果差,分割出的井道不完整会影响后续处理和展示地质信息以及参数的计算[3]。
综上分析,目前井道抽析通常采取的分割方法仍存在用户交互复杂以及处理精确度方面的不足,因此本文详细阐述了基于Grabcut算法的图像抽析系统的设计和实现,介绍了其三个子模块实现过程中的技术问题,提出了采用结合Grabcut算法精确分割的井道图像抽析方法。该系统已经被相关油田部门采用,并得到了专家的认可。
1 系统整体架构概述
1.1 系统需求与流程设计
为了方便油田部门系统的信息展示以及数据管理,井道图像抽析系统要实现的功能有:定位并识别井道文字信息,如井名、井段、井深以及图片比例等,如图1(a)箭头所指;分割井道中的图像道以及头部条形色道,如图1(b)箭头所指;将所有图片存储在本地并将数据信息入库。
图1 待处理井道图片
基于对抽析系统的需求分析,本系统主要分为以下三个模块:光学字符识别(Optical Character Recognition,OCR)文字解析模块、井道图像分割模块以及数据库存储模块,实现了从井道图中解析所需文字信息,将识别的图像道和图像道表头中的色带信息提取后分别存储于本地,而后对提取的图片进行规定比例尺的抽析,再将所有信息存入本地数据库的流程。系统流程如图2所示。
图2 系统流程图
1.2 系统模块技术实现
1.2.1 文字解析模块
文字解析模块实现了所需文字提取,由于井道图片文字信息除包含的井名、井号、井道比例以及起止深度、终止深度等有效信息外,还包含了其他繁琐的干扰信息,因此整个文字提取过程较为复杂,故本系统采取OCR算法进行井道文字提取。本系统基于HP公司开发的Tesseact-ocr库从图像中提取文本,文字解析流程可以概括为:首先记录包含文字信息的感兴趣区域(Region Of Interest,ROI)区域坐标,截取特定区域ROI后使用OpenCV颜色空间转换函数cvtColor将该区域转化为灰度图像,继而使用threshold函数设定阈值后实现图片二值化,至此,预处理部分完成。经过预处理的图像大大减少了无效复杂信息的干扰,可更好地反映图像局部特征。预处理后使用tesseract方法将处理后的图片转化为txt文件再通过OCR库进行识别。在OCR库提取完所有文字信息之后,通过GetInfoByRegex()进行特殊格式文字的正则匹配。至此便可以精准快速地提取所需文字信息。
1.2.2 井道图像分割模块
井道图像分割模块将所需提取的图像道分割处理,如何有效地从井道图像的干扰信息中精准提取出目标图像是本文重点讨论的问题,在分析现有方法的不足后,选择采用改进的Grabcut算法实现。基于Grabcut算法的改进方法以及操作步骤将在下一节详细阐述。
1.2.3 数据库存储模块
数据库作为主要的数据存储单元,对系统的并发量、稳定性、数据的安全性、操作的流畅性都起着重要的作用。数据库存储模块负责保存图像抽析的关键信息,考虑到数据量规模大需要批量导入的特性以及日常维护的便利,本系统选择使用轻量、可以兼容主流操作系统、使用方便的MySQL数据库存储相关数据以便后续网页端的调用。根据需要存取的信息设计数据表,表中主要包含图像类型、井名、井号、深度、图片存储地址等字段,并将井名设为主键以加快数据库操作速度。存储模块对上述两个模块处理后得到的结果,如井名、井号、井道起止深度以及各个缩放规格的井道图的存储路径可进行增、删、查、改等操作,用户在连接服务器后即可使用Navicat在本地对数据库进行管理。
2 井道图像分割实现
井道图像分割包含头道色带的提取和图像道的提取。井道图像可分为曲线道、深度道以及图像道。如图1(b)所示,需要分割的图像道较其他部分颜色以及纹理特征突出,不像其他区域像素多为黑白,图像道区域像素值分布广泛且颜色骤变明显,因此使用现有的轮廓提取和阈值分割算法会出现分割区域零散、边界模糊而导致误分割等情况。本系统针对这一问题,提出采取Grabcut算法来首先确定需要分割的数据部分,并在Grabcut分割后结合灰度化、最大类间方差算法[6](Otsu)进行图像二值化、遍历像素点寻找边界等处理来精确分割井道图像。
2.1 Grabcut算法简介
Grabcut算法在交互式图像分割领域影响极其深刻,该算法通过矩形框标出目标区域,对前景以及背景颜色空间建立了高斯混合模型GMM,用GMM参数进行学习并且估计过程中可进化的迭代算法,而后用其取代一次最小估计来完成能量最小化[7]。Grabcut算法将图像映射为网络图s-t图[8],如图3所示,其中s表示前景终点,t表示背景终点。边集中包含s、t与其他节点的相连边以及相邻节点之间边,边的权值则是像素与前景背景的相似度和相邻像素点之间差异的反映,它是由k-means算法初始化GMM模型后计算得出的[7]。在构造s-t图后,用最大流-最小割算法进行切分,而后用切分结果作为下次迭代的初始标签,通过迭代不断更新,优化GMM参数,使能量函数收敛于最小值,因此就可以将图像的分割问题转化为能量函数的最小问题。
图3 s-t图
能量函数表示如式(1):
(1)
2.2 图像切割模块设计及实现
图像切割模块的程序流程图如图4所示。
图4 图像切割模块的程序流程图
2.2.1 基于Grabcut算法确定数据
将需要提取的井道数据部分用矩形框圈定,矩形框外像素被标定为背景,框内像素标定为所需前景。使用Grabcut函数根据传入的所需参数,进行前景背景分离操作。而后将生成的结果保存在掩膜mask中,使得背景被置为0,前景被置为1。接着经过不断地迭代筛选,将mask作为掩码,把筛选出来的前景复制到目标图像中并将目标图像显示出来。以上操作可以最大化地保留目标井道的图像而消除井道噪声以及井道干扰。原始图和Grabcut算法分割结果图分别如图5(a)、(b)所示。
2.2.2 结合Otsu算法准确提取目标
将分割后提取的数据部分进行下一步确定轮廓的预处理,通过bitwise_not方法进行颜色反转以改变背景色,转化为灰度图后采取Otsu二值化算法[6]进一步处理。Otsu二值化算法可以免去人工实验测试合适阈值的繁琐步骤,处理后的图片信息量减少,图片被稳定地分为前景和背景两大类,可以更容易提取出井道轮廓。框定当前数据区域,对整个数据区域像素点逐个遍历,并对灰度值小于10的点进行计数,若计数点占列总数大于65%即认为该列为黑边,记录x轴坐标,通过判断像素点的范围,找出数据区上下边界坐标并进行切割。
2.2.3 表头提取
据图像特征的观察,表头轮廓为粗黑边的矩形区域。由于每张图片的表头区域并不固定,通过现有实验方法无法准确标记大概的有效区域,因此采用人工交互的方法以提高普适性。在需要切割的黑边上方画线标记,对标记下的区域逐像素点遍历,确定边缘的步骤与2.2.2节中寻找黑边框确定数据区域的步骤相同,结合已查找的左右边界为表头的左右边界,即可进行分割。
图5 Grabcut算法分割结果
3 系统处理结果展示
3.1 分割结果
批量处理图片后证明,本系统所采取算法可以有效处理核磁共振以及成像测井两种井道图像,处理结果分别如图6(a)、(b)所示。
图6 分割井道结果图
对比本系统结合Grabcut算法及后续图像处理的方法与普通轮廓提取和阈值分割算法的处理结果,前者分割的井道图像可以大大减少如图7所示的后者因识别错误边界以及丢失数据部分而导致的误分割现象,系统处理大量图片后统计误分割情况如表1所示。
图7 误分割结果图
方法处理总图数误分割图数传统井道分割42523Grabcut井道分割4254
3.2 系统功能的实现
由于经过系统处理后提取出的图片原始比例一般在1∶10至1∶50间,而后续在网页绘制特殊井筒曲线图像道的所需比例不定,故需要对所提取的数据部分图像道进行比例尺的缩放。系统使用Resizer类来实现比例尺为 1∶50,1∶200,1∶500 和 1∶1 000的缩放。最终提取结果如图8所示。
完成图像抽析和数据库存储后,结合OCR文字识别内容以及MySQL数据库中记录的该井的相关信息,可调用createjs插件的Bitmap函数将抽析测井图像绘制于canvas画布上,直观地展示了井道图像信息,提供了一体化查询平台。特殊井筒曲线效果如图9所示。
图8 系统处理结果
图9 特殊井筒曲线效果图
4 结论
本文从图像分割关键技术以及系统功能实现两个方面阐述了基于Grabcut算法的井道图像抽析系统,对比传统井道分割方法,该系统从文字解析模块到井道图像的分割以及最后数据库的信息录入,操作精准流畅,提高了用户开发的效率,为后续Web端绘制井筒曲线提供精确数据基础,且为油田勘探人员的边界操作提供了帮助。