張文韜,郭 穗,王本紅,邢本福,嚴玉明,徐長明,譚佳文,黃鵬輝,李文馨
(1.中國長江電力股份有限公司,湖北 宜昌 443000;2.北京中水科水電科技開發有限公司,北京 100038)
隨著視頻監控在水力發電廠道路交通、廠內安防、工業生產等領域的普及應用[1],視頻巡檢、全時空生產信息獲取等新興技術正與傳統水電生產運營深度結合,使得運行維護人員無需親臨現場即可獲得第一手信息。在帶來一定便利的同時,海量的視頻監控數據也成為人工分析方式的噩夢,由于運維人員無法全天候監視所有監控場景,往往在異常狀況發生時無法做出快速響應。計算機視覺是利用計算機獲取視覺傳感器數據,并以計算機圖形學、機器學習及深度學習等算法對圖像或視頻進行處理以挖掘高級語義信息,模擬人類視覺系統的一項技術。以24 h 不斷運行的高性能服務器集群部署計算機視覺算法,用于實時處理水電廠視頻監控數據,挖掘重要信息,實現現場關鍵信息獲取、危險工況預警及異常診斷報警,從而替代傳統的人員值守方式,是構建新一代智能化電站、無人值守電站的重要基礎。本文就計算機視覺技術在水電廠的應用及前景進行了分析。
計算機視覺[2]的起源最早可追溯至20 世紀60年代,隨著電子計算機的誕生及逐步成熟,工程師們利用其進行簡單的圖像處理與模式識別。經過50余年的發展,計算機視覺已應用于日常生活的方方面面,例如人臉識別、車牌識別、文字識別、自動駕駛等。計算機視覺算法包含對圖像及視頻數據的預處理、特征提取、特征分類等流程,按照其算法類型分類,可以分為傳統算法和深度學習算法。
傳統算法往往利用人為設計的算法提取圖像的低級特征,例如顏色特征(灰度特征、二值圖等)、直方圖特征、集合特征、紋理特征(LBP、LBSP 等)、梯度特征(SOBEL、CANNY 算子等)和局部特征(SIFT、SURF 特征等),設定一定的閾值或使用機器學習方法(SVM、KNN 等)進行圖像的分類、預測。本文以在視頻運動目標檢測領域較為常見的傳統算法背景差分法為例進行傳統算法原理簡要介紹。
背景差分法通常包含背景模型建立、運動目標檢測、背景模型更新3 個步驟,其流程如圖1 所示。背景模型建立,是使用視頻的首幀或者多幀圖像建立背景模型的過程。在背景建模完成后,將當前幀視頻圖像與背景模型進行對比,在同一像素灰度特征差距較大的像素被判定為運動像素,反之則為背景像素,輔以形態學處理、連通性分析及模板匹配計算,即可檢測運動目標區域及運動目標種類。在逐幀檢測過程中,背景模型需要以某種策略同步更新(通常是將當前幀圖像的部分信息融入背景模型中),因為隨著時間的變化,視頻的場景和光照環境會發生變化。背景差分法通過選擇圖像顏色特征并設定閾值檢測運動目標,具有運算效率高、識別效果較好的特點。

圖1 背景差分法流程圖
由于需要人工選取特征并進行分類,傳統算法對于特征的選取、閾值的設置有較高要求,需要專家依靠實驗經驗進行設置。但是由于計算機視覺應用場景的多樣性,傳統算法無法普及所有場景,并且在復雜場景上表現較差,所以其應用較為有限。
深度學習[3]是機器學習的一個子類別,在計算機視覺領域,多利用深度卷積神經網絡進行視覺任務處理。卷積神經網絡使用結構簡單的卷積模塊在圖像上進行滑動計算提取特征,在多次卷積的累加下,低維度的特征會被轉化為復雜的高維特征,而這些高維特征無疑是更符合機器表達的,因此在計算機視覺任務中其相比人工提取的特征效果更好。
雖然目前已有大量深度卷積神經網絡的研究,其網絡結構不盡相同,但是如圖2 所示,其都包含卷積層、池化層、全連接層等基本層級結構,需要使用激活函數來增加模型的非線性擬合能力,使用損失函數來進行反向傳播,使用一定的訓練優化方法來進行模型的訓練。其中,卷積的公式為:

圖2 簡單卷積神經網絡模型

圖3 現有研究應用場景
y(i,j)=f(W×x(i,j)+b)
式中y(i,j)表示卷積后的輸出特征圖的某個位置的值,x(i,j)表示輸入特征圖的某個位置的值,W表示卷積核的權重參數,b表示偏執參數,f為激活函數。常見激活函數包含ReLU、Sigmoid 和Tanh,激活函數的公式為:
y=activation(x)
其中y表示激活后的輸出值,x表示輸入值,activation表示激活函數。深度卷積神經網絡相比傳統算法具有強大的模型表達能力,但是需要大量的數據集進行模型訓練,否則會產生過擬合、模型能力退化的問題。目前,一些通用領域例如交通、安防、醫療等因已構建了大量的數據集,所以深度卷積神經網絡用于這些領域較為成熟,但是在工控領域,由于應用場景較多,缺乏圖像采集與標注,深度卷積神經網絡相關研究、推廣和應用仍較為困難。
計算機視覺技術于水電廠的應用尚處于起步階段,但部分領域與通用行業具有深度重疊性,故存在一定成熟的計算機視覺技術應用。本文對此類應用場景歸類為:
(1)智能安防:智能安防是視頻監控發展的主要方向之一。我國具有大量學者研究人臉識別、目標檢測、目標追蹤、動作識別等領域的計算機視覺算法,為智能安防積累了廣泛理論基礎。在前端硬件生產領域,一些智能攝像頭能夠集成部分算法,能直接用于入侵檢測、運動目標檢測等場景。目前,水電廠視頻監控已較為普及,基本實現了重點區域全覆蓋,起到了輔助安保人員監視的作用。
(2)智能巡檢:利用監控視頻進行視頻巡檢已成為替代傳統人工巡檢的一種方式[4]。目前,有部分研究開始著手于智能巡檢,即進一步優化視頻巡檢方式,利用計算機處理視頻數據進行危險預警?,F有智能巡檢研究相關應用場景包括:電廠生產區域漏水(漏油)檢測、保護壓板狀態識別、斷路器狀態識別、儀表讀數識別、軸承損傷檢測、輸電線路損傷檢測、水工建筑裂紋檢測[5]、火災檢測等。但此類研究主要為理論創新,極少在水電廠生產實際中應用,并且缺乏系統研究,沒有自上而下的體系設計。
(3)流域監測:主要利用衛星遙感圖像監測流域大壩狀況,包括水電站地質災害識別與預警、大壩形變研究[6]、水庫水深及水域面積演算、壩區環保生態修復等。由于遙感圖像可以在宏觀層面較為直觀展示流域狀況,利用計算機視覺算法有助于優化流域梯級電站調度,具有一定的實用性。
精益生產是水力發電廠的第一要務。目前針對水電廠的計算機視覺研究缺乏與生產實際深度結合,多停留于理論層面,因無法對生產進行有效指導存在較大局限性?,F有的水電廠計算機監控系統多為分布式結構,由上位機和現地LCU 組成,其中LCU 負責數據采集與處理、設備監視與控制、執行流程、與其他子系統通信、報警與事件生成。由于LCU通過生產現場的傳感器采集開關量和模擬量反饋至上位機監屏人員,上位機監屏人員無法獲知真實的現場信息,只能默認傳感器數據采集是準確的,這就造成了“所聞即所得”而非“所見即所得”的問題。
水電廠運維經驗表明,存在傳感器偏差較大或損壞導致計算機監控系統采集狀態與現場實際不符的情況。由于視頻監控的遠方性、可視性,將計算機視覺技術與水電廠計算機監控系統相結合,能在一定程度上解決上述問題。根據《電力監控系統安全防護總體方案等安全防護方案和評估規范》(國能安全〔2015〕36 號)要求實現“安全分區、網絡專用、橫向隔離、縱向認證”,水電廠計算機監控系統分為生產控制大區和信息管理大區,將計算機視覺技術與計算機監控系統進行結合有兩種實現方式。
第一種切實可行的方式是構建獨立的計算機視覺應用系統于信息管理大區,其不參與工業控制,僅輔助監屏人員對現場進行狀態監視。該系統包含實時數據采集模塊、傳輸模塊、視頻存儲模塊、視頻預處理模塊和視頻智能分析模塊,其中視頻智能分析模塊部署多種計算機視覺算法和高級診斷分析決策樹,做到智能跳轉(操作員下令時或現場出現異常狀況時,視頻監控自動跳轉至對應場景)、在線實時異常檢測與預警等。另一種實現方式為在第一種方式所能實現功能的基礎上增加與工控系統聯動的方式,由于直接參加生產控制,此類系統部署于生產控制大區。其視頻智能分析模塊具備與PLC 通信的能力,通過視頻分析模塊計算出的數據可轉換為模擬量和開關量,傳輸至PLC作為依據參與工業控制。但是由于視頻采集編碼、解碼及計算機視覺算法計算的時間開銷,第二種實現方式適用于實時性要求不高的場景,例如輔控設備動作狀態采集、閥門狀態采集等可存在一定延時的場景。
雖然計算機視覺技術在水電廠的應用有廣闊的前景,但是如何將其投入生產運營仍存在一些難點:
(1)前端攝像頭部署及維護問題:由于水電廠存在較多惡劣環境,造成了攝像頭部署及維護困難的問題。例如在發電機定、轉子處部署攝像頭,則面臨強電磁輻射環境,需要攝像頭具備一定防護能力;又如在快速門部署攝像頭,則面臨高空作業,對攝像頭的維護更換造成一定不便。
(2)計算機視覺算法可靠性問題:由于計算機視覺算法依賴于前端攝像頭采集的視頻數據,一旦出現攝像頭震動、位移甚至是遮擋的惡劣情況,計算機視覺算法的準確率會隨之下降。因此,要求計算機視覺算法具備一定魯棒性以應用復雜環境。
(3)數據集構建問題:基于深度學習的計算機視覺算法往往需要一定規模的數據進行模型訓練,該數據包含原始圖像及其對應的標注,而水電行業還未公開較權威的大規模數據集,因而要求研究者根據應用場景重新構建數據集。目前有兩種構建數據集的方式;其一為針對多個應用場景構建大規模的數據集;其二為針對單獨場景構建小規模數據集。方式一需要較大成本,但以之訓練的模型可用于多個場景,具備一定泛化性;方式二成本較低,并且通過擬合的方式獲得較高識別精度,但缺乏模型遷移和復用性。
(4)算力支持問題:基于深度學習的計算機視覺算法在訓練和投入使用時需要大量GPU 的算力支持,并且GPU 需要支持美國英偉達公司的CUDA 計算架構,在自主可控和國產化替代方面仍需進行一定探索。
(5)實時性問題:由于視頻的采集和編解碼,計算機視覺算法均存在一定耗時,其響應速度較普通的電信號傳感器較慢。在構建于工控系統聯動的計算機視覺應用系統時應綜合考慮前端攝像機路數、網絡帶寬、算力及計算機視覺算法的時間復雜度,保證系統的實時性。
(6)模型維護問題:由于計算機視覺算法種類較多,其利用不同數據集訓練的效果也不同,造成了同一模型場景遷移的困難。對于不同模型甚至無法進行遷移,只能重新進行訓練,浪費大量計算資源和時間成本。
為應對上述難點,在計算機視覺應用系統的整體設計上應采用分布式系統,滿足模塊的單一職責原則。如圖4 所示,原則上其至少應包含實時多場景視頻采集模塊、視頻傳輸存儲模塊、智能分析模塊、數據可視化模塊。

圖4 計算機視覺應用系統架構
通過高清攝像頭完成對監視應用場景的數據采集,并通過視頻傳輸存儲模塊實現分配和儲存視頻資源。通過智能分析模塊部署計算機視覺算法處理視頻圖像,實現對監視目標的安全風險等級評估,同時結合場景中多源目標多維度數據的分析結果,實現基于數據驅動的安全隱患識別??梢暬K可調取系統資源,實現實時(歷史)監控視頻播放、風險態勢預警等。
在具體的實施細節上可針對上述架構進行一定程度的改進,在硬件設備層面,可以通過冗余部署增強系統可靠性;可以通過部署大量邊緣計算模塊分擔中央智能分析模塊算力壓力。在設備選型上,盡量統一選型減少后期維護壓力。在算法層面,可以通過機器視覺系統與水電廠計算機監控系統相互配合實現數據自動標注;通過傳統計算機視覺算法和深度學習算法的配合使用減少算力需求;通過設計輕量化模型達到實時處理效果;可以通過減少算法種類數量、大量使用經典算法、同類型場景使用同一算法模型增強算法的泛化性,減少算法維護成本。
隨著計算機視覺技術的不斷發展和成熟,已具備一定條件應用于水電廠生產實際中。本文對計算機視覺技術進行了簡單介紹,對其于水電廠的應用現狀、應用前景進行了闡述,并對計算機視覺技術的應用難點進行了分析,提出了對計算機視覺應用系統架構設計的建設性意見。希望在學者們的一眾努力下早日將計算機視覺技術普及于水電生產中,為構建新一代智能水電站貢獻力量。