白兵乾
(河北工業(yè)大學(xué) 信息工程學(xué)院,天津 300401)
隨著智能交通系統(tǒng)的發(fā)展,作為其重要組成部分的交通標(biāo)志自動識別系統(tǒng)也逐漸成為研究熱點。目前主要研究方向集中在識別部分,對于前期的預(yù)處理部分研究較少,而圖像預(yù)處理結(jié)果直接影響識別的正確率。交通標(biāo)志一般包含信息量很大,干擾較多,所以導(dǎo)致算法運算量較大,影響整個系統(tǒng)的實時性。
因此,本文提出一種基于系統(tǒng)實時性要求的交通禁令標(biāo)志提取方法。以RGB空間代替HSI空間分割圖像,以Freeman鏈碼代替HOUGH變換求取圓形信息,避免了大量的浮點運算,提高了算法的實時性。
彩色圖像空間最常見的是RGB空間,RGB色彩空間使用紅、綠、藍3種基色來表現(xiàn)彩色。三分量各自量化取值為0~255,0對應(yīng)最暗,255對應(yīng)最亮。在交通標(biāo)志分類中,交通禁令標(biāo)志以紅色和黑色為主,在RGB空間中紅色表示為:R=255,G=255,B=255,黑色表示為:R=0,G=0,B=0。
由它可推導(dǎo)出其他色彩空間,分為線性變換空間和非線性變換空間。線性變換空間有YIQ、YUV等空間。由于是有RGB空間線性變換得到,因此具有較小的計算量;典型的非線性空間有HSI、歸一化RGB空間等,非線性空間能較好的消除各彩色分量的相關(guān)性,適用于圖像處理。但由于變換中有大量的非線性計算過程,使得計算量巨大。
為了提高交通標(biāo)志提取的速度,滿足實時性要求,本文直接使用RGB彩色空間進行圖像分割,這種方法不需要空間轉(zhuǎn)換,減少了不必要的線性或非線性計算,極大的提高算法速度。本文通過提取交通禁令標(biāo)志中的紅色信息,將標(biāo)志的主體輪廓提取出來。
在RGB空間中R、G、B分量易受光照影響,產(chǎn)生色彩失真。但通過實驗發(fā)現(xiàn),紅色在不同光照情況下三分量的差值在一定范圍內(nèi)保持不變,所以通過經(jīng)驗選取合適的分量差閾值可將圖像中的紅色信息提取出來。
基于RGB空間模型的交通禁令標(biāo)志分割算法如下:
對于圖像中的所有點:
若滿足(R-G)>50 且(R-B)>50,則該點為紅色。
該算法結(jié)構(gòu)簡單,沒有涉及乘法運算,極大地減少了計算量。
實驗用圖及分割效果如圖1所示。
圖像邊緣是指圖像中灰度變化劇烈的區(qū)域,邊緣包含了圖像的幾何形狀信息,在某些過程中對邊緣的分析可取代對整幅圖像的分析,這就能極大地縮短處理時間,因此對圖形邊緣的提取極具意義。
圖像的邊緣分為階躍式和屋頂式,對于階躍式邊緣的灰度曲線其一階導(dǎo)數(shù)在邊緣點位置達到極大值,其二階導(dǎo)數(shù)在該點處與零交叉,屋頂式邊緣的特征與階躍式正相反。這里介紹兩種常用的邊緣提取算子:Canny算子、log算子。
Canny算子的基本思路是首先使用高斯函數(shù)進行平滑濾波,再由灰度函數(shù)一階微分的極大值確定邊緣點。由于二階導(dǎo)數(shù)的零交點即可表示極大值也可表示極小值,也就是說圖像中灰度變化劇烈和緩慢的點都對應(yīng)為二階導(dǎo)數(shù)的零點。所以Canny算子可能引入偽邊緣點。
Log算子即高斯-拉普拉斯算子,首先使用高斯函數(shù)進行平滑濾波,再由二階的拉普拉斯算子提取邊界點。拉普拉斯算子具有各向同性的特點,可以檢測絕大部分邊緣,并且沒有出現(xiàn)偽邊緣,可以精確定位邊緣。兩種算子提取邊緣效果如圖2所示。
本文采用log算子提取的邊緣來進行處理。
細化是圖像預(yù)處理中重要的一環(huán),其本質(zhì)是在保持圖形幾何拓撲結(jié)構(gòu)不變的前提下,盡可能地獲得單像素圖像骨架的過程。圖像細化必須保持原圖形的連通性并盡可能的獲得單像素寬的邊緣,細化算法速度越快越好。
細化算法種類很多,常見的有兩種:查表細化法和形態(tài)學(xué)細化算法[3]。
查表細化算法的思想就是首先做出一張表,從0到255共256個元素,元素值為0或1。然后依據(jù)某點的8個相鄰點的情況查表,可得到該點是否保留的信息。
形態(tài)學(xué)細化算法的細化過程就是對圖像逐層剝離的過程,它利用模板對要處理的點進行鄰域邏輯計算,綜合判斷該點是否保留。該算法能輸出單像素邊緣圖形且不破壞原圖形的連通性,具有很好的穩(wěn)定性。
本文使用3×3模板的形態(tài)學(xué)細化算法進行圖像的細化處理。細化效果如圖3所示。
對于簡單的直、曲線段,可用Hough變換識別形狀。Hough變換是圖像處理中幾何形狀識別的基本方法之一。
Hough變換原理是將笛卡爾坐標(biāo)空間的線變換成極坐標(biāo)空間中的點,從而實現(xiàn)了從圖像空間到參數(shù)空間的映射。原始坐標(biāo)系下呈現(xiàn)直線的所有點,它們的斜率和截距是相同的,它們在參數(shù)坐標(biāo)系下對應(yīng)于同一點。
Hough變換是曲線檢測中較有效的方法,其優(yōu)點是對于圖像中噪聲不敏感,其所得結(jié)果可有效濾除噪聲影響。雖然常規(guī)Hough變換具有顯著優(yōu)勢,但也有不可忽視的不足,具體表現(xiàn)如下:
1)當(dāng)參數(shù)變?yōu)?個或3個以上時,如圓形的圓心坐標(biāo)和半徑,每個點映射成參數(shù)空間的一個曲面,是一到多的映射,因而計算量急劇增加。
2)Hough變換計算過程需要占用大量的內(nèi)存空間,計算時間長,實時性差。
根據(jù)系統(tǒng)的實時性要求,本文采用基于鏈碼計算的圓形度信息來識別目標(biāo)性狀。
Freeman碼又稱鏈碼,是對圖形邊界點的一種編碼方式,其特點是利用一系列具有固定長度和方向的直線,鏈接起來表示圖形的邊界。其表示方式為起始坐標(biāo)與方向碼的組合。
常用的8-方向鏈碼定義如圖4所示。
Freeman鏈碼充分考慮了數(shù)字圖像中像素的特點,將邊界的變化方向編碼為8個方向,大大簡化了對邊界的編碼描述。如圖5所示紅點連接的邊界,以邊界左上角為起始點,順時針方向?qū)ふ?,?-鏈碼邊界表示為:(3,3)222222244456666667888。
文獻[5]提出了一種基于8-鏈碼的目標(biāo)面積計算方法,指出沿著8-鏈碼輪廓對x軸積分[3],可以得到區(qū)域的面積。
以圖5中邊界所圍區(qū)域為例,其面積即用圖6中灰色部分減去黑色部分得到目標(biāo)區(qū)域面積,計算公式如下:
式中,yi=yi-1+dy(ci),y0;是初始點坐標(biāo);dx(ci)和 dy(ci)分別表示橫坐標(biāo)和縱坐標(biāo)相對上一位置的偏移量。
圖5中目標(biāo)所圍區(qū)域面積為27。該方法忽略了邊界部分的大小,當(dāng)所求面積較小時,誤差會很大,所以目標(biāo)區(qū)域面積實際值應(yīng)為所求值加上邊界點個數(shù)。
在形狀分析中,圓形度是圖形幾何特征中較常用的一種特征之一,其通常定義如下:
其中,L為目標(biāo)的周長,A為目標(biāo)的面積。
圓形度,C表示圖形與圓形的接近程度,C越接近于1,形狀越接近于圓形。
獲取目標(biāo)區(qū)域的鏈碼以后,可根據(jù)鏈碼直接計算目標(biāo)圖形的周長。常規(guī)方法為將目標(biāo)周長表示為鏈碼個數(shù)之和。
當(dāng)獲取目標(biāo)的面積和周長后,就可以計算圓形度。當(dāng)目標(biāo)區(qū)域為圓形時,圓形度為1,圓形度越遠離1,說明目標(biāo)區(qū)域的形狀越復(fù)雜。
該算法計算圖像中閉合區(qū)域的圓形度,若圓形度在區(qū)間[0.75,1]內(nèi),則認定該區(qū)域為圓形區(qū)域,輸出該區(qū)域的坐標(biāo)范圍,并顯示提取后的圖像,提取結(jié)果如圖7所示。
算法基本思路是:以圖像左上角為初始點歷遍整個圖像,遇到非零點后按8-方向鏈碼0-8的方向依次尋找相鄰點,若各相鄰點連接為閉合圖形,即按搜尋方向可回到初始點。則計算該圖形面積及圓形度,并與所設(shè)閾值比較,若滿足條件,則認定為圓形區(qū)域。保存整個閉合圓形的橫縱坐標(biāo)的極值,并輸出提取到圓形區(qū)域。算法流程如下:
1)初始化。將橫、縱坐標(biāo)極大值、極小值、面積、周長、圓形度的初始值設(shè)置為0,按照從上到下,從左至右的順序依次掃描圖象。若遇到非零點則保存初始點坐標(biāo)并轉(zhuǎn)到第2步,若到達圖象右下坐標(biāo),則轉(zhuǎn)到第4步。
2)按順時針方向搜尋相鄰點,若沒有相鄰點或達到圖象右下坐標(biāo)則跳轉(zhuǎn)到第4步,若有則依照面積計算公式更新面積值,周長自加1,比較該點坐標(biāo)及橫縱坐標(biāo)極值并更新極值,跳轉(zhuǎn)到第3步。
3)判斷是否回到初始點,是則跳轉(zhuǎn)第4步,否則將目標(biāo)點值零(變?yōu)楸尘吧?,跳轉(zhuǎn)第2步繼續(xù)執(zhí)行。
4)若程序在初始點位置且周長大于2,則計算目標(biāo)圓形度,否則圓形度值零。若圓形度滿足[0.75,1]輸出橫、縱坐標(biāo)極值坐標(biāo),并顯示提取到的目標(biāo)圖形,退出程序。
當(dāng)圓形目標(biāo)畸變過大時,本方法將無法正確提取目標(biāo)。取樣本20個,所得的實驗結(jié)果如表1所示。
表1 實驗結(jié)果Tab.1 Result of experiment
基于圓形度的目標(biāo)形狀分析是形狀分析中的重要內(nèi)容,可應(yīng)用于計算機視覺、工業(yè)自動化、智能導(dǎo)航系統(tǒng)等領(lǐng)域。本文提出的交通禁令標(biāo)志提取算法,處理速度快,檢測效果好,能夠滿足系統(tǒng)實時性和有效性的要求,可應(yīng)用于智能交通網(wǎng)絡(luò)及智能汽車系統(tǒng),應(yīng)用前景較為廣泛。
[1]黃志勇,孫光民,李芳.基于RGB視覺模型的交通標(biāo)志分割[J].微電子學(xué)與計算機,2004,21(10):147-148.HUANG Zhi-yong, SUN Guang-min, LI Fang.Traffic sign segment based on RGB vision model[J].Microelectronics&Computer, 2004, 21(10):147-148.
[2]段瑞玲,李慶祥,李玉和.圖像邊緣檢測方法研究綜述[J].光學(xué)技術(shù),2005,31(3):415-419.DUAN Rui-ling, LI Qing-xiang, LI Yu-he.Summary of image edge detection[J].Optical Technique, 2005, 31(3):415-419.
[3]李迎,段汕.基于數(shù)學(xué)形態(tài)學(xué)的二值圖像細化算法研究[J].中南民族大學(xué)學(xué)報,2005,24(4):96-99.LI Ying,DUAN Shan.Study of binary image thinning based on mathematicalmorphology[J].JournalofSouth-Central Univercity for National-Ities, 2005, 24(4):96-99.
[4]韓殿元.基于鏈碼的圓形目標(biāo)分析 [J].濰坊學(xué)院學(xué)報,2008,8(2):29-31.HAN Dian-yuan.An analysis on circle object based on chain code[J].Journal of Weifang University, 2008, 8(2):29-31.
[5]楊萬扣,任明武,楊靜宇.數(shù)字圖像中基于鏈碼的目標(biāo)面積計算方法[J].計算機工程,2008,34(1):30-33.YANG Wang-kou, REN Ming-wu, YANG Jing-yu.Object area algorithms based on chain code in digital image[J].Computer Engineering, 2008, 34(1):30-33.
[6]陸宗騏,童韜.鏈碼和在邊界形狀分析中的應(yīng)用[J].中國圖象圖形學(xué)報,2002,7(12):1323-1328.LU Zong-qi,TONG Tao.The application of chain code sum in the edge form analysis[J].Journal of Image and Graphics,2002, 7(12):1323-1328.