【翻譯】Visual Place Recognition_ A Survey視覺場景識別綜述【四】
7 動態環境中的視覺場景識別
早期識別系統通常假定每個地方的外觀在實驗過程中不會改變。然而,機器人系統在不受控制的大環境中長時間執行時,這種假定不成立。近年來,機器人永續性導航系統越來越受關注,包括永續性的場景識別技術。因此,機器人在動態環境地圖中定位的能力也是關鍵問題[193]。本節重新討論之前提到的概念:地點描述技術,地圖框架和置信度生成過程,並討論每個部分如何適應不斷變化的環境。
A. 描述動態環境中的地點
很多原因,如光照和天氣,會導致地點的外觀隨時間發生改變(見圖1)。外觀變化時,針對場景識別有兩種改善方法——第一種嘗試找到地點的條件不變描述,區域性特徵描述的方式具有縮放不變性,旋轉不變性和光照不變性。第二種方法是學習外觀變化是怎麼發生的。
**1)不變性方法:**在動態環境中使用常規的區域性特徵進行地點匹配對於機器人持久導航非常重要。Furgale和Barfoot [117]觀察到SURF特徵由於環境外觀的改變,特別是光照變化,容易造成視覺示教(visual-teach-and-repeat)實驗的失敗。在光照和其它變化的條件下,現有影象描述方法的魯棒性已經被測試。[194]中,Valgren和Lilienthal在光照變化、雲覆蓋和季節變化方面測試了SIFT特徵和許多SURF變形的魯棒性,發現SURF變形優於SIFT,但是沒有一個特徵適用於所有條件。然而,在後來的工作[100]中,作者將U-SURF [73](最成功的SURF變形)與使用對極約束的一致性檢查結合,在小資料集(40影象)內實現了80%至100%的正確匹配率。
Ross 等人 [195],[196]研究了光照變化對特徵的影響,採集一天內不同時間段的影象,確定了每個描述子對光照的敏感度。在每個影象中預選出關鍵特徵點,只測試這些關鍵點的特徵描述的變化。而Valgren和Lilienthal [100],[194]測試了特徵檢測和描述的綜合效果。U-SIFT [72]描述子在所測試的描述子中,具有最好的光照不變性。
除了SIFT或SURF的點特徵之外,也可以選擇其他描述子。全域性影象描述已經用於如SeqSLAM等[118],[119],[197]系統中,這些系統均表現出對環境變化的魯棒性。其他描述方法,在劇烈的外觀變化條件下,會導致系統故障[111],而全域性影象描述也具有對視點變化比較敏感的問題 [198]。
邊緣特徵可以在某些特定環境[172],[199]中使用,它具有光照、方向和尺度[199]不變性。Nuske等人 [199]使用邊線的定位方式,根據現有地圖上,通過魚眼相機進行定位,並在戶外工業區域,7:00到17:00之間不同光照條件下進行了測試。Borges等人 [200]改進了該系統,通過3D鐳射資料生成邊緣地圖。不過使用邊緣特徵的資料匹配比較具有挑戰性[172]。
陰影去除[201]、光照不變性的顏色空間[192]等,可減輕光照影響。光照變化時的場景識別問題也可以通過硬體解決。McManus 等人[202]使用掃描鐳射測距儀建立不受光照影響的影象。該方案可以應用在完全黑暗的環境中。長波紅外熱成像相機使用方法與普通相機無異,但是對光照反應不同。Maddern和Vidas [203]證明了,在夜間當普通相機失效時,紅外熱像儀可以正常工作,從而改進了夜晚場景識別效果。
在動態環境裡的場景識別系統通過CNN提取魯棒特徵。CNN可以學習通用特徵,並將這些特徵轉移到其他相關的視覺任務中[204],[205],所以場景識別也嘗試使用CNN技術。[206],[207]的作者利用CNN特徵作為整體影象描述子,並分析了不同層對視覺外觀和視點變化的魯棒性。他們得出結論,中級特徵對外觀變化具有魯棒性,而更高層的特徵對於視點變化更加魯棒,而且攜帶更多的語義資訊,可以分割搜尋空間 [207]。
在動態環境裡的場景識別中,彩色資料資訊還未被深入研究。傳統的影象描述子(例如SURF和BRIEF)對灰度影象進行操作,但是大多數相機能夠獲取彩色影象,彩圖在動態環境中,可以為場景識別提供更多有用的資訊。顏色資訊呈現了在動態環境中場景識別的悖論:場景光照改變時特徵不穩定[195],相反,相對顏色資訊包含光照資訊,通過這些資訊可以識別和去除陰影,從而改善場景識別效能[201]。使用相對顏色資訊處理影象具有光照不變性,使白天的場景識別更可靠,但在晚上違反黑體照明的基本假設時,使用彩色影象效果更好。
**2)學習方法:**同一個地點在不同的時間有不同的外觀,動態環境中場景識別的另一個方法是學習這些外觀之間的關係。這些方法假設在地點以相似的方式改變外觀,因此,在訓練期間學習到的變化規律可以應用到未訪問過的位置。通過觀察來自不同位置的靜態網路攝像頭[209],[210] 對這個假設進行了測試,並證明不同的地點,在不同時間的主要變化是相似的。此外,位置的訓練集合可以計算出主成分基,能夠通過編碼得到新位置的外觀,且精度較高。
Ranganathan等人在[212]中學習了一個精細詞彙表。該詞彙表類似於詞袋模型,將描述子空間,例如SIFT描述子空間,進行分割,而且它分割的非常精細,在[212]中具有超過1600萬的詞彙。然後,系統學習這些詞的概率分佈。描述子在光照變化,改變視點和其他效果下具有高度非線性,精細詞彙可以通過分析詞彙的分佈,來學習和量化這些變化。在[211]中,從同一環境的多個訓練集中學習特徵分佈,通過不同光照條件下的特徵匹配來產生概率分佈。執行效果較常規詞彙樹[95]有所提高,資料集的正確匹配率提高了10-15%。此外,還比較了距離度量,並且顯示了對稱Kullback-Leibler散度在標準特徵點距離度量和概率距離度量兩方面都表現優異。
Carlevaris-Bianco和Eustice [213] 使用網路攝像頭鏡頭在不同的光照條件下跟蹤影象塊,生成大量(300萬個特徵)的正反例子。神經網路學習技術[214]將這些塊對映到新的空間地圖,其中正匹配塊之間距離較近(歐幾里得距離),負匹配塊之間距離較遠。該描述子在位置識別方面比SIFT和SURF描述子表現更好——與SURF描述子比,測試位置的正確匹配率提高了10%。
Neubert等人 [18]學習了兩個不同季節之間在視覺上的變換。SLIC超畫素對兩個不同季節的訓練影象進行分割[215]。超畫素由顏色直方圖和SURF描述子組成,超畫素從一個季節到另一個季節的轉換字典通過學習得到。類似地,Lowry 等人[216]學習了從早上到下午拍攝影象的線性變換。然而,分析外觀轉換時,訓練影象對內容必須一致。
基於學習的方法經常需要監督的訓練階段,外觀變化要已知,並且相關的訓練資料要可用。Lowry 等人[217]提出了一種在變化環境中進行場景識別的無監督學習方法。該系統確定並剔除了在環境中觀察到的廣泛存在的元素。移除常見的元素降低了場景識別失敗的風險,並提高了地點描述的穩定性。
B.記錄動態環境中的地點
如果環境改變,地圖也需要改變,系統必須確定保留什麼和剔除什麼。對於系統來說可以保留地點的多種描述,因為地點可能在不同情況之間轉換。本節介紹了用於場景識別的建圖框架,其通過以下兩種方式來處理環境變化——決定記錄什麼和剔除什麼,和(或)記住多重表示。這些系統不是單指視覺系統(許多系統是處理鐳射資料的),而是適用於任何感測器形式或地圖框架。
**1)記錄和剔除資料:**在動態環境中,當機器人獲得新的觀測值時,必須更新每個地點的描述。我們不僅要使用最近觀察到的資訊來覆蓋過時的資訊,還要禁止瞬時事件覆蓋現有資訊。然而,很難確定哪些事件是暫時性的,哪些是需要記錄的。Biber和Duckett [218]受自神經科學中概念的啟發,將這稱為“stability-plasticity困境”,其解決方案受到了生物大腦的啟發。在人類記憶模型中發現諸如感覺記憶,短期記憶和長期記憶的概念,已經被用於建立記憶和忘記的決策模型。
一個生物啟發的建圖系統,通過感覺記憶模擬,將感測器資訊傳遞到短期記憶和長期記憶儲存區域[219],[220]。在第一階段,選擇注意機制根據長期記憶資訊來決定哪些資訊將從感覺記憶升級為短期記憶。第二階段使用複述機制來確定哪些資訊將從短期記憶轉移到長期記憶。這兩種機制確保更持久,穩定,經常出現的特徵被記住,而暫時的特徵被遺忘。當元素被充分看到和識別時,才能被提升到更高的記憶空間。此外,過時無用的特徵慢慢地從長期記憶中過濾掉。剔除過程與記錄過程是互補的,往往使用類似的標準[ 219 ],[ 221 ]。
Andrade-Cetto和Sanfeliu [222]要求訓練特徵是值可信的、可靠的以及最新的,而Bailey [221]提出了基於可見性的有用性標準——一個特徵可被環境中其他的元素遮擋,在後來的定位中用處不大。Johns、Yang [102]和Hafez [223]使用詞袋模型以及質量測量來確定要保留的有用特徵,在生成定位模型時還要考慮特徵的獨特性和可靠性。Johns和Yang [224]還提出了一種“生成詞袋模型”,在匹配場景時考慮每個資料點的方差以及平均值。
**2)環境的多重表示:**地點會隨時間發生改變,也可能以迴圈方式改變,因此不能由單個描述表示。在為期兩週的辦公室實驗[225]中,Milford和Wyeth指出,“系統對週期性變化(如晝夜時間週期)處理效率低下。經過一個晚上的執行後,修剪過程逐漸將經驗地圖改善以適合於夜間定位,但對第二天上午的定位有所不利。”Ranganathan等人證實了這些觀察結果[211],他們指出,對於室內辦公環境,如果在24小時週期內持續良好的定位,需要每個位置提供大約三到四個影象。對於地點或者地圖,與其連續記錄和剔除資訊,不如記錄該區域的多重表示。
場景識別系統可以使用相同環境的多個地圖。在Biber和Duckett的工作中,為每個地圖會新增一個時標[226]。其中一部分地圖表示短期記憶,經常更新,而其他地圖類似於長期記憶,在數小時,數天或數週內都不更新。地圖在不同時間週期內更新,確保了舊地圖資料不會由於環境中的臨時更改而立即被覆蓋。相反,靜態特徵隨時間會增強,而瞬態事件會被過濾掉。場景識別的過程就是選擇與感測器資料最匹配的區域性圖。
多地圖的系統僅在需要時新增新的地圖結構,而不是根據預設的時間幀[220]。此外,Stachniss和Burgard [227]指出,不是每個地方都需要多重表示,某些區域,例如門口,可能比其他環境發生更多變化。這樣的區域具有幾個關鍵結構(例如,門可以是開啟或關閉的),因此,使用幾個子地圖就可以足夠精確地描述了。將有動態變化的區域,從地圖中分割出來,形成子地圖。根據模糊k均值聚類與貝葉斯資訊標準,來確定該區域子地圖的最佳數量。使用子地圖隔離動態區域,允許一個地點有多種環境結構,同時保持地圖的可管理性。
環境中移動的物體,機器人必須能夠檢測到,之後也可能會被移除[229],[230]。然而,經常有半靜態的元素,移動不明顯,隨著時間會出現和消失。雖然這些元素可能由於其不可靠性被移除 [69],[231],但可用於特定環境的暫時定位[232]。Meyer-Delius等人[232]使用停車場作為示例,其中諸如牆壁的靜態元素可能較遠且不具有可區分性,而半靜態停放的汽車數量較多且相對獨特,所以可以使用汽車資訊在數小時或一天內定位,之後被丟棄。當機器人觀測值與所提供的靜態地圖的預期結果不匹配時,將建立臨時地圖。當臨時地圖在多個連續的時間週期內,未能與機器人觀測資料充分匹配時被丟棄。
上面提到的系統[220],[226],[227],[232]是為度量系統設計的。對於基於外觀的系統,如果多重訓練可行,也可使用多重表示。Johns和Yang [102]使用了特徵共存圖,該圖是根據14:00和22:00之間的20公里城市道路資料集進行了五次訓練而生成的,然後在相同的路線上,在五次訓練時間之間的插值時刻實現定位。
McManus 等人[120]通過在環境內的多個訓練來學習場景地標——抗外觀變化干擾的區域性可區分性元素。對於環境中的每個位置,選擇具有獨特性和穩定性的影象塊。使用HOG描述子[121]描述所選擇的影象塊,用描述的影象塊為每個位置訓練SVM分類器。在31個位置資料集測試中,使用場景地標進行場景識別的正確率能夠達到100%,而SURF特徵表現較差,尤其是在雨天和霧天。
如果假設環境的外觀受到隱性的週期性影響,可以根據多個訓練,利用頻譜分析,如傅立葉分析,來預測未來特定時間點的位置外觀。Krajnik等人 [233]對一個環境進行學習和建模,在三個月後定位時發現,這些預測的外觀資訊能將場景識別的錯誤率減半。
上述所有系統都假設,機器人知道自己的位置資訊,然後匹配該位置的所有不同表示,即使這些表示在看起來不相似。在不斷變化的環境中,如果系統不知道要更新哪個位置,則不能更新地圖,那它可能無法準確知道機器人位置。為了避免這種情況,Churchill和 Newman提出了一種柔性地圖形式[15],根據機器人的“經歷”進行定位,而不是物理位置。當機器人訪問到不能識別的位置時,會生成新的經歷,這樣地圖就能隱性地包含每個位置的多重表示,表示的數量取決於在該位置匹配的難度(見圖8)。然而,與先前討論的系統不同,這些表示不必作為同的物理位置連線在一起。如果系統可以識別相同的屋裡位置並將其連線在一起,柔性地圖資訊會更加豐富。這種方法比較實用,它允許場景識別失敗,但不會造成地圖崩潰。
[圖8 由於動態環境的外觀變化,系統需要儲存每個地方的多個表示。此影象(來自228|)顯示在數月內的重複遍歷期間,一段路徑中所儲存的機器人“經歷”的數量。大多數地方需要五到十次經歷,但一些地區需要多達30次。
系統儲存每個位置的多重描述會增加位置識別搜尋空間,進而降低效率,除非僅使用其中一個描述子集來匹配。因為在相似時間觀察到的資訊,往往具有相似的外觀特性,所以可以根據系統的當前定位資訊,來選擇可能出現的匹配。Carlevaris-Bianco和Eustice [234] 通過Chow-Liu樹,評估了短時間內被“共同觀察”兩個位置樣本的相似度,而Linegar等人 使用“路徑記憶”來選擇先前經歷作為候選匹配,並在不增加計算時間的基礎上改進場景識別。
C. 動態環境中的場景識別
在外觀改變整合到場景識別系統中後,置信度生成過程需要做一些關鍵性的改變。首先,如上所述,動態環境需要每個地方的多重表示,系統根據當前感測器資料[226]選擇最佳地圖,或者預測最可能的外觀匹配[18],[233] - [235]。
場景識別系統也可以並行地執行多個假設。Churchill and Newman [15]給每個儲存的經歷分配定位信標,報告機器人是否成功地在該環境中定位,而Morris等人[220]對可能的地圖結構以及可能的機器人位姿進行篩選。系統不是選擇與當前感測器資料最匹配單個地圖,而是主動跟蹤多個地圖中的N個最佳導航假設,而當有效假設低於最佳待定假設時,待定假設被替換並重新建立。使用多個地圖假設,在室內辦公室實驗中,平均路徑誤差減少多達80%。
在動態環境的場景識別中,拓撲資訊越來越重要,因為傳入的感測器資料可靠性降低,並且更難以與先前觀察到的資訊匹配[118],[119]。匹配影象序列,而不是單個影象,可以改善位置識別,特別是在動態環境中[14],[84],[118],[147]。
假設系統不是穿過特定地點,而是遍歷環境中的相同或非常相似的路徑,這將有利於動態環境的場景識別。SeqSLAM [118]使用影象序列,對具有挑戰性的環境進行場景識別。原始版本在遍歷中採用相似的速度分佈,而修改版本通過影象相似性矩陣,搜尋非線性路徑以及線性路徑 [102],或使用里程計輸入來線性化訊號[148]。Liu和Zhang [236]使用粒子濾波器提高了窮舉搜尋過程的計算效率,在100%精度下,實現了10倍的加速。
Naseer等人[119]應用了序列資訊,將影象匹配作為最小成本價流。流網路是具有源點和匯點的有向圖,在基於路徑的場景識別中,源點和匯點分別表示遍歷的開始和遍歷的結束。公式通過將影象匹配程度值等同於流量成本,在環境中找到最佳序列。通過節點連線或隱藏來處理不同的速度分佈。類似地,Hansen和Browning [237]使用隱性馬爾可夫模型,通過Viterbi演算法來確定最可能的路徑。
8 結論
在過去15年中,視覺場景識別系統已經取得了巨大的進步,但還不能廣泛適用於各種機器人平臺和環境,其穩定性也遠遠不夠。在這裡,為了達到這一目標,我們重點介紹了幾個有前景的方法和途徑。
視覺場景識別受益於其他領域的研究,特別是計算機視覺,在深度學習、影象分類、物體識別和視訊描述領域中取得了偉大進步。CNN之類的技術需要依賴於大資料和大計算,而云機器人技術和線上/離線處理之類的技術可以用在小型、便宜的移動平臺上。GPU硬體和新型相機感測器的發展,啟發場景識別新思路,提高現有方法的效率和魯棒性。
物體檢測和場景分類的研究也有利於場景識別的發展。檢測出來的物體,如果是建築物之類的,可以用來進行長期的場景識別;如果是行人之類的,應該被忽略;如果是汽車之類的,則根據語義和時間背景判斷其是否有用。以下兩種方法可以增強針對環境結構變化的魯棒性,1)知道物體是動態的或靜態的;2)知道如何根據時間和語義背景推斷物體狀態(例如,停車庫中的汽車可以提供臨時有用的位置識別資訊)。CNN包含資訊豐富,訓練或調整專用於場景識別的CNN網路,是未來研究中一個有價值的方向。
視覺場景識別系統也可以利用背景資訊。儘管地點在外觀上發生了巨大變化,但其相對位置保持不變。這些資訊可以通過先驗定位、遞迴濾波和基於路徑的影象序列整合到置信度生成模組中,當環境的外觀的變化增加時,系統對這些技術的依賴性增加。其他背景資訊也能改進場景識別能力——根據一天中的時間資訊或者當前天氣狀況改變描述可視資料的方法。
場景語義背景可以限制場景識別的搜尋空間,保證機器人長期自主性導航。語義背景可以強化學習功能,預測場景中的變化,並且有助於增針對強環境變化的魯棒性。語義地圖還能夠減少儲存需求——比如房子的地圖僅需要諸如“廚房”,“臥室”和“浴室”之類的詞語來描述。應用語義物件作為地方識別特徵的主題建模、核心集和其他語義壓縮方法的研究比較有前景。
最後,視覺場景識別能給其他研究工作帶來什麼?視覺場景識別在條件不變性識別方面的研究成果超前於其他領域,即使在比其他領域(如場景解釋)更多的約束條件下。獲得的經驗可以用在其他機器人任務中,如物體識別、野外物體分類等,也可以用到其他各種領域中,如遙感,環境監測和在非受控環境中的識別領域。