盧凱良
(江蘇自動化研究所,江蘇 連云港 222061)
結(jié)構(gòu)裂縫(或稱裂紋)不可避免地廣泛存在于土木建筑、交通運輸和工程機械等諸多行業(yè)的各類建造物、結(jié)構(gòu)、零部件或制品中。針對工程結(jié)構(gòu)中的裂縫檢測或監(jiān)測技術(shù)手段主要有:(1)無損探傷技術(shù)[1,2],包括射線探傷(如CT)、超聲波探傷(如聲發(fā)射[3])、電磁渦流探傷、磁粉探傷和滲透探傷等。無損探傷技術(shù)適用于表面、近表面和內(nèi)部裂縫等全場景,測量精度高;但其是一種主動探測技術(shù),需要發(fā)射和接收檢測物理介質(zhì)并可能依賴于耦合介質(zhì),因此相應(yīng)的檢測設(shè)備通常較為復(fù)雜,且價格不菲。(2)結(jié)構(gòu)健康監(jiān)測技術(shù)[4],包括基于應(yīng)力應(yīng)變信號和基于振動信號等。該技術(shù)借助于預(yù)先布置的傳感器采集并分析時間歷程信號,對結(jié)構(gòu)有無裂縫進行識別,因是間接測量方式,對內(nèi)部裂縫的識別和定位精度尚需提高。(3)非接觸式檢測技術(shù),包括紅外、激光和超聲檢測[1 - 3]以及基于可見光視覺圖像的檢測[5 - 18]等。非接觸式檢測技術(shù)與前2類技術(shù)相比,無需與被測對象直接接觸,具有不受被測對象的材質(zhì)限制,檢測速度快,易于實現(xiàn)全自動檢測等優(yōu)點,不足之處是目前僅用于檢測表面裂縫。
基于視覺圖像的表面裂縫識別具有非接觸式檢測的全部優(yōu)點,物理介質(zhì)是可見光,無需發(fā)射或能見度差時只需補光光源,整個檢測系統(tǒng)成本優(yōu)勢明顯。借助于傳統(tǒng)手工設(shè)計特征工程(Hand- crafted Feature Engineering)、機器學習(Machine Learning)和深度學習(Deep Learning)方法,基于圖像的識別技術(shù)可以實現(xiàn)裂縫定性、定位、定量各個層次的目標:(1)判斷有無裂縫,可視為分類(Classification)問題;(2)探測裂縫的位置,可視為檢測/定位(Detection/Location)問題;(3)檢測裂縫的分布、拓撲結(jié)構(gòu)和尺寸,可視為分割(Segmentation)問題,按分割精度可分為區(qū)域級/補丁級(region/patch-level)和像素級(pixel-level)。
本文搜集了土木建筑領(lǐng)域路面裂縫和混凝土裂縫的開源數(shù)據(jù)集,常見的公開數(shù)據(jù)集如表1所示。這些數(shù)據(jù)集中的圖像樣本均是通過個人相機、移動終端攝像頭或車載攝像頭采集的,采集成本低。圖像數(shù)目視數(shù)據(jù)集的使用目的和需求從數(shù)十張到數(shù)千張不等,圖像分辨率因采集設(shè)備而不同,根據(jù)后續(xù)處理算法的需要可以裁剪為小樣本(region/patch),例如圖像識別深度學習算法中常用的256×256或227×227;還可以通過數(shù)據(jù)增強進一步增加樣本數(shù)??偟膩碚f,相對于ImageNet、Pascal VOC等通用大型數(shù)據(jù)集而言,本文所搜集的裂縫公開數(shù)據(jù)集尚屬專門應(yīng)用領(lǐng)域的小型數(shù)據(jù)集。
Table 1 Common public crack datasets
2.2.1 JapanRoad
JapanRoad數(shù)據(jù)集樣本是從汽車前擋風玻璃處采集的真實道路街景透視圖像,可用于裂縫等8類道路缺陷定位檢測[6],包含163 664幅道路圖像,其中9 053幅圖像含有裂縫,采用與PASCAL VOC相同格式的邊框(bounding box)標注。
2.2.2 SDNET2018
SDNET2018是一個帶補丁級/區(qū)域級標注的圖像數(shù)據(jù)集,可用于混凝土裂縫人工智能檢測算法的訓練、驗證和測試。
原始圖像是利用16 MP Nikon數(shù)碼相機拍攝的,包括230幅開裂和未開裂混凝土表面圖像(54座橋面、72面墻壁和104條人行道,均位于猶他州立大學校園內(nèi))。
每幅圖像再被裁剪分割為256×256像素的子圖像樣本,共計包含超過56 000個樣本,樣本中包含的裂縫窄至0.06 mm,寬至25 mm。數(shù)據(jù)集還包括帶有各種障礙和干擾(陰影、表面粗糙度、縮放、邊緣、孔洞和背景碎片等)的圖像樣本,詳見表2和表3。
Table 2 Environmental factors in crack datasets
2.2.3 CFD
CFD是反映北京城市路面總體狀況的像素級標注的路面裂縫數(shù)據(jù)集,是常用基準數(shù)據(jù)集之一。使用手機(iPhone 5)拍攝采集,共包括480×320分辨率的圖像樣本118個,樣本中包含車道線、陰影和油漬等噪聲或干擾因素。
數(shù)據(jù)集中涉及的隨機可變影響因素越多,包含的高級特征越豐富,則經(jīng)過該數(shù)據(jù)集訓練和驗證的學習模型在真實測試場景中的泛化能力越強。這些隨機可變影響因素主要包括圖像背景、環(huán)境影響以及其他干擾因素,并且在圖像樣本中這些因素通常組合疊加呈現(xiàn)。為了清晰展現(xiàn),表3中所展示的一組(一行)圖像樣本盡可能體現(xiàn)單一因素。
Table 3 Noise interference factors in crack datasets
2.3.1 背景
JapanRoad數(shù)據(jù)集中的圖像背景包括汽車、房屋、天空、行人、綠化帶、車道線和電線桿等。CFD數(shù)據(jù)集中也有少量圖像樣本具有街道實景背景。還有一類干擾背景如油漬、輪胎制動痕跡和斑點等。
2.3.2 環(huán)境影響
環(huán)境影響主要指由天氣、光照變化引起的亮度變化、陰影、亮點和低對比度等。作為對比,表2列出了不受環(huán)境影響的Aigle-RN數(shù)據(jù)集中的部分樣本(因其裂縫紋理特征較復(fù)雜,為減少不均勻照明專門進行了預(yù)處理)。
2.3.3 干擾因素
除了背景和環(huán)境影響,可變影響因素還包括車道線、油漬/瀝青/濕漬/斑點、井蓋、輪胎制動痕跡、紋理差異、表面粗糙度、邊界、孔洞以及其他雜物等噪聲干擾因素,如表3所示。
裂縫識別方法可分為傳統(tǒng)手工設(shè)計特征工程、機器學習和深度學習3種,各方法中的常見算法及其特點如表4所示。
傳統(tǒng)手工設(shè)計特征工程通常使用邊緣或形態(tài)特征檢測算法和特征變換(或濾波)算法。邊緣或形態(tài)特征檢測算法包括Canny[7,8]、Sobel[14]、方向梯度直方圖HOG(Histogram of Oriented Gradient)和局部二值模式LBP(Local Binary Pattern)等。特征變換(或濾波)算法包括快速傅里葉變換FFT(Fast Fourier Transform)、快速哈爾變換FHT(Fast Haar Transform)、Gabor濾波器和亮度閾值[8]等。
這些算法借助數(shù)學計算方式逐步提取或解析出圖像中對象的邊緣和形態(tài)等特征,屬于非學習方法,不依賴于數(shù)據(jù)集;而且所用數(shù)學計算多為解析式,一般來說算法的計算量小、速度快。缺點是對隨機可變因素的泛化能力弱,且易受這些因素的干擾,自適應(yīng)能力弱,應(yīng)用場景或環(huán)境一旦改變就需調(diào)參、重新設(shè)計算法甚至方法失效。
機器學習和深度學習均為學習類算法,依賴于數(shù)據(jù)集。不同的是,機器學習方法的數(shù)學表達是顯式的、可解釋的,而深度學習是隱式的。一般認為,深度學習(神經(jīng)網(wǎng)絡(luò)的深度或?qū)蛹壐?面向高維特征,機器學習面向低維特征;機器學習介于傳統(tǒng)手工設(shè)計特征工程和深度學習方法之間。
基于常見的機器學習方法例如支持向量機SVM(Support Vector Machine)[7]、決策樹(Decision Tree)和隨機森林(Random Forrest),相應(yīng)的裂縫識別算法主要有CrackIT、CrackTree和CrackForest[8,10,14 - 17]等。
深度學習方法的使用得益于并行計算硬件(GPU/、TPU/等)的飛躍、大規(guī)模數(shù)據(jù)集(ImageNet、Pascal VOC等)的基準催化作用和算法的不斷改進和完善。例如,批標準化(Batch Normalization)、殘差連接(Residual Connection)和深度可分離卷積(Depth Separable Convolution)是從2012年起開始聲名卓著的。雖然深度學習方法尚存在“黑箱”和解釋性問題,不可否認其在計算機視覺、自然語言處理和強化學習等領(lǐng)域取得的最新進展甚至超越人類水平的成績。目前科學家們正在理論攻關(guān)[18],工程師們也通過可視化技術(shù)不斷提升深度學習過程的可解釋性[19]。
卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Network)因其能學到的模式具有平移不變性(translation invariant)并且可以學到模式的空間層次結(jié)構(gòu)(spatial hierarchies),自2012年始在計算機視覺識別等領(lǐng)域不斷取得突破性進展?;贑NN的圖像識別深度學習方法具有特征自動提取、泛化能力強和精度高等優(yōu)點。按深度學習方法的不同范式,各類算法又可分為自搭架構(gòu)、遷移學習、編碼-解碼器、生成對抗網(wǎng)絡(luò)及其他算法。
Table 4 Typical crack identification algorithms and their characteristics
自搭架構(gòu)是依據(jù)CNN的一般設(shè)計原則,針對應(yīng)用場景的特定數(shù)據(jù)集來設(shè)計和搭建的模型架構(gòu),如早期的ConvNet[7]、Structured-Prediction CNN[8]和近期的CrackNet/CrackNet-V[9,10]。這類算法具有對特定應(yīng)用場景適應(yīng)性好、模型小和參數(shù)少等優(yōu)點,但泛化能力一般,且模型往往未經(jīng)優(yōu)化。
Figure 1 Illustration of ConvNet architecture [7]
遷移學習是利用在大規(guī)模通用數(shù)據(jù)集上預(yù)訓練的模型架構(gòu)優(yōu)化過的CNN主干網(wǎng)絡(luò)(backbone)學習到可移植的底層特征,再在專門數(shù)據(jù)集上微調(diào)高層和/或輸出層的神經(jīng)網(wǎng)絡(luò)連接權(quán)重,以期學習到面向?qū)iT數(shù)據(jù)集的高維特征。遷移學習適用小型數(shù)據(jù)集問題,訓練快、易調(diào)整、泛化好。
編碼-解碼器由編碼器和解碼器組成。在CNN中,編碼器用于產(chǎn)生具有語義信息的特征圖;解碼器將編碼器輸出的低分辨率特征圖像映射回原始輸入圖像尺寸,從而可以逐個像素分類。編碼-解碼器適用于弱監(jiān)督和小型數(shù)據(jù)集情形,其代表模型FPCNet(Fast Pavement Crack detection Network)[15]精度和速度俱佳。
生成對抗網(wǎng)絡(luò)利用2個網(wǎng)絡(luò)(判別網(wǎng)絡(luò)和生成網(wǎng)絡(luò))對抗訓練,使生成網(wǎng)絡(luò)產(chǎn)生的樣本服從真實數(shù)據(jù)分布。ConnCrack(combining cWGAN & connectivity maps)[14]和CrackGAN(pavement Crack detection using partially accurate ground truths based on GAN)[16]是裂縫識別的代表性模型。生成對抗網(wǎng)絡(luò)識別精度高,還可用于難例挖掘。早期版本訓練和預(yù)測時間較長[14],改進的CrackGAN[16]在前期GAN算法基礎(chǔ)上,提出了僅基于裂縫補丁樣本CPO(Crack-Patch-Only)的監(jiān)督對抗學習和非對稱U-Net網(wǎng)絡(luò)架構(gòu),可在人工半精確標注(1像素曲線標注)樣本上進行端到端訓練,并在全尺寸圖像上進行裂縫分割預(yù)測;還引入了遷移學習算法訓練編碼器原型網(wǎng)絡(luò),以及從預(yù)先訓練的深度卷積生成對抗網(wǎng)絡(luò)中遷移知識,以提供端到端訓練中所產(chǎn)生的對抗性損失。CrackGAN[16]率先解決了裂縫和背景樣本數(shù)嚴重不平衡引發(fā)的“全黑”問題,計算效率大幅提升,減輕了標注工作量。
其他算法還包括FPHBN(Feature Pyramid and Hierarchical Boosting Network)[17],該算法融合了特征金字塔和分層增強等技術(shù),模型架構(gòu)與FPCNet[15]的類似。
4.1.1 ConvNet
(1)數(shù)據(jù)集。
所用數(shù)據(jù)集包含500幅分辨率為3 264×2 448的原始圖像,裁剪生成包含640 000個樣本的訓練集、包含160 000個樣本的驗證集、包含200 000個樣本的測試集,樣本分辨率均為99×99,標注精度為補丁級。數(shù)據(jù)集未公開。
(2)網(wǎng)絡(luò)架構(gòu)。
網(wǎng)絡(luò)架構(gòu)比較簡單,包括4個卷積conv(convolution)層(4×4,5×5,3×3,4×4)和2個全連接層fc(fully connection),每個卷積層后都有最大池化層mp(max pooling),如圖1所示。
(3) 性能衡量指標。
樣本測試的準確度度量指標主要有:
(1)
(2)
(3)
(4)
其中,TP(True Positive)表示真陽例的數(shù)量,TN(True Negative)表示真陰例的數(shù)量,F(xiàn)P(False Positive)表示假陽例的數(shù)量,F(xiàn)N(False Negative)表示假陰例的數(shù)量,Total=TP+FN+FP+TN為總樣本數(shù)。由式(4)可知,F(xiàn)1-score是Precision和Recall的加權(quán)調(diào)和平均數(shù)。
Figure 3 Architecture of Structured-Prediction CNN[8]
(4) 性能與效果。
ConvNet[7]的測試精確率、召回率和F1-score分數(shù)分別為0.869 6,0.925 1和0.896 5,均高于SVM和提升(Boosting)算法的,測試效果對比如圖2所示。無論在準確度度量指標還是在識別效果上,ConvNet[7]都明顯優(yōu)于傳統(tǒng)機器學習方法。由于屬早期探索性研究,ConvNet[7]只關(guān)注了測試準確度,還未涉及測試速度。
Figure 2 Test performance of two samples[7]
4.1.2 Structured-Prediction CNN
(1)數(shù)據(jù)集。
Structured-Prediction CNN[8]同時關(guān)注了測試準確度和速度,為了形成基準比較,在數(shù)據(jù)集Aigle-RN上進行了測試,還專門構(gòu)建了CFD數(shù)據(jù)集。
(2) 網(wǎng)絡(luò)架構(gòu)。
如圖3所示,輸入樣本為3通道的27×27的彩色圖像,其他立方體塊表示通過卷積或最大池化運算得到的特征圖,最后連接2個全連接層和1個輸出層。
(3) 性能表現(xiàn)。
在準確度上,表5和表6中的結(jié)果再次印證了深度學習CNN方法總體上比機器學習(如CrackForest)表現(xiàn)更優(yōu),且遠好于傳統(tǒng)手工設(shè)計特征工程方法(如Canny,Local thresholding)。
在預(yù)測速度上,原始圖片在NVIDIA GTX 1080Ti GPU上可達到2.6 fps。
Table 5 Crack detection results of different methods on CFD
Table 6 Crack detection results of different methods on Aigle-RN
(4) 檢測效果。
Structured-Prediction CNN[8]采用了27×27的小尺寸輸入,且CFD和Aigle-RN均對裂縫進行了像素級標注(2個像素誤差),裂縫檢測效果遠好于ConvNet[7],已用于鱷魚皮狀裂紋的檢測,檢測效果如圖4所示。
Figure 4 Results comparison on CFD and Aigle-RN[8]
4.1.3 CrackNet/CrackNet-V
(1) 數(shù)據(jù)集。
Figure 5 Architecture of CrackNet[9]
Figure 6 Architecture of CrackNet-V[10]
與之前算法不同的是,CrackNet / CrackNet-V[9,10]使用激光掃描獲得的3D瀝青路面圖像作為輸入。相比可見光攝像頭采集的圖像,激光掃描圖像分辨率更高,可過濾部分噪聲,相當于做了一次圖像預(yù)處理,因而圖像更加清晰,可以實現(xiàn)像素級裂紋標注和分割。因此,不僅僅是可見光攝像頭,激光掃描、紅外攝像頭甚至聲發(fā)射等無損穿透式檢測或監(jiān)測傳感器采集得到的圖像或信號,均可作為深度學習網(wǎng)絡(luò)的輸入,從而不僅可以檢測表面裂縫,亦有望探測或監(jiān)測被測物內(nèi)部裂縫。
3D瀝青路面圖像數(shù)據(jù)集包括訓練集的2 568個圖像樣本、驗證集的15個典型圖像樣本和測試集的500個圖像樣本。CrackNet[9]輸入樣本的分辨率為1 024×512,CrackNet-V[10]輸入樣本的分辨率為512×256。
(2)網(wǎng)絡(luò)架構(gòu)。
CrackNet[9]網(wǎng)絡(luò)架構(gòu)如圖5所示,包括輸入層、2個卷積層(卷積核(Filter Size)分別為50×50和1×1)、2個全連接層和輸出層;卷積層激活函數(shù)(Activation Function)為Leaky ReLU,輸出層為Sigmoid,共計1 159 561個參數(shù)。
CrackNet-V[10]網(wǎng)絡(luò)架構(gòu)如圖6所示,增加了預(yù)處理(Pre-Process)層,包括中值濾波(Med-Filter)和Z標準化(Z-Norm)。總體上借鑒了VGG模型架構(gòu),大量采用3×3卷積,增加了1個15×15卷積層和2個1×1卷積層,比CrackNet[9]的層數(shù)更深,由于沒有全連接層且卷積核更小,參數(shù)反而更少,模型更輕量化。
CrackNet[9]和CrackNet-V[10]均無池化層,輸入和輸出圖像的分辨率不變,故可用于實現(xiàn)像素級分割。
(3) 性能表現(xiàn)。
對比表7和表8可知,在準確度上,CrackNet-V[10]比CrackNet[9]略高;在運算速度上,無論訓練和測試(前饋和反饋運算)時長,前者約為后者的1/4,證實了CrackNet-V[10]的架構(gòu)更優(yōu)化。
Table 7 Test results comparison between CrackNet and CracNet-V
Table 8 Speed comparison between CrackNet and CrackNet-V
Figure 8 Framework and steps of deep(transfer) learning
(4)檢測效果。
CrackNet-V[10]對鱷魚皮狀細裂縫的檢測效果如圖7所示。因為模型架構(gòu)的特殊優(yōu)化設(shè)計,CrackNet-V[10]可以實現(xiàn)完美像素級裂紋分割;另一方面,檢測速度也非???,在NVIDIAGTX1080TiGPU上測試速度約為0.33s/img,與Structured-PredictionCNN[8]的速度相當。
Figure 7 Crack detection results of CrackNet-V[10]
4.2.1 遷移學習的框架和步驟
學習方法的一般步驟包括訓練(Train)、驗證(Validation)、測試(Test)和預(yù)測(Predict)。圖8展示了深度(遷移)學習的框架和步驟。
遷移學習主要包含以下步驟:
(1)在預(yù)訓練的基礎(chǔ)網(wǎng)絡(luò)上添加自定義的神經(jīng)網(wǎng)絡(luò)層?;A(chǔ)網(wǎng)絡(luò)由主干網(wǎng)絡(luò)(常見的如VGG-16[11]、VGG-19[14]、Inception-V3[12]、Xception[13]、Resnet152[14]等)及其在大規(guī)模數(shù)據(jù)集上預(yù)訓練的權(quán)重參數(shù)值組成。
(2)凍結(jié)基礎(chǔ)網(wǎng)絡(luò)。
(3)在專門的數(shù)據(jù)集(如SDNET2018/CCIC)上訓練所添加的自定義頂層。
(4)解凍基礎(chǔ)網(wǎng)絡(luò)中的某些層。
(5)聯(lián)合訓練未凍結(jié)的層和所添加的自定義頂層。
步驟(2)~步驟(5)又統(tǒng)稱為微調(diào)(Fine-tuning)。
最后,如果滿足預(yù)設(shè)目標,就輸出新的網(wǎng)絡(luò)模型和微調(diào)后的權(quán)重參數(shù)值,用于部署并預(yù)測待預(yù)測的圖像樣本,輸出概率值和類別;如果不滿足,可通過增大數(shù)據(jù)集、重選主干網(wǎng)絡(luò)和解凍更多層等措施來重新執(zhí)行遷移學習過程,從而優(yōu)化神經(jīng)網(wǎng)絡(luò)模型和權(quán)重參數(shù),直至滿足預(yù)設(shè)目標。
4.2.2 基準測試結(jié)果和性能比較
考慮到精度和效率的折衷以及在低算力平臺上的測試部署,本文重點選擇了InceptionV3和MobileNetV1/V2在CCIC和SDNET2018數(shù)據(jù)集上進行性能測試,并與相關(guān)文獻成果進行比較,結(jié)果如表9所示。由于表9用于性能比較的參考文獻裂縫數(shù)據(jù)集有些未公開(盡管類似),且計算平臺不盡相同,故本表中的性能比較并非完全嚴格,僅供參考。預(yù)測耗時含圖像載入、預(yù)處理等時間。從表9中可知:
(1) 應(yīng)用遷移學習法對裂縫圖像分類,測試分類精度已超過ImageNet多分類基準線(參見https://github.com/mikelu-shanghai/Typical-CNN-Model-Evolution);在相近的分類比數(shù)據(jù)集(如CCIC)上,其結(jié)果也優(yōu)于當前已公開發(fā)表的成果[11,12,20]。在人眼易辨識的CCIC數(shù)據(jù)集上,使用輕量級主干網(wǎng)絡(luò)MobileNetV1遷移學習的精度達到99.8%。
(2)TL-InceptionV3在人眼難辨識的SDNET2018數(shù)據(jù)集上的測試精度為96.1%,已較為接近FPCNet[15]的最佳水平97.5%(可用更重量級的主干網(wǎng)絡(luò)進一步提高遷移學習的精度),測試耗時16.1ms,遠低于FPCNet的67.9ms(測試平臺均為NVIDIAGTX1080TiGPU)。
以上算法存在2點不足之處:
(1)路面裂縫具有不同的寬度和拓撲,但是CNN/FCN方法的過濾器感受野僅使用特定大小的卷積核(kernel)來提取裂縫特征(特別是VGG之后的模型大量采用3×3),限制了其對裂縫檢測的魯棒性。
(2)未考慮裂紋的邊緣、模式或紋理特征對檢測結(jié)果的貢獻不同。
編碼-解碼器模型FPCNet[15]即是針對這2點不足設(shè)計的。
(1) 數(shù)據(jù)集。
FPCNet使用的測試數(shù)據(jù)集為CFD(樣本裁剪為288×288)和G45(樣本裁剪為480×480)。
(2) 網(wǎng)絡(luò)架構(gòu)。
FPCNet[17]網(wǎng)絡(luò)架構(gòu)包括多重膨脹MD(Multi-Dilation)模塊和擠壓-激發(fā)上采樣SEU(SqueezingandExcitationUp-sampling)模塊。多重膨脹MD模塊如圖9所示,該模塊級聯(lián)4個膨脹率分別為1,2,3和4的膨脹卷積通道(每通道2次膨脹卷積核操作)、1個全局池化層+1×1卷積+上采樣通道和原始的裂縫多層卷積MC(Multiple-Convolution)特征。之后,執(zhí)行1×1卷積以獲得裂縫多層膨脹卷積特征。除了最后的1×1卷積,每個卷積都保留其特征通道的數(shù)量,并且使用填充來確保MC特征的分辨率恒定。
SEU模塊如圖10所示,H、W和C分別表示特征的長度、寬度和通道數(shù)。輸入的是MD特征和MC特征,輸出的是經(jīng)過加權(quán)融合優(yōu)化后的MD特征。
SEU模塊首先通過轉(zhuǎn)置卷積來恢復(fù)裂紋MD特征的分辨率,之后將MC特征添加到MD特征中,以便融合邊緣、模式和紋理等的相關(guān)裂紋信息,接下來執(zhí)行全局池化以獲得C個信道的全局信息。
隨后,在經(jīng)過對全局信息擠壓(Squeezing)和激發(fā)(Excitation)2個完全連接層后,通過學習獲得每個特征在其通道中的權(quán)重,從而使得SEU模塊可以為不同的裂縫特征(例如邊緣、模式和紋理)自適應(yīng)地分配不同的權(quán)重。
Table 9 Test results and performance comparison of some typical backbone network
Figure 9 MD module [15]
Figure 10 SEU module[15]
最后,將添加MC后的MD特征中的每個特征與其對應(yīng)的權(quán)重(Fscale)相乘,以獲得優(yōu)化的MD特征。
Figure 11 Overall architecture of FPCNet [15]
FPCNet[15]網(wǎng)絡(luò)的整體架構(gòu)如圖11所示,該網(wǎng)絡(luò)使用4個卷積層(2個3×3卷積+ReLU)和最大池化作為編碼器來提取特征。接下來,使用MD模塊來獲取多個上下文大小的信息。隨后,將4個SEU模塊用作解碼器。圖11中,上排左數(shù)第2至第5個箭頭表示最大池化;下排右數(shù)第1至第4個箭頭表示轉(zhuǎn)置卷積,最后1個箭頭表示1×1卷積+Sigmoid;MCF表示在編碼器中提取的MC特征,MDF表示MD特征。
(3)性能表現(xiàn)。
在CFD數(shù)據(jù)集上的裂縫檢測結(jié)果如表10所示,F(xiàn)PCNet[15]的各項評估指標均優(yōu)于機器學習、CNN等方法,是目前最新的網(wǎng)絡(luò)之一。FPCNet[15]的預(yù)測速度也較快,在NVIDIA GTX1080Ti GPU上單幅288×288的圖像樣本預(yù)測耗時67.9 ms即14.7 fps,能實現(xiàn)實時檢測。
Table 10 Results for crack detection on CFD[15]
(4) 檢測效果。
FPCNet[15]與Structured-Prediction CNN[8]等在CFD數(shù)據(jù)集上的檢測效果比較如圖12所示,這2個網(wǎng)絡(luò)以及CrackNet/CrackNet-V[9,10]均能達到像素級精度的裂縫檢測(標注精度2個像素誤差)要求。FPCNet[15]正如其架構(gòu)設(shè)計初衷,對諸如鱷魚皮狀等各類復(fù)雜形態(tài)裂縫的邊緣、紋理和細部的識別精確度較高。
Figure 12 Results comparison of proposed approach with Structured-Prediction CNN on CFD[15]
目前,研究人員已經(jīng)能夠基于單一模型在低算力GPU平臺上實現(xiàn)裂縫補丁級實時檢測和像素級快速檢測?;贗nceptionV3的遷移學習和編碼-解碼器FPCNet對單一測試樣本檢測總耗時低于100 ms,基于MobileNet更可低于10 ms;在準確度上,在人眼易辨識的CCIC數(shù)據(jù)集上測試精度可達到99.8%以上;在難辨識的SDNET2018數(shù)據(jù)集上,遷移學習算法最高接近96.1%。利用集成上述算法的集成方法還可進一步提高測試準確度。
對于工程結(jié)構(gòu)中的裂縫檢測或識別問題,相較于無損探傷技術(shù)和健康監(jiān)測技術(shù)等接觸式檢測方式,基于可見光視覺圖像的表面裂縫識別非接觸式檢測方法,可充分發(fā)揮其不受被測對象的材質(zhì)限制、成本低、精度高和易于實現(xiàn)全自動在線檢測等優(yōu)勢,因而適用于例行巡檢等預(yù)防性檢測或監(jiān)測、幾何拓撲形式可抽象為2D平面形態(tài)的物體缺陷檢測等場景。