lisp提取长方形坐标_语义SLAM | 深度学习用于特征提取 : SuperPoint(一)
0. 寫在前面
SuperPoint 是基于自監督訓練的特征點檢測和描述符提取方法,是2018年MagicLeap發表的一篇文章中提出的。MagicLeap是一個備受爭議的做VR的公司,大家如果對他的八卦有興趣可以看這篇文章:
年度盤點,一文詳解Magic Leap 2018年熱搜高居不下的原因?baijiahao.baidu.com我在閱讀這篇文章的過程中,感覺作者的寫作思路很清晰,尤其是把各個技術點之所以這么做的原因寫的很清楚,所以又去搜了作者其他論文,一共搜到三篇,另外兩篇分別是2016年和2017年發表的,這三篇文章通讀下來,可以看清作者在使用深度學習進行位姿估計這一方法上的思路演變過程,為了把這一脈絡理清楚,我們按照時間順序對這三篇文章分別解讀,分別是:
1)緣起:Deep Image Homography Estimation
2)發展:Toward Geometric Deep SLAM
3)正果:SuperPoint: Self-Supervised Interest Point Detection and Description
這次我們先一起討論第一篇文章中的內容。
1. 概述
Deep Image Homography Estimation 是通過端到端的方式估計一對圖像的單應矩陣。訓練數據集是從MS-COCO上選取圖片,然后把這張圖片進行單應性變換得到圖象對的方式生成的。為了得到矩陣變換的置信度(比如slam中設置方差需要這些東西),作者把網絡分成兩部分,分別對應兩種輸出,一種輸出單一變換結果,另一種輸出多個可能的變換結果,并給出每種變換結果的置信度,實際使用時,選擇置信度最高的那個。
2. 算法流程
2.1 基礎知識
剛才也提高,本篇文章所提出的方法輸出的是單應性矩陣,所謂單應性矩陣,就是圖象中的目標點認為是在一個平面上,相應的,如果不在一個平面上則被成為基礎矩陣。單應矩陣和基礎矩陣的區別可參考以下兩篇文章:
https://blog.csdn.net/wangshuailpp/article/details/80424309?blog.csdn.nethttps://blog.csdn.net/potxxx/article/details/86752214?blog.csdn.net在實際的slam應用中,單應矩陣在以下這三種情況時需要用到:
- 相機只有旋轉而無平移的時候,兩視圖的對極約束不成立,基礎矩陣F為零矩陣,這時候需要使用單應矩陣H
- 場景中的點都在同一個平面上,可以使用單應矩陣計算像點的匹配點。
- 相機的平移距離相對于場景的深度較小的時候,也可以使用單應矩陣H。
在大家熟悉的ORB-SLAM中初始化的時候,就是單應矩陣和基礎矩陣同時估計,然后根據兩種方法估計出的結果計算重投影誤差,選擇重投影誤差最小的那個作為初始化結果。
2.2 建立模型
一個單應矩陣其實就是一個3X3的矩陣,通過這個矩陣,可以把圖像中的一個點,投影到對應的圖像對上去,對應的公式為
在這篇文章中,作者為了更好的訓練模型和評估算法效果,采用了另外一種模型,來等效代替上面的公式。我們知道,一張圖片進行單應性變換的時候,圖像上的點的坐標會根據變換矩陣發生變化(如上式),那么反過來,如果我知道n個變換前后的點的坐標,那么這兩張圖片之間的變換矩陣便可以得到,在平面關系中,n為4,即至少知道四個點就可以。因此作者用四個點對應的變化量來建立一個新的模型,如下式所示
它和單應性矩陣具有一一對應的關系
這樣做的好處是,把圖片對之間的矩陣關系,轉換成了點和點之間的關系,在進行精度評估時,可以直接根據轉換后的點的坐標與真實的坐標計算距離,作為誤差評估指標,而且,還可以用于網絡中損失函數的計算。
2.3 生成數據集
作者采用MS-COCO作為數據集,不過該數據集中沒有圖像對,也即沒有單應矩陣的真值,這是沒法進行訓練的。因此作者根據數據集中原有圖像,自動生成了圖像對。具體方法如下圖所示
具體步驟為:
1) 在圖像中選取一個長方形區域,區域就可以用上面說的四個點的模型來表示
2) 把區域的四個點隨機進行平移,這樣就得到一個四邊形,這兩個四邊形之間的單應矩陣也就是已知的
3) 把圖像按照這個單應矩陣進行變換,并選取被四邊形框住的區域
4) 這樣1)中和3)中得到的圖像就形成了一個已知真實單應矩陣的圖像對
2.4 設計網絡結構
本文的網絡結構如下圖所示
網絡分成兩部分,分別是Classification HomographyNet 和 Regression HomograhyNet,后者是直接輸出8個量,這8個量自然就是四個點各自的x和y坐標值。但這樣的缺點也很明顯,就是不知道每個坐標值的置信度是多少,比如在slam中設置方差時就沒有根據。因此Classification HomographyNet就是在Regression HomograhyNet的基礎上,把輸出端改成了8X21的輸出向量,這里的8仍然是四個點各自的x和y坐標,這里的21是每個坐標值的可能值之一,并且給出了該值的概率,這樣就可以定量分析置信度了。該網絡所輸出的置信度的可視化效果如下圖所示
2.5 實驗結果
實驗結果的精度評測方法就是根據每個點的坐標按照單應矩陣進行轉換后,和真實坐標進行L2距離測量,再把四個點的誤差值取平均得到。作者把網絡兩部分的輸出和ORB特征計算的結果分別進行了評測,對比結果如下:
從這張表里看,并沒有比ORB表現出明顯的優勢,但是作者展示了幾張圖片,每個圖片里顯示了矯正之后的方框對,從方框對中可以明顯看出區別。左邊是ORB方法的,右邊是本文方法的。
3. 總結與思考
本文設計了一種端到端的單應矩陣的估計方法,采用提取定點的結構等效單應矩陣,基于這種結構設計了數據集產生方法和精度評測方法,最終的結果顯示效果要明顯高于ORB進行的提取。
一些思考:
1) 這種從圖像中產生真值,然后在利用這些圖像去估計矩陣的方式是否有過擬合的嫌疑?
2) 單應矩陣一般特征共面時使用,論文中最后對比效果所列的圖片明顯不是這種情況,它之所以能對齊,是因為它用這個訓練的,而ORB是根據真實的場景估計的,沒有共面假設,這種對比是不是在根本上就不合理?
總結
以上是生活随笔為你收集整理的lisp提取长方形坐标_语义SLAM | 深度学习用于特征提取 : SuperPoint(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 两个sql交集_简单明了的sql基础语句
- 下一篇: c编译器内存对齐