高海燕高晉陽王偉成
(1. 晉中職業技術學院,山西 晉中 030600; 2. 中北大學,山西 太原 030051;3. 山西農業大學,山西 太原 030031)
“中國制造2025”和“工業4.0”的提出,推動了智能制造不斷向前發展,制造型企業對工業機器人的智能化要求也越來越高[1]。Delta機器人憑借速度快、精度高等優點在食品生產領域得到了廣泛應用,而目標識別是機器人技術領域的熱點研究問題。傳統目標識別方法無法提取目標深度特征,識別準確率較低[2]。
近年來,機器人目標識別技術研究主要集中在支持向量機和卷積神經網絡等方法上[3-6],在食品生產線中的應用較少。王成軍等[7]對基于機器視覺技術的分揀機器人的研究進行了綜述,指出現有的識別方法耗時長,難以實現準確、高效分揀目標。融合5G和深度學習的機器視覺將成為未來的發展方向。伍錫如等[8]提出了一種用于工業分揀機器人識別和定位的深度學習方法,其定位誤差<0.8 mm,最快識別速度可達0.049 s/個,在試驗環境中識別精度可保持在98%以上。王銀明等[9]提出了一種能識別異物缺陷和折痕缺陷的分揀系統,識別率達95.00%,能準確有效地分揀出單片火腿,分揀成功率達98.00%,篩選效率為160包/min。王新龍等[10]將分類特征提取與深度學習相結合用于食品品質識別。所提模型識別精度相比于常規方法提高了14.00%左右,可提高食品品質識別精度。雖然上述方法可以實現食品的目標檢測,但在實際應用中識別的準確性和效率還有待進一步提高。
研究擬提出將改進的粒子群(particle swarm optimization,PSO)算法與支持向量機(support vector machine,SVM)相結合用于食品分揀機器人的目標識別。通過改進PSO算法尋優SVM參數,對全局特征和局部特征分別進行分類器訓練并結合,通過試驗進行驗證,以期為機器人技術在食品生產線中的應用提供一定參考。
基于雙目視覺的食品分揀機器人系統結構如圖1所示,主要由視覺系統、計算機系統、Delta機器人本體等組成[11]。由視覺系統采集圖像并發送到計算機進行處理,識別目標并計算目標位置,控制Delta機器人到達指定位置進行準確分揀。
試驗提出一種基于雙目視覺的食品分揀系統識別方法,結合PSO算法和SVM模型,通過改進PSO算法尋優SVM參數,得到優化的SVM分類模型,對全局特征和局部特征分別進行訓練,動態分配特征權重系數。識別方法流程如圖2所示。基于雙目視覺原理,根據相機標定數據完成三維重建,控制機器人到指定位置進行分揀。

圖2 識別方法流程
Hu幾何不變矩是一種高度濃縮的圖像特征,具有平移、灰度、尺度和旋轉不變性[12]。試驗利用Hu幾何不變矩提取雙目視覺采集圖像的全局特征。
hi=-sgn(hi)log10(|hi|),i=1,2,…,7,
(1)
式中:
hi——第i個特征值。
使用方向梯度直方圖HOG提取雙目視覺采集圖像的局部特征,HOG特征提取步驟為:
(1) 步驟1:圖像預處理,通過灰度變換、Gamma校正等對采集圖像進行預處理。
(3) 步驟3:計算cell單元梯度方向直方圖,有利于后續的特征提取。
(4) 步驟4:組合block特征向量,并對直方圖進行歸一化。
(5) 步驟5:將所有block進行串聯,得到HOG特征。
PSO算法基本原理:用X={X1,X2,…,Xn}描述粒子在D維搜索空間構成的種群,且粒子數量為n,用Xi描述每個粒子的位置,Xi可以根據目標函數計算相應的適應值。在不斷更新的情況下,可以使用個體極值pbest與全局極值gbest更新粒子的速度和位置,如式(2)、式(3)所示[14]。
Vid(t+1)=ωviVid(t)+c1r1(pbestid(t)-Xid(t))+c2r2(gbest-Xid(t)),
(2)
Xid(t+1)=Xid(t)+vid(t+1),
(3)
式中:
ω——慣性權重;
c1、c2——學習因子;
Xid(t)、Vid(t)——d維空間中粒子i在迭代t次后的位置和速度;
r1、r2——[0,2]隨機數。
(1) 優化ω:ω值越高,全局搜索能力越強,反之局部搜索能力越強。因此,引入動態ω,初期加強全局搜索,后期加強局部搜索,如式(4)所示[15]。
(4)
式中:
λ——系數,取0.01。
(2) 優化c1和c2:c1越大,全局搜索能力越強,c2越大,本地搜索能力越強。文中對c1采用線性遞減,對c2采用線性遞增,初期加強全局搜索,后期加強局部搜索,如式(5)、式(6)所示[16]。
(5)
(6)
式中:
t、tm——當前和最大迭代次數;
c1max、c2max——最大學習因子;
c1min、c2min——最小學習因子。
支持向量機是Vapnik等為解決小樣本、非線性問題而提出的一種機器學習方法,被廣泛應用于目標識別、狀態評估等[17]。
設置可分樣本X={xi,yi},i=1,2,…,l,其中xi∈Rn,n為樣本空間維數。yi∈{-l,+l}為樣本類別標記。如果存在最優超平面,則可以最大間隔地分割兩個采樣。最優超平面為
ω·x+b=0,
(7)
式中:
ω——權重向量;
b——偏差值。
根據式(8)所示的約束條件求解[18]。
(8)
對于線性不可分樣本,最優超平面由式(9)中的約束來求解。
(9)
式中:
C——控制誤差的懲罰程度;
ξi——松弛變量。
引入拉格朗日乘子,式(9)轉化為對偶問題:
(10)
由KKT條件求解式(10)得到最優解[19]:
(11)
式中:

如式(12)所示,獲得最優分類函數。
(12)
通過定義核函數K(xi,xj),在映射空間中找到最優超平面,并區分樣本。對應的最優分類函數為
(13)
文中主要將RBF核函數用于SVM。RBF核函數[20]為
K(xi,xj)=exp(-g‖xi-xj‖)2,
(14)
式中:
g——核參數。
SVM模型的性能取決于懲罰參數C和核函數參數g的選擇,參數的質量對算法的精度有顯著影響。因此,選擇改進PSO算法尋優SVM參數,以確保算法選擇的參數是模型的最優參數。利用改進PSO算法的全局搜索能力,可以快速準確地搜索SVM的最優參數。使用pbest和gbest分別描述PSO優化SVM懲罰參數C和核函數的參數g。
優化過程為:
(1) 步驟1:初始化,對粒子群算法進行初始化,并給出SVM參數范圍。
(2) 步驟2:計算各粒子的適應度值,適應度函數取均方誤差MSE。
(3) 步驟3:根據適應度值更新pbest與gbest,再更新粒子速度和位置。
(4) 步驟4:是否滿足停止條件(迭代和誤差),滿足執行下一步,不滿足轉到步驟2。
(5) 步驟5:通過訓練樣本對優化的SVM模型進行訓練。
(6) 步驟6:通過測試樣品驗證改進的PSO-SVM,并輸出測試結果。
基于改進PSO-SVM的優化流程圖如圖3所示。

圖3 優化流程
為了驗證所提方法的有效性,對不同輸入特征的識別結果進行分析。粒子群算法參數:種群50、權重系數[0.4,0.9]、學習因子[1,2]、迭代次數100、懲罰因子和參數g的取值范圍為[2-10,210],適應度函數為均方誤差MSE。文中以罐裝食品為例進行說明,共采集罐裝食品圖像1 000張,其中100 g罐裝食品圖像500張,210 g罐裝食品圖像500張,按4∶1分為訓練集和試驗集。為了確保準確度,在多次測試中取平均值。測試裝置為華為PC,操作系統為Windows 11 64位旗艦,英特爾i513400CPU,2.5 GHz主頻,16 GB內存。采用MER-125-30GM-PS相機,光源采用白色LED帶狀光源,伺服電機采用松下MSME202SGM。試驗參數見表1。

表1 試驗參數
為了驗證多特征融合的優越性,根據前面提出的改進PSO-SVM特征組合算法,對Hu不變矩和HOG特征分別進行訓練,并進行單特征和組合特征對比試驗,將210 g罐頭定義為1,100 g罐頭定義為2。Hu幾何不變矩特征分類器測試集識別結果如圖4所示,HOG特征分類器測試集識別結果如圖5所示,融合分類器測試集識別結果如圖6所示。不同特征測試集的識別準確率見表2。

表2 不同特征測試集識別結果

圖5 HOG特征識別結果

圖6 融合分類器識別結果
由圖4~圖8和表2可知,Hu幾何矩不變特征分類器在210 g罐裝食品識別中出錯7次,在100 g罐裝食品識別中出錯8次,識別準確率為92.50%,HOG特征分類器在210 g罐裝食品識別中出錯8次,在100 g罐頭識別中出錯5次,識別準確率為93.50%。文中融合特征分類器在210 g罐裝食品識別中出錯0次,在100 g罐裝食品識別中出錯1次,識別準確率達99.50%。結果表明,與單個Hu不變矩特征和HOG特征識別相比,文中提出的融合特征分類和識別方法有效提高了分類識別準確率,分別提高了7.57%和6.42%。此外,文中的融合特征分類識別的準確性波動較小,分類的魯棒性更高。這是因為文中方法對特征的訓練更加具體,而不會相互干擾,最大限度地提高了特征利用率,提高了識別準確率。
為了進一步驗證文中方法的優越性,將文中改進PSO-SVM模型與SVM模型和文獻[21]中的卷積神經網絡模型進行對比分析,識別結果見表3。
由表3可知,未優化前的SVM模型參數c和g是系統設置的默認值,該模型對測試集的分類結果有19個錯誤,分類準確率為90.50%,識別效果較差,平均識別時間為0.121 s。文獻[21]中的模型對測試集的分類結果有3個錯誤,分類精度為98.50%,識別時間為1.233 s,識別準確率較優,但識別時間不能滿足分揀要求。另一方面,文中模型具有優異的識別準確率和識別效率,識別精度為99.50%,平均識別時間為0.048 s,與SVM模型和文獻[21]模型相比,文中方法的識別準確率提高了9.94%和1.12%,平均識別時間降低了60.33%和96.12%。綜上,文中模型能夠比較有效地識別食品目標,具有較優的識別準確率和識別效率。
提出了一種將改進的粒子群算法與支持向量機相結合用于食品分揀系統的目標識別,通過改進粒子群算法求出支持向量機參數,再通過全局和局部特征分別進行訓練。結果表明,在食品識別中所提方法具有較高的識別準確率和效率,準確率為99.50%,效率為0.048 s。與支持向量機模型和文獻[21]相比,文中方法識別精度提高了9.94%和1.12%,平均識別時間降低了60.33%和96.12%,具有一定優勢。但仍需進一步優化和完善,如數據集自制,僅對生產線分揀系統的目標識別方法進行研究,未對目標定位和分揀機器人控制方法進行研究。