李耀云,賈敏智
(太原理工大學(xué) 信息工程學(xué)院,山西 太原030024)
雙目立體視覺(jué)模型是模擬人的雙眼從兩個(gè)角度去觀察立體空間的目標(biāo)物體,由于幾何光學(xué)的投影原理,左右兩眼形成的像點(diǎn)在視網(wǎng)膜上處在不同位置。本文正是基于這種視差理論,用兩臺(tái)攝像機(jī)在不同位置獲取同一物體的像,得到同一點(diǎn)的視差,再利用視差測(cè)距原理計(jì)算目標(biāo)物體的深度信息[2]。雙目立體視覺(jué)成像原理如圖1所示。
圖1雙目立體視覺(jué)成像原理圖
圖1 中兩臺(tái)攝像機(jī)中心的連線距離為基線距離b。左右攝像機(jī)的坐標(biāo)系原點(diǎn)定在攝像機(jī)鏡頭的光心處。左右攝像機(jī)成的像平面事實(shí)上都在鏡頭光心后面,為了方便計(jì)算,將兩臺(tái)攝像機(jī)形成的像平面放在光心前方距離f處,使左圖像平面坐標(biāo)系O1uv的u軸和v軸與攝像機(jī)所在坐標(biāo)系的x軸和y軸方向一致。左右獲取的圖像坐標(biāo)系的原點(diǎn)分別與光心的連線與圖像垂直交于點(diǎn)O1和O2。點(diǎn)P與攝像機(jī)坐標(biāo)系原點(diǎn)的交線在左右兩個(gè)像平面中的交點(diǎn),即物體像點(diǎn)的坐標(biāo)分別為P1(u1,v1)和P2(u2,v2)。現(xiàn)假設(shè)兩臺(tái)攝像機(jī)獲得的像在一個(gè)平面,則點(diǎn)P的左右像點(diǎn)坐標(biāo)的Y坐標(biāo)都一樣,即v1=v2。再根據(jù)相似三角計(jì)算原理得
式中:(xc,yc,zc)為目標(biāo)點(diǎn)P在左攝像機(jī)坐標(biāo)系中的坐標(biāo);b為兩光心間距離即基線距;f為兩臺(tái)攝像機(jī)焦距;(u1,v1)和(u2,v2)分別為像點(diǎn)在左右圖像各自坐標(biāo)系的坐標(biāo)。
P點(diǎn)在兩幅像平面的位置差為
由此計(jì)算出P點(diǎn)在左圖像坐標(biāo)系中坐標(biāo)為
雙目立體視覺(jué)系統(tǒng)要達(dá)到上述測(cè)距目的,必須通過(guò)攝像機(jī)獲取的圖像來(lái)識(shí)別目標(biāo)物體,這通常需要適當(dāng)?shù)乃惴▽?duì)其進(jìn)行處理,從而實(shí)現(xiàn)對(duì)目標(biāo)物體的識(shí)別檢測(cè)。通常采用比較成熟的基于尺度空間對(duì)圖像保持不變性的SIFT算法。
何西,二十五歲,骨科醫(yī)生,是二叔何守二的兒子。電話鈴嚎了半天,何西也沒(méi)接。何東知道他在當(dāng)班,就急忙往醫(yī)院趕。何西剛跟著主治醫(yī)做完手術(shù),正洗手呢,一看見(jiàn)何東,一把把他揪到走廊里的光榮榜前面,指著一大胖臉,魚泡眼的大幅照片問(wèn)何東:“認(rèn)識(shí)他嗎?”
SIFT算法是David Lowe于1999年提出的一種基于不變量技術(shù)的特征檢測(cè)方法,在深入的研究和完善之后,于2004年提出了一種基于尺度空間的,對(duì)圖像平移、旋轉(zhuǎn)、縮放、甚至仿射變換保持不變性的圖像局部特征描述符[3],該算法的特征提取過(guò)程分為以下4個(gè)步驟。
1)多尺度極值檢測(cè)
高斯卷積核是實(shí)現(xiàn)尺度變換的唯一變換核,并且也是唯一的線性核。一幅二維圖像不同尺度空間下的尺度表示為
式中:G(x,y,σ)是尺度可變的高斯函數(shù),G(x,y,σ)=;符號(hào)*表示卷積;(x,y)代表圖像像素位置;σ是尺度空間因子。
為了在尺度空間穩(wěn)定地檢測(cè)到關(guān)鍵特征點(diǎn),提出了高斯差分尺度空間(DOG scale-space)
為了檢測(cè)尺度空間的局部極值點(diǎn),每個(gè)采樣點(diǎn)都要與其圖像域和尺度域的相鄰點(diǎn)進(jìn)行比較,判斷它是否極大或極小,選擇出其中的極值點(diǎn)。
2)精確定位極值點(diǎn)
定位關(guān)鍵點(diǎn)位置和尺度并消除不穩(wěn)定點(diǎn),對(duì)關(guān)鍵點(diǎn)的位置、尺度進(jìn)行擬合,得到更精確的位置和尺度定位,同時(shí)刪除具有低對(duì)比度和不穩(wěn)定的邊緣響應(yīng)點(diǎn)。
3)對(duì)關(guān)鍵點(diǎn)分配方向獲得旋轉(zhuǎn)不變性
根據(jù)關(guān)鍵點(diǎn)的局部圖像梯度方向來(lái)分配一個(gè)或多個(gè)方向。利用圖像的局部特征給每一個(gè)關(guān)鍵點(diǎn)分配一個(gè)方向來(lái)描述旋轉(zhuǎn)不變性。最后得到關(guān)鍵點(diǎn)鄰域像素的梯度及方向
式中:尺度L為各個(gè)關(guān)鍵點(diǎn)所在尺度。
4)計(jì)算SIFT特征描述子
為了增強(qiáng)匹配的穩(wěn)健性,對(duì)每個(gè)關(guān)鍵點(diǎn)使用4×4共16個(gè)種子點(diǎn)來(lái)描述,這樣一個(gè)關(guān)鍵點(diǎn)就可以產(chǎn)生并最終形成128維的SIFT特征向量[4]。
這時(shí)當(dāng)SIFT特征提取和匹配算法應(yīng)用于實(shí)時(shí)性較高的雙目立體視覺(jué)系統(tǒng)時(shí)會(huì)出現(xiàn)一些問(wèn)題,如特征提取算子復(fù)雜性高導(dǎo)致算法計(jì)算時(shí)間過(guò)長(zhǎng);生成的特征點(diǎn)多而實(shí)際正確匹配的特征點(diǎn)只是其中一部分,影響匹配速度;SIFT算法不能準(zhǔn)確定位角點(diǎn),不能反映圖像結(jié)構(gòu)。機(jī)器人利用視覺(jué)采集信息需要快速反應(yīng),基于上述問(wèn)題,選擇更穩(wěn)定快速的特征點(diǎn)檢測(cè)Harris算子來(lái)取代SIFT中比較復(fù)雜的極值點(diǎn)提取算子。
Harris角點(diǎn)檢測(cè)算法由Chris Harris和Mike Step Hens在1988年提出,是對(duì)Moravec角點(diǎn)檢測(cè)算子的擴(kuò)展。Harris算子是一種比較有效的特征點(diǎn)提取算子,其值為
式中:det為矩陣行列式;tr為矩陣的跡;C為相關(guān)矩陣,即
式中:Iu(x),Iv(x)和Iuv(x)分別為圖像點(diǎn)x的灰度在u和v方向的偏導(dǎo)以及二階混合偏導(dǎo);k根據(jù)經(jīng)驗(yàn)通常取0.04~0.06。當(dāng)物體某點(diǎn)Harris算子R大于設(shè)定閾值T時(shí),該點(diǎn)為角點(diǎn)[5]。
Harris算子的主要特點(diǎn)為:對(duì)獲得的灰度圖像中的特征點(diǎn),并計(jì)算這些點(diǎn)在橫向和縱向上的一階偏導(dǎo)數(shù),最后獲得它們二者的乘積;Harris算子中閾值取決于圖像的固有屬性,如尺寸、紋理等,其具體值根據(jù)經(jīng)驗(yàn)選取。其特征點(diǎn)是根據(jù)該算子提取出來(lái)的角點(diǎn)。
Harris算子是一種比較穩(wěn)定的特征提取算法[6]。這種算子的優(yōu)點(diǎn)是:1)該算子中只用到灰度的一階差分,計(jì)算操作簡(jiǎn)單;2)經(jīng)提取的特征點(diǎn)分布合理,能反映圖像中目標(biāo)物體的結(jié)構(gòu);3)在目標(biāo)物體的結(jié)構(gòu)紋理處提取大量有用的特征點(diǎn);4)比例、位置改變、旋轉(zhuǎn)或有遮擋物時(shí)也能穩(wěn)定提取特征點(diǎn)。
所以選用Harris算子提取特征點(diǎn)取代SIFT算法中的高斯卷積算法提取特征點(diǎn),然后為每個(gè)提取的關(guān)鍵點(diǎn)分配方向,同時(shí)生成SIFT特征描述子,稱為Harris-SIFT算法。該算法大大減少了特征提取和特征匹配的復(fù)雜度,使系統(tǒng)的實(shí)時(shí)性得到提高,圖2和表1為兩種算法匹配的效果圖和數(shù)據(jù)結(jié)果。
圖2 兩種不同算法匹配結(jié)果
表1 匹配結(jié)果統(tǒng)計(jì)
如圖2所示,Harris-SIFT算法匹配時(shí)特征點(diǎn)之間的連線明顯比SIFT算法要少,圖像匹配精度也提高。從表1可知,使用Harri-SIFT算法匹配時(shí)間縮短,匹配點(diǎn)少而精確,為應(yīng)用到雙目立體視覺(jué)中的圖像處理提供了良好的基礎(chǔ)。
根據(jù)上述結(jié)論,運(yùn)用攝像機(jī)捕捉圖像,然后用MATLAB7.8軟件對(duì)圖像進(jìn)行仿真,最后通過(guò)計(jì)算得出實(shí)驗(yàn)數(shù)據(jù)。實(shí)驗(yàn)中采用針孔攝像機(jī),組成平行雙目視覺(jué)系統(tǒng),基線長(zhǎng)度為100 mm,焦距為3 mm,1/3 in(1 in=2.54 cm)CCD,CCD的面積為2.0 mm×2.5 mm,采集圖片的尺寸為480×640像素。實(shí)驗(yàn)以墨水瓶為目標(biāo),墨水瓶模板圖像與左右攝像機(jī)捕獲的圖像分別利用Harris-SIFT算法進(jìn)行匹配。利用MATLAB7.8進(jìn)行仿真,仿真的匹配效果如圖3、圖4所示。
圖4 目標(biāo)物體與右圖像匹配
在左右攝像機(jī)坐標(biāo)系中,標(biāo)定點(diǎn)兩個(gè)坐標(biāo)橫軸差值為100 mm,攝像機(jī)在同一高度,根據(jù)空間匹配點(diǎn)選擇方法,測(cè)出左右圖像中與目標(biāo)匹配的特征點(diǎn)的坐標(biāo),然后取平均值分別得出目標(biāo)物體在左右圖像中的坐標(biāo)分別為(795,278),(543,278),運(yùn)用式(1)和式(2)得出墨水瓶的深度距離為285.7 mm,測(cè)得實(shí)際距離為263 mm,然后在不同距離進(jìn)行測(cè)量,獲得結(jié)果如表2所示,用SIFT算法測(cè)得的數(shù)據(jù)如表3所示。
表2 運(yùn)用Harris-SIFT算法測(cè)試數(shù)據(jù)
表3 運(yùn)用SIFT算法測(cè)試數(shù)據(jù)
由表2、表3可知,Harris-SIFT算法應(yīng)用在雙目視覺(jué)中所用匹配時(shí)間大大縮短,實(shí)時(shí)性明顯提高,其實(shí)測(cè)距離精度也比之前提高。分析可能造成的誤差或許是由攝像機(jī)自身內(nèi)部參數(shù)和攝像機(jī)擺放位置造成的。
SIFT算法具有良好的尺度、旋轉(zhuǎn)、視角和光照不變性,在圖像匹配和目標(biāo)識(shí)別中得到廣泛應(yīng)用[7]。由于這種算法所用的算子復(fù)雜性高,當(dāng)應(yīng)用于實(shí)時(shí)性較高的雙目立體視覺(jué)系統(tǒng)時(shí)就會(huì)造成一些問(wèn)題,如實(shí)時(shí)性不理想,測(cè)得的距離不精確等,本文應(yīng)用的Harris-SIFT算法成功解決了上述問(wèn)題。在空間立體中,視覺(jué)系統(tǒng)需要隨時(shí)感知目標(biāo)物體的深度距離,然后做出應(yīng)有的控制策略。本文以墨水瓶為識(shí)別目標(biāo),兩臺(tái)攝像機(jī)保持同一水平同時(shí)獲取圖像,運(yùn)用Harris-SIFT算法使目標(biāo)物體與左右攝像機(jī)獲取的圖像進(jìn)行匹配,獲得目標(biāo)物體在兩幅圖像中的坐標(biāo),進(jìn)而計(jì)算出目標(biāo)物體的方向信息和深度信息,實(shí)驗(yàn)所得數(shù)據(jù)在時(shí)間上有所縮短,實(shí)時(shí)性有所提高,測(cè)得距離也比之前精確,具有一定的使用價(jià)值。
[1]張春美,龔志輝,孫雷.改進(jìn)SIFT特征在圖像匹配中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(2):95-97.
[2]劉迪.擬合人眼視覺(jué)的非均勻光照?qǐng)D像場(chǎng)景再現(xiàn)[J].電視技術(shù),2012,36(17):44-48.
[3]孟浩,程康.基于SIFT特征點(diǎn)的雙目視覺(jué)定位[J].哈爾濱工程大學(xué)學(xué)報(bào),2009,30(6):649-652.
[4]李桂苓,潘榕,許樹檀.立體視覺(jué)與立體成像[J].電視技術(shù),2012,36(2):15-18.
[5]趙欽君,趙東標(biāo),韋虎.Harris-SIFT算法及及其在雙目立體視覺(jué)中的應(yīng)用[J].電子科技大學(xué)學(xué)報(bào),2010,39(4):543-550.
[6]張德忠,賈正松.復(fù)眼立體的機(jī)器人視覺(jué)仿真[J].電視技術(shù),2011,35(20):35-37.
[7]LOWE D G.Distinctive image features from scale-invariant keypoints[J].International Journal of Computer Vision,2004,60(2):91-110.