王連枝,朱朝旭,趙 帥,李寶璽
(開封大學(xué)電子電氣工程學(xué)院,河南 開封 475000)
作為計算機(jī)視覺技術(shù)應(yīng)用領(lǐng)域內(nèi)的重要課題之一,跟隨式導(dǎo)航技術(shù)利用攝像頭拍攝目標(biāo)對象[1],并對圖像序列進(jìn)行分析,基于圖像內(nèi)目標(biāo)特征實(shí)現(xiàn)目標(biāo)跟隨[2],基于跟隨結(jié)果生成導(dǎo)航路線。該技術(shù)被普遍應(yīng)用于機(jī)器人視覺導(dǎo)航、交通監(jiān)控等諸多領(lǐng)域內(nèi)[3]。
楊輝與吳賽燕等人將STM32與物聯(lián)網(wǎng)應(yīng)用在機(jī)器人導(dǎo)航問題中[4],依照所處環(huán)境獲取目標(biāo)圖像,分析圖像確定目標(biāo)移動軌跡,實(shí)現(xiàn)機(jī)器人的自主導(dǎo)航。孟慶寬與楊曉霞等人研究普通光照條件下機(jī)器人導(dǎo)航技術(shù)[5],利用視覺傳感器獲取目標(biāo)圖像,基于圖像熵對灰度圖完成機(jī)器人導(dǎo)航功能。上述方法均采用單目攝像頭采集目標(biāo)圖像,其主要優(yōu)勢為運(yùn)算速度較快。但該類方法在實(shí)際應(yīng)用過程中未考慮實(shí)際場景的三維信息,導(dǎo)致所跟隨的對象均具有相對性,由此造成機(jī)器人最終導(dǎo)航結(jié)果產(chǎn)生偏差。針對這一問題,研究基于視覺雙窗口的機(jī)器人視覺跟隨式導(dǎo)航方法,將視距雙窗口攝像頭應(yīng)用于機(jī)器人導(dǎo)航問題中,提升跟隨對象跟隨精度,實(shí)現(xiàn)機(jī)器人的準(zhǔn)確導(dǎo)航。
圖1所示為基于視覺雙窗口的機(jī)器人視覺跟隨式導(dǎo)航方法實(shí)現(xiàn)流程。
基于視覺雙窗口的機(jī)器人視覺跟隨式導(dǎo)航過程中,在機(jī)器人視覺圖像上選取引導(dǎo)目標(biāo)矩形圖像區(qū)域,機(jī)器人通過視覺雙窗口攝像頭采集跟隨對象圖像,標(biāo)定視覺雙窗口攝像頭,實(shí)現(xiàn)視覺雙窗口攝像機(jī)圖像與現(xiàn)實(shí)場景內(nèi)圖像間的映射。在此基礎(chǔ)上,對視覺雙窗口攝像頭采集的圖像序列進(jìn)行特征立體匹配,并提取三維坐標(biāo),實(shí)現(xiàn)跟隨目標(biāo)的視覺跟隨定位。獲取視覺雙窗口攝像頭在水平方向上的位置,以基于行為的控制結(jié)構(gòu)作為機(jī)器人導(dǎo)航控制結(jié)構(gòu)的基礎(chǔ),通過一個宏行為MB_M(jìn)ove To Target完成基于視覺雙窗口的機(jī)器人視覺跟隨式導(dǎo)航路線生成,控制機(jī)器人運(yùn)動方向。
機(jī)器人視覺雙窗口攝像頭的空間點(diǎn)標(biāo)定采用TSAI提出的兩步標(biāo)定算法獲取參數(shù)[6]:
1)左攝像頭內(nèi)、外參數(shù):焦距、平移向量和旋轉(zhuǎn)矩陣、平移向量;
2)右攝像頭內(nèi)、外參數(shù):焦距、實(shí)際圖像中心坐標(biāo)和旋轉(zhuǎn)矩陣、平移向量。
上述外參數(shù)均與各自標(biāo)定過程中設(shè)定的世界坐標(biāo)系相對應(yīng)。以確定雙窗口視場中空間點(diǎn)的三維坐標(biāo)為目的,依照人類視覺慣性[7],將機(jī)器人雙窗口攝像頭統(tǒng)一至相同世界坐標(biāo)系內(nèi)。以左攝像機(jī)光心為世界坐標(biāo)系原點(diǎn),也就是機(jī)器人位于左攝像頭光心區(qū)域,在此條件下,可利用空間轉(zhuǎn)換矩陣[RT]描述右攝像機(jī)坐標(biāo)系or-xryrzr同當(dāng)前世界坐標(biāo)系o-xyz
(1)
式(1)內(nèi),R和T分別表示機(jī)器人視覺雙窗口攝像頭與世界坐標(biāo)系的旋轉(zhuǎn)矩陣與平移向量,兩者的計算公式如下
(2)
式(2)內(nèi),Ra和Rl分別表示左、右攝像頭的旋轉(zhuǎn)矩陣,Ta和Tl分別表示左、右攝像頭的平移向量。依照計算機(jī)圖像坐標(biāo)(u,v)與世界坐標(biāo)(XW,YW,ZW)間的相關(guān)性[8],結(jié)合式(1)能夠得到視覺雙窗口條件下空間點(diǎn)三維坐標(biāo),詳細(xì)過程如下:
將機(jī)器人視覺雙窗口攝像頭內(nèi)參數(shù)分別代入矩陣
(3)
式(3)內(nèi),fl和fa表示左、右攝像頭焦距;dx和dy分別表示圖像在x與y方向單位像素的尺寸;(ul0,vl0)和(ua0,va0)分別表示左、右攝像頭實(shí)際圖像坐標(biāo)中心。
以(XW,YW,ZW)和(ul,vl)、(ua,va)分別表示空間點(diǎn)P的世界坐標(biāo)和在機(jī)器人各攝像頭圖像上的投影點(diǎn),由此可得以下兩組矩陣方程
(4)
式(4)內(nèi),G表示4階單位矩陣。對式(4)進(jìn)行展開處理能夠?qū)⑵滢D(zhuǎn)換為矩陣M與矩陣U。
設(shè)定M[XWYWZW]′=U,選取最小二乘法確定P在以機(jī)器人左攝像頭光心為原點(diǎn)的世界坐標(biāo)系內(nèi)的三維坐標(biāo)
(5)
通過視覺雙窗口攝像頭的空間點(diǎn)標(biāo)定可實(shí)現(xiàn)機(jī)器人視覺雙窗口攝像機(jī)圖像與現(xiàn)實(shí)場景內(nèi)圖像間的映射,提升后續(xù)跟隨對象識別與定位的精度。
機(jī)器人采用視覺雙窗口攝像機(jī)采集跟隨對象圖像后,由于各圖像內(nèi)跟隨對象間不存在顯著的特征區(qū)別[9],因此對圖像進(jìn)行立體特征匹配極為重要,能夠有效改善視覺雙窗口圖像采集過程中的重復(fù)紋理以及重疊遮擋等問題[10]?;谝曈X雙窗口立體特征匹配的機(jī)器人視覺跟隨算法實(shí)現(xiàn)流程如圖2所示。
圖2 基于視覺雙窗口立體特征匹配的機(jī)器人視覺跟隨算法流程
機(jī)器人利用二維擴(kuò)展Kalman濾波器分別跟隨兩個不同攝像頭所采集圖像序列內(nèi)的跟隨對象,以所采集圖像序列為基礎(chǔ),實(shí)現(xiàn)跟隨對象的三維擴(kuò)展Kalman濾波器預(yù)測跟隨;若在不同攝像頭所采集圖像序列的預(yù)測區(qū)域內(nèi)分別存在若干個候選跟隨對象,那么機(jī)器人通過視覺雙窗口下的外極線約束條件清除錯誤的候選跟隨對象[11],完成正確的跟隨對象匹配,實(shí)現(xiàn)機(jī)器人視覺跟隨目的。
基于視覺雙窗口立體特征匹配的機(jī)器人視覺跟隨算法主要特點(diǎn)體現(xiàn)在兩方面,分別是跟隨過程中,二維與三維擴(kuò)展Kalman濾波器同時用于預(yù)測,以及通過外極線約束處理視覺雙窗口下不同二維候選跟隨對象的對應(yīng)問題。前者能夠縮小跟隨對象的搜索范圍,降低因特征缺失導(dǎo)致的跟隨對象跟隨錯誤問題;后者能夠清除錯誤的匹配關(guān)聯(lián),由此得到準(zhǔn)確的候選跟隨對象。
(6)
(7)
(8)
(9)
若存在跟隨對象Dn,那么利用Dn的信息更新不同狀態(tài)變量的預(yù)測誤差(Δwk+1,Δvk+1,Δak+1),公式描述如下
Δwk+1=|wk+1-wk-1|
(10)
Δvk+1=α°|vk+1-vk-1|+(1-α)°Δvk
(11)
Δjk+1=β°|jk+1-jk-1|+(1-β)°Δjk
(12)
若在跟隨對象Dn的預(yù)測區(qū)域內(nèi)存在不止一個候選跟隨對象,那么根據(jù)外極線約束清除錯誤的跟隨對象。外極線約束原理如下:
以w1(w2)和F分別表示Dn在機(jī)器人視覺雙窗口攝像頭采集的兩個圖像上的位置坐標(biāo)和視覺雙窗口的基礎(chǔ)矩陣,那么w2(w1)的位置處于同w1(w2)相關(guān)聯(lián)的外極線b2(b1)上,公式描述如下
b1=FTw2,b2=Fw1
(13)
由此,在搜索w2(w1)過程中可將搜索范圍約束在b2(b1)范圍內(nèi),即搜索范圍降低,搜索效率提升。但實(shí)際機(jī)器人視覺跟隨過程中,考慮不同噪聲與誤差的存在[12],在機(jī)器人實(shí)際視覺跟蹤過程中所檢測到的跟隨對象無法完全符合外極線約束,針對此問題,將候選跟隨對象同外極線間的距離作為約束準(zhǔn)則,距離與二維匹配程度之間呈反比例相關(guān)。
機(jī)器人的視覺跟隨式導(dǎo)航過程中,需實(shí)時響應(yīng)具有突發(fā)性與多樣性的緊急事件[13],因此在導(dǎo)航過程中以基于行為的控制結(jié)構(gòu)作為機(jī)器人導(dǎo)航控制結(jié)構(gòu)的基礎(chǔ)。通過一個宏行為MB_M(jìn)ove To Target完成基于視覺雙窗口的機(jī)器人視覺跟隨式導(dǎo)航[14]。
基于視覺雙窗口的機(jī)器人視覺跟隨式導(dǎo)航工作內(nèi)包含的基本行為包括機(jī)器人以穩(wěn)定速度前行的基本行為、堵轉(zhuǎn)狀態(tài)下控制自動解脫的基本行為、前方障礙物條件下控制轉(zhuǎn)彎的基本行為、沿墻壁前行并保持相應(yīng)距離的基本行為、跟隨視覺引導(dǎo)對象調(diào)整航向的基本行為[15]?;谏鲜龌拘袨椋檬?14)表示通過宏行為完成的基于視覺雙窗口的機(jī)器人視覺跟隨式導(dǎo)航工作
MB_M(jìn)oveToTarget(Ψ,)
(14)
式(15)內(nèi),Ψ=(Q,E,f,q0,H)表示有限狀態(tài)自動機(jī),Q=(S0,S1,S2,S3,S4,S5)表示狀態(tài)集,其中S0—S5表示機(jī)器人的初始狀態(tài),朝跟隨對象運(yùn)動狀態(tài),依左、右側(cè)障礙物運(yùn)動狀態(tài),達(dá)到對象狀態(tài)與未到達(dá)對象狀態(tài);E={e1,e2,…,eg}和f分別表示事件集和由Q×E至Q的映射,q0和H分別表示初始狀態(tài)和終止?fàn)顟B(tài)集,兩個分別與S0和{S4,S5}對應(yīng)。表示與S0—S5相對的組合行為集。
實(shí)驗(yàn)為驗(yàn)證本文所研究的基于視覺雙窗口的機(jī)器人視覺跟隨式導(dǎo)航方法在實(shí)際機(jī)器人導(dǎo)航中的應(yīng)用效果,在Matlab 2013a軟件上實(shí)施相關(guān)仿真,仿真過程中設(shè)定仿真對象與跟隨對象分別為某型號無人機(jī)與某型號車輛,選取視覺雙窗口攝像頭開發(fā)板,仿真測試結(jié)果如下。
3.1.1 目標(biāo)跟隨結(jié)果
仿真對象采用本文方法對跟隨對象進(jìn)行視覺跟隨,對比仿真對象采用本文方法跟隨設(shè)定跟隨對象過程中,跟隨對象在各幀圖像上的中心坐標(biāo)值與跟隨對象實(shí)際坐標(biāo),結(jié)果如表1所示。
表1 跟隨對象中心點(diǎn)坐標(biāo)對比結(jié)果
由表1能夠得到,采用本文方法跟隨設(shè)定的跟隨對象時,所得跟隨對象中心點(diǎn)位置坐標(biāo)同其實(shí)際中心點(diǎn)坐標(biāo)值大致相同,這表明采用本文方法可有效跟隨設(shè)定的跟隨對象,滿足本文方法應(yīng)用需求。
3.1.2 單一對象跟隨誤差
仿真復(fù)雜的背景條件與光照條件,并在圖像中仿真出與設(shè)定跟隨對象雷同的干擾對象。采用本文方法對單一跟隨對象實(shí)施跟隨測試。測試本文方法在應(yīng)用過程中,每一幀圖像內(nèi)跟隨位置誤差與分重疊區(qū)域比的波動情況,兩者值越低說明本文方法跟隨精度越高,結(jié)果如圖3所示。
圖3 單一對象跟隨誤差對比結(jié)果
分析圖3能夠得到,本文方法在背景較為復(fù)雜的條件下跟隨單一對象能夠能夠得到較高的跟隨精度。由圖3(a)得到,單一對象跟隨過程中每一幀圖像的像素誤差均低于10像素,像素誤差均值約為6像素。分析圖3(b)得到,單一對象跟隨過程中每一幀圖像的非重疊區(qū)域比均低于0.50,均值約為0.30。設(shè)定對象在運(yùn)動過程中尺度產(chǎn)生顯著波動情況,且在仿真過程中出現(xiàn)同設(shè)定對象較為雷同的干擾對象,但本文方法的跟隨誤差并不顯著波動,這說明本文方法能夠基于準(zhǔn)確地特征在背景較為復(fù)雜的條件下實(shí)現(xiàn)準(zhǔn)確的設(shè)定對象定位,結(jié)合本文方法的高跟隨精度能夠說明本文方法較好的魯棒性。
3.1.3 雙對象跟隨
仿真過程中本文方法采用視覺雙窗口采集設(shè)定對象圖像。同時考慮跟隨過程中所跟隨對象數(shù)量不為一的情況,因此對本文方法對雙對象同時跟隨的性能進(jìn)行仿真測試,結(jié)果如圖4所示。
分析圖4得到,對象A與對象B在37—56幀、第88—105幀中出現(xiàn)存在彼此遮擋又產(chǎn)生分離的現(xiàn)象。采用本文方法對同時跟隨兩個對象,在兩者彼此分離地條件下能夠準(zhǔn)確地跟隨兩個對象;在兩者彼此遮擋又分離后,依舊能夠準(zhǔn)確跟隨兩個對象,由此說明采用本文方法在雙對象條件下依舊能夠?qū)崿F(xiàn)準(zhǔn)確的跟隨。
圖4 多對象跟隨結(jié)果
綜合3.1節(jié)仿真測試所得結(jié)果結(jié)果得到,本文方法具有較好的跟隨性能,能夠根據(jù)實(shí)際需求得到準(zhǔn)確的跟隨結(jié)果。
本文方法能夠根據(jù)對象跟隨結(jié)果生成仿真對象的導(dǎo)航路線,并且能夠自主進(jìn)行避障設(shè)計。圖5所示為本文方法導(dǎo)航路線生成結(jié)果的二維圖。
圖5 導(dǎo)航路線二維圖
分析圖5得到,采用本文方法能夠準(zhǔn)確根據(jù)仿真對象的運(yùn)動軌跡生成導(dǎo)航圖,并且在存在障礙物的條件下,可以準(zhǔn)確避開障礙物,并在其后回歸準(zhǔn)確的導(dǎo)航路線中,由此驗(yàn)證了本文方法導(dǎo)航性能。
本文研究基于視覺雙窗口的機(jī)器人視覺跟隨式導(dǎo)航方法,該方法利用視覺雙窗口攝像頭采集對象的圖像,針對視覺雙窗口所采集的圖像進(jìn)行處理,完成對象跟隨與導(dǎo)航。仿真結(jié)果顯示本文方法具有較高的跟隨精度與準(zhǔn)確的導(dǎo)航性能。在后續(xù)研究過程中將繼續(xù)完善本文方法,提升本文方法在復(fù)雜環(huán)境下的應(yīng)用性能。