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