安果維,王耀南,周顯恩,譚建豪
(湖南大學(xué) 機(jī)器人視覺(jué)感知與控制技術(shù)國(guó)家工程實(shí)驗(yàn)室,湖南 長(zhǎng)沙 410082)
雙目視覺(jué)測(cè)距技術(shù)是計(jì)算機(jī)視覺(jué)技術(shù)的一種應(yīng)用。它具有通過(guò)對(duì)人類雙眼處理景物方式的模擬感知周圍環(huán)境空間深度的功能[1]。在一些領(lǐng)域,機(jī)器視覺(jué)正在代替人眼成為有效的新工具。雙目視覺(jué)在機(jī)器人導(dǎo)航與避障、機(jī)械臂的引導(dǎo)、三維成像、汽車導(dǎo)航等諸多領(lǐng)域都極具應(yīng)用價(jià)值[2-3]。與目前其他測(cè)距方法相比,雙目測(cè)距具有成本低、精度高、方便快捷等優(yōu)點(diǎn)[4-5]。作為計(jì)算機(jī)視覺(jué)的分支,雙目視覺(jué)技術(shù)在近些年來(lái)得到了長(zhǎng)足的發(fā)展[6]。
雙目視覺(jué)測(cè)距技術(shù)的基本原理是基于物體在左右相機(jī)像平面成像的相差,利用相似三角形的幾何關(guān)系,得到物體距相機(jī)的距離[7]。其中的關(guān)鍵部分則是對(duì)左右視圖進(jìn)行匹配得到特征點(diǎn)的相差。而surf算法的特征點(diǎn)匹配具有穩(wěn)定性高,實(shí)時(shí)性高的特點(diǎn)[8]。本文在對(duì)視圖進(jìn)行顯著性檢測(cè)的基礎(chǔ)上,用surf算子對(duì)提取出的目標(biāo)區(qū)域進(jìn)行特征點(diǎn)匹配。準(zhǔn)確地得到了目標(biāo)的距離,并提高了測(cè)距過(guò)程的實(shí)時(shí)性。
本文設(shè)計(jì)的雙目視覺(jué)測(cè)距系統(tǒng)旨在為旋翼飛行器機(jī)械臂系統(tǒng)提供目標(biāo)物體的距離信息,如圖1所示,雙目相機(jī)安裝在旋翼飛行器機(jī)械臂系統(tǒng)的機(jī)械臂末端,通過(guò)雙目相機(jī)對(duì)目標(biāo)物體的實(shí)時(shí)測(cè)距并反饋距離信息,來(lái)控制旋翼飛行器機(jī)械臂系統(tǒng)操作實(shí)現(xiàn)抓取功能。雙目視覺(jué)系統(tǒng)的原理圖如圖2所示。
圖1 雙目視覺(jué)系統(tǒng)實(shí)物Fig. 1 Real object drawing of binocular vision system
圖2 雙目視覺(jué)結(jié)構(gòu)原理Fig. 2 The principle diagram of the binocular vision
假設(shè)左右相機(jī)的焦距和其他相關(guān)參數(shù)均相等,且平行放置。鏡頭基線均垂直于成像平面,左右相機(jī)滿足軸 重合,軸平行,左右相機(jī)像平面重合。左右相機(jī)的成像像差只在軸存在。目標(biāo)為物體上一點(diǎn),在攝像機(jī)坐標(biāo)系下坐標(biāo)為(),點(diǎn)在左右像平面的成像坐標(biāo)分別為的一組匹配點(diǎn)對(duì)。圖2為該模型在X-Z平面的投影成像圖。左右相機(jī)光心、平行放置相距為基線距離T。相機(jī)焦距為,點(diǎn)距離相機(jī)平面的距離為,則由相似三角形幾何關(guān)系[9-10]可得:
推導(dǎo)可得:
圖3 平面成像圖Fig. 3 The projection onplane
為了提高雙目測(cè)距過(guò)程的實(shí)時(shí)性,本文設(shè)計(jì)了一種雙目視覺(jué)成像測(cè)距模型,并重點(diǎn)研究了目標(biāo)檢測(cè)識(shí)別與左右視圖特征匹配的問(wèn)題,提出了一種基于顯著性檢測(cè)的雙目視覺(jué)測(cè)距方法。根據(jù)目標(biāo)物體在視圖中顏色對(duì)比度比較明顯的特征,采用基于直方圖對(duì)比度(histogram contrast, HC)的顯著性值檢測(cè)方法[11]提取檢測(cè)目標(biāo)區(qū)域。針對(duì)相機(jī)焦距會(huì)隨距離變化產(chǎn)生誤差的特點(diǎn),提出了一種用多組實(shí)驗(yàn)數(shù)據(jù)擬合相機(jī)焦距的方法,隨后對(duì)檢測(cè)到的目標(biāo)物體應(yīng)用surf算子[8]進(jìn)行匹配,得到目標(biāo)物體的距離信息,算法流程如圖4所示。
圖4 本文算法流程圖Fig. 4 The flowchart of the proposed method
在本文模型中主要考慮相機(jī)的徑向畸變問(wèn)題[12]。由圖5可以看出,由于徑向畸變的存在,在遠(yuǎn)離圖像中心的區(qū)域a與區(qū)域b,現(xiàn)實(shí)當(dāng)中的直線已經(jīng)出現(xiàn)明顯的彎曲。設(shè)不考慮畸變的圖像坐標(biāo)為,畸變之后的圖像坐標(biāo)為,則兩者的對(duì)應(yīng)關(guān)系滿足:
在考慮到畸變參數(shù)之后把世界坐標(biāo)系下的點(diǎn)反投影到圖像坐標(biāo)系下,并與理想無(wú)畸變的參數(shù)進(jìn)行最大似然估計(jì),得到式(8),可以采用LM算法進(jìn)行計(jì)算求取最優(yōu)解。
然后由式(9)與式(10),
在雙目視覺(jué)的測(cè)距過(guò)程中,由于誤差存在的原因,隨著距離的變大,測(cè)量的焦距逐漸增大[13],焦距與距離近似滿足線性關(guān)系如式(11)。于是本文采用測(cè)量多組數(shù)據(jù)進(jìn)行線性回歸擬合以得到焦距的方法。其中,求取焦距與實(shí)際距離的擬合公式為
由方程組
表 1 擬合焦距所測(cè)得的數(shù)據(jù)Table 1 Measured data by fitting the focal length
實(shí)驗(yàn)所得線性回歸方程擬合所得圖像如圖7所示。
圖7 線性擬合圖像Fig. 7 Linear fitting image
圖像的顯著性區(qū)域檢測(cè)是近年來(lái)計(jì)算機(jī)視覺(jué)和圖像預(yù)處理領(lǐng)域的研究熱點(diǎn)之一,其本質(zhì)是模擬人眼觀察自然界圖像時(shí)的視覺(jué)選擇性注意機(jī)制,是一種視覺(jué)注意模型[14]。顯著區(qū)域檢測(cè)在圖像檢索、圖像分割、目標(biāo)識(shí)別[15-17]等諸多領(lǐng)域有廣泛的應(yīng)用。
本文采用CHENG的基于直方圖對(duì)比度(histogram contrast, HC)的圖像像素顯著性值檢測(cè)方法[11]。該方法利用人的視覺(jué)系統(tǒng)對(duì)高對(duì)比度的視覺(jué)信號(hào)比較敏感的特點(diǎn),首先定義一個(gè)像素的顯著性值,根據(jù)該方法的原理,一個(gè)像素的顯著性值與它和圖像中其他像素顏色的對(duì)比度相關(guān),所以在圖像中像素的顯著性定義為
將式(20)按照像素順序展開(kāi)得到:
可以看出,由于沒(méi)有考慮空間的關(guān)系,在這種定義下,具有相同顏色值的像素會(huì)具有相同的顯著性值,因此把具有相同顏色值的像素歸在一起,可以得到每個(gè)顏色的顯著性值
圖8與圖9為顯著性檢測(cè)的實(shí)驗(yàn)效果圖。
在得到目標(biāo)物體的顯著圖后,首先對(duì)顯著圖進(jìn)行腐蝕與膨脹操作,去除顯著圖中的噪點(diǎn)干擾,如圖10所示。隨后根據(jù)顯著圖中得到的目標(biāo)區(qū)域信息對(duì)原圖做與運(yùn)算,則目標(biāo)區(qū)域內(nèi)像素值不變,目標(biāo)區(qū)域外像素值置零,將目標(biāo)區(qū)域從原圖中提取出來(lái),如圖11所示。在此基礎(chǔ)在上,對(duì)所得到的圖像信息進(jìn)行判斷,只對(duì)像素不為零的值進(jìn)行特征點(diǎn)匹配,處理流程如圖12所示。
圖8 顯著性檢測(cè)前效果圖Fig. 8 Renderings before significance detection
圖9 顯著性檢測(cè)后效果圖Fig. 9 Renderings after significance detection
圖10 對(duì)顯著圖先腐蝕后膨脹效果圖Fig. 10 Renderings after erosion and dilate
由于SIFT算子在檢測(cè)的過(guò)程中存在計(jì)算數(shù)據(jù)大,耗時(shí)長(zhǎng)的問(wèn)題,Bay等[8]提出了一種對(duì)尺度和旋轉(zhuǎn)具有魯棒性的快速魯棒的特征描述方法(speed up robust features,surf)。surf檢測(cè)算子與sift檢測(cè)算子類似,首先構(gòu)建尺度空間,初步檢測(cè)極值點(diǎn),在確定特征點(diǎn)主方向后確定特征點(diǎn)描述子。與sift對(duì)圖像構(gòu)造金字塔圖不同,surf是通過(guò)改變?yōu)V波器的大小構(gòu)造金字塔圖層構(gòu)建尺度空間,在此基礎(chǔ)之上采用Hessian矩陣檢測(cè)極值點(diǎn),對(duì)檢測(cè)的速度有很大提高。
圖11 目標(biāo)區(qū)域從原圖中提取出后效果圖Fig. 11 Renderings after extracted the target area from original image
圖12 目標(biāo)區(qū)域處理流程圖Fig. 12 The flowchart of target area processing
2.5.1 Hessian矩陣確定特征點(diǎn)
在surf算子檢測(cè)特征點(diǎn)的過(guò)程中Hessian矩陣判別式尤為關(guān)鍵,在構(gòu)建尺度空間后,當(dāng)Hessian矩陣判別式的局部值最大時(shí)所檢測(cè)出的即為待選的特征點(diǎn)。在圖像I中,點(diǎn)處尺度為,則其Hessian矩陣為
由于高斯濾波與近似高斯濾波的差異性,用濾波響應(yīng)的相對(duì)權(quán)重系數(shù)來(lái)平衡Hessian矩陣行列式,一般取0.9。
圖13 框狀濾波模板代替高斯二階偏導(dǎo)濾波Fig. 13 Frame filter template instead of Gaussian secondorder partial derivative filter
2.5.2 surf描述子
為了保證surf特征點(diǎn)的描述子具有旋轉(zhuǎn)不變的特性,需要確定特征點(diǎn)的主方向。以某個(gè)特征點(diǎn)為圓心,在半徑為6的(為尺度因子)鄰域內(nèi)用邊長(zhǎng)為4的Harr小波模板在X、Y方向上求取Harr小波響應(yīng)。用一個(gè)圓心角為π/3的扇形窗口,以特征點(diǎn)為圓心旋轉(zhuǎn)遍歷一個(gè)完整的圓形區(qū)域,計(jì)算每個(gè)扇形窗口包括的圖像點(diǎn)的Harr小波響應(yīng)總和,其中最大的響應(yīng)即為該特征點(diǎn)的主方向。
在此基礎(chǔ)之上,構(gòu)造一個(gè)帶方向(前面計(jì)算的主方向)的正方形區(qū)域,邊長(zhǎng)設(shè)定為20,首先把區(qū)域劃分成16(4×4)個(gè)子域,對(duì)每個(gè)子域計(jì)算其主方向與垂直方向上的Harr小波響應(yīng),并計(jì)算這樣每個(gè)子區(qū)域可以用一來(lái)表示。將區(qū)域內(nèi)得到的64個(gè)值組合起來(lái),就得到了此特征點(diǎn)的surf特征描述子。
2.5.3 surf算法特征點(diǎn)匹配
雙目立體視覺(jué)系統(tǒng)中最關(guān)鍵且最重要的一步是立體特征匹配[18]。在雙目立體視覺(jué)系統(tǒng)中的立體匹配通常是通過(guò)尋找兩幅圖像中能夠檢測(cè)到的具有明顯特征的元素如角點(diǎn),邊緣或者區(qū)域進(jìn)行匹配。由雙目立體視覺(jué)測(cè)距原理可知圖像匹配的準(zhǔn)確度決定了測(cè)量距離的精度[19]。
surf特征匹配采用近鄰歐氏距離比例法,通過(guò)對(duì)圖像中特征向量屬性進(jìn)行判斷,來(lái)達(dá)到兩幅圖像匹配成功的目的[20]。在本文算法過(guò)程中,首先計(jì)算左圖中局部特征點(diǎn)的特征向量與右圖中待匹配特征點(diǎn)特征向量的歐氏距離,即式(24),通過(guò)比較最近鄰歐式距離和次近鄰歐式距離之比來(lái)剔除因?yàn)樵肼暩蓴_而引起的匹配錯(cuò)誤的特征點(diǎn),即式(25)。如果大于某個(gè)閾值,則認(rèn)為對(duì)應(yīng)的最近鄰歐氏距離匹配點(diǎn)與次近鄰歐氏距離匹配點(diǎn)和其他待匹配特征點(diǎn)都很接近,將這一配對(duì)剔除[18]。
為了降低雙目視覺(jué)測(cè)距的誤差,降低特征匹配的錯(cuò)誤率,本文首先對(duì)使用的相機(jī)進(jìn)行了單目標(biāo)定,用標(biāo)定后的參數(shù)對(duì)原始圖像進(jìn)行了畸變校正。在此基礎(chǔ)之上本文采取了10組目標(biāo)與角度不同的圖片,圖為應(yīng)用顯著性檢測(cè)方法前后surf算子匹配時(shí)間對(duì)比,可以看出在應(yīng)用本文算法之后,匹配時(shí)間縮短,實(shí)時(shí)性提高,如表2所示。
表 2 算法處理前后時(shí)間對(duì)比Table 2 The time comparison before and after the algorithm processing ms
為了測(cè)量距離更加準(zhǔn)確,本文對(duì)相機(jī)的焦距進(jìn)行了焦距擬合。并與未進(jìn)行焦距擬合的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比。表中擬合前的測(cè)量值為將目標(biāo)1與目標(biāo)2實(shí)驗(yàn)數(shù)據(jù)計(jì)算所得焦距代入測(cè)距模型所得到的實(shí)驗(yàn)結(jié)果。擬合后測(cè)量值為進(jìn)行線性擬合后所得焦距代入測(cè)距模型中,所得到的實(shí)驗(yàn)結(jié)果,如表3、表4所示。
可以看出,在該測(cè)距模型中,與擬合實(shí)驗(yàn)中目標(biāo)1、目標(biāo)2比較接近的距離誤差較小,隨著測(cè)量距離與目標(biāo)1、目標(biāo)2的距離的差距的增大,測(cè)量誤差增大較快。使用進(jìn)行線性擬合后的焦距測(cè)量的實(shí)驗(yàn)結(jié)果,相對(duì)于未進(jìn)行線性擬合算出的焦距測(cè)量的實(shí)驗(yàn)結(jié)果,隨著距離的增加誤差增大較慢,測(cè)量的距離準(zhǔn)確性增高明顯。
表 3 焦距擬合前測(cè)距實(shí)驗(yàn)結(jié)果對(duì)比Table 3 Distance measurement results before fitting of focal length
表 4 焦距擬合后測(cè)距實(shí)驗(yàn)結(jié)果對(duì)比Table 4 Distance measurement results after fitting of focal length
本文主要提出了一種在雙目視覺(jué)測(cè)距系統(tǒng)中通過(guò)顯著性檢測(cè)方法識(shí)別出目標(biāo)物體,在應(yīng)用特征點(diǎn)來(lái)進(jìn)行雙目視覺(jué)中左右視圖的匹配,來(lái)準(zhǔn)確獲得物體距離信息的方法。本文在對(duì)相機(jī)畸變校正后,對(duì)相機(jī)進(jìn)行了焦距擬合,與相機(jī)擬合前的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比,得到了誤差更小的實(shí)驗(yàn)結(jié)果。本文方法旨在為旋翼飛行器中機(jī)械臂系統(tǒng)提供待抓取物體的深度信息。通過(guò)實(shí)驗(yàn)可得,本文方法得到的目標(biāo)物體的深度信息準(zhǔn)確可靠,為旋翼飛行器機(jī)載機(jī)械臂的任務(wù)抓取提供了可靠準(zhǔn)確的數(shù)據(jù)支持。