范新南,黃偉盛,史朋飛,辛元雪,朱鳳婷,周潤康
基于改進(jìn)YOLOv4的嵌入式變電站儀表檢測算法
范新南1,2,黃偉盛2,史朋飛1,2,辛元雪2,朱鳳婷2,周潤康2
(1. 江蘇省輸配電裝備技術(shù)重點(diǎn)實(shí)驗室,江蘇 常州 213022;2. 河海大學(xué)物聯(lián)網(wǎng)工程學(xué)院,江蘇 常州 213022)
隨著機(jī)器人技術(shù)的快速發(fā)展,智能機(jī)器人廣泛應(yīng)用于變電站巡檢,針對目前目標(biāo)檢測算法參數(shù)量過大且嵌入式設(shè)備性能有限,難以在嵌入式平臺上實(shí)現(xiàn)實(shí)時檢測的問題,提出了一種基于改進(jìn)YOLOv4的嵌入式變電站儀表檢測算法。以YOLOv4為基礎(chǔ),采用MobileNetV3作為主干特征提取網(wǎng)絡(luò),在保證模型能夠有效提取特征的情況下,降低運(yùn)算量,提高檢測速度;與此同時,將特征提取后的路徑聚合網(wǎng)絡(luò)(PANet)中的卷積運(yùn)算替換成深度可分離卷積;采用遷移學(xué)習(xí)的訓(xùn)練策略克服模型訓(xùn)練困難問題;最后,利用TensorRT對改進(jìn)后的模型進(jìn)行重構(gòu)和優(yōu)化,實(shí)現(xiàn)快速和高效的部署推理。改進(jìn)后的算法在嵌入式端NVIDIA Jetson Nano上進(jìn)行了測試,實(shí)驗結(jié)果表明,在犧牲了較少精度的情況下,檢測速度提高了2倍,達(dá)到15 FPS,為邊緣計算場景下的儀表實(shí)時檢測提供了可能。
深度學(xué)習(xí);變電站儀表;目標(biāo)檢測;YOLOv4;遷移學(xué)習(xí)
變電站是電力傳輸?shù)臉屑~,在變換電壓、分配電能等方面起著重要作用。在變電站中,各類儀表顯示的信息反映了設(shè)備的運(yùn)行情況,需要對儀表進(jìn)行監(jiān)測以保證設(shè)備的正常運(yùn)行。目前,人工巡檢是大多數(shù)變電站采用的巡檢方案,主要依靠專業(yè)技能和主觀判斷。但是,人工巡檢存在可靠性差、巡檢效率低等問題,甚至在一些極端天氣或高危場所中并不具備可行性,不利于變電站的智慧化管理。近些年,國家大力推行變電站智能巡檢機(jī)器人代替或輔助人工進(jìn)行儀表檢測,引起了人們的廣泛關(guān)注,成為了研究的熱點(diǎn)話題[1-2]。變電站中的儀表讀數(shù)巡檢方案已經(jīng)向無人化、自動化方向升級優(yōu)化。
視覺系統(tǒng)能否準(zhǔn)確識別出儀表的讀數(shù)是衡量智能巡檢機(jī)器人能否穩(wěn)定運(yùn)行的標(biāo)準(zhǔn)之一[3]。變電站機(jī)器人按照事先規(guī)劃好的路線進(jìn)行巡檢,通過拍攝變電站儀表圖像,在機(jī)器人前端完成儀表信息識別或傳回后臺系統(tǒng)(在后臺完成識別任務(wù))。在視覺系統(tǒng)部分,儀表檢測識別由2部分組成:①儀表定位,從變電站環(huán)境圖像中找到儀表的位置;②儀表讀數(shù),通過計算機(jī)視覺相關(guān)技術(shù)對儀表圖像進(jìn)行信息提取并獲取讀數(shù)。儀表定位的準(zhǔn)確性對整個檢測識別任務(wù)有較大影響,定位問題本質(zhì)上屬于計算機(jī)視覺中的目標(biāo)檢測問題,但巡檢機(jī)器人工作的特殊性使得該問題不同于一般的目標(biāo)檢測問題。變電站巡檢機(jī)器人對儀表圖像的采集具有定點(diǎn)、定向、定焦等特點(diǎn),定點(diǎn)即巡檢機(jī)器人依照事先設(shè)定好的巡檢路線到達(dá)指定的圖像采集區(qū)域;定向即在拍攝時固定攝像頭角度,定焦即拍攝時固定攝像頭的焦距。理想情況下,多次巡檢任務(wù)中相同采集點(diǎn)的儀表位置是固定的,但由于巡檢機(jī)器人的定位誤差、相機(jī)的機(jī)械誤差等因素,實(shí)際獲取的圖像和理想圖像存在不可預(yù)測的誤差,主要體現(xiàn)為較小的位置偏差,無明顯拍攝角度偏差。如果能夠采集到數(shù)量較多的實(shí)際儀表圖像,充分學(xué)習(xí)各類不同偏移程度的特征,就可以實(shí)現(xiàn)較高的定位精度。
儀表定位算法主要包括傳統(tǒng)的基于特征檢測與匹配的檢測算法和基于深度學(xué)習(xí)的檢測算法。房樺等[4]利用尺度不變特征變換算法(scale invariant feature transform,SIFT)實(shí)現(xiàn)儀表表盤區(qū)域特征檢測與匹配;楊志娟等[5]采用定向二進(jìn)制描述算法(oriented fast and rotated brief,ORB)定位儀表表盤區(qū)域。GAO等[6]利用加速魯棒特征(speeded up robust features,SURF)方法與模板圖像匹配,從巡檢機(jī)器人拍攝的圖像中檢測儀表區(qū)域。黃炎等[7]使用加速穩(wěn)健特征算法進(jìn)行圖像匹配以實(shí)現(xiàn)儀表表盤檢測。隨著機(jī)器學(xué)習(xí)的發(fā)展和計算機(jī)性能的提高,機(jī)器學(xué)習(xí)在儀表定位上的應(yīng)用越來越多。其中,邢浩強(qiáng)等[8]在SSD (single shot multibox detector)網(wǎng)絡(luò)的基礎(chǔ)上加以改進(jìn)以適用于儀表表盤檢測的任務(wù)需求;徐發(fā)兵等[9]則采用改進(jìn)的YOLO9000網(wǎng)絡(luò)快速檢測儀表表盤的包圍框位置,去除冗余背景信息干擾。語義分割網(wǎng)絡(luò)在儀表表盤檢測方面的應(yīng)用研究也取得了一定的成果,周楊浩等[10]采用全卷積神經(jīng)網(wǎng)絡(luò)(fully convolutional networks,F(xiàn)CN)對儀表圖像數(shù)據(jù)進(jìn)行語義分割,以精確分割儀表表盤的位置。LIU等[11]借助特征對應(yīng)算法和兩階段目標(biāo)檢測算法Faster R-CNN來檢測目標(biāo)儀表的位置。
針對現(xiàn)有算法存在網(wǎng)絡(luò)參數(shù)量過大、檢測效率低等問題,為了實(shí)現(xiàn)嵌入式平臺的實(shí)時檢測,實(shí)現(xiàn)變電站儀表實(shí)時檢測任務(wù),本文提出一種輕量級的變電站儀表檢測算法。一般生成輕量化網(wǎng)絡(luò)的方法包括:輕量化網(wǎng)絡(luò)設(shè)計、模型剪枝、量化、知識蒸餾等。本文同時采用第1種和第3種,結(jié)合模型設(shè)計階段和推理階段同時實(shí)現(xiàn)網(wǎng)絡(luò)的輕量化,并在YOLOv4的基礎(chǔ)上進(jìn)行以下改進(jìn):
(1) 針對在移動端、嵌入式端等邊緣計算場景,實(shí)時性不高、檢測效率低等問題,測試了多種方案后,將YOLOv4原始CSPDarknet-53 Backbone替換為MobileNetV3 Backbone,MobileNetV3經(jīng)歷了前兩代更新后精度得已提高,檢測速度也得到改善。相比CSPDarknet-53以及其他輕量級網(wǎng)絡(luò),參數(shù)量與計算量大大降低,為嵌入式端的變電站儀表實(shí)時檢測提供了可能。
(2) 在改進(jìn)了主干網(wǎng)絡(luò)的基礎(chǔ)上,將特征提取后的路徑聚合網(wǎng)絡(luò)(path aggregation network,PANet)中的卷積運(yùn)算替換為深度可分離卷積,通過減少模型的參數(shù)、降低模型的大小,進(jìn)一步提高檢測速度。
(3) 為了提高在嵌入式設(shè)備上的推理效率,將其部署在嵌入式平臺上,對改進(jìn)后的模型采用TensorRT量化,利用TensorRT對模型進(jìn)行重構(gòu)和優(yōu)化,達(dá)到網(wǎng)絡(luò)加速的目的。
YOLOv4[12]的網(wǎng)絡(luò)結(jié)構(gòu)主要包括:輸入(Input)、主干(Backbone)、特征融合網(wǎng)絡(luò)(Neck)和頭部(Head) 4個部分。
(1) 輸入端。為了增強(qiáng)模型的魯棒性,YOLOv4采用了SAT自對抗訓(xùn)練和Mosaic數(shù)據(jù)增強(qiáng)的方式。SAT策略使神經(jīng)網(wǎng)絡(luò)反向更新圖像,在添加擾動后的圖像上訓(xùn)練,實(shí)現(xiàn)數(shù)據(jù)的擴(kuò)充。Mosaic數(shù)據(jù)增強(qiáng)利用隨機(jī)縮放、隨機(jī)裁剪和隨機(jī)排布的方式對4張圖片進(jìn)行拼接,擴(kuò)充檢測數(shù)據(jù)集。
(2) 主干網(wǎng)絡(luò)。YOLOv4在YOLOv3的Darknet-53基礎(chǔ)上,利用跨階段局部網(wǎng)絡(luò)(cross stage partial network,CSPNet)[13]提出CSPDarknet-53特征提取網(wǎng)絡(luò)。圖1是CSPNet將Darknet中的殘差塊進(jìn)行拆分成左右2部分,右邊作為主干部分繼續(xù)堆疊原來的殘差塊,左邊部分只進(jìn)行少量處理后進(jìn)行直連。該方式在減少計算量的同時使梯度在不同的路徑上進(jìn)行傳播,實(shí)現(xiàn)了豐富的梯度組合,避免了梯度消失等問題。
圖1 CSPNet結(jié)構(gòu)圖
(3) 特征融合網(wǎng)絡(luò)。YOLOv4使用了空間金字塔池化(spatial pyramid pooling,SPP)[14]模塊和路徑聚合網(wǎng)絡(luò)(path aggregation network,PANet)模塊,采用SPP模塊的方式,相較于簡單的使用×最大池化的方式,有效增加主干特征的接受范圍。PANet在YOLOv3的FPN (feature pyramid network)層后增加了一個自底向上的特征金字塔,F(xiàn)PN層實(shí)現(xiàn)自頂向下傳達(dá)強(qiáng)語義特征,而特征金字塔則自下而上傳達(dá)強(qiáng)定位特征,從不同的主干層對不同的檢測層進(jìn)行參數(shù)聚合,避免在傳遞過程中出現(xiàn)淺層信息丟失的問題,提高網(wǎng)絡(luò)預(yù)測的準(zhǔn)確性。
(4) 頭部(預(yù)測網(wǎng)絡(luò))。YOLOv4利用多尺度預(yù)測的方式,輸出3個不同大小的feature map,分別檢測小、中、大3種目標(biāo),特征圖的每個網(wǎng)格對應(yīng)3個預(yù)測框,利用預(yù)測框偏移對物體位置進(jìn)行預(yù)測,同時輸出目標(biāo)屬于每種類別的概率,整個模型網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
1.2.1 主干網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)
考慮到實(shí)際應(yīng)用中的變電站巡檢機(jī)器人大多數(shù)使用CPU平臺,盡管有部分使用GPU平臺,但其性能仍然有限。在實(shí)際應(yīng)用中,不能只考慮模型的性能,還要解決大規(guī)模網(wǎng)絡(luò)模型在嵌入式設(shè)備上的部署問題。YOLOv4在嵌入式平臺上存在檢測速度較慢,難以滿足儀表實(shí)時檢測的問題,由于主干網(wǎng)絡(luò)是模型的重要組成部分,是提取儀表圖像特征的關(guān)鍵網(wǎng)絡(luò),原主干網(wǎng)絡(luò)的模型較為復(fù)雜,參數(shù)量相較過大,考慮將一種性能優(yōu)異且輕量化的網(wǎng)絡(luò)引入YOLOv4中并構(gòu)成新的網(wǎng)絡(luò)結(jié)構(gòu)。相比其他輕量級網(wǎng)絡(luò),MobiletNetV3具有計算量小、參數(shù)少的特性,在目標(biāo)檢測任務(wù)取得了較好的成績,提出使用MobileNetV3代替YOLOv4的主干特征提取網(wǎng)絡(luò)CSPDarknet-53進(jìn)行儀表檢測定位,加快模型的檢測速度。MobileNet[15]適合應(yīng)用于設(shè)備性能有限的場景,例如移動或嵌入式等邊緣計算設(shè)備。
MobileNetV3采用NetAdapt算法對每一層的核數(shù)量進(jìn)行優(yōu)化,獲得卷積核和通道的最佳數(shù)量。在繼承了V1中的深度可分離卷積,減少模型參數(shù)的同時。保留了MobileNetV2[16]中具有線性瓶頸的殘差結(jié)構(gòu),線性瓶頸殘差塊(Bottleneck)是對residual block的拓展,將重點(diǎn)聚焦在殘差網(wǎng)絡(luò)各層的層數(shù),在進(jìn)入block之后通過1×1的卷積將低維空間映射到高維空間,將特征維數(shù)放大,使用輕量級深度卷積進(jìn)行過濾,隨后用linear bottleneck將特征投影回低維壓縮表示。
圖2 YOLOv4整體結(jié)構(gòu)
引入基于squeeze和excitation結(jié)構(gòu)的輕量級通道注意力機(jī)制[17],對圖像中的空間域信息進(jìn)行空間轉(zhuǎn)換提取關(guān)鍵信息,找到圖像信息中需要被關(guān)注的區(qū)域。通過squeeze運(yùn)算得到每個特征通道的權(quán)重,將該權(quán)重應(yīng)用在原來的每個特征通道,學(xué)習(xí)不同通道的重要性,針對不同的任務(wù)增強(qiáng)或抑制不同的通道。在增加少量計算量的情況下,可以獲得明顯的性能提升。具體實(shí)現(xiàn)為:特征在上一層被輸出,分為2條路徑:第1條不進(jìn)行任何處理;第2條首先進(jìn)行squeeze操作,將每個通道的特征壓縮成一維,從而得到一個特征通道向量。然后進(jìn)行excitation操作,將這一列特征通道向量輸入2個全連接層和sigmoid,建模出特征通道間的相關(guān)性,得到每個通道對應(yīng)的權(quán)重。最后將權(quán)重通過scale乘法加權(quán)到原來的特征上,實(shí)現(xiàn)特征通道的權(quán)重分配。
1.2.2 引入深度可分離卷積
深度神經(jīng)網(wǎng)絡(luò)依靠巨大網(wǎng)絡(luò)參數(shù)獲得優(yōu)越的性能,隨著網(wǎng)絡(luò)結(jié)構(gòu)越復(fù)雜、模型層數(shù)越深,存儲空間和計算損耗的壓力也越來越大。在1.1節(jié)中已經(jīng)介紹了YOLOv4算法的整體結(jié)構(gòu),本文在修改了主干網(wǎng)絡(luò)的基礎(chǔ)上,準(zhǔn)備修改其特征融合網(wǎng)絡(luò),使其網(wǎng)絡(luò)整體結(jié)構(gòu)的復(fù)雜度和參數(shù)量都得到了明顯的下降。在保持特征融合網(wǎng)絡(luò)SPP模塊和PANet模塊基礎(chǔ)結(jié)構(gòu)不變的情況下,保證其本身的優(yōu)勢,只減少其參數(shù),將深度可分離卷積引入特征融合網(wǎng)絡(luò)PANet[18]中替換原標(biāo)準(zhǔn)卷積,進(jìn)一步壓縮模型參數(shù)量,使模型更容易部署到嵌入式設(shè)備上。
普通的標(biāo)準(zhǔn)卷積使用一個和輸入具有相同通道數(shù)的卷積核,在整個特征通道上進(jìn)行乘法和累加運(yùn)算,將得到的數(shù)據(jù)作為輸出,單次計算量為D×D×,其中為輸入的通道數(shù),D為濾波器的大小。當(dāng)一個卷積核對輸入數(shù)據(jù)進(jìn)行濾波處理時,計算量為D×D××D×D,D為輸入特征圖的尺寸大小。在使用個卷積核運(yùn)算時,計算量為D×D××D×D×,標(biāo)準(zhǔn)卷積的計算過程如圖3所示。
圖3 標(biāo)準(zhǔn)卷積過程
普通的卷積運(yùn)算,在進(jìn)行濾波的同時,都涉及了所有輸入通道特征的組合,從而產(chǎn)生新的特征。但是,濾波和組合可以分解為2個步驟,顯著降低計算成本。深度可分離卷積由逐通道卷積和逐點(diǎn)卷積組成,逐通道卷積將單個濾波器應(yīng)用于每個輸入通道,逐點(diǎn)卷積通過1×1卷積來組合不同深度卷積的輸出,逐通道卷積的過程如圖4所示,計算復(fù)雜度為D×D××D×D。
圖4 逐通道卷積過程
逐通道卷積相對于普通的標(biāo)準(zhǔn)卷積效率高,但只是對輸入通道做了濾波處理,并未結(jié)合各個通道的特征圖生成新的特征。為了解決這一問題,將1×1的逐點(diǎn)卷積施加在逐通道卷積之后。逐點(diǎn)卷積的功能就是通過收集每個點(diǎn)的特征信息,使用尺寸為1×1的卷積聯(lián)合逐通道卷積收集多個通道空間信息,同時在逐點(diǎn)卷積層后增加BN層和ReLU層可以增加模型的非線性變化,從而增強(qiáng)模型的泛化能力,其計算量為D×D××,逐點(diǎn)卷積過程如圖5所示。
圖5 逐點(diǎn)卷積過程
1.2.3 遷移學(xué)習(xí)策略
遷移學(xué)習(xí)[19]是將網(wǎng)絡(luò)中每個節(jié)點(diǎn)的權(quán)重從一個訓(xùn)練好的網(wǎng)絡(luò)遷移到一個全新的網(wǎng)絡(luò)。在實(shí)際應(yīng)用中,通常不會針對一個新任務(wù)從頭開始訓(xùn)練新的神經(jīng)網(wǎng)絡(luò),此方式效率較低,當(dāng)數(shù)據(jù)集不夠龐大時,要訓(xùn)練出泛化能力足夠強(qiáng)的網(wǎng)絡(luò)模型較為困難。因此本文采用遷移學(xué)習(xí)訓(xùn)練策略,加快網(wǎng)絡(luò)的收斂速度,訓(xùn)練過程簡單并且在相同的訓(xùn)練時間內(nèi)能夠得到高精度的檢測模型。
1.2.4 TensorRT加速推理
TensorRT是一個可以在NVIDIA GPU硬件平臺下運(yùn)行的推理框架[20]。ONNX是一種用于深度學(xué)習(xí)模型的開放格式,利用該格式可以用任何的框架設(shè)計、訓(xùn)練和部署深度學(xué)習(xí)模型。在完成網(wǎng)絡(luò)的改進(jìn)之后,網(wǎng)絡(luò)訓(xùn)練完畢后得到一個輕量化的網(wǎng)絡(luò),在實(shí)際推理運(yùn)行前,對模型進(jìn)行TensorRT量化操作。具體實(shí)現(xiàn)為:將訓(xùn)練好的Pytorch模型導(dǎo)出為ONNX格式,轉(zhuǎn)換后的ONNX模型可能會有很多冗余操作,利用ONNX Simplifier進(jìn)行簡化,得到轉(zhuǎn)換后的ONNX模型。借助onnx2trt工具生成TensorRT引擎,然后利用TensorRT推理引擎運(yùn)行模型。TensorRT可以將訓(xùn)練好的模型進(jìn)行分解再進(jìn)行融合,融合后的模型具有較高的集合度。例如:將卷積層和激活層進(jìn)行融合,提升計算速度。將TensorRT加速后的模型部署到嵌入式開發(fā)板上,能夠提高吞吐量并減少推理的延遲,有著更高的推理效率。
由于本文針對的是變電站儀表檢測,場景較為特殊,并沒有大量公開可用的專業(yè)數(shù)據(jù)集,因此在實(shí)驗中采取了網(wǎng)上收集和自行制作的數(shù)據(jù)集。在經(jīng)過篩選之后,進(jìn)行圖像裁剪、添加噪聲、對比度處理等基本圖像擴(kuò)充手段,一共制作了850張圖片,利用LabelImg對其進(jìn)行手工標(biāo)注,用于模型的訓(xùn)練、驗證和測試,數(shù)據(jù)集中的部分圖像如圖6所示,本文服務(wù)器實(shí)驗平臺配置見表1。
圖6 部分?jǐn)?shù)據(jù)集圖片
本文實(shí)驗測試在服務(wù)器和NVIDIA Jetson Nano上同時進(jìn)行,Jetson Nano作為嵌入式移動平臺,是一款功能強(qiáng)大的小型計算機(jī),搭載128核心GPU,包含豐富的API接口和CUDA庫,支持邊緣AI應(yīng)用程序,能夠滿足邊緣計算場景的有效應(yīng)用。
表1 具體環(huán)境配置
將訓(xùn)練集、驗證集、測試集依照8∶1∶1的方式進(jìn)行分配,為了提高訓(xùn)練的效率,采用遷移學(xué)習(xí)的訓(xùn)練策略,使用已經(jīng)在PASCAL VOC數(shù)據(jù)集上訓(xùn)練達(dá)到收斂的MobileNetV3權(quán)重文件。實(shí)驗過程中,輸入之前先將圖像調(diào)整為416×416,保證輸入圖像的統(tǒng)一性,采用Adam優(yōu)化算法計算每個參數(shù)的自適應(yīng)學(xué)習(xí)率,開啟Mosaic數(shù)據(jù)增強(qiáng)和余弦退火衰減,最大學(xué)習(xí)率為0.001,學(xué)習(xí)率周期迭代次數(shù)為5。
整個訓(xùn)練過程分為2步:①為了避免MobileNet權(quán)重被破壞,凍結(jié)MobileNet網(wǎng)絡(luò)參數(shù),為加快訓(xùn)練速度將學(xué)習(xí)率設(shè)為0.001,采用小批量梯度下降法,一次輸入16張圖片進(jìn)行訓(xùn)練。②解凍MobileNet參數(shù),為了充分學(xué)習(xí)提取儀表圖像的特征,更好地達(dá)到收斂效果,學(xué)習(xí)率設(shè)為0.000 1,一次性訓(xùn)練8張圖片。
為了比較本算法相對于目前其他目標(biāo)檢測模型的優(yōu)越性,本文在硬件平臺相同的情況下,以計算量來衡量算法對應(yīng)的時間復(fù)雜度,模型參數(shù)大小是模型訓(xùn)練時的參數(shù),對應(yīng)著空間復(fù)雜度。表2為本文算法與現(xiàn)有算法在運(yùn)算量和模型參數(shù)量大小方面的比較。從表中可以看出,在優(yōu)化了模型的主干網(wǎng)絡(luò)、引入深度可分離卷積之后,網(wǎng)絡(luò)得到簡化,提高了模型效率。因此,在浮點(diǎn)數(shù)計算量方面,相比與Faster-RCNN,本文算法計算量顯著下降,相較于YOLOv3降低了89.2%,與YOLOv4相比減少了88.15%,相較于EfficientDet-D1下降了46.04%,同時遠(yuǎn)遠(yuǎn)低于CenterNet;而在模型規(guī)模方面,較于Faster-RCNN下降了51.47%,相比于YOLOv3減少了71.12%,比YOLOv4減少了78%,高于EfficientDet-D1,但較于CenterNet下降了56.95%。可以看出,無論是在計算量還是參數(shù)量方面,本文算法都遠(yuǎn)遠(yuǎn)小于YOLOv4,較于其他算法有明顯的優(yōu)勢,具備部署到嵌入式等移動終端的可能。
表2 不同模型運(yùn)算量對比
除了對計算量和參數(shù)量進(jìn)行分析外,還將本文算法與Faster-RCNN[21],YOLOv3[22],YOLOv4 EfficientDet[23]和CenterNet[24]主流模型在檢測速度和檢測精度進(jìn)行對比。本文訓(xùn)練環(huán)境使用的GPU型號為NVIDIA RTX 3070,但在實(shí)際變電站巡檢機(jī)器人應(yīng)用場景中,一般的硬件設(shè)備是普通的CPU設(shè)備或計算能力較差的GPU設(shè)備。因此,為了更好地評估算法在實(shí)際工業(yè)應(yīng)用中的性能表現(xiàn),本文在RTX 3070和NVIDIA Jetson Nano 2種不同的硬件條件下對模型進(jìn)行檢測推理分析。
本文對模型進(jìn)行了檢測速度測試(該時間為輸入圖像通過網(wǎng)絡(luò)模型、對網(wǎng)絡(luò)輸出的解碼操作和非極大值抑制運(yùn)算三者的總和),輸入圖像大小統(tǒng)一為416×416。在RTX3070上的測試結(jié)果見表3,從表中可以看出,F(xiàn)aster-RCNN在RTX 3070上僅達(dá)到15 FPS,本文算法相比Faster-RCNN有明顯的改善,提升了233%,相較于YOLOv3提高了19 FPS,同時在YOLOv4的基礎(chǔ)上提到了50 FPS,與EfficientDet-D1和CenterNet相比分別提高了138%和42.86%。本文算法和目前主流檢測模型相比,檢測效率得到了明顯地提升。
表3 在RTX 3070上檢測結(jié)果
在網(wǎng)絡(luò)訓(xùn)練階段,為了保證網(wǎng)絡(luò)訓(xùn)練過程中的精度,使用32位浮點(diǎn)數(shù),而在部署階段,為了減少計算量、提高推理速度,采用16位浮點(diǎn)模型。在嵌入式平臺Jetson Nano上檢測,受限于硬件設(shè)備的條件和性能限制。借助于TensorRT技術(shù),利用半精度浮點(diǎn)(FP16)代替全精度浮點(diǎn)(FP32)對模型進(jìn)行重構(gòu)和優(yōu)化。測試結(jié)果見表4,F(xiàn)aster-RCNN幀率過低,YOLOv3和YOLOv4在Jetson Nano速度方面差異不大,是由于在嵌入式上進(jìn)行推理測試,硬件設(shè)備的性能限制造成差異并不明顯。以半精度浮點(diǎn)數(shù)(FP16)進(jìn)行分析,本文算法與YOLOv3和YOLOv4相比,檢測效率得到明顯地改善,比YOLOv4提升了200%,最高可達(dá)15 FPS。在速度明顯優(yōu)于其他算法的同時,檢測精度也得到了保障,相較于YOLOv3降低到94.72%,精度下降了3.03%,而較于YOLOv4下降了4.25%。與EfficientDet-D1和CenterNet相比時,速度有著顯著地改進(jìn),同時可以保持可觀的精度。可見在實(shí)際檢測變電站儀表的過程中,以犧牲較小精度為代價的情況下,極大地提高了檢測的速度,能夠?qū)崿F(xiàn)變電站儀表實(shí)時檢測任務(wù)。
表4 在Jetson Nano上檢測結(jié)果
同時,為了更好驗證本算法各模塊及策略的作用,進(jìn)行了詳盡的消融實(shí)驗,本次消融實(shí)驗均在RTX 3070配置的服務(wù)器下進(jìn)行,具體結(jié)果見表5。從表中可以看出,在改進(jìn)主干網(wǎng)絡(luò)后,由于特征提取能力得到弱化,不能完全有效地提取圖像深層次特征,精度得到明顯下降,幀率提高到了47 FPS。在此基礎(chǔ)上修改特征融合網(wǎng)絡(luò)時,模型精度進(jìn)一步下降。但在采用遷移學(xué)習(xí)的訓(xùn)練策略時,由于預(yù)訓(xùn)練模型學(xué)習(xí)并保留了大部分目標(biāo)的通用特征,能夠在有效縮短訓(xùn)練收斂時間的基礎(chǔ)上,大幅度提高精度。本文算法精度相比YOLOv4下降了4.25%,F(xiàn)PS提高了16.28%,結(jié)果證明所采用的模塊和策略能夠在保證精度的情況下,提高檢測效率。
為了直觀、有效地展現(xiàn)本文算法的檢測效果,選取單儀表和多儀表特殊應(yīng)用場景下的圖像進(jìn)行檢測效果驗證,對包含儀表的多張圖像進(jìn)行測試,利用紅色矩形框?qū)x表從圖像中標(biāo)識出來。
由于變電站場景的特殊性,變電站儀表型號相同,排列整齊有規(guī)律,且不存在遮擋或重疊等現(xiàn)象,圖像拍攝不會造成目標(biāo)之間的相互干擾。此外,變電站巡檢機(jī)器人在拍攝時存在定點(diǎn)、定向、定焦等特點(diǎn),拍攝過程中不會存在較大誤差。圖7和圖8分別選取了多張單個儀表和多張多個儀表圖像進(jìn)行檢測結(jié)果對比。從圖7中可以看出,在面對不同型號及不同位置的儀表時,均能做出正確的檢測,檢測結(jié)果滿足需求。從圖8的檢測結(jié)果可以看出,本文算法能夠一次性檢測出圖中不同位置的多個儀表,方便后續(xù)的儀表讀數(shù)等步驟。與此同時,對多個儀表同時檢測比分多次檢測單個儀表耗費(fèi)時間更少,能夠有效提高檢測效率。經(jīng)過上述分析,基于YOLOv4改進(jìn)后的儀表檢測算法能夠快速準(zhǔn)確檢測變電站中的儀表,具有較好的實(shí)時性和魯棒性,滿足實(shí)際檢測的需求。
表5 各模塊策略消融實(shí)驗結(jié)果對比
注:×表示沒有采用該模塊,ü表示采用該模塊
圖7 單儀表檢測結(jié)果展示
圖8 多儀表檢測結(jié)果展示
針對目標(biāo)檢測模型參數(shù)量大、占用資源多、難以部署到嵌入式設(shè)備上的問題,本文提出了一種基于改進(jìn)YOLOv4的嵌入式變電站儀表檢測算法。在YOLOv4算法上進(jìn)行輕量化改進(jìn),采用MobileNet V3作為主干特征提取網(wǎng)絡(luò)的同時,引入深度可分離卷積,采用遷移學(xué)習(xí)策略進(jìn)行網(wǎng)絡(luò)訓(xùn)練,利用TensorRT對模型進(jìn)行優(yōu)化,使之更適合應(yīng)用在性能有限的嵌入式設(shè)備中。實(shí)驗結(jié)果表明,該算法在損失4.25%精度的情況下,模型數(shù)據(jù)保存為半精度浮點(diǎn)型(FP16)時,相比于YOLOv4在Jetson Nano上將檢測速度(FPS)提高了約200%。其對于變電站環(huán)境下的儀表檢測表現(xiàn)出良好的魯棒性和實(shí)時性,能夠滿足變電站儀表檢測任務(wù),方便在不同變電站中遷移部署,具有很好的實(shí)際應(yīng)用價值。檢測之后,利用深度學(xué)習(xí)的方法根據(jù)不同類型儀表進(jìn)行讀數(shù)識別將是后續(xù)重點(diǎn)研究內(nèi)容。
[1] 高旭, 王育路, 曾健. 基于移動機(jī)器人的變電站儀表自動識別研究[J]. 電網(wǎng)與清潔能源, 2017, 33(11): 85-90.
GAO X, WANG Y L, ZENG J. Automatic recognition of substation instrument based on mobile robot[J]. Power System and Clean Energy, 2017, 33(11): 85-90 (in Chinese).
[2] LU S Y, ZHANG Y, SU J J. Mobile robot for power substation inspection: a survey[J]. IEEE/CAA Journal of Automatica Sinica, 2017, 4(4): 830-847.
[3] WANG H P, LI J X, ZHOU Y, et al. Research on the technology of indoor and outdoor integration robot inspection in substation[C]//2019 IEEE 3rd Information Technology, Networking, Electronic and Automation Control Conference. New York: IEEE Press, 2019: 2366-2369.
[4] 房樺, 明志強(qiáng), 周云峰, 等. 一種適用于變電站巡檢機(jī)器人的儀表識別算法[J]. 自動化與儀表, 2013, 28(5): 10-14.
FANG H, MING Z Q, ZHOU Y F, et al. Meter recognition algorithm for equipment inspection robot[J]. Automation & Instrumentation, 2013, 28(5): 10-14 (in Chinese).
[5] 楊志娟, 袁縱橫, 喬宇, 等. 基于圖像處理的指針式儀表智能識別方法研究[J]. 計算機(jī)測量與控制, 2015, 23(5): 1717-1720.
YANG Z J, YUAN Z H, QIAO Y, et al. Research of intelligent recognition method of pointer instrument based on image processing[J]. Computer Measurement & Control, 2015, 23(5): 1717-1720 (in Chinese).
[6] GAO J W, XIE H T, ZUO L, et al. A robust pointer meter reading recognition method for substation inspection robot[C]//2017 International Conference on Robotics and Automation Sciences. New York: IEEE Press, 2017: 43-47.
[7] 黃炎, 李文勝, 麥曉明, 等. 基于一維測量線映射的變電站指針儀表智能識讀方法[J]. 廣東電力, 2018, 31(12): 80-85.
HUANG Y, LI W S, MAI X M, et al. Intelligent recognition method for substation pointer meter images based on one-dimensional measuring line mapping[J]. Guangdong Electric Power, 2018, 31(12): 80-85 (in Chinese).
[8] 邢浩強(qiáng), 杜志岐, 蘇波. 變電站指針式儀表檢測與識別方法[J]. 儀器儀表學(xué)報, 2017, 38(11): 2813-2821.
XING H Q, DU Z Q, SU B. Detection and recognition method for pointer-type meter in transformer substation[J]. Chinese Journal of Scientific Instrument, 2017, 38(11): 2813-2821 (in Chinese).
[9] 徐發(fā)兵, 吳懷宇, 陳志環(huán), 等. 基于深度學(xué)習(xí)的指針式儀表檢測與識別研究[J]. 高技術(shù)通訊, 2019, 29(12): 1206-1215.
XU F B, WU H Y, CHEN Z H, et al. Research on pointer instrument detection and recognition based on deep learning[J]. Chinese High Technology Letters, 2019, 29(12): 1206-1215 (in Chinese).
[10] 周楊浩, 劉一帆, 李瑮. 一種自動讀取指針式儀表讀數(shù)的方法[J]. 山東大學(xué)學(xué)報: 工學(xué)版, 2019, 49(4): 1-7.
ZHOU Y H, LIU Y F, LI L. An automatic reading method for pointer meter[J]. Journal of Shandong University: Engineering Science, 2019, 49(4): 1-7 (in Chinese).
[11] LIU Y, LIU J, KE Y C. A detection and recognition system of pointer meters in substations based on computer vision[J]. Measurement, 2020, 152: 107333.
[12] BOCHKOVSKIY A, WANG C Y, LIAO H Y M. YOLOv4: optimal speed and accuracy of object detection[EB/OL]. (2020-04-23) [2021-08-07]. https://arxiv.org/abs/2004.10934.
[13] WANG C Y, MARK LIAO H Y, WU Y H, et al. CSPNet: a new backbone that can enhance learning capability of CNN[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. New York: IEEE Press, 2020: 1571-1580.
[14] HE K M, ZHANG X Y, REN S Q, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916.
[15] HOWARD A G, ZHU M L, CHEN B, et al. Mobilenets: efficient convolutional neural networks for mobile vision applications[EB/OL]. (2017-04-17) [2021-09-16]. https://arxiv.org/abs/1704.04861.
[16] SANDLER M, HOWARD A, ZHU M L, et al. Mobilenetv2: inverted residuals and linear bottlenecks[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. New York: IEEE Press, 2018: 4510-4520.
[17] HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. New York: IEEE Press, 2018: 7132-7141.
[18] LIU S, QI L, QIN H F, et al. Path aggregation network for instance segmentation[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. New York: IEEE Press, 2018: 8759-8768.
[19] 朱惠玲, 牛哲文, 黃克燦, 等. 基于單階段目標(biāo)檢測算法的變電設(shè)備紅外圖像目標(biāo)識別及定位[J]. 電力自動化設(shè)備, 2021, 41(8): 217-224.
ZHU H L, NIU Z W, HUANG K C, et al. Identification and location of infrared image for substation equipment based on single-stage object detection algorithm[J]. Electric Power Automation Equipment, 2021, 41(8): 217-224 (in Chinese).
[20] STEPANENKO S O, YAKIMOV P Y. Using high-performance deep learning platform to accelerate object detection[C]//International Conference on Information Technology and Nanotechnology. Samara: CEUR-WS, 2019: 26-29.
[21] REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
[22] REDMON J, FARHADI A. YOLOv3: an incremental improvement[EB/OL]. (2018-04-08) [2021-07-16]. https://arxiv.org/abs/1804.02767.
[23] TAN M X, PANG R M, LE Q V. EfficientDet: scalable and efficient object detection[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. New York: IEEE Press, 2020: 10778-10787.
[24] ZHOU X Y, WANG D Q, KR?HENBüHL P. Objects as points[EB/OL]. (2019-04-25) [2021-12-04]. https://arxiv.org/abs/1904.07850.
Embedded substation instrument detection algorithm based on improved YOLOv4
FAN Xin-nan1,2, HUANG Wei-sheng2, SHI Peng-fei1,2, XIN Yuan-xue2, ZHU Feng-ting2, ZHOU Run-kang2
(1. Jiangsu Key Laboratory of Power Transmission & Distribution Equipment Technology, Changzhou Jiangsu 213022, China; 2. College of Internet of Things Engineering, Hohai University, Changzhou Jiangsu 213022, China)
With the rapid development of robotics technology, intelligent robots are widely used in substation inspections. Aiming at the problem that the current target detection algorithms have too many parameters and the performance of embedded devices is limited. It is difficult to achieve real-time detection on the embedded platform. A n improved YOLOv4 embedded substation instrument detection algorithm is proposed. The algorithm is based on YOLOv4 and uses MobileNetV3 as the backbone feature extraction network. It reduces the amount of calculation and increases the detection speed while ensuring that the model can effectively extract features. At the same time, the convolution operation in the path aggregation network (PANet) is replaced with a depthwise separable convolution after feature extraction; the training strategy of transfer learning is used to overcome the difficult problem of model training. Finally, the improved model is optimized by TensorRT to achieve fast and efficient deployment reasoning. The improved algorithm is tested on the embedded NVIDIA Jetson Nano, and the experimental results show that the detection speed is increased by 2 times to 15 FPS at the expense of less accuracy. This provides the possibility for real-time instrument detection in edge computing scenarios.
deep learning; substation instrument; object detection; YOLOv4; transfer learning
TP 391
10.11996/JG.j.2095-302X.2022030396
A
2095-302X(2022)03-0396-08
2021-09-23;
2022-02-19
23 September,2021;
19 February,2022
江蘇省輸配電裝備技術(shù)重點(diǎn)實(shí)驗室開放研究基金項目(2021JSSPD03)
The Open Research Fund of Jiangsu Key Laboratory of Power Transmission & Distribution Equipment Technology (2021JSSPD03)
范新南(1965–),男,教授,博士。主要研究方向為探測與成像、智能感知技術(shù)等。E-mail:fanxn@hhuc.edu.cn
FAN Xin-nan (1965–), professor, Ph.D. His main research interests cover detection and imaging, intelligent perception technology, etc. E-mail:fanxn@hhuc.edu.cn
史朋飛(1985–),男,副教授,博士。主要研究方向為探測與成像、信息獲取與處理等。E-mail:shipf@hhu.edu.cn
SHI Peng-fei (1985–), associate professor, Ph.D. His main research interests cover detection and imaging, information acquisition and processing, etc. E-mail:shipf@hhu.edu.cn