楊 林, 張藝鐘, 韓俊強(qiáng)
(1.西安市特設(shè)檢驗(yàn)研究院, 陜西 西安 710068; 2.西安交通大學(xué)計(jì)算機(jī)系, 陜西 西安 710049)
運(yùn)動(dòng)中板形平直度的測(cè)量是板材矯直技術(shù)中的研究熱點(diǎn)[1-4].本文根據(jù)圖像局部特征和運(yùn)動(dòng)補(bǔ)償?shù)认嚓P(guān)理論提出了一種板材特征點(diǎn)運(yùn)動(dòng)補(bǔ)償模型,該模型以視頻連續(xù)圖像幀為輸入,計(jì)算出對(duì)當(dāng)前圖像幀進(jìn)行運(yùn)動(dòng)補(bǔ)償?shù)南嚓P(guān)數(shù)據(jù).
圖1 板形特征點(diǎn)運(yùn)動(dòng)補(bǔ)償模型工作流圖
板形特征點(diǎn)運(yùn)動(dòng)補(bǔ)償模型的工作流是一個(gè)按順序運(yùn)行的處理過(guò)程,如圖1所示,包括:視頻連續(xù)圖像幀的特征點(diǎn)檢測(cè);使用描述子對(duì)檢測(cè)到的特征點(diǎn)進(jìn)行描述;對(duì)連續(xù)圖像幀的特征點(diǎn)計(jì)算匹配度;建立轉(zhuǎn)換關(guān)系矩陣;計(jì)算運(yùn)動(dòng)補(bǔ)償數(shù)據(jù)等.
(1) 視頻連續(xù)圖像幀序列經(jīng)過(guò)圖像預(yù)處理過(guò)程轉(zhuǎn)化為該模型的輸入數(shù)據(jù),使用特征點(diǎn)檢測(cè)子定位圖像幀的特征點(diǎn)并采用SIFT描述子算法將其定量化描述.
(2) 運(yùn)用歐氏距離在圖像幀的描述子向量集合之間計(jì)算特征點(diǎn)匹配對(duì),即建立后續(xù)處理過(guò)程中所需要輸入的特征點(diǎn)匹配對(duì).
(3) 基于特征點(diǎn)對(duì)建立相應(yīng)的映射方程,計(jì)算圖像幀間的轉(zhuǎn)換關(guān)系矩陣并將其代入運(yùn)動(dòng)補(bǔ)償模型以獲得對(duì)當(dāng)前圖像幀的運(yùn)動(dòng)補(bǔ)償數(shù)據(jù).
使用DoG檢測(cè)子對(duì)板形視頻連續(xù)圖像幀進(jìn)行特征點(diǎn)的檢測(cè),其步驟如下:
(1) 建立高斯差分金字塔. 對(duì)原圖進(jìn)行高斯處理得到高斯差分圖:
D(x,y,σ)=[G(x,y,kσ)-G(x,y,σ)]×I(x,y)=L(x,y,kσ)-L(x,y,σ)
(1)
圖2 主方向計(jì)算
圖3 主方向旋轉(zhuǎn)
(2) 原圖特征點(diǎn)的計(jì)算. 在高斯差分圖像中查找局部極值點(diǎn)時(shí),選中某一點(diǎn)所在的圖像域中的周圍8個(gè)點(diǎn)和相鄰兩個(gè)尺度圖像中的9×2個(gè)點(diǎn)相比較確定該點(diǎn)是否為極值點(diǎn),即在選中的26個(gè)點(diǎn)中判斷該點(diǎn)是否為最大值或最小值點(diǎn).
(3) 對(duì)特征點(diǎn)進(jìn)行精確定位. 使用曲線擬合和Hessian算法,計(jì)算主曲率并對(duì)檢測(cè)到的點(diǎn)進(jìn)行低對(duì)比度點(diǎn)和邊緣點(diǎn)的確定與去除工作.
當(dāng)找出特征點(diǎn)之后使用SIFT描述算法對(duì)其進(jìn)行描述,SIFT描述子生成過(guò)程如下:
① 確定特征點(diǎn)主方向. 如圖2所示,在檢測(cè)到的特征點(diǎn)所在的尺度空間中以該特征點(diǎn)為圓心,3×1.5×σ為半徑的鄰域內(nèi)使用統(tǒng)計(jì)梯度值的方法獲取特征點(diǎn)的主方向.
(2) 生成特征點(diǎn)描述子. 如圖3所示,以主方向和其正交方向?yàn)樾伦鴺?biāo)系,統(tǒng)計(jì)特征點(diǎn)鄰域內(nèi)的梯度幅值,即對(duì)主方向進(jìn)行旋轉(zhuǎn).
特征點(diǎn)的新坐標(biāo)與原坐標(biāo)的對(duì)應(yīng)關(guān)系為:
(2)
一般以8個(gè)方向?yàn)橐唤M統(tǒng)計(jì)梯度值并得到描述子向量.以2×2×8SIFT描述向量的產(chǎn)生過(guò)程,如圖4所示.
圖4 描述子生成過(guò)程
Kalman算法的原理式來(lái)自于貝葉斯公式.首先通過(guò)前一狀態(tài)得出當(dāng)前狀態(tài)的預(yù)測(cè)值,再采用當(dāng)前觀察到的狀態(tài)值,對(duì)其進(jìn)行處理并得出最終的值.在板形測(cè)量中Kalman算法用于從連續(xù)圖像幀轉(zhuǎn)換關(guān)系矩陣中去除因板材自身不規(guī)則運(yùn)動(dòng)而帶來(lái)的干擾,即得出運(yùn)動(dòng)補(bǔ)償所用的數(shù)據(jù).
使用第1小節(jié)中被檢測(cè)和描述的特征點(diǎn)建立連續(xù)圖像幀間的轉(zhuǎn)換關(guān)系:
(3)
從式(1)可以進(jìn)一步得出板形連續(xù)圖像幀在理想情況下的轉(zhuǎn)換關(guān)系,即無(wú)干擾情況下的轉(zhuǎn)換關(guān)系:
It=AIt-1+Ut
(4)
其中A表示圖像幀在理想狀態(tài)下的轉(zhuǎn)換關(guān)系,It表示t時(shí)刻理想的板形狀態(tài)值,Ut表示白色噪聲.同樣可以推導(dǎo)出板形觀測(cè)值的狀態(tài)轉(zhuǎn)換關(guān)系,即帶不規(guī)則運(yùn)動(dòng)的板材狀態(tài)轉(zhuǎn)換關(guān)系:
St=HSt-1+Vt
(5)
其中H表示圖像幀間的轉(zhuǎn)換關(guān)系,St表示t時(shí)刻的板形狀態(tài)值,Vt為白色噪聲,與Ut相互獨(dú)立.將板形觀測(cè)值St視為板形理想值It的帶干擾版本.
(6)
其中“-”和“+”分別表示先驗(yàn)值和后驗(yàn)值,Kt是Kalman增益值.
現(xiàn)在的問(wèn)題是通過(guò)特征點(diǎn)檢測(cè)得出的特征點(diǎn)對(duì)數(shù)量較為充足,如何從大量的特征點(diǎn)對(duì)中選取適合計(jì)算的原數(shù)據(jù).如果全部加入計(jì)算那么將會(huì)影響整個(gè)系統(tǒng)的運(yùn)行效率,而將部分特征點(diǎn)對(duì)參與運(yùn)算,則可能會(huì)丟失一些表示連續(xù)圖像幀之間轉(zhuǎn)換關(guān)系的重要信息.針對(duì)這一問(wèn)題,本文進(jìn)行以下優(yōu)化.
每對(duì)匹配特征點(diǎn)都包含了一定信息量的相鄰圖像幀間的轉(zhuǎn)換關(guān)系,但不同特征點(diǎn)對(duì)之間所包含的信息量不同.對(duì)于轉(zhuǎn)換關(guān)系的計(jì)算有些特征點(diǎn)對(duì)尤為重要,而有些特征點(diǎn)對(duì)的影響則可忽略不計(jì).在本文中將特征點(diǎn)坐標(biāo)代入2×2的系數(shù)矩陣[5,6]計(jì)算特征值從而決定其權(quán)值,該矩陣為:
(7)
其中(px,py)表示在坐標(biāo)(x,y)處的坐標(biāo)值,ws和wy表示特征點(diǎn)鄰域的高斯計(jì)算窗口,Ix(x,y)和Iy(x,y)分別表示特征點(diǎn)在水平方向和垂直方向的梯度值.下面分析采用該矩陣的原因:
高斯窗口中鄰域點(diǎn)與特征點(diǎn)的灰度差的平方值E(u,v)可表示為:
(8)
其中w(x,y)表示高斯窗口,u,v表示鄰域點(diǎn)與該特征點(diǎn)在x坐標(biāo)和y坐標(biāo)的距離.為了獲得任意方向的灰度差,將式(8)通過(guò)泰勒公式展開(kāi)得出:
(9)
其中Ix表示x方向偏導(dǎo),同理Iy表示y方向偏導(dǎo).將式(9)寫(xiě)成矩陣形式:
(10)
其中?表示卷積,將式(10)代入式(9)得:
(11)
從式(11)發(fā)現(xiàn)灰度差E(u,v)的大小與矩陣G有關(guān),因此可通過(guò)判斷矩陣G的特征值來(lái)判斷該點(diǎn)是否為特征點(diǎn),進(jìn)一步可以計(jì)算該點(diǎn)的權(quán)值,如圖5所示.
圖5 特征點(diǎn)權(quán)值的確定
從圖5可知當(dāng)該矩陣中兩個(gè)特征值都很大時(shí)可以判斷該點(diǎn)為特征點(diǎn),因此其對(duì)應(yīng)的權(quán)值也可以由特征值確定.
為了衡量預(yù)測(cè)值的準(zhǔn)確性,我們采用均方根誤差(Root Mean Square Error ,RMSE)作為誤差衡量標(biāo)準(zhǔn),其表達(dá)式如下式所示:
(12)
在本實(shí)驗(yàn)中從板材連續(xù)圖像幀序列中隨機(jī)選取包含10、15、20、25和30個(gè)圖像幀的圖像序列,分別使用改進(jìn)前和改進(jìn)后的Kalman模型進(jìn)行運(yùn)動(dòng)估計(jì)處理,獲得的實(shí)驗(yàn)數(shù)據(jù)如表1所示.
表1 改進(jìn)前后的Kalman算法均方根誤差的比較
從表1中可以看出改進(jìn)后的Kalman模型對(duì)運(yùn)動(dòng)估計(jì)的準(zhǔn)確度與改進(jìn)前的Kalman模型相比較有了較大的提高,而且隨著圖像幀序列個(gè)數(shù)的增加其運(yùn)動(dòng)估計(jì)性能還能保持較高的精度.
本文中的特征點(diǎn)運(yùn)動(dòng)補(bǔ)償模型是在圖像特征點(diǎn)檢測(cè)、描述的基礎(chǔ)上使用Kalman算法計(jì)算出對(duì)當(dāng)前圖像幀進(jìn)行運(yùn)動(dòng)補(bǔ)償?shù)臄?shù)據(jù),在本模型中針對(duì)Kalman 算法的特征點(diǎn)篩選過(guò)程進(jìn)行了改進(jìn),并在保證該模型實(shí)時(shí)性的基礎(chǔ)上滿足了精確性要求.
參考文獻(xiàn)
[1] 劉 凱,徐宏喆.板材矯直機(jī)智能控制及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2010.
[2] 楊光輝,張 杰,曹建國(guó),等.一種新的帶鋼平坦度在線檢測(cè)方法的研究[J].冶金設(shè)備,2006,(3):51-54.
[3] 王向麗 ,李謀渭.張力計(jì)的輥高差對(duì)板形檢測(cè)精度的影響[J].北京科技大學(xué)學(xué)報(bào),2010,32(8):29-32.
[4] Scottow C.Shape measurement and coolant spray solutions for rolling mills[J]. MPT Metall Plant Technol Int,2008,25(1) : 72.
[5] C. Tomasi, T. Kanade. Detection and tracking of point features[R]. Carnegie Mellon University Technical Report CMU-CS-91-132, 1991.
[6] J.-Y. Bouguet. Pyramid implementation of the Lucas Kanade feature tracker: description of the algorithm[R]. Intel Corporation, Microsoft Research Labs Technical Report,2000.