許智斌,葛動元,向文江,姚錫凡
(1.廣西科技大學機械與交通工程學院,廣西 柳州 545006;2.邵陽學院機械與能源工程學院,湖南 邵陽 422004;3.華南理工大學機械與汽車學院機械,廣東 廣州 510640)
隨著計算機以及視覺傳感器的不斷發展,機器視覺作為提升生產力的重要手段,在各行各業得到了重視,其廣泛應用于無人駕駛,智能交通,人臉識別,工業檢測等領域。攝像機標定是機器視覺研究領域里的重要課題之一,是攝像機進行后續工作的基礎。攝像機標定即求解攝像機與三維立體世界的映射關系,通過實驗與計算求解攝像機參數的過程。攝像機參數分為內參數和外參數。內參數反映著攝像機內部結構及幾何特性,外參數則是反映了攝像機與三維立體世界的位姿關系。
攝像機標定方法大致可歸為兩類:傳統攝像機標定和攝像機自標定[1];傳統攝像機標定是利用一個幾何參數精確已知的、規則的標定物作為參照物,通過獲取參照物上的世界坐標點與圖像上的圖像坐標點,建立兩者的對應關系。其主要包括Faugeras線性標定法[2],Tsai兩步法[3],張正友棋盤標定法[4]。Faugeras線性標定法在基于針孔模型的前提下,使用線性方程,描述世界坐標系與攝像機坐標系的線性關系。只需要獲取6個世界坐標點與圖像坐標點,通過求解線性方程,就可得到攝像機的全部內外參數。Tsai兩步法分兩步進行,第一步求解基于徑向一致約束方法所構建的線性方程,第二步將求得的參數作為已知值,引入鏡頭的畸變,求解出攝像機內外參數。張正友標定法現已得到了廣泛的應用,其通過在不同角度拍攝平面棋盤標定板,根據圖像點與棋盤點的對應關系,求解出單應性矩陣,進一步得到攝像機內外參數,最后使用最大似然法優化得到更精確的內外參數。張正友標定法便捷簡單,魯棒性好,但是在廣角鏡頭的情況下并不適用。攝像機自標定法則是利用攝像機的特定運動完成攝像機自動標定的一類方法。文獻[5]提出了一種固定攝像機位置,通過控制攝像機做純旋轉運動的自標定方法。文獻[6]提出了一種基于平面二次曲線的攝像機標定方法,通過攝像機在兩個或兩個以上的方位拍攝含有同心二次曲線的平面模板,可快速獲得攝像機參數。該方法原理簡單,求解結果穩定且精確。文獻[7]探討基于絕對二次曲線進行攝像機自標定魯棒性差的原因,通過確定攝像機內參數的初始值,利用Kruppa方程的約束提出了一種新的二步式攝像機自標定方法。
在很多場合,求解出攝像機投影矩陣M便已經完成了攝像機標定。但在如運動分析場合,仍舊需要分解投影矩陣M,獲取內外參數。在攝像機的成像過程中,攝像機與三維世界的映射關系有著明確的幾何關系,為了讓求解內、外參數的過程更為直觀,文中基于類漸近線的特性求解攝像機內、外參數,為求解過程引入物理意義。該方法根據極限的定義,當像平面上的某圖像點p(u,v)在u坐標不變而v坐標趨向于正無窮遠時,光心與p點的連線形成類漸近線,該漸近線與攝像機坐標系Xc軸平行,在標定時可將其當作Xc軸,不影響標定精度。根據此特性,結合空間解析幾何知識可得到攝像機的內、外參數。實驗結果表明文中方法可有效求解出攝像機內、外參數,有助于理解攝像機內、外參數的關系,為求解攝像機內、外參數提供新的思路。
攝像機成像幾何關系,如圖1所示。其中Pw(Xw,Yw,Zw)為三維立體世界中的一點,XwYwZw為世界坐標系,Oc為攝像機光心,XcYcZc為攝像機坐標系。三維世界與攝像機之間的平面為圖像平面即投影平面。攝像機坐標系上Zc軸垂直于投影平面,其交點O(u0,v0)也稱主點。三維世界中的一點P與光心Oc的連線通過投影平面,得到圖像點p(u,v)。

圖1 攝像機投影示意圖及u,v分別趨向正無窮時Fig.1 Schematic Diagram of Camera Projection and When u and v Respectively Tend to Positive Infinity
世界坐標點Pw(Xw,Yw,Zw)與圖像點p(u,v)之間存在著以下關系:
式中:P=(Xw,Yw,Zw,1)T;M-3×4的投影矩陣;λ-常量。
根據式(1),分解為3個方程式,消去Zw,可得:
由上式可知,一個世界坐標點可得到兩個方程,至少需要6個世界點才能求解出投影矩陣M。研究表明,M矩陣乘以任意不為零的常數不影響世界點與圖像點的變換關系,故可在(2)式中指定m34=1。當已知點至少為6個時,可使用最小二乘法求出投影矩陣M。
將投影矩陣簡記為:
根據攝像機投影模型可知,三維空間中的任意物點可以唯一映射為一個圖像點。物點、圖像點與光心可以形成一條直線,光線匯集于光心處形成光錐形,光線從光心出發可逆映射成無數圖像點[8]。取任意圖像點(0,0)、(1,1),代入式(1),可得兩直線方程,其交線為光心點:
式中:Pw—世界坐標。
由此可得光心的世界坐標為:
在針孔模型中,攝像機投影成像過程所涉及到的物理量就是攝像機的內外參數。如圖1所示,取圖像平面上平行于u軸的直線l1,其正方向和u軸相同,三維世界某點P和光心的連線過直線l1交于點p。從極限角度考慮,當p點不斷向正無窮大遠離光心時,Ocp與Xc軸的夾角無限接近于0°,此時將其用Ocp1表示,該線無限接近于Xc軸,故將Ocp1線稱為類漸近線。
此時,Ocp1線平行于Xc軸,該直線的方向參數近似于攝像機坐標系Xc軸方向的參數。在標定時,將Ocp1線作為Xc軸不影響標定精度。根據式(1),當p1(u1,v1)點遠離光心,u1趨向于正無窮大,而v1為常數時。由極限定義可知,此時λ和v1相當于0。故公式(1)可變形為:
結合空間解析幾何知識可知,上式實際上是兩個平面方程,其交線即為Ocp1所在直線。兩個平面的法向量乘積為直線Ocp1的方向向量,即m2×m3。故Xc軸在世界坐標系中的單位方向向量可能為:
同理可得,Ocp2線的方向參數近似于攝像機坐標系Yc軸方向的參數。在p(2u2,v2)中,當u2不變,v2趨向于無窮大時。Yc軸在世界坐標系中的單位方向向量可能為:
在笛卡爾坐標系中,X,Y,Z軸相互垂直。根據右手法則,Zc軸在世界坐標系中的正方向滿足rz=rx×ry。因|rz|=1,取:
攝像機坐標系相對于世界坐標系的姿態可用下式表示:
式中:上標w—參考坐標系(世界坐標系);下標c—被描述的坐標系(攝像機坐標系)。
此時針對空間中某一點P,其在世界坐標系與攝像機坐標系中的映射關系,如式(14)所示。
式中:wP、cP—P點在世界坐標系和攝像機坐標系中的描述。
因此,P點在世界坐標系與攝像機坐標系中的映射關系變換為:
后文中使用R表示旋轉矩陣wc R。
因此,當rx1為Xc軸的正方向時,世界坐標系相對于攝像機坐標系的姿態可用旋轉矩陣R=[rx ry r]zT表示,故旋轉矩陣一組可能的解有以下四種形式:
當rx2為Xc軸的正方向時,世界坐標系相對于攝像機坐標系的另一組可能的旋轉矩陣為:
同理,對于點p(3u3,v3),當u3與v3同時趨向于無窮時,構成Ocp1線和Ocp2線正方向的角平分線Ocp3,其可能的單位方向向量為:
式中:rt1—對應于rx1與ry1的單位方向向量;rt2—對應于rx1與ry2的單位方向向量;同理,rt3,rt4以此類推。
Ocp1與Ocp2構成的平面(XcYc平面)存在無數個法向量,根據右手法則可求得該平面的法向量,即Zc軸在世界坐標系中的單位方向向量rz。Ocp3作為Ocp1與Ocp2的角平分線,根據右手法則,可求得該平面的另一個法向量rzt=rx×rt,其與rz方向相同但大小不同。從而,可根據rzt的符號,在兩組不同的旋轉矩陣R中各排除掉兩個R的解。此時余下的4個解則需要在求出主點坐標后再做進一步的判斷。
前述已求出Zc軸在世界坐標系中的方向向量m3,且光心P0是光軸上的一個點,故將光軸在世界坐標系中的直線方程表示為:
式中:s—非零常數。
將式(20)代入式(1),同時結合式(5),可得:
分解式(21),可得主點的坐標公式:
像平面與攝像機坐標系XcYc平面平行,像平面的法向量為m3。根據平面方程的一般形式Ax+By+Cz+D=0,則像平面方程可設為:
式中:k-非零常數。
光心到像平面的距離為焦距f,根據點到平面的距離公式:
可得到焦距f:
取像平面上一點h,其齊次坐標為h=(u,v,1)T,其對應于的世界坐標系點為Ph=(Xh,Yh,Zh)T。由式(1),有:
結合(23)式可知λ=k。由式(1),有:
結合式(5),可得:
取h點在u軸上的微小尺寸Δu,可得點h'=(u+?u,v,1)T,同理可得:
則u軸上Δu個像素在x軸上的物理尺寸ΔP1為:
根據焦比定義,fu=f∕dx,fv=f∕dy,其中f為焦距,fu與fv分別為攝像機在x軸y軸方向上的焦距參數即焦比,dx與dy分別為每一個像素在x軸與y軸上的物理尺寸,則有:
根據Tsai提出的徑向一致約束(RAC)[3],攝像機坐標系的Xc軸和Yc軸的方向與圖像坐標系的u軸v軸的方向保持一致。對于同一特征點而言,攝像機坐標系中的坐標值符號應與像平面物理坐標系中坐標值符號一致,只有滿足徑向一致約束(RAC)條件才是正確的旋轉矩陣。
攝像機坐標系與世界坐標系的變換關系如下:
式中:R-3×3的矩陣;t-3×1的列向量;0T-1×3的行向量。
像平面中物理坐標與像素坐標的轉換關系如下:
根據式(33)~式(34),可求得世界坐標點對應的攝像機坐標系下的坐標,將其與圖像物理坐標進行對比。經過對比,最終可得到符合條件的旋轉矩陣R。根據式(33),以攝像機坐標系為基準,結合式(5)光心的世界坐標點P0,可得外參數平移向量t:
在攝像機外參數模型中,攝像機外參數反映了攝像機坐標系在世界坐標系中的位姿關系。攝像機的位姿由旋轉矩陣和平移向量來描述,即:
在機器人運動研究和操作中,首先需要確定機械手與操作對象的相對運動關系。在將機器視覺應用于機器人系統中時,經常需要將攝像機固定在機械手臂上。因此,當攝像機坐標系與手爪坐標系位姿關系已知時,攝像機坐標系的位姿狀態的準確性會影響到機械手的運動和操作,并且攝像機存在著加工和安裝誤差。因此求解攝像機坐標軸與世界坐標系坐標軸之間的夾角,有著實際的意義。旋轉矩陣R的三個列向量分別描述著Xw,Yw,Zw三個方向的方向矢量。在攝像機坐標系中,光軸被約定為攝像機坐標系的Zc軸,對應的方向向量為rzc=(0,0,1)T。根據式(37),可求出光軸與世界坐標系三個軸的夾角。
本研究采用工業相機XW500,其感光器件參數為1∕2.5″,鏡頭參數為:16mm 1:1.6C。標定模板由(6×6)的圓孔組成,圓孔直徑為10mm,相鄰圓孔間距為15mm。將安裝在支架上的攝像機從不同高度逐次拍攝5張模板圖片。
攝像機標定試驗的流程,如圖2所示。使用MATLAB設計了攝像機標定程序,主界面,如圖3所示。本程序的基本標定過程如下:(1)讀取提前拍攝好的模板圖像;(2)對圖像進行銳化、平滑和邊緣檢測等處理;(3)檢測圖像圓孔的圓心坐標,讀取準備好的模板世界坐標;(4)進行攝像機標定,求取投影矩陣;(5)對標定結果進行誤差分析;(6)分別使用基于類漸近線標定法和Faugeras線性標定法分解攝像機投影矩陣,得到相應的內外參數[9-10]。

圖2 攝像機標定實驗流程Fig.2 Experimental Process of Camera Calibration

圖3 攝像機標定程序主界面Fig.3 Main Interface of Camera Calibration Program
由于拍攝到的照片會存在噪聲,需要對照片進行平滑等預處理,消除圖像噪聲。選用canny算子進行邊緣檢測,然后得到各圓孔圖像的圓心坐標。在標定之后,需要對攝像機標定性能進行評價[11],評價方法大致有以下幾種:有研究人員提出了一種用于衡量單個攝像機的標定精度的方法,以圖像殘差的均方值作為二維圖像的標定精度。有研究人員利用標定參數計算兩個特定靶標之間的距離,通過與真實距離的對比分析其精度。也有根據標定參數計算出圖像的坐標點(u2,v2),用(u2,v2)減去檢測到的坐標點(u1,v1),將得到的偏差值作為指標,來評定標定精度。計算圖像坐標點的公式如下:
式中:P-空間點的三維坐標。
將拍攝的模板圖片進行銳化、平滑等預處理,使用canny算子進行邊緣檢測,最后得到圓孔孔心坐標結果,如圖4所示。由圖4可知圓孔的檢測精度較高,能準確檢測出所有的孔心。

圖4 標定模板圖像的處理Fig.4 Image Processing of Calibration Template
通過標定得到的攝像機投影矩陣如下所示:
本實驗用Canny等檢測到的圓孔的邊緣,并得到圓心坐標,將其減去根據標定數據計算得到的圓心坐標作為標定誤差,其結果,如圖5所示。

圖5 提取值與計算值的誤差Fig.5 Error Between Extracted Value and Calculated Value
分析圖5可知,圖像圓心點的誤差范圍在1個像素之內,標定精度達到了像素級,精度較高,滿足在實際工程應用中的要求。
基于類漸進線的標定方法需要結合條件排除不正確的旋轉矩陣,所有可能的旋轉矩陣如下:
根據Ocp1線和Ocp3線所獲得的XcYc平面的法向量如下:
XcYc平面在攝像機坐標系中的單位法向量rzt1T對應的旋轉矩陣為R1和R2,同理rzt2T、rzt3T、rzt4T依次類推。根據rztT的符號,符號相同方向則相同,可得到可能的旋轉矩陣為R2,R3,R5,R8。
最后,使用徑向一致約束準則(RAC),當圖像物理坐標x與y的符號和攝像機坐標系坐標Xc與Yc相同時,得到的旋轉矩陣才是正確的旋轉矩陣。經過計算,R5為唯一正確的旋轉矩陣。
因此,使用基于類漸近線的標定方法和Faugeras 線性標定法,可得到攝像機的全部參數,其結果,如表1所示。

表1 攝像機內外參數Tab.1 Camera Internal and External Parameters
據式(37)求的攝像機光軸與世界坐標系Xw,Yw,Zw軸線的夾角,分別為:
分析表1數據可知,使用基于類漸近線的標定方法和Faugeras線性標定法分解投影矩陣能得到攝像機的主點(u0,v0)、焦比(fu,fv)、旋轉矩陣R和平移向量t。兩種方法得到的結果存在細微差異,誤差較小。因此基于類漸近線的方法能有效的分解攝像機投影矩陣,達到了預期的目標。
在計算機視覺領域,攝像機標定是一項基本任務。文中在已有研究基礎上,提出一種基于類漸近線的攝像機標定方法。當某圖像點p在u(v)方向趨向于正無窮遠時,將光心與p點的連線當作攝像機坐標系的Xc軸(Yc軸)。結合空間解析幾何知識,分解投影矩陣獲得內、外參數,為分解投影矩陣的過程引入物理意義。實驗結果表明,所提方法與Faugeras線性標定法得到的結果精度基本一致,表明基于類漸近線的標定方法能有效的分解攝像機投影矩陣,滿足在工程實際中的精度要求。將類漸進線的方法用于分解投影矩陣獲得攝像機內、外參數,有助于進一步理解攝像機投影過程和攝像機內、外參數,并為攝像機標定提供了一個新的解決方案。