蔡雁翔,謝海成,于天琪,羊箭鋒
(蘇州大學(xué) 電子信息學(xué)院,江蘇 蘇州 215006)
視覺(jué)是人類感知外部客觀世界的主要方式之一,人類日常所獲取和接收到的大多數(shù)信息都是通過(guò)視覺(jué)[1],因此,用計(jì)算機(jī)和視覺(jué)傳感器等儀器來(lái)模擬人類的大腦和眼睛的計(jì)算機(jī)視覺(jué)成為了熱門研究方向。
按照視覺(jué)傳感器的數(shù)量,計(jì)算機(jī)視覺(jué)可以簡(jiǎn)單分類為單目、雙目和多目視覺(jué)[2]。其中,雙目視覺(jué)一般由兩個(gè)成像設(shè)備從不同的角度同時(shí)獲取同一場(chǎng)景的兩幅圖像,并根據(jù)圖像恢復(fù)出物體的三維坐標(biāo)信息[3],以便后續(xù)測(cè)距、三維重構(gòu)等應(yīng)用的開(kāi)發(fā)。
雙目視覺(jué)測(cè)距方法一般采用棋盤格標(biāo)定法[4]進(jìn)行標(biāo)定,以此為基礎(chǔ)來(lái)進(jìn)行圖像畸變校正,并利用立體匹配和視差原理來(lái)得到距離[5]。其中,立體匹配作為關(guān)鍵的一步對(duì)測(cè)距結(jié)果的準(zhǔn)確性產(chǎn)生重要影響?,F(xiàn)有的匹配方法多是基于特征的匹配,例如,基于半全局特征匹配的SGBM(Semi-global Block Matching)算法[6]、基于局部特征匹配的SIFT(Scale-invariant Feature Transform)算法[7]、ORB(Oriented FAST and Rotated BRIEF)算法[8]等。對(duì)于特征區(qū)別較大且特征較明顯的物體來(lái)說(shuō)特征匹配是一種便捷的方法,但是當(dāng)左右兩幅畫(huà)面中出現(xiàn)多個(gè)高度相似的目標(biāo)且目標(biāo)表面光滑時(shí),由于高度相似且弱紋理表面會(huì)導(dǎo)致無(wú)法進(jìn)行有效匹配,所以基于特征的匹配本身存在局限性。
針對(duì)上述問(wèn)題,本文采用基于特征和空間位置的目標(biāo)匹配方式,并將其應(yīng)用到雙目視覺(jué)測(cè)距模型中,建立了一種基于會(huì)聚型雙目立體視覺(jué)的測(cè)距模型。
傳統(tǒng)雙目立體視覺(jué)中,按照雙目攝像機(jī)的擺放位置和它們的光軸是否平行,可以分為雙目光軸平行模型和雙目光軸交匯模型[9],如圖1所示。
圖1 雙目視覺(jué)模型
圖1中Ol和Or為左右兩臺(tái)攝像機(jī)的光心;b為光心之間的距離;f表示攝像機(jī)焦距; πl(wèi)和πr為左右攝像機(jī)的成像平面。P為三維空間中任意一點(diǎn),在左攝像機(jī)成像平面πl(wèi)上的投影為pl,在πr上的投影為pr,z為點(diǎn)P到兩臺(tái)攝像機(jī)光心連線的垂直距離。
理想情況下,兩臺(tái)完全相同的攝像機(jī)左右平行放置,成像平面πl(wèi)和πr共面,且它們的光軸相互平行,被稱為是雙目光軸平行模型。但實(shí)際研究過(guò)程中,無(wú)法保證左右攝像機(jī)的光軸處于平行狀態(tài),所以更常用的模型是雙目光軸交匯模型。本文在雙目光軸交匯模型的基礎(chǔ)上,建立了基于會(huì)聚型雙目視覺(jué)的測(cè)距模型。
首先,針對(duì)特征匹配存在局限性的問(wèn)題,采用了基于特征和空間位置的匹配方式,先利用特征進(jìn)行目標(biāo)檢測(cè),再根據(jù)目標(biāo)的空間位置關(guān)系進(jìn)行匹配。其次,考慮到人類通過(guò)控制眼球轉(zhuǎn)動(dòng)始終讓感興趣的目標(biāo)處于視野中央這一視覺(jué)習(xí)慣,同時(shí)因?yàn)閺膱D像中心至邊緣,畸變程度越來(lái)越明顯,圖像中心幾乎不存在畸變的這一現(xiàn)象,提出了“會(huì)聚型”的概念,即在攝像機(jī)的基礎(chǔ)上增加了舵機(jī)來(lái)模擬眼球的轉(zhuǎn)動(dòng),通過(guò)控制舵機(jī)來(lái)控制攝像機(jī)視角會(huì)聚于指定目標(biāo),達(dá)到使目標(biāo)物體的成像位于圖像中央的效果,以此來(lái)減小圖像畸變對(duì)指定目標(biāo)的影響。最后,該模型依據(jù)三角形原理來(lái)計(jì)算距離。
因此,本文的測(cè)距模型總體框架如圖2所示,主要包括雙目圖像采集、目標(biāo)匹配、基于舵機(jī)的角度控制和距離測(cè)量四個(gè)部分。
圖2 模型框圖
在理解設(shè)計(jì)思路的基礎(chǔ)上,對(duì)各部分算法進(jìn)行詳細(xì)研究。
本文的目標(biāo)匹配主要包含目標(biāo)檢測(cè)和目標(biāo)匹配兩個(gè)步驟,流程圖如圖3所示。
圖3 基于特征及空間位置的目標(biāo)匹配流程圖
目標(biāo)檢測(cè)是計(jì)算機(jī)視覺(jué)技術(shù)中的一項(xiàng)關(guān)鍵的任務(wù)[10],經(jīng)典的運(yùn)動(dòng)目標(biāo)檢測(cè)算法有背景差分法、幀間差分法、光流法[11]。主流的深度學(xué)習(xí)目標(biāo)檢測(cè)算法主要分為雙階段檢測(cè)算法和單階段檢測(cè)算法,分別以R-CNN和YOLO為代表[12]。
而通常需要做處理的視頻或圖像都是彩色的,因此顏色信息可以作為目標(biāo)檢測(cè)的一個(gè)重要特征和依據(jù)。經(jīng)典的顏色空間有RGB,HSV,lab,YCbCr和YUV等[13]。本文中選擇的顏色空間是HSV顏色空間,并且詳細(xì)討論了一種簡(jiǎn)單背景下基于HSV顏色特征的目標(biāo)檢測(cè)方法。在實(shí)現(xiàn)目標(biāo)檢測(cè)效果的基礎(chǔ)上進(jìn)行后續(xù)的匹配工作。
首先利用RTSP協(xié)議從攝像機(jī)中實(shí)時(shí)讀取兩路視頻。其次,攝像機(jī)采集到的視頻圖像是BGR格式,需要將BGR格式圖像轉(zhuǎn)為HSV格式。從RGB空間轉(zhuǎn)換到HSV空間的轉(zhuǎn)換算法的公式[14]為如式(1),轉(zhuǎn)換結(jié)果如圖4所示。
圖4 圖像格式轉(zhuǎn)換
(1)
顏色空間轉(zhuǎn)換完成后,選擇合適的閾值對(duì)圖像進(jìn)行二值化處理,去除背景部分。之后對(duì)二值化圖像進(jìn)行形態(tài)學(xué)腐蝕膨脹處理和高斯濾波處理,保證輪廓提取的精度。具體處理效果如圖5所示。
三是選擇好播區(qū)。今年,飛播造林選擇了幾種類型的造林地塊,即完成整地的未造林地、整地造林的未成林地、播前使用鎬頭摟溝的宜林地、灌木林地、高山遠(yuǎn)山宜林地。通過(guò)苗情調(diào)查,我們認(rèn)為,飛播造林地塊應(yīng)盡可能進(jìn)行播前整地或摟溝,為種子出苗提供了良好的土壤環(huán)境,同時(shí)可以有效避免水沖使種子集中到低洼處。幾種形式的地塊出苗率較好的是完成整地的未造林地和整地造林的未成林地,其余依次為播前使用鎬頭摟溝的宜林地、灌木林地、高山遠(yuǎn)山宜林地。
圖5 具體處理效果圖
目標(biāo)檢測(cè)需要對(duì)清晰光滑的二值圖像進(jìn)行輪廓提取操作,這里只檢索最外面的輪廓。得到目標(biāo)的輪廓之后,畫(huà)出輪廓的外接矩形,并記錄矩形框中心點(diǎn)。目標(biāo)檢測(cè)的效果如圖6所示。
圖6 矩形框標(biāo)定結(jié)果
當(dāng)只有一個(gè)目標(biāo)物體時(shí),左右兩個(gè)攝像機(jī)圖像中只能找出一個(gè)輪廓,可以直接將兩個(gè)畫(huà)面中檢測(cè)到的目標(biāo)對(duì)應(yīng)起來(lái)。但是當(dāng)目標(biāo)物體有兩個(gè)及以上時(shí),就需要進(jìn)行目標(biāo)匹配。本文根據(jù)左右攝像機(jī)的成像具有高度重疊性的特點(diǎn),采用基于空間位置的方式進(jìn)行兩幅圖像中多個(gè)相似目標(biāo)的匹配,并利用歐式距離來(lái)進(jìn)行判斷。
按照兩個(gè)目標(biāo)的情況來(lái)考慮,攝像機(jī)圖像經(jīng)過(guò)處理后得到的兩個(gè)目標(biāo)矩形框位置如圖7所示。
圖7 左右攝像機(jī)圖像示意圖
由于左右兩幅圖像的分辨率是相同的,所以可以將兩幅圖像重疊,將四個(gè)矩形框放在同一個(gè)圖像坐標(biāo)系中去考慮,如將右圖的目標(biāo)框映射到左圖的畫(huà)面中相同位置。圖8表示的是兩個(gè)目標(biāo)可能的兩種匹配方式:一種是A1對(duì)應(yīng)A1′,A2對(duì)應(yīng)A2′;另一種是A1對(duì)應(yīng)A2′,A2對(duì)應(yīng)A1′。
圖8 兩個(gè)目標(biāo)時(shí)的兩種匹配情況
當(dāng)目標(biāo)都位于同一個(gè)坐標(biāo)系中之后,就可以直接計(jì)算相對(duì)應(yīng)的兩個(gè)矩形框中心坐標(biāo)之間的歐式距離。分別計(jì)算出圖8中兩種匹配方式的歐氏距離之和后進(jìn)行比較,歐氏距離比較小的就是最佳匹配。根據(jù)以上討論可知,πl(wèi)平面上的A1對(duì)應(yīng)πr平面上的A1′,πl(wèi)平面上的A2對(duì)應(yīng)πr平面上的A2′。同理可知,如果有兩個(gè)以上的相似目標(biāo),可以同樣根據(jù)上述的基于歐氏距離的方式來(lái)進(jìn)行目標(biāo)匹配。
由于雙目視覺(jué)的左右畫(huà)面具有高度的重疊性,導(dǎo)致左右畫(huà)面中目標(biāo)表面特征無(wú)明顯差異,使用同一個(gè)目標(biāo)識(shí)別算法對(duì)左右畫(huà)面進(jìn)行目標(biāo)識(shí)別,可保證相同的識(shí)別結(jié)果,即在左圖中能識(shí)別的目標(biāo),在右圖中也能進(jìn)行正確識(shí)別。在完成對(duì)雙目視覺(jué)左右畫(huà)面中的目標(biāo)識(shí)別框定過(guò)程后,通過(guò)歐式距離對(duì)雙目視覺(jué)左右畫(huà)面中的同類型的目標(biāo)進(jìn)行匹配,是一種在邏輯層面上的匹配規(guī)則,且更符合人類左右雙眼對(duì)目標(biāo)匹配的習(xí)慣,不僅可以實(shí)現(xiàn)多類型目標(biāo)之間的匹配,同時(shí)還能實(shí)現(xiàn)相似目標(biāo)之間的匹配。
攝像頭的角度控制也就是通過(guò)控制舵機(jī),轉(zhuǎn)動(dòng)攝像頭視角,使攝像頭光軸會(huì)聚于目標(biāo)物體。
本文采用的方法是根據(jù)目標(biāo)檢測(cè)結(jié)果自動(dòng)控制舵機(jī)。根據(jù)前文實(shí)現(xiàn)的目標(biāo)檢測(cè)和目標(biāo)匹配可以得到左右兩幅圖像中指定目標(biāo)對(duì)應(yīng)的兩個(gè)矩形框及其中心坐標(biāo)。以左攝像頭為例,將矩形框中心與整幅圖像中心位置的水平坐標(biāo)不斷進(jìn)行比較,以兩個(gè)坐標(biāo)值的相對(duì)大小來(lái)判斷舵機(jī)向左或向右水平轉(zhuǎn)動(dòng)2°。不斷重復(fù)以上過(guò)程直到兩個(gè)水平坐標(biāo)的差的絕對(duì)值小于20個(gè)像素值,即認(rèn)為攝像頭在水平方向上轉(zhuǎn)到了合適的位置。
控制兩個(gè)攝像頭整體轉(zhuǎn)動(dòng)時(shí),由于兩個(gè)攝像頭在同一平面,所以以左攝像頭為準(zhǔn),且與水平方向的轉(zhuǎn)動(dòng)方式類似。當(dāng)兩個(gè)方向上,攝像頭都轉(zhuǎn)動(dòng)到合適的位置時(shí),兩個(gè)攝像頭就對(duì)準(zhǔn)了指定目標(biāo)。
圖9為兩個(gè)攝像頭轉(zhuǎn)動(dòng)效果的平面和側(cè)視示意圖。兩個(gè)攝像機(jī)的初始位置是隨意擺放的,經(jīng)過(guò)舵機(jī)轉(zhuǎn)動(dòng)后,兩個(gè)攝像頭光軸會(huì)聚于目標(biāo)物體上。圖10為圖像中目標(biāo)成像位置的變化示意圖,經(jīng)過(guò)舵機(jī)的轉(zhuǎn)動(dòng),目標(biāo)成像會(huì)移動(dòng)到圖像中心位置。
圖9 攝像頭轉(zhuǎn)動(dòng)效果示意圖
圖10 目標(biāo)成像位置變化示意圖
本文中的兩臺(tái)攝像機(jī)是動(dòng)態(tài)的,相對(duì)位置不固定,不能用棋盤格標(biāo)定法進(jìn)行標(biāo)定,也就無(wú)法通過(guò)視差原理來(lái)測(cè)距??紤]到水平方向上的兩臺(tái)舵機(jī)相對(duì)位置固定,左右舵機(jī)轉(zhuǎn)軸中心距離不變,因此選擇測(cè)量的距離是目標(biāo)到左舵機(jī)轉(zhuǎn)軸中心的距離,并且根據(jù)模型實(shí)際運(yùn)行效果,選擇利用三角形原理來(lái)計(jì)算距離。
本文采用舵機(jī)控制轉(zhuǎn)軸旋轉(zhuǎn)使目標(biāo)物體成像位置在圖像的中心,圖11(a)為實(shí)際攝像頭轉(zhuǎn)動(dòng)的平面示意圖。
(a)實(shí)際攝像頭轉(zhuǎn)動(dòng)平面示意圖
圖中O1和O2為初始狀態(tài)左右兩臺(tái)攝像機(jī)的光心,O1′和O2′為轉(zhuǎn)動(dòng)后左右兩臺(tái)攝像機(jī)的光心,攝像機(jī)通過(guò)支架與舵機(jī)固定在一起,可以看到舵機(jī)轉(zhuǎn)動(dòng)完成后,目標(biāo)物體、攝像機(jī)和舵機(jī)轉(zhuǎn)軸中心處于一條直線上。目標(biāo)物體和兩個(gè)舵機(jī)的轉(zhuǎn)軸中心構(gòu)成了一個(gè)三角形,簡(jiǎn)化示意圖如圖11(b)所示。
根據(jù)解三角形原理:
(2)
其中,b、α和β已知,根據(jù)可以求得目標(biāo)物體到左舵機(jī)轉(zhuǎn)軸中心的距離:
(3)
本文采用基于HSV顏色空間的目標(biāo)檢測(cè)方法,在簡(jiǎn)單背景情況下,選擇灰色為待識(shí)別顏色,通過(guò)設(shè)置合適的高、低閾值來(lái)實(shí)現(xiàn)較好的識(shí)別效果。檢測(cè)效果如圖12所示。
圖12 目標(biāo)檢測(cè)結(jié)果
模型檢測(cè)到特定顏色的物體后,將會(huì)根據(jù)空間位置對(duì)兩幅圖像中的目標(biāo)進(jìn)行匹配,舵機(jī)將根據(jù)匹配結(jié)果將指定目標(biāo)的成像移動(dòng)到圖像中央。將模型進(jìn)行測(cè)試,舵機(jī)能夠達(dá)到使指定目標(biāo)成像位于圖像中央的效果。圖13(a)為單個(gè)目標(biāo);圖13(b)為兩個(gè)目標(biāo),此時(shí)指定從左到右第二個(gè)物體為目標(biāo)。
(a)單個(gè)目標(biāo)
而采用SIFT和ORB方法對(duì)目標(biāo)框內(nèi)進(jìn)行特征提取時(shí),由于目標(biāo)表面光滑且高度相似,提取到的特征多數(shù)位于目標(biāo)邊緣,且匹配存在較多誤差。特征檢測(cè)和匹配結(jié)果如圖14、15所示。
(a)SIFT
(a)SIFT
在實(shí)現(xiàn)攝像機(jī)光軸自動(dòng)會(huì)聚目標(biāo)物體的功能后,接著進(jìn)行了多次距離測(cè)量,測(cè)量結(jié)果如表1所示。
表1 距離測(cè)量結(jié)果
從表1中的測(cè)量結(jié)果來(lái)看,本文的測(cè)距方法相對(duì)誤差在6.5 %以內(nèi),平均相對(duì)誤差為4.13 %。
總體來(lái)說(shuō),本文設(shè)計(jì)的模型能夠測(cè)量出目標(biāo)到左舵機(jī)轉(zhuǎn)軸中心的距離,與實(shí)際距離相比存在一定的誤差,但誤差在可接受范圍內(nèi)。
本文針對(duì)雙目視覺(jué)測(cè)距方法中相似目標(biāo)匹配存在困難這一問(wèn)題,提出了采用基于特征和空間位置關(guān)系的匹配方式,并應(yīng)用到測(cè)距模型中,研究了基于會(huì)聚型雙目視覺(jué)的測(cè)距模型。實(shí)驗(yàn)表明,該模型能夠?qū)崿F(xiàn)簡(jiǎn)單背景下對(duì)特定目標(biāo)物體的檢測(cè)及匹配,攝像機(jī)能夠根據(jù)設(shè)計(jì)要求自動(dòng)會(huì)聚于目標(biāo)物體,且能夠測(cè)量出目標(biāo)到左舵機(jī)轉(zhuǎn)軸中心的距離,證明了本文模型的可靠性。然而,由于攝像機(jī)圖像采集具有延時(shí)、舵機(jī)角度控制精度不足,導(dǎo)致測(cè)試結(jié)果與實(shí)際距離相比存在誤差。后續(xù)考慮采用性能更好的硬件模塊進(jìn)行實(shí)驗(yàn),以減小測(cè)距誤差。