張 凱,陽(yáng) 杰
(西安工程大學(xué)電子信息學(xué)院,西安710600)
隨著科學(xué)技術(shù)發(fā)展,機(jī)器人越來(lái)越受到關(guān)注。機(jī)器人給人們的生產(chǎn)生活帶來(lái)便利,比如餐廳機(jī)器人、掃地機(jī)器人等。同步定位與地圖構(gòu)建(SLAM)在機(jī)器人的使用中發(fā)揮著重要的作用?,F(xiàn)代計(jì)算性能不斷提升,傳感器越來(lái)越多樣化和精密化。SLAM 系統(tǒng)的傳感器大多使用攝像頭,比如RGBD 相機(jī)、雙目攝像頭、單目攝像頭等。系統(tǒng)又可分為傳感器數(shù)據(jù)、視覺(jué)里程計(jì)、建圖、后端優(yōu)化、回環(huán)檢測(cè)等部分,通過(guò)視覺(jué)圖像信息感知周?chē)h(huán)境?;丨h(huán)檢測(cè)使機(jī)器人對(duì)曾經(jīng)去過(guò)的位置能夠準(zhǔn)確識(shí)別,解決了位姿漂移問(wèn)題。后端優(yōu)化的作用則是消除噪聲對(duì)建圖、位姿估計(jì)的影響,同時(shí),以前端視覺(jué)里程計(jì)來(lái)計(jì)算姿態(tài)變化。在視覺(jué)SLAM 系統(tǒng)中,后端優(yōu)化收斂會(huì)出現(xiàn)偏差,反映為建圖中的漂移。對(duì)此,可采用回環(huán)檢測(cè)模塊將累計(jì)誤差消除。深度學(xué)習(xí)的發(fā)展也為機(jī)器人更高層次的回環(huán)檢測(cè)提供可能。
近年來(lái),在計(jì)算機(jī)視覺(jué)領(lǐng)域中,深度學(xué)習(xí)方法廣受關(guān)注,發(fā)展飛速,對(duì)于圖像分割、圖像檢測(cè)、圖像分類(lèi)等都有重要的促進(jìn)。深度學(xué)習(xí)假設(shè)不同因子相互作用,分為多個(gè)層次,抽象程度不同。這一過(guò)程的結(jié)構(gòu)通過(guò)每一層的規(guī)模、不同層數(shù)來(lái)反映。從機(jī)器學(xué)習(xí)中的分散表示,產(chǎn)生深度學(xué)習(xí)[1],它是從數(shù)據(jù)中自動(dòng)通過(guò)學(xué)習(xí)獲取的。
傳統(tǒng)模式識(shí)別,是依據(jù)人為經(jīng)驗(yàn)設(shè)計(jì),因此對(duì)于整個(gè)算法系統(tǒng)來(lái)說(shuō),人工特征選擇決定其運(yùn)行質(zhì)量。傳統(tǒng)研究的重點(diǎn),就在于發(fā)掘好的特征提取算法,往往需要研究人員耗費(fèi)較長(zhǎng)的時(shí)間來(lái)研究特征提取算法[2-3]。而深度學(xué)習(xí)使用大量的訓(xùn)練數(shù)據(jù),多隱層的機(jī)器學(xué)習(xí)模型,變換逐層特征,形成新特征空間,從中提取高層次特征。深度學(xué)習(xí)使預(yù)測(cè)、分類(lèi)的正確率有效提升。將深度學(xué)習(xí)應(yīng)用于計(jì)算機(jī)視覺(jué)領(lǐng)域,對(duì)目標(biāo)便可用多種方式來(lái)表示。若目標(biāo)是一副圖像,用表示向量反映每個(gè)像素的灰度值,或用抽象的特定線(xiàn)條、邊緣等,準(zhǔn)確獲得高層次的特征。
傳統(tǒng)的回環(huán)檢測(cè)方法分為兩種。一種是以視覺(jué)圖像為基礎(chǔ),以場(chǎng)景識(shí)別的問(wèn)題代替回環(huán)檢測(cè)問(wèn)題,根據(jù)幀間相似性進(jìn)行回環(huán)判斷。此法在21 世紀(jì)初被提出,目前是視覺(jué)SLAM 領(lǐng)域的研究重點(diǎn)。場(chǎng)景影像數(shù)據(jù)利用前端攝像頭獲取,圖像間的相似性計(jì)算通過(guò)計(jì)算機(jī)視覺(jué)方法,對(duì)回環(huán)進(jìn)行判斷[4-5]。另一種是以視覺(jué)里程計(jì)為基礎(chǔ),假設(shè)相機(jī)回歸之前位置,通過(guò)幾何關(guān)系來(lái)判斷是否構(gòu)成回環(huán)。但這種方法存在偏移誤差,導(dǎo)致較低的判斷邏輯準(zhǔn)確性。
圖像間的相似性如何計(jì)算,是基于視覺(jué)圖像方法的核心問(wèn)題。目前常用的是標(biāo)定人工設(shè)計(jì)的關(guān)鍵點(diǎn),計(jì)算特征描述子相似度?;丨h(huán)檢測(cè)不管是局部特征提取,或者全局特征提取,都依據(jù)人為經(jīng)驗(yàn)[6]。這也決定了季節(jié)變換、光照變化等客觀環(huán)境因素都會(huì)降低準(zhǔn)確率。對(duì)于實(shí)際場(chǎng)景劇烈變化的圖像,存在一系列問(wèn)題,比如旋轉(zhuǎn)不變性較差、視覺(jué)單詞無(wú)法匹配等。
研究利用深度學(xué)習(xí),提出視覺(jué)SLAM 的回環(huán)檢測(cè)算法。系統(tǒng)基于局部敏感哈希算法的快速回環(huán)檢測(cè),以及基于卷積神經(jīng)網(wǎng)絡(luò)VGG-19 的圖像特征向量集所構(gòu)建,總體方案如圖1 所示。
圖1 系統(tǒng)總體方案
在出現(xiàn)角度、光照變化時(shí),人工設(shè)計(jì)特征提取算法的準(zhǔn)確率降低,因此使用VGG-19 提取圖像集的整體特征,同時(shí)構(gòu)造對(duì)應(yīng)特征向量矩陣。特征向量在高緯度時(shí),對(duì)計(jì)算性能要求高,快速檢測(cè)回環(huán)無(wú)法實(shí)現(xiàn)[7]。故此采用降維聚類(lèi)處理特征向量矩陣,應(yīng)用基于余弦距離的LSH 算法,提高識(shí)別速度。
提取圖像特征提取時(shí),使用算法不同,最終回環(huán)檢測(cè)的效果也會(huì)不同。卷積神經(jīng)網(wǎng)絡(luò)VGG-19 的可操作性強(qiáng),特征表述能力高,能夠有效滿(mǎn)足圖像特征提取的需求[8]。直接使用預(yù)訓(xùn)練VGG-19 處理圖像任務(wù)能獲得較高增益。
圖像部分特征應(yīng)用大卷積核會(huì)出現(xiàn)提取困難的問(wèn)題。對(duì)于常見(jiàn)的大卷積核,VGG-19 使用小卷積核代替,為3×3。使用更多的小卷積核,有利于更準(zhǔn)確地辨別特征,也會(huì)更加精確地描述圖像的細(xì)節(jié)特征。因此對(duì)圖像特征提取的網(wǎng)絡(luò)結(jié)構(gòu)選用預(yù)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)VGG-19。
VGG-19 有3 個(gè)全連接層,5 個(gè)卷積層模塊。不同中間層的圖像特征效果如圖2??梢?jiàn),F(xiàn)C7 層特征向量維度適中,可以較好地區(qū)分圖像。因此圖像特征表示選用FC7 層輸出向量。Conv1 層提取特征比較粗糙,而Conv3 層維度過(guò)高,又會(huì)影響后續(xù)的運(yùn)算。VGG-19 的輸出結(jié)構(gòu)變化,輸出結(jié)果為4096 維的圖像特征向量。為加快提取圖像特征,在此調(diào)整VGG-19 的BATCH。一次性輸入k 張圖像,向FC7 層前向傳播,直接輸出特征矩陣M:
圖2 VGG-19 不同中間層圖像特征效果
與一般的哈希算法不同,局部敏感哈希是通過(guò)特定的Hash 函數(shù),將高維空間內(nèi)相似度高的數(shù)據(jù),映射為同一個(gè)Hash 值,在聚類(lèi)搜索、圖像和視頻檢索、網(wǎng)頁(yè)去重等場(chǎng)合多有應(yīng)用。局部敏感哈希屬于最近鄰查詢(xún)算法,使高維空間數(shù)據(jù)向低維映射。
定義LSH 函數(shù)簇F= {h :M→S },在度量空間內(nèi)M=(M,d)。定義距離閾值σ>1,R>1。p,q∈M,向量之間的度量表示為d(p,q)。概率表示為PRh。對(duì)于任意p,q,有:
如果P1>P2,稱(chēng)F 是(R,σR,P1,P2)敏感的。不同的LSH 函數(shù)簇對(duì)應(yīng)不同的度量方式。在回環(huán)檢測(cè)的情況下,應(yīng)用以余弦距離為基礎(chǔ)的LSH 函數(shù)簇,可以使匹配所需的查詢(xún)時(shí)間明顯減少。LSH 函數(shù)hμ以余弦距離度量為基礎(chǔ),表示為:
若直接使用以余弦距離為基礎(chǔ)的LSH 函數(shù)構(gòu)造Hash 表,會(huì)有聚類(lèi)區(qū)分度不夠、待匹配向量查詢(xún)范圍窄等問(wèn)題。增加False Negative 和False Positive出現(xiàn)機(jī)率。此時(shí)可使用“OR”和“AND”策略,調(diào)整P1和P2,以提高回環(huán)檢測(cè)的性能及算法聚類(lèi)準(zhǔn)確性。
“OR”策略是:只要有任意的hn(v1)=hn(v2){n=1,2,...,l}存在于函數(shù)簇F={h1,h2,...,hl}中,就會(huì)出現(xiàn)h(v1)=h(v2)。增加以后,有t 個(gè)Hash 表,使P1和P2成為1-(1-P1)t和1-(1-P2)t,F(xiàn)alse Negative 因此減少。
“AND”策略是:出現(xiàn)h(v1)=h(v2),只有h(v1)=h(v2){n=1,2,...,l}時(shí),增加超平面,使P1和P2成為P1t和P2t,以減少False Positive 的情況。
隨著超平面的增加,Hash 表的規(guī)模表現(xiàn)為線(xiàn)性增長(zhǎng)態(tài)勢(shì),如圖3 所示;隨著偏移量增加,匹配耗時(shí)顯示為正態(tài)分布狀態(tài),如圖4 所示。
圖3 Hash 表規(guī)模變化趨勢(shì)
圖4 匹配耗時(shí)分布情況
圖中,所有特征向量間的余弦距離計(jì)算,單純應(yīng)用暴力匹配方式,復(fù)雜度為O(n2)。特征向量矩陣的向量個(gè)數(shù)為n。構(gòu)造Hash 表算法時(shí)間復(fù)雜度為O(l×n)。集合V 決定時(shí)間復(fù)雜度,近似為O(1),復(fù)雜度減少,超平面?zhèn)€數(shù)為l。
實(shí)驗(yàn)使用的視覺(jué)SLAM 回環(huán)檢測(cè)數(shù)據(jù)集,選取的是牛津大學(xué)機(jī)器人團(tuán)隊(duì)收集的City centre 與New college。在室外環(huán)境中,移動(dòng)機(jī)器人通過(guò)攝像頭,采集的2474 與2146 張左右對(duì)圖像[9-10]。圖像尺寸640×480 像素,格式為jpg。研究人員可根據(jù)回環(huán)真值,對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行比較。根據(jù)左右攝像頭采集的圖像,對(duì)數(shù)據(jù)集進(jìn)行重新分割。右攝像頭采集的所有圖像,為New college right,1073 張。左攝像頭的為New college left,1073 張。數(shù)據(jù)集City centre 同樣以此分割,為右攝像頭的City centre right,1237 張,以及左攝像頭的City centre left,1237 張。
使用平均準(zhǔn)確率,以及準(zhǔn)確率-召回率曲線(xiàn),評(píng)價(jià)算法的性能。在數(shù)據(jù)集City centre 與New college中,設(shè)定8 位偏移量,16 個(gè)超平面,效果最佳。偏移量、超平面數(shù)量逐漸減少,算法性能隨之下降。相比數(shù)據(jù)集New college,算法對(duì)于數(shù)據(jù)集City centre 的回環(huán)檢測(cè)性能更佳。其原因在于數(shù)據(jù)集City centre中的人和車(chē)輛更多,模型具有更高的識(shí)別能力。比較基于Autoencoder 的回環(huán)檢測(cè),再基于Alexnet 的回環(huán)檢測(cè)比較平均準(zhǔn)確率。相比傳統(tǒng)的人工設(shè)計(jì)特征提取算法,基于深度學(xué)習(xí)的Alexnet 與Autoencoder的平均準(zhǔn)確率更高。因此,對(duì)于圖像場(chǎng)景的識(shí)別,基于深度學(xué)習(xí)的方法能力更強(qiáng),受光照的影響更少。算法在數(shù)據(jù)集上的平均準(zhǔn)確率比較結(jié)果歸納如表1。
表1 算法在各數(shù)據(jù)集上的平均準(zhǔn)確率
為達(dá)到機(jī)器人的同步定位與建圖,視覺(jué)SLAM 系統(tǒng)要求回環(huán)檢測(cè)模塊具有足夠強(qiáng)的實(shí)時(shí)性。實(shí)驗(yàn)隨機(jī)抽取2000 張圖像,探討算法的時(shí)間性能。經(jīng)比較,Alexnet 耗時(shí)為0.014 s;ORB-SLAM 為1.02 s;VGG-LSH 為0.012 s;Autoencoder 為0.12 s;FAB-MAP為1.75 s。再以VGG-19 為基礎(chǔ),構(gòu)造圖像特征矩陣,比較LSH 算法及暴力匹配降維后的耗時(shí),在City centre all 中,LSH 算法匹配耗時(shí)0.87 s,暴力匹配耗時(shí)2.65 s;在New college all 中,LSH 算法匹配耗時(shí)0.84 s,暴力匹配耗時(shí)2.52 s。
可見(jiàn),LSH 算法的加入,會(huì)使檢測(cè)回環(huán)的時(shí)間性能明顯提升。
深度學(xué)習(xí)方法相比傳統(tǒng)方法具有明顯優(yōu)勢(shì),在SLAM 領(lǐng)域中有較大的應(yīng)用前景。目前,深度學(xué)習(xí)在視覺(jué)SLAM 系統(tǒng)中的應(yīng)用尚處于初級(jí)階段。合理利用深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò),能在計(jì)算機(jī)視覺(jué)領(lǐng)域中獲得優(yōu)良的效果。將LSH 算法與卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合而建立的視覺(jué)SLAM 回環(huán)檢測(cè)算法,可有效減少天氣、光照等變化的影響,提升檢測(cè)的準(zhǔn)確率,提高時(shí)間性能,滿(mǎn)足系統(tǒng)的實(shí)時(shí)性要求。