劉勝娃,曹湘華,代 勇
(1.中國石油川慶鉆探公司長慶鉆井總公司,陜西 西安 710018;2.西北工業(yè)大學(xué) 計算機學(xué)院,陜西 西安 710129)
目前,鉆井施工的管理效率、決策準確性和響應(yīng)速度一直受傳統(tǒng)方式的制約,鉆井施工管理、決策的信息化[1]乃大勢所趨。如何實現(xiàn)遠端監(jiān)測鉆井各項參數(shù),還原鉆井現(xiàn)場,使前沿信息技術(shù)與鉆井施工管理以及決策完美結(jié)合,真正促進鉆井效率的提升是當(dāng)前需要解決的問題。
川慶鉆探長慶鉆井總公司需通過衛(wèi)星查看全公司上百支鉆井隊的生產(chǎn)數(shù)據(jù),若直接進行視頻流傳輸需占用較大帶寬,因此,為進一步提高鉆井效率,需要建設(shè)鉆井工況數(shù)據(jù)實時采集系統(tǒng),建立鉆井?dāng)?shù)據(jù)采集、傳輸、數(shù)據(jù)展示等架構(gòu),形成完整的物聯(lián)網(wǎng)技術(shù)體系[2]。通過對鉆井現(xiàn)場的視頻流進行圖像識別,轉(zhuǎn)化為易于傳輸?shù)?、對?yīng)的指針數(shù)據(jù)以及其他信息,在總公司使用特制的顯示端接口即可訪問還原后的鉆井現(xiàn)場數(shù)據(jù)。
鉆井參數(shù)采集系統(tǒng)采用B/S架構(gòu),支持桌面端和移動端,主要具有如下幾方面特點:
(1)在桌面端完美還原儀表盤,實現(xiàn)鉆壓表盤仿真,支持實時讀數(shù)、查詢歷史數(shù)據(jù)、異常數(shù)據(jù)報警等功能。
(2)關(guān)鍵模塊儀表識別算法采用Yolact殘差神經(jīng)網(wǎng)絡(luò)模型[3],能夠高速準確地讀出儀表指針,經(jīng)過大量數(shù)據(jù)訓(xùn)練,準確率高達95%,可以在視頻流中動態(tài)識別表盤指針。
(3)系統(tǒng)前后端采用WebSocket傳輸方式[4],通過建立雙向鏈接傳輸數(shù)據(jù),摒棄傳統(tǒng)不斷輪詢訪問獲取數(shù)據(jù)的方式。
(4)由于指針識別模塊消耗資源較大,故僅在用戶訪問時開啟指針識別,及時返回指針數(shù)據(jù)。
(5)前端技術(shù)主要為HTML5的Canvas繪圖技術(shù)[5],設(shè)備支持率高,可繪制多種不同的圖案,包含模擬仿真的鉆壓表盤。
(1)先進性原則
系統(tǒng)開發(fā)建設(shè)時,在滿足所需功能的前提下,結(jié)合當(dāng)前流行的物聯(lián)網(wǎng)技術(shù)、圖像識別技術(shù),在相當(dāng)長的時間內(nèi)保證系統(tǒng)具備先進性。
(2)易用性原則
系統(tǒng)采用通用的B/S操作界面,操作界面友好、操作簡單易上手。此外,該系統(tǒng)還允許不同設(shè)備訪問,易用性好。
(3)實用性原則
系統(tǒng)提供清晰、簡潔、友好的中文人機交互界面,操作簡便、靈活、易學(xué)易用,便于管理和維護,切合實際工作需求。系統(tǒng)能夠24 h連續(xù)不間斷工作,在無用戶訪問的情況下,自動停止耗費資源。
(4)易擴展性原則
系統(tǒng)可為各種增值業(yè)務(wù)提供接口。由于計算機領(lǐng)域技術(shù)發(fā)展迅速,面對不斷變化的用戶需求以及數(shù)據(jù)要求,在開發(fā)系統(tǒng)時,充分考慮了系統(tǒng)的可擴展性,適應(yīng)調(diào)整、擴充和刪減需求,滿足日后發(fā)展的需要。
(5)安全性和完整性原則
采用最成熟和應(yīng)用最廣泛的技術(shù)平臺,分不同的角色控制信息數(shù)據(jù),采用橫向和縱向結(jié)合的矩陣權(quán)限控制模式保證數(shù)據(jù)安全。系統(tǒng)支持對關(guān)鍵設(shè)備、關(guān)鍵數(shù)據(jù)、關(guān)鍵程序模塊采取備份、冗余措施,有較強的容錯和系統(tǒng)恢復(fù)能力,可確保系統(tǒng)長期正常運行。
系統(tǒng)采用三層架構(gòu),如圖1所示。第一層為數(shù)據(jù)采集模塊,第二層為數(shù)據(jù)處理存儲模塊,第三層為數(shù)據(jù)顯示模塊。通過Canvas繪制出WebSocket實時傳輸?shù)臄?shù)據(jù),以滿足不同的使用場景。
圖1 系統(tǒng)架構(gòu)
2.2.1 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊采用??低晹z像頭提供的API進行處理,其中RTSP協(xié)議(實時流傳輸協(xié)議)[6]可直接將獲取的視頻流傳輸?shù)骄畧龇?wù)器。為保護外置設(shè)備的耐久性,監(jiān)控儀表的攝像頭存儲在定做的防爆盒內(nèi),采用RJ 45接口的網(wǎng)線或高倍率進口鋰電池組供電。
2.2.2 數(shù)據(jù)處理模塊
數(shù)據(jù)處理模塊對攝像頭采集的視頻流進行處理,在實現(xiàn)過程中,先后使用了OpenCV及深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)。實驗效果證明,對單指針的處理使用OpenCV效果尚可,雙指針儀表的處理采用卷積神經(jīng)網(wǎng)絡(luò)YOLACT模型處理效果較好。同時井場服務(wù)器使用Django框架建立起Web后端[7],與Python對接良好,可在進行視頻流處理的同時提供總公司訪問的接口。處理模塊還包含對數(shù)據(jù)的存儲,由于井場每天產(chǎn)生的數(shù)據(jù)量極大,因此必須提供合理的數(shù)據(jù)存儲方式。
2.2.3 數(shù)據(jù)顯示模塊
為達到仿真效果,采用HTML5的新特性—Canvas元素,通過JavaScript繪制表盤。對長慶公司提供的大鉤懸重指示儀進行在線還原,繪制出顯示模塊。2個指針指示數(shù)據(jù),最外層表盤根據(jù)實際情況轉(zhuǎn)動,表盤均為動態(tài)渲染。前端顯示的數(shù)據(jù)通過與后端建立WebSocket進行實時傳輸。后端采用Django 3.0框架開發(fā),與Python對接良好。Django 3.0以上唯一支持的WebSocket組件為Channels,提供與前端的WebSocket服務(wù)。
Yolact神經(jīng)網(wǎng)絡(luò)模型對雙指針識別率較為精準[8],其識別結(jié)果如圖2所示。圖2中將識別結(jié)果的角度在后端重新進行了刻畫,但對讀數(shù)誤差基本無影響。
圖2 圖像采集效果
系統(tǒng)運行流程如圖3所示。項目前端包含2部分,即表盤展示模塊與RTSP地址上傳。
圖3 系統(tǒng)運行流程
用戶打開前端頁面,系統(tǒng)渲染出默認狀態(tài)的表盤展示給用戶,同時提供RTSP地址上傳輸入欄,用戶想要獲得表盤的實時轉(zhuǎn)動狀態(tài),需要輸入相應(yīng)的RTSP地址,點擊上傳后,與后臺建立起WebSocket連接。后臺獲取RTSP地址后,經(jīng)過相應(yīng)的處理,將實時指針數(shù)據(jù)以及外表盤數(shù)據(jù)通過WebSocket傳回前端,前端獲取相應(yīng)的指針角度數(shù)據(jù)以及外表盤數(shù)據(jù)之后即可實時渲染出對應(yīng)的表盤[9]。
前端表盤是用戶進行數(shù)據(jù)讀取的直接介質(zhì),因此必須能夠?qū)蠖藗鱽淼臄?shù)據(jù)進行準確還原。Canvas提供了多個不同的API接口,用于實現(xiàn)直線、圓形的繪制。這是靜態(tài)顯示的繪制,對于動態(tài)顯示的繪制只需間隔足夠短的時間進行不間斷繪制,即可實現(xiàn)動畫效果。指針的動態(tài)顯示需通過后臺不斷傳輸?shù)闹羔様?shù)據(jù)進行繪制。為提高顯示效果以及性能,將內(nèi)兩層以及圓心等進行靜態(tài)初始繪制,而對指針以及外兩層及其刻度進行動態(tài)繪制。表盤上的圓環(huán)只需調(diào)用Canvas提供的context.arc()函數(shù)即可繪制,而表盤上的刻度則需要進行相應(yīng)的計算,通過每個刻度的角度得到其傾斜角,然后由刻度長度進行對應(yīng)的三角函數(shù)計算。表盤實現(xiàn)效果如圖4所示。
圖4 表盤實現(xiàn)效果
表盤最外兩層可以實時旋轉(zhuǎn),還原了現(xiàn)實中鉆壓表盤的轉(zhuǎn)動,達到了精確測量的目的。項目后端采用Django實現(xiàn),系統(tǒng)在接收到前端發(fā)送的WebSocket數(shù)據(jù)時會自動觸發(fā)channels組件的websocket_receive()函數(shù),加載訓(xùn)練模型,識別提交的RTSP視頻流,經(jīng)截取視頻流識別,將識別數(shù)據(jù)經(jīng)過一定間隔傳給前端處理,從而實現(xiàn)核心功能。
采集系統(tǒng)作為鉆井大數(shù)據(jù)體系的重要組成部分,可以替代人工實現(xiàn)井場鉆井?dāng)?shù)據(jù)的實時高頻采集,記錄不同時間段的鉆壓、懸重等重要數(shù)據(jù),以時間為軸結(jié)合當(dāng)時鉆井液、井深、地層等數(shù)據(jù),構(gòu)建鉆井全生命周期內(nèi)的完整數(shù)據(jù)體系,為以后的鉆井方案制定提供豐富詳實的數(shù)據(jù)。本項目采用最新的機器學(xué)習(xí)方法[10],為機器學(xué)習(xí)等高新技術(shù)在科學(xué)鉆井中的應(yīng)用進行了深入有效的嘗試,并拓展了途徑,日后勢必會有越來越多的智能方法被應(yīng)用到科學(xué)鉆井中。
物聯(lián)網(wǎng)技術(shù)2021年10期