專利名稱:基于灰度圖像與空間深度數(shù)據(jù)的攝像機陣列標定算法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種攝像機標定算法,特別涉及一種基于灰度圖和深度數(shù)據(jù)的
包含3D攝像機之陣列的標定算法。
背景技術(shù):
近年來,獲取物體到傳感器的實際距離成為了計算機視覺研究領(lǐng)域中一 個非常熱門的課題,國內(nèi)外學(xué)者做了大量的工作,也提出了很多相關(guān)的方法。 然而到目前為止,傳統(tǒng)算法始終存在很多無法解決的問題,例如在計算精度和 實時性方面的缺陷。
隨著新的傳感器技術(shù)的發(fā)展,實時獲取動態(tài)場景的深度信息成為可能, 例如Time-of-Flight。這種新的傳感器技術(shù)采用新的紅外檢測技術(shù),對傳感器 上的每個點都發(fā)射紅外光,并通過檢測其反射回來的光波的時間延時,來計算 場景中每一點和傳感器之間的距離。這種傳感器目前已經(jīng)得到了一定的應(yīng)用, 但它也有一些不足之處,例如分辨率過低以及物體邊緣處距離計算不準確等。
由于傳統(tǒng)的立體匹配在紋理豐富的區(qū)域可以求到準確的深度值,而3D攝 像機可以在平坦的顏色單一的區(qū)域提供準確的深度數(shù)據(jù),利用3D攝像機和可 見光攝像機相結(jié)合來獲得深度信息已經(jīng)成為一種趨勢。要結(jié)合兩者的優(yōu)勢,首 先需要對各攝像機進行標定,求取相機內(nèi)部參數(shù)以及相對的外部參數(shù)。傳統(tǒng)的 標定算法,在普通攝像機上已經(jīng)比較成熟,然而對于3D攝像機,由于其分辨 率較低,以及成像方式的不同,傳統(tǒng)標定算法的標定精度受到了很大影響,尤 其在求取外參數(shù)這個環(huán)節(jié)上,誤差比較大。
發(fā)明內(nèi)容
為克服現(xiàn)有技術(shù)的上述缺陷,本發(fā)明的目的在于提供一種基于灰度圖像與
空間深度數(shù)據(jù)的攝像機陣列標定算法,它可以對3D攝像機進行標定并獲得其 與可見光攝像機之間的較為精確的外參數(shù),為結(jié)合兩種攝像機各自優(yōu)點求取物 體深度信息提供必要條件。
為此,本發(fā)明采用如下技術(shù)方案提出一種基于灰度圖像與空間深度數(shù)據(jù)
的攝像機陣列標定算法,其攝像機陣列包含一個3D攝像機和若干個可見光攝 像機,本算法根據(jù)可見光攝像機的灰度圖和3D攝像機提供的灰度圖以及相應(yīng) 的深度圖,來得到每個攝像機各自的內(nèi)參數(shù)以及3D攝像機到可見光攝像機的 外參數(shù),本算法步驟為首先,在陣列各攝像機的共同視野中拍攝多幅標定板 圖片,利用張正友的平面模板法對3D攝像機和普通攝像機進行內(nèi)標定,獲取 各攝像機的內(nèi)參數(shù),然后利用3D攝像機的內(nèi)參數(shù)以及它自身所提供的深度信 息恢復(fù)標定板上角點的實際三維空間坐標,利用高斯牛頓迭代法最小化角點從 3D攝像機到普通攝像機的投影誤差求取最優(yōu)的外參數(shù),從而完成整個攝像機 陣列的標定。
其中,在求取3D攝像機內(nèi)參數(shù)時,在獲取所需標定板圖像以后,可以先 用歡線性插值方法提高原始灰度圖分辨率,然后利用HARRIS角點算子或者 直線擬合方法確定出角點的具體位置,然后用平面模板法對3D攝像機和可見 光攝像機進行內(nèi)標定,求得各攝像機的內(nèi)參數(shù),在得到3D攝像機內(nèi)參數(shù)之 后,對拍攝的標定板的每張深度圖片,做如下處理
'首先,提取深度圖像中位于標定板上深度值比較可靠的點,由于噪聲及 TOF本身的精度影響,原本應(yīng)在同一平面上的各個點會有微小的偏離,為了 求得最接近真實值的深度,采用平面方程aX+bY+cZ=d擬合同一模板的各點 三維坐標數(shù)據(jù)。通過最小二乘法求得最優(yōu)的方程系數(shù)a , b, c, d。
'利用已知的3D攝像機傳感器采樣點間距以及標定所得的內(nèi)參數(shù),由幵始 用HARRIS或相關(guān)角點檢測算法檢測到的棋盤格角點位置圖像坐標p (x, y),恢復(fù)其在像平面下的實際尺寸坐標pl (xl, yl),所求取的3D攝像機內(nèi)參數(shù), 求取對應(yīng)角點的實際空間三維坐標。
'利用上兩步獲得的棋盤格角點在TOF攝像機坐標系下的三維空間坐標以 及同一角點在可見光攝像機圖像坐標系下檢測到的圖像坐標以及各攝像機的 固定內(nèi)參數(shù),可以求得最優(yōu)化的映射關(guān)系,即最優(yōu)的兩攝像機間的外參數(shù) (R,T),優(yōu)化方法采用高斯牛頓迭代方法,可獲得外參數(shù)。
'本發(fā)明的優(yōu)點是-
1、提出了一種基于灰度圖和深度數(shù)據(jù)的用于包含3D攝像機之陣列的標 定算法,該算法能根據(jù)3D攝像機提供的灰度圖和深度圖,求得3D攝像機到 可見光攝像機的外參數(shù)。
'2、本發(fā)明中的算法實現(xiàn)簡單,并且能夠獲得精度較高的攝像機外參數(shù)。
圖1為本發(fā)明的一種基于灰度圖像與空間深度數(shù)據(jù)的攝像機陣列標定算 法總流程圖。
具體實施例方式
下面,結(jié)合附圖和具體實施例對本發(fā)明作進一步說明。
該實施例中用到的可見光攝像機采用CCD傳感器,可以提供分辨率為768 X576的彩色圖或者灰度圖,用到的3D攝像機為Swiss Ranger 3000 (TOF攝 像機),可以提供分辨率為176X144的深度圖和灰度圖。
在拍攝標定板圖像的時候,為了增加角點檢測的魯棒性以及圖像數(shù)據(jù)的穩(wěn) 定性,可以對同一位置的標定板連續(xù)拍攝多幀圖像,然后求取平均值作為我們 在標定中使用的實際圖像。
在對各攝像機進行內(nèi)標定的過程中,選擇的工具是由Matlab提供的標定 工具包Too舊ox—Calib,該工具包內(nèi)部的算法是基于張正友的平面模板兩步標定法,對每幅標定板圖像,手工選取板四周外圍的四個角點,輸入棋盤格邊長, 工具包將自行提取圖片上所有角點,并記錄其坐標值。對所有輸入的圖像做相 同的操作,當處理完全部輸入圖像后,運行計算參數(shù)程序,則可以得到待標定 的攝像機的所有內(nèi)參數(shù)。
-得到各攝像機內(nèi)參數(shù)之后,可以利用3D攝像機提供的深度圖,恢復(fù)標定 板上所有角點的三維空間位置,由于3D攝像機本身獲取的數(shù)據(jù)會有一定的噪 聲和不穩(wěn)定性,本發(fā)明利用擬合平面和射線求交的方法可以進一步提高數(shù)據(jù)的 可靠性以及標定的精度,具體做法如下
-首先,提取標定板上所有深度值可靠的點,并利用這些點的圖像位置以 及深度值恢復(fù)他們的三維空間坐標,假設(shè)、;^)是位于標定板上深度值可靠的 點,(W》為其圖像坐標,A"。乂)為光心在圖像上的投影點,附" 為傳感 器的像素間距,之為其對應(yīng)的深度值,而3D攝像機的焦距為/,則根據(jù)攝 像機的小孔成像模型可得
<formula>formula see original document page 7</formula>
(HZ)為點x(^p)的實際三維空間坐標。由于同一圖像中標定板上所有的
點都在空間的同一平面上,所以可以用所有的點數(shù)據(jù)來擬合一個平面方程 oZ + 6r + cZW-0以減少3D攝像機本身數(shù)據(jù)穩(wěn)定性所引起的標定精度誤差。 在擬合時候,選用最小二乘法求得最優(yōu)的平面方程系數(shù),于是,對3D攝像機 拍攝的標定板的每一幅圖像,我們都可以獲得一個平面方程,然后把它們存儲 在特定數(shù)據(jù)結(jié)構(gòu)中。
利用上一步求取的平面方程系數(shù)以及在內(nèi)參數(shù)標定過程中獲得的角點圖 像坐標,利用射線求交的方法可以得到所有角點的具體三維位置,示例如下
假設(shè)^w)為某一角點,( 入)為其圖像坐標,A"乂)為光心在圖像上的 投影點,《為其對應(yīng)的深度值,而3D攝像機的焦距為/,則通過光心和該角點的直線方程為
;r _ y _z 、-& 力-x。 /
利用該直線方程以及上一步所保存的平面方程^+6r+cZ+"-o,求出它 們的交點W,y,z),則該點就是角點在三維空間中的實際位置。
求取所有角點的三維坐標后,則可以獲得角點從3D攝像機到可見光攝像 機的投影位置,假設(shè)外參數(shù)中旋轉(zhuǎn)矩陣為R,平移矩陣為T,則角點在可見光
攝像機的投影點圖像坐標為-
p '《.z+《.;r+《.z+《
力=,
《.%+《.:r+《.z+《
p 《,+, y+《 z+《
假設(shè)在可見光攝像機圖像想檢測到的該角點實際成像坐標為",乂),我們
可以最小化(、-"2+(力-乂)2來求取最優(yōu)的R和T,在這里優(yōu)化的方法選擇高
斯牛頓迭代法,當?shù)昂蟮淖兓敌∮诮o點閾值5時,我們停止迭代,并認
為此時得到的R和T則為最優(yōu)的外參數(shù)。
當求取完3D攝像機到所有可見光攝像機的各自的R, T之后,即完成了 外標定,從而整個陣列完成了攝像機的標定。
II
I-
及
中
其
權(quán)利要求
1、一種基于灰度圖像與空間深度數(shù)據(jù)的攝像機陣列標定算法,所述攝像機陣列包含一個3D攝像機和若干個可見光攝像機,本算法根據(jù)3D攝像機提供的灰度圖和深度圖以及可見光攝像機的彩色圖,來得到3D攝像機的內(nèi)參數(shù)和所需可見光攝像機的外參數(shù)關(guān)系,其特征在于,本算法的步驟為首先,對可見光攝像機和3D攝像機進行內(nèi)標定,得到各攝像機的內(nèi)參數(shù);其次,利用3D攝像機內(nèi)參數(shù)以及其提供的深度圖,恢復(fù)標定板角點的空間位置,采用最小化角點投影誤差求得3D攝像機到所需可見光攝像機的最優(yōu)化外參數(shù),從而完成整個攝像機陣列的標定。
2、 如權(quán)利要求1所述的攝像機陣列標定算法,其特征在于,得到3D攝 像機內(nèi)參數(shù)的步驟為首先,拍攝標定板不同姿態(tài)的圖像多幅,并對同一姿 態(tài)的標定板用3D攝像機拍攝多幀圖像求取平均值作為實際使用圖像;其次, 將俞述圖像通過雙線性插值提高一倍分辨率以加強角點檢測的魯棒性;然后, 利用平面模板標定法求取3D攝像機的內(nèi)參數(shù)。
3、 如權(quán)利要求1或2所述的攝像機陣列標定算法,其特征在于,標定板 角點的空間位置的恢復(fù)步驟如下利用求取到的3D攝像機的內(nèi)參數(shù)以及其提 供^l深度圖,確定標定板在空間的平面方程;利用角點在標定板圖像上的平 面位置以及對應(yīng)的標定板平面方程,求取所有角點的實際三維坐標。
4、 如權(quán)利要求3所述的攝像機陣列標定算法,其特征在于,確定標定板 在空間的平面方程方法如下獲取所拍攝的標定板深度圖中位于標定板上的 高可信度深度數(shù)據(jù)的所有點,利用這些點的深度值以及3D攝像機內(nèi)參數(shù)恢復(fù) 它們在三維空間的具體坐標位置;對每一幅位于不同姿態(tài)的標定板,利用以上所獲得所有點的三維坐標擬合一個平面,獲得相應(yīng)標定板的平面方程。
5、 如權(quán)利要求3所述的攝像機陣列標定算法,其特征在于,角點三維坐 標的獲取方法如下利用角點檢測算法獲得各角點的成像平面的坐標,結(jié)合3D攝像機內(nèi)參數(shù),確定每條通過角點與攝像機光心的直線方程,通過求取直 線方程與對應(yīng)平面方程的交點獲得角點的實際空間三維坐標。
6、如權(quán)利要求3所述的攝像機陣列標定算法,其特征在于,獲取各角點 的空間三維坐標之后,利用最小二乘法使各角點從T0F攝像機到陣列中可見 光攝像機的投影誤差最小,獲得當前條件下最優(yōu)的投影到陣列中可見光攝像 機的旋轉(zhuǎn)矩陣R和平移矩陣T,即獲得了兩攝像機機間外參數(shù),從而完成整個 陣列系統(tǒng)的標定。
全文摘要
本發(fā)明提供了一種能對3D攝像機進行標定并獲得其與可見光攝像機之間的較為精確的外參數(shù)的攝像機陣列標定算法,該算法步驟為首先,對可見光攝像機和3D攝像機進行內(nèi)標定,得到各攝像機的內(nèi)參數(shù);其次,利用3D攝像機內(nèi)參數(shù)以及其提供的深度圖,恢復(fù)標定板角點的空間位置,采用最小化角點投影誤差求得3D攝像機到所需可見光攝像機的最優(yōu)化外參數(shù),從而完成整個攝像機陣列的標定。
文檔編號G06T7/00GK101582165SQ200910100120
公開日2009年11月18日 申請日期2009年6月29日 優(yōu)先權(quán)日2009年6月29日
發(fā)明者于慧敏, 嘉 吳, 穎 周 申請人:浙江大學(xué)