摘 要:雙目視覺技術(shù)借助人通過雙眼感知立體空間的能力,在雙目攝像頭的幫助下,重建空間中事物的三維信息。雙目視覺還可以通過測距來實現(xiàn)對障礙物躲避的功能。本文主要針對雙目視覺技術(shù)在無人機(jī)避障中的部分技術(shù)進(jìn)行探索與研究。
關(guān)鍵詞:雙目視覺;無人機(jī);避障;算法設(shè)計
1 研究背景及意義
視覺是人類感知外部世界的主要途徑,人類視覺為人類提供了周圍環(huán)境最可靠最詳細(xì)的信息。人類的雙眼獲取和處理視覺信息就相當(dāng)于兩臺攝像機(jī)對環(huán)境進(jìn)行拍攝得到的雙目視頻,通過識別與匹配,從而獲得物體在三維世界中的位置信息,[1]進(jìn)而實現(xiàn)對于障礙物的躲避功能。隨著計算機(jī)速度的加快,制造行業(yè)的迅猛發(fā)展,雙目視覺技術(shù)也逐漸的展露出了優(yōu)勢,例如:制造成本低、消耗能源少、應(yīng)變能力強(qiáng)的優(yōu)勢?;谛g(shù)雙目技術(shù)這些方面的優(yōu)勢,近些年,人們越來越重視將視覺傳感器應(yīng)用于障礙物識別、機(jī)器人導(dǎo)航等領(lǐng)域中。
2 攝像機(jī)的標(biāo)定
2.1 攝像機(jī)模型
針孔模型是攝像頭的最簡單模型。其原理是,光線從場景或物體發(fā)射過來,經(jīng)過一個點可認(rèn)為針孔,被投影到成像表面,在圖像平面上,圖像被聚焦。因此與遠(yuǎn)處物體相關(guān)的圖像大小可以只用一個攝像頭參數(shù)來描述:焦距。
2.2 視覺系統(tǒng)坐標(biāo)系
在計算機(jī)視覺中,由于一個成像物體以多種形式存在于多種空間中,因此需要建立對于不同情況下的圖像參考坐標(biāo)系,其主要包括:
1)計算機(jī)圖像坐標(biāo)系:在計算機(jī)視覺中,攝像機(jī)感光元件獲得的像素信息經(jīng)過處理后都由數(shù)組中的一個元素代替,每一個元素的值即代表了該像素點的值。2)成像平面坐標(biāo)系:成像平面坐標(biāo)系與計算機(jī)圖像坐標(biāo)系的不同在于其以圖象的O1為原點,其中O1點一般與計算機(jī)圖像平面的中心點相對應(yīng)。3)攝像機(jī)坐標(biāo)系:攝像機(jī)坐標(biāo)系是基于攝像機(jī)、關(guān)于空間位置的三維坐標(biāo)系,坐標(biāo)系原點是攝像機(jī)鏡頭的光心,攝像機(jī)的主光軸為坐標(biāo)系 Z 軸,X、Y 軸構(gòu)成的平面平行則與像平面平行。4)世界坐標(biāo)系:世界坐標(biāo)系則是反應(yīng)物體在真實三維空間中位置的坐標(biāo)系,其以空間中任意一點為坐標(biāo)系原點。[2]
2.3 標(biāo)定物體的選擇和操作
本課題采用棋盤作為標(biāo)定物體,棋盤是由不同黑白方塊構(gòu)成的平面格子。棋盤的標(biāo)示點與其他標(biāo)定物相比比較明顯,處理起來也比較容易。將棋盤以不同的位置和角度放置,并采集相應(yīng)圖像,檢測每組標(biāo)定模板圖像的角點,通過前面的幾個步驟,得到多幅圖像的角點數(shù)據(jù)后,可以調(diào)用OpenCV中的函數(shù)cvCalibrateCamera2()來進(jìn)行攝像頭的標(biāo)定。由這個函數(shù)可以得到攝像頭的內(nèi)參數(shù)矩陣、畸變系數(shù)、旋轉(zhuǎn)向量和平移向量。前兩個構(gòu)成攝像頭的內(nèi)參數(shù),后兩個構(gòu)成了物體位置和方向的攝像頭外參數(shù)。
3 特征檢測與匹配
目前在計算機(jī)視覺中最常用的特征檢測和提取的算法有:
1)SIFT,該算法用于檢測斑點;2)SURF,該算法用于檢測斑點;3)ORB:該算法代表帶方向的 FAST 算法與具有旋轉(zhuǎn)不變性的 BRIEF 算法。
SURF是SIFT算法改進(jìn)版,其吸收了 SIFT算法的思想。SURF 算法不僅具有尺度、旋轉(zhuǎn)、平移不變性,而且對視角變化、噪聲、光照變化具有良好穩(wěn)定性,并且 SURF 的運算速度比 SIFT快好幾倍,所以可以處理更多的數(shù)據(jù),多應(yīng)用于目標(biāo)的識別,跟蹤等要求更高實時性的領(lǐng)域。而ORB相對于SURF和SIFT具有更快的速度,ORB的提出解決了Brief不具備旋轉(zhuǎn)不變性以及對噪聲不敏感的缺點。[3]
在選取特征點匹配的算法時要考慮與其搭配的特征點提取算法,使用特征提取過程得到的特征描述符(DESCRIPTOR)數(shù)據(jù)類型有的是FLOAT類型的,比如說:SURF,SIFT,有的是UCHAR類型的,比如說有ORB,BRIEF。對應(yīng)FLOAT類型的匹配方式有:FLANNBASEDMATCHER,BRUTEFORCE等。對應(yīng)UCHAR類型的匹配方式有:BRUTEFORCE。所以O(shè)RB特征描述子只能使用BRUTEFORCE匹配法。另外還有一種相對于更加傳統(tǒng)的SURF+FLANN的方法。
4 測距原理
如圖2所示,雙目測距主要是利用了目標(biāo)點在左右兩幅視圖上成像的橫向坐標(biāo)直接存在的差異(即視差),攝像機(jī)經(jīng)過對同一場景進(jìn)行取景后,通過攝像機(jī)標(biāo)定獲得的內(nèi)、外參數(shù)對兩個圖像進(jìn)行矯正、獲得視差,進(jìn)而得到物體在三維空間中的坐標(biāo),進(jìn)而得到攝像頭與物體之間的距離。
5 避障原理
通過對同一場景進(jìn)行取景后,通過攝像機(jī)標(biāo)定獲得的內(nèi)、外參數(shù)對兩個圖像進(jìn)行矯正、獲得視差,進(jìn)而得到物體在三維空間中的坐標(biāo)以及攝像頭與物體之間的距離。在確定前方障礙物前,預(yù)先設(shè)定無人機(jī)的安全距離L以及一個標(biāo)準(zhǔn)的點數(shù)N,在計算每一個匹配點到攝像機(jī)的距離后,會得到n個距離大于L的匹配點,如果n>N,則可視為無人前方有障礙物,于是無人機(jī)可以在橫向平面的任意方向水平運動,直到n 6 結(jié)語 本文主要對根據(jù)雙目視覺的原理,通過雙目攝像機(jī)獲取場景的信息,得到距離信息,進(jìn)而實現(xiàn)避障的方法進(jìn)行研究,利用opencv實現(xiàn)對攝像機(jī)標(biāo)定、特征點檢測與匹配、距離信息提取等方面進(jìn)行探究,設(shè)計了一套可行的方案。但在匹配精度和測距精度上仍有一些地方需要改進(jìn)。通過實現(xiàn)雙目測距,可以實現(xiàn)測速,進(jìn)而可以實現(xiàn)無人機(jī)導(dǎo)航勘測等功能。 參考文獻(xiàn): [1]崔燕茹.基于雙目視覺的障礙物識別與重建[D].南昌航空大學(xué),2012. [2]吳哲岑.基于雙目立體視覺的特征點提取與定位方法研究[D].吉林大學(xué),2015. [3]喬·迷你奇諾、約瑟夫·豪斯 OpenCV3計算機(jī)視覺[M].北京:機(jī)械工業(yè)出版社,2016.6:86-96. 基金項目:大學(xué)生創(chuàng)新創(chuàng)業(yè)資助項目(基于雙目視覺的無人機(jī)避障系統(tǒng)ECAUC2017120) 作者簡介:孔繁淇(1997-),男,本科。