錢浩東?劉洋?汪影
摘要:機器學(xué)習(xí)在井場智能巡檢中已廣泛應(yīng)用,但油氣井場的目標(biāo)背景較為復(fù)雜,為提高井場目標(biāo)智能檢測的精確性和實時性,提出一種可用于視頻圖像的監(jiān)測和跟蹤的鉆井現(xiàn)場智能巡檢系統(tǒng)。為了解決缺乏數(shù)據(jù)集的問題,選擇用縮放等同類數(shù)據(jù)增強方式并結(jié)合mixup混類數(shù)據(jù)增強方式。此外,采用lable smoothing等方法來優(yōu)化和改善算法,完成算法的模型訓(xùn)練和檢測。實驗結(jié)果表明:改進(jìn)后的算法檢測速度為29每秒檢測幀數(shù),平均精度均值為85.90%,可見,經(jīng)過改進(jìn)和優(yōu)化的算法無論在平均精度均值還是在檢測速度上,均比其他算法效果好,能快速精確地對井場設(shè)備進(jìn)行識別。
關(guān)鍵詞:鉆井現(xiàn)場;目標(biāo)檢測;深度學(xué)習(xí);YOLOv3
一、前言
傳統(tǒng)的油氣田井場的巡檢工作主要依靠人力進(jìn)行,不僅效率低下,并且少量氣體泄漏無法及時發(fā)現(xiàn),惡劣天氣下巡檢安全隱患多,故根據(jù)井場巡檢的需求,智能巡檢的發(fā)展愈加重要。當(dāng)前,基于深度學(xué)習(xí)的目標(biāo)檢測算法包括基于候選區(qū)域的Two stage目標(biāo)檢測算法以及基于回歸的One stage目標(biāo)檢測算法[1]。其中,以R-CNN為首的Two stage目標(biāo)檢測算法首先需要對圖像進(jìn)行候選區(qū)域的提取,再對區(qū)域進(jìn)行CNN分類識別。但是由于生成候選框的算法耗時多,檢測速度慢,不能滿足實時檢測場景。2016年Liu Wei等人提出了基于回歸的One stage目標(biāo)檢測算法[2],例如Over Feat、YOLOv1、YOLOv3、SSD和RetinaNet等。YOLOv3是2018年由Joseph推出的,一經(jīng)推出,便成為了目標(biāo)檢測領(lǐng)域單階段算法中非常有代表性的算法[3]?;诨貧w的目標(biāo)檢測算法不需要區(qū)域生成這一步,直接在網(wǎng)絡(luò)中提取特征來預(yù)測物體分類和位置,檢測速度得到了顯著提升。
為解決油氣井場背景復(fù)雜、不容易檢測的問題,提高對油氣井場設(shè)備檢測的速度和精度,通過對算法的改進(jìn)優(yōu)化,提出了一種基于YOLOv3算法的鉆井現(xiàn)場智能巡檢系統(tǒng)[4],實現(xiàn)了包括節(jié)控箱、泥漿泵、液面報警器、遠(yuǎn)控房、振動篩五類目標(biāo)的精確檢測。本文通過K-means聚類得到先驗框,通過兩個對象之間的距離來判斷相似度,然后將相似度大的成員進(jìn)行分類;為解決井場數(shù)據(jù)集匱乏的問題,采用平移、旋轉(zhuǎn)等同類增強和mixup混合增強的方法完成數(shù)據(jù)集的擴充[5];此外,采用標(biāo)簽平滑化來提高分類任務(wù)中模型的泛化性和準(zhǔn)確率,緩解數(shù)據(jù)不平衡的問題。最后,將本文介紹的方法與Faster R-CNN檢測算法在井場數(shù)據(jù)集上進(jìn)行了對比實驗。
二、系統(tǒng)整體設(shè)計
本文設(shè)計了一個基于YOLOv3的鉆井現(xiàn)場智能巡檢系統(tǒng)。在設(shè)計過程中,第一步是將井場設(shè)備圖像整理打包成一個VOC格式的數(shù)據(jù)集,然后用專業(yè)的圖像注釋工具Labellmg對數(shù)據(jù)集里的圖像進(jìn)行標(biāo)注,然后建立一個YOLO模型,這個模型由13個卷積層組成,之后在實驗過程中注意觀察loss曲線的變化情況,當(dāng)其逐漸穩(wěn)定的時候,完成對本次算法模型的訓(xùn)練。最后再將井場的設(shè)備圖片數(shù)據(jù)設(shè)定為測試集,對圖像中的井場設(shè)備進(jìn)行檢測識別,得到該系統(tǒng)的性能指標(biāo)。系統(tǒng)設(shè)計框圖如圖1所示。
三、井場設(shè)備定位識別算法設(shè)計
(一)YOLO系列算法的原理
YOLO算法的第一代版本YOLOv1將固定尺寸大小的矩形圖像劃分為7×7個網(wǎng)格(候選區(qū))。在這個過程中,算法實際上是通過利用寬窄兩種矩形(先驗框),掃描每一個網(wǎng)格部分的圖像,同時在網(wǎng)格中記錄下候選區(qū)為所要檢測目標(biāo)的置信度,然后再以置信度為參考標(biāo)準(zhǔn)來明確目標(biāo)所在的候選區(qū),最后再適當(dāng)調(diào)整先驗框,以便框選出需要檢測的物體[6],首先輸入了一張448×448×3的固定尺寸的圖像,將其劃分為7×7的網(wǎng)格,經(jīng)過YOLO算法得到輸出為7×7×30的圖像數(shù)據(jù)。在這里,7×7指的是49個網(wǎng)格,30指的是網(wǎng)格的特征向量,特征向量涵蓋了2個邊框的置信度和坐標(biāo)信息(每一個坐標(biāo)包括4個信息)以及20個對象存在的概率[7]。進(jìn)行變換是YOLO算法的核心,此變換分為3層,第一層是特征提取層,第二、三層分別為池化層和YOLO層。
1.特征提取層是由多層卷積神經(jīng)網(wǎng)絡(luò)組成,提取出輸入的圖像的特征,將大量的數(shù)據(jù)量處理成較小數(shù)據(jù)量的特征圖。在這一層用到了卷積運算以及殘差運算。其中,卷積運算發(fā)揮的作用是提取出圖像的特征,而將圖像進(jìn)行壓縮的任務(wù)則交給池化層。
2.池化層與特征提取層相輔相成,特征提取層也叫卷積層,其任務(wù)是經(jīng)過大量的卷積運算,將最初的數(shù)據(jù)轉(zhuǎn)換成特征圖。池化層則是起著壓縮特征圖的作用,這個過程可以減少數(shù)據(jù)量,并且可以進(jìn)一步獲取特征圖的主要特征。
3.該算法最重要的組成部分是YOLO層,在這一層需要對候選框進(jìn)行置信度計算,并且進(jìn)行待測目標(biāo)大致輪廓的檢測。
(二)YOLOv3算法的改進(jìn)
YOLOv1存在的缺陷是只有一種尺寸,不容易識別實際生活中過大或過小甚至是奇形怪狀的物體,無法滿足現(xiàn)實需要。后來改進(jìn)的v2算法在同層定義了不同尺寸大小的先驗框,解決了存在的僅有寬、窄兩個回歸邊框的缺陷,但改善后的效果并不顯著。
后來的YOLOv3提出了一種多尺度融合的方法,將得到的特征圖分為3類,分別是大、中、小,且可以根據(jù)得到的特征圖尺寸來調(diào)節(jié)先驗框。這樣就很好地滿足了生活中不同尺寸目標(biāo)的識別[8]。因此,YOLOv3特別適合對油氣井場不同尺寸大小的設(shè)備進(jìn)行識別。
(三)Darknet-53網(wǎng)絡(luò)結(jié)構(gòu)
YOLOv3算法在進(jìn)行圖像特征提取的過程中,采用的是由53個卷積層組成的Darknet-53主干網(wǎng)絡(luò)結(jié)構(gòu),這53個卷積層由1×1以及3×3等一系列的卷積層構(gòu)成。
為了解決網(wǎng)絡(luò)變深帶來的性能退化問題,Darknet-53網(wǎng)絡(luò)采用在卷積層之間利用殘差組件來解決。其中,F(xiàn)(x)+x表示殘差組件的輸出,x表示殘差的上層特征輸入,F(xiàn)(x)表示學(xué)習(xí)到的殘差,如圖2所示。
(四)YOLOv3網(wǎng)絡(luò)
Darknet-53使用YOLOv3作為網(wǎng)絡(luò)分類的主干部分,通過對輸出的特征圖的尺寸大小這一指標(biāo)進(jìn)行控制,進(jìn)而對卷積層的步長進(jìn)行調(diào)整。此外,YOLOv3結(jié)合了特征金字塔網(wǎng)絡(luò)的思想來提升模型的性能,以便檢測尺寸不同的物體。利用特征融合與上采樣的方法輸出3個尺寸的特征圖,第1、2、3特征圖分別適用于較大目標(biāo)、中型目標(biāo)、小型目標(biāo)。三個不同大小的目標(biāo)各自對應(yīng)下采樣的32倍、16倍與8倍,最終5L表示網(wǎng)絡(luò)總共有5層。
(五)多尺度先驗框
k-means分別聚類了3種不同采樣尺度下的3種大小的驗證框,分別聚類10像素×13像素、16像素×30像素、33像素×23像素、30像素×61像素、62像素×45像素、59像素×119像素、116像素×90像素、156像素×198像素以及373像素×326像素。YOLOv3利用k-means聚類獲取到了不同尺寸的先驗框。
如圖3所示,如果一個被檢測的目標(biāo)的中心點在某個網(wǎng)格里面,那么這個目標(biāo)就由這個網(wǎng)格來完成檢測,YOLOv3進(jìn)行預(yù)測回歸的依據(jù)是被檢測目標(biāo)中心與其對應(yīng)的網(wǎng)格的偏移量。其中,Pw和Ph各自代表特征值置信圖內(nèi)的寬和高,(CX,Cy)代表網(wǎng)格的左上角的像素的位置,tx,ty代表被檢測目標(biāo)的中心點與網(wǎng)格左上角像素位置的偏移距離,(bx,by)代表預(yù)測錨框中心點的位置,bw和bh分別指預(yù)測錨框相對于特征圖的寬和高,利用常見的Sigmoid激活函數(shù),將tx,ty變換為[0,1]內(nèi)的輸出,以此確保待檢測的物體的中心點在網(wǎng)格里,tw,th分別代表特征圖寬和高的尺度縮放因子。
四、實驗過程及結(jié)果
(一)數(shù)據(jù)集的處理
由于沒有標(biāo)準(zhǔn)的井場數(shù)據(jù)集,僅僅通過現(xiàn)場采集的包含節(jié)控箱、泥漿泵、液面報警器、遠(yuǎn)控房、振動篩五類關(guān)鍵部件的圖像作為最原始的數(shù)據(jù)集。由于采集的圖片太少,導(dǎo)致原始數(shù)據(jù)集不足以支撐模型的訓(xùn)練,因此對訓(xùn)練集圖片隨機進(jìn)行如下的數(shù)據(jù)增強:
1.平移:水平或垂直平移+/-10%;
2.旋轉(zhuǎn):順時針或逆時針旋轉(zhuǎn)6°;
3.剪切:水平或垂直剪切;
4.縮放:+/-20%縮放;
5.水平翻轉(zhuǎn):50%概率水平翻轉(zhuǎn);
6.HSV飽和度:+/-40%;
7.HSV亮度:+/-40%。
然后使用LabeLlimg對采集的圖片進(jìn)行標(biāo)注,分為節(jié)控箱、泥漿泵、液面報警器、遠(yuǎn)控房、振動篩五類。在最后得到的上千張圖片中,隨機選取30%作為測試集,其他的圖片當(dāng)作訓(xùn)練集。
(二)模型的訓(xùn)練
本文實驗訓(xùn)練和測試的環(huán)境是基于Ubuntu16.04版本的操作系統(tǒng),GPU用的是GTX2080,預(yù)裝了Pytorch1.7.1深度學(xué)習(xí)框架,選擇的CUDA版本為10.1。在優(yōu)化器選擇方面,考慮到隨機梯度下降算法更具魯棒性且訓(xùn)練速度快的優(yōu)點,故選擇其作為優(yōu)化器,訓(xùn)練批次為5×104,學(xué)習(xí)率為1×10-3,權(quán)重衰減為5×10-3。在模型的訓(xùn)練過程中,采用的是有監(jiān)督的學(xué)習(xí)方式,通過設(shè)計損失函數(shù)的回歸以及優(yōu)化油氣井場設(shè)備的目標(biāo)識別模型,損失函數(shù)的變化情況如圖4所示。
(三)實驗結(jié)果
本次實驗過程選擇mAP指標(biāo)作為實驗效果的評價指標(biāo),該評價指標(biāo)在目標(biāo)檢測中最常用到,它是人為發(fā)明的用來衡量識別精度的評價指標(biāo)。同時,在對比算法的選取上,由于Faster R-CNN是two-stage目標(biāo)檢測模型中較為成熟的典型代表,故將其作為對比算法與本文的算法進(jìn)行比較。本次實驗測試的結(jié)果如表1所示,F(xiàn)PS(Frames Per Second)是衡量檢測速度的指標(biāo),表示在檢測過程中每秒鐘能檢測到的幀數(shù)。
通過表1可發(fā)現(xiàn),網(wǎng)絡(luò)的檢測效果比Faster R-CNN好,尤其在檢測速度上。因此,相比Faster R-CNN的性能在檢測精度和檢測速度方面均有所提升。
五、結(jié)語
本文針對油氣井場設(shè)備目標(biāo)識別面臨的檢測困難的問題展開研究,提出一種基于鉆井作業(yè)現(xiàn)場目標(biāo)實時監(jiān)測的方法。采用基于YOLOv3算法的模型,采用mixup混類數(shù)據(jù)增強擴充數(shù)據(jù)集,選取k均值聚類算法來獲取先驗框,采用lable smoothing等策略對算法進(jìn)行優(yōu)化,采用自行制作的鉆井設(shè)備圖像集作為數(shù)據(jù)集,利用云服務(wù)器來進(jìn)行模型的訓(xùn)練。通過分析對比Faster R-CNN算法,結(jié)果表明:改進(jìn)后的YOLOv3算法在檢測精度上達(dá)到了85.9%,檢測效果相比其他算法更好,同時檢測速度達(dá)到了29FPS,具有較好的魯棒性,能夠滿足鉆井作業(yè)現(xiàn)場實時檢測需求。
參考文獻(xiàn)
[1]劉彥清.基于YOLO系列的目標(biāo)檢測改進(jìn)算法[D].長春:吉林大學(xué),2021.
[2]邵延華,張鐸,楚紅雨,等.基于深度學(xué)習(xí)的YOLO目標(biāo)檢測綜述[J].電子與信息學(xué)報,2022,44(10):3697-3708.
[3]邢姍姍,趙文龍.基于YOLO系列算法的復(fù)雜場景下無人機目標(biāo)檢測研究綜述[J].計算機應(yīng)用研究,2020,37(S2):28-30.
[4]陳俊.基于YOLOv3算法的目標(biāo)檢測研究與實現(xiàn)[D]成都:電子科技大學(xué),2020.
[5]宋艷艷,譚勵,馬子豪,等.改進(jìn)YOLOV3算法的視頻目標(biāo)檢測[J].計算機科學(xué)與探索,2021,15(1):163-172.
[6]羅建華,黃俊,白鑫宇.改進(jìn)YOLOv3的道路小目標(biāo)檢測方法[J].小型微型計算機系統(tǒng),2022,43(3):449-455.
[7]袁小平,馬緒起,劉賽.改進(jìn)YOLOv3的行人車輛目標(biāo)檢測算法[J].科學(xué)技術(shù)與工程,2021,21(8):3192-3198.
[8]何東,陳金令,王熙.基于改進(jìn)YOLOv3的紅外行人目標(biāo)檢測[J].中國科技論文,2021,16(7):762-769.
作者單位:錢浩東、劉洋,川慶鉆探工程有限公司鉆采工程技術(shù)研究院;汪影,成都信息工程大學(xué)通信工程學(xué)院