張正陽(yáng)
(西安市鐵一中學(xué),陜西西安,710000)
在上世紀(jì)20年代,機(jī)器人”robot”首次被提出來(lái),幾十年來(lái),人工智能也在飛速發(fā)展[1]。在這幾年,計(jì)算機(jī)領(lǐng)域中的人工智能越來(lái)越引起了人們的注意,而其中最具有熱度的便是機(jī)器人,它能夠代替人類完成許多繁瑣的工作。由于當(dāng)今勞動(dòng)力成本快速上升,機(jī)器人的這一特點(diǎn)更加顯示出它的重要性。例如在一些空巢家庭,老年人行動(dòng)不便,需要在幫助下才能及時(shí)的完成一些繁瑣的家務(wù)活動(dòng);在一些醫(yī)院中,護(hù)工的費(fèi)用越來(lái)越高,而他們完成的也只是一些技術(shù)含量不高而比較繁瑣的低成本工作。服務(wù)型機(jī)器人便由此而生。屬于服務(wù)型機(jī)器人領(lǐng)域的家庭服務(wù)機(jī)器人,主要的功能即幫助人們完成一些簡(jiǎn)單的服務(wù)類工作。而基于深度學(xué)習(xí)的場(chǎng)景識(shí)別系統(tǒng)則相當(dāng)于機(jī)器人的眼睛。
機(jī)器人領(lǐng)域中,如何使機(jī)器人識(shí)別所處環(huán)境是一個(gè)重要問(wèn)題,經(jīng)過(guò)實(shí)踐表明,傳統(tǒng)的識(shí)別系統(tǒng)有著內(nèi)存大,在環(huán)境變化或者光照變化等情況下無(wú)法識(shí)別的缺點(diǎn)[2],而基于深度學(xué)習(xí)的識(shí)別系統(tǒng)可以有效的消除這些缺點(diǎn)。本文在學(xué)習(xí)和借鑒現(xiàn)有的技術(shù)基礎(chǔ)之上,提出了一套基于深度學(xué)習(xí)的視覺(jué)識(shí)別方法,在回環(huán)檢測(cè)的部分使用基于深度學(xué)習(xí)的場(chǎng)景識(shí)別系統(tǒng),拋棄傳統(tǒng)的詞袋法而建立的機(jī)器人場(chǎng)景識(shí)別系統(tǒng)。在設(shè)計(jì)原理的基礎(chǔ)上詳細(xì)分析了具體的實(shí)現(xiàn)途徑和技術(shù)路線。并且對(duì)結(jié)果進(jìn)行了功能試驗(yàn),肯定了此原理的可行性與正確性。
當(dāng)機(jī)器人在某個(gè)陌生環(huán)境中的陌生場(chǎng)景中完成任務(wù)時(shí),如何使機(jī)器人識(shí)別其所在的工作環(huán)境場(chǎng)景是機(jī)器人以及計(jì)算機(jī)視覺(jué)領(lǐng)域的重要研究課題[3]。識(shí)別自身的工作環(huán)境對(duì)于機(jī)器人進(jìn)行下一步工作任務(wù)的執(zhí)行有著重要意義。機(jī)器人的場(chǎng)景識(shí)別問(wèn)題不同于簡(jiǎn)單的圖像分類,其不同工作場(chǎng)景圖像的內(nèi)部元素種類繁多,即使是同類場(chǎng)景,在不同時(shí)間,不同外界影響因素下其內(nèi)部元素往往也存在著較大差別。因此場(chǎng)景識(shí)別問(wèn)題會(huì)十分復(fù)雜,而場(chǎng)景識(shí)別的關(guān)鍵則在于如何找出一種能完全表示同一類場(chǎng)景中的結(jié)構(gòu)信息和語(yǔ)義信息的特征。
基于深度學(xué)習(xí)的SLAM場(chǎng)景識(shí)別系統(tǒng)主要分為前端對(duì)局部描述符的構(gòu)建和后端對(duì)于所構(gòu)建地圖的優(yōu)化與回環(huán)檢測(cè),對(duì)于SLAM前端工作的改進(jìn)包括使用基于深度學(xué)習(xí)的局部描述符相機(jī)位姿直接進(jìn)行計(jì)算和對(duì)目標(biāo)加速特征點(diǎn)的匹配總而言之,SLAM前端主要提供了特征點(diǎn)的提取、負(fù)責(zé)相機(jī)位姿的計(jì)算和局部地圖的構(gòu)建。但僅僅通過(guò)這些并不能精準(zhǔn)的實(shí)現(xiàn)機(jī)器人的自動(dòng)建圖和定位,這些數(shù)據(jù)中含有大量的“噪聲”,導(dǎo)致計(jì)算的結(jié)果會(huì)有一定的誤差,并且這些誤差會(huì)不可避免的積累到下一個(gè)環(huán)節(jié),導(dǎo)致最終結(jié)果隨著時(shí)間的積累誤差越來(lái)越大,地圖和行走軌跡不吻合,并且發(fā)生極大的變化,因此無(wú)法保證其與現(xiàn)實(shí)情況一致。于此,SLAM后端則是對(duì)數(shù)據(jù)的優(yōu)化。SLAM后端分為兩個(gè)部分:后端優(yōu)化和回環(huán)檢測(cè)。本章主要介紹回環(huán)檢測(cè)在SLAM系統(tǒng)中的作用管理。
回環(huán)檢測(cè)則為解決減小機(jī)器人在SLAM前端工作時(shí)所積累的誤差問(wèn)題提供了很好的思路方法[4]。不妨以我們?nèi)祟愒谝粋€(gè)陌生環(huán)境中如何建立周圍的環(huán)境地圖為例,人的位置不斷發(fā)生改變,從而在腦海中積累了大量圖像,形成一個(gè)由這些圖像累計(jì)而成的一個(gè)地圖,但長(zhǎng)時(shí)間過(guò)后,這些圖像中的部分微小誤差經(jīng)過(guò)累計(jì)導(dǎo)致結(jié)果與實(shí)際情況產(chǎn)生較大的差異,對(duì)于這個(gè)情況人類也無(wú)法分辨自身在此刻朝向哪個(gè)方向,與最初起點(diǎn)的相對(duì)位置如何。假如在此刻人恰好回到了之前某個(gè)時(shí)刻經(jīng)過(guò)的位置(設(shè)這個(gè)人對(duì)環(huán)境比較敏感),他便能夠意識(shí)到這個(gè)事實(shí),并在此基礎(chǔ)上修正此前對(duì)環(huán)境判斷造成的誤差。此時(shí)便如同于檢測(cè)到了一個(gè)回環(huán)。我們知道人是通過(guò)將眼前的圖像與腦海中殘存的圖像進(jìn)行對(duì)比,從而意識(shí)到自己所處的這個(gè)回環(huán)。同理,在SLAM中也是通過(guò)對(duì)比當(dāng)前圖像與之前關(guān)鍵圖像的相似度,當(dāng)這個(gè)相似度到達(dá)某一設(shè)定值后就可以判斷出此時(shí)機(jī)器人檢測(cè)到了回環(huán)。
為此,回環(huán)檢測(cè)的重點(diǎn)在于場(chǎng)景識(shí)別,正確的回環(huán)檢測(cè)為機(jī)器人的定位與建圖提供了保障,尤其是在機(jī)器人長(zhǎng)時(shí)間的工作之后,累積了大量的誤差,此時(shí)系統(tǒng)就可以通過(guò)回環(huán)檢測(cè)不斷修正自己的軌跡和地圖[5]。又因?yàn)榛丨h(huán)檢測(cè)將歷史與實(shí)時(shí)的數(shù)據(jù)進(jìn)行對(duì)比和聯(lián)系,所以當(dāng)系統(tǒng)丟失的時(shí)候也可以通過(guò)回環(huán)檢測(cè)來(lái)進(jìn)行重合。
如圖1,左圖中由于機(jī)器人SLAM前端提取的特征點(diǎn)中誤差的長(zhǎng)時(shí)間積累導(dǎo)致了機(jī)器人對(duì)定位與建圖的估計(jì)不再準(zhǔn)確,因此便有了對(duì)誤差進(jìn)行回環(huán)檢測(cè)和全局校正的需求,右圖即是通過(guò)回環(huán)檢測(cè)校正后的圖像,將產(chǎn)生誤差的地圖進(jìn)行修正使之與行進(jìn)軌跡重合后的結(jié)果。
圖1 回環(huán)檢測(cè)修正地圖,左圖為修正前,右圖為修正后
回環(huán)檢測(cè)的本質(zhì)就是機(jī)器人對(duì)于自己所在位置的場(chǎng)景識(shí)別,對(duì)于人類來(lái)說(shuō)場(chǎng)景識(shí)別的過(guò)程很自然,然而這個(gè)問(wèn)題對(duì)于機(jī)器人來(lái)說(shuō)卻十分有挑戰(zhàn)性—讓機(jī)器判斷自己所在位置是否是自己先前經(jīng)歷過(guò)的場(chǎng)景。為了解決這個(gè)問(wèn)題,場(chǎng)景識(shí)別需要具備以下兩個(gè)能力:
(1)含有與輸入數(shù)據(jù)進(jìn)行對(duì)比的數(shù)據(jù)集,此數(shù)據(jù)集可以是關(guān)鍵幀或者一些特征點(diǎn)的集合,并且該數(shù)據(jù)集需要不斷更新以保持其實(shí)時(shí)性。
(2)擁有能夠計(jì)算輸入數(shù)據(jù)與數(shù)據(jù)集間相似度的評(píng)分機(jī)制。
擁有這兩個(gè)功能,便能進(jìn)一步改善傳統(tǒng)場(chǎng)景識(shí)別BOW模型的無(wú)法識(shí)別光照等環(huán)境變化的缺點(diǎn)。
神經(jīng)網(wǎng)絡(luò)需要經(jīng)過(guò)一個(gè)訓(xùn)練,例如我們?cè)谑覂?nèi)隨機(jī)挑選了相似圖片,提取其中的相似點(diǎn)與不相似點(diǎn)。利用AlexNet以及將relu作為CNN網(wǎng)絡(luò)的激活函數(shù),用CUDA來(lái)加速深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,再通過(guò)GPU強(qiáng)大的并行計(jì)算能力,接下來(lái)經(jīng)過(guò)卷積神經(jīng)網(wǎng)絡(luò)權(quán)值共享,采用Max pooling將圖像縮小,(Max polling也可以將圖像降維),隨后經(jīng)過(guò)多次卷積和Max pooling,通過(guò)全連接提取圖像特征。在訓(xùn)練時(shí),采用三個(gè)相同的Alexnet網(wǎng)絡(luò)提取圖像特征,比較特征之間的距離,通過(guò)triplet loss縮小相似特征之間的距離,然后使其小于不相似特征間的距離。
如圖2,x指一個(gè)圖像特征,x+的圖像特征與該圖像特征比較相似,特征點(diǎn)之間的距離較小,相反x-的圖像特征與該圖像特征之間距離較大,輸入的圖像各自經(jīng)過(guò)共享權(quán)值的相同網(wǎng)絡(luò),利用公式(1)計(jì)算出特征之間的距離,經(jīng)過(guò)tripletloss縮小x+與x之間的距離使之小于x-與x之間的距離,以此達(dá)到識(shí)別出相似場(chǎng)景的效果。
圖2 三重網(wǎng)絡(luò)結(jié)構(gòu)
所謂場(chǎng)景識(shí)別系統(tǒng),即將高維空間的圖像映射成一個(gè)維度較低的空間中的描述符,映射過(guò)程中我們需要低維度的描述符可以保持圖像之間的相似關(guān)系。因此我們采用triplet形式的損失函數(shù)來(lái)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。我們?yōu)樘崛〉降臉颖咎卣鬟x取鄰近的同類樣本特征和鄰近的異類樣本特征,以此來(lái)構(gòu)建一個(gè)三元組,對(duì)于N個(gè)訓(xùn)練樣本,可以隨機(jī)產(chǎn)生大量的三元組,本文涉及到的基于三元組約束的距離度量學(xué)習(xí)模型(point to point Relative Distance Constrained Metric Learning,RDCML)要求同類樣本特征的距離和異類樣本特征的距離被一個(gè)大的間隔分開(kāi)?;谏鲜龅拿枋觯覀兊膿p失函數(shù)為公式(2),其中α為正負(fù)樣本之間的間隔,即正樣本之間的距離至少要小于負(fù)樣本的距離α以上。在訓(xùn)練過(guò)程中α由人為指定,α越小網(wǎng)絡(luò)越容易收斂,然而效果會(huì)比較差,α越大網(wǎng)絡(luò)越難收斂會(huì)導(dǎo)致訓(xùn)練時(shí)間變長(zhǎng)甚至不收斂,但是效果會(huì)比較好,因此我們需要在訓(xùn)練過(guò)程中對(duì)訓(xùn)練時(shí)間和精度進(jìn)行權(quán)衡。
如圖3表示了點(diǎn)與點(diǎn)之間三元組約束的意義,對(duì)于一個(gè)三元組,黃色與藍(lán)色兩個(gè)樣本之間的異類距離d和黃色與黃色兩個(gè)同類樣本之間的同類距離要被一個(gè)大的間隔分散開(kāi),從而使同類樣本之間的距離小于異類樣本之間。
圖3 點(diǎn)與點(diǎn)之間的三元組約束示意圖
機(jī)器人視覺(jué)領(lǐng)域研究問(wèn)題的主要目的是讓機(jī)器人擁有眼睛一樣的功能,而場(chǎng)景識(shí)別也正是是視覺(jué)領(lǐng)域一個(gè)重要的研究課題,它能夠有效的幫助機(jī)器人進(jìn)行自主定位與構(gòu)建所在環(huán)境的地圖,對(duì)接下來(lái)的工作具有重要意義。然而現(xiàn)有的傳統(tǒng)場(chǎng)景識(shí)別系統(tǒng)存在著空間大并且無(wú)法識(shí)別光照等環(huán)境變化的缺點(diǎn),效率也較低,造成了研究者時(shí)間和精力的浪費(fèi)?;诖耍疚膶⒛軌蚴箼C(jī)器人自動(dòng)提取圖像特征的深度學(xué)習(xí)應(yīng)用到場(chǎng)景識(shí)別中。
在本文的場(chǎng)景識(shí)別系統(tǒng)中,主要包含了以下幾個(gè)部分:采用回環(huán)檢測(cè)的方法修正SLAM前端采集的數(shù)據(jù)的誤差因時(shí)間積累而產(chǎn)生的偏差,因?yàn)榛丨h(huán)檢測(cè)的關(guān)鍵步驟在于場(chǎng)景識(shí)別,本文摒棄了場(chǎng)景識(shí)別傳統(tǒng)的BOW模型,以人對(duì)場(chǎng)景識(shí)別的原理為出發(fā)點(diǎn),為機(jī)器人賦予了建立數(shù)據(jù)集與計(jì)算輸入數(shù)據(jù)與數(shù)據(jù)集間相似度的評(píng)分機(jī)制兩個(gè)功能,這兩個(gè)功能可以有效改善傳統(tǒng)的BOW模型。在回環(huán)檢測(cè)中闡述說(shuō)明了基于三元組約束的距離度量學(xué)習(xí)模型,該模型需要將采集的樣本中同類樣本的距離與異類樣本特征之間的距離用一個(gè)很大的間隔隔開(kāi)。
本文的識(shí)別方法對(duì)于機(jī)器人在實(shí)際情況中進(jìn)行場(chǎng)景識(shí)別時(shí)可能會(huì)出現(xiàn)識(shí)別出錯(cuò)的情況,為了進(jìn)一步提高機(jī)器人對(duì)于場(chǎng)景的識(shí)別準(zhǔn)確率,可以從多個(gè)方向與角度拍攝圖像對(duì)場(chǎng)景進(jìn)行識(shí)別,然后將多次識(shí)別出的結(jié)果進(jìn)行整理。本文仍需大量實(shí)驗(yàn)來(lái)提高識(shí)別的準(zhǔn)確率。
本次研究提出了基于深度學(xué)習(xí)的場(chǎng)景識(shí)別方法,避免因光照等環(huán)境變化而無(wú)法準(zhǔn)確進(jìn)行場(chǎng)景識(shí)別的問(wèn)題。但只進(jìn)行了思考與對(duì)模型的設(shè)計(jì),缺乏利用實(shí)際情況來(lái)進(jìn)行檢驗(yàn)與驗(yàn)證。未來(lái)可結(jié)合實(shí)際實(shí)驗(yàn)的結(jié)果對(duì)設(shè)計(jì)進(jìn)行再一次突破并向其中添加優(yōu)化策略。