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