目錄
前言
設(shè)計(jì)思路
一、課題背景與意義
二、算法理論原理
2.1 卷積神經(jīng)網(wǎng)絡(luò)
2.1 YOLOv5算法
三、橋梁裂縫檢測(cè)的實(shí)現(xiàn)
3.1 數(shù)據(jù)集
3.2 模型訓(xùn)練
實(shí)現(xiàn)效果圖樣例
最后
前言
? ? ? ???大四是整個(gè)大學(xué)期間最忙碌的時(shí)光,一邊要忙著備考或?qū)嵙?xí)為畢業(yè)后面臨的就業(yè)升學(xué)做準(zhǔn)備,一邊要為畢業(yè)設(shè)計(jì)耗費(fèi)大量精力。近幾年各個(gè)學(xué)校要求的畢設(shè)項(xiàng)目越來(lái)越難,有不少課題是研究生級(jí)別難度的,對(duì)本科同學(xué)來(lái)說(shuō)是充滿挑戰(zhàn)。為幫助大家順利通過(guò)和節(jié)省時(shí)間與精力投入到更重要的就業(yè)和考試中去,學(xué)長(zhǎng)分享優(yōu)質(zhì)的選題經(jīng)驗(yàn)和畢設(shè)項(xiàng)目與技術(shù)思路。
? ? ? ????對(duì)畢設(shè)有任何疑問(wèn)都可以問(wèn)學(xué)長(zhǎng)哦!
? ? ? ? ?選題指導(dǎo):
? ? ? ? 最新最全計(jì)算機(jī)專業(yè)畢設(shè)選題精選推薦匯總
? ? ? ??大家好,這里是海浪學(xué)長(zhǎng)畢設(shè)專題,本次分享的課題是
? ? ? ? ??基于深度學(xué)習(xí)的橋梁裂縫檢測(cè)系統(tǒng)
設(shè)計(jì)思路
一、課題背景與意義
? ? ? ?裂縫的成因復(fù)雜,具有較大的危害性,形狀和走向無(wú)規(guī)律性,一般呈現(xiàn)多種形態(tài)和大小。若裂縫缺陷檢測(cè)和修復(fù)不及時(shí),可能會(huì)導(dǎo)致橋梁重大經(jīng)濟(jì)損失以及威脅生命安全。因此,早期發(fā)現(xiàn)和確定橋梁裂縫,以便進(jìn)行精確的養(yǎng)護(hù),具有特別重要性。深度學(xué)習(xí)作為近年來(lái)的熱點(diǎn)和有效的監(jiān)督學(xué)習(xí)方法之一,為橋梁裂縫檢測(cè)帶來(lái)了顯著的提升。深度學(xué)習(xí)具有強(qiáng)大的特征提取和泛化能力,以及高魯棒性和可靠性。
二、算法理論原理
2.1 卷積神經(jīng)網(wǎng)絡(luò)
? ? ? ?YOLO作為一種用于多目標(biāo)檢測(cè)的深度學(xué)習(xí)框架,模型體積小,計(jì)算速度快,將檢測(cè)問(wèn)題轉(zhuǎn)化為回歸問(wèn)題,整個(gè)圖作為網(wǎng)絡(luò)的輸入。YOLOv5網(wǎng)絡(luò)是由YOLOv4和YOLOv3演化而來(lái)的一種典型的單級(jí)目標(biāo)檢測(cè)算法,檢測(cè)精度高,實(shí)時(shí)性好。YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)分為輸入端、骨干端、頸部和檢測(cè)端。
2.1 YOLOv5算法
? ? ? ?在目標(biāo)檢測(cè)任務(wù)中,注意力機(jī)制主要作用于特征映射,通過(guò)先后生成通道和空間兩個(gè)獨(dú)立維度的注意映射,生成二維注意評(píng)分映射并應(yīng)用到輸入特征映射上,最后自適應(yīng)特征細(xì)化。種輕量級(jí)嵌入式模塊,結(jié)構(gòu)由Split、Fuse、Select三部分組成。Split部分對(duì)維度為C×H×W特征圖X進(jìn)行3×3、5×5的完整卷積操作,進(jìn)而得到相同維度的不同特征圖。
? ? ? ?Fuse部分對(duì)兩者進(jìn)行信息融合操作得到同維度,進(jìn)而通過(guò)全局平均池化與全連接層獲取特征圖的注意力信息,從而創(chuàng)建一個(gè)緊湊的特征,以便為精確和自適應(yīng)地調(diào)整感受野的大小提供指導(dǎo)。Fuse部分計(jì)算公式如下所示:
將兩部分的特征圖按元素求和得到U。
? ? ? ?維度為C×H×W的特征圖通過(guò)空間維度的全局平均池化操作生成通道統(tǒng)計(jì)信息,得到維度為C×1的特征圖S。
? ? ? ?經(jīng)過(guò)先降維再升維的FC全連接層生成緊湊的特征(維度為d×1,d<C),δ是ReLU激活函數(shù),表示批標(biāo)準(zhǔn)化(BN),的維度為卷積核的個(gè)數(shù),維度為d×C,d代表全連接后的特征維度。
? ? ? ?橋梁裂縫檢測(cè)過(guò)程中,圖像的背景復(fù)雜,這引入了相當(dāng)大的背景噪音,且裂縫形狀和大小的規(guī)格并不固定,目標(biāo)規(guī)格差異,給檢測(cè)帶來(lái)了一定的困難。裂縫檢測(cè)模型需要一個(gè)強(qiáng)大的特征融合模塊。然而,原YOLOv5s模型中FPN-PAN結(jié)構(gòu)存在多尺度特征融合不足的問(wèn)題,一般的特征融合方法雖可以豐富整體的特征信息,但不同維度之間往往存在預(yù)測(cè)沖突,因此在特征融合部分增加ASFF結(jié)構(gòu),自主學(xué)習(xí)每個(gè)尺度的空間權(quán)重,實(shí)現(xiàn)圖像多尺度特征的充分融合。
? ? ? ?YOLOv5s網(wǎng)絡(luò)中的Neck部分輸出得到三個(gè)特征層Leavl1、Leavl2、Leavl3。權(quán)重參數(shù)α、β和γ與不同特征層相乘之后相加得到新的融合特征ASFF-1、ASFF-2、ASFF-3。以ASFF-1為例,公式如下所示:
三、橋梁裂縫檢測(cè)的實(shí)現(xiàn)
3.1 數(shù)據(jù)集
? ? ? ?由于橋梁裂縫檢測(cè)沒(méi)有公開可訪問(wèn)的數(shù)據(jù)集,為了驗(yàn)證提出的目標(biāo)檢測(cè)模型,利用高清數(shù)碼相機(jī)收集了鋼筋混凝土施工橋梁表面不同位置的裂縫圖像數(shù)據(jù)。為了數(shù)據(jù)集的完整性,數(shù)據(jù)圖像包括不同光照、天氣條件和遮擋陰影下的缺陷圖像,共計(jì)篩選出1,500張照片。經(jīng)過(guò)數(shù)據(jù)相似度比較,將收集到的橋梁裂縫圖像與部分質(zhì)量較好的裂縫圖像合并,共計(jì)1,000張。
為了使目標(biāo)檢測(cè)模型更加有效,通過(guò)幾何變換、光學(xué)變換等數(shù)據(jù)增強(qiáng)技術(shù)豐富橋梁裂縫數(shù)據(jù)集,完成裂縫檢測(cè)數(shù)據(jù)集的構(gòu)建,最終共計(jì)得到5,000張橋梁裂縫圖像,按7:3分為訓(xùn)練集和驗(yàn)證集。
3.2 模型訓(xùn)練
? ? ? ?模型的訓(xùn)練與測(cè)試都在同一設(shè)備進(jìn)行,使用的軟硬件工具包括處理器AMD Ryzen 9 3950X、內(nèi)存64GB、系統(tǒng)Windows 10和開發(fā)環(huán)境torch 1.7.0。根據(jù)服務(wù)器內(nèi)存和顯卡配置,設(shè)定迭代次數(shù)(epoch)為200來(lái)評(píng)估指標(biāo)和可視化效果,批次(batch size)為16,初始學(xué)習(xí)率為0.01,最小學(xué)習(xí)率為0.001。
? ? ? ?在目標(biāo)檢測(cè)中,評(píng)價(jià)模型性能的標(biāo)準(zhǔn)有很多。采用準(zhǔn)確率(Precision)、召回率(Recall)、平均精度均值(mean Average Precision)和F1四個(gè)性能指標(biāo)來(lái)評(píng)價(jià)模型。
? ? ? ?在前50次迭代中,各模型擬合較快,損失值明顯減小。改進(jìn)后的模型最終穩(wěn)定在0.017附近,而原始的YOLOv5s穩(wěn)定在約0.021,其他模型的穩(wěn)定值均高于改進(jìn)后的模型。改進(jìn)后的YOLOv5-SA模型曲線平滑,無(wú)明顯波動(dòng),改進(jìn)后的模型在特征提取方面更加高效,收斂速度更快,訓(xùn)練效率更高。
? ? ? ?訓(xùn)練過(guò)程中準(zhǔn)確率、召回率和mAP的變化趨勢(shì)如圖所示,與其他三種模型相比,可以觀察到改進(jìn)后的模型各檢測(cè)指標(biāo)正在穩(wěn)步增加。在相同的數(shù)據(jù)集下,YOLOv5-SA網(wǎng)絡(luò)的收斂速度最快,模型檢驗(yàn)準(zhǔn)確率高于原始模型及其他模型。對(duì)于mAP0.5和mAP0.5-0.95,從圖中可看出,改進(jìn)后的YOLOv5-SA模型在這些指標(biāo)上排名最高。
表中顯示了四種模型的具體結(jié)果比較,改進(jìn)后的YOLOv5-SA模型在mAP0.5-0.95上達(dá)到62.1%,
部分代碼如下:
# 定義類別標(biāo)簽
class_labels = ['Crack']
# 加載待檢測(cè)的橋梁圖像
image_path = 'path/to/image.jpg'
image = Image.open(image_path)
# 對(duì)圖像進(jìn)行預(yù)處理
preprocessed_image = model.preprocess(image)
# 將預(yù)處理后的圖像傳入模型進(jìn)行推理
output = model.predict(preprocessed_image)
# 解析模型輸出,獲取檢測(cè)結(jié)果
predictions = output.pandas().xyxy[0]
# 遍歷每個(gè)預(yù)測(cè)結(jié)果
for _, prediction in predictions.iterrows():
class_label = class_labels[int(prediction['class'])]
confidence = prediction['confidence']
bbox = prediction[['xmin', 'ymin', 'xmax', 'ymax']].values.tolist()
實(shí)現(xiàn)效果圖樣例
創(chuàng)作不易,歡迎點(diǎn)贊、關(guān)注、收藏。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-825574.html
畢設(shè)幫助,疑難解答,歡迎打擾!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-825574.html
最后
到了這里,關(guān)于【畢業(yè)設(shè)計(jì)選題】基于深度學(xué)習(xí)的建筑橋梁裂縫檢測(cè)系統(tǒng) YOLO 卷積神經(jīng)網(wǎng)絡(luò) 人工智能的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!