陳旭昂,韓 言,鄧 恒,周建華,李 陳,余學(xué)才,
(1.電子科技大學(xué) 光電科學(xué)與工程學(xué)院,四川 成都 610054; 2.萬巖鐵路裝備(成都)有限責(zé)任公司,四川 成都 610051)
精確檢測鋼軌斷面參數(shù)是事關(guān)鐵路安全的重要課題,鋼軌在生產(chǎn)和使用過程中容易產(chǎn)生變形和磨損,通過檢測鋼軌廓形參數(shù),可以評估鋼軌是否合格和磨耗情況,對保護(hù)鐵路安全至關(guān)重要[1-3]。對鋼軌進(jìn)行輪廓檢測的方式主要有人工接觸式檢測和利用圖像處理的非接觸式自動檢測。人工檢測耗時長,同時無法保證精度與效率要求。而利用圖像處理進(jìn)行自動檢測速度快,能避免主觀判斷引入的誤差,因而成為輪廓檢測的主要方式。
利用圖像處理檢測工件輪廓需要將待測鋼軌輪廓與實際標(biāo)準(zhǔn)輪廓對比,圖像標(biāo)定技術(shù)和輪廓匹配是廓形檢測中的重要步驟,對廓形檢測結(jié)果具有決定性影響。圖像標(biāo)定時,將事先制作的標(biāo)定板放置在激光平面位置,由標(biāo)定板上的若干坐標(biāo)(世界坐標(biāo))和圖像坐標(biāo)建立圖像變換關(guān)系,校正時,按照這個關(guān)系進(jìn)行圖像變換。圖像標(biāo)定后,為了能夠檢測鋼軌的磨損及缺陷,需要將各個部分的鋼軌輪廓與標(biāo)準(zhǔn)鋼軌廓形進(jìn)行匹配,之后可以通過對比二者之間差異,檢測鋼軌傷損情況。然而,上述過程中存在兩個主要問題:一是在實際圖像標(biāo)定過程中,很難將標(biāo)定板放置在激光平面上,如圖1所示。實際標(biāo)定平面和待測平面不同,導(dǎo)致最后測量誤差增大;二是鋼軌輪廓匹配時,存在正確率低、匹配時間長的問題。在鋼軌輪廓匹配的研究中,鞠標(biāo)[4]等人采用霍夫變換計算出軌頂和軌腰處的圓中心,根據(jù)圖像的平移和旋轉(zhuǎn)將待測鋼軌輪廓匹配到標(biāo)準(zhǔn)輪廓上,該方法對霍夫變換的檢測精度要求較高。唐曉敏[5]等人提出將特征匹配和SVD-ICP算法相結(jié)合,從而完成輪廓匹配,這種方法對噪聲敏感、運(yùn)行時間長。占棟[6]等人通過對鋼軌輪廓進(jìn)行數(shù)字化建模和重采樣,建立了測量輪廓與標(biāo)準(zhǔn)輪廓之間的映射關(guān)系,實現(xiàn)了鋼軌輪廓匹配,但這種方法操作繁瑣,所建立的數(shù)字化模型不具備普遍性。
圖1 棋盤格標(biāo)定示意圖
針對上述問題,本文設(shè)計制作了一種階梯型標(biāo)定板,能夠使標(biāo)定平面和鋼軌廓形平面重合,利用多項式變換模型和雙線性插值法對標(biāo)定板圖像進(jìn)行校正,之后采用Harris-SIFT算法對鋼軌輪廓進(jìn)行匹配,最后利用改進(jìn)的RANSAC算法進(jìn)行誤匹配濾除。結(jié)果表明,采用本文設(shè)計的標(biāo)定板進(jìn)行圖像校正時,能夠有效提高校正精度。此外,相對于傳統(tǒng)的輪廓匹配方法,本文提出的輪廓匹配算法具有明顯優(yōu)勢。
圖2(a)為階梯型標(biāo)定板的標(biāo)定示意圖。與棋盤格標(biāo)定板相比,階梯型標(biāo)定板外緣有多個頂點(控制點),當(dāng)激光照射到標(biāo)定板側(cè)面時,如圖中激光線所示,所標(biāo)定的平面與激光平面一致,避免了棋盤格標(biāo)定板端面必須調(diào)整至與激光平面重合的難題。此外,為了進(jìn)一步提高標(biāo)定精度,所設(shè)計的標(biāo)定板與鋼軌尺寸相當(dāng),各控制點位于鋼軌輪廓曲線附近。圖像采集系統(tǒng)的整體結(jié)構(gòu)圖如圖2(b)所示,其中1為工業(yè)相機(jī),分別用于拍攝標(biāo)定板和鋼軌的左上側(cè)、右上側(cè)、左側(cè)和右側(cè)四個部分,并保證相鄰相機(jī)的視野存在部分重合,以得到完整鋼軌廓形。此外,相機(jī)外側(cè)裝有濾光片,只能使線激光通過,防止環(huán)境光的干擾;2為線激光器;3為標(biāo)定板,圖像標(biāo)定完畢后,需用鋼軌替代標(biāo)定板進(jìn)行鋼軌圖像校正;4為系統(tǒng)外殼,其作用是固定線激光器和工業(yè)相機(jī);5為PC端,其接收來自相機(jī)的圖片后自動進(jìn)行圖像處理,并顯示檢測結(jié)果。
圖2 標(biāo)定板及系統(tǒng)設(shè)計結(jié)構(gòu)圖
系統(tǒng)搭建完成后,調(diào)整線激光器,只需使其射出的線激光位于標(biāo)定板側(cè)面即可,實際測量過程中保證激光器和相機(jī)位置不變,經(jīng)過不同相機(jī)拍攝得到的標(biāo)定板圖像如圖3所示。
圖3 不同相機(jī)拍攝的標(biāo)定板圖像
系統(tǒng)的整體流程如圖4所示,主要包括圖像標(biāo)定模塊和輪廓匹配模塊。
圖4 整體流程圖
首先對經(jīng)相機(jī)采集得到的標(biāo)定板圖像進(jìn)行預(yù)處理,其次,利用多項式變換計算各個不同的校正參數(shù),將標(biāo)定板換成鋼軌,并用校正參數(shù)動態(tài)還原拍攝到的鋼軌圖像,然后利用雙線性插值對鋼軌圖像灰度進(jìn)行重構(gòu),從而完成圖像校正。之后利用Harris角點檢測算法得到鋼軌圖像和標(biāo)準(zhǔn)輪廓圖像中的角點,將這些角點視為圖像中的特征點,利用SIFT算法計算特征點的特征描述子并進(jìn)行粗匹配,最后通過誤匹配濾除實現(xiàn)輪廓的細(xì)匹配。
經(jīng)相機(jī)拍攝得到的RGB圖像需要首先經(jīng)過圖像預(yù)處理,圖像預(yù)處理主要包括圖像灰度化處理和去噪處理。
3.1.1 灰度化
灰度化的目的是壓縮圖像的數(shù)據(jù)大小,方便后續(xù)算法對圖像的處理,根據(jù)人眼對色彩的敏感程度,一般采用平均加權(quán)法實現(xiàn)圖像灰度化[7]:
Grayvalue=0.299R+0.587G+0.114B
(1)
3.1.2 圖像去噪
在經(jīng)過高速攝像機(jī)拍攝得到的圖片中含有噪聲,為了防止噪聲對后續(xù)操作的影響,需要對灰度圖像去噪。常用的去噪方法有中值濾波法、均值濾波法、高斯濾波法等。高斯濾波在對圖像進(jìn)行平滑的同時能夠保留圖像的整體灰度特征,不會影響后續(xù)操作的準(zhǔn)確性[8],因此采用高斯濾波對圖像進(jìn)行去噪處理。
圖像的標(biāo)定有多種方法,有線性模型和非線性模型。線性模型基于物象關(guān)系建立世界坐標(biāo)系和圖像坐標(biāo)系的坐標(biāo)關(guān)系,忽略了相機(jī)畸變;非線性模型考慮了圖像畸變,世界坐標(biāo)系和圖像坐標(biāo)系間的轉(zhuǎn)換關(guān)系可以利用多項式逼近擬合。設(shè)相機(jī)拍攝得到的標(biāo)定板圖像為h(u,v),標(biāo)定板在世界坐標(biāo)系的圖像為f(x,y)。其中,(u,v)和(x,y)分別是同一控制點在校正前后圖像中的坐標(biāo),則h(u,v)和f(x,y)之間的變換關(guān)系可用下式表示[9]:
(2)
式中,aij和bij表示待測的多項式系數(shù);m為多項式次數(shù)。多項式次數(shù)越大,擬合精度越高,但計算量也越大。為了提高校正精度、降低計算量,本文令m=2。則(2)式轉(zhuǎn)化為:
(3)
上式中含有12個未知量,需要采集6個控制點分別在圖像坐標(biāo)系和世界坐標(biāo)系下的坐標(biāo),然后建立6組方程求解各個標(biāo)定參數(shù)。實際標(biāo)定時,為了提高精度,采集多于6組控制點在圖像坐標(biāo)系和世界坐標(biāo)系下的坐標(biāo),然后利用最小二乘法求解超定方程[10]。假設(shè)采集的控制點數(shù)目為n個,為了方便,將(3)式轉(zhuǎn)換為矩陣相乘的形式:
β=αγ
(4)
其中,世界坐標(biāo)構(gòu)成n×1矩陣β:
β=[u1,u2,…,um,v1,v2,…vm]T
(5)
控制點的圖像坐標(biāo)構(gòu)成2n×12矩陣α:
(6)
其中:
(7)
各個標(biāo)定參數(shù)構(gòu)成12×1矩陣γ:
γ=[a00,a01,a02,a10,a20,a11,b00,b01,b02,b10,b20,b11]T
(8)
定義誤差E為:
(9)
為了使E值最小,對γ求導(dǎo),并令導(dǎo)數(shù)等于0:
=-2αTβ+2αTαγ=0
(10)
求解上式可得:
γ=(αTα)-1αTβ
(11)
假設(shè)相機(jī)拍攝的鋼軌圖像為R(u,v),建立與R(u,v)等大且像素值均初始化為0的圖像G(u,v)。遍歷G(u,v)中的坐標(biāo),利用(3)式計算鋼軌圖像中的對應(yīng)坐標(biāo)(u,v),然后對G(u,v)賦值,從而得到校正圖像。然而,經(jīng)(3)式計算得到的坐標(biāo)可能為小數(shù),需要利用插值法進(jìn)行灰度重構(gòu)。常用的圖像插值方法有最鄰近插值、雙線性插值和三次插值法等[11]。最鄰近插值采用距離最小原則,將距離(u,v)最小的像素灰度值作為當(dāng)前像素值,這種方法計算量小,但是圖像中灰度突變較大,重構(gòu)效果較差,三次插值法雖然插值精度高,但計算量大,無法滿足系統(tǒng)實時檢測的要求。而雙線性插值兼具了以上兩種方法的優(yōu)點,因此本文采用雙線性插值進(jìn)行灰度重構(gòu),雙線性插值公式如式(12)所示:
R(u,v)=R(?u」,?v」)+ud·[R(?u」+1,
?v」)-R(?u」,?v」)]+vd·[R(?u」,?v」+1)-
R(?u」,?v」)]+ud·vd·[R(?u」+1,?v」+1)-
R(?u」+1,?v」)-R(?u」,?v」+1)+R(?u」,?v」)]
(12)
其中:
(13)
?」表示向下取整。當(dāng)n=12時,標(biāo)定板圖像經(jīng)過預(yù)處理、多項式校正變換和雙線性插值處理后如圖5所示。
圖5 校正后標(biāo)定板各個部分圖像
輪廓匹配方法主要包括模板匹配和特征匹配。模板匹配是將待匹配的圖像在標(biāo)準(zhǔn)圖像上滑動,根據(jù)事先預(yù)定的相似性評價準(zhǔn)則確定最佳匹配位置,考慮到鋼軌不同位置表面反射率不同,實際圖像中像素值總在變化,模板匹配錯誤率較高。特征匹配算法主要有SIFT、SURF、ORB算法等[12]。SIFT算法具有尺度和光照不變性,但是通常匹配時間較長。SURT算法是在SIFT的基礎(chǔ)上,通過使用積分圖和Haar特征加速算法的運(yùn)行時間。而ORB算法則是基于FAST角點檢測和BRIEF特征描述進(jìn)行特征匹配,運(yùn)算時間小,但是在復(fù)雜場景下匹配效果不好[13-14]。本文將Harris角點檢測算法與SIFT特征匹配相結(jié)合,降低了SIFT算法中尋找特征點的運(yùn)算時間,并利用改進(jìn)的RANSAC算法進(jìn)行誤匹配濾除,從而達(dá)到了鋼軌輪廓精確、快速匹配的目的。
3.4.1 Harris-SIFT算法
SIFT算法[15]是Lowe在2004年提出的具有尺度不變性和旋轉(zhuǎn)不變性的圖像匹配算法,隨后提出的SURF算法也是基于SIFT算法所作的改進(jìn)。傳統(tǒng)SIFT算法的實施過程主要包括以下步驟:
(1)構(gòu)造圖像高斯金字塔
為了使提取的特征具有尺度不變性,需要建立圖像高斯金字塔。通過對原圖像不斷進(jìn)行降采樣,得到S組鋼軌圖像,利用式(14)將每一組鋼軌圖像與不同尺度因子σ下的高斯核函數(shù)卷積,得到S組K層的圖像,最后利用高斯差分圖像近似高斯拉普拉斯圖像,為下一步特征點提取做準(zhǔn)備。
(14)
(2)提取特征點
在高斯差分尺度空間將像素和其周圍26個像素比較,初步得到像素極大值點,然后利用泰勒級數(shù)進(jìn)行擬合,并去除低對比點,最后通過Hessian矩陣跡與行列式的比值去除邊緣效應(yīng),從而得到特征點。
(3)構(gòu)造特征描述子
利用式(15)計算特征點鄰域內(nèi)各個像素的梯度方向,利用梯度方向直方圖確定特征點主方向。按照特征點主方向?qū)μ卣鼽c鄰域像素坐標(biāo)旋轉(zhuǎn),將特征點周圍16×16鄰域劃分為4×4個子塊,每45°劃分一個方向,統(tǒng)計子塊梯度方向直方圖,對每個子塊的梯度方向直方圖拼接,從而得到特征點的128維特征描述子。
(15)
(4)特征匹配
遍歷標(biāo)準(zhǔn)鋼軌廓形圖像中特征點,計算與當(dāng)前待匹配特征點歐式距離最小和次小的值,若二者比值小于設(shè)定閾值,則將歐式距離最小的特征點作為當(dāng)前待匹配結(jié)果,否則,進(jìn)行待測鋼軌輪廓圖像中下一個特征點匹配。
由上述過程可知,特征點提取是SIFT算法緩慢的一大原因,可以事先通過角點檢測算法得到特征點,之后利用SIFT算法得到特征點的128維SIFT描述子,并通過特征匹配完成鋼軌輪廓粗匹配[16]。本文采用Harris角點檢測算法提取圖像中特征點。設(shè)原圖像為I(x,y),定義矩陣T為:
(16)
其中,Ix、Iy分別為像素在x、y方向的一階導(dǎo)數(shù)。角點響應(yīng)為:
R=det(T)-δ(trace(T))2
(17)
det(T)、trace(T)分別表示矩陣T的行列式和跡,δ一般設(shè)置為0.04~0.06。當(dāng)響應(yīng)大于一定閾值時,可初步認(rèn)為該點為角點,之后利用非極大值抑制得到最終角點。
3.4.2 改進(jìn)的RANSAC算法
經(jīng)Harris-SIFT特征匹配后存在許多誤匹配,一般采用RANSAC算法進(jìn)行誤匹配過濾。其主要思想是通過隨機(jī)選取4組點,計算對應(yīng)的單應(yīng)性變換矩陣,在變換矩陣下統(tǒng)計內(nèi)點數(shù),若內(nèi)點數(shù)大于當(dāng)前最大內(nèi)點數(shù),更新最優(yōu)變換矩陣和最大內(nèi)點數(shù),最終得到最優(yōu)的參數(shù)矩陣[17]。然而,當(dāng)粗匹配中誤匹配較多時,RANSAC算法濾除效果不佳。理想情況下,鋼軌圖像不同匹配點對間斜率與歐式距離應(yīng)相同,單應(yīng)性矩陣退化為剛體變換矩陣[18],則坐標(biāo)空間(x,y)與(u,v)之間的轉(zhuǎn)換關(guān)系為:
(18)
式中,a、b、t、r為變換參數(shù)。變換矩陣中含有4個未知數(shù),隨機(jī)選取兩組匹配點即可計算參數(shù)矩陣,具體步驟為:
①設(shè)置迭代次數(shù)和誤差閾值,隨機(jī)選取兩組匹配點((x0,y0),(u0,v0)、(x1,y1),(u1,v1)),構(gòu)造矩陣A、B、M分別如下式:
(19)
(20)
(21)
②根據(jù)式(18),可知:
AM=B
(22)
當(dāng)選取兩組特征點重合時,轉(zhuǎn)向步驟(1);否則,A的行列式不為0,利用式(23)計算矩陣M:
M=BA-1
(23)
③遍歷每組特征點(xi,yi),(ui,vi),利用式(24)計算(xi,yi)的理想匹配點位置(uideal,videal):
(24)
若該位置與實際匹配位置(ui,vi)的歐式距離小于設(shè)定誤差閾值,則將匹配(xi,yi),(ui,vi)放入該組參數(shù)下的匹配集中。迭代結(jié)束后,統(tǒng)計匹配數(shù)目最多的匹配集,并保留對應(yīng)的匹配,刪除其余匹配。
該部分主要包括圖像標(biāo)定實驗和圖像匹配實驗。實驗平臺基于Windows10操作系統(tǒng),處理器型號為Intel(R)Core(TM)i3-4170 CPU @ 3.70 GHz,內(nèi)存為8 G,編程軟件采用MATLAB R2020a,圖像中的像素單元表示的真實物理尺寸為0.2 mm。文獻(xiàn)[19]指出,在進(jìn)行圖像標(biāo)定時,控制點位置和控制點數(shù)目對標(biāo)定精度均存在影響,控制點分布越均勻,校正效果越好,而最優(yōu)控制點數(shù)目則需要進(jìn)行實驗確定。為了比較與傳統(tǒng)標(biāo)定板的標(biāo)定精度,本文分別對棋盤格標(biāo)定板和階梯型標(biāo)定板進(jìn)行實驗。通過采集18組控制點,分別取其中10、11、12、13、14個控制點進(jìn)行實驗,并將剩余的8、7、6、5、4個控制點作為驗證集。其中,控制點的位置均勻分布于圖像四周及中心。
設(shè)某一控制點理想坐標(biāo)為(xi,yi),實際校正后的坐標(biāo)為(ui,vi)。則二者之間的距離disti為:
(25)
假設(shè)驗證集中控制點個數(shù)為N,則平均校正誤差RMSE為:
(26)
RMSE表示了校正效果好壞,其值越小,校正效果越好。
針對兩種標(biāo)定板,對相機(jī)拍攝的左上側(cè)、右上側(cè)、左側(cè)和右側(cè)圖像分別實驗,結(jié)果如圖6所示。
圖6 RMSE隨控制點數(shù)目變化趨勢
對比圖6(a)、圖6(b),用棋盤格表標(biāo)定板校正時,校正誤差對控制點數(shù)目不敏感,而本文所設(shè)計的標(biāo)定板對控制點數(shù)目敏感。同時,對于同一標(biāo)定板,不同部位圖像的最佳控制點數(shù)目不同。當(dāng)控制點個數(shù)為13時,對于兩種標(biāo)定板圖像的校正效果均較好。當(dāng)控制點數(shù)目為13時,使用棋盤格標(biāo)定板標(biāo)定時,不同鋼軌圖像校正誤差分別0.075 mm、0.044 mm、0.134 mm、0.235 mm,平均校正誤差為0.122 mm。使用所設(shè)計的標(biāo)定板進(jìn)行標(biāo)定時,校正誤差分別為0.04 mm、0.12 mm、0.04 mm、0.12 mm,平均校正誤差為0.08 mm,相對棋盤格標(biāo)定板減小了0.042 mm。本文利用階梯型標(biāo)定板,采集13組控制點校正鋼軌圖像。通過多項式校正變換計算階梯型標(biāo)定板的標(biāo)定參數(shù),結(jié)果如表1所示。
表1 標(biāo)定參數(shù)
用鋼軌替代標(biāo)定板,各個相機(jī)拍攝得到的鋼軌右軌頂、左軌頂、右軌腰和左軌腰圖像如圖7所示。
圖7 不同位置鋼軌圖像
然后采用表1中的參數(shù)分別對鋼軌圖像校正,并利用雙線性插值和輪廓融合還原鋼軌完整輪廓,各個部分鋼軌圖像的還原結(jié)果如圖8所示。
圖8 還原結(jié)果
鋼軌標(biāo)準(zhǔn)無損傷圖像如圖9所示,將圖8中各個部位的鋼軌還原圖像與標(biāo)準(zhǔn)圖像匹配,分別采用SIFT算法、SURF+RANSAC算法和本文所改進(jìn)的算法進(jìn)行對比,匹配結(jié)果如圖10所示。
圖9 標(biāo)準(zhǔn)鋼軌輪廓圖
(a1)左軌頂輪廓匹配 (a2)右軌頂輪廓匹配
分別采用三種算法運(yùn)行10次,統(tǒng)計三種算法下的不同部位鋼軌圖像的平均匹配數(shù)、平均正確匹配數(shù)、平均匹配正確率和平均運(yùn)行時間。結(jié)果如表2所示。
表2 不同算法運(yùn)行結(jié)果對比
對比表2,可以得出,SIFT算法效果運(yùn)行時間長,匹配正確率低,SURF+RANSAC算法運(yùn)行時間快,但在匹配左側(cè)軌腰圖像時,匹配效果不理想。而本文所設(shè)計的輪廓匹配算法運(yùn)行時間與SURF+RANSAC算法接近,但正確匹配數(shù)多,匹配正確率達(dá)100 %。
為解決線激光鋼軌損傷探測中標(biāo)定平面與激光平面不重合、鋼軌輪廓難以匹配的問題,本文設(shè)計了一種新型標(biāo)定板,并提出基于Harris-SIFT算法的鋼軌廓形匹配算法。首先搭建鋼軌圖像采集系統(tǒng),采用多項式校正變換計算標(biāo)定參數(shù),并利用雙線性插值重構(gòu)圖像。經(jīng)過圖像標(biāo)定后,利用Harris角點檢測算法得到待測輪廓中特征點,并用SIFT算法計算特征點的特征描述子,從而完成輪廓的粗匹配,之后利用改進(jìn)的RANSAC算法進(jìn)行細(xì)匹配。實驗結(jié)果表明,相對于傳統(tǒng)的棋盤格標(biāo)定板,階梯型標(biāo)定板校正誤差減小0.042 mm。此外,相對于傳統(tǒng)輪廓匹配算法,所改進(jìn)的輪廓匹配方法在速度和匹配正確率方面均有所提高,為鋼軌廓形匹配技術(shù)進(jìn)一步發(fā)展奠定了基礎(chǔ)。