吳應(yīng)永,高曉蓉,楊 陽,尹紫紅
(1.浙江郵電職業(yè)技術(shù)學(xué)院 通信技術(shù)咨詢院,杭州 310000;2.西南交通大學(xué) 物理科學(xué)與技術(shù)學(xué)院 光電工程研究所,成都 610031;3.中國移動通信集團(tuán)浙江有限公司 杭州分公司,杭州 310000;4.西南交通大學(xué) 土木工程學(xué)院 道路與鐵道工程系,成都 610031)
由于高速鐵路無砟軌道板在國內(nèi)的應(yīng)用時間不長,所以在檢測其疾病(缺陷)方面仍然缺乏經(jīng)驗,通過系統(tǒng)地對比分析高速鐵路無砟軌道板的結(jié)構(gòu)[1]、主要病害類型及其原因[2],以及對應(yīng)無損檢測方法的優(yōu)缺點[3],說明了探地雷達(dá)方法是一種很好的檢測無砟軌道板的方法,實際探測也證明了該方法的有效性。但是,由于目前探地雷達(dá)病害(缺陷)圖像的鋼筋自動檢測識別功能有限,故基于探地雷達(dá)病害(缺陷)圖像,進(jìn)行了鋼筋自動檢測識別技術(shù)研究,為之后的病害(缺陷)工作奠定了良好的基礎(chǔ)。
筆者通過改進(jìn)尺度不變特征變換(SIFT)算法和模板匹配算法,使其適用于高速鐵路無砟軌道板探地雷達(dá)的病害(缺陷)圖像,實現(xiàn)了鋼筋自動檢測識別和計數(shù)判斷功能,節(jié)省了人力物力。
1.1.1 SIFT算法的基本原理
產(chǎn)生SIFT圖像特征的主要計算步驟如下所述[4]。
(1) 尺度空間極值檢測:搜索圖像的所有尺度空間,使用高斯差分尺度空間DOG(Difference of Gaussian) 來檢測尺度空間的極值點。
(2) 精確定位關(guān)鍵點:準(zhǔn)確計算每個候選點的位置和尺度。
(3) 關(guān)鍵點指定方向:為每個關(guān)鍵點分配方向,將圖像數(shù)據(jù)操作轉(zhuǎn)換為特征點尺度操作。
(4) 特征點描述子的生成:梯度統(tǒng)計當(dāng)前關(guān)鍵點周圍的尺度區(qū)域,形成特征點描述子。
1.1.2 SIFT算法存在的問題
SIFT算法仍有些許問題需要改進(jìn):首先,提取的特征不是人眼的焦點,特征點被大量檢測,導(dǎo)致信息冗余,影響后續(xù)的匹配速度和準(zhǔn)確性;其次,特征向量的生成維數(shù)高,計算量大,影響實時性,難以應(yīng)用于實時性要求較高的系統(tǒng),如基于雙目立體視覺的實時跟蹤系統(tǒng)[5]。盡管已有不斷提出的改進(jìn)算法,以求在一定程度上提高實時性能,但仍然沒有達(dá)到預(yù)期的效果。
設(shè)計實現(xiàn)的無砟軌道板鋼筋自動檢測算法基于探地雷達(dá)圖像,采用SIFT改進(jìn)算法和模板匹配的方法實現(xiàn)了鋼筋自動檢測識別和數(shù)目計數(shù)的判斷功能,通過去除錯誤和重復(fù)匹配點,提高了檢測的精度,減少了算法的復(fù)雜度以及運行時間和內(nèi)存占用率。
1.2.1 圖像預(yù)處理
所采用的圖像預(yù)處理方法流程如圖1所示。
圖1 圖像預(yù)處理流程圖
采用累積分布函數(shù)CDF (Cumulative Distribution Function),此時的直方圖均衡化映射函數(shù)如式(1)所示。
gk=EQ(fk)=(ni/n)=Pf(fi),
k=0, 1, 2, …,L-1
(1)
式中:EQ為映射函數(shù);L為圖像的灰度等級;求和間隔為0~k。
根據(jù)式(1),可由原圖各像素灰度值得到直方圖均衡化后各像素的灰度值。
中值濾波:數(shù)字圖像中一點的值被該點鄰域中的其他點的中值替換,使得周圍的像素值接近真實值,從而消除了孤立的噪聲點。二維中值濾波輸出如式(2)所示。
g(x,y)=med{f(x-k,y-l),(k,l∈W)}
(2)
式中:f(x,y),g(x,y)分別為原始圖像和處理后的圖像;W為二維模板,通常為3×3,5×5區(qū)域;l為縱向平移量。
全局二值化:設(shè)置全局閾值T,并使用T將圖像數(shù)據(jù)分為兩部分,大于T的像素群和小于T的像素群。將大于T的像素組的像素值設(shè)置為白色(或黑色),并且將小于T的像素組的像素值設(shè)置為黑色(或白色),從背景和噪聲中凸顯出目標(biāo)物體。
Sobel邊緣銳化:圖像的每一個像素的橫向及縱向灰度值通過式(3)來計算該點灰度的大小。
(3)
式中:Gx為像素點的橫向灰度值;Gy為像素點的縱向灰度值。
如果梯度G大于某一閾值,則認(rèn)為該點(x,y)為邊緣點。
Canny邊緣檢測過程如下所述。
(1) 圖像邊緣檢測必須滿足兩個條件:一是能有效地抑制噪聲;其次,必須盡可能準(zhǔn)確地確定邊緣的位置。
(2) 根據(jù)信噪比和定位乘積的測量,得到最佳逼近算子,這就是Canny邊緣檢測算子。
(3) 與Marr(LoG,高斯拉普拉斯)邊緣檢測方法類似,其也是一種在平滑后再獲得導(dǎo)數(shù)的方法。
提取模板圖像:采用邊緣像素分割法即可實現(xiàn)。
1.2.2 SIFT提取特征點
基于LOWE提出的SIFT算法,采用歐氏距離確定匹配特征點,定義如式(4)所示。
d(loc1,loc2)={[loc1(i,1)-loc2(i,1)]2+
[loc1(i,2)-loc2(i,2)]2}1/2,
i=1, 2, …,n
(4)
式中:loc1(i,1)和loc1(i,2)分別為點1的x和y的坐標(biāo)值;loc2(i,1)和loc2(i,2)分別為點2的x和y的坐標(biāo)值。
閾值參數(shù)為dR,范圍為[0,1],定義如式(5)所示。
(5)
式中:d12(loc1,loc2)為點1,2之間的歐氏距離;d13(loc1,loc3)為點1,3之間的歐氏距離。
1.2.3 模板匹配
待測圖像和模板圖像進(jìn)行配準(zhǔn),找到最佳匹配位置,計算兩幅圖像的SSD(平方差總和)與NCC(歸一化互相關(guān)),來獲得鋼筋部位并標(biāo)記顯示。SSD和NCC定義如式(6)和(7)所示。
(6)
(7)
式中:x0和y0分別為最佳匹配位置的橫縱坐標(biāo);g(x,y)和f(x,y)分別為待測圖像和模板圖像;F(u,v)實現(xiàn)f(x,y)的頻域平移;M,N為模板圖像的長度和寬度;G*(u,v)為待測圖像g(x,y)的頻域平移特解;u,v分別為頻域里的自變量和因變量。
(8)
1.2.4 鋼筋計數(shù)
將Canny邊緣檢測過后的圖像用于鋼筋數(shù)目的計數(shù)和判斷。采用連通性分析法中的Seed Filling(種子填充法)。
選擇前景像素作為種子,然后根據(jù)連通區(qū)域的兩個基本條件將與種子相鄰的前景像素合并到同一像素集中(像素值相同且位置相鄰)。然后,得到的像素組是連接區(qū)域。
基于種子填充方法的連通區(qū)域分析方法如下所述。
(1) 掃描圖像,直到當(dāng)前像素點A(x,y)=1。
(a)A(x,y)作為種子(像素位置),并給其一個標(biāo)簽,然后將與種子相鄰的所有前景像素推入堆棧。
(b) 彈出堆棧的頂部像素,給其相同的標(biāo)簽,然后將堆棧頂部像素附近的所有前景像素推到堆棧上。
(c) 重復(fù)步驟(b),直到棧為空。
此時,找到圖像A中的連接區(qū)域,并將該區(qū)域中的像素值標(biāo)記為標(biāo)簽。
(2) 重復(fù)第(1)步,直到掃描結(jié)束。
掃描結(jié)束后,可以得到圖像A中的所有連接區(qū)域。
圖2為種子填充算法的標(biāo)記結(jié)果,標(biāo)記為“1”的為一個連通區(qū)域,標(biāo)記為“2”的為另外一個連通區(qū)域。
圖2 種子填充算法的標(biāo)記結(jié)果
采用的無砟軌道板探地雷達(dá)圖像由仿真軟件產(chǎn)生。仿真的無砟軌道板為CRTS I型P4962,尺寸為4 962 mm×2 400 mm×200 mm(長×寬×高),表層預(yù)留100 mm厚的空氣作為實際探地雷達(dá)探頭與無砟軌道板接觸時的間隙??v向排布16根直徑為13 mm的鋼筋,并從左至右加入不同性質(zhì)、不同形狀的病害(缺陷),病害(缺陷)類型尺寸如表1所示。
根據(jù)表1設(shè)置的病害(缺陷)類型、大小和位置,仿真的無砟軌道板模型如圖3所示。
表1 病害(缺陷)類型尺寸
圖3 無砟軌道板病害(缺陷)仿真模型
按照前文所述圖像預(yù)處理的基本原理和流程,對仿真軟件獲得的無砟軌道板探地雷達(dá)仿真圖像進(jìn)行處理,直方圖均衡化結(jié)果如圖4所示。
圖4 直方圖均衡化結(jié)果
圖4顯示的直方圖均衡化處理后的探地雷達(dá)圖像中,表面直達(dá)波、鋼筋反射波以及背景雜波的對比更加明顯。中值濾波結(jié)果如圖5所示,可見,采用4×4窗口中值濾波處理后的探地雷達(dá)圖像中,背景雜波以及噪聲可被有效去除。
圖5 中值濾波結(jié)果
原圖及全局二值化結(jié)果如圖6所示,可見,采用閾值為0.5的全局二值化處理后的探地雷達(dá)圖像中,鋼筋反射波可被大部分保留,其余大部分被剔除。
圖6 全局二值化結(jié)果
原圖及圖像分割結(jié)果如圖7所示,圖7(b)為采用圖像分割技術(shù)獲得的單獨鋼筋反射波圖像。
圖7 原圖及圖像分割結(jié)果
原圖及Sobel邊緣銳化結(jié)果如圖8所示,圖8(b)中使用Sobel算子銳化鋼筋反射波圖像的邊緣。
圖8 原圖及Sobel邊緣銳化結(jié)果
圖9 原圖及Canny邊緣檢測結(jié)果
圖10 原圖及提取的模板圖像
使用LOWE提出的SIFT算法初步建立和提取特征點,并通過位置信息判斷去除重復(fù)和錯誤匹配的特征點,獲得最終的可靠特征點,結(jié)果如圖11所示。
圖11 改進(jìn)SIFT提取特征點結(jié)果
由圖11分析可得,通過改進(jìn)SIFT算法,可于待測圖像建立146個特征點,于模板圖像建立4個特征點,初步獲得30個匹配特征點,通過位置信息判斷去除了3個重復(fù)匹配特征點,最終獲得27個匹配特征點。
通過模板匹配法可獲得最佳匹配位置并進(jìn)行標(biāo)記,以及SSD和NCC參數(shù),模板匹配結(jié)果如圖12所示。
圖12 模板匹配結(jié)果
由圖12可知:通過模板匹配法可首先定位最佳匹配位置并進(jìn)行紅星標(biāo)記顯示,其次通過NCC和SSD的顯示,可直觀判斷波紋交叉點(SSD值越接近0,NCC值越接近1)所在位置極有可能是鋼筋所在位置區(qū)域。
通過矩陣的行以及連通性分析法即可獲得鋼筋的準(zhǔn)確數(shù)目。試驗結(jié)果如圖13~15所示。
圖13 待測原始圖
由圖13~15分析可得,對圖13做矩陣求行和,可得結(jié)果如圖14所示,為了便于連通性分析,對圖14中的縱坐標(biāo)在區(qū)間[0, 2]內(nèi)做規(guī)約可得如圖15所示結(jié)果,通過連通性分析可準(zhǔn)確獲得待測原始圖的鋼筋數(shù)目為16根,加之模板匹配法獲得的輔助判斷信息,可更加肯定該方法的可行性和正確性。
圖14 待測圖像矩陣行和結(jié)果圖
圖15 用于連通性分析圖
通過對仿真軟件獲得的無砟軌道板探地雷達(dá)仿真圖像進(jìn)行圖像處理,改進(jìn)SIFT算法,去除重復(fù)和錯誤匹配點從而獲得較好的匹配特征點,加之模板匹配的方法,最終實現(xiàn)了鋼筋的計數(shù)判斷。文中算法是無砟軌道板探地雷達(dá)圖像處理領(lǐng)域的一種探索和嘗試,后期可在無砟軌道板探地雷達(dá)圖像病害(缺陷)自動檢測和算法的實際圖像適用性方面進(jìn)一步研究。