張 昭,張 沛,曹 勇,楊 莎,黃樹欣,孫 瀚,張柏禮**
(1.智能電網(wǎng)保護(hù)和運(yùn)行控制國家重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 211106;2.南瑞集團(tuán),江蘇 南京 211106;3.國網(wǎng)山東省電力公司 棗莊供電公司,山東 棗莊 277099;4.東南大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 南京 211189)
變電設(shè)備因長期暴露在戶外環(huán)境中,容易產(chǎn)生金屬銹蝕.金屬銹蝕是金屬材料表面和內(nèi)部微觀結(jié)構(gòu)與腐蝕環(huán)境相互作用而引起的劣化結(jié)果[1],會(huì)對(duì)變電設(shè)備安全運(yùn)行和使用壽命產(chǎn)生不利的影響.因此,需要通過定期/不定期變電設(shè)備巡檢,及時(shí)發(fā)現(xiàn)金屬銹蝕并及時(shí)解決.除了依賴人工肉眼檢測(cè)外,金屬銹蝕的非破壞性無損檢測(cè)技術(shù)是一種常見的解決方法,如X 射線[2]、紅外熱成像[3-4]以及電磁圖[5]等.但上述方法均對(duì)檢測(cè)環(huán)境、檢測(cè)儀器、檢測(cè)人員專業(yè)水平有著較高要求.目前,利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[6]對(duì)RGB 圖像自動(dòng)提取特征,再進(jìn)行檢測(cè)定位成為金屬銹蝕檢測(cè)的一種趨勢(shì).其中,以Faster R-CNN[7],YOLO[8-9]為代表基于區(qū)域建議目標(biāo)檢測(cè)算法在具有較高精度的同時(shí),也具有很好的檢測(cè)速度.
然而,金屬銹蝕存在普遍的形狀不規(guī)則性和可拆分性,使得訓(xùn)練樣本標(biāo)注時(shí),標(biāo)注者面臨著很多歧義,難以實(shí)現(xiàn)標(biāo)注過程標(biāo)準(zhǔn)化和標(biāo)注結(jié)果一致性,標(biāo)注質(zhì)量不穩(wěn)定,使得模型在訓(xùn)練中難以有效捕獲金屬銹蝕內(nèi)在特征,直接影響目標(biāo)檢測(cè)模型的效果[10].針對(duì)上述問題,本文提出一種分層嵌套標(biāo)注方法:首先,采用較大的矩形框?qū)︿P蝕出現(xiàn)范圍內(nèi)進(jìn)行大面積標(biāo)注,只要在視覺上是連續(xù)的、相鄰的不能清晰劃分的銹蝕都用一個(gè)較大的矩形框標(biāo)注;接著,在第一步的標(biāo)注框內(nèi),對(duì)那些特征非常明顯并具有相對(duì)獨(dú)立性的區(qū)域進(jìn)行二次標(biāo)注,形成第二層的內(nèi)部嵌套標(biāo)注.這種標(biāo)注方法簡單直白,可以有效保證每個(gè)訓(xùn)練樣本標(biāo)注結(jié)果的唯一性,易于標(biāo)注者掌握和標(biāo)準(zhǔn)化,利于形成穩(wěn)定的標(biāo)注質(zhì)量,而且這種標(biāo)注突出了銹蝕的特征并一定程度上增加了被標(biāo)注銹蝕的樣本數(shù)量,實(shí)現(xiàn)了數(shù)據(jù)增強(qiáng),使得模型在訓(xùn)練中更容易捕捉到銹蝕的特征.
本文的主要貢獻(xiàn)如下:
(1)針對(duì)變電設(shè)備的金屬銹蝕精準(zhǔn)檢測(cè),提出了新的數(shù)據(jù)集標(biāo)注方法——分層嵌套標(biāo)注方法;
(2)在金屬銹蝕檢測(cè)領(lǐng)域,引入了檢測(cè)框融合算法,實(shí)現(xiàn)檢測(cè)結(jié)果歸一化;
(3)針對(duì)金屬銹蝕檢測(cè)領(lǐng)域的特點(diǎn),引入了新的查準(zhǔn)率、召回率定義.
自AlexNet[11]在ImageNet 大賽上展現(xiàn)優(yōu)異成績后,利用CNN 進(jìn)行特征提取并進(jìn)行圖像分類的方式得到了快速發(fā)展,廣泛應(yīng)用于各種領(lǐng)域的圖像識(shí)別、目標(biāo)檢測(cè).針對(duì)金屬銹蝕檢測(cè),目前以CNN為核心的目標(biāo)檢測(cè)模型中最具是代表性是Faster RCNN 和YOLO,它們通過預(yù)定義不同尺寸形狀的anchor 來檢測(cè)不同尺寸形狀的目標(biāo)區(qū)域,可以同時(shí)解決分類和定位的問題.
目標(biāo)檢測(cè)模型的訓(xùn)練效果高度依賴于足量的和高質(zhì)量的數(shù)據(jù)集,針對(duì)目標(biāo)檢測(cè)任務(wù)的圖片標(biāo)注主要有2D 邊界框/矩形框(Bounding Boxes)、3D邊界框/長方體(Cuboids)、多邊形(Polygons)3 種標(biāo)注方法.3D 長方體標(biāo)注可以顯示目標(biāo)的深度,用于立體圖像中的識(shí)別對(duì)象,對(duì)于金屬銹蝕的檢測(cè)一般不涉及對(duì)象的深度,故未采用這種方法.矩形框標(biāo)注相對(duì)簡單而常用,但標(biāo)注的矩形區(qū)域通常含有非目標(biāo)對(duì)象,尤其金屬銹蝕具有明顯的非規(guī)則性,導(dǎo)致標(biāo)注的矩形框內(nèi)可能存在大面積的非銹蝕區(qū)域,訓(xùn)練的模型難以學(xué)習(xí)到有效的銹蝕內(nèi)在特征,進(jìn)而影響識(shí)別精準(zhǔn)度.而采用多邊形方法可以很好地吻合目標(biāo)的形狀,解決上述不足,但其標(biāo)注非常耗時(shí),成本非常高,因此實(shí)踐中很少被用于數(shù)據(jù)集的大規(guī)模標(biāo)注.
針對(duì)金屬銹蝕的形狀不規(guī)則性導(dǎo)致標(biāo)注結(jié)果可能包含大面積非銹蝕區(qū)域的問題,文獻(xiàn)[12]首先通過滑動(dòng)窗口截取較小的區(qū)域,以此來降低窗口中含有的非銹蝕區(qū)域;接著,再使用小型的CNN 依次判斷每個(gè)窗口是否為銹蝕區(qū)域.但是這種將一張圖片切分成多個(gè)微小的窗口,使得模型只關(guān)注窗口中的局部像素?cái)?shù)據(jù)而忽略了全局像素?cái)?shù)據(jù).其感受野過低導(dǎo)致模型學(xué)習(xí)到的特征過于局部、片面.同時(shí),窗口的尺寸導(dǎo)致設(shè)計(jì)的CNN 不能太大,模型的學(xué)習(xí)能力受限.因此,該方法容易產(chǎn)生誤判,檢測(cè)效果不佳.
2.1 訓(xùn)練樣本標(biāo)注方法在變電設(shè)備中,由于設(shè)備大小不一以及銹蝕蔓延等問題導(dǎo)致銹蝕區(qū)域的形狀大小具有不規(guī)則性.同時(shí),金屬銹蝕往往又具有可拆分性,其既可以作為一整片銹蝕的組成部分,又可以看成一個(gè)個(gè)獨(dú)立的銹蝕區(qū)域.針對(duì)金屬銹蝕這種特性,在矩形框標(biāo)注的使用方面,一般有兩種不同策略的標(biāo)注方法:①采用盡可能小的標(biāo)注框標(biāo)注銹蝕區(qū)域;②采用盡可能大的標(biāo)注框標(biāo)注銹蝕區(qū)域.
采用方法①可以盡可能減少矩形框中包含的非目標(biāo)區(qū)域,但是金屬銹蝕蔓延特性會(huì)導(dǎo)致一塊銹蝕區(qū)域與鄰近的非銹蝕區(qū)域之間存在一段銹蝕程度逐漸減輕的銹蝕蔓延區(qū)域,使得標(biāo)注者面臨著很多歧義,如直接忽略,往往會(huì)漏掉一些銹蝕蔓延區(qū)域,如圖1 中標(biāo)注結(jié)果附近存在部分未標(biāo)注的銹蝕區(qū)域.然而銹蝕蔓延是金屬銹蝕的一個(gè)非常重要特征,如果選擇標(biāo)注,標(biāo)注過程則難以標(biāo)準(zhǔn)化并導(dǎo)致標(biāo)注結(jié)果的多樣性,模型訓(xùn)練效果不佳.
圖1 方法1 的標(biāo)注結(jié)果Fig.1 The annotation result by method 1
若采用方法②(盡可能大的標(biāo)注框)對(duì)訓(xùn)練集進(jìn)行標(biāo)注,因?yàn)椴捎帽M可能大的標(biāo)注框以標(biāo)注所有的銹蝕區(qū)域,則不存在方法①中難以標(biāo)注的問題.采用方法②標(biāo)注的結(jié)果如圖2 所示.
但是方法②也存在一定的不足:除了增加了矩形框中包含非目標(biāo)區(qū)域外,由于變電設(shè)備的器件具有可拆分性,這使得圖2 中作為銹蝕區(qū)域一部分的螺帽在圖3 中卻作為獨(dú)立的銹蝕個(gè)體并被標(biāo)注.即可拆分性導(dǎo)致同為銹蝕的螺帽具有不同的標(biāo)注結(jié)果;而在圖2 中,標(biāo)注框內(nèi)右上角的銹蝕螺帽與右下角的非銹蝕螺帽均沒有被獨(dú)立標(biāo)注,這意味著不同類型的螺帽存在相同的標(biāo)注結(jié)果.綜上所述,方法②在標(biāo)注過程中存在二義性,也會(huì)導(dǎo)致模型訓(xùn)練的不穩(wěn)定.
圖2 方法2 的標(biāo)注結(jié)果Fig.2 The annotation result by method
圖3 金屬銹蝕的可拆分性Fig.3 The detachability of metal corrosion
為此,本文提出一種分層嵌套標(biāo)注方法作為金屬銹蝕的第③種標(biāo)注方法:首先,采用盡可能大的標(biāo)注框?qū)︿P蝕進(jìn)行大面積標(biāo)注,只要在視覺上是連續(xù)的、相鄰的不能清晰劃分的銹蝕都用一個(gè)較大的矩形框標(biāo)注,如圖4 中的框GT1;然后,在第一步的標(biāo)注框內(nèi),對(duì)那些特征非常明顯并具有相對(duì)獨(dú)立性的區(qū)域進(jìn)行二次標(biāo)注,形成第二層的嵌套標(biāo)注,如圖4 中的GT2、GT3.由此可見,分層嵌套標(biāo)注不僅解決了方法①在標(biāo)注過程中產(chǎn)生漏標(biāo)的問題,而且解決了方法②在標(biāo)注過程中產(chǎn)生歧義的問題.同時(shí),采用分層嵌套標(biāo)注方法后,大大增加了標(biāo)注框數(shù)目進(jìn)而達(dá)到數(shù)據(jù)增強(qiáng)的效果,一定程度上抵消了矩形框中包含非目標(biāo)對(duì)象帶來的負(fù)面影響.
圖4 方法3 的標(biāo)注結(jié)果Fig.4 The annotation result by method 3
2.2 檢測(cè)框融合算法雖然分層嵌套標(biāo)注法可以有效解決標(biāo)注遺漏和標(biāo)注歧義的問題,但也出現(xiàn)了標(biāo)注框嵌套的新問題.因此,采用分層嵌套標(biāo)注的方法訓(xùn)練得到的模型,其檢測(cè)結(jié)果中也會(huì)出現(xiàn)檢測(cè)框嵌套的新問題,如圖5(a)中的檢測(cè)框A、B.這對(duì)檢測(cè)結(jié)果的可視化展示和模型評(píng)價(jià)指標(biāo)計(jì)算都會(huì)產(chǎn)生干擾.雖然不影響檢測(cè)的實(shí)際效果,但與主流的檢測(cè)結(jié)果展示方式不符.為此,本文對(duì)檢測(cè)結(jié)果進(jìn)行了轉(zhuǎn)換處理:依次判定任意兩個(gè)檢測(cè)框是否相交,如果相交則以二者的外接多邊形進(jìn)行替代,直至檢測(cè)結(jié)果中任意兩個(gè)檢測(cè)框都不相交.即使用圖5(b)的橘色多邊形C 代替矩形框A、B 作為最終檢測(cè)結(jié)果.
圖5 矩形框融合示意圖Fig.5 The diagram of merging rectangles
3.1 評(píng)測(cè)指標(biāo)通過第2 節(jié)討論可知,使用3 種不同方法標(biāo)注同一銹蝕樣本,可能會(huì)出現(xiàn)不同的標(biāo)注結(jié)果.因此,采用方法①、方法②與方法③制作的測(cè)試集不可能相同.即3 種標(biāo)注方法訓(xùn)練得到的模型無法采用統(tǒng)一的測(cè)試集以比較優(yōu)劣.針對(duì)上述問題,本文以多邊形標(biāo)注方式對(duì)測(cè)試集進(jìn)行標(biāo)注,以此來制作統(tǒng)一的測(cè)試集.其標(biāo)部分標(biāo)注樣本如圖6所示.
圖6 多邊形標(biāo)注的標(biāo)注結(jié)果Fig.6 The annotation result by polygons
在本次實(shí)驗(yàn)中,采用模型的查準(zhǔn)率和召回率作為評(píng)價(jià)指標(biāo).根據(jù)檢測(cè)結(jié)果是否正確可以將分類結(jié)果劃分為4 類.如表1 所示.
表1 二分問題混淆矩陣Tab.1 Confusion matrix for binary classification
在目標(biāo)檢測(cè)中,通常采用交并比對(duì)檢測(cè)結(jié)果正確與否進(jìn)行判斷.交并比計(jì)算的是“檢測(cè)的邊框”和“真實(shí)的邊框”的交集和并集的比值.通常在實(shí)際工程項(xiàng)目中,設(shè)定交并比的閾值為0.5,即交并比大于0.5 時(shí),可以認(rèn)為機(jī)器檢測(cè)到了目標(biāo).對(duì)于本文而言,由于測(cè)試集是以多邊形的方式進(jìn)行標(biāo)注,一個(gè)檢測(cè)框與標(biāo)注框之間的交并比往往很低,如圖7所示,檢測(cè)框與任意一個(gè)標(biāo)注框的交并比都低于0.5,因此不適合直接采用交并比來判斷檢測(cè)結(jié)果是否正確.
圖7 檢測(cè)結(jié)果中含有大量的非銹蝕區(qū)域Fig.7 Existing a large non-corroded area in detection result
為此,本文根據(jù)銹蝕檢測(cè)的特點(diǎn),通過以下標(biāo)準(zhǔn)來計(jì)算模型的查準(zhǔn)率和召回率.
(1)為了降低圖片尺寸的影響,在計(jì)算之前將所有圖片尺寸進(jìn)行歸一化處理.召回率的計(jì)算公式如下:
(2)如圖7 所示,即使模型很好地檢測(cè)到了銹蝕區(qū)域,但檢測(cè)結(jié)果中仍含有大量的非銹蝕區(qū)域.因此,將檢測(cè)正確的總銹蝕面積與檢測(cè)的總面積之比作為查準(zhǔn)率計(jì)算公式,得到的查準(zhǔn)率往往很低,無法真實(shí)描述模型的優(yōu)劣.針對(duì)上述問題,本文將從檢測(cè)數(shù)目的角度出發(fā)來計(jì)算查準(zhǔn)率,即將含有銹蝕的檢測(cè)結(jié)果視為檢測(cè)正確,并以檢測(cè)數(shù)目來計(jì)算模型查準(zhǔn)率.因此,查準(zhǔn)率計(jì)算公式如下:
最終,本文通過制作統(tǒng)一的測(cè)試集,保證了3種標(biāo)注方法可以在同一個(gè)測(cè)試集中進(jìn)行橫向?qū)Ρ?通過上述兩種計(jì)算公式,使得其能夠更加真實(shí)地描述模型的檢測(cè)效果.
3.2 實(shí)驗(yàn)環(huán)境本文的硬件平臺(tái)是AMAX GPU 服務(wù)器(I7-9800,32GBRAM,RTX2080Ti),以PyTorch為深度學(xué)習(xí)框架,以Faster R-CNN,YOLOv5[13]為實(shí)驗(yàn)的檢測(cè)模型,以查準(zhǔn)率、召回率為訓(xùn)練模型的評(píng)價(jià)指標(biāo).
3.3 實(shí)驗(yàn)實(shí)驗(yàn)采用以大規(guī)模訓(xùn)練集訓(xùn)練得到的骨干網(wǎng)進(jìn)行模型參數(shù)初始化,再通過遷移學(xué)習(xí)微調(diào)的方式訓(xùn)練銹蝕檢測(cè)模型[14-15].
首先,本文采用多邊形標(biāo)注的方式標(biāo)注了199張圖片作為測(cè)試集,使用3 種標(biāo)注方法分別標(biāo)注了1 180 張圖片作為訓(xùn)練集;接著,分別以VGG16[16],Res101[17]為骨干網(wǎng),SGD 為優(yōu)化器,訓(xùn)練了Faster R-CNN 檢測(cè)模型、以DarkNet53[9]為骨干網(wǎng),SGD為優(yōu)化器,訓(xùn)練了YOLOv5 檢測(cè)模型.最后采用檢測(cè)框融合算法將檢測(cè)結(jié)果中的相交檢測(cè)框融合處理后,再計(jì)算檢測(cè)模型的查準(zhǔn)率、召回率.訓(xùn)練中采用的超參數(shù)如表2 所示.
表2 模型的超參數(shù)Tab.2 Hyper-parameters of these models
3.4 實(shí)驗(yàn)結(jié)果分析每個(gè)模型在不同標(biāo)注方法下的實(shí)驗(yàn)結(jié)果如表3 所示.通過實(shí)驗(yàn)結(jié)果發(fā)現(xiàn):Faster R-CNN 相較于YOLOv5 具有更高的召回率,但其查準(zhǔn)率也更低;而在Faster R-CNN 模型中,相較于VGG16,以Res101 為骨干網(wǎng)具有更高的召回率,而查準(zhǔn)率則略微下降;用分層嵌套標(biāo)注的樣本進(jìn)行訓(xùn)練后,YOLOv5 和Faster R-CNN 在查準(zhǔn)率幾乎不變的同時(shí)提高了模型的召回率;而Faster R-CNN+Res101 的召回率達(dá)到了所有實(shí)驗(yàn)的最大值,84.61%.
表3 不同標(biāo)注方法下不同模型的實(shí)驗(yàn)結(jié)果Tab.3 Experimental results of different models with different annotation methods %
結(jié)合實(shí)際中變電站對(duì)金屬銹蝕檢測(cè)需求和處理流程,對(duì)實(shí)驗(yàn)結(jié)果做進(jìn)一步分析:
(1)YOLOv5 模型雖然具有最高的查準(zhǔn)率,但同時(shí)也具有最低的召回率.而在實(shí)際應(yīng)用中,往往需要對(duì)模型的檢測(cè)結(jié)果進(jìn)行人工復(fù)核.因此,相較于擁有更高的查準(zhǔn)率,實(shí)際應(yīng)用中更傾向于銹蝕檢測(cè)模型能夠擁有更高的召回率,盡可能不要出現(xiàn)銹蝕的遺漏.
(2)在Faster R-CNN 中,Res101 在查準(zhǔn)率略低于VGG16 的情況下,其召回率卻更高.因?yàn)镽es101 模型結(jié)構(gòu)相較于VGG16 擁有更多的卷積層,也更加復(fù)雜,因此也能學(xué)習(xí)到更多的特征.因此,在同一檢測(cè)框架中,骨干網(wǎng)的特征提取能力越強(qiáng),銹蝕檢測(cè)效果則越好.
(3)采用分層嵌套標(biāo)注后,各個(gè)模型的召回率相較其他兩個(gè)方案都得到了提高,如圖8 所示.
圖8 不同標(biāo)注方法下不同模型的召回率Fig.8 The recall of each model with different annotation method
實(shí)驗(yàn)中使用的模型都是基于區(qū)域建議的目標(biāo)檢測(cè)模型,即通過預(yù)定義不同形狀尺寸的anchor來檢測(cè)不同形狀尺寸的目標(biāo).因此,相較于方法①(盡可能使用小的標(biāo)注框),分層嵌套標(biāo)注法增加了較大標(biāo)注框的數(shù)量.其在不影響小尺寸anchor 的檢測(cè)能力的同時(shí),提高了大尺寸anchor 的檢測(cè)能力,進(jìn)而提高了模型的綜合檢測(cè)能力.相較于方法②同理.最終,采用分層嵌套標(biāo)注后,模型的檢測(cè)效果會(huì)得到提升.綜上所示,采用分層嵌套標(biāo)注方法的Faster R-CNN+Res101 模型檢測(cè)效果最好,其部分銹蝕檢測(cè)結(jié)果如圖9 所示.
圖9 Faster R-CNN+Res101 檢測(cè)結(jié)果Fig.9 Outputs results of Faster R-CNN+Res101
本文提出了一種新型的分層嵌套標(biāo)注方法,確定了銹蝕樣本的標(biāo)注標(biāo)準(zhǔn)并解決了標(biāo)注結(jié)果不一致的問題.同時(shí),針對(duì)檢測(cè)結(jié)果嵌套的現(xiàn)象,僅需要對(duì)其進(jìn)行簡單后處理即可解決.采用該方法后,各模型的銹蝕檢測(cè)能力均得到了提高,為銹蝕等其他不規(guī)則樣本的數(shù)據(jù)標(biāo)注提供了新思路,下一步可以應(yīng)用于變電站巡檢機(jī)器人平臺(tái),實(shí)現(xiàn)對(duì)銹蝕等變電設(shè)備缺陷的智能檢測(cè).