sift演算法為什麼要構建高斯金字塔?

時間 2021-05-29 22:24:18

1樓:喜歡是運籌帷幄

對於一副影象,你近距離觀察影象,與你在一公尺之外觀察,看到的影象效果是不同的,前者比較清晰,後者比較模糊,前者比較大,後者比較小,通過前者能看到影象的一些細節資訊,通過後者能看到影象的一些輪廓的資訊,這就是影象的尺度,影象的尺度是自然存在的,並不是人為創造的。尺度空間中各尺度影象的模糊程度逐漸變大,能夠模擬人在距離目標由近到遠時目標在視網膜上的形成過程。

尺度空間滿足視覺不變性。該不變性的視覺解釋如下:當我們用眼睛觀察物體時,一方面當物體所處背景的光照條件變化時,視網膜感知影象的亮度水平和對比度是不同的,因此要求尺度空間運算元對影象的分析不受影象的灰度水平和對比度變化的影響,即滿足灰度不變性和對比度不變性。

另一方面,相對於某一固定座標系,當觀察者和物體之間的相對位置變化時,視網膜所感知的影象的位置、大小、角度和形狀是不同的,因此要求尺度空間運算元對影象的分析和影象的位置、大小、角度無關。

2樓:August

題主說的沒錯,模糊已經改變了尺度。降取樣跟尺度其實沒啥關係,也有其他特徵點檢測方法不需要降取樣的。

至於降取樣的目的其實很大程度上是為了資料壓縮,方便找到極值點。

因為粗尺度的影象可以通過對細尺度影象卷積得到,所以粗尺度影象每個畫素點都可以看作細尺度影象的一片畫素點的簡單表達,也就是說粗尺度影象每個畫素點包含的資訊是更多的。所以其實粗尺度影象完全可以用更小的尺寸來展示,這也符合人的視覺規律(遠處看物體小而模糊,近處看大而清晰)。

3樓:李濟深

題主的結論沒有錯,按照尺度空間的理論,模糊就已經改變尺度了。下取樣的目的是從工程實現的角度來考慮的。

假設你想以【特徵點】為中心,取乙個特定大小的patch,然後提取乙個【線性的】特徵,然後通過【線性地距離計算】來達到匹配離相機不同距離下的同一特徵點的目的。你會怎麼做?

首先這個【特徵點】是在一些特定的尺度上找到的。所以你的patch要加在那個尺度的圖上。現在就需要你去決定這個patch的覆蓋區域跟你模板上的patch的覆蓋區域是否一致。

如果不一致,特徵就不一樣了,沒法匹配。如果一致,但是你patch大小如果不同的話,你提取的線性特徵長度是否是一樣的?如果不一樣,怎麼對齊計算線性距離?

SIFT的做法是把patch大小統統固定,改變尺度圖層的大小。這樣後面的特徵提取和比對就容易實現。

當然你也可以有不同的做法。

4樓:阿小博Dennis

模糊是在結果解析度相同的情況下用不同的高斯模糊核去操作,得到位置層面的多尺度影象,然後影象尺度的變化就類似語義分割中的下取樣了,提取豐富的語義資訊,屬於語義層面的多尺度,個人理解

高斯到底幹了什麼?為什麼這麼多演算法裡有他?

已登出 他主要是許多學科的奠基人。高斯的工作放到現在看都不是很深刻,但是那時候研究數學的人太少了,樓不是他建的,但是地基都讓他打了,所以一整類受他啟發的工作都以他命名,比如說正態分佈。還有乙個例子是牛頓,牛頓法其實只是泰勒展開的簡單推論,但是數值分析和優化裡主流的quasi newton法就是一整類...

前端為什麼要懂得冒泡演算法呢?

程式小猿 我覺得不一定要懂,但有些面試可能會考到這個問題。寫冒泡演算法可以體現出乙個前端程式設計師的基本技能,基礎與素質。比如冒泡的演算法思路,時間 空間複雜度,穩定性。再比如對陣列操作熟不熟練,會不會除錯。甚至還可以做一些簡單優化,比如記flag,如果當前這一趟比較沒有發生交換,就提前結束排序。這...

關鍵點檢測中,為什麼要生成高斯圖,而不是直接與ground truth比較?

在醫學影象中,解剖關鍵點檢測是可以直接回歸的。直接回歸的精度也不差。但是,如果你需要更好的精度,可以替換成高斯核這種。兩種方法的計算量,看你實際需求進行取捨。 張良懷 對於關鍵點檢測任務,有兩種方式去監督 1 直接用目標點的座標進行監督,這樣網路是乙個回歸網路 最後是全連線層 網路輸出應該是目標點的...