林 濤,李顯培,盛文達(dá),任宜青,張 瑋,孫 夢
(長安大學(xué) 工程機(jī)械學(xué)院,西安 710064)
在社會經(jīng)濟(jì)和交通運(yùn)輸行業(yè)不斷發(fā)展的情況下,許多早期修建的瀝青路面出現(xiàn)了各種病害情況,而裂縫作為常見路表缺陷之一,不僅對道路的質(zhì)量和使用壽命產(chǎn)生影響,還會對交通安全產(chǎn)生威脅。因此,研究瀝青路面裂縫分割技術(shù),對路面安全監(jiān)管和養(yǎng)護(hù)管理具有十分重要的價值。
早期的路面裂縫檢測方式一般是以人工巡檢為主,存在著效率低、成本高和安全隱患等問題,而圖像處理分析技術(shù)的應(yīng)用,可以很好的解決這些問題。近年來,很多研究人員提出了各種技術(shù)來進(jìn)行裂縫提取。邵闖等針對傳統(tǒng)的閾值分割法難以實(shí)時分割裂縫的問題,提出了一種基于混合粒子群優(yōu)化的路面裂縫圖像閾值分割方法,利用該算法可以減少運(yùn)算時間,提高路面裂縫分割效率;韋春桃等針對路面裂縫檢測中存在噪聲干擾等情況,設(shè)計了一種基于自適應(yīng)閾值的裂縫自動檢測方法,解決某些裂縫邊緣和背景差異不明顯,導(dǎo)致裂縫檢測困難的問題,使得路面裂縫的檢測結(jié)果精度得到了提高;劉晟提出了一種優(yōu)化過的局部閾值分割技術(shù),對裂縫圖像進(jìn)行裂縫骨架提取,可以很好的從陰影背景中提取出路面裂縫;瞿中等針對目前的裂縫檢測方法,對不同環(huán)境下采集的裂縫圖像集檢測效果魯棒性不強(qiáng)的問題,采用基于結(jié)構(gòu)森林的學(xué)習(xí)框架來提取裂縫邊緣,結(jié)果表明該算法具有很高的裂縫提取精確度。劉豐年等提出一種相關(guān)特征約束的分水嶺分割算法,該算法分割出的路面裂縫圖像準(zhǔn)確清晰,有效降低了過分割現(xiàn)象;李鵬等提出了一種結(jié)合聚類和區(qū)域生長算法的路面裂縫分割算法,該算法識別準(zhǔn)確度高、性能穩(wěn)定,可以很好的解決非均勻背景情況下,裂縫分割的抗噪性低的問題。
在使用K-means聚類算法對裂縫圖像進(jìn)行分割時,初始聚類中心的位置很大程度上影響著Kmeans算法聚類結(jié)果的優(yōu)劣程度,可能導(dǎo)致聚類達(dá)到收斂的迭代次數(shù)較長,抗噪性較弱,分割結(jié)果存在著很多隨機(jī)干擾誤差等問題。針對傳統(tǒng)聚類分割方法的不足,本文結(jié)合GSO算法和K-means算法的優(yōu)點(diǎn),首先通過GSO算法優(yōu)良的全局尋優(yōu)的特點(diǎn)來確定初始聚類中心,然后在已確定的聚類中心基礎(chǔ)上,使用K-means算法進(jìn)行裂縫聚類,提高瀝青路面裂縫分割的提取精度。
GSO(Glowworm Swarm Optimization)算法又稱人工螢火蟲群優(yōu)化算法,是印度學(xué)者K.N.Krishnanand和D.Ghose在IEEE群體智能會議上提出的一種新的群智能優(yōu)化算法,通過模擬螢火蟲種群的生態(tài)過程,來完成全局搜索。GSO算法具有調(diào)節(jié)參數(shù)少,達(dá)到收斂的迭代次數(shù)少等優(yōu)點(diǎn)。其每次迭代主要包含5個階段:螢火蟲的部署(初始化)、熒光素更新階段、移動概率計算階段、位置更新階段、鄰域范圍更新階段。
1.1.1 初始化
首先模擬螢火蟲種群。假設(shè)種群有只螢火蟲,隨機(jī)分布在目標(biāo)區(qū)域內(nèi),每只螢火蟲都有初始熒光素值(表征螢火蟲的亮度)、動態(tài)決策域、初始步長、領(lǐng)域閾值n、熒光素?fù)]發(fā)系數(shù)、熒光素更新因子(適應(yīng)度提取比例)、動態(tài)決策域更新率(鄰域變化率)、螢火蟲感知域r、迭代次數(shù)。
1.1.2 更新熒光素值
在下一次迭代之前,每只螢火蟲的熒光素值會隨著迭代次數(shù)發(fā)生變化,其變化方式如式(1):

其中,在第次迭代時,l()代表了螢火蟲的亮度,(x())表示螢火蟲的適應(yīng)度值。
1.1.3 尋找螢火蟲的鄰居每次迭代時,螢火蟲都會在決策域半徑內(nèi)尋找鄰居,然后組成集合。螢火蟲在時刻的鄰居集合N()為式(2):


1.1.4 確定螢火蟲動作移動方向
螢火蟲在鄰居集合N()中選擇一只螢火蟲,集合內(nèi)每只螢火蟲都有被選中的可能。選中概率如式(3):

1.1.5 新螢火蟲的位置
每次迭代時,螢火蟲的位置變化為式(4):

1.1.6 更新動態(tài)決策域
每次迭代完后,決策域半徑可利用以下公式進(jìn)行更新:

通常情況下,K-means算法是通過個體間相似程度的判斷,將多個對象分為個簇。傳統(tǒng)K-means算法經(jīng)過不停的迭代尋找最優(yōu)解,通過每簇對象到各自對應(yīng)簇中心的距離誤差控制迭代的停止,如式(6):

式中:x為第簇的第個樣本;N為第簇的樣本個數(shù);c為第簇的聚類中心;為聚類簇的數(shù)目。
由于每次迭代各簇中心c都會不停變化,其計算形式如下:

在對裂縫圖像進(jìn)行分割時,最終確定的分割閾值的選取至關(guān)重要,本文算法采用基于RGB的灰度等級為的瀝青路面裂縫圖像,每個像素灰度的取值為[0,1,…,1]。首先,利用GSO算法良好的全局搜索能力確定初始聚類中心,在GSO算法達(dá)到收斂時,聚類中心的像素值已經(jīng)接近裂縫區(qū)域的像素灰度值;利用K-means算法對瀝青路面裂縫圖像進(jìn)行二值化分割,提取出裂縫骨架。算法流程如圖1所示,具體實(shí)現(xiàn)步驟為:
(1)定義初始化參數(shù),確定分類簇數(shù)和螢火蟲種群的基本參數(shù);
(2)更新所有螢火蟲亮度值和維度范圍;
(3)從得到的螢火蟲群體中抽取個螢火蟲作為初始中心,并計算每個螢火蟲到隨機(jī)抽取的初始中心的差異,根據(jù)距離的大小依次將螢火蟲劃分到各類當(dāng)中;
(4)重新計算各樣本的熒光素值,尋找各類中熒光素值最大的螢火蟲的相應(yīng)位置;
(5)更新模型中熒光素值最大的螢火蟲位置;
(6)螢火蟲位置更新完成后,將各類中最亮的螢火蟲位置作為k-means算法的迭代初始中心;
(7)計算聚類誤差平方和;
(8)更新聚類中心;
(9)判斷是否達(dá)到最大迭代次數(shù),如果沒有則重復(fù)步驟(7)、(8);
(10)輸出聚類中心以及聚類結(jié)果。

圖1 GSO-Kmeans算法基本流程Fig.1 Basic flow chart of GSO-Kmeans algorithm
實(shí)驗圖片來自手機(jī)拍攝的瀝青路面裂縫照片,設(shè)定聚類簇分別為裂縫骨架和瀝青路面背景。采用GSO-Kmeans聚類算法分割后的瀝青路面裂縫圖像如圖2所示,該算法可以實(shí)現(xiàn)對路面裂縫圖像的準(zhǔn)確分割。

圖2 GSO-Kmeans聚類前后對比Fig.2 Comparison before and after GSO-Kmeans clustering
將本文的GSO-Kmeans算法與傳統(tǒng)的K-means聚類算法分別運(yùn)用于裂縫分割,分割結(jié)果如圖3所示。經(jīng)過實(shí)驗測試,各運(yùn)行30次取平均值得到的數(shù)據(jù),證明GSO-Kmeans聚類算法分割結(jié)果對噪聲的抗干擾性比較強(qiáng),且收斂時的迭代次數(shù)較少,算法收斂時間更短,具體數(shù)據(jù)結(jié)果見表1。

表1 算法迭代次數(shù)與運(yùn)行時間對比Tab.1 Comparison of algorithm iteration times and target running time

圖3 路面裂縫分割試驗對比Fig.3 Comparison of pavement crack segmentation test
傳統(tǒng)的K-means聚類算法在應(yīng)用于圖像分割時,聚類中心的隨機(jī)選取存在著算法迭代次數(shù)多,收斂時間長的問題。本文提出了一種結(jié)合人工螢火蟲群優(yōu)化算法與K-means聚類算法用于裂縫圖像分割。該算法在初始化聚類中心之前,利用人工螢火蟲群優(yōu)化算法的全局尋優(yōu)能力,快速逼近全局最優(yōu)的聚類中心,然后在此基礎(chǔ)上使用K-means聚類分割圖像。將本文算法和傳統(tǒng)的K-means聚類算法進(jìn)行對比試驗,結(jié)果表明本文算法可以很好地分割出裂縫骨架,提高K-means算法的抗干擾性,減少達(dá)到收斂的迭代次數(shù),保證了瀝青路面裂縫分割結(jié)果的準(zhǔn)確性。