?

融合結構光的折反射全景單目視覺測距

2024-04-08 09:01張越張寧徐熙平張裕張愷霖朱旭
光學精密工程 2024年4期
關鍵詞:光條單目全景

張越,張寧*,徐熙平*,張裕,張愷霖,朱旭

(1.長春理工大學 光電工程學院,吉林 長春 130022;2.長春理工大學 人工智能學院,吉林 長春 130022)

1 引言

近年來,隨著人工智能技術的迅速發展,智能自主無人系統被世界各國視為未來智能化戰爭的關鍵戰力[1-2]。其高度自主性以及智能化水平已經成為研發的關鍵趨勢和應用指標[3]。無人機以其體積小、成本低、可控性強、可接近感興趣區域等優點,在測繪、偵察、救援等民用和軍用領域中得到了廣泛應用[4-5]。然而,在執行各種任務的同時,無人機常面臨著特殊環境中視覺感知的挑戰,尤其是在弱紋理環境中,例如存在較大面積的天花板以及白墻的室內環境中等特征較為單一的環境[6]。因此,提升無人機自主環境感知能力迫在眉睫。在環境感知、目標感知和障礙感知等方面,精確距離信息可以作為觀測信息反饋至無人機飛控系統中,以支持下一步決策,從而保障飛行的安全性[7]。因此,研究無人機在特殊環境下實現精準的視覺測量能力,對科學技術的可持續發展和保障人民生命和財產安全具有深遠的重要意義。

面向環境感知應用領域中有兩種主要的測距方法:激光雷達測距[8]和光學測距[9-10]。激光雷達傳感器功耗較高,體積較大,對無人機飛行工作時間有著較高的限制。光學測距技術作為新興的測距方法,在眾多研究人員的努力下逐漸成熟。光學測距技術主要分為單目測距以及雙目測距,雙目測距需要精確地匹配,導致耗時較長,影響視覺導航的實時性。單目測距系統由于其原理簡單、成本低、良好的實時性等優點,得到了廣泛應用[11-14]。Raza M 等人[15]通過固定單目相機,并運用簡單的數學模型實現對行人深度的自動估計。然而,由于該方法需要固定不動的單目相機,并不適用無人機環境感知;許洋等人[16]采用YOLOv3 進行目標檢測,然后應用相似三角形原理進行深度測量,實現了大范圍深度測量;Xu Z G 等人[17]提出一種僅利用單幅圖像進行距離測量,不需要相機內參的方法,具有較高的實時性且滿足實際應用需求;韓邢?。?8]提出一種數學模型,應用實時估計無人機的攝像頭與目標之間的距離,從而滿足靜態與動態深度測量的需求。盡管這些方法可以精準深度測量,但是在無人機做大機動運動情況下以及在弱紋理場景中,可能無法檢測到目標,從而降低測距精度。折反射全景視覺可以采集水平360°場景信息,為視覺導航過程中提供豐富的有效信息,有助于場景空間的感知和定位[19-20]。因此,提出了一種面向無人機環境感知需求的融合結構光的折反射全景單目視覺測距方法。

在解決無人機在做大機動運動條件下和弱紋理環境中視覺感知問題上,本研究采用了大視場360°折反射全景相機與結構光傳感器相結合的策略,應用于大機動、弱紋理環境下的無人機定位導航之中。為進一步提升無人機對環境感知的能力,提出了融合結構光的折反射全景單目視覺測距方法。通過分析折反射全景相機的成像模型,優化了結構光亞像素點提取方法,使其具有高精度和實時性;通過使用折反射全景相機的標定參數,推導出了結構光平面的相關參數,并建立了測距目標函數,進一步求解距離信息值。實驗證明,融合結構光的折反射全景單目視覺測距方法成功彌補了傳統單目測量精度低的缺陷,且具有測量成本低、功耗低的特點。有效地提高了無人機的定位導航精度,同時賦予系統具有非接觸、適應能力強、快速高效等特點。

2 折反射全景相機成像模型

本研究采用的折反射全景相機[21]由CCD 相機、成像透鏡組以及曲面反射鏡組成。相比傳統透射式鏡頭,折反射全景相機在透視鏡組前增加一個具有旋轉對稱性的二次曲面反射鏡。有效地使視場擴大到水平方向360°、垂直方向大于180°的半球視野范圍。并將場景信息壓縮,形成360°同心圓環狀的全景圖像[22-23]。同比拼接式全景成像技術,折反射全景相機功耗較低,裝配在無人機上以提升無人機的續航能力。折反射式全景成像系統結構原理圖如圖1 所示。

圖1 折反射全景系統成像結構原理圖Fig.1 Principal diagram of imaging structure of catadioptric omnidirectional system

折反射全景相機能夠獲取更廣闊的視野范圍,為無人機在大機動運動和弱紋理環境等特殊條件下的感知提供更豐富的視覺信息。這對于提升所提出的融合結構光的折反射全景單目視覺測距方法的效果具有積極作用。為簡化求解物點與像點關系的計算過程,Mei 提出了全景相機球面統一投影模型[24],其成像模型如圖2 所示。該球面統一投影模型的核心思想是將全景相機成像過程看作是在球面上進行的投影。通過將三維物點映射到球面上,并采用合適的數學表示,可以簡化從三維到二維的投影過程。這種投影模型不僅可以用于普通相機,還可以用于全景相機,能夠更好地捕捉周圍環境的信息。

圖2 球面投影模型示意圖Fig.2 Diagram of spherical projection model

將三維空間點到像素平面下的二維圖像點之間轉換運用矩陣的形式表示。相機坐標系下的空間點Xc以球心為投影中心投影到單位球上,坐標為Xs=[xs,ys,zs]T,其中:

將以球心為投影中心改變為點Cp=(0,0,-ξ)T,其中,ξ表示鏡面參數。單位球上的三維點Xs以Cp為投影中心透視到距Cp為1 的二維平面上:

D(Xs)逆變換表示為:

圖像坐標系與像素坐標系轉換關系為:

其中:K為相機的投影矩陣,f1和f2為相機在X和Y方向上的焦距,α是X與Y的相關系數。將反射鏡與CCD 集成一體構成全景相機時,f與η將不再單獨估計,則有fx=f1η和fy=f2η。(u0,v0)為像素主點坐標。ξ與η反射鏡面型有關[25],表1給出了不同反射鏡面型的ξ與η的參數。

表1 統一投影模型參數Tab.1 Tables should be placed in the main text near to the first time they are cited.

同樣地,在給定圖像點或像素點的情況可以根據公式(5)推出由像素點到球面點Xs的坐標。

在球面投影模型的基礎上,與光軸夾角大于90°的空間點仍可以投影到球面上,不再需要更大的圖像平面,更好的得到空間點與像素點之間的坐標映射關系。

通常球面投影模型可以反映全景視覺傳感器的成像幾何關系,但是由于全景視覺傳感器的透視鏡頭帶來的畸變影響測量的精度。因此,在全景視覺測量中畸變校正的有效性是高精度測量的關鍵。透視鏡頭畸變包括徑向畸變和切向畸變[26]。圖1 中的一點P投影到像素平面的理想坐標為其對應的畸變點的坐標為,所以透視鏡頭畸變模型可以表示為:

3 測距方法

為了實現所提出的方法,基于全景成像模型,建立了融合結構光的全景單目視覺測量模型,如圖3 所示(彩圖見期刊電子版)。硬件部分由實驗室自主研發的單目折反射全景相機和綠色十字結構光傳感器組成,折反射全景相機能夠提供360°視野,為無人機在做大機動運動情況下提供豐富的視覺特征。同時,掛載在無人機四旋翼下方的四個結構光傳感器,為360°全景感知中的弱紋理場景補充紋理信息,從而的增強全景視覺感知的魯棒性。軟件部分則通過處理器對原始圖像進行處理,生成光條位置的點云,進而獲取環境中的三維信息。通過硬件和軟件的協同工作,我們能夠獲得精確的環境信息,為無人機在特殊環境中的定位導航提供了強大的支持。其中,Oc-XcYcZc為三維相機坐標系。On-XnYn是歸一化圖像坐標系。On-XuYu是未失真的圖像坐標系。φn為歸一化像平面。φu是未畸變的像平面。φs1,φs2為結構光傳感器投影出的光平面。假設P是三維空間中的任意一點,歸一化后的像平面上的點為Pn,Pn是φn中對應的透視投影點。同理,Pu是未畸變像平面中的理想投影點。Pd是P在歸一化平面上的實投影點。

圖3 融合結構光的折反射單目全景視覺測量模型示意圖Fig.3 Schematic diagram of catoptrical omnidirectional vision measurement model integrating structured light

3.1 改進Steger 算法的結構光光條中心提取

為了提高融合結構光的折反射全景單目視覺測量精度,需要進行亞像素級別的結構光條中心提取。首先為了突顯結構光條所在位置,需要在同心圓環全景圖像上找到感興趣區域(Region of Interest,ROI),減少計算時間的同時去除大部分干擾。梯度方向作為圖像中灰度值變化最快的方向,圖像中紋理細節較明顯時,存在較大的梯度值。圖像梯度計算方法如式(7)所示:

因此,結構光條紋圖像的梯度三維圖如圖4所示。從圖中明顯看出,結構光條紋所在的位置是整幅圖像中梯度最大的位置。

圖4 結構光條紋梯度分布三維圖Fig.4 Three-dimensional Diagram of fringe gradient distribution of structured light

為進一步求取所需的結構光條ROI 區域準確位置,將梯度的方法用于結構光條紋ROI 的提取,通過列掃描法得到結構光條紋所在的高度位置。最后,掃描中心線結合結構光區域的特點得到結構光中心點所在寬度位置。列掃描法的計算公式如式(8)所示。結構光的ROI 如圖5所示:

圖5 結構光ROI 提取Fig.5 Structured light ROI extraction results.

其中:yi為列中i點的縱坐標,(m-n)為結構光條在該列的寬度,求取yi的平均值可得到結構光條的縱坐標。

在實際測量過程中,由于外界的干擾,相機拍攝的圖像中會混入多種噪聲,顯著影響對光條中心坐標的提取。在本文中,引入中值濾波對光條紋圖像進行去噪處理,然后進一步提取光條中心亞像素坐標。

Steger 算法[27-28]以Hessian 矩陣為基礎,Hessian 矩陣的兩個特征值分別對應圖像灰度函數的兩個二階方向導數的極值,極值的方向與特征值對應的特征向量方向一致。同時,Hessian 矩陣中絕對值最大的特征值就是圖像灰度函數的二階方向導數,對應的特征向量就是圖像的法向(nx,ny)。二維圖像的Hessian 矩陣為:

其中:x與y代表像素的行坐標和列坐標,rxx,rxy,ryy是圖像灰度函數r(x,y)的二階偏導數,可利用原圖和高斯核函數卷積運算:

圖像中任意一個像素點(x0,y0)的相鄰像素點可用二次泰勒多項式表達:

其中:A與B矩陣中的元素均由圖像f(x,y)與高斯核卷積所得:

用圖像的法向方向(nx,ny)求得二維圖像的邊緣方向n(x,y),則式(12)可表示為:

獲得結構光條中心點亞像素坐標后,采用最小二乘曲線擬合方法,得到結構光曲線方程,如式(13)所示:

曲線方程參數的最優估計為:

平面法向量n=(nx,ny,nz)可以進一步表示為:

3.2 測距目標函數建立

在圖3 中,世界坐標系位于棋盤格標定板上,設[n13,n23,n33]T和(x0,y0,z0)分別是標定板平面的法向量和原點,則標定板在相機坐標系下的方程為:

假設結構光條在圖像坐標系上的兩點坐標為(u1,v1)和(u2,v2),通過球面投影模型推導,歸一化平面上的點的坐標如式(15)所示:

求出圖像中結構光上的任意一點與光心組成的射線的直線方程與結構光平面方程的交點,進一步求得此點在相機坐標系下的三維坐標。則相機光心與兩點所構成的直線在相機坐標系下的方程如式(16)所示:

聯立式(14)和式(16),得到兩條直線與標定板所在平面的交點,即兩點在相機坐標系下的坐標為為降低結構光條中心坐標提取誤差,固定結構光全景視覺傳感器,改變標定板的位姿,拍攝k幅圖像(k>3),進行平面擬合,進一步得到結構光直線在相機坐標系下的方程如式(17)所示。結構光平面擬合示意圖如圖6 所示。

圖6 結構光平面擬合示意圖如圖Fig.6 Illustration of Structure Light Plane Fitting

設不同位姿標定板上的結構光直線都位于相機坐標系下方程為ax+by+cz+d=0 的結構光平面s1上,則有結構光平面的法向量用矩陣表示如式(18)所示:

其中:[mi,ni,li]T為第i條直線的方向向量,k為結構光直線的數量。由于式(18)是超定齊次線性方程,需求最小二乘解。對矩陣A進行SVD分解,得A=UΣVT,求得奇異值矩陣Σ中最小的奇異值可以進一步求出最小二乘解,即結構光平面的法向量:

最后,求解結構光直線上的點到結構光平面的距離平方和為:

其中,p1i和p2i作為結構光邊界直線,滿足:

建立求解結構光平面方程的參數d 的優化函數為:

聯立式(20)、式(22)和式(23)得:

求得了結構光平面的法向量ns與結構光線條上的點到全景相機光心的距離d后,完成結構光平面在相機坐標系下的參數擬合,通過式(16)求解圖像中任意結構光上一點與相機光心組成的射線直線方程,進一步求解該直線方程與結構光平面的交點,得到該交點在相機坐標系下的三維坐標,即實現了融合結構光的折反射全景單目視覺測距功能。

4 實驗結果與分析

本文提出的融合結構光的折反射全景單目視覺測距方法用于解決無人機在弱紋理條件下環境感知受限以及單目測量精度低的問題,通過分析弱紋理場景下的十字結構光在相機坐標系下的投影關系,進而實現距離測量。使用XNDR01 高階非球面折反射全景相機作為全景視覺傳感器,分辨率為1 600×1 200。結構光發射器使用可控的、單獨工作的綠色十字線工業激光模組,功率為100 mW,發射波長532 nm,重量25 g。將兩者固定在水平刻度尺上,如圖7(a)所示。本實驗測距結果與萊卡TS60 全站型電子測量儀(全站儀)測量結果進行比較,進行精度分析。全站儀是將高差測量、距離(斜距、平距)、水平角、垂直角測量功能集于一體的測繪儀器。其測距精度為0.6 mm,測距量程為1km,如圖7(b)所示。通過優化單目標旋轉攝影方法[29]對全景相機與全站儀進行聯合標定,找到全站儀與全景相機的坐標系之間對應關系。確保全站儀測量結果作為真值的有效性,以減少測量誤差。實驗環境 為Windows10,64 位操作系統,CPU 為Inter Core i7-10750H,主頻為2.60 GHz,內存為16 GB,算法基于MATLAB R2019a 編寫。

圖7 實驗驗證系統Fig.7 Experimental verification system

4.1 結構光光條中心提取結果

為了驗證改進Steger 算法相對于其他算法在結構光光條中心提取過程中的準確度和速度的表現情況,選用灰度重心法、極值法、閾值法、原始Steger 算法、以及改進后的Steger 算法進行對比實驗。在同樣條件下,運用五種方法對同一張圖像進行處理。在圖8 中,(a)為原始結構光圖像,(b)-(f)分別采用灰度重心法、極值法、閾值法、原始Steger 算法以及改進的Steger 算法對原圖像進行十字結構光光條中心提取的結果,并在表2 中對提取效果和運行時間進行對比分析。通過對實驗結果圖的觀察,可以明顯看出改進的Steger 算法在光條中心提取方面具有卓越的性能。雖然改進的Steger 算法在運行時間上超出灰度重心法0.119 s,但是提取結果質量相對較好;同比Steger 算法,時間減少1.021 4 s。

表2 算法提取結果對比Tab.2 Extraction results of various algorithms

圖8 各算法提取結果Fig.8 Extraction results of various algorithms

同時,選取350 個數據點進行曲線擬合,并通過對相關系數(R2)、和方差(SSE)以及均方誤差(MSE)的比較,衡量各結構光光條紋中心提取方法的效果。R2越接近于1,光條提取穩定性越高;SSE 越接近于0,曲線擬合程度越好;MSE 越小,光條中心提取精度越高。

各算法提取的光條中心擬合結果見表3。極值法、閾值法受噪聲影響,擬合得到的相關系數降低?;叶戎匦姆ㄊ芑叶确植嫉挠绊?,相關系數下降明顯,擬合結果偏差較大。改進的Steger 法SSE 擬合誤差減少35.92%,說明在同等條件下改進后的方法擬合程度較好。通過對比可知,本文方法有較高的提取精度。這種高提取精確性對于確保測距的準確性和穩定性至關重要,尤其是在無人機高機動運動和弱紋理環境等特殊條件下。這一結果進一步為所提出的結構光輔助折反射全景視覺單目測距方法在實際應用中的可行性和有效性提供有效的數據基礎。

表3 各算法提取的光條中心擬合結果Tab.3 Fitted results of extracted light stripe centers for each algorithm

4.2 測距結果分析

為驗證所提出方法的有效性,更準確的計算測距誤差。將結構光分別投影到無紋理信息的白墻平面以及弱紋理信息的天花板平面上完成測距實驗。實驗中,使用結構光全景視覺傳感器測量一面弱紋理墻面的垂直距離,測量距離從500 mm 到5 000 mm,每隔500 mm 測量一次,共測量十組,每組測量十次。在實驗中,利用全景相機觀測到的每個結構光點在相機坐標系下的z軸坐標,使用全站儀測量同樣位置的真實值作為對照。首先用均方根誤差(Root Mean Square Error,RMSE)來衡量在提取結構光條時的隨機誤差;其次,計算水平結構光和垂直結構光上的平均相對誤差(ε),用來反映結構光全景視覺傳感器測距的固定偏差。通過這些實驗和測量,我們可以全面地評估融合結構光的折反射全景單目視覺測距方法的性能。相對誤差和均方根誤差的數據將幫助我們了解在不同測量條件下方法的表現,以及其在提取結構光條時的穩定性和精確性。這些評估結果將有助于我們更好地理解本文提出的方法在實際應用中的可行性和有效性。

其中:xr表示全站儀測得的真實距離,xm表示提出方法的所測得距離。

由式(16)可知,在測距過程中需要調用全景視覺傳感器的內部參數,通過球模型標定包對全景視覺傳感器進行標定得到內參矩陣如表4所示。

表4 XN-DR01 高階非球面折反射全景相機內部參數Tab.4 Internal parameters of XN-DR01 advanced non-spherical catadioptric omnidirectional camera

通過圖9 展示了融合結構光的折反射全景單目視覺測距方法在白墻平面和天花板平面下的測距誤差數據。從圖中可以觀察到,無論是在白墻平面還是在天花板平面,在距離2 000 mm 以內,水平結構光和垂直結構光的測距誤差都小于10 mm,然而當距離超過2 500 mm 時,測量誤差開始逐漸增加。值得注意的是,在對全景視覺傳感器進行標定獲得內參時,標定板通常放置在距離1 000~1 500 mm 的范圍內,以獲得高精度的內參。因此,在這個距離范圍內,測距誤差相對較小。當測量距離在2 500 mm 以內時,兩種場景下水平結構光和垂直結構光的均方根誤差分別在13 mm 和19 mm,均保持在20 mm 以內。然而,隨著測量距離的增加,兩個結構光平面測距的均方根誤差逐漸增加。需要指出的是,由于折反射全景相機存在徑向畸變,以及像素誤差的影響,導致水平結構光平面的擬合精度相對較低。因此,水平結構光的均方根誤差增長速度大于垂直結構光。這些數據呈現了融合結構光的折反射全景單目視覺測距方法在不同距離、不同環境下的測量誤差特性。通過分析這些數據,我們可以更深入地了解該方法在實際應用中的表現,并為優化和調整方法參數提供參考。

圖9 測距誤差對比圖Fig.9 Distance measurement errors comparison data graph

同時,用誤差占測量距離的百分比來表示測量精度,不同場景下的測量精度結果如圖10 所示。從圖中可以看出隨著距離的增加,相對誤差也有所增加。在白墻平面和天花板平面用垂直結構光測距最大誤差分別為2.69%,2.85%,用水平結構光測距最大誤差分別為2.27%,2.57%。然而,值得注意的是,結構光全景視覺傳感器的測距精度始終保持在3%以內,即使在較大的距離下,其測量精度仍然滿足無人機在特殊條件下精準距離測量需求。通過圖示數據,我們可以明確地看出本文所提出的融合結構光的折反射全景單目視覺測距方法在不同場景、不同距離下都能夠保持穩定的測量精度,證明其在實際應用中的有效性和可靠性。綜上所述,所提出的融合結構光的折反射全景單目視覺測距方法為單目全景測距提供穩定可靠的測量結果,這為單目視覺SLAM[30]以及3D 場景重建[31]等下游任務的實現提供了可靠的理論基礎與數據結果。

圖10 測距精度圖Fig.10 Distance measurement accuracy data graph

5 結論

針對無人機大機動運動視場變化較大以及在弱紋理環境中視覺特征丟失以及單目全景視覺測距精度低的問題。本文提出了一種融合結構光的折反射全景單目視覺測距方法。該方法不需要對圖像之間進行立體匹配,以低成本、低功耗的優勢提升了無人機在特殊環境下的感知能力。介紹了折反射全景相機的球面投影模型和結構光光條感興趣區域(ROI)提取的理論基礎;建立了融合結構光的折反射全景單目視覺測量模型;改進了Steger 算法提取時間較長的問題,將提取時間提高1.2 s;推導了結構光平面參數獲取的過程;建立了測距目標函數進一步求得距離測量值。與全站儀測量結果比較,融合結構光的折反射全景單目視覺測距精度在3%以內,滿足無人機在大機動運動條件下以及弱紋理場景下穩定可靠的導航需求。輕量化與低功耗是實現無人機自主導航的必要條件,同時融合結構光的折反射全景單目視覺測距技術為單目視覺SLAM 和3D 場景重建等方面提供了可靠的理論基礎與數據結果,有一定的工程應用價值。

猜你喜歡
光條單目全景
面向復雜環境的線結構光光條中心提取算法
Steger算法在運動鞋底表面光條圖像中心提取的應用
基于塊匹配的激光條紋亞像素中心提取
戴上耳機,享受全景聲 JVC EXOFIELD XP-EXT1
一種單目相機/三軸陀螺儀/里程計緊組合導航算法
全景敞視主義與偵探小說中的“看”
單目SLAM直線匹配增強平面發現方法
從5.1到全景聲就這么簡單 FOCAL SIB EVO DOLBY ATMOS
全景搜索
基于CAD模型的單目六自由度位姿測量
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合