王 華 張燕超 吳 波 翟象平 魏明強(qiáng)
1江蘇省特種設(shè)備安全監(jiān)督檢驗(yàn)研究院 南京 210036 2南京航空航天大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 南京 211106
起重機(jī)械作為我國(guó)國(guó)民經(jīng)濟(jì)建設(shè)中的重要基礎(chǔ)設(shè)施,在重大工程建設(shè)和重大戰(zhàn)略規(guī)劃的落實(shí)上均發(fā)揮了重要的支撐作用。由于其廣泛分布在各種工業(yè)生產(chǎn)場(chǎng)所,長(zhǎng)期處于高強(qiáng)度、重載荷的運(yùn)行狀態(tài),工作環(huán)境復(fù)雜多變,特別是高溫高壓的易爆環(huán)境或強(qiáng)風(fēng)高濕的露天沿海場(chǎng)所,且作業(yè)人員長(zhǎng)期暴露在其周圍,導(dǎo)致安全事故頻發(fā),給人民群眾的生命財(cái)產(chǎn)安全構(gòu)成極大威脅[1]。
為了降低起重機(jī)設(shè)備發(fā)生事故風(fēng)險(xiǎn),起重機(jī)損傷檢測(cè)已是特種設(shè)備的監(jiān)管的一項(xiàng)重要工作。起重機(jī)的損傷主要包含銹蝕、斷裂、裂紋等[2],本文只關(guān)注起重機(jī)的銹蝕損傷檢測(cè)工作。
起重機(jī)損傷檢測(cè)的主流方法為人工檢測(cè),這種方式勞動(dòng)強(qiáng)度大,高空作業(yè)存在危險(xiǎn)性,且成本昂貴、誤檢率高、效率低下。為了解決上述問題,自動(dòng)化的表面缺陷檢測(cè)法逐步引入到了實(shí)際應(yīng)用中。與人工檢測(cè)方法相比,基于計(jì)算機(jī)視覺的檢測(cè)方法具有高魯棒性、高效率等特點(diǎn)[3-5]。
目前,基于計(jì)算機(jī)視覺的缺陷檢測(cè)方法可分為傳統(tǒng)檢測(cè)方法和深度學(xué)習(xí)檢測(cè)方法2類。傳統(tǒng)檢測(cè)方法依賴手工設(shè)計(jì)的特征提取算子[6-8],針對(duì)特定情境的缺陷進(jìn)行檢測(cè),無(wú)法適用于復(fù)雜的場(chǎng)景變化,魯棒性較差。深度學(xué)習(xí)方法則利用卷積深網(wǎng)絡(luò)層[9,10]從輸入的大量缺陷數(shù)據(jù)中抽象出高維特征,通過多次迭代訓(xùn)練檢測(cè)缺陷。與傳統(tǒng)檢測(cè)算法相比,深度學(xué)習(xí)方法對(duì)缺陷特征描述更貼近真實(shí)情況,魯棒性較好,識(shí)別率高,在工業(yè)場(chǎng)景下得到了越來(lái)越廣泛的應(yīng)用。
本文所涉及的起重機(jī)械金屬結(jié)構(gòu)形狀復(fù)雜,包含箱形梁、工字梁、桁架等多維度平面和三維曲面檢測(cè),不同表面光照差異大、反光強(qiáng)、對(duì)比度低、銹蝕形態(tài)多變(見圖1),同時(shí)也存在物體陰影、黑色背景物等與銹蝕顏色非常相似的特征干擾。另一方面,目前尚無(wú)起重機(jī)銹蝕損傷相關(guān)的公開數(shù)據(jù)集,收集大量的銹蝕損傷相關(guān)圖片并標(biāo)注,特別是標(biāo)注需要細(xì)粒度分割的損傷部位,需要耗費(fèi)大量的人力,進(jìn)一步加大了起重機(jī)銹蝕檢測(cè)的難度。
圖1 起重機(jī)表面銹蝕情況
為解決以上問題,本文提出了一種適應(yīng)起重機(jī)械金屬結(jié)構(gòu)復(fù)雜背景和復(fù)雜表面特征的小樣本銹蝕損傷檢測(cè)算法,旨在對(duì)起重機(jī)金屬結(jié)構(gòu)表面銹蝕損傷進(jìn)行自動(dòng)識(shí)別。對(duì)基于Mixed Supervision For Surface-defect Detection(以下簡(jiǎn)稱MSFSD)的小樣本缺陷檢測(cè)算法進(jìn)行改進(jìn),在MSFSD的卷積層的Block中引入殘差結(jié)構(gòu),解決深層網(wǎng)絡(luò)中的梯度消失的問題,使網(wǎng)絡(luò)更易于收斂。實(shí)驗(yàn)結(jié)果表明,在自建的起重機(jī)小樣本圖像銹蝕數(shù)據(jù)集上,改進(jìn)后的MSFSD算法將模型的平均精度由94.2%提升到了98.1%,檢測(cè)性能得到了有效提升。
隨著深度學(xué)習(xí)技術(shù)的廣泛應(yīng)用,缺陷檢測(cè)任務(wù)中出現(xiàn)了一批基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法。Shang L D等[11]提出了一種需要預(yù)處理的二階段鐵軌缺陷識(shí)別算法,首先使用Canny算子結(jié)合直線擬合算法定位鐵軌區(qū)域并裁剪原始圖像,然后使用Inception V3[12]網(wǎng)絡(luò)對(duì)缺陷圖片進(jìn)行特征提取和分類。為了同時(shí)檢測(cè)多種損傷,Cha Y J等[13]提出一種基于Faster R-CNN的檢測(cè)方法。與傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)相比在檢測(cè)速度上占有很大優(yōu)勢(shì)。Huang Y B等[14]提出MCue Push Unet對(duì)磁瓦表面缺陷進(jìn)行顯著性檢測(cè)。MCue模塊將原始圖像處理為三通道圖像輸入U(xiǎn)net,提升了預(yù)測(cè)結(jié)果的存儲(chǔ)效率。
雖然上述各種深度學(xué)習(xí)方法的缺陷檢測(cè)效果較好,但是需要大量的訓(xùn)練樣本更新網(wǎng)絡(luò)參數(shù),而在工業(yè)界實(shí)際應(yīng)用場(chǎng)景中大部分缺陷樣本屬于少量樣本,無(wú)法滿足上述網(wǎng)絡(luò)需要大量樣本的訓(xùn)練要求。
樣本增廣和數(shù)據(jù)合成是小樣本學(xué)習(xí)常用的2個(gè)手段。樣本擴(kuò)增指的是對(duì)訓(xùn)練樣本采用鏡像、旋轉(zhuǎn)、平移、裁剪、濾波、對(duì)比度調(diào)整等基礎(chǔ)的圖像處理方式增加樣本數(shù)量[15]。在缺陷檢測(cè)領(lǐng)域,數(shù)據(jù)合成是指將單獨(dú)缺陷部分疊加至無(wú)缺陷的負(fù)樣本上構(gòu)成缺陷樣本。由于在圖像生成工作中展現(xiàn)出了卓越的性能,Goodfellow I等[16]、Zhang H D 等[17]和 Chou Y C等[18]也被應(yīng)用到了缺陷樣本生成任務(wù)中。除了以上2種常見的解決方案,Karlinsky L等[19]提出一種基于代表性的度量學(xué)習(xí) (Representative-Based Metric Learning,RepMet) 網(wǎng)絡(luò),通過衡量輸入圖像的嵌入特征向量與目標(biāo)類別表征向量之間的相似性實(shí)現(xiàn)小樣本的檢測(cè)識(shí)別。另外,優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)也可達(dá)到減少訓(xùn)練樣本的目的。Bo?i? J等[20]設(shè)計(jì)了一個(gè)融合分類和分割的多任務(wù)缺陷檢測(cè)網(wǎng)絡(luò)MSFSD,2個(gè)分支共享Backbone提取的特征,在分割網(wǎng)絡(luò)中輸入圖像的每個(gè)像素都被看作訓(xùn)練樣本進(jìn)行訓(xùn)練,故該方式大大增加了有效樣本數(shù)量。在不進(jìn)行預(yù)訓(xùn)練的情況下,在KolektorSDD數(shù)據(jù)集上,整個(gè)網(wǎng)絡(luò)能夠僅利用33張帶有分割標(biāo)簽的缺陷樣本實(shí)現(xiàn)有效訓(xùn)練,并取得了平均精度(Average Precision,AP)100%的缺陷檢測(cè)效果。
鑒于MSFSD網(wǎng)絡(luò)在小樣本缺陷檢測(cè)上取得的顯著效果,本文通過將MSFSD二階段網(wǎng)絡(luò)由類似于VGGNet的結(jié)構(gòu)提升到為類似于ResNet的殘差結(jié)構(gòu)來(lái)實(shí)現(xiàn)起重機(jī)銹蝕檢測(cè),提升其在起重機(jī)小樣本銹蝕損傷中的檢測(cè)性能。
MSFSD是一種二階段的小樣本的表面缺陷檢測(cè)網(wǎng)絡(luò),具有精度高、訓(xùn)練樣本少、無(wú)需預(yù)訓(xùn)練、計(jì)算量小的特性,能在KolektorSDD數(shù)據(jù)集上僅用33張帶有分割標(biāo)簽訓(xùn)練樣本進(jìn)行有效訓(xùn)練,并取得了AP100%的缺陷檢測(cè)效果。
整個(gè)網(wǎng)絡(luò)分為分割網(wǎng)絡(luò)(Segmentation Network)和決策網(wǎng)絡(luò)(Decision Network)2個(gè)部分。其中,分割網(wǎng)絡(luò)提取圖片特征,輸出標(biāo)記缺陷區(qū)域的二元分割圖;決策網(wǎng)絡(luò)對(duì)分割網(wǎng)絡(luò)得到的高維特征做進(jìn)一步提取,最終輸出圖片中是否存在缺陷的判斷結(jié)果。具體網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 MSFSD算法原理及改進(jìn)示意圖
在分割網(wǎng)絡(luò)中,輸入圖像經(jīng)過多組卷積進(jìn)行特征提取,每2個(gè)卷積組之間包含1個(gè)2h2的池化層,將特征尺寸壓縮至原來(lái)的1/2。分割網(wǎng)絡(luò)的前3層采用5h5的卷積核,而最后一層采用15h15卷積核。大尺寸的卷積核能有效增加模型的感受野,適合檢測(cè)高分辨率的輸入圖像。分割網(wǎng)絡(luò)會(huì)對(duì)缺陷圖片進(jìn)行逐像素定位,使用像素級(jí)的Loss有效地將每個(gè)像素視為一個(gè)單獨(dú)的訓(xùn)練樣本,從而增加訓(xùn)練樣本的有效數(shù)量,防止模型出現(xiàn)過擬合現(xiàn)象。因此,為了有效應(yīng)對(duì)小樣本檢測(cè)問題,可提高輸入圖片的分辨率以豐富模型的樣本數(shù)。
分割網(wǎng)絡(luò)的輸出為2個(gè)分支,1個(gè)分支通過1h1的卷積層將1 024個(gè)通道的特征圖壓縮為1個(gè)通道,得到1張只有原圖尺寸1/8大小的分割圖;另一個(gè)分支則直接輸出1 024維的特征圖。
隨后將這2個(gè)分支輸入決策網(wǎng)絡(luò),并級(jí)聯(lián)起來(lái)使用卷積操作進(jìn)一步提取豐富特征,最終得到1個(gè)32通道的特征圖。將該特征圖分別經(jīng)過全局最大值池化和全局平均池化轉(zhuǎn)化為2個(gè)32維的向量,同時(shí)上一階段分割網(wǎng)絡(luò)輸出的分割圖也經(jīng)過全局最大值池化和全局平均池化成2個(gè)標(biāo)量值。將這66個(gè)值級(jí)聯(lián)起來(lái)作為最終提取的特征,再送入全連接層得到1個(gè)標(biāo)量,使用Sigmoid激活函數(shù)將該標(biāo)量轉(zhuǎn)成0~1范圍內(nèi)的數(shù)值表示缺陷出現(xiàn)的可能性,靠近0表示沒有缺陷,靠近1表示有缺陷。
MSFSD的分割網(wǎng)絡(luò)輸出的預(yù)測(cè)圖片分辨率是輸入圖片分辨率的1/8,只能預(yù)測(cè)出缺陷的大致位置與輪廓。MSFSD更關(guān)注的是圖像是否含有缺陷,而不是缺陷的具體大小,這種方式能夠滿足很多工業(yè)實(shí)際場(chǎng)景要求,也讓MSFSD對(duì)標(biāo)注的精度沒有較高的要求,極大地減少了標(biāo)注的工作量,有利于數(shù)據(jù)集的構(gòu)建。
VGGNet是深度卷積神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)非常簡(jiǎn)潔,通過反復(fù)堆疊3h3的小型卷積核和2h2的最大池化層,在當(dāng)時(shí)取得了較好的性能,引起了廣泛的關(guān)注。然而,VGGNet不能很好地?cái)U(kuò)展網(wǎng)絡(luò)深度,隨著層數(shù)不斷加深會(huì)出現(xiàn)深層網(wǎng)絡(luò)梯度消失現(xiàn)象,導(dǎo)致分類預(yù)測(cè)性能的下降。
ResNet的提出成功地解決了上述問題,ResNet使用了一種殘差結(jié)構(gòu)解決了深層網(wǎng)絡(luò)中的梯度消失問題,使得網(wǎng)絡(luò)更易于收斂,突破了VGGNet不能擴(kuò)展到更深層次的限制。借助這些優(yōu)勢(shì)ResNet在ImageNet數(shù)據(jù)集上取得了比VGGNet更高的性能,在當(dāng)前很多場(chǎng)景下基于殘差結(jié)構(gòu)的ResNet已經(jīng)代替VGGNet成為計(jì)算機(jī)視覺領(lǐng)域中的基礎(chǔ)特征提取網(wǎng)絡(luò)。
RepVGG[21]在VGGNet的基礎(chǔ)上結(jié)合了ResNet網(wǎng)絡(luò)的優(yōu)勢(shì)對(duì)VGGNet加以改進(jìn),在VGGNet的Block中加入Identity和Conv1h1殘差分支,使RepVGG-B2在ImageNet上的準(zhǔn)確率比VGG16提升了6.57%。
圖3a為原始的ResNet網(wǎng)絡(luò)結(jié)構(gòu),該網(wǎng)絡(luò)中包含Conv1h1和Identity的殘差結(jié)構(gòu),正是這些殘差結(jié)構(gòu)解決了深層網(wǎng)絡(luò)中的梯度消失問題,使得網(wǎng)絡(luò)更加易于收斂。圖3b為RepVGG訓(xùn)練階段的網(wǎng)絡(luò)結(jié)構(gòu),整個(gè)網(wǎng)絡(luò)的主體結(jié)構(gòu)和ResNet網(wǎng)絡(luò)類似,均包含了殘差結(jié)構(gòu)。2個(gè)網(wǎng)絡(luò)中的主要差異為:1)ResNet中的殘差塊跨越了多層,而RepVGG沒有;2)RepVGG包含2種殘差結(jié)構(gòu),在Stride為2對(duì)特征圖下采樣的Block中僅包含一個(gè)Conv1h1殘差分支,而在特征圖尺寸不變的Block中同時(shí)包含Conv1h1和Identity殘差分支。由于殘差結(jié)構(gòu)具有多個(gè)分支,相當(dāng)于給網(wǎng)絡(luò)增加了多條梯度流動(dòng)的路徑,能更好地處理網(wǎng)絡(luò)深層的梯度消失問題。訓(xùn)練1個(gè)RepVGG結(jié)構(gòu)的網(wǎng)絡(luò),相當(dāng)于同時(shí)訓(xùn)練了多個(gè)網(wǎng)絡(luò),這種類似模型集成的思想在眾多的模型競(jìng)賽中被廣泛使用,有效地提升了模型的性能。
圖3 RepVGG卷積層部分結(jié)構(gòu)圖
在MSFSD中的分割和決策網(wǎng)絡(luò)都采用類似于VGGNet的Plain結(jié)構(gòu),借鑒RepVGG的思想,本文通過引入多分支結(jié)構(gòu)對(duì)MSFSD進(jìn)行改進(jìn),其結(jié)構(gòu)如圖4所示,在每個(gè)卷積層的Block中引入了Conv1h1和Identity殘差結(jié)構(gòu)分支,與RepVGG不同的是,實(shí)驗(yàn)中發(fā)現(xiàn)使用Maxpool2h2的方式對(duì)特征圖進(jìn)行下采樣比使用卷積步長(zhǎng)為2的下采樣方式更優(yōu),原因是Maxpool能在下采樣過程中更有效地保留小而重要的細(xì)節(jié),更有利于小目標(biāo)的特征提取。另外,發(fā)現(xiàn)在決策網(wǎng)絡(luò)最后一層保持原來(lái)的Plain結(jié)構(gòu)效果會(huì)更好,故對(duì)除該層以外的其他每個(gè)卷積層的Block使用上面的殘差結(jié)構(gòu),其具體改進(jìn)如圖2中的紅色虛線框所示,通過在MSFSD的卷積層中引入Conv1h1和Identity殘差結(jié)構(gòu)分支有效地提升MSFSD的損傷檢測(cè)性能。
圖4 改進(jìn)后的MSFSD卷積層部分結(jié)構(gòu)圖
由于目前沒有公開的起重機(jī)銹蝕損傷圖片數(shù)據(jù)集,本文采用現(xiàn)場(chǎng)拍攝的起重機(jī)銹蝕損傷照片作為正樣本,不含銹蝕損傷的起重機(jī)表面圖片為負(fù)樣本。該數(shù)據(jù)集圖片包含起重機(jī)不同部位的銹蝕特征,銹蝕大小與銹蝕程度不一。
數(shù)據(jù)集圖片統(tǒng)一像素大小為768h1 000,對(duì)于帶有銹蝕損傷的正樣本圖像,需要使用Labelme軟件進(jìn)行分割標(biāo)注。起重機(jī)銹蝕損傷通常伴隨著起重機(jī)表面涂層破損,銹蝕部位往往會(huì)呈現(xiàn)黑色或紅棕色,且銹蝕表面較為粗糙。按照該經(jīng)驗(yàn)標(biāo)注結(jié)果如圖5所示。其中圖5a為原始的銹蝕圖片,圖5b為最終的標(biāo)簽圖片,銹蝕區(qū)域用白色標(biāo)注,其像素值為255,背景區(qū)域用黑色標(biāo)注,其像素值為0。在完成所有圖像數(shù)據(jù)的標(biāo)注工作后,將數(shù)據(jù)集劃分為訓(xùn)練集64張,其中正樣本21張,負(fù)樣本43張;驗(yàn)證集80張,其中正負(fù)樣本各40張。只有訓(xùn)練集中的21張正樣本需要做分割標(biāo)注,驗(yàn)證集中的正樣本只需進(jìn)行簡(jiǎn)單的類別標(biāo)注,所有負(fù)樣本都無(wú)需標(biāo)注,且分割標(biāo)簽也無(wú)需精細(xì)標(biāo)注,極大地降低了標(biāo)注難度,減少了標(biāo)注成本。
圖5 起重機(jī)銹蝕損傷情況
本文所涉及的二階段網(wǎng)絡(luò)分為分割網(wǎng)絡(luò)和決策網(wǎng)絡(luò)。其中,分割網(wǎng)絡(luò)采用逐像素的二元交叉熵?fù)p失函數(shù),決策網(wǎng)絡(luò)采用交叉熵?fù)p失函數(shù)。
為了使二階段網(wǎng)絡(luò)實(shí)現(xiàn)端到端的學(xué)習(xí),MSFSD融合了2種Loss,允許進(jìn)行聯(lián)合訓(xùn)練。
式中:Lseg和Lcls為分割網(wǎng)絡(luò)和決策網(wǎng)絡(luò)的Loss;δ為超參數(shù),用來(lái)調(diào)節(jié)決策網(wǎng)絡(luò)的Loss比重,在本實(shí)驗(yàn)中δ被設(shè)為0.1。
由于決策網(wǎng)絡(luò)依賴于分割網(wǎng)絡(luò)提取的特征,故在訓(xùn)練時(shí)需要一個(gè)已經(jīng)相對(duì)穩(wěn)定的分割網(wǎng)絡(luò)。因此,在訓(xùn)練的前期階段加大分割網(wǎng)絡(luò)訓(xùn)練的比重,在訓(xùn)練中期逐漸減少分割網(wǎng)絡(luò)比重同時(shí)增加決策網(wǎng)絡(luò)的比重,形成一個(gè)動(dòng)態(tài)平衡的過程。式(2)中λ為混合因子,用來(lái)平衡2個(gè)網(wǎng)絡(luò)在訓(xùn)練過程中Loss的比重,這里的n為當(dāng)前已訓(xùn)練的Epoch次數(shù),Total_Epoch表示設(shè)定的整個(gè)訓(xùn)練的Epoch次數(shù)。在訓(xùn)練的開始階段λ值較大,代表此時(shí)網(wǎng)絡(luò)會(huì)著重關(guān)注分割部分的訓(xùn)練。隨著已訓(xùn)練次數(shù)n的增加,決策網(wǎng)絡(luò)的Loss所占比重也會(huì)增加,此時(shí)會(huì)逐漸關(guān)注決策網(wǎng)絡(luò)的訓(xùn)練。通過這種方式可實(shí)現(xiàn)二階段網(wǎng)絡(luò)端到端的訓(xùn)練。
為了對(duì)所提方法進(jìn)行合理評(píng)估,所有模型均在Ubu ntu18.04+Python3.6.9+Pytorch1.6.0環(huán)境下訓(xùn)練和測(cè)試,使用顯存為11 G的GeForce GTX 1080Ti顯卡進(jìn)行加速。
本文實(shí)驗(yàn)訓(xùn)練使用SGD算法對(duì)網(wǎng)絡(luò)進(jìn)行迭代優(yōu)化。訓(xùn)練輸入批次為1,決策網(wǎng)絡(luò)的Loss權(quán)重為0.1,學(xué)習(xí)率為0.2,迭代次數(shù)為120次。選取平均精度AP來(lái)衡量算法檢測(cè)精度。
3.4.1 對(duì)比實(shí)驗(yàn)
為了驗(yàn)證對(duì)MSFSD模型改進(jìn)的有效性,本文在自建的起重機(jī)表面銹蝕損傷的小樣本數(shù)據(jù)集上進(jìn)行訓(xùn)練和評(píng)估。本文實(shí)驗(yàn)?zāi)P蜎]有經(jīng)過預(yù)訓(xùn)練,所有參數(shù)都采用Xavier方式隨機(jī)初始化。為了進(jìn)一步排除由于隨機(jī)初始化因素對(duì)性能比對(duì)的影響,本實(shí)驗(yàn)將隨機(jī)數(shù)種固定為1 337,使得模型在同樣的初始化參數(shù)下對(duì)模型改進(jìn)前后的結(jié)果進(jìn)行比較。
本文實(shí)驗(yàn)選擇了Chen W Y等[22]提出的Baseline、Baseline ++小樣本學(xué)習(xí)模型和U-Net語(yǔ)義分割模型與改進(jìn)后的MSFSD性能進(jìn)行對(duì)比。其中,Baseline、Baseline++是小樣本學(xué)習(xí)領(lǐng)域具有較高影響力的模型,雖然采用基于預(yù)訓(xùn)練加微調(diào)的學(xué)習(xí)方法,但性能卻超越了元學(xué)習(xí)、度量學(xué)習(xí)等復(fù)雜的小樣本學(xué)習(xí)方法中眾多先進(jìn)的模型,開啟了該領(lǐng)域?qū)π颖緦W(xué)習(xí)方法的重新思考。本文實(shí)驗(yàn)在這2個(gè)模型中使用ResNet12作為主干特征提取網(wǎng)絡(luò),在自建的起重機(jī)表面銹蝕損傷小樣本數(shù)據(jù)集上訓(xùn)練驗(yàn)證。U-Net模型具有非常出色的語(yǔ)義分割性能,在醫(yī)療領(lǐng)域得到了廣泛的應(yīng)用。使用U-Net能充分利用自建的起重機(jī)表面銹蝕損傷小樣本數(shù)據(jù)集的分割標(biāo)簽對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。本文實(shí)驗(yàn)將改進(jìn)后的MSFSD的分割網(wǎng)絡(luò)替換為U-Net,其他部分不變,以此作性能對(duì)比,模型均選取了測(cè)試最好結(jié)果。表1為各模型的性能對(duì)比數(shù)據(jù),Baseline、Baseline ++在自建起重機(jī)表面銹蝕數(shù)據(jù)集下AP分別為62.4%和72.6%,由于這2個(gè)小樣本學(xué)習(xí)模型只能利用分類標(biāo)簽進(jìn)行訓(xùn)練,故在少量樣本下分類性能較低。使用U-Net作為分割網(wǎng)絡(luò)的AP為71.1%,這說(shuō)明U-Net在訓(xùn)練集樣本較少的情況下無(wú)法學(xué)習(xí)到損傷的有效特征,無(wú)法達(dá)到很好的性能,與改進(jìn)后的MSFSD有較大差距。
3.4.2 消融實(shí)驗(yàn)
為了驗(yàn)證本文提出方法的效果,在MSFSD基礎(chǔ)上逐步加入了Identity和Conv1h1殘差分支進(jìn)行消融實(shí)驗(yàn),結(jié)果如表1所示。在MSFSD基線上檢測(cè)出的AP為94.2%,此時(shí)FP(被錯(cuò)誤的標(biāo)記為正樣本的負(fù)樣本數(shù))=7,F(xiàn)N(被錯(cuò)誤的標(biāo)記為負(fù)樣本的正樣本數(shù))=1。在加入Identity殘差分支后AP提升了2%,達(dá)到了96.2%,此時(shí)FP=3,F(xiàn)N=5。在同時(shí)加入了Identity和Conv1h1殘差分支后AP提升了3.9%,達(dá)到了98.1%,此時(shí)FP=2,F(xiàn)N=1。實(shí)驗(yàn)結(jié)果表明改進(jìn)后的算法能夠有效提升起重機(jī)銹蝕損傷的檢測(cè)性能。
表1 起重機(jī)銹蝕損傷檢測(cè)實(shí)驗(yàn)結(jié)果對(duì)比
3.4.3 MSFSD算法改進(jìn)前后的Loss及AP曲線
圖6為MSFSD算法改進(jìn)前后的Loss及AP曲線,其中,Seg Loss為分割網(wǎng)絡(luò)損失曲線,Dec Loss為決策網(wǎng)絡(luò)損失曲線,Total Loss為二階段網(wǎng)絡(luò)總損失曲線。圖6a為MSFSD基線Loss及AP曲線,圖6b為改進(jìn)后的MSFSD Loss及AP曲線,可以看到,改進(jìn)后的MSFSD二階段網(wǎng)絡(luò)總損失收斂速度更快,Loss曲線更平滑,模型收斂后AP曲線更接近于1.0。
圖6 改進(jìn)前后的MSFSD算法Loss及AP曲線
3.4.4 MSFSD改進(jìn)算法預(yù)測(cè)結(jié)果分析
圖7為模型檢測(cè)正確的樣本,圖中每張圖片的左邊為輸入的圖片,右邊為分割網(wǎng)絡(luò)輸出的分割圖,分割圖中高亮部分代表輸入圖片中相應(yīng)部位有較高的概率含有銹蝕損傷,分割圖上Output后面的數(shù)值代表決策網(wǎng)絡(luò)預(yù)測(cè)輸入圖片是否含有銹蝕的概率。圖7a是模型預(yù)測(cè)正確的正樣本,此時(shí)決策網(wǎng)絡(luò)輸出的概率值都較大,模型輸出的分割圖中高亮處對(duì)應(yīng)了輸入圖片的銹蝕部位。圖7b是模型預(yù)測(cè)正確的負(fù)樣本,此時(shí)決策網(wǎng)絡(luò)輸出的概率值都較小,模型輸出的分割圖中無(wú)明顯高亮部位。另外,從圖7b中看到一些圖片中存在物體的陰影與銹蝕顏色比較接近,但模型未將物體的陰影誤預(yù)測(cè)為銹蝕,說(shuō)明模型對(duì)物體的陰影有較強(qiáng)抵干擾能力。
圖7 模型檢測(cè)正確的樣本
為了進(jìn)一步檢驗(yàn)?zāi)P偷目垢蓴_能力,本文實(shí)驗(yàn)在驗(yàn)證集中加入了一些干擾性很強(qiáng)的難例樣本。圖8展示了模型檢測(cè)出錯(cuò)的樣本,圖8a是模型誤將負(fù)樣本分類成了正樣本,該輸入圖片中包含了黑色的鋼架,此時(shí)模型輸出的概率值為0.908 53,模型輸出的分割圖中黑色鋼架對(duì)應(yīng)的位置被高亮了,模型誤認(rèn)為這里包含銹蝕損傷。其原因是該輸入圖片中黑色鋼架結(jié)構(gòu)與起重機(jī)銹蝕損傷的顏色非常相似,模型不能從語(yǔ)義的角度去理解和區(qū)分這2種特征,故模型錯(cuò)誤地認(rèn)為該圖片中包含了銹蝕損傷。圖8b是模型誤將正樣本分類成了負(fù)樣本,此時(shí)模型輸出的概率值為0.112 97,原因是該樣本中包含的銹蝕損傷面積較小,模型的卷積核都較大,小目標(biāo)在特征提取過程中容易丟失,故圖中的銹蝕損傷沒有被檢測(cè)到。
圖8 模型檢測(cè)出錯(cuò)的樣本
本文采用二階段網(wǎng)絡(luò)MSFSD的改進(jìn)算法對(duì)起重機(jī)銹蝕損傷進(jìn)行檢測(cè),設(shè)計(jì)了高效的檢測(cè)系統(tǒng)。在MSFSD模型基礎(chǔ)上通過在MSFSD每個(gè)卷積層的Block中引入了Conv1h1和Identity殘差結(jié)構(gòu)分支提升了MSFSD的檢測(cè)性能。最終使改進(jìn)后的模型在自建起重機(jī)銹蝕損傷檢測(cè)中測(cè)數(shù)據(jù)集上AP達(dá)到了98.1%,較基線算法提升了3.9%。本實(shí)驗(yàn)數(shù)據(jù)集中的樣本都是在自然環(huán)境下對(duì)起重機(jī)各個(gè)部位復(fù)雜表面進(jìn)行采集,對(duì)光照、相機(jī)等沒有特別的限制,在小樣本數(shù)據(jù)集下取得了較高的精度,故算法可進(jìn)一步應(yīng)用到其他工業(yè)檢測(cè)領(lǐng)域。