張 超,彭金璋,劉純鴿,何宇樺
(吉首大學信息科學與工程學院,湖南 吉首 416000)
智能車跑道圖像的大津閾值分割算法*1
張 超,彭金璋,劉純鴿,何宇樺
(吉首大學信息科學與工程學院,湖南 吉首 416000)
智能車跑道環(huán)境復雜多變,傳統(tǒng)的大津閾值分割法無法完成跑道圖像的準確分割.在分析傳統(tǒng)大津法二值化的基礎上,提出了適合智能車跑道圖像處理的分塊大津法二值化,準確快速地完成了跑道閾值的分割,并有效地完成路徑的識別.
智能車;圖像采集;圖像處理;大津法
智能車是一個對實時性要求非常高的自動控制系統(tǒng),圖像采集與處理、路徑識別、車體控制等一系列過程必須嚴格按照攝像頭的時序完成[1].準確、及時的路徑識別是智能車自動行駛的關鍵,這對跑道圖像采集處理的效率和準確性提出了更高的要求.文中所述智能車控制系統(tǒng)采用飛思卡爾K60系列的MK60DN512ZVLQ10處理器,圖像采集采用OV7620數(shù)字式攝像頭實現(xiàn).為提高采集效率,圖像數(shù)據(jù)采集采用DMA模式傳輸[2-3],智能車跑道環(huán)境千變萬化,靜態(tài)閾值法和傳統(tǒng)的大津閾值算法二值化不能準確地分割跑道信息[4-5].本文提出了分塊大津算法,分割效果明顯.
數(shù)字化攝像頭OV7620采用NTSC制式,幀頻為30幀/s,場頻60幀/s.攝像頭數(shù)據(jù)輸出由垂直同步VSYN、水平同步HREF、像素時鐘PCLK控制[6].VSYN的周期是16.64 ms,高電平為換場時間,低電平為數(shù)據(jù)輸出時間;HREF的周期是63.6 μs,高電平為數(shù)據(jù)輸出時間,低電平為換行時間;PCLK的周期是73 ns,高電平像素輸出,低電平無效.攝像頭時序如圖1所示.
圖1 OV7620攝像頭的時序圖
采用攝像頭的中斷信號觸發(fā)K60系列MK60DN512ZVLQ10處理器的I/O口外部中斷,實現(xiàn)時序同步,場中斷時間作為智能車的控制周期.場中斷的優(yōu)先級須高于行中斷,否則采集到的圖像會發(fā)生混亂.OV7620的圖像分辨率為640×480,設置QVGA格式輸出,大小為320×240.在實際的智能車系統(tǒng)中,1個周期無法處理這么大的數(shù)據(jù)量,分辨率為80×60已足夠滿足提取路徑信息.在程序中設置2個二維數(shù)組:320×60作為圖像接收數(shù)組,80×60作為圖像處理數(shù)組.攝像頭在采集圖像時,容易發(fā)生梯形失真[7-8],為校正梯形失真,圖像接收數(shù)組從攝像頭采集的240行數(shù)據(jù)中按照遠密近疏的方法接收60行.
K60系列MK60DN512ZVLQ10處理器采用DMA方式接收圖像數(shù)據(jù),DMA每傳輸一行數(shù)據(jù)存入接收數(shù)組.當一場圖像接收完成之后,接收數(shù)組的數(shù)據(jù)每4列取1列存入處理數(shù)組,處理數(shù)組的圖像像素變成80×60.圖像采集流程圖如圖2所示.
圖2 圖像采集流程
數(shù)字式攝像頭輸出的是8位灰度數(shù)據(jù),灰度級別為256,每場待處理的圖像是一個80×60像素的灰度數(shù)據(jù).圖像二值化處理是路徑信息提取的基礎,其閾值的選取是關鍵.閾值選取方法可分為靜態(tài)閾值法和動態(tài)閾值法,前者事先設定一個灰度值,圖像按此值進行二值化分割;后者在待處理圖像中進行數(shù)學運算,得到一個合適的值,再按這個值進行二值化分割.靜態(tài)閾值法效率高,但抗干擾能力差;動態(tài)閾值法適應能力強,但算法復雜,效率低.
智能車跑道環(huán)境瞬息萬變,采用靜態(tài)閾值法無法完成跑道所有圖像的準確分割,實驗中采用該法的圖像二值化在不同光照條件下的分割效果如圖3所示.K60處理器主頻可超頻至200 MHz,處理能力強大.實踐測試:采用動態(tài)閾值二值化,K60處理器能在規(guī)定時間內完成圖像處理.
圖3 靜態(tài)閾值二值化效果 圖4 傳統(tǒng)大津法二值化結果
通常情況下,一幅圖像由前景和背景構成,方差灰度區(qū)分由方差描述.當前景和背景被錯分時,類間方差將會變小,取最大類間方差的灰度值意味著被錯分的概率變小.大津法(又稱最大類間方差法OTSU法)是一種自適應閾值分割方法,非常適用于前景和背景區(qū)分度較大的圖像分割.大津法的原理如下:
通過全國智能車競賽實驗發(fā)現(xiàn),圖像不同部分灰度差別較大,勢必造成大津法閾值分割不準確.筆者將一幅圖像分成很多小塊,每個小塊再用大津法進行閾值分割,可以明顯改善二值化效果.圖像分塊的大小和方法需要根據(jù)實際情況來確定.
智能車跑道由白底和邊緣黑線組成,白底是背景色,黑線是前景色.二值化的目的是把白底判為1,黑線判為0,從而提取黑線信息,所以劃分的每一個小塊必須包含白底和邊緣黑線.
大津算法的偽代碼如下:
int otsu (unsigned char *image,int rows,int cols,int x0,int y0,int dx,int dy)
{
/* image:圖像指針;rows:圖像高度;cols:圖像寬度;*/
/* x0:起始行;y0:起始列;dx:處理行大小;dy:處理列大小 */
for循環(huán)初始化灰度直方圖pixel[k];
for循環(huán)生成直方圖,統(tǒng)計每一級灰度的像素個數(shù);
for (k = 0;k <= 255;k++)
{
sum_gray+=(double)k*(double)pixel[k];
/*灰度直方圖質量矩*/
sum_pix_num+=pixel[k];/*總像素個數(shù)*/
}
for(k=0;k<255;k++)
{
p1_pix_num+=pixel[k];
/*第一部分像素個數(shù)*/
p2_pix_num=sum_pix_num-p1_pix_num;
/*第二部分像素個數(shù)*/
p1_sum_gray+=(double)k*pixel[k];
/*第一部分質量矩*/
第二,設立SPV。建立SPV是證券化的關鍵所在,也是整個流程的核心部分。它的目的在于降低發(fā)起人破產(chǎn)風險對證券化的影響,實現(xiàn)風險隔離。
m1=p1_sum_gray/p1_pix_num;
/*第一部分灰度均值*/
m2=(sum_gray-p1_sum_gray)/p2_pix_num;
/*第二部分灰度均值*/
V=p1_pix_num*p2_pix_num*(m1-m2)*(m1-m2);
/*求類間方差*/
if(V>variance)
{
threshold Value=k;
/*將類間方差較大時的灰度值作為閾值*/
}
}
return(thresholdValue);/*求出閾值*/
}
圖5 改進的大津法二值化結果
一幅圖像分塊越多,二值化效果越好.但是,分塊二值化會降低圖像處理的效率,如果劃分太細,圖像處理無法在規(guī)定時間內完成.經(jīng)大量實驗發(fā)現(xiàn),將一場圖像的60行數(shù)據(jù)分為3個小塊,1~20行作為遠場,21~40行作為中場,41~60行作為近場,每個小塊用大津法提取閾值,整場圖像用3個閾值二值化,既能在一個周期內完成圖像處理,又能取得較好的二值化效果.改進后的大津算法二值化效果如圖5所示.
筆者通過對傳統(tǒng)大津算法的分析,指出了其在智能車跑道圖像二值化上的不足,闡述了改進的分塊大津算法.實驗結果表明:改進后的大津算法能更好地實現(xiàn)智能車跑道圖像二值化.
[1] 卓 晴,黃開勝,邵貝貝,等.學做智能車[M].北京:北京航空航天大學出版社,2007.
[2] 曹宗凱,胡 晨,姚國良.DMA在內存間數(shù)據(jù)拷貝中的應用及其性能分析[J].電子器件,2007,30(1):311-317.
[3] 楊福廣,李貽斌,尹占芳,等.ARM中基于DMA的高效UART通訊及其應用[J].微計算機信息,2008,24(1/2):161-162.
[4] RAFAEL C G,RICHARD E W.數(shù)字圖像處理[M].北京:電子工業(yè)出版社,2005.
[5] 孫少林,馬志強,湯 偉. 灰度圖像二值化算法研究[J].價值工程,2010(5):142-143.
[6] 岱默科技.新手入門攝像頭:第4篇——OV7620數(shù)字攝像頭時序剖析[EB/OL].[2014-04-21].http://www.znczz.com/forum.php?mod=viewthread&tid=111728.
[7] 王 建,張曉煒,楊 錦,等.基于視覺傳感器的智能車攝像頭標定技術研究(上) [J].電子產(chǎn)品世界,2010(6):48-49.
(責任編輯 陳炳權)
SegmentationAlgorithmofOtsuThresholdAbouttheRunwayImageofIntelligentCar
ZHANG Chao,PENG Jin-zhang,LIU Chun-ge,HE Yu-hua
(College of Information Science and Engineering,Jishou University,Jishou 416000,Hunan China)
The environment of the runway of intelligent car is complicated,and the traditional otsu thresholed segmentation method can not achieve mecise segmentation of the runway image.On the basis of the analysis on the birnarization of the tradtional otsu method,the block otsu binarization for intelligent runway image processing is proposed.This algorithm can achieve fast and precise segmentation of runway threshold and effective runway recognition,effectively copmplete path identification.
intelligent car;image acquisition;image processing;otsu method
1007-2985(2014)04-0027-04
2013-10-02
吉首大學大學生研究性學習和創(chuàng)新性實驗計劃課題資助項目(JSU-CX-2013-09)
張 超(1991-),男,湖南懷化人,吉首大學信息科學與工程學院學生,主要從事嵌入式系統(tǒng)研究
彭金璋(1963-),男,湖南張家界人,吉首大學信息科學與工程學院教授,主要從事材料電子結構研究.
TP391
A
10.3969/j.issn.1007-2985.2014.04.007