劉珈銓 ,侯磊 *,畢新忠,段闖,任贐慈
1 中國石油大學(北京)機械與儲運工程學院,北京 102249
2 中國石油大學(北京)油氣管道輸送安全國家工程實驗室/石油工程教育部重點實驗室,北京 102249
3 中國石化勝利油田有限公司樁西采油廠,東營 257237
機器視覺是視頻處理技術的重要領域之一[1]。基于機器視覺的注水泵智能監控方法是指利用泵房監控視頻實時在線檢測泵的運行狀態以進行智能監控。
視頻序列中運動目標檢測方法包括背景差分法[2-3]、光流法[4-5]及幀間差分法[6-7]。背景差分法將當前幀圖像與實時背景圖像相減,差值超過一定閥值的區域被判定為運動區域,該算法簡單、計算速度快,但只有建立精確背景模型才能獲得較高精度[6],受到環境光線變化及干擾目標影響時易出現誤判。光流法利用序列圖像中各幀像素矢量特征的變化檢測運動目標,該算法復雜,計算量大,難以進行實時處理[8]。幀間差分法對時間上連續的兩幀圖像進行差分運算,當差值超過一定閾值時,即可判定為運動目標。傳統幀間差分法實現簡單,計算速度快[9],但易受光線、陰影[10]、干擾目標等變化的影響。
針對傳統幀間差分法存在的不足,已有研究做出改進。屈晶晶[11]融合連續幀間差分與背景差分法,對緩慢運動目標檢測效果較好,但目標圖像去噪效果仍不理想。胡敬舒[12]利用SIFT特征方法對運動背景下的運動目標檢測效果較好,但特征構造過程復雜。鄔大鵬[13]結合幀間差分法和Camshift算法,對高速運動、遮擋及有同色干擾的目標檢測效果較好,但需滿足主運動分量和目標短時間速度不發生跳變的假設,具有一定的局限性。上述改進算法雖提升了檢測準確率,但檢測效果主要依靠各類人為設計特征[14],適用范圍相對局限,不具有普適性。
自深度學習理論提出[15]以來,為實現圖像特征自動提取,已有研究將深度學習和運動目標檢測相結合[16-19]。此類方法無需人工設計特征,而通過深層神經網絡模型,直接從原始圖像中自動提取相關特征對運動目標進行檢測。Braham[20]將卷積神經網絡特征用于背景減除,但該方法檢測緩慢,無法實現實時性。郝駿[21]為應對低照度的惡劣情況,提出基于圖像增強及YOLO的運動目標檢測算法,但檢測準確率仍不理想。盧裕秋[22]利用深度卷積神經網絡,在缺乏訓練數據集的情況下,利用仿射變換生成合成數據集,對間歇運動目標檢測效果較好,但檢測準確率還有提升空間。
在設備智能監測研究領域,周龍[23]利用邊緣檢測Sobel算子對發動機連桿表面缺陷進行檢測測量,并用于現場實際生產,但系統適應性與標定精度仍需優化。楊子琦[24]利用特定局部閾值進行圖像分割,對泵活塞表面的劃傷、磕碰、擦傷、木紋、螺旋劃傷和沙粒打傷6種缺陷進行檢測,但對豎直光源的光照情況還未研究。馬浩鵬[25]改進YOLOv3網絡模型,實現了泵的10種缺陷檢測,但模型的泛化能力還有待優化。庾浩桓[26]基于卷積神經網絡對泵進行缺陷檢測,解決泵結構干擾或姿態干擾多的問題,但算法執行速度還需提高。
Faster R-CNN[27]自2015年提出以來,在鐵路[28]、公路[29]、林業[30]、地質[31]、電力[32]等領域已成功應用,在Fast R-CNN[33]基礎上提出的RPN候選框生成算法,使目標檢測速度大大提高。
本文針對注水泵運動目標檢測問題進行深入研究,將Faster R-CNN的自動檢測與定位融入幀間差分法應用于動態目標檢測中,改進圖像預處理方式及動態判定標準,提出一種實現泵柱塞區域運動狀態檢測的方法,并運用油田生產現場的真實視頻對該方法進行有效性驗證。
由于傳統方法計算整個監控區域的幀間差值,原始監控視頻噪點多,將導致幀間差值顯著增大(圖1),造成泵運動狀態的檢測失誤,準確率降低。同時當干擾目標闖入泵房時,整個區域幀間差值也將顯著增大(圖2),導致泵運動狀態的檢測失誤,準確率降低。

圖1 未經處理的原圖像及幀間差值圖像Fig. 1 The original image and the frame difference image without processing

圖2 未經處理的原圖像及幀間差值圖像(干擾目標闖入)Fig. 2 The original image and the frame difference image without processing when jamming target is invading
1.2.1 增加目標檢測與定位環節
為避免監控視頻中干擾目標的影響,利用Faster R-CNN算法對每幀圖像進行處理,識別圖像中的柱塞區域,并計算柱塞區域坐標。
Faster R-CNN算法由特征提取網絡(FEN)、區域推薦網絡(RPN)和目標檢測網絡(ODN) 3部分組成(圖3)。對于輸入圖像,利用FEN進行特征提取,將提取特征圖輸入RPN生成一系列候選區域,在RPN產生的候選區域位置上,利用RoI池化操作提取FEN特征圖上的區域特征,進行目標分類和邊界框回歸。
該算法的實現步驟如下:
(1)利用VGG-16網絡模型[34]作為特征提取網絡(FEN),在大規模分類數據集ImageNet[35]的預訓練參數基礎上,利用注水泵圖像數據集對VGG-16的網絡參數進行再訓練。
(2)利用區域推薦網絡(RPN)在FEN特征圖上進行掃描,對各特征點產生以當前點(錨點)為中心的多尺寸多比例的多個邊界框,分別送入兩個全連接層進行背景判斷及邊界框坐標回歸。
(3)根據FEN特征圖及RPN產生的m個候選區域,利用目標檢測網絡(ODN)中的RoI池化層提取候選區域的對應特征,進行后續的選框坐標精修和框內目標分類。
完成柱塞區域識別及定位后,幀間差分法將僅對柱塞區域進行差分計算,有效避免干擾目標影響。
1.2.2 增加圖像預處理環節
傳統幀間差分法對時間上連續的兩幀圖像進行差分運算,相鄰幀對應的像素點相減,得到幀間差值,但由于圖像噪點多,將使幀間差值顯著變化。為處理圖像噪點,增加灰度化、二值化及高斯濾波的圖像預處理環節。
計算兩幀圖像灰度差的絕對值,當絕對值超過設定閾值時,即可判斷為運動目標。視頻序列中第n幀和第n-1幀圖像為fn和fn-1,兩幀對應像素點的灰度值記為fn(x,y)和fn-1(x,y),將兩幀圖像對應像素點的灰度值進行相減,并取其絕對值,進行二值化及濾波后,得到差分值Dn(式1)。

式中,x表示像素點橫坐標,y表示像素點縱坐標。
1.2.3 改進運動狀態判定標準
為進一步降低運動狀態檢測失誤率,將基于單個幀間差值的運動狀態判定標準改為基于多個幀間差值的運動狀態判定標準。
根據設定閾值T,計算每幀圖像的Rn′(式2)。

當每秒24幀圖像中Rn′=0的幀數量大于20%時,認為泵處于停止狀態,進行報警,否則,認為泵處于運行狀態,整體流程如圖4所示。

圖3 Faster R-CNN算法示意圖Fig. 3 The sketch map of the Faster R-CNN

圖4 基于選框的幀間差分法流程圖Fig. 4 The framework of the frame difference method based on region of interest
采集來自某油田生產現場的注水泵視頻,泵柱塞運動狀態有運行和停止兩種,幀速率24 FPS,圖像像素為720×480。實驗數據集從視頻中截取訓練集圖像400張,測試集圖像100張,用于測試選框推薦算法(圖5)。從監控視頻中截取1 min的片段,用于測試基于選框的幀間差分法(圖5)。

圖5 現場拍攝圖像Fig. 5 The images from the field
軟件開發環境為:Windows10操作系統,軟件平臺Python 3.6。硬件開發環境為:PC機一臺,Intel(R)Core(TM)I7-7850H-CPU- 2.2GHz,16 G的DDR4內存、英偉達NVIDIA-GeForce- GTX-1050Ti顯卡。基于此開發環境對400張訓練集圖片進行訓練,Faster R-CNN網絡訓練參數如表1所示。

表1 網絡訓練參數設置表Table 1 The parameter setting of network training
Faster R-CNN網絡訓練收斂曲線如圖6所示,總損失呈下降趨勢。當迭代到 500 步時,Faster R-CNN的最佳模型總損失率為0.124,完成模型訓練。將100張測試集圖像導入上述模型,測試集準確率達到97%。

圖6 網絡訓練收斂曲線圖Fig. 6 The convergence curve of network training
利用注水泵現場采集的視頻對提出的方法進行測試。將測試集中每一幀圖像作為一組測試數據,即總測試數據數量為序列總幀數 (1440 組),測試評價標準為:

式中:rF為誤報率,rO為漏報率,rtotal為總準確率。
(1)圖像預處理
為提高檢測準確率,需對差分圖像進行預處理操作。其中,預處理方法一為原圖像幀間差值灰度化后的結果,預處理方法二為幀間差值灰度化后進行高斯濾波的結果,本文預處理方法為幀間差值灰度化后進行二值化與高斯濾波的結果,其檢測準確率如表2所示。本文對灰度圖進行二值化處理,使得柱塞區域圖像中的柱塞部分像素值顯著增大,如圖7(c)、圖7(d)、圖7(e)所示。高斯濾波能夠有效去除圖像的低頻分量進而消除噪點,使得非柱塞部分像素值顯著減小,如圖7(b)、圖7(c)、圖7(d)所示。由此柱塞不同運動狀態的幀間差值Dn(x,y)顯著增大,誤報率顯著減小。

圖7 柱塞區域預處理效果對比圖Fig. 7 The comparison of pretreatment of plunger area

表2 預處理方法對檢測率的影響Table 2 The influence of preprocessing method on detection rate
(2)檢測方法對比
使用上述預處理后的圖像作為輸入,對比傳統幀間差分法、光流法及本文方法(Faster R-CNN+幀間差分法)的檢測準確率(表3)。由于未能確定柱塞區域的具體位置,傳統幀間差分法在有人員等干擾目標出現時,出現了誤報情況。光流法受光線變化影響也出現了明顯的誤報情況。本文方法則克服了上述缺點,檢測總準確率達到了96.75%。

表3 注水泵運行狀況檢測結果Table 3 The detection results of water injection pump operation
應用本文方法對油田生產現場的泵柱塞區域圖像(圖8)進行上述實驗處理,由于圖像噪點多及干擾目標多,傳統方法(以傳統幀間差分法為例)處理起來難度較大,但通過Faster R-CNN與幀間差分法的結合,檢測效果良好。

圖8 泵柱塞原圖像Fig. 8 The original images of pump plunger
利用Faster R-CNN的RPN模塊,基于CNN網絡提取的柱塞區域圖像特征,自動檢測出圖像中柱塞位置(圖9),無需工作人員手動標注柱塞區域,不受光線明暗及監控角度的影響。

圖9 柱塞區域識別結果Fig. 9 The detection results of plunger area
當監控區有人員進入時(圖10),傳統幀間差分法的幀間差值明顯增大(幀間差值圖像的白色區域面積明顯增大),導致漏報率上升。本文利用ODN模塊,對候選區域內的圖像進行分類識別,使得檢測方法能夠僅計算柱塞區域內的幀間差值,有效排除區域外干擾目標的影響(圖11)。

圖10 傳統幀間差分法的原圖像及幀間差值圖像Fig. 10 The original image and processed image of traditional frame difference method

圖11 本文方法的原圖像及幀間差值圖像Fig. 11 The original image and the frame difference image of proposed method
利用幀間差分法計算兩幀圖像的差值,并進行灰值化、二值化及高斯濾波,當幀間差值小于閾值后進行自動報警(圖12)。當泵柱塞發生故障停止運轉時,該方法能夠迅速進行識別并報警,相比于傳統幀間差分法,本方法準確率高、抗噪性能好。

圖12 柱塞停止時的原圖像及幀間差值圖像Fig. 12 The original image and the frame difference image when the pump stoped
(1)針對注水泵原始視頻進行二值化與高斯濾波,發現該方法能有效減少圖像噪點對運動狀態判別的影響,通過預處理方法對比實驗表明,該方法能使非柱塞部分像素值顯著減小,柱塞部分像素值顯著增大。
(2)針對單個幀間差值作為運動狀態判別標準的不足,提出基于多個幀間差值的判別標準,有效避免了單幀圖像誤判對整體準確率的影響,進一步降低了運動狀態判別失誤率。
(3)針對注水泵監控視頻的干擾目標問題,通過與傳統幀間差分法及光流法的對比實驗,提出利用Faster R-CNN算法,根據圖像特征在變化背景中自動檢測并確定泵的柱塞區域位置,使檢測準確率顯著提升至96.75%。
(4)本研究提出的基于機器視覺的注水泵智能監控方法,對油田其它設備的智能化管理具有一定指導意義。