霍占強,劉玉潔,付苗苗,喬應旭
(河南理工大學計算機科學與技術學院,河南焦作 454000)
基于特征的圖像匹配一直是計算機視覺領域的研究熱點,被廣泛應用于各種視覺應用,如對象和場景識別[1-2]、目標跟蹤[3]、3D 重建[4-5]、圖像配準[6-7]和圖像拼接[8-9]等。特征描述是圖像特征匹配中的重要步驟,描述子的性能直接影響后續的視覺應用效果,因此,需要設計高效且魯棒性強的圖像特征描述方法。
在各種圖像特征中,特征點描述子得到廣泛研究。早期的特征點描述主要基于手工設計方法,具有代表性的特征點描述子包括浮點型描述子和二值型描述子。浮點型描述子包含SIFT(Scale-Invariant Feature Transform)[10]、DSP-SIFT(Domain-Size Pooling-Scale-Invariant Feature Transform)[11]、SURF(Speeded Up Robust Features)[12]和DAISY[13]等,二值型描述子包含BRIEF(Binary Robust Independent Elementary Feature)[14]、BRISK(Binary Robust Invariant Scalable Keypoints)[15]和FREAK(the Fast Retina Keypoint)[16]等。除了手工設計方法外,研究人員還提出基于學習的局部特征描述方法,如線性判別嵌入學習方法[17]和模塊化組合優化學習方法[18]。近年來,隨著深度學習技術的迅速發展,基于深度學習的局部特征描述方法相繼被提出。文獻[19]使用卷積神經網絡(Convolutional Neural Network,CNN)學習塊描述子,利用ImageNet[20]訓練卷積網絡,在最后一層網絡中得到的特征優于SIFT。文獻[21]采用共享參數的“雙塔”型網絡提取特征,然后將串聯特征作為度量網絡的輸入,其取得了較好的效果。文獻[22]提出一種基于困難樣本挖掘的訓練策略,在相對淺的網絡結構下取得了較好效果。文獻[23]提出L2Net,其能有效利用網絡中間卷積層的判別信息,大幅提高匹配性能。基于L2Net的網絡結構,文獻[24]提出HardNet,其使用三元組損失函數,通過最大化每批次中最接近的正樣本與負樣本之間的距離來獲得更緊湊的描述子,HardNet的描述性能較L2Net 進一步提升。文獻[25]認為優秀的特征描述方法應該使不同的特征點均勻分布在特征空間中,在該假設下,提出基于負樣本距離第二矩的正則項。
除了特征點外,直線也是重要的圖像特征,其可捕獲圖像中的邊緣或紋理信息,因此,直線特征比點特征包含更多的結構信息。另外,在諸如城市建筑物和道路等人造物體和場景中,存在大量的重復紋理或弱紋理區域,使得特征點描述子的匹配性能大幅下降。與點相比,直線包含更大的紋理區域以及更多的幾何信息,能夠為直線匹配提供更多的約束條件,從而有助于提高匹配性能[26]。但是,由于斷裂、遮擋等原因,2 條匹配直線的長度可能不同,因此直線匹配也面臨一些特定的問題。
目前,研究人員提出多種直線匹配方法,大體分為基于幾何關系的方法和基于統計的方法兩類。在基于幾何關系的方法中,文獻[27]提出基于圖像平面射影不變量的直線匹配算法,該算法選擇2 條直線和2 個點擬合局部單應性矩陣,然后利用該單應性矩陣進行直線匹配。文獻[26]利用直線和點的關系構造幾何不變量從而實現直線匹配,由于該方法依賴點的對應關系,因此不適用于弱紋理場景的圖像匹配任務。在基于統計的方法中,文獻[28]受SIFT 的啟發,提出均值標準差線描述子(Mean-Standard Deviation Line Descriptor,MSLD),將直線上每個點的支持區域劃分為重疊的子區域,然后計算梯度描述矩陣(Gradient Description Matrix,GDM),將該子區域表示為向量,為了避免直線長度不一致的影響,統計GDM 列向量的均值和標準差,獲得與直線長度無關的線描述子。文獻[29]利用平行線間較小的間距,加入尺度不變描述,構造尺度不變的描述子SMSLD(Scale-invariant Mean-Standard deviation Line Descriptor),以提高寬基線下的匹配精度。文獻[30]引入亮度序劃分思想,提出基于亮度序的曲線描述子(Intensity Order Curve Descriptor,IOCD),其對扭曲、形變等變換圖像具有較好的魯棒性。文獻[31]將LBD(Line Band Descriptor)與幾何屬性相結合以解決匹配問題,首先使用LBD 生成候選直線匹配,然后利用候選匹配的兩兩幾何屬性建立關系圖,在此基礎上獲得最終的匹配關系。文獻[32]結合直線的幾何屬性、局部外觀和直線鄰域的結構上下文,提出一種雙視圖直線匹配算法,其適用于低紋理圖像的直線匹配任務。
近年來,在各種視覺任務中,CNN 表現出其強大的特征提取與描述能力。然而,目前的線特征描述仍然基于傳統的手工設計方法。本文使用神經網絡學習直線特征的描述,提出一種基于CNN 的直線特征描述子,以實現高效的直線匹配。引入標注匹配信息的大規模直線數據集,用于網絡的訓練和測試,以驗證該直線描述方法在圖像視角、模糊、尺度和旋轉等因素變化情況下的匹配性能。
為學習強魯棒性的直線特征描述子,本文構建用于神經網絡學習的直線特征數據集,并對直線是否匹配進行標記。
以互聯網下載或戶外拍照的方式收集不同場景下的圖像,獲得大約5 600 對圖像,考慮到所收集圖像應包含盡可能多的直線特征,因此大部分圖像為建筑物。同時,這些圖像包括多種變換,如模糊、噪聲、旋轉、視角、尺度、光照和壓縮。圖1 所示為數據集中不同圖像變換的示例,每一行中第一幅為參考圖像,其余為不同變換程度的目標圖像。

圖1 圖像變換示例Fig.1 Example of image transformations
利用Canny 邊緣檢測算子[33]獲取圖像的邊緣信息,然后去除曲率較大的點,剔除長度小于20 像素的較短直線,最終得到圖像中的檢測直線。隨后,為獲得匹配的直線對,使用IOCD 描述子[30]對收集到的約5 600 對圖像進行直線匹配,獲得潛在的匹配直線對。為確保匹配結果的準確性,采用人工剔除錯誤匹配的方法,將潛在匹配直線對中的錯誤匹配剔除,獲得訓練所需的約20.8 萬對正確匹配直線。圖2所示為每種圖像變換下正確匹配的直線對數量。

圖2 不同圖像變換下正確匹配的直線對數量Fig.2 The number of matching line pairs correctly under different image transformations
在獲得匹配直線對后,為能夠利用網絡進行訓練,對直線對是否匹配進行標記,標記方法如下:將2 個連續數字i和i+1(i=0,2,…)分別分配給匹配的2條直線,作為它們的ID,同時存儲每條直線上各點的位置信息,例如,2 條直線的ID 分別是12 和13,則這2 條直線是匹配直線對。為得到非匹配的直線對,只需從直線集中選擇ID 為i、j且j≠i+1 的直線對即可,例如,i=14、j=16 的2 條直線則為非匹配直線對。
本文利用直線周圍的局部圖像塊來表征該直線,對于圖像中由K個點組成的直線L,L上的像素點表示為Pi(i=1,2,…,K),直線L對應局部圖像塊的提取方式為:
1)以點Pi(i=1,2,…,K)為中心,取該點周圍鄰域中大小為64×64 的正方形區域作為點Pi的支撐區域,表示為矩陣Ω(Pi)。
2)計算直線L與水平線之間的夾角θ:

其中,(x1,y1)和(x2,y2)分別表示直線L的2 個端點坐標。
3)以點Pi為中心逆時針旋轉Ω(Pi),獲得點Pi的旋轉支撐區域,表示為Ω′(Pi):

其中,(x,y)是Ω(Pi)內像素點的坐標,(X,Y)是旋轉后支撐區域Ω′(Pi)內(x,y)對應的坐標。
4)根據各點的支撐區域得到直線L的支撐區域,表示為Ω(L):

其中,Ω(L)的大小為64×(32+K+32)。
由于檢測直線中包含的像素點數目不同,即直線長短不一,導致直線支撐區域Ω(L)的大小也不同。為確保網絡輸入的一致性,本文利用線性插值方法將上述直線L的支撐區域Ω(L)轉換為大小為64×N的圖像塊,表示為矩陣M(L),其中,64 表示M(L)的高度,N表示M(L)的長度。
圖3 所示為直線圖像塊的獲取過程:從原始圖像A和B中分別獲取匹配直線L和L′,然后依據直線的梯度方向獲取對應的支撐區域Ω(L)和Ω(L′),隨后進行尺寸歸一化得到最終的圖像塊M(L)和M(L′)。從圖3 可以看出,盡管2 條直線存在旋轉變化,但根據本文方法獲得的2 條直線的局部圖像塊非常相似,從而為獲取魯棒的直線特征描述提供支撐。

圖3 直線圖像塊獲取過程Fig.3 Acquisition process of line image blocks
近年來,HardNet[24]在寬基線立體匹配、塊驗證和實例檢索等方面表現出優越性能。本文以HardNet 模型架構為基礎,學習直線特征描述子。HardNet 網絡架構采用7 層全卷積網絡結構,在每個卷積層之后使用批量標準化,并通過改變卷積的步長值實現降采樣操作。原始HardNet 訓練集中的圖像大小為64×64,而本文直線圖像塊大小為64×N。為適應本文圖像塊的尺寸,將最后一層卷積核的大小由8×8 改為16×32。圖4 所示為N取128 時本文神經網絡模型結構,輸入為64×128 的圖像塊,輸出為128 維的直線描述子。

圖4 本文神經網絡模型結構Fig.4 Neural network model structure in this paper
三元組損失函數[24]在點特征描述方面具有優越的學習能力,本文使用三元組損失函數來最大化訓練數據中正樣本和與其最接近的負樣本之間的距離。三元組損失函數表示如下:

其中,t表示訓練過程中每批次生成的三元組個數,計算向量ai與向量bi之間的距離,ai代表直線L的描述子,bi代表直線L′的描述子,直線L和直線L′是圖像對中的一對匹配直線,即ai與bi為一對匹配的描述子,bjmin表示該批次生成的三元組中最接近ai的不匹配描述子,jmin=minj=1,2,…,n,j≠i d(ai,bj),akmin表示最接近bi的不匹配描述子,kmin=mink=1,2,…,n,k≠id(ak,bi)。

圖5 三元組的獲取過程Fig.5 Acquisition process of triples
將構造的直線特征數據集分為訓練集和測試集2 個子集。訓練集包含約16.7 萬對匹配圖像塊,通過每批次生成512 個三元組的形式,共產生約360 萬個三元組用于訓練。測試集包含約4.1 萬對匹配圖像塊和4.1 萬對不匹配圖像塊,其中,不匹配圖像塊從匹配圖像塊數據集中隨機組合獲得。
網絡的訓練參數設置如下:權值初始化為增益0.6、偏差0.01 的正交項,優化過程采用隨機梯度下降法,初始學習率為0.1,訓練過程中每個學習周期的學習率降低,權值衰減為0.000 1,訓練樣本的批量大小設置為512。需要注意的是,圖像塊在輸入模型之前需要進行歸一化處理,即對于每個圖像塊,需要減去均值然后除以標準差,其中,均值和標準差從所有的訓練圖像塊中計算得到。
在完成模型訓練后,將測試集圖像塊輸入模型,得到所有圖像塊的描述子,然后計算這些描述子之間的距離值,對所有距離值進行排序并計算正確率,進而判斷模型是否收斂。
為評估本文基于CNN 的直線特征描述子的性能,使用與點特征描述子相同的評價指標,即FPR95(當TPR(True Positive Rate)等于95%時的FPR(False Positive Rate))和mAP(mean Average Precision)[34]。具體地,在參數選擇過程中,根據式(6),在TPR=0.95 時計算FPR95。

其中,FP 表示不匹配樣本被預測為匹配樣本的數目,TN 表示不匹配樣本被正確預測為不匹配樣本的數目。FPR 值越小,說明模型訓練越好,得到的描述子性能越高。
對于圖像匹配,采用mAP 作為性能評估指標。首先,計算圖像對上正確匹配類別的AP(Average Precision)為:

其中,n表示預測結果中檢索到的正確匹配直線對總數,P表示預測結果中檢索到的正確匹配直線對總數與檢索到的直線對總數的比率。mAP 可以計算為:

其中,m為測試集中匹配與不匹配直線對的總數。
3.3.1 圖像塊尺寸確定
由于2 幅圖像中檢測到的匹配直線的長度存在差異,因此2 條直線的原始支撐區域的大小不同。為了降低神經網絡的設計復雜性,本文利用雙線性差值將直線圖像塊變換成大小為64×N的圖像塊。為了確定合適的N值,本節測試64、128 和256 三個不同N值的效果。當輸入不同大小的圖像塊時,分別進行訓練以獲取不同的模型,在訓練期間僅需根據不同的N值來修改不同模型的輸入大小和輸出層的卷積核大小。對于所有模型,最終均輸出128 維的直線描述子。
圖6 所示為輸入不同尺寸的圖像塊時,測試集在7 個訓練周期內的FPR95 值情況。從圖6 可以看出,圖像塊的大小會對描述子的性能產生影響。在3 個尺寸中,64×64 的圖像塊尺寸最小,對于較長的直線特征可能會丟失更多信息,64×256 大小的圖像塊包含較長直線特征的更多信息,但對于較短直線而言并不友好。在網絡的收斂速度方面,64×256 大小的圖像塊收斂速度最快,其次是64×128,最后是64×64。在最后一個訓練周期中,64×256 和64×128 大小的圖像塊訓練得到的FPR95值非常相近。考慮到計算機的內存和速度,本文最終選擇大小為64×128 的圖像塊作為后續實驗中神經網絡的輸入圖像塊。

圖6 不同直線塊的訓練結果Fig.6 Training results of different linear blocks
3.3.2 描述子維數確定
描述子的維數也會對匹配性能產生影響。為選擇合適的直線描述子維數,本節分別評估32、64、128、256 和512 維數下的描述子性能,在訓練期間僅需更改最終輸出層的維數便可獲得不同維數下的描述子。圖7 所示為描述子維數不同時測試集在5 個訓練周期內獲得的FPR95 值情況。

圖7 不同維數描述子的訓練結果Fig.7 Training results of descriptor with different dimensions
從圖7 可以看出,相比其他維數的描述子,512 維的描述子在訓練開始時便得到最小的FPR95值,在第3 個訓練周期,256 維和128 維的描述子達到與512 維描述子相近的性能。但是,描述子的維數越高,其訓練時間越長,所需的訓練參數也越多,從而導致計算成本增加。因此,為更加高效地訓練神經網絡,本文后續所有實驗均輸出128 維的描述子。
3.3.3 不同圖像變換下的性能評估
在確定網絡訓練時輸入、輸出的最佳參數后,本節對學習到的描述子性能進行評估。表1 所示為描述子在不同圖像變換下的FPR95 值,非常低的FPR95 值表明獲得的描述子在各種圖像變換下都具有較強的區分性。此外,與FPR95 值均大于1 的點特征描述子[24]相比,本文提出的直線特征描述子的FPR95 值更小,表明該描述子可以對圖像塊進行更多的區分性描述。

表1 不同圖像變換下的FPR95 值Table 1 FPR95 values under different image transformations %
為進一步評估基于卷積神經網絡學習的直線描述子的性能,本節執行圖像匹配任務,利用不同描述子對參考圖像R和目標圖像T中的直線進行匹配,以評估描述子的性能。首先獲得參考圖像R中的直線圖像塊以及目標圖像T中的直線圖像塊,分別記為MR={M(Li,i=1,2,…,NR)}和MT={M(Li,i=1,2,…,NT)},其中,NR是參考圖像R中檢測出的直線數,NT為目標圖像T中檢測出的直線數;然后將MR和MT分別輸入經過訓練的神經網絡中,并輸出大小分別為128×NR和128×NT的描述矩陣;隨后計算這2 個描述矩陣中各個描述子之間的歐氏距離;最后采用最近鄰與次近鄰的距離比(NNDR)匹配準則獲得2 幅圖像的最終匹配結果。
在實驗中,將本文所提描述子與MSLD[28]和IOCD[30]2 個基于手工設計方法的描述子進行性能對比。MSLD 是一種簡單且有效的算法,可以在沒有任何約束的情況下執行,并且對于各種圖像變換都具有很強的區分性和魯棒性。IOCD 算法根據鄰域中像素強度的大小順序來劃分子區域,對幾何光學變換較大的圖像匹配效果較好。實驗使用Oxford 數據集[34]和文獻[31]中的圖像集。Oxford 是特征匹配任務中廣泛使用的數據集,但其中部分圖像直線特征較少。文獻[31]中的數據集包含豐富的直線特征。在對比過程中,所有算法均采用相同的方法獲取檢測直線,將本文描述子稱為LP-HardNet,使用mAP 作為性能評估指標。
3.4.1 Oxford 數據集匹配結果
如圖8 所示,Oxford 數據集包含各種圖像變換,如圖像模糊(Bikes 和Trees)、視角(Graffiti 和Wall)、光照(Leuven)、JPEG 壓縮(Ubc)以及旋轉(Boat)。Oxford 數據集中包含7 組圖像,每組6 幅圖像,第一幅圖像作為參考圖像,其他圖像作為目標圖像,圖像變換的程度逐漸增加。

圖8 Oxford 數據集Fig.8 Oxford dataset
圖9 所示為Oxford 數據集上MSLD、IOCD 和本文LP-HardNet 描述子的匹配結果。

圖9 3 種描述子在Oxford 數據集上的匹配結果對比Fig.9 Comparison of matching results of three descriptors on Oxford dataset
從圖9 可以看出,LP-HardNet 描述子在每種圖像變換下都取得最佳的匹配結果,與MSLD 描述子相比,平均匹配性能提高11.48%,與IOCD 相比,平均匹配性能提高12.67%,證明了所提描述子的有效性及在圖像匹配任務中的優越性。同時可以看出,在視角變化和模糊變化下,LP-HardNet 描述子的性能提高最為明顯,在光照變化和壓縮變化的圖像變換中,LP-HardNet 描述子性能改善較小,對于具有尺度變化和旋轉變化的Boat 圖像序列,LP-HardNet 描述子能取得明顯的性能提升,相比MSLD 提升17.34%,相比IOCD 提升12.31%。
除匹配精度以外,正確匹配的直線數也是評判圖像匹配方法性能高低的重要因素。表2 所示為Oxford 數據集上不同描述子的正確匹配直線總數。從表2 可以看出,與其他2 個描述子相比,在具有相同數量檢測直線的情況下,LP-HardNet 描述子正確匹配直線的總數明顯提高。

表2 3種描述子在Oxford數據集上的正確匹配直線數量Table 2 The number of correct matching lines of three descriptors on Oxford dataset
3.4.2 直線數據集匹配結果
圖10 所示為文獻[31]中的直線數據集圖像序列,該數據集包含視角、尺度、遮擋和低紋理4 種不同的圖像變換。與Oxford 數據集中的圖像分布相同,該數據集中的每一組包含6 幅圖像,第一幅圖像作為參考圖像,其他圖像作為目標圖像,且圖像變換程度逐漸增加。與Oxford 數據集不同,該圖像集主要包含人工場景,可以提取出更多的直線特征。

圖10 直線數據集Fig.10 Line dataset
圖11 所示為直線數據集上MSLD、IOCD 和本文LP-HardNet 描述子的匹配結果。從圖11 可以看出,LP-HardNet 在尺度變化中具有明顯優勢,對于遮擋和低紋理變化,LP-HardNet 的性能與MSLD 和IOCD 相似。表3 所示為3 種描述子在直線數據集上的正確匹配直線數。從表3 可以看出,LP-HardNet對直線特征描述具有較好的適應性和可擴展性。

圖11 3 種描述子在直線數據集上的匹配結果對比Fig.11 Comparison of matching results of three descriptors on line dataset

表3 3 種描述子在直線數據集上的正確匹配直線數量Table 3 The number of correct matching lines of three descriptors on line dataset
為進一步驗證本文所提描述子的有效性,從圖10直線數據集的每組圖像中選取一對圖像(每組參考圖像與目標圖像中的第2 幅圖像),使用LP-HardNet描述子和LBD 描述子[31]進行直線匹配。由于LBD 描述子采用LSD(Line Segment Detector)[35]方法提取直線特征[36],因此對選取的圖像重新進行直線檢測,保證2 種描述子對相同的直線進行描述。同時,為突出描述子的性能,獲得直線的LBD 描述子后,同樣使用NNDR 匹配準則而非文獻[31]所述的幾何約束。表4所示為LPHardNet 和LBD 描述子在4 對圖像中的AP 值,從表4可以看出,LP-HardNet 描述子的AP 值均高于LBD 描述子。對于遮擋和低紋理變換,2 種描述子的性能差異較小,而對于視角和尺度變換,LP-HardNet描述子的性能明顯優于LBD 描述子,原因是在這2 種圖像變換下,文獻[31]所提的幾何約束對匹配性能有明顯提升,而本文對比實驗并未利用該幾何約束。圖12所示為NNDR閾值為0.8 時LP-HardNet 描述子在4 對圖像中的直線匹配結果,該結果驗證了LP-HardNet描述子的有效性。

表4 2 種描述子在4 對圖像上的AP 值Table 4 AP values of two descriptors on four pairs of images %

圖12 LP-HardNet 描述子的匹配結果Fig.12 Matching results of the LP-HardNet descriptor
圖像拼接是將數張有重疊部分的圖像(可能時間不同或視角不同)拼成一幅無縫全景圖的技術,拼接效果直接影響后續的處理結果。本文將LPHardNet 描述子應用于基于圖像匹配和圖像融合的圖像拼接任務,實現過程為:首先使用LP-HardNet 描述子對待拼接的2 幅圖像進行直線匹配,通過Harris[37]角點檢測器獲取匹配直線上的對應特征點,然后采用RANSAC 算法獲得變換矩陣,基于該變換矩陣實現圖像拼接。圖13 所示為經典SIFT 點描述子和所提LP-HardNet 線描述子的圖像拼接結果,圖13(a)是需要拼接的2 組圖像,圖13(b)和圖13(c)分別是SIFT 和LP-HardNet 的拼接結果。從中可以看出,對于復雜場景圖像和簡單紋理場景圖像,LPHardNet 描述子均可以獲得較好的拼接效果,與SIFT 拼接結果近似,證明本文基于卷積神經網絡學習的直線特征描述子具有良好的描述性能。

圖13 圖像拼接結果Fig.13 Results of images mosaic
本文設計一種基于卷積神經網絡的直線特征描述子LP-HardNet。為利用卷積神經網絡學習獲得直線描述子,構造標注匹配直線和非匹配直線的大規模直線圖像塊數據集,將其輸入HardNet 網絡進行訓練并輸出直線描述子。通過執行圖像匹配任務對LP-HardNet 描述子的性能進行評估,結果表明,在視角、模糊、尺度和旋轉變化下,LP-HardNet 的描述性能均優于傳統的手工設計描述子,此外,在圖像拼接任務中的應用效果也顯示出LP-HardNet 描述子的優越性能,驗證了數據驅動的網絡學習方法在圖像拼接中的有效性。下一步將研究不同的網絡結構和損失函數對直線特征描述子學習效果的影響。