論文閱讀——LIFT: Learned Invariant Feature Transform

一兵怯、概述

??本文是一篇非常經(jīng)典的基于深度學(xué)習(xí)的局部特征提取的論文肩杈,也是最早將特征檢測和描述放在一起優(yōu)化(即joint learning)的論文之一。此前對于局部特征描述的各個模塊堪伍,包括興趣點檢測锚烦、方向估計和特征描述,均已有相應(yīng)的基于CNN的方法提出杠娱,其中深度特征描述這一方向吸引了大部分關(guān)注挽牢,而興趣點檢測上的成果相對少一些。本文則認為之前對于單獨模塊的研究報道的高性能摊求,在實際任務(wù)pipeline中可能并不能達到最佳。

??局部特征描述任務(wù)(以SIFT和Harris等為代表)通常以完整圖像為輸入刘离,首先提取出其中潛在的興趣點室叉,然后對興趣點周圍的鄰域patch提取固定長度的特征作為其描述。要使用單個神經(jīng)網(wǎng)絡(luò)完成該流程硫惕,主要難點在于保持梯度流茧痕。比如要從檢測模塊輸出的特征圖提取出K個興趣點,這一步通常需要NMS來輔助恼除,而傳統(tǒng)的NMS算法并不可微踪旷。本文為了完成該流程使用了一系列trick,其中很多trick在后續(xù)的patch-based文章中(如LF-Net等)均有沿用豁辉。從理解論文的角度來說令野,搞懂本文對于閱讀后續(xù)一些流程更復(fù)雜的文章比較有幫助。

??以下為原文摘要:

??我們提出了一種新的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)徽级,該結(jié)構(gòu)實現(xiàn)了完整的特征點處理管道气破,即興趣點檢測,方向估計和特征描述餐抢。 盡管先前的工作已成功地單獨解決了每個問題现使,但我們展示了如何在保持端到端的可區(qū)分性的同時以整體的方式完成各個模塊的學(xué)習(xí)低匙。 然后,我們證明了該深度學(xué)習(xí)的管線在許多基準數(shù)據(jù)集上無需重新訓(xùn)練碳锈,性能即可超過此前的SOTA方法顽冶。

二、方法

??由于本文插圖繪制地比較詳細售碳,這一部分就直接結(jié)合插圖强重,以算法流程的形式記錄LIFT中的主要內(nèi)容。

??首先团滥,本文的CNN以patch為輸入竿屹,而非全圖。作者的解釋是這樣可以在不損失信息的情況下以更輕量級的方式解決該任務(wù)灸姊,因為全圖中包含關(guān)鍵點的patch數(shù)量并不多拱燃。因此為了得到patch,作者首先需要對整個訓(xùn)練集通過某種方式提取出興趣點位置力惯。作者構(gòu)建數(shù)據(jù)集的步驟大致如下:

  • 選擇multi-view的圖像來構(gòu)建訓(xùn)練數(shù)據(jù)

  • 利用SIFT檢測每張圖像的興趣點

  • 將multi-view圖像利用VisualSFM算法進行3D重建碗誉,剩下的興趣點將作為本文算法的GT

    以下為LIFT的完整預(yù)測流程「妇В可見該流程基本是按照傳統(tǒng)的局部特征提取算法設(shè)計的哮缺。

    以下為LIFT的訓(xùn)練過程:

2.1 訓(xùn)練過程

  1. LIFT網(wǎng)絡(luò)在訓(xùn)練時需要輸入一個四元對,即P1-4甲喝,其中P1和P2代表同一個3D點經(jīng)不同視角投影得到的2D點對應(yīng)patch尝苇;P3和P1為不同3D點投影的2D點對應(yīng)patch;P4則為不包含興趣點的patch埠胖。

  2. 對每個patch先使用檢測模塊進行預(yù)測糠溜。該模塊較簡單,直接用單層卷積+分段線性激活(來自TILDE論文)對原圖提取特征并返回一個score map直撤,記為S=f_\mu(P)非竿,其中\(zhòng)mu代表了檢測模型的權(quán)重。

  3. 在對\mu進行訓(xùn)練時谋竖,不同于TILDE論文中使用sfm得到的關(guān)鍵點位置作為S的GT红柱,本文認為S在除了sfm產(chǎn)生的興趣點之外的位置也可以有maxima,這體現(xiàn)在檢測模塊的損失設(shè)計上蓖乘。

    • 本文早期實驗發(fā)現(xiàn)锤悄,強行讓檢測模塊將興趣點預(yù)測為sfm模型得到的位置是有害的。(我的理解應(yīng)該說的是直接用sfm模型得到的興趣點生成GT score map驱敲,然后做強監(jiān)督的方式)
  4. 對DET預(yù)測的score map提取關(guān)鍵點铁蹈。本文提出可以使用softargmax代替nms,在保持可微的同時實現(xiàn)相似的功能。然后根據(jù)提取到的特征點x和原patch握牧,送入STL(spatial transformer layer)進行crop容诬,得到refine之后的小p(大寫P代表原Patch),該過程記為p = Crop(P, x)

    • softargmax是一個用于計算物體質(zhì)心的函數(shù)沿腰,其公式如下览徒。softargmax在LF-Net中也有用到。


    • STN在這類任務(wù)中扮演著的角色颂龙,簡單來說就是可微版本的OpenCV warpPerspective函數(shù)习蓬,通常都不是訓(xùn)練模塊。

  5. 將p送入方向估計模塊措嵌,預(yù)測出當(dāng)前patch的方向θ躲叼。然后同4中的做法,利用spatial transformer crop將P進行crop企巢,不同的是這次需要考慮在轉(zhuǎn)換中加入方向信息枫慷。記為pθ=Rot(P,x,θ)

    • 注意,送入第二個STL的patch是原始輸入Patch浪规,而非第一個STL crop的patch或听。說明第一個STL的patch唯一作用在于預(yù)測方向。

    • 問題:對p估計出的方向θ笋婿,是p->pθ的方向還是pθ->p的方向誉裆?這里涉及對STN細節(jié)的理解。

  6. 將旋轉(zhuǎn)之后的patch pθ送入特征描述網(wǎng)絡(luò)缸濒,提取出固定維度的embedding d

  7. 根據(jù)輸入四元組構(gòu)建的patch之間的關(guān)系足丢,計算檢測、方向估計庇配、特征描述三個部分的損失:

    • a. 檢測模塊:

      • 第3步提到霎桅,檢測模塊如果使用sfm得到的GT score map做強監(jiān)督可能是有害的。故作者利用P1和P2的關(guān)系讨永,利用相同興趣點的可靠性reliability,即最小化d1和d2之間的距離來訓(xùn)練檢測模塊遇革。即下式:
      • 此外卿闹,作者認為還需要對某個原本包含興趣點的patch在預(yù)測中漏檢的情況進行懲罰,體現(xiàn)在損失函數(shù)上為:
      image.png
      • 這里的softmax應(yīng)該是對四個Patch中的每一個萝快,即Pi锻霎,輸出其包含興趣點的概率,所以求softmax的維度應(yīng)該是在揪漩?旋恼?
    • b. 方向估計模塊:

      • 該模塊的優(yōu)化目標比較隱式,需要反映到下游的特征提取模塊奄容。因為方向估計的目的就是為了使同一個3D點在不同視角下的投影點的描述盡可能接近(描述子的可靠性冰更,或者可重復(fù)性)

        其中产徊,
        • 注意這個式子其實和檢測模塊的L_{pair}基本一樣,唯一的不同在于輸入中的x是已經(jīng)提取出來的興趣點位置蜀细,因此這部分梯度不需要再從x傳遞到輸入P舟铜,作者還是很嚴謹?shù)?/li>
    • c.特征描述模塊:

      • 本文的特征描述部分損失相對來說是很簡單的了,因為patch之間的關(guān)系不需要在線構(gòu)造奠衔,而是直接通過輸入構(gòu)造好的谆刨。直接給出損失函數(shù)的計算:


2.2 預(yù)測過程

LIFT的預(yù)測過程和訓(xùn)練稍有差異。由于方向估計和特征描述模塊只需要在局部最大值處運行归斤,作者認為可以在預(yù)測時將檢測網(wǎng)絡(luò)和后續(xù)兩模塊解耦:

  • 構(gòu)建原始大圖輸入的圖像金字塔痊夭,利用DET預(yù)測出score map金字塔(scale space score map,這一概念在LFNet中進一步延伸)脏里,然后利用NMS直接估計出所有興趣點坐標
  • 再對各個興趣點位置提取patch她我,分別進行方向估計和特征描述。

三膝宁、實驗

  1. 結(jié)果示例(和SIFT對比鸦难,每行代表一個測試集)


  2. 另外,作者做了一個比較有意思的實驗:將LIFT的各個模塊分別替換成SIFT的組件员淫,并比較在Strecha數(shù)據(jù)集上的評估指標:



    這個實驗說明合蔽,LIFT和SIFT的模塊設(shè)計高度一致;將LIFT的任意一個模塊替換為SIFT都會導(dǎo)致結(jié)果下降介返。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拴事,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子圣蝎,更是在濱河造成了極大的恐慌刃宵,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件徘公,死亡現(xiàn)場離奇詭異牲证,居然都是意外死亡,警方通過查閱死者的電腦和手機关面,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門坦袍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人等太,你說我怎么就攤上這事捂齐。” “怎么了缩抡?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵奠宜,是天一觀的道長。 經(jīng)常有香客問我,道長压真,這世上最難降的妖魔是什么娩嚼? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮榴都,結(jié)果婚禮上待锈,老公的妹妹穿的比我還像新娘。我一直安慰自己嘴高,他們只是感情好竿音,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拴驮,像睡著了一般春瞬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上套啤,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天宽气,我揣著相機與錄音,去河邊找鬼潜沦。 笑死萄涯,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的唆鸡。 我是一名探鬼主播涝影,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼争占!你這毒婦竟也來了燃逻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤臂痕,失蹤者是張志新(化名)和其女友劉穎伯襟,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體握童,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡姆怪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了澡绩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片片效。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖英古,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情昙读,我是刑警寧澤召调,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響唠叛,放射性物質(zhì)發(fā)生泄漏只嚣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一艺沼、第九天 我趴在偏房一處隱蔽的房頂上張望册舞。 院中可真熱鬧,春花似錦障般、人聲如沸调鲸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽藐石。三九已至,卻和暖如春定拟,著一層夾襖步出監(jiān)牢的瞬間于微,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工青自, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留株依,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓延窜,卻偏偏與公主長得像恋腕,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子需曾,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容