李婷玉,姜文文,邢金臺,徐 震,張 蕾,田 楓,劉 芳
1(中國石油天然氣股份有限公司冀東油田分公司,唐山 063004)
2(東北石油大學(xué) 計算機與信息技術(shù)學(xué)院,大慶 163318)
油田作業(yè)現(xiàn)場近海周界危險區(qū)域入侵檢測是油田作業(yè)現(xiàn)場安全監(jiān)管最基礎(chǔ)的環(huán)節(jié)之一,但對其的管控目前仍停留在傳統(tǒng)人工監(jiān)控方式上,負責監(jiān)管的安全人員同一時間要將注意力集中在多個視頻事件上極其困難,視覺疲勞會導(dǎo)致其注意力不能高度集中,且將注意力同時分散到幾臺監(jiān)控器畫面上時,極有可能不能完全正確地分析每臺監(jiān)控畫面內(nèi)容.同時,油田作業(yè)現(xiàn)場近海周界區(qū)域危險性高,當作業(yè)人員發(fā)生區(qū)域入侵時,需要及時快速報警.這些問題都會導(dǎo)致當作業(yè)人員在油田作業(yè)現(xiàn)場闖入近海周界危險區(qū)域時,傳統(tǒng)的監(jiān)控手段不能在作業(yè)人員闖入時進行檢測和發(fā)出報警,監(jiān)管防護效果差.
智能監(jiān)控對油田作業(yè)現(xiàn)場工作人員的實時檢測與警報主要依托于計算機視覺相關(guān)領(lǐng)域技術(shù).2019年,向翼凌等人提出基于時空聯(lián)合約束的視頻區(qū)域入侵檢測算法,聯(lián)合實際人員活動時效性和圖像提供的空間信息進行區(qū)域入侵檢測,獲得了較高的檢測效率[1].同年,占超對FasterRCNN 進行適用于實際應(yīng)用的優(yōu)化,使該算法模型可實現(xiàn)區(qū)域入侵檢測功能[2].2020年,張晗基于YOLOv3 研發(fā)了兼具準確率與實時性的行人檢測算法,實現(xiàn)了監(jiān)所的區(qū)域入侵檢測[3].
圖像分割方面[4],2015年,Long 等人提出全卷積網(wǎng)絡(luò)(FCN)[5],確立了圖像語義分割的通用網(wǎng)絡(luò)模型框架.2017年,Zhao 等人提出金字塔場景解析網(wǎng)絡(luò)(PSPNet)[6],通過整理歸納上下文信息,充分利用全局特征先驗知識解析不同場景,最終實現(xiàn)對場景目標的語義分割[7].2018年,Ren 等人提出基于FasterRCNN的深度卷積網(wǎng)絡(luò)MaskRCNN[8],該卷積網(wǎng)絡(luò)可以在進行目標檢測的同時實現(xiàn)高質(zhì)量的圖像分割.2020年,Wang 等人提出了基于位置來分割對象的簡單靈活的實例分割框架SOLOv1[9].同年,Wang 等人在SOLOv1的基礎(chǔ)上,提出加入動態(tài)學(xué)習(xí)對象分段器的m a s k 頭和矩陣NMS的SOLOv2 實例分割模型,該模型具有較高的準確率和較好的實時性[10].
目標檢測方面[11],2014年,Girshick 等人提出了典型的雙階段目標檢測算法RCNN,其將AlexNet 與選擇性搜索算法相結(jié)合,性能相對于傳統(tǒng)的目標檢測算法,得到了顯著提升.2015年,Ren 等人提出了FasterRCNN,引入了區(qū)域建議網(wǎng)絡(luò)(region proposal network,RPN)實現(xiàn)了目標檢測端到端的訓(xùn)練,一定程度上加快了計算速度[12].2016年,Redmon 等人為解決雙階段目標檢測算法的時效性低的問題提出了一種單階段目標檢測器YOLO,其在簡化網(wǎng)絡(luò)的同時提高了檢測精度[13],但對小尺度目標的檢測效果不佳,被檢測目標發(fā)生重疊遮擋時,容易出現(xiàn)漏檢誤檢的情況.2018年,Law 等人提出了CornerNet[14],該模型取消了錨框而將目標檢測邊界框定義為檢測目標的左上角和右下角的關(guān)鍵點,采用角池法定位角,但其檢測準確率略低于YOLOv4.為了進一步改進CornerNet,2019年,Duan 等人提出了CenterNet[15],通過在被檢測目標的邊界框的中心再引入一個關(guān)鍵點作為一個關(guān)鍵點的三元組來檢測每個目標,該方法大幅度提高了準確率.
油田作業(yè)現(xiàn)場近海周界區(qū)域形狀不規(guī)則且區(qū)域分布復(fù)雜多樣,因此簡單地在攝像頭內(nèi)劃分固定且規(guī)則的區(qū)域無法滿足實際要求;同時由于近海區(qū)域危險性高,作業(yè)人員目標小,其闖入近海區(qū)域需要及時報警,目前的區(qū)域入侵檢測方法由于無法準確計算不規(guī)則區(qū)域形狀且實時性差,無法檢測小目標,無法有效檢測作業(yè)現(xiàn)場近海區(qū)域是否發(fā)生入侵,所以本文提出將圖像識別與分割技術(shù)和目標檢測技術(shù)結(jié)合,首先利用圖像分割技術(shù)對油田作業(yè)現(xiàn)場近海周界區(qū)域進行檢測與分割,精確地分割出近海周界區(qū)域.再使用無錨框的目標檢測技術(shù)對作業(yè)人員進行檢測,使其達到實時性與準確性.
在現(xiàn)有的區(qū)域識別與分割技術(shù)中,SOLOv2 可以進行高精度的區(qū)域檢測識別與分割,同時還具有良好的實時性.比起普通語義分割算法,實例分割應(yīng)對油田作業(yè)現(xiàn)場復(fù)雜的環(huán)境背景性能更佳,可準確區(qū)別并分割出同類區(qū)域,為后續(xù)區(qū)域入侵判別提供可靠依據(jù),且由于SOLOv2 本身的優(yōu)越性,其檢測精度與速度并不低于普通的語義分割算法.使用SOLOv2 識別并分割出危險區(qū)域,然后使用實時性良好的無錨框目標檢測算法CenterNet 進行油田作業(yè)現(xiàn)場的小目標檢測.最后,為了能實際應(yīng)用于油田作業(yè)現(xiàn)場,還開發(fā)了專屬的CS 應(yīng)用端.
本文的研究主要包括3 個部分:(1)油田作業(yè)現(xiàn)場近海周界區(qū)域識別與分割部分:采用SOLOv2 作為基礎(chǔ)網(wǎng)絡(luò),進行適用于作業(yè)現(xiàn)場的參數(shù)優(yōu)化,實現(xiàn)兼具準確性與實效性的近海周界區(qū)域與背景的識別與分割.(2)目標檢測部分:使用CenterNet 進行目標檢測,然后通過計算檢測到的目標與危險區(qū)域的相對位置判斷油田作業(yè)現(xiàn)場近海周界區(qū)域是否發(fā)生作業(yè)人員區(qū)域入侵.(3)CS 應(yīng)用端部分:將設(shè)計實現(xiàn)的算法部署到油田作業(yè)現(xiàn)場CS 端,實現(xiàn)檢測應(yīng)用.
利用高效的圖像分割SOLOv2 技術(shù)進行近海周界區(qū)域與背景的分割,可以精準定位危險區(qū)域,減少目標跟蹤復(fù)雜度,然后采用CenterNet 進行適用于小目標的高精度目標檢測,實現(xiàn)了跟蹤準確性和實時性的平衡.
油田作業(yè)現(xiàn)場近海周界監(jiān)控為了能夠最大范圍掌控情況,一般選擇高處監(jiān)控視角,因此導(dǎo)致了背景復(fù)雜,被檢測目標小等問題.對于這種情況,本文方法的具體框架如圖1所示.首先對油田作業(yè)現(xiàn)場近海周界區(qū)域進行檢測,提取出攝像頭所監(jiān)控的近海周界區(qū)域,去除周界外的其他環(huán)境和物體的影響.在識別出近海周界區(qū)域后,以近海區(qū)域輪廓為邊界,提取內(nèi)部海域部分.
圖1 本文方法的框架示意
由于油田作業(yè)現(xiàn)場的近海區(qū)域為高危區(qū)域,所以需要高精度的入侵檢測同時又需要當入侵發(fā)生時快速報警,因此需要一種精度高實時性好的算法模型.SOLOv2 算法可以對油田作業(yè)現(xiàn)場近海周界區(qū)域進行高精度檢測并準確提取出近海周界區(qū)域,同時該算法提出矩陣NMS (non maximum suppression),其可以顯著減少由于掩碼的NMS 造成推理時間長的問題.再對SOLOv2 算法模型進行適用于油田作業(yè)現(xiàn)場近海周界區(qū)域的參數(shù)調(diào)整,以此獲取兼具準確性和實時性的近海周界區(qū)域分割結(jié)果.
CenterNet 目標檢測方法與RCNN和YOLO 系列不同[16],其采用的是基于關(guān)鍵點估計來找到中心點,再回歸到其他目標屬性,例如尺寸,位置等.相較于基于BoundingBox的檢測器,CenterNet的模型是端到端的,更簡單,運算速度更快,精確度更高.該方法一般是由輸入圖片計算關(guān)鍵點熱圖heatmap 進而判斷目標種類,完成目標檢測.
由上述檢測提取出的油田作業(yè)現(xiàn)場近海周界區(qū)域與檢測到的作業(yè)人員小目標,計算出兩者相對位置,且由于油田作業(yè)現(xiàn)場近海區(qū)域的特殊性,通過計算兩者位置即可判定作業(yè)人員是否發(fā)生油田作業(yè)現(xiàn)場近海周界區(qū)域入侵.
本文采用SOLO 系列中實時性更好準確率更高的SOLOv2 深度學(xué)習(xí)實例分割框架,對其進行深入理解并做出適用于油田作業(yè)現(xiàn)場的參數(shù)調(diào)整.
SOLOv2的網(wǎng)絡(luò)結(jié)構(gòu)在遵循SOLOv1 原則的基礎(chǔ)上,通過動態(tài)學(xué)習(xí)目標分段器的mask 頭,使mask 頭受位置的約束,獲得更好的檢測性能;同時SOLOv2 提出矩陣NMS (非最大抑制),以此減少NMS of masks 引起的推理時間開銷.具體網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示.
圖2 SOLOv2 網(wǎng)絡(luò)結(jié)構(gòu)圖
SOLO 網(wǎng)絡(luò)首先輸入圖片,通過FCN 進行多尺度的特征提取,得到相應(yīng)的feature map.然后分別進入兩個分支,包括類別預(yù)測分支和實例掩膜分支.類別預(yù)測分支用于預(yù)測各個位置目標的類別,實例掩膜分支用于生成目標的全圖位置預(yù)測的feature map.
SOLOv2 動態(tài)學(xué)習(xí)對象分類器的mask 頭,將掩膜分支分為掩膜核分支和掩膜特征分支,掩膜核分支位于由FPN 生成的特征地圖金字塔的預(yù)測頭中,預(yù)測頭包括四個提取特征的卷積網(wǎng)絡(luò)和一個預(yù)測的卷積網(wǎng)絡(luò).掩膜特征分支引入特征金字塔融合,再經(jīng)過3×3 卷積,群范數(shù),ReLU 等重復(fù)階段,預(yù)測所有FPN 級別的單一掩模特征表示,可有效提供準確的位置信息.
矩陣NMS 部分,首先計算類別置信度,通過設(shè)置閾值,過濾掉置信度低的預(yù)測結(jié)果,然后使用學(xué)習(xí)到的卷積核對mask 特征進行卷積操作,經(jīng)過Sigmoid 函數(shù)后,使用更高的閾值將預(yù)測的soft mask 轉(zhuǎn)變?yōu)槎祱D.最后進行Matrix NMS,先選取按照置信度排列的前N個個結(jié)果,使用轉(zhuǎn)換后的二值圖,通過矩陣運算,高效形成IoU 矩陣.在IoU 矩陣列上,找到最大的IoU,再計算decay.最后通過decay 更新預(yù)測得分.
SOLOv2 網(wǎng)絡(luò)的損失函數(shù)如式(1)所示:
其中,Lcate采用Focal Loss,Lmask如式(2)所示,
其中,D計算公式如(4)所示,p,q表示坐標(x,y)像素預(yù)測和真實值的概率.
目前,基于深度學(xué)習(xí)的目標檢測可分為兩階段檢測與單階段檢測兩類[18].兩階段檢測首先生成稀疏建議,并從每個建議區(qū)域中提取特征,再預(yù)測建議區(qū)域的類別.而單階段檢測直接對特征圖上每個位置的目標進行分類預(yù)測.雖然兩階段檢測具有更高的準確性,但單階段檢測具有更好的實時性,對實時對象檢測具有更大的適用性,更加適用于工業(yè)生產(chǎn).
CenterNet是單階段檢測模型,使用目標的中心點代替錨框,極大程度上解決了傳統(tǒng)目標檢測因為錨框?qū)е掠嬎懔看蟮膯栴}.CenterNet 網(wǎng)絡(luò)結(jié)構(gòu)可分為從邊界框到點與從點到邊界框兩部分,其網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示.首先輸入圖像,經(jīng)過DLA-SE 特征提取網(wǎng)絡(luò)得到特征圖,然后分別訓(xùn)練目標中心點Y、中心點偏移O、目標尺寸S三個分支,之后將訓(xùn)練得到的Y、O、S三個分支的結(jié)果,進行融合輸出圖像.
圖3 CenterNet 網(wǎng)絡(luò)結(jié)構(gòu)圖
從邊界框到點的過程,首先將帶有標簽的圖像輸入特征提取網(wǎng)絡(luò)DLA-SE,得到輸出特征圖.然后關(guān)鍵點預(yù)測Y分支、中心點偏移量O分支與對象尺寸S分支使用同一個特征提取網(wǎng)絡(luò)分別進行訓(xùn)練.關(guān)鍵點預(yù)測Y分支中,將圖像I∈RW×H×3輸入CenterNet的特征提取網(wǎng)絡(luò),生成關(guān)鍵點熱圖,即高斯分布圖,其中,4 指輸出尺寸縮放比例,80 指輸出特征圖的通道數(shù).當=1 時,表示檢測到的關(guān)鍵點.其中高斯核計算如式(5)所示:
然后使用focal loss 進行像素級的邏輯回歸[19],focal loss 計算如式(6)所示:
中心點偏移量O分支中,每個中心點的局部偏移量為使用相應(yīng)的損失函數(shù)進行所有對象中心點偏移值的訓(xùn)練,其損失函數(shù)如式(7)所示:
尺寸S分支中,在目標中心位置回歸對象的寬高,其損失函數(shù)如式(8)所示:
最后整個網(wǎng)絡(luò)預(yù)測出每個目標中心點位置的相關(guān)值,包括關(guān)鍵點預(yù)測Y分支的80 個關(guān)鍵點、中心點偏離量O分支的x和y、對象尺寸分支的w和h.
從點到邊界框的過程,對于檢測到類別的n個中心點的集合,通過提取熱力圖上每個類別的100 個峰值點來獲取邊界框.邊界框由預(yù)測得到的關(guān)鍵點、偏移量、尺寸生成,具體的邊界框生成公式如式(9)所示,不需要NMS 處理,因此可以大幅度提升模型性能.
判定油田現(xiàn)場作業(yè)人員區(qū)域入侵的發(fā)生是研究非常重要的一部分,結(jié)合作業(yè)現(xiàn)場背景復(fù)雜,被檢測目標小的實際情況,本文采用計算SOLOv2 檢測提取出的近海周界區(qū)域與CenterNet 檢測到的作業(yè)人員目標的相對位置判斷作業(yè)人員是否近海周界區(qū)域入侵.
首先在被檢測的圖片幀中設(shè)置完整的坐標系,將由SOLOv2 檢測并提取出的近海周界區(qū)域?qū)?yīng)于坐標系,獲取其相應(yīng)的位置坐標;然后將由CenterNet 檢測出的作業(yè)人員對應(yīng)于坐標系,獲取被檢測目標相應(yīng)的位置坐標,同時獲取其目標邊界框的坐標并計算出作業(yè)人員相對于圖片幀的面積.由于提取出的近海周界區(qū)域是閉合的曲線,坐標點繁多,所以抽取合適數(shù)量的坐標點圍成近似形狀的邊界.抽取坐標點規(guī)則是周界坐標兩點之間的最小距離等于被檢測作業(yè)人員目標邊界框的寬,以此保證被檢測目標接觸近海周界區(qū)域時可認定邊界為直線,有助于減小計算復(fù)雜度,提高實時性.最后當被檢測作業(yè)人員目標開始接觸區(qū)域周界時,即開始計算被檢測作業(yè)人員目標的邊界框面積與區(qū)域重疊面積比.若重疊面積大于被檢測邊界框面積的80%即可判定油田現(xiàn)場作業(yè)人員闖入近海區(qū)域,重復(fù)此過程直到被檢測目標作業(yè)人員完全離開墻體區(qū)域為止.
本文結(jié)合油田作業(yè)現(xiàn)場近海周界區(qū)域的實際情況,考慮被檢測人員目標小與近海周界區(qū)域高危且不規(guī)則的研究背景,設(shè)計并實現(xiàn)適用于現(xiàn)場的近海周界區(qū)域入侵檢測算法,解決了油田現(xiàn)場作業(yè)人員區(qū)域入侵檢測問題.
本文實驗使用PyTorch 學(xué)習(xí)框架,Python 語言編程實現(xiàn)算法網(wǎng)絡(luò),硬件環(huán)境為聯(lián)想ThinkStationP900 工作站,NVIDIA GeForce RTX3080 顯卡(10 GB)、64 位Ubuntu 18.04 操作系統(tǒng).
本文采用SOLO 與CenterNet 結(jié)合的算法.油田作業(yè)現(xiàn)場監(jiān)控視頻流經(jīng)預(yù)處理后傳入SOLO 神經(jīng)網(wǎng)絡(luò),由SOLO 檢測并提取油田作業(yè)現(xiàn)場近海周界區(qū)域,本節(jié)使用近海周界監(jiān)控圖片作為自制數(shù)據(jù)集進行訓(xùn)練,得到本文用于檢測并提取近海周界區(qū)域的權(quán)重模型.訓(xùn)練過程中,設(shè)置epoch 值為5,batch size 值為8,每個epoch 步數(shù)為300,學(xué)習(xí)率設(shè)置為0.000 1,所有參數(shù)根據(jù)正太分布進行初始化.
本文使用CenterNet 檢測油田作業(yè)現(xiàn)場近海周界作業(yè)人員,使用CenterNet 官方提供的檢測模型ctdet_coco_dla_2x 作為權(quán)重模型,獲取權(quán)重模型后即可檢測近海周界作業(yè)人員.
判斷油田作業(yè)現(xiàn)場作業(yè)人員是否近海周界區(qū)域入侵時,設(shè)置坐標系,獲取近海周界區(qū)域坐標與被檢測作業(yè)人員坐標和其邊界框坐標.均勻選取合適的80 個近海區(qū)域區(qū)域坐標點圍成近似的邊界,由被檢測作業(yè)人員邊界框的坐標計算目標面積.當被檢測目標接觸邊界時,開始計算被檢測作業(yè)人員邊界框與邊界的重疊區(qū)域是否大于邊界框總面積的80%,即可判定作業(yè)人員是否闖入近海區(qū)域.
實驗將CenterNet 與YOLOv3、FasterRCNN 對油田作業(yè)現(xiàn)場人員小目標檢測進行對比;并使用本文方法與MaskRCNN 結(jié)合CenterNet 對油田作業(yè)現(xiàn)場實際檢測效果進行對比實驗.
第1 組實驗(表1),使用CenterNet 與YOLOv3、FasterRCNN 在油田作業(yè)現(xiàn)場數(shù)據(jù)集上進行對比實驗.
表1 作業(yè)現(xiàn)場小目標檢測算法比較
第2 組實驗(表2),使用本文方法SOLOv2 結(jié)合CenterNet的算法與MaskRCNN、SOLOv2 算法分別在油田作業(yè)現(xiàn)場數(shù)據(jù)集上進行對比實驗.
表2 本文算法
對于油田作業(yè)現(xiàn)場真實數(shù)據(jù)小目標檢測,CenterNet比YOLOv3、FasterRCNN 具有更好的檢測準確性與實時性.本文方法針對油田作業(yè)現(xiàn)場近海周界區(qū)域入侵檢測比MaskRCNN、SOLOv2 在準確率上分別提升了30%和14%,在實時性上比MaskRCNN 提升了27.4%.
本文提出SOLOv2 與CenterNet 結(jié)合的深度卷積網(wǎng)絡(luò)近海周界區(qū)域入侵檢測模型,可以檢測油田作業(yè)現(xiàn)場高精度小目標作業(yè)人員是否發(fā)生近海周界區(qū)域入侵,不同于普遍的檢測模型,該方法首先使用SOLOv2高效地檢測并提取出準確的近海周界區(qū)域,同時還可以避免復(fù)雜背景的干擾,提高檢測精度;再使用CenterNet進行小目標作業(yè)人員檢測,最后計算檢測到的作業(yè)人員目標與墻體區(qū)域的相對位置判斷作業(yè)人員是否發(fā)生近海周界區(qū)域入侵.實驗結(jié)果表明,使用該方法能夠有效地提升油田作業(yè)現(xiàn)場作業(yè)人員近海周界區(qū)域入侵的檢測精度,對油田數(shù)字化進程有重要參考價值.