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