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