第三章 適應性橢圓形 適應性橢圓形 適應性橢圓形 ROI 車道線偵測 適應性橢圓形 車道線偵測 車道線偵測 車道線偵測演算法 演算法 演算法 演算法
3.7. 躁動問題的改善 躁動問題的改善 躁動問題的改善 躁動問題的改善
在圖 3-14 中的四個連續畫面,在右側的輔助車道線,會在實際車道線的內側 與外側跳動,而這個問題本文稱之為躁動。此一情況在進入隧道變成雙白線後,
其問題會更加明顯。
(a) (b)
(c) (d)
圖 3 - 14 躁動問題示意圖 (a), (b), (c), (d) 為躁動問題連續畫面示意圖
在 Fan 演算法[24]中,不論在雨天、晴天與夜晚都有不錯的效果,但是在前 處理的部分只有使用 Canny 邊緣偵測搜尋車道線邊緣,並沒有針對車道線周圍的 雜訊做處理。在 Canny 邊緣偵測中是使用雙門檻值來做邊緣的判斷,因此可以得
追蹤範圍,在某些情況底下會無法完整涵蓋車道線的內外側邊緣,有時只會涵蓋 到內側的車道線邊緣或是外側的車道線邊緣。在追蹤的模式下,其限制的追蹤範 圍是根據前一張影像的資訊而訂定的,若使用的橢圓形 ROI 範圍不夠大,則有可 能造成只覆蓋到內側、外側或是雜訊其中一部分,最後在選擇最大值時,有可能 把內側或是雜訊也當成最大值,因此最後畫出來的輔助車道線會在實際車道線內 側、外側以及雜訊之間跳動,這也就是本文說的躁動問題(圖 3-14)。
在原來的演算法中使用 Canny 邊緣偵測,所獲得的邊緣影像雖然效果較好,
但因為在車道線的邊緣內側與外側中間會有空洞的區域(圖 3-15),此空洞是造成 前面提到的躁動問題的主因。因此為了改善此一問題,在邊緣偵測的部分改採用 Sobel 垂直方向邊緣偵測,此一作法主要可以得到連續的車道線邊緣,使其不會 在內側與外側的邊緣中間產生空洞區域。但 Sobel 邊緣偵測對於雜訊的抵抗較差,
所以雜訊濾波器是很重要的一個部分。得到邊緣偵測的影像後,先使用二值化將 低於門檻值的資訊去除,再利用圖 3-6 中的雜訊濾波器濾除車道線周圍的雜訊。
在門檻值的設定是使用 250,因為車道線的像素值幾乎都是在 250~255 之間,因 此選擇 250 為門檻值。
圖 3 - 15 Canny 邊緣影像示意圖
將前處理後所得到的影像,利用橢圓形 ROI 去做追蹤時,可以發現輔助車道 線已經不會像原演算法中有躁動的問題。即使橢圓形 ROI 的追蹤範圍沒有完整的
覆蓋在車道線上,也不會因為只覆蓋到內側、外側或是雜訊上面,而產生大太的 躁動問題。這是因為在搜尋時,我們搜尋了覆蓋範圍內的最大值,而所提出來的 方法因為邊緣內側與外側之間沒有空洞的區域,即使縮小了橢圓形 ROI 的大小,
也不會因為沒有完整覆蓋車道線,而造成輔助車道線瞬間產生太大的位移,即使 是也是隨著一張張的畫面慢慢的位移,不會瞬間跳動,因此可以降低躁動問題。
最後我們定義一個簡單明確比較躁動的方法,在第 n-1 張影像中的左側或右 側輔助車道線皆為在實際車道線的外側,而第 n 張影像中的右側輔助車道線,跳 到了實際車道線的內側,這種情況我們就定義為躁動一次。一張影像中有左右兩 側車道線,只要有任一邊車道線有跳動發生,我們就算是一次躁動。
以圖 3-14 為例。圖 3-14(a)右側的輔助車道線是在實際車道線的內側,到了 下一張圖 3-14(b)右側的輔助車道線跑到了外側,此時我們就算躁動一次,當圖 3-14(c)右側輔助車道線回到了實際車道線內側,躁動次數就變成兩次。圖 3-14(d) 右側輔助車道線維持在實際車道線內側,與圖 3-14(c)都同樣在實際車道線內側,
則不算躁動。在下一章節中會對此一部分做分析比較。