江燕,王靜,劉紅敏
(河南理工大學 計算機科學與技術(shù)學院,河南 焦作 454000)
圖像特征匹配是計算機視覺中的一個關(guān)鍵技術(shù)和經(jīng)典問題,在三維重建、特征識別、圖像配準等諸多領(lǐng)域有著極為重要的作用。以SIFT[1]的提出為標志,圖像特征匹配研究取得了突破性進展,大量基于手工設計特征[2-4](handcraft feature)的點匹配算法被提出和應用。隨著Alexnet[5]在ImageNet競賽中脫穎而出,基于深度學習方法的點匹配算法相繼被提出[6-10],其性能整體優(yōu)于傳統(tǒng)的基于手工設計特征的匹配方法。但基于深度學習的方法要收集大量的訓練樣本,例如N.Savinov等[11]使用2 000萬個樣本訓練深度網(wǎng)絡,以獲得較好的特征點檢測結(jié)果。而在一些特定情況下,大量訓練樣本的獲取比較困難,特別是對于曲線匹配方法研究,由于存在遮擋、斷裂等情況,一對匹配曲線在兩幅圖像上長短不一致,很難獲取固定大小的圖像作為其支撐區(qū)域。因此,現(xiàn)有曲線匹配方法仍采用基于手工設計特征的傳統(tǒng)思路,還沒有基于深度學習的方法提出。
作為曲線的特例,直線匹配在許多場景中不可替代,尤其是人工場景和三維重建。一些線匹配方法利用線段周圍的光學信息,比如亮度[12]、梯度[13-14]、顏色[15]等,這些方法都假定對應線段之間有很大部分的重疊。當對應線段之間的重疊不足時,這個假定就導致這些方法的失敗。除此之外,在重復紋理區(qū)域,因為一些線段缺乏變化的光學信息,也會導致錯誤匹配。
為減少曲線匹配中對線條形狀的依賴性,近幾年相關(guān)學者提出許多基于曲線紋理構(gòu)建描述子的研究。WANG Z H等[16]提出均值標準差直線描述子(mean-standard deviation line description,MSLD),并將其推廣到曲線匹配中,得到了均值標準差曲線描述子(mean-standard deviation curve description,MSCD)。該方法雖然取得了不錯的匹配效果,但是需要依靠局部主方向?qū)崿F(xiàn)旋轉(zhuǎn)不變性,并且該方法采用固定形狀的子區(qū)域劃分會產(chǎn)生邊界誤差。為了解決這個問題,F(xiàn)AN B等[17]提出一種新穎的依據(jù)樣本點亮度序進行子區(qū)域劃分的方法;WAN Z H等[18]提出了依據(jù)采樣區(qū)域整體和局部亮度順序信息構(gòu)造(local intensity order pattern,LIOP)特征;將文獻[17-18]的子區(qū)域劃分方法應用到MSCD中,王志衡等[19]提出了基于亮度序的均值標準差描述子(intensity order mean-standard deviation description,IOMSD)算法和基于亮度序的曲線描述子[20](intensity order curve descriptor,IOCD)。盡管基于亮度序的子區(qū)域劃分方法能消除邊界誤差,但是當曲線鄰域出現(xiàn)部分遮擋和陰影時,這種子區(qū)域劃分方法不穩(wěn)定,而且亮度序劃分方法易受噪聲、非線性光照變化的影響,使處于劃分閾值附近的像素點被誤劃分到相鄰子區(qū)域,進而影響描述子的匹配性能。
針對上述問題,本文提出一種增強亮度序劃分穩(wěn)定性的方法。具體步驟:首先將支撐區(qū)域內(nèi)所有像素點的亮度值進行非降序排列,其次將支撐區(qū)域按所含像素點的個數(shù)等分為若干子區(qū)域,最后將每個子區(qū)域與其后相鄰的子區(qū)域進行一定程度的重疊合并,形成新的子區(qū)域,使相鄰子區(qū)域包含一些相同的像素點。光照單調(diào)變化和幾何旋轉(zhuǎn)不會改變亮度序,因此,基于亮度序的子區(qū)域劃分方法同時具有幾何旋轉(zhuǎn)不變性和亮度單調(diào)變化不變性。但是該方法明顯不適用于非單調(diào)光照變化和高斯噪聲場景,因此,本文在IOMSD和IOCD的基礎上將原有子區(qū)域進行部分重疊劃分,分別提出基于重疊亮度序的均值標準差描述子(overlapping intensity order based mean-standard descriptor,OIOMSD)和重疊亮度序曲線描述子(overlapping intensity order curve descriptor,OIOCD)。
基于圖像紋理的描述子構(gòu)建的第一步是確定特征點的支撐區(qū)域,OIOMSD和OIOCD支撐區(qū)域的確定和子區(qū)域的劃分方法一致。對于曲線C上的任意像素點Pi,規(guī)定以Pi為中心、R為半徑的圓形區(qū)域為Pi的支撐區(qū)域,記為PSR(Pi),將曲線上各像素點支撐區(qū)域的集合定義為曲線C的支撐區(qū)域:CSR(C)=PSR(P1)∪PSR(P2)∪…∪PSR(Pi)∪…,顯然上述曲線支撐區(qū)域的確定過程無需考慮曲線上各點的主方向。
為了提高描述子的分辨能力,通常在構(gòu)造描述子之前對支撐區(qū)域進行子區(qū)域劃分。Fan B等[17]提出的依據(jù)亮度序劃分子區(qū)域的流程是首先將曲線支撐區(qū)域CSR內(nèi)所有點的亮度值進行非降序排列,其次依據(jù)排序信息將支撐區(qū)域平均劃分成M個子區(qū)域G1(C),G2(C),…,GM(C)。圖1(b)顯示了基于亮度序的子區(qū)域劃分結(jié)果,圖1中各個子區(qū)域使用不同顏色標記,以便于觀察劃分的細節(jié)。
圖1 子區(qū)域的劃分
圖1顯示了旋轉(zhuǎn)變化下兩幅待匹配圖像中對應的曲線,對應曲線的支撐區(qū)域含有大量亮度值近似的像素點。圖1(b)展示了使用FAN B等[17]所提亮度序劃分方法對兩條曲線支撐區(qū)域進行子區(qū)域劃分的結(jié)果。IOCD將曲線支撐區(qū)域劃分為6個子區(qū)域,對比左右2條曲線的子區(qū)域劃分可以發(fā)現(xiàn),子區(qū)域劃分結(jié)果并不穩(wěn)定。圖1(b)第二個子區(qū)域左下方位置有一些像素點,而與之對應的子區(qū)域中相同位置基本沒有出現(xiàn)像素點。另外,最后一個子區(qū)域的形狀明顯不同,左圖中像素點更為集中。對于較平坦區(qū)域,當圖像發(fā)生自然光照變化時,亮度值處于劃分閾值附近的像素點因其亮度變化程度不一致而易被劃分到不同的子區(qū)域中,造成劃分結(jié)果的不穩(wěn)定。
為解決上述灰度序劃分方法造成的像素點劃分不穩(wěn)定問題,本文提出了重疊灰度序劃分方法。將當前子區(qū)域Gi(C)與其后相鄰的子區(qū)域Gi+1(C)進行部分疊加(重疊比率ro將在2.1節(jié)參數(shù)選擇部分討論),得到具有重疊亮度范圍的新的子區(qū)域Gj(C),
Gj(C)=Gi(C)∪ro*Gi+1(C),
(1)
式中,i=1,2,…,M-1;j=1,2,…,M-1。
以OIOCD為例,圖1(c)顯示了這種重疊亮度序劃分子區(qū)域的結(jié)果(重疊比率ro=1)。顯然,基于重疊亮度序劃分子區(qū)域得到的各子區(qū)域內(nèi)的像素點的空間分布基本一致。相比于圖1(b)的亮度序劃分結(jié)果,本文所提的重疊灰度序劃分方法更加穩(wěn)定。
OIOMSD的構(gòu)造步驟如下:
(1)確定曲線支撐區(qū)域并基于重疊亮度序劃分子區(qū)域。
(2)計算曲線上各點的平均梯度和支撐區(qū)域內(nèi)某一采樣點的梯度向量。對這兩個向量分別進行標乘和矢乘運算,得到支撐區(qū)域內(nèi)各點的旋轉(zhuǎn)不變描述向量。
(3)將上述旋轉(zhuǎn)不變描述向量排列成矩陣形式并統(tǒng)計子區(qū)域的均值向量和標準差向量。
OIOCD的構(gòu)造步驟如下:
(1)確定曲線支撐區(qū)域并基于重疊亮度序劃分子區(qū)域。
(2)基于亮度序映射計算支撐區(qū)域內(nèi)采樣點的亮度序特征。
(3)通過累加各子區(qū)域采樣點的加權(quán)亮度序特征得到亮度序特征向量。
(4)依次連接得到曲線的描述矩陣DM(C),累加DM(C)并將其進行歸一化,得到重疊亮度序曲線描述子。
實驗主要展示OIOMSD和OIOCD描述子在真實圖像上的匹配結(jié)果。實驗所采用的圖像一部分是自己采集,一部分選自Oxford數(shù)據(jù)集[21],圖像的大小均為640像素×480像素。待匹配曲線采用下列方法檢測得到:對于任一圖像,首先利用Canny邊緣檢測算子提取圖像中的邊緣曲線[22],其次在各邊緣曲線的交點處和大曲率處斷開(曲率閾值5.0),最后去掉包含像素點小于20的較短曲線。Canny算子的最高閾值和最低閾值分別取0.2和0.1,高斯濾波參數(shù)取1.2。實驗采用采用歐式距離度量描述子之間的相似性,匹配準則為最近鄰/次近鄰準則NNDR(Nearest/Next Ratio),閾值設為0.8。
本文提出的OIOMSD描述子有3個參數(shù):(1)支撐半徑R;(2)子區(qū)域個數(shù)M;(3)子區(qū)域重疊比率ro。其中M決定描述子的維數(shù),R決定支撐域的大小,ro決定重疊后子區(qū)域的大小。隨著子區(qū)域個數(shù)的增加和支撐域半徑的增大,OIOMSD描述子將具有更強的分辨能力,但同時也對圖像局部遮擋和形變更加敏感,因此,這3個關(guān)鍵參數(shù)同時影響描述子的穩(wěn)定性和分辨能力。
本文提出的OIOCD描述子有7個參數(shù):(1)高斯平滑參數(shù)σ;(2)支撐半徑R;(3)子區(qū)域個數(shù)M;(4)采樣半徑r;(5)采樣點數(shù)N;(6)閾值TID;(7)子區(qū)域重疊比率ro。由文獻[14]可知,參數(shù)σ=1.0,M=6,N=4,TID=5可取得較好的匹配效果,剩下R、r和ro待確定。
確定這6個參數(shù),選用的圖像集分別是圖2視角變化圖像集的第一行前3幅圖像和圖3旋轉(zhuǎn)變換圖像集的第一行前3幅圖像。表1列出了OIOMSD不同R和M下各圖像對的匹配結(jié)果,表2列出了OIOCD不同R和r下各圖像對的匹配結(jié)果,表3和表4分別給出OIOMSD和OIOCD子區(qū)域不同重疊率下的匹配結(jié)果。本文各表中數(shù)據(jù)結(jié)果第一個數(shù)代表匹配總數(shù),括號中的數(shù)代表錯誤匹配數(shù)。為了更好衡量算法的優(yōu)越性,采用匹配總數(shù)和匹配正確率這兩個指標,這同樣適用于下表。
由表1和表2可知:隨著支撐區(qū)域半徑R的增大,匹配總數(shù)增加,但隨著子區(qū)域個數(shù)M和采樣半徑r增大,匹配總數(shù)減小,結(jié)合匹配正確率,權(quán)衡考慮R和M以及R和r,OIOMSD在R=12,M=8時匹配效果最好,OIOCD在R=22,r=6時匹配性能最好。由表3可知,OIOMSD中隨著子區(qū)域重疊比例的增加,匹配總數(shù)增加,但匹配正確率下降,本文取ro=1/3。由表4可知,ro=1時匹配總數(shù)和匹配正確率最高。
表1 OIOMSD選取不同R和M的匹配結(jié)果
表2 OIOCD選取不同R和r的匹配結(jié)果
表3 OIOMSD子區(qū)域不同重疊比率的匹配結(jié)果
表4 OIOCD子區(qū)域不同重疊比率的匹配結(jié)果
OIOMSD的實驗在參數(shù)R=12,M=8,ro=1/3下進行,OIOCD的實驗在σ=1.0,M=6,N=4,TID=5,R=22,r=6,ro=1下進行。
圖2是視角變化圖像集,6組圖像分別是通過改變相機位置獲得的。表5列出了和IOMSD、IOCD的對比結(jié)果。與IOMSD算法相比,OIOMSD算法在匹配總數(shù)上有所提高,并且正確率提高3個百分點,OIOCD算法雖然在匹配總數(shù)上有所下降,但是匹配正確率提高了11個百分點。OIOCD在匹配總數(shù)與匹配正確率上均優(yōu)于IOCD,因此,對于視角變化圖像,OIOMSD和OIOCD都具有較強的魯棒性。
圖2 視角變化圖像集
表5 視角圖像集下的匹配結(jié)果
本節(jié)主要驗證OIOMSD和OIOCD描述子在旋轉(zhuǎn)圖像集上的匹配性能。圖3為旋轉(zhuǎn)變化實驗圖像集,包含9對旋轉(zhuǎn)圖像,旋轉(zhuǎn)角度分別為20°,10°,30°,30°,10°,30°,10°,30°,20°。表6給出4種算法在旋轉(zhuǎn)變化實驗圖像集下的匹配結(jié)果。可以看出,OIOMSD和原來的算法相比,在匹配總數(shù)和匹配正確率上都有明顯提高。OIOCD雖然在匹配總數(shù)略低于IOCD,但比其他3種算法有明顯提高,并且OIOCD在匹配正確率均高于其他3種算法。尤其和IOMSD相比,匹配正確率上提高了5個百分點。因為OIOCD在構(gòu)建描述子時所選用的采樣模板及構(gòu)建方法都具有的旋轉(zhuǎn)不變性。
圖3 旋轉(zhuǎn)變化實驗圖像集
表6 旋轉(zhuǎn)變化圖像集的匹配結(jié)果
圖4為6對噪聲圖像,分別由原始圖像和噪聲圖像構(gòu)成,添加的噪聲是均值0,標準差0.01的高斯噪聲。表7給出5種算法在該圖像集的匹配結(jié)果。與IOMSD相比,OIOMSD在匹配總數(shù)與匹配正確率上均有所提高。OIOCD在匹配總數(shù)上略低于IOCD,但匹配正確率和IOCD一致,均為100%。OIOCD在匹配總數(shù)和匹配正確率上遠遠高于IOMSD,說明由于噪聲影響,IOMSD子區(qū)域劃分不穩(wěn)定,本文提出的子區(qū)域劃分方法很好地解決了子區(qū)域劃分不穩(wěn)定的問題。
圖4 噪聲圖像集
表7 噪聲圖像集的匹配結(jié)果
圖5是光照變化圖像集,第一幅圖像是非線性光照變化圖像,第二幅是單調(diào)光照變化,其他的圖像均為Photoshop處理過的非單調(diào)光照變化的。表8給出該圖像集下OIOMSD與OIOCD算法和原來兩種算法的匹配結(jié)果。
圖5 光照變化圖像集
顯然,OIOMSD匹配總數(shù)和匹配正確率比原來的算法都有提高。OIOCD在匹配總數(shù)和匹配正確率均遠遠高于IOMSD。雖然在匹配正確率上略低于IOCD,但是匹配總數(shù)有顯著的提高,尤其是在非單調(diào)光照變化圖像上。說明對于非單調(diào)光照變化圖像,OIOCD有更強的魯棒性。
表8 光照變化圖像集的匹配結(jié)果
為了更加清楚展示曲線匹配的結(jié)果,圖6詳細給出了OIOMSD在4組圖像集上的實驗結(jié)果,圖6中列出了OIOMSD和IOMSD匹配總數(shù)和匹配正確率的對比結(jié)果。
圖6 曲線匹配實驗結(jié)果對比
本文在基于亮度序劃分子區(qū)域的描述子IOMSD和IOCD的基礎上分別提出兩種新的曲線匹配描述子OIOMSD和OIOCD。它們是基于全局亮度序進行子區(qū)域劃分的,通過將相鄰子區(qū)域重疊構(gòu)成亮度序范圍交叉的新的子區(qū)域,利用圖像信息計算特征向量從而構(gòu)建描述子。重疊亮度序的子區(qū)域劃分方法增強了子區(qū)域劃分的穩(wěn)定性,充分利用了曲線周圍的紋理信息。實驗結(jié)果表明,本文提出的重疊亮度序方法構(gòu)造的OIOMSD和OIOCD描述子對常見的圖像變換具有較好的匹配性能,尤其OIOCD対非線性光照變化具有更好的魯棒性。