多智能體協(xié)同視覺SLAM技術(shù)研究進(jìn)展
點(diǎn)擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時間送達(dá)
本文轉(zhuǎn)自|新機(jī)器視覺
本文引用格式:王 璐,楊功流,蔡慶中,等.基多智能體協(xié)同視覺SLAM技術(shù)研究進(jìn)展[J].導(dǎo)航定位與授時,2020, 7(3):84-92.

王 璐,楊功流,蔡慶中,陳 威,閆旭亮
(北京航空航天大學(xué)儀器科學(xué)與光電工程學(xué)院,
北京 100191)
摘 要:多智能體的協(xié)同視覺SLAM系統(tǒng)在地面機(jī)器人或空中飛行器梯隊(duì)中應(yīng)用得越來越廣泛。由于不同的智能體之間會交換或共享信息,協(xié)同視覺SLAM系統(tǒng)不同于應(yīng)用在單個智能體上的典型的視覺SLAM系統(tǒng),具有更好的魯棒性、準(zhǔn)確性和高效性。闡述了多智能體協(xié)同視覺SLAM的發(fā)展歷史和現(xiàn)有的研究方法,描述了協(xié)同視覺SLAM系統(tǒng)實(shí)現(xiàn)所涉及的關(guān)鍵技術(shù),包括協(xié)同姿態(tài)估計(jì)和地圖構(gòu)建,以及新興的分布式架構(gòu)。此外,對多智能體協(xié)同視覺SLAM技術(shù)的發(fā)展趨勢進(jìn)行了展望。
關(guān)鍵詞:多智能體;協(xié)同;視覺SLAM;地圖構(gòu)建

0 引言
多智能體協(xié)同視覺即時定位與地圖構(gòu)建(Simultaneous Localization and Mapping,SLAM)指搭載一個或多個相機(jī)等視覺傳感器的運(yùn)動主體,通過對環(huán)境信息的感知估計(jì)出自身位姿的變化并重建未知環(huán)境的三維地圖,對自身位姿變化的估計(jì)以及三維地圖的重建對增強(qiáng)現(xiàn)實(shí)和機(jī)器人的自主導(dǎo)航都至關(guān)重要。近年來,視覺SLAM技術(shù)日漸成為計(jì)算機(jī)視覺、機(jī)器人、深度學(xué)習(xí)、增強(qiáng)現(xiàn)實(shí)等領(lǐng)域的研究熱點(diǎn),與使用激光雷達(dá)等傳感器的傳統(tǒng)SLAM技術(shù)相比,視覺SLAM技術(shù)使用的相機(jī)具有輕量化、低成本并且包含豐富視覺信息的特點(diǎn),因此適用于有成本限制、載荷有限的平臺。
經(jīng)過十余年的迅速發(fā)展,視覺SLAM技術(shù)已經(jīng)成功地應(yīng)用于很多商業(yè)產(chǎn)品中,例如微軟的Hololens、Google的Project Tango,還有兩大手機(jī)操作系統(tǒng)Android和iOS也利用視覺SLAM技術(shù)為消費(fèi)者提供增強(qiáng)現(xiàn)實(shí)體驗(yàn)。另外,無人機(jī)上也使用了視覺SLAM技術(shù),例如DJI的四旋翼無人機(jī)的幾種型號——Mavic Air和Phantom 4,使得它們可以在全球定位系統(tǒng)(Global Positioning System,GPS)拒止環(huán)境下進(jìn)行可靠的導(dǎo)航。因此,視覺SLAM技術(shù)憑借其廉價的傳感器和巨大的感知潛力受到了越來越廣泛的關(guān)注。
目前,國內(nèi)外對視覺SLAM的研究形成了一些理論方法,但是對多智能體視覺SLAM研究的方法較少,這些智能體可能是無人機(jī)群或者使用不同AR設(shè)備的人。在這樣的環(huán)境下,每個智能體在獨(dú)立工作的同時,還要時刻關(guān)注其他智能體的運(yùn)動信息,這就要求不同智能體中的視覺SLAM系統(tǒng)相互協(xié)作、共享信息,從而為多個智能體同時解決定位和地圖構(gòu)建的問題。
1 多智能體協(xié)同視覺SLAM發(fā)展現(xiàn)狀
在SLAM技術(shù)研究初期,主要的關(guān)注點(diǎn)在于以激光雷達(dá)為主要傳感器的SLAM系統(tǒng)。隨著計(jì)算機(jī)能力和三維重建(Structure from Motion, SfM)技術(shù)的發(fā)展,相機(jī)以其成本低、質(zhì)量小、信息豐富等優(yōu)點(diǎn)逐漸成為解決SLAM問題的理想傳感器。隨著單目視覺SLAM技術(shù)的迅速發(fā)展和日益強(qiáng)大,是否可以將視覺SLAM技術(shù)應(yīng)用于多個相機(jī),特別是一組獨(dú)立運(yùn)動的相機(jī)在學(xué)術(shù)界引起廣泛關(guān)注。
多數(shù)協(xié)同視覺SLAM系統(tǒng)采用的是中心式架構(gòu),第一部分(智能體前端)利用視覺傳感器信息對智能體的實(shí)時狀態(tài)進(jìn)行計(jì)算;第二部分(服務(wù)器后端)利用前端結(jié)果,根據(jù)多視圖幾何理論,對地圖進(jìn)行融合、簡化和優(yōu)化,輸出位姿及三維地圖,后端算法主要通過濾波和非線性最小二乘優(yōu)化兩種方法來實(shí)現(xiàn)。此外,回環(huán)檢測(Loop Closure Detection)通過重復(fù)探測可以消除累積誤差,從而在視覺SLAM系統(tǒng)中構(gòu)成閉環(huán)。
2003年,第一個視覺SLAM系統(tǒng)問世,該系統(tǒng)主要是基于擴(kuò)展卡爾曼濾波(Extend Kalman Filter,EKF)算法,利用從圖像上提取的特征點(diǎn)實(shí)現(xiàn)對運(yùn)動主體狀態(tài)的估計(jì)和三維地圖的構(gòu)建。Georg Klein等采用了優(yōu)化的方法,提出了基于加速分割檢測(Features from Accelerated Segment Test,F(xiàn)AST)特征的并行跟蹤和建圖(Parallel Tracking and Mapping,PTAM)。作為PTAM的擴(kuò)展,并行跟蹤與多重映射(Parallel Tracking and Multiple Mapping,PTAMM)將單目視覺SLAM擴(kuò)展到了2個獨(dú)立移動的相機(jī)上,一個相機(jī)放在肩上,另一個在手上,二者同時運(yùn)行,將關(guān)鍵幀發(fā)送到同一個地圖發(fā)生器,從而優(yōu)化了運(yùn)動主體的位姿和特征點(diǎn)的3D坐標(biāo),同時,系統(tǒng)還存儲了再臨同一位置時使用的局部地圖。
CoSLAM是一種應(yīng)用于一組獨(dú)立運(yùn)動相機(jī)的協(xié)同視覺SLAM。該系統(tǒng)支持12個獨(dú)立運(yùn)動的相機(jī)并把其分為不同的組,同一組中的相機(jī)需要具有共同的視域,通過采用相機(jī)間特征匹配、姿態(tài)估計(jì)和地圖構(gòu)建的方式,實(shí)現(xiàn)同一組內(nèi)相機(jī)之間的協(xié)同。該系統(tǒng)通過不同視域中的特征點(diǎn)匹配來三角化3D運(yùn)動點(diǎn),實(shí)現(xiàn)相機(jī)間的建圖,從而估計(jì)出運(yùn)動特征點(diǎn)的3D軌跡。
由于CoSLAM中所有的圖像信息需要進(jìn)行實(shí)時的發(fā)送,因此通信負(fù)載會隨著相機(jī)數(shù)量的增加而增大。為了降低通信負(fù)載,C2TAM中的智能體都配備相機(jī)并把提取的關(guān)鍵幀圖像信息發(fā)送到云端;云端利用這些關(guān)鍵幀圖像信息構(gòu)建每個智能體所在的3D局部地圖,并在識別出相同位置時將這些地圖信息進(jìn)行融合;最后利用光束平差法對構(gòu)建好的地圖進(jìn)行優(yōu)化。
為了進(jìn)一步降低通信負(fù)載,CSfM中每個智能體獨(dú)立運(yùn)行單目視覺里程計(jì),其發(fā)送的關(guān)鍵幀數(shù)據(jù)不僅包含關(guān)鍵幀圖像上的特征點(diǎn),而且還有這些關(guān)鍵幀之間的相對姿態(tài)。服務(wù)器接收到關(guān)鍵幀數(shù)據(jù)后為每個智能體構(gòu)建3D局部地圖,為了獲得局部地圖中新到達(dá)的關(guān)鍵幀的絕對姿態(tài),CSfM通過比較車載和服務(wù)器上計(jì)算的關(guān)鍵幀姿態(tài)之間的相對差異,從車載視覺SLAM系統(tǒng)中估計(jì)地圖的未知比例因子。
在CCM-SLAM中,每個智能體只運(yùn)行具有有限關(guān)鍵幀數(shù)的視覺里程計(jì),智能體將檢測到的關(guān)鍵幀信息發(fā)送到服務(wù)器;服務(wù)器根據(jù)這些信息進(jìn)行局部地圖的構(gòu)建,并通過位置識別的方法將局部地圖信息進(jìn)行融合;姿態(tài)估計(jì)和光束平差在服務(wù)器中被應(yīng)用于對地圖的細(xì)化。
為了獲得更好的魯棒性和準(zhǔn)確性,可以將慣性測量單元(Inertial Measurement Unit,IMU)與相機(jī)等視覺傳感器進(jìn)行組合,使得兩類傳感器進(jìn)行互補(bǔ)。IMU輔助的視覺SLAM系統(tǒng)通常被稱為視覺慣性導(dǎo)航系統(tǒng),MOARSLAM就在智能體中采用了單目視覺慣性SLAM的框架。多智能體協(xié)同視覺SLAM方案對比如表1所示。
表1 多智能體協(xié)同視覺SLAM方案對比
Tab.1 Comparison of collaborative visual SLAM for multiple agents methods

目前,雖然大多數(shù)視覺SLAM算法都集中在單個平臺上的應(yīng)用,但是隨著無人機(jī)、機(jī)器人、多用戶設(shè)備等多智能體應(yīng)用的發(fā)展,尤其是5G移動網(wǎng)絡(luò)的出現(xiàn),越來越多的科研人員將投入到多智能體協(xié)同視覺SLAM技術(shù)的研究當(dāng)中。
2 多智能體協(xié)同視覺SLAM的關(guān)鍵技術(shù)
多智能體就是由多個相互作用的單智能體構(gòu)成的系統(tǒng),每個智能體都是多智能體系統(tǒng)的重要組成部分。在多智能體協(xié)同視覺SLAM系統(tǒng)中,智能體之間相互通信,相互協(xié)調(diào),并行地求解問題,不僅可以有效地利用空間分布的信息資源,提高問題求解效率;而且系統(tǒng)中單個智能體的損壞一般不會影響到其他個體的運(yùn)行,與單智能體相比具有更好的容錯性和抗干擾性。
然而,多智能體協(xié)同視覺SLAM的研究還存在諸多技術(shù)挑戰(zhàn),相對于對單智能體的控制,多智能體之間交換的信息量會增加,大量的計(jì)算與通信會擁塞有限的通信信道,造成延遲;而有限的通信資源在智能體成員之間如何分配也是多智能體協(xié)同視覺SLAM系統(tǒng)需要解決的一個重要問題。智能體在運(yùn)動過程中,重復(fù)經(jīng)過某場景時,該場景能否被其他智能體快速匹配也會對匹配正確率與位姿精度產(chǎn)生影響。
與經(jīng)典單目視覺SLAM相似,多智能體協(xié)同視覺SLAM也可以大致分為位姿跟蹤和地圖構(gòu)建兩部分。然而不同的是,多智能體協(xié)同視覺SLAM主要是對來自不同智能體的信息的處理,下面對其關(guān)鍵技術(shù)進(jìn)行討論。
2.1 視覺前端
視覺前端是多智能體協(xié)同視覺SLAM中不可缺少的一部分,一般分為直接法和特征點(diǎn)法。直接法不需要進(jìn)行特征提取而是直接對像素進(jìn)行操作,近年來,因其在精度和效率上的優(yōu)勢而受到廣泛關(guān)注。雖然在單個智能體上使用直接法會收到很好的效果,但是很難直接匹配不同智能體上的相機(jī)之間的像素以建立對應(yīng)關(guān)系。
2.1.1 特征檢測與匹配
特征點(diǎn)的檢測和匹配是特征點(diǎn)法中的關(guān)鍵一步,特征點(diǎn)由關(guān)鍵點(diǎn)和描述子組成。關(guān)鍵點(diǎn)的檢測算法有很多種,其中,F(xiàn)AST角點(diǎn)是早期視覺SLAM中最常用的關(guān)鍵點(diǎn)檢測算法之一,在提取出關(guān)鍵點(diǎn)后對其描述子進(jìn)行計(jì)算,通過描述子的匹配來完成特征匹配。為了在不同的視角之間匹配相應(yīng)的特征點(diǎn),需要使用對大視角變化魯棒的描述子。其中,ORB描述子是BRIEF描述子的一個擴(kuò)展,具有旋轉(zhuǎn)不變性和對大視角變化的魯棒性,對位姿估計(jì)、地圖構(gòu)建和環(huán)路檢測來說具有較高的可靠性;SURF描述子因具有較高的效率也得到了廣泛的應(yīng)用。
引導(dǎo)搜索是一種提高特征匹配效率的方法,通過計(jì)算由當(dāng)前狀態(tài)變量預(yù)測的路標(biāo)的可能位置范圍來降低匹配時的計(jì)算量。這一思想自早期的視覺SLAM系統(tǒng)以來就一直被采用,尤其是一些基于濾波器的視覺SLAM系統(tǒng)中,這一范圍通常由預(yù)測不確定性或投影協(xié)方差矩陣決定;而在基于關(guān)鍵幀的系統(tǒng)中,這一范圍為極線。在PTAM和ORB-SLAM中,執(zhí)行極線搜索以在不同關(guān)鍵幀之間進(jìn)行三角化而得到新點(diǎn)。在CoSLAM中,對不同的相機(jī)應(yīng)用極線搜索來生成新的地圖點(diǎn)。
2.1.2 外點(diǎn)剔除
匹配過程中會產(chǎn)生外點(diǎn),通常有兩類,第一類主要是由錯誤的特征匹配引起的;而第二類則來自環(huán)境中的運(yùn)動特征點(diǎn),如果把運(yùn)動特征點(diǎn)作為靜態(tài)點(diǎn)來處理,就會導(dǎo)致位姿估計(jì)的不一致。
外點(diǎn)剔除一般通過隨機(jī)抽樣一致(Random Sample Consensus, RANSAC)算法或者魯棒估計(jì)來實(shí)現(xiàn)。其中RANSAC算法通過隨機(jī)抽取最小的2D-3D對應(yīng)點(diǎn)集,采用PnP算法計(jì)算運(yùn)動主體的位姿,并用當(dāng)前的位姿估計(jì)值檢驗(yàn)剩余對應(yīng)點(diǎn)的一致性,將對應(yīng)點(diǎn)一致性最好的一組位姿估計(jì)結(jié)果作為最優(yōu)解,而不一致的對應(yīng)點(diǎn)則作為外點(diǎn)被剔除。該算法的優(yōu)點(diǎn)是魯棒性好,但是計(jì)算量大。
魯棒估計(jì)通過對現(xiàn)有非線性最小二乘優(yōu)化中的殘差函數(shù)稍作修改來實(shí)現(xiàn),相比于RANSAC算法,魯棒估計(jì)計(jì)算量小,但是當(dāng)外點(diǎn)數(shù)量較大時,其魯棒性會變差。因此,為了在不影響系統(tǒng)魯棒性的前提下減小計(jì)算量,可以采用將RANSAC算法和魯棒估計(jì)相結(jié)合的方法。
2.2 協(xié)同位姿的估計(jì)
對六自由度位姿的實(shí)時估計(jì)是多智能體協(xié)同視覺SLAM的一項(xiàng)基本任務(wù),相機(jī)位姿估計(jì)可以通過融合來自多個相機(jī)的信息來實(shí)現(xiàn),主要有基于濾波的(filter-based)和基于優(yōu)化的(optimization-based)兩種不同方法。
在基于濾波的方法中,目前有基于EKF和基于粒子濾波的方法。在基于EKF的多智能體協(xié)同視覺SLAM中,未知變量通過擴(kuò)展卡爾曼濾波器進(jìn)行估計(jì),通常把運(yùn)動主體的自身運(yùn)動參數(shù)和路標(biāo)的三維坐標(biāo)選為狀態(tài)變量,通過EKF的迭代解決位姿估計(jì)和路標(biāo)三維坐標(biāo)的更新問題。由此可見,該方法的效率隨著路標(biāo)數(shù)量的增多而降低,因此,在實(shí)際的應(yīng)用中,為了保證系統(tǒng)的實(shí)時性,路標(biāo)的數(shù)量應(yīng)該被限制在一定的范圍內(nèi)。其中,一種降低計(jì)算量的方法是從狀態(tài)變量中移除路標(biāo),但是保留運(yùn)動主體在當(dāng)前時刻和過去時刻的位姿,使得觀測模型只依賴于運(yùn)動主體的位姿,這種方法被稱為多狀態(tài)約束卡爾曼濾波(Multi-State Constraint Kalman Filter,MSCKF),是設(shè)計(jì)視覺慣性里程計(jì)的主要方法。
在基于優(yōu)化的方法中,則主要是基于關(guān)鍵幀優(yōu)化的方法。關(guān)鍵幀是一種數(shù)據(jù)結(jié)構(gòu),通常存儲圖像上檢測到的特征點(diǎn)及其對應(yīng)的3D點(diǎn),使用最近的關(guān)鍵幀中得到的3D點(diǎn),及其在當(dāng)前圖像中匹配的特征點(diǎn),能夠通過3D-2D對準(zhǔn)的方式,如PnP算法或者非線性最小二乘優(yōu)化來求解當(dāng)前姿態(tài)。通過對匹配特征點(diǎn)的三角化,在幀間進(jìn)行地圖構(gòu)建,再利用光束平差法對關(guān)鍵幀位姿和三維地圖進(jìn)行優(yōu)化。為了使視覺SLAM具有較高的效率,一般將姿態(tài)計(jì)算與地圖構(gòu)建任務(wù)交替求解,也就是說,姿態(tài)估計(jì)是在地圖構(gòu)建的基礎(chǔ)上完成的,反之亦然。
2.3 協(xié)同地圖的構(gòu)建
關(guān)鍵幀是多智能體協(xié)同視覺SLAM中表示地圖的最佳方法,它可以緊湊地存儲和地圖相關(guān)的任務(wù)(如地圖融合和優(yōu)化)所需的必要信息,包括特征點(diǎn)坐標(biāo)及其描述子、特征點(diǎn)三維坐標(biāo)、關(guān)鍵幀的相機(jī)位姿及其拓?fù)潢P(guān)系(通常稱為位姿圖)等。
構(gòu)建地圖的核心工作是對特征點(diǎn)進(jìn)行三角化,從而得到新的3D點(diǎn)。在多智能體協(xié)同視覺SLAM中,地圖構(gòu)建可以進(jìn)一步分為相機(jī)內(nèi)地圖構(gòu)建和相機(jī)間地圖構(gòu)建。其中前者與單目視覺SLAM中的建圖類似,僅使用同一個相機(jī)的圖像;后者在使用不同相機(jī)的圖像構(gòu)建地圖時,首先要確定相機(jī)視野是否相同,然后再利用特征匹配建立不同相機(jī)之間的點(diǎn)對應(yīng)關(guān)系。
2.4 回環(huán)檢測
回環(huán)檢測是視覺SLAM系統(tǒng)中的一個重要組成部分,在多智能體協(xié)同視覺SLAM中,有兩種回環(huán)檢測的方式:相機(jī)內(nèi)閉環(huán)和相機(jī)間閉環(huán)。其中前者通過檢測單個相機(jī)曾經(jīng)到達(dá)過的場景,減小漂移誤差;后者通過檢測多個獨(dú)立地圖之間的重疊區(qū)域,進(jìn)行地圖融合。它們在實(shí)現(xiàn)時有著相同的步驟,即位置識別和位姿圖優(yōu)化,從而優(yōu)化關(guān)鍵幀的位姿和特征點(diǎn)的3D坐標(biāo)。
2.4.1 位置識別與相對位姿的計(jì)算
位置識別(Place recognition)用來識別曾經(jīng)到達(dá)過的場景,是閉環(huán)或地圖融合的基礎(chǔ),一般通過下采樣圖像等作為全局描述子來檢測2幅圖像是否匹配。在小場景中,使用存儲的關(guān)鍵幀的小圖像即可完成任務(wù);當(dāng)場景變大時,為確保系統(tǒng)的實(shí)時性,通常使用詞袋技術(shù)進(jìn)行位置識別,如DBoW2等。DBoW2方法使用二進(jìn)制描述子(BRIEF或ORB)和FAST角點(diǎn)作為特征點(diǎn),具有很好的高效性和實(shí)時性,是目前單目視覺SLAM位置識別的主流方法。在多智能體協(xié)同視覺SLAM中,通常采用基于深層神經(jīng)網(wǎng)絡(luò)的方法來實(shí)現(xiàn)。
在完成位置識別后,為了進(jìn)一步優(yōu)化,需要獲取2幅圖像之間的相對位姿,目前,有2D-2D匹配、2D-3D匹配以及3D-3D匹配三種方法來實(shí)現(xiàn)相對位姿的計(jì)算。在基于2D-2D匹配的方法中,只需要用到相匹配特征點(diǎn)的2D坐標(biāo)信息,將平移向量的尺度作為未知變量,利用五點(diǎn)算法對本質(zhì)矩陣進(jìn)行估計(jì),利用RANSAC方法來處理異常值,再通過矩陣分解從基本矩陣中提取兩幀之間的相對位姿;在基于2D-3D匹配的方法中,使用PnP算法或非線性最小二乘優(yōu)化的方法,利用當(dāng)前幀中2D特征點(diǎn)與另一幀中3D特征點(diǎn)的匹配關(guān)系獲得相對位姿;而在基于3D-3D匹配的方法中,可以直接利用三維點(diǎn)云計(jì)算得到相對位姿,這一方法通常用于RGB-D SLAM和半稠密視覺SLAM系統(tǒng)。
2.4.2 位姿和場景三維坐標(biāo)的優(yōu)化
在完成位置識別后,一般使用光束平差法對運(yùn)動主體的位姿和場景3D結(jié)構(gòu)進(jìn)行優(yōu)化,光束平差法通過Gaussian-Newton迭代或Levenberg-Marquardt迭代對殘差進(jìn)行非線性最小二乘的求解,但是當(dāng)問題規(guī)模較大或初始值與真實(shí)值差距較大時,很容易得到局部極小值。因此,為了獲得更好的初始值,可以在使用光束平差法之前進(jìn)行位姿圖的優(yōu)化。
在位姿圖中,節(jié)點(diǎn)表示關(guān)鍵幀的相機(jī)位姿,邊表示不同位姿之間的約束關(guān)系,通常為剛性變換。將位置識別引入的新邊插入到位姿圖中,然后把新邊和舊邊的所有約束集合在一起,通過非線性最小二乘迭代求解,使得約束誤差平方和最小。事實(shí)證明,采用剛性變換作為位姿約束對旋轉(zhuǎn)和平移漂移的校正效果較好,但對尺度漂移的校正效果較差。因此,更好的方法是使用相似變換作為位姿約束。
位姿圖優(yōu)化中的一個重要問題是優(yōu)化過程中,可能存在一些錯誤的回環(huán)檢測,也就是將不同位置錯誤地識別為相同位置。這些錯誤大多是由于描述不完善或感知混淆造成的,從而導(dǎo)致了錯誤的相對位姿約束,如果處理不當(dāng)會對地圖構(gòu)建造成較大的影響。為了避免錯誤的發(fā)生,可以通過匹配幀之間相對變換的先驗(yàn)信息,或者一組回環(huán)檢測的一致性檢驗(yàn)結(jié)果來識別異常值。一致性檢驗(yàn)過程如圖1所示,紅線表示閉環(huán)測量值,黑色實(shí)線表示連續(xù)幀之間的相對變換。

圖1 a、b兩機(jī)器人對閉環(huán)測量的一致性檢驗(yàn)
Fig.1 Consistency test of closed-loop measurement
between robot a & b
經(jīng)過位姿圖優(yōu)化后,通過光束平差法進(jìn)一步優(yōu)化關(guān)鍵幀的相機(jī)位姿和點(diǎn)云三維坐標(biāo)。其中,光束平差問題可通過開源工具進(jìn)行求解,這一過程與單目視覺SLAM大致相同。一些系統(tǒng)使用視覺慣性SLAM作為前端,在這種情況下,光束平差的代價函數(shù)中還需要包含慣性測量值,為了避免重復(fù)積分和大量計(jì)算,慣性測量值可以通過預(yù)積分獲得。
2.5 系統(tǒng)初始化
目前,多智能體協(xié)同視覺SLAM有兩種初始化的方法,一種典型的初始化方法是對前2個關(guān)鍵幀之間的相對位姿使用五點(diǎn)算法,并對相應(yīng)的特征點(diǎn)進(jìn)行三角化,得到初始的3D點(diǎn),為每個智能體構(gòu)建獨(dú)立的初始化局部地圖,一旦通過位置識別發(fā)現(xiàn)局部地圖之間有重疊時,就將局部地圖進(jìn)行融合;第二種方法要求所有的相機(jī)能夠在場景中看到同一個地方,從不同相機(jī)捕獲的圖像中估計(jì)出運(yùn)動主體的相對位姿,由所有的智能體一起完成。
3 分布式架構(gòu)
現(xiàn)有的多智能體視覺SLAM多采用中心式架構(gòu),該架構(gòu)中包含能夠處理與地圖優(yōu)化有關(guān)的多種計(jì)算任務(wù)的服務(wù)器,例如:回環(huán)檢測、姿態(tài)優(yōu)化、光束平差等。但是當(dāng)服務(wù)器出現(xiàn)故障或通信受限時,這種中心式架構(gòu)是不可取的,因此對分布式架構(gòu)的研究成為一大熱點(diǎn)。
分布式架構(gòu)增加了單個智能體的功能,相應(yīng)智能體的軟硬件結(jié)構(gòu)更為復(fù)雜。但由于這種任務(wù)協(xié)調(diào)機(jī)制,使得系統(tǒng)的魯棒性更強(qiáng),幾乎不受單個智能體的約束,且可根據(jù)不同的條件需求擴(kuò)充或減少智能體的個數(shù),系統(tǒng)靈活可調(diào)。
分布式架構(gòu)一般有兩種:一種是每一個智能體都需要與其他智能體進(jìn)行信息交流,如圖2所示;另一種是每一個智能體只需要與其附近的智能體進(jìn)行信息交流,這種分布式架構(gòu)效率更高,如圖3所示。

圖2 一種普通的分布式架構(gòu)
Fig.2 A common kind of distributed architecture

圖3 一種效率更高的分布式結(jié)構(gòu)
Fig.3 A more efficient distributed architecture
DDF-SAM中的分布式架構(gòu)可以使機(jī)器人交換概要地圖。概要地圖是通過變量消除得到的且只包含環(huán)境特征信息,每個機(jī)器人利用其自身和相鄰機(jī)器人的概要地圖,以一種非線性約束最優(yōu)化的方式進(jìn)行鄰域地圖的構(gòu)建,直至鄰域地圖中包括所有機(jī)器人的概要地圖信息,從而得到全局地圖。為了避免循環(huán)更新的問題,DDF-SAM中采用了基于 RANSAC 算法的數(shù)據(jù)關(guān)聯(lián)方法。DDF-SAM2.0中引入了一種抗因子(Anti-factor),使得機(jī)器人在避免循環(huán)更新的同時,降低了計(jì)算復(fù)雜度。目前,DDF-SAM和DDF-SAM2.0中的分布式架構(gòu)已經(jīng)在二維平面場景中進(jìn)行了測試。
蘇黎世大學(xué)采用了一種新的分布式算法來解決位姿優(yōu)化的問題,其思想是在非線性最小二乘優(yōu)化的迭代過程中,不采用矩陣分解的直接求解方法,而是采用逐次超松弛(Successive Over-Relaxation,SOR)和雅可比超松弛(Jacobi Over-Relaxa-tion,JOR)等迭代方法求解正規(guī)方程,減少了數(shù)據(jù)傳輸量,推動了分布式架構(gòu)在多智能體協(xié)同視覺SLAM領(lǐng)域的發(fā)展。
分布式架構(gòu)因其獨(dú)特的任務(wù)協(xié)調(diào)機(jī)制,在車聯(lián)網(wǎng)應(yīng)用場景中,可以對道路環(huán)境等數(shù)據(jù)進(jìn)行全網(wǎng)實(shí)時更新,具有廣泛的應(yīng)用前景;在多機(jī)器人系統(tǒng)、編隊(duì)控制等應(yīng)用場景中,對提高系統(tǒng)魯棒性和智能性具有重要研究價值。與中心式架構(gòu)相比,將分布式架構(gòu)應(yīng)用到多智能體視覺SLAM系統(tǒng)中要復(fù)雜得多,主要的技術(shù)難點(diǎn)可以歸結(jié)如下2個方面:
1)分布式架構(gòu)需要將計(jì)算任務(wù)分配給每一個具有有限計(jì)算能力的智能體,并設(shè)計(jì)相應(yīng)的分布式算法來完成計(jì)算任務(wù);另外,由于不同的智能體之間交換的信息量不完全相同,所以在設(shè)計(jì)分布式算法時需要考慮通信負(fù)載和帶寬限制。
2)分布式架構(gòu)需要考慮不同智能體之間數(shù)據(jù)的同步和一致性,這個問題隨著智能體數(shù)量的增加而變得更加復(fù)雜。
4 總結(jié)與展望
隨著計(jì)算機(jī)和人工智能等技術(shù)的發(fā)展,多智能體協(xié)同視覺SLAM得到了廣泛的關(guān)注。通過實(shí)現(xiàn)運(yùn)動主體的實(shí)時精確定位和地圖構(gòu)建,多智能體協(xié)同視覺SLAM對機(jī)器人領(lǐng)域和增強(qiáng)現(xiàn)實(shí)領(lǐng)域產(chǎn)生了積極的影響。目前,國內(nèi)外對多智能體協(xié)同視覺SLAM的研究已經(jīng)取得了很大進(jìn)展,但是仍有一些問題需要解決,例如:如何設(shè)計(jì)有效的分布式算法來解決相機(jī)間的協(xié)同和地圖優(yōu)化問題;如何在算法上解決高速運(yùn)動情況下導(dǎo)致的視覺信息魯棒性降低的問題。而且,我國在多智能體協(xié)同視覺SLAM的研究中與發(fā)達(dá)國家仍有較大差距,所以要進(jìn)一步加強(qiáng)與先進(jìn)國家的技術(shù)交流,縮小與國外先進(jìn)水平的差距。


交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計(jì)算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細(xì)分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進(jìn)入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~

