武逸凡,李曉斌,郭子文,田壯壯,吳彥強
(山西農業大學工學院,山西太谷 030801)
機器視覺和圖像處理作為一種高效、準確、可實時監測的技術手段,是研發智能農機裝備所依賴的一項關鍵技術。該技術可在一定程度上代替駕駛員的眼睛,對拖拉機機組的作業質量、運動參數等進行實時監測,不但為機組的自動導航和路徑規劃等提供依據,而且極大地拓展了駕駛員對周圍環境的感知能力,使駕駛員處理拖拉機起步、作業、轉彎、停車、作物保護、規避障礙、檢測農機具運行狀態等情況時輕松自如。
目前,將視覺技術與拖拉機相結合的研究主要集中在拖拉機自動導航、自動駕駛、行駛路線規劃等方面[1-6],研究成果極大地提高了拖拉機的自動化和智能化駕駛水平,但也存在圖像畸變大[7]、失真嚴重、拼接效果不理想[8]等問題。因此,筆者以上海500型拖拉機為載體,通過采集其四周的實時影像,經Matlab圖像處理后顯示在GUI界面中,最終形成拖拉機360°全景俯視圖像。駕駛員通過該圖像可實時觀察到拖拉機所處的位置和周邊情況,便于及時采取措施以減少作物損傷、人員受傷、農機具損壞的發生。
該研究以MATLAB為平臺,將布置在拖拉機駕駛室頂端的4個攝像頭傳回的實時影像拼接為一幅以拖拉機為中心的360°環影圖像,駕駛員不但可以觀察到機組周邊情況,而且可以對圖像進行視覺增強和局部縮放等操作,極大地提高了駕駛的安全性。界面設計路線如圖1所示。

圖1 技術路線Fig.1 The route of designing
2.1界面總體設計啟動MATLAB(R2015b),在命令行輸入“guide”后,彈出“Blank GUI”空白模板,點擊“OK”按鈕進行編輯[9]。調整界面大小,布置按鈕和坐標軸等控件。界面由控制面板、顯示界面1和顯示界面2組成。控制面板中的按鈕從上至下分別為環影系統總開關、顯示環繞影像、視覺增強輔助、選擇縮放視角、選擇放大視角等;顯示界面1和顯示界面2均顯示處理之后的實時影像,其中axes10顯示視覺增強輔助功能的圖像特征直方圖,以此選擇畫質增強參數;調節縮放比例(滑塊按鈕),用于指定縮放值,使局部圖像得以放大顯示。界面設計結果如圖2所示。
2.2系統功能設計
2.2.1視頻圖像處理邏輯關系。該系統由于要在多個功能按鈕中調用同一個圖片句柄,并且需要在不同的坐標軸中同時顯示,為了滿足系統的實時性,在視頻圖像采集函數、主函數以及子函數之間,需要實現如下邏輯關系,如圖3所示。

圖2 界面設計結果Fig.2 The designing results of interface

圖3 視頻圖像處理邏輯關系模型Fig.3 Video image processing logic relation model
2.2.2視頻圖像采集。利用MATLAB中的videoinput函數[10]可對固定在拖拉機駕駛室頂端的4個攝像頭傳回的實時影像進行采集,圖像分辨率為640×360。其回調函數如下:
i=0;
vid1=videoinput( " winvideo " ,1, " MJPG_640×360 " );
%設定攝像頭參數
triggerconfig(vid1, " manual " );
start(vid1);%手動觸發攝像頭
tic
while i ......%指定循環 I=i+1; End%停止 2.2.3視頻圖像預處理。對于一個動態的視頻處理,攝像頭拍攝所獲得的視頻句柄經過圖像預處理被分割為逐幀排列的圖片句柄,并將圖片句柄作為圖像處理的目標對象。通過各按鈕的觸發獲得不同的switch-case語句判斷值來運行主程序中需要被激活的子程序,并將由子程序處理后的圖片句柄組成視頻句柄顯示在確定的坐標軸內。同時為了減少計算機運行內存的占用,在顯示一張處理過的圖片后,將該圖片句柄從內存中刪除,其回調函數如下: ......%將視頻圖像句柄分割為逐幀排列的圖片句柄 for i= i+1 %指定循環 switch y %觸發判斷值 case 1 %選擇判斷值1 ......%運行子程序1 case 2%選擇判斷值2 ......%運行子程序2 ......otherwise...... End %停止 I=... ......%圖片句柄轉換視頻句柄 Delete......%刪除上一幀圖片句柄 2.2.4視頻圖像拼接。以matlab為基礎,將固定在拖拉機駕駛室頂端的攝像頭按照黑白相間的棋盤紙進行角度調整,保證獲取的實時影像拼接準確。經過畸變校正后,影像拼接結果如圖4所示。 由圖4可知,GUI界面中的axes2、axes5、axes3、axes6分別顯示拖拉機前、后、左、右的實時影像,axes7則為事先獲取的拖拉機駕駛室頂部圖像,屬于固定圖像。 圖像整體拼接結果較理想,邊界處過渡自然、平滑,且真實反映了拖拉機周圍的客觀環境情況。駕駛員根據圖4所示的實時影像可及時觀察到拖拉機的周圍人或物,及時采取措施以確保機組安全、高效地工作。 另外,axes5顯示的拖拉機后方圖像的白平衡與其他3幅圖像明顯不同,這可能是由于攝像頭及圖像傳感器對環境光線的不同處理方式造成的,后續應研究相應的算法,保證各攝像頭不受環境光線的影響,具有統一的白平衡。 圖4 圖像拼接結果Fig.4 Image stitching results 2.2.5局部圖像顯示。駕駛員可以通過點按相應按鈕對拖拉機前后左右的影像進行局部放大,以便在必要時仔細觀察機組工作過程中的某些對象。放大的影像顯示在axes8中,如圖5所示(以前攝像頭為例)。 該研究基于MATLAB進行了拖拉機360°環影系統的GUI設計,利用安裝在拖拉機駕駛室頂端的4個攝像頭,將拖拉機周圍的實時影像顯示在相應的坐標軸中,利用畸變校正技術對原始影像校正后,拼接為一幅完整的環影影像。存在的問題主要是各攝像頭白平衡不一致,后續應研究相應算法,進一步改善圖像拼接的質量,最大限度地還原拖拉機周圍的實際環境。該研究所述方法一方面提高了拖拉機駕駛的安全性;另一方面也為智能拖拉機和自動駕駛拖拉機的研發提供一定的參考。 圖5 前攝像頭局部圖像放大Fig.5 Front camera partial image magnification
3 結論
