王思怡,何小海,卿粼波,羅彬彬
(1.四川大學 電子信息學院,四川 成都 610065;2.成都西圖科技有限公司,四川 成都 610065)
近年來,隨著油氣勘探技術的不斷演進,地質學家推出了新的測井技術——地層微電阻成像(Formation MicroScanner Image,FMI),此技術不但可以提供直觀可靠的地層定性解釋信息,還能夠從中提取定量參數來完成儲層評價[1]。為了后續處理和展示地質信息,就需要利用圖像分割技術將FMI井道以及核磁共振井道圖像內的有效信息從背景中分離出來進行提取。目前井道圖像信息提取通常采取的算法有輪廓提取算法,該方法提取出的區域塊較零散,并且通過膨脹腐蝕的預處理操作之后,數據區域顏色驟變面積偏大,得到區塊數量較多,無法區分出需要的區塊,同時多次進行膨脹腐蝕得到的邊界相對粗糙,會出現部分區域多余或者丟失[2]。除此之外,還可使用閾值分割算法完成井道圖像的分割,李雪英等首先選取這一方法對成像測井圖像進行了分割,在選取閾值之前還進行了濾波去噪的預處理工作[3];趙軍等也在大量研究奇異點多閾值分割算法、圖像間模糊散度的閾值化等算法的基礎上,將地層中的目標項從復雜的背景中分離[1];何風等對蟻群優化的最大類間方差法的圖像分割算法進行了大量研究,提升了算法性能[4];柯式鎮等也選擇采用雙閾值分割法進行圖像分割處理[5]。但是閾值分割算法仍存在不可避免的問題:需要通過大量實驗選取合適的閾值,人工耗費量大,且分離出的區域零散;當與背景存在粘連現象時,分割效果差,分割出的井道不完整會影響后續處理和展示地質信息以及參數的計算[3]。
綜上分析,目前井道抽析通常采取的分割方法仍存在用戶交互復雜以及處理精確度方面的不足,因此本文詳細闡述了基于Grabcut算法的圖像抽析系統的設計和實現,介紹了其三個子模塊實現過程中的技術問題,提出了采用結合Grabcut算法精確分割的井道圖像抽析方法。該系統已經被相關油田部門采用,并得到了專家的認可。
為了方便油田部門系統的信息展示以及數據管理,井道圖像抽析系統要實現的功能有:定位并識別井道文字信息,如井名、井段、井深以及圖片比例等,如圖1(a)箭頭所指;分割井道中的圖像道以及頭部條形色道,如圖1(b)箭頭所指;將所有圖片存儲在本地并將數據信息入庫。

圖1 待處理井道圖片
基于對抽析系統的需求分析,本系統主要分為以下三個模塊:光學字符識別(Optical Character Recognition,OCR)文字解析模塊、井道圖像分割模塊以及數據庫存儲模塊,實現了從井道圖中解析所需文字信息,將識別的圖像道和圖像道表頭中的色帶信息提取后分別存儲于本地,而后對提取的圖片進行規定比例尺的抽析,再將所有信息存入本地數據庫的流程。系統流程如圖2所示。

圖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算法實現?;贕rabcut算法的改進方法以及操作步驟將在下一節詳細闡述。
1.2.3 數據庫存儲模塊
數據庫作為主要的數據存儲單元,對系統的并發量、穩定性、數據的安全性、操作的流暢性都起著重要的作用。數據庫存儲模塊負責保存圖像抽析的關鍵信息,考慮到數據量規模大需要批量導入的特性以及日常維護的便利,本系統選擇使用輕量、可以兼容主流操作系統、使用方便的MySQL數據庫存儲相關數據以便后續網頁端的調用。根據需要存取的信息設計數據表,表中主要包含圖像類型、井名、井號、深度、圖片存儲地址等字段,并將井名設為主鍵以加快數據庫操作速度。存儲模塊對上述兩個模塊處理后得到的結果,如井名、井號、井道起止深度以及各個縮放規格的井道圖的存儲路徑可進行增、刪、查、改等操作,用戶在連接服務器后即可使用Navicat在本地對數據庫進行管理。
井道圖像分割包含頭道色帶的提取和圖像道的提取。井道圖像可分為曲線道、深度道以及圖像道。如圖1(b)所示,需要分割的圖像道較其他部分顏色以及紋理特征突出,不像其他區域像素多為黑白,圖像道區域像素值分布廣泛且顏色驟變明顯,因此使用現有的輪廓提取和閾值分割算法會出現分割區域零散、邊界模糊而導致誤分割等情況。本系統針對這一問題,提出采取Grabcut算法來首先確定需要分割的數據部分,并在Grabcut分割后結合灰度化、最大類間方差算法[6](Otsu)進行圖像二值化、遍歷像素點尋找邊界等處理來精確分割井道圖像。
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)

圖像切割模塊的程序流程圖如圖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算法分割結果
批量處理圖片后證明,本系統所采取算法可以有效處理核磁共振以及成像測井兩種井道圖像,處理結果分別如圖6(a)、(b)所示。

圖6 分割井道結果圖
對比本系統結合Grabcut算法及后續圖像處理的方法與普通輪廓提取和閾值分割算法的處理結果,前者分割的井道圖像可以大大減少如圖7所示的后者因識別錯誤邊界以及丟失數據部分而導致的誤分割現象,系統處理大量圖片后統計誤分割情況如表1所示。

圖7 誤分割結果圖

方法處理總圖數誤分割圖數傳統井道分割42523Grabcut井道分割4254
由于經過系統處理后提取出的圖片原始比例一般在1∶10至1∶50間,而后續在網頁繪制特殊井筒曲線圖像道的所需比例不定,故需要對所提取的數據部分圖像道進行比例尺的縮放。系統使用Resizer類來實現比例尺為 1∶50,1∶200,1∶500 和 1∶1 000的縮放。最終提取結果如圖8所示。
完成圖像抽析和數據庫存儲后,結合OCR文字識別內容以及MySQL數據庫中記錄的該井的相關信息,可調用createjs插件的Bitmap函數將抽析測井圖像繪制于canvas畫布上,直觀地展示了井道圖像信息,提供了一體化查詢平臺。特殊井筒曲線效果如圖9所示。

圖8 系統處理結果

圖9 特殊井筒曲線效果圖
本文從圖像分割關鍵技術以及系統功能實現兩個方面闡述了基于Grabcut算法的井道圖像抽析系統,對比傳統井道分割方法,該系統從文字解析模塊到井道圖像的分割以及最后數據庫的信息錄入,操作精準流暢,提高了用戶開發的效率,為后續Web端繪制井筒曲線提供精確數據基礎,且為油田勘探人員的邊界操作提供了幫助。