丁國(guó)紳,喬延利,易維寧,杜麗麗,方 薇*
(1.中國(guó)科學(xué)院 安徽光學(xué)精密機(jī)械研究所 通用光學(xué)定標(biāo)與表征技術(shù)重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 230031;2.中國(guó)科學(xué)技術(shù)大學(xué),安徽 合肥 230026)
圖像的局部特征是計(jì)算機(jī)視覺(jué)中非常重要的概念,諸多計(jì)算機(jī)視覺(jué)的應(yīng)用都是基于對(duì)圖像局部特征信息的提取與匹配技術(shù),比如人臉識(shí)別、地圖導(dǎo)航、3D建模、影像分割等等[1-4]。依據(jù)局部特征的類型,圖像特征提取技術(shù)大致可分為基于點(diǎn)、線和區(qū)域特征三類,經(jīng)典算法包括LOG(Laplacian of Gaussian)算子[5]和HOG(Histogram of Oriented Gridients)算子[6]、尺度不變特征變換(Scale-invariant Feature Transform,SIFT)[7]。其中,基于線特征和區(qū)域特征的方法大多對(duì)圖像尺度和視點(diǎn)的變化較為敏感,基于點(diǎn)特征的圖像特征提取方法則對(duì)圖像的旋轉(zhuǎn)、視點(diǎn)、尺度等變化敏感性較低。1977年,Moravec提出了特征點(diǎn)的概念并在后續(xù)文章[8]中將其應(yīng)用于圖像匹配。在Moravec角點(diǎn)檢測(cè)方法被提出之后,各種角點(diǎn)檢測(cè)算子相繼被提出,具有代表性的是Harris算子[9]和SIFT算子。Harris算子根據(jù)像素點(diǎn)灰度的一階差分計(jì)算圖像中每個(gè)點(diǎn)的特征值,然后在指定鄰域大小的圖像塊中選擇最優(yōu)的點(diǎn)作為當(dāng)前圖像塊的特征描述符,對(duì)旋轉(zhuǎn)和灰度值變化不敏感,是一種相對(duì)穩(wěn)定的圖像特征提取方法。1999年Lowe[10]提出了SIFT算子, SIFT算子的性能相比于Harris算子有了很大地提升,最顯著的就是其具有尺度不變性。因此SIFT算子一經(jīng)提出就受到了研究者的普遍關(guān)注[11-13]。
SIFT算子對(duì)圖像的尺度、旋轉(zhuǎn)、視點(diǎn)和仿射變換具有良好的穩(wěn)定性,被廣泛應(yīng)用于圖像的特征提取與匹配領(lǐng)域。隨著應(yīng)用研究的深入,SIFT方法的不足也逐漸顯露:提取的圖像特征點(diǎn)數(shù)量太少難以滿足實(shí)際工作的需要;采用鄰域內(nèi)的圖像塊信息作為特征描述符,雖然能夠描述目標(biāo)特征點(diǎn),但在一幅圖像中很有可能存在具有相似特征的不同點(diǎn),因此僅僅采用鄰域信息作為特征描述符可能會(huì)導(dǎo)致誤匹配。針對(duì)這些問(wèn)題,許多研究者提出了各種改進(jìn)方法。Zhao等[14]從曝光度出發(fā),通過(guò)調(diào)整不同灰度級(jí)的曝光效應(yīng),提升圖像對(duì)比度;曾巒等[11]首先校正了對(duì)比度控制系數(shù),然后利用改進(jìn)的RANSAC(Random Sample Consensus)方法找到匹配模型的初始參數(shù),完成圖像自動(dòng)匹配;耿慶田等[13]將圖像不變矩理論引入特征點(diǎn)檢測(cè),剔除無(wú)效特征點(diǎn),同時(shí)將鄰域圖像塊劃分為多個(gè)同心圓,構(gòu)建全局特征點(diǎn);Yu等[15]在尺度空間構(gòu)造過(guò)程中嵌入了滾動(dòng)指導(dǎo)濾波器來(lái)生成多尺度圖像,在保持邊緣的消隱方面取得了較好的效果,改進(jìn)后的非線性多尺度空間構(gòu)建策略為低信噪比的高質(zhì)量特征點(diǎn)監(jiān)測(cè)提供了依據(jù)。
本文針對(duì)上述SIFT方法的不足,提出一種基于高光譜圖像的SIFT圖像特征提取與匹配算法,提升了算法的特征檢測(cè)與匹配性能。
SIFT算法是David Lowe在1999年發(fā)表并于2004年進(jìn)行完善的基于尺度空間不變性的圖像特征檢測(cè)方法,SIFT特征描述符是基于目標(biāo)圖像的局部特征信息而與圖像的旋轉(zhuǎn)、仿射和尺度的變化無(wú)關(guān),因此該算法受到了廣大研究者的青睞并進(jìn)行了深入研究。SIFT特征描述符的構(gòu)造主要分為以下幾個(gè)步驟。
對(duì)目標(biāo)圖像進(jìn)行多尺度特征變換,得到不同尺度因子下的圖像序列。圖像的尺度空間L(xi,yi,σo)表示為原始圖像I(xi,yi)與尺度漸變的二維高斯函數(shù)G(xi,yi,σo)的卷積運(yùn)算的結(jié)果:
G(xi,yi,σo)=
(1)
L(xi,yi,σo)=G(xi,yi,σo)*I(xi,yi),
(2)
將原始圖像不斷進(jìn)行降采樣,第i+1組的第1層圖像由第i組的倒數(shù)第3層直接降采樣得到,不需要進(jìn)行高斯模糊。金字塔的層數(shù)由原始圖像和最頂層圖像的大小共同決定,如式(3)所示:
O=log2{min(M,N)}-k,
k∈[0,log2{min(M,N)}]
(3)
其中:M,N表示原始圖像的大小,k為頂層圖像大小的對(duì)數(shù)值。
相比于圖像梯度特征和角特征,高斯拉普拉斯函數(shù)的極值特征更加穩(wěn)定,而尺度歸一化的高斯拉普拉斯函數(shù)與高斯差分函數(shù)的性質(zhì)非常接近,因此不同尺度下(Difference of Gaussian,DOG)的高斯差分圖像構(gòu)成了高斯圖像差分金字塔,用來(lái)檢測(cè)圖像極值點(diǎn)。比較DOG空間中的第2層至倒數(shù)第2層的每一層圖像上的每一個(gè)像
素點(diǎn)與其鄰近的26個(gè)像素點(diǎn)的大小,即本層圖像的相鄰8個(gè)點(diǎn)和上下相鄰尺度對(duì)應(yīng)位置的9個(gè)像素點(diǎn),得到圖像的局部極值點(diǎn)。
經(jīng)過(guò)特征點(diǎn)檢測(cè)得到的只是一系列離散的特征點(diǎn),真實(shí)空間中的特征點(diǎn)位置需要插值擬合才能被更加精確地確定。為此,對(duì)DOG尺度函數(shù)進(jìn)行了子象元插值。對(duì)于任意函數(shù)f(x),其泰勒展開式如式(4)所示:
(4)
因此可以得到DOG函數(shù)的泰勒展開函數(shù):
(5)
其中X表示極值點(diǎn)的位置向量。令D′(X)=0,得到極值點(diǎn)的偏移向量:
(6)
另外,DOG算子在邊緣處產(chǎn)生的極值點(diǎn)很不穩(wěn)定,為了去除邊緣效應(yīng),設(shè)定了邊緣極值點(diǎn)的主曲率閾值,在此閾值范圍內(nèi)的極值點(diǎn)被保留下來(lái),超出閾值的極值點(diǎn)都被剔除。
在得到特征點(diǎn)的位置信息之后,就要確定特征點(diǎn)的方向,保證特征向量的旋轉(zhuǎn)不變性。以當(dāng)前特征點(diǎn)作為旋轉(zhuǎn)中心,計(jì)算給定鄰域范圍內(nèi)的圖像梯度分布值,其模值和方向計(jì)算公式分別如式(7)和式(8)所示:
(7)
θ(xi,yi)=tan-1((L(xi,yi+1)-L(xi,yi-1))/(L(xi+1,yi)-L(xi-1,yi))).
(8)
將給定半徑的圓形鄰域依次均分為36個(gè)子方向,每個(gè)方向包含10°以內(nèi)的梯度值信息,統(tǒng)計(jì)得到累加梯度值最大的一組,再經(jīng)拋物線插值即確定了特征點(diǎn)的主方向。
劃分特征點(diǎn)給定半徑的鄰域區(qū)域?yàn)?×4個(gè)子區(qū)域,每個(gè)子區(qū)域平均分成8個(gè)方向,計(jì)算每個(gè)子區(qū)域的每個(gè)方向上的梯度累加值,得到128維的向量,即為該特征點(diǎn)的特征描述符。為了降低光照對(duì)特征描述符的影響,對(duì)生成的描述符H進(jìn)行了歸一化操作。H即為目標(biāo)特征點(diǎn)的128維的特征描述符。
(9)
傳統(tǒng)SIFT算法的圖像尺度空間的構(gòu)建是依賴圖像的高斯模糊實(shí)現(xiàn)的。給定一幅待提取特征的原始圖像,將其與具有不同模糊系數(shù)的二維高斯函數(shù)分別進(jìn)行卷積運(yùn)算,得到不同模糊系數(shù)下的高斯卷積圖像。再對(duì)原始層倒數(shù)第3層的圖像進(jìn)行降采樣,然后同樣將其與具有不同模糊系數(shù)的高斯函數(shù)進(jìn)行卷積得到第2組圖像,以此類推構(gòu)造圖像金字塔。雖然構(gòu)造了圖像尺度空間,但由于空間中除原始圖像外的每一幅圖像都是通過(guò)高斯模糊或高斯模糊加降采樣的方式得到,尺度空間越大圖像越平滑,丟失的細(xì)節(jié)信息越多,因此隨著模糊程度的增加,能提取到的有用的圖像特征越少。
高光譜圖像是指光譜分辨率達(dá)到10 nm以上的光譜圖像,在不同波段下對(duì)同一目標(biāo)區(qū)域同時(shí)成像,各波段下的圖像在相同位置具有不同的DN(Digital Number)值,波段間隔越小,圖像間的DN值差異越小。
受高光譜圖像性質(zhì)的啟發(fā),本文重新構(gòu)造了圖像的尺度空間,首次提出用高光譜圖像構(gòu)造圖像金字塔的方式,具體操作如下:
(1)在可見(jiàn)光波段范圍內(nèi),選取一組高光譜圖像作為圖像金字塔的原始層圖像,本層中的每一幅圖像都未經(jīng)高斯卷積操作;
(2)第2組中的每一層圖像都是由原始層圖像不經(jīng)過(guò)高斯模糊直接降采樣得到,以此類推構(gòu)造圖像金字塔;
(3)各組中相鄰的兩層圖像相減得到高斯差分金字塔。
圖1為圖像尺度空間構(gòu)造示意圖。
圖1 圖像尺度空間構(gòu)建Fig.1 Image scale space construction
從高斯金字塔的構(gòu)建到特征描述符的生成都是為了完成后續(xù)的特征提取與匹配工作,然而不管是傳統(tǒng)SIFT算法還是許多針對(duì)SIFT算法展開的一系列研究都無(wú)法避免誤匹配現(xiàn)象[11,13,15]。這些算法通過(guò)各種改進(jìn)措施增強(qiáng)特征描述符的魯棒性,提高特征提取與匹配的效率,但在構(gòu)造特征描述符時(shí)大都是采集目標(biāo)特征點(diǎn)給定鄰域內(nèi)的圖像塊信息特征,僅以統(tǒng)計(jì)學(xué)的角度來(lái)比較目標(biāo)特征點(diǎn)與待匹配特征點(diǎn)的相似程度,而沒(méi)有考慮目標(biāo)特征點(diǎn)在原圖像中的位置信息。因此本文擴(kuò)展了描述符向量,使其包含了能夠表征描述符的位置向量,在進(jìn)行特征點(diǎn)匹配時(shí)分為粗匹配與細(xì)匹配兩個(gè)步驟。
圖2 基準(zhǔn)匹配二維示意圖Fig.2 2D diagrammatic sketch of basic matching
(ly-my)x+(mx-lx)y+
my(lx-mx)-mx(ly-my)=0,
(10)
(ny-py)x+(px-nx)y+
py(nx-px)-px(ny-py)=0,
(11)
令ly-my=a1,mx-lx=b1,my(lx-mx)-mx(ly-my)=c1,ny-py=a2,px-nx=b2,py(nx-px)-px(ny-py)=c2,則交點(diǎn)f的坐標(biāo)為:
(12)
令r1=|nf|/|np|,r2=|mf|/|ml|,則:
r1=((nx-fx)2+
(ny-fy)2)/((nx-px)2+(ny-py)2),
(13)
r2=((mx-fx)2+
(my-fy)2)/((mx-lx)2+(my-ly)2).
(14)
由于圖像在變換過(guò)程中,各個(gè)點(diǎn)的相對(duì)位置不變,因而存在以下關(guān)系:
|nf|/|np|=|n′f′|/|n′p′|,
(15)
則交點(diǎn)f′的坐標(biāo)為:
(16)
(17)
(18)
(19)
最后判斷ξ是否在容許誤差范圍內(nèi),據(jù)此判斷是否執(zhí)行剔除操作。
由于本文是首次將高光譜圖像用來(lái)構(gòu)造圖金字塔,因此實(shí)驗(yàn)圖像采用的是規(guī)格為IS210-0.4-1.0-L的Brimrose高光譜成像光譜儀拍攝得到。仿真環(huán)境為Windows 7(64位)操作系統(tǒng),Intel R Core TM i5-2430M CPU @ 3.20 GHz處理器,4.00 GB內(nèi)存,MATLAB R2018a編碼。為了驗(yàn)證所提改進(jìn)算法的可行性及算法性能,本文采用傳統(tǒng)SIFT算法和改進(jìn)算法進(jìn)行同步實(shí)驗(yàn),驗(yàn)證改進(jìn)算法的性能。論文實(shí)驗(yàn)中用到的測(cè)試圖像鏈接為:https://pan.baidu.com/s/1WFyu3Yv4Jp2bnU28amSyAg
對(duì)比實(shí)驗(yàn)分為4組,第1~3組采用了同一組高光譜圖像,對(duì)應(yīng)的波段間隔分別為25 nm、35 nm和50 nm,驗(yàn)證波段間隔的大小對(duì)特征點(diǎn)采集的影響;第4組采用了低曝光率下波段間隔為50 nm的高光譜圖像,與第3組實(shí)驗(yàn)進(jìn)行對(duì)比,驗(yàn)證高光譜相機(jī)的曝光率對(duì)特征點(diǎn)采集的影響。圖3和圖4是在波段間隔為50和25,最近鄰與次近鄰比值分別為0.8和1.0時(shí)傳統(tǒng)SIFT算法在每層圖像上的匹配結(jié)果圖和最近鄰與次近鄰比值為1.0時(shí)改進(jìn)算法在高光譜圖像金字塔和高光譜圖像金字塔以及位置準(zhǔn)則下的匹配結(jié)果圖。為保證匹配精度,位置準(zhǔn)則的判定閾值設(shè)定為2。
從各組實(shí)驗(yàn)(圖3和圖4)的圖(a)和圖(b)可以看出,基于單波段圖像的傳統(tǒng)SIFT算法提取到的特征點(diǎn)數(shù)量非常有限,而且存在許多誤匹配。兩組圖(c)表示在改變圖像金字塔的構(gòu)造方式下,算法提取到的特征點(diǎn)與匹配效果,顯然基于3.1節(jié)的圖像金字塔構(gòu)造方式能大大提高檢測(cè)特征點(diǎn)的數(shù)量。相應(yīng)的圖(d)表示在構(gòu)造了基于高光譜圖像的圖像金字塔之后又采用了基于位置準(zhǔn)則的特征提取與匹配方法的最終結(jié)果,可以看出算法無(wú)論是在特征點(diǎn)提取的數(shù)量還是在匹配的效果上都得到了很大提升。
圖3 波段間隔為50時(shí)的特征點(diǎn)匹配結(jié)果Fig.3 Matching results of feature points at 50 band intervals
圖4 波段間隔為25時(shí)的特征點(diǎn)匹配結(jié)果Fig.4 Matching results of feature points at 25 band intervals
表1 特征點(diǎn)匹配結(jié)果
Tab.1 Matching results of feature points
表1給出了在特征描述符的最近鄰與次近鄰比值分別在0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1.0,1.05時(shí)傳統(tǒng)SIFT算法檢測(cè)到的中間波段圖像的匹配對(duì)數(shù)量(包括誤匹配)、正確匹配對(duì)數(shù)量和本文算法檢測(cè)到的匹配對(duì)數(shù)量。由于低波段和高波段的圖像能見(jiàn)度低,SIFT算法的輸入是單波段圖像,因而為保證實(shí)驗(yàn)公平性此處選擇中間波段圖像。通過(guò)理論分析與人工校驗(yàn),本文算法最終的匹配對(duì)所包含的誤匹配數(shù)量為0對(duì)。根據(jù)實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),隨著最近鄰與次近鄰比值的增大,SIFT算法所提取與匹配到的特征點(diǎn)數(shù)量在不斷增加,但誤匹配數(shù)量也隨之增加,與Lowe的實(shí)驗(yàn)現(xiàn)象一致。另外,本文所提改進(jìn)算法在特征點(diǎn)數(shù)量的提取上有了很大提高,證明將高光譜圖像作為圖像金字塔的構(gòu)造方式是積極有效的;而且沒(méi)有誤匹配,證明我們的基于位置準(zhǔn)則的雙重匹配策略也是切實(shí)可行的。圖5是特征匹配對(duì)最近鄰與次近鄰比值在0.6~1.05時(shí)傳統(tǒng)SIFT算法在所有波段下特征點(diǎn)的平均正確匹配對(duì)數(shù)量與本文算法的正確匹配對(duì)數(shù)量曲線,更能直觀地反映出改進(jìn)算法在性能上的提升程度。
圖5 平均正確匹配數(shù)量曲線Fig.5 Average correct matching quantity curve
時(shí)間花銷是衡量算法效率的一個(gè)積極指標(biāo)。經(jīng)過(guò)統(tǒng)計(jì),本文算法的時(shí)間花銷相比于傳統(tǒng)SIFT算法與文獻(xiàn)[16-17]的程度相當(dāng)。不過(guò)本文旨在提出一種新的思路來(lái)拓展SIFT算法的優(yōu)化方向,對(duì)于時(shí)間花銷的優(yōu)化將在下一步的工作中進(jìn)行。綜合來(lái)看,本文算法有效提升了算法的特征點(diǎn)提取與匹配能力。
圖像的特征點(diǎn)提取與匹配是圖像處理領(lǐng)域最重要的操作之一。本文針對(duì)傳統(tǒng)SIFT算法所存在的提取特征點(diǎn)數(shù)量少、誤匹率高的缺陷,提出了一種新的解決辦法。在圖像金字塔的構(gòu)造方式上,摒棄了使用單一圖像經(jīng)不同程度高斯模糊產(chǎn)生不同尺度下的圖像組的做法,將不同波段的高光譜圖像進(jìn)行直接降采樣生成圖像金字塔,以保證能提取到更多的原始信息。為了擺脫匹配階段正確匹配對(duì)數(shù)量與誤匹配率的束縛,我們提出了雙重匹配的策略。在粗匹配階段依然延續(xù)最近鄰與次近鄰的比值作為匹配判斷標(biāo)準(zhǔn),但此處的閾值設(shè)定有了較大的提升,能夠包含更多的正確匹配對(duì)。在完成粗匹配操作之后,對(duì)匹配結(jié)果按相似性程度進(jìn)行排序,完成第二階段的精細(xì)匹配操作。實(shí)驗(yàn)結(jié)果也顯示了本文所做改進(jìn)方式無(wú)論在特征點(diǎn)的提取數(shù)量方面還是在特征點(diǎn)的匹配精度方面都起到了很大的作用,提高了算法的有效性。下一步工作將基于本文的研究,將重點(diǎn)放在算法的效率優(yōu)化上,進(jìn)一步全面整合改進(jìn)措施,提高算法的整體性能。