210 likes | 350 Views
第五章 直線偵測. 5.1 前言. 5.2 蠻力法 5.3 哈克轉換法 5.4 隨機式方法 5.5 可調式投票範圍法. 數位直線. 虛線代表的直線乃是由虛線兩側的數位邊點所構成。在圖 5.2 中, v 1 、 v 2 、 v 3 和 v 4 皆為邊點。 灰色帶狀區的頻寬以及灰色帶狀區上的離散邊點集都會影響直線偵測的結果 。 事實上,圖 5.2 中的數位直線所示的灰 色帶狀區內的邊點集往往並非如圖所 示的這般密集。 利用測邊法得到一張數位影像的邊點 集,利用這些邊點來決定出直線。. 圖5.2 .1 數位直線.
E N D
5.1 前言 • 5.2 蠻力法 • 5.3 哈克轉換法 • 5.4 隨機式方法 • 5.5 可調式投票範圍法
數位直線 • 虛線代表的直線乃是由虛線兩側的數位邊點所構成。在圖5.2中,v1、v2、v3和v4皆為邊點。 • 灰色帶狀區的頻寬以及灰色帶狀區上的離散邊點集都會影響直線偵測的結果。 • 事實上,圖5.2中的數位直線所示的灰 色帶狀區內的邊點集往往並非如圖所 示的這般密集。 • 利用測邊法得到一張數位影像的邊點 集,利用這些邊點來決定出直線。 圖5.2.1 數位直線
例如 ,有6種可能被偵測到的直線。 5.2 蠻力法 假設利用Sobel測邊法得到的邊點集為V且令V中的邊點數為 。在這m個邊點中,每2個邊點可構成一直線,則總共有 條可能的直線。 令這些直線為 、 、…和 ,此處 。 圖5.2.3 m=4時的所有可能線
假設所有的邊點皆已算出任一邊點與 的距離且算出貢獻的總邊點,若總得分數超過門檻值 ,則我們稱 為一真正的直線(True Line)。 將所有的邊點集V中的每一邊點 計算其與 的距離,可得距離為 (5.2.1) 若d小於設定的門檻值 ,例如 ,則邊點 對 投了一票, 可想像得了一分。此處 代表該數位直線的允許頻寬為1。 圖5.2.4 距離 d 的決定
已知 ,計算 在一條直線 的貢獻邊點數,也就是得分數,共需花費的時間 。因為我們必須考慮所有的 條直線,所以總時間複雜度為 。 定理5.2.1 令邊點集 的邊點數為 ,蠻力法可在 的時 間完成直線偵測的工作。 證明:
Q1:今有二維空間上通過直線 的兩點 和 ,試問這兩點在參數空間的分 佈情形為何?這裏m代表斜率,而b代表截距。 ANS: 這兩點既然通過直線L, 那麼就滿足等式 和 如此一來,這兩點必定相交於 參數空間上的一點。 EOA
, 由直角三角形 由直角三角形 5.3 哈克轉換法 • 哈克轉換法的精神為將 空間轉換成 參數空間(Parameter Space),即所謂的法距-法角空間(Normal Distance - Normal Angle Space)。 (5.3.1) 圖5.3.1 空間和 空間的關係
令 , 和為共線 座標 代入式子(5.2)後,得到 座標 ,透過式子可得到 座標 ,透過式子可得到 座標 ,透過式子可得到 假設門檻值定為 。所以可得知在圖5.7中有一條角度為 的直線通過該影像。 圖5.3.2 的影像小例子
{將二維累積陣列歸零} 對邊點集 V 的每一邊點 for to n end 若在某一個投票位置(小房子)中,其記錄的邊點數超過門檻值 ,則投票到該位置的那些邊點可說形成了一條可接受的直線。 • 將角度範圍 切割成n份。 • 使用二維陣列來完成 參數空間的資料維護。這二維陣列稱作累積陣列(Accumulation Array)。 • 哈克轉換法在累積陣列上的投票動作: 圖5.3.3 累積陣列
針對任一個 , ,我們需花 的時間完成在二維陣列 的投票工作。考慮所有的 ,則總共需 的時間來完成投票的工作。 定理5.3.1 哈克轉換法可在 的時間內完成直線偵測的工作, 此處 且 n 為 的角度分割數。 證明: 圖5.1.1 道路影像 圖5.2.2 圖5.1.1的邊點集 圖5.3.4 測得之直線
Q1:給予下列八個點(2,4), (2,8), (4,3), (4,6), (5,5), (7,3), (10,0), (10,5),請利用哈克轉換法並配合圖5.3.3所給的二維累積陣列(假設門檻Th=4) (1)求出滿足條件直線的之法距( )及法角( ) (2)並把連成直線的點列出來 ANS:令角度以 為跳躍基準,利用前述介紹的哈克轉換法中的一個副程式 for to n end
可得到在 且 處的投票箱(Cell)內,其得票數(Votes)等於5。 因為得票數大於4,所以法距( )為 ,而法角( )為 。 將投票箱內每個邊點取出來,可得知(2,8), (4,6), (5,5), (7,3), (10,0) 五個點是連成一直線的。 EOA
5.4 隨機式方法 、 和 在邊點集 中,隨機抽出三個邊點: 。可決定出三條可能線: 和 。 、 代表邊點 到可能線 的距離: (5.4.1) ,由式子(5.4.1)得到三個距離值 、 和 。假設這最小的 這二個邊 距離值為 ,則 和 點便被稱做代理點。代理點形成的直 線可被稱做候選線。 必需小於 圖5.4.1 三個邊點決定出三條可能線 設定的門檻值。
有時候 、 和 三個邊點靠得太近了, 這種現象可能代表一聚集的邊點集。圖5.4.2 所示的此一異常現象也必需予以排除。 決定候選線 和代理點 和 後,將邊點集V中的每一邊點代入式子(5.4.1)中,若距離 小於門檻值,則代表目前的邊點 對這候選線投了一票,我們這時就在計數器C上加1。當邊點集V中的每一邊點都完成了投票動作後。假設得到C的值為 ,若大於門檻值 ,則候選線 就是真正線。 圖5.4.2 三個邊點太靠近的異常例子 將投票於上的所有邊點從邊點集V中扣除。然後重覆上面的程序。可自己設定檢查失敗的容忍最大次數。檢查次數一經超過容忍次數,若仍沒有偵測出直線,則強迫重新進行抽樣的動作。
隨機式測線法的實驗結果 圖5.4.3 地板影像 圖5.4.4 圖5.4.3的邊點集 圖5.4.5 測出之直線
比較RHT和RLD的時間複雜度 令 代表影像中所有的邊點數, 代表落在直線上邊點數。令 。 為所抽樣的二個邊點皆在線上的事件,其機率 , 為所抽樣的三個邊點皆在線上的事件,其機率 。 因為 和 皆很大,所以 而 。 RHT:經過多少次失敗才會使得事件 發生二次為一隨機變數 : 負的二項式分配(Negative Binomial Distribution) RLD:事件 發生過一次,則該候選線即算確定: 幾何分佈(Geometric Distribution)
RHT和RLD的機率分布 圖5.4.6 p=0.5時的 fRHT(x)和 fRLD(x) 圖5.4.7 p=0.25時的 fRHT(x)和 fRLD(x)
和 。 RHT和RLD的累計分布函數 圖5.4.8 p=0.5時的 FRHT(x)和 FRLD(x) 圖5.4.9 p=0.25時的 FRHT(x)和 FRLD(x)