申倬棟,王澤舉
(閩江學院,福建 福州 350108)
本文的研究是基于全國大學生智能汽車競賽中圖像識別的相關研究,在體育館等環(huán)境下,太陽光照透過窗戶在地面上形成不同大小的光斑,光斑對于攝像頭對賽道的識別有很大的影響,表現在將非賽道部分識別成賽道,導致車輛偏離正確的行使路徑,因此對于不均元光照條件下圖像的正確處理至關重要[1-3]。
在計算機對圖像進行處理的過程中,首先要做的就是進行圖像分割,常用的圖像分割方法有基于閾值的分割方法、基于邊緣的分割方法、基于區(qū)域的分割方法、基于神經網絡的分割方法等。全國大學生智能汽車競賽中所面臨的圖像具有明顯的顏色變化特征,基于閾值的分割方法是不錯的選擇,即二值化圖像分割,顧名思義,二值化圖像分割就是選取一個閾值[4],圖像中大于該閾值的像素點為255(全白),小于該閾值的像素點為0(全黑),因此閾值的選取是二值化圖像分割的關鍵。
最大類間方差法是由日本學者大津提出的一種自適應閾值確定的方法,又稱大津法,簡稱OTSU。
最大類間方差法首先要計算圖像的直方圖,直方圖體現的是圖像灰度的整體分布情況,橫坐標是灰度值mk,縱坐標是該灰度值的概率Pk。
根據直方圖的統(tǒng)計信息,求出像素類的概率P以及像素類的平均灰度m。
遍歷0-255之間的每個像素值,尋找能得到最大類間方差的像素值,由此得到的像素值就認為是合適的閾值。根據該閾值對圖像進行二值化分割,得到二值化圖像。
最大類間方差二值化方法運用的是全局閾值,在對于不均勻光照條件下,在對賽道圖像處理時,出現明顯的偏差,難以顯示正確的路徑。
針對太陽光照透過窗戶照射進來在地面上形成的光斑,采取局部閾值的方法對圖像進行二值化分割,局部閾值法即針對不同區(qū)域像素采用不同的閾值進行二值化分割,是一種自適應的動態(tài)閾值分割方法。Bernsen算法是一種典型的局部閾值法。Bernsen算法的中心思路是先設定兩個值S與TT(Bernsen最初設定S為15,TT設為128),計算以像素P為中心的大小為(2w+1)*(2w+1)窗口內所有像素的最大值M與最小值N,以及兩者的均值T[5]。
如果M-N>S,則當前像素P的閾值為T;如果M-N<S,則說明該像素P所在的區(qū)域灰度級差別較小,整個窗口區(qū)域位于同一個目標區(qū)或者同一個背景區(qū),若T>TT,則該像素點灰度值為255,若T<TT,則該像素點灰度值為0。
Bernsen算法中S與TT的值可以根據實際情況調整,首先采用Bernsen最初的設定[6-8],得到如下二值化圖像:
經過多次的實際測試,設定不同的S與TT值,Bernsen算法得到的二值化圖像有明顯改善,但Bernsen算法要求遍歷每一個像素點所在的區(qū)域來確定局部閾值,計算量較大,對于性能有限的嵌入式芯片而言,過大的計算量會導致系統(tǒng)運行出現時遲滯,在Bernsen算法的基礎上降低計算量是非常重要的。
全國大學生智能汽車競賽的比賽場地主要集中在沒有做遮光處理的室內體育場,陽光透過體育場館頂部照射在地面上的光斑呈現出較大塊的亮斑,很少會出現瑣碎的光斑,針對這種情況,把圖像分割成較大的不同區(qū)域,既不會像最大類間方差法那樣直接求出全局閾值,也不會像Bernsen算法那樣對每一個像素點都取不同的閾值,減少了計算量,因此如何對圖像進行區(qū)域分割成為至關重要的一步[9]。
在實際的實驗過程中,攝像頭拍攝到的圖像尺寸為120*188,賽道部分主要集中在圖像的中間區(qū)域,賽道采用白色的材質,光照對其幾乎沒有影響。非賽道部分采用藍色的材質,當有強光照射在上面時,會提高其表面亮度,在攝像頭采集到的圖像中表現為較亮的一塊區(qū)域,采用全局閾值的方法會直接將其分割為賽道部分。
其中5區(qū)域大多處于賽道的白色的部分,光照對其幾乎沒有影響,經過多次實驗,對其直接采取固定的閾值110,這樣將會進一步減少計算量;對于1、2、3、4、6區(qū)域,存在賽道和非賽道部分的過度,由于復雜光線的影響,其成像效果參差不齊,采取最大類間方差法求閾值進行二值化[10],在減少計算量的同時能夠有效緩解光照不均勻照成的影響。
綜上所述,通過對不同的二值化算法進行比較,二值化圖像分割時閾值的取值至關重要,當面對不均勻光照條件下,在最大類間方差法和Bernsen算法的基礎上,對現有二值化算法做改進,能夠有效減少光照不均勻對成像效果的影響。本文提出思路有一定的局限性,通過適當的改進也可用在其它領域。