黃 建 李施陽 章秀華 吳錦夢
(武漢工程大學電氣信息學院 武漢 430205)
近些年,隨著計算機算力的提升,三維重建技術得到廣泛應用。雙目立體視覺作為三維重建技術的一個重要分支,具有經濟、高效的優點。相機標定是雙目立體視覺技術中最基礎和最重要的工作,其精度直接決定雙目三維重建的效果。因此,研究一種適用于復雜應用場景的靈活、穩定和高精度的相機標定方法,成為雙目立體視覺領域重要的工作之一。
雙目相機標定的本質是根據數學模型計算特征點三維空間坐標與二維圖像坐標之間的投影關系[1~2]。工業應用中常見的標定方法多為張氏標定法及其改進算法[3~5]。張氏標定法是通過計算棋盤格角點的空間坐標與圖像坐標的映射關系得到相機參數,其中角點的空間坐標已知,相機參數的標定精度就依賴于圖像坐標系中角點的提取精度[6]。此方法主要存在兩方面的問題,其一是在復雜背景中棋盤格角點提取不準確;其二是由于棋盤格標定板中心對稱,左右圖像中建立的圖像坐標系可能不一致,導致同名特征點匹配失敗。德國MVtec公司在軟件HALCON中使用有方向標識的Halcon標定靶進行標定,利用圓形特征點代替棋盤格角點,提高了特征點的提取精度[7~8]。在實際應用中,相機需要從多個角度采集Halcon標定靶的圖像,會使標定靶的圓形特征點投影到成像平面后變為橢圓特征點,而成像平面上橢圓特征點的中心與標定靶上對應圓形特征點圓心在成像平面上的投影并不重合,因此直接擬合橢圓中心點的方法存在誤差,影響相機標定精度[9~10]。
為了克服上述缺點,文中提出一種基于Halcon標定靶感興趣區域約束的透視變換的方法進行標定,能夠從復雜背景中精確提取特征點的坐標,提高標定精度。方法包含了兩個方面的創新點:一是,利用改進的角點提取算法從復雜背景中提取感興趣區域,消除了復雜背景對特征點提取的影響;二是,通過對感興趣區域透視變換,將橢圓特征點正投影到成像平面上,降低了直接擬合橢圓中心點的誤差。
1)連通域角點粗提取
通過對Douglas-Peucker算法[12]改進來粗提取連通域角點,Douglas-Peucker算法的核心思想是曲線上的角點與參考直線之間的距離最大,且最大距離大于距離閾值,如圖1中點P和點Q是曲線已知的兩個端點,Wi是提取的角點。Douglas-Peucker算法只適用于提取已知端點的曲線上的角點,而閉合的連通域沒有明確的起止端點,故對Douglas-Peucker算法改進:首先隨機選擇連通域上任意一點P和離P最遠的點Q作為起止的兩個端點,然后將連通域分為上下兩部分,分別提取角點,如圖2所示。

圖1 Douglas-Peucker算法

圖2 連通域角點提取圖
2)干擾角點剔除
在粗略提取連通域角點過程中,由于隨機的起止端點的引入和局部凸起像素的影響,會提取到干擾角點,如圖2中點Wi是干擾角點,本文設計了一種方法剔除干擾角點。
定義dist(A,B)為兩個點的距離,Δ(A,B,C)為線段AB與BC斜率差的絕對值,如式(1)。

假設有n個待判斷角點,真實角點之間最小距離為d,Δ(A,B,C)小于α則B點是干擾點,點Pi,Pj,Pj+1是迭代變量,則干擾角點剔除的方法步驟如下:
步驟1:若dist(Pi,Pj)<d,則Pj是干擾角點,j+1后重復步驟1,否則執行步驟2;
步驟2:若Δ(Pi,Pj,Pj+1)<α,則Pj是干擾角點,j+1后重復步驟1,否則點Pj是真實的角點,令i=j,j+1后重復步驟1,當j=n時執行步驟3,當j=n+1時執行步驟4,當j=n+2時結束判斷;
步驟3:Pi不變,令j=n,初始點賦值給點Pj+1后執行步驟1;
步驟4:Pi不變,初始點賦值給點Pj,將第一個真實角點賦值給點Pj+1后執行步驟1。
3)感興趣區域角點坐標確定
由于感興趣區域是由5條直線圍成的五邊形,利用式(2)點到線的距離公式將輪廓點分為5部分分別表示五邊形的每條邊,用最小二乘法[13]分別擬合五條邊的直線方程,最后用式(3)依次計算相鄰邊的交點,作為感興趣區域的最終角點坐標。

式(2)中u、v是點的橫縱坐標,直線的方程表示為直線Ax+B y+C=0。

式(3)中參與計算的兩個邊長方程分別是y=a1x+b1和y=a2x+b2。
1)特征點坐標擬合
空間中橢圓向相機成像平面投影時,相機坐標系與橢圓正交坐標系不重合,使得感興趣區域內橢圓中心的真實投影點發生偏移,如圖3所示,如果直接提取感興趣區域內橢圓的中心坐標,橢圓中心圖像坐標與其三維坐標不能準確對應[9]。

圖3 空間橢圓中心的透視投影示意圖
通過在提取橢圓中心坐標之前對感興趣區域進行透視變換減小誤差,記理想情況下感興趣區域內一點為(u,v),提取的與之對應點的坐標是(x,y),則透視變換可以描述如式(4)。

上式中P是透視變換矩陣,其中p33=1,利用理想情況下角點坐標和提取的角點坐標解P矩陣,然后對感興趣區域透視變換并用最小二乘法擬合橢圓[14]得到橢圓的中心坐標。
2)特征點匹配
左、右圖像的感興趣區域經過透視變換后圖像坐標系相同,可以通過計算特征點之間的最小距離匹配同名特征點,然后分別乘以左、右圖像的透視變換逆矩陣P-1得到已匹配特征點的準確坐標。
綜上所述,文中雙目相機標定方法流程可總結如圖4所示。

圖4 雙目相機參數標定流程圖
為了驗證本文方法精度,采用兩臺FLIR面陣CMOS相機構成雙目立體視覺系統,其中相機鏡頭分辨率為2448像素×2048像素,像素尺寸為3.45μm×3.45μm,使用HC150-7.5,7×7型Halcon標定靶。結合OpenCV庫圖像處理函數和張氏標定原理,在VS 2017編程環境下編寫標定程序,采集復雜背景中標定圖像16組,如圖5所示。

圖5 16組標定圖像
圖6為利用本文方法對采集的圖像進行處理得到的結果,其中圖6(a)是在原圖中提取的感興趣區域角點,圖6(b)是感興趣區域的透視變換圖。圖7是感興趣區域內特征點提取和匹配的結果圖,左、右圖中相同編號表示同名特征點。

圖6 感興趣區域

圖7 特征點匹配
為驗證本文特征點提取方法對雙目相機標定精度的影響,使用本文方法和文獻[8]中基于HALCON的標定方法分別利用圖5中的16組圖像進行雙目相機參數標定,并在相同背景下采集16組GP260-9*9棋盤格標定板圖形,利用文獻[15]中基于張氏標定的方法對雙目相機進行參數標定,標定結果保留小數點后四位,如表1所示。

表1 相機參數標定結果
通過重投影法對文獻[8]、文獻[15]和本文方法的標定結果進行評估。利用表1中雙目相機參數標定的結果,計算可得每幅圖像中特征點平均重投影誤差如圖8所示,其中編號1~16的數據表示左圖像,編號17~32的數據表示右圖像。

圖8 重投影誤差圖
對圖8中的32幅圖像特征點平均重投影誤差再平均可得文獻[8]、文獻[15]和本文方法的整體平均投影誤差分別是0.03像素、0.04像素和0.01像素,對比可知利用本文方法標定取得的結果優于文獻[8]和文獻[15]的方法,特征點平均重投影誤差更小,精度更高。
本文主要研究雙目相機參數的標定,針對在復雜背景中傳統相機標定方法對特征點提取不準確,導致相機標定精度不高的問題,提出一種基于Halcon標定靶感興趣區域約束的透視變換方法,能夠從復雜背景中精確提取特征點坐標。通過改進的角點提取方法獲取Halcon標定靶上的感興趣區域,消除背景對特征點提取的影響;通過利用透視變換將橢圓特征點正投影到成像平面上和最小二乘法橢圓擬合降低特征點坐標的提取誤差;然后匹配同名特征點并使用張氏標定原理計算雙目相機的參數。對比傳統標定方法在復雜應用場景中的標定精度,實驗結果表明,本文的標定方法重投影誤差更小,標定精度更高。