李 鵬 王青寧 單鈺強
(1.南京信息工程大學,江蘇省大氣環(huán)境與裝備技術協(xié)同創(chuàng)新中心,江蘇 南京 210044;2.南京信息工程大學,江蘇省氣象探測與信息處理重點實驗室,江蘇 南京 210044;3.南京信息工程大學濱江學院,江蘇 無錫 214105)
公路路面病害對行車安全有重大隱患,常見的路面病害有坑洼、裂縫、松散和車轍等。不同的病害類型關系到不同的危機程度。因此,路面病害檢測對公路維護具有重大意義。
在國外研究中,Luo 等人[1]提出采用奇異值分解提取裂縫特征,在此基礎上使用滑動窗口進行分割和識別。該方法適合狹窄的管道裂縫,但對寬視角的路面病害檢測效果不盡人意。Banharnsakun[2]提出了將人工蜂群算法與人工神經網(wǎng)絡相結合的路面裂縫檢測與分類算法。該方法的分割精度與SVM 相比提高了近20%,但性能仍有進一步的改進空間。Zhang等人[3]提出一種基于卷積神經網(wǎng)絡的高效算法用于三維瀝青路面裂縫自動識別檢測中。與近年發(fā)展起來的基于傳統(tǒng)機器學習和成像算法的裂縫檢測算法相比,CrackNet 在F 度量方面明顯優(yōu)于傳統(tǒng)方法,但針對復雜路面情況時,分割效果有所下降。Noh Y等[4]采用模糊C 均值算法自動地對裂縫進行分割。最后通過形態(tài)學操作對裂縫進行精確分割。但該方法需要先有經驗判斷閾值,不具有良好的自適應性。
在國內研究中,李加州[5]提出了一種改進的極限學習機算法,該模型對極限學習機中隨機給定的參數(shù)使用獅群算法進行優(yōu)化以提高識別精度,并采用卷積神經網(wǎng)絡對微小裂縫進行特征提取將其作為改進分類器的輸入。但該方法只識別出裂縫類型并沒有對裂縫進行檢測。李鵬等人[6]提出一種改進的脈沖耦合神經網(wǎng)絡的檢測方法,通過簡化脈沖耦合神經網(wǎng)絡的模型來對關鍵參數(shù)自適應以及對神經元點火條件進行優(yōu)化,但是在路面有雜物干擾的情況下,裂縫檢測提取效果還不是很理想。陳曉東等人[7]提出了將Gabor 濾波器與卷積神經網(wǎng)絡相結合的檢測模型,提取裂縫圖像的Gabor 紋理特征,來解決傳統(tǒng)CNN 單一有效特征的學習,檢測準確率有較高提升,但要需要大量訓練樣本。
路面病害情況復雜,往往出現(xiàn)多種病害相雜糅。如坑洼邊緣連接著網(wǎng)狀裂縫,網(wǎng)狀裂縫旁常伴隨著路面松散。上述方法對路面裂縫檢測效果優(yōu)良,但不適用于復雜病害的檢測。為此,本文提出適應性較強的路面病害檢測方法。采用二維Otsu 對病害圖像進行像素點分類,選擇合適的訓練樣本。提取圖像的紋理特征以及邊緣形狀特征。由于圖像數(shù)據(jù)量大,對提取后的特征向量進行降維,將得到的新特征作為特征屬性對遺傳算法改進的核極限學習機(Genetic Algorithm-Kernel Extreme Learning Machine,GA-KELM)進行訓練產生分類器,最后對路面病害進行分割。
極限學習機被廣泛應用在圖像分類識別領域中,將其作為分類器逐漸成為熱門話題。由于訓練樣本大多人工選取,這讓圖像分割的自適應性較低且影響分類器的分類準確性。為此采用二維Otsu對訓練樣本進行自動選取。
Otsu 是傳統(tǒng)的閾值分割方法,不能反映圖像的空間信息。在噪聲干擾下,仍按照一維灰度特征就會出現(xiàn)錯分割現(xiàn)象。二維Otsu 利用原圖與鄰域平滑圖像構建二維直方圖,它在包含圖像的灰度信息的同時考慮了像素點與鄰域的空間關系,這使圖像的抗噪性能得到提高,改善了分割效果。
本文首先將原始的RGB 圖轉化為灰度圖像,設灰度圖像中的一個像素點為f(i,j),像素的鄰域大小為n×n,則它的鄰域灰度均值為g(i.j) =。根據(jù)2D Otsu[8]計算出最佳閾值(s0,t0)*。其中s0是灰度分割閾值,t0是鄰域分割閾值。抽取200 個大于s0和t0的像素點作為訓練正樣本。
紋理特征是圖像的固有特征之一,它主要提取灰度分布信息。將紋理特征作為訓練樣本的特征屬性已較為常用,但只提取單一紋理特征無法對路面病害進行有效描述。考慮到病害邊緣梯度值較大,而非目標區(qū)域梯度值較小。梯度方向直方圖(Histogram of Oriented Gradient,HOG)能較好地描述梯度信息。綜合利用紋理特征和形狀特征要比單獨使用紋理特征或者形狀特征獲得更好的分類性能。所以,本文對訓練樣本進行LBP 特征提取和HOG 特征提取,并將提取的特征向量進行融合。
紋理特征使用局部二值模式,它具有無參數(shù),計算簡單的優(yōu)點。LBP 算子在3×3 的鄰域中,以中心像素(xc,yc)為閾值,將周圍8 個點與閾值做比較。如果周圍像素點大于等于中心像素,則像素點置為1,否則置為0。Ojala[9]對LBP 算子進行改進,采用不同半徑的圓形鄰域代替固定范圍的正方形鄰域。該方法可以適應不同尺度的紋理特征,并達到灰度和旋轉不變性的要求。LBP 提取公式為:
式中:n是中心像素總數(shù),ip是第p個鄰域像素灰度值,ic是中心像素灰度值,I(ip-ic)=
對訓練樣本進行HOG 提取。其中訓練樣本像素為40 pixel×40 pixel,元胞大小為8×8,塊大小為16×16,每個塊的梯度直方圖為2×2×9 =36 維,則HOG 特征維數(shù)為7×7×36 =1 764。
將提取的LBP 特征和HOG 特征使用增廣特征向量進行串行融合。融合公式為:
式中:λ=0.5 為權重系數(shù);x,y為樣本空間對應的特征向量。
上述得到的特征向量數(shù)據(jù)量大且輸入數(shù)據(jù)的數(shù)目和維數(shù)越多,訓練部分的計算越復雜。為有效緩解計算復雜度與時間消耗,采用PCA 進行降維。它的實質是通過基變換,把存在相關性的一系列變量轉變?yōu)榛ゲ幌嚓P的變量,同時根據(jù)需要提取出綜合性強的變量即為主成分。
本文利用PCA 線性擬合的思路對得到的特征向量進行線性組合,構建其協(xié)方差矩陣,計算協(xié)方差矩陣的特征值和特征向量按從大到小進行排序,保留前k個特征。盡可能多地反映原來各病害的特征的信息。主成分分析法步驟如下:
(1)對上述特征向量按行排列組成m行n列的原始數(shù)據(jù);
(4)求出協(xié)方差矩陣的特征值λ和相對應的特征向量w公式如下:|C-λI|=0,cw=λw;
(5)通過特征值占比來確定主成分;
(6)計算貢獻率Rk即前k個主成分相對所有主成分所占比:Rk=
(7)將滿足條件的前k個特征向量進行組合并進行投影,得到降維后的新k維特征。其投影過程即為降維過程。
由上述分析可知,當主成分貢獻率達到85%~95%時,經過PCA 處理的特征向量y可以代替原始特征進行學習,即。
極限學習機(Extreme Learning Machine,ELM)是單隱層前饋神經網(wǎng)絡,被廣泛應用于分類問題。它與傳統(tǒng)的基于梯度反向傳播的學習算法相比具有如下優(yōu)點:①運算速度快。因為輸入層與隱含層的連接權值隨機產生,隱含層與輸出層的連接權值通過解方程得到而非迭代調整,這使得學習速度大大降低。②人為干預少,使用方便。只需調整ELM 中隱含層神經元個數(shù)便可獲得較好的性能。③ELM與SVM 和BP 神經相比泛化性能好。ELM 的原理如圖1 所示,它由輸入層、隱含層和輸出層組成。
圖1 ELM 原理圖
x為輸入樣本的特征向量,ωi為輸入層與隱含層的連接權值ωi=[ωi1,ωi2,…,ωin]T,βi為隱含層與輸出層的連接權值βi=[βi1,βi2,…,βim]T,y為樣本對應的標記向量;h(x)為隱含層輸出h(x)=[h1(x),…,hL(x)]。hi(x)計算公式如下:
式中:g(·)為激活函數(shù);Wi為第i個輸入層與隱含層的連接權值;βi為第i隱含層與輸出層的連接權值;bi為第i個隱含層單元的偏差。
在極限學習機中,輸入權重ωi和隱含層偏差bi無需人為干預,隨機給定。隱含層與輸出層的連接權值可以將其轉化為一個線性系統(tǒng)進行求解。即Hβ=Y′,β*=H+Y。H+為矩陣的Moore-Penrose 廣義逆矩陣。因此,只需確定隱含層神經元個數(shù),便可得到唯一最優(yōu)解。
將極限學習機作為分類器使用時,其決策方程為:
在H未知時,用核函數(shù)K(u,v)代替式(4)中的h(x)HT和HHT即為核極限學習機。
由于KELM 中輸入權重ωi和隱含層偏差bi隨機給定,這讓分類器的不確定性增加。為此,本文采用遺傳算法對ωi和bi進行優(yōu)化,改進方法如下:對隨機給定的ωi和bi進行二進制編碼,設為初代種群。計算個體適應度,適應度函數(shù)設為測試樣本的輸出值與期望值的誤差。若滿足條件,值則解碼輸出為最佳權值和偏差,否則進行選擇交叉和變異操作產生新的個體,不斷迭代直至滿足條件。流程圖如圖2 所示。參數(shù)設置為:種群大小為60,最大遺傳代數(shù)為200,交叉概率為0.6,變異概率為0.01。
圖2 GA-KELM 流程圖
綜上,只需設置激勵函數(shù)和隱含層神經元數(shù)目便可對GA-KELM 進行學習。本文的激勵函數(shù)為sigmoid 函數(shù)。不同隱含層神經元個數(shù)對分類準確性有一定影響,為了讓GA-KELM 的分類性能達到最優(yōu),分別將經過PCA 降維的特征向量與未經降維的數(shù)據(jù)輸入到訓練模型中。從10 個節(jié)點開始依次增加10 個,來尋找分類準確率最高時所對應的隱含層神經元節(jié)點數(shù)。如圖3 所示。
圖3 隱含層神經元個數(shù)對分類的影響
經過PCA 處理的路面病害數(shù)據(jù)在隱含層神經元節(jié)點數(shù)為60 時,分類準確率達97%。而未經PCA 處理的數(shù)據(jù)則是在神經元個數(shù)為70 時分類準確性達到極大值,比已經過處理的增加了10。隨著隱含層數(shù)目的增加,分類準確性波動較大且在達到極值后有所下降。因此,通過PCA 降維可以有效減少訓練樣本特征的向量維數(shù),在保證訓練樣本特征多樣性的情況下緩解計算的復雜度。
實驗在軟件MATLAB R2015b 而硬件為Intel(R)Core(TM)i5-4210M CPU 下,對大小為300 pixel×200 pixel的200 張路面病害圖像進行實驗。
將本文算法與文獻[10]由多個特征訓練得到的分類器進行對比。分割結果如圖4 所示,圖中中間一列為本文算法所得結果。
從圖4 可以看出,這兩種算法對于橫向和網(wǎng)狀裂縫的分割效果較為理想,裂縫邊緣清晰。但對于坑洼和車轍等復雜病害分割效果較差。圖4(c)中,坑洼與網(wǎng)狀裂縫的連接處沒有分割出來。邊緣細節(jié)不明顯,出現(xiàn)像素點丟失與過分割現(xiàn)象。圖4(e)中,病害目標占背景區(qū)域比重較大,分割時易受噪聲干擾。采用對比算法已無法區(qū)別病害和松散。而使用本文算法進行分割,不僅抗干擾能力強而且對這兩種病害細節(jié)保留較好。
圖4 不同算法對路面病害檢測結果對比
分別計算圖像的結構相似性(Structured Similerity,SSIM),其值越接近1,表明分割的精度越高。結果如表1 所示。
表1 分割性能SSIM 值比較
本文算法的SSIM 值穩(wěn)定在0.93 左右,波動起伏不大。加入亮度特征后分割精度反而下降,這是因為受光照不均勻影響增加了目標和背景判決的難度。與對比算法相比,坑洼、車轍和松散的分割準確率分別提高了19.6%和30%。因此特征的選擇尤為重要,不恰當?shù)奶卣鲿狗指罹认陆怠?/p>
為進一步驗證分類器的性能,對路面病害圖增加噪聲密度為0.02 的椒鹽噪聲然后分別計算GA-KELM、ELM 和SVM 的分類準確率性和運行時間。計算結果如表2 所示。由表2 可以看出,ELM需要調用的參數(shù)少,運行時間快但分類精度還需進一步提升。即使存在噪聲干擾,GA-KELM 的分類準確度仍較高,雖耗時比傳統(tǒng)的ELM 分類器高但滿足實時檢測的要求。
表2 分類準確率與運行時間
本文采用二維Otsu 自動選取訓練樣本克服了人工選取樣本的缺陷。綜合了紋理特征和形狀特征以提高對復雜路面病害檢測的適應性。但隨著特征維數(shù)的增加,訓練復雜度提高。通過主成分分析法選擇少數(shù)綜合性強的特征向量來代表原始的特征信息更能反映圖像的本質特征。再將其作為特征屬性對改進的核極限學習機進行訓練產生分類器。把對路面病害分割轉化為對像素的分類。實驗結果表明,本文算法對復雜病害的分割精度較高,和對比算法相比提高了近24.8%。但本文只選取了2 種特征屬性,若再選取其他特征屬性,則新特征維數(shù)會對分割準確度產生影響。