楊景崳,辛 巍,劉 全,劉曉華,孫忠慧,張治國,劉文超,王沐東,付思詩
(1.國網(wǎng)湖北省電力有限公司 超高壓公司,武漢 430050;2.浙江大學(xué) 濱江研究院,杭州 310000)
電力供應(yīng)是生產(chǎn)生活的重要保障。我國輸電線線路眾多,覆蓋廣泛,因此基層巡檢、運(yùn)維成本都面臨著極大的挑戰(zhàn),迫切需要一種自動(dòng)化與智能化檢測技術(shù)來改變這一現(xiàn)狀[1-2]。近年來,越來越多的研究嘗試將人工智能應(yīng)用于電力設(shè)備的運(yùn)維以期達(dá)到高通量檢測、自動(dòng)化篩選故障點(diǎn)用以提高檢測效率、降低運(yùn)維成本[3]。主要使用計(jì)算機(jī)視覺算法來分析輸電線路航拍圖像,以識(shí)別圖像中關(guān)鍵部件的缺陷類型并進(jìn)行準(zhǔn)確定位作為目標(biāo)。目前,如何對(duì)輸電線路關(guān)鍵部件視覺缺陷進(jìn)行準(zhǔn)確檢測仍是關(guān)鍵問題之一[4-5]。其中,在輸電線路中用于固定、連接的螺栓部件在人為或者環(huán)境的影響下經(jīng)常會(huì)出現(xiàn)螺栓損壞故障,輕則引發(fā)輸電線路部分組件脫落的故障,重則引發(fā)重大電網(wǎng)事故[6-7],因此對(duì)輸電線路中螺栓檢測對(duì)于輸電線路運(yùn)維具有重大意義。
輸電線路螺栓故障檢測技術(shù)主要是將計(jì)算機(jī)視覺算法做為技術(shù)基礎(chǔ),輸電線路無人機(jī)巡檢圖像作為待檢測對(duì)象,以識(shí)別圖像中螺栓缺陷目標(biāo)[8]?;谏疃葘W(xué)習(xí)的目標(biāo)檢測模型目前是處理輸電線路巡檢圖像的最優(yōu)選擇[9]。為了將深度學(xué)習(xí)模型用于輸電線路關(guān)鍵部件缺陷檢測,首先需要構(gòu)建完備的關(guān)鍵部件缺陷數(shù)據(jù)集用于訓(xùn)練和測試。在無人機(jī)將航拍圖像傳回之后,使用數(shù)據(jù)集訓(xùn)練搭建好的深度學(xué)習(xí)模型即可完成各類缺陷檢測任務(wù)[10]。
對(duì)于輸電線路螺栓檢測方法,主要依靠無人機(jī)巡檢技術(shù)、圖像處理、深度學(xué)習(xí)的圖像識(shí)別技術(shù)實(shí)現(xiàn)螺栓檢測。檢測流程通過無人機(jī)對(duì)輸電線路巡檢,獲得輸電線路的高清圖像,再通過人工或圖像處理等方式對(duì)無人機(jī)巡檢圖像中的螺栓進(jìn)行檢查[11-14]。近幾年,隨著深度學(xué)習(xí)技術(shù)和無人機(jī)技術(shù)的快速發(fā)展。有監(jiān)督學(xué)習(xí)的目標(biāo)檢測被廣泛應(yīng)用到螺栓檢測任務(wù)中。通過SSD[15]和YOLOv3[16]目標(biāo)檢測模型對(duì)螺栓進(jìn)行有監(jiān)督學(xué)習(xí),先對(duì)關(guān)鍵掛點(diǎn)部位進(jìn)行有監(jiān)督學(xué)習(xí),再對(duì)掛點(diǎn)中的螺栓目標(biāo)進(jìn)行有監(jiān)督學(xué)習(xí),同時(shí)依靠數(shù)據(jù)增強(qiáng)方法,提高了螺栓檢測的準(zhǔn)確率。利用AdaBoost和與或圖基于Haar特征建立螺栓開口銷分類器,但是這方法對(duì)螺栓角度和亮度變化魯棒性差[17]。通過有監(jiān)督學(xué)習(xí)訓(xùn)練兩次特征金字塔分別提取可能螺栓缺失開口銷的區(qū)域和螺栓缺失開口銷的區(qū)域,再通過DBSCAN[18]對(duì)螺栓銷釘缺失進(jìn)行目標(biāo)檢測。使用基于注意機(jī)制的弱監(jiān)督螺栓檢測模型[19],提升了螺栓檢測的精度。應(yīng)用知識(shí)圖譜和知識(shí)特征融合方法提升螺栓和螺母分類任務(wù)的準(zhǔn)確率和召回率[20]。
但是,由于目前螺栓故障檢測技術(shù)仍不能保證具有較高的識(shí)別準(zhǔn)確率,故該工作主要采用計(jì)算機(jī)視覺螺栓故障檢測技術(shù)輔助加人工復(fù)檢,人工復(fù)檢工作量仍然很大。目前在所有關(guān)于輸電線路螺栓檢測的研究主要中存在三點(diǎn)問題。第一,所有研究均使用少量的有標(biāo)簽的自建數(shù)據(jù)集進(jìn)行螺栓檢測相關(guān)任務(wù)的有監(jiān)督學(xué)習(xí)和驗(yàn)證。第二,少量的標(biāo)注數(shù)據(jù)導(dǎo)致了大量的巡檢原始數(shù)據(jù)沒有被模型學(xué)習(xí),造成了訓(xùn)練數(shù)據(jù)集資源的浪費(fèi)。第三,若對(duì)大量的原始數(shù)據(jù)進(jìn)行標(biāo)注,需要花費(fèi)極大的時(shí)間和人力成本才能完成這一項(xiàng)漫長而又艱巨的標(biāo)注任務(wù)[19]。
針對(duì)以上輸電線路螺栓檢測有監(jiān)督學(xué)習(xí)通常依賴大量標(biāo)注數(shù)據(jù)以達(dá)到較好的性能的問題。本文采用自監(jiān)督學(xué)習(xí)方法從大量的無標(biāo)簽螺栓數(shù)據(jù)中獲取螺栓信息有很大價(jià)值。自監(jiān)督學(xué)習(xí)通過學(xué)習(xí)大量無標(biāo)簽數(shù)據(jù)的內(nèi)存在特征,SimCLR[21]和MoCo[22-24]自監(jiān)督學(xué)習(xí)通過拉大不同樣本的之間的距離實(shí)現(xiàn)和縮小同一樣本內(nèi)的距離,學(xué)習(xí)數(shù)據(jù)集的內(nèi)在特征實(shí)現(xiàn)自監(jiān)督學(xué)習(xí)。該方法需要需要保證數(shù)據(jù)集中不同類別數(shù)據(jù)量的均衡,但是對(duì)于螺栓異常檢測負(fù)樣本是極少的。直到BYOL[25]自監(jiān)督學(xué)習(xí)方法的出現(xiàn),不再需要數(shù)據(jù)均衡,可以學(xué)習(xí)數(shù)據(jù)分布及內(nèi)在特征。該方法對(duì)于螺栓檢測樣本及不均衡的場景十分適用。最近,最先進(jìn)的自監(jiān)督學(xué)習(xí)框架DINO[26]基于BYOL方法和先進(jìn)的視覺Transformer[27]主干網(wǎng)絡(luò)在大模型預(yù)訓(xùn)練任務(wù)中展現(xiàn)出了很好的表現(xiàn)。
本文針對(duì)數(shù)據(jù)集資源浪費(fèi)的問題,為了充分利用無標(biāo)簽的螺栓數(shù)據(jù)集資源,首次提出使用自監(jiān)督學(xué)習(xí)進(jìn)行螺栓檢測大模型預(yù)訓(xùn)練方法,并驗(yàn)證自監(jiān)督學(xué)習(xí)在螺栓檢測預(yù)訓(xùn)練的效果。首先通過有監(jiān)督學(xué)習(xí)目標(biāo)檢測方法獲得115萬張無標(biāo)簽螺栓數(shù)據(jù)。然后使用無監(jiān)督學(xué)習(xí)的方式預(yù)訓(xùn)練螺栓檢測大模型。最后通過預(yù)訓(xùn)練大模型生成螺栓注意圖,驗(yàn)證了自監(jiān)督學(xué)習(xí)在螺栓大模型預(yù)訓(xùn)練中可以學(xué)習(xí)并關(guān)注到有效的螺栓特征。
為了驗(yàn)證預(yù)訓(xùn)練大模型在螺栓檢測任務(wù)中的效果,建立了螺栓分類任務(wù)數(shù)據(jù)集和螺栓圖像檢索數(shù)據(jù)集。通過下游任務(wù)的有監(jiān)督學(xué)習(xí),驗(yàn)證了自監(jiān)督螺栓預(yù)訓(xùn)練大模型,在螺栓分類任務(wù)和螺栓圖像檢索任務(wù)中效果優(yōu)于傳統(tǒng)的有監(jiān)督學(xué)習(xí)。
總之,本文在螺栓檢測領(lǐng)域主要有4個(gè)方面的貢獻(xiàn):1)證明了使用大量無標(biāo)注螺栓圖像數(shù)據(jù)集的自監(jiān)督學(xué)習(xí)在輸電線路螺栓、螺母異常檢測中是有效的。2)實(shí)驗(yàn)結(jié)果表明該方法在下游螺栓狀態(tài)分類任務(wù)和螺栓圖像檢索任務(wù)中都有很好的表現(xiàn)。3)實(shí)驗(yàn)結(jié)果對(duì)比了各種計(jì)算機(jī)視覺結(jié)構(gòu),顯示了ViT在螺栓異常檢測中的優(yōu)越性,ViT-B/8在分類任務(wù)中表現(xiàn)最好,ViT-S/8在檢索任務(wù)中由于ResNet50。4)展示了模型在自監(jiān)督學(xué)習(xí)過程中學(xué)習(xí)到的螺栓特征。
該研究根據(jù)輸電線路原始數(shù)據(jù)特點(diǎn)和自監(jiān)督學(xué)習(xí)方法對(duì)輸電線路螺栓螺母檢測方法進(jìn)行設(shè)計(jì)。首先獲取螺栓數(shù)據(jù)集,包括螺栓原始數(shù)據(jù)集、單圖無標(biāo)簽螺栓數(shù)據(jù)螺栓分類數(shù)據(jù)集、螺栓圖像檢索數(shù)據(jù)集。然后使用自監(jiān)督學(xué)習(xí)DINO訓(xùn)練螺栓預(yù)訓(xùn)練大模型。最后驗(yàn)證該算法在螺栓遷移學(xué)習(xí)和螺栓圖像檢索任務(wù)中的有效性。
螺栓數(shù)據(jù)集獲取包括原始數(shù)據(jù)的采集,為了使自監(jiān)督模型學(xué)習(xí)到更廣泛的螺栓場景,充分利用所能獲取的輸電線路螺栓數(shù)據(jù),通過標(biāo)注少量的螺栓目標(biāo)檢測數(shù)據(jù)集,使用Yolo訓(xùn)練螺栓目標(biāo)檢測模型,用于提取單圖無標(biāo)簽螺栓數(shù)據(jù)。使用Yolo模型推理出大量單圖無標(biāo)簽螺栓數(shù)據(jù)用于自監(jiān)督學(xué)習(xí)大模型訓(xùn)練。螺栓分類數(shù)據(jù)集、螺栓圖像檢索數(shù)據(jù)集分別用于驗(yàn)證自監(jiān)督預(yù)訓(xùn)練模型在螺栓分類任務(wù)中和螺栓檢索任務(wù)的有效性。DINO是目前表現(xiàn)最好的自監(jiān)督學(xué)習(xí)方法,首次獲取無標(biāo)簽螺栓數(shù)據(jù)集在自監(jiān)督模型上訓(xùn)練螺栓預(yù)訓(xùn)練大模型。
因此本文的研究思路是基于自監(jiān)督學(xué)習(xí)的輸電線路螺栓螺母檢測算法,實(shí)現(xiàn)螺栓檢測大模型的訓(xùn)練,并提升算法的準(zhǔn)確率。
圖1 算法整體研究流程
2.1.1 原始數(shù)據(jù)集來源
本文采用的原始數(shù)據(jù)集有3個(gè)來源,分別為中國電網(wǎng)公司提供的真實(shí)輸電線路無人機(jī)巡檢圖像、輸電線路人工采集圖像和輸電線路零件圖像。輸電線路無人機(jī)巡檢圖像是使用像素為2 000 W、焦距為8.8 mm、光圈為f/3.2的高清攝像機(jī)在距離輸電線路塔1.5~3 m的距離上拍攝的像素大小為547 236 48的輸電塔圖像。采用無人機(jī)定點(diǎn)巡航或人工飛行無人機(jī)進(jìn)行拍攝。每個(gè)輸電塔用固定拍攝位置,主要對(duì)地線掛點(diǎn)、絕緣子上掛點(diǎn)、絕緣子下掛點(diǎn)進(jìn)行拍攝。拍攝距離在1.5~3 m之間。輸電線路人工采集圖像是將輸電線路各部件組裝,人工制造模擬不同的螺栓狀態(tài)進(jìn)行拍攝的圖像。拍攝相機(jī)參數(shù)與無人機(jī)巡檢圖像保持一致。首先將絕緣子下掛點(diǎn)和底線掛點(diǎn)懸掛在空中,模擬實(shí)現(xiàn)螺栓狀態(tài)多種狀態(tài),包括螺栓松動(dòng)、螺栓平扣、螺栓欠扣、缺螺母等狀態(tài)。然后由人工手持無人機(jī)模擬無人機(jī)飛行。最后在一組固定點(diǎn)位進(jìn)行拍攝,點(diǎn)位分別為間隔角度為30度,和上、中、下3個(gè)視角進(jìn)行拍攝。一組螺栓圖像為36張圖像。拍攝時(shí)間包括造成、中午、傍晚,模擬了不同光照角度的信息。拍攝天氣為自然天氣,包括晴天、陰天、小雨天氣,增加了天氣對(duì)檢測數(shù)據(jù)信息。輸電線路零件圖像是將多個(gè)包含螺栓的輸電線路零部件擺放在一起進(jìn)行拍攝的圖像。拍攝方法與輸電線路人工采集圖像方法相同。
圖2 輸電線路螺栓原始數(shù)據(jù),真實(shí)的輸電線路無人機(jī)巡檢圖像(左)、輸電線路人工采集圖像(中)、輸電線路零部件圖像(右)
真實(shí)的輸電線路無人機(jī)巡檢圖像可以保留數(shù)據(jù)的實(shí)際應(yīng)用場景信息,輸電線路人工采集圖像和輸電線路零部件圖像通過模型不同的螺栓狀態(tài)、拍攝角度、自然環(huán)境的光照強(qiáng)度豐富了螺栓的數(shù)據(jù)信息,并添了一定的噪音,可以適當(dāng)?shù)沫h(huán)境模型學(xué)習(xí)過程的過擬合現(xiàn)象。
從原始圖像中獲得單獨(dú)的螺栓圖像用于自監(jiān)督學(xué)習(xí),本文使用目標(biāo)檢測模型從原始數(shù)據(jù)集檢測螺栓圖像。首先通過人工標(biāo)注的方式,在原始圖像為3通道的RGB圖像i∈R3×H0×W0中使用矩形框?qū)⒙菟?biāo)注。然后訓(xùn)練一個(gè)螺栓的目標(biāo)檢測模型,本文采用Yolo[28-30]進(jìn)行訓(xùn)練。最后對(duì)原始數(shù)據(jù)進(jìn)行推理,從原始數(shù)據(jù)中裁剪出所有檢測到的螺栓。Yolo的網(wǎng)絡(luò)結(jié)構(gòu)主要由4個(gè)部分構(gòu)成,分別為輸入端、骨干網(wǎng)絡(luò) Backbone、強(qiáng)特征提取網(wǎng)絡(luò) Neck 以及預(yù)測網(wǎng)絡(luò) Prediction 這4個(gè)部分構(gòu)成。輸入端采用 Mosaic 數(shù)據(jù)增強(qiáng)方法的同時(shí),融合了 Mixup 數(shù)據(jù)增強(qiáng)方法,通過隨機(jī)縮放、隨機(jī)裁剪、隨機(jī)排布、不同圖片加權(quán)融合等方式對(duì)圖片進(jìn)行拼接,豐富了數(shù)據(jù)的多樣性,可提升小目標(biāo)的檢測效果。
bboxn=yolo(i)n=0,1,…,N
(1)
ib=crop(i,bboxn,ratio)
(2)
其中:yolo為螺栓目標(biāo)檢測模型,bboxn為識(shí)別到的螺栓框其形狀為N×4,N為識(shí)別到的螺栓數(shù)量,4為[x1,y1,x2,y2]表示識(shí)別螺栓框的坐標(biāo),x1,y1為原始圖像i的左上角坐標(biāo),x2,y2為原始圖像i的右下角坐標(biāo),crop為從圖像i裁剪螺栓方法,ratio為在1到1.1之間隨機(jī)取值的螺栓圖像坐標(biāo)放大比率。ib為無標(biāo)簽的螺栓數(shù)據(jù)集。
2.1.2 螺栓狀態(tài)分類數(shù)據(jù)集
螺栓狀態(tài)分類數(shù)據(jù)集用于預(yù)訓(xùn)練模型的遷移學(xué)習(xí)和有監(jiān)督學(xué)習(xí)。螺栓的狀態(tài)由開口銷、單螺母和雙螺母的狀態(tài)組成,狀態(tài)有3種形式分別為存在、不存在、未知。通過人工識(shí)別對(duì)螺栓的狀態(tài)進(jìn)行標(biāo)注。
2.1.3 螺栓圖像檢索數(shù)據(jù)集
通過對(duì)輸電線路巡檢的圖像中的螺栓進(jìn)行分析,將螺栓按照不同位置和不同作用劃分為6種螺栓類型。6種螺栓分別為:塔身垂直螺栓、塔身U型螺栓、活動(dòng)件水平螺栓、活動(dòng)件垂直螺栓,地線掛點(diǎn)線夾螺栓、絕緣子下掛點(diǎn)線夾螺栓。每種類別的螺栓按照?qǐng)D片清晰度又分為清晰螺栓和模糊螺栓。
2.2.1 DINO自監(jiān)督框架
DINO自監(jiān)督學(xué)習(xí)框架是目前最先進(jìn)的自監(jiān)督學(xué)習(xí)框架,本文首次將DINO自監(jiān)督學(xué)習(xí)框架應(yīng)用輸電線路螺栓檢測任務(wù)中。DINO[31],該方式的網(wǎng)絡(luò)結(jié)構(gòu)包含兩個(gè)結(jié)構(gòu)完全相同的網(wǎng)絡(luò)結(jié)構(gòu),一個(gè)作為學(xué)生網(wǎng)絡(luò)一個(gè)作為教師網(wǎng)絡(luò)。
圖3 DINO螺栓自監(jiān)督框架結(jié)構(gòu)圖
知識(shí)蒸餾的學(xué)習(xí)方法通過訓(xùn)練學(xué)生網(wǎng)絡(luò)g(θs),將訓(xùn)練結(jié)果匹配給教師網(wǎng)絡(luò)g(θt),分別用θs和θt參數(shù)化。給定一個(gè)無標(biāo)簽的螺栓圖像數(shù)據(jù)集ib作為輸入,學(xué)生網(wǎng)絡(luò)教師網(wǎng)絡(luò)分別輸出K維向量,通過softmax函數(shù)進(jìn)行歸一化得到學(xué)生網(wǎng)絡(luò)輸出的概率向量和老師網(wǎng)絡(luò)輸出的概率向量,分別用Ps和Pt表示。
(3)
(4)
其中:τs和τt分別為學(xué)生網(wǎng)絡(luò)的溫度參數(shù)和教師網(wǎng)絡(luò)的溫度參數(shù)。
損失函數(shù)為:
loss=-Pt(i)logPs(i)
(5)
通過模型不斷學(xué)習(xí),得到使loss最小的θs作為螺栓自監(jiān)督與訓(xùn)練模型參數(shù)。
2.2.2 ViT主干網(wǎng)絡(luò)
ViT[32]主干網(wǎng)絡(luò)是DINO自監(jiān)督框架中教師網(wǎng)絡(luò)和學(xué)生學(xué)生網(wǎng)絡(luò)常用的結(jié)構(gòu)。該研究主要對(duì)比了不同規(guī)格的ViT和ResNet50的在螺栓螺母檢測任務(wù)中的精度表現(xiàn)。ViT將Transformer模型從自然語言處理NLP成功應(yīng)用計(jì)算機(jī)視覺領(lǐng)域,并取得非常優(yōu)秀的成績。該網(wǎng)絡(luò)參考文本處理方法,將圖片分割成非重疊連續(xù)N個(gè)圖像塊,每個(gè)圖像小塊的分辨率為 或。將每個(gè)圖像塊通過一個(gè)線性層映射成N個(gè)向量,并和一個(gè)可學(xué)習(xí)的向量組成一個(gè)(N+1)D的向量,同時(shí)在向量中添加圖像塊位置信息后,將向量序列輸入到Transformer中進(jìn)行計(jì)算輸出圖像編碼。
遷移學(xué)習(xí)將DINO得到的螺栓預(yù)訓(xùn)練大模型后添加一個(gè)可學(xué)習(xí)的多層感知機(jī)MLP用來學(xué)習(xí)一個(gè)特定的螺栓分類任務(wù)。螺栓分類任務(wù)通過標(biāo)注少量的螺栓分類數(shù)據(jù)集,在螺栓預(yù)訓(xùn)練大模型的基礎(chǔ)上訓(xùn)練。經(jīng)過遷移學(xué)習(xí)后,得到螺栓圖像的特征向量fi。
fi=MLP(gθs(i)),fi∈RN*M
(6)
其中:M為分類任務(wù)的類別數(shù)量,fi經(jīng)過softmax函數(shù)得到分類的概率Pi。
(7)
損失函數(shù)采用CE(Cross Entropy)[34]進(jìn)行計(jì)算。具體而言,每一類的預(yù)測標(biāo)簽與標(biāo)注標(biāo)簽計(jì)算CE損失。
圖像特征向量的高效表示是圖像檢索的一個(gè)重要基礎(chǔ),使用DINO得到的螺栓預(yù)訓(xùn)練大模型得到螺栓圖像特征向量進(jìn)行圖像檢索。采用K最近鄰(K-Nearest Neighbor,KNN)KNN[33]方法進(jìn)行圖像檢索。將螺栓圖像檢索數(shù)據(jù)集中的圖像經(jīng)過螺栓預(yù)訓(xùn)練大模型得到螺栓圖像的特征向量。K最近鄰檢索通過在螺栓圖像檢索數(shù)據(jù)集中查找與查詢螺栓特征向量距離最近的向量來獲得相同類型的螺栓圖像。螺栓圖像特征向量之間的距離采用余弦相似度方法計(jì)算。
本研究將自監(jiān)督學(xué)習(xí)應(yīng)用到輸電線路螺栓檢測任務(wù)中,并驗(yàn)證自監(jiān)督學(xué)習(xí)在輸電線路螺栓檢測任務(wù)中的效果。首先完成數(shù)據(jù)集的建立,包括螺栓無監(jiān)督學(xué)習(xí)數(shù)據(jù)集、遷移學(xué)習(xí)數(shù)據(jù)集、螺栓檢索數(shù)據(jù)集。然后通過自監(jiān)督學(xué)的視覺表征特征驗(yàn)證自監(jiān)督學(xué)習(xí)在輸電線路中螺栓特征的學(xué)習(xí)效果。最后使用自監(jiān)督學(xué)的螺栓預(yù)訓(xùn)練大模型在螺栓分類任務(wù)和螺栓檢索任務(wù)中進(jìn)行對(duì)比實(shí)驗(yàn)。
3.1.1 自監(jiān)督無標(biāo)簽數(shù)據(jù)集
為了從原始數(shù)據(jù)獲得大量的自監(jiān)督無標(biāo)簽的螺栓數(shù)據(jù)集,使用少量標(biāo)注數(shù)據(jù)進(jìn)行有監(jiān)督訓(xùn)練目標(biāo)檢測模型,再使用模型對(duì)原始圖像推理,最后獲得大量的無標(biāo)注螺栓圖像。人工標(biāo)注12 302張?jiān)紙D像中的螺栓,使用yolo模型進(jìn)行訓(xùn)練。batch size設(shè)置為240,使用CSPResNeXt50主干網(wǎng)絡(luò)在單機(jī)8個(gè)A100 GPU上進(jìn)行訓(xùn)練。優(yōu)化器使用Adam。學(xué)習(xí)率采用cosine衰減策略。訓(xùn)練100個(gè)epoch。訓(xùn)練環(huán)境配置及參數(shù),本實(shí)驗(yàn)使用Python 3.7、PyTorch 1.7.1、 CUDA 11.0、 torchvision 0.8.1環(huán)境進(jìn)行有監(jiān)督學(xué)習(xí)訓(xùn)練。
圖4 原始圖像螺栓檢測結(jié)果
對(duì)檢測到的螺栓進(jìn)行摳圖,獲得115萬輸電線路單螺栓圖像,用于DINO框架下的自監(jiān)督學(xué)習(xí)。在螺栓摳圖的過程中,將螺栓圖像長和寬各放大1.1倍,使螺栓位于圖像中央。通過該方式獲的數(shù)據(jù)數(shù)量多,螺栓類型多樣,螺栓數(shù)據(jù)與真實(shí)數(shù)據(jù)一致。
3.1.2 螺栓狀態(tài)有標(biāo)簽數(shù)據(jù)集
為了減少人工標(biāo)注成本,僅挑選出小部分螺栓圖像進(jìn)行人工標(biāo)注,將標(biāo)注的圖像用于有監(jiān)督學(xué)習(xí)和遷移學(xué)習(xí)任務(wù)。第一行到第六行分別標(biāo)注為單螺母存在、開口銷存在、雙螺母存在、單螺母未知、開口銷未知、雙螺母未知。
圖5 螺栓狀態(tài)分類數(shù)據(jù)集
3.1.3 螺栓圖像檢索驗(yàn)證集
為了驗(yàn)證自監(jiān)督螺栓預(yù)訓(xùn)練大模型在檢索任務(wù)中的效果,建立螺栓圖像檢索數(shù)據(jù)集。通過人工篩選了6類螺栓數(shù)據(jù)用于圖像檢索任務(wù),每類螺栓數(shù)據(jù)分為清晰和模糊兩個(gè)類別。清晰和模糊的標(biāo)準(zhǔn)按照是否可以看清螺栓中每個(gè)部件的邊緣輪廓進(jìn)行區(qū)分。6類螺栓為輸電線路中常見的螺栓圖像,包括雙螺母螺栓、單螺母螺栓、開口銷螺栓,其中雙螺母螺栓包括塔身垂直螺栓、塔身U型螺栓,單螺母螺栓包括地線掛點(diǎn)線夾螺栓、絕緣子下掛點(diǎn)線夾螺栓,開口銷螺栓包括活動(dòng)件螺栓(水平方向),活動(dòng)件螺栓(豎直方向)。每個(gè)類別螺栓數(shù)據(jù)分布如表2,清晰螺栓每個(gè)類別為數(shù)量為1 332張2 632張圖像,模糊類別的螺栓數(shù)數(shù)量為63到1 344張圖像。如圖6,數(shù)據(jù)集中包含6個(gè)類別螺栓的查詢圖像(左側(cè)第一列)和清晰圖像(中間部分)與模糊圖像(右側(cè)部分),圖中從上到下6列分別為地線掛點(diǎn)線夾螺栓、活動(dòng)件螺栓(豎直方向)、絕緣子下掛點(diǎn)線夾螺栓、塔身U型螺栓、活動(dòng)件螺栓(水平方向)、塔身垂直螺栓。通過每類螺栓的查詢圖像檢索該類別螺栓圖像。
表1 螺栓狀態(tài)分類數(shù)據(jù)集標(biāo)簽分布
表2 螺栓圖像檢索數(shù)據(jù)集標(biāo)簽分布
表3 不同backbone和不同遷移學(xué)習(xí)任務(wù)的acc結(jié)果
圖6 螺栓檢索數(shù)據(jù)集
圖7 螺栓自監(jiān)督學(xué)習(xí)注意力圖
使用沒有標(biāo)簽的螺栓數(shù)據(jù)集對(duì)模型進(jìn)行預(yù)訓(xùn)練。batch size設(shè)置為1 024,分別使用resnet50和ViT-S/8主干網(wǎng)絡(luò)在單機(jī)8個(gè)A100 GPU上進(jìn)行訓(xùn)練。優(yōu)化器使用Adamw。學(xué)習(xí)率在前10個(gè)epochs使用線性上升策略從0至0.002。其中0.002使用Lr = 0.000 5 * batchsize/256計(jì)算方法獲得,在10個(gè)epochs后采用cosine衰減策略,權(quán)重衰減采用從0.04到0.4的cosine 衰減策略。學(xué)生網(wǎng)絡(luò)的溫度參數(shù)設(shè)置為0.1,教師網(wǎng)絡(luò)的溫度參數(shù)前30個(gè)epochs采用0.04到0.07的線性變化。訓(xùn)練環(huán)境配置及參數(shù),本實(shí)驗(yàn)使用Python 3.6、PyTorch 1.7.1、 CUDA 11.0、 torchvision 0.8.2環(huán)境進(jìn)行系監(jiān)督學(xué)習(xí)訓(xùn)練。
使用螺栓自監(jiān)督預(yù)訓(xùn)練大模型,對(duì)雙螺母螺栓、水平視角螺栓、垂直視角螺栓圖片進(jìn)行推理獲得螺栓圖片注意力圖。從注意力圖中可以看出,基于DINO的自監(jiān)督螺栓預(yù)訓(xùn)練大模型可以學(xué)習(xí)到螺栓的特征。圖6中上層結(jié)果為雙螺母螺栓結(jié)果,中間層結(jié)果為水平視角的螺栓、底層為豎直方向的螺栓。觀察實(shí)驗(yàn)結(jié)果可知,模型能很好的學(xué)習(xí)到兩個(gè)螺母、螺栓桿、螺帽、連接件的特征。說明DINO對(duì)于螺栓自監(jiān)督學(xué)習(xí)具有很好的效果。
為了驗(yàn)證自監(jiān)督預(yù)訓(xùn)練的效果,采用5種backbone進(jìn)行自監(jiān)督預(yù)訓(xùn)練實(shí)驗(yàn)。5種backbone分別為Resnet50[36]、ViT-S/16、ViT-S/8、ViT-B/16、ViT-B/8。遷移學(xué)習(xí)任務(wù)分別為開口銷狀態(tài)分類、單螺母狀態(tài)分類、雙螺母狀態(tài)分類。在表中比較了5中主干網(wǎng)絡(luò)在自監(jiān)督預(yù)訓(xùn)練遷移學(xué)習(xí)和有監(jiān)督學(xué)習(xí)條件下開口銷狀態(tài)、單螺母狀態(tài)、雙螺母狀態(tài)的準(zhǔn)確率。準(zhǔn)確率使用acc表示,單位%。
(8)
其中:TP、TV、FP、FN分別為正例預(yù)測正確的數(shù)量、負(fù)例預(yù)測錯(cuò)誤的數(shù)量、負(fù)例預(yù)測正確的數(shù)量、正例預(yù)測錯(cuò)誤的數(shù)量。
可以看出基于Dino的自監(jiān)督螺栓預(yù)訓(xùn)練大模型的遷移學(xué)習(xí)在螺栓狀態(tài)分類任務(wù)中表現(xiàn)優(yōu)于有監(jiān)督學(xué)習(xí)。螺栓預(yù)訓(xùn)練大模型在在分類任務(wù)中相對(duì)于監(jiān)督學(xué)習(xí)準(zhǔn)確率提升了2%到7%,在ViT-B/8的主干網(wǎng)絡(luò)上的自監(jiān)督預(yù)訓(xùn)練遷移學(xué)習(xí)表現(xiàn)最好。
將DINO自監(jiān)督預(yù)訓(xùn)練模型應(yīng)用到螺栓圖像檢索任務(wù)中,將DINO自監(jiān)督預(yù)訓(xùn)練模型參數(shù)凍結(jié),并提取訓(xùn)練數(shù)據(jù)集的螺栓圖像特征。使用KNN方法驗(yàn)證DINO自監(jiān)督預(yù)訓(xùn)練模型獲得的螺栓圖像特征的在檢索任務(wù)中的效果。
為了評(píng)估性能,使用平均精度(AP)度量作為查詢的精度-召回曲線下的面積計(jì)算。精度定義為檢索到的正圖像與檢索到的總圖像數(shù)量之比。召回率定義為檢索到的正例圖像數(shù)量與數(shù)據(jù)集中正例圖像總數(shù)的比值。理想的精度-召回曲線在所有召回級(jí)別上的精度為100%,這對(duì)應(yīng)于平均精度為100%。計(jì)算6類螺栓的每類AP分?jǐn)?shù),將它們平均起來以獲得 (mAP)分?jǐn)?shù)來評(píng)估整體表現(xiàn)。
在自建的螺栓數(shù)據(jù)集中的檢索結(jié)果如表4,通過實(shí)驗(yàn)結(jié)果可知DINO的mAP在ResNet50和ViT-S/8主干網(wǎng)絡(luò)上均比有監(jiān)督學(xué)習(xí)高,清晰圖像檢索任務(wù)比模糊的效果要好。DINO自監(jiān)督預(yù)訓(xùn)練模型在螺栓圖像檢索任務(wù)效果較好,平均精度提升了8%。
表4 螺栓自監(jiān)督大模型檢索任務(wù)結(jié)果
本文提出了一種基于自監(jiān)督學(xué)習(xí)的輸電線路螺栓檢測技術(shù),首次將DINO自監(jiān)督學(xué)習(xí)應(yīng)用到輸電線路螺栓檢測任務(wù)中。從原始輸電線路數(shù)據(jù)中生成無標(biāo)簽螺栓數(shù)據(jù)集、螺栓狀態(tài)分類數(shù)據(jù)集、螺栓圖像檢索驗(yàn)證集。分別在3個(gè)數(shù)據(jù)上完成自監(jiān)督訓(xùn)練、有監(jiān)督螺栓分類遷移學(xué)習(xí)和螺栓圖像檢索任務(wù)實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,自監(jiān)督螺栓預(yù)訓(xùn)練大模型可以學(xué)習(xí)到螺栓的組成特征,并且可以提升下游的分類任務(wù)準(zhǔn)確率,在螺栓檢索任務(wù)效果也有明顯提升。無標(biāo)簽的螺栓數(shù)據(jù)集獲取成本相對(duì)較低,可以獲得更的螺栓數(shù)據(jù)集,通過自監(jiān)督的學(xué)習(xí)方式訓(xùn)練一個(gè)關(guān)于螺栓檢測任務(wù)更通用的螺栓預(yù)訓(xùn)練大模型,為輸電線路的螺栓缺陷檢測提供更實(shí)用的模型基礎(chǔ)。