?

基于光束法平差的雙線陣系統標定技術

2024-02-29 04:33郭迎超王國琿
計算機測量與控制 2024年2期
關鍵詞:雙線光束畸變

郭迎超,王國琿

(西安工業大學 光電工程學院,西安 710021)

0 引 言

隨著科技發展,機器視覺在人類生產過程中越來越重要,提高生產的靈活性和自動化程度是機器視覺最基本的特點,一部分人類難以工作的危險環境或者人類難以滿足要求的場所,機器視覺將會是一個很好的替代選項。線陣相機[1-6]就是只有一行或一列像元陣列的相機,它的經濟條件實惠,拍攝視場大,像元尺寸靈活,幀頻率高,十分適合一維動態高精密目標的測量,可以滿足許多測量生產的高精度現場要求,故而需要對線陣相機進行更高精度的標定[7]。

由于線陣相機自身特殊的物理性質,標定物[8-9]不能使用類似面陣相機的常規標定物(如棋盤格),因此,一些學者設計了特殊的標定物。由于線陣相機標定方法特殊,導致對其優化重投影誤差算法的發展緩慢,大大影響了線陣相機的精準度。本文利用光束平差法模型來降低線陣系統中的重投影誤差。光束法平差[10-15](bundle adjustment)又叫束調整、捆集調整,它主要是將多個相機的位姿和測量點的三維坐標作為未知參數求解,其本質是一個優化模型。將相機拍出照片中的特征點像素坐標作為觀測數據后利用最優化算法得到最優的相機參數和世界點坐標。目前優化算法發展已經多種多樣,經常使用的優化算法有粒子群算法,Gauss-Newton法、列文伯格-馬夸爾特(LM,Levenberg-Marquardt)法,粒子群算法是一種群體算法,它可以在全局搜索到最優的解,但每次的解都不一定相同,對于多維復雜的式子優化精度較低。Gauss-Newton法是對Newton法的改良,它解決了Newton法計算量過大的問題,但需要求解公式的Jacobian矩陣正定且非奇異。LM算法又屬于信賴域算法,信賴域算法指的是以算法每次迭代的初始位置作為前提,設立出一個可以信賴的最大位移區間,通過在該位移區間中尋找目標函數的近似函數來求解得到真正的位移。目前,光束法平差發展迅速,廣泛應用在同步定位和地圖構建[16-17](SLAM)、運動推斷結構(SFM)和遙感遙測等領域。

本文研究了線陣相機的數學模型和一般的非線性標定方法,隨后利用光束法平差進一步優化了相機參數,提高了系統的標定精度。

1 雙線陣系統成像模型

該系統基于立體交匯原理[18],由兩個視場共面放置的線陣相機組成,構建雙線陣系統的數學模型,Ow-XwYwZw是世界坐標系,左右線陣相機的相機坐標系分別為Oc1-Xc1Yc1Zc1和Oc2-Xc2Yc2Zc2??臻g中有一點Pw(Xw,Yw,Zw),在左右相機中都有投影,其投影關系[19]為:

Pc1=R1Pw+T1

(1)

Pc2=R2Pw+T2

(2)

其中:Pc1和Pc2為點Pw分別在左右相機坐標系中的坐標。R1,T1和R2,T1是世界坐標系轉換到左右相機坐標系的旋轉矩陣和平移矩陣。R和T是描述左右相機位姿關系的旋轉矩陣和平移矩陣。

線陣相機可以視為特殊情況下的面陣相機,由于線陣相機成像像元只有一行,故而對于左線陣相機坐標Pc1(Xc1,Yc1,Zc1)成像模型為:

(3)

2 雙線陣系統標定

2.1 直接線性標定法求取相機內外參數

圖1為目標世界坐標經過相機變換為像素坐標的成像模型圖,由于線陣相機只有一個維度,故而可以忽視掉世界坐標系中與線陣相機視場正交的維度,線陣相機世界坐標到相機坐標的轉換和相機坐標到像素坐標的轉換[20]可以得出相機世界坐標到像素坐標的轉換關系,在實驗時將雙線陣相機視場與標定靶面平行,則可忽視雙目相機中的ZW,故而可以得出線陣相機的成像數學模型:

(4)

圖1 線陣相機成像模型圖

式中,l11,l12,l13,l31,l32,l34與線陣相機內參系數和外參系數有關,他們確定了攝像機的成像特性,通過多個空間特征點(Xi,Yi)和他們一一對應的像素坐標ui可以解出l11,l12,l13,l31,l32,l34的值,通過對這6個未知數的分解,可以得到各個線陣攝像機的內參數(fx,fy,α,β)和外參數(R,T)。另外,在理想情況下,如果已知雙線陣相機各自的l11,l12,l13,l31,l32,l34,便可以得到雙線陣相機所拍攝圖像的世界坐標。聯立矩陣,可以將像素坐標信息表示為:

(5)

此時,方程中含有6個未知數,因此需要6個或者以上的像素坐標與世界坐標的對應關系,就可以計算得出L中所有的元素。在對線陣相機標定時,通常會將所制作的標定物上采集已知世界坐標特征點的數量大于6個,從而建立起的方程數量大過未知數的數量,再利用最小二乘法的計算方式計算出方程的解,這樣做不但可以計算出每個未知數的結果,而且還可以提高計算精度。為了簡化運算,將L中所有元素除以l34,并將設計實驗中獲取到的N個特征點的像素坐標u和世界坐標XW,YW代入上式獲得新的矩陣方程:

(6)

通過N個特征點和式(6),可以利用線性方程組求解方法求解出L矩陣,L矩陣包含了線陣相機模型中的內參系數和外參系數,整理可得:

(7)

聯立式(7)即可將單個線陣相機內參數和外參數表示出來,這就是直接線性標定方法,將相機的各個系數表達出來:

(8)

綜上所述,由單個線陣相機的直接線性變換標定方法推導出線陣相機基本標定原理,得到線陣相機的內參系數和外參系數。但該方法只是理想條件下所能獲得的線陣相機系數,沒有考慮在實際應用中鏡頭自身所存在的畸變。

在實際標定過程中,因為各種物理現實中的問題,鏡頭都會存在一些畸變,而與理想狀態下的線陣攝像機模型不符合。根據畸變的成因主要將畸變種類分為徑向畸變,離心畸變和薄棱鏡畸變。徑向畸變主要是因為透鏡在生產加工時發生形變導致的,圖像像素點沿著畸變中心徑向產生偏差。離心畸變主要是因為系統光學中心和幾何中心不一致所導致的。薄棱鏡畸變則是因為設計時就存在的缺陷或者加工時的誤差所導致。為此,為了降低畸變導致的誤差,建立線陣相機的畸變模型對其做一定的處理,為了方便計算簡化畸變數學模型,結果為:

(9)

為了減少鏡頭畸變對圖像所造成的誤差,將畸變數學模型作為最優化算法中的目標函數迭代求出相機的畸變參數k1,k2。

2.2 雙目聯合標定

利用實驗和算法將兩架線陣相機各自的內參系數,外參系數還有畸變系數一一求解出來后,還需要求出兩臺相機的相對位姿信息,也就是對雙線陣系統進行聯合標定。具體做法是同時對兩架線陣相機進行標定后,得到兩架相機各自的相機坐標系對同一個世界坐標系的旋轉矩陣和平移向量,利用計算求出的結果根據下面的公式計算,便可以求出兩架相機的相對位置關系,完成聯合標定。當兩架線陣相機對同一個世界坐標系下的標定物時獲取的外參(旋轉矩陣和平移矩陣)分別為:R1,R2,T1,T2,兩架相機的相機坐標系為Pc1,Pc2時,可以得到兩個線陣相機之間的關系:

(10)

2.3 基于光束平差法的相機參數優化

對于雙線陣成像系統,在得到左相機的像素坐標后,可以利用左右相機內參系數和位姿關系求得右相機的重投影坐標,其公式為:

(11)

光束平差法本質是一個優化模型,它的目的是優化重投影誤差。光束法平差的目的就是利用已知的多個相機信息找出最優的相機位姿信息和空間點坐標,使兩次投影之間誤差最小。如圖2所示,從特征點(六面體的角點)發射出的光線經過兩個相機成像在像平面上,理論上特征點PW,實際成像點P1還有投影中心Oc應該連成一條直線,但是現實世界中因為噪音誤差等各種因素影響,每條光線基本不可能準確匯聚到投影中心Oc上,利用多臺相機位姿信息計算出另一臺相機的理想成像點,優化相機參數和目標空間點坐標,使實際成像點盡可能地靠近理想成像點。由此,可得到光束法平差算法的目標函數:

(12)

圖2 光束平差模型

因為LM算法能夠便捷地求得最優解,所以通過LM算法優化光束平差法,對其進行相機中各個系數的優化求解,尋找最優的相機系數。LM算法全稱Levenberg-Marquardt(列文伯格-馬夸爾特)算法,是一種基于最小二乘法的優化算法。迭代公式是最小二乘問題的核心,為:

xk+1=xk+αgk

(13)

其中:gk為收斂的方向,α為收斂的步長,LM算法在牛頓法和高斯牛頓法的基礎上做出了改進,利用Jacobian矩陣近似Hessian矩陣解決了牛頓法計算量過大的問題,提高了算法效率,又利用信賴域和增量轉換矩陣的方法解決了高斯牛頓法中當迭代步長不滿秩或者非正定時導致算法無法迭代的問題,LM法的迭代公式為:

xk+1=xk-(JTJ+μD)-1gk

(14)

LM迭代步長在高斯牛頓法生成的一個近似被信任區間內,這就是LM法又被稱為信賴域算法的原因,通常,μ被稱為信賴域半徑,當μ為0時,LM法就與高斯牛頓法沒有區別,D為增量轉換矩陣,為了減少計算量,在LM算法中增量轉換矩陣通常用使用單位矩陣I來代替。另外,J為Jacobian矩陣,它類似于多元函數的導數,其表達式為:

(15)

其中,LM法詳細步驟如下:

1)將非線性相機標定過程中得到的相機參數設為初始值,設置迭代終止的閾值,第一次迭代k=0。

2)計算JTJ,根據增量方程△x=(JTJ+μD)-1gk,求解得出△x。

3)計算ρ:

(16)

若ρ大于3/4,則μ=2μ,若ρ小于1/4,則μ=0.5μ。這是利用目標函數和近似模型函數的比值來判斷迭代的有效性。

4)若誤差小于迭代設置的閾值或者到達最大迭代次數,則結束循環,否則令k=k+1從第二步繼續迭代循環。

3 實驗

3.1 實驗平臺搭建

圖像采集系統主要由鋁型材搭建成的支架,標定板系統還有兩架線陣相機以及圖像采集卡組成。實驗所用的線陣相機為德國Balser公司所生產的黑白線陣相機,型號為Basler sprint spL2048-140 km。相機鏡頭采用的是尼康公司型號為14 mm f/2.8D ED AF Nikkor的定焦鏡頭,圖像采集卡選用的是X64-Xcelera-CL-PX4Full(OR-X4C0-XPF00)采集卡,它是X64-Xcelera系列的采集卡,可以充分發揮PCI-Express(Peripheral Component Interconnect Express)采集平臺的優勢。PCI-Express平臺不需要字體總線負載,幾乎不占用CPU運算便可以完成圖像的采集與上傳功能,圖像向計算機上傳的速度可以達到1 GB/s。

實驗采用匯聚式雙目視覺模型,實驗所用雙線陣系統與其數學模型如圖3(b)所示,通過標定靶標和標定板建立起目標特征點像素坐標和空間坐標之間一一對應的點對關系。線陣系統是對空間中一維的點成像,因為其成像的特殊性,在一般情況下很難將成像與拍攝目標準確對應。為了滿足這個要求,就必須設計和制作出特殊的標定物,標定靶和標定板設計的好壞尤為重要,它們會直接影響到標定的準確度,增加不必要的誤差。

圖3 標定板與標定靶標示意圖

由于線陣相機成像畫面是一維的,這就需要標定板必須表面光滑并且擁有較高的平整度,這樣它才可以提供足夠精準度的世界坐標位置信息,最大化減少獲取到每一個特征點世界坐標時候的誤差,滿足線陣相機高精度的標定要求。所以采用了有較高平整度的鍍鋅鐵板當作本實驗的標定板,另外,由于鍍鋅鐵板有較強的磁性,它可以將標定靶牢固地垂直吸附固定在標定板上。實驗利用鋁型材做出一個1 850 mm高,1 225 mm長的平臺,平臺底部裝有輪子方便移動。將一個長1 300 mm,寬900 mm的鍍鋅鐵制標定板左右兩點固定在平臺兩側距離地面900 mm的鋁型材支架上,標定板上粘貼一張1 050 mm×750 mm的坐標紙,通過在坐標紙上建立坐標系,從紙上的刻度來方便快速地獲取到世界坐標信息。利用一個內部鑲嵌有磁鐵的鋼尺作為標定靶標,鋼尺可以牢牢吸附在標定板上,鋼尺上每隔100 mm放置一個標定柱,總共8個,標定柱由一個長60 mm的圓柱和一個直徑為10 mm的底盤組成。利用坐標紙上的刻度校準鋼尺的位置,確定好每一個標定柱的坐標信息后利用雙線陣系統獲得原始圖像,獲取到一幅原始圖像后更換位置校準,再次采集圖像,從而獲取到足夠數量的點對。

然后,利用雙線陣系統采集鋼尺在不同刻度下的多幅圖像,對其進行圖像處理后,獲取到每一個標定柱的圖像像素中心坐標。得到世界坐標信息與求得的圖像像素坐標信息后,通過公式(8)的計算,從而獲得初始理想雙線陣系統的內參與外參。按照匯聚式雙目視覺模型擺放好標定板和兩架線陣相機的位置,圖3(a)為實驗搭建圖。擺放時應注意標定板應垂直于地面,左右相機視場與標定板所在平面應平行,并且盡量使左右相機視場共面。

由于線陣相機的視場近似于一條線,拍攝出的圖像無法通過照片準確地對應到實際物件中,對擺放相機位姿調整相機視場造成了一定的困難,本實驗通過對架設相機的設備進行特殊結構設計解決該問題,在相機上方安裝一個帶有直線的激光器,以模擬和指示相機的視場。用這條直線手動調整激光器,使其與線陣相機的視場重合,這樣激光器發射的激光就可以用來模擬線陣相機視場。在其上方安裝一個線性紅外激光器作為輔助光源。實驗開始前,用投影儀將校準板的平面與水平面對齊,然后調整校準板的左右兩側與水平面平行。使用校準板所在的平面作為參考,使用激光器發射的線激光器模擬線性陣列相機的視場,從而調整左相機和右相機的視場以使其平面與校準板所在平面平行。然后,進行局部微調,以確保左線陣相機和右線陣相機視場完全重疊。

當左右線陣相機視場基本共面后,即可開始線陣相機的標定實驗。隨后利用Basler CCT+軟件配置相機,使用CamExper軟件采集圖像,通過調試軟件,可以得到清晰完整的8根標定柱圖像時,即完成一次原始圖像采集。本次實驗總共移動了6次標定靶標,得到了56個標定柱的世界坐標,利用兩架線陣相機拍攝了14張圖片,得到了112個特征點坐標,世界坐標與兩架線陣相機得到的標定柱特征點各自構成了一一對應的點對關系。

3.2 圖像預處理與中心坐標提取

由于外部光照、陰影、空氣中雜質和復雜環境等因素的影響,難以有效識別和提取各個標定柱的像素坐標。這些影響無法利用實驗進行消除,故而通過利用對圖像的預處理,來消除圖像中不需要的數據。目前,比較常見的處理方法有背景差分法,模板匹配和光流法。這些方法因為較為成熟而受到廣泛的應用。

由于線陣相機標定拍攝實驗是在靜態的背景下拍攝原始圖像,不需要固定的模板,因此模板匹配法并不適合于對本實驗圖像進行預處理。光流法抗外部噪音效果較差,運算量巨大,并且本實驗成像并不隨著時間變化而變化,因此光流法也不適合本實驗。背景差分法計算量較小,定位精度較高并且操作簡單,本實驗在進行圖像采集時,背景是固定不變的,因此背景差分法是一種效果卓越的處理方法。本實驗采用背景差分法對8根標定柱進行檢測,消除固有背景對目標標定物的影響。

背景差分法主要是將兩張同一背景的圖像相比較,去掉同一區域,將灰度效果不同的部分與原始圖像進行分離,得出的信息就是標定柱信息。其實現如式(17)所示:

fc(x,y)=fa(x,y)-fb(x,y)

(17)

其中:fc為背景差分后的特征點圖像,fa和fb為原始圖像和背景圖像。

圖像形態學處理是一種基于圖像結構和幾何形狀分析的非線性處理算法。它可以通過圖像自身的結構元素定量修改圖像的幾何特征,算法結構簡單,降噪效果極佳。腐蝕,膨脹,閉運算和開運算是形態學處理算法中的4種基本運算。腐蝕運算主要是去除掉圖像中包含的噪音和毛刺,使圖像邊界像里收縮。膨脹運算主要是將微小缺失的像素點填補,將目標與周圍像素點合并,使圖像邊界向外擴展。A是目標標定柱原始圖像,B是結構元素。式(18)為腐蝕運算,式(19)為膨脹運算:

A?B={x|[(B)x?A}

(18)

(19)

腐蝕運算和膨脹運算經常一起用于圖像處理領域,形態學的開運算是先將目標圖像進行腐蝕運算,然后再對其進行膨脹運算,閉運算則恰恰相反,是先將目標圖像進行膨脹運算后,再對得到的圖像進行腐蝕運算。開運算主要是將目標圖像中小于結構元素的區域和孤立點濾除掉,平滑目標輪廓邊緣。閉運算則是將目標圖像中小于結構元素的空洞,斷點填充連接起來,達到對目標缺失區域的填補效果。開運算和閉運算與單純的腐蝕膨脹運算比起來,目標圖像原有的特征可以得到保持。開運算的定義公式為式(20),閉運算的定義公式為式(21):

A°B=(A?B)⊕B

(20)

A·B=(A⊕B)?B

(21)

按照圖4所示的流程對圖像進行處理,依次進行背景差分法,灰度化,二值化及圖像形態學處理后得到處理后的圖像,根據實驗所獲取圖像的性質,采用半徑為5個像素點的結構元素對二值化后的圖像進行開運算,得到如圖5第二張圖的效果。

圖5 標定圖像特征點提取

圖6 光束法平差優化前后重投影誤差對比

最后再通過形心法得到各個目標特征點中心坐標,視為檢測到的像素點,處理結果如圖5最后一張圖所示。形心法可以快速方便簡潔精度較高的計算出原始圖像中的中心像素坐標,如式(22)所示:

(22)

4.3 實驗結果分析

使用前文所推導出的直接線性變換法得到理想情況下的相機數據,再使用優化算法對標定參數進行參數優化,得到相機的內參系數(fx,fy,α,β)、畸變系數(k1,k2)見表1,相機外參系數(R,T)見表2。

表1 相機內參和畸變參數的標定結果(光束法平差優化前)

表2 雙線陣系統外參數的標定結果(光束法平差優化前)

在雙線陣系統,光束平差法主要是以傳統的非線性標定方法得到的相機內參系數,外參系數和畸變系數為基礎,將他們與世界坐標作為優化目標組成一集合作為優化初值,結合LM最優化算法不斷迭代更新該集合直至重投影誤差最小。優化后的標定參數結果見表3。優化后的世界坐標見表4。

表3 雙線陣系統外參數的標定結果(優化后)

表4 雙線陣系統經過光束平差法優化后的世界坐標

圖4為使用光束法平差前后的重投影誤差變化對比圖。未使用光束法平差前,系統的各個特征點重投影誤差不但數值很大,而且變化幅度也很大,平均值為0.662 1 pixel,而使用了光束平差法優化了之后,系統的重投影誤差逐漸降低并穩定在0.165 4 pixel附近.

表5分析計算使用光束法平差優化后的重投影誤差。雙線陣系統標定的重投影誤差比優化前減少了。因此使用光束平差法對雙線陣系統進行優化是必要的。

表5 法平差優化前后重投影誤差對比

4 結束語

使用自制的鋁型材支架,鍍鋅鐵板標定板和內含磁鐵的不銹鋼靶標對雙線陣系統進行標定,利用形心法檢測圖像中的目標數并精確提取到每個不銹鋼柱的像素坐標。利用基于直接線性變換法和LM算法對雙線陣系統進行標定,得到雙線陣系統的內參系數,外參系數和畸變系數。為了更好地表征該系統在現實物理空間中的定位誤差,使用光束平差法對雙線陣系統的參數和特征點的世界坐標進行迭代優化,優化后雙線陣系統重投影誤差為0.165 4 pixel,相比于一般的雙線陣相機標定方法減少了75.01%,提高了雙線陣系統的標定精度。

猜你喜歡
雙線光束畸變
中老鐵路雙線區段送電成功
詭異的UFO光束
在Lightroom中校正鏡頭與透視畸變
雙線自動閉塞軌道電路故障時發車進路準備的探討
激光共焦顯微光束的偏轉掃描
雙線模式下概念教學的探討
激光探索
高職動漫專業雙線教學模式的構建與實踐
輻射誘導染色體畸變的快速FISH方法的建立
LMCCD影像光束法平差實驗
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合