李 傲 葛永新 劉慧君 楊春華 周修莊
1 (重慶大學大數據與軟件學院 重慶 401331)
2 (重慶城市管理職業學院智能工程學院 重慶 401331)
3 (重慶大學計算機學院 重慶 400044)
4 (北京郵電大學人工智能學院 北京 100876)
公路交通不僅關系到一個國家和地區的經濟命脈,同時對人民生活水平的提高也發揮著無法替代的作用.我國公路多為瀝青路面,由于其自身空隙大、溫度穩定性差、耐衰老性差等缺點,極易造成裂紋、疏松等病害[1],這些路面病害嚴重影響了公路的承載力、運輸力、客貨運的行車安全以及公路使用年限.因此,對路面病害快速準確的有效檢測是公路運輸安全的重要保障.
傳統人工檢測方法嚴重依賴檢測人員的主觀判斷,存在漏檢錯檢率高、效率低、檢測成本高昂等問題,難以滿足精確、高效、低成本的路面多類別病害檢測需求[2-3].
隨著計算機視覺技術的不斷發展,利用其對路面病害進行自動化檢測在技術上逐漸成熟可行.借助計算機視覺技術實現路面病害自動化檢測軟件系統的流程遵循一般的軟件工程開發流程[4].本文的主要工作集中在路面病害檢測算法的設計與驗證.可信路面病害自動化檢測軟件系統中對于算法設計與驗證部分提出了明確的需求,即構建具備良好泛化性和魯棒性的路面病害多分類檢測模型.
基于計算機視覺技術的路面病害檢測算法在流程上可分為特征提取、閾值分類2 部分,依據特征提取模式和分類閾值設定方式上的不同可以分為傳統方法、基于機器學習的方法和基于深度學習的方法.傳統方法主要依靠人工提取圖像特征并設定分類閾值,比如Amhaz 等人[5]提取病害圖像的光照強度和幾何學特征用于病害分類,受限于人工提取圖像特征和設定分類閾值的方式,傳統方法無法有效處理復雜環境路況下的病害分類任務,導致在大規模數據下的檢測準確率偏低.Koch 等人[6]在路面病害檢測任務中利用機器學習方法自動設定分類閾值;后續研究者Kapela 等人[7]則使用支持向量機得到分類閾值;也有研究者嘗試改進貝葉斯分類器[8]或AdaBoost 分類器[9]獲取分類閾值.基于機器學習的方法雖然通過學習來獲取設定分類閾值,但依舊無法擺脫人工提取圖像特征的困境,難以實現復雜路況下路面病害的高效檢測.而深度學習技術借助卷積神經網絡(convolutional neural network,CNN)能夠學習到豐富、多層次的圖像特征表示,并通過全卷積或全連接的方式對圖像特征進行自動分類檢測,整個過程無需人工介入,因此越來越多地被用于路面病害檢測.Gopalakrishnan 等人[10]利用預訓練的VGG-16 網絡可以高效地檢測出路面是否含有裂縫;Li 等人[11]和Cha 等人[12]對主流網絡模型進行修改和微調也能夠準確地檢測出路面是否包含病害;Tang 等人[13]提出一種迭代優化的網絡模型,進一步提高了路面病害二分類的準確率.利用模型自動學習來提取圖像特征和設置分類閾值的深度學習技術成為主流的研究算法,其對路面病害的分類準確率遠高于傳統方法和機器學習.
目前主流的CNN 網絡多采用224×224 或256×256等低分辨率圖像作為輸入,實際應用場景中為提高圖像采集效率和圖像質量,所采集的路面圖像分辨率往往為3 692×2 147 甚至更高,無法將實際場景中采集到的路面圖像直接輸入到現有的預訓練網絡中.對此,目前主要有3 種解決辦法.第1 種處理方式是修改現有網絡并重新訓練,使得原始圖像可以直接輸入到修改后的網絡中,但這種方式會引入大量無意義計算,提高網絡訓練成本、降低推理速率,鮮有研究者嘗試這種處理方式.第2 種處理辦法是將原始圖像分塊,例如Tang 等人[13]和Huang 等人[14]將原始圖像進行分塊,使用分塊后的圖像訓練網絡.但是這種分塊方法存在3 個問題:1)圖像的每一塊缺乏用于網絡訓練的監督標簽;2)每一塊獨立輸入網絡未考慮到各塊之間的聯系,丟失整體結構信息;3)仍將圖像全部像素輸入網絡,整體計算量沒有降低.其中第3 種也是目前主流的處理方法,即對原始圖像直接進行下采樣.傳統的下采樣算法如最近鄰、雙線性插值等,依據采樣前后像素點數目的比值計算像素信息丟失率,通常會損失超過95%的像素信息,前景病害信息和無關背景信息均同等程度受損,且受噪聲與背景變化影響較大.Talebi 等人[15]為了盡可能保留原始圖像中所有細節信息,提出了一種可學習的下采樣器,其采樣率在0.25~1 之間.但病害像素在原始圖像中的分布呈連續集中狀態且占比低,如圖1所示,無選擇地保留全部細節信息意味著同等對待無關背景區域,缺乏對前景病害區域的關注,無法有效解決路面病害檢測任務中的痛點問題.
圖1 CQU-BPMDD 中的路面病害圖像Fig.1 Pavement distress images in CQU-BPMDD
快速有效地設計性能高效的網絡模型既可以平衡高分辨率圖像與CNN 的輸入限制,又能自適應感知并保留病害區域信息.可視化解釋方法通過對CNN 的工作原理以及決策過程的解釋性分析[16],更好地輔助選擇和設計網絡模型.以往的研究中可視化解釋方法通常是作為一種事后的解釋方法[13-14],用于模型效果的補充驗證.可視化解釋方法同樣可以作為事前的分析方法服務于模型的設計,從而可以更好地構建可信路面病害檢測網絡模型.
基于以上研究,本文借助于可視化解釋方法設計了一種即插即用的圖像內容自適應感知模塊(adaptive perception module,APM)來替換現有預處理算法,該模塊自適應感知并保留病害區域相關信息,顯著提升高分辨圖像下的路面病害分類準確率.本文的主要貢獻有3 個方面:
1) 借助于可視化解釋方法設計了圖像內容APM.APM 借助殘差模塊獲取更為豐富的特征表示,利用卷積注意力模塊(convolutional block attention module,CBAM)[17]來感知激活病害區域的特征信息,過濾無效的背景信息,獲取低分辨率下包含豐富病害區域信息的圖像數據.
2) 以聯合學習的方式對APM 進行訓練,APM可以即插即用地嵌入到現有骨干網絡(Backbone)之前.無需額外的監督信息與設計獨立的損失函數,即可實現端到端的路面病害檢測模型訓練,從而降低整體的訓練成本.
3) 在最新公開的數據集CQU-BPMDD[18]上的實驗表明本文提出的APM 相比于現有預處理算法能夠有效地保留病害區域的特征信息,路面病害檢測準確率提升明顯.在數據集CQU-BPDD[13]上的實驗及可視化分析表明APM 具備良好的泛化性與魯棒性.
目前已有較多的工作將卷積神經網絡等深度學習技術應用到路面病害檢測任務,相較傳統模型取得了較大提升[19].依據數據集提供的標注信息的粒度不同,可以將這些方法分為2 類:像素級別的分類檢測和圖像級別的分類檢測.
像素級別的分類檢測需要為路面圖像中的每一個像素點分配類別標簽,也稱為語義分割.目前主流的研究方法主要將其他領域的語義分割模型遷移到當前任務中.Jenkins 等人[20]遷移U-Net 模型實現病害區域分割.Yang 等人[21]利用融合特征金字塔模型的CNN 架構來實現病害區域的分割.Liu 等人[22]和Zhang等人[23]在編解碼結構中加入注意力機制分別提出了FPCNet 和DeepCrack,同時,Xiang 等人[24]在金字塔特征結構的基礎上融合注意力機制進行病害區域分割.此外,全卷積網絡也常常被用于像素分割[25].但像素級別分類需要準確的像素級別的標注信息來訓練,實際場景中往往缺乏像素級別的標注信息.
圖像級別的分類檢測主要判斷圖像中是否包含路面病害.Zhang 等人[26]和Tang 等人[13]利用圖像分塊的思想,將不同的原始圖像分割成多個重疊子區域,通過對子區域的檢測來判斷原始圖像是否包含路面病害.Krizhevsky 等人[27]自行設計CNN 模型探索網絡深度和分類準確率之間的關系.主流的研究主要集中在對路面有無病害的二分類檢測,由于缺乏多分類數據集,目前對路面病害多分類檢測的研究較少.
主流的CNN 網絡多采用224×224 或256×256 等低分辨率圖像作為輸入,但實際場景中采集到的圖像分辨率取決于具體的采集設備,并不一定嚴格滿足CNN 的輸入限制條件,這種情況下需要利用圖像縮放技術來對原始圖像進行縮放.
傳統圖像縮放算法如最近鄰、雙線性或雙三次插值技術,依據一定的計算規則來得到目標圖像的像素值,這些算法不需要監督信息,具有計算量小、計算速度快等優勢,使其成為深度學習中圖像預處理階段最為常用的縮放辦法.但傳統的縮放算法并沒有考慮到圖像中不同目標內容在縮放過程中的重要程度,無法依據具體的圖像內容數據進行變化,僅僅是無差別處理無關背景及病害區域前景,在路面病害自動化檢測的軟件系統中應用有限.
Talebi 等人[15]基于CNN 提出了一種可學習的下采樣算法,在縮放過程中關注圖像的整體細節信息,保留圖像更多的細節信息從而優化網絡性能.CNN雖然可以通過學習獲取圖像特征語義表示,但是并未考慮感知圖像中與具體任務緊密相關的信息.
CNN 模型的可解釋性問題,也稱為深度可視化問題.依據計算過程,可以將深度可視化方法分為2大類.一類通過正向計算直接可視化CNN 網絡每一層的卷積核參數以及輸出的特征圖;另一類通過反向計算,將高維特征反向到CNN 的每一層卷積,可以觀察特征圖對應原圖的區域,從而了解CNN 從原圖中學習到的具體特征信息.
最早的深度可視化工作通過正向過程可視化卷積核參數[28],CNN 的淺層卷積主要關注于圖像中邊緣、條紋以及顏色信息.Zeiler 等人[29]則是對正向過程中各卷積層輸出的特征圖進行可視化,分析不同通道對于輸入圖像的差異性響應.Zeiler 等人[30]同時對卷積核參數與特征圖進行可視化分析,揭示不同的CNN 網絡結構激發映射并且揭示出其對輸入變形的不變性.這種通過正向計算的可視化不僅需要分析大量的卷積核參數,同時必須選擇充足的樣本進行特征提取,而CNN 網絡中存在很多冗余,導致可視化中存在較多的無效工作.
另一類可視化借助于反向計算,經典方法有反卷積[31]和梯度反向傳播.Zeiler 等人[32]通過反卷積來對圖像特征進行重建,分析輸入圖像中的哪些信息被保留在CNN 提取的特征中.Zhou 等人[33]提出類激活映射(class activation mapping,CAM)可視化方法,使用全卷積層替換神經網絡末端的全連接層,并將輸出層的權重反向投影至卷積層特征,能有效定位圖像中有助于分類任務的關鍵區域,但是CAM 需要對模型進行修改.Grad-CAM[34]應運而生,用梯度的全局平均來計算特征圖對應的權重,最后加權求和并疊加至原始輸入,有效定位圖像中有助于分類任務的關鍵區域,無需修改原始模型也無需重新訓練網絡,成為目前深度可視化問題中主流的選擇.本文選擇Grad-CAM 作為可視化解釋的技術手段,輔助APM 模塊的設計及效果驗證.
在路面病害檢測任務中,大多數研究者追求模型在特定測試集上的高準確率,可視化解釋手段作為一種事后的補充證明,是事后解釋性的一種手段.本文則是考慮利用可視化解釋方法來理解分析CNN的工作原理以及決策過程,進而更好地選擇和設計網絡.
本節主要關注內容感知的路面病害圖像檢測模型的設計,并借助于可解釋性方法構建APM 模型.
本文的總體框架結構如圖2 所示,整體結構由APM 模塊和分類骨干網絡(Backbone)兩部分組成,APM 和Backbone 采用聯合學習的方式進行訓練.
圖2 路面病害檢測模型整體框架Fig.2 Overall framework of pavement distress detection model
APM 中殘差模塊的數目可以依據實際場景進行調整,APM 末端添加動態平均池化操作,將APM 的輸出池化為Backbone 所需的大小,實現即插即用地嵌入到現有任意Backbone 之前.
APM 有2 個功能:一是降低輸入數據的分辨率;二是自適應感知病害區域相關信息.
本文通過調整卷積操作的參數來降低輸入數據的分辨率.卷積操作的計算邏輯如式(1)所示,其中,Hin,Win分別表示輸入圖像的高度和寬度;Hout,Wout分別表示輸出圖像的高度和寬度;padding表示圖像邊界填充方式;dilation表示卷積膨脹系數;kernel_size表示卷積核大??;stride表示卷積步長.設置padding=0,dilation=0,stride=2,將輸出圖像的Hout,Wout分別轉換為輸入圖像Hin,Win的1/2,從而達到下采樣的效果.
注意力機制可以促使模型聚焦于目標區域,過濾無關背景區域,增強圖像的特征表示,本文借助注意力機制自適應感知路面病害區域.
圖2 中,ConvBlock1 和ConvBlock2 獲取原始圖像的低維特征表示,為了在原始圖像上獲取更大的有效感受野[30],ConvBlock1 采用13×13 的卷積核,設置卷積步長為2,將輸入的2 148×3 692 圖像調整為1 069×1841,ConvBlock2 則進一步提高通道數至32.之后利用多個改進殘差塊(residual block)獲取更為豐富的特征表示的同時進一步降低特征的長度和寬度.基于CBAM 對圖像特征進行聚焦,然后通過ConvBlock3和ConvBlock4 來降低通道數,還原采樣圖像,從而在降低圖像分辨率的同時感知保留病害區域相關信息.
2.2.1 改進殘差模塊
從集成學習角度分析,殘差網絡可看作是一系列路徑集合組裝而成的集成模型,不同的路徑包含了不同的網絡層子集[35].本文借助殘差組合低維特征,獲取更為豐富的圖像特征表示.殘差模塊的一般結構如圖3(a)所示,為了同時實現下采樣功能,本文在圖3(a)的基礎上增加下采樣操作,如圖3(b)所示.
圖3 殘差模塊Fig.3 Residual module
APM 可以添加多個殘差塊,每個殘差塊將輸入圖像變為原來的1/2,本文取n=2,通過2 層改進殘差結構將特征維度從32×1 069×1 841 調整為32×267×460.殘差結構的計算過程表示為式(2):
其中Fin表示殘差塊的輸入,Conv表示卷積操作,下標表示卷積核尺寸,BN表示批規范化(batch normalization), δ表示LeakyReLU 激活函數,S ample(Fin)則表示對輸入進行下采樣操作,本文中S ample選擇雙立方插值算法.
2.2.2 CBAM 模塊
CBAM 模塊包含通道注意力和空間注意力2 個子模塊,具體結構如圖4 所示.通道注意力模塊的目的是激活更有用的通道特征.考慮到不同路面病害的邊緣特征不同,且提取的特征圖中的每個通道代表一種特征模式,把卷積核看作模式檢測器,不同卷積核能夠檢測出不同的特征模式,篩選出對邊緣信息敏感的卷積核,即可提取對應的通道特征.空間注意力模塊對病害相關區域的空間位置進行感知聚焦,專注于病害相關的空間位置.
圖4 卷積注意力模塊Fig.4 Convolutional block attention module
通道注意力對輸入Fin進行最大池化和平均池化分別保留突出前景及整體信息,得到2 個維度為1×1×32 的通道描述矩陣,將矩陣輸入到共享的2 層感知機(multi-layer perception,MLP)中,MLP 的第1層神經元個數為4,激活函數為ReLu,第2 層神經元個數為32.將得到的2 個特征相加后經過sigmoid 激活函數得到最終的通道權重系數Mc,Mc(Fin)×Fin表示經過通道注意力機制處理后的特征.計算過程由式(3)表示:
其中, δ為sigmoid 激活函數,MLP 表示多層感知機,AvgPool和MaxPool分別表示平均池化和最大池化.
空間注意力關注病害區域的空間位置.與通道注意力相似,輸入特征Fin的維度為32×267×460,分別進行通道維度的最大池化和平均池化,得到2 個維度為1×267×460 的空間位置描述矩陣.將2 個空間描述矩陣拼接,經過7×7 的卷積和sigmoid 激活,得到維度為1×267×460 的空間權重系數Ms,Ms(Fin)×Fin表示經過空間注意力機制處理后的特征.計算過程由式(4)表示:
為了實現端到端的模型訓練,采用聯合學習的方式對APM 進行訓練,考慮本文模型的最終目標是得到最優的路面病害分類結果,無需額外針對APM設計任何損失函數或添加正則化約束,只需整體利用分類損失進行反向傳播即可實現對于APM 的訓練.本文后續實驗均采用聯合學習的方式完成對APM 的訓練.
本文采用多分類任務中最為常用的交叉熵損失函數,具體計算過程分2 步:第1 步對網絡輸出進行softmax 操作得到對于每個類別的預測概率值,表示為式(5),其中yout表示網絡的預測輸出,K為網絡檢測的病害類別總數(本文中K=3),softmax 操作將網絡的輸入映射到一個概率分布維度;第2 步對第1 步的結果取負對數似然即為最終的交叉熵損失函數,其中ytrue為0-1 編碼的真實標簽,如式(6)所示.
通過可視化對APM 決策過程的作用機制進行可解釋性分析,度量APM 對于圖像內容的感知區域和感知強度,從而驗證APM 的有效性.
APM 作為CNN 技術的一種應用,目前存在多種基于可視化的可解釋性方法來洞察CNN 的內部卷積計算過程.從可視化的角度來看,目前主要存在3 種可視化模式:特征可視化、卷積核參數可視化、類激活圖映射可視化.相比于其他2 種可視化技術,類激活圖映射可視化通過熱力圖直觀地了解到圖像中哪些部分對模型最終的輸出結果起決定性作用,同時也可以粗略地定位出圖像中物體的位置.在眾多類激活圖映射可視化范式的方法中,Grad-CAM 無需修改模型結構和重新訓練模型,適用于不同任務以及多種結構的CNN 模型,因此,本文選擇Grad-CAM 對APM 進行可解釋性分析和可視化.
要得到APM 的對圖像內容感知后的輸出效果圖,只需要計算APM 中每層輸出的特征圖以及對應權重,最后將所有的特征圖加權求和后疊加在輸入圖像上得到APM 的類激活圖.對于特征圖直接取APM 中每層卷積的輸出即可,對于特征圖的權重需要通過反向傳播計算目標層所輸出的各個特征圖對于預測值的梯度,將梯度全局平均池化后得到特征圖的權重,整個計算過程可以表示為式(7):
然后,將APM 中的所有特征圖進行加權求和,并通過ReLu激活函數保證輸出激活圖中所有數值非負,從而消除與類c無關的干擾,得到最終的梯度加權類激活圖,計算公式為式(8).將得到梯度加權類激活圖與原始輸入圖像進行疊加,獲得APM 的類激活圖.
其中,K表示特征圖的個數.
同樣,可以利用Grad-CAM 獲取骨干網絡的類激活圖來輔助分析選擇最優的骨干網絡.
本文使用來自Liu 等人[18]提出的CQU-BPMDD 路面病害數據集,該數據集包含11 819 張分辨率為2 148×3 692 的中國南方地區高速路面的病害圖像,包含橫向裂紋、縱向裂紋以及修補3 種病害類別,隨機選擇其中90%的數據作為訓練集,10%的數據作為測試集,具體的數據集分布和劃分如圖5 所示.
圖5 CQU-BPMDD 數據集數據分布Fig.5 Data distribution of CQU-BPMDD dataset
APM 基于開源深度學習框架Pytorch 實現,采用在ImageNet 上預訓練權重的Backbone,選擇組合優化器RangerLars , 組合了RAdam[36], LookAhead[37],LARS[38],訓練時學習率為0.005,批訓練樣本個數為16,最大訓練迭代次數為100,APM 最后一層的動態池化的池化大小依據Backbone 進行調整.
路面病害分類任務中,可選擇的評估指標有精確率(Precision)、召回率(Recall)和F1 值.本文選擇F1 值作為評估指標.F1 值的計算借助于精確率和召回率.精確率關注模型在預測結果中為真的準確率,表示在結果為真的時候的模型的可信度,計算公式為式(9).召回率衡量模型對實際正例的判別能力,表示在當前類別的所有預測結果為正例中真實正例所占比重,計算公式為式(10).式(9)(10)中,TP表示被正確劃分為正例的個數;FP表示被錯誤劃分為正例的個數;FN表示被錯誤劃分為負例的個數;TN表示被正確劃分為負例的個數.F1 值是對精確率和召回率的一個調和平均, 計算公式為式(11).
采用準確率(Acc)來評估模型的整體性能,計算公式如式(12)所示:
為了能夠設計出有效的APM 模塊,首先利用可視化解釋方法來分析不同的結構模型的感知激活效果,驗證設計思路有效性的同時輔助模型的選擇和設計.結合可視化的模型決策效果和最終整體路面病害分類的準確率來選擇最優的網絡結構.
選擇Efficientnetv2_B2 作為Backbone,利用Grad-CAM 來計算獲取激活圖,依次嘗試圖6 中的APM_Conv, APM_Res, APM_CBAM 來分析大卷積核、下采樣殘差、卷積注意力機制的感知激活效果.借助于聯合學習的方式實現端到端的模型訓練.
圖6 APM_Conv, APM_Res, APM_CBAM, APM 的詳細結構Fig.6 The detail structures of APM_Conv, APM_Res, APM_CBAM, APM
獲取APM_Conv, APM_Res, APM_CBAM, APM的感知效果如圖7 所示.圖7(a)為原始高分辨路面輸入圖像;圖7(b)表示APM_Conv 的感知激活效果,可以看出APM_Conv 此時是對圖像整體內容的弱感知激活,說明大卷積核能夠有效擴大感受野,但是并不能有效地感知激活前景病害區域.APM_Res 的激活效果如7(c)所示,殘差結構也只是獲取更為豐富的特征表示,也無法有效地感知激活前景病害區域.加入CBAM 模塊后,APM_CBAM 對路面圖像的感知效果如圖7(d)所示,可以看出路面病害區域在一定程度上被感知激活,與無關背景信息存在較為明顯的差距,也進一步說明了注意力機制可以有效感知圖片中的前景信息.APM 感知效果如圖7(e)所示,可以看到前景病害區域被明顯的感知激活,在這4 種不同結構的APM 模塊中,APM 感知激活效果最好.
圖7 APM_Conv, APM_Res, APM_CBAM, APM 的路面病害區域的自適應感知Fig.7 Adaptive perception of pavement distress region of APM_Conv, APM_Res, APM_CBAM, APM
利用可視化解釋方法輔助設計和選擇出內容自適應感知效果明顯的APM,并且其內部決策過程具備良好的可解釋性.大卷積核卷積和下采樣殘差結構可以快速降低輸入圖像尺寸的同時,獲取豐富的語義表示;注意力機制能夠有效地自適應感知圖像中前景病害區域.
可視化解釋方法可以為模型的設計提供直觀視覺效果分析,路面病害檢測準確率可以定量評估模型的實際效果.在CQU-BPMDD 數據集下APM_Conv,APM_Res, APM_CBAM, APM 的分類檢測結果對比如圖8 所示,其中Baseline 采用傳統雙線性插值下采樣算法.
從圖8 可以看出,APM_Conv 僅利用卷積操作縮放圖像,在當前任務上相比于Baseline 準確率提升約2.5 個百分點,從整體網絡結構來看相當于增加了網絡深度,有一定的效果提升.APM_Res 利用殘差模塊組合低維特征,準確率相比于Baseline 提升約2 個百分點,表明利用殘差組合低維特征雖可以產生更為豐富的特征表示,但組合特征同樣也包括無關背景特征,提升效果與APM_Conv 相近.APM_CBAM 通過卷積注意力聚焦路面病害區域相關的通道特征和空間特征,準確率相比于Baseline 提升約2.8 個百分點,淺層特征無法充分表征原始路面圖像語音信息,導致CBAM 不能有效聚焦路面病害區域特征,提升效果與APM_Conv, APM_Res 相當.APM 整體準確率最高達0.844 7,比Baseline 準確率高約8 個百分點,對于縱向裂紋、橫向裂紋以及修補3 種病害類別的F1 值分別提升約9 個百分點、9 個百分點和6 個百分點,說明本文對APM 設計思路的正確性.
結合可視化解釋方法對APM 決策過程直觀的分析效果以及在分類檢測中準確率等定量評估指標上的有效提升,選擇APM 作為最合理有效的結構.
下采樣算法分別選擇雙線性插值(bilinear)、雙立方插值(bicubic)和Lanczos 插值3 種傳統方法以及Talebi 等人[15]提出的可學習Resizer 作為對比;選擇ResNet[39], Vit[40], RepVGG[41], Efficientnetv2_B2[42]分別作為Backbone 進行實驗,對于APM 和Resizer 方法,均采用同樣的聯合學習策略顯現端到端的模型訓練,實驗結果如表1 所示.
Table 1 Comparison of Experimental Results of Different Preprocessing Algorithms and Models表1 不同處理算法與模型實驗結果對比
從表1 可以得出,傳統的采樣預處理算法在采樣過程中同等對待無關背景區域和病害相關區域,縮放圖像分辨后,病害區域相關信息的占比并沒有提升,甚至有所降低,導致檢測準確率在所有采樣預處理算法中最低.Talebi 等人[15]提出的Resizer 傾向于盡可能保留整體的細節,缺乏對路面病害相關的信息的聚焦,保留更多的整體細節信息雖在一定程度上有助于保留更多的模式信息,但同時也保留了無關背景的細節信息,因此相比于傳統采樣預處理算法準確率雖有一定提升,也僅只有2 個百分點左右.本文提出APM 利用注意力機制自適應感知保留病害區域相關信息,在降低原始的圖像尺寸的同時可以感知到與任務緊密相關的路面病害相關區域信息,相比傳統下采樣算法準確率提升約8 個百分點,相比于Talebi 等人[15]提出的Resizer 準確率最高提升約5 個百分點.
除了分類檢測的實驗結果定量分析,同樣可以借助于可視化的方式來分析對比傳統下采樣算法、Resizer[15]以及APM 的感知激活效果,具體效果如圖9所示.當采用傳統的圖像縮放算法比如雙立方插值時,激活效果如圖9(a)所示,可以看出,傳統的下采樣算法縮放圖像后,幾乎丟失了右側細小裂紋的全部信息,激活了過多的無關背景信息,這也進一步解釋了傳統下采樣算法分類檢測性能最差的原因.Resizer 的性能提升相比于傳統的下采樣算法有明顯的提升,對其作用結果的可視化如圖9(b)所示.圖9(b)相比于本文提出APM 的感知效果圖9(c),雖在一定程度上可以感知激活病害區域,但同時激活了更多的無關背景信息,這也恰好說明了無選擇地保留全部細節信息會在當前任務中引入過多無關背景噪聲干擾,影響最終的檢測效果.
圖9 APM 模塊對路面病害區域的自適應感知Fig.9 Adaptive perception of pavement distress region by APM module
圖10 對比了傳統下采樣算法在4 種不同的Backbone 下的模型復雜度與分類準確率.其中B2 表示Efficientnetv2_B2,B2, Vit, ResNet, RepVGG 均采用傳統的雙線性差值下采樣算法.同時也對比了Resizer[15]和APM 在采用B2 作為Backbone 下的整體復雜度與準確率.在采用傳統的下采樣方法時,隨著Backbone復雜度的上升,準確率沒有隨之線性提升,甚至有所降低,表明在當前路面病害分類檢測任務中對于更深層次的圖像語義信息的依賴并不明顯,過大過深的模型可能存在過擬合問題.Resizer 相比APM,模型參數量增加了0.05×106,且計算復雜度FLOPs(floating point operations)增加了21.9 GFLOPs,整體準確率反而降低了7 個百分點左右,這也進一步說明了同等對待背景與前景信息,缺乏對前景病害區域的關注無法有效地提升路面病害分類檢測準確率.
圖10 模型復雜度和準確率之間的對比Fig.10 Comparison between model complexity and accuracy
結合表1 和圖10 可以看出,在最優的Backbone下,APM 相比于傳統的雙線性插值、雙立方插值和Lanczos 插值下采樣算法,準確率分別提升7.8 個百分點、7.5 個百分點、7.4 個百分點;相比于Talebi 等人[15]提出的可學習的Resizer 準確率提升5.41 個百分點.此外,相比于傳統下采樣算法,APM 的模型參數僅增加了0.05×106,相比于Resizer 模型參數反而減少了0.05×106.APM 在僅增加少量模型參數的成本下,整體的病害分類準確率提升顯著.
為了驗證本文提出APM 模塊的泛化性與魯棒性,本文選擇圖像分辨率為1 200×900 的公開數據CQU-BPDD[12]進行跨數據集的魯棒性與泛化性驗證實驗,CQU-BPDD 共包含了7 種病害類別,其中訓練集共有圖片5 140 張,測試集共有圖片11 589 張.考慮到CQU-BPDD 中圖像分辨率為1 200×900,為了避免過度縮放,將APM 中殘差塊的數目n設置為1,其余設置保持與訓練超參數不變,且同樣選擇聯合學習的策略無需額外的人工成本實現對APM 端到端的模型訓練.為了與CQU-BPDD 數據集的SOTA(stateof-the-art)結果進行對比,選擇Top-1Acc和對應的F1 值作為評估指標,實驗結果對比如表2 所示.從表2 可以看出,當使用Efficientnetv2_B2 作為Backbone時,APM 相比于傳統下采樣算法在Top-1Acc上提升2.3 個百分點,但是相比于Resizer[15]的Top-1Acc提升不足1 個百分點.為了探究APM 效果提升微弱的原因,在使用APM 時,隨機選擇樣本對模型的類激活圖進行可視化展示,如圖11 所示.
Table 2 Comparison of Experimental Results of Different Algorithms on CQU-BPDD Dataset表2 在CQU-BPDD 數據集上不同算法的實驗結果對比
圖11 CQU-BPDD 數據集上不同Backbone 對路面病害區域的激活效果對比Fig.11 Comparison of perception of pavement distress region of different Backbone on CQU-BPDD dataset
圖11(a)(d)為原路面病害圖像,當Backbone 為Efficientnetv2_B2 時,最終的激活效果圖如圖11(b)(e)所示.可以看出激活效果并不明顯,對于CQU-BPDD數據集,其圖像采集環境、光照條件更為復雜,同時存在積水、落葉等干擾因素,Efficientnetv2_B2 模型較小,容量有限,可能存在欠擬合問題.
考慮WSPLIN-IP[14]選擇Efficientnet_B3 作為特征提取器,本文同樣選擇Efficientnet_B3 作為Backbone.從表2 可以看出,更換Backbone 后,APM 的Top-1Acc相比于傳統的下采樣算法提升約6 個百分點,相比于Resize[14]提升約4 個百分點.類激活可視化如圖11所示,可以看出,更換Backbone 為Efficientnet_B3,APM模塊自適應感知區域更為準確和突出.在CQU-BPDD數據集上的表現說明了APM 具有良好的泛化性與魯棒性.
但是對比于CQU-BPDD 上的SOTA 結果,APM 比WSPLIN-IP[14]低約0.36 個百分點,WSPLIN-IP[14]采用分塊的思想,對分塊后的圖像進行是否為病害塊的二分類,除了分塊策略,WSPLIN-IP[14]同時將圖像金字塔結構輸入到特征提取網絡中來獲取原始圖像的多尺度特征,考慮到病害圖像塊的數目遠小于無病害圖像塊的數目,利用稀疏采樣來加入先驗知識.相比于APM,WSPLIN-IP[14]額外借助了圖像多尺度和先驗知識,但是其最終的分類準確率也僅僅只提升了0.36 個百分點.
本文針對高分辨率圖像中病害區域占比低情形下的路面病害檢測,借助于可視化解釋方法,設計了一種可解釋性高分辨圖像內容自適應感知模塊(APM),用于構建基于視覺的路面病害自動化檢測軟件系統.具體而言,APM 通過大卷積核獲取高分辨圖像下更大的感受野,利用殘差模塊組合低維圖像特征,借助卷積注意力機制來自適應感知激活路面病害區域相關的特征,從而在降低輸入圖像尺寸的同時感知激活病害區域相關信息;采用聯合學習的方式將APM 與現有的骨干網絡進行端到端的聯合訓練,無需額外的監督信息與損失函數,降低APM的訓練成本,實現APM 即插即用地嵌入到任意Backbone 之前.實驗證明,本文所提出的APM 可以有效感知路面病害區域信息,顯著提高了路面病害檢測的準確率.APM 設計及決策過程的可視化分析實驗,說明本文借助可視化解釋方法輔助APM 設計思路的有效性的同時APM 具備良好的解釋性.在不同數據集上的實驗結果表明,APM 具備良好的泛化性和魯棒性.
作者貢獻聲明:李傲負責實驗設計和實現以及論文撰寫;葛永新、劉慧君負責實驗指導以及論文撰寫指導;楊春華負責可視化實驗實現;周修莊負責論文撰寫指導.