劉勝娃,曹湘華,代 勇
(1.中國(guó)石油川慶鉆探公司長(zhǎng)慶鉆井總公司,陜西 西安 710018;2.西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710129)
目前,鉆井施工的管理效率、決策準(zhǔn)確性和響應(yīng)速度一直受傳統(tǒng)方式的制約,鉆井施工管理、決策的信息化[1]乃大勢(shì)所趨。如何實(shí)現(xiàn)遠(yuǎn)端監(jiān)測(cè)鉆井各項(xiàng)參數(shù),還原鉆井現(xiàn)場(chǎng),使前沿信息技術(shù)與鉆井施工管理以及決策完美結(jié)合,真正促進(jìn)鉆井效率的提升是當(dāng)前需要解決的問(wèn)題。
川慶鉆探長(zhǎng)慶鉆井總公司需通過(guò)衛(wèi)星查看全公司上百支鉆井隊(duì)的生產(chǎn)數(shù)據(jù),若直接進(jìn)行視頻流傳輸需占用較大帶寬,因此,為進(jìn)一步提高鉆井效率,需要建設(shè)鉆井工況數(shù)據(jù)實(shí)時(shí)采集系統(tǒng),建立鉆井?dāng)?shù)據(jù)采集、傳輸、數(shù)據(jù)展示等架構(gòu),形成完整的物聯(lián)網(wǎng)技術(shù)體系[2]。通過(guò)對(duì)鉆井現(xiàn)場(chǎng)的視頻流進(jìn)行圖像識(shí)別,轉(zhuǎn)化為易于傳輸?shù)摹?duì)應(yīng)的指針數(shù)據(jù)以及其他信息,在總公司使用特制的顯示端接口即可訪問(wèn)還原后的鉆井現(xiàn)場(chǎng)數(shù)據(jù)。
鉆井參數(shù)采集系統(tǒng)采用B/S架構(gòu),支持桌面端和移動(dòng)端,主要具有如下幾方面特點(diǎn):
(1)在桌面端完美還原儀表盤(pán),實(shí)現(xiàn)鉆壓表盤(pán)仿真,支持實(shí)時(shí)讀數(shù)、查詢歷史數(shù)據(jù)、異常數(shù)據(jù)報(bào)警等功能。
(2)關(guān)鍵模塊儀表識(shí)別算法采用Yolact殘差神經(jīng)網(wǎng)絡(luò)模型[3],能夠高速準(zhǔn)確地讀出儀表指針,經(jīng)過(guò)大量數(shù)據(jù)訓(xùn)練,準(zhǔn)確率高達(dá)95%,可以在視頻流中動(dòng)態(tài)識(shí)別表盤(pán)指針。
(3)系統(tǒng)前后端采用WebSocket傳輸方式[4],通過(guò)建立雙向鏈接傳輸數(shù)據(jù),摒棄傳統(tǒng)不斷輪詢?cè)L問(wèn)獲取數(shù)據(jù)的方式。
(4)由于指針識(shí)別模塊消耗資源較大,故僅在用戶訪問(wèn)時(shí)開(kāi)啟指針識(shí)別,及時(shí)返回指針數(shù)據(jù)。
(5)前端技術(shù)主要為HTML5的Canvas繪圖技術(shù)[5],設(shè)備支持率高,可繪制多種不同的圖案,包含模擬仿真的鉆壓表盤(pán)。
(1)先進(jìn)性原則
系統(tǒng)開(kāi)發(fā)建設(shè)時(shí),在滿足所需功能的前提下,結(jié)合當(dāng)前流行的物聯(lián)網(wǎng)技術(shù)、圖像識(shí)別技術(shù),在相當(dāng)長(zhǎng)的時(shí)間內(nèi)保證系統(tǒng)具備先進(jìn)性。
(2)易用性原則
系統(tǒng)采用通用的B/S操作界面,操作界面友好、操作簡(jiǎn)單易上手。此外,該系統(tǒng)還允許不同設(shè)備訪問(wèn),易用性好。
(3)實(shí)用性原則
系統(tǒng)提供清晰、簡(jiǎn)潔、友好的中文人機(jī)交互界面,操作簡(jiǎn)便、靈活、易學(xué)易用,便于管理和維護(hù),切合實(shí)際工作需求。系統(tǒng)能夠24 h連續(xù)不間斷工作,在無(wú)用戶訪問(wèn)的情況下,自動(dòng)停止耗費(fèi)資源。
(4)易擴(kuò)展性原則
系統(tǒng)可為各種增值業(yè)務(wù)提供接口。由于計(jì)算機(jī)領(lǐng)域技術(shù)發(fā)展迅速,面對(duì)不斷變化的用戶需求以及數(shù)據(jù)要求,在開(kāi)發(fā)系統(tǒng)時(shí),充分考慮了系統(tǒng)的可擴(kuò)展性,適應(yīng)調(diào)整、擴(kuò)充和刪減需求,滿足日后發(fā)展的需要。
(5)安全性和完整性原則
采用最成熟和應(yīng)用最廣泛的技術(shù)平臺(tái),分不同的角色控制信息數(shù)據(jù),采用橫向和縱向結(jié)合的矩陣權(quán)限控制模式保證數(shù)據(jù)安全。系統(tǒng)支持對(duì)關(guān)鍵設(shè)備、關(guān)鍵數(shù)據(jù)、關(guān)鍵程序模塊采取備份、冗余措施,有較強(qiáng)的容錯(cuò)和系統(tǒng)恢復(fù)能力,可確保系統(tǒng)長(zhǎng)期正常運(yùn)行。
系統(tǒng)采用三層架構(gòu),如圖1所示。第一層為數(shù)據(jù)采集模塊,第二層為數(shù)據(jù)處理存儲(chǔ)模塊,第三層為數(shù)據(jù)顯示模塊。通過(guò)Canvas繪制出WebSocket實(shí)時(shí)傳輸?shù)臄?shù)據(jù),以滿足不同的使用場(chǎng)景。

圖1 系統(tǒng)架構(gòu)
2.2.1 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊采用海康威視攝像頭提供的API進(jìn)行處理,其中RTSP協(xié)議(實(shí)時(shí)流傳輸協(xié)議)[6]可直接將獲取的視頻流傳輸?shù)骄畧?chǎng)服務(wù)器。為保護(hù)外置設(shè)備的耐久性,監(jiān)控儀表的攝像頭存儲(chǔ)在定做的防爆盒內(nèi),采用RJ 45接口的網(wǎng)線或高倍率進(jìn)口鋰電池組供電。
2.2.2 數(shù)據(jù)處理模塊
數(shù)據(jù)處理模塊對(duì)攝像頭采集的視頻流進(jìn)行處理,在實(shí)現(xiàn)過(guò)程中,先后使用了OpenCV及深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)。實(shí)驗(yàn)效果證明,對(duì)單指針的處理使用OpenCV效果尚可,雙指針儀表的處理采用卷積神經(jīng)網(wǎng)絡(luò)YOLACT模型處理效果較好。同時(shí)井場(chǎng)服務(wù)器使用Django框架建立起Web后端[7],與Python對(duì)接良好,可在進(jìn)行視頻流處理的同時(shí)提供總公司訪問(wèn)的接口。處理模塊還包含對(duì)數(shù)據(jù)的存儲(chǔ),由于井場(chǎng)每天產(chǎn)生的數(shù)據(jù)量極大,因此必須提供合理的數(shù)據(jù)存儲(chǔ)方式。
2.2.3 數(shù)據(jù)顯示模塊
為達(dá)到仿真效果,采用HTML5的新特性—Canvas元素,通過(guò)JavaScript繪制表盤(pán)。對(duì)長(zhǎng)慶公司提供的大鉤懸重指示儀進(jìn)行在線還原,繪制出顯示模塊。2個(gè)指針指示數(shù)據(jù),最外層表盤(pán)根據(jù)實(shí)際情況轉(zhuǎn)動(dòng),表盤(pán)均為動(dòng)態(tài)渲染。前端顯示的數(shù)據(jù)通過(guò)與后端建立WebSocket進(jìn)行實(shí)時(shí)傳輸。后端采用Django 3.0框架開(kāi)發(fā),與Python對(duì)接良好。Django 3.0以上唯一支持的WebSocket組件為Channels,提供與前端的WebSocket服務(wù)。
Yolact神經(jīng)網(wǎng)絡(luò)模型對(duì)雙指針識(shí)別率較為精準(zhǔn)[8],其識(shí)別結(jié)果如圖2所示。圖2中將識(shí)別結(jié)果的角度在后端重新進(jìn)行了刻畫(huà),但對(duì)讀數(shù)誤差基本無(wú)影響。

圖2 圖像采集效果
系統(tǒng)運(yùn)行流程如圖3所示。項(xiàng)目前端包含2部分,即表盤(pán)展示模塊與RTSP地址上傳。

圖3 系統(tǒng)運(yùn)行流程
用戶打開(kāi)前端頁(yè)面,系統(tǒng)渲染出默認(rèn)狀態(tài)的表盤(pán)展示給用戶,同時(shí)提供RTSP地址上傳輸入欄,用戶想要獲得表盤(pán)的實(shí)時(shí)轉(zhuǎn)動(dòng)狀態(tài),需要輸入相應(yīng)的RTSP地址,點(diǎn)擊上傳后,與后臺(tái)建立起WebSocket連接。后臺(tái)獲取RTSP地址后,經(jīng)過(guò)相應(yīng)的處理,將實(shí)時(shí)指針數(shù)據(jù)以及外表盤(pán)數(shù)據(jù)通過(guò)WebSocket傳回前端,前端獲取相應(yīng)的指針角度數(shù)據(jù)以及外表盤(pán)數(shù)據(jù)之后即可實(shí)時(shí)渲染出對(duì)應(yīng)的表盤(pán)[9]。
前端表盤(pán)是用戶進(jìn)行數(shù)據(jù)讀取的直接介質(zhì),因此必須能夠?qū)蠖藗鱽?lái)的數(shù)據(jù)進(jìn)行準(zhǔn)確還原。Canvas提供了多個(gè)不同的API接口,用于實(shí)現(xiàn)直線、圓形的繪制。這是靜態(tài)顯示的繪制,對(duì)于動(dòng)態(tài)顯示的繪制只需間隔足夠短的時(shí)間進(jìn)行不間斷繪制,即可實(shí)現(xiàn)動(dòng)畫(huà)效果。指針的動(dòng)態(tài)顯示需通過(guò)后臺(tái)不斷傳輸?shù)闹羔様?shù)據(jù)進(jìn)行繪制。為提高顯示效果以及性能,將內(nèi)兩層以及圓心等進(jìn)行靜態(tài)初始繪制,而對(duì)指針以及外兩層及其刻度進(jìn)行動(dòng)態(tài)繪制。表盤(pán)上的圓環(huán)只需調(diào)用Canvas提供的context.arc()函數(shù)即可繪制,而表盤(pán)上的刻度則需要進(jìn)行相應(yīng)的計(jì)算,通過(guò)每個(gè)刻度的角度得到其傾斜角,然后由刻度長(zhǎng)度進(jìn)行對(duì)應(yīng)的三角函數(shù)計(jì)算。表盤(pán)實(shí)現(xiàn)效果如圖4所示。

圖4 表盤(pán)實(shí)現(xiàn)效果
表盤(pán)最外兩層可以實(shí)時(shí)旋轉(zhuǎn),還原了現(xiàn)實(shí)中鉆壓表盤(pán)的轉(zhuǎn)動(dòng),達(dá)到了精確測(cè)量的目的。項(xiàng)目后端采用Django實(shí)現(xiàn),系統(tǒng)在接收到前端發(fā)送的WebSocket數(shù)據(jù)時(shí)會(huì)自動(dòng)觸發(fā)channels組件的websocket_receive()函數(shù),加載訓(xùn)練模型,識(shí)別提交的RTSP視頻流,經(jīng)截取視頻流識(shí)別,將識(shí)別數(shù)據(jù)經(jīng)過(guò)一定間隔傳給前端處理,從而實(shí)現(xiàn)核心功能。
采集系統(tǒng)作為鉆井大數(shù)據(jù)體系的重要組成部分,可以替代人工實(shí)現(xiàn)井場(chǎng)鉆井?dāng)?shù)據(jù)的實(shí)時(shí)高頻采集,記錄不同時(shí)間段的鉆壓、懸重等重要數(shù)據(jù),以時(shí)間為軸結(jié)合當(dāng)時(shí)鉆井液、井深、地層等數(shù)據(jù),構(gòu)建鉆井全生命周期內(nèi)的完整數(shù)據(jù)體系,為以后的鉆井方案制定提供豐富詳實(shí)的數(shù)據(jù)。本項(xiàng)目采用最新的機(jī)器學(xué)習(xí)方法[10],為機(jī)器學(xué)習(xí)等高新技術(shù)在科學(xué)鉆井中的應(yīng)用進(jìn)行了深入有效的嘗試,并拓展了途徑,日后勢(shì)必會(huì)有越來(lái)越多的智能方法被應(yīng)用到科學(xué)鉆井中。
物聯(lián)網(wǎng)技術(shù)2021年10期