轉自https://www.cnblogs.com/Jessica-jie/p/7523364.html
參考文章:An efficient and robust line segment matching approach based on LBD descriptor and pairwise geometric consistency ----Lilian Zhang , Reinhard Koch
第二部分:Line detection and description
1.尺度空間中提取線段
為了克服在線檢測碎片問題和提高大尺度變化的性能,我們的檢測框架采用由對原始圖像進行高斯下采樣( with a set of 尺度因子and 高斯模糊 )的尺度空間金字塔組成(N層圖像)。我們首先用Edline算法每層的尺度空間產生一組線。每條直線都有一個方向,它是由從直線左側到右側的大部分邊緣像素點的梯度構成的。然后通過在尺度空間中找到對應的直線來組織它們。在尺度空間中所有的線,他們被分配一個唯一的ID,如果在圖像中他們相關相同的事件,將其存儲在一個稱為LineVecs的向量中(即圖像的同一區域具有相同的方向)。線檢測方法 不同於Wang et al.[5] ,通過重新組織從尺度空間提取的所有的線段形成LineVecs,從而降低了圖匹配問題的維數。最終提取的結果是一組LineVecs如下圖:
如圖1所示,每個Linevec可能包括尺度空間的多條線。為描述一個LineVec局部外觀,對於其中的每條線,我們會在被提取的線段的每層圖中產生一種線描述符。
2.條帶(Band)來表示線的支持域
在octave image給出了線段,描述符將從線段支持域(LSR)計算。該支持區域被划分為一組條帶{B1;B2;...;Bm},每個條帶都是LSR的子區域並且他們之間的平行的,條代數m的和每個條帶的寬度w,條帶的長度等於線段的長度,如下圖當m =5 ,w=3的LSR例子。
類似於 MSLD[11],引入兩個方向構成a local 2D coordinate frame(局部二維坐標系),用於區分具有相反梯度方向的平行線並使描述符旋轉不變。根據線的方向為 ,正交方向(垂直方向)
被定義為
順時針垂直的方向。該線的中點被選為這個局部坐標系的原點。LSR中的每個像素的梯度投影到這個局部框架
,其中的
:image frame中的像素梯度,
:local frame中的像素梯度。
對於SIFT[23] and MSLD,兩個高斯函數應用在每一行沿着的方向。首先,全局權重系數
是在LSR的第i行,其中
是第i行到LSR中心行的距離,
第二,考慮一個條帶Bj,以及他在相鄰的條帶Bj-1,Bj+1 ,局部權重系數
在Bj第k行,其中
第k行到Bj中心行的距離,
全球的高斯窗的目的是給予在LSR中沿
方向遠離線的微小變化梯度很小的關注度(敏感性)。局部高斯窗的目的是減少邊界效應,它避免了像素從一個條帶移動到下一個的描述符突然改變。
此方法描述子區域的優點:首先,它對方向的小的位置變化更有魯棒性,因為在這種情況下,帶內圖像的大部分內容保持不變,只有帶邊界略有變化。注意,這個特性很重要,因為一般來說,由於線路端點不穩定,線的位置精度在方向
中要比方向
低。第二,它的計算效率更高,因為每個條帶之間在
方向沒有重疊,高斯權重直接應用於每一行,而不是每個像素。
3.構造條帶描述符
(the Line Band Descriptor) LBD:
每條條帶的描述子BDj:通過其最近的兩相鄰行的條帶Bj-1 ; Bj+1來計算 。特別是,對於在頂部和底部的條帶帶B1和Bm,在計算B1和Bm的描述子時行在LSR之外不會被考慮在內。(所以下面n的取值會把j=1||m單獨出來)
BDj的計算(其實就是描述的上下左右四個方向):
k:表示在條帶Bj的第k行,我們累積的像素的梯度在這行;:高斯權重。
條帶描述矩陣the band description matrix (BDM):
BDj由BDMj矩陣的均值向量Mj and標准方差 Sj 得到:
LBD的均值部分和標准方差部分由於其大小不同,分別進行規范化處理。此外,為減少非線性光照變化的影響,對LBD每個維度的進行抑制,使它小於一個閾值(經驗:0.4的是一個很好的值)。最后,我們重新規范約束向量得到單元的LBD。
二.描述符性能評價
在檢測我們提出的圖像匹配算法之前,我們線分析一下LSR參數的影響,例如條帶的數量m和條帶的寬度w,評價LBD的性能與MSLD描述子做比較。
Mikolajczyk and Schmid [33]建立一個基准,評價局部描述符的性能。我們使用這個框架來比較線描述符的性能。實驗數據集包括八組圖像:光照變化、面內旋轉、jpeg壓縮、圖像模糊、圖像遮擋、低紋理場景中視點變化和紋理場景,以及尺度變化。
針對這一部分所描述的描述符的匹配性能,我們選擇了最近鄰匹配准則,根據描述符的距離對線進行匹配,避免了由於不同描述符偏愛不同閾值而造成距離閾值的偏差。這種匹配准則的另一個優點是,召回率(正確匹配的數量除以地面對應的數目)和匹配精度(正確匹配的數量除以總數量的匹配)是唯一的決定正確匹配的數量由於不同的描述符的分母是相等的。
描述子維數
下圖顯示了所有的圖像正確匹配的數量是由這兩個參數(m和w)影響的。It is clear that LBD and MSLD share similar rules: the performance increases fast at the beginning with the increment of m or w, then reaches the best performance when m=9 and w is about 7 or 9, after that there is a steady performance decrease.
The results are well explained by the fact that larger values of m and w (i.e. larger LSR) make the descriptor more distinctive(獨特的) while they also reduce the repeatability(可重復性) of the LSR.
We also evaluate the time performances of these two descriptors which are given in Table 1.
Although the time performances may change from image to image, their relative relationship will keep the same. We only show the results which are generated from an example image with the size of 900×600 and 573 extracted lines. Basically, the larger m and w are, the more computational time is consumed.
LBD is less sensitivity(敏感) to the increase of m and w than that of MSLD, especially for the increase of w.Based on the aforementioned evaluation, through the rest of the paper, the descriptor will be computed from a LSR with m= 9 and w= 7, resulting in a 72-dimensional descriptor. Then the computing times of LBD and MSLD for the example image are 28 ms, and 137 ms, respectively.
2.MSLD and LBD更多比較
比較每組照片的,MSLD and LBD recall ratios如下圖:
(a) shows the performances of MSLD and LBD for the image illumination changes. From image 1 to image 5, the lighting condition gets worse. The recall ratios decrease with the increment(增長) of the lighting distortion(照明畸變).
(b) shows the results for images which are generated by a set of in-plane rotation varying from15° to75° .It is interesting that when the rotation angle is 45 (between image 3 and the reference image), LBD and MSLD perform worst because of the aliasing of discrete lines(離散線的混疊).
(c) and (d) show the descriptor performance against the image compression(壓縮) and the image blurring(模糊), respectively. Not surprisingly, the performances decrease with the increment of the image compression ratio(壓縮比) or the image blurring.
(e) shows the descriptor performance against image occlusion(遮擋). To evaluate the occlusion effect, we first artificially(人工地) add some vertical line(垂直線) features in a background image, then shift the region of interest along the vertical direction of the artificial image to generate a set of smaller images as shown in Fig. 5(e). This process makes sure that for the most of the lines, their LSR in the image sequence(圖像序列) will change gradually (some part of the LSR moves out or in). The results show that the descriptor performance decreases with the increment of the image occlusion.
(f) shows the descriptor performance in the lowtexture scene(低紋理場景). Images in this sequence are captured in front of the window with small view point changes. The results do not show drastic change(巨大的變化) in performance because of the small baseline between images.
(g) shows the descriptor performance against large view point change. The view angles between the query images and the reference image range approximately from
-70° to 60° . No doubt, the descriptors perform better when the absolute value of the view angle is smaller (image3 and image4).
(h) shows the most challenging case for the descriptors, i.e, the large scale change. The scale ratio(比率) between the query images and the reference image range from 0.9 to 0.3. The performance decreases fast with the scale change.
第二部分:Graph matching using spectral technique
介紹線檢測和描述之后,本節我們介紹方法來構造兩組LineVecs之間的關系圖並且在圖中建立匹配結果。在此之前,先引入一些預處理,通過排除明顯的不匹配來減少圖匹配問題的維數。
1.生成候選匹配對
檢測參考和查詢圖像的LineVecs,根據他們的一元幾何屬性和它們的局部外觀相似性,如果他們沒有通過測試,被認為是不匹配的。
一元幾何屬性:一元幾何屬性在我們的工作中被認為是linevecs方向。值得注意的是,在同一linevec中的線具有相同的方向,所以每個linevec具有獨特的方向。乍一看,在圖像對中對相應的linevecs方向是模糊的和不可靠的,圖像對有任意旋轉的變化。但圖像對之間往往存在近似全局旋轉角是正確的。為了可以減少候選匹配的數量,我們使用這個屬性。
在[ 6 ]中,引用和查詢圖像( reference and query images)的旋轉的近似關系是從點特征對應關系計算的。受此啟發,雖然我們沒有這樣的點對應的信息,我們可以直接計算參考和查詢圖像的LineVec方向直方圖。我們首先計算兩圖像的LineVecs方向直方圖,得到規范化直方圖,下標r表示參考圖像,q表示查詢圖像。然后,我們通過角度
改變
,並且對全局近似旋轉角
搜索。By taking the angle as index in the histogram for simplicity,
估計為:
在實踐中,如果偏移的直方圖距離較小,透視變換可以通過旋轉近似,例如下圖:
估計的:0.349 rad;偏移的直方圖距離:0.243。此外,如果圖像中提取的線的重復性很低,則基於直方圖的方法可能會失敗,即錯誤的旋轉角度可能被該算法接受。
為了提高這種方法的魯棒性,對於直方圖落入同一bins的直線,它們的長度被累加起來。因此,對應於方向直方圖,有一個長度向量,其第i個元素是所有線的累積長度落在方向直方圖的第i個bin中。在我們的實驗中,當最小偏移直方圖距離小於閾值(0.4)時,並且最小偏移長度向量距離小於閾值
(1),我們接受估計的全球旋轉角。一旦
被接受,一對LineVecs就會被匹配,如果
(pi/4),
是它們的方向之間的夾角,它們被認為是不匹配的。如果兩個圖像之間沒有可接受的旋轉角度,那么只測試外觀相似性。
局部外觀相似性:用線描述符的距離度量局部外觀相似性。
對於LineVec的每個直線,我們從線提取的(octave image)圖像中生成一個LBD描述符向量V。當從一對圖像中提取的兩組LineVec做匹配, a reference LineVec and a test LineVec的所有描述符之間的距離被評估,最小的描述距離用來測量LineVec外觀相似s。如果(0.35)(
是局部外觀不同的容忍度),那么相應的兩LineVec不會進一步考慮。
檢查LineVecs的一元幾何屬性和局部外觀相似性后,通過這些測試的配對被視為候選匹配。應該選擇一組寬松的閾值,否則會有很大的機會錯過正確匹配。在我們的實驗中,閾值憑經驗設為。候選匹配的數量比實際匹配的數量要大,因為人們不能僅僅依賴於上述的驗證來決定最終的匹配結果。然而,與直接組合相比,以上檢查仍然大大減少了下列圖形匹配問題的維數。
2.建立關系圖
對於一組候選匹配,我們建立了一個關系圖的節點代表潛在的對應,在連接的權重表示他們成對之間的一致性。
注意:在代碼中,left image對應reference image,Right image對應query image,是在每個圖中選取了兩條線段,標注為。
給定一組k候選匹配,關系圖被一個鄰接矩陣A表示,其大小為k×k [30]。行為i,列為j的A的元素的值是候選的LineVec匹配的一致性得分和
,其中
是reference image的LineVecs,
是query image的LineVecs。由成對幾何屬性和候選配對的外觀相似性計算一致性得分。
成對幾何屬性:為了描述兩LineVecs的成對幾何特征,我們選擇兩條線
,which lead to這兩LineVecs之間的最小描述距離並且在原始圖像定位端點位置。隨后,我們描述
的幾何屬性通過其交叉比率
,投影比例
,相對角
如下圖:
計算同理。
通過線的方向很方便計算出來。這三個屬性對平移、旋轉和縮放的變化是不變的。
外觀相似性(前面已提到過):我們利用LBD描述子矢量V來表示線條的局部外觀。假設這個描述子對於LineVecs有最小距離
在reference and query images,對於LineVecs
是
。we get two sets of pairwise geometric attributes and local appearances for two candidate matches
and
as:
和
。
一致性得分(the consistent score)的計算:
其中是幾何相似性;
是局部外觀相似性;
是條件
:在
中的每個元素不超過1。與[5]相比,在我們的工作中,
的定義對線檢測的碎片問題有更好的穩定性,因為只要在參考圖像和查詢圖像中的有一對匹配線被很好地提取出來,那么無論另一對如何提取,
會非常小。
的定義有同樣優勢。
我們設置
對於所有候選匹配,我們計算它們之間的一致性得分,並獲得鄰接矩陣A。
Leordeanu [ 31 ]為更好的結果,建議A對角線上的元素為0,並且保持對稱性。
3.生成最終匹配結果
匹配的問題現在簡化為尋找匹配簇最大化總的一致性得分
,這樣可以滿足映射約束。
我們使用一個指標向量表示這個簇
,否則為0。
因此匹配問題被表述為:,其中x受制於映射約束。一般二次規划技術計算量太大,無法解決這個問題。我們采用光譜技術,對x放寬的映射約束和積分約束,使得它的元素可以在采取實際值在[0,1]。
通過Raleigh的比例定理[30],最大化的
是A的主要的特征向量。它仍然是使用映射約束二值化特征向量和獲得最優解的一個強大的近似。映射約束應用在這里有片面性約束[ 16,14 ]和一對一的約束。該算法的詳細信息如下:
最后的線段匹配可以從linevecs LM的匹配結果直接檢索。注意,在LineVec的線位於圖像的同一區域,並且具有同一方向,因此,對於每對linevec的匹配,線段匹配有一對就足夠檢索了。
線匹配實驗
表3總結了該算法的參數設置。
表4中顯示了比較結果:整體看來LBD+S&G的效果是比較好的。
LP:Line matching leveraged by point correspondences(逐點匹配)
LS:Wide-baseline image matching using line signatures(基於線特征的寬基線圖像匹配)
MSLD: a robust descriptor for line matching
Match precision:匹配的精度