陳澄,任益枚
(1.四川大學計算機學院,成都610065;2.四川大學信息化建設與管理辦公室,成都610065)
由于熱紅外圖像具有較清晰的夜間可視性,近幾年受到了各個領域的廣泛應用,特別是車載紅外的運用為駕駛人的夜間行駛提供了更高的安全保障。同時隨著智能駕駛車輛的快速普及,道路檢測算法也成為了計算機視覺中一項重要的研究內容,常見的道路區域檢測方法幾乎是基于可見光圖像的,且主要關注具有明顯道路邊界和車道標記的結構化道路[12-13],但由于紅外道路細節缺失,且紋理信息較弱,常規基于可見光的算法在紅外圖像上表現不佳。所以,提出一種針對紅外道路圖像的道路檢測算法非常重要。消失點作為道路圖像的基本特征,已被廣泛應用于道路檢測中,在紅外道路中使用消失點作為約束進行檢測可以大幅度提高檢測性能,本文主要關注從道路圖像中估計消失點。
大多數現有的消失點檢測算法主要分為四個類別:一是基于空間變換的方法,基于空間變換的方法[1-2]使用空間變換技術(例如高斯球體映射和級聯霍夫變換)來檢測消失點;二是基于邊緣的方法[3-4]直接檢測直線特征以找到一組消失點;三是基于區域的方法[5-6],搜索相似的全局結構和重復模式(例如墻壁、門和窗戶)以定義消失點的位置;四是基于紋理的消失點檢測方法,Rasmussen[7]應用一組多尺度Gabor 濾波器,選擇具有最大響應的濾波器對應的方向作為每個像素處的紋理方向,然后,根據每個點的方向進行投票,票數最高的位置被視為道路的消失點,但該算法更傾向于偏愛圖像上部中的點。為了解決文獻[7]中的硬投票方案的缺點,Kong[8]提出了一種軟投票方案來提高準確性。Moghadam[9]提出了一種有效的方法來估計紋理占主導地位的方向,只用四個定向濾波器和一個加權投票方案來檢測消失點,但當圖像具有復雜的道路背景時,這些方法效果不佳。Yang[10]設計了一種自適應紋理描述符WOD,能夠在保留道路線索的同時消除噪聲,但該算法容易收到圖像中如陰影等干擾紋理的影響。
由于可見光圖像較紅外圖像具有更清晰的紋理細節,上述算法對于可見光道路圖像的消失點檢測具有較好的效果,但是對于紅外道路圖像而言效果并不好,本文針對紅外圖像紋理不清晰的特點,提出了一種新穎的基于紋理的消失點檢測算法,實驗結果表明,本文提出的算法在紅外道路圖像中取得了比較精確的檢測效果。
本文使用Gabor 濾波器計算每個像素的紋理響應方向,Gabor 濾波器作為估計局部紋理方向的最佳濾波器之一,可以準確地估計每個像素的局部主導方向,并且已廣泛應用于例如指紋分類與頭發捕獲等實際應用中[10]。方向φn和徑向頻率為ω的二維k×kGabor 核g為:

其中(x,y)=( 0,0 )代表濾波核中心,a=xcosφn+ysinφn,b=-xsinφn+ycosφn,其中σ和c是常量。
為了估計圖像中每個像素的主導方向,本文使用36 個預定義方向(0°,5°,…,175°)的一組Gabor 濾波器與圖像進行卷積運算。Gabor 能量響應度Eφn( )p定義為復數濾波器響應的幅度,如下所示:


1.2.1 消失點投票方案
獲取了圖像像素的紋理主方向后,為了減少計算量,本文首先根據方向響應強度對投票區域進行了篩選,將最大方向響應強度小于一定閾值的投票像素點定義為弱紋理像素點,該類像素點極有可能出現紋理方向檢測錯誤的情況,對正確消失點的投票過程產生較大干擾,同時還根據簡單的垂直特征檢測方法剔除掉具有垂直特征的區域:由于Gabor 算子計算的是像素點的局部紋理響應方向,具有離散性,無法判斷區域內是否具有垂直物體,所以為了能夠最大限度的排除掉垂直特征,本文首先使用Canny 邊緣檢測算法對圖像的邊緣進行檢測,根據檢測結果,遍歷邊緣圖像中的每一個像素點,設置以該像素點為底邊中心點的一個長方形區域,該長方形區域的豎直長度為H,水平寬度為W,若在邊緣圖像中的某一長方形區域中,邊緣像素點的數量超過一定閾值,則判斷該區域為垂直區域。在剔除掉所有干擾區域后再構建投票區域。

圖1
1.2.2 基于方向約束的霍夫變換
陰影所造成的紋理干擾主要體現在其會導致圖像中非陰影場景原本的紋理走向改變,在投票時,所投票的直線與車道平行線等直線相交導致產生了局部最大值點,同時,由于紅外圖像的紋理細節信息較弱,且在復雜的街道中,有時不存在明顯的車道平行線等特征,此時若出現強紋理陰影,就會對消失點檢測產生較大影響,最終錯誤消失點的檢測位置往往在陰影區域與某一車道平行線的交點位置。為了解決這一問題,本文提出了基于方向約束的霍夫變換來協助檢測正確的消失點位置。
首先,我們認為,即使場景中存在較大的紋理干擾導致投票值最大的像素點并不是正確的消失點,但正確的消失點仍會具有較大的投票值,所以,本文首先根據初步投票結果選擇出響應強度較大的一部分候選消失點,本文的候選消失點選擇標準為:令vote(x,y)表示投票空間坐標為(x,y)的像素點的投票值,如果該點的投票值處于所有投票值的前5%,那么就將該點劃為候選消失點,不同圖像的投票空間以及候選消失點集見圖2。
正確消失點往往出現在候選消失點集中,或者候選消失點所關聯的直線上,根據觀察,每一個高投票點都有一條或多條參與為其投票的直線,我們稱這些直線為候選消失點的關聯直線,錯誤消失點的關聯直線往往出現在陰影等干擾紋理區域中,該類關聯直線的數量相對而言占少數,但由于其在投票時與其他高投票直線在相交點位置產生了局部極大值,此類交點票數高,進而導致消失點檢測結果錯誤。基于方向約束的霍夫變換通過檢測每個候選消失點的關聯直線來檢測消失點:首先針對每個候選消失點,計算經過該候選消失點的36 個方向的直線中,在直線上且處于有效投票區域內的那部分像素點的數量,再進一步計算這部分像素點中,紋理響應方向與該直線方向一致的像素點所占的所有像素點的百分比,我們將該比例定義為T- SOCR(Texture- Straight Orientation Consistency Rate):

其中Nk表示經過候選消失點的36 個方向中第k條直線Lk上所有像素點編號的最大值,也是像素點總數,θik與orientLk分別表示直線Lk上的第i 個像素點的紋理方向和直線方向,AL 為36 條直線中T-SOCR 值最大的那條直線。

圖2
在候選消失點所在的36 個方向的直線中,若AL<0.1,則放棄處理該候選消失點,否則,對滿足條件的直線進行投票,本文將針對每個候選點,選擇滿足AL>=0.1 的直線與T-SOCRLk>=AL*0.8 且T-SOCRLk>=0.1 的直線定義為該候選消失點的關聯直線,并在投票空間內,對該關聯直線進行投票:本文采用基于TSOCR 的投票方案,對于T-SOCR 較小的直線,該直線可能并非是圖像場景中真實存在的直線特征,直線上的像素點的投票值就較低,對于T-SOCR 較大的直線,該類直線極有可能是場景中真實存在的直線,如車道線、道路邊緣線等與消失點緊密相關的直線,該類直線上的像素點就會獲得較高投票值。最終選擇投票值最多的兩條關聯直線之間的交點作為消失點。圖3 為不同圖像中得票數最多的兩條關聯直線。

圖3 不同道路消失點的關聯直線
傳統的霍夫變換的直線檢測策略是找到一條或多條直線,這些直線上的點的數量超過預先設定的閾值,但傳統霍夫變換在實際應用中并不關注該類點組成的直線是否是在真實場景中存在的直線,為了保證直線檢測的準確性,我們在傳統消失點檢測算法中加入方向約束,基于方向約束的霍夫變換避免了傳統霍夫變換中會出現的檢測出場景中原本不存在直線的錯誤情況。
本文采用250 張紅外道路圖像進行實驗,并手動標定了數據集中圖像的消失點的準確位置。下圖展示了3 種不同的方法在圖片上的部分檢測結果,圖片均為紅外道路,且環境較為復雜。綠色加號表示標定消失點位置,紅色加號為本文算法檢測結果,粉色加號為Yang[10]方法,藍色加號為Kong[8]方法。
由圖4 可以看出,雖然在一些道路線索較為明顯的圖像中,三種算法并沒有顯著的差別,且均能較為準確地檢測出消失點的位置,但在具有明顯陰影干擾或道路標志線不明顯的道路上,本文的方法相較于另外兩種方法都更能準確地檢測出消失點的位置。

圖4 實驗結果
為了評估本文提出的消失點檢測算法在數據集里的整體表現,本文采用歸一化歐氏距離[11]來量化檢測出的消失點與標定消失點之間的距離誤差,如下:


其中M 表示數據集中圖像總數量,表1 為三種不同算法的評估結果。

表1
綜合定性分析和定量分析結果可知,本文方法的檢測結果距離誤差最小,檢測效果明顯比Kong 方法和Yang 方法更佳,能夠更加精確地檢測出紅外道路的消失點位置,且在具有陰影等干擾紋理和道路標志線等道路特征不明顯的情況下,也具有較好的效果。
本文使用Gabor 濾波和基于方向約束的霍夫變換來檢測紅外道路圖像的消失點。首先經紋理方向投票后對投票區域進行了篩選,一定程度上避免了干擾紋理區域造成的影響。然后,本文根據投票結果,使用基于方向約束的霍夫變化從候選消失點集中尋找關聯直線,通過關聯直線的交點定位了消失點的位置,本文算法在具有陰影等干擾紋理以及道路標志線不明顯的情況下也能較準確地檢測出消失點位置,有效提高了消失點檢測的精度,能夠很好地適用于紅外道路圖像的消失點檢測。