1. 程式人生 > >【學習筆記】SIFT尺度不變特征 (配合UCF-CRCV課程視頻)

【學習筆記】SIFT尺度不變特征 (配合UCF-CRCV課程視頻)

rri cnblogs -o mask 畫出 blocks http ucf 產生

SIFT尺度不變特征

D. Lowe. Distinctive image features from scale-invariant key points, IJCV 2004

-Lecture 05 - Scale-invariant Feature Transform (SIFT)

- https://www.youtube.com/watch?v=NPcMS49V5hg

本文是上面UCF-CRCV課程視頻的學習筆記。

DOG(Difference of Gaussian)角點 / Harris point(角點) 通過z軸旋轉 點位置與未旋轉的點 位置重合

所以角點Harris Point具有旋轉不變性

Invariance to image scale and rotation


SIFT cares Local features

技術分享

Steps for Extracting Key Points

1 Scale space peak selection

Potential locations for finding features

2 Key point localization

Accurately locating the feature key points

3 Orientation Assignment

Assigning orientation to the key points

4 Key point descriptor(SIFT descriptor)

Describing the key point as a high dimensional vector

detector VS descriptor

Scales

sigma for Canny and LG edge detection?

用來做高斯平滑的sigma如何選擇。mask 的 width

zero-crossing檢測出來邊緣點(角點),zero-cross就是二階導數為0的點。

Scale space(尺度空間)(Witkin, IJCAI 1983)

技術分享

每一個弧形彎度定點都是一個zero-crossing

小的點會被更大scale的點包圍並且替代

總結:實施全光譜尺寸的掃表,然後畫出具有包含關系的zero-crossing如上圖。

理解尺寸空間曲線(拱形曲線,bottom開口,頂部閉合;建立區間樹)。

介紹:

尺度空間的生成目的是模擬圖像數據多尺度特征。高斯卷積核是實現尺度變化的唯一線性核。

對計算機視覺而言,無法預知某種尺度的物體結構是有意的,因此有必要將所有尺度的結構表示出來。

比如溫度曲線的采集,不能是無限的,這裏在一定溫度範圍進行量化采集,溫度範圍即是選擇的尺度。

多尺度表示方法:空間金字塔

Laplacian-of-Gaussian(LoG)

技術分享

通過 LoG平滑,得到多scale的圖片空間。

如何確定該點是interest point(或者說是角點):

取得當前尺度該點p 的9個neighbors和上下兩種尺度的各9各neighbors,如果p的尺度是27各點中的最大值或者最小值點,那麽p是Interest point。最後得到了(x, y, sigma)代表該點。

Approximation of LoG by Difference of Gaussians

(k*sigm) a Gasussian filter ~~~ LoG 是通過熱傳導方程推導的(Heat Equation)

技術分享

typically, sigma = 1.6 k = sqrt(2);

Building a Scale Space

高斯卷積核是實現尺度變換的唯一線性核,於是一副二維圖像的尺度空間定義為:

技術分享

其中 G(x,y,σ) 是尺度可變高斯函數 ;(x,y)是空間坐標,是尺度坐標。σ大小決定圖像的平滑程度,大尺度對應圖像的概貌特征,小尺度對應圖像的細節特征。大的σ值對應粗糙尺度(低分辨率),反之,對應精細尺度(高分辨率)。為了有效的在尺度空間檢測到穩定的關鍵點,提出了高斯差分尺度空間(DOG scale-space)。利用不同尺度的高斯差分核與圖像卷積生成。

技術分享

技術分享

關於octave(八度)是為了實現高斯差分尺度空間,利用不同尺度的高斯差分核與圖像卷積生成。每一個octave的輸入都是上一層octave降采樣的輸出,這裏因為采樣的時候x , y都各減小一半,整個圖像降采樣之後就變為原來的1/4.

其實就是為了讓每一個octave的變化差異更大,而進行認為的劃分。

通過實驗曲線表明

每一個octave 中有3個scale 最好。

sigma = 1.6

去掉一系列離群點的方法

Orientation Assignment

為了實現旋轉不變性計算key point(x, y)的中央導數,梯度級,L(smooth image)的方向

技術分享

方向上將360度分為36個bin。統計每一個key point 的鄰居的方向梯度。

技術分享

梯度和邊緣是更加穩定的feature 相比較於 raw intensity values

Descriptor是描述特征的重要工具

技術分享

上圖左(並不是全部neighbors,是全部neighbors的 1/2),image中有key point找到16*16 neighbors

16 * 16 / 4 * 4 (blocks) = 16 (histograms)

each 4 * 4 = 16 blocks using 1 histogram

16 (histograms) * 8(demensions) = 128 (demensions) -> vector -> Sift-descriptor

然後又是實驗表明:

4 x 4 blocks && 8 bins 最好

Key Point matching

foreach (d1 in A_Descriptors)

foreach (d2 in B_Descriptors)

find_minimum_Euclidean_distance_beteween(d1, d2);

0.1 0.15... very close best match 0.1 / second match 0.15 = ratio = 80%

if ratio low, first match looks good

if high, could be ambiguous match

ratio 用來衡量第一近和第二近的兩個點之間的相近程度,如果接近80% 那麽幹脆兩個點都不選。因為有兩個matching你不知道哪一個才是最好的!

Ratio 可以對correct matching num 產生影響

技術分享

最後

pagerank 和 論文cities的統計思想類似。 考察論文被人引用的次數,類似統計網站被別的網站鏈接的次數。

H index = 5 means 你已經寫了至少5篇papers,這些文章至少被引用了5次。

【學習筆記】SIFT尺度不變特征 (配合UCF-CRCV課程視頻)