朱輝, 陳堅, 袁建行
1.中國移動通信集團(tuán)四川有限公司,成都 610000;2.西南大學(xué) 計算機(jī)與信息科學(xué)學(xué)院,重慶 400715;3.網(wǎng)思科技股份有限公司,成都 610000
傳輸網(wǎng)絡(luò)是通信網(wǎng)絡(luò)中的重要組成部分,在接入側(cè)的傳輸網(wǎng)絡(luò)中包含大量的分纖箱,分纖箱主要位于樓道或弱電井內(nèi),做好對分纖箱的維護(hù),對于保證傳輸網(wǎng)絡(luò)正常穩(wěn)定的運(yùn)行及傳輸網(wǎng)絡(luò)的質(zhì)量具有極其重要的作用.
在現(xiàn)有的傳輸網(wǎng)絡(luò)維護(hù)模式中,主要由前端維護(hù)人員到現(xiàn)場對分纖箱開展巡檢、優(yōu)化等維護(hù)工作,并將現(xiàn)場維護(hù)的情況通過照片傳回到后端,再由后端質(zhì)檢人員對傳回來的照片進(jìn)行質(zhì)檢,質(zhì)檢的內(nèi)容包括分纖箱是否有保護(hù)線、是否有包含必要信息的標(biāo)簽等,如圖1.這種模式效率低、效果差,面對海量的圖片數(shù)據(jù),后端人工質(zhì)檢遠(yuǎn)遠(yuǎn)不能檢查全部圖片,只能抽檢部分圖片,而且不同質(zhì)檢人員對驗(yàn)收標(biāo)準(zhǔn)的把握不一致,檢驗(yàn)的結(jié)果也不盡相同,檢驗(yàn)質(zhì)量得不到控制.因此,如能通過AI圖像識別技術(shù)對分纖箱圖片進(jìn)行智能質(zhì)檢,識別出分纖箱是否有保護(hù)線、是否有包含必要信息的標(biāo)簽等,則既可以全量檢測圖片,又能節(jié)省大量人力物力,還能提高效率和對檢驗(yàn)質(zhì)量的控制.
圖1 分纖箱上的保護(hù)線和標(biāo)簽
為了準(zhǔn)確識別出需質(zhì)檢的圖片中是否有保護(hù)線和標(biāo)簽,如果有則進(jìn)一步定位出保護(hù)線和標(biāo)簽所在的位置,我們采用基于Dropblock卷積神經(jīng)網(wǎng)絡(luò)的智能質(zhì)檢方法,圖2是該方法的流程圖.將待質(zhì)檢的圖片作為輸入,對圖片做初次數(shù)據(jù)預(yù)處理,用Resnet進(jìn)行初次識別,識別是否有分纖箱存在,初次識別結(jié)果如果無分纖箱,則輸出結(jié)果為“無目標(biāo)”,如果有分纖箱,則進(jìn)行二次數(shù)據(jù)預(yù)處理,將預(yù)處理后的圖片輸入基于Dropblock的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行二次識別,識別分纖箱上是否有保護(hù)線和標(biāo)簽并定位,輸出結(jié)果即是否有保護(hù)線或標(biāo)簽及相應(yīng)位置.
圖2 基于Dropblock卷積神經(jīng)網(wǎng)絡(luò)的分纖箱智能質(zhì)檢流程
深度學(xué)習(xí)模型結(jié)果的好壞與數(shù)據(jù)集的好壞直接相關(guān),好的數(shù)據(jù)集應(yīng)該盡可能多地包含所應(yīng)用的場景,但實(shí)際生產(chǎn)過程中所獲得的數(shù)據(jù)往往不能完全包含所有的應(yīng)用場景,為了獲得更好的數(shù)據(jù),往往采用數(shù)據(jù)增強(qiáng)技術(shù)[1].在初次數(shù)據(jù)預(yù)處理階段,采用了旋轉(zhuǎn)、縮放、色彩空間變化、平移、拼接的增強(qiáng)方式,增強(qiáng)了樣本的多樣性,還增強(qiáng)了初次檢測模型的泛化能力,讓數(shù)據(jù)集盡可能多地包含應(yīng)用場景.
本文使用Resnet[2]分類網(wǎng)絡(luò)進(jìn)行初次識別,識別流程如圖3所示,輸入為(1,3,224,224)類型的圖片,其中1表示每次輸入圖片的數(shù)量,3表示圖片RGB通道數(shù),224,224分別表示圖片的長度和寬度.卷積過程選用的是3×3的卷積核,卷積參數(shù)選擇的是輸出通道為64、步長為2、填充為1.激活用的是leakly-rule[3]激活函數(shù).池化過程選用的是3×3的池化核,池化參數(shù)選擇的步長為2、填充為1.接著經(jīng)過殘差塊運(yùn)算和全連接運(yùn)算,對是否有分纖箱進(jìn)行識別,輸出初次分類結(jié)果.
圖3 基于Resnet的初次識別
本文采用mosaics[4]進(jìn)行數(shù)據(jù)增強(qiáng)處理,如圖4(a)所示,把圖中的4張圖片通過隨機(jī)縮放、隨機(jī)裁剪、隨機(jī)排布[5]的方式進(jìn)行處理,將處理后的4張圖拼接成一張圖,如圖4(b)所示.該增強(qiáng)方式大大豐富了檢測數(shù)據(jù)集,由于縮放、拼接方式的組合,豐富了樣本中的小目標(biāo),讓模型的魯棒性更好.其次,直接計算增強(qiáng)后的圖片數(shù)據(jù),使得最小批次參數(shù)不需要太大,一個GPU(圖形處理器)就可以達(dá)到很好的效果.
圖4 數(shù)據(jù)增強(qiáng)
過擬合是神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中常見的問題,主要表現(xiàn)為模型未充分學(xué)習(xí)到最重要的特征,原因主要是待處理問題的復(fù)雜度低于所選用模型的復(fù)雜度;訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集的特征分布不一致;樣本的噪聲數(shù)據(jù)過大;模型在一些不重要的特征上分配了較大的權(quán)重.針對過擬合問題,常見的解決方法是通過基于Dropout[6-7]正則化的方式,使網(wǎng)絡(luò)模型稀疏化,從而降低模型的復(fù)雜度,防止過擬合.
1.4.1 Dropout的不足
Dropout在全連接中通常會有很好的效果,因?yàn)槿B接中每一個神經(jīng)元都帶有上一層所有神經(jīng)元的信息,所以Dropout隨機(jī)丟失神經(jīng)元對本層的全連接影響不大,反而會使全連接有稀疏效果,防止了過擬合.但是使用Dropout的卷積神經(jīng)網(wǎng)絡(luò),雖然特征圖區(qū)域有元素被丟棄,但因?yàn)樘卣髟刂g存在空間上的語義信息相關(guān)性,這種操作并不能有效激勵網(wǎng)絡(luò)學(xué)習(xí)剩下的特征圖區(qū)域的語義特征,從而影響識別效果.
1.4.2 引入Dropblock 的卷積神經(jīng)網(wǎng)絡(luò)
針對Dropout的不足,本文引入了Dropblock[8-10]的正則化方法防止模型的過擬合,提升模型的驗(yàn)證精度.Dropout與Dropblock對特征元素的丟失方式如圖5所示,圖5(a)代表Dropout,圖5(b)代表Dropblock.從圖中可以看出Dropout丟失特征元素的方式為隨機(jī)丟失.Dropblock與Dropout相比,在丟失相同個數(shù)的特征元素情況下,Dropblock表現(xiàn)為在某一有效區(qū)域按塊的方式丟失元素,這種丟失方式,能夠有效地分離特征元素之間存在的語義信息相關(guān)性,對Dropout在卷積中應(yīng)用的缺點(diǎn)進(jìn)行了有效的改進(jìn).
圖5 特征元素丟失對比圖
1.4.3 Dropblock算法
Dropblock模塊有2個主要參數(shù),block_size和γ,其中block_size表示Droblock塊大小,當(dāng)block_size=1,Dropblock退化為傳統(tǒng)的Dropout,block_size可以取3,5,7.γ表示Dropblock丟失每一個像素的概率,也就是伯努利函數(shù)的概率,根據(jù)文獻(xiàn)[8],γ表達(dá)式如下,其中keep_prob為Dropout中保留每一個像素的概率,feat_size為特征圖的尺寸.
1) 該算法的約束條件是Dropblock和Dropout丟失的元素相等.
3) Dropblock丟失元素的個數(shù)與Dropout丟失元素的個數(shù)一致,只是丟失方法有所改變.
4) 為了保證丟失的block塊不超出原始圖像,需要先設(shè)置一個丟失的有效區(qū)域,如圖6中綠色的區(qū)域,也就是原始圖減去block塊并加1,即(feat_size-block_size+1),取特征圖的中間部分.
5) 圖6中紅色的“×”表示根據(jù)伯努利函數(shù)的概率,在有效區(qū)域內(nèi)選擇出的丟失中心點(diǎn),并根據(jù)block_size大小確定丟失區(qū)域.
8) 化簡得到上面γ表達(dá)式.
1.4.4 Dropblock法實(shí)現(xiàn)流程
該算法實(shí)現(xiàn)流程如下:
1) 輸入激活后的特征圖及block_size,γ和mode 3個參數(shù),mode代表兩種模式,一種是訓(xùn)練模式,一種是推理模式.
2) 如果是訓(xùn)練模式就進(jìn)入第3步,如果是推理模式就直接返回特征圖,不執(zhí)行Dropblock操作.
3) 對給定的γ,使用伯努利函數(shù)對生成的隨機(jī)數(shù)mask矩陣進(jìn)行丟失,得到初始的mask.
4) 對上一步得到的mask進(jìn)行最大池化操作,得到最終需要使用的mask,如圖7.
5) 輸入矩陣和mask矩陣相乘,得到輸出矩陣.
6) 將上一步的輸出矩陣進(jìn)行歸一化操作.
圖6 Dropblock掩碼采樣
圖7 基于Dropblock的mask特征圖
1.4.5 基于Dropbock卷積神經(jīng)網(wǎng)絡(luò)二次識別的網(wǎng)絡(luò)結(jié)構(gòu)
本文使用的整體網(wǎng)絡(luò)結(jié)構(gòu)如圖8所示,分為三部分,第一部分為主干網(wǎng)絡(luò),第二部分為連接網(wǎng)絡(luò),第三部分為預(yù)測網(wǎng)絡(luò).主干網(wǎng)絡(luò)主要作用是提取圖片的特征,我們采用cspdarknet53[11-12]主干網(wǎng)絡(luò)并在每個卷積過程中引入Dropblock正則化模塊,殘差結(jié)構(gòu)為1,2,8,8,4,往后采用了SPP[13](空間金字塔池化)使特征層更具多樣性.連接網(wǎng)絡(luò)主要作用是使通道融合和像素融合更加充分,此過程中,本文還引入PAN[14]結(jié)構(gòu),通過自底向上的特征融合,傳達(dá)強(qiáng)定位信息,讓信息更加充分融合,在連接網(wǎng)絡(luò)中,同樣每個卷積加入Dropblock模塊.最后是預(yù)測網(wǎng)絡(luò),主要作用是獲得網(wǎng)絡(luò)之前提取的特征,推理出最后的預(yù)測結(jié)果,這里使用的是FPN[15-16](特征金字塔網(wǎng)絡(luò))進(jìn)行多尺度輸出.
圖8 基于Dropbock卷積神經(jīng)網(wǎng)絡(luò)二次識別的網(wǎng)絡(luò)結(jié)構(gòu)
2.1.1 實(shí)驗(yàn)環(huán)境
本文所有的實(shí)驗(yàn)均在同一實(shí)驗(yàn)環(huán)境下進(jìn)行.本文所采用的硬件和軟件配置如下:Ubuntu 18.04操作系統(tǒng),Intel(R) Xeon(R) Gold 5118 CPU @ 2.30GHz處理器,NVIDIA Tesla V100顯卡,以及PyTorch 1.7,Cuda 11.0通用并行計算架構(gòu).
2.1.2 參數(shù)設(shè)置
本文的參數(shù)設(shè)置主要分為兩部分,第一部分是基于Resnet初次識別的參數(shù)設(shè)置,第二部分是基于Dropblock神經(jīng)網(wǎng)絡(luò)二次識別的參數(shù)設(shè)置.
第一部分,本文將分類類別class設(shè)置為2(對應(yīng)有無箱體兩種類型).在訓(xùn)練過程中,將一次訓(xùn)練所選用的樣本數(shù)量Batch設(shè)置為128,迭代次數(shù)epoch設(shè)置為1000,學(xué)習(xí)率設(shè)為0.0015,優(yōu)化器選用adam.
第二部分,將配置文件中的類別數(shù)量class設(shè)為2(對應(yīng)保護(hù)線和標(biāo)簽兩種類型),輸入圖片的形狀為(3,608,608),其中3代表RGB通道數(shù),后兩位分別代表圖片的長和寬.輸出圖片的形狀分別為(3,76,76),(3,38,38),(3,19,19),同理,3代表RGB通道數(shù),后兩位分別代表特征圖的長和寬.在訓(xùn)練過程中,將一次訓(xùn)練所選用的樣本數(shù)量Batch設(shè)置為32,迭代次數(shù)設(shè)置為300,初始學(xué)習(xí)率設(shè)置為0.003 2,動量設(shè)置為0.843,權(quán)重衰減率為0.000 36,訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集的比例劃分為8∶2.此外,在此項(xiàng)目中使用了遷移學(xué)習(xí),訓(xùn)練的時候,凍結(jié)了主干網(wǎng)絡(luò)的權(quán)重,以便快速提取到網(wǎng)絡(luò)的有用特征,加快網(wǎng)絡(luò)的收斂速度.
本文選取的評價指標(biāo)有準(zhǔn)確率(Precision)和召回率(Recall),分別用Precision和Recall表示,準(zhǔn)確率和召回率的定義如下:
TP是分類器認(rèn)為是正樣本而且確實(shí)是正樣本的例子,F(xiàn)P是分類器認(rèn)為是正樣本但實(shí)際上不是正樣本的例子,Precision的意義就是分類器認(rèn)為是正類并且確實(shí)是正類的部分占所有分類器認(rèn)為是正類的比例.
同樣,TP是分類器認(rèn)為是正樣本而且確實(shí)是正樣本的例子,F(xiàn)N是分類器認(rèn)為是負(fù)樣本但實(shí)際上不是負(fù)樣本的例子,Recall的意義就是分類器認(rèn)為是正類并且確實(shí)是正類的部分占所有確實(shí)是正類的比例.
本文用了6 000張測試圖片,在IOU(重疊度)值為0.5的情況下,用了3種方法進(jìn)行比較,結(jié)果如表1所示.
表1 實(shí)驗(yàn)數(shù)據(jù)集(IOU=0.5)
從上表可以看出,在準(zhǔn)確率方面,使用原始卷積的準(zhǔn)確率為89.3%,使用Dropout法的準(zhǔn)確率為90.1%,使用Dropblock法的準(zhǔn)確率為94.5%,較原始卷積和Dropout方法分別提高了5.2%和4.4%;在召回率方面,使用原始卷積的召回率為88.6%,使用Dropout法的召回率為89.2%,使用Dropblock方法的召回率為94.3%,較原始卷積和dropout方法分別提高了5.7%和5.1%.從整體上看,Dropblock法比Dropout法和原始卷積在這兩項(xiàng)評價指標(biāo)上都有較好的提升.
本文選取了具有代表性的兩張較復(fù)雜場景圖片的識別結(jié)果進(jìn)行對比,這兩張圖片都是實(shí)際生產(chǎn)過程中從前端傳回后端進(jìn)行質(zhì)檢的照片.圖9中被識別的目標(biāo)有兩條保護(hù)線,通過3種模型識別的結(jié)果來看,采用原始卷積法和Dropout法未能檢測出保護(hù)線,如圖9(a)和圖9(b)所示,采用Dropblock法的模型則檢測出了保護(hù)線,如圖9(c)中的紅框所示.圖10的特點(diǎn)是成像拍攝距離較遠(yuǎn),目標(biāo)在圖片中表現(xiàn)為小目標(biāo),同時此圖片具有兩種類型的待檢測目標(biāo).通過3種模型檢測的結(jié)果來看,原始卷積法不能檢測出目標(biāo),如圖10(a)所示,Dropout法只能檢測出標(biāo)簽類型的目標(biāo),如圖10(b)中黃框所示,而采用Dropblock法則將保護(hù)線和標(biāo)簽兩個不同類型的目標(biāo)都識別出來,如圖10(c)中的紅框和黃框所示.
圖9 3種模型識別目標(biāo)結(jié)果
圖10 3種模型識別不同類型目標(biāo)結(jié)果
本文提出了一種基于Dropblock卷積神經(jīng)網(wǎng)絡(luò)的分纖箱智能質(zhì)檢方法,對分纖箱上的保護(hù)線和標(biāo)簽進(jìn)行智能質(zhì)檢.實(shí)驗(yàn)結(jié)果表明,該方法能有效識別出分纖箱上的保護(hù)線和標(biāo)簽,并準(zhǔn)確定位出目標(biāo)位置,與原始卷積法和Dropout法相比,識別率均有較大提升.