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