女人夜夜春高潮爽A∨片传媒_国产精品VIDEOS麻豆_在线精品亚洲一区二区三区_亚洲熟妇无码av

圖像處理
新聞詳情

SIFT特征詳解

發(fa)布時(shi)間:2021-01-21 17:03:07 瀏覽次數:4524

1.SIFT概述

SIFT的全稱是Scale Invariant Feature Transform,尺度(du)不(bu)變(bian)(bian)特(te)征(zheng)變(bian)(bian)換,由加拿大(da)教授David G.Lowe提出(chu)的。SIFT特(te)征(zheng)對旋轉、尺度(du)縮放、亮度(du)變(bian)(bian)化等保持不(bu)變(bian)(bian)性,是一種(zhong)非(fei)常穩定的局部(bu)特(te)征(zheng)。

1.1 SIFT算法具的特點

1.   圖(tu)像的(de)局部特征,對旋轉、尺(chi)度縮放、亮度變(bian)化保持不變(bian),對視角變(bian)化、仿射變(bian)換(huan)、噪聲也保持一(yi)定程度的(de)穩定性。

2.   獨特(te)性好,信息量(liang)豐(feng)富,適用于海(hai)量(liang)特(te)征庫進行快速、準(zhun)確(que)的(de)匹配。

3.   多(duo)量(liang)性,即使是很少幾個物(wu)體也可(ke)以(yi)產生(sheng)大量(liang)的SIFT特征

4.   高速(su)性,經優(you)化的SIFT匹配算法甚(shen)至可以達到實時性

5.   擴招性,可(ke)以很方便的與其(qi)他的特(te)征(zheng)向量進行聯(lian)合。

1.2 SIFT特征檢測的步驟

有4個主要步驟

1.   尺度空間的極值檢測 搜索所有尺度空間上的(de)(de)圖(tu)像,通過高斯(si)微(wei)分函(han)數來識別潛在的(de)(de)對尺度和選(xuan)擇不變的(de)(de)興趣點。

2.   特征點定位 在每個(ge)候選的(de)位(wei)置上,通(tong)過一個(ge)擬合(he)精細模(mo)型來確定位(wei)置尺度(du),關鍵點的(de)選取依據他(ta)們的(de)穩定程度(du)。

3.   特征方向賦值 基于圖(tu)像局部的(de)(de)梯度(du)(du)方(fang)向,分配給(gei)每個關鍵點(dian)位置(zhi)一(yi)個或多個方(fang)向,后(hou)續的(de)(de)所(suo)有操作都是對于關鍵點(dian)的(de)(de)方(fang)向、尺(chi)度(du)(du)和位置(zhi)進行(xing)變換,從而提供這(zhe)些特征的(de)(de)不變性。

4.   特征點描述 在每個(ge)特征(zheng)點周圍(wei)的(de)鄰(lin)域內,在選定的(de)尺度上測(ce)量(liang)圖像的(de)局部梯度,這(zhe)些梯度被變換成一(yi)種(zhong)表示(shi),這(zhe)種(zhong)表示(shi)允許比較大的(de)局部形狀的(de)變形和光照變換。

2. 尺度空間

在(zai)一(yi)定的(de)(de)(de)范(fan)圍內,無論物(wu)(wu)體(ti)是(shi)大還是(shi)小,人眼(yan)都可(ke)以(yi)分辨出來(lai)。然(ran)而計算機(ji)要有(you)相同的(de)(de)(de)能力卻(que)不是(shi)那么的(de)(de)(de)容易,在(zai)未知的(de)(de)(de)場景中,計算機(ji)視覺并不能提供(gong)物(wu)(wu)體(ti)的(de)(de)(de)尺(chi)度大小,其中的(de)(de)(de)一(yi)種(zhong)方法是(shi)把物(wu)(wu)體(ti)不同尺(chi)度下(xia)的(de)(de)(de)圖像都提供(gong)給機(ji)器,讓機(ji)器能夠對物(wu)(wu)體(ti)在(zai)不同的(de)(de)(de)尺(chi)度下(xia)有(you)一(yi)個統(tong)一(yi)的(de)(de)(de)認知。在(zai)建立統(tong)一(yi)認知的(de)(de)(de)過程中,要考(kao)慮的(de)(de)(de)就是(shi)在(zai)圖像在(zai)不同的(de)(de)(de)尺(chi)度下(xia)都存在(zai)的(de)(de)(de)特征點。

2.1 多分辨率圖像金字塔

在早期圖像的多尺度通常使用圖像金字塔表(biao)示形(xing)式。圖像金字塔是同一圖像在不(bu)同的分(fen)辨(bian)率下得到的一組(zu)結果,其生成過(guo)程一般包(bao)括(kuo)兩個步驟:

1.   對原始(shi)圖像進行(xing)平滑

2.   對處理后的圖像進行降采樣(通常是水平、垂直方向的1/2)
降采樣(yang)后(hou)得(de)到一系(xi)列不斷尺(chi)寸縮小(xiao)的圖(tu)像(xiang)(xiang)(xiang)。顯然,一個(ge)傳(chuan)統的金字(zi)(zi)塔中,每(mei)一層的圖(tu)像(xiang)(xiang)(xiang)是(shi)其上一層圖(tu)像(xiang)(xiang)(xiang)長、高的各一半。多分辨率的圖(tu)像(xiang)(xiang)(xiang)金字(zi)(zi)塔雖(sui)然生成簡單,但其本(ben)質是(shi)降采樣(yang),圖(tu)像(xiang)(xiang)(xiang)的局部特征則(ze)難以保持,也就是(shi)無法保持特征的尺(chi)度不變性。

2.2 高斯尺度空間

我們還可以通過圖像的模糊程度來模擬人在距離物體由遠到近時物體在視網膜上成像過程,距離物體越近其尺寸越大圖像也越模糊,這就是高斯尺度空間,使用不同的參數模糊圖像(分辨率不變),是尺度空間的另一種表現形式。
我們知道圖像(xiang)和(he)(he)高(gao)斯(si)函數進(jin)行卷(juan)積運算能(neng)夠對(dui)圖像(xiang)進(jin)行模(mo)糊(hu),使用不同(tong)的(de)(de)(de)“高(gao)斯(si)核”可得(de)到(dao)不同(tong)模(mo)糊(hu)程度(du)的(de)(de)(de)圖像(xiang)。一副圖像(xiang)其高(gao)斯(si)尺度(du)空間可由其和(he)(he)不同(tong)的(de)(de)(de)高(gao)斯(si)卷(juan)積得(de)到(dao):

其中,是高斯核函數。

稱為尺度空間因子,它是高斯正態分布的標準差,反映了圖像被模糊的程度,其值越大圖像越模糊,對應的尺度也就越大。代表著圖像的高斯尺度空間。
構建尺度空間的目的是為了檢測出在不同的尺度下都存在的特征點,而檢測特征點較好的算子是(高斯拉普拉斯,LoG),


使用LoG雖然能較好的檢測到圖像中的特征點,但是其運算量過大,通常可使用**DoG(差分高斯,Difference of Gaussina)**來近似計算LoG[Marrand Hidreth]。

為相鄰兩個高斯尺度空間的比例因子,則DoG的定義:


其中,是圖像的高斯尺度空間。
從上式可以知道,將相鄰的兩個高斯空間的圖像相減就得到了DoG的響應圖像。為了得到DoG圖像,先要構建高斯尺度空間,而高斯的尺度空間可以在圖像金字塔降采樣的基礎上加上高斯濾波得到,也就是對圖像金字塔的每層圖像使用不同的參數進行高斯模糊,使每層金字塔有多張高斯模糊過的圖像。降采樣時,金字塔上邊一組圖像的第一張是由其下面一組圖像倒數第三張降采樣得到。
易知,高斯金字塔有多組,每組又有多層。一組中的多個層之間的尺度是不一樣的(也就是使用的高斯參數是不同的),相鄰兩層之間的尺度相差一個比例因子。如果每組有層,則。上一組圖像的最底層圖像是由下一組中尺度為的圖像進行因子為2的降采樣得到的(高斯金字塔先從底層建立)。高斯金字塔構建完成后,將相鄰的高斯金字塔相減就得到了DoG金字塔。
高斯金字塔的組數一般是


表示高斯金字塔的層數,m,n分別是圖像的行和列。減去的系數可以在0?log2min(m,n)0?log2?min(m,n)之間的任意值,和具體需要的金字塔的頂層圖像的大小有關。
高斯模糊參數(尺度空間),可由下面關系式得到


其中為所在的組,為所在的層,為初始的尺度,為每組的層數。
在Lowe的算法實現中,,就是首先將原圖像的長和寬各擴展一倍。
從上面可以得知同一組內相鄰層的圖像尺度關系


相鄰組(zu)之(zhi)間的尺度關系


2.3 高斯金字塔構建示例

以一個的圖像I為例,構建高斯金字塔步驟:(從0開始計數,倒立的金字塔)

1.   金字塔的組數,,減去因子3,構建的金字塔的組數為6。取每組的層數為3。

2.   構建第0組,將圖像的寬和高都增加一倍,變成。第0層,第1層,第2層

3.   構建第1組,對降采樣變成。第0層,第1層

4.    ??

5.   構建第o組,第s層

高斯金字塔構建成功后,將每一組相鄰的兩層相減就可以得到DoG金字塔.

3. DoG空間極值檢測

為了尋找尺度空間的極值點,每個像素點要和其圖像域(同一尺度空間)和尺度域(相鄰的尺度空間)的所有相鄰點進行比較,當其大于(或者小于)所有相鄰點時,改點就是極值點。如圖所示,中間的檢測點要和其所在圖像的鄰域8個像素點,以及其相鄰的上下兩層的領域18個像素點,共26個像素點進行比較。
從上面的描述中可以知道,每組圖像的第一層和最后一層是無法進行比較取得極值的。為了滿足尺度變換的連續性,在每一組圖像的頂層繼續使用高斯模糊生成3幅圖像,高斯金字塔每組有層圖像,DoG金字塔的每組有組圖像。

3.1 尺度變化的連續性

,也就是每組有3層,則,也就是有高斯金字塔每組有層圖像,(S-2)2層圖像。在DoG金字塔的第一組有兩層尺度分別是,第二組有兩層的尺度分別是,由于只有兩項是無法比較取得極值的(只有左右兩邊都有值才能有極值)。由于無法比較取得極值,那么我們就需要繼續對每組的圖像進行高斯模糊,使得尺度形成,這樣就可以選擇中間的三項。對應的下一組由上一組降采樣得到的三項是,其首項,剛好與上一組的最后一項的尺度連續起來。

4. 刪除不好的極值點(特征點)

通過比較檢測得到的DoG的局部極值點實在離散的空間搜索得到的,由于離散空間是對連續空間采樣得到的結果,因此在離散空間找到的極值點不一定是真正意義上的極值點,因此要設法將不滿足條件的點剔除掉。可以通過尺度空間DoG函數進行曲線擬合尋找極值點,這一步的本質是去掉DoG局部曲率非常不對稱的點
要剔除掉(diao)的不符(fu)合要求的點主要有兩種:

1.   低對(dui)比度的(de)特征點

2.   不穩定(ding)的邊緣響應(ying)點

4.1 剔除低對比度的特征點

候選特征點x,其偏移量定義為,其對比度為的絕對值,對應用泰勒展開式


由于x是D(x)的極(ji)值點(dian),所以對(dui)上(shang)式求(qiu)導(dao)并令其(qi)為0,得到


然后再把求得的ΔxΔx代入到D(x)的泰勒展開式中


設對比度的閾值為T,若,則該特征點保留,否則剔除掉(diao)。

4.2 剔除不穩定的邊緣響應點

在邊緣梯度的方向上主曲率值比較大,而沿著邊緣方向則主曲率值較小。候選特征點的DoG函數D(x)的主曲率與2×2Hessian矩陣HH的特征值成正比。


其中,是候選點鄰域對應位置的差分求得的。
為了避免求具體的值,可以使用HH特征值得比例。設為H的最大特征值,為H的(de)最(zui)小特(te)征(zheng)值(zhi),則


其中,為矩陣H的跡,為矩陣H的行列式。
表(biao)示最(zui)大(da)特(te)征(zheng)值和最(zui)小特(te)征(zheng)值的比值,則(ze)


上式的結果與兩個特征值的比例有關,和具體的大小無關,當兩個特征值想等時其值最小,并且隨著的增大而增大。因此為了檢測主曲率是否在某個閾值下,只需檢測


如果上式成立,則剔除該特征點,否則保留。(Lowe論文中取)

5. 求取特征點的主方向

經過上面的步驟已經找到了在不同尺度下都存在的特征點,為了實現圖像旋轉不變性,需要給特征點的方向進行賦值。利用特征點鄰域像素的梯度分布特性來確定其方向參數,再利用圖像的梯度直方圖求取關鍵點局部結構的穩定方向。
找到了特征點,也就可以得到該特征點的尺度,也就可以得到特征點所在(zai)的(de)尺(chi)度圖(tu)像


計算以特征點為中心、以為半徑的區域圖像的幅角和幅值,每個點L(x,y)的梯度的模以及方向可通過下面公司求得


計算得到梯度方向后,就要使用直方圖統計特征點鄰域內像素對應的梯度方向和幅值。梯度方向的直方圖的橫軸是梯度方向的角度(梯度方向的范圍是0到360度,直方圖每36度一個柱共10個柱,或者沒45度一個柱共8個柱),縱軸是梯度方向對應梯度幅值的累加,在直方圖的峰值就是特征點的主方向。在Lowe的論文還提到了使用高斯函數對直方圖進行平滑以增強特征點近的鄰域點對關鍵點方向的作用,并減少突變的影響。為了得到更精確的方向,通常還可以對離散的梯度直方圖進行插值擬合。具體而言,關鍵點的方向可以由和主峰值最近的三個柱值通過拋物線插值得到。在梯度直方圖中,當存在一個相當于主峰值80%能量的柱值時,則可以將這個方向認為是該特征點輔助方向。所以,一個特征點可能檢測到多個方向(也可以理解為,一個特征點可能產生多個坐標、尺度相同,但是方向不同的特征點)。Lowe在論文中指出15%的關鍵(jian)點具有(you)多方向,而且這些點對匹配的穩定性(xing)很關鍵(jian)。

得到特征點的主方向后,對于每個特征點可以得到三個信息,即位置、尺度和方向。由此可以確定一個SIFT特征區域,一個SIFT特征區域由三個值表示,中心表示特征點位置,半徑表示關鍵點的尺度,箭頭表示主方向。具有多個方向的關鍵點可以被復制成多份,然后將方向值分別賦給復制后的特征點,一個特征點就產生了多個坐標、尺度相等,但是方向不同的特征點。

6. 生成特征描述

通過以上的步驟已經找到了SIFT特征點位置、尺度和方向信息,下面就需要使用一組向量來描述關鍵點也就是生成特征點描述子,這個描述符不只包含特征點,也含有特征點周圍對其有貢獻的像素點。描述子應具有較高的獨立性,以保證匹配率
特征描述符的生成大(da)致有三個步驟:

1.   校正旋(xuan)轉主方向(xiang),確保旋(xuan)轉不(bu)變性。

2.   生成描述子,最終形成一個128維的特(te)征向量

3.   歸(gui)一(yi)化處理(li),將特征向量(liang)長度進行歸(gui)一(yi)化處理(li),進一(yi)步(bu)去除(chu)光照的影響。

為了保證特征矢量的旋轉不變性,要以特征點為中心,在附近鄰域內將坐標軸旋轉(特征(zheng)點的主方向)角度,即將坐(zuo)標軸旋轉為特征(zheng)點的主方向。旋轉后鄰域內像素的新坐(zuo)標為:


旋轉后以主方向為中心取 8×8的窗口。下圖所示,左圖的中央為當前關鍵點的位置,每個小格代表為關鍵點鄰域所在尺度空間的一個像素,求取每個像素的梯度幅值與梯度方向,箭頭方向代表該像素的梯度方向,長度代表梯度幅值,然后利用高斯窗口對其進行加權運算。最后在每個4×4的小塊上繪制8個方向的梯度直方圖,計算每個梯度方向的累加值,即可形成一個種子點,如右圖所示。每個特征點由4個種子點組成,每個種子點有8個方向的向量信息。這種鄰域方向性信息聯合增強了算法的抗噪聲能力,同時對于含有定位誤差的特征匹配也提供了比較理性的容錯性。
與求主方向不同,此時每個種子區域的梯度直方圖在0-360之間劃分為8個方向區間,每個區間為45度,即每個種子點有8個方向的梯度強度信息。
在實際的計算過程中,為了增強匹配的穩健性,Lowe建議

對每個關鍵點使用4×4共16個種子點來描述,這樣一個關鍵點就可以產生128維的SIFT特征向量。

通過對特征點(dian)周圍的像素(su)進行分塊,計算塊內梯度直(zhi)方圖(tu),生成具有獨(du)特性的向(xiang)量,這個向(xiang)量是該區域圖(tu)像信息的一(yi)種抽象,具有唯一(yi)性。

7. 總結

SIFT特(te)征以其(qi)對旋轉(zhuan)、尺度(du)縮放、亮度(du)等保(bao)持不變性(xing),是一(yi)種非(fei)常穩定的(de)局部特(te)征,在圖像處理和計算機視覺領域有(you)著很重要的(de)作用,其(qi)本(ben)身(shen)也是非(fei)常復雜(za)的(de),下面對其(qi)計算過程做一(yi)個粗(cu)略(lve)總(zong)結。

1.   DoG尺度空間的極值檢測。 首先是構造DoG尺度空間,在SIFT中使用不同參數的高斯模糊來表示不同的尺度空間。而構造尺度空間是為了檢測在不同尺度下都存在的特征點,特征點的檢測比較常用的方法是(高斯拉普拉斯LoG),但是LoG的運算量是比較大的,Marr和Hidreth曾指出,可以使用DoG(差分高斯)來近似計算LoG,所以在DoG的尺度空間下檢測極值點。

2.   刪除不穩定的極值點。主要(yao)刪除兩類:低對比度的(de)極值點(dian)以(yi)及不穩定的(de)邊緣(yuan)響應點(dian)。

3.   ** 確定特征點的主方向**。以特征點的為中心、以為半徑的領域內計算各個像素點的梯度的幅角和幅值,然后使用直方圖對梯度的幅角進行統計。直方圖的橫軸是梯度的方向,縱軸為梯度方向對應梯度幅值的累加值,直方圖中最高峰所對應的方向即為特征點的方向。

4.   生成特征點的描述子。 首先將坐標軸旋轉為特征點的方向,以特征點為中心的16×16的窗口的像素的梯度幅值和方向,將窗口內的像素分成16塊,每塊是其像素內8個方向的直方圖統計,共可形成128維的特征向量。

 

在線客服
客服電話
  • 0755-23712116
  • 13310869691