摘 要:介紹一種基于無線圖像傳輸?shù)臄z像頭智能車在線調(diào)試與仿真系統(tǒng)。攝像頭智能車的數(shù)據(jù)量大,并且數(shù)據(jù)處理復(fù)雜。使用無線傳輸圖像模塊把智能車攝像頭的即時(shí)圖像發(fā)送到PC端,經(jīng)過軟件采集、處理、保存,直觀的顯示,方便調(diào)試者快速發(fā)現(xiàn)智能車運(yùn)行異常的原因。
關(guān)鍵詞:智能車;無線圖像傳輸
本系統(tǒng)背景是第七屆全國(guó)大學(xué)生“飛思卡爾”杯智能車攝像頭組比賽。第七屆比賽規(guī)則比往屆改動(dòng)較大,采用高仿實(shí)際路況的雙線標(biāo)志線及十字路口、S型彎道等??傮w的來說這次變動(dòng)大大的增加攝像頭組綜合難度。雖然在改動(dòng)規(guī)則前提下,從第七屆攝像頭組比賽成績(jī)看,智能車速度并沒有降低,反而突破往年歷史車速。迫于這種壓力下,我們致力于開發(fā)一套適合、高效、精確符合自身情況智能車調(diào)試系統(tǒng)。這對(duì)于在比賽中取得更好的成績(jī)尤為重要。
1 系統(tǒng)介紹
系統(tǒng)有硬件和軟件兩部分組成。硬件部分主要是無線傳輸圖像模塊,軟件部分主要是基于C#圖像處理系統(tǒng)。
系統(tǒng)首先通過無線傳輸模塊把智能車上的圖像傳送到PC端,進(jìn)過PC端系統(tǒng)軟件采集相關(guān)的圖像信息并保存到相關(guān)的文件夾。用戶通過指定VC++6.0工程編寫策略控制代碼,然后生成dll文件。系統(tǒng)通過加載dll文件實(shí)現(xiàn)執(zhí)行用戶自己編寫的控制算法。
用戶可以通過這個(gè)平臺(tái)快速開發(fā)圖像處理算法和控制算法。用通過本系統(tǒng)可以更直觀的看到智能車實(shí)時(shí)圖像信息,克服了以前不知道智能車的圖像信息狀態(tài)。使用VC++6.0生成dll文件,編程環(huán)境更貼近單片機(jī)開發(fā)環(huán)境,大大降低用戶編寫的代碼語法規(guī)則與實(shí)際單片機(jī)開發(fā)的差異,用戶可以更順利的移植算法到單片機(jī)上。
硬件部分主要為RX系列無線收發(fā)模塊。外圍電路簡(jiǎn)單,僅使用5V供電,適用于智能車電源接口,無需額外電源供電。具有圖像傳輸穩(wěn)定,干擾小,傳輸距離遠(yuǎn),體積小等優(yōu)點(diǎn)。而無線接收模塊,同樣具有小功率,圖像傳輸質(zhì)量好等特點(diǎn)。接收模塊5V供電可以接使用PC端USB供電,也可以使用單獨(dú)電源供電。
使用前需要把智能車上的攝像頭模擬信號(hào)接入無線發(fā)射模塊視頻信號(hào)輸入引腳,接收模塊也需要把視頻信號(hào)引腳接入視頻采集卡(將模擬信號(hào)轉(zhuǎn)化數(shù)字信號(hào)),視頻采集卡接PC端,同時(shí)給收發(fā)模塊供電,并且調(diào)好相同的頻道。這樣就實(shí)現(xiàn)了智能車與PC端之間的通信。
軟件部分主要有系統(tǒng)圖像采集和自定義圖像處理算法組成。軟件系統(tǒng)是基于.NET平臺(tái)下C#語言開發(fā)的圖像采集處理監(jiān)控系統(tǒng)。具有跨平臺(tái),易于管理維護(hù)等特點(diǎn)。
系統(tǒng)圖像采集是調(diào)用C#中的視頻采集接口函數(shù)驅(qū)動(dòng),在根據(jù)攝像頭幀率采集圖像并且保存到相應(yīng)的文件夾。采集的同時(shí)根據(jù)用戶設(shè)置的采樣參數(shù)對(duì)每一幅圖像進(jìn)行采樣。用戶設(shè)置的參數(shù)包括:采集行,采集列,采集行間隔,采集列間隔,二值化閥值,邊緣檢測(cè)閥值。采樣后圖像將自動(dòng)保存在系統(tǒng)軟件默認(rèn)ImageData文件,也可以由用戶修改。自定義圖像處理算法主要是通過打開采樣后的圖像同時(shí)進(jìn)行相應(yīng)的圖像算法處理得到直觀的信息。
用戶可以選擇系統(tǒng)默認(rèn)算法或者是使用自己編寫的算法。使用用戶自己編寫代碼時(shí)需要生成dll文件放到系統(tǒng)軟件默認(rèn)的CarStrategy文件下。系統(tǒng)軟件通過調(diào)用DLL中算法實(shí)現(xiàn)用戶自定義圖像處理算法。用戶自定義算法包括:圖像處理算法,中心值查找算法,曲率計(jì)算算法,理想速度控制算法。算法在處理時(shí),只對(duì)采樣圖像副本處理,一次錄像多次使用。大大增加系統(tǒng)的靈活性和增強(qiáng)了系統(tǒng)與用戶之間通信。
為了更方便分析圖像,增加了一個(gè)灰度值分析模塊。圖像灰度值分析可以說是圖像處理領(lǐng)域一個(gè)重要的技術(shù)。當(dāng)然這里使用的是一些已經(jīng)滿足當(dāng)前比賽的灰度值分析基礎(chǔ)技術(shù)。灰度值分析模塊可以得到一幅圖像的像素灰度值直方圖,并且可以通過OTSU自動(dòng)閥值算法分析出圖像二值化的最佳閥值,這可以成為調(diào)試智能車圖像二值化閥值得一個(gè)參考標(biāo)準(zhǔn)。
2 系統(tǒng)性能綜合分析
本系統(tǒng)經(jīng)過長(zhǎng)期應(yīng)用到實(shí)際智能車調(diào)試中,也存一定的局限性,還需要不斷完善,至于有些問題從某種理論分析是很難解決的。
使用過程中,發(fā)現(xiàn)RX無線模塊容易受到其它無線頻率的影響,如果室內(nèi)存在2.4G的無線收發(fā)器都會(huì)對(duì)無線傳輸模塊產(chǎn)生影響,PC接收到的圖像不穩(wěn)定,容易失真。失真的圖像信息占總傳輸圖像信息的10%。雖然能得到大部分圖像信息,但為了減少不必要誤差。在調(diào)試中盡量關(guān)閉其它無關(guān)的無線設(shè)備,如無線路由等。此外盡量調(diào)試無線模塊頻率至傳輸圖像最佳。
使用C#庫中視頻圖像抓拍函數(shù),得到的是640*480的圖像,但實(shí)際單片機(jī)采集圖像沒有這么多,例如,單片機(jī)實(shí)際采集算法是間隔4行采集1行。所以需要對(duì)640*480的圖像進(jìn)行采樣,得到與單片機(jī)實(shí)際采集圖像近似。而這些往往會(huì)產(chǎn)生一定誤差積累,導(dǎo)致無法最精確的反應(yīng)智能車實(shí)際圖像。但最終發(fā)現(xiàn)如果把這些圖像應(yīng)用智能車算法調(diào)試中,這些誤差都是忽略不計(jì)的,是不會(huì)對(duì)算法仿真有太大的影響。
因?yàn)樵趯?shí)際仿真算法調(diào)試研究中,通過軟件處理的圖像信息與實(shí)際單片機(jī)采集圖像信息是接近90%的相似度(已經(jīng)過智能車串口輸出實(shí)際圖像對(duì)比)。仿真算法更多的是驗(yàn)證算法是否能按照預(yù)期處理各種圖像并得到可靠的信息。實(shí)際智能車在運(yùn)行可能遇到各種各樣的情況,也許目前算法是無法處理這些情況。仿真算法是研究處理效果更好,算法健壯性更強(qiáng)的算法,這對(duì)于在實(shí)際比賽是至關(guān)重要的。
綜合來講,整套系統(tǒng)性能可靠性、實(shí)用性已經(jīng)目前的實(shí)際情況。
3 結(jié)束語
本系統(tǒng)主要無線圖像傳輸模塊實(shí)現(xiàn)智能車信息與PC通信。只需要通過簡(jiǎn)單操作,就可以實(shí)時(shí)監(jiān)控或者離線調(diào)試智能車算法。使用實(shí)時(shí)監(jiān)控模式下,不會(huì)產(chǎn)生智能車微控制器額外的負(fù)擔(dān),以排除調(diào)試工具自身對(duì)智能車的干擾。通過離線調(diào)試智能車算法,不僅高效分析,而且實(shí)現(xiàn)仿真算法與實(shí)際智能車控制移植性,具有很高的實(shí)用價(jià)值。