藍(lán)章禮,黃 濤,李 戰(zhàn),匡 恒
(重慶交通大學(xué) 信息科學(xué)與工程學(xué)院,重慶 400074)
隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,利用深度學(xué)習(xí)對(duì)路面病害進(jìn)行自動(dòng)識(shí)別分類的方法得到廣泛研究.目前對(duì)瀝青路面病害的檢測(cè)方法,主要采用工程檢測(cè)車沿公路線行駛,用CCD攝像機(jī)實(shí)時(shí)采集路面圖像,這些圖像分辨率高且數(shù)量巨大,計(jì)算機(jī)在自動(dòng)處理時(shí)運(yùn)算量大、效率低[1].雖然一幅圖像分辨率很高,其中包含數(shù)百萬(wàn)個(gè)像素點(diǎn),但大部分內(nèi)容為無(wú)病害路面,含有病害的信息少.若能剔除無(wú)病害部分,在適當(dāng)降低圖像分辨率的同時(shí)提升圖像的信息熵,對(duì)提高分類識(shí)別運(yùn)算的工作效率有很大幫助.
關(guān)于圖像縮放算法,比較傳統(tǒng)的是基于插值的運(yùn)算,如最近鄰插值法、雙線性插值法、雙三次插值法等,其實(shí)質(zhì)是對(duì)圖像建立連續(xù)的數(shù)學(xué)模型,然后進(jìn)行重采樣得到目標(biāo)圖像,這類算法縮放效果一般,容易產(chǎn)生失真或馬賽克現(xiàn)象.高健等在基于插值運(yùn)算的基礎(chǔ)上提出一種鄰近區(qū)域采樣的圖像加權(quán)平均縮小放方法,并對(duì)縮小后的圖像進(jìn)行灰度拉伸,以提高圖像對(duì)比度[2].常軍等在文獻(xiàn)[2]的基礎(chǔ)上根據(jù)方差對(duì)圖像的影響做了自適應(yīng)修正.從逼近的角度來(lái)說(shuō),樣條函數(shù)插值的效果更理想,如三次樣條插值、B樣條插值等[3].馮杰飛等提出非均勻B樣條插值圖像放大算法,優(yōu)化了圖像放大后的視覺效果[4].該類方法更適合處理灰度圖像,且對(duì)于圖像長(zhǎng)寬比不變時(shí)的縮小效果較好,一旦改變圖像長(zhǎng)寬比,圖像就會(huì)發(fā)生不同程度的畸變,從而改變路面病害的結(jié)構(gòu)特征[5,6].
針對(duì)傳統(tǒng)插值算法不能很好的保持圖像中目標(biāo)區(qū)域的視覺效果.Avidan S等在SIGGRAPH國(guó)際會(huì)議上首次提出基于內(nèi)容的縫裁剪圖像縮放算法.其核心是利用梯度能量在圖像中尋找一條八連通的能量最小化縫,通過(guò)刪除或增加一條能量縫達(dá)到圖像縮放目的[7].該算法在目標(biāo)區(qū)域較大或者背景較復(fù)雜時(shí)容易丟失目標(biāo)信息或破壞目標(biāo)結(jié)構(gòu),具有很大的局限性.
因此,研究者們提出一些改進(jìn)方法.Choi J等提出的改進(jìn)方法更好的保留圖像的突出結(jié)構(gòu)[8].皺盼盼等提出一種主體區(qū)域保持的圖像區(qū)域縮放算法,根據(jù)得到的權(quán)重不同對(duì)主體區(qū)域不同程度的保護(hù)[9].林曉等提出的方法在考慮圖像內(nèi)容的同時(shí)也考慮目標(biāo)的形狀結(jié)構(gòu),使縮放效果更好[10].但是,對(duì)于瀝青路面病害圖像而言,病害種類較多,且病害區(qū)域的位置和大小不確定,特別是網(wǎng)狀裂縫,圖像大部分往往被病害區(qū)域占據(jù),采用該類方法進(jìn)行圖像縮放容易破壞病害結(jié)構(gòu).同時(shí),由CCD采集的路面圖像存在明顯的光照非均勻干擾,與病害區(qū)域灰度差異不大的暗區(qū)域容易被誤判為目標(biāo)而得以保留.因此,該算法不適用于瀝青路面病害圖像的縮小處理.
以上傳統(tǒng)及改進(jìn)算法在一定程度上實(shí)現(xiàn)了圖像縮放目的,并優(yōu)化了縮放后圖像的視覺效果,但基本不能提升圖像信息熵,即圖像縮放的同時(shí)也丟失了必要的特征信息.本文提出一種針對(duì)瀝青路面病害二值圖像的縮小算法——基于圖像內(nèi)容的瀝青路面病害圖像區(qū)域分割算法,該算法通過(guò)統(tǒng)計(jì)圖像各行、各列的像素值信息,丟棄不含信息或含較少信息的無(wú)效區(qū)域,不僅降低了圖像分辨率,且能很好的保留病害特征信息,有效提升圖像信息熵.
算法流程如圖1所示,主要包括圖像預(yù)處理、病害區(qū)域提取、基于圖像內(nèi)容的區(qū)域分割三個(gè)部分.
圖1 算法流程圖
由于瀝青路面本身材料原因存在大量干擾噪聲.同時(shí)路面水漬、雜物、車道線及光照非均勻等影響.導(dǎo)致瀝青路面圖像內(nèi)容較為復(fù)雜,需要對(duì)圖像做預(yù)處理以減少大量噪聲對(duì)病害信息的干擾.
中值濾波,在抑制噪聲的同時(shí)能很好的保護(hù)病害邊緣信息[11],由于瀝青路面存在較多凸起顆粒,在后期對(duì)圖像二值化時(shí)容易產(chǎn)生大量噪聲.因此,在降采樣之前對(duì)圖像做濾波處理.
原圖像分辨率較高,為保證后期的算法效率,先對(duì)濾波后圖像做降采樣處理.比較常規(guī)的方法是鄰域采樣和隔行采樣,本文采用隔行采樣的方法實(shí)現(xiàn).采樣過(guò)程如下:
其中k1、k2表示采樣次數(shù).為避免圖像發(fā)生畸變,采樣比例按原圖像長(zhǎng)寬比保持不變,即k1=k2.為保持圖像中病害的結(jié)構(gòu)特征,k1、k2值不能過(guò)大.
本文處理的瀝青路面病害圖像還存在明顯的光照非均勻現(xiàn)象,表現(xiàn)為兩端較暗中間較亮,呈現(xiàn)出明暗相間縱向條紋狀,如圖2所示.因此,有必要對(duì)圖像做灰度校正,以消除光照非均勻帶來(lái)的影響[12].
圖2 瀝青路面病害圖像
POSHE算法又稱為部分重疊子塊直方圖均衡化,是直方圖均衡化的一種改進(jìn)算法,能有效均衡圖像灰度差異,解決光照非均勻問題.
其思想是在Imageinput中定義一個(gè)模板w(m,n),固定移動(dòng)步長(zhǎng)為l,每移動(dòng)一次都對(duì)模板下的區(qū)域做直方圖均衡化,直到處理完整幅圖像,如圖3所示.
該算法的步長(zhǎng)l和模板w(m,n)的大小對(duì)處理圖像的效果有直接影響,減小l能明顯減弱圖像塊效應(yīng),但會(huì)增加計(jì)算量.Yang等通過(guò)實(shí)驗(yàn)表明當(dāng)l減小到w(m,n)大小的1/8或更小時(shí),能很好的減弱圖像塊效應(yīng),但會(huì)改變圖像顏色,產(chǎn)生一定程度的失真[13].
圖3 POSHE算法過(guò)程
OTSU又稱為最大類間方差法,是一種常用的全局閾值分割算法,它能找出最佳分割閾值,將圖像中像素值劃分為前景和背景兩類.對(duì)于校正后的圖像,該方法輸出的二值圖像病害區(qū)域明顯,有利于病害區(qū)域提取.
即使經(jīng)過(guò)前期勻光處理,有些大面積陰影區(qū)域與病害區(qū)域的灰度值很接近,可能存在被誤分割為前景的情況.Top-hat變換是一種解決光照非均勻問題的方法,但用于本文圖像的處理效果并不理想,作者引入其思想以消除大面積虛假前景區(qū)域.運(yùn)算過(guò)程如下:
其中,Imageinput?S=(Imageinput⊕S)⊕S表示使用結(jié)構(gòu)元素S對(duì)圖像Imageinput進(jìn)行opening操作,其結(jié)果得到包含大部分虛假前景區(qū)域的二值圖像.最后做差運(yùn)算達(dá)到消除大面積虛假前景區(qū)域的目的.
對(duì)于小面積孤點(diǎn)噪聲的去除,采用連通域去噪是一種有效的方法.在去除小面積孤點(diǎn)噪聲之前,先對(duì)圖像做膨脹處理,一方面保持病害區(qū)域的完整性,減少病害區(qū)域斷裂現(xiàn)象;另一方面減少連通域的個(gè)數(shù),提高運(yùn)算效率.
通過(guò)觀察分析,圖像中病害形成的連通域一般面積較大,形狀細(xì)長(zhǎng)復(fù)雜,呈不規(guī)則狀;而孤點(diǎn)噪聲形成的連通域面積較小,形狀簡(jiǎn)單,呈顆粒狀.因此,本文設(shè)定三個(gè)區(qū)域去噪的判決條件以消除孤點(diǎn)噪聲.
判決條件一: 計(jì)算圖像中每個(gè)連通域的面積Area,即該區(qū)域中像素點(diǎn)總數(shù).
其中,regioni表示第i個(gè)連通域,Areai表示第i個(gè)連通域的面積,Ta為預(yù)設(shè)閾值.
判決條件二: 計(jì)算圖像中每個(gè)連通域在最小外接矩形中的占比p.病害區(qū)域由于形狀不規(guī)則,往往p值較小,而噪聲區(qū)域的p值一般較大.
其中,pi表示第i個(gè)連通域在最小外接矩形中的面積占比,Tp為預(yù)設(shè)閾值,RectangleAreai表示第i個(gè)連通域的最小外接矩形面積.
判決條件三: 計(jì)算圖像中每個(gè)連通域的最小外接矩形長(zhǎng)寬比q.圖像噪聲區(qū)域的形狀呈顆粒狀,連通域的最小外接矩形長(zhǎng)寬比q值大約在1左右.
其中,qi表示第i個(gè)連通域的最小外接矩形長(zhǎng)寬比,Tq1和Tq2為預(yù)設(shè)閾值.
最后,對(duì)圖像做腐蝕運(yùn)算,還原病害區(qū)域的實(shí)際結(jié)構(gòu).
經(jīng)上述處理后的二值圖像ImageM×N,圖像中某像素點(diǎn)的坐標(biāo)為(i,j),該點(diǎn)的像素值為f(i,j).其中,M、N表示輸入圖像ImageM×N的列和行,U、V表示輸出圖像ImageU×V的列和行.
算法流程如圖4所示.
圖4 基于圖像內(nèi)容的區(qū)域分割算法流程
具體算法步驟如下:
步驟1.輸入圖像ImageM×N,通過(guò)目標(biāo)輸出圖像ImageU×V計(jì)算得到閾值θrow和θcol.
步驟2.統(tǒng)計(jì)各行的像素值總和Fj,轉(zhuǎn)至步驟3.
步驟3.判斷θrow是否等于0.若等于0,轉(zhuǎn)至步驟4;若不等于0,轉(zhuǎn)至步驟6計(jì)算α的值.
步驟4.統(tǒng)計(jì)各列的像素值總和Fi,轉(zhuǎn)至步驟5.
步驟5.判斷θcol是否等于0.若等于0,轉(zhuǎn)至步驟8;若不等于0,轉(zhuǎn)至步驟6計(jì)算β的值.
步驟6.計(jì)算輸入圖像ImageM×N的上下比α或左右比β,初始化遍歷方向.上下比α指整幅圖像的上半部分與下半部分之比,左右比β指整幅圖像的左半部分與右半部分之比,通過(guò)α和β能大致判斷出病害區(qū)域及無(wú)效區(qū)域所在位置.轉(zhuǎn)至步驟7.
步驟7.根據(jù)α(或β)的值按表1獲取初始化遍歷方向,以次遍歷Fj(或Fi)的值,丟棄信息量最少的行(或列).每丟棄一次,θrow(或θcol)的值減1,轉(zhuǎn)至步驟3(步驟5).
步驟8.遍歷結(jié)束,輸出圖像ImageU×V.其中,
表1 初始化遍歷方向說(shuō)明
為度量算法的有效性,計(jì)算分割后圖像所含信息量,本文引入圖像信息熵的概念用于評(píng)價(jià)算法.其中像素事件集A={0,1},事件在圖像中出現(xiàn)的概率分別為P={p0,p1}.因此,二值圖像的信息熵表示為:
本文的圖像數(shù)據(jù)由重慶市公路局提供,圖像分辨率為3088×2048像素,精度約為0.647 mm/pixel.為驗(yàn)證算法的有效性及穩(wěn)定性,在Win10系統(tǒng)下編程實(shí)驗(yàn),實(shí)驗(yàn)硬件平臺(tái)為Intel(R)Core(TM)i7-8750H CPU 16 GB內(nèi)存的PC機(jī),軟件平臺(tái)為MATLAB R2016a.
預(yù)處理階段如圖5所示.為平滑圖像并保護(hù)病害邊緣,首先對(duì)圖5(a)做中值濾波處理,窗口尺寸設(shè)置為9×9大小.為提高算法效率,在進(jìn)行后續(xù)處理工作前,需要對(duì)濾波后圖像做降采樣處理,從圖5(b)和圖5(c)的采樣結(jié)果可以看出,當(dāng)k1=k2=3時(shí)分辨率縮小到386×256,基本能保持病害細(xì)節(jié).但是,當(dāng)k1=k2=4時(shí),圖5(c)明顯變得模糊,有些細(xì)節(jié)也被丟失.因此,本文設(shè)置降采樣次數(shù)為3,分辨率縮小到386×256.
由于圖5(b)光照不均勻,明顯呈現(xiàn)出兩端較暗中間較亮,且存在明暗相間縱向條紋的情況.若直接對(duì)圖5(b)做閾值分割,將無(wú)法正確區(qū)分出前景與背景區(qū)域.因此,本文采用POSHE算法對(duì)圖5(b)做灰度校正,設(shè)置參數(shù)滑動(dòng)模板w(m,n),步長(zhǎng)l,經(jīng)校正后的圖5(d)光照非均勻問題有所改善,雖然出現(xiàn)一定程度的失真,但也很好的突出了病害區(qū)域.
圖6為病害提取過(guò)程,為區(qū)分圖像周圍的噪聲區(qū)域,給圖像添加黑色邊框.圖6(a)由圖5(d)經(jīng)OTSU閾值分割得到,但仍然存在一些被誤判的虛假前景.對(duì)圖6(a)引入top-hat變換思想,采用opening操作估計(jì)大面積虛假前景區(qū)域得到圖6(b),為消除這些大面積區(qū)域,將圖6(a)與圖6(b)做差運(yùn)算得到圖6(c),可以看出明顯去除大面積虛假前景的干擾,最后,采用連通域去噪的方法對(duì)圖6(c)進(jìn)一步處理.
圖5 瀝青路面圖像預(yù)處理
圖6 瀝青路面病害提取
最后得到的圖6(d)分辨率為386×256,很好的保持了原病害的結(jié)構(gòu)特征,但除小部分區(qū)域含病害信息外,大部分是不含信息的無(wú)效區(qū)域.因此,在保證病害結(jié)構(gòu)特征盡量不變的情況下丟棄部分無(wú)效區(qū)域,進(jìn)一步降低圖像分辨率.
為驗(yàn)證算法的有效性,采用兩種常見算法與本文算法作比較.同時(shí),實(shí)驗(yàn)圖像采用常見的三種瀝青路面病害圖像: 縱向裂縫、橫向裂縫、網(wǎng)狀裂縫,通過(guò)以上預(yù)處理及病害提取,得到三種裂縫類型的二值圖像.分割前圖像分辨率為386×256,分割后圖像分辨率為248×248.分割實(shí)驗(yàn)結(jié)果如圖7至圖9.
表2為幾種算法對(duì)未縮小圖像和縮小后圖像的信息熵統(tǒng)計(jì)結(jié)果.由圖像信息熵的理論分析可知: 同樣分辨率大小的圖像,所含信息熵越大,其包含的信息量越多.
圖7 縱向裂縫區(qū)域分割實(shí)驗(yàn)結(jié)果
圖8 橫向裂縫區(qū)域分割實(shí)驗(yàn)結(jié)果
圖9 網(wǎng)狀裂縫區(qū)域分割實(shí)驗(yàn)結(jié)果
表2 圖像信息熵比較
實(shí)驗(yàn)結(jié)果表明: 無(wú)論是哪一種路面病害圖像,經(jīng)幾種算法縮小后,本文算法縮小后的圖像所含信息熵都是最大,即縮小過(guò)程中丟失的信息最少.因此,本文算法能在降低圖像分辨率的同時(shí),較好的保留圖像中病害特征信息,且能最大程度保持圖像中病害的結(jié)構(gòu)不發(fā)生畸變.
提出一種基于圖像內(nèi)容的瀝青路面病害圖像區(qū)域分割算法.該方法能有效降低圖像分辨率,同時(shí)較好的保留圖像中病害特征信息,提高后期對(duì)病害分類識(shí)別等相關(guān)研究工作的使用效率,為進(jìn)一步研究病害自動(dòng)分類識(shí)別奠定基礎(chǔ).