王桂林,康繼光,向佳霓,劉 瑋
(1.國網(wǎng)上海市電力公司,上海 200030;2.普天信息技術有限公司,北京 100080)
在電力生產(chǎn)中,正確的操作規(guī)程與完善的安全防護體系是保障電力運維、檢修及搶修人員生命安全的重要防線。為了督促電力生產(chǎn)參與者依照規(guī)范履行安全生產(chǎn)的相關措施,電力生產(chǎn)場所逐步實現(xiàn)了攝像頭、移動巡檢終端等采集設備的無死角布控[1-4]。但由于這些設備所采集的圖像與視頻體積較大,若全部回傳至電力數(shù)據(jù)云計算(Cloud Computing)中心將會占用大量的通信傳輸網(wǎng)帶寬。對于攝像頭等采集設備而言,由于受自身體積、重量的限制,其計算能力也相對較弱,故無法在終端完成違章行為的智能化識別。在此種場景下,邊緣計算(Edge Computing,EC)技術提供了一套可行的解決方案。即電力安監(jiān)部門通過部署云端服務器與攝像頭等采集設備,組成邊緣網(wǎng)絡。由此既可避免終端采集設備直接與云服務器通信,同時又能規(guī)避采集設備算力不足的缺點,進而保證違章檢測的效率[5-11]。
基于以上分析,該文對圖像識別(Image Recognition)的相關技術進行了研究。同時,還對電力生產(chǎn)等復雜網(wǎng)絡環(huán)境中圖像技術在云計算體系下的邊端協(xié)同部署方案進行了設計。通過合理分配計算資源,以提升電力作業(yè)智能化的安全監(jiān)測效率。
深度學習(Deep Learning,DL)算法是當前圖像識別領域使用的主流算法[12-13],圖1 給出了卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)的基本結構。在該網(wǎng)絡中,主要包括卷積層、池化層及全連接層[14-16]。
圖1 CNN網(wǎng)絡結構
在卷積層(Conv)中,使用卷積運算對輸入的圖像進行特征提取。記卷積層輸入為尺寸m×m的圖像M,卷積核則為尺寸n×n的矩陣C。當卷積步長為1時,卷積運算輸出特征圖矩陣F的尺寸為(m-n+1)×(m-n+1)。具體的計算表達式如下:
其中,B為偏置矩陣,Conv(·)為卷積運算,sigmoid為核函數(shù)。卷積運算的具體方式如圖2 所示。
圖2 卷積運算示意圖
池化層(Pool)的作用在于歸并特征圖譜的冗余信息,并提升算法的魯棒性,從而避免在網(wǎng)絡訓練過程中出現(xiàn)過擬合現(xiàn)象。該文主要使用了平均值池化(AverPool)和最大值池化(MaxPool)兩種池化運算,具體如圖3 所示。
圖3 池化運算示意圖
圖像在經(jīng)過卷積層、池化層的傳遞后進入全連接層。最終在該層完成對輸出結果的映射:
式中,No、NG分別為全連接層的輸出和輸入矩陣,而WN、BN則分別為全連接層的權重和偏置矩陣。
雖然深度學習網(wǎng)絡在圖像識別上效率較高,但由于其網(wǎng)絡層數(shù)偏多,故在訓練時將消耗巨大的計算資源。因此,需要將采集終端的部分計算任務分配給邊緣服務器。同時,還要設計合理的邊緣-采集端任務調度策略。
該策略的設計主要考慮兩個方面:1)緩解采集端的計算壓力;2)降低采集端到邊緣服務器之間的傳輸時延損耗。邊端系統(tǒng)策略示意圖,如圖4所示。
圖4 邊端系統(tǒng)策略示意圖
從圖中可看出,邊端協(xié)同策略在采集端與邊緣端分別部署了兩個CNN 網(wǎng)絡。其中,采集端的Little-CNN 網(wǎng)絡結構相對簡單,參數(shù)較少。其作用在于對采集到的圖像進行預分類,以降低網(wǎng)絡的傳輸耗時。而邊緣端部署的Big-CNN 網(wǎng)絡結構則較為復雜,參數(shù)多且訓練耗時長,其作用主要是為了提升系統(tǒng)的識別精度。邊端系統(tǒng)策略算法流程如圖5 所示。
圖5 邊端系統(tǒng)策略算法流程
對于CNN 網(wǎng)絡模型,通常在網(wǎng)絡的輸出層為輸入至不同類別的置信度打分,且將置信度最大的類別判定為該輸入。該文將該置信度作為邊緣端對采集端模型推理效果的判別標準,即為:
由式(3)所確定的極值為閾值α,對于第i張圖片的輸入,定義C_collect、C_edge 分別為采集端、邊緣端的第i次推理結果函數(shù)。當推理值與實際值相符時,函數(shù)值取1;而當推理值與實際值不符時,函數(shù)值則取0。此時對于第i次推理的準確率,可表示為:
邊端調度系統(tǒng)總體識別率的計算方式,具體如下:
采集端至邊緣端每次的圖像傳輸均會增大網(wǎng)絡的負載,根據(jù)通信傳輸損耗,可定義損失函數(shù)為:
其中,G(α)為第i幅圖像的傳輸判別函數(shù)。當推理分數(shù)小于閾值α時,進行圖像傳輸,此時G(α)=1;而當推理分數(shù)大于閾值α時,則不進行圖像傳輸,此時G(α)=0。Delay(i)表示該圖像在采集端到邊緣端的傳輸時間。
邊端調度算法需在系統(tǒng)識別精度與網(wǎng)絡傳輸延遲間取得合理平衡,因此系統(tǒng)的最終優(yōu)化函數(shù)為:
其中,μ是調節(jié)因子。且當μ取值較大時,系統(tǒng)對識別精度的要求較小,對傳輸速度的要求則較高;而當μ較小時,系統(tǒng)對精度的要求較高,對傳輸速度的要求則較低。LM的計算方法如下:
為了測試文中所設計的邊端協(xié)同策略在圖像識別上的精度,基于實際的電力生產(chǎn)安全監(jiān)控場景進行了圖像采集。并對采集圖像所包含的典型電力違章行為進行了標注,進而形成了如表1所示的數(shù)據(jù)集。
表1 數(shù)據(jù)集的參數(shù)信息
在仿真過程中,采用了基于Linux內核的Android手機來模擬視頻的采集終端,并利用筆記本電腦模擬邊緣服務器。相關軟硬件環(huán)境如表2 所示。
表2 算法仿真軟硬件環(huán)境
根據(jù)圖4 可知,需分別在采集端與邊緣服務器上部署Little-CNN 和Big-CNN 網(wǎng)絡。該文設計的兩種網(wǎng)絡結構,分別如表3、4 所示。
表3 Little-CNN網(wǎng)絡結構
表4 Big-CNN網(wǎng)絡結構
為了評估上文策略在實際生產(chǎn)環(huán)境下的可行性,需合理設計該策略的對照實驗組。在設計對照實驗時,不僅需要評估Little-CNN 網(wǎng)絡、Big-CNN 網(wǎng)絡的實際精度及運行耗時;還需要計算出圖像在采集端到邊緣服務器間的傳輸耗時。根據(jù)上述兩個原則,設計了如表5 所示的部署策略。其中實驗四是根據(jù)該文邊端協(xié)同策略所設置的實驗組,而實驗一至實驗三則作為該實驗組的對照組。
表5 實驗部署策略
在評估所構建邊緣計算框架的效果時,采用了模型精度、采集端計算耗時、邊緣端計算耗時與網(wǎng)絡傳輸時延這四個指標。根據(jù)云邊協(xié)同策略,Little-CNN 網(wǎng)絡在采集端對圖像進行初始識別,而無法被識別的圖像則需要通過通信網(wǎng)絡傳輸給Big-CNN 網(wǎng)絡。在進行實驗前,需要合理設定因網(wǎng)絡傳輸造成的Big-CNN 網(wǎng)絡下降的閾值。
圖6 給出了Big-CNN 網(wǎng)絡中,score 函數(shù)值在不同閾值下的變化曲線,文中將Big-CNN 網(wǎng)絡性能下降的粒度設為0.005,而此時所對應的閾值為0.950。在該條件下,得到的實驗結果如表6 所示。
表6 閾值為0.950時的實驗數(shù)據(jù)
圖6 閾值-函數(shù)值曲線
從表中可以看出,Little-CNN 和Big-CNN 網(wǎng)絡在進行電力作業(yè)安監(jiān)識別時的準確率分別為81.35%和90.52%。由于網(wǎng)絡規(guī)模不同,二者在采集端上的運行時間分別為4.02 ms 和87.54 ms。同時因硬件計算能力的提升,Big-CNN 網(wǎng)絡在邊緣端上的計算用時為13.25 ms。而對比實驗三及實驗四的數(shù)據(jù)可發(fā)現(xiàn),通過實施邊端調度策略,網(wǎng)絡的傳輸時延由84.35 ms 下降至27.54 ms,系統(tǒng)的總耗時由97.60 ms下降至44.81 ms。綜上所述,系統(tǒng)在圖像識別精度下降0.15%的條件下,計算耗時與傳輸時延損耗下降了54.09%。由此說明該算法可顯著提升系統(tǒng)的圖像識別效率。
為了提升電力生產(chǎn)現(xiàn)場違章行為的檢測效率,該文對電力實際生產(chǎn)環(huán)境下的智能安全監(jiān)察技術進行了研究。并在評估現(xiàn)場采集終端、邊緣服務的計算水平及通信傳輸效率的基礎上,設計了邊端系統(tǒng)策略算法。仿真結果證明,該算法可在保證圖像識別精度的前提下,盡可能地降低了計算耗時與傳輸耗時。隨著更多高清采集終端的部署,該算法將大幅降低電力通信網(wǎng)絡的運行壓力。