藍章禮,黃 濤,李 戰,匡 恒
(重慶交通大學 信息科學與工程學院,重慶 400074)
隨著深度學習技術的快速發展,利用深度學習對路面病害進行自動識別分類的方法得到廣泛研究.目前對瀝青路面病害的檢測方法,主要采用工程檢測車沿公路線行駛,用CCD攝像機實時采集路面圖像,這些圖像分辨率高且數量巨大,計算機在自動處理時運算量大、效率低[1].雖然一幅圖像分辨率很高,其中包含數百萬個像素點,但大部分內容為無病害路面,含有病害的信息少.若能剔除無病害部分,在適當降低圖像分辨率的同時提升圖像的信息熵,對提高分類識別運算的工作效率有很大幫助.
關于圖像縮放算法,比較傳統的是基于插值的運算,如最近鄰插值法、雙線性插值法、雙三次插值法等,其實質是對圖像建立連續的數學模型,然后進行重采樣得到目標圖像,這類算法縮放效果一般,容易產生失真或馬賽克現象.高健等在基于插值運算的基礎上提出一種鄰近區域采樣的圖像加權平均縮小放方法,并對縮小后的圖像進行灰度拉伸,以提高圖像對比度[2].常軍等在文獻[2]的基礎上根據方差對圖像的影響做了自適應修正.從逼近的角度來說,樣條函數插值的效果更理想,如三次樣條插值、B樣條插值等[3].馮杰飛等提出非均勻B樣條插值圖像放大算法,優化了圖像放大后的視覺效果[4].該類方法更適合處理灰度圖像,且對于圖像長寬比不變時的縮小效果較好,一旦改變圖像長寬比,圖像就會發生不同程度的畸變,從而改變路面病害的結構特征[5,6].
針對傳統插值算法不能很好的保持圖像中目標區域的視覺效果.Avidan S等在SIGGRAPH國際會議上首次提出基于內容的縫裁剪圖像縮放算法.其核心是利用梯度能量在圖像中尋找一條八連通的能量最小化縫,通過刪除或增加一條能量縫達到圖像縮放目的[7].該算法在目標區域較大或者背景較復雜時容易丟失目標信息或破壞目標結構,具有很大的局限性.
因此,研究者們提出一些改進方法.Choi J等提出的改進方法更好的保留圖像的突出結構[8].皺盼盼等提出一種主體區域保持的圖像區域縮放算法,根據得到的權重不同對主體區域不同程度的保護[9].林曉等提出的方法在考慮圖像內容的同時也考慮目標的形狀結構,使縮放效果更好[10].但是,對于瀝青路面病害圖像而言,病害種類較多,且病害區域的位置和大小不確定,特別是網狀裂縫,圖像大部分往往被病害區域占據,采用該類方法進行圖像縮放容易破壞病害結構.同時,由CCD采集的路面圖像存在明顯的光照非均勻干擾,與病害區域灰度差異不大的暗區域容易被誤判為目標而得以保留.因此,該算法不適用于瀝青路面病害圖像的縮小處理.
以上傳統及改進算法在一定程度上實現了圖像縮放目的,并優化了縮放后圖像的視覺效果,但基本不能提升圖像信息熵,即圖像縮放的同時也丟失了必要的特征信息.本文提出一種針對瀝青路面病害二值圖像的縮小算法——基于圖像內容的瀝青路面病害圖像區域分割算法,該算法通過統計圖像各行、各列的像素值信息,丟棄不含信息或含較少信息的無效區域,不僅降低了圖像分辨率,且能很好的保留病害特征信息,有效提升圖像信息熵.
算法流程如圖1所示,主要包括圖像預處理、病害區域提取、基于圖像內容的區域分割三個部分.

圖1 算法流程圖
由于瀝青路面本身材料原因存在大量干擾噪聲.同時路面水漬、雜物、車道線及光照非均勻等影響.導致瀝青路面圖像內容較為復雜,需要對圖像做預處理以減少大量噪聲對病害信息的干擾.
中值濾波,在抑制噪聲的同時能很好的保護病害邊緣信息[11],由于瀝青路面存在較多凸起顆粒,在后期對圖像二值化時容易產生大量噪聲.因此,在降采樣之前對圖像做濾波處理.
原圖像分辨率較高,為保證后期的算法效率,先對濾波后圖像做降采樣處理.比較常規的方法是鄰域采樣和隔行采樣,本文采用隔行采樣的方法實現.采樣過程如下:

其中k1、k2表示采樣次數.為避免圖像發生畸變,采樣比例按原圖像長寬比保持不變,即k1=k2.為保持圖像中病害的結構特征,k1、k2值不能過大.
本文處理的瀝青路面病害圖像還存在明顯的光照非均勻現象,表現為兩端較暗中間較亮,呈現出明暗相間縱向條紋狀,如圖2所示.因此,有必要對圖像做灰度校正,以消除光照非均勻帶來的影響[12].

圖2 瀝青路面病害圖像
POSHE算法又稱為部分重疊子塊直方圖均衡化,是直方圖均衡化的一種改進算法,能有效均衡圖像灰度差異,解決光照非均勻問題.
其思想是在Imageinput中定義一個模板w(m,n),固定移動步長為l,每移動一次都對模板下的區域做直方圖均衡化,直到處理完整幅圖像,如圖3所示.
該算法的步長l和模板w(m,n)的大小對處理圖像的效果有直接影響,減小l能明顯減弱圖像塊效應,但會增加計算量.Yang等通過實驗表明當l減小到w(m,n)大小的1/8或更小時,能很好的減弱圖像塊效應,但會改變圖像顏色,產生一定程度的失真[13].

圖3 POSHE算法過程
OTSU又稱為最大類間方差法,是一種常用的全局閾值分割算法,它能找出最佳分割閾值,將圖像中像素值劃分為前景和背景兩類.對于校正后的圖像,該方法輸出的二值圖像病害區域明顯,有利于病害區域提取.
即使經過前期勻光處理,有些大面積陰影區域與病害區域的灰度值很接近,可能存在被誤分割為前景的情況.Top-hat變換是一種解決光照非均勻問題的方法,但用于本文圖像的處理效果并不理想,作者引入其思想以消除大面積虛假前景區域.運算過程如下:

其中,Imageinput?S=(Imageinput⊕S)⊕S表示使用結構元素S對圖像Imageinput進行opening操作,其結果得到包含大部分虛假前景區域的二值圖像.最后做差運算達到消除大面積虛假前景區域的目的.
對于小面積孤點噪聲的去除,采用連通域去噪是一種有效的方法.在去除小面積孤點噪聲之前,先對圖像做膨脹處理,一方面保持病害區域的完整性,減少病害區域斷裂現象;另一方面減少連通域的個數,提高運算效率.
通過觀察分析,圖像中病害形成的連通域一般面積較大,形狀細長復雜,呈不規則狀;而孤點噪聲形成的連通域面積較小,形狀簡單,呈顆粒狀.因此,本文設定三個區域去噪的判決條件以消除孤點噪聲.
判決條件一: 計算圖像中每個連通域的面積Area,即該區域中像素點總數.

其中,regioni表示第i個連通域,Areai表示第i個連通域的面積,Ta為預設閾值.
判決條件二: 計算圖像中每個連通域在最小外接矩形中的占比p.病害區域由于形狀不規則,往往p值較小,而噪聲區域的p值一般較大.

其中,pi表示第i個連通域在最小外接矩形中的面積占比,Tp為預設閾值,RectangleAreai表示第i個連通域的最小外接矩形面積.
判決條件三: 計算圖像中每個連通域的最小外接矩形長寬比q.圖像噪聲區域的形狀呈顆粒狀,連通域的最小外接矩形長寬比q值大約在1左右.

其中,qi表示第i個連通域的最小外接矩形長寬比,Tq1和Tq2為預設閾值.
最后,對圖像做腐蝕運算,還原病害區域的實際結構.
經上述處理后的二值圖像ImageM×N,圖像中某像素點的坐標為(i,j),該點的像素值為f(i,j).其中,M、N表示輸入圖像ImageM×N的列和行,U、V表示輸出圖像ImageU×V的列和行.

算法流程如圖4所示.

圖4 基于圖像內容的區域分割算法流程
具體算法步驟如下:
步驟1.輸入圖像ImageM×N,通過目標輸出圖像ImageU×V計算得到閾值θrow和θcol.

步驟2.統計各行的像素值總和Fj,轉至步驟3.

步驟3.判斷θrow是否等于0.若等于0,轉至步驟4;若不等于0,轉至步驟6計算α的值.
步驟4.統計各列的像素值總和Fi,轉至步驟5.

步驟5.判斷θcol是否等于0.若等于0,轉至步驟8;若不等于0,轉至步驟6計算β的值.
步驟6.計算輸入圖像ImageM×N的上下比α或左右比β,初始化遍歷方向.上下比α指整幅圖像的上半部分與下半部分之比,左右比β指整幅圖像的左半部分與右半部分之比,通過α和β能大致判斷出病害區域及無效區域所在位置.轉至步驟7.
步驟7.根據α(或β)的值按表1獲取初始化遍歷方向,以次遍歷Fj(或Fi)的值,丟棄信息量最少的行(或列).每丟棄一次,θrow(或θcol)的值減1,轉至步驟3(步驟5).
步驟8.遍歷結束,輸出圖像ImageU×V.其中,


表1 初始化遍歷方向說明
為度量算法的有效性,計算分割后圖像所含信息量,本文引入圖像信息熵的概念用于評價算法.其中像素事件集A={0,1},事件在圖像中出現的概率分別為P={p0,p1}.因此,二值圖像的信息熵表示為:

本文的圖像數據由重慶市公路局提供,圖像分辨率為3088×2048像素,精度約為0.647 mm/pixel.為驗證算法的有效性及穩定性,在Win10系統下編程實驗,實驗硬件平臺為Intel(R)Core(TM)i7-8750H CPU 16 GB內存的PC機,軟件平臺為MATLAB R2016a.
預處理階段如圖5所示.為平滑圖像并保護病害邊緣,首先對圖5(a)做中值濾波處理,窗口尺寸設置為9×9大小.為提高算法效率,在進行后續處理工作前,需要對濾波后圖像做降采樣處理,從圖5(b)和圖5(c)的采樣結果可以看出,當k1=k2=3時分辨率縮小到386×256,基本能保持病害細節.但是,當k1=k2=4時,圖5(c)明顯變得模糊,有些細節也被丟失.因此,本文設置降采樣次數為3,分辨率縮小到386×256.
由于圖5(b)光照不均勻,明顯呈現出兩端較暗中間較亮,且存在明暗相間縱向條紋的情況.若直接對圖5(b)做閾值分割,將無法正確區分出前景與背景區域.因此,本文采用POSHE算法對圖5(b)做灰度校正,設置參數滑動模板w(m,n),步長l,經校正后的圖5(d)光照非均勻問題有所改善,雖然出現一定程度的失真,但也很好的突出了病害區域.
圖6為病害提取過程,為區分圖像周圍的噪聲區域,給圖像添加黑色邊框.圖6(a)由圖5(d)經OTSU閾值分割得到,但仍然存在一些被誤判的虛假前景.對圖6(a)引入top-hat變換思想,采用opening操作估計大面積虛假前景區域得到圖6(b),為消除這些大面積區域,將圖6(a)與圖6(b)做差運算得到圖6(c),可以看出明顯去除大面積虛假前景的干擾,最后,采用連通域去噪的方法對圖6(c)進一步處理.

圖5 瀝青路面圖像預處理

圖6 瀝青路面病害提取
最后得到的圖6(d)分辨率為386×256,很好的保持了原病害的結構特征,但除小部分區域含病害信息外,大部分是不含信息的無效區域.因此,在保證病害結構特征盡量不變的情況下丟棄部分無效區域,進一步降低圖像分辨率.
為驗證算法的有效性,采用兩種常見算法與本文算法作比較.同時,實驗圖像采用常見的三種瀝青路面病害圖像: 縱向裂縫、橫向裂縫、網狀裂縫,通過以上預處理及病害提取,得到三種裂縫類型的二值圖像.分割前圖像分辨率為386×256,分割后圖像分辨率為248×248.分割實驗結果如圖7至圖9.
表2為幾種算法對未縮小圖像和縮小后圖像的信息熵統計結果.由圖像信息熵的理論分析可知: 同樣分辨率大小的圖像,所含信息熵越大,其包含的信息量越多.

圖7 縱向裂縫區域分割實驗結果

圖8 橫向裂縫區域分割實驗結果

圖9 網狀裂縫區域分割實驗結果

表2 圖像信息熵比較
實驗結果表明: 無論是哪一種路面病害圖像,經幾種算法縮小后,本文算法縮小后的圖像所含信息熵都是最大,即縮小過程中丟失的信息最少.因此,本文算法能在降低圖像分辨率的同時,較好的保留圖像中病害特征信息,且能最大程度保持圖像中病害的結構不發生畸變.
提出一種基于圖像內容的瀝青路面病害圖像區域分割算法.該方法能有效降低圖像分辨率,同時較好的保留圖像中病害特征信息,提高后期對病害分類識別等相關研究工作的使用效率,為進一步研究病害自動分類識別奠定基礎.