林 濤,李顯培,盛文達,任宜青,張 瑋,孫 夢
(長安大學 工程機械學院,西安 710064)
在社會經濟和交通運輸行業(yè)不斷發(fā)展的情況下,許多早期修建的瀝青路面出現了各種病害情況,而裂縫作為常見路表缺陷之一,不僅對道路的質量和使用壽命產生影響,還會對交通安全產生威脅。因此,研究瀝青路面裂縫分割技術,對路面安全監(jiān)管和養(yǎng)護管理具有十分重要的價值。
早期的路面裂縫檢測方式一般是以人工巡檢為主,存在著效率低、成本高和安全隱患等問題,而圖像處理分析技術的應用,可以很好的解決這些問題。近年來,很多研究人員提出了各種技術來進行裂縫提取。邵闖等針對傳統(tǒng)的閾值分割法難以實時分割裂縫的問題,提出了一種基于混合粒子群優(yōu)化的路面裂縫圖像閾值分割方法,利用該算法可以減少運算時間,提高路面裂縫分割效率;韋春桃等針對路面裂縫檢測中存在噪聲干擾等情況,設計了一種基于自適應閾值的裂縫自動檢測方法,解決某些裂縫邊緣和背景差異不明顯,導致裂縫檢測困難的問題,使得路面裂縫的檢測結果精度得到了提高;劉晟提出了一種優(yōu)化過的局部閾值分割技術,對裂縫圖像進行裂縫骨架提取,可以很好的從陰影背景中提取出路面裂縫;瞿中等針對目前的裂縫檢測方法,對不同環(huán)境下采集的裂縫圖像集檢測效果魯棒性不強的問題,采用基于結構森林的學習框架來提取裂縫邊緣,結果表明該算法具有很高的裂縫提取精確度。劉豐年等提出一種相關特征約束的分水嶺分割算法,該算法分割出的路面裂縫圖像準確清晰,有效降低了過分割現象;李鵬等提出了一種結合聚類和區(qū)域生長算法的路面裂縫分割算法,該算法識別準確度高、性能穩(wěn)定,可以很好的解決非均勻背景情況下,裂縫分割的抗噪性低的問題。
在使用K-means聚類算法對裂縫圖像進行分割時,初始聚類中心的位置很大程度上影響著Kmeans算法聚類結果的優(yōu)劣程度,可能導致聚類達到收斂的迭代次數較長,抗噪性較弱,分割結果存在著很多隨機干擾誤差等問題。針對傳統(tǒng)聚類分割方法的不足,本文結合GSO算法和K-means算法的優(yōu)點,首先通過GSO算法優(yōu)良的全局尋優(yōu)的特點來確定初始聚類中心,然后在已確定的聚類中心基礎上,使用K-means算法進行裂縫聚類,提高瀝青路面裂縫分割的提取精度。
GSO(Glowworm Swarm Optimization)算法又稱人工螢火蟲群優(yōu)化算法,是印度學者K.N.Krishnanand和D.Ghose在IEEE群體智能會議上提出的一種新的群智能優(yōu)化算法,通過模擬螢火蟲種群的生態(tài)過程,來完成全局搜索。GSO算法具有調節(jié)參數少,達到收斂的迭代次數少等優(yōu)點。其每次迭代主要包含5個階段:螢火蟲的部署(初始化)、熒光素更新階段、移動概率計算階段、位置更新階段、鄰域范圍更新階段。
1.1.1 初始化
首先模擬螢火蟲種群。假設種群有只螢火蟲,隨機分布在目標區(qū)域內,每只螢火蟲都有初始熒光素值(表征螢火蟲的亮度)、動態(tài)決策域、初始步長、領域閾值n、熒光素揮發(fā)系數、熒光素更新因子(適應度提取比例)、動態(tài)決策域更新率(鄰域變化率)、螢火蟲感知域r、迭代次數。
1.1.2 更新熒光素值
在下一次迭代之前,每只螢火蟲的熒光素值會隨著迭代次數發(fā)生變化,其變化方式如式(1):
其中,在第次迭代時,l()代表了螢火蟲的亮度,(x())表示螢火蟲的適應度值。
1.1.3 尋找螢火蟲的鄰居每次迭代時,螢火蟲都會在決策域半徑內尋找鄰居,然后組成集合。螢火蟲在時刻的鄰居集合N()為式(2):
1.1.4 確定螢火蟲動作移動方向
螢火蟲在鄰居集合N()中選擇一只螢火蟲,集合內每只螢火蟲都有被選中的可能。選中概率如式(3):
1.1.5 新螢火蟲的位置
每次迭代時,螢火蟲的位置變化為式(4):
1.1.6 更新動態(tài)決策域
每次迭代完后,決策域半徑可利用以下公式進行更新:
通常情況下,K-means算法是通過個體間相似程度的判斷,將多個對象分為個簇。傳統(tǒng)K-means算法經過不停的迭代尋找最優(yōu)解,通過每簇對象到各自對應簇中心的距離誤差控制迭代的停止,如式(6):
式中:x為第簇的第個樣本;N為第簇的樣本個數;c為第簇的聚類中心;為聚類簇的數目。
由于每次迭代各簇中心c都會不停變化,其計算形式如下:
在對裂縫圖像進行分割時,最終確定的分割閾值的選取至關重要,本文算法采用基于RGB的灰度等級為的瀝青路面裂縫圖像,每個像素灰度的取值為[0,1,…,1]。首先,利用GSO算法良好的全局搜索能力確定初始聚類中心,在GSO算法達到收斂時,聚類中心的像素值已經接近裂縫區(qū)域的像素灰度值;利用K-means算法對瀝青路面裂縫圖像進行二值化分割,提取出裂縫骨架。算法流程如圖1所示,具體實現步驟為:
(1)定義初始化參數,確定分類簇數和螢火蟲種群的基本參數;
(2)更新所有螢火蟲亮度值和維度范圍;
(3)從得到的螢火蟲群體中抽取個螢火蟲作為初始中心,并計算每個螢火蟲到隨機抽取的初始中心的差異,根據距離的大小依次將螢火蟲劃分到各類當中;
(4)重新計算各樣本的熒光素值,尋找各類中熒光素值最大的螢火蟲的相應位置;
(5)更新模型中熒光素值最大的螢火蟲位置;
(6)螢火蟲位置更新完成后,將各類中最亮的螢火蟲位置作為k-means算法的迭代初始中心;
(7)計算聚類誤差平方和;
(8)更新聚類中心;
(9)判斷是否達到最大迭代次數,如果沒有則重復步驟(7)、(8);
(10)輸出聚類中心以及聚類結果。
圖1 GSO-Kmeans算法基本流程Fig.1 Basic flow chart of GSO-Kmeans algorithm
實驗圖片來自手機拍攝的瀝青路面裂縫照片,設定聚類簇分別為裂縫骨架和瀝青路面背景。采用GSO-Kmeans聚類算法分割后的瀝青路面裂縫圖像如圖2所示,該算法可以實現對路面裂縫圖像的準確分割。
圖2 GSO-Kmeans聚類前后對比Fig.2 Comparison before and after GSO-Kmeans clustering
將本文的GSO-Kmeans算法與傳統(tǒng)的K-means聚類算法分別運用于裂縫分割,分割結果如圖3所示。經過實驗測試,各運行30次取平均值得到的數據,證明GSO-Kmeans聚類算法分割結果對噪聲的抗干擾性比較強,且收斂時的迭代次數較少,算法收斂時間更短,具體數據結果見表1。
表1 算法迭代次數與運行時間對比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ōu)化算法與K-means聚類算法用于裂縫圖像分割。該算法在初始化聚類中心之前,利用人工螢火蟲群優(yōu)化算法的全局尋優(yōu)能力,快速逼近全局最優(yōu)的聚類中心,然后在此基礎上使用K-means聚類分割圖像。將本文算法和傳統(tǒng)的K-means聚類算法進行對比試驗,結果表明本文算法可以很好地分割出裂縫骨架,提高K-means算法的抗干擾性,減少達到收斂的迭代次數,保證了瀝青路面裂縫分割結果的準確性。