茅正沖 趙隆志
(江南大學輕工過程先進控制教育部重點實驗室 無錫 214122)
AGV是指能夠沿著預定規劃好的路徑完成對物品裝卸的裝置,在物流系統中已成為必不可少的部分[1~2]。引導方式可分為電磁引導,激光引導,慣性引導和視覺引導[3]。電磁引導的引導路線單一;激光引導成本較高[4];慣性引導精度存在不足[5]。視覺引導首先對圖像預處理,后交由處理器控制,其成本低、柔性好、精度高且易于維護的特點滿足工業要求[6]。
目前已涌現大量優異的算法,劉海芹[7]等將路徑分類6類進行識別,對圖片提取用于檢測形態的canny算子,將多組樣本送入SVM進行學習。當路徑上出現障礙物時或缺失會降低識別的精度。武星[8]等則是利用KPCA作為描述特征,采用BP的方式對路徑進行識別。此類方法能較好地保存細節,但是由于KPCA其非線性的運算造成計算度十分復雜。
本文利用PCA-LDA對高維空間的二值圖像降維并進行線性初分類以提取,再利用ADABOOST分類算法對低維特征信息進行有效識別。該引導算法不僅減少噪聲和冗余信息的影響增強了魯棒性,而且避免細節的遺失,在提高識別精度,并滿足實時性。
本文采用有線的方式,預先設定好引導路線,利用小車的攝像頭對每一幀的圖像進行拍攝,由于拍攝的角度可能存有偏差,需先對圖像進行預處理,降低周邊環境的影響突出路徑的部分;然后采用PCA-LDA的方式對整幅圖像進行降維以減少圖像中多余的信息對后續分類器的影響,并且還能從中提取到關鍵信息;再將得出的細節特征送入ADABOOST算法進行學習,增強識別的精度,以便用于后續的定位跟蹤功能,其具有的流程如圖1所示。

圖1 AGV視覺引導流程圖
本文選擇9類進行識別。其中主要是包含直角、曲線兩大類。文獻[9]可知曲線所消耗的時間會較少,而直角的精度也會相對較高,所以二者都有其各自的優缺點。本文采集到圖片格式為Ycb-Cr,所以采用分別處理的方式,首先對圖像進行中值濾波,突顯出細節區域并降低周邊的噪點,對Y通道中的明暗分別對色彩和亮度進行補足。由圖2(a)中可知路徑為藍色,故對Cb通道采用Otsu進行分割,最終效果對比圖如圖2所示。

圖2 路徑圖像預處理
主 成 分 分 析(Principal Component Analysis,PCA)與線性判別分析(Linear Discriminant Analysis,LDA)都是對特征進行線性的處理方式[10]。兩者核心思想是以希望能以較少的信息來完成對原圖像的描述,不同的是后者能夠保留樣本其本身所攜帶的物理意義[11]。
AdaBoost的核心思想是將多個弱分類器進行組合,基于原boosting的原理改進而來,能依據每一次的訓練結果對后續的權值進行自適應調整[12]。主要的迭代過程如下所示。
1)將上述獲得PCA-LDA的特征作為輸入樣本送入Adaboost進行初始化,給與特定權值:

2)以上述的權值分配送入m=1,2,…,M此迭代過程中,獲得一個較弱的分類器為

其中em是在弱化的Gm(x)分類下錯誤集合權值總和,Gm(x)最終在分類器中所占的比重為

依據上次的訓練后的結果將用于更新的權值送入分類器中,其表現形式為

3.3.1 路徑模型
本文所采用的9種路徑如圖3所示,分別采用50張圖作為訓練與測試樣本。

圖3 路徑模型
在實際運行過程中,路徑可能會受到污漬的污染,小車多次經過后的破損等問題,導致圖像的不完整性,這對分類器的要求就更高。因此本文著重于處理不完整的部分。
3.3.2 PCA-LDA特征提取
常見的用于提取的特征有SIFT、SURF以及HOG等。其中SIFT與SURF的計算復雜度較高,實時運行難以滿足;HOG對圖像的降噪較為弱。而文獻[7]中采用canny算子,檢測路徑的輪廓信息,在標識完整的情況下準確度較高。文獻[13]則是將輪廓與投影的特征進行融合以增強對路徑的描述能力,使得計算復雜度增加,且單方向投影會降低結構信息。
本文采用PCA-LDA的方式對圖像進行特征提取。將采集到的圖片進行灰度化后待處理。首先對其進行PCA降維處理,對N個樣本的特征xi(i=1,2,…N)進行組合得到X=[x1,x2,…,xN],并以此來構建協方差矩陣,表示為

按特征值的大小評估貢獻,選取前m個大特征,各部分的具體數值形式如式(10)[14]:

圖4展現了特征的個數與貢獻值間的關系,由圖分析可得當橫坐標達到100能表現出圖像完整的信息,但考慮到耗時問題,采用95%準則,提取了前50個特征。但是原圖像的細節信息還是過多,導致在類與類之間的差別小。因此還需利用LDA,設Y=[y1,y2,…,ym]為原圖像降維后的特征,SB、Sw分別為類間和類內的散度矩陣,LDA變換后的形式Ylda為


圖4 主成分個數與貢獻度關系

其中,μi、s2i分別為樣本均值與方差。最終對其進行歸一化得到表1中的結果。

表1 類間相似度
為了驗證該算法的識別精度和速度,采用i7-75000U的CPU,Matlab2016a為實驗平臺。將訓練好的模型用于測試,最終結果如圖5所示。

圖5 測試樣本分類效果圖
圖5(a)為只采用PCA降維提取特征進行識別的效果,準確率85.5%,圖5(b)為采用PCA-LDA結合提取特征的識別結果,準確率達到100%。此外采用同樣的數據對文獻[7]和文獻[8]所提出的算法進行了對比實驗,最終實驗結果如表2所示。

表2 不同算法識別效果
由表中可知文獻[7]的識別率為95.5%,識別時間為0.027s,文獻[7]識別率為98.8%,識別時間為0.036s。分析可只PCA沒有考慮到各個不同類間的相關性,所得結果較差;文獻[8]具有一定的識別率,但對圖像要求較高,當路徑受損或光照時,邊緣輪廓特征不具備較強的魯棒性;文獻[8]的分類效果較好,識別準確度達到98.8%,使用了KPCA非線性降維效果,結合BP神經網絡實現高精確率分類,但識別時間不能滿足實時性要求。
針對視覺導引AGV對多分支路徑識別的準確性和快速性問題,本文提出基于PCA-LDA與Adaboost的方法,具有較強的魯棒性與實時性。首先利用PCA對二值圖像進行降維,再通過LDA進行初分類,接著通過Adaboost進行分類。實驗結果表明PCA-LDA提取的特征具有計算量小和魯棒性強的特點,與傳統的PCA降維相比,Adaboost的識別率達到100%,而前者只有85.6%,提升準確率的同時,減少了計算量,縮短了反應時間。