1. 概況
作者的寫作思路很清晰,把各個技術(shù)點這么做的原因?qū)懙暮芮宄?,全文共三篇,可以看清作者在使?a target="_blank">深度學(xué)習(xí)進行位姿估計這一方法上的思路演變過程,為了把這一脈絡(luò)理清楚,我們按照時間順序?qū)@三篇文章分別解讀,分別是:
1)Deep Image Homography Estimation
2)Toward Geometric Deep SLAM
3)SuperPoint: Self-Supervised Interest Point Detection and Description
本期,我們首先對Deep Image Homography Estimation進行解讀。
2. 第一篇
Deep Image Homography Estimation
礦視成果
參考R TALK |圖像對齊及其應(yīng)用(https://zhuanlan.zhihu.com/p/99758095Deep)
1.1. 概述
Deep Image Homography Estimation 是通過端到端的方式估計一對圖像的單應(yīng)矩陣。訓(xùn)練數(shù)據(jù)集是從MS-COCO上選取圖片,然后把這張圖片進行單應(yīng)性變換得到圖象對的方式生成的。為了得到矩陣變換的置信度(比如slam中設(shè)置方差需要這些東西),作者把網(wǎng)絡(luò)分成兩部分,分別對應(yīng)兩種輸出,一種輸出單一變換結(jié)果,另一種輸出多個可能的變換結(jié)果,并給出每種變換結(jié)果的置信度,實際使用時,選擇置信度最高的那個。
1.2. 算法流程
1.2.1 基礎(chǔ)知識
本篇文章所提出的方法輸出的是單應(yīng)性矩陣,所謂單應(yīng)性矩陣,就是圖象中的目標(biāo)點認為是在一個平面上,相應(yīng)的,如果不在一個平面上則被成為基礎(chǔ)矩陣。
在實際的slam應(yīng)用中,單應(yīng)矩陣在以下這三種情況時需要用到:
相機只有旋轉(zhuǎn)而無平移的時候,兩視圖的對極約束不成立,基礎(chǔ)矩陣F為零矩陣,這時候需要使用單應(yīng)矩陣H場景中的點都在同一個平面上,可以使用單應(yīng)矩陣計算像點的匹配點。
相機的平移距離相對于場景的深度較小的時候,也可以使用單應(yīng)矩陣H。
在大家熟悉的ORB-SLAM中初始化的時候,就是單應(yīng)矩陣和基礎(chǔ)矩陣同時估計,然后根據(jù)兩種方法估計出的結(jié)果計算重投影誤差,選擇重投影誤差最小的那個作為初始化結(jié)果。
1.2.2 建立模型
一個單應(yīng)矩陣其實就是一個3X3的矩陣,通過這個矩陣,可以把圖像中的一個點,投影到對應(yīng)的圖像對上去,對應(yīng)的公式為
在這篇文章中,作者為了更好的訓(xùn)練模型和評估算法效果,采用了另外一種模型,來等效代替上面的公式。我們知道,一張圖片進行單應(yīng)性變換的時候,圖像上的點的坐標(biāo)會根據(jù)變換矩陣發(fā)生變化(如上式),那么反過來,如果我知道n個變換前后的點的坐標(biāo),那么這兩張圖片之間的變換矩陣便可以得到,在平面關(guān)系中,n為4,即至少知道四個點就可以。因此作者用四個點對應(yīng)的變化量來建立一個新的模型,如下式所示
它和單應(yīng)性矩陣具有一一對應(yīng)的關(guān)系
這樣做的好處是,把圖片對之間的矩陣關(guān)系,轉(zhuǎn)換成了點和點之間的關(guān)系,在進行精度評估時,可以直接根據(jù)轉(zhuǎn)換后的點的坐標(biāo)與真實的坐標(biāo)計算距離,作為誤差評估指標(biāo),而且,還可以用于網(wǎng)絡(luò)中損失函數(shù)的計算。
1.2.3 生成數(shù)據(jù)集
作者采用MS-COCO作為數(shù)據(jù)集,不過該數(shù)據(jù)集中沒有圖像對,也即沒有單應(yīng)矩陣的真值,這是沒法進行訓(xùn)練的。因此作者根據(jù)數(shù)據(jù)集中原有圖像,自動生成了圖像對。具體方法如下圖所示
具體步驟為:
1.在圖像中選取一個長方形區(qū)域,區(qū)域就可以用上面說的四個點的模型來表示;
2.把區(qū)域的四個點隨機進行平移,這樣就得到一個四邊形,這兩個四邊形之間的單應(yīng)矩陣也就是已知的;
3.把圖像按照這個單應(yīng)矩陣進行變換,并選取被四邊形框住的區(qū)域;
4.這樣1)中和3)中得到的圖像就形成了一個已知真實單應(yīng)矩陣的圖像對。
1.2.4 設(shè)計網(wǎng)絡(luò)結(jié)構(gòu)
本文的網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示
網(wǎng)絡(luò)分成兩部分,分別是Classification HomographyNet 和 Regression HomograhyNet,后者是直接輸出8個量,這8個量自然就是四個點各自的x和y坐標(biāo)值。但這樣的缺點也很明顯,就是不知道每個坐標(biāo)值的置信度是多少,比如在slam中設(shè)置方差時就沒有根據(jù)。因此Classification HomographyNet就是在Regression HomograhyNet的基礎(chǔ)上,把輸出端改成了8X21的輸出向量,這里的8仍然是四個點各自的x和y坐標(biāo),這里的21是每個坐標(biāo)值的可能值之一,并且給出了該值的概率,這樣就可以定量分析置信度了。該網(wǎng)絡(luò)所輸出的置信度的可視化效果如下圖所示
1.2.5 實驗結(jié)果
實驗結(jié)果的精度評測方法就是根據(jù)每個點的坐標(biāo)按照單應(yīng)矩陣進行轉(zhuǎn)換后,和真實坐標(biāo)進行L2距離測量,再把四個點的誤差值取平均得到。作者把網(wǎng)絡(luò)兩部分的輸出和ORB特征計算的結(jié)果分別進行了評測,對比結(jié)果如下:
從這張表里看,并沒有比ORB表現(xiàn)出明顯的優(yōu)勢,但是作者展示了幾張圖片,每個圖片里顯示了矯正之后的方框?qū)Γ瑥姆娇驅(qū)χ锌梢悦黠@看出區(qū)別。左邊是ORB方法的,右邊是本文方法的。
1.3. 總結(jié)與思考
設(shè)計了一種端到端的單應(yīng)矩陣的估計方法,采用提取定點的結(jié)構(gòu)等效單應(yīng)矩陣,基于這種結(jié)構(gòu)設(shè)計了數(shù)據(jù)集產(chǎn)生方法和精度評測方法,最終的結(jié)果顯示效果要明顯高于ORB進行的提取。
可以看到回歸的方法效果最好,但是分類的方法可以得到置信度,且可以可視化地糾正實驗結(jié)果,在某些應(yīng)用中是有優(yōu)勢的。
作者總結(jié)了這個系統(tǒng)的兩個優(yōu)勢:
第一,速度快,借助英偉達的泰坦顯卡,可以實現(xiàn)每秒處理300幀的圖像。
第二,將計算機視覺中最基礎(chǔ)的單應(yīng)矩陣的估計問題轉(zhuǎn)化為機器學(xué)習(xí)的問題,可以針對應(yīng)用情景如使用SLAM的室內(nèi)導(dǎo)航機器人做特定優(yōu)化。
事實上,單應(yīng)矩陣在圖像拼接,ORB-SLAM算法和Augmented Reality(AR),相機標(biāo)定中都有很重要的應(yīng)用。這篇文章的三個作者都來自Magic Leap公司,一家做AR的公司,已經(jīng)得到了Google和阿里巴巴等公司是十幾億美金的投資。
新的思考:
1)這種將深度學(xué)習(xí)用于解決傳統(tǒng)方法中遇到的困難的設(shè)計模式值的我們思考與學(xué)習(xí),這樣可以充分的將誒和傳統(tǒng)與深度學(xué)習(xí)的共同特點。
2)這種從圖像中產(chǎn)生真值,然后在利用這些圖像去估計矩陣的方式是由于過擬合導(dǎo)致效果好?
3)單應(yīng)矩陣一般特征共面時使用,論文中最后對比效果所列的圖片明顯不是這種情況(展示數(shù)據(jù)可以理解為遠視角場景),它之所以能對齊,是因為它用這個訓(xùn)練的,而ORB是根據(jù)真實的場景估計的,沒有共面假設(shè),對比實驗設(shè)計的合理性。
-
算法
+關(guān)注
關(guān)注
23文章
4625瀏覽量
93123 -
SLAM
+關(guān)注
關(guān)注
23文章
426瀏覽量
31885 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5510瀏覽量
121349
原文標(biāo)題:【SLAM】SuperPoint 語義 SLAM 深度學(xué)習(xí)用于特征提取
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論