李銳 王鑫 楊威朋 屈燾 賀帥
(重慶交通大學,重慶 400074)
道路坑洞是一種路面出現結構性崩壞的現象,一般由車輛長期通過有關區域造成[1]。道路坑洞一旦出現,且未得到及時修復,在雨水和行駛車輛的綜合作用下會逐漸惡化。
道路坑洞對車輛狀況和交通安全也構成巨大威脅。現階段,道路坑洞的檢測以人工檢測為主。然而,這種方式耗費大量的人力和時間成本,評估的結果高度依賴檢查員的經驗和主觀判斷。這促使相關研究人員致力于開發一套能夠自動完成道路坑洞檢測并客觀評估道路狀況的系統[2]。與此同時,自動駕駛技術的發展為道路坑洞的自動檢測提供了便利條件。很多車輛的先進駕駛輔助系統(Advanced Driving Assistance System,ADAS)中集成了道路坑洞檢測功能。例如,捷豹路虎2015年宣布啟動駕駛輔助技術研究項目,以檢測、預測和共享道路坑洞數據。攬勝極光試驗車可以識別坑洞和破損井蓋的位置和嚴重程度,并在幾毫秒內調整汽車懸架,帶來更舒適的乘坐體驗[3]。
綜上,自計算機視覺技術誕生以來,大量視覺技術應用于各種道路數據實現坑洞檢測。本文對該領域國內外相關前沿研究進行綜述,以期為后續研究提供參考。
道路成像是利用計算機視覺進行道路坑洞檢測的前提,通常采用攝像頭和各類深度傳感器獲取道路數據,各類成像技術的特點如表1所示。

表1 道路成像技術
最初,研究人員使用攝像頭的二維(Two-Dimensional,2D)成像技術完成道路數據的采集,常見的車載攝像傳感器如圖1所示。利用攝像頭進行道路數據采集具有明顯的成本優勢,然而,平面圖像無法反映路面的幾何結構[4]。此外,圖像處理、圖像分割及目標檢測算法等對灰度或彩色道路圖像執行相應任務時對各種環境因素高度敏感,尤其是光照條件[5]。

圖1 車載攝像傳感器
研究人員采用三維(Three-Dimensional,3D)成像技術解決2D 成像無法獲取道路幾何結構且成像質量易受環境因素影響的問題。常使用激光掃描儀、微軟Kinect傳感器和立體相機等3D 道路數據采集設備,如圖2所示。
激光掃描儀利用三角測量原理獲得距離信息,其光源發射裝置與接收裝置的距離已知,通過計算激光束入射光與反射光的角度即可完成精確的點測量[6]。但是,這類高昂的激光掃描設備需要安裝在特定車輛上才能完成3D 道路數據的采集。這種數據采集方式由于設備及其維護成本高而未廣泛使用。
微軟Kinect 傳感器配備了RGB 相機、紅外相機、加速計、傾斜馬達等裝置[7]。使用微軟Kinect 傳感器可以獲得道路可見光圖像、紅外圖像以及重建的3D道路數據。這種傳感器使用方便且成本不高,但在陽光直射條件下受紅外飽和的影響,重建的3D路面精度不高[8]。
獲取3D 道路數據還可以通過多視圖幾何的方法[9],如圖3a所示,單個可移動攝像機可捕獲不同視角的多個2D 道路圖像,然后通過對多個2D 圖像進行稀疏或密集的對應匹配重建三維幾何。文獻[10]提出了基于單目稀疏圖像匹配的三維重建方法,使用運動結構算法獲得相機姿態和稀疏3D道路點云,并使用束調整算法進行細化。
與人的雙目視覺原理相同,立體相機的2 個攝像單元同時對道路圖像進行拍攝,然后通過查找捕獲的道路圖像的視覺特征之間的視差獲取深度信息[11],進而獲取密集的3D 道路點云數據,稱為視差估計或立體匹配。文獻[12]采用透視變換將目標圖像轉換為對應的參考視圖,實現了立體匹配速度和視差精度的權衡,重建的三維幾何模型的精度在3 mm 以內,如圖3b 所示。利用立體相機進行3D 道路成像比激光掃描和微軟Kinect 成本更低且更可靠。隨著深度學習算法的不斷發展,結合深度卷積神經網絡的視差估計已經顯示出比利用傳統方法更好的視差估計效果。
基于計算機視覺的道路坑洞檢測算法主要分為4 類:基于經典2D 圖像處理的算法直接處理(增強、壓縮、變換、分割)道路圖像;基于3D道路點云建模和分割的算法將平面或二次曲面等特定的幾何模型匹配到觀測到的點云,通過比較擬合獲得的特定幾何曲面與觀測到的點云的差異分割道路點云;基于深度學習的方法可以采用圖像分類、目標檢測或語義分割3 類經典深度算法實現道路坑洞檢測;混合方法則結合上述的2 類或2 類以上算法,以提高檢測性能。
基于經典2D 圖像處理的坑洞檢測方法通常包含圖像預處理、圖像分割、損傷區域提取、檢測結果后處理[2]4個流程。
圖像預處理采用中值濾波、高斯濾波、雙邊濾波和形態學濾波等過濾噪聲信息突出道路損傷區域。文獻[13]采用自適應直方圖均衡算法在二值化圖像前調整了圖像明亮度。文獻[14]使用了多種濾波算子增強RGB 道路圖像中的紋理特征。文獻[15]借助2D空間視覺信息檢測坑洞,通過視差投影變換視差圖,具體引入黃金分割搜索和動態規劃算法最小化全局能量函數來估計道路視差圖像。視差變換使得坑洞區域高度可區分。
對預處理后的道路圖像進行坑洞區域和完整路面分割的主流方法采用如大津法(OTSU)的閾值、三角形閾值和自適應閾值等基于直方圖的閾值方法分割彩色/灰度/視差變換的道路圖像。文獻[8]利用OTSU 的閾值方法分割變換后的視差圖像進行道路坑洞檢測,且文獻[12],使用簡單的線性迭代聚類算法將變換后的差異分組為超像素集合,然后通過找到超像素來檢測道路坑洞,實現了更高效、準確的坑洞檢測。
根據幾何和紋理假設的損傷區域提取與檢測結果后處理過程聯合進行。文獻[14]建立了潛在道路坑洞的橢圓輪廓模型,并對比橢圓內及周圍區域的紋理特征,一旦橢圓內的紋理粗糙度高于周圍區域紋理粗糙度,則判定該橢圓為道路坑洞。文獻[16]通過分析道路坑洞的多種幾何特征,如大小、緊湊性、橢圓度和凸包等,提取潛在道路坑洞的輪廓,然后使用有序直方圖相交方法判定被提取區域是否含有坑洞,且為進一步改善道路坑洞檢測效果,對提取到的潛在坑洞受損區域進行了后處理。
在道路坑洞檢測方面,基于經典2D圖像處理的方法已有近20年的研究歷史。然而,這些方法建立在早期技術基礎上,易受到環境因素如光照、天氣等的嚴重影響,3D技術和深度學習算法極大地克服了這些不足。
基于3D 點云建模與分割的坑洞檢測整體流程可以分為2 個階段:首先,將觀測到的3D 道路點云數據進行插值,以得到一種顯式的幾何模型,該模型可以是平面或二次曲面;然后,將觀測到的點云與建立的模型進行對比,再從觀察到的3D道路點云中分離出坑洞區域。
文獻[17]使用最小二乘擬合方法將觀察到的3D點云內插到特定平面上。通過在擬合曲面下搜索3D 點,大致檢測出潛在的道路坑洞,接著采用K 均值聚類算法和區域生長算法對檢測結果進行進一步細化。文獻[18]使用高速3D 橫向掃描技術檢測路面的凸包和坑洞,首先通過濾波算子、邊緣檢測算子以及樣條插值等處理方法采集激光條紋數據得到亞像素線,接著,利用激光條紋曲線生成路面的橫切面,并用線段來近似擬合,通過分析分段端點(即可區分路面凸包、坑洞的特征點)的二階導數。文獻[19]設計了一種基于激光雷達的道路坑洞檢測系統,通過對3D 道路點與最佳擬合的3D 路面之間的距離進行比較,將這些道路點分為損壞和未損壞2類。
然而,實際上,路面往往不是完全平坦的,這導致基于3D 點云建模和分割的方法有時無法使用。此外,如果僅需對坑洞進行簡單識別和定位,而不需要獲取其大小、深度等幾何細節,則不必使用激光設備提取3D點云。
隨著深度學習的發展,深度卷積神經網絡(Deep Convolution Neural Network,DCNN)已成為道路坑洞檢測的主流技術。DCNN 通常通過反向傳播進行訓練,不需要人為設置參數分割道路圖像或點云來進行坑洞檢測。這類基于數據驅動的坑洞檢測方法通常使用3種技術[6],即圖像分類網絡、目標檢測網絡和語義分割網絡:圖像分類網絡常用于將道路圖像分類為坑洞或非坑洞;目標檢測網絡可在實例級識別道路坑洞;語義分割網絡則用于對道路圖像進行像素級別的分割,以實現道路坑洞的檢測。
3.3.1 基于圖像分類的方法
隨著計算機算力的提升,DCNN 已廣泛應用于道路坑洞檢測,DCNN 能夠學習更抽象的視覺特征,并顯著改善了道路坑洞檢測性能。文獻[20]提出了包含預池化層的全連接DCNN,預池化層的設計過濾了大量干擾坑洞信息的背景噪聲,以顯著增強分類網絡的性能,且所提出的DCNN 能夠應對光照變化,在不同照明條件下有效檢測道路坑洞。
圖像分類方法僅能簡單區分道路圖像中是否存在坑洞,并不能給出坑洞所處的位置信息和幾何信息。然而,在很多道路檢測場景下,坑洞的位置和幾何信息更為重要。
3.3.2 基于目標檢測的方法
利用深度學習的道路坑洞檢測算法主要為2類,即區域卷積神經網絡(Region-based Convolutional Neural Networks,R-CNN)系列的兩階段算法[21]和YOLO(You Only Look Once)系列的單階段算法[22],如表2所示。

表2 兩階段與單階段算法對比
2014 年,R-CNN 用于目標檢測。隨著深度學習的不斷發展,基于DCNN 的道路圖像目標檢測技術迭出不窮。更快速區域卷積神經網絡(Faster Regions with Convolutional Neural Network,Faster-RCNN)是R-CNN 的改進算法,主要使用區域生成網絡(Region Proposal Networks,RPN)替代R-CNN 的選擇性搜索(Selective Search)算法,成為了第一個真正意義上的端到端網絡,具有比R-CNN 更高的檢測速度與精度,其檢測流程如圖4 所示。

圖4 Faster-RCNN 算法流程
文獻[23]在包含印度、日本、捷克共和國公路圖像的數據集上訓練了一個專門的圖像分類器,以區分圖像屬于哪個國家,接著利用Faster-RCNN 檢測圖像中的坑洞和裂縫,最后,將模型部署到移動設備,完成了對特定道路狀況的自動勘測。文獻[24]訓練改進的分類Inception-v1 網絡實現了強光和弱光道路場景坑洞的高準確率分類,在此基礎上與Faster-RCNN融合,能夠準確、快速地檢測道路坑洞。
YOLO[25]等主流單階段檢測方法將檢測任務處理成回歸任務,使用端到端的特征提取網絡來提取目標特征,并直接用于邊界框分類和回歸,其處理流程如圖5所示。單階段算法端到端同時完成分類和定位任務,因而比兩階段方法效率更高,近年來,其精度不低于兩階段方法,在實時性要求高的檢測場景中成為首選。

圖5 YOLO算法流程
文獻[26]基于YOLOv2 設計了2 個變種模型:模型1在道路坑洞檢測上實現了大小和形狀上的更強魯棒性;模型2適當增加復雜度,使模型具有了更好的路面坑洞檢測性能。文獻[27]提出采用YOLOv3 Tiny進行路面坑洞檢測,實現了較高的檢測準確度,同時網絡相對輕量化。文獻[28]針對YOLOv3 檢測模型在有積水、陰影等復雜環境下路面坑洼的檢測能力有限的問題,改進特征提取網絡,優化激活函數,并引入了多種數據增強訓練策略,得到的YOLOv3-pt 模型獲得了13.99%的精度提高,使模型在復雜環境下的檢測能力顯著提升。文獻[29]將有效通道注意力網絡(Efficient Channel Attention for deep convolutional neural Networks,ECANet)的注意力模塊添加到YOLOv5網絡結構的加強特征提取網絡中,提升網絡關注有效特征信息的能力,使用距離交并比非極大值抑制(Distance-IoU Non-Maximum Suppression,DIoU-NMS)算法對預測框篩選方式進行改進。所提出的基于YOLOv5的道路路面傷病損害檢測方法可以提高包括通過智能手機拍攝得到的擁有復雜背景坑洞在內的不同類別病害的檢測精度。文獻[30]以裂縫、坑洞和凹陷作為路面質量評估的相關類別,以移動端部署檢測的良好實時性和優越的檢測性能為目標,輕量型優化和改進YOLOX,改進的算法在路面破損檢測中準確度和召回率均有所提升,同時將模型遷移到實際場景移動端的實時檢測,在檢測速度和精度上實現了滿意效果。
單階段和兩階段目標檢測方法均能在實例級檢測道路坑洞。兩階段目標檢測算法在精度上較單階段算法高,但實時性相對不足。單階段算法端到端一次完成檢測,檢測速度大幅提升,改進后的YOLO 系列算法在精度和實時性上得到顯著改善,能夠滿足大多數自動駕駛場景的目標檢測任務要求。
3.3.3 基于語義分割的方法
針對語義分割算法的最新技術,可以將其分為單模態和數據融合2類。單模態算法應用于彩色圖像的分割,采用編碼-解碼(Encoder-Decoder)結構實現,而數據融合算法學習2 種不同類型視覺傳感器數據中的視覺特征,并將這些特征融合,以提高對環境語義的理解能力。
在基于分割算法的路面坑洞檢測研究中,文獻[31]提出了一種基于全卷積網絡(Fully Convolutional Networks,FCN)的檢測方法。為緩解提供像素級注釋的困難,采用一種半監督學習技術生成若干偽標簽,并對提前訓練好的FCN 進行自動微調。與監督學習相比,半監督學習降低了對大規模標簽數據的依賴,并顯著提高了整體的F1 得分。另外,文獻[32]構建了一種基于注意力的道路坑洞檢測耦合框架,該框架采用基于注意力的特征融合模塊以提升圖像分割的性能,同時論證了小樣本學習在道路坑洞檢測中的可行性。
文獻[33]提出了一種使用生成對抗網絡(Generative Adversarial Network,GAN)的訓練集增強技術。該技術通過生成假RGB 道路圖像和轉換后的道路視差圖像來增強分割模型的訓練。試驗結果表明,基于GAN 的訓練集增強技術對單模態和數據融合的語義分割網絡的精度均有所改善,同時提高了2 類網絡訓練的收斂速度。文獻[34]提出了一種基于圖神經網絡的圖注意層,以進一步改進單一模態語義分割中圖像特征的表達,所提出的DeepLabv3+的性能優于其他單一模態的道路坑洞分割算法。
值得注意的是,性能優異的語義分割算法需要大規模像素級標注的數據集進行訓練,然而,這種數據標注需要耗費巨大的人力成本。因此,道路坑洞的檢測任務可以與其他駕駛場景理解任務協同處理,如可行駛區域和道路異常的檢測。這種綜合處理方法能夠有效減少數據標注的工作量,為訓練高性能的語義分割網絡算法提供更便捷、高效的途徑。
混合路面坑洞檢測方法通常結合上述的2類及以上的算法。
文獻[8]介紹了一種混合檢測算法,其將2D 視差圖像轉換算法和3D 道路點云分割算法相結合。為了使道路圖像的受損區域和未受損區域高度可分辨,首先對稠密的子像素視差圖進行轉換,然后,利用OTSU 的閾值方法從變換得到的視差圖中提取潛在的未受損區域,并通過最小二乘法擬合將提取區域中的視差建模為二次曲面,同時整合曲面法線信息到建模過程中,以消除異常點,最后,通過比較實際視差圖和模型視差圖完成坑洞區域的分割。
文獻[35]提出了一種結合經典2D 圖像處理算法和深度學習模型的混合道路裂縫和坑洞檢測算法。首先,訓練改進SegNet 的深度模型來分割道路圖像以進行可行駛區域檢測。然后,用坎尼(Canny)邊緣檢測器處理可行駛區域,以生成包含道路裂縫、坑洞的候選區域。最后,訓練SqueezeNet以確定生成的候選區域是道路裂縫或坑洞。
文獻[36]提出的混合檢測算法將語義分割算法和3D 道路點云分割算法相結合。首先,使用DeepLabv3+語義分割模型生成若干像素級道路坑洞初步檢測結果,然后,進一步將初步檢測到的路面坑洞邊緣點云劃分為外邊緣點和內邊緣點2 類。外部邊緣可以擬合局部平面和計算坑洞體積,內部邊緣用于分析道路深度分布,以減少誤檢測的情況。
在2012 年深度學習誕生前,傳統的基于2D 圖像處理的方法在坑洞檢測中居于主導地位。然而,這些方法往往需要大量計算資源,并且檢測的精度極易受到光照和天氣等環境因素的影響[37]。此外,路面坑洞的輪廓多樣且不規則,并不總是規律地呈現圓形或橢圓形,使傳統方法中的幾何假設不再適用。因此,2013 年起,研究人員開發了基于3D 點云建模與分割的方法,以增強對環境的魯棒性、提高道路坑洞檢測的精度[17]。但是,這些方法通常約束單幀3D道路點云在某特定幾何面內,通常為小視場范圍。盡管在改善模型建立的魯棒性方面開展了大量研究,如引進隨機采樣一致性(Random Sample Consensus,RANSAC)算法優化[8],但是都以引入海量參數為代價來保證性能,這大幅提高了計算門檻,且適用場景十分有限。
在過去的5 年中,DCNN 因其自學習能力和強大的場景適應能力,被大量用于解決道路坑洞檢測問題。然而,分類網絡只能簡單分辨道路圖像中是否存在坑洞,不能給出坑洞的任何信息。目標檢測網絡有所改進,能夠大致標記坑洞在圖片中的位置。由于交通部門了解特定路段的路面狀況通常需要統計路段上坑洞出現的頻率及坑洞的面積、體積等幾何屬性,幾何屬性的獲取算法開發結合3D道路幾何重建和語義分割的混合方法是需要更多關注的方向。且最近的深度立體匹配算法已經展示出不錯的性能,利用遷移學習可以輕易地構建道路的三維模型。但是,這種方法通常需要海量標注良好的標簽數據來訓練立體匹配,其實現較為困難。因此,針對道路三維重建的無監督立體匹配算法和自監督立體匹配算法是當前值得進一步探索的研究領域。這類算法可以有效提高路面重建的精度和效率,為道路檢測領域帶來更多的應用前景。此外,數據融合的語義分割算法是無人汽車環境理解技術中備受關注的話題[38]。然而,這種類型的網絡通常需要復雜的計算,網絡剪枝和知識蒸餾是降低計算量的可行方法。在實際試驗中,還可以利用經過訓練的圖像分類網絡進行關鍵幀的提取,從而顯著減少語義分割的后續計算。與此同時,深度學習本質是基于數據驅動的,數據集的規模和質量決定了訓練的語義分割模型的性能。創建一個注釋良好的大規模數據集是具有挑戰性的任務,因此,開發用于道路坑洞檢測的小樣本語義分割網絡也是未來的努力方向。
本文系統綜述了目前經典的2D、3D 成像技術,在此基礎上調研了基于成像技術的視覺算法在道路坑洞檢測方面的研究進展。單獨使用傳統2D 圖像處理技術進行處理存在缺少道路幾何信息、檢測效果易受環境干擾的問題。單獨使用3D 點云建模與分割的方法則受到建模視場小、模型魯棒性難以提升的制約。因此,本文著重討論了性能更好的基于深度學習的方法。考慮到交通部門更關注坑洞的大小、體積等幾何屬性,未來的研究趨勢將是立體匹配的路面3D 重建結合多種數據融合的語義分割的混合方法。然而,立體匹配和語義分割算法的優異性能需要通過大規模注釋良好的數據集進行訓練,這需要耗費大量人力,故路面三維的無監督或自監督立體匹配算法以及用于道路圖像語義分割的少樣本學習是需要更多關注的研究方向。