邵俊嘉,張浩然,王俊童,張琳玉,買彩鳳,劉文浩,任宏利,李潤宇
(西北民族大學(xué)電氣工程學(xué)院,蘭州 730124)
本項(xiàng)目的名稱是“基于OV7620攝像頭的道路識(shí)別算法的研究與實(shí)現(xiàn)”,采用32位微控制器MK60DN256ZVLL10單片機(jī)作為核心控制。OV7620攝像頭完成的工作是采集道路條件,返回到單片機(jī)作為控制舵機(jī)轉(zhuǎn)向的依據(jù)。K60芯片的端口用來輸出PWM波控制電機(jī)的轉(zhuǎn)速,完成平穩(wěn)行車。并且使用編碼器作為速度傳感器,讓智能車可以在無人為干預(yù)的情況下自主調(diào)速。我們根據(jù)上述想法將本設(shè)計(jì)的實(shí)現(xiàn)方案架設(shè)于該模型之上,即以MK60DN256ZVLL10主控模塊、傳感器模塊、電源模塊、電機(jī)驅(qū)動(dòng)模塊、速度檢測模塊和輔助調(diào)試模塊六部分構(gòu)成。
如果說智能車的機(jī)械結(jié)構(gòu)和硬件系統(tǒng)決定了其的基本結(jié)構(gòu),那么控制軟件就是智能車的靈魂,沒有好的軟件架構(gòu),再好的結(jié)構(gòu)也不能讓智能車跑起來。本次設(shè)計(jì)的智能車系統(tǒng)采用OV7620攝像頭進(jìn)行賽道識(shí)別,圖像采集及校正處理就成了整個(gè)設(shè)計(jì)的核心內(nèi)容。
采集自O(shè)V7620攝像頭的圖像信息被劃分成包含186*128個(gè)像素點(diǎn)的二值化矩陣,可以在上位機(jī)上以黑白圖像的方式顯示道路信息。由于外界燈光條件或者道路條件問題,我們所采集到的圖像往往具有相當(dāng)多的噪點(diǎn),圖像效果較差的情況下,就很難做到安全行車。因此,利用軟件排除干擾的像素點(diǎn),還原圖像是我們必須要做的工作。
圖1 程序流程與算法流程
近距離的選擇性采集會(huì)引起圖像產(chǎn)生了不必要的變形。這種變形是由我們自己的采集方式不夠理想造成的,所以我們也可以很容易的還原。即采用了120度的廣角鏡頭。但是這對于道路信息的判斷會(huì)產(chǎn)生偏差,為了克服這種誤差,我們特地對攝像頭進(jìn)行了標(biāo)定,這樣對于道路信息的判斷,能夠準(zhǔn)確地選取前瞻量。
由圖2可以看出,原始圖像反映了安裝在智能車上的攝像頭直接看到的圖像,這之中可以看出圖像的變形,我們能夠得知圖像上的信息并不是道路的真實(shí)信息,圖像上相鄰兩像素行間的實(shí)際距離會(huì)隨著離攝像頭的距離變化而變化。
為了方便對攝像頭采到的圖像信息進(jìn)行處理,我們建立了一個(gè)橫向坐標(biāo)變換矩陣,通過乘以這樣一個(gè)矩陣中對應(yīng)的元素,能夠得到每一個(gè)像素列間的實(shí)際距離。圖3是經(jīng)過矯正后的原始圖像,可以看出它們都還原了真實(shí)賽道的信息。
圖2 圖像優(yōu)化前
圖3 圖像優(yōu)化后
單片機(jī)在得到如上矯正后的道路圖像后,就會(huì)用搜線算法來對其進(jìn)行處理,從而確定出賽道兩邊的黑線的具體位置,并計(jì)算出相對應(yīng)的賽道中線,從而指導(dǎo)舵機(jī)轉(zhuǎn)向和電機(jī)的加減速。搜線算法的基本思想如下:
(1)首先搜索左邊線,左邊線搜完之后再搜索右邊線。
(2)由圖像中心向左一定范圍后開始逐點(diǎn)往左邊搜索,具體的搜索方式是相鄰點(diǎn)灰度值作差,當(dāng)差值大于某一個(gè)閾值時(shí),表明灰度發(fā)生了跳變,即是搜索到了黑線,將該行存入對應(yīng)的存儲(chǔ)矩陣,跳入下一行,重復(fù)步驟本步驟。
(3)如果連續(xù)幾行都搜索到黑線后,將通過斜率預(yù)測的方法確定下一行黑線所在位置的范圍,從而減少搜索的計(jì)算量。具體的方法即計(jì)算出前幾行黑線所在點(diǎn)連成直線的斜率,從而延長直線與下一行相交,得到預(yù)測到的黑線位置。該過程將一直重復(fù),直到出現(xiàn)某行搜索不到黑線或者搜索到圖像盡頭。
(4)當(dāng)某行搜索不到黑線時(shí),將啟動(dòng)虛線搜索的算法,同樣是通過斜率預(yù)測,但是是通過隔3行掃描一個(gè)黑線。當(dāng)連續(xù)幾行搜索黑線后,再次進(jìn)入連續(xù)斜率預(yù)測的搜索算法。
(5)當(dāng)左邊線搜索圖像底部之后,將跳入右邊線的搜索。
(6)搜線完畢后進(jìn)行濾波處理,就得到了處理好的能夠進(jìn)行賽道分析的完整的矩陣。
世界的腳步邁向了人工智能,我們也越來越離不開身邊的智能產(chǎn)品。作為一大趨勢,我們利用模型模擬出來的智能車在一定程度上滿足了我們開始提出的要求,在模擬道路上完成了安全的行駛。OV7620攝像頭對于道路的檢測與識(shí)別也在算法的調(diào)節(jié)下達(dá)到了高精準(zhǔn)度。結(jié)合調(diào)試過程中出現(xiàn)的問題,不斷嘗試新的控制算法,以提高智能車的自適應(yīng)性。讓其穩(wěn)定性和速度得以提高。
[1]卓晴,黃開勝,邵貝貝等編.學(xué)做智能車—挑戰(zhàn)“飛思卡爾”杯.北京:北京航空航天大學(xué)出版社,2007.
[2]仲虎,陳明,周淋.第十屆“飛思卡爾”杯全國大學(xué)生智能汽車競賽技術(shù)報(bào)告[R].常熟理工學(xué)院,2015.
[3]賴鳴,袁龍,張亞軍.第十二屆全國大學(xué)生“恩智浦”杯智能汽車競賽技術(shù)報(bào)告[R].重慶大學(xué),2017.