摘 要: 尺度不變特征變換(SIFT)圖像匹配算法是基于灰度運(yùn)算的, 對(duì)于灰度上相近而在色彩信息上有差別的圖像,SIFT算法往往產(chǎn)生誤匹配,導(dǎo)致SIFT算法匹配率降低.。針對(duì)這個(gè)問題,結(jié)合圖像顏色信息,采用顏色直方圖方法對(duì)SIFT算法進(jìn)行了改進(jìn)。實(shí)驗(yàn)結(jié)果表明,改進(jìn)算法可以有效區(qū)分灰度相近而色彩不同的圖像。
關(guān)鍵詞: 尺度不變特征變換(SIFT); 圖像匹配; 顏色直方圖
中圖分類號(hào): TP39141 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào):2095-2163(2013)03-0025-03
An Improved Method of SIFT Algorithm based on Color Histogram
LI Haiyang, WEN Yongge
(College of Math Computer Science, Mianyang Normal University, Mianyang Sichuan 621000,China)
Abstract: The SIFT algorithm is based on gray-scale computing. For those images similar in gray scale but different in color, using SIFT algorithm will produce high mismatches rate. To solve this problem, the methods described by image color feature are used to improve the accuracy of local feature in this study. Experimental results show that the improved algorithm can effectively distinguish between similar gray-scale and different color image.
Key words: Scale Invariant Feature Transform (SIFT); Image Matching; Color Histogram
0 引 言
圖像匹配是計(jì)算機(jī)視覺的一個(gè)重要問題,在圖像識(shí)別、圖像拼接、圖像恢復(fù)等領(lǐng)域發(fā)揮著重要而有效的技術(shù)基礎(chǔ)的現(xiàn)實(shí)作用。基于圖像特征點(diǎn)的匹配是目前研究的主流方向。常用的特征點(diǎn)檢測(cè)方法是直接提取角點(diǎn)或邊緣,如Harris[1]角點(diǎn)檢測(cè)。但是,這類算法對(duì)環(huán)境的適應(yīng)能力較差,對(duì)于不同尺度的圖像, 往往無法建立相應(yīng)的特征點(diǎn)對(duì)應(yīng)關(guān)系。文獻(xiàn)[2]中提出了一種基于尺度空間的、對(duì)圖像縮放、旋轉(zhuǎn)甚至仿射變換保持不變性的局部特征描述算子-SIFT。文獻(xiàn)[3]通過實(shí)驗(yàn)證明了SIFT算法對(duì)光照變化、幾何變形、分辨率差異、旋轉(zhuǎn)具有一定不變性,是性能表現(xiàn)最佳的算法之一。
然而,SIFT算法仍存在一些問題。由于采用灰度來運(yùn)算, 對(duì)于那些在灰度上相近而色彩信息不同的圖像易產(chǎn)生誤匹配,導(dǎo)致SIFT算法匹配率也隨之降低。本文在SIFT算法基礎(chǔ)上,結(jié)合圖像彩色信息特征,對(duì)SIFT匹配算法進(jìn)行改進(jìn),可以有效區(qū)分灰度上相近而色彩信息不同的圖像,進(jìn)而提高SIFT算法匹配率。
1 SIFT算法簡(jiǎn)介
1.1 SIFT算法原理與步驟
SIFT算法是一種提取局部特征的算法,其基本原理是在各個(gè)不同尺度的特征點(diǎn)比較中得到極值點(diǎn),形成局部特征描述子,然后通過特征點(diǎn)的兩兩比較找出相互匹配的若干對(duì)特征點(diǎn),從而建立不同圖像的對(duì)應(yīng)關(guān)系。其實(shí)現(xiàn)步驟如圖1所示。
1.2 SIFT 特征點(diǎn)檢測(cè)與描述
實(shí)現(xiàn)SIFT算法的關(guān)鍵在于特征點(diǎn)檢測(cè),生成圖像特征點(diǎn)描述。具體來說,主要包括:尺度空間極值檢測(cè)、關(guān)鍵點(diǎn)的定位、關(guān)鍵點(diǎn)方向分配、關(guān)鍵點(diǎn)描述。
圖1 SIFT算法實(shí)現(xiàn)步驟
1.2.1 尺度空間極值檢測(cè)
高斯核是唯一可以產(chǎn)生多尺度空間的核[4]。一個(gè)圖像的尺度空間L(x,y,σ)定義為原始圖像I(x,y)與一個(gè)可變尺度的2維高斯函數(shù)G(x,y,σ) 卷積運(yùn)算。其公式如下:
(1)
其中,G(x,y,σ)=12πσ2 e-(x2+y2)/2σ2。
相鄰尺度的 2 個(gè)高斯圖像相減得到高斯差分多尺度空間D ( x , y , σ)。 D ( x , y , σ)可表示為:
D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ)
(2)
1.2.2 關(guān)鍵點(diǎn)的定位
由于DoG值對(duì)噪聲和邊緣較敏感,所以對(duì)局部極值點(diǎn)還要經(jīng)過進(jìn)一步的檢驗(yàn),需要對(duì)尺度空間DoG函數(shù)進(jìn)行曲線擬合。利用DoG函數(shù)在尺度空間的Taylor展開式:
(3)
求導(dǎo)得到修正值X∧=-(2DX2)-1DX,并代入D(X∧)=D+12 DTX,獲取極值點(diǎn)。不斷修正X∧,當(dāng)D(X∧)<0.03時(shí)[2]為不穩(wěn)定極值點(diǎn),應(yīng)去除。第3期 李海洋,等:基于顏色直方圖的SIFT算法改進(jìn) 智能計(jì)算機(jī)與應(yīng)用 第3卷
1.2.3 關(guān)鍵點(diǎn)方向分配
關(guān)鍵點(diǎn)方向分配的目的是利用關(guān)鍵點(diǎn)鄰域像素的梯度方向分布特性,為每個(gè)關(guān)鍵點(diǎn)指定方向,保證描述子對(duì)圖像旋轉(zhuǎn)具有不變性。關(guān)鍵點(diǎn)在(x, y)處的梯度值和方向分別為:
1.2.4 關(guān)鍵點(diǎn)描述
關(guān)鍵點(diǎn)描述的意圖在于完成關(guān)鍵點(diǎn)梯度值和方向計(jì)算后,用一組向量描述此關(guān)鍵點(diǎn),并將其作為目標(biāo)匹配的依據(jù),使關(guān)鍵點(diǎn)具有不變特性。關(guān)鍵點(diǎn)描述子的生成如圖2所示。
圖2 關(guān)鍵點(diǎn)描述子的生成
Fig.2 Generation of key point descriptor
由圖2可見,以關(guān)鍵點(diǎn)為中心選8*8的窗口。圖2左部分為當(dāng)前關(guān)鍵點(diǎn)的位置,每個(gè)小格代表關(guān)鍵點(diǎn)鄰域所在尺度空間的一個(gè)像素,箭頭指示代表該像素的梯度方向,箭頭長(zhǎng)度代表梯度模值。在每4*4的小塊上計(jì)算8個(gè)方向的梯度方向直方圖,繪制每個(gè)梯度方向的累加值,即可形成一個(gè)種子點(diǎn),如圖2右部分所示。一個(gè)關(guān)鍵點(diǎn)由2*2共4個(gè)種子點(diǎn)組成,每個(gè)種子點(diǎn)有8個(gè)方向向量信息。所以,每個(gè)特征點(diǎn)產(chǎn)生4*4*8 共 128 個(gè)數(shù)據(jù),即形成最終128維的 SIFT 特征向量或特征描述符。
2 SIFT算法問題描述
SIFT算法采用灰度運(yùn)算,對(duì)于顏色不變的圖像,具有很高的魯棒性。但是,當(dāng)圖像出現(xiàn)顏色變化時(shí), SIFT算法的分辨效果明顯降低。特別是對(duì)于形狀、紋理相似但顏色不同的物體,采用SIFT算法極易產(chǎn)生誤匹配。SIFT 算法的一個(gè)誤匹配結(jié)果如圖3所示。
圖3 SIFT算法的誤匹配結(jié)果
Fig.3 False matching result of SIFT algorithm
由圖3結(jié)果可以看出,兩個(gè)物體形狀、紋理相似,而顏色不同,但卻發(fā)生了匹配成功。這說明SIFT算法在處理彩色圖像時(shí)缺乏穩(wěn)定性。產(chǎn)生誤匹配的主要原因在于SIFT算法采用灰度運(yùn)算,忽略了圖像的顏色差別。
這種誤匹配,應(yīng)結(jié)合圖像顏色信息才能消除。文獻(xiàn)[5]采用了構(gòu)造賦色SIFT特征描述子的方式消除誤匹配,并證明了這種方式的有效性。由于這種算法檢測(cè)得到的特征點(diǎn)包含了顏色信息,在特征點(diǎn)描述時(shí)要生成128維特征向量,在圖像配準(zhǔn)時(shí)也要進(jìn)行128維向量的匹配計(jì)算,造成后續(xù)計(jì)算量大,影響 SIFT 的算法實(shí)時(shí)性。針對(duì)以上問題,本文引入顏色直方圖方法對(duì)SIFT算法加以改進(jìn)。改進(jìn)算法的思想主要是在特征點(diǎn)檢測(cè)前通過顏色信息區(qū)別不同物體,再利用SIFT算法進(jìn)行檢測(cè),由此降低了誤配率,減少了生成特征描述符計(jì)算量,同時(shí)提高了特征匹配速度,并保持SIFT算法的魯棒性。
3 算法改進(jìn)
3.1 顏色歸一化處理
在特征點(diǎn)檢測(cè)之前,需對(duì)彩色圖像進(jìn)行顏色歸一化處理[5],由此獲取顏色空間。具體公式如下:
(6)
3.2 構(gòu)建顏色直方圖
顏色歸一化處理后,進(jìn)行顏色量化處理。在特征點(diǎn)處選擇一個(gè)8×8的鄰域,計(jì)算該鄰域內(nèi)的梯度直方圖[5],如圖4所示。
3.3 改進(jìn)步驟
量化處理后,就可根據(jù)顏色直方圖來匹配圖像。兩幅圖像如果沒有顏色差異,其灰度就是一致的,使用方法不影響SIFT算法的魯棒性;如果兩幅圖像灰度相近而顏色有差異,改進(jìn)算法就可以在特征點(diǎn)描述時(shí)加以區(qū)分。算法改進(jìn)步驟如圖5所示。
圖4 特征點(diǎn)梯度直方圖
Fig.4 Feature point gradient histogram
圖5 改進(jìn)后SIFT算法步驟
Fig.5 Steps of improved SIFT algorithm
4 實(shí)驗(yàn)結(jié)果
改進(jìn)算法在SIFT特征點(diǎn)檢測(cè)之前提取圖像顏色直方圖,以此為基礎(chǔ),按SIFT算法步驟進(jìn)行特征點(diǎn)檢測(cè)、描述,生成目標(biāo)特征點(diǎn)集,并兩兩匹配特征點(diǎn),剔除誤配點(diǎn),再根據(jù)匹配點(diǎn)數(shù)量來判斷圖像相似度,選取相似度最大圖像作為匹配結(jié)果。其顏色分析結(jié)果和顏色直方圖如圖6所示。
由圖6可以看出,兩幅圖像在灰度和紋理上沒有差別,但是在顏色上卻有著很大的差異。由于兩幅圖像具有不同的顏色,其區(qū)域的灰度直方圖不同,相似度低,就不會(huì)匹配成功。在特征點(diǎn)檢測(cè)過程中,只需要比對(duì)兩幅圖像的顏色直方圖就可以將其區(qū)分開來。
5 結(jié)束語
針對(duì)SIFT匹配算法在灰度上相近而在色彩信息上有差別的圖像時(shí)存在的問題,本文結(jié)合圖像彩色信息,采用顏色直方圖對(duì)SIFT進(jìn)行了改進(jìn)。改進(jìn)算法既保留了SIFT算法魯棒性高的優(yōu)點(diǎn),又對(duì)SIFT算法的缺點(diǎn)進(jìn)行了改善。實(shí)驗(yàn)結(jié)果表明,該方法可以獲得良好、有效的圖像處理結(jié)果。
參考文獻(xiàn):
[1]HARRIS C, STEPHENS M J.A combined corner and edge detector[C]//Alvey Conference, 1988: 147- 152.
[2]LOWE D G. Distinctive image features from scale-invariant keypoints [J].International Journal of Computer Vision, 2004, 60(2): 91-110.
[3]MIKOLAJCZYK K, SCHMID C. A performance evaluation of local descriptors [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2005, 27(10): 1615-1630.
[4]LINDEBERG T. Scale-space theory: a basic tool for analyzing structures at different scales[J]. Journal of Applied Statistics, 1994, 21(2): 224-270.
[5]趙文哲,秦世引. 基于感興趣點(diǎn)特征的彩色圖像目標(biāo)分類與識(shí)別[J]. 系統(tǒng)工程與電子技術(shù),2011, 33(2): 438-442.