使用深度學習檢測混凝土結構中的表面裂縫
時間:2021-12-07 11:15:12
手機看文章
掃描二維碼
隨時隨地手機看文章
[導讀]作者|?小白來源|?小白學視覺混凝土建筑裂縫介紹表面裂縫檢測是監(jiān)測混凝土結構健康的一項重要任務。如果裂紋發(fā)展并繼續(xù)擴展,它們會減少有效承載表面積,并且隨著時間的推移會導致結構失效。裂紋檢測的人工過程費時費力,且受檢驗人員主觀判斷的影響。在高層建筑和橋梁的情況下,手動檢查也可能難以...
作者 | 小白來源 | 小白學視覺
介紹
表面裂縫檢測是監(jiān)測混凝土結構健康的一項重要任務。如果裂紋發(fā)展并繼續(xù)擴展,它們會減少有效承載表面積,并且隨著時間的推移會導致結構失效。裂紋檢測的人工過程費時費力,且受檢驗人員主觀判斷的影響。在高層建筑和橋梁的情況下,手動檢查也可能難以執(zhí)行。在這篇文章中,我們使用深度學習來構建一個簡單但非常準確的裂縫檢測模型。此外,我們在現實世界的數據上測試了模型,發(fā)現該模型在檢測混凝土和非混凝土結構示例道路中的表面裂縫方面是準確的。該代碼在Github上的鏈接上開源。
在這篇文章中,我們使用了公開可用的混凝土裂縫圖像數據集,該數據集由 20,000 張有裂縫的混凝土結構圖像和 20,000 張無裂縫的圖像組成。該數據集由 458 張高分辨率圖像(4032x3024 像素)生成。數據集中的每個圖像都是 227 x 227 像素的 RGB 圖像。部分有裂紋和無裂紋的示例圖如下所示:
對于這個問題,讓我們在 Pytorch 中構建一個卷積神經網絡(CNN)。由于我們的圖像數量有限,因此我們將使用預訓練的網絡作為起點,并使用圖像增強功能來進一步提高準確性。圖像增強使我們能夠進行諸如垂直和水平翻轉、旋轉和亮度變化之類的轉換,從而顯著增加樣本并幫助模型泛化。
真實圖像上的模型訓練和預測
我們用遷移學習訓練,然后在訓練數據集模型,同時在驗證集上測量損失和準確性。如下面的損失和準確率數字所示,模型訓練的非??臁T诘?1 個 epoch 之后,訓練準確率為 87%,驗證準確率為 97%!這就是遷移學習的力量,我們的最終模型的驗證準確率為 98.4%。
這篇文章展示了使用深度學習和開源數據構建現實世界的應用程序變得多么容易。整個工作花了半天時間,輸出了一個實用的解決方案。我希望小伙伴們自己嘗試這個代碼,并在更多現實世界的圖像上進行測試。