• 沒有找到結果。

深度類神經網路增強室內外定位與製圖之整合方案

深度類神經網路在過去幾年之發展中,有大量成功透過網路大數據進行學 習之類神經網路,其已可預測分類影像中物件位置與屬性精度,並已大幅提升精 度之百分之九十以上,本年度分析透過這些已建置類神經網路的預測,除了自動 化偵測製圖之物件屬性,並將探討偵測之特徵點其影像紋理整合進光達室內製 圖系統。在影像識別領域中類神經網路迅速發展,卷積神經網路(Convolution Neural Network, CNN)、人工神經網路(Artificial Neural Networks, ANN)、循環神 經網路(Recurrent Neural Network, RNN)等方式對於影像識別上皆有所貢獻,尤 其以卷積神經網路為最有名的方法,卷積神經網路(Convolution Neural Network, CNN)與其他類神經網路之優勢在於可針對局部的區域提取高分辨率的特徵點,

藉由這些特徵點作為人類的視覺基礎,使識別錯誤率有效降低。大量文獻不管是 單相機還是雙相機技術之CNN 影像特徵自動萃取法已逐漸被人探討,Alex 等人 在2016 年使用室內以及室外資料庫進行學習與測試,該法可預測相機六自由度 (位置與姿態),該法提出一種名為 Posenet 之 CNN 架構,輸入為224x224的彩色 圖像並且推估相機相對於場景的姿態與位置。該法之精度與其他相關論文(例如 SCoRe Forest)相比雖不到最好,但是對於嚴峻環境的表現上,其他論文之精度誤 差會上升許多,Posenet 之精度則相對穩定,甚至比其他論文較為好一些。類神

經網路會輸出一個向量,包含位置以及方向,表示如下:

𝑝 = [𝑥, 𝑞] (2.2) 其中 p 為姿態向量,x 為 3D 相機位置,q 為四元數,其中選擇四元數代表 方向是因為四維參數較容易通過歸一化到單位長度去映射旋轉矩陣,換言之,這 是一個比九參數旋轉矩陣所需要的正交化更為簡單的過程。

Posenet 卷積神經網路的架構參考一個名為 GoogLenet 之深度神經網路,

GoogLenet 是一個 22 層卷積神經網路,包含有 6 個 inception modules 和 2 個額 外的分類器,inception modules 為一種將卷積層之過濾器分組的方法,同一層卷 積層中透過不同尺度的過濾器 filter 來達到更好更有用的特徵值。基礎之 inception modules 為圖 2.25 所示:

圖2.25 Inception Modules 架構圖

使用 3 種不同尺寸的卷積 convolutions 1x1,3x3,5x5 來萃取不同尺度的特徵 值,以及1 種最大池化 max pooling 有效縮小維度,藉由這四種分支可增加類神 經網路對不同尺度的適應性。另外,分類器則用於測試階段輸出識別準確率。

Posenet 的設計為針對 GoogLenet 做些微調整而形成一個 23 層卷積神經網路,

調整的部分如下所示:

 使用仿射回歸器(affine regressors)替換三個多分類器(softmax classifiers)。移 除掉softmax 層並且每個最終全連接層修改成輸出一個 7 維的姿態向量,代 表3 維的位置向量以及 4 維的方向向量。

 在特徵尺寸設置 2048 的仿射回歸器之前插入另一個全連接層。

 在測試階段,歸一化四元數方向向量到單位長度。

 在進入訓練階段之前,會先針對圖像縮放至 455x256 像素,然後再將縮放後 的圖像裁切成224x224 像素用作輸入值。

為了回歸相機姿態,論文提到訓練過程中通過使用隨機梯度下降算法得到

歐基里德損失,此損失函數(Loss Function)如下所示:

loss(I) = ‖𝑥̂ − 𝑥‖2+ β ‖𝑞̂ − 𝑞

‖𝑞‖‖

2

(2.3) x 為位置,q 為四元數方向,β為比例因子,用來保持位置和方向誤差的期望 值近似相等。為了維持位置及方向平衡不造成任一方輸出誤差太大,因此 β 比 例因子的設置約120 至 750 之間。

Facebook AI 研究院於深度神經網路框架 Caffe2 上開發一種名為 Detectron 的軟體系統,用來執行物體偵測演算法,包含Faster R-CNN、Mask R-CNN 等網 路。根據類神經網之預測,將可在三個方面點上對本案提供貢獻,第一為可有效 移除製圖中不屬固定圖資上之物件 (行人、貓狗等等);第二為透過坐標轉換進 一步依據所偵測之物體輪廓線將 RGB 二維圖像整合至 3D 光達點雲,以增加圖 之表達之多樣性;第三為系統也可將其預測物體屬性機率值建檔,增強使用者檢 核其自動偵測物體之正確機率值以增強對錯誤的可判別性。Detectron 最初的版 本由R-CNN 開始,經由運行過程上的一些變動,而後發表 Fast R-CNN、Faster R-CNN、Mask R-CNN。Detectron 系統之類神經網路演進過程如圖 2.26 所示:

圖2.26 Detectron 系統之類神經網路演進過程

以下說明各個類神經網路在演進過程中,在標示特徵物體時,運行做法與結 果的差異:

R-CNN 是初始先針對整張圖像產生多個候選區域,最後保留最多 2000 個 最佳候選區域,並將每個候選區域輸入到類神經網路進行特徵擷取(如圖 2.27 所示)。由於在訓練過程中需要花費大量執行時間。而候選區域中有許多區域其 實都是重疊的,於是後來的Fast R-CNN 加入 RoIPooling,一次算出整張圖像的 特徵值,再對應候選區域的實際位置,取出各自區域的特徵值(如圖2.28 所示), 此方法簡化了訓練過程也節省了運算時間。

圖2.27 R-CNN 執行流程

圖 2.28 Fast R-CNN 使用 RoIPooling 共用特徵值

由於類神經網路在初始階段會針對整個圖像產生多個候選區域,而此階段 會花費大量時間。因此為了再縮短運算時間,Faster R-CNN 的做法不再是對整 張圖像產生多個候選區域,最後保留最佳候選區域的方式,而是增加一層類神經 網路 Region Proposal Network 來有效的產生候選區域,此網路的原理是直接將 類神經網路所輸出的特徵圖做為輸入,從中選出邊框,並輸出邊框及邊框包含一 個物體的機率,再透過與Fast R-CNN 提到的 RoIPooling,對應候選區域的實際 位置,對每個候選區域進行分類(如圖2.29 所示)。

圖2.29 Faster R-CNN 執行流程

前幾個類神經網路的做法都是框出物體的外圍,大多都是方形外框,而Mask R-CNN 則可以做到接近像素等級的遮罩(如圖 2.30 所示),其做法上的差異是:

RoIPooling 在處理數值時使用的是最近插值法,其輸出的像素值為距離最近的像 素值,這樣產生出的遮罩會有偏移的現象,得到的區域尺寸也不為整數,而取整 數後的遮罩無法達到像素等級,於是 Mask R-CNN 將 RoIPooling 改為使用雙線 性插值法,也就是在兩個方向分別進行一次線性插植,輸出的像素值為四周像素 強度的加權平均,像素值不會不連續,使遮罩位置更加精準,並將此方法另稱為 RoIAlign(如圖 2.31 所示)。

圖2.30 Mask R-CNN 屬性偵測

圖 2.31 RoIAlign 使用雙線性插值法使遮罩位置更加精準

同步定位和映射(SLAM)在過去二十年中一直是電腦視覺和機器人領域的 熱門研究課題,並且近年來引起了各科技公司的關注。 SLAM 技術構建了未知 環境的地圖,並將傳感器本地化在地圖中,重點關注在即時操作。在不同的傳感 器模型中,相機的優勢在於便宜並且提供豐富的環境信息,允許穩健和準確的位 置識別。因此,可視化 SLAM 之主要傳感器決定為相機。另外,位置識別是 SLAM 系統關閉循環的關鍵模塊(即,檢測傳感器何時返回到映射區域,並且校正探測 中的累積誤差),並且在跟踪失敗後由於遮擋或侵略性運動而重新定位相機,或 在系統重新初始化。

可以通過使用單眼相機來執行可視化 SLAM,這是最便宜和最小的傳感器 設置。然而,僅從一個相機無法觀察到深度,因此地圖的比例和估計的軌跡是未 知的。另外,系統引導因為不能從第一幀進行三角測量,所以需要多視圖或過濾 器技術來產生初始映射。最後同樣重要的一點,單眼 SLAM 如果在研究中進行 純旋轉,可能會受到尺度漂移的影響而導致失敗。但是若使用立體聲或 RGB-D 相機之傳感器技術,所有這些問題都將得到了解決,並提供了最可靠的可視化 SLAM 解決方案。

ORB-SLAM (ORB 來自 Oriented fast and Rotated BRIEF 特徵點縮寫)技術系 統包含三個並行運行的線程:跟踪,局部映射和循環關閉,如圖2.32 所示。

圖2.32 ORB-SLAM 主要流程

跟踪負責每幀定位相機並決定何時插入新的關鍵幀。首先,它執行與前一幀 的初始特徵匹配,並使用僅運動的束調整(BA)來優化姿態。如果跟踪丟失(例 如,由於遮擋或突然移動),則地點識別模塊用於執行全局重定位。一旦存在對 相 機 姿 態 和 特 徵 匹 配 之 初 始 估 計 , 則 使 用 由 系 統 維 護 的 關 鍵 幀 之 共 視 圖 (Covisibility Graph)來檢索局部可視圖。然後,通過重投影搜索與局部地圖點的 匹配,並且使用所有匹配再次優化相機姿勢。最後,跟踪線程決定是否插入新的 關鍵幀。

局部映射處理新的關鍵幀並執行局部 BA 以在相機姿態的周圍實現最佳重 建。在共視圖(Covisibility Graph)上的連接關鍵幀中搜索新關鍵幀裡未匹配 ORB 之新對應關係,並進行三角測量產生新的地圖點。在創建之後的某個時間,基於 在跟踪期間收集的信息,應用緊急點剔除策略(Exigent Point Culling Policy)僅保 留高質量點。局部映射還負責剔除冗餘關鍵幀。

循環關閉會搜索每個新關鍵幀的循環。如果檢測到循環,則計算相似性變 換,通知關於循環中累積的漂移。然後,循環的兩側對齊並且複製重複點。最後,

執行相似性約束進行相機姿態圖優化以實現全局一致性。主要的新穎性是對必 要圖(Essential Graph)進行優化。

ORB-SLAM 的主要貢獻如下:

1. 對所有任務使用相同的特徵:跟踪,映射,重定位和循環關閉。這使得系統 更高效,簡單和可靠。使用ORB 特徵可以在沒有 GPU 的情況下實現即時性

能,為視點和照明的變化提供良好的不變性。

2. 在大型環境中即時操作。通過使用共視圖(Covisibility Graph),跟踪和映射任 務著重在局部共視區域,與全局地圖大小無關。

3. 即時循環關閉任務是基於被稱為必要圖(Essential Graph)的姿態圖之優化。它 是由系統維護的生成樹(Spanning Tree),循環關閉鏈接和共視圖(Covisibility Graph)的強邊構建的。生成樹為共視圖(Covisibility Graph)之子集,保留所有 的節點(即關鍵幀)。

4. 即時相機重定位具有顯著的視點和光照不變性,它允許在跟踪丟失中再次恢

4. 即時相機重定位具有顯著的視點和光照不變性,它允許在跟踪丟失中再次恢