劉送永,劉后廣,陳 松
(中國礦業(yè)大學 機電工程學院,江蘇 徐州 221116)
管道運輸具有運量大、運輸方便、成本低等優(yōu)點,在國民經濟中所占的比重越來越大[1]。管道巡檢維護過程多由管道機器人完成[2-3]。視覺系統(tǒng)是管道巡檢機器人的關鍵技術,它可以檢測和識別管道中各種各樣的目標物,并將識別結果傳送給計算機終端,與發(fā)送操作指令的管道巡檢機器人控制系統(tǒng)共同完成整個管道檢查過程[4-5]。
在目標檢測算法中,最經典的是Faster R-CNN[6-8]和YOLO 算法,基于深度學習的YOLO 算法與R-CNN算法相比,具有檢測速度快、模型訓練簡單等優(yōu)點[9-10],因而更適合目標實時檢測。一般的機器人視覺系統(tǒng)由照明、圖像采集、圖像預處理、圖像分析處理、自動決判等部分組成[11-12]。
為了更好地解決管道內可視化問題,本文基于管道機器人搭建了視覺系統(tǒng),通過對管道淤積物目標檢測方法的改進,模擬管道淤積物環(huán)境,制作管道淤積物圖像數據集,通過卷積神經網絡對淤積物圖像數據集進行訓練,存儲訓練后的權重參數,并通過實驗驗證該視覺系統(tǒng)用于管道巡檢的可行性。
實驗平臺的總體組成包括 CMOS 工業(yè)相機、鏡頭、LED 燈、PLC 控制器、管道巡檢機器人、管道淤積物等,如圖1 所示。實驗平臺具有管道內淤積物的檢測識別與定位測距兩大功能。針對管道淤積物特殊檢測實驗環(huán)境,在Windows 10 操作系統(tǒng)下搭建環(huán)境,運用 Anaconda 3 安裝深度學習框架 Tensorflow-Gpu以及計算機視覺開源數據庫OpenCV 2.3,使用Python語言在Spyder 中進行集成開發(fā)。
圖1 系統(tǒng)總體組成圖
鑒于管道機器人的視覺系統(tǒng)本身較為復雜、集成度較高且應用環(huán)境特殊的特點,本實驗平臺利用模塊化思想對該視覺系統(tǒng)進行搭建。該視覺系統(tǒng)主要由以下幾大模塊組成:圖像采集模塊、淤積物檢測分類模塊、標定參數優(yōu)化設定模塊、淤積物測距定位模塊。具體架構如圖2 所示。
(1)圖像采集模塊。將相機鏡頭安裝在管道巡檢機器人前端,機器人在管道行進過程中,相機會把管道內部的環(huán)境以圖像的形式傳輸或存儲到遠程的計算機中。
(2)淤積物檢測分類模塊。對相機采集到的圖像進行預處理,把每一類型的淤積物制作成標簽,利用神經網絡對圖像進行特征提取訓練。
(3)標定參數優(yōu)化設定模塊。在張正友標定方法的基礎上,對所選的工業(yè)相機進行標定,得到選定相機的初始參數,然后利用所得參數結合傳統(tǒng)的模擬退火算法,對所選用的相機內部及外部參數進行優(yōu)化。
(4)淤積物測距定位模塊。為完成單目視覺的圖像定位功能,首先需要在相機成像坐標系和地球物理坐標系之間換算關系的基礎上,設計出適用于管道內部的定位測距模型,再通過單目視覺定位測距算法,求解出淤積物的位置坐標及其與管道機器人之間的距離。
圖2 管道巡檢機器人視覺系統(tǒng)軟件架構
鑒于該實驗平臺被檢測對象的特殊性,為了能夠有效地將淤積物檢測識別出來,本設計采用YOLO[13]算法模型,其實現原理或具體工作流程如圖3 所示。首先將采集的圖片進行448×448 像素預處理,然后將圖片劃分為S×S個網格。為了提高淤積物的實時檢測效果,設計選用卷積神經網絡模型,該網絡模型有24個卷積層,2 個全連接層。最后,該算法輸出一個S×S×3×(5+C)的張量,其中的S是被處理的網格數目,C是類別數目[14]。
圖3 YOLO 算法實現原理
3.1.1 學習率更新策略
當訓練網絡的損失函數達到最小化時,學習率的大小可以根據權值更新進行調整。如果學習率低,則訓練速度慢;但如果學習率過高,則訓練結果較為發(fā)散。
鑒于該檢測系統(tǒng)較為復雜,實時性要求較高,因此該視覺系統(tǒng)學習率迭代次數的衰減階段為多項式衰減[15]機理,具體衰減過程如圖 4 所示,參數設置見表 1。這樣的設計能夠有效防止前述網絡模型在訓練過程中,因學習率過低導致某個參數不是最優(yōu)解。
圖4 多項式衰減
表1 多項式衰減參數設置
3.1.2 改進的YOLO 損失函數
在巡檢過程中,管道機器人受到視角的影響,所采集到的圖像會出現淤積物重疊的現象。為了避免該現象對檢測結果造成影響,需對YOLO 損失函數進行改進優(yōu)化。將淤積物遮擋檢測視為一種誤差,在損失函數設計過程中添加方差函數,這樣就能夠使用維度聚類預測邊界框,改善檢測精度不高的問題。
分類評定函數模型和極大似然估計函數概率求解模型如式(1)和式(2):
式中,x和y為管道淤積物圖像的當前位置;θ為未知參數;l(θ)為損失函數;L(θ)為極大似然估計函數;hθ為未知參數θ對應的模型;為輸入值;為輸出值。損失函數越小,模型的魯棒性越好。由于該實驗平臺環(huán)境的特殊性,淤積物大小沒有規(guī)律性,當淤積物較小時,會導致檢測邊框在管道附近浮動,工業(yè)相機捕捉不到較小的淤積物。因此,本文采用對比度歸一化的思想來改進YOLO 算法的損失函數。具體損失函數如式(3)所示:
式中,λcoord代表檢測邊框的權重值,代表第i個像素網格中含有的淤積物,代表第i個網格第j個檢測邊框需要預測的淤積物,w、h代表淤積物圖片的寬度和高度,C為管道內淤積物種類數,S2為圖片劃分網格數,B為每個邊界框的預測值,為概率模型。
所設計的算法模型中,含有目標幀的權值設置為5,不含目標幀的設置為0.5;針對預測框架中含有目標物的情況,無論他們屬于何種類型,其權值均設置為 1。為了使損失函數的收斂速度加快,該設計采用反向思維的方式,對模型中損失函數進行求導處理,淤積物的位置測量表達式為:
淤積物檢測概率計算式為:
檢測邊框內置信度計算式為:
本實驗系統(tǒng)通過設計學習率多項式衰減變化策略和對檢測算法損失函數的改進,旨在提高對管道淤積物的檢測識別能力,避免檢測不到較小淤積物的情況出現,提高特殊環(huán)境下實時檢測的魯棒性。
針對該實驗平臺的特殊情況,設計了一種基于幾何約束的定位測距模型。由于該實驗平臺涉及的管道為圓柱狀,里面淤積物大多滑落在管道內壁底側,當管道機器人搭載著該視覺系統(tǒng)在圓柱狀管道內巡檢作業(yè)時,可以將他們視為在一個平行面內,因此針對該種特殊環(huán)境可以建立一套與之匹配的定位測距專用模型,具體原理如圖5 所示。C點是工業(yè)相機的光學中心點,以其在管道底面T上的投影O為原點。在模型設計過程中考慮了巡檢機器人所攜帶的相機與淤積物之間的高度偏差和傾斜角,所以該模型可以測得管道淤積物的實際位置。
圖5 幾何約束的定位測距原理圖
由上述模型原理圖可以得知CC0為該實驗平臺工業(yè)相機的焦距,為相機在實時檢測管道淤積物時相機的成像平面,θ為管道巡檢機器人在巡檢過程中搭載的相機與管道底面的夾角,CO是工業(yè)相機相對于管道底面的高度h,P是管道底面上任意一點,是P通過工業(yè)相機所成像的位置點,通過計算可以求得目標點P的坐標值,隨之也可以求取目標點P到工業(yè)相機光心的距離CP:
為了進一步檢測所設計的YOLO 算法的有效性,在實驗初始階段準備淤積物樣本數為800 個,實驗過程中程序迭代次數為500 次。將管道淤積物隨意布置在波紋管道中,打開搭建在管道機器人上的視覺系統(tǒng),控制管道機器人在管道中進行模擬實驗?;诟倪MYOLO 算法對管道淤積物檢測識別、定位測距結果如圖6、7 所示。
通過在YOLO 算法中加入學習率調整機制,經過新型衰減調整模型,學習率在訓練過程中會不斷發(fā)生變化。在相同迭代次數的前提下,不僅能夠減少訓練時間,也能使訓練快速收斂達到理想效果。除此之外,通過對YOLO 算法中損失函數的改進,使得管道內被部分遮擋的淤積物也能被準確地識別檢測出來。針對特殊環(huán)境所設計模型的定位測距結果與實際存在一定偏差,雖然該偏差在誤差允許范圍內,但今后還需要對模型進一步優(yōu)化改進。
圖6 管道淤積物識別檢測結果
圖7 管道淤積物定位測距結果
管道巡檢機器人視覺系統(tǒng)是未來管道智能化檢測發(fā)展的關鍵技術之一,目前視覺系統(tǒng)已被應用在各行各業(yè),但是如何提高視覺檢測的速度、準確度仍是視覺系統(tǒng)的重難點之一。本次設計的視覺系統(tǒng)實驗平臺,可以使學生對管道巡檢機器人視覺系統(tǒng)的搭建過程進行具體的學習,為今后進一步開展高精度檢測識別技術研究打下基礎。