袁梓麒,周博文,易志雄
(湖南科技大學 信息與電氣工程學院,湖南湘潭,411100)
變電站[1]主要起到電壓電流的變換,接收電能以及對其進行調配的功能,是電網中重要的一環(huán)。變電站的安全平穩(wěn)地運行,維系著人們生活以及各行各業(yè)的運轉。變電站中擁有眾多儀器,如變壓器、避雷器等。一些儀表的數(shù)值會進行日常檢測,當儀表數(shù)值發(fā)生突變時,預示著設備發(fā)生故障,嚴重可導致安全事故,造成人員以及財產的損失。
因此在變電站日常巡檢過程中,儀表檢測[2]占其中重要的一部分;目前儀表檢測定位常使用特征點和模板匹配算法和支持向量機等方法。模板匹配是通過識別圖像的主要特征進行對比最終來達到檢測定位的功能。模板匹配的特性主要有算法簡便、計算量小,在人臉識別、車牌識別、儀表識別多種場景下應用。在儀表檢測方面,陳積光等人[3]使用兩次模板匹配對儀表進行檢測并且同時可以過濾周邊的冗余信息,最終提高檢測定位精度。但是精算精度不高是模板匹配方法的主要不足。David Lowe[4]在2004 年提出了一種關于局部的特征描述子SIFT。
然而傳統(tǒng)目標檢測算法雖然檢測速度快,但是檢測精度低,魯棒性差。隨著人工智能的發(fā)展,在目標檢測方面的熱度也急劇提升?;谏疃葘W習的目標檢測方法,由于其針對復雜環(huán)境的魯棒性高,檢測速度快等特點,已經被用于多方領域。目前常見的目標檢測網絡有 RCNN(Regionbased CNN)系列以及YOLO(You Only Look Once)[5]系列。RCNN[6]系列網絡屬于 Two-stage 類型,二階段算法計算量大、操作冗余性高、實時性差,難以滿足現(xiàn)實應用需要。與此同時,一種具有較快檢測效率的YOLO(You Only Look Once)網絡于2016 年由 Joseph Redmon[7]等人提出,該類網絡屬于單階段網絡,在獲取目標物體類別與位置信息過程中,降低了算法的復雜度。針對工業(yè)環(huán)境下的數(shù)顯儀表,YOLO-v7 在速度和精度方面都超過了所有已知的目標檢測算法,但原始模型大小達到71.3MB,模型過大不易部署在移動端。本文將 YOLO-v7 目標檢測網絡應用于變電站的數(shù)顯儀表檢測,憑借 YOLO-v7 出色的檢測速度以及檢測精度,實現(xiàn)實時準確的對儀表進行定位檢測,本文的主要貢獻是改進的YOLOV7 算法在UFPR-AMR 數(shù)據(jù)集中優(yōu)于其他算法,并在準確性和模型大小方面取得了良好的結果;AMR 的公共數(shù)據(jù)集包含2000 張完整和手動注釋的圖像,并且有一個明確定義的評估協(xié)議,允許用于此任務的不同方法之間的公平比較。
圖1 改進后的YOLOv7 網絡結構
YOLOv7[8]在2022 年由WANG 等提出,其結構由主干網絡、特征融合網絡和預測網絡三部分組成,YOLO-v7 在速度和精度方面都超過了所有已知的目標檢測算法,為實現(xiàn)工業(yè)條件下數(shù)顯儀表的檢測定位奠定了基礎。
YOLOv7 在實際檢測中,雖有高效準確度高的優(yōu)點,但隨著邊緣計算技術的興起,變電站等工業(yè)場景普遍開始使用車輛終端來部署邊緣,在車輛終端上部署基于深度學習的目標檢測算法存在困難,且效果不佳。因此,為了提高YOLOv7 在工業(yè)場景的實時檢測速度,更容易部署在車輛終端,需要對其進行改進。
針對YOLOv7 算法較大的參數(shù)體量,以及工業(yè)場景實時檢測的要求,GhostNet 模型主要針對移動設備設計,與其他模型相比,參數(shù)更小,計算復雜度更低。GhostNet 的模型尺寸只有MobileNetV3 的一半,但其精度和推理速度比MobileNetV3 高0.5%,本文介紹了GhostNet_0.5 輕量級網絡結構作為YOLOv7 的骨干提取網絡。
SPPFCSPC 模塊是YOLO7 中的一個重要組成部分,它的作用是對輸入的特征圖進行多尺度的空間金字塔池化,從而提高模型的感受野和特征表達能力。由于 RFB 擁有輕便的結構、計算量少,可以很方便地與其他識別模型融合,因而本文提出了一種融合 YOLOv7 和RFB 的輕量化儀器識別模型,希望結合兩者,在保證輕量化的同時,使得儀表檢測精度顯著提升。
1.2.1 GhostNet_0.5 網絡
GhostNet[9]是華為諾亞方舟實驗室在2020 年提出的輕量型網絡結構,在計算性能上超越谷歌開發(fā)的MobileNetV3。針對特征圖冗余問題,Ghost module 利用特征圖的相似性,產生相同數(shù)量特征圖,只需更少的計算量。因此Ghost module 被設計成一種分階段的卷積計算模塊,能夠在少量計算得到的特征圖基礎上,只需一次線性卷積卻能獲取更多特征圖,而新得到的特征圖被命名為“ghost”,最后將兩部分拼接在一起生成最終特征圖,以此過濾特征圖的冗余,取得更加輕量的模型,能夠更好地提升檢測精度。
GhostNet 可在不改變卷積的輸出特征圖尺寸和通道大小的前提下,降低整個模型的計算量和參數(shù)數(shù)量,并且適用于任意的卷積網絡,因此,本文選用GhostNet_0.5 網絡,整體網絡結構如圖2 所示。
圖2 GhostNet 整體網絡結構
1.2.2 Receptive Field Block
在人類視覺皮層中,群體感受野(Population Receptive Field,PRF)的規(guī)模大小使用視網膜圖中離心率函數(shù)表示,盡管存在差異在感受野之中,但離心率和群體感受野規(guī)模大小都呈正增長趨勢。劉等人[10]受到人類感受野RF 的結構啟發(fā)之后,提出 RFB(Receptive Field Block),加強輕量級CNN 模型對于深層特征提取能力,如圖3 所示。
圖3 Receptive Field Block 模塊結構圖
RFB 結 構,借 鑒Inception 結 構,1×1 的Conv 和Inception 一樣,主要用于減少數(shù)據(jù)計算量和進行跨通道的信息融合,主要不同點在于引入3 個dilated 卷積層(比如3×3conv,rate=1),3×3 卷積層代替5×5 卷積層,并且用1×3 和3×1 卷積層代替3×3 卷積層,主要目的是數(shù)據(jù)減少計算量,提高檢測速度,由于 RFB 輕便的結構、計算量少,可以很方便地與其他識別模型融合,因而本文為了提升儀表檢測精度,提出了一種融合 YOLOv7 和RFB 的輕量化儀器識別模型,在保證輕量化情況下,達到高檢測精度的要求。
實驗數(shù)據(jù)為UFPR-AMR 數(shù)據(jù)集[11],其中含有4000 張電氣數(shù)顯儀表圖片,其中訓練集3000 張、驗證集500 張、測試集500 張。實驗條件為Python3.7.12,PyTorch1.8.0,顯卡為RTX307Ti,迭代150 輪次完成訓練。訓練時將學習率設置為0.01,Batch-size 為8,使用SGD 優(yōu)化器進行訓練。
為保證消融實驗的可信度,各網絡模塊在服務器端的同一實驗環(huán)境下,采用相同的數(shù)據(jù)集進行訓練,以YOLOv7為基礎網絡,訓練次數(shù)相同,分別得到各自的權重模型。在進行測試時,選擇相同的圖像輸入,分別對BasicRFB、GhostNet_0.5 結構進行消融實驗。
在同一實驗環(huán)境下,YOLOv7 基礎網絡訓練的權重結果如圖4 所示,選用GhostNet_0.5 網絡作為主干網絡模塊的YOLOv7 網絡訓練的權重結果如圖5 所示。如圖6 所示,如用RFB 替換SPPCSPC 結構后的權重結果為0.994,圖7 為同時在原網絡基礎上選用GhostNet_0.5 網絡作為主干網絡模塊以及用RFB 替換SPPCSPC 結構以后的權重實驗結果圖,實驗結果如表1 所示。
圖4 YOLOv7 權重結果圖
圖5 改進 GhostNet_0.5 的權重結果圖
圖6 改進BasicRFB 的權重結果圖
圖7 同時改進BasicRFB 和GhostNet_0.5 的權重結果圖
表1 基于改進YOLOv7算法的消融實驗
通過選用GhostNet_0.5 網絡作為主干網絡模塊,降低模型參數(shù)量并且壓縮了模型大小,由表1 可得,選用GhostNet_0.5 網絡的模型相較于YOLOv7 原模型,在模型大小減少了27.5MB,參數(shù)量減少了39.5%的情況下,mAP 還提升了0.2%,達到99.1%。通過單獨使用RFB 模塊替換RFB 替換SPPCSPC,改善了原網絡SPPCSPC 結構造成的小目標信息丟失問題,提升了網絡整體的特征信息提取能力,如用RFB 替換SPPCSPC 結構后與原網絡相比,模型大小減少了6.3MB,參數(shù)量減少了8.7%,同時mAP提高了0.5%,達到99.4%的高精度。由表1 可以看出,在原網絡基礎上選用GhostNet_0.5 網絡作為主干網絡模塊以及用RFB 替換SPPCSPC 結構相較于原網絡,mAP 提升了0.4%,同時模型大小、參數(shù)量大大減少,分別降低了56%和57.5%,相較于單獨選用GhostNet_0.5 網絡,mAP 提高了0.2%,同時模型參數(shù)量以及模型大小都有減小。對比單獨使用RFB 替換SPPCSPC 結構,在僅僅犧牲0.1%mAP的條件下,模型大小和參數(shù)量都降低了一半以上。
從表1 中可見,在服務器端相同實驗條件下,同時添加兩種模型之后,儀表檢測定位效果更好?;诟倪M的YOLOv7 算法相比原算法而言,在模型被大大壓縮的情況下,檢測精度仍有較大提高,而且具有更小的計算量和參數(shù)體量,實驗證明將其作為移動端部署的儀表定位檢測算法更為合理,具有更優(yōu)的性能。
為了驗證本文提出算法的可靠性,將改進算法與YOLOv3、YOLOv5、YOLOv7 三種檢測網絡進行對比實驗。為了保證對比實驗的公正性,四種算法在服務器端同一實驗環(huán)境下,使用相同數(shù)據(jù)集進行訓練,均采用相同參數(shù)條件,迭代相同次數(shù),利用PyTorch 深度學習框架,最終分別得到各自的實驗結果如表2 所示。
表2 不同算法之間精度以及模型大小對比
從表2 中的檢測結果可知,本文改進算法mAP 相比原網絡提高了0.4%,相比YOLOv3,網絡模型大小壓縮73.2%,參數(shù)量降低了74.7%,本算法主要對YOLOv7 模型中的主干網絡與檢測端部分進行分析。在YOLOv7 模型的基礎上引入GhostNet 模塊,通過將普通卷積分為逐點卷積與深度可分離卷積,將參數(shù)量進一步優(yōu)化。為保持檢測精度將SPPCSPC 替換為了RFB,在降低模型參數(shù)量的同時有效提升了檢測精度。最后通過消融與對比實驗,驗證了改進方案的有效性。
表2 表明,在全部算法的識別結果表現(xiàn)上,本文提出的改進算法綜合來說是最好的,其 mAP 為 99.3%,在精度相比原網絡算法提高0.4%的前提條件下,同時模型大小、參數(shù)量大大減少,分別降低了56%和57.5%。改進算法相比YOLOv3 算法,僅僅犧牲0.2%精度的情況下網絡模型大小壓縮73.2%,參數(shù)量降低了74.7%。而YOLOv3、YOLOv5的精度高于YOLOv7 原網絡的主要原因在于網絡深度的加深,使模型擁有了更加準確的特征類別提取能力,所以改進YOLOv7 精度略低于其他兩種算法。對于電氣數(shù)顯儀表檢測定位的表現(xiàn),本文提出的算法則明顯較YOLOv7 和YOLOv3要好得多。
不同場景往往對算法檢測性能影響較大,因此,為了驗證算法穩(wěn)定性,安排四種算法在相同實驗條件下,在不同的場景下對算法檢測效果進行測試,其效果圖如圖8 所示。
圖8 不同算法在不同場景下的檢測結果對比
從上述實驗結果分析可得,在測試的四種算法中,YOLOv3 檢測精度最高,漏檢率以及錯檢率最低。而本文算法在檢測精度與YOLOv3 相差不大的情況下,大大降低了計算量,減少了模型大小,方便部署于移動端,符合實際變電站巡檢要求。通過圖片1 檢測效果圖可知,本文算法完全可以達到實際工業(yè)環(huán)境下的檢測要求,通過圖片2 和圖片3 對比分析可得,YOLOv7 原算法對數(shù)顯儀表存在誤檢,而改進算法并無此問題出現(xiàn),精度相比原算法得到提升。從上述實驗結果可以看出,YOLO 算法在針對小目標,復雜環(huán)境下檢測,都有一定局限性,而本文提出的改進算法在對比度低、光線暗等復雜環(huán)境下具有更好的穩(wěn)定性。
實驗結果表明,相較于 YOLOv5 和 YOLOv3 以及原YOLOv7 等主流算法,綜合模型參數(shù)量、大小和mAP 來看,本文算法檢測精度與檢測效率更高,更加適合于部署在巡檢機器人上,作為其儀器識別模型進行實時儀表檢測定位。
針對在實際工業(yè)生產環(huán)境下,當前通用檢測模型算法參數(shù)體量大、檢測定位精度低,同時巡檢機器人上部署困難等問題,本文提出了一種基于改進的輕型YOLOV7 模型的數(shù)字顯示儀檢測方法,它解決了當前廣義檢測模型算法中大參數(shù)和現(xiàn)實工業(yè)生產環(huán)境中低檢測精度的挑戰(zhàn)。首先在YOLOv7 網絡中引入GhostNet 作為主干網絡,顯著降低模型參數(shù)量并且壓縮了模型大小。為了進一步提高模型檢測精度以及速度,將SPPCSPC 替換為了RFB,在降低模型參數(shù)量的同時有效提升了檢測精度。實驗結果證明,本文算法相較于原YOLOv7 算法,模mAP 提升了0.4%,同時模型大小、參數(shù)量大大減少,分別降低了56%和57.5%,同時檢測精度mAP 從原來的98.9%提高達到了99.3%,有效驗證了本文算法的有效性。但是該算法仍有不足之處,在部署于移動機器人方面,使得算法模型更輕量化,容易部署在移動巡檢機器人上,提高變電站數(shù)字儀表識別的實時性和準確度,還有很大改進空間。本文主要改進了模型大小,在算法精度方面還有改進空間,希望在之后的研究過程中,可以使得精度更高,更加適用于實際工業(yè)環(huán)境下的變電站儀表檢測。