劉新磊+劉圣然+劉新德+馬瑞珂
【摘 要】基于機(jī)器視覺(jué)的路徑識(shí)別是汽車智能化發(fā)展的關(guān)鍵。利用灰度平均值法和九宮格除噪法對(duì)智能車視覺(jué)圖像存在的噪點(diǎn)繁雜、色彩模糊、失真嚴(yán)重問(wèn)題進(jìn)行了改善;根據(jù)以機(jī)器視覺(jué)圖像為基準(zhǔn)的路徑特點(diǎn),設(shè)計(jì)了基于機(jī)器視覺(jué)的路徑識(shí)別控制策略和明確的路徑識(shí)別控制系統(tǒng)。實(shí)踐結(jié)果表明,該算法具有很強(qiáng)的魯棒性,并且快速有效。
【關(guān)鍵詞】路徑識(shí)別;九宮格除噪法;灰度平均值法;控制策略;魯棒性
中圖分類號(hào): U461 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 2095-2457(2017)35-0013-002
Design of image processing and path recognition control system based on machine vision
LIU Xin-lei LIU Sheng-ran LIU Xin-de MA Rui-ke
(School of Vehicle Engineering , Shandong Jiaotong University, Jinan 250300, China)
【Abstract】The path recognition based on machines visual sense is the key point of the development of automobiles intelligence. Using gray-scale average method and squares denoising method to take improvement on the problems of multifarious noisy point, fuzzy colour and distortion from intelligent automobiles image. Whats more, based on the characteristics of using machines visual image as reference to design the management strategy of path recognition and specific management system of path recognition which is on the principle of machines visual sense. What is indicated by the result of practices is that this algorithm obtains good robustness and also can be fast and effective.
【Key words】Path recognition;Squares denoising method;Gray average method;Control strategy
0 引言
隨著社會(huì)的發(fā)展,智能技術(shù)與當(dāng)今汽車技術(shù)相結(jié)合的智能汽車,將成為未來(lái)汽車發(fā)展的一大趨勢(shì),而路徑識(shí)別作為智能汽車技術(shù)的一項(xiàng)重要標(biāo)志,直接影響著智能汽車行駛性能[1]。飛思卡爾智能車有著當(dāng)今智能汽車的縮影,飛思卡爾智能車系統(tǒng)同樣包含智能汽車所具備的控制、傳感、機(jī)械等功能模塊[2]。
本文以飛思卡爾智能車為研究對(duì)象,針對(duì)基于機(jī)器視覺(jué)的路徑識(shí)別問(wèn)題進(jìn)行研究,預(yù)判前方的路況信息,進(jìn)而控制智能車的轉(zhuǎn)向和行駛速度。飛思卡爾智能車在以白色為襯底、黑色為邊界的跑道行駛,通過(guò)OV7725攝像頭采集圖像,使用飛思卡爾公司推出的以ARM-Cortex-M4為內(nèi)核的K60芯片處理圖像,實(shí)現(xiàn)路徑自動(dòng)識(shí)別及控制行駛[3]。
1 二值化及閾值選取
1.1 基本原理
二值化在數(shù)字圖像處理中占有非常重要的地位,圖像二值化使圖像數(shù)據(jù)量大為減少,從而能明顯地得出目標(biāo)的大體輪廓。
二值化算法的主要思想是設(shè)置一個(gè)閾值Threshold,對(duì)于視頻矩陣信號(hào)的每一行,從左至右比較各像素點(diǎn)值大小。若像素值小于閾值則判斷為白色,即白色底面;反之,若像素值大于閾值則判斷為黑色,即黑色邊界引導(dǎo)線。
1.2 閾值選取
閾值的選取對(duì)圖像二值化有至關(guān)重要的影響,圖像基于合理的閾值進(jìn)行二值化處理?;叶绕骄捣?,即用整幅圖像的灰度平均值作為二值化的閾值,算法簡(jiǎn)單快速,易于單片機(jī)執(zhí)行,此值一般可作為初始化猜想值。
灰度平均值法的主要流程為遍歷待處理源圖像的像素點(diǎn),計(jì)算源圖像像素點(diǎn)個(gè)數(shù),對(duì)每個(gè)像素點(diǎn)的灰度值進(jìn)行累加求和,最后計(jì)算灰度平均值[4]。
C語(yǔ)言具體算法程序如下:
Sum——像素點(diǎn)灰度之和;g——灰度級(jí);
h(g)——灰度值;Amount——源圖像像素點(diǎn)個(gè)數(shù);
Amount——源圖像像素點(diǎn)個(gè)數(shù);Threshold——灰度平均值
public static int GetThreshold (int h[] )
{
int Sum = 0, Amount = 0;
for (int g = 0;g < 256; g++)
{ Amount += h[g];
Sum +=g * h[g];
}
return (Sum/Amount);
}
2 噪點(diǎn)的去除
2.1 除燥點(diǎn)
噪點(diǎn)是CMOS將光線作為接收信號(hào)并輸出的過(guò)程中所產(chǎn)生的圖像中的粗糙的部分,也指圖像中不該出現(xiàn)的外來(lái)像素,通常由電子干擾產(chǎn)生。
引導(dǎo)黑線提取識(shí)別前,進(jìn)行圖像除噪處理。噪點(diǎn)是一個(gè)或兩個(gè)孤立的黑點(diǎn),實(shí)踐中,利用OV7725攝像頭采集賽道圖像,發(fā)現(xiàn)距離車輛前方55cm內(nèi)約有11個(gè)像素點(diǎn),稍遠(yuǎn)處為8個(gè)像素點(diǎn),距離車輛前方80~100cm范圍大約有4個(gè)像素點(diǎn)。采用九宮格除噪法對(duì)噪點(diǎn)進(jìn)行處理。九宮格除噪法就是利用九宮格游戲的原理,在圖像上噪點(diǎn)的周圍進(jìn)行檢索,當(dāng)該像素點(diǎn)周圍8個(gè)方向的像素點(diǎn)都是同一性質(zhì)(黑色點(diǎn))時(shí),該像素點(diǎn)與其周圍的8個(gè)像素點(diǎn)的性質(zhì)相同,否則是另一性質(zhì)的像素點(diǎn)(白色點(diǎn))[5]。endprint
3 賽道識(shí)別策略
3.1 賽道的識(shí)別
在直道上,如圖1可以明顯觀察到左右黑色邊界,如果采用傳統(tǒng)的從中間向兩邊界掃描的方法尋找邊線,則會(huì)占用CPU的時(shí)間,本文采用的是前三行從中間向兩邊掃描并記錄前三行的左右邊界,其他行的左右邊界根據(jù)記錄,從記錄邊界的附近列掃描邊界,根據(jù)左右黑色邊線的列數(shù),可以計(jì)算出每一行的中點(diǎn)位置,直道路徑的每一行的中點(diǎn)位置與中心平均值的差值之和較小[6]。
以上這種邊線檢索方法,刪繁就簡(jiǎn),比傳統(tǒng)的方法節(jié)省出來(lái)大量CPU運(yùn)行處理時(shí)間,提高了檢索賽道圖像邊沿的效率,節(jié)約CPU的資源。
在彎道上,由于攝像頭度數(shù)的限制,會(huì)出現(xiàn)黑色邊界丟失的情況,如圖2,智能車在左轉(zhuǎn)彎的情況下,攝像頭采集的圖像不存在左邊界,也就是左邊界丟失的情況,此時(shí),利用右邊界進(jìn)行半寬平移,將平移的邊界與存在左右邊界時(shí)的中線相銜接,連成一條平滑的曲線。隨著彎道的彎度增加,圖像每一行的中點(diǎn)與中心平均值的差值越大,其差值之和較大。
在十字道路,智能車正入十字,通過(guò)圖像檢測(cè)拐點(diǎn),找到拐點(diǎn)后,根據(jù)拐點(diǎn)的行數(shù),檢測(cè)跳變點(diǎn),當(dāng)檢測(cè)到拐點(diǎn)和跳變點(diǎn)同時(shí)存在或者拐點(diǎn)存在左右任意一邊丟失邊線超過(guò)8行,則認(rèn)為車是正入十字。
其次,斜入十字與正入十字的不同是斜入十字時(shí),左右邊線同時(shí)(不同行)不丟線,如圖五,如果在斜入情況下不進(jìn)行處理,車會(huì)認(rèn)為是左彎道,為了防止這種情況的出現(xiàn),使用處理方法是跳變加拐點(diǎn)。跑道的邊線應(yīng)該是連續(xù)的,出現(xiàn)跳變的情況是出現(xiàn)了十字,記錄左右邊線的位置,再通過(guò)計(jì)算處理,如果邊線相鄰位置的差值大于15(正常情況下,相鄰邊線位置差值在1到3之間),則認(rèn)為此行出現(xiàn)跳變。處理方式是根據(jù)邊線的變化趨勢(shì),比如說(shuō)某點(diǎn)之前的左邊趨勢(shì)是向左的,而該點(diǎn)之后的趨勢(shì)是向右的,那么就認(rèn)定為一拐點(diǎn),即利用差相乘的方法。
4 整車設(shè)計(jì)及結(jié)論
整車采用K60作為主控制器,OV7725攝像頭實(shí)時(shí)采集賽道圖像,MPU6050傳感器采集車體姿態(tài),整車結(jié)構(gòu)簡(jiǎn)單,代碼運(yùn)行流暢。
實(shí)踐整車在第12屆恩智浦杯智能車競(jìng)賽中平均速度達(dá)到2.06米每秒,驗(yàn)證了圖像處理方法的正確性與路徑識(shí)別控制系統(tǒng)的可行性。
【參考文獻(xiàn)】
[1]吳吟蕭,張虹,王新生.基于黑白攝像頭的智能小車路徑識(shí)別系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與應(yīng)用,2009(2):1-2.
[2]邵貝貝.單片機(jī)嵌入式應(yīng)用的在線開(kāi)發(fā)方法[M].北京:清華大學(xué)出版社,2004(1):57-72.
[3]卓晴,黃開(kāi)勝,邵貝貝.學(xué)做智能車:挑戰(zhàn)“飛思卡爾”杯[M].北京:北京航空航天大學(xué)出版社,2007(1):42-53.
[4]賈秀江,李顥.攝像頭黑線識(shí)別算法和賽車行駛控制策略[J].2007(1):1-2.
[5]李旭東,廖中浩,孟嬌.基于CMOS攝像頭的智能車控制系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)[J].信息科學(xué)報(bào),2013,31(4):415-418.
[6]許寰,魯五一,趙治平.攝像頭路徑識(shí)別和小車控制策略[J].計(jì)算機(jī)工程與科學(xué),2009,31(5):110-115.endprint