鞠冠秋 王海梅
摘 要:基于雙目視覺的目標(biāo)定位是當(dāng)前計算機視覺研究領(lǐng)域的熱點問題,文章介紹了雙目視覺的基本原理,對其關(guān)鍵技術(shù)進行了深入研究,并將基于灰度相關(guān)性的立體匹配算法應(yīng)用到雙目視覺定位系統(tǒng)中。設(shè)計雙目視覺定位實驗,實驗表明文章方法能夠?qū)崿F(xiàn)一般的雙目視覺中的目標(biāo)定位問題。
關(guān)鍵詞:雙目視覺;立體匹配;目標(biāo)定位
引言
雙目視覺是利用已經(jīng)標(biāo)定了的不同位置的兩臺攝像機(或者一臺攝像機經(jīng)過移動或旋轉(zhuǎn))拍攝同一幅場景得到的兩幅二維圖像, 應(yīng)用圖像處理、圖像匹配、三維重建等方法進行處理,從而實現(xiàn)從二維圖像恢復(fù)場景三維圖像的一種模擬人的雙目視覺的方法。
運動目標(biāo)的位置確定在機器人視覺導(dǎo)航、公共場景監(jiān)控、智能交通等領(lǐng)域有著十分廣泛的應(yīng)用背景,而在上述應(yīng)用領(lǐng)域,雙目視覺較單目視覺有著顯然不可替代的優(yōu)勢,故文章主要對基于雙目視覺的運動目標(biāo)的定位問題進行研究。
1 雙目視覺的基本原理
1.1 線性攝像機模型
在線性攝像機模型中,定義了三種坐標(biāo)系[1]:圖像坐標(biāo)系、攝像機坐標(biāo)系與世界坐標(biāo)系。通過三種坐標(biāo)系的相互關(guān)系可以得到世界坐標(biāo)系表示的點P坐標(biāo)(Xw,Yw,Zw)與其投影點p的坐標(biāo)(u,v)間的關(guān)系。如圖1所示。其代表的線性攝像機模型由式(1)表示。
M1由f、dx、dy、u0、v0決定,由于這些參數(shù)只與攝像機內(nèi)部結(jié)構(gòu)有關(guān),故稱這些參數(shù)為攝像機的內(nèi)部參數(shù)。M2由攝像機相對于世界坐標(biāo)系的方位而定,被稱為攝像機的外部參數(shù)。
1.2 視差原理
標(biāo)準(zhǔn)的雙目視覺系統(tǒng)成像關(guān)系如圖2所示,實際上不同的系統(tǒng)結(jié)構(gòu)都可以變換為這種簡單的標(biāo)準(zhǔn)結(jié)構(gòu)。圖2中,Ol、Or分別為左、右兩個攝相機的光心,Ol、Or之間的距離為b,相機焦距為f。點P到OlOr連線間的距離為z。
2 攝像機標(biāo)定
攝像機標(biāo)定是進行目標(biāo)定位的必要過程,通過攝像機標(biāo)定可以得到攝像機的內(nèi)外參數(shù)。常用標(biāo)定方法[2]有:傳統(tǒng)標(biāo)定方法、自標(biāo)定方法等。文章采用傳統(tǒng)標(biāo)定方法對攝像機進行標(biāo)定。在傳統(tǒng)標(biāo)定方法中,首先攝像機的前方放置標(biāo)定參照物,由攝像機獲取標(biāo)定物的圖像。通過圖像處理的方法獲取標(biāo)定物上的特征點,同時對標(biāo)定物特征點的世界坐標(biāo)進行精確測定。最后利用一系列標(biāo)定點在圖像像面上成像點的像素坐標(biāo)與其世界坐標(biāo)之間的對應(yīng)關(guān)系,借助非線性優(yōu)化的方法,計算出攝像機數(shù)學(xué)模型中包含的內(nèi)外參數(shù)。
采用傳統(tǒng)標(biāo)定方法的標(biāo)定過程[3]如下:
(1)通過改變模板的位置,從不同的角度和位置來拍攝模板圖像,并檢測拍攝的模板圖像上的角點,獲取角點坐標(biāo)。
(2)根據(jù)角點計算單應(yīng)矩陣,根據(jù)單應(yīng)矩陣求解攝像機部分參數(shù)初值,計算出攝像機內(nèi)外參數(shù)和畸變參數(shù)。
3 基于灰度相關(guān)性的立體匹配
立體匹配是尋找同一空間目標(biāo)在不同視點下投影圖像中像素間的一一對應(yīng)關(guān)系。通根據(jù)匹配基元的不同,雙目視覺中的立體匹配算法分為[4]:區(qū)域匹配、特征匹配、相位匹配。文章選用一種基于灰度相關(guān)性的立體匹配算法。
基于灰度相關(guān)性的立體匹配步驟如下:首先在圖像中選擇一點Pl(x,y)作為待匹配點,以此點位中心,選擇一個大小為(2M+1)*(2N+1)的匹配窗口。然后依據(jù)具體的匹配方法在待匹配圖像中尋找對應(yīng)點窗口,即在待匹配圖像中依次對比同一極線上的Pl(x,y)與Pr(x+i,y)的相似程度,依照某種度量標(biāo)準(zhǔn)對比兩圖像窗口的相似程度,并認(rèn)為相似度最高的窗口的中心像素點與點Pl(x,y)成功匹配。
在上面的兩種匹配代價下,差別系數(shù)越大,模板與圖像之間的區(qū)別就越大。為了在圖像匹配到模板的目標(biāo),需要使用一個給定的閾值對相似性圖像sad和ssd進行閾值分割,閾值在試驗中獲取。
4 實驗設(shè)計及結(jié)果分析
實驗采用兩個攝像頭作為攝錄工具,圖像分辨率都為720*480,兩個攝像頭間隔24cm平行放置。軟件采用基于OpenCV的C++語言進行編程。
實驗分為兩個部分:
4.1 攝像機標(biāo)定
首先對左右攝像機進行標(biāo)定,獲取攝像機的內(nèi)外參數(shù),采用7*9的國際象棋棋盤作為標(biāo)定模板,每個棋盤格規(guī)格為25mm×25mm。運用OpenCV中提供角點定位函數(shù)及雙目標(biāo)定函數(shù)編寫程序進行標(biāo)定,角點提取成功的圖像如圖3,標(biāo)定結(jié)果如表1。
從表1中數(shù)據(jù)可以看出,相機的主點并不位于圖像中心,兩者存在一定的偏差。由于兩臺攝像機的擺放位置比較理想,所以標(biāo)定得到的旋轉(zhuǎn)矩陣接近于單位矩陣,平移矢量的第二、三個分量遠(yuǎn)小于第一分量。
4.2 立體匹配及目標(biāo)定位
標(biāo)定完成后,在同樣的拍攝環(huán)境下拍攝一段視頻,選擇視頻中的行人為定位目標(biāo),對左攝像機中的行人進行目標(biāo)跟蹤,并選取跟蹤算法中的目標(biāo)區(qū)域為模板,采用基于灰度相關(guān)性的立體匹配算法,在右攝像機中對同一行人進行目標(biāo)匹配。同時在匹配正確的情況下,記錄目標(biāo)在定點的圖像坐標(biāo)值,并計算其深度信息,以實現(xiàn)目標(biāo)定位。
軟件平臺采用VS2005,基于C++語言進行編程,具體算法步驟如下:
(1)采集左右圖像,對圖像進行預(yù)處理;(2)在左圖像中對目標(biāo)進行跟蹤,并確定模板區(qū)域,利用文章算法在右圖像中與待測區(qū)域進行比較,比較值滿足閾值相似性條件認(rèn)為是匹配點;(3)若是比較值不滿足閾值相似性條件,則移動同一極線上的待測區(qū)域中心點,重復(fù)步驟(2);(4)記錄在定點處目標(biāo)的坐標(biāo)值利用式(2),計算出相應(yīng)的深度信息。
立體匹配的實驗結(jié)果如圖4所示。
圖4中,為視頻中第100幀的立體匹配情況,其中左圖中的的目標(biāo)區(qū)域是由跟蹤算法確定的,右圖中的目標(biāo)區(qū)域是由立體匹配算法確定的,從試驗結(jié)果可以看出,右圖的立體匹配比較準(zhǔn)確。
為了檢驗文中目標(biāo)定位的準(zhǔn)確性,在視頻拍攝之前選定了若干行走路線上的確定點,并手工測量了其深度值。在雙目視覺的目標(biāo)定位算法實驗中,以行人到攝像機拍攝平面的距離為實際深度,算法實驗得到的相應(yīng)確定點的深度數(shù)據(jù)與手工測量的深度數(shù)據(jù)如表2所示。
表2中1號數(shù)據(jù)對應(yīng)圖4。由表2中的數(shù)據(jù)計算得到的平均相對誤差為1.95%,可以看出采用雙目視覺方法的運動目標(biāo)定位是可以實現(xiàn)的,定位精度能夠滿足一般要求。
對實驗過程進行分析,發(fā)現(xiàn)誤差產(chǎn)生原因主要有以下兩個方面:
(1)在計算深度的過程中使用的某些數(shù)據(jù),如焦距f,像素點實際對應(yīng)尺寸等存在誤差,導(dǎo)致深度計算中出現(xiàn)二次誤差;
(2)由于立體匹配算法本身存在缺陷,導(dǎo)致匹配的圖像坐標(biāo)產(chǎn)生誤差,最終對深度信息造成影響。
針對上述原因造成的誤差,文章提出一些改進的建議:
(1)對最終的深度計算結(jié)果進行參數(shù)補償,以減小絕對誤差;
(2)在立體匹配過程中,選取匹配圖像前后的多幀圖像,分別進行匹配并及計算深度,取平均值作為該幀目標(biāo)的深度;
(3)改進立體匹配算法,使之能夠更好地應(yīng)用于運動目標(biāo)系統(tǒng)。
5 結(jié)束語
運動目標(biāo)的位置確定是計算機視覺領(lǐng)域的重要研究內(nèi)容,文章首先對雙目視覺的基本原理進行介紹,然后深入研究了雙目視覺關(guān)鍵技術(shù)中的攝像機標(biāo)定和立體匹配方法,采用傳統(tǒng)標(biāo)定方法及基于灰度相關(guān)性的立體匹配算法,設(shè)計了雙目標(biāo)定及目標(biāo)定位實驗,實驗結(jié)果表明,文中采用的算法能夠?qū)崿F(xiàn)一般應(yīng)用需求中的運動目標(biāo)的定位問題。
參考文獻(xiàn)
[1]馬頌德,張正友.計算機視覺-計算理論與算法基礎(chǔ)[M].北京:科學(xué)出版社,1998.
[2]顏卓.基于雙目視覺的運動物體檢測系統(tǒng)研究[D].沈陽:沈陽大學(xué),2012.
[3]Gary Bradski,Adrian Kaehler.學(xué)習(xí)OpenCV[M].北京:清華大學(xué)出版社,2009.
[4]時洪光.基于雙目視覺的運動目標(biāo)定位研究[D].青島:青島大學(xué),2010.
[5]王逸林.基于區(qū)域匹配算法的雙目立體匹配技術(shù)的研究[D].大連:大連海事學(xué)院,2012.