溫俊+李榕
摘 要: 提出一種基于單目視覺和慣性傳感器的視覺測量方法,當(dāng)手持移動攝像頭時,利用慣性傳感器獲取攝像頭軌跡,再根據(jù)多視角測量原理,測量被測物體的大小、位置等信息;利用圖像特征點的移動信息抑制加速度傳感器的累積誤差。實驗證明測量結(jié)果誤差在2%以內(nèi),且該方法不需要任何攝像機(jī)外參數(shù)的先驗知識及定標(biāo)參照物,可滿足實際測量需求。
關(guān)鍵詞: 手持式攝像機(jī); 慣性傳感器; 視覺測量; 單目視覺
中圖分類號: TN98?34; TP391 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2015)16?0088?04
Research on vision measurement of monocular Handheld camera
WEN Jun, LI Rong
(School of Physics and Telecommunication Engineering, South China Normal University, 510006, China)
Abstract: A vision measurement method based on monocular vision and inertial sensors is proposed. When the camera is moved by hand, the inertial sensors is used to obtain the camera track, and then the size, location and other information of the object under detection are measured according to the multi?view measuring principle. The mobile information of the image feature points is utilized to restrain the accumulated error of accelerometer. The experiment results prove that the error of the measured result is less than 2%. The method can meet the needs of the actual measurement.
Keywords: handheld camera; inertial sensor; vision measurement; monocular vision
視覺測量技術(shù)是一種坐標(biāo)測量與視覺技術(shù)相結(jié)合的測量技術(shù),其任務(wù)是利用二維圖像信息,計算其對應(yīng)的三維世界信息,重點研究物體的幾何尺寸及物體的位置測量。在現(xiàn)代化生產(chǎn)中,視覺測量技術(shù)廣泛應(yīng)用于工業(yè)自動化檢測、反向工程、機(jī)器人視覺等主動、實時測量過程[1?2]。其中,基于單目視覺測量系統(tǒng),國內(nèi)外的科研工作者已進(jìn)行了大量的研究工作,但在這些研究中,單目視覺測量多為基于結(jié)構(gòu)光方式、使用輔助標(biāo)定物[3]或與特定的物理平臺結(jié)合[4]等方式進(jìn)行測量。這些測量方式在一定程度上已滿足了生產(chǎn)、建設(shè)中的測量需求,但它們并不具有手持便攜性,不便于民用推廣。
因此,本文提出一種手持式單目視覺測量方法——使用攝像機(jī)與慣性傳感器相結(jié)合。本方法不但具有良好的便攜性、測量靈活性,且成本低。實驗結(jié)果表明其測量精度能滿足一般的測量需求。
1 視覺測量結(jié)構(gòu)與原理
經(jīng)典的視覺測量方法是使用雙目或多目結(jié)構(gòu),完成對三維空間點的測量,而本文是利用圖1中攝像機(jī)與慣性傳感器結(jié)合的單目結(jié)構(gòu),通過手持?jǐn)z像機(jī)移動來模擬多目結(jié)構(gòu),從而完成測量。其測量原理如圖 2所示。Oc?xcyczc為攝像機(jī)坐標(biāo)系,其中Oc表示光心。設(shè)世界坐標(biāo)系與攝像機(jī)坐標(biāo)系重合,空間點Pc在世界坐標(biāo)系的齊次坐標(biāo)為[xc,yc,zc,1]T,攝像機(jī)在不同角度下在圖像平面的投影點為mi(ui,vi),根據(jù)攝像機(jī)模型[5]有:
[zcuivi1=fx0u00fyv0001Ri -Ri Tixcyczc 1=KRiI -TiPc] (1)
式中[K=fx0u00fyv0001]為攝像機(jī)內(nèi)參數(shù)矩陣,可根據(jù)文獻(xiàn)[6],預(yù)先使用棋盤對攝像機(jī)進(jìn)行標(biāo)定,計算出攝像機(jī)的內(nèi)參數(shù)為:
[K=962.3970296.2050960.804231.668000] (2)
根據(jù)式(1)可知,只需求出攝像機(jī)移動過程中的旋轉(zhuǎn)矩陣Ri及平移向量Ti,即可恢復(fù)空間點Xc的坐標(biāo)。結(jié)合實際手持移動情況,手持移動拍攝時,一般只在近x?y平面運動,z方向小范圍的移動對測量結(jié)果影響不大,故本文約定z軸移動距離為0,即 [T=txty0T]。
圖1 測量結(jié)構(gòu)
圖2 測量原理
2 攝像機(jī)位姿求解
2.1 慣性傳感器
獲得攝像機(jī)位置及姿態(tài)信息最直接的方法是使用慣性傳感器,即陀螺儀和加速度計。本文除了采用慣性傳感器外,還引入數(shù)字羅盤數(shù)據(jù),位姿求解結(jié)構(gòu)框圖如圖3所示。
圖3 位姿求解結(jié)構(gòu)框圖
使用互補濾波器[7?8]融合3種傳感器數(shù)據(jù),解算出攝像機(jī)姿態(tài)[R],同時計算出加速度的重力場分量,結(jié)合MPU6050中加速計的輸出數(shù)據(jù)計算攝像機(jī)位移[T]。當(dāng)攝像機(jī)運動時,將同時存在線運動和角運動,故位移計算中應(yīng)對旋轉(zhuǎn)效應(yīng)進(jìn)行補償[9]。
速度[V]的迭代更新方程如下:
[Vn=Vn-1+Rn-1ΔVn+12Δθn×Vn] (3)
式中:[Vn-1],[Rn-1]分別為上一時刻的攝像機(jī)速度和姿態(tài)矩陣;[ΔVn=tn-1tna(t)dt],[Δθn=tn-1tnω(t)dt]分別是加速度和陀螺儀在[tn-1,tn]時間段內(nèi)的速度增量和角度增量;[12Δθn×Vn]是速度的旋轉(zhuǎn)效應(yīng)補償項。
位移[T]的迭代更新方程如下:
[Tn=Tn-1+Vn-Vn-12Δt] (4)
由于低成本加速度計的精度并不高,故直接經(jīng)過二次積分所得位移的累積誤差較大,不能直接使用。本文將引入圖像信息,對加速度計進(jìn)行補償,可大大減少其累積誤差。
2.2 數(shù)字圖像處理
使用圖像處理技術(shù)獲得攝像機(jī)位姿信息的經(jīng)典方法如文獻(xiàn)[10]所描述,是通過計算2幅圖像之間的基礎(chǔ)矩陣[F],然后再結(jié)合攝像機(jī)內(nèi)參數(shù)矩陣[M]求解本質(zhì)矩陣[E],根據(jù)本質(zhì)矩陣可獲得攝像機(jī)的位姿信息。但此方法需匹配特征點和求解矩陣方程,運算量大,且2幅圖像間距離不能太小,否則求解的基礎(chǔ)矩陣[F]誤差較大。結(jié)合本設(shè)計方法,攝像機(jī)只作小范圍移動,且圖像信息需實時修正加速度計的積分誤差,計算量不宜過大,故本文直接對每幀幀間特征點距離作統(tǒng)計,可以得到攝像頭在x?y平面的幀間移動距離:
[Tfn=i=1kmin-min-1k] (5)
式中:[mn],[mn-1]為前后兩幀對應(yīng)的特征點坐標(biāo)。
圖像處理過程如圖4所示。
圖4 圖像處理過程
由于攝像機(jī)移動過程中包含平移和旋轉(zhuǎn)運動,而無論是攝像機(jī)平移或旋轉(zhuǎn),都會使圖像發(fā)生移動,旋轉(zhuǎn)補償是為了去除幀間移動距離的旋轉(zhuǎn)分量。令旋轉(zhuǎn)分量為[Tfr],平移分量為[Tft],則有:
[Tf=Tft+Tfr] (6)
設(shè)攝像機(jī)繞光心[O]旋轉(zhuǎn)[R],世界點[P],在旋轉(zhuǎn)前后的坐標(biāo)分別為[P],[P′],其投影在圖像平面的點分別為[p],[p′]。根據(jù)攝像機(jī)模型[5]可知:
[p=KP, p′=KP′, P′=RP]
式中:[K]為攝像機(jī)內(nèi)參數(shù)矩陣;[R]為旋轉(zhuǎn)矩陣,聯(lián)合三式有:
[p′=KRK-1p]
則可由式(6)得:
[Tft=Tf-Tfr=Tf-(KRK-1-I)p] (7)
2.3 傳感器與圖像信息融合
由攝像機(jī)模型可知,當(dāng)攝像機(jī)移動時,連續(xù)兩幀之間的攝像機(jī)位移[ΔT]與[Tft]有如下關(guān)系:
[ΔT=kTft] (8)
式中[k=zf],z為被測點與攝像機(jī)的距離,[f]為攝像機(jī)焦距。
則有攝像機(jī)移動速度:
[V=ΔTΔt=kTftΔt=kVf] (9)
式中[Δt]為采樣周期,[Vf]為特征點的移動速度。
設(shè)短時間[tn,tm]內(nèi)加速度計的偏移量為常量[ab],加速度計測量值為[as],真實值為[a],則有:
[ΔVs-ΔV=tntmas-adt=tntmabdt=abtmtn]
得:
[ab=ΔVstm-tn-ΔVtm-tn] (10)
對于[tn≤ti≤tm]有:
[ΔVi=tntias-ab-amdt+tntiamdt]
令[am=ΔVtm-tn],結(jié)合式(10),有:
[ΔVi=tntias-ΔVstm-tndt+tntiΔVtm-tndt] (11)
同理,結(jié)合式(9),有:
[ΔVi=ktntiaf-ΔVftm-tndt+tntiΔVtm-tndt] (12)
則有:
[tntias-ΔVstm-tndt=tntiaf-ΔVftm-tndt]
記[ΔVsi′=tntias-ΔVstm-tndt],[ΔVfi′=tntiaf-ΔVftm-tndt]。
離散化后,有:
[ΔVsi′=kΔVfi′=Vsi-Vsn-ΔVsim-n=kVfi-Vfn-ΔVfim-n] (13)
則令代價函數(shù)為[i=nmΔVsi′-kΔVfi′],求取使代價函數(shù)最小化時的k值,把k代入下式,可得速度的修正方程如下:
[V=wVs+1-wkVf] (14)
式中w為修正系數(shù)。結(jié)合速度、位移更新方程式(3),式(4)可求得融合后的位移[T]。
3 實驗與結(jié)果
本文通過手持圖1的實驗裝置,對目標(biāo)盒子進(jìn)行拍攝測量,測量過程中,攝像機(jī)拍攝目標(biāo)盒子,先靜止再沿y軸移動一小段距離,然后再靜止完成測量,整個過程目標(biāo)物體必須保持靜止,且在攝像機(jī)拍攝范圍內(nèi)。實驗裝置的攝像機(jī)使用USB攝像頭,傳感器使用MPU605三軸陀螺儀、三軸加速度計和HMC5883三軸數(shù)字羅盤,通過USB轉(zhuǎn)I2C接口直接讀取數(shù)據(jù),測量算法在PC端實現(xiàn)。
攝像機(jī)的姿態(tài)矩陣[R]直接由互補濾波器解算得到,位移[T]根據(jù)前面所述方法求解。圖 5顯示了求解位移[T]過程中各數(shù)據(jù)的曲線,加速度計輸出及去除重力分量后的數(shù)據(jù)曲線如圖5(a)所示,從圖5(e),圖5(f)可以看出,由于加速度計飄移的影響,當(dāng)手持不動時,單獨使用其輸出的數(shù)據(jù)求得的速度[Vsy]并不為零,導(dǎo)致[Tfy]的誤差隨測量時間增大而增大。圖5(b)是特征點跟蹤的效果圖,其中點A,B,C是待測量的特征點,根據(jù)2.2節(jié)的方法,對特征點進(jìn)行統(tǒng)計處理,得到圖5(c)的特征點移動曲線及旋轉(zhuǎn)補償后的數(shù)據(jù)曲線。最后根據(jù)2.3節(jié)的方法計算系數(shù)k,修正加速計累積誤差,圖5(e),圖5(f)顯示修正前后的速度及位移曲線,可以明顯看出圖像信息很好地糾正了速度及位移的累積誤差。
把[R],[T],代入式(1)求得特征點A,B,C的世界點坐標(biāo)值如表1所示。
表1 特征點的世界坐標(biāo) cm
盒子實測值A(chǔ)B長22.5 cm,BC長16.5 cm,視覺測量值為:
[AB=xB-xA2+yB-yA2+zB-zA2=22.91 cm]相對誤差為1.83%。
[BC=xC-xB2+yC-yB2+zC-zB2=16.18 cm]
相對誤差為1.95%。
由此可見,其計算結(jié)果與實際情況基本相符,可達(dá)到實際測量的精度要求。
4 結(jié) 語
本文采用傳感器與攝像機(jī)結(jié)合的模式,通過手持移動模擬多目立體視覺,避免了運用多個攝像機(jī)所帶來攝像機(jī)參數(shù)不一致的誤差,并融合了傳感器與攝像機(jī)兩者數(shù)據(jù),同時通過增加拍攝視頻長度來獲取更多視角圖像,提高了實際測量結(jié)果的精確度與可靠性。實驗結(jié)果表明,由于該方法不需要攝像機(jī)外參數(shù)的先驗知識,也不需要定標(biāo)參照物且結(jié)構(gòu)簡單、使用簡單,因此,該方法易于推廣應(yīng)用。
參考文獻(xiàn)
[1] 葉聲華,邾繼貴,王仲,等.視覺檢測技術(shù)及應(yīng)用[J].中國工程科學(xué),1999(1):49?52.
[2] 馬驪群,王立鼎,靳書元,等.工業(yè)大尺寸測量儀器的溯源現(xiàn)狀及發(fā)展趨勢[J].計測技術(shù),2006(6):1?5.
[3] 黃桂平,李廣云,王保豐,等.單目視覺測量技術(shù)研究[J].計量學(xué)報,2004(4):314?317.
[4] 彭永強,李祖樞,薛方正.基于舵機(jī)云臺的人型機(jī)器人單目視覺測距[J].計算機(jī)測量與控制,2009(11):2253?2255.
[5] 吳福朝.計算機(jī)視覺中的數(shù)學(xué)方法[M].北京:科學(xué)出版社,2008.
[6] ZHANG Zhengyou. A flexible new technique for camera calibration [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1330?1334.
[7] EUSTON M, COOTE P, MAHONY R, et al. A complementary filter for attitude estimation of a fixed?wing UAV [J]. IEEE/RSJ International Conference on Intelligent Robots and Systems, 2008, 22(26): 340?345.
[8] 梁延德,程敏,何福本,等.基于互補濾波器的四旋翼飛行器姿態(tài)解算[J].傳感器與微系統(tǒng),2011(11):56?58.
[9] 鄧志紅,付夢印,張繼偉,等.慣性器件與慣性導(dǎo)航系統(tǒng)[M].北京:科學(xué)出版社,2012.
[10] 莊曈,曾慶化,劉建業(yè),等.一種基于單目視覺的微型無人機(jī)姿態(tài)算法[J].計算機(jī)工程,2012(15):197?200.endprint