?

基于深度學習和遷移學習的螺栓脫落檢測

2024-01-09 00:29羅純坤
四川建筑 2023年6期
關鍵詞:螺栓準確率圖像

羅純坤

(西南交通大學, 四川成都 610031)

0 引言

螺栓連接相比于焊接、鉚接等連接方式,具有安裝方便、質量可靠等優點,故廣泛運用于眾多領域,尤其是在鋼橋中[1]。螺栓連接的質量直接關乎著整個結構的安全性,所以應在施工和運營階段始終保證其質量安全可靠。但是,在實際運營過程中,由于各種復雜作用的綜合影響,螺栓難免會長期處于振動和負荷狀態,甚至受到沖擊,因此螺栓可能會出現脫落現象,危及整個結構的安全[2]。螺栓脫落問題一直是橋梁工程領域研究的重點,準確的螺栓脫落檢測方法可以極大地保證橋梁的安全運營。

傳統的螺栓脫落檢測技術主要靠人工巡檢,該方法主要由人工來操作,不僅費時費力,而且不能實現實時檢測。近年來,深度學習的興起,促進了螺栓脫落檢測技術的發展,基于深度學習的方法成本低,屬于無損檢測,識別的準確率高且易于部署,克服了傳統螺栓檢測技術的弊端。

1 螺栓數據集準備

1.1 螺栓脫落圖像采集

采用消費級相機在帶螺栓拼接板上采集螺栓脫落圖像,采集時需要變換拍攝角度、距離等,以保證螺栓圖像的多樣性。共采集螺栓圖像230張,圖像示例如圖1所示。

圖1 螺栓脫落圖像數據示例

1.2 圖像預處理及數據集制作

為提高螺栓脫落檢測模型的魯棒性,對采集的原始圖像進行一定的預處理,主要為螺栓圖像篩選和圖像尺寸統一化。采集的螺栓圖像總共230張,因部分圖像之間是相似的,從中挑選出200張圖像作為螺栓脫落數據集。最后采用Python將螺栓圖像的分辨率壓縮到640像素×480像素,以方便輸入到網絡進行訓練。

經過圖像預處理后,采用labelImg對螺栓脫落圖像進行標注。對標注完成得到的圖像進行數據集劃分,按7∶2∶1的比例對數據集進行隨機劃分,得到訓練集、驗證集和測試集。

2 YOLOV5S目標檢測算法

2.1 目標檢測算法簡介

目標檢測的任務是為了能在給定的圖像中準確找到物體的位置,并給出物體的類別。目前常見的目標檢測算法眾多,可分為2類,即單階段和兩階段的目標檢測。常用單階段目標檢測算法有Yolo系列、SSD和RetinaNet等;常用兩階段目標檢測算法有R-CNN、SPP-NET、Fast R-CNN和Faster R-CNN等。兩階段的目標檢測精度高但檢測速度慢,單階段的目標檢測速度快但精度稍遜。由于本文只需要對1~2個類別進行檢測,故選擇單階段目標檢測算法精度就足夠了,最終確定選擇Yolo網絡來進行螺栓脫落檢測。

2.2 Yolov5s模型搭建

Yolo是基于深度學習的回歸方法,其核心思想是將整張圖作為輸入,直接在輸出層回歸目標框的位置和目標所屬的類別。Yolo系列主要有Yolov1~ Yolov5等多個版本的算法,對比各個版本的檢測準確率和速度,最終選擇采用Yolov5深度學習模型來檢測螺栓脫落。Yolov5s是由輸入端、Backbone、Neck、Prediction 4個部分所構成,其網絡結構如圖2所示。

圖2 Yolov5s網絡結構

(1)輸入端包括Mosaic數據增強、自適應錨框計算、自適應圖片縮放這3個部分。Mosaic數據增強的核心思想是隨機選取4張圖片,將4張圖片進行隨機裁剪、隨機縮放、隨機排布的方式進行拼接??梢载S富數據集,讓網絡的魯棒性更好,且可以直接計算4張圖片的數據,使得Mini-batch大小并不需要很大,可以減小GPU。自適應錨框是指Yolov5s模型中會預設錨定框,當自定義數據集輸入后,Yolov5s會按照自定義數據集的標簽來自動學習預設錨定框的尺寸。在網絡訓練過程中,會在預設框的基礎上輸出預測框,再與真實框對比,反向更新誤差,迭代網絡參數繼續訓練,在一定程度上可以提高檢測的精度。自適應圖片縮放是指將輸入圖片統一縮放到一個標準尺寸,長寬比不同的圖片會對原始圖像自適應的添加最少的黑邊,填充的黑邊越少,目標檢測速度越快。

(2)Backbone主干網絡結構主要包括Focus結構和CSP結構。Focus結構的原理是圖片進入Backbone前對其進行切片操作,具體操作類似于鄰近下采樣,將寬、高的信息集中到通道上,然后再使用卷積進行特征提取。其作用是為了在下采樣過程中不丟失信息,且可使特征提取更加的充分,但與普通卷積下采樣相比計算量會增加一點點。Yolov5s中含有2種CSP結構,如網絡結構圖所示,CSP1_X結構應用在Backbone主干網絡中,CSP2_X結構應用在Neck中。其主要作用為增強CNN的學習能力,使得在輕量化的同時還能保持準確率,還可以降低計算瓶頸,降低內存成本等。

(3)Neck網絡結構主要包括SPP模塊和FPN+PAN的結構。在目標檢測中,通常會在Backbone主干網絡和輸出層之間插入一些層,這個部分就稱為Neck,其主要作用是為了更好地對融合特征進行提取,且Neck中使用CSP2_X結構加強了網絡特征融合的能力。

(4)輸出端Prediction主要包括邊界框的損失函數計算和nms非極大值抑制。Yolov5采用了CIOU_Loss作為損失函數,使得預測框回歸的速度和精度都更高一些。目標檢測的后處理過程中,需要對很多的目標框進行篩選,通常需要nms非極大值抑制操作來實現。

3 模型訓練及檢測結果

3.1 遷移學習

隨著計算機視覺的不斷發展,在一些領域已經取得了顯著的成就,但是這些成功的背后都是靠大量的數據支撐,尤其在深度神經網絡的訓練中,若想要獲得不錯的效果,需要幾十萬甚至上百萬的數據[3]。在實際運用中,因為收集到的相關數據集過小,根本不可能實現從零開始訓練整個網絡,為此可采用遷移學習來解決數據量不足的問題。遷移學習是指用一個已經訓練好的模型進行另一個模型的訓練[4],這個訓練好的模型是在非常大的數據集上已經預訓練好了的。很明顯,若2個數據集之間存在較強的相關性,遷移學習的效果就越好,采用較少的數據就可以訓練得到較好的結果。

預訓練Yolov5s的模型的原始訓練數據集是COCO數據集,起源于微軟于2014年出資標注的Microsoft COCO數據集,與ImageNet 競賽一樣,被視為是計算機視覺領域最受關注和最權威的比賽之一。COCO數據集包含200 000張圖像,含有80個類別,超過500 000個目標標注,是一個最廣泛公開的目標檢測數據庫。由于本文只需對少類別目標進行檢測,用其訓練好的權重作為預訓練權重,可以實現利用較少圖像得到不錯的檢測效果。

3.2 試驗環境配置

螺栓目標檢測模型的搭建和訓練在PyTorch平臺上進行,編程語言為Python,編譯器為PyCharm 2020.1。模型訓練的硬件和軟件配置如表1所示。

表1 軟硬件配置

螺栓目標檢測模型的預訓練權重使用Yolov5官方提供的yolov5s.pt,大部分超參數設置成模型中給定的初始值,主要設置的訓練參數設置如表2所示。

表2 訓練參數設置

3.3 螺栓脫落檢測結果

模型訓練到300次時停止訓練,此時準確率達到98.32%,損失值為0.014 91,訓練過程的準確率和損失曲線如圖3所示。訓練得到2個權重文件,分別為best.pt和last.pt,最好的訓練結果是在epoch為114次時到達,用best.pt權重文件進行螺栓圖片檢測,可以發現螺栓脫落檢測效果良好,檢測效果如圖4所示。

圖3 螺栓脫落檢測訓練過程準確率和損失曲線

圖4 螺栓脫落檢測結果

4 結論

(1)螺栓脫落檢測訓練過程中,在迭代訓練50次左右開始到達穩定,114次達到最優,300次時準確率為98.32,損失值為0.014 91,可見模型訓練參數設置合理,模型收斂較快。

(2)利用訓練完成后的模型進行螺栓脫落檢測準確率高、速度快、魯棒性良好,可運用于實際結構中螺栓脫落的實時檢測。

(3)本文算法還可結合無人機或外接攝像頭,用于橋梁結構螺栓脫落的實時檢測。

猜你喜歡
螺栓準確率圖像
改進的LapSRN遙感圖像超分辨重建
M16吊耳螺栓斷裂失效分析
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
有趣的圖像詩
預緊力衰減對摩擦型高強螺栓群承載力的影響
螺栓緊固雜談
高速公路車牌識別標識站準確率驗證法
遙感圖像幾何糾正中GCP選取
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合