崔恩坤,滕艷青,劉佳偉
(1.中國電子科技集團公司第三十八研究所,安徽 合肥 230000;2.魯南技師學院,山東 臨沂 276000;3.中國人民解放軍63618 部隊,新疆 830000)
近幾年,隨著工業(yè)自動化的發(fā)展,立體視覺系統(tǒng)在工業(yè)測量領(lǐng)域得到了廣泛應(yīng)用。雙目視覺測量系統(tǒng)結(jié)構(gòu)簡單并能夠?qū)崿F(xiàn)非接觸3D 重構(gòu),是一種重要的三維測量手段。雙目視覺直接模擬人眼視覺結(jié)構(gòu)感知三維世界,提取物體的三維信息[1]。高精度參數(shù)標定是保證視覺測量系統(tǒng)測量精度的重要前提,制約參數(shù)標定精度的主要因素有特征點提取誤差、探測器量化和圖像噪聲等[2-6],代表性的處理方法是利用光束法平差進行優(yōu)化,但是依然無法完全消除系統(tǒng)誤差[7-12]。
光學系統(tǒng)相機裝調(diào)誤差一方面導致相機畸變的復(fù)雜性[13],另一方面破壞光學系統(tǒng)的光軸一致性。前者導致外參數(shù)標定結(jié)果惡化,后者則可能在靶標外參中引入空間位置變化量,與相機模型理論相悖[14-15]。另外,相機模型內(nèi)外參數(shù)之間存在的耦合作用也可能導致標定得到的物像對應(yīng)關(guān)系與真實的對應(yīng)關(guān)系不符。在高精度標定算法中通常會考慮抑制參數(shù)耦合,但是對耦合作用的抑制效果有限[15]。相機模型參數(shù)耦合將導致多組結(jié)果求平均的方法效果欠佳。由以上分析可以看出,在高精度測量中有必要對標定誤差進行補償,如GENOVESE K 提出一種不基于相機模型的優(yōu)化方法[16]對標定誤差和畸變進行局部補償。
在標定過程中,相機的外參數(shù)作為輔助量參與標定,并與系統(tǒng)固有參數(shù)共同作用達到對相機的最佳擬合。在測量時,通常又將相機坐標系設(shè)置為測量坐標系,該處理方式也可能引入系統(tǒng)誤差。鑒于以上考慮,本文提出一種雙目系統(tǒng)優(yōu)化方法,在標定之后進行一次系統(tǒng)優(yōu)化,在相機坐標系中將物點做位置變換,在新的位置上滿足標定參數(shù)建立的雙目視覺系統(tǒng)物象關(guān)系,從而對標定誤差補償,在局部進行優(yōu)化建立優(yōu)化查找表[16]。本文對優(yōu)化方法進行了詳盡的闡述,并進行了實驗分析。
雙目視覺系統(tǒng)由2個相機構(gòu)成,定義 (Rs,Ts)為雙目視覺系統(tǒng)的結(jié)構(gòu)參數(shù),Rs和Ts分別表示由左相機坐標系轉(zhuǎn)換到右相機坐標系的旋轉(zhuǎn)矩陣和平移向量。假設(shè)物坐標為MW,對應(yīng)在左右相機成像為ml和mr,如果將左相機坐標系設(shè)置為測量坐標系,那么雙目視覺測量系統(tǒng)模型表示如下式中:I為單位矩陣;表示物點齊次坐標;和分別表示左右圖像的齊次坐標;λ1和λ2為縮放因子;(Rs,Ts)可以由左右相機的外參數(shù)表示
式中:Rl和Rr分別表示左右相機的旋轉(zhuǎn)矩陣;Tl和Tr分別表示左右相機的平移向量,雙目視覺系統(tǒng)標定指對系統(tǒng)固有參數(shù)估計,即 (Al,Ar)和(Rs,Ts),相機外參數(shù) (Rl,Tl)和(Rr,Tr)作為輔助量參與標定過程。
當結(jié)構(gòu)參數(shù)存在標定誤差時,結(jié)構(gòu)參數(shù)表征的相機投影中心和像面的位置姿態(tài)與相機的真實投影中心和像面之間存在偏差。假設(shè)結(jié)構(gòu)參數(shù)存在誤差,記為(R′s,Ts′),該誤差只導致左相機的位置姿態(tài)發(fā)生變化,右相機的位置不變,如圖1所示。
圖1 參數(shù)(Rs,Ts)的標定誤差補償示意圖Fig.1 Schematic of calibration error compensation for(Rs,Ts)
圖中L和R分別表示左右相機真實的位置,平面π位于P1,其上的點集Miw(i=1,2…N)在左右相機上的真實圖像為ml和mr。(R′s,Ts′)表征的左相機位于L′處,因此相當于利用L′和R兩個位置的相機進行三維重構(gòu),表示如下
式中:AL′表示左相機在L′處成像,左相機的圖像信息和投影過程不匹配。WANG Zhenzhou[17]證明一個平面上的點M(xi,yi,zi)分別與2個投影中心相連得到2組不同的光束,被2個平面截取得到2幅圖像和M1′與M2′之間存在轉(zhuǎn)換矩陣A,表示如下
如果左相機位于L′處,Miw經(jīng)左相機成像為m′l,由(4)式可以知道m(xù)′
l和ml可以相互轉(zhuǎn)換。假設(shè)轉(zhuǎn)換矩陣為Am,則m′l和ml之間的轉(zhuǎn)換表示如下
將(5)式帶入(3)式,三維重構(gòu)模型修正為如下形式
轉(zhuǎn)換關(guān)系式(6)是在像空間進行的。由圖1可以看出來,如果左相機位于L′處,對平面π進行位置轉(zhuǎn)移,可以找到一個位置使得移動后的平面π在左相機的像與ml相同。假設(shè)平面π位于P2處滿足上述要求,則左相機位于L和L′兩個位置的成像可以分別表示為(7)式和(8)式
式中:和A′L本 身的數(shù)值相同;(?R,?T)是位置變換量,表示平面π 由P1轉(zhuǎn)換到P2。聯(lián)立(5)式和(7)式可以得到如下關(guān)系式
令[M]4×4=AmAL′[?R,?T],將其轉(zhuǎn)換成以下形式
式中:(?R′,?T′)即為補償矩陣,由此可以將像空間轉(zhuǎn)換Am變?yōu)樽笙鄼C的物空間位置變化,因此可以用位置變換 (?R′,?T′)補 償 (Rs,Ts)的誤差。
共線幾何約束關(guān)系[18]表明物、投影中心和匹配像對可以轉(zhuǎn)換到同一條直線上,假設(shè)通過雙目系統(tǒng)得到匹配像對,利用共線關(guān)系可以計算出物點的坐標
式中:(Al,Ar)和(Rs,Ts)為系統(tǒng)固有參數(shù),可以通過雙目視覺系統(tǒng)標定得到。由(10)式可知,(?R′,?T′) 補 償矩陣 (?R′,?T′)可作為左相機外參數(shù)(Rl,Tl)的一部分,因此可以以 (Rl,Tl)為優(yōu)化變量,以Mw為參考數(shù)據(jù),建立代價方程
式中:i表示第i個點。當J最小時,即可得到(Rl,Tl)的最優(yōu)解,該問題是非線性最小二乘問題,可以用Levenberg-Marquardt算法迭代優(yōu)化,以標定結(jié)果為初始值進行迭代優(yōu)化。
由文獻[8]可以知道,物體和對應(yīng)的左相機中的圖像可以用單映性矩陣表示如下
式中:Hl為左相機單映性矩陣。由于左相機外參數(shù)中的旋轉(zhuǎn)矩陣Rl元素數(shù)值較小,容易引入舍入誤差,在本文中選擇以Hl代替代價方程(12)中的(Rl,Tl)作為迭代變量,Hl中主要包含12個參量,在優(yōu)化過程中至少需要12個對應(yīng)匹配像對。在WANG Zhenzhou的證明過程中,模板M(xi,yi,zi)是一個平面,(5)~(10)式的轉(zhuǎn)換在平面內(nèi)成立,因此優(yōu)化只對平面中的點完全補償。在本文中選擇在局部視場進行優(yōu)化,利用不同視場得到的優(yōu)化矩陣建立查找表。在查找表的邊緣處,為了保證優(yōu)化矩陣的連續(xù)性,采取鄰域重疊的方式優(yōu)化。在局部視場中可以將殘余畸變大小近似為一個常值,因此基于局部優(yōu)化建立查找表的方法對減小殘余畸變同樣有效。
在仿真實驗中不考慮探測器像元離散造成的特征點提取誤差。設(shè)置相機的焦距為12 mm,結(jié)構(gòu)參數(shù)為Rs=[0°,0°,0°],Ts=[180,0 0] mm。設(shè)置焦距誤差為0.05 mm,主點誤差為0.001 mm,結(jié)構(gòu)參數(shù)誤差為ΔRs=[?0.046°,?0.036°,0.012°],ΔTs=[0.3,0.35,0.35] mm。模擬物點均勻分布,相鄰點之間的最小距離為40mm。在不考慮相機視場限制的情況下,將距雙目視覺系統(tǒng)為800mm~1 400mm的測量空間分割成16×2個局部視場,在32個局部視場進行優(yōu)化。
實驗結(jié)果如圖2~圖4所示。優(yōu)化前,z、x和y坐標平均測量誤差最大值分別大于7 mm、3 mm和3 mm,可以看出測量誤差具有明顯的空間分布規(guī)律;優(yōu)化后,平均測量誤差減小,z方向的誤差大于其他2個方向的,最大誤差小于0.03 mm。三坐標測量誤差的視場依賴性得以消除。優(yōu)化后單應(yīng)性矩陣元素的變化量如圖3所示,hij表示單應(yīng)性矩陣第ith行中第jth列的元素,x坐標表示不同局部視場,局部視場1、3、5和7的中心z=960mm;局部視場2、4、6和8的中心z=1200mm。由圖可以看出單應(yīng)性矩陣元素的變化與局部視場的分布有關(guān),圖3(d)中平移變量差值較大。噪聲對單應(yīng)性矩陣的優(yōu)化的影響如圖4所示,說明本文方法對噪聲的魯棒性較強。
圖2 優(yōu)化前后的測量誤差分布Fig.2 Measurement errors distribution before and after optimization
圖3 單應(yīng)性矩陣中元素變化差值Fig.3 Difference curves of element changes in homography matrix
圖4 不同的噪聲水平對本文優(yōu)化方法的影響Fig.4 Effects of different noise levels on proposed optimization method
在系統(tǒng)實驗中,實驗裝置如圖5(a)所示,雙目視覺系統(tǒng)由2個工業(yè)相機組成(外側(cè)的2個相機),分辨率為2 560像元×2 160像元,像元大小為6.5 μm。在本實驗中針對一個局部區(qū)域優(yōu)化,如圖5(b)所示,將一個高精度靶標安置于6 自由度轉(zhuǎn)臺上,調(diào)整靶標平面與轉(zhuǎn)臺的運動軸垂直,轉(zhuǎn)臺只沿單軸平移。記錄轉(zhuǎn)臺的初始位置,根據(jù)此位置設(shè)置測量坐標系。移動轉(zhuǎn)臺,每隔固定距離采集一組圖像,共采集10次圖像,利用前5次采集圖像進行優(yōu)化計算,并根據(jù)優(yōu)化結(jié)果對后5次采集圖像進行三維測量。實驗結(jié)果如圖6所示,圖6中(a)和(b)分別表示中心在(?400,?400,1 000)mm和(400,0,1 000)mm的局部視場(200×200×200)mm3優(yōu)化的結(jié)果。由圖可以看出優(yōu)化后的10次采集圖像測量精度都有很大提高,并且前5次數(shù)據(jù)和后5次數(shù)據(jù)的測量精度相同。圖7表示本文方法和文獻[16]的算法對比結(jié)果,本文方法精度更高。圖8表示隨機選擇的一個平面及優(yōu)化前后的重構(gòu)平面,優(yōu)化前重構(gòu)平面偏離原平面位置,說明存在系統(tǒng)誤差,優(yōu)化后重構(gòu)平面內(nèi)點在真實位置附近隨機波動,測量誤差主要來源于匹配像對提取引入的隨機誤差。
圖5 試驗裝置Fig.5 Experimental installation
圖6 優(yōu)化前后精度比較Fig.6 Accuracy comparison before and after optimization
圖7 不同方法的精度比較Fig.7 Accuracy comparison of different methods
圖8 重構(gòu)平面Fig.8 Comparative results of reconstruction plane
本文分析了制約雙目視覺測量系統(tǒng)精度的主要因素,提出基于查找表的雙目系統(tǒng)標定誤差補償優(yōu)化方法,建立物像之間的虛擬映射關(guān)系。首先理論推導證明了利用相機外參數(shù)補償雙目視覺系統(tǒng)固有參數(shù)標定誤差的可行性,接著進行了實驗分析。實驗結(jié)果表明本文的優(yōu)化方法能夠在全視場減小系統(tǒng)誤差,在距雙目視覺系統(tǒng)垂直距離為800mm~1 400mm的范圍內(nèi),最大測量誤差小于0.03 mm。相對不基于成像模型的優(yōu)化方法具有明顯的優(yōu)越性。本文優(yōu)化方法不僅提高了雙目視覺系統(tǒng)的測量精度,而且減小了測量精度對系統(tǒng)真實參數(shù)的依賴性。