陳恒俊,蔡明志,陳 樂,許文杰
1(南方電網(wǎng)調峰調頻發(fā)電有限公司,廣州 510630)
2(廣州市奔流電力科技有限公司,廣州 510700)
隨著社會經(jīng)濟的快速增長,各領域對于電力能源的需求越來越大,而發(fā)電廠是電力能源的核心來源,如何保證電廠正常和高效運行是一項重要任務.在電廠的生產(chǎn)過程中往往需要各種工質的流動和傳輸,因此電廠內管路縱橫交叉,各管路的運行狀態(tài)關系到電廠的安全運行.為了保證電廠的穩(wěn)定運行,必須要對電廠的各管路進行狀態(tài)監(jiān)測.而通過振動測量之后得到的目標振動的頻率和振幅等數(shù)據(jù)能反映出目標的當前狀態(tài)[1].
目前,振動測量的方法大致分為3 種[2],一是人工巡查測量,二是基于傳感器的振動測量,三是基于視覺的振動測量.電廠中的管路交錯復雜,而且其出現(xiàn)振動的現(xiàn)象往往具有較大的隨機性和不可預見性,而人工巡查測量無法覆蓋全天候全范圍,因此不能有效檢測到管路振動;基于傳感器的振動監(jiān)測方法[3,4],通過在需要監(jiān)測的目標上布置傳感器的方式,從而能夠實時掌握到監(jiān)測目標的振動狀態(tài),但需要在每個監(jiān)測目標上安裝振動傳感器,需要耗費巨大的物力和財力,并且傳統(tǒng)的振動測量傳感器,在極端條件下的準確性往往不可靠,會受到溫度和輻射等環(huán)境條件的影響;而基于視覺的振動監(jiān)測方法[5,6]只需要通過監(jiān)控畫面就能快速的測量出目標的振動參數(shù),且具備強抗干擾性.
基于視覺的振動測量方法分為數(shù)字圖像相關法、標記跟蹤法和光流方法.數(shù)字圖像相關法[7-10]測量振動需要在被測量目標上預先設置散斑圖像,故又稱數(shù)字散斑相關法.數(shù)字相關圖是基于數(shù)值計算和圖像處理的變形或振動測量方法,其通過光路布置(在待測目標上設置散斑圖像)后,采集待測目標的監(jiān)測畫面,最后通過圖像計算得到待測目標的振動參數(shù).文獻[7]采用數(shù)字圖相關法非接觸的測量出了齒輪軸線平行度誤差,并且得到了齒輪副的傳動誤差曲線.文獻[8]利用三維的數(shù)字圖像相關法測量了工程結構試件的固有振動頻率及其變化值.
標記跟蹤法[11,12]振動測量是通過在待測對象的結構表面粘貼標記物的方式,對圖像中的標記物進行處理和分析,得到標記物的振動信息,從而完成待測對象的振動測量,其標記物通常使用圓形標記,且與待測對象背景具有一定的差異.文獻[12]通過標記跟蹤法,測量出了無人機機翼的振動數(shù)據(jù),包含了振型和振動頻率等,驗證了標記跟蹤振動測量方法的有效性.
數(shù)字圖像相關法和標記物跟蹤振動測量方法在測量過程中都不易受外界環(huán)境的干擾,精度較高,但都需要在待測目標上預先設置標記物,準備工作繁瑣,實用性不佳,不能充分體現(xiàn)計算機視覺技術的易用性以及非接觸式振動測量的優(yōu)勢.
光流法常用來檢測圖像序列中運動的目標,通過圖像序列提取到的光流包含圖像中目標的運動信息,為物體的振動測量提供了數(shù)據(jù)來源.并且光流法并不需要預先在待測目標上設置標記物,使得基于光流法的物體振動測量易用性更高[13,14].文獻[13]基于光流法提出了一種斜拉索振動測量方法,僅通過普通相機就能測量出無標記的斜拉索的振動特性.文獻[14]提出了一種多線程主動視覺感應的概念,通過測量高速攝像機拍攝下的土木工程結構上多個點的光流,從而得到多個點的動態(tài)變化的位移和振動.光流法測量振動因為其不需要預先在待測目標上設置標記物,簡單方便的優(yōu)點使得其應用廣泛[15],但光流法對于圖像的質量要求較高,而且現(xiàn)有的光流計算大部分基于傳統(tǒng)光流法[16,17],其計算成本過高,無法達到實時檢測,并且對于光照等環(huán)境條件的變化敏感,從而導致一定的噪聲.
為了解決上述方法的局限性,本文提出了一種基于計算機視覺的振動感知方法,首先采用卷積神經(jīng)網(wǎng)絡估計待測目標的光流信息,然后通過分析光流信息檢測出物體的振動,最后通過記錄振動目標中心點的周期信號測量出振動目標的頻率和振幅.
光流(optical flow)[18]是空間運動物體在成像平面上的像素運動的瞬時速度.在計算機視覺任務中,光流代表圖像序列中的像素點隨著時間變化而發(fā)生位置變化情況,光流具有豐富的運動信息[19],在目標跟蹤、運動估計和自動駕駛等領域[20-22]應用廣泛.但現(xiàn)有光流的計算方法依賴于基于變分能量模型的優(yōu)化算法[23]和基于塊匹配[24]的啟發(fā)式算法等,但這些傳統(tǒng)光流計算方法計算成本高、計算時間長,導致不適用于實時性任務,另外對于深度學習網(wǎng)絡如要使用光流所包含的運動信息,需要預先提取光流,使得網(wǎng)絡模型并不能端到端.
隨著卷積神經(jīng)網(wǎng)絡在計算機視覺領域的大放異彩,研究者們嘗試用卷積神經(jīng)網(wǎng)絡來估計光流信息[25-27],文獻[25]將光流問題視作圖像的重建問題,嘗試利用卷積神經(jīng)網(wǎng)絡自主學習特征的優(yōu)勢去解決光流的問題,提出了FlowNet,采用深度網(wǎng)絡架構去預測光流,其預測的準確度略低于傳統(tǒng)光流計算方法,但其預測的速度遠快于傳統(tǒng)的光流計算速度.
結合電廠中對于管路振動檢測的實時性要求和管路振動本質是小位移運動的特性,本文將光流問題建模成一個有監(jiān)督的深度學習問題,假定在工業(yè)電視系統(tǒng)中獲取到實時圖像序列 [f1,f2,···,fn],fk和fk+1兩幀圖像的光流為Ok,則本文預測光流的公式如下:
式中,CNN為深度卷積神經(jīng)網(wǎng)絡,ω為網(wǎng)絡中待學習的參數(shù),通過調節(jié)參數(shù)ω的值使得網(wǎng)絡具備預測fk和fk+1兩幀圖像的光流Ok的能力.
本文預測光流的網(wǎng)絡是基于FlowNet-S的網(wǎng)絡結構,針對管路振動實質上的是像素點在畫面中的小位移特性和FlowNet-S在估計小位移運動的可靠性不穩(wěn)定的情況,本文將其第一層的步長和卷積核的大小進行了修改,以便能更好的預測出小位移的光流.網(wǎng)絡的框架圖如圖1所示.
圖1 光流預測網(wǎng)絡結構
本文通過深度網(wǎng)絡去估計圖像幀序列光流的方法分為3 個步驟:第1 步輸入圖像幀序列中連續(xù)兩幀圖像進入網(wǎng)絡;第2 步采用網(wǎng)絡卷積層的卷積操作得到收縮后的特征圖;第3 步是將提取的特征通過反卷積的方式一步一步去預測圖像的光流,最終得到預測的光流圖像大小擴大到與輸入幀圖像的大小相同.相比于傳統(tǒng)方法計算光流,本文采用深度網(wǎng)絡去預測光流,其計算方式為計算復雜度不高的卷積操作,使得光流得獲取具有實時的可能.
由上述深度網(wǎng)絡預測出光流后,為檢測出振動目標,本文首先采用局部自適應的方法分割單張光流圖,但在分割的過程中我們發(fā)現(xiàn)單張分割出的前景目標輪廓并不明顯,并且還具有一定的噪點,考慮到振動是連續(xù)的,其表現(xiàn)在連續(xù)幀畫面中,可以通過取多幀的結果進行分析,以得到更好的分割結果,然后通過中值濾波和形態(tài)學閉操作去除噪聲,就完成了振動目標的檢測.
在提取到振動目標之后,需要提取振動目標的局部區(qū)域,以降低后續(xù)振動測量的時間和計算復雜度,所以本文對檢測出的振動目標使用邊緣提取算法(Canny)提取振動目標的邊緣,再進行閉操作并臨近邊緣并去掉一些較短邊緣之后,根據(jù)邊緣點所在的范圍提取出原圖片對應振動目標的位置,再對上述圖片進行網(wǎng)格劃分,從上到下劃分出4 塊區(qū)域,使用霍夫曼直線檢測進行檢測,由于振動管路為圓柱體,其在畫面中的表現(xiàn)形式為長方形區(qū)域,所以我們根據(jù)兩條直線的距離來判斷是否是震動管路,最后得到了振動管路的局部區(qū)域位置信息,即可以得出圖像序列中待測量振動管路區(qū)域,如圖2所示.
圖2 分割出的圖像序列中待測量振動管路區(qū)域示例
由光流估計和光流分析,確定了需要待測量管路目標的圖像序列,基于此,本文采用以下方法測得目標的振動信息:首先將管路目標與背景區(qū)域分割出來,然后通過邊緣查找方法找出管路目標的左右邊緣點并得到管路目標的中心點,再觀察并記錄中心點在圖像序列中位置的周期變化,最后通過中心點的周期性變化計算出振動的幅值和頻率.
1.2.1 振動管路圖像分割
為了方便后續(xù)的計算,首先對圖像進行灰度化處理,將彩色圖像轉換為灰度圖像,如圖3所示.
圖3 待測量管路目標的圖像序列和灰度化后的待測量管路目標的圖像序列
在待測量管路目標的圖像中不僅包含對測量任務有用的管路目標,還存在冗余的背景.為了去除背景信息的干擾,本文采用最大類間方差法(OSTU 算法)對圖像進行前景和背景的自適應閾值分割,最后得到測量任務感興趣只包含管路目標的二值圖像.如圖4所示.
圖4 OSTU 算法分割后的待測量管路目標的圖像序列
1.2.2 中心點距離計算
在只包含管路目標的二值圖像中,本文先通過邊緣查找出管路目標邊緣像素點的坐標,邊點像素點查找的方式如式(2).
式中,Pk代表圖像序列中第K幀中的邊緣點集合,(x,y)為圖像序列中像素點的坐標.如上述的示例圖像序列對應的邊緣點坐標集合如下:
在求得每幀圖像得邊緣點之后,通過式(4)計算出每一幀中振動目標的中心點Ck.
式中,(xk,yk)為振動目標中心點的坐標,(xi,yi)表示邊緣點集合Pk中像素點的坐標,N表示Pk中像素點的總數(shù)量.然后,由每一幀中振動目標中心點的坐標計算得到其距離原點的距離Dk,計算公式如下:
式中,(xk,yk)為第k幀圖像中振動目標中心點的坐標,對于每一幀圖像中的中心點距離原點距離做一個規(guī)范化處理,其計算方式如下:
式中,Dk′為規(guī)范化處理后的中心點距離,mean(Dk)表示所有幀序列圖像振動目標中心點距離原點距離的均值.通過計算可以得到上述示例5 幀圖像的規(guī)范化處理候的中心點距離,如式(7).
1.2.3 測量振動的幅值和頻率
通過記錄連續(xù)幀序列中各幀中心點規(guī)范化處理好的中心點距離Dk′,將其按時間順序進行排列,得到各幀振動目標中心點坐標的周期信號,從而可以畫出振動目標中心點的周期信號.如圖5所示.
圖5中橫軸為時間軸,縱軸代表規(guī)范化處理好的中心點距離Dk′(像素點距離),從而可以得到幀序列中振動物體中心點坐標的周期性信號如圖5中曲線所示.對于得到的振動物體中心點的周期圖中的曲線,本文首先找到曲線上所有的峰值點,其組成的集合記為Q,對于Q中的元素求平均,從而得到振動的幅值A.
圖5 振動物體中心點響應的周期信號
功率譜的定義是單位頻帶內的信號功率.功率譜曲線的橫軸為頻率,而縱軸為功率的大小.根據(jù)信號與系統(tǒng)理論,周期信號的功率譜會在相應的頻率處形成尖峰.通過功率譜來計算,可以省去復雜的統(tǒng)計峰值的過程,而且在頻域上可以忽略掉時域的一些噪聲,使測量的結果更加準確.對于振動物體的頻率,本文在頻域上進行統(tǒng)計,通過振動物體中心的周期信號圖得到出對應的功率譜,從而得到其頻率值.
如圖6所示,通過觀察功率譜的最高峰值所對應的橫坐標頻率,可以得出振動的頻率f.如圖中對應測量的振動物體通過該方法可以測得振動的頻率約為10 Hz.
圖6 振動物體的功率譜
本文的數(shù)據(jù)主要分為兩個部分,其中一部分是用于振動檢測,用作光流預測網(wǎng)絡的訓練,其來源為網(wǎng)絡的開源數(shù)據(jù)集,包括Chairs、Things3D和ChairsSDHom三個應用廣泛的光流預測任務數(shù)據(jù)集,以便光流預測模型能夠預測出更準確的光流.另外一部份用作整個方法的測試,其來源于自我模擬和拍攝的視頻,因為目前電廠的管路振動的視頻數(shù)據(jù)匱乏,且電廠正常運行不能打斷進行模擬,所以本文采用了一些類管路的目標視頻來測試我們方法的有效性,數(shù)據(jù)示例如圖7,其中第1 行為動畫視頻來源于開源數(shù)據(jù)集,第2 行為真實場景數(shù)據(jù),這兩部分數(shù)據(jù)都為視頻,本文做了疊影效果展示.
圖7 數(shù)據(jù)示例
本文的光流預測網(wǎng)絡是在FlowNet-S 網(wǎng)絡的基礎,做了輕微的調整,將其第一層的步長由2 調整到1,將7×7和5×5 大小的濾波器調整為3×3,并在Chairs 數(shù)據(jù)集預先訓練光流預測網(wǎng)絡,然后通過Things3D和ChairsSDHom 兩個數(shù)據(jù)集對網(wǎng)絡進行微調以使得網(wǎng)絡能夠更好的捕捉小位移運動.
為了得到更好的振動目標分割結果,本文對深度網(wǎng)絡預測得到的連續(xù)100 幀光流圖像分割求平均操作,再進行中值濾波和形態(tài)學閉操作去除噪聲.然后,在頻率值的測量過程中,本文嘗試了直接統(tǒng)計測量時間的峰值數(shù),再除以對應時間的方法得到頻率,但在實驗過程中發(fā)現(xiàn)此方法容易因為信號的噪聲使得統(tǒng)計的峰值數(shù)不準確,嚴重影響頻率測量的效果,所以本文采用了功率譜的方法來計算頻率值,首先省去了統(tǒng)計峰值數(shù)的過程,其次其在頻域上可以忽略掉時域的一些噪聲,使測量的結果更加準.最后,本文在2.40 GHz Intel Xeon E5和Nvidia 1080 Ti的Ubuntu 系統(tǒng)上評估了所有方法.
為了驗證本文方法整體上的有效性,本文在振動檢測和振動測量兩個任務上進行了實驗評估.在振動檢測任務上,本文分別在虛擬數(shù)據(jù)(動畫視頻)和現(xiàn)實場景數(shù)據(jù)(真實場景拍攝)測試了本文的光流預測網(wǎng)絡模型的效果,其測試結果示例如圖8所示.
圖8 在虛擬數(shù)據(jù)和現(xiàn)實場景數(shù)據(jù)上光流預測的測試結果
由圖8可以看出,在虛擬數(shù)據(jù)上(1-2 行),本文方法和FlowNet-S的測試結果都取得了很好的效果,都具有清晰目標輪廓和豐富的平滑的目標結構.但在真實場景數(shù)據(jù)上(3-6 行),本文的光流預測網(wǎng)絡模型相對于FlowNet-S 所獲得光流圖像具有更明顯運動目標邊界、更清晰的運動目標結構和對小位移運動的魯棒性,也驗證本文的光流預測網(wǎng)絡模型在振動目標檢測(小位移運動)任務上的優(yōu)越性.雖然本文光流預測網(wǎng)絡模型的速度略低于FlowNet-S 網(wǎng)絡,但相對于傳統(tǒng)的光流計算方法快了幾個數(shù)量級.上述實驗說明了本文方法在檢測速度和效果上都滿足了實際工程中振動檢測的要求.
在振動測量任務上,目前直接將深度學習和計算機視覺技術直接應用振動測量的研究相對較少,暫無標準數(shù)據(jù)集,為了驗證我們的工作在振動測量上的有效性,我們通過模擬管路振動,同時通過儀器測量其振動幅值和頻率作為真實值,將記錄下來的視頻數(shù)據(jù)以用作我們實驗的測試數(shù)據(jù).
為了更直觀的顯示本文方法的實際效果,本文在5 個現(xiàn)實場景下管路振動的視頻數(shù)據(jù)上進行了測試,測試結果如表1所示.從測試結果中可以看出,本文的測量方法能夠貼近振動物體真實的頻率值,其平均誤差只有7.918%,單從測試精度來講,本文的方法仍然無法與激光位移計以及其他傳感器的方法相比,但本文振動測量的方法只需要通過視覺的手段并且不需要在測量過程中預先再設置標記物,實現(xiàn)了非接觸、無目標的測試方式.且頻率的測試效果完全能夠滿足工程振動測試的一般要求.
表1 在真實場景下數(shù)據(jù)上的測試結果
本文通過記錄振動物體中心點的周期信號,從而計算出該振動物體在畫面上的振幅,而畫面中振動物體的振幅大小衡量標準是包含像素點對的個數(shù),如要確定振動物體的振動位移的大小,則必須要通過復雜相機參數(shù)標定,確定圖像中像素點和現(xiàn)實空間物體表面點的對應關系,以獲得振動位移大小和像素的比例換算.但實際應用場景中,我們監(jiān)測的目標和攝像頭的數(shù)量過多,相機參數(shù)的標定難度過大,無法做到通用性,故本文只探索了在圖像畫面中振動物體振動的幅度大小.
最后,為了評估本文方法的速度,128 張圖片輸入到光流預測網(wǎng)絡得到光流圖像的時間約為26.7 s,可得光流速度約為4.8 f/s;然后以128 張光流圖像作為處理序列,從光流圖分割出待測量區(qū)域的時間為3.1 s,測量出振動幅值和頻率的時間是2.0 s,由此可得到本文方法整體的速度為4 f/s.
從實驗結果可以看出,本文的基于計算機視覺的管路振動感知算法實現(xiàn)了管路振動檢測和振動測量,且具有較快的檢測速度和較低的頻率測量誤差,在實際應用中具有較高的應用價值,驗證了計算機視覺在振動檢測和測量任務上的有效性.
本文提出了一種基于計算機視覺的電廠生產(chǎn)區(qū)域的振動檢測和測量方法,本文采用深度網(wǎng)絡估計振動的光流信息從而達到了振動檢測的目的,并且不需要預先在待測目標上設置標記物,僅從原有攝像系統(tǒng)(不需要額外添加硬件)就能直接測量到振動目標的頻率和振幅,大大提高了本文方法的實用性,達到了4 f/s的速度,同時頻率測量誤差僅有7.918%,驗證了計算機視覺在振動檢測和測量任務上的有效性.后續(xù)的研究工作中,可進一步探索通過相機標定的方式去測量振幅的具體值,另外可對一些更加復雜的目標進行振動檢測和測量,從而進一步應用于工業(yè)設備的振動檢測和測量.