仇建民 耿施健 王 超 沈 慧 閆 娜 蔡宇杰
中國電信股份有限公司江蘇分公司
隨著5G基礎(chǔ)設(shè)施建設(shè)的全面鋪開,運營商投資安裝了大量的5G AAU設(shè)備,施工人員水平層次不齊,會出現(xiàn)5G AAU電源線接續(xù)不規(guī)范的現(xiàn)象。不規(guī)范的場景主要有兩類:(1)線纜的屏蔽層被破壞,包括被剝得太多或者部分破壞;(2)接頭有明顯的的銅線裸露。
AAU電源線接續(xù)規(guī)范檢驗是工程驗收的必備環(huán)節(jié),傳統(tǒng)方法通過人工在施工現(xiàn)場或者現(xiàn)場傳回施工照片后再人工判斷,效率不高,且隨著現(xiàn)場管理質(zhì)量規(guī)范的嚴(yán)格化,工程采集照片的數(shù)量增長迅速,人工審核的方式效率越來越低。本文引入圖像識別等人工智能技術(shù),實現(xiàn)5G AAU設(shè)備接續(xù)規(guī)范的自動判斷,提升現(xiàn)場照片的審核效率,實現(xiàn)驗收標(biāo)準(zhǔn)化,促進(jìn)施工質(zhì)量的提升,提升驗收效率。
如今,基于深度學(xué)習(xí)的目標(biāo)檢測算法在各個領(lǐng)域都有廣泛的應(yīng)用,比如深度學(xué)習(xí)算法幫助分揀機器人實現(xiàn)目標(biāo)的智能定位;在設(shè)備檢測領(lǐng)域可以準(zhǔn)確判斷焊接點的異常;在電纜設(shè)備的異常監(jiān)測中,目標(biāo)檢測算法可以協(xié)助定位地下隧道電纜設(shè)備異常狀態(tài)?;谏疃葘W(xué)習(xí)的計算機視覺技術(shù)取得了長足的進(jìn)步,覆蓋生活的方方面面。通用的目標(biāo)監(jiān)測算法,如YOLO研究已經(jīng)較為充分,但是針對通信工程施工工藝檢測,因不同專業(yè)的場景要求各異,現(xiàn)有的通用AI能力無法滿足生產(chǎn)需要,亟需針對專業(yè)場景的目標(biāo)檢測方法。
本文將人工智能技術(shù)引入通信工程施工工藝檢測領(lǐng)域,通過計算機智能識別相關(guān)質(zhì)量要素,解決海量現(xiàn)場照片人工審核的工作量大問題,實現(xiàn)工程質(zhì)量管理的數(shù)字化、智能化。深度學(xué)習(xí)的效果需要大量的數(shù)據(jù)支撐算法,但是目前通信工程施工領(lǐng)域中5G AAU設(shè)備續(xù)接異常的公開數(shù)據(jù)集較少,缺少數(shù)據(jù)支撐。本文收集了各市分公司1 890張5G AAU設(shè)備接續(xù)圖片,構(gòu)造出5G AAU設(shè)備接續(xù)規(guī)范數(shù)據(jù)集(AAU-ECSD),再用YOLOv5和MobileNetv2 進(jìn)行遷移學(xué)習(xí)和fine-turning,實現(xiàn)了自動判斷無線設(shè)備電源線接續(xù)合規(guī)性。
目前通信領(lǐng)域5G AAU設(shè)備接續(xù)規(guī)范異常的公開數(shù)據(jù)集較少,本文通過各分公司現(xiàn)場拍照采集了1 890張5G AAU設(shè)備接續(xù)圖片,區(qū)分不同的場景、不同的電源接線類型、不同的角度、不同的光線、不同的背景等,構(gòu)造了5G AAU設(shè)備接續(xù)規(guī)范數(shù)據(jù)集(AAU-ECSD)。
通過Imglabel工具,對1 890張樣本分別打標(biāo)簽,區(qū)分head(接頭)和line(線)。以MSS-00001.jpg為例,通過打標(biāo)簽,得到1 890張照片對應(yīng)的xml文件。此數(shù)據(jù)集和標(biāo)簽用于后續(xù)目標(biāo)檢測模型的訓(xùn)練與驗證。對已經(jīng)區(qū)分的head和line,編寫代碼將所有圖片的head和line單獨裁剪為xxx_head.jpg與xxx_line.jpg,并再進(jìn)行二次打標(biāo),標(biāo)記為hege與buhege。
至此,已經(jīng)構(gòu)造了5G AAU電源接續(xù)場景的目標(biāo)檢測數(shù)據(jù)集(head、line)和圖像分類數(shù)據(jù)集(hege、buhege)。此AAU-ECSD數(shù)據(jù)集將用于后續(xù)目標(biāo)檢測和分類模型的訓(xùn)練與驗證。
為實現(xiàn)5G AAU電源線接續(xù)規(guī)范性自動識別,最基礎(chǔ)的方法是直接使用CNN(Convolutional Neural Networks,卷積神經(jīng)網(wǎng)絡(luò))對圖像進(jìn)行分類判斷,判斷是否合規(guī),但是由于背景復(fù)雜、設(shè)備不規(guī)范等多種干擾因素,整體分類效果不佳。
本文先基于目標(biāo)檢測技術(shù)YOLOv5,設(shè)計了面向5G AAU設(shè)備的YOLO目標(biāo)檢測算法,檢測出5G AAU的head(接頭)和line(線);再通過構(gòu)造5G AAU-ECSD(Equipment Connection Specification Data,設(shè)備接續(xù)規(guī)范數(shù)據(jù)集),設(shè)計了一種魯棒性更好、準(zhǔn)確率更高的基于YOLOv5和Mobilenetv2遷移學(xué)習(xí)的5G AAU設(shè)備電源線接續(xù)規(guī)范性自動識別方法??傮w框架目標(biāo)檢測+分類流程如圖1所示,輸入5G AAU電源線接續(xù)圖,將判斷5G AAU電源線接續(xù)是否合規(guī)的步驟拆分為兩步:首先利用面向5G AAU設(shè)備的YOLO目標(biāo)檢測算法,檢測出5G AAU的head(接頭)和line(線);再通過基于MobileNetv2的5G AAU電源接續(xù)異常分類算法,分別判斷head和line是否合規(guī),如果head和line中有一個不合規(guī),則整體不合規(guī);否則視為合規(guī)。
圖1 目標(biāo)檢測+分類流程
此方法的優(yōu)勢主要在于通過目標(biāo)檢測,縮小并鎖定圖片中待分析的區(qū)域,極大地減少了照片的背景干擾等因素,確保最終判斷的場景是圍繞圖片中有效的head和line。
面向5G AAU設(shè)備的YOLO目標(biāo)檢測算法采用YOLO系列的最新版本YOLOv5作為基礎(chǔ),調(diào)整YOLO的標(biāo)簽?zāi)P?,使?G AAU設(shè)備接續(xù)規(guī)范數(shù)據(jù)集中的標(biāo)簽按照9∶1比例生成訓(xùn)練集和驗證集進(jìn)行訓(xùn)練,修改YOLO模型中的分類函數(shù),運行后提取標(biāo)簽中的分類及anchor box(錨框),用于后續(xù)訓(xùn)練,并定義分類數(shù)量及具體類別名。
再通過遷移學(xué)習(xí),選用訓(xùn)練時間最短的YOLOv5s作為預(yù)訓(xùn)練模型,對修改的YOLO模型中生成的各類文件,分別修改相應(yīng)的參數(shù),包括weights、cfg、data等??紤]到GPU顯存只有6G,設(shè)置相應(yīng)參數(shù),避免GPU內(nèi)存溢出。迭代次數(shù)epochs設(shè)置為100,開始訓(xùn)練。最終獲取最佳模型參數(shù)。
參考MobileNetv2網(wǎng)絡(luò)結(jié)構(gòu),創(chuàng)建基于MobileNetv2的5G AAU電源接續(xù)異常分類模型,引入殘差結(jié)構(gòu),先升維再降維,增強梯度的傳播,顯著減少推理期間所需的內(nèi)存占用。
再通過遷移學(xué)習(xí),使用預(yù)訓(xùn)練好的模型mobilenet_v2進(jìn)行訓(xùn)練,考慮到GPU顯存只有6G,設(shè)置相應(yīng)參數(shù),避免GPU內(nèi)存溢出。迭代次數(shù)epochs設(shè)置為100,開始訓(xùn)練。最終獲取最佳模型參數(shù)。
綜上所述,本文提出的基于Yolov5和Mobilenetv2遷移學(xué)習(xí)的5G AAU設(shè)備電源線接續(xù)規(guī)范性自動識別方法,具體的求解過程如表1所示。
表1 基于YOLOv5和Mobilenetv2遷移學(xué)習(xí)的算法
(1)硬件環(huán)境
CPU為i7處 理 器,16核;GPU為NVIDIA FeForce RTX 3060。
(2)軟件環(huán)境
IDE編程環(huán)境:Visual Studio Code;Python版本3.7;深度學(xué)習(xí)框架Pytorch版本1.7.0;CUDA版本11.0。
5G AAU設(shè)備接續(xù)規(guī)范數(shù)據(jù)集(AAU-ECSD),包含區(qū)分不同場景、不同電源接線類型、不同角度、不同光線、不同背景的1 890張5G AAU設(shè)備接續(xù)圖片,已經(jīng)全部通過Imglabel標(biāo)注好標(biāo)簽。
(1)根據(jù)數(shù)據(jù)集創(chuàng)建訓(xùn)練文件
將5G AAU設(shè)備接續(xù)規(guī)范數(shù)據(jù)集(AAU-ECSD)中的1 890張照片和標(biāo)簽文件(xml),分別放入ImageSets和Annotations文件夾,編寫make_txt.py,運行后提取出xml中的標(biāo)簽信息,并按照9∶1比例生成訓(xùn)練集和驗證集。
編寫voc_label.py,修改classes = ['head',’line’],運行后提取出標(biāo)簽中的分類及anchor box(錨框),用于后續(xù)訓(xùn)練。
以MSS-00001.jpg為例,運行voc_label.py后生成的label文件內(nèi)容為:
0 0.3 3 1 8 4 5 2 3 8 0 9 5 2 3 8 1 0.5 2 5 5 4 5 6 3 4 9 2 0 6 3 4 9 0.646494708994709 0.2976190476190476
1 0.33928571428571425 0.8307291666666666 0.2718253968253968 0.33754960317460314
其中0、1分別代表head、line。
(2)配置yaml文件
生成自定義的yaml文件head-line.yaml,參考前面第1步生成的路徑,定義訓(xùn)練集、驗證集、測試集的路徑,并定義分類數(shù)量及具體類別名。
(3)修改models模型文件
models有4個模型,選用訓(xùn)練時間最短的YOLOv5s作為預(yù)訓(xùn)練模型,故修改yolov5s.yaml文件,將其中的class改為2。
(4)遷移學(xué)習(xí)-使用預(yù)訓(xùn)練模型運行train.py
運行時按照前面生成的各類文件分別修改相應(yīng)的參數(shù),包括weights、cfg、data,其中YOLO.pt為YOLOv5預(yù)訓(xùn)練好的模型參數(shù)??紤]到GPU顯存只有6G,設(shè)置batch-size=4避免GPU內(nèi)存溢出。修改迭代次數(shù)epochs訓(xùn)練后保存最佳模型。
(5)使用最佳模型在測試集上進(jìn)行檢測驗證
運行detect.py,這里的參數(shù)必須要加--save-crop,作用是YOLOv5將識別出的head和line進(jìn)行單獨裁剪并分別保存為head、line圖片,將作為后續(xù)分類環(huán)節(jié)的輸入。
通過交叉驗證檢查189張圖片的檢測結(jié)果,目標(biāo)檢測的準(zhǔn)確率為95%,IDE運行結(jié)果是單張圖片的檢測時間不到0.1 s。
圖1 展示了部分5G AAU設(shè)備的目標(biāo)檢測結(jié)果,第一行是5G AAU設(shè)備原圖,第二行是面向5G AAU設(shè)備的YOLOv5目標(biāo)檢測算法的檢測圖,第三行和第四行分別是目標(biāo)檢測算法后保存的5G AAU設(shè)備的head和line。從圖1可見,head和line均完整識別。
圖1 目標(biāo)檢測結(jié)果示例
(1)創(chuàng)建模型
參考MobileNetv2網(wǎng)絡(luò)結(jié)構(gòu),編寫model_mobilenet.py,包括卷積層、池化層、線性激活層、反向傳播等結(jié)構(gòu)。
(2)遷移學(xué)習(xí)-使用預(yù)訓(xùn)練模型進(jìn)行訓(xùn)練
編寫class_train.py,修改num_classes=2,加載預(yù)訓(xùn)練好的模型mobilenet_v2.pth,設(shè)置epochs=100,batch-size=16,開始訓(xùn)練,并保存最佳模型。
(3)使用最佳模型在測試集上進(jìn)行預(yù)測驗證
編寫class_predict.py,加載最佳模型,通過交叉驗證將前文4.3(5)章節(jié)save-crop生成的結(jié)果進(jìn)行預(yù)測。共計180張5G AAU設(shè)備接續(xù)原圖,由于部分圖片只含有5G AAU設(shè)備頭,生成head和line共計332張,分類準(zhǔn)確的head和line為305張,準(zhǔn)確率達(dá)92%,IDE運行結(jié)果,可以看到單張圖片的檢測時間不到0.2 s。
如圖2所示,本文展示出12幅基于不同類別、不同狀態(tài)的5G AAU設(shè)備接續(xù)狀態(tài)識別的實驗示例圖,分別如圖中各列的情況,第一行是5G AAU設(shè)備的原圖,第二行是面向5G AAU設(shè)備的YOLO目標(biāo)檢測算法的結(jié)果,第三行是YOLO檢測算法檢測出來的5G AAU設(shè)備的head,第四行是5G AAU設(shè)備的line,第五行是基于MobileNetv2的5G AAU設(shè)備head的異常檢測狀態(tài),第六行是5G AAU設(shè)備line的異常檢測狀態(tài)。本文提出的5G AAU設(shè)備電源線接續(xù)規(guī)范性自動識別算法可以清楚地檢測5G AAU設(shè)備電源線接續(xù)的規(guī)范性。
圖2 5G AAU設(shè)備電源線接續(xù)規(guī)范head、line是否合規(guī)分類示例
本文針對5G AAU設(shè)備電源線接續(xù)規(guī)范識別場景,創(chuàng)新性的使用目標(biāo)檢測+分類兩步動作:使用YOLOv5進(jìn)行目標(biāo)檢測,檢測出head和line,再通過MobileNetv2進(jìn)行圖像分類,分別判斷head和line是否合規(guī),成功實現(xiàn)5G AAU設(shè)備電源線接續(xù)規(guī)范的自動識別。通過遷移學(xué)習(xí),在現(xiàn)有成熟的模型基礎(chǔ)上進(jìn)行fine-turning,極大地減少了樣本的采集量和訓(xùn)練時間。最終模型的綜合準(zhǔn)確率達(dá)到90%以上,且單張照片的檢測時間合計不超過1 s,性能和準(zhǔn)確率均達(dá)預(yù)期目標(biāo)。
本文的主要貢獻(xiàn):第一,收集了1 890張5G AAU設(shè)備接續(xù)的圖片,構(gòu)建了5G AAU設(shè)備接續(xù)規(guī)范數(shù)據(jù)集(AAU-ECSD)。第二,將人工智能技術(shù)引入通信工程施工工藝檢測領(lǐng)域,提出的基于YOLOv5和Mobilenetv2遷移學(xué)習(xí)的5G AAU設(shè)備接續(xù)異常檢測方法,提高了通信工程驗收照片的審核效率,促進(jìn)了工程質(zhì)量管理的數(shù)字化、智能化。第三,通過引入本團(tuán)隊手工標(biāo)注的5G AAU設(shè)備接續(xù)規(guī)范數(shù)據(jù)集,驗證了通過遷移學(xué)習(xí),只需要在少量的數(shù)據(jù)集上進(jìn)行模型fine-turning,便可完成通用目標(biāo)檢測算法向通信工程施工領(lǐng)域的場景遷移。同時,后續(xù)工作中將嘗試優(yōu)化預(yù)處理過程,改善網(wǎng)絡(luò)結(jié)構(gòu),進(jìn)一步提升檢測效果,并將該方法推廣至通信工程施工工藝檢測的其他場景。