王偉業(yè) 徐鋒
摘 要 以“飛思卡爾”杯智能汽車競賽為背景,對現(xiàn)有的二值化算法的分析,基于迭代的思想提出了一種新的雙峰法的改進(jìn)二值化算法。并通過實(shí)驗(yàn)的方法將新方法和傳統(tǒng)算法進(jìn)行比較,實(shí)驗(yàn)結(jié)果表明新方法實(shí)現(xiàn)了自適應(yīng)二值化閾值的計(jì)算,解決了傳統(tǒng)全局雙峰法分割賽道圖像時(shí)適應(yīng)性差,易受光線影響的問題,適用于攝像頭循跡小車中的實(shí)時(shí)圖像處理。
關(guān)鍵詞 飛思卡爾;智能車;圖像分割;自適應(yīng)二值化
中圖分類號 TP2 文獻(xiàn)標(biāo)識碼 A 文章編號 2095-6363(2015)09-0028-02
圖像分割是數(shù)字圖像處理中的一項(xiàng)基本技術(shù),該技術(shù)在目標(biāo)識別、機(jī)器視覺以及視頻和圖像信息的檢索中起著重要的作用。圖像二值化是圖像分割中的一項(xiàng)重要的技術(shù),在眾多的應(yīng)用場合中都要求對灰度圖像進(jìn)行二值化,所謂二值化就是設(shè)定一個(gè)閾值將圖像各個(gè)元素按其灰度值分為背景和目標(biāo)兩類,由于分割后圖像只有兩個(gè)等級,因而稱之為二值化圖像。因此在進(jìn)行圖像的分割時(shí)閾值選取的恰當(dāng)與否直接決定著目標(biāo)信息的保留狀況。有關(guān)閾值選取的方法吸引了大批專家學(xué)者為之付出了辛勤的勞動(dòng),也提出了許多方法,例如基于灰度直方圖的雙峰法,最大類間方差法(Otsu法),最大熵方法等等,并且不斷有新的方法提出。
受教育部高等教育司委托高等學(xué)校自動(dòng)化專業(yè)教學(xué)指導(dǎo)分委員會主辦的“飛思卡爾”杯全國大學(xué)生智能汽車競賽是在飛思卡爾半導(dǎo)體公司的贊助下以飛思卡爾單片機(jī)為主控芯片,自主設(shè)計(jì)并制作出具有駕駛能力的智能汽車,并在最短時(shí)間內(nèi)完成賽道運(yùn)行的一項(xiàng)賽事,是教育部主辦的全國大學(xué)生五大競賽之一。此項(xiàng)競賽涵蓋了包括傳感器技術(shù)、電子技術(shù)、計(jì)算機(jī)技術(shù)、機(jī)械等多個(gè)領(lǐng)域的極具創(chuàng)意性的比賽。按照使用傳感器種類的不同分為攝像頭組、光電組和電磁組。攝像頭傳感器因其獲取的信息豐富,能更好的反應(yīng)賽道的真實(shí)情況而被廣泛地采用,在每年比賽中攝像頭組的競爭也非常激烈,因此一套適應(yīng)性強(qiáng)、 可靠性高、運(yùn)算量小的二值化算法是取得優(yōu)秀成績的先決條件。
1 二值化原理
將圖像劃分成一些特定的區(qū)域稱為圖像分割。按照分割方法的不同分為邊緣檢測法和閾值分割法。邊緣指一幅圖像中灰度變化比較劇烈的地方,因此邊緣檢測法主要依靠圖像的一階或二階導(dǎo)數(shù)但是導(dǎo)數(shù)對噪聲非常敏感,因此在采用此類方法時(shí)需要對圖像進(jìn)行濾波。但普通的濾波算法在濾除噪聲的同時(shí)可能會降低邊緣強(qiáng)度。閾值法是將每個(gè)像素點(diǎn)的灰度值與閾值進(jìn)行比較,根據(jù)比較結(jié)果將圖像劃分為目標(biāo)和背景。二值化過程可表示為:
g(x,y)為(x,y)處的像素值,f(x,y)為二值化后(x,y)處的像素值,T為閾值。常用的閾值選取方法有很多,根據(jù)閾值個(gè)數(shù)的多少可分為全局閾值法和局部閾值法。全局閾值法是指進(jìn)行圖像二值化時(shí)所有圖像元素只與一個(gè)全局閾值進(jìn)行比較。
常用的全局閾值法包括以下幾種。
1)固定閾值法。這種二值化方法采用人為設(shè)定的閾值,該方法的運(yùn)算量小,但是其缺點(diǎn)也是很明顯的。適應(yīng)性差,且分割結(jié)果極易受人為因素的干擾。
2)雙峰法。首先統(tǒng)計(jì)圖像的一維灰度直方圖,如果此幅圖像中背景簡約,目標(biāo)與背景的對比比較明顯,灰度直方圖就會呈現(xiàn)明顯的雙峰分布,那么兩峰之間的谷底的灰度值就是就是最佳的二值化閾值。
3)最大類間方差法?;叶戎捣讲钍腔叶确植季鶆蛐缘亩攘俊7讲钤酱蟊砻鳂?gòu)成圖像的各部分差別越大,反之說明構(gòu)成圖像各部分差別越小。通過計(jì)算目標(biāo)的平均灰度值、背景平均灰度值整幅圖像的平均灰度值等來找出最大類間方差以及最小類內(nèi)方差的點(diǎn)。此點(diǎn)即為錯(cuò)分幾率最小的點(diǎn)。
全局二值化在處理一些復(fù)雜的圖像時(shí)出錯(cuò)率較高,因而在此基礎(chǔ)上提出了局部閾值法。局部閾值將原圖像分成多塊較小的圖像,并對每一塊圖像分別計(jì)算閾值。典型的局部閾值法包括以下幾種。
1)Bersen算法。閾值的選取只與特定尺寸的小圖像中的最大最小值有關(guān),在分割非均勻光照或背景復(fù)雜的圖像時(shí)容易產(chǎn)生偽影或殘缺的現(xiàn)象。
2)Niblack算法。該算法閾值與局部圖像的均值和方差決定,該方法運(yùn)算量大、容易受到背景噪聲的干擾,且存在偽影或殘缺的現(xiàn)象。
在對圖像處理實(shí)時(shí)性和適應(yīng)性要求比較高的應(yīng)用場合中,上述均存在不能同時(shí)兩者兼顧的問題。但是針對智能車系統(tǒng)普通的雙峰法就能滿足要求,因?yàn)橹悄苘囘\(yùn)行在特定的比賽賽道上,背景簡約且對比明顯且與賽道的對比明顯。但是在應(yīng)用過程中發(fā)現(xiàn)有時(shí)會出現(xiàn)賽道光線分布不均勻的區(qū)域或是受光線斜射的影響,背景和目標(biāo)的對比不是非常明顯,因而會出現(xiàn)圖像二值化出錯(cuò)的情況,從而導(dǎo)致智能車控制決策失誤因而出現(xiàn)車模運(yùn)行失控的情況。基于上述情況需要對雙峰法進(jìn)行改進(jìn),使之滿足智能車的運(yùn)行需求。
2 雙峰法改進(jìn)方案
2.1 基本思想
在對雙峰法進(jìn)行改進(jìn)之前首先對比賽場地以及比賽過程進(jìn)行分析。比賽時(shí)的賽道是由鋪設(shè)在藍(lán)色地毯上的KT板或PVC板拼接而成。賽道寬度45cm,并在賽道左右邊緣各貼有寬度為2.5cm的黑條。賽道上有各種彎道以及路障和坡道組成。參賽選手在正式進(jìn)入比賽場地之前有20min的時(shí)間在試跑跑道上試車。進(jìn)入比賽場地后選手也有60s的時(shí)間在比賽場地進(jìn)行準(zhǔn)備和測試。60s結(jié)束后,參賽車模要在30s之內(nèi)沖過起跑線。
在對采集到的灰度圖像進(jìn)行雙峰法分割時(shí),效果比較明顯但雙峰之間可能存在比較寬的區(qū)域,因此閾值T選取過程中也需要進(jìn)行人為的干預(yù),分割效果會受到人為因素的干擾。由于雙峰法需要對整幅圖像的灰度進(jìn)行統(tǒng)計(jì),但是一幅圖像的數(shù)據(jù)量往往比較龐大。單片機(jī)在進(jìn)行這樣的處理時(shí)可能耗費(fèi)較多時(shí)間使得整個(gè)系統(tǒng)的控制周期變長,嚴(yán)重制約了車速的提升空間。因此需要簡便算法,降低誤差,獲得比較準(zhǔn)確的閾值T。
2.2 算法實(shí)現(xiàn)
由賽道分析可知,比賽賽道的寬度是固定的,且賽道邊緣是連續(xù)的。智能車競賽一般在體育館中進(jìn)行,光線強(qiáng)度在時(shí)間和空間上都是逐漸變化的,并且在比賽之前有足夠多的時(shí)間適應(yīng)光線?;谝陨戏治鎏岢鋈缦赂倪M(jìn)方案。
1)當(dāng)攝像頭采集完一幅圖像后,對圖像的前九行根據(jù)雙峰法進(jìn)行二值化,直到得出較好的分割效果?!拜^好”指經(jīng)過二值化后賽道的寬度正常且賽道邊緣連續(xù)。
2)每一行都分別設(shè)置一個(gè)閾值T。從第十行開始沿用上一行的閾值進(jìn)行分割,若分割后的賽道寬度正常且此次分割得到的左邊界不在上一行右邊界的右邊,右邊界不在上一行左邊界的左邊。此時(shí)根據(jù)該閾值將該行圖像劃分為目標(biāo)和背景兩部分,分別計(jì)算目標(biāo)和背景兩部分的灰度平均值。并將兩部分的灰度平均值除以二,做為當(dāng)前行的最佳分割閾值。
3)若當(dāng)前分割出來的出來的賽道寬度不在正常范圍內(nèi)或與上一行賽道邊界相比有較大的跳變,則保持當(dāng)前行的分割閾值不變,下一行繼續(xù)沿用此閾值進(jìn)行分割。
4)若一幅圖像處理完畢,處理接下來的圖像按照步驟一繼續(xù)進(jìn)行處理。
3 實(shí)驗(yàn)測試
在對上述方案進(jìn)行測試時(shí)采用自主設(shè)計(jì)并制作的智能車模型上進(jìn)行測試。攝像頭采用ov7620彩色攝像頭。該攝像頭具有自動(dòng)增益和自動(dòng)白平衡控制,能進(jìn)行亮度、對比度、飽和度、γ校正等多種調(diào)節(jié)功能;它支持連續(xù)和隔行兩種掃描方式,VGA與QVGA兩種圖像格式;幀速率為30fps;數(shù)據(jù)格式包括YUV、YCrCb、RGB三種,能夠滿足一般圖像采集系統(tǒng)的要求。
主控芯片采用FreeScale半導(dǎo)體公司生產(chǎn)的MK60DN512VLL10作為主控芯片,通過程序配置其內(nèi)核頻率為200Mhz,總線頻率為100Mhz。通過sccb(串行攝像機(jī)控制總線協(xié)議)對攝像頭的寄存器進(jìn)行相關(guān)配置。由于智能車運(yùn)行過程中只需要采集灰度圖像就可滿足控制要求。因此將攝像頭配置為YUV格式輸出,并通過單片機(jī)的DMA模塊采集Y數(shù)據(jù)。
為了驗(yàn)證算法的可行性通過攝像頭采集一幅賽道原始的灰度圖像,該圖像中光線分布不均勻,圖像前端光線較暗。如圖1所示。
采用新算法的閾值從近及遠(yuǎn)呈遞增分布。
通過對比分析該方法與傳統(tǒng)雙峰法的分割效果可以看出,采用新算法的二值化結(jié)果相對于采用傳統(tǒng)算法的結(jié)果較優(yōu)。在光線分布不均勻時(shí),二值化效果更加明顯。此算法具有較好的光線適應(yīng)能力,更加完整地保留了賽道信息,為后續(xù)賽道信息的提取以及控制策略的執(zhí)行提供了良好的保障。由于此算法每一行都需要進(jìn)行一次閾值計(jì)算相對于傳統(tǒng)全局二值化算法,可能需要消耗較長的時(shí)間,但是經(jīng)過實(shí)際測試表明通過配置攝像頭隔行掃描并采集其中90行,180列的數(shù)據(jù)的情況下,執(zhí)行完該二值化算法后任然有充足的時(shí)間執(zhí)行后續(xù)的控制算法。
4 結(jié)論
本文對現(xiàn)有的二值化算法進(jìn)行了分析和比較,并討論了這些算法在智能車系統(tǒng)中的可行性。最終選用雙峰法做為二值化算法,通過分析該方法的不足結(jié)合智能車競賽的特點(diǎn)提出了一種新的改進(jìn)算法,新算法是基于迭代的思想,通過閾值傳遞進(jìn)行圖像二值化。實(shí)驗(yàn)表明,該方法相對于傳統(tǒng)的二值化算法具有更強(qiáng)的光線適應(yīng)能力以及較小的運(yùn)算量的特點(diǎn),并且能較好的還原賽道的真實(shí)狀況。但是任何算法都只能適用于特定的范圍,該算法只能在一定范圍內(nèi)跟隨光線的變化對閾值進(jìn)行
調(diào)整。
參考文獻(xiàn)
[1]阮秋琦.數(shù)字圖像處理學(xué)[M].北京:電子工業(yè)出版社,2001:390-393.
[2]王強(qiáng),馬利莊.圖像二值化時(shí)圖像信息的保留[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2000,12(10):746-750.
[3]楊暉,曲秀杰.圖像分割方法綜述[J].電腦開發(fā)與應(yīng)用,2005(3).
[4]王積分,張新榮.計(jì)算機(jī)圖像識別[M].北京:中國鐵道出版社,1998:75-77.
[5]Otsu .A Threshold Selection Method from Gray –Level Histogram[J]. IEEE Trans on SMC -9,1979:62-66.
[6]劉文萍,吳立德.圖像分割中閾值選取方法比較研究[J].模式識別與人工智能,1997,10(3):274-277.